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

324 Commits

Author SHA1 Message Date
Eric Swenson
088ec2d6d9 Added NGAME and games invoked by it. 2018-05-20 12:49:09 -07:00
Adam Sampson
94eb2a1810 Change ADVENT DRW's version number from 25 to 26.
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.
2018-05-18 22:46:01 -07:00
Lars Brinkhoff
88bf6d0461 LD10, Lisp display slave. 2018-05-15 20:58:42 +02:00
Adam Sampson
5d87874fb1 Allow filenames to be specified as JCL to VERSA.
This reworks VERSA's test mode so that you can specify an arbitrary list
of filenames as JCL, and have them rasterised either as SUPDUP graphics
(with /D) or as Harvard scan files in .TEMP.; (by default).
2018-05-11 19:10:21 +01:00
Adam Sampson
a99eab07c6 Reenable XGP input file support.
From ITS OBUGS0, dated 1982-09-23:
> In theory (if I turned on XGP file recognition in the spooler), XGP
> files produced by R come out correctly, but XGP files produced by TJ6
> or BOLIO (and I think @) cause it to crash.

At present, XGP files from TJ6 are rendered with some problems, and XGP
files from @ aren't accepted at all (because they don't specify fonts).
2018-05-11 19:10:21 +01:00
Adam Sampson
3202d117e7 VERSA - Versatec/Gould printer spooler.
This program reads files in several printable formats including ARDS,
XGP and PLT, and rasterises them for Versatec V80 and Gould 5200
printers, or as "Harvard scan" RLE bitmap files.

Normally it runs as a printer spooler, scanning the .GLPR. directory.
When invoked as VERSA, it runs in a test mode where it opens a fixed
series of files and displays them interactively using SUPDUP graphics.
The latter is more useful at the moment, so don't install the CHANNA
link by default.
2018-05-11 19:10:21 +01:00
Lars Brinkhoff
b24b917628 PLOT2 documentation. 2018-05-11 12:09:45 +02:00
Lars Brinkhoff
9ddb2db796 Fonts. 2018-05-09 07:05:12 -07:00
Lars Brinkhoff
4327f0a295 TJ6 - typesetting software. 2018-05-07 14:25:17 +02:00
Lars Brinkhoff
d6fa4be81a Move documentation files to doc. 2018-05-07 08:40:52 +02:00
Eric Swenson
aa8028551c Added 350-point adventure, 448-point adventure, and star trek games. 2018-05-06 07:47:14 -07:00
Adam Sampson
fbcf82e6dd Reconstruct TAA; UUOS >.
This is based on AI: SYS2; TS XXFILE, which was compiled by TAA on
1979-08-23 from XXFILE MTA220, and on @larsbrinkhoff's reconstruction.
After modifying the XXFILE MTA224 source to match (remove the OASC in
CTTYB, and the three .CLOSEs in CQUIT), this compiles into an identical
binary.

The UUO handlers look like they're based on the ones from DIRED, so I've
preserved the DIRED comments where possible, but otherwise adjusted to
match the style used in XXFILE.
2018-05-05 19:37:20 +01:00
Lars Brinkhoff
dd476901a5 XXFILE source code and documentation. 2018-05-05 19:37:20 +01:00
Lars Brinkhoff
b96902c728 SCNV - convert plotter files to XGP SCAN files. 2018-05-05 19:19:09 +02:00
Lars Brinkhoff
33074b453f SUDS - Stanford University Drawing System. 2018-05-05 19:19:09 +02:00
Lars Brinkhoff
5be5d506b9 Build LIMSER - Chaosnet limeric service. 2018-04-26 22:44:56 -07:00
Lars Brinkhoff
8f58c9cd5b Build LIMERIcs program.
Added data file.
2018-04-26 22:44:56 -07:00
Lars Brinkhoff
1753036cc0 Update SYSEN1; LIMERI version to 33.
This is the correct version according to backup archives.
2018-04-26 22:44:56 -07:00
Lars Brinkhoff
1c632bdd7a Adventure map By Dick Helliwell, from SAIL user Timothy E. Eldridge. 2018-04-27 07:39:54 +02:00
Lars Brinkhoff
350b056736 Update FAIL link script and use it. 2018-04-26 14:29:37 +02:00
Adam Sampson
3122c71eb2 Fix high core purification.
The PURIMP routine splits the page map into three parts: writable data
at the bottom, a large gap in the middle (which the GC will manage
later), and read-only code/data at the top. There's one CORBLK call for
each of these.

