Older versions of MIDAS expect you to type a command at them, which
makes them hard to automate with :x or XFILEs. This patch backports the
JCLINI code from later versions of MIDAS, which pre-stuffs the command
buffer with the JCL string if available.
This was edited from later versions of the source to match MUDDLE; TS
MIDAS circa 1973, which was built with MOBY==0. The program itself dates
from no later than 1971. Comments, and results when built with other
options, are probably not historically accurate.
MIDAS 73 is useful because 74 and all later versions have completely
rewritten code for relocatable output (and for IO), and they don't
support some of STINK's features correctly (or at all). A ported version
of MIDAS 73 was still being used to build Muddle in the 1980s, going by
<mdl.int>midas.exe.5.
This matches a TS MUD from 1977, and is the same as TS MUD54 with the
addition of SGC. It's nearly the same as the Tenex order we had already.
There are a few differences between 54 and 56:
- CONST is new in 56;
- Three source files in 54 were merged into others in 56: TENTAB into
READER, FLOATB into PRINT, and CHAN into FOPEN;
- DISPLA, which went between CREATE and SAVE in 54, is missing in 56.
When converting BRD pkts to RFC, use MYCHAD for the destination address, not whatever is at address MYCHAD.
Result: responses to BRD pkts use the correct source address.
BLKLDR 1 is from the IMLAC; IML DEVICE archive file dated 1976-11-02.
The archive was found in three identical copies on ToTS tapes 7006990,
701351, and 90606; they were extracted by Brad Parker. The BLKLDR 1
timestamp inside the archive is 1975-01-26. Tape database records
from DM show a BLKLDR 4 dated 1974-08-19.
To build the IMLAC; IMLAC BLKLDR file, it's first assembled with
MIDAS. Regular IMTRAN writes the block loader format, but the block
loader itself is in the "special TTY" boostrap format. IMTRAN is
runtime patched to skip the block framing.
The file IMLAC; SSV 52 dated 1973-01-07 was edited to match the Imlac
block loader format file http://www.ubanproductions.com/Imlac/ssv,
which claims to be SSV 22. SSVMSE 38 from 1977-12-13 was also helpful
in the process.
IMSRC; SSVCHR 22 is entirely from disassembly. The original file
would have been machine generated by SYMFOR.
The LOADER subroutine breaks MAZE because it pushes all code higher,
making constants and WALLS cross over 14000. It's also unnecessary
since setting the start address to 101 jumps back to SSV which will
accept the next data block sent from the PDP-10.
A possible explanation is that LOADER was added by someone running
MAZE without SSV. No other version of the MAZE source code has
LOADER.