1
0
mirror of https://github.com/PDP-10/its.git synced 2026-01-15 08:03:19 +00:00

814 Commits

Author SHA1 Message Date
Lars Brinkhoff
799df3e60c Fix GT40 toggle frobbing from keyboard. 2021-02-03 16:10:59 +01:00
Lars Brinkhoff
610c2cf532 HOSTS2 table.
A binary file until we can get hold of the source code.
2021-01-24 16:28:43 +01:00
Lars Brinkhoff
d3e2e7116f HOSTAT - retrieve and print host status.
Connects to MIT-DMS (host 106) to retrieve Arpanet survey data.
2021-01-24 16:28:43 +01:00
Lars Brinkhoff
f792e535a5 SURSND - Arpanet survey sender demon.
Send survey data to the Datacomputer.
2021-01-24 07:04:53 +01:00
Lars Brinkhoff
eca5df75cf SURGIV - Demon to send SURVEY data.
Applications like HOSTAT can connect to DM to retrieve host status data.
This is the demon that serves the data.
2021-01-24 07:04:53 +01:00
Lars Brinkhoff
dadf1b9634 SURVEY - Survey Arpanet host availability.
ATSIGN DEMSTR starts the SURVEY demon.  It's activated every 15 minutes.
2021-01-24 07:04:53 +01:00
Lars Brinkhoff
63a9b94a0e Deploy built images using rsync. 2021-01-23 07:57:06 +01:00
Lars Brinkhoff
b3386f6afb Add the SIMH Imlac emulator. 2021-01-20 19:15:38 +01:00
Lars Brinkhoff
629faf85eb Use latest version of SIMH for emulators other than KS10. 2021-01-20 19:15:38 +01:00
Lars Brinkhoff
96fccc355a Block loader for TT2500.
The 2500 bootstrap ROM expects to receive a block loader first, which
will run and recieve the actual payload which is the microcode and
font data divided into blocks.
2021-01-15 19:43:20 +01:00
Lars Brinkhoff
8ba88ad174 TT2500 - Functional Specifications.
Overview of TT2500 hardware.
2021-01-15 19:43:20 +01:00
Lars Brinkhoff
3255fc5188 Microcode for the TT2500.
The assembler will recieve a GC-OVERFLOW interrupt.  Other TT2500
files set the GC-OVERFLOW variable to a dummy function, which seems to
appease the interrupt.

Since the TVDIS code was written before backquote was introduced to
Maclisp, it uses comma characters without quoting.  To accomodate this
a call to SETSYNTAX overrides the new syntax for comma.
2021-01-15 19:43:20 +01:00
Lars Brinkhoff
4af63f786b Assembler for TT2500.
The assembler is written in Maclisp.  The main entry point is ZAP
which expects a symbol with a value cell pointing to the source code.
2021-01-15 19:43:20 +01:00
Lars Brinkhoff
4a7182d9ed Fix SIMH configuration for GT40.
Set device unit DLO0 to 8-bit mode to ensure keyboard codes are
transmitted.

Set switch register to 0 to get a blinking cursor and roman text.
2021-01-14 09:46:27 +01:00
Lars Brinkhoff
97b93e2b63 Add GT40 support to PDP-10 Lisp display slave.
When SYS; ATSIGN 10SLAV is assembled with GT40F=1, the type of display
is selected at run time from an argument to DISINI.
2021-01-14 09:46:27 +01:00
Lars Brinkhoff
d0a3434eac KLH10 needs automake installed. 2020-12-21 21:47:47 +01:00
Lars Brinkhoff
c14f2a7729 Fix some bad timestamps. 2020-12-21 21:47:24 +01:00
Lars Brinkhoff
88f5a7262c Muddle library files courtesy of Rick Shiffman.
Files are from RRS; AR5 MUDDLE on ToTS tape 9006256.  Some timestamps
are from DM _TAPE files.
2020-12-10 07:41:09 +01:00
Lars Brinkhoff
00afe4b60b More timestamps from .TAPE files. 2020-12-09 18:37:51 +01:00
Lars Brinkhoff
2687f68cc2 LISP Machine Progress Report, by Alan Bawden et al. 2020-12-03 15:35:31 +01:00
Lars Brinkhoff
36c526191e DDT Reference Manual, AI memo 147A.
Courtesy of Eric Osman.
2020-12-03 15:35:31 +01:00
Lars Brinkhoff
0373bdd796 Add historical timestamps.
File names where compared against historical backup tapes, and time
stamps where listed in a text file.  Before a tape image is made, all
files are updated with timestamps from the listing.