The final call, which gave pages BOT/2000 to 400 as the range, failed
with %EROPG when it hit the first unmapped page after the end of the
pure data. Experimentation shows that, at least with current ITS, this
is how CORBLK normally behaves.

Fix by calculating the final page from RHITOP rather than assuming 400.
2018-04-25 20:47:04 +01:00
Lars Brinkhoff
20faeb8d24 Update .INSRTs to not use the AI: device. 2018-04-25 07:34:41 -07:00
Lars Brinkhoff
9393d717d6 GCMAIL - delete old files from .MAIL. 2018-04-25 07:34:41 -07: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
Adam Sampson
b1f3c13826 Disable PURIMP's last call to CORBLK.
This is trying to make pages from BOT to the end of memory pure, but it
fails on current ITS, even if you adjust the end of the range to match
RHITOP.
2018-04-25 09:32:25 +01:00
Adam Sampson
6de007fe26 Make the pure region start at 600000.
On ITS, ILOOP in INITM fails because it runs out of address space;
it overruns by about 2000 words. There's a comment in MUDDLE suggesting
that BOT was originally 600000, so move it back to there (although we
could get away with a higher value if necessary in the future).

On TENEX, TXPURE would be used instead.
2018-04-25 09:32:25 +01:00
Adam Sampson
414c665700 Fix TVBASE assertion.
This is checking whether the transfer vector has overflowed the
compile-time space allocated for it -- but the test is backwards, so the
.LOP .VALUE always fires.
2018-04-25 09:32:25 +01:00
Adam Sampson
1d8c894752 Add ASSEM XFILE and MUD56 STINK.
These are analogous to TENEX's ASSEM ALL and MUD105 STINK.

This is version 56 for ITS, because the TENEX binary claimed to be
version 106, and the 54/104 and 55/105 manuals suggest that the ITS
version number tracked the TENEX one. Zork tests whether ,MUDDLE is less
than 100 to see if it's on ITS.
2018-04-25 09:32:25 +01:00
Adam Sampson
2ce999ebd2 Fix two (harmless) incorrect EXPUNGEs.
DOTYPS doesn't exist anywhere. NUMSTA is a typo for NUMSAT.
2018-04-25 09:32:25 +01:00
Adam Sampson
7c55ae06b2 Add a dummy control bits arg to the TTY open call.
Recent MIDAS complains about the DOTCAL macro adding SETZ to the name
pointer (which is effectively a global as it's in a distant CONSTANTS
section).
2018-04-25 09:32:25 +01:00
Adam Sampson
32def4d04b Only add NTTYPE and CLRSTR to the squoze table on TENEX. 2018-04-25 09:32:25 +01:00
Adam Sampson
6b0d849f94 Add %XUNA and %XJNA, which MUDITS uses. 2018-04-25 09:32:25 +01:00
Adam Sampson
5a75505e8b Avoid collision with .FATAL, DMOVE and DMOVEM.
Newer MIDAS defines all of these itself; Muddle wants its own
definitions.
2018-04-25 09:32:25 +01:00
Adam Sampson
d88315865a Use .MCALL instead of MCALL for complex args.
MCALL tries to make its second arg global, which doesn't work when it's
an expression.
2018-04-25 09:32:25 +01:00
Lars Brinkhoff
7c877e3cbc Fix typoed label. 2018-04-25 09:32:25 +01:00
Adam Sampson
93da8b9227 Fix TERMIN problems.
There were two extra TERMINs, one of which was misspelled. Newer MIDAS
checks these more strictly.
2018-04-25 09:32:25 +01:00
Adam Sampson
6f99463f9a Fix ,, where , was intended. 2018-04-25 09:32:25 +01:00
Adam Sampson
405bda7f89 Add missing .GLOBAL for NOATMS. 2018-04-25 09:32:25 +01:00
Lars Brinkhoff
7ab2f2a441 Increase symbol table size for some files. 2018-04-25 09:32:25 +01:00
Lars Brinkhoff
ecc2c2ef42 Build for ITS, and fix broken ITS/TENEX conditionals. 2018-04-25 09:32:25 +01:00
Adam Sampson
6a4633dcc0 Ignore EXPUNGE for nonexistant symbols in REL files.
Most versions of MIDAS emit a 76 directive for each EXPUNGE, even if the
symbol being EXPUNGEd didn't exist. However, STINK treated a 76
directive for a symbol it didn't know about as an error.

