Discussion:
[Simh] Crowther's Adventure Game
Bob Supnik
2018-02-02 20:20:17 UTC
Permalink
SPEAK got banged up a lot during the conversion to the PDP-11, because
of the difference in word width, but the relevant fragment is:

5    TYPE 2,(LINES(I),I=1,L)
2    FORMAT(' ',36A2)

This is still 1977-78, but the PDP-11 Fortran compilers (both F4 and
F77) adhered to the 'standard' for FORMAT statements, which required an
initial carriage-control character. A space (or 1X) meant single space.

VAX FORTRAN allowed for character strings to be treated as subscripted
arrays, so the final VAX FORTRAN equivalent was:

    TYPE 2,TLINES(TEMP)(1:NBLEN(TLINES(TEMP)))
2    FORMAT(' ',A)

Still has the initial space for carriage control.

So adding '1X,' to the start of the SPEAK FORMAT statement should do the
trick.

PDP-11 Adventure was built from the Crowther/Woods 350-point version,
which had hours controls and the like; all of the policy extensions were
ripped out to fit the game into a 28KW LSI-11 with two single-density 8"
floppy disks under RT11.

/Bob
Lars Brinkhoff
2018-02-02 20:44:44 UTC
Permalink
Post by Bob Supnik
So adding '1X,' to the start of the SPEAK FORMAT statement should do
the trick.
Yes, it does. Or should, I tested with 1H .

I see some other versions come with a data file which doesn't have that
extra space in front of the text. So of course they would need to add
it in SPEAK.
Post by Bob Supnik
PDP-11 Adventure was built from the Crowther/Woods 350-point version
I found two slightly different variations of the 350-point version:

http://www.ifarchive.org/if-archive/games/source/advent-original.tar.gz

The original Crowther and Woods PDP-10 FORTRAN source code of the
Colossal Cave Adventure (350 points). Every other version can be tracked
down to this one. (There is another version of the original source in
adv350-pdp10.tar.gz)

http://www.ifarchive.org/if-archive/games/source/adv350-pdp10.tar.gz

The original Crowther and Woods PDP-10 FORTRAN source code of the
Colossal Cave Adventure (350 points). (There is another version of the
original source in advent-original.tar.gz)

Loading...