diff --git a/build/h3text.2017 b/build/h3text.2017 index 6eabfcf2..731ec23a 100644 --- a/build/h3text.2017 +++ b/build/h3text.2017 @@ -54,4 +54,5 @@ HOST : CHAOS 3123, CHAOS 4403 : BRIDGE.AMS.Chaosnet.NET, BR.AMS.Chaosnet.NET : U HOST : CHAOS 4404 : FILECOMPUTER.AMS.Chaosnet.NET, FC.AMS.Chaosnet.NET, FS.AMS.Chaosnet.NET : UNIX : UNIX : : HOST : CHAOS 3037 : PUMA.NoCrew.ORG, PUMA : PDP-11 : MINITS : : HOST : CHAOS 3116 : PREP.NoCrew.ORG, PREP : VAX : UNIX : : +HOST : CHAOS 3130, 10.1.2.3 : LC : PDP-10 : ITS : : diff --git a/build/klh10/config.203 b/build/klh10/config.203 index bc6922c9..75fb5096 100644 --- a/build/klh10/config.203 +++ b/build/klh10/config.203 @@ -1005,6 +1005,69 @@ TERMIN TERMIN ] ;DB +IFE MCOND LC,[ +DEFOPT KS10P==1 ;LC has a KS10 processor. +DEFOPT KLH10P==0 ;A real one. + +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==8. ;# 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 +;DEFOPT INETP==1 ; Include Internet code +;DEFOPT TCPP==1 ; Include TCP code +;DEFOPT XBL==30. ; # TCP network channels +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 MSPP==1 ;HAS MESSAGE SLURPER +DEFOPT DEMON==1 ;HAS DEMON ROUTINES + +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 + ; 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. diff --git a/build/ks10/include.tcl b/build/ks10/include.tcl index fe5bedb5..542cff0f 100644 --- a/build/ks10/include.tcl +++ b/build/ks10/include.tcl @@ -145,7 +145,7 @@ proc its_switches {} { global mchn respond "MACHINE NAME =" "$mchn\r" - respond "Configuration?" "RP06\r" + #respond "Configuration?" "RP06\r" } proc make_ntsddt {} { @@ -158,7 +158,7 @@ proc make_ntsddt {} { proc make_salv {} { respond "*" ":midas dsk0:.;_kshack;nsalv\r" - respond "Which machine?" "KSRP06\r" + respond "Which machine?" "LC\r" expect ":KILL" } diff --git a/build/mchn/LC/dskdmp.txt b/build/mchn/LC/dskdmp.txt new file mode 100644 index 00000000..77e06ea5 --- /dev/null +++ b/build/mchn/LC/dskdmp.txt @@ -0,0 +1,39 @@ +; Define basic KS10 device config - two RH11s each on its own Unibus + +devdef rh0 ub1 rh11 addr=776700 br=6 vec=254 +devdef rh1 ub3 rh11 addr=772440 br=6 vec=224 + +; Provide one disk, one tape in config ITS expects + +devdef dsk0 rh0.0 rp type=rp06 format=dlw8 path=../../out/klh10/rp0.dsk iodly=0 +devdef dsk1 rh0.1 rp type=rp06 format=dlw8 path=../../out/klh10/rp1.dsk iodly=0 +devdef dsk2 rh0.2 rp type=rp06 format=dlw8 path=../../out/klh10/rp2.dsk iodly=0 +devdef dsk3 rh0.3 rp type=rp06 format=dlw8 path=../../out/klh10/rp3.dsk iodly=0 +devdef dsk4 rh0.4 rp type=rp06 format=dlw8 path=../../out/klh10/rp4.dsk iodly=0 +devdef dsk5 rh0.5 rp type=rp06 format=dlw8 path=../../out/klh10/rp5.dsk iodly=0 +devdef dsk6 rh0.6 rp type=rp06 format=dlw8 path=../../out/klh10/rp6.dsk iodly=0 +devdef dsk7 rh0.7 rp type=rp06 format=dlw8 path=../../out/klh10/rp7.dsk iodly=0 +devdef mta0 rh1.0 tm02 fmtr=tm03 type=tu45 +;devdef mta1 rh1.1 tm02 fmtr=tm03 type=tu45 +;devmo mta0 ../../out/klh10/minsys.tape +;devmo mta1 ../../out/klh10/salv.tape + +; ITS wants a 60Hz clock, allow it. Need this until defaults OK. +set clk_ithzfix=60 + +; Define IMP for PI on ITS.JOSS.COM +devdef imp ub3 lhdh addr=767600 br=6 vec=250 ipaddr=%IP% gwaddr=%GW% + +; Dummy definitions. Only one DZ is still (apparently) needed. +devdef dz0 ub3 dz11 addr=760010 br=5 vec=340 +;devdef dz1 ub3 dz11 addr=760020 br=5 vec=350 +%CHAOSP%devdef chaos ub3 ch11 addr=764140 br=6 vec=270 %CHAOSA% + +; Define new HOST device hackery +devdef idler ub3 host addr=777000 + +; Console lights. +lights usb + +load @.ddt-u +load dskdmp.216bin diff --git a/build/mchn/LC/mchn.tcl b/build/mchn/LC/mchn.tcl new file mode 100644 index 00000000..2f1f32f7 --- /dev/null +++ b/build/mchn/LC/mchn.tcl @@ -0,0 +1,20 @@ +proc dskdmp_switches {boot} { + expect "Configuration" + respond "?" "ksrp06\r" + respond "Assemble BOOT?" "$boot\r" +} + +proc peek_switches {} { + respond "with ^C" "\003" +} + +proc mark_packs {} { + mark_pack "0" "0" "LC#0" + mark_pack "1" "1" "LC#1" + mark_pack "2" "2" "LC#2" + mark_pack "3" "3" "LC#3" + mark_pack "4" "4" "LC#4" + mark_pack "5" "5" "LC#5" + mark_pack "6" "6" "LC#6" + mark_pack "7" "7" "LC#7" +} diff --git a/build/mchn/LC/nsalv.ini b/build/mchn/LC/nsalv.ini new file mode 100644 index 00000000..4f130c5b --- /dev/null +++ b/build/mchn/LC/nsalv.ini @@ -0,0 +1,36 @@ +; Define basic KS10 device config - two RH11s each on its own Unibus + +devdef rh0 ub1 rh11 addr=776700 br=6 vec=254 +devdef rh1 ub3 rh11 addr=772440 br=6 vec=224 + +; Provide one disk, one tape in config ITS expects + +devdef dsk0 rh0.0 rp type=rp06 format=dlw8 path=../../out/klh10/rp0.dsk iodly=0 +devdef dsk1 rh0.1 rp type=rp06 format=dlw8 path=../../out/klh10/rp1.dsk iodly=0 +devdef dsk2 rh0.2 rp type=rp06 format=dlw8 path=../../out/klh10/rp2.dsk iodly=0 +devdef dsk3 rh0.3 rp type=rp06 format=dlw8 path=../../out/klh10/rp3.dsk iodly=0 +devdef dsk4 rh0.4 rp type=rp06 format=dlw8 path=../../out/klh10/rp4.dsk iodly=0 +devdef dsk5 rh0.5 rp type=rp06 format=dlw8 path=../../out/klh10/rp5.dsk iodly=0 +devdef dsk6 rh0.6 rp type=rp06 format=dlw8 path=../../out/klh10/rp6.dsk iodly=0 +devdef dsk7 rh0.7 rp type=rp06 format=dlw8 path=../../out/klh10/rp7.dsk iodly=0 +devdef mta0 rh1.0 tm02 fmtr=tm03 type=tu45 +devdef mta1 rh1.1 tm02 fmtr=tm03 type=tu45 +devmo mta0 ../../out/klh10/minsys.tape +devmo mta1 ../../out/klh10/salv.tape + +; ITS wants a 60Hz clock, allow it. Need this until defaults OK. +set clk_ithzfix=60 + +; Define IMP for PI on ITS.JOSS.COM +devdef imp ub3 lhdh addr=767600 br=6 vec=250 ipaddr=199.34.53.51 gwaddr=199.34.53.50 + +; Dummy definitions. Only one DZ is still (apparently) needed. +devdef dz0 ub3 dz11 addr=760010 br=5 vec=340 +;devdef dz1 ub3 dz11 addr=760020 br=5 vec=350 +;devdef chaos ub3 ch11 addr=764140 br=5 vec=270 + +; Define new HOST device hackery +;devdef idler ub3 host addr=777000 + +load @.ddt-u +load @.nsalv-260-u diff --git a/conf/network b/conf/network index cd862fad..32573e95 100644 --- a/conf/network +++ b/conf/network @@ -1,10 +1,10 @@ # Network configuration for ITS. Note: for now, the two-letter ITS # name is hardcoded to DB, which is short for DistriBution. -HOSTNAME=DB-ITS.EXAMPLE.COM +HOSTNAME=LC.EXAMPLE.COM IP=192.168.1.100 GW=192.168.0.45 NETMASK=255,255,255,248 -CHAOS=no #Or octal Chaosnet address +CHAOS=3130 CHAFRIENDS=chip=3150/no.nocrew.org \ chip=3040/router.chaosnet.net \ chip=7100/sj.gewt.net diff --git a/src/kshack/nsalv.261 b/src/kshack/nsalv.261 index 5b25c6ce..ba926c8d 100755 --- a/src/kshack/nsalv.261 +++ b/src/kshack/nsalv.261 @@ -430,6 +430,24 @@ PRINTX /Which machine? / NLPTP=464 ];AIKA + IFCE MCHN,LC,[ + ;;; Very nice KS10, just one RP06 (eight later) and one TM03 + KS10P==1 + NDRIVE==8. ;# physical units + NUNITS==8. ;# virtual units + FIRSPK==0 ;First pack that must be mounted in GOGO mode. + LASTPK==7 ;Last GOGO pack (only 1 disk on the machine!) + NUDSL==500. + RP06P==1 ;RP06 on RH11 UNIBUS controller. + TM03P==1 ;Tape on a TM03/RH11 + TCMXH==120. ;DECwriter. + LIGHTS==0 ;There aren't any (sob!) + CHAOSP==1 ;May well have Unibus Chaosnet board + LHOST==3130 ;Local chaos host address (AI, can be patched) + RHOST==3131 ;Remote chaos host (MC, can be patched) + GWHOST==RHOST + ];KSRP06 + IFCE MCHN,ITS,ITS==1 IFCE MCHN,TS,ITS==1 IFNDEF ITS,ITS==0 diff --git a/src/l/struct.659 b/src/l/struct.659 index 9e307870..7653cc61 100644 --- a/src/l/struct.659 +++ b/src/l/struct.659 @@ -715,7 +715,7 @@ PG$ MRA PAGING MRA PPN 20$ MRA PS IFN ITS,[ - MRA [ITS,AI,ML,MC,MD,MX,DB,KA,KL,HX,TT] + MRA [ITS,AI,ML,MC,MD,MX,DB,KA,KL,HX,TT,LC] MRA EXPERIMENTAL MRA .LISP. ] ;END OF IFN ITS diff --git a/src/sysen1/pword.2664 b/src/sysen1/pword.2664 index f0d2963e..8589bf63 100644 --- a/src/sysen1/pword.2664 +++ b/src/sysen1/pword.2664 @@ -9845,6 +9845,10 @@ bltspc: syscal sstatu,[val x ? val x ? val x ? val x ? val x jrst [move x,[mdspec,,tsspec] ;yes, so use MD's specs blt x,spcend-1 ; all of them, to the end ret ] + camn x,[sixbit /LC/] ;is it LC? + jrst [move x,[aispec,,tsspec] ;yes, so use AI's specs + blt x,spcend-1 ; all of them, to the end + ret ] camn x,[sixbit /DM/] ;DM-P? jrst [move x,[dmspec,,tsspec] ;yes, use DM's specs blt x,spcend-1 ; all of them to the bitter end diff --git a/src/system/its.1651 b/src/system/its.1651 index a3356a00..0eaf7380 100644 --- a/src/system/its.1651 +++ b/src/system/its.1651 @@ -27,6 +27,7 @@ IF1 [ PRINTX \MACHINE NAME = \ ; DB KS10 DistriBution ; KA Generic KA10 ; TT Temporary Testing KA10 +; LC Living Computers KS10 ;THE FILE "CONFIG" HAS ASSEMBLY SWITCHES AS A FUNCTION OF MACHINE. .TTYMAC A diff --git a/src/system/ttytyp.322 b/src/system/ttytyp.322 index bdf470cd..39653fa5 100644 --- a/src/system/ttytyp.322 +++ b/src/system/ttytyp.322 @@ -286,6 +286,18 @@ MCONDX TT,{ ;;; TT TTDDPT 40,SPEED=4800 ;T40 Datapoint port 16 .ENDC ;} +MCONDX LC,{ ;;; LC + TTDLA36 0,TT=%TTLCL+%TT340,HOR=80.,SPEED=110 ;T00 System Console + TTDPRT 1 ;T01 + TTDPRT 2 ;T02 + TTDPRT 3 ;T03 + TTDPRT 4 ;T04 + TTDPRT 5 ;T05 + TTDPRT 6 ;T06 + TTDPRT 7 ;T07 + TTDPRT 10 ;T10 +.ENDC ;} + ;NOTE: SEE COMMENT AT FRONT OF FILE FOR CONSTRAINTS ON THE COMMENTS ;THAT APPEAR ON THE FOLLOWING LINES. ALSO NOTE THAT LOWER CASE ;CHARACTERS MAY BE PRESENT IN THEM.