Make it ignore the directive instead, skipping the next word to stay in
sync.
2018-04-25 09:32:25 +01:00
Adam Sampson
f5dfd38f16 Build STINK for ITS, fixing broken ITS/TENEX conditionals. 2018-04-25 09:32:25 +01:00
Adam Sampson
f5e54fd700 Define the right symbol at the start of a CONSTANTS area.
Linking Muddle showed various unresolved symbols of the form
"$   42". These are used by MIDAS when it wants to refer to something in
a CONSTANTS area, but doesn't know the location at assembly time (for
example, because it's the other side of a LOC X where X is a global).
At the start of a CONSTANTS area, MIDAS defines this symbol as .;
however, it was defining it with the wrong name.

There's a special case in RPWRD1 to output references to these symbols
as squoze rather than symbol table numbers, but the code in CNST2 that
defines the symbol was using PDEFPT, which always outputs the number.
Make it output the squoze instead.
2018-04-25 09:32:25 +01:00
Adam Sampson
1bb6ced04c Don't split two-word directives across blocks.
When:

- MIDAS is writing a "standard data" block to a REL file;
- it wants to write a 76 (local-to-global/rename/expunge) directive,
  which needs two words of data;
- and there's only one word of space left in the block;

it wrote the first one to the current block, and the second word to the
start of the next block. STINK 1/201 doesn't understand this, and treats
the second word as codebits for the next block, misinterpreting the
directives for that block; this results in missing symbols or junk being
loaded into memory.

For other two-word directives, MIDAS sets the IRCONT flag for all words
except the last one, to prevent the block from being flushed until the
directive is complete. Do the same for 76 directives.

Also fix CNSTA, which unset IRCONT *after* its last word; this was
probably harmless because it will be the first directive in a block so
can't be split.
2018-04-25 09:32:25 +01:00
Adam Sampson
c17ee29314 Understand XMOVEI.
MIDAS 323 doesn't know this opcode by default, but the Muddle source
uses it in ATOMHK and MAIN. Add it to the synonym table.
2018-04-25 09:32:25 +01:00
Lars Brinkhoff
bd0e4ace54 Fix .ALSO syntax, to build with current MIDAS. 2018-04-25 09:32:25 +01:00
Adam Sampson
fae6ae4b56 Import MIDAS 323.
It looks like Muddle was historically built with an early MIDAS: the
1973 Muddle source included a copy of MIDAS 73, and the MDL 106
source included a TENEX MIDAS binary of similar vintage.

Later versions of MIDAS have differences in their REL output which break
Muddle's low/high-segment linking. We don't have source for MIDAS 73.
MIDAS 323 is the latest version we have that supports this scheme
correctly, at least with Muddle's version of STINK.
2018-04-25 09:32:25 +01:00
Adam Sampson
c49c864a1d Encode the MUDSTR constant correctly for ITS evacuate format.
The string is padded with ^? characters, which are skipped when it's
printed.
2018-04-25 09:32:25 +01:00
Adam Sampson
a81db26a7a Rename to ITS conventions.
MIDAS and Muddle source get version numbers (as in the 1973 Muddle
source); the build files don't.
2018-04-25 09:32:25 +01:00
Adam Sampson
8eb73e1b95 Remove old versions of source files. 2018-04-25 09:32:25 +01:00