[Simh] Crowther's Adventure game

Ken Cornetet Ken.Cornetet at kimballelectronics.com
Fri Feb 2 09:12:04 EST 2018


I have vague recollections that FORMAT(/) prints a new line

Format(20A5) takes 20 elements of an array and prints them as character stings padded to a width of 5 characters.

"TYPE" is not standard fortran. That must have been a DEC extension. Standard fortran would have used "write".

-----Original Message-----
From: Simh [mailto:simh-bounces at trailing-edge.com] On Behalf Of Lars Brinkhoff
Sent: Friday, February 2, 2018 3:41 AM
To: Dave L <davel.rss at googlemail.com>
Cc: simh at trailing-edge.com
Subject: Re: [Simh] Crowther's Adventure game

Dave L wrote:
> Been a long time since I wrote fortran but IIRC the first character on 
> the output line was to perform carriage-control of the LPT, so you'd 
> have to always have a leading pad character such as a space in order 
> to get the output lines to be correct. Some characters were reserved 
> actions, 1 = FF from memory. I've not looked at the code involved but 
> that'd be my first thoughts

Thanks.  Since the SPEAK subroutine is only a few lines, I'll post it here.  Maybe someone hows how TYPE, FORMAT(20A5), and FORMAT(/) work.



        SUBROUTINE SPEAK(IT)
        IMPLICIT INTEGER(A-Z)
        COMMON RTEXT,LLINE
        DIMENSION RTEXT(100),LLINE(1000,22)

        KKT=RTEXT(IT)
        IF(KKT.EQ.0)RETURN
999     TYPE 998, (LLINE(KKT,JJT),JJT=3,LLINE(KKT,2))
998     FORMAT(20A5)
        KKT=KKT+1
        IF(LLINE(KKT-1,1).NE.0)GOTO 999
997     TYPE 996
996     FORMAT(/)
        RETURN
        END
_______________________________________________
Simh mailing list
Simh at trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh


More information about the Simh mailing list