1
0
mirror of https://github.com/PDP-10/its.git synced 2026-04-27 20:48:35 +00:00

Build ITS with KL10 simulator.

This commit is contained in:
Eric Swenson
2019-09-19 01:30:26 +00:00
committed by Lars Brinkhoff
parent ed41d2fce8
commit 50b95c1241
20 changed files with 106 additions and 117 deletions

View File

@@ -57,7 +57,7 @@ DSKDMP = bin/ks10/boot/dskdmp.rp06
KLH10=tools/klh10/tmp/bld-ks-its/kn10-ks-its KLH10=tools/klh10/tmp/bld-ks-its/kn10-ks-its
SIMH=tools/simh/BIN/pdp10 SIMH=tools/simh/BIN/pdp10
KA10=tools/sims/BIN/pdp10-ka KA10=tools/sims/BIN/pdp10-ka
KL10=tools/sims/BIN/pdp10-ka KL10=tools/sims/BIN/pdp10-kl
ITSTAR=tools/itstar/itstar ITSTAR=tools/itstar/itstar
WRITETAPE=tools/tapeutils/tapewrite WRITETAPE=tools/tapeutils/tapewrite
MAGFRM=tools/dasm/magfrm MAGFRM=tools/dasm/magfrm
@@ -240,7 +240,7 @@ $(KA10):
$(MAKE) -C tools/sims pdp10-ka $(MAKE) -C tools/sims pdp10-ka
$(KL10): $(KL10):
$(MAKE) -C tools/sims pdp10-ka $(MAKE) -C tools/sims pdp10-kl
$(ITSTAR): $(ITSTAR):
$(MAKE) -C tools/itstar $(MAKE) -C tools/itstar

View File

