1
0
mirror of https://github.com/PDP-10/its.git synced 2026-01-13 15:27:28 +00:00

27 Commits

Author SHA1 Message Date
Lars Brinkhoff
e233d5e8fb Move STINK 121T build forward because it's needed for NTS programs. 2023-07-05 07:07:04 +02:00
Eric Swenson
6429d80e4e Added/fixed support for DM daemons (GUNNER, ZONE, BATCHN).
Also added creation of HUDINI directory, required by GUNNER daemon.
2023-03-10 09:20:46 -08:00
Eric Swenson
b09b3e4702 Added ECOMP MDL compiler.
It appears necessary to compile some of the DM daemons.
2023-03-10 09:20:46 -08:00
Eric Swenson
b1d0848fb1 Add MUDDLE pure library maintenance daemon (MUDSYS;TS DEM). 2023-03-05 09:46:33 -08:00
Eric Swenson
e56de6edc1 Change location of MDL 54 pure library to allow old Zork to run.
- Update MDL 54 interpreter to look in MUDSAV;SAV 54FILE and MUDSAV;FIXUP 54FILE
  for pure library.
- Update MKSVFL utility to create pure library in new location.
- Update muddle.tcl to run MKSVFL to create dummy pure library.
2023-02-25 17:36:39 +01:00
Eric Swenson
2e93c506a5 Zork (616 point version + 100 point endgame) built with MDL 55. 2023-02-23 06:47:28 +01:00
Eric Swenson
ae6c28cacd Build LSRTNS library for Muddle. 2023-02-23 06:47:28 +01:00
Eric Swenson
7dd86fd5ff Build Muddle compiler and assembler. 2023-02-23 06:47:28 +01:00
Eric Swenson
4c0500eb9f Add binaries for Muddle 55 interpreter, compiler, and assembler.
This file set comes with known good versions of SAV FILE and FIXUP
FILE, so we no longer run MKSVFL.
2023-02-23 06:47:28 +01:00
Adam Sampson
1cfbed3743 Add binary Zork and its launcher.
Both of these are from MIT's zork-1978-01 release. MADMAN; MADADV SAVE
is from 1978-01-28 (it's madadv.save_3 there), and TAA; ZORK 3 is from
an archive dated 1978-01-27. Unfortunately this isn't the final version
of Zork -- in particular, it doesn't have the endgame.

The launcher will also work with the other 1977/78 Zork images MIT have
released, provided you copy them to MADMAN; MADADV SAVE.

Note that we already have the non-DM fake Zork in SYS3; TS ZORK, but
the real Zork was in SYS2; on DM, so the recommended ZORK^K will find it
first.
2020-09-14 11:28:51 +01:00
Adam Sampson
3758abedbd Add MKSVFL, to generate SAV FILE and FIXUP FILE.
These two databases contain pure code routines that Muddle images can
refer to. We don't currently have whatever tool was used to maintain
them, so this is a MIDAS program that creates and populates them.

SAV FILE includes some stubs for functions in the LSRTNS and MUDDLE
libraries -- these are the functions that the existing Muddle 54 Zork
images need.

For the FIELD function in LSRTNS, returning FALSE is equivalent to the
user not being found. I have no idea what C-FCN in MUDDLE is for, but
very early Zork calls it after a command is entered, and seems happy
enough with it doing nothing.
2020-09-14 11:28:51 +01:00
Adam Sampson
a209c97ec1 Add reconstructed Muddle 54, for running old Muddle images.
This source was reconstructed to match MUDSAV; TS MUD54 from 1977-07-02,
using a combination of all the surviving Muddle source files. The memory
layout and pure code is the same.

No AGC MUD54 has survived, so the AGC code was adjusted to match the
TOPS-20 agc.mud104 from Chicago that Rich Alderson provided (the only
ITS conditional is the page size). There's a one-instruction difference
in the symbol positions, which I've converted into a patch at the end of
the code to maintain the original layout on ITS.

The INITM code, which doesn't appear in the final executable, is
a best guess but it's probably fairly close, since it generates objects
in the right order and locations, and the symbol locations match the
original.

The 1977 executable has a very large number of patches, which I've
replicated in MUD54 INIT. The code that the patches were replacing --
marked with "XXX patched" in the source -- is also a best guess.

I haven't checked that the TOPS-20 code is correct; it could be adjusted
to match mdl104.exe in the future. It would need STENEX, which could be
linked from MUDSYS;.
2020-09-14 11:28:51 +01:00
Adam Sampson
81f1297d3a Use a second XFILE to patch/initialise Muddle 56.
Previously the first XFILE printed out some commands to run after STINK
had completed, which is awkward if you're building Muddle repeatedly.
This automates the second half of the build process.
2020-09-14 11:28:51 +01:00
Adam Sampson
5579181af1 After initialisation, save TS MUD56, not TS MDL56.
Lars has found a couple of examples of TS MUD54 files, and they're the
initialised version (with references to internal functions filled in,
etc.). TAA's ZORK launcher also expects TS MUDxx to be the initialised
version. So it appears that the ITS version didn't generate TS MDLxx.

(Why does the initialisation process write out TS MUD56, then, if you're
only going to pdump the result over it? Because the last step in
initialisation is to invoke the GC, and getting back from the GC to the
interpreter requires mapping pages back in from the executable.)
2020-09-14 11:28:51 +01:00
Adam Sampson
366665e77a Fix wrong encoding of \r in Muddle 56 source.
Found from comparison with a TS MUD54 binary. The Muddle 56/106 source
came from TOPS-20 originally, and it had been extracted with newline
conversion but not ITS encoding.

Most of these are cosmetic, but there are a couple of VALRET strings
with embedded \rs -- including the one used to exit initialisation.
So successful initialisation now finishes with a *, rather than opening
a random location.
2020-09-14 11:28:51 +01:00
Adam Sampson
5ed3534528 Install STINK 121T as MUDSYS;TS STINK, and use it.
This replaces the existing MUDSYS;STINK 2 that was installed as TS
STINKM. The bad-EXPUNGE patch in there is no longer needed now Muddle is
built with MIDAS 73.
2020-08-31 11:13:58 +01:00
Adam Sampson
6fe7d99ce4 Match just ..PERM/ after the Muddle build.
DDT might choose to output -1 as a symbol instead -- matching just
..PERM/ should still catch broken Muddle initialisation.
2020-08-26 21:26:02 +01:00
Lars Brinkhoff
bb69c7e680 Add check in build script when making a new directory.
Look for FILE NOT FOUND to ensure the script is synchronized with the
output.  Also make a separate mkdir proc that's called throughout.
2019-02-21 19:35:52 +01:00
Lars Brinkhoff
968360b8f8 PICK - examine Muddle locks.
Uses the file MUDDLE; LOCKS PAGE.
2018-11-20 07:01:19 +01:00
Lars Brinkhoff
5ae4efe416 Change name of Muddle WHOM to WHOMUD.
It's in conflict with the WHOJ alias WHOM.
2018-11-19 12:57:54 +01:00
Lars Brinkhoff
cbe5fdf62b MUDINQ - Muddle inquirer.
Used to send a form for a Muddle job to evaluate, printing the result.

Aliases:
- PURGE, flushes Zork.
- MAKSCR, make Zork script.
- STATUS, queries status of compiler.
- WHOM, lists listening Muddle jobs.
2018-11-19 12:57:54 +01:00
Lars Brinkhoff
47d27f5f3c COMBAT - submit jobs to the Muddle compiler. 2018-11-17 08:03:55 +01:00
Lars Brinkhoff
8b93ec78ad MUDCOM - compare Muddle files.
Also MUDCHK, MUDLST, and MUDFND.
2018-11-15 21:52:21 +01:00
Lars Brinkhoff
dfd0e117ce Move MIDAS 324 to MIDAS. 2018-09-14 06:47:09 +02:00
Lars Brinkhoff
7fa6be23db Log progress in build scripts. 2018-08-04 07:01:11 +02:00
Lars Brinkhoff
9f6b1020a0 Fix building Muddle on a slower machine. 2018-06-16 18:59:27 +02:00
Lars Brinkhoff
3cc1c13c38 Build script for Muddle and tools.
The MDL 54/104 and 55/105 manuals give the name SYS:TS MDL for the
interpreter, and a comment in MAIN says it was TS MUDDLE, so install
links for both.
2018-04-25 09:32:25 +01:00