1
0
mirror of https://github.com/PDP-10/its.git synced 2026-01-17 00:33:22 +00:00

266 Commits

Author SHA1 Message Date
Adam Sampson
5e908804ce Re-add comments from disassembly, and use register names.
Register 5 has names E and DV -- I've used DV where it's being used on
its own as a potential divisor, and E where it's being used as part of
the pair DE for a number.
2018-04-11 14:45:54 +01:00
Adam Sampson
6984267e18 Import RZ;FACTOR 26 source.
Differences from AI's TS FACTOR:

- KL10 define to put the TEST inner loop code at 100 rather than in the
  registers -- ";;KL10 RUNS SLOWER IN ACS".

- Lookup table for commands, including uppercase and lowercase.

- A new "quit" command.

- Mixed-case messages.

- System calls modernised a bit; .CALL /OPEN/ rather than .SUSET/.OPEN,
  and not opening the TTY in DDT mode.
2018-04-11 14:45:54 +01:00
Adam Sampson
d1b101b3eb Reformat FACTOR disassembly to match RZ;FACTOR 26.
@larsbrinkhoff found the source for a slightly later version of FACTOR.
This produces the same binary as my original disassembly, but matches
RZ's source where possible, for easier comparison.
2018-04-11 14:45:54 +01:00
Lars Brinkhoff
93879ee82f Zork source code from 1981. From Bob Supnik. 2018-04-10 07:42:53 -07:00
Lars Brinkhoff
1b555896eb Zork source code from 1979. 2018-04-10 07:42:53 -07:00
Adam Sampson
c836707a70 Reconstructed source for JOTTO.
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.
2018-04-08 19:37:35 +01:00
Adam Sampson
c257c56f5d WAITS Jotto source from SAILDART.
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.
2018-04-08 19:37:35 +01:00
Lars Brinkhoff
c55f3a19a4 Build ITS with 340 support. 2018-04-03 21:05:28 +02:00
Adam Sampson
f3d9ccbb62 Reconstruct source code for FACTOR.
This is based on a disassembly of the binary AI:SYS1;TS FACTOR; the
binary and its help file .INFO.;FACTOR ORDER are both dated 1977-09-27.
MC had an identical copy with a later date.

This assembles into a binary that's identical to the original, except
that the original version has all its symbols marked as global, and no
assembly info.

Fixes #96.
2018-04-01 17:07:13 +01:00
Eric Swenson
880744beca Added build of LIBLSP; VSAID FASL and LIBLSP; TTYVAR FASL.
Resolves #756 and #758.
2018-03-29 08:35:44 -07:00
Lars Brinkhoff
9c7c40e19a CHAOS ARPA/NCP/TCP - gateway from Chaosnet to Arpanet/Internet. 2018-03-27 07:05:40 -07:00
Lars Brinkhoff
26e77a8317 SRDATE - set file reference date. 2018-03-27 07:02:07 -07:00
Adam Sampson
15fc94ec81 Remove obsolete mode bit when opening TTY.
@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.
2018-03-27 11:47:50 +01:00
Lars Brinkhoff
0c4bc45cda Update RABBIT, and compile it with itself.
RABBIT 570 has a (DECLARE (NEWIO T)) form which doesn't go over well
with the latest Maclisp compiler.  The fix is to just delete the
declaration.
2018-03-26 12:36:28 -07:00
Lars Brinkhoff
fa667bf64c RABBIT Scheme compiler, latest MIT version 570 dated June 30 1980.
This version was found in ALAN.  Version 569 in QUUX has timestamp
May 17 1978.
2018-03-26 12:36:28 -07:00
Lars Brinkhoff
de2b2e8439 Build the NSCHSY interpreter. 2018-03-26 12:36:28 -07:00
Adam Sampson
9e869769cf Accept "y" and "s" as well as "Y" and "S".
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
2018-03-26 14:09:13 +01:00
Adam Sampson
7d42c5b2f9 Reconstructed source for WUMPUS.
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.
2018-03-26 14:09:13 +01:00
Adam Sampson
e07c3d428a TOPS-20 Hunt the Wumpus source from SRI-NIC.
SRC:<UTILITIES>WUMPUS.MID.2 is dated 1977-09-04 08:55:35 in the source,
and last modified 1979-07-11 20:32 according to the DUMPER logs.
2018-03-26 14:09:13 +01:00
Eric Swenson
7516530c3d Added several more LSPLIB packages.
Resolves #713.
2018-03-25 10:47:49 +02:00
Lars Brinkhoff
4d2398d990 Dump Scheme to a TS file. 2018-03-23 07:21:01 -07:00
Lars Brinkhoff
84610ed8a8 New Scheme interpreter. 2018-03-23 07:21:01 -07:00
Eric Swenson
92db560d8f Added lots of new LSPLIB packages (and their sources). 2018-03-22 10:38:13 -07:00
Eric Swenson
85994ed770 Added files to support building and running Macsyma.
Resolves #284.

