diff --git a/.gitmodules b/.gitmodules index 00aa1702..d93401d0 100644 --- a/.gitmodules +++ b/.gitmodules @@ -19,3 +19,6 @@ [submodule "tools/mldev"] path = tools/mldev url = https://github.com/larsbrinkhoff/mldev +[submodule "tools/sims"] + path = tools/sims + url = https://github.com/rcornwell/sims diff --git a/.travis.yml b/.travis.yml index c6d4cd83..4946dcea 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,6 +4,7 @@ sudo: required env: - EMULATOR=simh - EMULATOR=klh10 + - EMULATOR=sims install: sh -ex build/dependencies.sh install_${TRAVIS_OS_NAME:-linux} script: make notifications: diff --git a/Makefile b/Makefile index bcd399b8..f28bb80e 100644 --- a/Makefile +++ b/Makefile @@ -18,21 +18,40 @@ DSKDMP = bin/ks10/boot/dskdmp.rp06 KLH10=${PWD}/tools/klh10/tmp/bld-ks-its/kn10-ks-its SIMH=${PWD}/tools/simh/BIN/pdp10 +KA10=${PWD}/tools/sims/BIN/ka10 ITSTAR=${PWD}/tools/itstar/itstar WRITETAPE=${PWD}/tools/tapeutils/tapewrite +MAGFRM=${PWD}/tools/dasm/magfrm H3TEXT=$(shell cd build; ls h3text.*) -all: out/rp0.dsk tools/supdup/supdup +all: out/$(EMULATOR).stamp tools/supdup/supdup + +out/klh10.stamp out/simh.stamp: out/rp0.dsk + touch $@ + +out/sims.stamp: out/rp03.2 out/rp03.3 + touch $@ out/rp0.dsk: build/simh/init out/minsys.tape out/salv.tape out/dskdmp.tape build/build.tcl out/sources.tape build/$(EMULATOR)/stamp PATH=${PWD}/tools/simh/BIN:$$PATH expect -f build/$(EMULATOR)/build.tcl $(IP) $(GW) +out/rp03.2 out/rp03.3: out/ka-minsys.tape out/magdmp.tap out/sources.tape + expect -f build/$(EMULATOR)/build.tcl $(IP) $(GW) + +out/magdmp.tap: $(MAGFRM) + cd bin/ka10/boot; $(MAGFRM) @.ddt @.salv > ../../../$@ + out/minsys.tape: $(ITSTAR) mkdir -p out cd bin/ks10; $(ITSTAR) -cf ../../$@ _ sys cd bin; $(ITSTAR) -rf ../$@ sys +out/ka-minsys.tape: $(ITSTAR) + mkdir -p out + cd bin/ka10; $(ITSTAR) -cf ../../$@ _ sys + cd bin; $(ITSTAR) -rf ../$@ sys + out/sources.tape: $(ITSTAR) build/$(EMULATOR)/stamp src/syshst/$(H3TEXT) mkdir -p out rm -f src/*/*~ @@ -66,6 +85,10 @@ build/simh/stamp: $(SIMH) start cp build/simh/config.* src/system touch $@ +build/sims/stamp: $(KA10) start + cp build/sims/config.* src/system + touch $@ + build/klh10/dskdmp.ini: build/klh10/dskdmp.txt Makefile cp=';'; ca=''; \ test $(CHAOS) != no && cp='' && ca='myaddr=$(CHAOS) $(CHAFRIENDS)'; \ @@ -94,12 +117,18 @@ $(KLH10): $(SIMH): cd tools/simh; make pdp10 +$(KA10): + cd tools/sims; make ka10 TYPE340=y + $(ITSTAR): cd tools/itstar; make $(WRITETAPE): cd tools/tapeutils; make +$(MAGFRM): + cd tools/dasm; make + tools/supdup/supdup: cd tools/supdup; make diff --git a/README.md b/README.md index 0cfe5420..0f9e5847 100644 --- a/README.md +++ b/README.md @@ -49,10 +49,11 @@ we'd be delighted to test this on a real KS10. ### Usage To build ITS with this repository, you need some tools installed: -make, C compiler, and expect. Ensure all submodules are checked out, -and then type `make EMULATOR=simh` or `make EMULATOR=klh10`. This -will leave built files in the `out` directory, one of which is a disk -image with ITS 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=sims`, 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 diff --git a/bin/ka10/_/@.its b/bin/ka10/_/@.its new file mode 100644 index 00000000..cc40695c Binary files /dev/null and b/bin/ka10/_/@.its differ diff --git a/bin/ka10/boot/@.ddt b/bin/ka10/boot/@.ddt new file mode 100644 index 00000000..eaad1154 Binary files /dev/null and b/bin/ka10/boot/@.ddt differ diff --git a/bin/ka10/boot/@.salv b/bin/ka10/boot/@.salv new file mode 100644 index 00000000..d5f3ae7d Binary files /dev/null and b/bin/ka10/boot/@.salv differ diff --git a/bin/ka10/boot/dskdmp.rim b/bin/ka10/boot/dskdmp.rim new file mode 100644 index 00000000..6f48bc0e --- /dev/null +++ b/bin/ka10/boot/dskdmp.rim @@ -0,0 +1 @@ +ฟฟฑ€€€น†€€€ฐฌŒ €€„น‡ €€ˆ• €€€ƒ”ˆ‰ฟฟพน„น€€ˆ•ฐ‰€€ˆ•ฐ‰€€‹žค €€€™€€€—€€€€› €€€•ข€€€•Ÿ €€ƒ• €€€‚ฟฟข€€† €ค•Ž ฟฟพ† €Ÿฟ– ฟฟฟฎ ฟฟนงฐฟผฐ‘˜ฟผฐ•ž €… €ฟผฏŽ €€ž– €€œ €€€ €€€Ÿบฉ ฟฟงบจ €€ƒฐฑ €€• €€—‰ ‚œฌ‘ ฟฟฅ ฟฟฆฉ€ฟฟปฃ‘ขฟฟ •™€€•ฉ˜€ฟฟА ฟฐ€ญ…€ฟฟฅ—€€€…‹€€€ˆ–ฏ€ฟณ‰ญ…€ฟฟฅชต™ฒป‹ฟฟน€ž—€€€†‹€€€ˆ–ฏ€ฟณ‰บซ€ฏป€•ข€€ข• €ฟฐ€€€ฟฐ€”ฒ˜พงฌฟฟข€€ธ‚€ณญจ• €ฟฐ‚•จ ฟผฝˆ‘€ฟผผฉ ฟฟธงฐƒฟผง•™ ฟฐ…† ฟผฟ– ฟฟ‚€ฟฝ€–ฏ€ฟฐง• €ฟดน€€€€€€ €ฟฟฟŸ† ฟฐŒ‹ฎ ฟฝ‚ฟฐ—–ฏ€ฟฐง˜Ž €€‰• €ฟดนน €€ถ†€€€ˆ• €ฟธฌฃญฐฅฒฒคฉฒฆตฌฅฏฆ€€€คฉฒฎฆ€ฆฎฆ€€€ฐซฎญดคฃซณฅฒฒŒ—ณก”ฅฟฟข€žคณซฆตฌฎฏคคด€ŸขตงŸ€ณฅฅซฆฌฃฌฏขฒคฃฌฏขทฒคฉฒฃฌขญฆคฃฌขคณซฌตบ–ฌ ฟด•ˆ €€ –ฌ ฟด‰ ฟฝ‚‹  €€ƒ—ˆ €€ –ฌ ฟด‰ฐ™ ฟ€€• €ฟฐซ• Ž€€€“ˆ €€Š‹ธ ฟฝƒŠ‚ƒ ฟฝ„• €ฟฐซ พฐ€”’ ฟฟถญ…€ฟฟฅ—…ฟผ…• €ฟณ พฐ€ญƒขžฎŠฟฟข€ผญ…€ฟฟฅ–ฏ€ฟฒฟ— €€˜ญ ฟฐ€œฅ€ฟฐฝŠ พฐ€• ‰€€€ญ€ €€ƒ˜จ ฟฟ€˜จ €€ • ‰€€€˜จ พฐ€• ‰€€˜ˆฅ€€€˜˜ฅ€ฟ• €ฟฑŽ—จฅ€• ‰€€š›€ฟฑ–ฏ€ฟฐถ พฐ€‚ €€ ช ฟฐ€‹ญ€ฟฝ…—…€ฟฟฅŠฟผ…–ฏ€ฟณ€• €ฟฑŒ“ˆ €€†’‰€บ€€‘ถšฉฟฃฟฟข€‘šจจขค†€—ˆ ฟ‹• Ž€€€•Ÿ ฟฑก–ฏ€ฟฒ –ฏ€ฟณ„ฏ ฟฐ€šป€ฟฑฆš‹€ฟฑง™’ฟ€€– €ฟฐŒ• ‰€€€›ขฟ€€’ฟ€€• ‰€€€ญ ฟณˆœ €€€˜ฑ €€ˆ‰ €€€ฌ‘ ฟณˆ˜ฑฐฟณ‚• Ž€€›ƒฟผฏ• €ฟฑฉ€€ง‚ ฟ €งฐƒฟผง• €ฟณ†€€€€€€‹˜€ฟผฃ•ถ‰†Šœฟฟข€‘ธ‹ซ ฟฝ†™‹ ฟ–  ฟฐŒ‹พ ฟผฃ• ฟฑถ…€ฟผกŒŠ€€‹ฆ ฟผคšถ ฟฒพ ฟผขžค€ฟฒ˜˜พ €€‹• €ฟฒ‡ €ฟผข– €ฟฑถ…€€€ˆ™€ฟ …–ฃ ฟฐŒŽ €€‹พ ฟผค• €ฟฒฝ—Œ€€€‹ฆ ฟผคšถ ฟฒ—ด€€€Š›ž ฟผข– €ฟฑถ €ฟผขšŽ ฟฒ‚Žช€€‹žฎ‚ Œนฟฟข€’–˜ฎ €€Ÿ• €ฟฒ†€€€‚† €€ˆ”Ž ฟฟด—Ž €€ – €ฟฑถ”Ž €€†žฝ€ฟฒœ• €ฟฒ†š‹€ฟฑฝ…€ฟผกŸ˜€ฟผขœฅ€ฟฒฝ‹ฆ ฟผฃ˜ž €€Ÿ• €ฟฒญ˜– €€Ÿšถ ฟฒธ˜–€€€ค˜ถ€€€ซ• €ฟนค–ก€ฟฐŒฟฟ  €€‚Ž €€€˜–€€€ค˜ถ€€€ซ‹พ ฟผฃ”•€€€†ฅฒฐฌชทฟฟข€’ด‹ฆ ฟผฃ—…€€€žฟ ฟฒฏ• €ฟฒผ– ฟผข˜พ €€Œœฅ€ฟฒฝ—ฟฟต €ฟผข•€ฟผก• Ž€€€›ˆ€€€†ฒฃ†€€€ฌ‹€€€ˆฃซ€€€€• €ฟณ‰ ฟ€€›ˆ€€€†ฒฃ†€€€ฌ‹€€€ˆฃซ€€€€‹ป€ฟฝ‡‹ป€ฟฝˆ‹ป€ฟฝ‰จญ ฟฐ€•ฐ€€œŸ€€€œ‹ญ ฟฝŠ‘‹ €€“ ฟผœ ป—Šค›ฟฟข€“’ญƒ €€Š’‹ €€ˆ“‹ €€Š‹ผ€ฟฝ‹“‹ €€”‹ผ€ฟฝŒ‹ป ฟฝ‹ป ฟฝŽบฉ ฟณพ”“ ฟฟธ‹ป ฟฝ‹ป ฟฝบฉ ฟณผบจ €€‡ฐณ €‡พ• €ฟณŸบฉ ฟณพฐป €€ • €ฟณดบฉ ฟณปบซ €€ˆ• €ฟณฆบซ ฏป€• €ฟณฐญ•€ฟพฟธ€ฟผœ• €ฟณ’ฐ“€€€ˆ–ฆ€ฟฐŒ–ฅ ฟฐŒตŽ’‘ฐจฟฟข€“ฐญ…ฐ€€œ— €€ฒƒ€ฟฟฟ• Ž€€€˜€ฟผœ–ฅ€ฟฐŒบฉ ฟณฝบจ €€‡ฐณ €‡พ• €ฟณท• €ฟณ’€€€€€œ €€€€€ธ€€€€€จ€€€‡พ‹  ฟฟฟšฐฉ€€€ €ฟฟฟน“ €€ • €ฟด—น €€ จ €ฟ˜จ €ฝ˜ฐ €€›• ‰€€€ญ€€€’‰€„‚ ก€ฟฝ‘’€ฟฝ‘ฐ™€€€ธฉŸจฟฟข€”Žฃจ €‚€น“€€€• €ฟดน‘ €€ขˆ €‚€šจฉ€€€›  ฟฐฑฎˆ €€• €ฟด‰ญ€ฉฟฟฟ˜ ฟด‚• €ฟณฟ• ‰€€˜–€€€ค˜ถ€€€ซซ€ฟฟฟ‚€ฟฝ’Ž €€€‹ง€ฟผฃ›จ€€€†‹พ ฟผฃ˜ท€€€›• €ฟดฑ˜ท€€€š• €ฟดตš—€ฟดฑ‹ท€€€„ฐš€ฟ€€• €ฟด ™ช€ฟฝ“—ญšฝท›ฟฟข€”ฌ• €ฟด š‹€ฟนค‘€ฟผฅ‘ ฟผฆ• €ฟตถฐบ€ฟ€€• €ฟดซ‹ถ €€„• €ฟดฑ‹ง€ฟผฃšซ€ฟดจ‹พ ฟผฃ• €ฟดจŠ พฐ€–ฌ ฟด•Ž€€€€‹€€€€ฉ  €€‘ ฟผฅฉ  €€‚€ฟฝ”–ฌ ฟณฟ˜ฐ €ฟ• €ฟดน˜จ €ฝ˜ฐ €€›• €ฟตค”ƒ€€€ƒ˜ˆ €€ฐ˜˜ €€ท™ฉพ•ก–ฟฟข€•Šถซ€ €€—‹ฟฟ˜ฐ €€ป• €ฟต˜˜ฐ €€ • €ฟดพ˜ฐ €€‘–ฌ ฟณฟ˜จ € —จ €€ šˆ ฟตญฐš€ฟ€€‹ฐ €€„• €ฟต‘ ฟฟต˜–€€€ต• €ฟดฟ• €ฟตญ˜ซ€€€ˆ‹พ€ฟฝ•• €ฟดน‹ฎ€€€„˜–€€€ซฐถ€€€‚• €ฟดผ• €ฟตญˆ €€ค–ฌ ฟด‰š›€ฟตชšถ€ฟตœถคŠบƒกฟฟข€•จฌ“€ฟฟด• €ฟดนดŠ€ž€€ดบ€ž€€š–€ฟตŸ‘ ฟผฆญ ฟณ‚ฌ‘ ฟณˆ‘‹€€€–ฌ ฟฐป˜ถ€€€ง• €ฟธช–ฏ€ฟฑฒ€ ฟฟตซ€€€€€งƒ ฟ€–ฏ€ฟณ†† ฟ…™– ฟฝ––ง€ฟฐŒ† ฟ†˜– €ƒบ–ง€ฟฐŒ˜ถ€€€ณ• €ฟธบ† ฟ™ฐญฟ€• €ฟถ‰—Ž €€‚ผน‚Œซกฟฟข€–†˜ฎ €€• €ฟถƒ–ก ฟฐŒฟทด”•€ฟฟฟฌ•€ฟผ‹ ฟ€–ฏ€ฟณ€™ ฟ‚–ฆ ฟฐŒ˜–€€€ฆ˜ถ€€€ต• €ฟน‹ฏ€€€”† ฟ€ฟผฅ ฟผฆ™ฑฟ€™‘ญฟ• €ฟถœฑทฟ‚• €ฟถฏ—Ž €€…˜ฎ €€• €ฟถ—˜–€€€ค–ข€ฟฐŒ† ฟ›ฐฟ€• €ฟนญ‘คฒกžผฟฟข€–ค—Ž €€…˜ฎ €€• €ฟถข‘Ž €€…—– ฟ† ฟ€“Ž €€†—Ž €€‹™ฎ ฟ• €ฟนฌ–  ฟฐŒฌ– ฟบ€‹จ ฟฝ—–ฏ€ฟฑ˜ ฟผฃฏ€€€ฑ—ฟ‚• €ฟด›‹ฉ€ฟฝ˜™ฑ€ฟ €• €ฟถผ–ฏ€ฟฑฉ• €ฟถท–ข ฟฐŒ˜–€€€ค˜ถ€€€ซ• €ฟนš€พฏฟฐถ€€€• €ฟทŽฅฑกฌทšฟฟข€—‚‰ ฟŸฟ–ฌ ฟฑƒ–ค€ฟฐŒฎ™ก€€€™‘ ฟฝ™–ค€ฟฐŒ›’ฟฟพ’ฟฟฟ‚ฟฟฟ€พฏฟ˜Ÿ„ฟฟฟ„ฟฟฟฐ–€€€• €ฟทง €€€ † ฟฝš˜ฟฟฟ• €ฟท‚€€€•Šฟฟ—Ž ‚€€ขŽ €ฟธ‚€€€˜€€€ธƒ€€€• €ฟท–• €ฟท’•Žฎ€€€ฐ–€€€• €ฟทงงž‹‰˜ปฟฟข€—  €พฐ€† ฟฝ›•Ž พฟฟ พฐ€…€ฟฟฅ–ฏ€ฟณ•€ฟทฅ Ÿ ฟผข–ฌ ฟฑ™’€ฟฝœ• €ฟทจ˜ถ€€€ฉ• €ฟบ—–ฌ ฟฑšช€ฟทฟ€€€„ €€„– €ฟทณ• €ฟทญ€€€€€€–ฌ ฟฑ”‰€€€—€€€„–ฌ ฟฑƒ• €ฟทบ’€€€•™ ฟทด–ฌ ฟฑ™ฑ€€€„• ฟทณ•ธชฆพ—ฟฟข€—พ–ฃ€ฟฐŒ˜ถ€€€ญ• €ฟธช’€ฟฑถ‰ ฟŸฟ–ฌ ฟฑƒ–ค€ฟฐŒ›ฐ€€€• €ฟธฉฎ™ก€€€™ฑ ฟฝ™–ฌ ฟฑƒ–ค€ฟฐŒ‚€€€’€ฟผ ฟผ–ฌ ฟฑšช€ฟธžฐ’€ฟฟฟ• €ฟธšธ€€€„จช„ฟฟฟ— €€„‘ ฟผจก €€„ฉก€€€„– €ฟทณ• €ฟธฎก €€„–ฌ ฟฑง ฆฉ†šฟฟข€˜œœ™ ฟธ›• €ฟธ‚€ฟผ‰ ฟŸพ–ฌ ฟฑƒ–ค ฟฐŒ’€€€‰ ฟŸผ–ฌ ฟฑƒ–ค ฟฐŒ‚€ฟฑถ’€€€Š€ฟ €ฌ’€ฟฟด† ฟผผ– ฟฟ–ฏ€ฟฐถ‹€€€€–ฌ ฟฐปฐ–€€€ˆ• €ฟดน ฟฟž‘ฐ€€œบฉ ฟฟ –ฌ ฟฟจบฉ ฟฟฃบซ €€ˆ• €ฟธถบฉ ฟฟค• €ฟฟฒ‰”จ“ฟฟข€˜บ–ฌ ฟด•–ฌ ฟด‚• €ฟฐ”€ ฟ €–ฏ€ฟฐฑ‚€ฟ –ฏ€ฟฐจ–ฏ€ฟฑฉ• €ฟธป† ฟ˜ฎ €€–ฌ ฟด‚• €ฟฐ”›’ฟ€–ฏ€ฟฐง—Ž €€‚• €ฟน„† ฟน“ €€ ˜Ž €€• €ฟฐ”›ฐฟ€• €ฟน˜–ฌ ฟด•‹จ ฟฝ˜–ฏ€ฟฐฑ‚ฟ€–ฏ€ฟฐจ‚ฟ–ฏ€ฟฐจœผพˆ™ถฟฟข€™˜—Ž €€…• €ฟนŒ–ฏ€ฟฒขŽ €€€‹พ ฟผฃ€ €€Š–ฏ€ฟผ“‹ฆ €€˜ฎ €€†žŽ ฟฝ‹พ €€• €ฟนšญ† ฟบ€ ฟ€ ฟ ฟ‚ซ€ฟฟฟ˜ถ€€€ซ• €ฟปฟ• €ฟบ€† ฟฌ– ฟบ€Š€€€€ˆ €€€ €€—ก ฟ …ฉก €€ƒ–ฏ€ฟผ“‹ฆ €€›€€€กŒˆ“’ดฟฟข€™ถ—ฉ €€•™ ฟนด˜นค€€€• €ฟนผ‚€€€ƒจข€ฟณˆ–ฏ€ฟฑฉ• €ฟนฏฌฒ€ฟณˆ–ฏ€ฟฑฒŽ ฟบ€€ฟผฅ ฟผฆ‘ฟ€‘ญฟงฐฟƒฎˆ ฟธ€ญฟ„€ ฟ€ ฟ €‹น ฟฝžญฟ‚ˆ €€€ ฟผก–ฏ€ฟผ“ ฟผค€ ฟ€–ฏ€ฟฑ˜ ฟผฃงป€ฟผข“ก คพทฟฟข€š”ชฏ ฟฏพ‚€ฟฝœ–ฌ ฟฑซŒฟฟ—‰ €€ ฌ‘ ฟป—ช˜€ฟบด €ฟผŸ €ฟผž €ฟผ ‰ ฟŸฝ–ฌ ฟฑƒ–ค ฟฐŒ›ฑ€€€• €ฟป—ฌ‘€ฟบถ‘€ฟผ ‘‰‚€€€—€€จก€€ฌฑ€ฟบดฑ€ฟผŸฟฟฟ‘€ฟผžกฟฟพฉ€€€ƒ• €ฟปŒธƒ €€• €ฟบด—‰ ฟฟš‘ชญปฟฟข€šฒฒ €ฟธ‚€€€˜ฉ ฟบด• €ฟบธ‰ ฟบถช˜€ฟบด–ฌ ฟฑƒ• €ฟปš›ฐ€€€œก ฟบฏ€€€ƒฒ‰€ฟฟฟ˜‰ข€‚€• €ฟปˆ•ฐ€ฟบด–ฌ ฟฑƒ• €ฟปˆ›€€€œก ฟบฝถน€ฟฟฟœก ฟบพžก ฟปˆฌ‘ ฟป——ฑ€€€ƒจก€€€ƒ €€‚‚€€€‚–ฌ ฟฑ–ฌ ฟฑƒ–ค ฟฐŒ‘ช™นนฟฟข€›‚€€€”‰€€€—€€€„–ฌ ฟฑ•™ ฟปސ‚€€€‚–ฌ ฟฑ‰ ฟป—šฑ ฟบฏ• €ฟปฌ›ฐ€ฟผ • €ฟปคฎŠ€ฟŸพ€€€„–ฌ ฟฑ‚€ฟผ ”‰€€€–ฌ ฟฑ—‚€€€‚–ฌ ฟฑ›ฒ€ฟผž‚€ฟฟด–ฌ ฟฑ›ฑ ฟผŸ• €ฟปฌฉ€€€ƒฉ˜€ฟป—• €ฟปŒš“€ฟฐ”›ฒ€ฟผžญกˆ‡ธฟฟข€›ฎ‚€ฟฟด–ฌ ฟฑญ† ฟบ€€€€€‹ฟ ฟฝŸ–ฏ€ฟฒ –ฏ€ฟณ„›– ฟผข– €ฟฑถŽ €€€– €ฟฑถ‹ฎ ฟฝ “Ž €€†ญ‡€ฟผฃ’€€€†—ฏป ผญ—€ฟ€ ฟ €€€ง‚–ฏ€ฟณ…ญ ฟณˆฌ‘ ฟผ—‰ €€˜ฑ €€ˆ‰ €€€ฌ‘ ฟณˆ›ƒฟผฏ• €ฟผ ฟ€€ฟผ‹ฐ†Ÿ„ผฟฟข€œŒ‡€ฟ‚™—€ฟฟต–ค ฟฐŒ–ฏ€ฟณ‡˜ฑ ฟผ• €ฟฐ”• €ฟผ„›จ€ฟ €–ค ฟฐŒ—  ฟ „šˆ ฟฝก“ˆ €€Œ’‰€ฝ€€จจขคƒ€—ˆ ฟ • Ž€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ฟฟฟฟฟฟฟฟฟฟฟฟฟฟฟฟฟฟป‡ ‰…ฟฟป€œชฟฟฟฟฟฟฟฟฟฟฟฟฟฟฟฟฟฟฟฟฟฟฟฟฟฟฟฟฟฟฟฝ Ž•€ฟฟข€œป€€€€€€บซ€€€•ข€ฟฐ‚€€€€€€• €ฟฐ”คณซคญฐ—„€€€ค†€€€„††€€€‚˜†€€€„Šˆ€€€…€Š€ฟผฃž†€ฟณปžƒ€ฟณผžƒ€ฟณฝ€ƒ€€€†Œ„€ฟณป‘…€ฟณป–ˆ€ฟณป–ˆ€ฟณผ€ฟณป€ฟณผ€€‰‰‰ค†€€€€†€€€ƒค†€€€ƒ€†ฟผฏญŽฆŽคŽ€ฟ‚…ฟ‚ฃ•€ˆ“Šฟฟท€™ฟฟฟฟŸพ€€ €€กพฐ€พฐ• €€€–ฆ ฟฐŒ…€€€˜Šฟ‚ž†€ฟผฃ–ค ฟฐŒฅขซ”ทญฟฟข€žฟ€€€€€€ €ฟฟฟ• €ฟฐ€• €ฟฟ‰ €€ž‘ €€œ €€€ €€€Ÿบฉ ฟฟŸบฉ ฟฟงบจ €€ƒฐฑ €€• €ฟฟ’‰ ‚œฌ‘ ฟฟฅ ฟฟฆฉ€ฟฟปฃ‘ขฟฟ •™€ฟฟฉ˜€ฟฟА ฟฟž‘ฐ€€œบฉ ฟฟ –ฌ ฟฟจบฉ ฟฟกบซ €€ˆ• €ฟฟ˜บฉ ฟฟขบซ €€ˆ• €ฟฟ›ฃฌซ’ญธฟฟง€Ÿ• €ฟฐ€ฟฑ€ฟฏฟจ€€€‡พ ฒ€€€€ˆฒข€œ€ฒ‚ˆ€œˆฒ‚ˆ€œ€ฒข€œฟฟปŽˆ€–€€€ฐ€€€€€บจ €€‚ฐฑ€€‡พ• €ฟฟจบฉ ฟฟŸ‰€€€žžน€ฟฟญบจ €€‚ฐน€€€ • €ฟฟจ• ‰€€€บซ €€ˆ• €ฟฟฒ• €ฟฟŽ€€€€€งค‰บฒ“• €€€ \ No newline at end of file diff --git a/bin/ka10/boot/magdmp.rim b/bin/ka10/boot/magdmp.rim new file mode 100644 index 00000000..e50143fe --- /dev/null +++ b/bin/ka10/boot/magdmp.rim @@ -0,0 +1 @@ +ฟฟฑ€€€น†€€€ฐฌŒ €€„น‡ €€ˆ• €€€ƒ”ˆ‰ฟฟพน„น€€ˆ•ฐ‰€€ˆ•ฐ‰€€‹žค €€€™€€€—€€€€› €€€•ข€€€•Ÿ €€ƒ• €€€‚ฟฟขฟบ€ธ‚€ณญจ ฟพฌ€ฟพถˆ €€€”ฐ €€†—ˆ €€ –‡ ฟปฅšฑ€ฟบƒปฆ€€€–‡ ฟพž–‡ ฟพš–‡ ฟพฅˆ ฟฟ€–‡ ฟฝถœ  ฟบ—˜ญ€€€ƒ• €ฟปข–ˆ ฐ€–ˆ ฐ–ˆ ฐ‚–‡ ฟพฅ–‡ ฟพฅ• €ฟบญ ฟพณ ฟพฌ–‡ ฟพž–‡ ฟปค €€€€€ ž ฟพต €€€‰ฌ’ฃš’ตฟฟขฟบž‘Š €€ƒฎ€ €€œ’ ฟบค•… €€Œฎ€ €€›ฅ€ฟพท…€ฟพธน“ €€ • €ฟบฅน €€–‡ ฟปฅฆจ €ฟœ ฟบšœ€ €€€œจ ฟบต—ˆ €šˆ ฟพน˜ˆ €€—จ €€ š ฟบ ฐ€ฟ€€‹ฐ €€Šœฆ ฟบฅžž ฟผ˜š” ฟบผฐ” €€ฟ• €ฟบป”” ฟฟบ• €ฟบทฃฌ †ฏฟฟฟขฟบผ–‡ ฟพšงน€€€„ˆ ฟฟ™ตก€€€™–€€• €ฟป†ญก€€‚š” ฟผ“™ฑ €€‰• €ฟป‹—ˆ €€ƒ™ ฟพณ• €ฟบฟšˆ€ฟผฃšŠ€ฟปขšˆ€ฟปข›€€€‰‚€€€ˆ ฟบ€ €€€  ฟพผ˜ฐ€€€ด€ฐฟŸฟ˜€€€ญ•‰กฟฟฟˆค€‚“ˆ €€ƒ” €€–‡ ฟพฅžธ ฟป˜‚ต™ซ‡”ฟฟงฟปš€ฟฟฟงบ ฟพต–‡ ฟพ‘™ ฟพฝ• €ฟปœ–‡ ฟฝŸ™ด€€€• €ฟปŸ– ฟฝž›  ฟฝ“ฎˆ €€น“€€€• €ฟปฅน‘ €€šจ ฟพขˆ €€Š• €ฟปฅฉ ค†„‹  €€ƒ—ˆ €€ –‡ ฟปฅˆ €€ ฐน ฟ€€•ฐƒฟผ‡• €ฟปฌฉทจ…ดธฟฟขฟผ€• €ฟบ˜Š€ฟพพ–‡ ฟปค—Š€€€ƒ™’€ฟพณ• €ฟปซ• €ฟบš–‡ ฟปฅ–‡ ฟปฅ• €ฟผ‚˜˜€€€ญœ’ ฟปŸ–‡ ฟพžšบ ฟผ‘ฌ ฟผšฐ€ฟบš• €ฟบšฎ˜€ฟŸฟ• €ฟ €™น €€‚• €ฟป†€€€ƒ‚€€€• €ฟป†ˆ €€ค–‡ ฟปฅšŽ ฟบ‰‹จ€€€Š˜ฐ€€€ฆ• €ฟผบš…‘šฏฟฟขฟผž˜ฐ€€€ค‘ˆ€€€˜ฐ€€€ง• €ฟผ• €ฟบšด ฟผญ›จ€€€‚‰€—ฉ€€‰‰ฐฑ€€€• €ฟผฌฐ‘€€€—‰€€ถ€—‰€€€ถญŒข€‰Š€ฟพณ˜ฑ€ฟฟฝ• €ฟปข—‰€€€ƒ•€ฟพณ•ข€€€–‚€€ญ”ข€€‚งข €€€–‡ ฟพฅ–‡ ฟพฃปง €€• €ฟผถปข€‡บ€–‡ ฟพš›ž•‡ฟฟขฟผผ€€€€จฉ€ฟฟฝ€ข€€€–‡ ฟพˆ•™€ฟผพ–‡ ฟพŒ–‡ ฟพ™€ ฟพฝ ฐ€‹ €€˜‹ ฐ€˜› €€›ฐ‡€€€œฃ ฟฝ†“ €€ˆญˆง€‚€›ฐ‡€€€›‡€€™› €€• €ฟฝ’˜“ ฟบ€œฃ ฟฝŒ€ €€ˆ—ค€€€‡จ  €€ˆšจ ฟฝ˜–‡ ฟฝŸ• €ฟฝ†€ ฟผ–‡ ฟพˆฐฒ‚Ÿฌ›ฟฟขฟฝš–‡ ฟพˆ–‡ ฟพŒ–‡ ฟพ™–‡ ฟพ™• €ฟบ˜–‡ ฟพˆ„€€€šจ ฟผŠšŠ ฟฝงฆ €€จฎญฟฟฟ—žฐฟŸฟฌ€ €€€€€”Œ€€€ญ„ €€‚˜Œ €€˜Œ ฟนฟŒ €€Œ€ฉ€€€–‡ ฟพˆฉ€€€—„€€€•™€ฟฝจฐ™€ฟฟพ• €ฟฝจ€ €€ˆ• €ฟพˆ€†’€ญ€ป  ฆ‚ช›ฝฟฟขฟฝธ €€ฌ€ฏฟปขŽ€€€ปง €• €ฟฝปปง€€€œฅ€ฟพพปฆ€€€Šฐปง  €€€€€• €ฟพš€†ข€ญ ปก •… €€Š• €ฟฝน›จ€ฟพต• €ฟพ‘˜ญ€€€• €ฟพ–‡ ฟพ„• €ฟปข€€€€ชฐ€œฅ€ฟพข€ชฐ€™ญ€ฟพดœฅ€ฟพข–‡ ฟฝถ• €ฟปขด‘ ผ‹ฟฟฉฟพ–•€ฟพด€€€€• €ฟพ‘ปข€†ช€ปง €€• €ฟพšปข€†‚€–Ÿ €€€ปข€†Š€ปง €€• €ฟพŸปข€‡‚€–Ÿ €€€–ฏ€ฟพงปฆ€€€–ฏ€ฟพงปก €€€ปข€†ฒ€ปง€€€–Ÿ €€€ปง€€€•ฐŽ€€€• €ฟพจ„ดฒ…ฟ™ฟฟฒฟพณ€€€ฟฟ€€€€€€€€€€€€ญกงคญฐค†€€€Œ’†€€€‰ฐ €€ˆ• €ฟบต• €ฟบถ€€ €€ก• €€€•ฐ€€€Šžฝ ฟฝป• €ฟฝฟทงจฃ™• €ฟบ€ \ No newline at end of file diff --git a/bin/ka10/sys/ts.dump b/bin/ka10/sys/ts.dump new file mode 100644 index 00000000..7739600a Binary files /dev/null and b/bin/ka10/sys/ts.dump differ diff --git a/build/build.tcl b/build/build.tcl index f65ac3ab..3a968853 100644 --- a/build/build.tcl +++ b/build/build.tcl @@ -23,6 +23,8 @@ proc respond { w r } { } proc pdset {} { + expect "SYSTEM JOB USING THIS CONSOLE" + sleep 1 type "\032" respond "Fair" ":pdset\r" @@ -77,7 +79,8 @@ mark_packs respond "DDT" "tran\033g" respond "#" "0" respond "OK" "y" -expect "EOT" +expect -timeout 300 EOT + respond "DDT" $emulator_escape start_dskdmp_its @@ -105,6 +108,7 @@ respond "*" ":job midas\r" respond "*" ":load sysbin;midas bin\r" respond "*" "purify\033g" respond "CR to dump" "\r" +sleep 2 respond "*" ":kill\r" respond "*" ":midas sysbin;_sysen1;ddt\r" @@ -167,7 +171,7 @@ respond "*" ":link sys3;ts teco,.teco.;tecpur >\r" respond "*" ":link sys2;ts emacs,emacs;ts >\r" respond "*" ":emacs\r" respond "EMACS Editor" "\033xrun\033einit\033? Generate\r" -expect "EINIT" +expect -timeout 2000 "EINIT" respond ":EJ" "\033xgenerate\033emacs;aux\033emacs1;aux\r" respond ":EJ" "\030\003" respond "*" ":kill\r" diff --git a/build/ka10/include.tcl b/build/ka10/include.tcl new file mode 100644 index 00000000..cc309f5c --- /dev/null +++ b/build/ka10/include.tcl @@ -0,0 +1,88 @@ +proc start_dskdmp_its {} { + start_dskdmp + + respond "DSKDMP" "its\r" + expect "\n"; type "\033g" +} + +proc mark_packs {} { + respond "\n" "mark\033g" + respond "UNIT #" "0" + respond "#0?" "y" + respond "NO =" "2\r" + expect -timeout 300 "VERIFICATION" + respond "ALLOC =" "3000\r" + respond "PACK # =" "2\r" + respond "PACK ID =" "2\r" + + respond "DDT" "mark\033g" + respond "UNIT #" "1" + respond "#1?" "y" + respond "NO =" "3\r" + expect -timeout 300 "VERIFICATION" + respond "ALLOC =" "3000\r" + respond "PACK # =" "3\r" + respond "PACK ID =" "3\r" +} + +proc prepare_frontend {} { +} + +proc frontend_bootstrap {} { +} + +proc its_switches {} { + respond "MACHINE NAME =" "KA\r" +} + +proc make_ntsddt {} { + respond "*" ":midas .;@ ddt_system;ddt\r" + respond "cpusw=" "0\r" + respond "ndsk=" "0\r" + respond "dsksw=" "0\r" + expect ":KILL" +} + +proc make_salv {} { + respond "*" ":midas .;@ salv_system;salv\r" + respond "time-sharing?" "n\r" + respond "machine?" "KA\r" + expect ":KILL" +} + +proc make_dskdmp {} { + respond "*" ":midas .;@ 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=" "N\r" + respond "DC10P=" "N\r" + respond "NUDSL=" "250.\r" + respond "KS10P=" "N\r" + respond "KL10P=" "N\r" + expect ":KILL" +} + +proc dump_switches {} { + respond "WHICH MACHINE?" "KA\r" +} + +proc dump_nits {} { + respond "DSKDMP" "l\0331\033" + respond "\n" "l\033ddt\r" + expect "\n"; type "t\033@ dskdmp\r" + expect "\n"; type "\033g" + respond "DSKDMP" "l\0331\033" + respond "\n" "t\033its bin\r" + expect "\n"; type "\033u" + respond "DSKDMP" "m\033@ salv\r" + expect "\n"; type "d\033nits\r" +} + +proc bootable_tapes {} { +} diff --git a/build/sims/boot b/build/sims/boot new file mode 100644 index 00000000..0e788944 --- /dev/null +++ b/build/sims/boot @@ -0,0 +1,9 @@ +set cpu its +set cpu 512k +set pd off +at ptr bin/ka10/boot/dskdmp.rim +at mta0 out/sources.tape +at dpa0 out/rp03.2 +at dpa1 out/rp03.3 +set dpa noheaders +b ptr diff --git a/build/sims/build.tcl b/build/sims/build.tcl new file mode 100644 index 00000000..ce4101a6 --- /dev/null +++ b/build/sims/build.tcl @@ -0,0 +1,39 @@ +set emulator_escape "\005" + +proc start_salv {} { + uplevel #0 {spawn ./tools/sims/BIN/ka10 build/sims/init} + expect "MAGDMP\r\n"; send "l\033ddt\r" + expect "\n"; send "t\033salv\r" +} + +proc start_dskdmp {} { + quit_emulator + uplevel #0 {spawn ./tools/sims/BIN/ka10 build/sims/boot} +} + +proc mount_tape {file} { + respond "sim>" "at mta0 $file\r" + respond "sim>" "c\r" +} + +proc create_tape {file} { + respond "sim>" "at mta0 $file\r" + respond "sim>" "c\r" + respond "BUGPC/" "\033P" +} + +proc quit_emulator {} { + respond "sim>" "q\r" +} + +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/ka10/include.tcl +source build/build.tcl diff --git a/build/sims/config.202 b/build/sims/config.202 new file mode 100644 index 00000000..fa83d2d3 --- /dev/null +++ b/build/sims/config.202 @@ -0,0 +1,1301 @@ +;;; Copyright (c) 1999 Massachusetts Institute of Technology +;;; See the COPYING file at the top-level directory of this project. + +.AUXIL + +;;; "INSTALLATION" RELATED SWITCHES + +IFNDEF DEFSYM,[ ;ALLOW USER TO USE SYMBOLS IN OTHER WAYS IF HE WISHES. + ;BUT NORMALLY, DEFSYM FOO==BAR DOES FOO==BAR WITH ERROR CHECK. +DEFINE DEFSYM X/ +IRPS Z,,[X] +IFNDEF Z,X +.ELSE [ + $$TEM1==Z + X + IFN Z-$$TEM1,.ERR Z MULTIPLY .QUOTE`.QUOTE/DEFINED/` +] +.ISTOP +TERMIN TERMIN + +IFLE .MLLIT,.ERR .MLLIT MUST BE 1; SETTING IT TO 1. +.MLLIT==1 +$$TEMP==1 +] +.ELSE $$TEMP==0 + +IFNDEF DEFOPT,[ ;ALLOW USER TO USE SYMBOLS IN OTHER WAYS IF HE WISHES. + ;BUT NORMALLY, DEFOPT FOO==BAR DOES IT UNLESS FOO ALREADY DEFINED +DEFINE DEFOPT X/ +IRPS Z,,[X] +IFNDEF Z, X +.ISTOP +TERMIN TERMIN + +IFLE .MLLIT,.ERR .MLLIT MUST BE 1; SETTING IT TO 1. +.MLLIT==1 +$$TEM2==1 +] +.ELSE $$TEM2==0 + +IFNDEF IPADDR,[ ; Helpful auxiliary for configuring net addrs +DEFINE IPADDR A,B,C,D +.RADIX 10.,<<<<+B>_8>+C>_8>+D,!TERMIN +] +IFNDEF IPMASK,[ ; Build default netmask for network, using class A/B/C +DEFINE IPMASK N +IFE &<1_31.>,[377_24.] .ELSE [IFE &<1_30.>,[177777_16.] .ELSE [77777777_8.]] TERMIN +] + +IFE MCOND AIKA,[ +DEFOPT KA10P==1 ;AI-KA HAS KA10 PROCESSOR +DEFOPT MAXJ==85. ;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==10. ;NUMBER OF RUNNABLE JOBS TO REMEMBER + +DEFOPT NQS==8. ;# 2314 UNITS +DEFOPT NTUTBL==2 ;TUTS ARE 2 BLOCKS LONG (THIS DEFN BETTER AGREE WITH DC10 DEFS) +DEFSYM NUDSL==440. ;# USER DIRECTORIES ON DISK. NOTE: JUST CHANGING THIS + ; IS NOT SUFFICIENT!! +DEFOPT NQCHN==40. ;NUMBER 2314 CHNLS +DEFOPT DC10P==1 ;HAS SYSTEMS CONCEPTS DISK CONTROL +DEFOPT DMDSK==0 ;DOES NOT USE DM DSK FORMAT (I.E. HAS EXTRA WORDS) +DEFOPT QRSRVP==1 ;HAS RESERVED DISK PACKS (SECONDARY PACK) +DEFOPT QAUTHP==1 ;KEEPS TRACK OF FILE AUTHORS + +DEFOPT C1MXP==1 ;CHNL 1 MPX FEATURE +DEFOPT NMTCS==1 ;NUMBER MAG TAPE UNITS +DEFOPT TM10A==1 ;IO-BUS MAG TAPE +DEFOPT PTRP==1 ;HAS PAPER TAPE +DEFOPT PTPP==0 ; But punch doesn't work! +DEFOPT PDCLKP==1 ;"DeCoriolis" CLOCK +DEFOPT DPKPP==1 ;DATA POINT KLUDGE (TTY mux) + +DEFOPT NETP==1 ; Connected to a network +DEFOPT IMPP==1 ; Has IMP interface +DEFOPT KAIMP==1 +DEFOPT IMPUS==206 ; ARPA net host number +DEFOPT IMPUS3== ; Internet host number +DEFOPT NCPP==1 ; Include NCP code +DEFOPT NNETCH==30. ; # NCP network channels +DEFOPT INETP==1 ; Include Internet code +DEFOPT TCPP==1 ; Include TCP code +DEFOPT XBL==20. ; # TCP network channels + +DEFOPT TK10P==1 ;HAS TK10 TTY SCANNER (NO MORE, BUT LEAVE IT SO TTY#S DON'T CHANGE) +DEFOPT NOTYS==1 ;# KA-10 CONSOLE 0 TTYS +DEFOPT NNTYS==16. ;# TTYS ON KNIGHT KLUDGE +DEFOPT NDPTYS==9. ;# TTYS ON DATAPOINT KLUDGE +DEFOPT NSTTYS==16. ;# OF STY'S (PSEUDO-TTY'S) +DEFOPT APL==10 ;AP TTY # (really?) + +DEFOPT CODP==1 ; Has Morse code output device (no antenna though) + +; The following AI-KA stuff is broken since the 10-11 interface doesn't work, +; but is retained in case it gets fixed. +DEFOPT TEN11P==0 ; Rubin 10-11 interface +IFN TEN11P,[ + DEFOPT XGP==1 ; Has XGP + DEFOPT CHAOSP==1 ; Has CHAOS net + DEFOPT MYCHAD==2026 ; CHAOS net address + DEFOPT NINDX==50. ; Number of Chaosnet indices + DEFOPT T11CHP==1 ; CHAOS net goes through TEN-11 interface + DEFOPT CH11NM==7 ; # of 10-11 PDP11 handling CHAOS net. + DEFOPT TT11NM==0 ; # of 10-11 PDP11 that handles TV TTYs. + DEFOPT N11TYS==16. ; # PDP11 TV TTYS + DEFOPT MXVBN==40 ; Max video bfr # for assignment purposes. +] ;TEN11P ; These actually correspond to video switch inputs. + + +; The following stuff used to be on AI-KA and is unlikely to ever +; come back. +;DEFOPT PDP6P==0 ;HAS PDP6 (ALAS, NO MORE) +;DEFOPT 340P==0 ;HAS 340 DISPLAY (ALAS, NO MORE) +;DEFOPT TABP==0 ;DOESN'T HAVE SYLVANIA TABLET ANY MORE +;DEFOPT DSDP==0 ;HAS DESELECTION DEVICE (ALAS, NO MORE) +;DEFOPT NEWDTP==0 ;HAD OLD DECTAPE CONTROLLER +;DEFOPT RBTCP==0 ;ROBOT CONSOLE +;DEFOPT HCLKP==0 ;HOLLOWAY CLOCK (ALAS, NO MORE) +;DEFOPT ARMP==0 ;HAS NO ARM (AMF MOSTLY) (R.I.P.) +;DEFOPT OMXP==0 ;HAS OMX (OUTPUT MULTIPLEXOR) (ALAS, NO MORE) +;DEFOPT IMXP==0 ;HAS IMX (INPUT MULTIPLEXOR) (ALAS, NO MORE) +;DEFOPT VIDP==0 ;HAD VIDI (R.I.P.) +;DEFOPT CCLKP==0 ;NO CHESS TOURN CLOCK STUFF +;DEFOPT NDAP==0 ;NEW D/A CONVERTERS (ALAS, NO MORE) + +; Physical memory variables + +DEFOPT TSYSM==768. ;TOTAL PDP10 1K MEM BLOCKS +DEFOPT ECCMEM==1 ;HAS HIC'S ERROR CORRECTING MEMORY +DEFOPT NMMP==4 ;# EXEC PAGES FOR MMP TABLE (# VIR PGS/512.); + +DEFSYM PMRCM==1777 ;CORE ADR FIELD IN PAGE MAP (AI-KA HAS 10 BITS) +DEFSYM PMAGEM==16000 ;AI-KA HAS ONE LESS AGE BITS +DEFSYM PMCSHM==0 ;NO CACHE BIT +DEFSYM PMUNSD==160000 ;UNUSED BITS + +IFDEF TEN11P,IFN TEN11P,DEFSYM T11CPA==3776000 ;ADRS OF TEN-11 CONTROL PAGE +IFDEF PDP6P,IFN PDP6P,DEFSYM PDP6BM==3000000 ;BASE ADR OF PDP6 MEM AS SEEN FROM 10 +IFDEF PDP6P,IFN PDP6P,DEFSYM LPDP6M==16. ;LENGTH OF PDP6 MEM IN PAGES +] ;AIKA + +IFE MCOND MLKA,[ +DEFOPT KA10P==1 ;ML-KA HAS KA PROCESSOR +DEFOPT MAXJ==60. ;MAX NUMBER OF JOBS ALLOWED +DEFOPT SWBLK==1 ;1 => SWAP BLOCKING, 0 => PRIV USER +DEFOPT SWPWSP==0 ;NO WORKING-SET SWAP SCHEDULER +DEFOPT PAGPRE==1 ; Page-in preemption +DEFOPT SCHBLN==10. ;NUMBER OF RUNNABLE JOBS TO REMEMBER + +DEFOPT NQCHN==30. ;NUMBER 2314 CHNLS +DEFOPT NQS==7 ;# DISK UNITS +DEFOPT NTUTBL==1 ;TUTS ARE ONE BLOCK LONG +DEFSYM NUDSL==250. ;# USER DIRECTORIES ON DISK +DEFOPT RP10P==1 ;HAS DEC RP10 DISK CONTROL (RP02) +DEFOPT QRDCMP==1 ;SOFTWARE READ-COMPARE +DEFOPT DMDSK==1 ;USES DM DISK FORMAT +DEFOPT QRSRVP==1 ;HAS RESERVED DISK PACKS (SECONDARY PACK) +DEFOPT QAUTHP==1 ;KEEPS TRACK OF FILE AUTHORS + +DEFOPT C1MXP==1 ;CHANNEL 1 MPX FEATURE +DEFOPT NEWDTP==1 ;HAS NEW DECTAPE CONTROLLER +;DEFOPT NUNITS==4 ; Number of utape units (R.I.P.) +DEFOPT NMTCS==1 ;NUMBER OF MAG TAPE UNITS +DEFOPT TM10A==1 ;IO-BUS MAG TAPE +DEFOPT NLPTP==1 ;HAS NEW LPT (ODEC) +DEFOPT TPLP==1 ;PSEUDO LPT +DEFOPT PTRP==1 ;HAS PAPER TAPE +DEFOPT PTPP==1 ; And punch works. +DEFOPT MTYP==1 ;HAS MORTON MULTIPLEX BOX +DEFOPT PDCLKP==1 ;"DeCoriolis" CLOCK + +DEFOPT NETP==1 ; Has net connection +DEFOPT IMPP==1 ; Has IMP interface +DEFOPT KAIMP==1 +DEFOPT IMPUS==306 ; ARPA net host number +DEFOPT IMPUS3== ; Internet host number +DEFOPT NCPP==0 ; Flush NCP code +DEFOPT NNETCH==20. ; # NCP net channels +DEFOPT INETP==1 ; Include Internet code +DEFOPT TCPP==1 ; Include TCP code +DEFOPT XBL==20. ; # TCP network channels +DEFOPT CHAOSP==1 ;CHAOS NET +DEFOPT MYCHAD==3114 ;CHAOS NET ADDRESS +DEFOPT NINDX==30. ;NUMBER OF INDICES +DEFOPT CH10P==1 ;CHAOS NET VIA PDP-10 I/O BUS, NOT FRONT-END + +DEFOPT NOTYS==1 ;# KA-10 CONSOLE 0 TTYS +;DEFOPT NNVTTS==0 ;# NOVA TTYS (used to have?) +DEFOPT NMTYS==33 ;# TTYS ON MORTON BOX +DEFOPT NSTTYS==8 ;# STY'S (PSEUDO-TTY'S) + +DEFOPT TSYSM==512. ;TOTAL PDP10 1K MEM BLOCKS +DEFOPT NMMP==4 ;# EXEC PAGES FOR MMP TABLE (# VIR PGS/512.) + +DEFSYM PMRCM==777 ;9 BIT REAL CORE ADR +DEFSYM PMAGEM==17000 ;4 BIT AGE +DEFSYM PMCSHM==0 ;NO CACHE BIT +DEFSYM PMUNSD==160000 ;UNUSED BITS +] ;MLKA + +IFE MCOND KA,[ ;Generic KA10 +DEFOPT KA10P==1 ;HAS KA PROCESSOR +DEFOPT MAXJ==60. ;MAX NUMBER OF JOBS ALLOWED +DEFOPT SWBLK==1 ;1 => SWAP BLOCKING, 0 => PRIV USER +DEFOPT SWPWSP==0 ;NO WORKING-SET SWAP SCHEDULER +DEFOPT PAGPRE==1 ; Page-in preemption +DEFOPT SCHBLN==10. ;NUMBER OF RUNNABLE JOBS TO REMEMBER + +DEFOPT NQCHN==30. ;NUMBER 2314 CHNLS +DEFOPT NQS==2 ;# DISK UNITS +DEFOPT NTUTBL==1 ;TUTS ARE ONE BLOCK LONG +DEFSYM NUDSL==250. ;# USER DIRECTORIES ON DISK +DEFOPT RP10P==1 ;HAS DEC RP10 DISK CONTROL (RP02) +DEFOPT QRDCMP==1 ;SOFTWARE READ-COMPARE +DEFOPT DMDSK==1 ;USES DM DISK FORMAT +DEFOPT QRSRVP==1 ;HAS RESERVED DISK PACKS (SECONDARY PACK) +DEFOPT QAUTHP==1 ;KEEPS TRACK OF FILE AUTHORS + +;DEFOPT C1MXP==1 ;CHANNEL 1 MPX FEATURE +DEFOPT NEWDTP==1 ;HAS NEW DECTAPE CONTROLLER +DEFOPT NMTCS==1 ;NUMBER OF MAG TAPE UNITS +DEFOPT TM10A==1 ;IO-BUS MAG TAPE +DEFOPT NLPTP==1 ;HAS NEW LPT (ODEC) +DEFOPT TPLP==1 ;PSEUDO LPT +DEFOPT PTRP==1 ;HAS PAPER TAPE +DEFOPT PTPP==1 ; And punch works. +DEFOPT MTYP==0 ;HAS MORTON MULTIPLEX BOX +DEFOPT PDCLKP==0 ;"DeCoriolis" CLOCK + +DEFOPT NETP==0 ; Has net connection +DEFOPT IMPP==0 ; Has IMP interface +DEFOPT KAIMP==0 +DEFOPT IMPUS==306 ; ARPA net host number +DEFOPT IMPUS3== ; Internet host number +DEFOPT NCPP==0 ; Flush NCP code +DEFOPT NNETCH==20. ; # NCP net channels +DEFOPT INETP==0 ; Include Internet code +DEFOPT TCPP==0 ; Include TCP code +DEFOPT XBL==20. ; # TCP network channels +DEFOPT CHAOSP==0 ;CHAOS NET +DEFOPT MYCHAD==3114 ;CHAOS NET ADDRESS +DEFOPT NINDX==30. ;NUMBER OF INDICES +DEFOPT CH10P==0 ;CHAOS NET VIA PDP-10 I/O BUS, NOT FRONT-END + +DEFOPT NOTYS==1 ;# KA-10 CONSOLE 0 TTYS +;DEFOPT NNVTTS==0 ;# NOVA TTYS (used to have?) +DEFOPT NMTYS==0 ;# TTYS ON MORTON BOX +DEFOPT NSTTYS==8 ;# STY'S (PSEUDO-TTY'S) + +DEFOPT TSYSM==512. ;TOTAL PDP10 1K MEM BLOCKS +DEFOPT NMMP==4 ;# EXEC PAGES FOR MMP TABLE (# VIR PGS/512.) + +DEFSYM PMRCM==777 ;9 BIT REAL CORE ADR +DEFSYM PMAGEM==17000 ;4 BIT AGE +DEFSYM PMCSHM==0 ;NO CACHE BIT +DEFSYM PMUNSD==160000 ;UNUSED BITS + +DEFINE ITSIRP BODY +IRPS ITS,,[DB] +BODY +TERMIN +TERMIN +] ;MLKA + +IFE MCOND KA,[ ;Generic KA10 +DEFOPT KA10P==1 ;HAS KA PROCESSOR +DEFOPT MAXJ==60. ;MAX NUMBER OF JOBS ALLOWED +DEFOPT SWBLK==1 ;1 => SWAP BLOCKING, 0 => PRIV USER +DEFOPT SWPWSP==0 ;NO WORKING-SET SWAP SCHEDULER +DEFOPT PAGPRE==1 ; Page-in preemption +DEFOPT SCHBLN==10. ;NUMBER OF RUNNABLE JOBS TO REMEMBER + +DEFOPT NQCHN==30. ;NUMBER 2314 CHNLS +DEFOPT NQS==2 ;# DISK UNITS +DEFOPT NTUTBL==1 ;TUTS ARE ONE BLOCK LONG +DEFSYM NUDSL==250. ;# USER DIRECTORIES ON DISK +DEFOPT RP10P==1 ;HAS DEC RP10 DISK CONTROL (RP02) +DEFOPT QRDCMP==1 ;SOFTWARE READ-COMPARE +DEFOPT DMDSK==1 ;USES DM DISK FORMAT +DEFOPT QRSRVP==1 ;HAS RESERVED DISK PACKS (SECONDARY PACK) +DEFOPT QAUTHP==1 ;KEEPS TRACK OF FILE AUTHORS + +;DEFOPT C1MXP==1 ;CHANNEL 1 MPX FEATURE +DEFOPT NEWDTP==1 ;HAS NEW DECTAPE CONTROLLER +DEFOPT NMTCS==1 ;NUMBER OF MAG TAPE UNITS +DEFOPT TM10A==1 ;IO-BUS MAG TAPE +DEFOPT NLPTP==1 ;HAS NEW LPT (ODEC) +DEFOPT TPLP==1 ;PSEUDO LPT +DEFOPT PTRP==1 ;HAS PAPER TAPE +DEFOPT PTPP==1 ; And punch works. +DEFOPT MTYP==0 ;HAS MORTON MULTIPLEX BOX +DEFOPT PDCLKP==0 ;"DeCoriolis" CLOCK + +DEFOPT NETP==0 ; Has net connection +DEFOPT IMPP==0 ; Has IMP interface +DEFOPT KAIMP==0 +DEFOPT IMPUS==306 ; ARPA net host number +DEFOPT IMPUS3== ; Internet host number +DEFOPT NCPP==0 ; Flush NCP code +DEFOPT NNETCH==20. ; # NCP net channels +DEFOPT INETP==0 ; Include Internet code +DEFOPT TCPP==0 ; Include TCP code +DEFOPT XBL==20. ; # TCP network channels +DEFOPT CHAOSP==0 ;CHAOS NET +DEFOPT MYCHAD==3114 ;CHAOS NET ADDRESS +DEFOPT NINDX==30. ;NUMBER OF INDICES +DEFOPT CH10P==0 ;CHAOS NET VIA PDP-10 I/O BUS, NOT FRONT-END + +DEFOPT NOTYS==1 ;# KA-10 CONSOLE 0 TTYS +;DEFOPT NNVTTS==0 ;# NOVA TTYS (used to have?) +DEFOPT NMTYS==0 ;# TTYS ON MORTON BOX +DEFOPT NSTTYS==8 ;# STY'S (PSEUDO-TTY'S) + +DEFOPT TSYSM==512. ;TOTAL PDP10 1K MEM BLOCKS +DEFOPT NMMP==4 ;# EXEC PAGES FOR MMP TABLE (# VIR PGS/512.) + +DEFSYM PMRCM==777 ;9 BIT REAL CORE ADR +DEFSYM PMAGEM==17000 ;4 BIT AGE +DEFSYM PMCSHM==0 ;NO CACHE BIT +DEFSYM PMUNSD==160000 ;UNUSED BITS + +DEFINE ITSIRP BODY +IRPS ITS,,[DB] +BODY +TERMIN +TERMIN +] ;MLKA + +IFE MCOND DM,[ +DEFOPT KA10P==1 ;DM HAS KA10 PROCESSOR +DEFOPT MAXJ==63. ;MAX NUMBER OF JOBS ALLOWED +DEFOPT SWBLK==0 ;1 => SWAP BLOCKING, 0 => PRIVILEGED USER +DEFOPT SWPWSP==0 ;NO WORKING-SET SWAP SCHEDULER +DEFOPT PAGPRE==0 ;NO PAGE-IN PREEMPTION +DEFOPT SCHBLN==10. ;NUMBER OF RUNNABLE JOBS TO REMEMBER + +DEFOPT NQS==6 ;# OF DISK UNITS +DEFOPT NTUTBL==1 ;TUTS ARE ONE BLOCK LONG +DEFSYM NUDSL==200. ;# USER DIRECTORIES ON DISK +DEFOPT NQCHN==30. ;NUMBER 2314 CHNLS +DEFOPT RP10P==1 ;HAS DEC RP10 DISK CONTROL (RP02) +DEFOPT DMDSK==1 ;USES DM DISK FORMAT +DEFOPT QRSRVP==1 ;HAS RESERVED DISK PACKS +DEFOPT QAUTHP==1 ;KEEPS TRACK OF FILE AUTHORS + +DEFOPT C1MXP==1 ;HAS CHANNEL 1 MPX FEATURE +DEFOPT NMTCS==1 ;NUMBER MAG TAPE UNITS +DEFOPT TM10B==1 ;DF10-BASED CONTROLLER +DEFOPT TTLPTP==1 ;LPT IS A TTY (I.E. ON A TTY LINE) VALUE IS LINE #. +DEFOPT PTRP==1 ;HAS PAPER TAPE +DEFOPT PTPP==1 ;PUNCH DOES WORK. +DEFOPT MTYP==1 ;HAS MORTON MULTIPLEX BOX +;DEFOPT CODP==0 ;NO COD DEVICE (used to?) +DEFOPT PDCLKP==1 ;"DeCoriolis" CLOCK + +DEFOPT NETP==1 ; Has net connection +DEFOPT IMPP==1 ; Has IMP interface +DEFOPT DMIMP==1 ; This is a DM IMP interface +DEFOPT IMPUS==106 ; ARPA net host number +DEFOPT IMPUS3== ; Internet host number +DEFOPT NCPP==0 ; Flush NCP code +DEFOPT NNETCH==30. ; # NCP network channels +DEFOPT INETP==1 ; Include Internet code +DEFOPT TCPP==1 ; Include TCP code +DEFOPT XBL==20. ; # TCP network channels + +DEFOPT MSPP==1 ;HAS MESSAGE SLURPER +DEFOPT DEMON==1 ;HAS DEMON ROUTINES +DEFOPT NOTYS==1 ;# KA-10 CONSOLE 0 TTYS +DEFOPT NMTYS==12. ;# TTYS ON MORTON BOX +DEFOPT NSTTYS==16. ;# 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.) + +DEFSYM PMRCM==777 ;9 BIT REAL CORE ADR +DEFSYM PMAGEM==17000 ;4 BIT AGE +DEFSYM PMCSHM==0 ;NO CACHE BIT +DEFSYM PMUNSD==160000 ;UNUSED BITS +] ;DM + +IFE MCOND MX,[ +DEFOPT KL10P==1 ;MX IS WHAT WE CALL THE KL10 NOW +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==6 ;# OF DISK UNITS (3 RP04'S AND 3 T-300'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 QRDCMP==0 ;SOFTWARE READ-COMPARE, HARDWARE IS PINING FOR THE + ; FJORDS (But this isn't debugged yet.) +DEFOPT DMDSK==1 ;USES DM DISK FORMAT +DEFOPT QRSRVP==1 ;HAS RESERVED DISK PACKS +DEFOPT QAUTHP==1 ;KEEPS TRACK OF FILE AUTHORS + +DEFOPT NMTCS==1 ;NUMBER MAG TAPE UNITS +DEFOPT TM10B==1 ;DF10-BASED TAPE CONTROLLER + +DEFOPT DL10P==1 ;HAS 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== ; 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 NOTYS==0 ;# 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 NSTTYS==25. ;# OF STY'S (PSEUDO-TTY'S) + +DEFOPT TSYSM==2048. ;TOTAL PDP10 1K MEM BLOCKS +DEFOPT NMMP==7 ;# EXEC PAGES FOR MMP TABLE (# VIR PGS/512.) + +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] +BODY +TERMIN +TERMIN +] ;MX + +IFE MCOND AI,[ +DEFOPT KS10P==1 ;The new AI has a KS10 processor. + +DEFOPT MAXJ==60. ;Max number of jobs allowed +DEFOPT NQCHN==30. ;Max number of user disk channels open in system +DEFOPT SCHBLN==10. ;Number of runnable jobs to remember +DEFOPT SWBLK==1 ;1= 1=> swap blocking, 0=> privileged user +DEFOPT SWPWSP==0 ;1= Use working-set swap scheduler +DEFOPT PAGPRE==1 ;1= Use page-in preemption + +DEFOPT DMDSK==1 ;1= Use DM DSK format +DEFOPT QRSRVP==1 ;1= Has reserved disk packs (Secondary pack) +DEFOPT QAUTHP==1 ;1= Keep track of file authors + +DEFOPT NQS==2 ;# of disk drive units +DEFOPT NTUTBL==4 ;# 1K blocks in a TUT (better agree with RP06 DEFS) +DEFSYM NUDSL==500. ;# directories in file system (better agree with + ; SALV and DSKDMP) +DEFOPT RH11P==1 ; Has RH11 controller +DEFOPT RP06P==1 ; with two RP06s + +DEFOPT NMTCS==1 ;Number of magtape units (so why not NMTUS?) +DEFOPT TM03S==1 ;TM03/RH11 Unibus tape controller + +DEFOPT NETP==1 ;Has one kind of network anyway +;AI's IMP is gone 5/5/89 +;DEFOPT INETP==1 ; Include Internet code +;DEFOPT TCPP==1 ; Include TCP code +;DEFOPT XBL==30. ; # TCP network channels +;DEFOPT IMPP==1 ; Has an IMP interface +;DEFOPT KSIMP==1 ; ACC LH/DH interface on KS unibus +;DEFOPT IMPUS==206 ; ARPA net host number +;DEFOPT IMPUS3== ; Internet host number of IMP +;DEFOPT PKTTRC==-1 ;Packet tracing code enabled +DEFOPT CHAOSP==1 ;Has CHAOS net +DEFOPT MYCHAD==3130 ;CHAOS net address +DEFOPT NINDX==50. ;Number of indices +DEFOPT CH11P==1 ;CHAOS net goes through Unibus + +DEFOPT DZ11P==1 ;Has DZ11 TTY controllers + DEFOPT DZ11NB==1 ; 1 of them + DEFSYM DZ0BA=:760010 + +DEFOPT NKSTYS==1 ;# KS-10 8080 console 0 TTYs +DEFOPT NDZTYS==8. ;# DZ-11 TTYs +DEFOPT NSTTYS==12. ;# of STY's (Pseudo-TTY's) + +DEFOPT TSYSM==512. ;Total PDP10 1K memory blocks +DEFOPT NMMP==4 ;# exec pages for MMP table (# vir pgs/512.) + +;;; Next four better agree with SYSTEM;KSDEFS: +DEFSYM PMAGEM==020000 ;2.5 Age bit +DEFSYM PMCSHM==010000 ;2.4 Cache enable bit +DEFSYM PMRCM==001777 ;2.1 - 1.1 Physical page number + ; (The page table supports 20 bit physical + ; addresses.) +DEFSYM PMUNSD==146000 ;Unused bits + +DEFINE ITSIRP BODY +IRPS ITS,,[AI MC] +BODY +TERMIN +TERMIN +] ;AI + +IFE MCOND MC,[ +DEFOPT KS10P==1 ;MC is now a KS10. + +DEFOPT MAXJ==60. ;Max number of jobs allowed +DEFOPT NQCHN==30. ;Max number of user disk channels open in system +DEFOPT SCHBLN==10. ;Number of runnable jobs to remember +DEFOPT SWBLK==1 ;1= 1=> swap blocking, 0=> privileged user +DEFOPT SWPWSP==0 ;1= Use working-set swap scheduler +DEFOPT PAGPRE==1 ;1= Use page-in preemption + +DEFOPT DMDSK==1 ;1= Use DM DSK format +DEFOPT QRSRVP==1 ;1= Has reserved disk packs (Secondary pack) +DEFOPT QAUTHP==1 ;1= Keep track of file authors + +DEFOPT NQS==1 ;# of disk drive units +DEFOPT NTUTBL==4 ;# 1K blocks in a TUT (better agree with RP06 DEFS) +DEFSYM NUDSL==500. ;# directories in file system (better agree with + ; SALV and DSKDMP) +DEFOPT RH11P==1 ; Has RH11 controller +DEFOPT RP06P==1 ; with one RP06 + +DEFOPT NETP==1 ;Has one kind of network anyway +DEFOPT INETP==1 ; Include Internet code +DEFOPT TCPP==1 ; Include TCP code +DEFOPT XBL==30. ; # TCP network channels +;MC's IMP is gone 5/18/89 +;DEFOPT IMPP==1 ; Has an IMP interface +;DEFOPT KSIMP==1 ; ACC LH/DH interface on KS unibus +;DEFOPT IMPUS==354 ; ARPA net host number +;DEFOPT IMPUS3== ; Internet host number of IMP +DEFOPT IPUNCP==1 ; IP in Chaos UNC is our only Internet address +DEFOPT PKTTRC==-1 ;Packet tracing code enabled +DEFOPT CHAOSP==1 ;Has CHAOS net +DEFOPT MYCHAD==3131 ;CHAOS net address +DEFOPT NINDX==50. ;Number of indices +DEFOPT CH11P==1 ;CHAOS net goes through Unibus + +DEFOPT DZ11P==1 ;Has DZ11 TTY controllers + DEFOPT DZ11NB==1 ; 1 of them + DEFSYM DZ0BA=:760010 + +DEFOPT NKSTYS==1 ;# KS-10 8080 console 0 TTYs +DEFOPT NDZTYS==6. ;# DZ-11 TTYs +DEFOPT NSTTYS==4. ;# of STY's (Pseudo-TTY's) + +DEFOPT TSYSM==512. ;Total PDP10 1K memory blocks +DEFOPT NMMP==4 ;# exec pages for MMP table (# vir pgs/512.) + +;;; Next four better agree with SYSTEM;KSDEFS: +DEFSYM PMAGEM==020000 ;2.5 Age bit +DEFSYM PMCSHM==010000 ;2.4 Cache enable bit +DEFSYM PMRCM==001777 ;2.1 - 1.1 Physical page number + ; (The page table supports 20 bit physical + ; addresses.) +DEFSYM PMUNSD==146000 ;Unused bits + +DEFINE ITSIRP BODY +IRPS ITS,,[AI MC] +BODY +TERMIN +TERMIN +] ;MC + +IFE MCOND ML,[ +DEFOPT KS10P==1 ;ML is now a KS10. + +DEFOPT MAXJ==60. ;Max number of jobs allowed +DEFOPT NQCHN==30. ;Max number of user disk channels open in system +DEFOPT SCHBLN==10. ;Number of runnable jobs to remember +DEFOPT SWBLK==1 ;1= 1=> swap blocking, 0=> privileged user +DEFOPT SWPWSP==0 ;1= Use working-set swap scheduler +DEFOPT PAGPRE==1 ;1= Use page-in preemption + +DEFOPT DMDSK==1 ;1= Use DM DSK format +DEFOPT QRSRVP==1 ;1= Has reserved disk packs (Secondary pack) +DEFOPT QAUTHP==1 ;1= Keep track of file authors + +DEFOPT NQS==1 ;# of disk drive units +DEFOPT NTUTBL==4 ;# 1K blocks in a TUT (better agree with RP06 DEFS) +DEFSYM NUDSL==500. ;# directories in file system (better agree with + ; SALV and DSKDMP) +DEFOPT RH11P==1 ; Has RH11 controller +DEFOPT RP06P==1 ; with one RP06 + +DEFOPT NETP==1 ;Has one kind of network anyway +DEFOPT CHAOSP==1 ;Has CHAOS net +DEFOPT MYCHAD==3133 ;CHAOS net address +DEFOPT NINDX==50. ;Number of indices +DEFOPT CH11P==1 ;CHAOS net goes through Unibus + +DEFOPT DZ11P==1 ;Has DZ11 TTY controllers + DEFOPT DZ11NB==4 ; 4 of them + DEFSYM DZ0BA=:760010 + DEFSYM DZ1BA=:760020 + DEFSYM DZ2BA=:760030 + DEFSYM DZ3BA=:760040 + +DEFOPT NKSTYS==1 ;# KS-10 8080 console 0 TTYs +DEFOPT NDZTYS==4. ;# DZ-11 TTYs +DEFOPT NSTTYS==4. ;# of STY's (Pseudo-TTY's) + +DEFOPT TSYSM==512. ;Total PDP10 1K memory blocks +DEFOPT NMMP==4 ;# exec pages for MMP table (# vir pgs/512.) + +;;; Next four better agree with SYSTEM;KSDEFS: +DEFSYM PMAGEM==020000 ;2.5 Age bit +DEFSYM PMCSHM==010000 ;2.4 Cache enable bit +DEFSYM PMRCM==001777 ;2.1 - 1.1 Physical page number + ; (The page table supports 20 bit physical + ; addresses.) +DEFSYM PMUNSD==146000 ;Unused bits + +DEFINE ITSIRP BODY +IRPS ITS,,[AI MC ML] +BODY +TERMIN +TERMIN +] ;ML + +; KLH: temporarily hijacking "MD" to help fix programs with hardwired +; tables of ITS names, including MD. +; To restore, change MDKS to MD and flush the virtual KLH10-based MD. +IFE MCOND MDKS,[ + +DEFOPT KS10P==1 ;MD is a KS10. + +DEFOPT MAXJ==60. ;Max number of jobs allowed +DEFOPT NQCHN==30. ;Max number of user disk channels open in system +DEFOPT SCHBLN==10. ;Number of runnable jobs to remember +DEFOPT SWBLK==1 ;1= 1=> swap blocking, 0=> privileged user +DEFOPT SWPWSP==0 ;1= Use working-set swap scheduler +DEFOPT PAGPRE==1 ;1= Use page-in preemption + +DEFOPT DMDSK==1 ;1= Use DM DSK format +DEFOPT QRSRVP==1 ;1= Has reserved disk packs (Secondary pack) +DEFOPT QAUTHP==1 ;1= Keep track of file authors + +DEFOPT NQS==1 ;# of disk drive units +DEFOPT NTUTBL==3 ;# 1K blocks in a TUT (better agree with disk DEFS) +DEFSYM NUDSL==500. ;# directories in file system (better agree with + ; SALV and DSKDMP) +DEFOPT RH11P==1 ; Has RH11 controller +DEFOPT RM80P==1 ; with one RM80 + +DEFOPT NETP==1 ;Has one kind of network anyway +DEFOPT CHAOSP==1 ;Has CHAOS net +DEFOPT MYCHAD==3132 ;CHAOS net address +DEFOPT NINDX==50. ;Number of indices +DEFOPT CH11P==1 ;CHAOS net goes through Unibus + +DEFOPT DZ11P==1 ;Has DZ11 TTY controllers + DEFOPT DZ11NB==4 ; 4 of them + DEFSYM DZ0BA=:760010 + DEFSYM DZ1BA=:760020 + DEFSYM DZ2BA=:760030 + DEFSYM DZ3BA=:760040 + +DEFOPT NKSTYS==1 ;# KS-10 8080 console 0 TTYs +DEFOPT NDZTYS==4. ;# DZ-11 TTYs +DEFOPT NSTTYS==4. ;# of STY's (Pseudo-TTY's) + +DEFOPT TSYSM==512. ;Total PDP10 1K memory blocks +DEFOPT NMMP==4 ;# exec pages for MMP table (# vir pgs/512.) + +;;; Next four better agree with SYSTEM;KSDEFS: +DEFSYM PMAGEM==020000 ;2.5 Age bit +DEFSYM PMCSHM==010000 ;2.4 Cache enable bit +DEFSYM PMRCM==001777 ;2.1 - 1.1 Physical page number + ; (The page table supports 20 bit physical + ; addresses.) +DEFSYM PMUNSD==146000 ;Unused bits + +DEFINE ITSIRP BODY +IRPS ITS,,[AI MC ML MD] +BODY +TERMIN +TERMIN +] ;MD + +IFE MCOND SI,[ ;Stacken ITS +DEFOPT KS10P==1 ;SI is a KS10 + +DEFOPT MAXJ==60. ;Max number of jobs allowed +DEFOPT NQCHN==30. ;Max number of user disk channels open in system +DEFOPT SCHBLN==10. ;Number of runnable jobs to remember +DEFOPT SWBLK==1 ;1= 1=> swap blocking, 0=> privileged user +DEFOPT SWPWSP==0 ;1= Use working-set swap scheduler +DEFOPT PAGPRE==1 ;1= Use page-in preemption + +DEFOPT DMDSK==1 ;1= Use DM DSK format +DEFOPT QRSRVP==1 ;1= Has reserved disk packs (Secondary pack) +DEFOPT QAUTHP==1 ;1= Keep track of file authors + +DEFOPT NQS==1 ;# of disk drive units +DEFOPT NTUTBL==4 ;# 1K blocks in a TUT (better agree with RP06 DEFS) +DEFSYM NUDSL==500. ;# directories in file system (better agree with + ; SALV and DSKDMP) +DEFOPT RH11P==1 ; Has RH11 controller +DEFOPT RP06P==1 ; with one RP06 + +DEFOPT NMTCS==1 ;Number of magtape units (so why not NMTUS?) +DEFOPT TM03S==1 ;TM03/RH11 Unibus tape controller + +DEFOPT DZ11P==1 ;Has DZ11 TTY controllers + DEFOPT DZ11NB==2 ; 2 of them + DEFSYM DZ0BA=:760010 + DEFSYM DZ1BA=:760020 + +DEFOPT NKSTYS==1 ;# KS-10 8080 console 0 TTYs +DEFOPT NDZTYS==16. ;# DZ-11 TTYs +DEFOPT NSTTYS==8. ;# of STY's (Pseudo-TTY's) + +DEFOPT TSYSM==512. ;Total PDP10 1K memory blocks +DEFOPT NMMP==4 ;# exec pages for MMP table (# vir pgs/512.) + +;;; Next four better agree with SYSTEM;KSDEFS: +DEFSYM PMAGEM==020000 ;2.5 Age bit +DEFSYM PMCSHM==010000 ;2.4 Cache enable bit +DEFSYM PMRCM==001777 ;2.1 - 1.1 Physical page number + ; (The page table supports 20 bit physical + ; addresses.) +DEFSYM PMUNSD==146000 ;Unused bits + +DEFINE ITSIRP BODY +IRPS ITS,,[SI] +BODY +TERMIN +TERMIN +] ;SI + +IFE MCOND FU,[ ;Australian KS10 +DEFOPT KS10P==1 ;FU is a KS10 + +DEFOPT MAXJ==60. ;Max number of jobs allowed +DEFOPT NQCHN==30. ;Max number of user disk channels open in system +DEFOPT SCHBLN==10. ;Number of runnable jobs to remember +DEFOPT SWBLK==1 ;1= 1=> swap blocking, 0=> privileged user +DEFOPT SWPWSP==0 ;1= Use working-set swap scheduler +DEFOPT PAGPRE==1 ;1= Use page-in preemption + +DEFOPT DMDSK==1 ;1= Use DM DSK format +DEFOPT QRSRVP==1 ;1= Has reserved disk packs (Secondary pack) +DEFOPT QAUTHP==1 ;1= Keep track of file authors + +DEFOPT NQS==1 ;# of disk drive units +DEFOPT NTUTBL==4 ;# 1K blocks in a TUT (better agree with RP06 DEFS) +DEFSYM NUDSL==500. ;# directories in file system (better agree with + ; SALV and DSKDMP) +DEFOPT RH11P==1 ; Has RH11 controller +DEFOPT RP06P==1 ; with one RP06 + +DEFOPT NMTCS==1 ;Number of magtape units (so why not NMTUS?) +DEFOPT TM03S==1 ;TM03/RH11 Unibus tape controller + +DEFOPT DZ11P==1 ;Has DZ11 TTY controllers + DEFOPT DZ11NB==1 ; 1 of them + DEFSYM DZ0BA=:760010 + +DEFOPT NKSTYS==1 ;# KS-10 8080 console 0 TTYs +DEFOPT NDZTYS==8. ;# DZ-11 TTYs +DEFOPT NSTTYS==4. ;# of STY's (Pseudo-TTY's) + +DEFOPT TSYSM==512. ;Total PDP10 1K memory blocks +DEFOPT NMMP==4 ;# exec pages for MMP table (# vir pgs/512.) + +;;; Next four better agree with SYSTEM;KSDEFS: +DEFSYM PMAGEM==020000 ;2.5 Age bit +DEFSYM PMCSHM==010000 ;2.4 Cache enable bit +DEFSYM PMRCM==001777 ;2.1 - 1.1 Physical page number + ; (The page table supports 20 bit physical + ; addresses.) +DEFSYM PMUNSD==146000 ;Unused bits + +DEFINE ITSIRP BODY +IRPS ITS,,[FU] +BODY +TERMIN +TERMIN +] ;FU + +IFE MCOND PM,[ ;MRC's KS10 (PandaMonium) +DEFOPT KS10P==1 ;PM is a KS10 + +DEFOPT MAXJ==60. ;Max number of jobs allowed +DEFOPT NQCHN==30. ;Max number of user disk channels open in system +DEFOPT SCHBLN==10. ;Number of runnable jobs to remember +DEFOPT SWBLK==1 ;1= 1=> swap blocking, 0=> privileged user +DEFOPT SWPWSP==0 ;1= Use working-set swap scheduler +DEFOPT PAGPRE==1 ;1= Use page-in preemption + +DEFOPT DMDSK==1 ;1= Use DM DSK format +DEFOPT QRSRVP==1 ;1= Has reserved disk packs (Secondary pack) +DEFOPT QAUTHP==1 ;1= Keep track of file authors + +DEFOPT NQS==1 ;# of disk drive units +DEFOPT NTUTBL==2 ;# 1K blocks in a TUT (better agree with RM03 DEFS) +DEFSYM NUDSL==500. ;# directories in file system (better agree with + ; SALV and DSKDMP) +DEFOPT RH11P==1 ; Has RH11 controller +DEFOPT RM03P==1 ; with one RM03 + +DEFOPT NMTCS==1 ;Number of magtape units (so why not NMTUS?) +DEFOPT TM03S==1 ;TM03/RH11 Unibus tape controller + +DEFOPT DZ11P==1 ;Has DZ11 TTY controllers + DEFOPT DZ11NB==1 ; 1 of them + DEFSYM DZ0BA=:760010 + +DEFOPT NKSTYS==1 ;# KS-10 8080 console 0 TTYs +DEFOPT NDZTYS==5. ;# DZ-11 TTYs +DEFOPT NSTTYS==4. ;# of STY's (Pseudo-TTY's) + +DEFOPT TSYSM==512. ;Total PDP10 1K memory blocks +DEFOPT NMMP==4 ;# exec pages for MMP table (# vir pgs/512.) + +;;; Next four better agree with SYSTEM;KSDEFS: +DEFSYM PMAGEM==020000 ;2.5 Age bit +DEFSYM PMCSHM==010000 ;2.4 Cache enable bit +DEFSYM PMRCM==001777 ;2.1 - 1.1 Physical page number + ; (The page table supports 20 bit physical + ; addresses.) +DEFSYM PMUNSD==146000 ;Unused bits + +DEFINE ITSIRP BODY +IRPS ITS,,[PM] +BODY +TERMIN +TERMIN +] ;PM + +IFE MCOND DXKS,[ ;Digex's real hardware KS10 (formerly DX) +DEFOPT KS10P==1 ;DX-KS is a KS10 + +DEFOPT MAXJ==60. ;Max number of jobs allowed +DEFOPT NQCHN==30. ;Max number of user disk channels open in system +DEFOPT SCHBLN==10. ;Number of runnable jobs to remember +DEFOPT SWBLK==1 ;1= 1=> swap blocking, 0=> privileged user +DEFOPT SWPWSP==0 ;1= Use working-set swap scheduler +DEFOPT PAGPRE==1 ;1= Use page-in preemption + +DEFOPT DMDSK==1 ;1= Use DM DSK format +DEFOPT QRSRVP==1 ;1= Has reserved disk packs (Secondary pack) +DEFOPT QAUTHP==1 ;1= Keep track of file authors + +DEFOPT NQS==1 ;# of disk drive units +DEFOPT NTUTBL==2 ;# 1K blocks in a TUT (better agree with RM03 DEFS) +DEFSYM NUDSL==500. ;# directories in file system (better agree with + ; SALV and DSKDMP) +DEFOPT RH11P==1 ; Has RH11 controller +DEFOPT RM03P==1 ; with one RM02/3 + +DEFOPT NMTCS==1 ;Number of magtape units (so why not NMTUS?) +DEFOPT TM03S==1 ;TM03/RH11 Unibus tape controller + +DEFOPT DZ11P==1 ;Has DZ11 TTY controllers + DEFOPT DZ11NB==1 ; 1 of them + DEFSYM DZ0BA=:760010 + +DEFOPT NKSTYS==1 ;# KS-10 8080 console 0 TTYs +DEFOPT NDZTYS==8. ;# DZ-11 TTYs +DEFOPT NSTTYS==4. ;# of STY's (Pseudo-TTY's) + +DEFOPT TSYSM==512. ;Total PDP10 1K memory blocks +DEFOPT NMMP==4 ;# exec pages for MMP table (# vir pgs/512.) + +;;; Next four better agree with SYSTEM;KSDEFS: +DEFSYM PMAGEM==020000 ;2.5 Age bit +DEFSYM PMCSHM==010000 ;2.4 Cache enable bit +DEFSYM PMRCM==001777 ;2.1 - 1.1 Physical page number + ; (The page table supports 20 bit physical + ; addresses.) +DEFSYM PMUNSD==146000 ;Unused bits + +DEFINE ITSIRP BODY +IRPS ITS,,[DX] +BODY +TERMIN +TERMIN +] ;DX + +;;; Mostly virtual machines from here on, based on a KLH10 emulating a KS10. +;;; Try to simplify things by combining common definitions; perhaps +;;; this should be moved to an INSRT file instead. + +DEFINE DEFVKS ; Define common virtual KS10 +DEFOPT KS10P==1 ;Using a KS10 processor +DEFOPT KLH10P==1 ;(actually a KLH10) + +DEFOPT MAXJ==60. ;Max number of jobs allowed +DEFOPT NQCHN==30. ;Max number of user disk channels open in system +DEFOPT SCHBLN==10. ;Number of runnable jobs to remember +DEFOPT SWBLK==1 ;1= 1=> swap blocking, 0=> privileged user +DEFOPT SWPWSP==0 ;1= Use working-set swap scheduler +DEFOPT PAGPRE==1 ;1= Use page-in preemption + +DEFOPT DMDSK==1 ;1= Use DM DSK format +DEFOPT QRSRVP==1 ;1= Has reserved disk packs (Secondary pack) +DEFOPT QAUTHP==1 ;1= Keep track of file authors + +DEFOPT NQS==1 ;# of disk drive units for now +DEFOPT NTUTBL==4 ;# 1K blocks in a TUT (better agree with RP06 DEFS) +DEFSYM NUDSL==500. ;# directories in file system (better agree with + ; SALV and DSKDMP) +DEFOPT RH11P==1 ; Has RH11 controller +DEFOPT RP06P==1 ; with one (not two) RP06s + +DEFOPT NMTCS==1 ;Number of magtape units (so why not NMTUS?) +DEFOPT TM03S==1 ;TM03/RH11 Unibus tape controller + +DEFOPT NETP==1 ;Has one kind of network anyway +DEFOPT INETP==1 ; Include Internet code +DEFOPT TCPP==1 ; Include TCP code +DEFOPT XBL==30. ; # TCP network channels +DEFOPT IMPP==1 ; Has an IMP interface +DEFOPT SSIMP==1 ; Hooked to "Simulated Simple IMP" +;DEFOPT IMPUS==236. ; IMP net host number (old-style) (206 octal) +;DEFOPT IMPUS3== ; IP address +;DEFOPT NM%IMP== ; Subnet mask +;DEFOPT PKTTRC==-1 ;Packet tracing code enabled + +DEFOPT DZ11P==1 ;Has DZ11 TTY controllers + DEFOPT DZ11NB==1 ; 1 of them + DEFSYM DZ0BA=:760010 + +DEFOPT NKSTYS==1 ;# KS-10 8080 console 0 TTYs +DEFOPT NDZTYS==8. ;# DZ-11 TTYs +DEFOPT NSTTYS==20. ;# of STY's (Pseudo-TTY's) + +DEFOPT TSYSM==512. ;Total PDP10 1K memory blocks +DEFOPT NMMP==4 ;# exec pages for MMP table (# vir pgs/512.) + +;;; Next four better agree with SYSTEM;KSDEFS: +DEFSYM PMAGEM==020000 ;2.5 Age bit +DEFSYM PMCSHM==010000 ;2.4 Cache enable bit +DEFSYM PMRCM==001777 ;2.1 - 1.1 Physical page number + ; (The page table supports 20 bit physical + ; addresses.) +DEFSYM PMUNSD==146000 ;Unused bits + +TERMIN ; end DEFVKS + +IFE MCOND NX,[ ; New-10 (or Non-eXistent) - original virtual system + +DEFVKS ; Now uses standard virtual KS10 config + +DEFOPT IMPUS==236. ; IMP net host number (old-style) (206 octal) +DEFOPT IMPUS3== ; IP address +DEFOPT NM%IMP== ; Subnet mask + +DEFINE ITSIRP BODY ; No local companions +IRPS ITS,,[NX] +BODY +TERMIN +TERMIN +] ;NX + +IFE MCOND KN,[ ; KN for KN10 virtual system (alt to NX) + +DEFVKS ; Now uses standard virtual KS10 config + +DEFOPT IMPUS==134. ; IMP net host number (old-style) (206 octal) +DEFOPT IMPUS3== ; IP address (Arpa,AI,ML,MC) +DEFOPT NM%IMP== ; Subnet mask + +DEFINE ITSIRP BODY ; No local companions +IRPS ITS,,[KN] +BODY +TERMIN +TERMIN +] ;NX + +; KLH: See comment for MDKS above. Borrowing the "MD" name in order +; to help fix programs with hardwired ITS names. +IFE MCOND MD,[ ; Virtual MD + +DEFVKS ; Initially use standard virtual KS10 config + +DEFOPT IMPUS==51. ; IMP net host number (old-style) +DEFOPT IMPUS3== ; IP address +DEFOPT NM%IMP== ; Subnet mask +;DEFOPT PKTTRC==-1 ;Packet tracing code enabled + +DEFINE ITSIRP BODY +IRPS ITS,,[MD] +BODY +TERMIN +TERMIN +] ;MD (virtual) + +IFE MCOND PI,[ ; Public ITS + +DEFVKS ; Initially use standard virtual KS10 config + +DEFOPT IMPUS==51. ; IMP net host number (old-style) +DEFOPT IMPUS3== ; IP address +DEFOPT NM%IMP== ; Subnet mask +;DEFOPT PKTTRC==-1 ;Packet tracing code enabled + +DEFINE ITSIRP BODY ; Has some local friends +IRPS ITS,,[PI DU DX] +BODY +TERMIN +TERMIN +] ;PI + +IFE MCOND DX,[ ; Digex virtual ITS + +DEFVKS ; Initially use standard virtual KS10 config + +DEFOPT IMPUS==52. ; IMP net host number (old-style) +DEFOPT IMPUS3== ; IP address +DEFOPT NM%IMP== ; Subnet mask +;DEFOPT PKTTRC==-1 ;Packet tracing code enabled + +DEFINE ITSIRP BODY ; Has some local friends +IRPS ITS,,[PI DU DX] +BODY +TERMIN +TERMIN +] ;PI + +IFE MCOND DU,[ ; Derivative ITS + +DEFVKS ; Initially use standard virtual KS10 config + +DEFOPT IMPUS==53. ; IMP net host number (old-style) +DEFOPT IMPUS3== ; IP address +DEFOPT NM%IMP== ; Subnet mask +;DEFOPT PKTTRC==-1 ;Packet tracing code enabled + +DEFINE ITSIRP BODY ; Has some local friends +IRPS ITS,,[PI DU DX] +BODY +TERMIN +TERMIN +] ;DU + +IFE MCOND DB,[ ;DistriBution world +DEFOPT KS10P==1 ;DB is a KS10 + +IF1,[ +PRINTX /Configuration? (RP06, RP07, RM03 or RM80) / +.TTYMAC CNFG +DBRP06==0 ? DBRP07==0 ? DBRM03==0 ? DBRM80==0 +DB!CNFG==1 +IFE DBRP06\DBRP07\DBRM03\DBRM80, .ERR "CNFG" unknown. +TERMIN +] + +DEFOPT MAXJ==60. ;Max number of jobs allowed +DEFOPT NQCHN==30. ;Max number of user disk channels open in system +DEFOPT SCHBLN==10. ;Number of runnable jobs to remember +DEFOPT SWBLK==1 ;1= 1=> swap blocking, 0=> privileged user +DEFOPT SWPWSP==0 ;1= Use working-set swap scheduler +DEFOPT PAGPRE==1 ;1= Use page-in preemption + +DEFOPT DMDSK==1 ;1= Use DM DSK format +DEFOPT QRSRVP==1 ;1= Has reserved disk packs (Secondary pack) +DEFOPT QAUTHP==1 ;1= Keep track of file authors + +DEFOPT NQS==1 ;# of disk drive units +IFN DBRP06, DEFOPT NTUTBL==4 ;# 1K blocks in a TUT (better agree with +IFN DBRP07, DEFOPT NTUTBL==9 ; RP06 DEFS, RP07 DEFS, +IFN DBRM03, DEFOPT NTUTBL==2 ; RM03 DEFS or RM80 DEFS) +IFN DBRM80, DEFOPT NTUTBL==3 + +DEFSYM NUDSL==500. ;# directories in file system (better agree with + ; SALV and DSKDMP) +DEFOPT RH11P==1 ; Has RH11 controller +IFN DBRP06, DEFOPT RP06P==1 ; with one RP06 +IFN DBRP07, DEFOPT RP07P==1 ; with one RP07 +IFN DBRM03, DEFOPT RM03P==1 ; with one RM02/3 +IFN DBRM80, DEFOPT RM80P==1 ; with one RM80 + +DEFOPT NMTCS==1 ;Number of magtape units (so why not NMTUS?) +DEFOPT TM03S==1 ;TM03/RH11 Unibus tape controller + +DEFOPT DZ11P==1 ;Has DZ11 TTY controllers + DEFOPT DZ11NB==1 ; 1 of them + DEFSYM DZ0BA=:760010 + +DEFOPT NKSTYS==1 ;# KS-10 8080 console 0 TTYs +DEFOPT NDZTYS==8. ;# DZ-11 TTYs +DEFOPT NSTTYS==4. ;# of STY's (Pseudo-TTY's) + +DEFOPT TSYSM==512. ;Total PDP10 1K memory blocks +DEFOPT NMMP==4 ;# exec pages for MMP table (# vir pgs/512.) + +;;; Next four better agree with SYSTEM;KSDEFS: +DEFSYM PMAGEM==020000 ;2.5 Age bit +DEFSYM PMCSHM==010000 ;2.4 Cache enable bit +DEFSYM PMRCM==001777 ;2.1 - 1.1 Physical page number + ; (The page table supports 20 bit physical + ; addresses.) +DEFSYM PMUNSD==146000 ;Unused bits + +DEFINE ITSIRP BODY +IRPS ITS,,[DB] +BODY +TERMIN +TERMIN +] ;DB + +; Default settings for all configuration-dependent assembly parameters. +; If a system definition has already set a value for a parameter, the +; default here will NOT be used. + +DEFOPT KL10P==0 ;1= KL10 processor +DEFOPT KS10P==0 ;1= KS10 processor +DEFOPT KA10P==0 ;1= KA10 processor + +IFE KL10P\KS10P\KA10P, .ERR Processor type required - KL10P, KS10P or KA10P + +IFN KS10P, DEFOPT KSFREQ==4100000./60. ; KS-ticks per PD-tick. + +DEFOPT C1MXP==0 ;1= Has PI channel 1 MPX feature + +DEFOPT MAXJ==63. ; Max number of jobs allowed +DEFOPT NQCHN==30. ; Max number of user disk channels open in system +DEFOPT SCHBLN==10. ; Number of runnable jobs to remember +DEFOPT SWBLK==0 ;1= 1=> swap blocking, 0=> privileged user +DEFOPT SWPWSP==0 ;1= Use working-set swap scheduler +DEFOPT PAGPRE==0 ;1= Use page-in preemption + +; Disk parameters + +IFNDEF NQS, .ERR NQS required - # of disk drive units +IFNDEF NTUTBL,.ERR NTUTBL required - # 1K blocks in a TUT + ; (This defn better agree with DC/RP/RH/T3 defs) +IFNDEF NUDSL, .ERR NUDSL required - # directories in file system + ; Just changing this will not work!! +DEFOPT DC10P==0 ;1= Has Systems Concepts disk control +DEFOPT RP10P==0 ;1= DEC RP10 disk control (RP02) +DEFOPT RH10P==0 ;1= DEC RH10 disk control (RP04) +DEFOPT RH11P==0 ;1= DEC RH11 disk control +DEFOPT RP06P==0 ;1= RH11 with RP06's +DEFOPT RM03P==0 ;1= RH11 with RM03's +DEFOPT RM80P==0 ;1= RH11 with RM80's +DEFOPT T300P==0 ;1= Trident T-300 via PDP-11 +DEFOPT QRDCMP==0 ;1= Software read-compare +DEFOPT DMDSK==0 ;1= Use DM DSK format +DEFOPT QRSRVP==0 ;1= Has reserved disk packs (Secondary pack) +DEFOPT QAUTHP==0 ;1= Keep track of file authors + + +; Magtape parameters +DEFOPT NMTCS==0 ; # Mag tape units +DEFOPT TM10A==0 ;1= IO-bus TM10 Mag tape +DEFOPT TM10B==0 ;1= DF10/TM10 Magtape +DEFOPT TM03S==0 ;1= TM03/RH11 KS Magtape +IFN NMTCS,IFE TM10A\TM10B\TM03S,.ERR No Magtape Controller type specified? + + +; Network parameters +DEFOPT NETP==0 ;1= Connected to some network, include net code. +DEFOPT CHAOSP==0 ;1= Has CHAOS net (Must have some interface def'd) +DEFOPT NCPP==0 ;1= Include NCP code (must have IMPP) +DEFOPT INETP==0 ;1= Include Internet Protocol code +DEFOPT TCPP==0 ;1= Include TCP code (must have INETP) +DEFOPT IPUNCP==0 ;1= IP in Chaos UNC is our only Internet address + +;NCP-specific parameters +DEFOPT NNETCH==30. ; # of NCP network channels system supports + +;IP-specific paramters +IFN INETP,[ +IFE IPUNCP,IFNDEF IMPUS3,.ERR IMPUS3 must be defined as Internet host addr +IFN IPUNCP,IFE CHAOSP,.ERR Chaosnet must exist for IP encapsulation scheme +] + +;Chaos-specific parameters +IFN CHAOSP,IFNDEF MYCHAD, .ERR MYCHAD must be defined as CHAOSnet host addr +IFN CHAOSP,DEFOPT IMPUS4==<+MYCHAD> ; MIT Chaosnet IP addr +IFN CHAOSP,DEFOPT NM%CHA== ; Set default netmask for it +DEFOPT NINDX==0 ; Number of indices for CHAOS connections +DEFOPT CH10P==0 ;1= CHAOS net via PDP-10 I/O bus +DEFOPT CH11P==0 ;1= CHAOS net via Unibus Chaos board on KS10 +DEFOPT DLCP==0 ;1= CHAOS net via DL10 +DEFOPT T11CHP==0 ;1= CHAOS net via Rubin 10-11 interface +IFN T11CHP,DEFOPT CH11NM==7 ; CHAOS net is on PDP-11 #7 of 10-11 interface + +;IMP interface specific parameters +DEFOPT IMPP==0 ;1= Has IMP interface to ARPAnet +IFN IMPP,IFNDEF IMPUS, .ERR IMPUS must be defined as ARPAnet host # +IFN IMPP,IFNDEF IMPUS3,.ERR IMPUS3 must be defined as ARPAnet host # +;IFN IMPP,DEFOPT NM%IMP== ; Define default netmask +DEFOPT DMIMP==0 ;1= Has DM IMP interface +DEFOPT KAIMP==0 ;1= Has AI-KA/ML-KA/MX-KL IMP interface +DEFOPT KSIMP==0 ;1= Has KS10 UNIBUS ACC LH-DH IMP interface +DEFOPT SSIMP==0 ;1= Has "Simulated Simple IMP", similar to KSIMP +IFN IMPP,IFE DMIMP+KAIMP+KSIMP+SSIMP,.ERR IMPP requires an interface type +IFN IMPP,IFN IPUNCP,.ERR IPUNCP and IMPP are incompatible + +; Generic network interface parameters +DEFOPT NNIFS== ; # of network interfaces + + +; TTY line parameters +DEFOPT MTYP==0 ;1= Has Morton box multiplexor +DEFOPT DL10P==0 ;1= Has DL10/DC76 TTY controller +DEFOPT TK10P==0 ;1= Has TK10 TTY scanner +DEFOPT DPKPP==0 ;1= Has Datapoint kludge TTY mpxr +DEFOPT DZ11P==0 ;1= Has DZ11 Multiplexors + +IFN DZ11P, IFNDEF DZ11NB, .ERR DZ11P requires a value for DZ11NB +IFE DZ11P, DEFSYM DZ11NB==0 ; # DZ11s + +DEFOPT NOTYS==0 ; # KA-10 console 0 TTYs +DEFOPT NETYS==0 ; # KL-10 DTE20 console 0 TTYs +DEFOPT NKSTYS==0 ; # KS-10 8080 console 0 TTYs +DEFOPT NNVTTS==0 ; # Nova TTYs +DEFOPT NNTYS==0 ; # TTYs on Knight kludge +DEFOPT NDZTYS==0 ; # TTYs on DZ11s +DEFOPT NDPTYS==0 ; # TTYs on Datapoint kludge +DEFOPT NMTYS==0 ; # TTYs on Morton box +DEFOPT NDLTYS==0 ; # TTYs on DL10/DC76 +DEFOPT NSTTYS==0 ; # of STY's (Pseudo-TTY's) +DEFOPT N11TYS==0 ; # PDP11 TV TTYs (formerly 16. of them) +IFN N11TYS,[ + DEFOPT TT11NM==0 ; # of PDP11 that handles TTYs. + DEFOPT MXVBN==40 ; Max video buffer # for assignment purposes. +] ; These actually correspond to video switch inputs. +DEFOPT NF2741==0 ; First 2741 console # +DEFOPT N2741==0 ; # 2741's (formerly 3; flushed 3/21/76) +DEFOPT SYSCON==0 ; TTY # of system job console +DEFOPT APL==0 ; AP TTY # + +; Miscellaneous devices + +DEFOPT TEN11P==0 ;1= Rubin 10-11 interface (late of AI-KA) +DEFOPT XGP==0 ;1= Has XGP +DEFOPT NEWDTP==0 ;1= Has new dectape controller +DEFOPT NUNITS==0 ; # Utape (DECtape) units +DEFOPT OLPTP==0 ;1= Has old LPT (Data Products) +DEFOPT NLPTP==0 ;1= Has new LPT (ODEC) +DEFOPT GLPTP==0 ;1= Has Gould LPT +DEFOPT TTLPTP==0 ;1= LPT is on a TTY line (value = line #) +DEFOPT PTRP==0 ;1= Has paper tape reader/punch +DEFOPT PTPP==0 ;1= Paper tape punch works +DEFOPT PDCLKP==0 ;1= Has "DeCoriolis" clock +DEFOPT HCLKP==0 ;1= Has Holloway clock (device 710, 714) +DEFOPT CCLKP==0 ;1= Hack chess tournament clock stuff (device 374) +DEFOPT 340P==0 ;1= Has 340 display +DEFOPT TABP==0 ;1= Has Sylvania tablet +DEFOPT PLTP==0 ;1= Has Calcomp plotter +DEFOPT DSDP==0 ;1= Has deselection device +DEFOPT ARMP==0 ;1= Has arm (AMF mostly) (R.I.P.) +DEFOPT IMXP==0 ;1= Has IMX (input A/D multiplexor) (alas, no more) +DEFOPT OMXP==0 ;1= Has OMX (output D/A multiplexor) (alas, no more) +DEFOPT VIDP==0 ;1= Has VIDI (R.I.P.) +DEFOPT NTYP==0 ;1= Has DM kludge for talking to 11 +DEFOPT CODP==0 ;1= Has Morse code F1 92Mhz broadcast output device +DEFOPT PDP6P==0 ;1= Has PDP-6 (alas, no more) + ; (turning this on probably won't work) +DEFOPT RBTCP==0 ;1= Has Robot console +DEFOPT NDAP==0 ;1= Has "new" D/A converters (alas, no more) +DEFOPT STKP==0 ;1= Has Stanford keyboard (not any more) +DEFOPT E.SP==0 ;1= Has E&S LDS-1 display + +; Some software options + +DEFOPT MSPP==0 ;1= Want message slurper +DEFOPT DEMON==0 ;1= Want crufty DM demon facility +DEFOPT TPLP==0 ;1= Want pseudo LPT + + +; Physical memory parameters + +DEFOPT ECCMEM==0 ;1= Has HIC's error correcting memory +DEFOPT NMMP==4 ; # exec pages for MMP table (# vir pgs/512.) +IFNDEF TSYSM, .ERR TSYSM required - Total PDP10 1K mem blocks + +IFNDEF PMRCM, .ERR PMRCM required - Mem addr field in page map +IFNDEF PMAGEM,.ERR PMAGEM required - Age bits in page map +IFNDEF PMCSHM,.ERR PMCSHM required - Cache bit +IFNDEF PMUNSD,.ERR PMUNSD required - Unused bits + +IFNDEF ITSIRP,.ERR ITSIRP required - Names of local ITS machines + +; Any parameter conflict checks can be made here. + +IFN DZ11P,[ +IFG NDZTYS-, .ERR More DZ11 TTYs than controllers? +REPEAT DZ11NB,[ +IFNDEF CONC DZ,\.RPCNT,BA, .ERR DZ11 bus address not specified. +] +] +IFN $$TEMP,EXPUNGE DEFSYM +IFN $$TEM2,EXPUNGE DEFOPT diff --git a/build/sims/init b/build/sims/init new file mode 100644 index 00000000..51663121 --- /dev/null +++ b/build/sims/init @@ -0,0 +1,9 @@ +set cpu its +set cpu 512k +at ptr bin/ka10/boot/magdmp.rim +at mta0 out/magdmp.tap +at mta5 out/ka-minsys.tape +at dpa0 out/rp03.2 +at dpa1 out/rp03.3 +set dpa headers +b ptr diff --git a/build/sims/run b/build/sims/run new file mode 100644 index 00000000..fedb4877 --- /dev/null +++ b/build/sims/run @@ -0,0 +1,10 @@ +set cpu its +set cpu 512k +set cpu idle +set pd off +set dpy enabled +at ptr bin/ka10/boot/dskdmp.rim +at dpa0 out/rp03.2 +at dpa1 out/rp03.3 +set dpa noheaders +b ptr diff --git a/build/sims/start b/build/sims/start new file mode 100755 index 00000000..65085a5f --- /dev/null +++ b/build/sims/start @@ -0,0 +1,3 @@ +#!/bin/sh + +tools/sims/BIN/ka10 build/sims/run diff --git a/tools/sims b/tools/sims new file mode 160000 index 00000000..86d88609 --- /dev/null +++ b/tools/sims @@ -0,0 +1 @@ +Subproject commit 86d88609de61e4957f954b32e30d7fbb178c6a78