1
0
mirror of https://github.com/PDP-10/its.git synced 2026-02-06 00:24:41 +00:00
Files
PDP-10.its/build/ka10/processor.tcl
Lars Brinkhoff 32e905392b Source reconstruction for the 64/256K @ TECO.
The @ TECO binary is from the . directory on many backup tapes going
all the way back to 1971.  The LPT 11 and MACTAP F68 sources come
unchanged from Peter Samson's "RandomSystem" DECtape.  The TECO DUMMY
file is close to the undated SYSENG; TECODM 2 file.

The source files can be assembled with MIDAS 73, and linked with the
Muddle version of STINK.  The link order is TECO DUMMY, LPT, MACTAP,
TECO.

This results in a binary that is identical to the original @ TECO with
a few exceptions:

- @ TECO has a loader in 20-37, and something in 776000-777777.
- MOBY is set to 174000 for 64K core, which results in MACDMP being
  1777400 and MACCR being 177777.  The @ TECO binary has it set to
  DSKDMP at 777700.
- The buffer size in MEMSIZ is not the same.
- CONSTANTS has one additional zero at the end, shifting the rest
  of the memory image up by one word.
2023-07-05 07:07:04 +02:00

291 lines
7.2 KiB
Tcl

log_progress "ENTERING BUILD SCRIPT: PROCESSOR"
# Programs particular to the KA10 processor.
# macdmp, PDP-10 hardware read in, with 340 support.
respond "*" ":midas;77\r"
respond "MIDAS.77" ".;MACDMP RIM10_SYSENG; MACDMP MOBY1\r"
expect ":KILL"
# macdmp, PDP-6 read in hack.
respond "*" ":midas;77\r"
respond "MIDAS.77" ".;MACDMP RIM2_SYSENG; MACDMP 6U32\r"
expect ":KILL"
# system gen
respond "*" ":midas;324 dsk0:.;@ sysgen_syseng; system gen\r"
expect ":KILL"
# mark
respond "*" ":midas;324 dsk0:.;@ mark_syseng; mark\r"
expect ":KILL"
# utnam
respond "*" ":midas sys3; ts utnam_lars; utnam\r"
expect ":KILL"
# Name Dragon
respond "*" ":link syseng;tvkbd rooms, sysen2;\r"
type ":vk\r"
respond "*" ":midas sysbin;_sysen2;namdrg\r"
expect ":KILL"
respond "*" ":link channa;rakash namdrg, sysbin; namdrg bin\r"
type ":vk\r"
# STUFF
respond "*" ":midas sys1;ts stuff_sysen2;stuff\r"
expect ":KILL"
respond "*" ":link channa;rakash tvfix, sys1; ts stuff\r"
type ":vk\r"
# IOELEV, PDP-11 doing I/O for the PDP-10 host.
# The "AI" IOELEV, also known as CHAOS-11.
# STUFF prefers to have it in the "." directory.
respond "*" ":palx dsk0:.;_system;ioelev\r"
respond "MACHINE NAME =" "AI\r"
expect ":KILL"
# TV-11. STUFF prefers it to be in the "." directory.
respond "*" ":palx dsk0:.;_system;tv\r"
expect ":KILL"
# XGP-11. STUFF prefers it to be SYSBIN; VXGP BIN.
respond "*" ":palx sysbin;vxgp bin_sysen2;xgp\r"
expect ":KILL"
# CCONS. STUFF prefers it to be in the CONS directory.
mkdir "cons"
respond "*" ":palx cons;_lmcons;ccons\r"
expect ":KILL"
# Old Spacewar
respond "*" ":cwd spcwar\r"
respond "*" ":midas;324 spcwar; war\r"
expect ":KILL"
respond "*" ":midas spcwar; stars\r"
expect ":KILL"
respond "*" ":midas;324 spcwar; math\r"
expect ":KILL"
respond "*" ":stink\r"
respond "\n" "mspcwar; war\033l\033\033"
respond "\n" "mstars\033l\033\033"
respond "\n" "mmath\033l\033\033"
respond "\n" "jwar\033d\033\033"
respond "\n" "\033y"
respond " " "dsk0:.;@ war\r"
respond "*" ":kill\r"
# Spacewar, standalone
respond "*" ":midas;324 dsk0:.;@ spcwar_spcwar; spcwar\r"
respond "ITS version" "NO\r"
respond "interrupt" "NO\r"
respond "ships" "\r"
respond "designs" "\r"
respond "suns" "\r"
respond "recording" "\r"
expect ":KILL"
# Spacewar, timesharing
respond "*" ":midas games;ts spcwar_spcwar; spcwar\r"
respond "ITS version" "YES\r"
respond "ships" "\r"
respond "designs" "\r"
respond "suns" "\r"
expect ":KILL"
# PDP-6/10 Dazzle Dart
respond "*" ":midas games;ts dazdrt_klh; dazdrt\r"
respond "Run under ITS?" "YES\r"
expect ":KILL"
respond "*" ":midas;324 dsk0:.;@ dazdrt_klh; dazdrt\r"
respond "Run under ITS?" "NO\r"
expect ":KILL"
# Knight TV Spacewar
respond "*" ":midas gjd;_swr data\r"
expect ":KILL"
respond "*" ":job swr\r"
respond "*" ":load gjd; swr bin\r"
respond "*" "first\033,last\033\060ygjd; swr ships\r"
respond "*" ":kill\r"
respond "*" ":midas games;ts tvwar_spcwar; tvwar\r"
expect ":KILL"
# Dump TV bitmap as XGP scan file.
# TVREAD expects the binary in BKPH.
respond "*" ":midas bkph; ts zap_zap\r"
expect ":KILL"
# View bitmap file on TV.
respond "*" ":midas sys2; ts tvread_vis; tvread\r"
expect ":KILL"
# Save TV display as bitmap file.
respond "*" ":midas sys2; ts tvwrit_sysen2; tvwrit\r"
expect ":KILL"
# Save TV display as text file.
respond "*" ":midas sys2; ts record_sysen2; record\r"
expect ":KILL"
# TV paint program.
respond "*" ":midas sys2; ts tvedit_sysen2; tvedit\r"
expect ":KILL"
# KLH's Knight TV clock.
respond "*" ":midas klh; ts tinyw_klh; clock\r"
respond "=" "1\r"
respond "=" "1\r"
expect ":KILL"
respond "*" ":midas klh; ts bigw_klh; clock\r"
respond "=" "1\r"
respond "=" "0\r"
respond "=" "0\r"
expect ":KILL"
respond "*" ":midas klh; ts digiw_klh; clock\r"
respond "=" "1\r"
respond "=" "0\r"
respond "=" "1\r"
expect ":KILL"
# XD, view XGP files on TV.
respond "*" ":midas sys3;ts xd_sysen2;xd\r"
expect ":KILL"
# TV-munching square.
respond "*" ":midas sys2;ts munch_sysen2;munch\r"
expect ":KILL"
# TITLER
respond "*" ":midas dsk0:.;@ titler_mb; titler\r"
expect ":KILL"
# MLIFE
respond "*" ":midas;324 games;ts mlife_rwg;mlife\r"
expect ":KILL"
respond "*" ":midas;324 /t dsk0:.;@ mlife_rwg;mlife\r"
respond "with ^C" "TS==0\r\003"
expect ":KILL"
# MLIFE
respond "*" ":midas;324 dsk0:.;@ pornis_rwg; pornis\r"
expect ":KILL"
# 3406
respond "*" ":midas;324 dsk0:.;@ 3406_stan.k; 3406\r"
expect ":KILL"
# 340D
respond "*" ":midas stan.k;mod11 bin_340d\r"
expect ":KILL"
respond "*" ":link sys1;ts 340d, stan.k; mod11 bin\r"
# Munching squares for 340 display.
respond "*" ":midas lars; ts munch_munch\r"
expect ":KILL"
respond "*" ":midas /t dsk0: .; @ munch_lars; munch\r"
respond "with ^C" ".iotlsr==jfcl\r\003"
expect ":KILL"
# Minskytron, translated from PDP-1.
respond "*" ":midas dsk0: lars; ts minsky_minsky tron\r"
expect ":KILL"
respond "*" ":link dsk0: .; @ minsky, lars; ts minsky\r"
# Edward Lorenz' strange attactor.
respond "*" ":midas dsk0: lars; ts lorenz_lorenz\r"
expect ":KILL"
respond "*" ":link dsk0: .; @ lorenz, lars; ts lorenz\r"
# Mandelbrot.
respond "*" ":midas lars; ts tvbrot_tvbrot\r"
expect ":KILL"
# MUSRUN
respond "*" ":midas;77\r"
respond "MIDAS.77" "SYSBIN;_SYSENG; MUSRUN\r"
expect ":KILL"
respond "*" ":midas;77\r"
respond "MIDAS.77" "SYSBIN;_SYSENG; H10D\r"
expect ":KILL"
respond "*" ":stink\r"
respond "\n" "msysbin; musrun\033l\033\033"
respond "\n" "mh10d\033l\033\033"
respond "\n" "jmusrun\033?d\033\033"
respond "\n" "\033y"
respond " " "sys1; ts musrun\r"
respond "*" ":kill\r"
# KA10 maintenance
respond "*" ":midas;324 sys;ts 10run_sysen2; 10run\r"
expect ":KILL"
# Display all Type 342 characters.
respond "*" ":midas dsk0:maint;_tst342\r"
expect ":KILL"
# XGP spooler
respond "*" ":midas sys2;ts xgpspl_sysen2;xgpspl\r"
expect ":KILL"
# XGP unspooler
respond "*" ":midas sysbin;_syseng;scrimp\r"
expect ":KILL"
# CARPET, remote PDP-11 debugger through Rubin 10-11 interface.
respond "*" ":midas sys3;ts carpet_syseng;carpet\r"
expect ":KILL"
# Patch PDP-6 LISP to run on PDP-10.
respond "*" ":job lisp\r"
respond "*" ":load .; @ lisp\r"
respond "*" "33777//\031"
respond "*" "\033q\033,777777\033\033z"
respond "*" "pitele+13/"
respond "FSC" "push p,b\n"
respond "FSC" "jrst patch\r"
respond "\n" "patch/"
respond "0" "move b,echocc\n"
respond "0" "add b,ticc\n"
respond "0" "dpb b,.+3\n"
respond "0" "pop p,b\n"
respond "0" "jrst pitele+15\n"
respond "0" "331000,,a\r"
respond "\n" "\033y"
respond " " "dsk0:.;@ lisp\r"
respond "*" ":kill\r"
# Lisp display slave, PDP-6 version.
respond "*" ":midas sys; atsign 6slave_sysen2; ld10\r"
respond " PDP6F = " "1\r"
expect ":KILL"
# Test for the 340 "hack hack".
respond "*" $emulator_escape
punch_tape "$out/hhtest.rim"
type ":vk\r"
respond "*" ":midas ptp:_maint;hhtest\r"
expect ":KILL"
# NTS TECO-6
respond "*" ":cwd .teco.\r"
respond "*" ":midas;73\r"
expect "MIDAS"
respond "\n" "TECODM REL_TECO DUMMY\r"
expect ":KILL"
respond "*" ":midas;73\r"
expect "MIDAS"
respond "\n" "MACTAP REL_SYSENG;MACTAP F68\r"
expect ":KILL"
respond "*" ":midas;73\r"
expect "MIDAS"
respond "\n" "LPT REL_SYSENG;LPT 11\r"
expect ":KILL"
respond "*" ":midas;73\r"
expect "MIDAS"
respond "\n" "TECO6 REL_.TECO.;TECO6 64K\r"
expect ":KILL"
respond "*" ":mudsys;stink\r"
respond "\n" "MTECODM\033L MLPT\033L MMACTAP\033L MTECO6\033L D\033\033"
respond "\n" "\033YDSK0:.;@ TECO\r"
respond "*" ":kill\r"