mirror of
https://github.com/PDP-10/its.git
synced 2026-01-11 23:53:12 +00:00
1533 lines
35 KiB
Tcl
1533 lines
35 KiB
Tcl
log_progress "ENTERING BUILD SCRIPT: MISC"
|
||
|
||
# MIDAS 324, needed for older programs.
|
||
midast "sysbin; midas 324bin" "midas; midas 324" {
|
||
respond "\n" "itssw==1\r"
|
||
respond "\n" "ptr==100\r"
|
||
respond "\n" "ldbi=ildb\r"
|
||
respond "\n" "dpbi=idpb\003"
|
||
}
|
||
purify midas "sysbin; midas 324bin" {
|
||
respond "*" "purify\033g"
|
||
respond "TS MIDAS" "midas;ts 324\r"
|
||
}
|
||
|
||
# MIDAS 77, needed for MUSRUN.
|
||
purify midas "sysbin; midas 77bin" {
|
||
# Patch to accomodate more symbols returned from .GETSYS.
|
||
respond "*" "tsymgt+5/"
|
||
respond "P" "10\r"
|
||
respond "\n" "purify\033g"
|
||
expect "PURIFIED"
|
||
respond "*" ":pdump midas; ts 77\r"
|
||
}
|
||
|
||
# MIDAS 73, bootstrapped from 77.
|
||
oomidas 77 "MIDAS; TS 73" "MIDAS; MIDAS 73"
|
||
oomidas 73 "MIDAS; TS 73" "MIDAS; MIDAS 73"
|
||
respond "*" ":xfile midas; patch 73\r"
|
||
expect ":kill"
|
||
|
||
# ITS 138
|
||
oomidas 73 ".;ITS 138BIN" "SYSENG;ITS 138"
|
||
|
||
# MACTAP
|
||
omidas "sysbin;" "sysen2; mactap"
|
||
|
||
# TECO6
|
||
midas "sysbin;teco 335bin" ".teco.; teco 335"
|
||
purify teco "sysbin; teco 335bin" {
|
||
respond "*" "purify\033g"
|
||
respond "PURIFIED" "\r"
|
||
respond "*" ":pdump .teco.; ts 335\r"
|
||
}
|
||
|
||
make_link "teach;teach emacs" "emacs;teach emacs"
|
||
respond "*" "teach\033\023"
|
||
respond "*" ":emacs\r"
|
||
expect ":KILL"
|
||
make_link "sys2;ts teachemacs" "emacs;tstch >"
|
||
|
||
# nsalv, timesharing version
|
||
midas "sys1;ts nsalv" "kshack;nsalv" {
|
||
respond "machine?" "TS\r"
|
||
}
|
||
|
||
# salv, timesharing versions
|
||
midas "sys1;ts salv" "system;salv" {
|
||
respond "time-sharing?" "y\r"
|
||
}
|
||
|
||
midas "sys3;ts syslod" "sysen1;syslod"
|
||
|
||
midas "sys3;ts vv" "sysen2;vv"
|
||
make_link "sys3;ts vj" "sys3;ts vv"
|
||
make_link "sys3;ts detree" "sys3;ts vv"
|
||
|
||
midas "sys3;ts trees" "sysen1; trees"
|
||
|
||
midas "sys2;ts syschk" "sysen2;syschk"
|
||
|
||
midas "sysbin;" "sysen3;whoj"
|
||
make_link "sys1;ts talk" "sysbin;whoj bin"
|
||
make_link "sys1;ts who" "sysbin;whoj bin"
|
||
make_link "sys1;ts whoj" "sysbin;whoj bin"
|
||
make_link "sys1;ts whom" "sysbin;whoj bin"
|
||
make_link "sys2;ts users" "sysbin;whoj bin"
|
||
make_link "sys1;ts w" "sys1;ts who"
|
||
make_link "sys2;ts u" "sys2;ts users"
|
||
|
||
#Inter-Entity Communication
|
||
midas "sysbin;" "sysen2; iec"
|
||
make_link "sys; atsign iec" " sysbin; iec bin"
|
||
arpanet "rfc113" "sys; atsign iec"
|
||
|
||
midas "sys2;ts untalk" "gren;untalk"
|
||
|
||
midas "sys3;ts ufind" "syseng;ufind"
|
||
|
||
midas "sys3;ts ddtdoc" "syseng;ddtdoc"
|
||
|
||
midas "sys1;ts nwatch" "sysen1;nwatch"
|
||
|
||
midas "sys1;ts crock" "sysen1;crock" { respond "System?" "ITS\r" }
|
||
make_link "sys2;ts c" "sys1;ts crock"
|
||
|
||
midas "sys1;ts dcrock" "sysen1;dcrock" { respond "System?" "ITS\r" }
|
||
make_link "sys2;ts dc" "sys1;ts dcrock"
|
||
|
||
# Not Zork
|
||
midas "sys3;ts zork" "sysen3;zork"
|
||
|
||
midas "sys1;ts instal" "sysen2;instal"
|
||
|
||
midas "sys1;ts dir" "bawden;dir^k"
|
||
|
||
midas "bawden;" "uptime"
|
||
|
||
# Chaosnet EVACUATE service.
|
||
midas "sysbin; evacua" "bawden; evacua"
|
||
purify evacua "sysbin; evacua bin" {
|
||
respond "*" "purify\033g"
|
||
respond "CHAOS EVACUA" "\r"
|
||
}
|
||
|
||
# Mini Chaosnet file server. Version 24 is MINI.
|
||
midas "sysbin; mini" "lmio; minisr 24"
|
||
make_link "device; chaos mini" " sysbin; mini bin"
|
||
|
||
# Mini Chaosnet file server. This is the 36-bit version.
|
||
midas "kshack;" "mini36"
|
||
make_link "device; chaos mini36" " kshack; mini36 bin"
|
||
|
||
midas "sysbin;" "sysnet;echo"
|
||
make_link "device; chaos echo" " sysbin; echo bin"
|
||
|
||
midas "alan;ts gensym" "alan;gensym"
|
||
make_link "device; chaos gensym" " alan; ts gensym"
|
||
|
||
midas "device;chaos load" "alan;load"
|
||
|
||
# Mini Chaosnet file server. Version 5 is MINIC.
|
||
midas "sysbin; minic bin" "syseng; minisr 5"
|
||
make_link "device; chaos minic" " sysbin; minic bin"
|
||
|
||
midas "sysbin;" "lmio1; door"
|
||
make_link "device; chaos door" " sysbin; door bin"
|
||
|
||
midas "sys3; ts esce" "sysen1; esce"
|
||
|
||
midas "sysbin;chtn" "sysnet;chtn"
|
||
make_link "sys2;ts chtn" "sysbin;chtn bin"
|
||
|
||
midas "sys;ts ttloc" "sysen1;ttloc"
|
||
make_link "sys2;ts styloc" "sys;ts ttloc"
|
||
|
||
midas "device;jobdev dp" "sysen3;dpdev"
|
||
|
||
midas "sys1;ts quote" "sysen1;limeri" {
|
||
respond "Use what filename instead?" "ecc;quotes >\r"
|
||
}
|
||
|
||
midas "sys2;ts limeri" "sysen1;limeri" {
|
||
respond "Use what filename instead?" "eak; lims >\r"
|
||
}
|
||
make_link "sys2;ts limmer" "sys2;ts limeri"
|
||
|
||
midas "sysbin;" "eak;limser"
|
||
make_link "device;chaos limeri" "sysbin;limser bin"
|
||
|
||
midas "sys;ts srccom" "sysen2;srccom"
|
||
make_link "sys2;ts =" "sys;ts srccom"
|
||
|
||
midas ".mail.;comsat" "sysnet;comsat" comsat_switches
|
||
|
||
midas "device;jobdev dq" "sysnet;dqxdev" dqxdev_switches
|
||
|
||
purify comsat ".mail.;comsat bin" {
|
||
respond "*" "debug/0\r"
|
||
type "xvers/0\r"
|
||
type "purify\033g"
|
||
respond ":PDUMP DSK:.MAIL.;COMSAT LAUNCH" "\r"
|
||
}
|
||
|
||
initialize_comsat
|
||
|
||
make_link "emacs;rmail \021:ej" "emacs;\[rmai\] >"
|
||
|
||
midas "sys1;ts rmail" "emacs1;rmaill"
|
||
|
||
make_link "channa;rakash cnavrl" ".mail.;comsat launch"
|
||
make_link "channa;ts cnavrl" "channa;rakash cnavrl"
|
||
make_link "dragon;hourly cnavrl" ".mail.;comsat launch"
|
||
|
||
midas "sysbin;" "sra; gcmail"
|
||
make_link "dragon; hourly gcmail" "sysbin; gcmail bin"
|
||
make_link "dragon; hourly gcbulk" "sysbin; gcmail bin"
|
||
|
||
midas "sysbin;qmail" "ksc;qmail" { respond "PWORD version (Y or N)? " "N\r" }
|
||
purify qmail "sysbin;" {
|
||
respond "*" "purify\033g"
|
||
respond "QMAIL BIN" "\r"
|
||
}
|
||
|
||
make_link "sys;ts mail" "sysbin;qmail bin"
|
||
make_link "sys;ts qmail" "sysbin;qmail bin"
|
||
make_link "sys;ts qsend" "sysbin;qmail bin"
|
||
make_link "sys1;ts bug" "sysbin;qmail bin"
|
||
make_link "sys;ts m" "sys;ts mail"
|
||
make_link "sys2;ts featur" "sys;ts qmail"
|
||
make_link ".info.;mail info" ".info.;qmail info"
|
||
|
||
# Chaosnet MAILServer
|
||
midas "sysbin;" "sysnet;mails"
|
||
make_link "device; chaos mail" " sysbin; mails bin"
|
||
|
||
# DIGEST
|
||
midas "digest; ts digest" "digest"
|
||
make_link "dragon; hourly digest" " digest; ts digest"
|
||
|
||
# MBXLOC
|
||
midas "digest; ts mbxloc" "mbxloc"
|
||
|
||
# TIME
|
||
midas "sys1;ts time" "sysen2;time"
|
||
|
||
# DATE
|
||
midas "sys1;ts date" "sysen3;date"
|
||
|
||
# SRDATE
|
||
midas "sys3;ts srdate" "sysen3;srdate"
|
||
|
||
# PWMAIL
|
||
midas "sys;ts pwmail" "ksc;qmail" { respond "PWORD version (Y or N)? " "Y\r" }
|
||
|
||
# FIDO
|
||
midas "sys3;ts fido" "ksc;fidox"
|
||
|
||
# STTY
|
||
midas "sys2;ts stty" "archy;stty"
|
||
|
||
# DOWNLD
|
||
midas "sys3;ts downld" "sysen1;downld"
|
||
|
||
# OCTPUS
|
||
midas "sys2;ts octpus" "gren;octpus"
|
||
|
||
# TTYTST
|
||
midas "sys3;ts ttytst" "sysen2;ttytst"
|
||
|
||
# GOTO
|
||
midas "sys3;ts goto" "kmp; goto"
|
||
|
||
# binprt
|
||
midas "sys3;ts binprt" "sysen1;binprt"
|
||
|
||
# bitprt
|
||
midas "sys3;ts bitprt" "sysen2;bitprt"
|
||
|
||
# bday
|
||
midas "sysbin;" "sysen1;bday"
|
||
make_link "dragon;daily bday" "sysbin;bday bin"
|
||
|
||
# sender
|
||
midas "sysbin;sender" "sysen1;sender"
|
||
make_link "sys;ts freply" "sysbin;sender bin"
|
||
make_link "sys;ts send" "sysbin;sender bin"
|
||
make_link "sys2;ts fr" "sysbin;sender bin"
|
||
make_link "sys2;ts reply" "sysbin;sender bin"
|
||
make_link "sys3;ts fs" "sysbin;sender bin"
|
||
make_link "sys1;ts s" "sys;ts send"
|
||
make_link "sys3;ts snd" "sys;ts send"
|
||
make_link "sys3;ts sned" "sys;ts send"
|
||
|
||
# psend
|
||
midas "sys3;ts psend" "sysen2;b"
|
||
|
||
# whosen
|
||
midas "sys2;ts whosen" "syseng;wsent"
|
||
|
||
# sensor
|
||
midas "sys3;ts sensor" "gren;sensor"
|
||
|
||
# NICNAM
|
||
midas "sys2;ts nicnam" "sysen3;nicnam"
|
||
|
||
# NICWHO
|
||
midas "sys2;ts nicwho" "sysen3;nicwho"
|
||
|
||
# reatta
|
||
midas "sys1;ts reatta" "sysen2;reatta"
|
||
|
||
# print
|
||
midas "sys;ts print" "sysen2;print"
|
||
make_link "sys;ts copy" "sys;ts print"
|
||
make_link "sys;ts listf" "sys;ts print"
|
||
|
||
# fdir
|
||
midas "sys2;ts fdir" "syseng;fdir"
|
||
|
||
# timoon
|
||
midas "sys1;ts timoon" "syseng;timoon"
|
||
|
||
# jedgar
|
||
midas "sys2; ts jedgar" "sysen3; jedgar"
|
||
midas "moon; ts jedgar" "moon; jedgar"
|
||
|
||
# failsa
|
||
midas "moon;" "failsa"
|
||
|
||
# ports
|
||
midas "sys2;ts ports" "sysen2;ports"
|
||
|
||
# sysmsg
|
||
midas "sys1;ts sysmsg" "sysen1;sysmsg"
|
||
|
||
# meter
|
||
midas "sys1;ts meter" "syseng;meter"
|
||
make_link "sys1; ts smeter" " sys1; ts meter"
|
||
make_link "sys1; ts meterd" " sys1; ts meter"
|
||
|
||
# cross
|
||
# This is not the microcomputer cross assembler.
|
||
#midas "sys1;ts cross" "syseng;cross"
|
||
|
||
# MACN80
|
||
midas "sys3;ts macn80" "gz;macn80"
|
||
|
||
# dired
|
||
midas "sys;ts dired" "sysen2;dired"
|
||
|
||
# dircpy
|
||
midas "sys3;ts dircpy" "sysen3;dircop"
|
||
|
||
# hsname
|
||
midas "sys2;ts hsname" "sysen1;hsname"
|
||
|
||
# arcsal
|
||
midas "sys1;ts arcsal" "sysen1;arcsal"
|
||
|
||
# acount
|
||
midas "sys;ts acount" "sysen3;acount"
|
||
|
||
# idents
|
||
midas "sysbin;" "sysnet;idents"
|
||
make_link "device;tcp syn161" "sysbin;idents bin"
|
||
|
||
# timsrv
|
||
midas "sysbin;timsrv bin" "sysnet;timsrv"
|
||
make_link "device;tcp syn045" "sysbin;timsrv bin"
|
||
arpanet "rfc045" "sysbin;timsrv bin"
|
||
|
||
# datsrv
|
||
midas "sysbin;" "sysnet;datsrv"
|
||
make_link "device;tcp syn015" "sysbin;datsrv bin"
|
||
|
||
# WEBSER
|
||
respond "*" ":xfile sysnet;make webser\r"
|
||
expect -timeout 300 "*:kill"
|
||
|
||
# mailt
|
||
make_link "sys;ts mailt" "sys2;ts emacs"
|
||
|
||
# rmtdev
|
||
midas "device;atsign rmtdev" "gz;rmtdev"
|
||
|
||
# mmodem
|
||
midas "sys3; ts mmodem" "gz; mmodem"
|
||
|
||
# Compile ADVENT and dump it out with DECUUO.
|
||
cwd "games"
|
||
respond "*" ":dec sys:f40\r"
|
||
respond "*" "advent=advent\r"
|
||
expect "CORE USED"
|
||
respond "*" "\032"
|
||
type ":kill\r"
|
||
loader "advent"
|
||
respond "*" ":start\r"
|
||
respond "*" "\032"
|
||
type ":vk\r"
|
||
decuuo "sys3; ts advent"
|
||
|
||
# 350-point ADVENT
|
||
cwd "games"
|
||
respond "*" ":dec sys:f40\r"
|
||
respond "*" "adv3sr=adv3sr\r"
|
||
respond "*" "adv3sb=adv3sb\r"
|
||
expect "CORE USED"
|
||
respond "*" "\032"
|
||
type ":kill\r"
|
||
loader "adv3sb,adv3sr"
|
||
respond "*" ":start\r"
|
||
respond "*" "adv3db.1"
|
||
respond "*" "\032"
|
||
type ":vk\r"
|
||
decuuo "games; ts adv350"
|
||
|
||
# 448-point ADVENT
|
||
cwd "games"
|
||
respond "*" ":dec sys:f40\r"
|
||
respond "*" "adv4ma=adv4ma\r"
|
||
respond "*" "adv4su=adv4su\r"
|
||
expect "CORE USED"
|
||
respond "*" "\032"
|
||
type ":kill\r"
|
||
loader "adv4ma,adv4su"
|
||
respond "*" ":start\r"
|
||
respond "*" "adv4db.2"
|
||
respond "Are you a wizard?" "\032"
|
||
type ":vk\r"
|
||
decuuo "games; ts adv448"
|
||
|
||
# TREK
|
||
cwd "games"
|
||
respond "*" ":dec sys:f40\r"
|
||
respond "*" "trek=trek\r"
|
||
expect "CORE USED"
|
||
respond "*" "\032"
|
||
type ":kill\r"
|
||
loader "trek"
|
||
decuuo "games; ts trek"
|
||
|
||
# Tech II chess: timesharing, using TV display
|
||
midas "games;ts chess2" "rg;chess2"
|
||
|
||
# Unknown chess
|
||
midas "games;ts chess" "as;chess"
|
||
|
||
# MacHack VI chess: timesharing, using TV display, no CHEOPS processor.
|
||
midast "games;ts ocm" "chprog;ocm" { respond "with ^C" "CHEOPS==0\r\003" }
|
||
|
||
# MacHack VI: timesharing, using 340 display.
|
||
midas "games;ts c" "rg;c"
|
||
|
||
# CKR
|
||
midas "games;ts ckr" "agb;ckr"
|
||
|
||
# Dazzle Dart, video game for the Logo group PDP-11/45
|
||
palx "bs;" "dazzle"
|
||
|
||
# TOSBLK, convert from PALX binary to SBLK.
|
||
midas "pdp11;ts tosblk" "tosblk"
|
||
|
||
# PI
|
||
midas "sys3;ts pi" "rwg; ran"
|
||
|
||
# Hunt the Wumpus
|
||
midas "sys1;ts wumpus" "games; wumpus"
|
||
|
||
# Jotto
|
||
cwd "games"
|
||
midas "games;" "jotto"
|
||
purify jotto "jotto bin" {
|
||
# Run initialisation code to open the TTY channels.
|
||
respond "*" "erase0\033bbeg\033g"
|
||
# Load dictionary from disk instead of DECtape.
|
||
respond "ERASE0>>" "\024ut1:*;* *, dsk:games;* *\r"
|
||
# Run the dictionary loader.
|
||
respond "*" "beg7\033g"
|
||
respond "utape drive for dictionary?" "1"
|
||
respond "file name?" "JOTTO DICT\r"
|
||
# Dump out TS JOTTO including the dictionary.
|
||
respond "words" ":pdump sys1;ts jotto\r"
|
||
}
|
||
|
||
# ngame
|
||
midas "games;ts game" "ejs;ngame" {
|
||
respond "Star Trek: " "ts,trek,games\r"
|
||
respond "Adventure (2): " "ts,adv448,games\r"
|
||
respond "Adventure (1.5): " "ts,adv350,games\r"
|
||
}
|
||
make_link "sys3;ts game" "games;ts game"
|
||
make_link "info;o.info" "_info_;"
|
||
|
||
# guess
|
||
midas "games;ts guess" "games;guess"
|
||
|
||
# ten50
|
||
midas "sys3;ts ten50" "mrc; ten50"
|
||
|
||
# who%
|
||
midas "sys1;ts who%" "sysen3;who%"
|
||
make_link "sys1;ts %" "sys1;ts who%"
|
||
|
||
# MACRO-10
|
||
cwd "decsys"
|
||
respond "*" ":dec sys:macro\r"
|
||
respond "*" "macro=macro\r"
|
||
expect "CORE USED"
|
||
respond "*" "\003"
|
||
respond "*" ":kill\r"
|
||
linker "macro"
|
||
decuuo "sys2; ts macro"
|
||
respond "*" ":delete decsys; macro shr\r"
|
||
# Assemble with itself, now no errors
|
||
macro10 "macro" "macro"
|
||
linker "macro"
|
||
decuuo "sys2; ts macro"
|
||
|
||
# MACSYM and MONSYM universal files.
|
||
cwd "decsys"
|
||
macro10 "macsym.unv" "macsym.mac"
|
||
macro10 "monsym.unv" "monsym.mac"
|
||
|
||
# MACTEN and UUOSYM universal files.
|
||
macro10 "macten.unv" "macten.mac"
|
||
macro10 "uuosym.unv" "uuosym.mac"
|
||
|
||
# CROSS, assembler
|
||
macro10 "cross" "cross"
|
||
loader "cross"
|
||
decuuo "sys1; ts cross"
|
||
|
||
# Old PALX
|
||
midas "11logo;ts palx" "rms;palx 143"
|
||
|
||
# Phil Budne's PALX Game of Life.
|
||
cwd "budd"
|
||
palx "budd;" "live palx"
|
||
|
||
# MACN11, pdp-11 cross assembler
|
||
cwd "decsys"
|
||
macro10 "macn11" "macn11.hdr,macn11.mac"
|
||
loader "macn11"
|
||
decuuo "sys3; ts macn11"
|
||
|
||
# Cookie Bear
|
||
midas "gls; ts check" "gls; check" {
|
||
respond "DEBUGP==" "0\r"
|
||
respond "ITEM:" "COOKIE\r"
|
||
respond "SUBJECT:" "COOKIE\r"
|
||
respond "NAME:" "BEAR\r"
|
||
}
|
||
|
||
# Cookie Bear (this one actually works)
|
||
midas "eak;ts bear" "eak;bear"
|
||
|
||
# LOGOUT TIMES cleanup program.
|
||
midas "sys3;ts lotcln" "sysen1; lotcln"
|
||
|
||
# itsdev
|
||
midas "device;chaos itsdev" "bawden;itsdev"
|
||
make_link "device; tcp syn723" " device; chaos itsdev"
|
||
|
||
# charfc/charfs
|
||
midas "sys1;ts charfc" "sysen3;charfc"
|
||
make_link "sys1;ts charfs" "sys1;ts charfc"
|
||
|
||
# file
|
||
midas "sysbin;" "syseng;file"
|
||
purify file "sysbin;" {
|
||
respond "*" "purify\033g"
|
||
respond "CHAOS FILE" "\r"
|
||
}
|
||
|
||
# filei, fileo
|
||
midas "device;chaos filei" "eak;file"
|
||
make_link "device;chaos fileo" "device;chaos filei"
|
||
|
||
# ifile
|
||
midas "device;chaos ifile" "syseng;ifile"
|
||
|
||
# NFILE
|
||
midas "alan;" "bawden;nfile"
|
||
purify nfile "alan;nfile bin" {
|
||
respond "*" "purify\033g"
|
||
respond "CHAOS NFILE" "\r"
|
||
}
|
||
|
||
# 11sim
|
||
midas "sys;ts pdp45" "syseng;11sim"
|
||
midast "sys1;ts pdp11" "syseng;11sim" {
|
||
respond "end input with ^C" "45p==0\r"
|
||
respond "\n" "\003"
|
||
}
|
||
|
||
# times
|
||
midas "sysbin;times bin" "sysnet;times"
|
||
make_link "sys1;ts ctimes" "sysbin;times bin"
|
||
make_link "sys1;ts times" "sysbin;times bin"
|
||
|
||
# idle
|
||
midas "sys1;ts idle" "gren;idle"
|
||
|
||
# spell
|
||
midas "sys1;ts spell" "syseng;spell"
|
||
make_link "sys1;ts espell" "sys1;ts spell"
|
||
|
||
# jobs
|
||
midas "sys2;ts jobs" "sysen1;jobs"
|
||
|
||
# hsndev
|
||
midas "device;jobdev hsname" "sysen1;hsndev"
|
||
make_link "device;jobdev hs" "device;jobdev hsname"
|
||
make_link "device;jobdev hf" "device;jobdev hsname"
|
||
|
||
# gunner
|
||
midas "device; jobdev shoe" "rwk; gunner"
|
||
|
||
# Trivial Gunner
|
||
# Make a link from e.g. DRAGON; HOURLY GUNNER to use this program.
|
||
# It will log its actions to SPACY; GUNNER LOG.
|
||
midas "cstacy;" "gunner"
|
||
|
||
# pr
|
||
midas "sys1;ts pr" "sysen1;pr"
|
||
make_link "sys1;ts call" "sys1;ts pr"
|
||
make_link "sys1;ts .call" "sys1;ts pr"
|
||
make_link "sys1;ts uuo" "sys1;ts pr"
|
||
make_link "sys1;ts uset" "sys1;ts pr"
|
||
make_link "sys1;ts suset" "sys1;ts pr"
|
||
make_link "sys1;ts doc" "sys1;ts pr"
|
||
make_link "sys1;ts intrup" "sys1;ts pr"
|
||
make_link "sys1;ts ttyvar" "sys1;ts pr"
|
||
make_link "sys1;ts prim" "sys1;ts pr"
|
||
|
||
make_link ".info.;its .calls" "sysdoc;.calls >"
|
||
make_link ".info.;its uuos" "sysdoc;uuos >"
|
||
make_link ".info.;its usets" "sysdoc;usets >"
|
||
make_link ".info.;its %pi" "sysdoc;%pi >"
|
||
make_link ".info.;its ttyvar" "sysdoc;ttyvar >"
|
||
|
||
# inline
|
||
midas "sys2;ts inline" "sysen1;inline"
|
||
|
||
# init
|
||
midas "sys3;ts init" "sysen2;init"
|
||
|
||
# scandl
|
||
midas "sys3;ts scandl" "sysen1;scandl"
|
||
|
||
# os
|
||
midas "sys1;ts os" "sysen2;os"
|
||
|
||
# sn
|
||
midas "sys2;ts sn" "sysen3;sn"
|
||
|
||
# ttyswp
|
||
midas "sys;ts ttyswp" "sysen3;ttyswp"
|
||
|
||
# argus
|
||
midas "sys2;ts argus" "sysen2;argus"
|
||
|
||
# fretty
|
||
midas "sys3;ts fretty" "sysen2;fretty"
|
||
|
||
# bye
|
||
midas "sys1;ts bye" "sysen1;bye"
|
||
make_link "device;chaos bye" "sys1;ts bye"
|
||
|
||
# yow server
|
||
midas "sys3;ts yow" "maeda; yow"
|
||
make_link "device;chaos yow" " sys3; ts yow"
|
||
|
||
# yow client
|
||
midas "sysnet;ts yow" "sysen2; yow"
|
||
|
||
# @
|
||
midas "sysbin;" "sysen1;@"
|
||
purify "atsign" "sysbin;@ bin" {
|
||
respond "*" "purify\033g"
|
||
respond "TS @" "\r"
|
||
}
|
||
|
||
omidas "dsk0:.;@ pt" "syseng;pt"
|
||
|
||
# PTY
|
||
midas "sys1;ts pty" "sysen1;pty"
|
||
|
||
# PRUFD
|
||
midas "sys1;ts prufd" "sysen2;prufd"
|
||
|
||
# udir
|
||
midas "sys3;ts nudir" "sysen3; nudir"
|
||
|
||
# STY
|
||
midas "sys1;ts sty" "sysen2;sty"
|
||
|
||
# luser
|
||
midas "sysbin;luser bin" "syseng;luser"
|
||
make_link "sys1;ts luser" "sysbin;luser bin"
|
||
|
||
# ARCCPY
|
||
midas "sys2;ts arccpy" "sysen2;arccpy"
|
||
|
||
# CALPRT
|
||
midas "sys2;ts calprt" "sysen2;calprt"
|
||
|
||
# HOSTAB
|
||
midas "sys2;ts hostab" "sysen1;hostab"
|
||
|
||
# HOSTAT
|
||
midas "sys2;ts hostat" "sysen2;hostat"
|
||
|
||
# PROBE
|
||
make_link "syseng;its defs" "sys;itsdfs >"
|
||
midas "sysbin;probe bin" "bawden;probe"
|
||
# note: setting debug to 0 and running causes it to pdump itself to
|
||
# sys;ts probe
|
||
purify probe "sysbin;probe bin" {
|
||
respond "*" "debug/0\r"
|
||
type "\033g"
|
||
}
|
||
make_link "sys;ts pb" "sys;ts probe"
|
||
|
||
# TTY
|
||
midas "sys1;ts tty" "sysen1;tty"
|
||
|
||
# TTYLINK, just a stub.
|
||
midas "sysbin;ttylin bin" "bawden; u"
|
||
make_link "device; chaos ttylin" " sysbin; ttylin bin"
|
||
|
||
# IPLJOB
|
||
midas "sys;atsign ipl" "sysen2; ipljob"
|
||
|
||
# RIPDEV
|
||
midas "device;atsign r.i.p." "sysen2;ripdev"
|
||
|
||
# GMSGS
|
||
midas "sys2;ts gmsgs" "sysen1;gmsgs"
|
||
make_link "sys2;ts expire" " sys2;ts gmsgs"
|
||
make_link "dragon;daily expire" "sys2;ts gmsgs"
|
||
make_link "device;chaos gmsgs" "sys2;ts gmsgs"
|
||
|
||
# X, Y, Z
|
||
midas "sys1;ts x" "sysen2;x"
|
||
make_link "sys1;ts y" "sys1;ts x"
|
||
make_link "sys1;ts z" "sys1;ts x"
|
||
|
||
# LOADP
|
||
midas "sys2;ts loadp" "sysen1;loadp"
|
||
|
||
# ACCLNK
|
||
midas "sys2;ts acclnk" "sysen2;acclnk"
|
||
|
||
# MSPLIT
|
||
midas "sys2;ts msplit" "sysen2;msplit"
|
||
|
||
# CHATST
|
||
midas "sys2;ts chatst" "sysen3;chatst"
|
||
|
||
# CHASTA
|
||
midas "sys3;ts chasta" "chsgtv;chasta"
|
||
|
||
# CHATAB
|
||
midas "sys3;ts chatab" "sysen1;chatab"
|
||
|
||
# STYLOG
|
||
midas "sys2;ts stylog" "sysen1;stylog"
|
||
|
||
# COMIFY
|
||
midas "sys2;ts comify" "sysen3;comify"
|
||
|
||
# CRC
|
||
midas "sys3;ts crc" "gren; crc"
|
||
|
||
# TMPKIL
|
||
midas "sys2;ts tmpkil" "syseng;tmpkil"
|
||
make_link "dragon;hourly tmpkil" "sys2;ts tmpkil"
|
||
|
||
# WHAT
|
||
midas "sys2;ts what" "syseng;what"
|
||
|
||
# Build KCC support programs: EXECVT, GETSYM, and 20XCSV.
|
||
midas "sys2;ts execvt" "sysen3;execvt"
|
||
midas "kcc;ts getsym" "getsym"
|
||
midas "kcc;ts 20xcsv" "20xcsv"
|
||
|
||
# Run GETSYM to get all monitor symbols.
|
||
cwd "kcc"
|
||
respond "*" ":getsym\r"
|
||
expect ":KILL"
|
||
|
||
# UP
|
||
midas "sys1;ts up" "sysen1;up"
|
||
make_link "sys1;ts down" " sys1;ts up"
|
||
|
||
# UPTIME
|
||
midas "sysbin;uptime bin" "sysen1;uptime"
|
||
make_link "device;chaos uptime" "sysbin;uptime bin"
|
||
|
||
# SHUTDN
|
||
midas "sys3;ts shutdn" "bawden;shutdn"
|
||
|
||
# HEXIFY
|
||
midas "sys2;ts hexify" "sysen3;hexify"
|
||
|
||
# PHOTO
|
||
midas "sys2;ts photo" "sysen2;photo"
|
||
|
||
# TYPE8
|
||
midas "sys;ts type8" "sysen3;type8"
|
||
|
||
# USQ
|
||
midas "sys2;ts usq" "sysen3;usq"
|
||
make_link "sys2;ts typesq" "sys2;ts usq"
|
||
|
||
# SCRAM
|
||
midas "sys2;ts scram" "rwk;scram"
|
||
|
||
# HOST
|
||
midas "sys3;ts host" "sysnet;host"
|
||
|
||
# EXPN/VRFY
|
||
midas "sys3;ts expn" "sysnet;expn"
|
||
make_link "sys3;ts vrfy" "sys3;ts expn"
|
||
|
||
# MUSCOM
|
||
midas "sysbin;" "syseng; muscom"
|
||
make_link "sys1;ts muscom" " sysbin; muscom bin"
|
||
|
||
# BIG
|
||
oomidas 77 "SYSBIN;" "SYSENG; BIG"
|
||
oomidas 77 "SYSBIN;" "PRS; SUDSUD"
|
||
oomidas 77 "SYSBIN;" "PRS; PLOT"
|
||
oomidas 77 "SYSBIN;" "PRS; FIGS"
|
||
oomidas 77 "SYSBIN;" "PRS; SMOLDM"
|
||
respond "*" ":stink\r"
|
||
respond "\n" "msysbin;sudsud\033l\033\033"
|
||
respond "\n" "mbig\033l\033\033"
|
||
respond "\n" "mfigs\033l\033\033"
|
||
respond "\n" "mplot\033l\033\033"
|
||
respond "\n" "msmoldm\033l\033\033"
|
||
respond "\n" "jbig\033?d\033\033"
|
||
respond "\n" "\033y"
|
||
respond " " "sys1; ts big\r"
|
||
respond "*" ":kill\r"
|
||
|
||
respond "*" ":muscom\r"
|
||
respond "MUSCOM" "PDP10;MUSIC GRYMG_DECUS;GRYMG MUS\r"
|
||
expect "$^X."
|
||
respond "*" ":muscom\r"
|
||
respond "MUSCOM" "PDP10;MUSIC HDN_DECUS;HDN MUS\r"
|
||
expect "$^X."
|
||
respond "*" ":muscom\r"
|
||
respond "MUSCOM" "PDP10;MUSIC JSBI13_DECUS;JSBI13 MUS\r"
|
||
expect "$^X."
|
||
respond "*" ":muscom\r"
|
||
respond "MUSCOM" "PDP10;MUSIC JSBI1_DECUS;JSBI1 MUS\r"
|
||
expect "$^X."
|
||
respond "*" ":muscom\r"
|
||
respond "MUSCOM" "PDP10;MUSIC MIDNIT_DECUS;MIDNIT MUS\r"
|
||
expect "$^X."
|
||
respond "*" ":muscom\r"
|
||
respond "MUSCOM" "PDP10;MUSIC OLITTL_DECUS;OLITTL MUS\r"
|
||
expect "$^X."
|
||
respond "*" ":muscom\r"
|
||
respond "MUSCOM" "PDP10;MUSIC PAPER_DECUS;PAPER MUS\r"
|
||
expect "$^X."
|
||
respond "*" ":muscom\r"
|
||
respond "MUSCOM" "PDP10;MUSIC SILVER_DECUS;SILVER MUS\r"
|
||
expect "$^X."
|
||
respond "*" ":muscom\r"
|
||
respond "MUSCOM" "PDP10;MUSIC WINCH_DECUS;WINCH MUS\r"
|
||
expect "$^X."
|
||
|
||
# WHOLIN
|
||
midas "sys2;ts wholin" "sysen2;wholin"
|
||
|
||
# LINE
|
||
midas "sys2;ts line" "rab;line"
|
||
|
||
# WHOIML
|
||
midas "sysbin;" "sysen1; whoiml" {
|
||
respond "FILE:" "whoiml\r"
|
||
respond "FILE:" "sys2\r"
|
||
}
|
||
purify whoiml "sysbin; whoiml bin" {
|
||
respond "*" "start1\033b\033g"
|
||
expect ">>"
|
||
respond " " ":vk\r"
|
||
}
|
||
|
||
# VTTIME
|
||
midas "sys1;ts vttime" "rvb;vttime"
|
||
|
||
# APLCLK
|
||
midas "sys3;ts aplclk" "music1; vtclk"
|
||
|
||
# DEVICE; CHAOS TIME
|
||
midas "device;chaos time" "syseng;ctimsr"
|
||
|
||
# DEVICE; CHAOS SEND
|
||
midas "sysbin;" "sysnet;senver"
|
||
make_link "device;chaos send" "sysbin;senver bin"
|
||
|
||
# Alternate DEVICE; CHAOS SEND
|
||
midas "sysbin;" "sysnet;sends"
|
||
#make_link "device;chaos send" "sysbin;senver bin"
|
||
|
||
# Chaosnet BABEL service.
|
||
midas "sysbin; babel" "dcp2; babel"
|
||
make_link "device;chaos babel" "sysbin; babel bin"
|
||
|
||
# Chaosnet HOSTAB service.
|
||
midas "sysbin;" "eak; chahtb"
|
||
make_link "device; chaos hostab" " sysbin; chahtb bin"
|
||
arpanet "rfc121" "sysbin; chahtb bin"
|
||
|
||
# Chaosnet 11LOAD service for booting MINITS.
|
||
midas "device; chaos 11load" "minits; 11load"
|
||
|
||
# OBS
|
||
midas "sys;ts obs" "bawden;obs"
|
||
|
||
# FED
|
||
midas "sys;ts fed" "sysen2;fed"
|
||
|
||
# XHOST
|
||
midas "sys2;ts xhost" "sysen3;xhost"
|
||
|
||
# FACTOR
|
||
midas "sys1;ts factor" "rz;factor"
|
||
|
||
# balanc
|
||
midas "sys3;ts balanc" "alan;balanc"
|
||
make_link "sys3;ts movdir" "sys3;ts balanc"
|
||
|
||
# scrmbl and unscr
|
||
midas "sys3;ts scrmbl" "ejs;scrmbl"
|
||
make_link "sys3;ts unscr" "sys3;ts scrmbl"
|
||
|
||
# ZOTZ
|
||
midas "ksc; ts zotz" "zotz"
|
||
|
||
respond "*" ":job maint\r"
|
||
# KA10 needs the .OLD files. KL10 and KS10 the newer.
|
||
translate_diagnostics
|
||
respond "*" ":load maint; part a\r"
|
||
respond "*" ":start\r"
|
||
respond "PARt a" "\032"
|
||
expect -re {>>|\)}
|
||
type ":kill\r"
|
||
|
||
# Test one-proceed.
|
||
midas "maint;ts 1proc" "1proc test"
|
||
respond "*" ":maint;1proc\r"
|
||
expect "SUCCESSFUL"
|
||
expect ":KILL"
|
||
|
||
# XXFILE
|
||
midas "sysbin;xxfile bin" "sysen1;xxfile"
|
||
purify xxfile "sysbin;xxfile bin" {
|
||
respond "*" "ttyop1\033b\033g"
|
||
expect ":PDUMP SYS2;TS XXFILE"
|
||
expect ">>"
|
||
respond " " ":vk\r"
|
||
}
|
||
|
||
# MSEND
|
||
midas "sysbin;" "sysen2;msend"
|
||
purify msend "sysbin;msend bin" {
|
||
respond "*" "ttyopn\033b\033g"
|
||
expect ">>"
|
||
respond " " ":vk\r"
|
||
}
|
||
|
||
# IMLOAD and IMTRAN
|
||
midas "sys1; ts imload" "syseng; imload"
|
||
make_link "sys1; ts imtran" " sys1; ts imload"
|
||
|
||
# UNTRAN
|
||
midas "imlac; ts untran" "untran"
|
||
|
||
# IMPRNT
|
||
midas "sys1; ts imprnt" "syseng; imprnt"
|
||
make_link "sys1; ts imprin" " sys1; ts imprnt"
|
||
make_link "sys1; ts ardprn" " sys1; ts imprnt"
|
||
make_link "sys1; ts tekprn" " sys1; ts imprnt"
|
||
|
||
# IMGOUT
|
||
midas "sys3; ts imgout" "cbf; imgout"
|
||
|
||
# LINES
|
||
midas "bkph; ts lines" "lines"
|
||
|
||
# Random TV experiments.
|
||
midas "bkph; ts bull" "bull"
|
||
midas "bkph; ts grade" "grade"
|
||
midas "bkph; ts circle" "loops circle"
|
||
midas "bkph; ts randy" "randy"
|
||
|
||
# BLKLDR, Imlac secondary block loader.
|
||
midas "sysbin;" "imsrc; blkldr"
|
||
# IMTRAN will put the file IMLAC; IMLAC BLKLDR first in its output.
|
||
# The BLKLDR file should say !blk ldr! on the first line.
|
||
respond "*" ":create imlac; imlac blkldr\r"
|
||
respond "help." "!blk ldr!\r\003"
|
||
respond "*" "imtran\033\013"
|
||
# The IMTRAN output is in block loader format, but the block loader
|
||
# itself is in the special TTY bootstrap format. Patch IMTRAN to not
|
||
# write flat data without blocks.
|
||
respond "@" "\032"
|
||
type "smalup+5/"
|
||
respond "EMIT2" "jfcl\r"
|
||
type "smalup+11/"
|
||
respond "EMIT4" "jfcl\r"
|
||
type "datlup+4/"
|
||
respond "EMIT4" "jfcl\r"
|
||
type "prgend/"
|
||
type "jrst prgen1+4\r"
|
||
type "\033p"
|
||
type "imlac; imlac blkldr_sysbin; blkldr bin\r"
|
||
respond "@" "\021"
|
||
expect ":KILL"
|
||
|
||
# SSV 22, Imlac scroll saver
|
||
omidas "sysbin;" "imsrc; ssv22"
|
||
respond "*" ":imtran\r"
|
||
respond "@" "imlac; ssv22 iml_sysbin; ssv22 bin\r"
|
||
respond "@" "\021"
|
||
expect ":KILL"
|
||
make_link "imlac; .prgm. normal" " imlac; ssv22 iml"
|
||
|
||
# Assemble SSV4.
|
||
midas "imlac; ts assv4" "assv4"
|
||
|
||
# SSV4, SSV for PDS-4.
|
||
respond "*" ":imlac;assv4\r"
|
||
respond "NUMBER" ">"
|
||
expect ":KILL"
|
||
respond "*" ":imtran\r"
|
||
respond "@" "imlac; ssv4 iml_imlac; ssv4b >\r"
|
||
respond "@" "\021"
|
||
|
||
# Maze War
|
||
midast "sysbin;" "imsrc; maze" {
|
||
respond "with ^C" "MOUSE==1\r\003"
|
||
respond "with ^C" "MOUSE==1\r\003"
|
||
}
|
||
respond "*" ":imtran\r"
|
||
respond "@" "imlac; m iml_sysbin; maze bin\r"
|
||
respond "@" "\021"
|
||
|
||
midas "sysbin;" "klh; mazser" {
|
||
respond "NPTCL=" "1\r"
|
||
respond "DEBUG=" "1\r"
|
||
respond "STATS=" "1\r"
|
||
}
|
||
purify maze "sysbin; mazser bin" {
|
||
respond "*" ":start init\r"
|
||
respond "M IML" "\r"
|
||
respond ":PDUMP" "games; ts maze\r"
|
||
}
|
||
|
||
# SWAR
|
||
midas "imlac;" "imsrc; swar" {
|
||
respond "INFINITE FUEL AND BULLETS VERSION?" "N\r"
|
||
}
|
||
respond "*" ":imtran\r"
|
||
respond "@" "imlac; swar iml_imlac; swar bin\r"
|
||
respond "@" "\021"
|
||
|
||
# PONG
|
||
midas "imlac;" "imsrc; pong"
|
||
respond "*" ":imtran\r"
|
||
respond "@" "imlac; pong iml_imlac; pong bin\r"
|
||
respond "@" "\021"
|
||
|
||
# CRASH, PDS-4 version
|
||
midas "imlac;" "imsrc; crash"
|
||
respond "*" ":imtran\r"
|
||
respond "@" "imlac; crash4 iml_imlac; crash bin\r"
|
||
respond "@" "\021"
|
||
# PDS-1 version
|
||
midast "imlac;" "imsrc; crash" {
|
||
respond "with ^C" "PDS4==0\r\003"
|
||
respond "with ^C" "PDS4==0\r\003"
|
||
}
|
||
respond "*" ":imtran\r"
|
||
respond "@" "imlac; crash iml_imlac; crash bin\r"
|
||
respond "@" "\021"
|
||
|
||
# The old CLIB has a UFA instruction which doesn't work on a KS10.
|
||
# Patch out the call to FIXIFY.
|
||
purify cc "c; ts cc" {
|
||
respond "*" "55107/"
|
||
respond "FIXIFY" "jfcl\r"
|
||
respond "UNPURE" ":corblk pure,55107\r"
|
||
respond "*" ":pdump c; ts cc\r"
|
||
}
|
||
|
||
# CLIB
|
||
cwd "clib"
|
||
midas "clib;" "c10cor cmid"
|
||
midas "clib;" "c10fo cmid"
|
||
midas "clib;" "c10int cmid"
|
||
midas "clib;" "c10mio cmid"
|
||
midas "clib;" "c10sys cmid"
|
||
midas "clib;" "alloc cmid"
|
||
midas "clib;" "blt cmid"
|
||
midast "clib;" "cfloat cmid" clib_switches
|
||
midas "clib;" "random cmid"
|
||
midas "clib;" "string cmid"
|
||
midas "clib;" "uuoh cmid"
|
||
midast "clib;" "c10run cmid" clib_switches
|
||
respond "*" ":cc c10exp.c\r"
|
||
respond "*" ":cc c10fd.c\r"
|
||
respond "*" ":cc c10fil.c\r"
|
||
respond "*" ":cc c10fnm.c\r"
|
||
respond "*" ":cc c10io.c\r"
|
||
respond "*" ":cc c10map.c\r"
|
||
respond "*" ":cc c10pag.c\r"
|
||
# C10SFD is obsolete, but used by R.
|
||
respond "*" ":cc c10sfd.c\r"
|
||
respond "*" ":cc c10tty.c\r"
|
||
respond "*" ":cc ac.c\r"
|
||
respond "*" ":cc apfnam.c\r"
|
||
respond "*" ":cc atoi.c\r"
|
||
respond "*" ":cc cprint.c\r"
|
||
respond "*" ":cc date.c\r"
|
||
respond "*" ":cc fprint.c\r"
|
||
respond "*" ":cc match.c\r"
|
||
respond "*" ":cc pr60th.c\r"
|
||
respond "*" ":cc stkdmp.c\r"
|
||
# Expect ZMAIN to be undefined, and three symbols in DATE.
|
||
respond "*" ":stinkr mkclib\r"
|
||
respond "*" ":cc maklib.c\r"
|
||
respond "*" ":cc c10job.c\r"
|
||
respond "*" ":stinkr maklib\r"
|
||
respond "*" ":maklib\r"
|
||
expect ":MIDAS"
|
||
expect ":KILL"
|
||
respond "*" ":delete c; \[crel\] 16\r"
|
||
|
||
# CC
|
||
cwd "c"
|
||
respond "*" ":copy ts cc, ts occ\r"
|
||
respond "*" ":cc cc.>\r"
|
||
expect ":KILL"
|
||
respond "*" ":cc c5.c\r"
|
||
expect ":KILL"
|
||
respond "*" ":cc c93.c\r"
|
||
expect ":KILL"
|
||
respond "*" ":cc clib/c10exc.c\r"
|
||
expect ":KILL"
|
||
respond "*" ":stinkr cc\r"
|
||
expect ":KILL"
|
||
|
||
# GT
|
||
respond "*" ":c;occ g0.c g1.c g2.c g3.c g4.c g5.c c25.c\r"
|
||
expect ":KILL"
|
||
respond "*" ":stinkr gt\r"
|
||
|
||
# Update compiler files with information from machine description.
|
||
respond "*" ":gt pdp10.gt\r"
|
||
respond "*" ":teco\r"
|
||
# Load macro file and store it in q-register x.
|
||
respond "&" "ERinstll teco\033 @Y HXx\033\033"
|
||
# Load output file, and call the macro in x.
|
||
respond "&" "ERpdp10 gtout\033 @Y Mx\033\033"
|
||
respond "&" "\003"
|
||
respond "*" ":kill\r"
|
||
|
||
# Run Yacc to generate parser.
|
||
respond "*" ":c;yacc c/c.grammr\r"
|
||
expect ":KILL"
|
||
respond "*" ":teco\r"
|
||
respond "&" "ERyinstl teco\033 @Y HXx Mx\033\033"
|
||
respond "&" "\003"
|
||
respond "*" ":kill\r"
|
||
|
||
# C compiler, parser.
|
||
respond "*" ":c;occ c1.c c21.c c22.c c23.c c24.c c25.c c26.c\r"
|
||
expect ":KILL"
|
||
respond "*" ":c;occ c91.c c95.c\r"
|
||
expect ":KILL"
|
||
respond "*" ":stinkr lp\r"
|
||
expect ":KILL"
|
||
respond "*" ":delete c; ts occ\r"
|
||
|
||
# C compiler, code generator.
|
||
respond "*" ":cc c31.c c32.c c33.c c34.c c35.c\r"
|
||
expect ":KILL"
|
||
respond "*" ":cc c95.c\r"
|
||
expect ":KILL"
|
||
respond "*" ":stinkr c\r"
|
||
expect ":KILL"
|
||
|
||
# C compiler, macro expander.
|
||
respond "*" ":cc c41.c c42.c c43.c\r"
|
||
expect ":KILL"
|
||
respond "*" ":stinkr m\r"
|
||
expect ":KILL"
|
||
|
||
# Test C compiler.
|
||
respond "*" ":cc testc.c\r"
|
||
expect ":KILL"
|
||
respond "*" ":stinkr testc\r"
|
||
expect ":KILL"
|
||
respond "*" ":testc\r"
|
||
expect "Done."
|
||
|
||
# Revert patch to [CLIB] 16 to avoid use of the FIX instruction on a KA10.
|
||
patch_clib_16
|
||
|
||
# C library for drawing on a TV display.
|
||
cwd "clib"
|
||
respond "*" ":cc tv.>\r"
|
||
expect ":KILL"
|
||
|
||
# TJ6
|
||
midas "sysbin;" "tj6;tj6"
|
||
purify tj6 "sysbin; tj6 bin" {
|
||
respond "*" "purify\033g"
|
||
respond "DSK: SYS; TS NTJ6" "\r"
|
||
}
|
||
make_link "sys; ts tj6" " sys; ts ntj6"
|
||
|
||
# Old TJ6.
|
||
midas "sys2; ts otj6" "tj6; otj6"
|
||
|
||
# Alan Snyder's R typesetting language.
|
||
cwd "r"
|
||
respond "*" ":cc rcntrl rdev rexpr rfile rfonts richar ridn rin rin1 rin2\r"
|
||
respond "*" ":cc rits rline rlpt rmain rmisc rout rreadr rreg rreq1 rreq2\r"
|
||
respond "*" ":cc rreq3 rtext rtoken rtrap rvaria rxgp\r"
|
||
respond "*" ":stinkr r\r"
|
||
make_link "sys3; ts r" " r; ts r30"
|
||
# sys2; ts rr -> r; ts rr
|
||
# .info.; r info -> r; r info
|
||
# .info.; r recent -> r; r recent
|
||
# r; r macros -> r; r30 rmac
|
||
# r; rmacro 1 -> r; r macros
|
||
# sys3; ts itype -> r; ts itype
|
||
|
||
# Binary patch Lisp image to work on ITS not named AI, ML, MC, or DM.
|
||
# This is for Bolio.
|
||
purify purqio "sys; purqio 2138" {
|
||
respond "*" "udirset+20/"
|
||
# Cross fingers, nop out valret, hope for best!
|
||
respond ".VALUE" "JFCL\r"
|
||
respond "UNPURE" ":corblk pure .\r"
|
||
respond "*" ":pdump sys; purqio 2138\r"
|
||
}
|
||
|
||
proc build_c_program {input output {libs {}}} {
|
||
respond "*" ":cc $input\r"
|
||
expect ":KILL"
|
||
respond "*" ":stinkr\r"
|
||
respond "=" "x c/clib\r"
|
||
foreach lib $libs {
|
||
respond "=" "l $lib\r"
|
||
}
|
||
respond "=" "l $input.stk\r"
|
||
respond "=" "o $output\r"
|
||
# Use the ^_ octal-input feature of ITS to send \0. The space
|
||
# ends the octal digits without ITS passing it through to the
|
||
# program. Using octal input works around Mac OS X and BSD which
|
||
# require literal \0s to be doubled.
|
||
respond "=" "\0370 "
|
||
expect ":KILL"
|
||
}
|
||
|
||
# OINIT
|
||
cwd "c"
|
||
build_c_program "sysen2/oinit" "sys3/ts.oinit"
|
||
|
||
# RALP
|
||
build_c_program "cprog/ralp" "sys2/ts.ralp"
|
||
|
||
build_c_program "cprog/shell" "sys2/ts.shell" {clib/c10job.stk}
|
||
|
||
build_c_program "cprog/search" "sys2/ts.search"
|
||
|
||
build_c_program "cprog/ipak" "sys2/ts.ipak"
|
||
|
||
build_c_program "cprog/rstat" "cprog/ts.rstat"
|
||
|
||
# Versatec spooler
|
||
# This has some harmless unresolved symbols (FOO, XE4).
|
||
midas "sys3;ts versa" "dcp; versa"
|
||
# make_link "channa; rakash v80spl" "sys3; ts versa"
|
||
|
||
# SCAN
|
||
midas "sysbin;" "sysen1; scan"
|
||
purify scan "sysbin; scan bin" {
|
||
respond "*" "purify\033g"
|
||
respond "*" ":pdump sys3; ts scan\r"
|
||
}
|
||
|
||
# DDT subroutines
|
||
midas "sys3;ts cmd" "dcp; cmd"
|
||
|
||
# XGP and GLP
|
||
midas "sysbin;xgp bin" "sysen2;xqueue"
|
||
purify xgp "sysbin;xgp bin" {
|
||
respond "*" "debug/0\r"
|
||
type ":pdump sys;ts xgp\r"
|
||
}
|
||
midast "sysbin;glp bin" "sysen2;xqueue" { respond "with ^C" "GLP==1\r\003" }
|
||
purify glp "sysbin;glp bin" {
|
||
respond "*" "debug/0\r"
|
||
type ":pdump sys2;ts glp\r"
|
||
}
|
||
|
||
# XGPDEV and GLPDEV
|
||
midas "device;jobdev xgp" "sysen2;xgpdev"
|
||
midast "device;jobdev glp" "sysen2;xgpdev" {
|
||
respond "with ^C" "GLP==1\r\003"
|
||
}
|
||
|
||
# GTLOAD, load programs into GT40.
|
||
midas "sys1; ts gtload" "syseng; gtload"
|
||
|
||
# RUG, PDP-11 debugger.
|
||
cwd "pdp11"
|
||
palx "pdp11;" "rug" {
|
||
respond "?" "2\r"
|
||
respond "?" "100000\r"
|
||
respond "?" "1\r"
|
||
respond "?" "1\r"
|
||
}
|
||
|
||
# URUG, GT40 debugger.
|
||
palx "sysbin;" "sysen2;urug" {
|
||
respond "=YES" "1\r"
|
||
respond "37000" "37000\r"
|
||
}
|
||
|
||
# GT40 Lunar Lander.
|
||
palx "gt40;" "gt40;gtlem"
|
||
|
||
# MINITS
|
||
cwd "mits.s"
|
||
palx "test" "config" {
|
||
respond ":::" "777\r"
|
||
}
|
||
|
||
# MINITS boot ROM for an Interlan network interface.
|
||
cwd "mits.b"
|
||
palx "mits.b;" "bootil" {
|
||
respond "Interlan CSR?" "0\r"
|
||
respond "Chaos address of Interlan board?" "0\r"
|
||
expect "Which set of downloading hosts?"
|
||
respond ")" "0\r"
|
||
respond "Start address?" "0\r"
|
||
respond "Do you want a power up/boot support" "0\r"
|
||
respond "Boot PROM mapping kludge?" "0\r"
|
||
respond "Start of temporary data storage?" "150000\r"
|
||
}
|
||
|
||
# ITS universal file.
|
||
cwd "decsys"
|
||
macro10 "sits.unv" "sits.mac"
|
||
|
||
# Datacomputer file transfer.
|
||
cwd "mrc"
|
||
macro10 "dftp" "dftp"
|
||
linker "dftp"
|
||
decuuo "sys1; ts dftp"
|
||
|
||
# PDP-11 Lisp.
|
||
palx "rms;" "lisp11" {
|
||
respond "System (RANDOM, SIMULATOR, LOGO, MATH, or STANFORD)?" "SIMULATOR\r"
|
||
}
|
||
|
||
# Logo RUG. STUFF prefers it to be RUG; AR BIN.
|
||
palx "rug;" "ar" {
|
||
# We'll just do the Logo PDP-11/45.
|
||
respond "COMPUTER=" "1\r"
|
||
}
|
||
|
||
# PUNCH, punch out paper tapes in the Logo RUG format.
|
||
midas "rug; ts punch" "punch"
|
||
|
||
# LODER, PDP-11 file transfer.
|
||
midas "rug;" "loder"
|
||
make_link "sys; ts nloder" " rug; loder bin"
|
||
make_link "sys1; ts mloder" " rug; loder bin"
|
||
|
||
# SITS.
|
||
cwd "sits"
|
||
palx "sits;" "sits"
|
||
|
||
# Salvager for the SITS file system.
|
||
palx "sits;" "salv"
|
||
|
||
# System Sphere for SITS.
|
||
palx "sits;" "sysspr"
|
||
|
||
# DDT for SITS.
|
||
palx "sits;" "ddt"
|
||
|
||
# Font loader daemon for SITS.
|
||
palx "sits;" "fnt"
|
||
|
||
# INQUIR for SITS.
|
||
palx "sits;" "inquir"
|
||
|
||
# DIRED for SITS.
|
||
palx "sits;" "dired"
|
||
|
||
# TECO for SITS.
|
||
cwd "rjl"
|
||
palx "rjl;" "teco"
|
||
|
||
# SLOGO, 11LOGO for SITS.
|
||
cwd "nlogo"
|
||
palx "slogo" "@slogo"
|
||
|
||
# HLOGO, "Hal hack" 11LOGO.
|
||
palx "hlogo" "@hlogo"
|
||
|
||
# ITSCOM, ITS-SITS communication.
|
||
cwd "bee"
|
||
palx "bee;" "itscom"
|
||
|
||
# ITS, SITS file transfer.
|
||
cwd "gld"
|
||
palx "gld;" "its"
|
||
|
||
# TORTIS
|
||
omidas "radia;" "tortis"
|
||
|
||
# BBN Logo
|
||
cwd "bbn"
|
||
macro10 "logo" "logo"
|
||
loader "logo"
|
||
decuuo "bbn; ts logo"
|
||
|
||
# CLOGO
|
||
midas "sys; ts clogo" "rjl; logo" {
|
||
respond "STANDARD=" "0\r"
|
||
respond "TBOX=" "0\r"
|
||
respond "TURTLE=" "1\r"
|
||
respond "PHYSICS=" "0\r"
|
||
respond "LFLAG=" "0\r"
|
||
respond "OLDMUSIC=" "0\r"
|
||
respond "DFLAG=" "1\r"
|
||
}
|
||
|
||
# NVMIDS, Nova assembler
|
||
cwd "nova"
|
||
oomidas 73 "TS NVMIDS" "NVMIDS >"
|
||
|
||
# Nova programs.
|
||
respond "*" ":nvmids\r"
|
||
expect "NVMDS"
|
||
respond "\n" ".LODEE\r"
|
||
expect ":KILL"
|
||
respond "*" ":nvmids\r"
|
||
expect "NVMDS"
|
||
respond "\n" "DEBUG\r"
|
||
expect ":KILL"
|
||
respond "*" ":nvmids\r"
|
||
expect "NVMDS"
|
||
respond "\n" "DISPLA\r"
|
||
expect ":KILL"
|
||
respond "*" ":nvmids\r"
|
||
expect "NVMDS"
|
||
respond "\n" "NDTEST\r"
|
||
expect ":KILL"
|
||
respond "*" ":nvmids\r"
|
||
expect "NVMDS"
|
||
respond "\n" "NOVTEN\r"
|
||
expect ":KILL"
|
||
respond "*" ":nvmids\r"
|
||
expect "NVMDS"
|
||
respond "\n" "PNOVCN\r"
|
||
expect ":KILL"
|
||
respond "*" ":nvmids\r"
|
||
expect "NVMDS"
|
||
respond "\n" "TIME MACHIN\r"
|
||
expect ":KILL"
|
||
|
||
# 11LOGO
|
||
cwd "11logo"
|
||
palx "/H/M/CL BIN,N CREF" "SYSTEM,TYI,READ,EVAL,TURTLE,ZEND" {
|
||
respond "ASSSW=" "0\r"
|
||
}
|
||
|
||
# Apple II Logo
|
||
cwd "aplogo"
|
||
respond "*" ":cross\r"
|
||
respond "*" "logo/ptp,logo=logo\r"
|
||
expect "Core used"
|
||
respond "*" "\003"
|
||
respond "*" ":kill\r"
|
||
|
||
# Atari 800 terminal emulator Chameleon by Jack Palevich.
|
||
cwd "atlogo"
|
||
respond "*" ":cross\r"
|
||
respond "*" "supdup,supdup=supdup/m65\r"
|
||
expect "Core used"
|
||
respond "*" "\003"
|
||
respond "*" ":kill\r"
|
||
|
||
# TENTH, toy Forth.
|
||
midast "aap; ts tenth" "tenth" {
|
||
respond "end input with ^C" "TS==1\r"
|
||
respond "\n" "KS==0\r"
|
||
respond "\n" "\003"
|
||
}
|
||
|
||
# GEORGE
|
||
midas "sys3;ts george" "syseng;george"
|
||
|
||
# MONIT
|
||
# The ERROR lines printed during assembly are locations of unlikely
|
||
# runtime errors (e.g. not being able to open TTY:).
|
||
midas "sys;ts monit" "dmcg;monit"
|
||
|
||
# BANNER
|
||
midas "sys3;ts banner" "sysen2; banner"
|
||
|
||
# IBMASC
|
||
midas "sys3;ts ibmasc" "sysen1;ibmasc"
|
||
|
||
# NEWDEC
|
||
midas "sys3;ts newdec" "sysen1;newdec"
|
||
|
||
# TBMOFF
|
||
midas "sys; ts tbmoff" "cstacy; tbmoff"
|
||
|
||
# UPTINI
|
||
midas "ejs;ts uptini" "uptini"
|
||
|
||
# CHATER
|
||
midas "sys1;ts chater" "gren;coms"
|
||
|
||
# STINK 121T, used to build Muddle and some old programs
|
||
midas "mudsys;ts stink" "sysen2;stink 121t"
|
||
|
||
# Move hello world xfiles into an archive.
|
||
cwd "hello"
|
||
respond "*" ":move dsk:c xfile, ar:\r"
|
||
respond "*" ":move dsk:clu xfile, ar:\r"
|
||
respond "*" ":move dsk:clu xxfile, ar:\r"
|
||
respond "*" ":move dsk:fail xfile, ar:\r"
|
||
respond "*" ":move dsk:fail xxfile, ar:\r"
|
||
respond "*" ":move dsk:fortra xfile, ar:\r"
|
||
respond "*" ":move dsk:fortra xxfile, ar:\r"
|
||
respond "*" ":move dsk:lisp xfile, ar:\r"
|
||
respond "*" ":move dsk:lisp xxfile, ar:\r"
|
||
respond "*" ":move dsk:macro xfile, ar:\r"
|
||
respond "*" ":move dsk:macro xxfile, ar:\r"
|
||
respond "*" ":move dsk:midas xfile, ar:\r"
|
||
respond "*" ":move dsk:muddle xfile, ar:\r"
|
||
respond "*" ":move dsk:muddle xxfile, ar:\r"
|
||
respond "*" ":move dsk:palx xfile, ar:\r"
|
||
respond "*" ":move dsk:palx xxfile, ar:\r"
|
||
respond "*" ":rename dsk:ar >, ar xfiles\r"
|