Where no historical timestamp can be determined, the latest git author
date is taken.
2020-09-29 21:23:25 +02:00
Lars Brinkhoff
cb2ac644e9 UNSPOO - line printer unspooler demon. 2020-09-21 05:53:54 +02:00
Lars Brinkhoff
5f4d858daf GUNNER - gun down dead demons.
Also garbage collect disowned Zork jobs, poke FI hardware when IMP is
down, etc.
2020-09-20 19:37:27 +02:00
Lars Brinkhoff
bf7345f12c DEMST - demon status. 2020-09-20 08:52:03 +02:00
Lars Brinkhoff
0938ee3131 DEMSTR - DM demon starter.
SYS: ATSIGN DEMSTR is started by ITS if it's assembled with DEMON
enabled.  DEMSTR in turn is responsible for starting other demons.
2020-09-20 08:52:03 +02:00
Lars Brinkhoff
3eb08a071c Add script to diff two DUMP tapes.
The script takes two file names on the command line: an old tape, and
a new tape.  Any updated files are written to a new tape diffs.tap.
The intent is that diffs.tap can be extradted with a DUMP command like
LOAD CRDIR LINKS to update an ITS system.

The script tries to avoid including binary files that only differ in
the symbol table or creation time.  Some false positives are expected.
2020-09-15 17:28:32 +02: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
8fa00758d0 Enable the IPC device for all build machines.
At MIT this was only enabled on DM. Muddle has built-in support for it,
and it seems to have been fairly widely used in existing Muddle images.
2020-09-13 21:37:12 +01:00
Lars Brinkhoff
9ab3ff405a Fix sImlac configuration. 2020-09-05 09:51:42 +02: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
Lars Brinkhoff
2a2acd54d3 UTNAM - set DECtape name. 2020-08-31 07:00:28 +02:00
Lars Brinkhoff
a309ad8a45 Add MACDMP, standalone tool for loading/dumping DECtape files.
MACDMP MOBY1 has 340 support, but only works with the old PDP-6
microtape device.  MACDMP 6U32 has both microtape and TD10 support,
but no 340 code.  Both programs can be adjusted for core size.
2020-08-29 06:54:47 +02:00
Lars Brinkhoff
cd8959f829 Reconstruct @ MARK source code.
Source text taken from SYSTEM GEN, mostly by removing the HACK things.
2020-08-27 18:34:14 +02: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
Adam Sampson
dd607f57aa Patch MIDAS 73 to accept JCL.
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.
2020-08-26 21:26:02 +01:00
Adam Sampson
5f5e25da1e Add reconstruction of MIDAS 73.
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.
2020-08-26 21:26:02 +01:00
Lars Brinkhoff
d3a87007a5 BANNER - make banners on line-printer paper in XGP fonts. 2020-08-21 10:44:14 +02:00
Lars Brinkhoff
979b77f341 CUBE, Rubik's cube.
Files provided by the author, Bernard Greenberg.
2020-08-10 22:08:00 +02:00
Lars Brinkhoff
f84e72cb8f Don't make final full dump when building for KA10 on Cirrus CI. 2020-07-03 21:47:16 +02:00
Lars Brinkhoff
5c6c647603 Edit PDS-4 Crash source code to match PDS-1 version of CRASH IML. 2020-06-18 19:31:43 +02:00
Lars Brinkhoff
378ed6fb06 Add HX ITS for hactrn.org. 2020-06-09 18:04:00 +02:00
Lars Brinkhoff
1807333e8d Specify ITS machine name to build. 2020-06-09 18:04:00 +02:00
Lars Brinkhoff
3d27de18ed Add emulators to start script. 2020-06-09 18:02:50 +02:00
Lars Brinkhoff
7db264dc0d Add more terminal emulators.
SIMH KS10 gets VT52.  SIMH KL10 gets VT52 and Tekronix.

KLH10 KS10 doesn't have serial ports, so build no terminal emulators.
2020-06-09 18:02:50 +02:00