mirror of
https://github.com/PDP-10/its.git
synced 2026-01-11 23:53:12 +00:00
Build ITS with KL10 simulator.
This commit is contained in:
parent
ed41d2fce8
commit
50b95c1241
4
Makefile
4
Makefile
@ -57,7 +57,7 @@ DSKDMP = bin/ks10/boot/dskdmp.rp06
|
||||
KLH10=tools/klh10/tmp/bld-ks-its/kn10-ks-its
|
||||
SIMH=tools/simh/BIN/pdp10
|
||||
KA10=tools/sims/BIN/pdp10-ka
|
||||
KL10=tools/sims/BIN/pdp10-ka
|
||||
KL10=tools/sims/BIN/pdp10-kl
|
||||
ITSTAR=tools/itstar/itstar
|
||||
WRITETAPE=tools/tapeutils/tapewrite
|
||||
MAGFRM=tools/dasm/magfrm
|
||||
@ -240,7 +240,7 @@ $(KA10):
|
||||
$(MAKE) -C tools/sims pdp10-ka
|
||||
|
||||
$(KL10):
|
||||
$(MAKE) -C tools/sims pdp10-ka
|
||||
$(MAKE) -C tools/sims pdp10-kl
|
||||
|
||||
$(ITSTAR):
|
||||
$(MAKE) -C tools/itstar
|
||||
|
||||
25
README.md
25
README.md
@ -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:
|
||||
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
|
||||
type `make EMULATOR=simh`, `make EMULATOR=pdp10-ka`, or `make
|
||||
EMULATOR=klh10`. This will leave built files in the `out` directory,
|
||||
one of which is a disk image with ITS installed.
|
||||
type `make EMULATOR=simh`, `make EMULATOR=pdp10-ka`, `make
|
||||
EMULATOR=pdp10-kl`, or `make EMULATOR=klh10`. This will leave built
|
||||
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
|
||||
Enter. When you see the `DSKDMP` prompt, type `its`, press Enter, and
|
||||
then `ESC g`. Eventually, you will see `SYSTEM JOB USING THIS
|
||||
CONSOLE`. You are now 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`.
|
||||
Enter. If you see the `DSKDMP` prompt, type `its`, press Enter, and
|
||||
then `ESC g`. If you use the `pdp10-kl` emulator there is no prompt
|
||||
and you need to type `Esc L ITS`, press Enter, and then `ESC g`.
|
||||
Eventually, you will see `SYSTEM JOB USING THIS CONSOLE`. You are now
|
||||
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
|
||||
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
|
||||
|
||||
Currently, networking is only supported under the KLH10 and SIMH KA10
|
||||
emulators. The SIMH KS10 does not have the necessary support. As of
|
||||
this release, only the ITS monitor, host table tools, and binary host
|
||||
table are installed.
|
||||
and KL10 emulators. The SIMH KS10 does not have the necessary
|
||||
support. As of this release, only the ITS monitor, host table tools,
|
||||
and binary host table are installed.
|
||||
|
||||
Currently, basic TCP network support is in the build, in addition to
|
||||
both a TELNET/SUPDUP server, and both TELNET and SUPDUP clients.
|
||||
|
||||
BIN
bin/kl10/_/@.ddt
BIN
bin/kl10/_/@.ddt
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -21,7 +21,7 @@ proc mark_packs {} {
|
||||
respond "UNIT #" "0"
|
||||
respond "#0?" "y"
|
||||
respond "NO =" "0\r"
|
||||
expect -timeout 300 "VERIFY"
|
||||
expect -timeout 300 "VERIFICATION BEGINS"
|
||||
respond "ALLOC =" "3000\r"
|
||||
respond "PACK ID =" "0\r"
|
||||
|
||||
@ -29,7 +29,7 @@ proc mark_packs {} {
|
||||
respond "UNIT #" "1"
|
||||
respond "#1?" "y"
|
||||
respond "NO =" "1\r"
|
||||
expect -timeout 300 "VERIFY"
|
||||
expect -timeout 300 "VERIFICATION BEGINS"
|
||||
respond "ALLOC =" "3000\r"
|
||||
respond "PACK ID =" "1\r"
|
||||
|
||||
@ -37,7 +37,7 @@ proc mark_packs {} {
|
||||
respond "UNIT #" "2"
|
||||
respond "#2?" "y"
|
||||
respond "NO =" "2\r"
|
||||
expect -timeout 300 "VERIFY"
|
||||
expect -timeout 300 "VERIFICATION BEGINS"
|
||||
respond "ALLOC =" "3000\r"
|
||||
respond "PACK ID =" "2\r"
|
||||
}
|
||||
@ -55,8 +55,8 @@ proc its_switches {} {
|
||||
proc make_ntsddt {} {
|
||||
# KL10 NTSDDT.
|
||||
respond "*" ":midas dsk0:.;@ ddt_system;ddt\r"
|
||||
respond "cpusw=" "0\r"
|
||||
respond "ndsk=" "1\r"
|
||||
respond "cpusw=" "2\r"
|
||||
respond "ndsk=" "3\r"
|
||||
respond "dsksw=" "3\r"
|
||||
respond "dsktp=" "0\r"
|
||||
respond "1PRSW=" "0\r"
|
||||
@ -84,7 +84,7 @@ proc make_dskdmp {} {
|
||||
respond "R10R6P=" "N\r"
|
||||
respond "NUDSL=" "500.\r"
|
||||
respond "KS10P=" "N\r"
|
||||
respond "KL10P=" "N\r"
|
||||
respond "KL10P=" "Y\r"
|
||||
expect ":KILL"
|
||||
}
|
||||
|
||||
@ -129,7 +129,7 @@ proc dump_nits {} {
|
||||
}
|
||||
|
||||
proc magdmp_switches {} {
|
||||
respond "KL10P=" "n\r"
|
||||
respond "KL10P=" "y\r"
|
||||
respond "TM10BP=" "y\r"
|
||||
respond "340P=" "n\r"
|
||||
}
|
||||
@ -175,12 +175,7 @@ proc patch_lisp {} {
|
||||
}
|
||||
|
||||
proc translate_diagnostics {} {
|
||||
respond "*" "\033\024"
|
||||
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"
|
||||
# KL10 doesn't need any translations.
|
||||
}
|
||||
|
||||
proc patch_clib_16 {} {
|
||||
@ -205,9 +200,9 @@ proc copy_to_klfe {file} {
|
||||
}
|
||||
|
||||
proc comsat_switches {} {
|
||||
respond "Limit to KA-10 instructions" "y\r"
|
||||
respond "Limit to KA-10 instructions" "n\r"
|
||||
}
|
||||
|
||||
proc dqxdev_switches {} {
|
||||
respond "Limit to KA-10 instructions" "y\r"
|
||||
respond "Limit to KA-10 instructions" "n\r"
|
||||
}
|
||||
|
||||
@ -1135,7 +1135,7 @@ respond "*" ":midas;324 sys;ts 10run_sysen2; 10run\r"
|
||||
expect ":KILL"
|
||||
|
||||
respond "*" ":job maint\r"
|
||||
# KA10 needs the .OLD files.
|
||||
# KA10 needs the .OLD files. KL10 and KS10 the newer.
|
||||
translate_diagnostics
|
||||
respond "*" ":load maint; part a\r"
|
||||
respond "*" ":start\r"
|
||||
|
||||
@ -1,19 +1,19 @@
|
||||
set console wru=034
|
||||
set cpu its
|
||||
set cpu 512k
|
||||
set dpa dis
|
||||
set dpb dis
|
||||
set cpu 2048k
|
||||
set rpb dis
|
||||
set tua dis
|
||||
set fha dis
|
||||
set dpb dis
|
||||
set lpt dis
|
||||
set cr dis
|
||||
set dc disable
|
||||
set dtc dis
|
||||
set dk dis
|
||||
set pd off
|
||||
set pd ena
|
||||
set pd on
|
||||
set mta type=b
|
||||
at mta0 out/pdp10-kl/minsrc.tape
|
||||
set rpa0 rp04
|
||||
set rpa1 rp04
|
||||
set rpa2 rp04
|
||||
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
|
||||
go
|
||||
|
||||
@ -1,22 +1,17 @@
|
||||
set console wru=034
|
||||
set cpu its
|
||||
set cpu 512k
|
||||
set dpa dis
|
||||
set dpb dis
|
||||
set cpu 2048k
|
||||
set rpb dis
|
||||
set tua dis
|
||||
set fha dis
|
||||
set dpb dis
|
||||
set lpt dis
|
||||
set cr dis
|
||||
set dc disable
|
||||
set dtc dis
|
||||
set dk dis
|
||||
set pd ena
|
||||
set pd on
|
||||
set mta mpx=7
|
||||
set mta type=b
|
||||
at mta0 out/pdp10-kl/sources.tape
|
||||
set rpa0 rp04
|
||||
set rpa1 rp04
|
||||
set rpa2 rp04
|
||||
at rpa0 out/pdp10-kl/rp04.0
|
||||
at rpa1 out/pdp10-kl/rp04.1
|
||||
at rpa2 out/pdp10-kl/rp04.2
|
||||
|
||||
@ -3,7 +3,7 @@ set out "out/$env(EMULATOR)"
|
||||
set emulator_escape "\034"
|
||||
|
||||
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
|
||||
respond "MAGDMP\r\n" "l\033ddt\r"
|
||||
respond "\n" "t\033salv bin\r"
|
||||
@ -17,7 +17,7 @@ proc start_dskdmp args {
|
||||
} {
|
||||
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
|
||||
setup_timeout
|
||||
}
|
||||
|
||||
@ -480,21 +480,19 @@ TERMIN
|
||||
] ;MC
|
||||
|
||||
IFE MCOND KL,[
|
||||
DEFOPT KA10P==1
|
||||
DEFOPT KL10P==1 ;KL IS NOW A KL10
|
||||
DEFOPT MAXJ==120. ;MAX NUMBER OF JOBS ALLOWED
|
||||
DEFOPT SWBLK==1 ;1 => SWAP BLOCKING, 0 => PRIVILEGED USER
|
||||
DEFOPT SWPWSP==0 ;NO WORKING-SET SWAP SCHEDULER
|
||||
DEFOPT PAGPRE==1 ;PAGE-IN PREEMPTION
|
||||
DEFOPT SCHBLN==20. ;NUMBER OF RUNNABLE JOBS TO REMEMBER
|
||||
|
||||
DEFOPT NQS==3 ;# OF DISK UNITS
|
||||
DEFOPT NQCHN==50. ;NUMBER 2314 CHNLS
|
||||
DEFOPT RP04P==1
|
||||
DEFOPT RP06P==0
|
||||
DEFOPT NQS==3 ;# OF DISK UNITS (3 RP04'S)
|
||||
DEFOPT NTUTBL==2 ;TUTS ARE TWO BLOCKS LONG
|
||||
DEFSYM NUDSL==500. ;# USER DIRECTORIES ON DISK
|
||||
DEFOPT NQCHN==50. ;NUMBER 2314 CHNLS
|
||||
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
|
||||
; FJORDS (But this isn't debugged yet.)
|
||||
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 NMTCS==1 ;NUMBER MAG TAPE UNITS
|
||||
DEFOPT TM10A==0 ;IO-BUS MAG TAPE
|
||||
DEFOPT TM10B==1 ;IO-BUS MAG TAPE
|
||||
DEFOPT TM10B==1 ;DF10-BASED TAPE CONTROLLER
|
||||
|
||||
;DEFOPT DL10P==1 ;HAS DL10/DC76 TTY CONTROLLER
|
||||
DEFOPT DL10P==0 ;HAS NO DL10/DC76 TTY CONTROLLER
|
||||
DEFOPT PDCLKP==1 ;HAS "DeCoriolis" CLOCK
|
||||
|
||||
;DEFOPT NETP==1 ; Has net connection
|
||||
;DEFOPT INETP==1 ; Include Internet IP code
|
||||
;DEFOPT TCPP==1 ; Include Internet TCP code
|
||||
;DEFOPT XBL==25. ; # TCP connections
|
||||
;DEFOPT IMPP==1 ; Has IMP interface
|
||||
;DEFOPT KAIMP==1
|
||||
;DEFOPT IMPUS==106 ; ARPA net host number
|
||||
;DEFOPT IMPUS3==<IPADDR 10,1,0,6> ; Internet host number
|
||||
;DEFOPT NCPP==0 ; Flush NCP code
|
||||
;DEFOPT NNETCH==30. ; # NCP network channels
|
||||
;DEFOPT CHAOSP==1 ;HAS CHAOS NET
|
||||
;DEFOPT MYCHAD==1440 ;CHAOS NET ADDRESS
|
||||
;DEFOPT NINDX==50. ;NUMBER OF INDICES
|
||||
;DEFOPT DLCP==1 ;CHAOS NET GOES THROUGH DL10
|
||||
DEFOPT NETP==1 ; Has net connection
|
||||
DEFOPT INETP==1 ; Include Internet IP code
|
||||
DEFOPT TCPP==1 ; Include Internet TCP code
|
||||
DEFOPT XBL==25. ; # TCP connections
|
||||
DEFOPT IMPP==1 ; Has IMP interface
|
||||
DEFOPT KAIMP==1
|
||||
DEFOPT IMPUS==106 ; ARPA net host number
|
||||
DEFOPT IMPUS3==<IPADDR 192,168,1,100> ; Internet host number
|
||||
DEFOPT NCPP==0 ; Flush NCP code
|
||||
DEFOPT NNETCH==30. ; # NCP network channels
|
||||
DEFOPT CHAOSP==0 ;NO CHAOS NET
|
||||
DEFOPT MYCHAD==1440 ;CHAOS NET ADDRESS
|
||||
DEFOPT NINDX==50. ;NUMBER OF INDICES
|
||||
|
||||
DEFOPT NOTYS==1 ;# KA-10 CONSOLE 0 TTYS
|
||||
;DEFOPT NETYS==33. ;# KL-10 DTE20 TTYS
|
||||
;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 NOTYS==0 ;# KA-10 CONSOLE 0 TTYS
|
||||
DEFOPT NETYS==16. ;# KL-10 DTE20 TTYS
|
||||
NEWDTE==1 ;TEMPORARY CONDITIONAL TO ENABLE NEW DTE20 PROTOCOL
|
||||
DEFOPT NSTTYS==25. ;# OF STY'S (PSEUDO-TTY'S)
|
||||
|
||||
DEFOPT TSYSM==512. ;TOTAL PDP10 1K MEM BLOCKS
|
||||
DEFOPT NMMP==4 ;# EXEC PAGES FOR MMP TABLE (# VIR PGS/512.)
|
||||
DEFOPT TSYSM==2048. ;TOTAL PDP10 1K MEM BLOCKS
|
||||
DEFOPT NMMP==7 ;# EXEC PAGES FOR MMP TABLE (# VIR PGS/512.)
|
||||
|
||||
DEFSYM PMRCM==1777 ;10 BIT REAL CORE ADR
|
||||
DEFSYM PMAGEM==16000 ;3 BIT AGE
|
||||
DEFSYM PMCSHM==0 ;NO CACHE BIT
|
||||
DEFSYM PMUNSD==160000 ;UNUSED BITS
|
||||
DEFSYM PMRCM==7777 ;12 BIT REAL CORE ADDR
|
||||
DEFSYM PMCSHM==10000 ;CACHE ENABLE BIT
|
||||
DEFSYM PMAGEM==160000 ;3 BIT AGE
|
||||
DEFSYM PMUNSD==0 ;NO UNUSED BITS
|
||||
|
||||
DEFINE ITSIRP BODY
|
||||
IRPS ITS,,[MX]
|
||||
IRPS ITS,,[MC]
|
||||
BODY
|
||||
TERMIN
|
||||
TERMIN
|
||||
|
||||
@ -1,20 +1,16 @@
|
||||
set console wru=034
|
||||
set cpu its
|
||||
set cpu 512k
|
||||
set dpa dis
|
||||
set dpb dis
|
||||
set rpb dis
|
||||
set tua dis
|
||||
set fha dis
|
||||
set dpb dis
|
||||
set lpt dis
|
||||
set cr dis
|
||||
set dc disable
|
||||
set dtc dis
|
||||
set dk dis
|
||||
set mta type=a
|
||||
at mta0 out/pdp10-kl/kl-magdmp.tap
|
||||
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 rpa1 out/pdp10-kl/rp04.1
|
||||
at rpa2 out/pdp10-kl/rp04.2
|
||||
|
||||
@ -1,25 +1,22 @@
|
||||
set console wru=034
|
||||
set cpu its
|
||||
set cpu idle
|
||||
set cpu 512k
|
||||
set dpa dis
|
||||
set dpb dis
|
||||
set cpu 2048k
|
||||
set rpb dis
|
||||
set tua dis
|
||||
set fha dis
|
||||
set dpb dis
|
||||
set lpt dis
|
||||
set cr dis
|
||||
set dc disable
|
||||
set dtc dis
|
||||
set dk dis
|
||||
set tty enabled
|
||||
set tty 8b lines=16
|
||||
at tty 10007
|
||||
set pd ena
|
||||
set pd on
|
||||
set mta mpx=7
|
||||
set mta type=b
|
||||
set rpa rp04
|
||||
set rpa0 rp04
|
||||
set rpa1 rp04
|
||||
set rpa2 rp04
|
||||
at rpa0 out/pdp10-kl/rp04.0
|
||||
at rpa1 out/pdp10-kl/rp04.1
|
||||
at rpa2 out/pdp10-kl/rp04.2
|
||||
load -i @.ddt
|
||||
load -i bin/kl10/boot/@.ddt
|
||||
go
|
||||
|
||||
@ -17,15 +17,10 @@ stop() {
|
||||
echo "OK"
|
||||
}
|
||||
|
||||
gt40() {
|
||||
(sleep 3; tools/simh/BIN/pdp11 build/pdp10-ka/gt40 >gt40.log 2>&1) &
|
||||
started GT40 "$!"
|
||||
}
|
||||
|
||||
while test -n "$1"; do
|
||||
"$1"
|
||||
shift
|
||||
done
|
||||
|
||||
tools/sims/BIN/pdp10-ka build/pdp10-kl/run
|
||||
tools/sims/BIN/pdp10-kl build/pdp10-kl/run
|
||||
exit 0
|
||||
|
||||
@ -163,23 +163,23 @@ PRINTX /Which machine? /
|
||||
NUNITS==6
|
||||
];MC
|
||||
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
|
||||
LASTPK==2
|
||||
NUDSL==500.
|
||||
DC10P==0
|
||||
RP10P==0
|
||||
RP04P==1
|
||||
RP06P==0
|
||||
RP06P==0
|
||||
RH10P==1
|
||||
T300P==0 ;UNIT 3 IS FIRST T-300 UNIT
|
||||
KL10P==0
|
||||
T300P==0
|
||||
KL10P==1
|
||||
OLPTP==0
|
||||
NLPTP==0
|
||||
TTLPTP==0 ;NO LPT AT ALL
|
||||
TCMXH==100. ;LA36
|
||||
LIGHTS==4 ;KL-UDGE
|
||||
NDRIVE==3 ;8 DOESN'T FIT IN 128K
|
||||
LIGHTS==500 ;KL-UDGE
|
||||
NDRIVE==3
|
||||
NUNITS==3
|
||||
];KL
|
||||
IFCE MCHN,EX,[
|
||||
@ -327,8 +327,22 @@ MCONDX MC,{ ;;; MC
|
||||
.ENDC ;}
|
||||
|
||||
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 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 ;}
|
||||
|
||||
REPEAT NSTTYS,[
|
||||
@ -1 +1 @@
|
||||
Subproject commit 8e10ec9d1ef337f29ed8954af1533ae6df854a04
|
||||
Subproject commit eeae1be5f11cd430da68a4f08b8c1380777bb7db
|
||||
Loading…
x
Reference in New Issue
Block a user