1
0
mirror of https://github.com/PDP-10/its.git synced 2026-02-08 01:11:18 +00:00

Start ARPANET.

Build the SIMH H316 emulator.  This is for emulating an IMP in an ARPA
network.
This commit is contained in:
Lars Brinkhoff
2024-12-15 19:29:03 +01:00
parent 3933af7854
commit e199d7d1ed
9 changed files with 8379 additions and 3 deletions

17
build/arpanet/imp62.simh Normal file
View File

@@ -0,0 +1,17 @@
set debug stdout
do impconfig.simh
set imp num=62
do impcode.simh
set mi1 enabled
set hi1 enabled
set hi2 enabled
set hi1 debug
set hi2 debug
attach -u mi1 4421::4431
attach -u hi2 33001:localhost:33002
set hi2 convert
go

8237
build/arpanet/impcode.simh Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,65 @@
;; ***** GENERIC IMP CONFIGURATION *****
; This simh command file sets up the H316 simulator configuration for a generic
; IMP node. Note that it doesn't load any IMP code (the caller is expected to
; do that) and it doesn't define any IMP node specific settings (e.g. modem
; links, IMP address, etc).
;
; RLA [4-Jun-13]
RESET ALL
; Define the CPU configuration ...
; NOTE - real IMPs only had 16K of memory!
SET CPU 16K NOHSA DMA=0 DMC EXTINT=16
; Disable all the devices an IMP doesn't have ...
SET LPT DISABLED
SET MT DISABLED
SET CLK DISABLED
SET FHD DISABLED
SET DP DISABLED
; Enable the IMP device but leave the station address undefined ...
SET IMP ENABLED
;;SET IMP NUM=1
; Enable the RTC to count at 50kHz (20us intervals) ...
SET RTC ENABLED
SET RTC INTERVAL=20
SET RTC QUANTUM=32
; Enable the WDT but don't ever time out (we have enough problems!)...
SET WDT ENABLED
SET WDT DELAY=0
; Enable only modem line 1 and disable all the rest ...
SET MI1 ENABLED
SET MI2 DISABLED
SET MI3 DISABLED
SET MI4 DISABLED
SET MI5 DISABLED
; Enable only one host interface and disable all the rest ...
SET HI1 ENABLED
SET HI2 DISABLED
SET HI3 DISABLED
SET HI4 DISABLED
; Just ignore I/Os to disconnected devices ...
DEPOSIT CPU STOP_DEV 0
; SS4 ON is required to run DDT!
DEPOSIT CPU SS4 1
; Set the TTY speed to realistic values (about 9600BPS in this case) ...
DEPOSIT TTY KTIME 1000
DEPOSIT TTY TTIME 1000
; Don't know for sure what SS2 does, but it appears to have something to do
; with the IMP startup. Leave it ON for now...
DEPOSIT CPU SS2 0
; All done ....
SET CPU HISTORY=65000
SET CONSOLE DEBUG=STDERR
SET WDT DEBUG=LIGHTS

View File

@@ -43,6 +43,8 @@ set imp ip=192.168.2.101/24
set imp gw=%GW%
set imp host=%IP%
at imp tap:tap0
#set imp ncp
#at -u imp 33002:localhost:33001
set ch enabled
set ch node=177002
set ch peer=localhost:44041

View File

@@ -31,6 +31,8 @@ set imp ip=192.168.2.101/24
set imp gw=%GW%
set imp host=%IP%
at imp tap:tap0
#set imp ncp
#at -u imp 33002:localhost:33001
#
set ch enabled
set ch node=177002

View File

@@ -83,6 +83,21 @@ chaosnet() {
started "Chaosnet bridge" "$!"
}
arpanet() {
sed -i.old \
-e 's/^#set imp ncp/set imp ncp/' \
-e 's/^#at -u imp 33/at -u imp 33/' \
-e 's/^set imp mac/#set imp mac/' \
-e 's/^set imp ip/#set imp ip/' \
-e 's/^set imp gw/#set imp gw/' \
-e 's/^set imp host/#set imp host/' \
-e 's/^at imp tap/#at imp tap/' \
out/pdp10-ka/run
(sleep 2; cd build/arpanet; ../../tools/simh/BIN/h316 imp62.simh >imp62.log 2>&1) &
started "Arpanet IMP" "$!"
}
help() {
cat <<EOF
This start script takes several command line arguments:
@@ -100,6 +115,7 @@ vt52 - Start a VT52 emulator.
tek - Start a Tektronix 4010 emulator.
cscope - Enable the color scope.
chaosnet - Start a local Chaosnet.
arpanet - Start ARPANET.
EOF
@@ -108,6 +124,13 @@ EOF
sed -i.old -e 's/set dpy enabled/set dpy disabled/' \
-e 's/set wcnsls enabled joystick cscope/set wcnsls enabled joystick/' \
-e 's/^set imp ncp/#set imp ncp/' \
-e 's/^at -u imp 33/#at -u imp 33/' \
-e 's/^#set imp mac/set imp mac/' \
-e 's/^#set imp ip/set imp ip/' \
-e 's/^#set imp gw/set imp gw/' \
-e 's/^#set imp host/set imp host/' \
-e 's/^#at imp tap/at imp tap/' \
out/pdp10-ka/run
test -f out/pdp10-ka/nohelp || help

View File

@@ -36,6 +36,21 @@ chaosnet() {
started "Chaosnet bridge" "$!"
}
arpanet() {
sed -i.old \
-e 's/^#set imp ncp/set imp ncp/' \
-e 's/^#at -u imp 33/at -u imp 33/' \
-e 's/^set imp mac/#set imp mac/' \
-e 's/^set imp ip/#set imp ip/' \
-e 's/^set imp gw/#set imp gw/' \
-e 's/^set imp host/#set imp host/' \
-e 's/^at imp tap/#at imp tap/' \
out/pdp10-kl/run
(sleep 2; cd build/arpanet; ../../tools/simh/BIN/h316 imp62.simh >imp62.log 2>&1) &
started "Arpanet IMP" "$!"
}
help() {
cat <<EOF
This start script takes several command line arguments:
@@ -44,12 +59,23 @@ help - Display this help text.
vt52 - Start a VT52 emulator.
tek - Start a Tektronix 4010 emulator.
chaosnet - Start a local Chaosnet.
arpanet - Start ARPANET.
EOF
touch out/pdp10-kl/nohelp
}
sed -i.old \
-e 's/^set imp ncp/#set imp ncp/' \
-e 's/^at -u imp 33/#at -u imp 33/' \
-e 's/^#set imp mac/set imp mac/' \
-e 's/^#set imp ip/set imp ip/' \
-e 's/^#set imp gw/set imp gw/' \
-e 's/^#set imp host/set imp host/' \
-e 's/^#at imp tap/at imp tap/' \
out/pdp10-kl/run
test -f out/pdp10-kl/nohelp || help
while test -n "$1"; do