[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