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-boun...@trailing-edge.com] On Behalf Of Lars Brinkhoff Sent: Friday, February 2, 2018 3:41 AM To: Dave L <davel....@googlemail.com> Cc: simh@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@trailing-edge.com http://mailman.trailing-edge.com/mailman/listinfo/simh _______________________________________________ Simh mailing list Simh@trailing-edge.com http://mailman.trailing-edge.com/mailman/listinfo/simh