mirror of
https://github.com/PDP-10/its.git
synced 2026-02-27 01:09:49 +00:00
Make it possible to run with emulators other than SIMH.
This commit is contained in:
6
Makefile
6
Makefile
@@ -1,3 +1,5 @@
|
||||
EMULATOR ?= simh
|
||||
|
||||
SRC = system syseng sysen1 sysen2 sysnet kshack midas _teco_ rms klh
|
||||
MINSYS = _ sys sys3 device
|
||||
RAM = bin/boot/ram.262
|
||||
@@ -9,8 +11,8 @@ WRITETAPE=${PWD}/tools/tapeutils/tapewrite
|
||||
|
||||
all: out/rp0.dsk
|
||||
|
||||
out/rp0.dsk: build/simh/init out/minsys.tape out/salv.tape out/dskdmp.tape build/build.tcl out/sources.tape
|
||||
expect -f build/build.tcl
|
||||
out/rp0.dsk: build/simh/init out/minsys.tape out/salv.tape out/dskdmp.tape build/build.tcl out/sources.tape build/$(EMULATOR)/stamp
|
||||
expect -f build/$(EMULATOR)/build.tcl
|
||||
|
||||
out/minsys.tape: $(ITSTAR)
|
||||
mkdir -p out
|
||||
|
||||
@@ -33,22 +33,21 @@ proc pdset {} {
|
||||
}
|
||||
|
||||
proc shutdown {} {
|
||||
global emulator_escape
|
||||
respond "*" ":lock\r"
|
||||
expect "_"
|
||||
send "5kill"
|
||||
respond "GO DOWN?\r\n" "y"
|
||||
respond "BRIEF MESSAGE" "\003"
|
||||
respond "NOW IN DDT" "\005"
|
||||
respond "NOW IN DDT" $emulator_escape
|
||||
}
|
||||
|
||||
set timeout 100
|
||||
expect_before timeout abort
|
||||
|
||||
spawn pdp10 build/simh/init
|
||||
start_nsalv
|
||||
|
||||
respond "sim>" "show ver\r"
|
||||
respond "sim>" "b tu1\r"
|
||||
respond "MTBOOT" "mark\033g"
|
||||
respond "\n" "mark\033g"
|
||||
respond "Format pack on unit #" "0"
|
||||
respond "Are you sure you want to format pack on drive" "y"
|
||||
respond "Pack no?" "0\r"
|
||||
@@ -59,10 +58,10 @@ respond "DDT" "tran\033g"
|
||||
respond "onto unit" "0"
|
||||
respond "OK" "y"
|
||||
expect "EOT"
|
||||
respond "DDT" "\005"
|
||||
respond "DDT" $emulator_escape
|
||||
|
||||
start_dskdmp
|
||||
|
||||
respond "sim>" "b tu2\r"
|
||||
respond "MTBOOT" "\033g"
|
||||
respond "DSKDMP" "l\033ddt\r"
|
||||
expect "\n"; type "t\033its rp06\r"
|
||||
expect "\n"; type "\033u"
|
||||
@@ -83,21 +82,23 @@ respond "!" "quit\r"
|
||||
expect ":KILL"
|
||||
shutdown
|
||||
|
||||
respond "sim>" "b tu1\r"
|
||||
respond "MTBOOT" "feset\033g"
|
||||
restart_nsalv
|
||||
|
||||
expect "\n"
|
||||
sleep 1
|
||||
type "feset\033g"
|
||||
respond "on unit #" "0"
|
||||
respond "address: " "$dir\r"
|
||||
respond "DDT" \005
|
||||
respond "sim>" "quit"
|
||||
respond "DDT" $emulator_escape
|
||||
quit_emulator
|
||||
|
||||
spawn pdp10 build/simh/boot
|
||||
start_its
|
||||
respond "DSKDMP" "its\r"
|
||||
type "\033g"
|
||||
pdset
|
||||
|
||||
respond "*" "\005"
|
||||
respond "sim>" "at tu0 out/sources.tape\r"
|
||||
respond "sim>" "c\r"
|
||||
respond "*" $emulator_escape
|
||||
mount_tape "out/sources.tape"
|
||||
type ":dump\r"
|
||||
respond "_" "reload "
|
||||
respond "ARE YOU SURE" "y"
|
||||
@@ -204,9 +205,8 @@ respond "*" ":midas channa;atsign taraka_syseng; dragon\r"
|
||||
expect ":KILL"
|
||||
respond "*" ":link sys; atsign dragon,channa; atsign taraka\r"
|
||||
|
||||
respond "*" "\005"
|
||||
respond "sim>" "at tu0 out/output.tape\r"
|
||||
respond "sim>" "c\r"
|
||||
respond "*" $emulator_escape
|
||||
create_tape "out/output.tape"
|
||||
type ":dump\r"
|
||||
respond "_" "dump links full\r"
|
||||
respond "TAPE NO=" "0\r"
|
||||
@@ -214,4 +214,4 @@ expect "REEL"
|
||||
respond "_" "quit\r"
|
||||
|
||||
shutdown
|
||||
respond "sim>" "quit"
|
||||
quit_emulator
|
||||
|
||||
38
build/simh/build.tcl
Normal file
38
build/simh/build.tcl
Normal file
@@ -0,0 +1,38 @@
|
||||
set emulator_escape "\005"
|
||||
|
||||
proc start_nsalv {} {
|
||||
uplevel #0 {spawn pdp10 build/simh/init}
|
||||
respond "sim>" "show ver\r"
|
||||
respond "sim>" "b tu1\r"
|
||||
expect "MTBOOT"
|
||||
}
|
||||
|
||||
proc restart_nsalv {} {
|
||||
respond "sim>" "b tu1\r"
|
||||
expect "MTBOOT"
|
||||
}
|
||||
|
||||
proc start_dskdmp {} {
|
||||
respond "sim>" "b tu2\r"
|
||||
respond "MTBOOT" "\033g"
|
||||
}
|
||||
|
||||
proc start_its {} {
|
||||
uplevel #0 {spawn pdp10 build/simh/boot}
|
||||
}
|
||||
|
||||
proc mount_tape {file} {
|
||||
respond "sim>" "at tu0 $file\r"
|
||||
respond "sim>" "c\r"
|
||||
}
|
||||
|
||||
proc create_tape {file} {
|
||||
respond "sim>" "at tu0 $file\r"
|
||||
respond "sim>" "c\r"
|
||||
}
|
||||
|
||||
proc quit_emulator {} {
|
||||
respond "sim>" "q\r"
|
||||
}
|
||||
|
||||
source build/build.tcl
|
||||
1
build/simh/stamp
Normal file
1
build/simh/stamp
Normal file
@@ -0,0 +1 @@
|
||||
For now, install SIMH separately.
|
||||
Reference in New Issue
Block a user