[Simh] Crowther's Adventure game

Ken Cornetet Ken.Cornetet at kimballelectronics.com
Fri Feb 2 10:07:26 EST 2018


Given the lack of a carriage control character in “FORMAT(20A5)”, I’m guessing that TYPE was like write, except it was terminal oriented so it didn’t use carriage control.

Also, given the FORMAT(/), I’ll also hazard a guess that TYPE did not automatically add a new line on whatever was printed. But that is just a guess.

From: Clem Cole [mailto:clemc at ccc.com]
Sent: Friday, February 2, 2018 9:46 AM
To: Ken Cornetet <Ken.Cornetet at kimballelectronics.com>
Cc: simh at trailing-edge.com
Subject: Re: [Simh] Crowther's Adventure game



On Fri, Feb 2, 2018 at 9:12 AM, Ken Cornetet <Ken.Cornetet at kimballelectronics.com<mailto:Ken.Cornetet at kimballelectronics.com>> wrote:
I have vague recollections that FORMAT(/) prints a new line
​Sounds right - I'm O-O-O, but I​'ll try to verify with the compiler folks when I'm on the office again.

Format(20A5) takes 20 elements of an array and prints them as character stings padded to a width of 5 characters.
​Right..   -- mAw - means M elements of an input data type (typically Integer) as type Alphabet with a width of w.​


"TYPE" is not standard fortran. That must have been a DEC extension. Standard fortran would have used "write".
​Yes, TYPE was introduced by DEC with PDP-10 Fortran​ to allowed for easier terminal I/O on timesharing (original Fortran was designed for batch i.e. LPT, or tape style out).  I believe it was picked up on the standard with F90 - but again I'll have to ask the Fortran compiler folks.   An example of the difference between TYPE and traditional WRITE indeed are things like Fortran Lineprinter control, but I've forgotten the details.



-----Original Message-----
From: Simh [mailto:simh-bounces at trailing-edge.com<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<mailto:davel.rss at googlemail.com>>
Cc: simh at trailing-edge.com<mailto: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<mailto:Simh at trailing-edge.com>
http://mailman.trailing-edge.com/mailman/listinfo/simh
_______________________________________________
Simh mailing list
Simh at trailing-edge.com<mailto:Simh at trailing-edge.com>
http://mailman.trailing-edge.com/mailman/listinfo/simh

[https://mailfoogae.appspot.com/t?sender=aY2xlbWNAY2NjLmNvbQ%3D%3D&type=zerocontent&guid=6c7e30c9-8bbe-42d0-849b-32a107cc6c3b]ᐧ
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.trailing-edge.com/pipermail/simh/attachments/20180202/db2f5144/attachment-0001.html>


More information about the Simh mailing list