@@ -53,16 +53,19 @@ we'd be delighted to test this on a real KS10.
To build ITS with this repository, you need some tools installed: To build ITS with this repository, you need some tools installed:
make, C compiler, and expect. For KA10, you also need SDL or SDL2 for make, C compiler, and expect. For KA10, you also need SDL or SDL2 for
the Type 340 display. Ensure all submodules are checked out, and then the Type 340 display. Ensure all submodules are checked out, and then
type `make EMULATOR=simh`, `make EMULATOR=pdp10-ka`, or `make type `make EMULATOR=simh`, `make EMULATOR=pdp10-ka`, `make
EMULATOR=klh10`. This will leave built files in the `out` directory, EMULATOR=pdp10-kl`, or `make EMULATOR=klh10`. This will leave built
one of which is a disk image with ITS installed. files in the `out` directory, one of which is a disk image with ITS
installed.
To start ITS, type `./start`. If you see `KLH10#`, type `go` and To start ITS, type `./start`. If you see `KLH10#`, type `go` and
Enter. When you see the `DSKDMP` prompt, type `its`, press Enter, and Enter. If you see the `DSKDMP` prompt, type `its`, press Enter, and
then `ESC g`. Eventually, you will see `SYSTEM JOB USING THIS then `ESC g`. If you use the `pdp10-kl` emulator there is no prompt
CONSOLE`. You are now ready to log in, so type Control-Z. See and you need to type `Esc L ITS`, press Enter, and then `ESC g`.
[doc/DDT.md](doc/DDT.md) for a list of useful commands. When done, Eventually, you will see `SYSTEM JOB USING THIS CONSOLE`. You are now
shut down orderly by typing `:lock` and then `5down`. ready to log in, so type Control-Z. See [doc/DDT.md](doc/DDT.md) for
a list of useful commands. When done, shut down orderly by typing
`:lock` and then `5down`.
ITS can optionally use some additional peripheral devices. To attach ITS can optionally use some additional peripheral devices. To attach
a simulated GT40 graphics terminal, type `./start gt40` when booting a simulated GT40 graphics terminal, type `./start gt40` when booting
@@ -132,9 +135,9 @@ There is a [detailed list of all installed programs](doc/programs.md).
### Network Support ### Network Support
Currently, networking is only supported under the KLH10 and SIMH KA10 Currently, networking is only supported under the KLH10 and SIMH KA10
emulators. The SIMH KS10 does not have the necessary support. As of and KL10 emulators. The SIMH KS10 does not have the necessary
this release, only the ITS monitor, host table tools, and binary host support. As of this release, only the ITS monitor, host table tools,
table are installed. and binary host table are installed.
Currently, basic TCP network support is in the build, in addition to Currently, basic TCP network support is in the build, in addition to
both a TELNET/SUPDUP server, and both TELNET and SUPDUP clients. both a TELNET/SUPDUP server, and both TELNET and SUPDUP clients.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -21,7 +21,7 @@ proc mark_packs {} {
respond "UNIT #" "0" respond "UNIT #" "0"
respond "#0?" "y" respond "#0?" "y"
respond "NO =" "0\r" respond "NO =" "0\r"
expect -timeout 300 "VERIFY" expect -timeout 300 "VERIFICATION BEGINS"
respond "ALLOC =" "3000\r" respond "ALLOC =" "3000\r"
respond "PACK ID =" "0\r" respond "PACK ID =" "0\r"
@@ -29,7 +29,7 @@ proc mark_packs {} {
respond "UNIT #" "1" respond "UNIT #" "1"
respond "#1?" "y" respond "#1?" "y"
respond "NO =" "1\r" respond "NO =" "1\r"
expect -timeout 300 "VERIFY" expect -timeout 300 "VERIFICATION BEGINS"
respond "ALLOC =" "3000\r" respond "ALLOC =" "3000\r"
respond "PACK ID =" "1\r" respond "PACK ID =" "1\r"
@@ -37,7 +37,7 @@ proc mark_packs {} {
respond "UNIT #" "2" respond "UNIT #" "2"
respond "#2?" "y" respond "#2?" "y"
respond "NO =" "2\r" respond "NO =" "2\r"
expect -timeout 300 "VERIFY" expect -timeout 300 "VERIFICATION BEGINS"
respond "ALLOC =" "3000\r" respond "ALLOC =" "3000\r"
respond "PACK ID =" "2\r" respond "PACK ID =" "2\r"
} }
@@ -55,8 +55,8 @@ proc its_switches {} {
proc make_ntsddt {} { proc make_ntsddt {} {
# KL10 NTSDDT. # KL10 NTSDDT.
respond "*" ":midas dsk0:.;@ ddt_system;ddt\r" respond "*" ":midas dsk0:.;@ ddt_system;ddt\r"
respond "cpusw=" "0\r" respond "cpusw=" "2\r"
respond "ndsk=" "1\r" respond "ndsk=" "3\r"
respond "dsksw=" "3\r" respond "dsksw=" "3\r"
respond "dsktp=" "0\r" respond "dsktp=" "0\r"
respond "1PRSW=" "0\r" respond "1PRSW=" "0\r"
@@ -84,7 +84,7 @@ proc make_dskdmp {} {
respond "R10R6P=" "N\r" respond "R10R6P=" "N\r"
respond "NUDSL=" "500.\r" respond "NUDSL=" "500.\r"
respond "KS10P=" "N\r" respond "KS10P=" "N\r"
respond "KL10P=" "N\r" respond "KL10P=" "Y\r"
expect ":KILL" expect ":KILL"
} }
@@ -129,7 +129,7 @@ proc dump_nits {} {
} }
proc magdmp_switches {} { proc magdmp_switches {} {
respond "KL10P=" "n\r" respond "KL10P=" "y\r"
respond "TM10BP=" "y\r" respond "TM10BP=" "y\r"
respond "340P=" "n\r" respond "340P=" "n\r"
} }
@@ -175,12 +175,7 @@ proc patch_lisp {} {
} }
proc translate_diagnostics {} { proc translate_diagnostics {} {
respond "*" "\033\024" # KL10 doesn't need any translations.
respond " " "dsk: maint; part f, part f.old\r"
respond "*" "\033\024"
respond " " "dsk: maint; part g, part g.old\r"
respond "*" "\033\024"
respond " " "dsk: maint; part k, part k.old\r"
} }
proc patch_clib_16 {} { proc patch_clib_16 {} {
@@ -205,9 +200,9 @@ proc copy_to_klfe {file} {
} }
proc comsat_switches {} { proc comsat_switches {} {
respond "Limit to KA-10 instructions" "y\r" respond "Limit to KA-10 instructions" "n\r"
} }
proc dqxdev_switches {} { proc dqxdev_switches {} {
respond "Limit to KA-10 instructions" "y\r" respond "Limit to KA-10 instructions" "n\r"
} }

View File

@@ -1135,7 +1135,7 @@ respond "*" ":midas;324 sys;ts 10run_sysen2; 10run\r"
expect ":KILL" expect ":KILL"
respond "*" ":job maint\r" respond "*" ":job maint\r"
# KA10 needs the .OLD files. # KA10 needs the .OLD files. KL10 and KS10 the newer.
translate_diagnostics translate_diagnostics
respond "*" ":load maint; part a\r" respond "*" ":load maint; part a\r"
respond "*" ":start\r" respond "*" ":start\r"

View File

@@ -1,19 +1,19 @@
set console wru=034 set console wru=034
set cpu its set cpu its
set cpu 512k set cpu 2048k
set dpa dis
set dpb dis
set rpb dis set rpb dis
set tua dis set tua dis
set fha dis
set dpb dis
set lpt dis set lpt dis
set cr dis
set dc disable set dc disable
set dtc dis set pd ena
set dk dis set pd on
set pd off set mta type=b
at mta0 out/pdp10-kl/minsrc.tape at mta0 out/pdp10-kl/minsrc.tape
set rpa0 rp04
set rpa1 rp04
set rpa2 rp04
at rpa0 out/pdp10-kl/rp04.0 at rpa0 out/pdp10-kl/rp04.0
at rpa1 out/pdp10-kl/rp04.1
at rpa2 out/pdp10-kl/rp04.2
load -i bin/kl10/boot/@.ddt load -i bin/kl10/boot/@.ddt
go go

View File

@@ -1,22 +1,17 @@
set console wru=034 set console wru=034
set cpu its set cpu its
set cpu 512k set cpu 2048k
set dpa dis
set dpb dis
set rpb dis set rpb dis
set tua dis set tua dis
set fha dis
set dpb dis
set lpt dis set lpt dis
set cr dis
set dc disable set dc disable
set dtc dis
set dk dis
set pd ena set pd ena
set pd on set pd on
set mta mpx=7
set mta type=b set mta type=b
at mta0 out/pdp10-kl/sources.tape at mta0 out/pdp10-kl/sources.tape
set rpa0 rp04
set rpa1 rp04
set rpa2 rp04
at rpa0 out/pdp10-kl/rp04.0 at rpa0 out/pdp10-kl/rp04.0
at rpa1 out/pdp10-kl/rp04.1 at rpa1 out/pdp10-kl/rp04.1
at rpa2 out/pdp10-kl/rp04.2 at rpa2 out/pdp10-kl/rp04.2

View File

@@ -3,7 +3,7 @@ set out "out/$env(EMULATOR)"
set emulator_escape "\034" set emulator_escape "\034"
proc start_salv {} { proc start_salv {} {
uplevel #0 {spawn ./tools/sims/BIN/pdp10-ka build/pdp10-kl/init} uplevel #0 {spawn ./tools/sims/BIN/pdp10-kl build/pdp10-kl/init}
setup_timeout setup_timeout
respond "MAGDMP\r\n" "l\033ddt\r" respond "MAGDMP\r\n" "l\033ddt\r"
respond "\n" "t\033salv bin\r" respond "\n" "t\033salv bin\r"
@@ -17,7 +17,7 @@ proc start_dskdmp args {
} { } {
set ini "build/pdp10-kl/boot2" set ini "build/pdp10-kl/boot2"
} }
set foo "spawn ./tools/sims/BIN/pdp10-ka $ini" set foo "spawn ./tools/sims/BIN/pdp10-kl $ini"
uplevel #0 $foo uplevel #0 $foo
setup_timeout setup_timeout
} }

View File

@@ -480,21 +480,19 @@ TERMIN
] ;MC ] ;MC
IFE MCOND KL,[ IFE MCOND KL,[
DEFOPT KA10P==1 DEFOPT KL10P==1 ;KL IS NOW A KL10
DEFOPT MAXJ==120. ;MAX NUMBER OF JOBS ALLOWED DEFOPT MAXJ==120. ;MAX NUMBER OF JOBS ALLOWED
DEFOPT SWBLK==1 ;1 => SWAP BLOCKING, 0 => PRIVILEGED USER DEFOPT SWBLK==1 ;1 => SWAP BLOCKING, 0 => PRIVILEGED USER
DEFOPT SWPWSP==0 ;NO WORKING-SET SWAP SCHEDULER DEFOPT SWPWSP==0 ;NO WORKING-SET SWAP SCHEDULER
DEFOPT PAGPRE==1 ;PAGE-IN PREEMPTION DEFOPT PAGPRE==1 ;PAGE-IN PREEMPTION
DEFOPT SCHBLN==20. ;NUMBER OF RUNNABLE JOBS TO REMEMBER DEFOPT SCHBLN==20. ;NUMBER OF RUNNABLE JOBS TO REMEMBER
DEFOPT NQS==3 ;# OF DISK UNITS DEFOPT NQS==3 ;# OF DISK UNITS (3 RP04'S)
DEFOPT NQCHN==50. ;NUMBER 2314 CHNLS
DEFOPT RP04P==1
DEFOPT RP06P==0
DEFOPT NTUTBL==2 ;TUTS ARE TWO BLOCKS LONG DEFOPT NTUTBL==2 ;TUTS ARE TWO BLOCKS LONG
DEFSYM NUDSL==500. ;# USER DIRECTORIES ON DISK DEFSYM NUDSL==500. ;# USER DIRECTORIES ON DISK
DEFOPT NQCHN==50. ;NUMBER 2314 CHNLS
DEFOPT RH10P==1 ;HAS DEC RH10 DISK CONTROL (RP04) DEFOPT RH10P==1 ;HAS DEC RH10 DISK CONTROL (RP04)
;DEFOPT T300P==3 ;TRIDENT T-300S VIA PDP-11 START AT DRIVE 3 DEFOPT RP04P==1 ; WITH RP04 DISKS
DEFOPT QRDCMP==0 ;SOFTWARE READ-COMPARE, HARDWARE IS PINING FOR THE DEFOPT QRDCMP==0 ;SOFTWARE READ-COMPARE, HARDWARE IS PINING FOR THE
; FJORDS (But this isn't debugged yet.) ; FJORDS (But this isn't debugged yet.)
DEFOPT DMDSK==1 ;USES DM DISK FORMAT DEFOPT DMDSK==1 ;USES DM DISK FORMAT
@@ -502,44 +500,40 @@ DEFOPT QRSRVP==1 ;HAS RESERVED DISK PACKS
DEFOPT QAUTHP==1 ;KEEPS TRACK OF FILE AUTHORS DEFOPT QAUTHP==1 ;KEEPS TRACK OF FILE AUTHORS
DEFOPT NMTCS==1 ;NUMBER MAG TAPE UNITS DEFOPT NMTCS==1 ;NUMBER MAG TAPE UNITS
DEFOPT TM10A==0 ;IO-BUS MAG TAPE DEFOPT TM10B==1 ;DF10-BASED TAPE CONTROLLER
DEFOPT TM10B==1 ;IO-BUS MAG TAPE
;DEFOPT DL10P==1 ;HAS DL10/DC76 TTY CONTROLLER DEFOPT DL10P==0 ;HAS NO DL10/DC76 TTY CONTROLLER
DEFOPT PDCLKP==1 ;HAS "DeCoriolis" CLOCK DEFOPT PDCLKP==1 ;HAS "DeCoriolis" CLOCK
;DEFOPT NETP==1 ; Has net connection DEFOPT NETP==1 ; Has net connection
;DEFOPT INETP==1 ; Include Internet IP code DEFOPT INETP==1 ; Include Internet IP code
;DEFOPT TCPP==1 ; Include Internet TCP code DEFOPT TCPP==1 ; Include Internet TCP code
;DEFOPT XBL==25. ; # TCP connections DEFOPT XBL==25. ; # TCP connections
;DEFOPT IMPP==1 ; Has IMP interface DEFOPT IMPP==1 ; Has IMP interface
;DEFOPT KAIMP==1 DEFOPT KAIMP==1
;DEFOPT IMPUS==106 ; ARPA net host number DEFOPT IMPUS==106 ; ARPA net host number
;DEFOPT IMPUS3==<IPADDR 10,1,0,6> ; Internet host number DEFOPT IMPUS3==<IPADDR 192,168,1,100> ; Internet host number
;DEFOPT NCPP==0 ; Flush NCP code DEFOPT NCPP==0 ; Flush NCP code
;DEFOPT NNETCH==30. ; # NCP network channels DEFOPT NNETCH==30. ; # NCP network channels
;DEFOPT CHAOSP==1 ;HAS CHAOS NET DEFOPT CHAOSP==0 ;NO CHAOS NET
;DEFOPT MYCHAD==1440 ;CHAOS NET ADDRESS DEFOPT MYCHAD==1440 ;CHAOS NET ADDRESS
;DEFOPT NINDX==50. ;NUMBER OF INDICES DEFOPT NINDX==50. ;NUMBER OF INDICES
;DEFOPT DLCP==1 ;CHAOS NET GOES THROUGH DL10
DEFOPT NOTYS==1 ;# KA-10 CONSOLE 0 TTYS DEFOPT NOTYS==0 ;# KA-10 CONSOLE 0 TTYS
;DEFOPT NETYS==33. ;# KL-10 DTE20 TTYS DEFOPT NETYS==16. ;# KL-10 DTE20 TTYS
;NEWDTE==1 ;TEMPORARY CONDITIONAL TO ENABLE NEW DTE20 PROTOCOL NEWDTE==1 ;TEMPORARY CONDITIONAL TO ENABLE NEW DTE20 PROTOCOL
;DEFOPT NDLTYS==4. ;# TTYS ON DL10/DC76
;Note: 3d TTY on DL10 is VT52 by console.
DEFOPT NSTTYS==25. ;# OF STY'S (PSEUDO-TTY'S) DEFOPT NSTTYS==25. ;# OF STY'S (PSEUDO-TTY'S)
DEFOPT TSYSM==512. ;TOTAL PDP10 1K MEM BLOCKS DEFOPT TSYSM==2048. ;TOTAL PDP10 1K MEM BLOCKS
DEFOPT NMMP==4 ;# EXEC PAGES FOR MMP TABLE (# VIR PGS/512.) DEFOPT NMMP==7 ;# EXEC PAGES FOR MMP TABLE (# VIR PGS/512.)
DEFSYM PMRCM==1777 ;10 BIT REAL CORE ADR DEFSYM PMRCM==7777 ;12 BIT REAL CORE ADDR
DEFSYM PMAGEM==16000 ;3 BIT AGE DEFSYM PMCSHM==10000 ;CACHE ENABLE BIT
DEFSYM PMCSHM==0 ;NO CACHE BIT DEFSYM PMAGEM==160000 ;3 BIT AGE
DEFSYM PMUNSD==160000 ;UNUSED BITS DEFSYM PMUNSD==0 ;NO UNUSED BITS
DEFINE ITSIRP BODY DEFINE ITSIRP BODY
IRPS ITS,,[MX] IRPS ITS,,[MC]
BODY BODY
TERMIN TERMIN
TERMIN TERMIN

View File

@@ -1,20 +1,16 @@
set console wru=034 set console wru=034
set cpu its set cpu its
set cpu 512k set cpu 512k
set dpa dis
set dpb dis
set rpb dis set rpb dis
set tua dis set tua dis
set fha dis
set dpb dis
set lpt dis set lpt dis
set cr dis
set dc disable set dc disable
set dtc dis set mta type=a
set dk dis
at mta0 out/pdp10-kl/kl-magdmp.tap at mta0 out/pdp10-kl/kl-magdmp.tap
at mta5 out/pdp10-kl/kl-minsys.tape at mta5 out/pdp10-kl/kl-minsys.tape
set rpa rp04 set rpa0 rp04
set rpa1 rp04
set rpa2 rp04
at rpa0 out/pdp10-kl/rp04.0 at rpa0 out/pdp10-kl/rp04.0
at rpa1 out/pdp10-kl/rp04.1 at rpa1 out/pdp10-kl/rp04.1
at rpa2 out/pdp10-kl/rp04.2 at rpa2 out/pdp10-kl/rp04.2

View File

@@ -1,25 +1,22 @@
set console wru=034 set console wru=034
set cpu its set cpu its
set cpu idle set cpu idle
set cpu 512k set cpu 2048k
set dpa dis
set dpb dis
set rpb dis set rpb dis
set tua dis set tua dis
set fha dis
set dpb dis
set lpt dis set lpt dis
set cr dis
set dc disable set dc disable
set dtc dis set tty enabled
set dk dis set tty 8b lines=16
at tty 10007
set pd ena set pd ena
set pd on set pd on
set mta mpx=7
set mta type=b set mta type=b
set rpa rp04 set rpa0 rp04
set rpa1 rp04
set rpa2 rp04
at rpa0 out/pdp10-kl/rp04.0 at rpa0 out/pdp10-kl/rp04.0
at rpa1 out/pdp10-kl/rp04.1 at rpa1 out/pdp10-kl/rp04.1
at rpa2 out/pdp10-kl/rp04.2 at rpa2 out/pdp10-kl/rp04.2
load -i @.ddt load -i bin/kl10/boot/@.ddt
go go

View File

@@ -17,15 +17,10 @@ stop() {
echo "OK" echo "OK"
} }
gt40() {
(sleep 3; tools/simh/BIN/pdp11 build/pdp10-ka/gt40 >gt40.log 2>&1) &
started GT40 "$!"
}
while test -n "$1"; do while test -n "$1"; do
"$1" "$1"
shift shift
done done
tools/sims/BIN/pdp10-ka build/pdp10-kl/run tools/sims/BIN/pdp10-kl build/pdp10-kl/run
exit 0 exit 0

View File

@@ -163,23 +163,23 @@ PRINTX /Which machine? /
NUNITS==6 NUNITS==6
];MC ];MC
IFCE MCHN,KL,[ IFCE MCHN,KL,[
;SA==105*2000 ; MC system is big, need to push SALV higher. SA==105*2000 ; KL system is big, need to push SALV higher.
FIRSPK==0 FIRSPK==0
LASTPK==2 LASTPK==2
NUDSL==500. NUDSL==500.
DC10P==0 DC10P==0
RP10P==0 RP10P==0
RP04P==1 RP04P==1
RP06P==0 RP06P==0
RH10P==1 RH10P==1
T300P==0 ;UNIT 3 IS FIRST T-300 UNIT T300P==0
KL10P==0 KL10P==1
OLPTP==0 OLPTP==0
NLPTP==0 NLPTP==0
TTLPTP==0 ;NO LPT AT ALL TTLPTP==0 ;NO LPT AT ALL
TCMXH==100. ;LA36 TCMXH==100. ;LA36
LIGHTS==4 ;KL-UDGE LIGHTS==500 ;KL-UDGE
NDRIVE==3 ;8 DOESN'T FIT IN 128K NDRIVE==3
NUNITS==3 NUNITS==3
];KL ];KL
IFCE MCHN,EX,[ IFCE MCHN,EX,[

View File

@@ -327,8 +327,22 @@ MCONDX MC,{ ;;; MC
.ENDC ;} .ENDC ;}
MCONDX KL,{ ;;; KL MCONDX KL,{ ;;; KL
TTDLA36 0,TT=%TTLCL,HOR=80.,SPEED=110 ;T00 System Console TTDLA36 0,TT=%TTLCL,HOR=110. ;T00 System Console
TTDAAA 1,SPEED=9600 ;T01 TTDAAA 1,SPEED=9600 ;T01
TTDAAA 2,SPEED=9600 ;T02
TTDAAA 3,SPEED=9600 ;T03
TTDAAA 4,SPEED=9600 ;T04
TTDAAA 5,SPEED=9600 ;T05
TTDAAA 6,SPEED=9600 ;T06
TTDAAA 7,SPEED=9600 ;T07
TTDAAA 10,SPEED=9600 ;T10
TTDAAA 11,SPEED=9600 ;T11
TTDAAA 12,SPEED=9600 ;T12
TTDAAA 13,SPEED=9600 ;T13
TTDAAA 14,SPEED=9600 ;T14
TTDAAA 15,SPEED=9600 ;T15
TTDAAA 16,SPEED=9600 ;T16
TTDAAA 17,SPEED=9600 ;T17
.ENDC ;} .ENDC ;}
REPEAT NSTTYS,[ REPEAT NSTTYS,[