Commented out uses of time-origin in maxtul; mcldmp (init) until we
can figure out why it gives arithmetic overflows under the emulators.

Updated the expect script statements in build_macsyma_portion to not
attempt to match expected strings, but simply sleep for some time
since in some cases the matching appears not to work.
2018-03-11 13:10:19 -07:00
Eric Swenson
19dfa40b9e Adds LIBMAX AND MAXTUL FASL files. These are prerequisites for
building and running Macsyma.  Resolves #710 and #711.
2018-03-09 07:47:00 +01:00
Eric Swenson
aefb232db9 Added sources and build instructions for Lisp library packages
required by Macsyma. Resolves #706.
2018-03-07 09:03:40 +01:00
Lars Brinkhoff
f310791634 Fix PEEK uptime display when greater than nine days. 2018-03-05 07:28:57 -08:00
Lars Brinkhoff
947aa6b11e COMRED - Lisp library for emulating the TOPS-20 command line. 2018-03-03 16:46:36 -08:00
Lars Brinkhoff
4114678f18 Bill Gosper's MLIFE. 2018-03-01 06:41:56 +01:00
Lars Brinkhoff
1998766f04 SCRAM - encrypt/decrypt file. 2018-02-28 21:13:04 +01:00
Lars Brinkhoff
6ec542590b Don't echo control characters from MAGDMP. 2018-02-28 16:49:04 +01:00
Lars Brinkhoff
e1f80890d4 Add ITS machine called KA. 2018-02-27 06:50:13 -08:00
Lars Brinkhoff
5e218aadc8 Newer version of PDP-11 code for TV system.
Includes SUPDUP graphics.  Timestamp 1982-05-31.
2018-02-20 05:58:22 +01:00
Lars Brinkhoff
d8ccaeef14 Build DEVICE; JOBDEV CHA from source code. 2018-02-19 19:22:11 +01:00
Lars Brinkhoff
4d32246eea Spacewar! game.
Build for both standalone and timesharing.
2018-02-19 08:21:59 -08:00
Lars Brinkhoff
23300c98fa SENDS - Chaosnet SEND server. 2018-02-16 20:36:11 +01:00
Lars Brinkhoff
35de5148f8 SENSOR - sends censor. 2018-02-16 20:36:11 +01:00
Lars Brinkhoff
11b0feea6e SENVER - Chaosnet SEND server. 2018-02-16 20:36:11 +01:00
Lars Brinkhoff
ca26e9141e Add EMACS library EENV. 2018-02-16 19:36:08 +01:00
Lars Brinkhoff
69a5eb06e4 Add OCTPUS. 2018-02-16 19:36:08 +01:00
Lars Brinkhoff
7419b738c1 Add STTY. 2018-02-16 19:36:08 +01:00
Lars Brinkhoff
47cb894088 Add FIDO. 2018-02-16 19:36:08 +01:00
Lars Brinkhoff
c6ae98e915 OCM chess. 2018-02-16 06:55:54 -08:00
Lars Brinkhoff
289754fb69 Fix for chess program: only call INCD if built for TV. 2018-02-16 06:55:54 -08:00
Lars Brinkhoff
eae9d7a662 Greenblatt chess program, timesharing and standalone versions. 2018-02-16 06:55:54 -08:00
Lars Brinkhoff
f35f3adc84 PT - tests ITS pager. 2018-02-15 07:12:46 -08:00
Lars Brinkhoff
52af06f3aa Build EMACS; [RMAI] 146 from RMAILX and RMAILY in EMACS1. 2018-02-15 07:07:23 +01:00
Lars Brinkhoff
27e2c436e2 Build SAIL; JOBDAT REL from source code. 2018-02-14 22:02:48 +01:00
Lars Brinkhoff
f9819b44c1 Reconstructed ARCDEV 66. Build DEVICE; OARCDV BIN from it. 2018-02-14 20:22:24 +01:00
Lars Brinkhoff
810f5f7c14 Add ARCDEV 23 for old format. 2018-02-14 20:22:24 +01:00