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

Build script for KL ITS.

This commit is contained in:
Lars Brinkhoff
2019-06-18 14:08:45 +02:00
parent 9f0f8dd0e9
commit 5d6febdfe0
14 changed files with 356 additions and 7 deletions

View File

@@ -1,9 +1,161 @@
make_ntsddt {} {
proc start_dskdmp_its {} {
start_dskdmp build/pdp10-kl/boot
respond "DSKDMP" "ddt\r"
respond "\n" "\033l"
respond " " "its bin\r"
respond "\n" "\033\033l"
respond " " "salv bin\r"
respond "\n" "\033y"
respond " " "its\r"
patch_its_and_go
}
proc mark_packs {} {
respond "\n" "mark\033g"
respond "UNIT #" "0"
respond "#0?" "y"
respond "NO =" "0\r"
respond "ALLOC =" "3000\r"
respond "PACK ID =" "0\r"
}
proc prepare_frontend {} {
}
proc frontend_bootstrap {} {
}
proc its_switches {} {
respond "MACHINE NAME =" "KL\r"
}
proc make_ntsddt {} {
# KL10 NTSDDT.
respond "*" ":midas dsk0:.;@ ntsddt_system;ddt\r"
respond "cpusw=" "2\r"
respond "*" ":midas dsk0:.;@ ddt_system;ddt\r"
respond "cpusw=" "0\r"
respond "ndsk=" "1\r"
respond "dsksw=" "3\r"
respond "1PRSW=" "1\r"
respond "1PRSW=" "0\r"
expect ":KILL"
}
proc make_salv {} {
respond "*" ":midas dsk0:.;_system;salv\r"
respond "time-sharing?" "n\r"
respond "machine?" "KL\r"
expect ":KILL"
}
proc make_dskdmp {} {
respond "*" ":midas dsk0:.;@ dskdmp_system;dskdmp\r"
expect "Configuration"
respond "?" "ASK\r"
respond "HRIFLG=" "N\r"
respond "BOOTSW=" "N\r"
respond "RP06P=" "N\r"
respond "RP07P=" "N\r"
respond "RM03P=" "N\r"
respond "RM80P=" "N\r"
respond "RH10P=" "Y\r"
respond "NUDSL=" "500.\r"
respond "KS10P=" "N\r"
respond "KL10P=" "N\r"
expect ":KILL"
}
proc dump_switches {} {
respond "WHICH MACHINE?" "KL\r"
}
proc peek_switches {} {
respond "with ^C" "\003"
}
proc dump_nits {} {
# Run the new DSKDMP from disk here, to check that it works.
respond "DSKDMP" "dskdmp\r"
respond "DSKDMP" "l\033ddt\r"
# Dump an executable @ SALV.
respond "\n" "t\033salv bin\r"
respond "\n" "\033y"
respond " " "salv\r"
# Now dump the new ITS.
respond "\n" "\033l"
respond " " "its bin\r"
respond "\n" "\033\033l"
respond " " "salv bin\r"
respond "\n" "\033y"
respond " " "nits\r"
}
proc magdmp_switches {} {
respond "KL10P=" "n\r"
respond "TM10BP=" "y\r"
respond "340P=" "n\r"
}
proc bootable_tapes {} {
global emulator_escape
global out
respond "*" ":midas .;magdmp bin.kl_syseng;magdmp\r"
respond "PTRHRI=" "n\r"
magdmp_switches
expect ":KILL"
respond "*" $emulator_escape
create_tape "$out/magdmp.tape"
type ":magfrm\r"
respond "?" "KL\r"
respond "?" "Y"
respond "_" "W"
respond "FROM" ".; @ DDT\r"
respond "FILE" "@ DDT\r"
respond "_" "W"
respond "FROM" ".; @ SALV\r"
respond "FILE" "@ SALV\r"
respond "_" "W"
respond "FROM" ".; @ DSKDMP\r"
respond "FILE" "@ DSKDMP\r"
respond "_" "Q"
expect ":KILL"
}
proc update_microcode {} {
}
proc clib_switches {} {
### UFA or FIX?!? Probably the latter.
respond "with ^C" "\003"
}
proc patch_lisp {} {
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"
}
proc translate_diagnostics {} {
}
proc patch_clib_16 {} {
}

View File

@@ -1,7 +1,11 @@
set console wru=034
set cpu its
set cpu 512k
set pd off
dis rpa
dis rpb
dis tua
dis fha
dis dpb
at ptr bin/ka10/boot/dskdmp.rim
at mta0 out/pdp10-ka/minsrc.tape
at dpa0 out/pdp10-ka/rp03.2

View File

@@ -3,7 +3,11 @@ set cpu its
set cpu 1024k
set cpu mpx
set cpu ten11
set pd off
dis rpa
dis rpb
dis tua
dis fha
dis dpb
at ptr bin/ka10/boot/dskdmp.rim
at mta0 out/pdp10-ka/sources.tape
set mta mpx=7

View File

@@ -1,6 +1,11 @@
set console wru=034
set cpu its
set cpu 512k
dis rpa
dis rpb
dis tua
dis fha
dis dpb
at mta0 out/pdp10-ka/magdmp.tap
at mta5 out/pdp10-ka/ka-minsys.tape
at dpa0 out/pdp10-ka/rp03.2

View File

@@ -3,6 +3,11 @@ set cpu its
set cpu 1024k
set cpu idle
set cpu mpx
dis rpa
dis rpb
dis tua
dis fha
dis dpb
set pd enabled
set pd on
set dpy enabled

8
build/pdp10-kl/boot Normal file
View File

@@ -0,0 +1,8 @@
set console wru=034
set cpu its
set cpu 512k
set pd off
at ptr bin/kl10/boot/dskdmp.rim
at mta0 out/pdp10-kl/minsrc.tape
at rpa0 out/pdp10-kl/rp04.1
b ptr

8
build/pdp10-kl/boot2 Normal file
View File

@@ -0,0 +1,8 @@
set console wru=034
set cpu its
set cpu 512k
set pd off
at ptr bin/kl10/boot/dskdmp.rim
at mta0 out/pdp10-kl/sources.tape
at rpa0 out/pdp10-kl/rp04.1
b ptr

60
build/pdp10-kl/build.tcl Normal file
View File

@@ -0,0 +1,60 @@
set build [pwd]/build
set out "out/$env(EMULATOR)"
set emulator_escape "\034"
proc start_salv {} {
uplevel #0 {spawn ./tools/sims/BIN/pdp10-ka build/pdp10-kl/init}
setup_timeout
respond "MAGDMP\r\n" "l\033ddt\r"
respond "\n" "t\033salv bin\r"
}
proc start_dskdmp args {
quit_emulator
set ini ""
if {[llength $args] == 1} {
set ini [lindex $args 0]
} {
set ini "build/pdp10-kl/boot2"
}
set foo "spawn ./tools/sims/BIN/pdp10-ka $ini"
uplevel #0 $foo
setup_timeout
}
proc mount_tape {file} {
respond "sim>" "at mta0 $file\r"
respond "sim>" "c\r"
expect -timeout 2 "BUGPC/" {
type "\033P"
} timeout {
;
}
}
proc create_tape {file} {
respond "sim>" "at mta0 $file\r"
respond "sim>" "c\r"
expect -timeout 2 "BUGPC/" {
type "\033P"
} timeout {
;
}
}
proc quit_emulator {} {
respond "sim>" "q\r"
expect eof
}
proc initialize_comsat {} {
# commented out because you cannot run COMSAT initialization without network
# support
#respond "*" ":job comsat\r"
#respond "*" ":load .mail.;comsat launch\r"
#respond "*" "debug/-1\r"
#type "mfinit\033g"
}
source build/kl10/include.tcl
source build/build.tcl

8
build/pdp10-kl/init Normal file
View File

@@ -0,0 +1,8 @@
set console wru=034
set cpu its
set cpu 512k
at mta0 out/pdp10-kl/kl-magdmp.tap
at mta5 out/pdp10-kl/kl-minsys.tape
set rpa rp04
at rpa0 out/pdp10-kl/rp04.1
b mta0

9
build/pdp10-kl/run Normal file
View File

@@ -0,0 +1,9 @@
set console wru=034
set cpu its
set cpu 512k
at ptr bin/kl10/boot/dskdmp.rim
set rpa rp04
at rpa0 out/pdp10-kl/rp04.0
at rpa1 out/pdp10-kl/rp04.1
at rpa2 out/pdp10-kl/rp04.2
b ptr

43
build/pdp10-kl/start Executable file
View File

@@ -0,0 +1,43 @@
#!/bin/sh
TVCON=${TVCON:--2}
EXIT=:
trap "" QUIT INT TERM
started() {
EXIT="$EXIT;stop $1 $2"
trap "$EXIT" EXIT
echo "$1 started, pid $2"
}
stop() {
echo -n "Stopping $1... "
kill "$2" 2> /dev/null
sleep 2
kill -9 "$2" 2> /dev/null
echo "OK"
}
gt40() {
(sleep 3; tools/simh/BIN/pdp11 build/pdp10-ka/gt40 >gt40.log 2>&1) &
started GT40 "$!"
}
tv11() {
(sleep 3; tools/tv11/tv11 -p 10011 localhost >tv11.log 2>&1) &
started TV-11 "$!"
}
tvcon() {
(sleep 4; tools/tv11/tvcon/tvcon $TVCON localhost >tvcon.log 2>&1) &
started "TV-console" "$!"
}
while test -n "$1"; do
"$1"
shift
done
tools/sims/BIN/pdp10-ka build/pdp10-ka/run
exit 0