Retrieved from <http://web.onetel.net.uk/~hibou/ITSter.txt>. Earlier
versions are in SV: HIBOU; -- I've given this version 186 because it's
identical to version 185 (dated 2002-03-13) except for a change of name.
This means that ITS's version of D can read it correctly. The difference
is that version 26+ files are expected to have one more ASCIZ string in
the header of the file (the board type); an equivalent fix would be to
remove the first 0 word.
Differences from the WAITS code:
- Converted back to MIDAS syntax.
- Reconstructed the ITS I/O code. Like WUMPUS, this originally opened
the TTY with the 20 flag set to convert input to uppercase, and was
later binary-patched to do the conversion itself (and convert output
to lowercase). The program had a PATCH area originally, so I've
included the patches in the source.
- The ITS version BLTs the jot-counting code into the registers and runs
it from there. The WAITS version has the BLT commented out and just
runs it from the BLTLOC buffer directly.
The TS JOTTO binary on AI/MC (dated 1990-08-14, although it's probably
much older than that) has been dumped after loading the dictionary. When
re-entered at BEG0, the original code asks for a DECtape number to read
the dictionary from, and constructs a UTx device name based on that in
UTNAME. However, in TS JOTTO, UTNAME contains DSK, so it must have been
dumped by patching that device name in directly; I've reproduced this in
build.tcl.
After the dump process, this produces a binary identical to TS JOTTO
except for the contents of the game variables. For the record, when
MC's version was last played before dumping, the computer chose the word
PETAL.
Fixes#789.
This is FAIL source, but it started life as MIDAS code for ITS; see in
particular the IFN-d out code for reading the dictionary file (BEG2),
and the RNG initialisation (ERASE). The dictionary is identical to the
one compiled into MC's TS JOTTO.
SAILDART has this source file with the following dates:
1972-11-18 17:58 JOTTO[S,RPH]
1973-06-17 03:54 JOTTO[CSP,SYS]
And the dictionary file with these dates:
1972-10-24 22:50 JOTTO.DIC[S,RPH]
1972-10-25 07:15 JT.DIC[SW,REG]
1973-06-17 03:54 JOTTO.DIC[CSP,SYS]
1987-03-18 08:21 JOTTO.DIC[GRF,DEK]
So it looks like it was ported to WAITS in October/November 1972,
perhaps by Dick Helliwell.
@larsbrinkhoff spotted that TS3TTY has a comment listing TTY input open
mode bits which includes:
;3.5 => CONVERT LOWER TO UPPER CASE
This mode bit isn't documented in the similar lists in BITS or CALLS
(they skip from 3.4 to 3.6), and doesn't appear to be implemented
anywhere. However, ITS 785 (circa 1973) has a test for this bit in
TTYO4:
TRNE D,10 ;SKIP ON OLD MODE OFF
IOR J,[000400,,0] ;OLD MODE INPUT -> CONVERT LOWER CASE TO UPPER
So it looks like when WUMPUS was first written, this bit was how it
handled lower-case input; at some point, ITS stopped supporting this
bit, and WUMPUS was binary-patched to handle lower-case input explicitly
instead.
This is equivalent to the binary patch that was applied to
AI:SYS1;TS WUMPUS; the original patch was:
.IOT TTYI,A ; at 50; jumped to from GETLF
CAIL A,"a-1
SUBI A,"a-"A
JUMPA T,GETLF+1
JUMPA T,GETLF+2
CAIE T,"s ; at 55; jumped to from MOVE2
CAIN T,"S
JUMPA T,MOVE2+1
JUMPA T,MOVE2+2
PATCH: ; at 61; not used
AI:SYS1;TS WUMPUS was last modified 1977-04-12 18:16. It's closely
related to SRI-NIC's version, but it's unclear which is newer, or
whether they both derive from a common source.
This assembles into a binary that's identical to TS WUMPUS, except for
jumps from GETLF and MOVE2 to two binary patches at 50 and 55 which make
input case-insensitive.
(Note that EXPL ends with a bare \r, which is encoded as \356 here for
itstar's benefit.)
Fixes#108.