From 90ed513cefc7e1032e6412d9e10c539d7de6a16b Mon Sep 17 00:00:00 2001 From: Eric Swenson Date: Mon, 29 Jul 2019 14:23:51 +0000 Subject: [PATCH] Added support for RP06 disks with RH10 disk controller. Moved RP04 disk parameters to separate file (system;rp04 >) from system;rh10 >. Made build default to RP04 when RH10 is specified, but switches can select RP06 for relevant components. Resolves #1648. --- build/ka10/include.tcl | 5 +- build/kl10/include.tcl | 10 +- build/ks10/include.tcl | 1 + build/misc.tcl | 2 + build/pdp10-ka/boot | 10 +- build/pdp10-ka/boot2 | 10 +- build/pdp10-ka/config.202 | 147 ++++++++++++++++++++++++ build/pdp10-ka/init | 10 +- build/pdp10-kl/config.202 | 88 +++++++++++++- src/syseng/{klfedr.84 => klfedr.85} | 33 ++++++ src/syseng/{magfrm.18 => magfrm.19} | 2 +- src/system/{ddt.69 => ddt.70} | 8 ++ src/system/{ddtdsk.32 => ddtdsk.33} | 7 ++ src/system/{disk.1225 => disk.1226} | 6 + src/system/{dskdmp.216 => dskdmp.217} | 123 +++++++++++++++++--- src/system/{rh10.defs26 => rh10.defs27} | 17 --- src/system/rp04.defs1 | 41 +++++++ src/system/{salv.314 => salv.315} | 30 ++++- src/system/{ttytyp.318 => ttytyp.319} | 36 ++++++ 19 files changed, 527 insertions(+), 59 deletions(-) rename src/syseng/{klfedr.84 => klfedr.85} (98%) rename src/syseng/{magfrm.18 => magfrm.19} (99%) mode change 100755 => 100644 rename src/system/{ddt.69 => ddt.70} (99%) mode change 100755 => 100644 rename src/system/{ddtdsk.32 => ddtdsk.33} (99%) mode change 100755 => 100644 rename src/system/{disk.1225 => disk.1226} (99%) mode change 100755 => 100644 rename src/system/{dskdmp.216 => dskdmp.217} (97%) rename src/system/{rh10.defs26 => rh10.defs27} (92%) mode change 100755 => 100644 create mode 100644 src/system/rp04.defs1 rename src/system/{salv.314 => salv.315} (99%) rename src/system/{ttytyp.318 => ttytyp.319} (95%) diff --git a/build/ka10/include.tcl b/build/ka10/include.tcl index 0cae9d49..99e141fa 100644 --- a/build/ka10/include.tcl +++ b/build/ka10/include.tcl @@ -54,6 +54,7 @@ proc make_ntsddt {} { respond "cpusw=" "0\r" respond "ndsk=" "0\r" respond "dsksw=" "0\r" + respond "dsktp=" "0\r" respond "1PRSW=" "1\r" expect ":KILL" @@ -75,8 +76,8 @@ proc make_dskdmp {} { respond "?" "ASK\r" respond "HRIFLG=" "N\r" respond "BOOTSW=" "N\r" - respond "RP06P=" "N\r" - respond "RP07P=" "N\r" + respond "R11R6P=" "N\r" + respond "R11R7P=" "N\r" respond "RM03P=" "N\r" respond "RM80P=" "N\r" respond "RH10P=" "N\r" diff --git a/build/kl10/include.tcl b/build/kl10/include.tcl index ec191d58..19d2b62e 100644 --- a/build/kl10/include.tcl +++ b/build/kl10/include.tcl @@ -1,6 +1,7 @@ proc start_dskdmp_its {} { start_dskdmp build/pdp10-kl/boot + sleep 3 respond "\n" "\033l" respond " " "its bin\r" respond "\n" "\033\033l" @@ -15,6 +16,7 @@ proc mark_packs {} { respond "UNIT #" "0" respond "#0?" "y" respond "NO =" "0\r" + expect -timeout 300 "VERIFY" respond "ALLOC =" "3000\r" respond "PACK ID =" "0\r" @@ -22,6 +24,7 @@ proc mark_packs {} { respond "UNIT #" "1" respond "#1?" "y" respond "NO =" "1\r" + expect -timeout 300 "VERIFY" respond "ALLOC =" "3000\r" respond "PACK ID =" "1\r" @@ -29,6 +32,7 @@ proc mark_packs {} { respond "UNIT #" "2" respond "#2?" "y" respond "NO =" "2\r" + expect -timeout 300 "VERIFY" respond "ALLOC =" "3000\r" respond "PACK ID =" "2\r" } @@ -49,6 +53,7 @@ proc make_ntsddt {} { respond "cpusw=" "0\r" respond "ndsk=" "1\r" respond "dsksw=" "3\r" + respond "dsktp=" "0\r" respond "1PRSW=" "0\r" expect ":KILL" } @@ -66,11 +71,12 @@ proc make_dskdmp {} { respond "?" "ASK\r" respond "HRIFLG=" "N\r" respond "BOOTSW=" "N\r" - respond "RP06P=" "N\r" - respond "RP07P=" "N\r" + respond "R11R6P=" "N\r" + respond "R11R7P=" "N\r" respond "RM03P=" "N\r" respond "RM80P=" "N\r" respond "RH10P=" "Y\r" + respond "R10R6P=" "N\r" respond "NUDSL=" "500.\r" respond "KS10P=" "N\r" respond "KL10P=" "N\r" diff --git a/build/ks10/include.tcl b/build/ks10/include.tcl index 21637547..2766d41f 100644 --- a/build/ks10/include.tcl +++ b/build/ks10/include.tcl @@ -92,6 +92,7 @@ proc its_switches {} { proc make_ntsddt {} { respond "*" ":midas dsk0:.;@ ddt_system;ddt\r" respond "cpusw" "3\r" + respond "dsktp=" "1\r" respond "New One Proceed" "1\r" expect ":KILL" } diff --git a/build/misc.tcl b/build/misc.tcl index 72af4e23..a38224a0 100644 --- a/build/misc.tcl +++ b/build/misc.tcl @@ -1518,6 +1518,8 @@ expect ":KILL" # KL10 front end directory tool respond "*" ":midas sys1;ts klfedr_syseng;klfedr\r" +respond "RP06P=" "0\r" +respond "RP04P=" "1\r" expect ":KILL" mkdir ".klfe." diff --git a/build/pdp10-ka/boot b/build/pdp10-ka/boot index 9ffc2aa0..08300a66 100644 --- a/build/pdp10-ka/boot +++ b/build/pdp10-ka/boot @@ -1,11 +1,11 @@ set console wru=034 set cpu its set cpu 512k -dis rpa -dis rpb -dis tua -dis fha -dis dpb +set rpa dis +set rpb dis +set tua dis +set fha dis +set dpb dis at ptr bin/ka10/boot/dskdmp.rim at mta0 out/pdp10-ka/minsrc.tape at dpa0 out/pdp10-ka/rp03.2 diff --git a/build/pdp10-ka/boot2 b/build/pdp10-ka/boot2 index 1475a3f3..952f29cf 100644 --- a/build/pdp10-ka/boot2 +++ b/build/pdp10-ka/boot2 @@ -3,11 +3,11 @@ set cpu its set cpu 1024k set cpu mpx set cpu ten11 -dis rpa -dis rpb -dis tua -dis fha -dis dpb +set rpa dis +set rpb dis +set tua dis +set fha dis +set dpb dis at ptr bin/ka10/boot/dskdmp.rim at mta0 out/pdp10-ka/sources.tape set mta mpx=7 diff --git a/build/pdp10-ka/config.202 b/build/pdp10-ka/config.202 index 7601a72c..ce7bcb6e 100644 --- a/build/pdp10-ka/config.202 +++ b/build/pdp10-ka/config.202 @@ -272,6 +272,88 @@ DEFSYM PMAGEM==16000 ;3 BIT AGE DEFSYM PMCSHM==0 ;NO CACHE BIT DEFSYM PMUNSD==160000 ;UNUSED BITS +DEFINE ITSIRP BODY +IRPS ITS,,[DB] +BODY +TERMIN +TERMIN +] ;KA +IFE MCOND EX,[ ;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==3 ;# DISK UNITS +DEFSYM NUDSL==500. ;# USER DIRECTORIES ON DISK +DEFOPT RP06P==1 +DEFOPT NTUTBL==4 +DEFOPT RP04P==0 +DEFOPT RH10P==1 ;HAS DEC RH10 DISK CONTROL (RP04) +;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==2 ; Number of utape units (R.I.P.) +DEFOPT NMTCS==1 ;NUMBER OF MAG TAPE UNITS +DEFOPT TM10A==1 ;IO-BUS MAG TAPE +;DEFOPT TM10B==1 ;DF10-BASED CONTROLLER +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 PDCLKP==1 ;"DeCoriolis" CLOCK +DEFOPT 340P==1 ;HAS 340 DISPLAY +DEFOPT STKP==1 ;Has Stanford keyboard + +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==5461 ;CHAOS NET ADDRESS +DEFOPT NINDX==30. ;NUMBER OF INDICES +DEFOPT CH10P==1 +DEFOPT CH11P==0 +DEFOPT NOTYS==1 ;# KA-10 CONSOLE 0 TTYS +DEFOPT TK10P==1 ;HAS TK10 TTY SCANNER +DEFOPT NNTYS==16. ;# TTYS ON KNIGHT KLUDGE +;DEFOPT NNVTTS==0 ;# NOVA TTYS (used to have?) +DEFOPT MTYP==1 ;HAS MORTON MULTIPLEX BOX +DEFOPT NMTYS==16. ;# TTYS ON MORTON BOX +DEFOPT NSTTYS==8 ;# STY'S (PSEUDO-TTY'S) + +DEFOPT TEN11P==1 ;Rubin 10-11 interface +IFDEF TEN11P,IFN TEN11P,DEFSYM T11CPA==3776000 ;ADRS OF TEN-11 CONTROL PAGE +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. + +DEFOPT PDP6P==1 ;HAS PDP6 +DEFSYM PDP6BM==3000000 ;BASE ADR OF PDP6 MEM AS SEEN FROM 10 +DEFSYM LPDP6M==16. ;LENGTH OF PDP6 MEM IN PAGES + +DEFOPT TSYSM==768. ;TOTAL PDP10 1K MEM BLOCKS +DEFOPT NMMP==4 ;# 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 + DEFINE ITSIRP BODY IRPS ITS,,[DB] BODY @@ -396,6 +478,71 @@ TERMIN TERMIN ] ;MX +IFE MCOND KL,[ +DEFOPT KA10P==1 +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 NTUTBL==2 ;TUTS ARE TWO BLOCKS LONG +DEFSYM NUDSL==500. ;# USER DIRECTORIES ON DISK +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 TM10A==1 ;IO-BUS MAG TAPE + +;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==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 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.) + +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 + +DEFINE ITSIRP BODY +IRPS ITS,,[MX] +BODY +TERMIN +TERMIN +] ;KL + IFE MCOND AI,[ DEFOPT KS10P==1 ;The new AI has a KS10 processor. diff --git a/build/pdp10-ka/init b/build/pdp10-ka/init index 6912bedd..3493f611 100644 --- a/build/pdp10-ka/init +++ b/build/pdp10-ka/init @@ -1,11 +1,11 @@ set console wru=034 set cpu its set cpu 512k -dis rpa -dis rpb -dis tua -dis fha -dis dpb +set rpa dis +set rpb dis +set tua dis +set fha dis +set dpb dis at mta0 out/pdp10-ka/magdmp.tap at mta5 out/pdp10-ka/ka-minsys.tape at dpa0 out/pdp10-ka/rp03.2 diff --git a/build/pdp10-kl/config.202 b/build/pdp10-kl/config.202 index 530ebd9b..ce7bcb6e 100644 --- a/build/pdp10-kl/config.202 +++ b/build/pdp10-kl/config.202 @@ -272,6 +272,88 @@ DEFSYM PMAGEM==16000 ;3 BIT AGE DEFSYM PMCSHM==0 ;NO CACHE BIT DEFSYM PMUNSD==160000 ;UNUSED BITS +DEFINE ITSIRP BODY +IRPS ITS,,[DB] +BODY +TERMIN +TERMIN +] ;KA +IFE MCOND EX,[ ;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==3 ;# DISK UNITS +DEFSYM NUDSL==500. ;# USER DIRECTORIES ON DISK +DEFOPT RP06P==1 +DEFOPT NTUTBL==4 +DEFOPT RP04P==0 +DEFOPT RH10P==1 ;HAS DEC RH10 DISK CONTROL (RP04) +;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==2 ; Number of utape units (R.I.P.) +DEFOPT NMTCS==1 ;NUMBER OF MAG TAPE UNITS +DEFOPT TM10A==1 ;IO-BUS MAG TAPE +;DEFOPT TM10B==1 ;DF10-BASED CONTROLLER +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 PDCLKP==1 ;"DeCoriolis" CLOCK +DEFOPT 340P==1 ;HAS 340 DISPLAY +DEFOPT STKP==1 ;Has Stanford keyboard + +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==5461 ;CHAOS NET ADDRESS +DEFOPT NINDX==30. ;NUMBER OF INDICES +DEFOPT CH10P==1 +DEFOPT CH11P==0 +DEFOPT NOTYS==1 ;# KA-10 CONSOLE 0 TTYS +DEFOPT TK10P==1 ;HAS TK10 TTY SCANNER +DEFOPT NNTYS==16. ;# TTYS ON KNIGHT KLUDGE +;DEFOPT NNVTTS==0 ;# NOVA TTYS (used to have?) +DEFOPT MTYP==1 ;HAS MORTON MULTIPLEX BOX +DEFOPT NMTYS==16. ;# TTYS ON MORTON BOX +DEFOPT NSTTYS==8 ;# STY'S (PSEUDO-TTY'S) + +DEFOPT TEN11P==1 ;Rubin 10-11 interface +IFDEF TEN11P,IFN TEN11P,DEFSYM T11CPA==3776000 ;ADRS OF TEN-11 CONTROL PAGE +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. + +DEFOPT PDP6P==1 ;HAS PDP6 +DEFSYM PDP6BM==3000000 ;BASE ADR OF PDP6 MEM AS SEEN FROM 10 +DEFSYM LPDP6M==16. ;LENGTH OF PDP6 MEM IN PAGES + +DEFOPT TSYSM==768. ;TOTAL PDP10 1K MEM BLOCKS +DEFOPT NMMP==4 ;# 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 + DEFINE ITSIRP BODY IRPS ITS,,[DB] BODY @@ -405,9 +487,11 @@ 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 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 @@ -457,7 +541,7 @@ IRPS ITS,,[MX] BODY TERMIN TERMIN -] ;MX +] ;KL IFE MCOND AI,[ DEFOPT KS10P==1 ;The new AI has a KS10 processor. diff --git a/src/syseng/klfedr.84 b/src/syseng/klfedr.85 similarity index 98% rename from src/syseng/klfedr.84 rename to src/syseng/klfedr.85 index 892a0479..6f4bac45 100755 --- a/src/syseng/klfedr.84 +++ b/src/syseng/klfedr.85 @@ -5,7 +5,40 @@ .MLLIT==1 IF1, EXPUNGE MAP ;PINHEADS +DEFINE SETF TEXT,FLG +IFDEF FLG,.STOP +.TAG FOOBAR +PRINTC "TEXT +FLG=" +.TTYMAC FLAG +.TTYFLG==.TTYFLG+1 +PRINTX/FLAG +/ +.TTYFLG==.TTYFLG-1 +IFSE FLAG,YES,FLG==1 +IFSE FLAG,NO,FLG==0 +IFSE FLAG,Y,FLG==1 +IFSE FLAG,N,FLG==0 +IFNDEF FLG,FLG==FLAG +TERMIN +IFNDEF FLG,.GO FOOBAR +TERMIN + +SETF [RP06 disk system?]RP06P +IFE RP06P,[ +SETF [RP04 disk system?]RP04P +] +IFNDEF RP06P,RP06P==0 +IFNDEF RP04P,RP04P==0 + .INSRT SYSTEM;RH10 > +IFN RP06P,[ +.insrt system;rp06 +] +IFN RP04P,[ +.insrt system;rp04 +] + NUDSL==100. ;DUMMY .INSRT SYSTEM;FSDEFS > diff --git a/src/syseng/magfrm.18 b/src/syseng/magfrm.19 old mode 100755 new mode 100644 similarity index 99% rename from src/syseng/magfrm.18 rename to src/syseng/magfrm.19 index 758a637a..e9cb24b1 --- a/src/syseng/magfrm.18 +++ b/src/syseng/magfrm.19 @@ -59,7 +59,7 @@ MLMCHN::SIXBIT/ML/ DMMCHN::SIXBIT/DM/ MCMCHN::SIXBIT/MC/ KAMCHN::SIXBIT/KA/ -KAMCHN::SIXBIT/KL/ +KLMCHN::SIXBIT/KL/ LMCHNTB:: OFFSET 0 GO: MOVE P,[-LPDL-1,,PDL-1] diff --git a/src/system/ddt.69 b/src/system/ddt.70 old mode 100755 new mode 100644 similarity index 99% rename from src/system/ddt.69 rename to src/system/ddt.70 index b28cb9e0..a1b090ea --- a/src/system/ddt.69 +++ b/src/system/ddt.70 @@ -66,6 +66,14 @@ setf [Type of disk? (0 none, 1 Systems Concepts, 2 RP-10, 3 RH-10)]dsksw define rh10 ife dsksw-3!termin +ifdef rh10,[ +setf [Disk model? (0 RP04, 1 RP06)]dsktp + define RP04P + ife dsktp!termin + define RP06P + ife dsktp-1!termin +] + ifndef moby, moby==740000 ;256k ddt (memsiz-40000) ifndef lowlen, lowlen==1000 ;size of low code diff --git a/src/system/ddtdsk.32 b/src/system/ddtdsk.33 old mode 100755 new mode 100644 similarity index 99% rename from src/system/ddtdsk.32 rename to src/system/ddtdsk.33 index e2e26941..2fdfc9e5 --- a/src/system/ddtdsk.32 +++ b/src/system/ddtdsk.33 @@ -13,6 +13,13 @@ nudsl==500. ;# user directory slots in M.F.D. ;file system parameters and RH10/RP04 parameters ifn dsksw-3, .err Only RH10 disk is supported + +IFN RP06P,[ + .insrt system;rp06 +] +IFN RP04P,[ + .insrt system;rp04 +] .insrt system;rh10 .insrt system;fsdefs diff --git a/src/system/disk.1225 b/src/system/disk.1226 old mode 100755 new mode 100644 similarity index 99% rename from src/system/disk.1225 rename to src/system/disk.1226 index 02612346..45af0cb0 --- a/src/system/disk.1225 +++ b/src/system/disk.1226 @@ -17,7 +17,13 @@ $INSRT RP10 IFN RH10P,[ $INSRT RH10 +IFN RP06P+RP04P-1, .ERR WRONG NUMBER OF KINDS OF DISK DRIVE +IFN RP06P,[ +$INSRT RP06 ] +IFN RP04P,[ +$INSRT RP04 +]] IFN RH11P,[ $INSRT RH11 diff --git a/src/system/dskdmp.216 b/src/system/dskdmp.217 similarity index 97% rename from src/system/dskdmp.216 rename to src/system/dskdmp.217 index aacd218b..732f96fa 100644 --- a/src/system/dskdmp.216 +++ b/src/system/dskdmp.217 @@ -30,29 +30,29 @@ PRINTC "Configuration (KSRP06, KSRP07, KSRM03, KSRM80 or ASK) ? " .TTYMAC MACH IFSE MACH,KSRP06,[ HRIFLG==0 - RP06P==1 + R11R6P==1 KS10P==1 NUDSL==500. ] ;KSRP06 IFSE MACH,KSRP07,[ HRIFLG==0 - RP06P==0 - RP07P==1 + R11R6P==0 + R11R7P==1 KS10P==1 NUDSL==500. ] ;KSRP07 IFSE MACH,KSRM03,[ HRIFLG==0 - RP06P==0 - RP07P==0 + R11R6P==0 + R11R7P==0 RM03P==1 KS10P==1 NUDSL==500. ] ;KSRM03 IFSE MACH,KSRM80,[ HRIFLG==0 - RP06P==0 - RP07P==0 + R11R6P==0 + R11R7P==0 RM03P==0 RM80P==1 KS10P==1 @@ -67,25 +67,102 @@ TERMIN SETF [Readin Mode Paper Tape?]HRIFLG SETF [Assemble BOOT? (If no, full DSKDMP)]BOOTSW -SETF [RH11/RP06 disk system?]RP06P -IFE RP06P,[ -SETF [RH11/RP07 disk system?]RP07P -IFE RP07P,[ +SETF [RH11/RP06 disk system?]R11R6P +IFE R11R6P,[ +SETF [RH11/RP07 disk system?]R11R7P +IFE R11R7P,[ SETF [RH11/RM03 disk system?]RM03P IFE RM03P,[ SETF [RH11/RM80 disk system?]RM80P IFE RM80P,[ SETF [RH10 (MC-KL) disk control?]RH10P +IFN RH10P,[ + SETF [RH10/RP06 disk system?]R10R6P + IFN R10R6P,R10R4P==0 + IFE R10R6P,R10R4P==1 + RP10P==0 + RP07P==0 + RM80P==0 + RM03P==0 +] IFE RH10P,[ SETF [AIKA disk control? (no => RP02/RP03)]DC10P -]]]]] +IFDEF DC10P,[ +RH11P==0 +RH10P==0 +RP10P==1 +RP06P==0 +RP07P==0 +RP04P==0 +]]]]]] + +IFDEF R11R6P,[ +IFN R11R6P,[ +RH11P==1 +RH10P==0 +RP06P==1 +RP04P==0 +RP07P==0 +]] +IFDEF R11R7P,[ +IFN R11R7P,[ +RH11P==1 +RH10P==0 +RP06P==0 +RP04P==0 +RP07P==1 +]] +IFDEF RM80P,[ +IFN RM80P,[ +RH11P==1 +RH10P==0 +RP06P==0 +RP04P==0 +RP07P==0 +RM03P==0 +]] +IFDEF RM03P,[ +IFN RM03P,[ +RH11P==1 +RH10P==0 +RP06P==0 +RP04P==0 +RP07P==0 +RM80P==0 +]] +IFDEF R10R6P,[ +IFN R10R6P,[ +RH10P==1 +RH11P==0 +RP10P==0 +RP06P==1 +RP04P==0 +] +IFN R10R4P,[ +RH10P==1 +RH11P==0 +RP10P==0 +RP04P==1 +RP06P==0 +]] + +IFN RH11P, RH10P==0 +IFN RH11P+RH10P, DC10P==0 +IFN RH10P+RH11P+DC10P, RP10P==0 + +IFN RH11P,[ IFN RP06P, RP07P==0 IFN RP06P+RP07P, RM03P==0 IFN RP06P+RP07P+RM03P, RM80P==0 -IFN RP06P+RP07P+RM03P+RM80P, RH10P==0 -IFN RP06P+RP07P+RM03P+RM80P+RH10P, DC10P==0 -IFN RP06P+RP07P+RM03P+RM80P+RH10P+DC10P, RP10P==0 -IFE RP06P+RP07P+RM03P+RM80P+RH10P+DC10P, RP10P==1 +] +IFN RH10P,[ +IFN RP06P, RP04P==0 +] + +;IFN RP06P+RP07P+RM03P+RM80P, RH10P==0 +;IFN RP06P+RP07P+RM03P+RM80P+RH10P, DC10P==0 +;IFN RP06P+RP07P+RM03P+RM80P+RH10P+DC10P, RP10P==0 +;IFE RP06P+RP07P+RM03P+RM80P+RH10P+DC10P, RP10P==1 IFE BOOTSW, SETF [Number of dirs? (DM-KA: 200., ML-KA: 250., AI-KA: 440., all others: 500.)]NUDSL @@ -95,8 +172,6 @@ IFN KS10P, KL10P==0 IFN KS10P+KL10P, KA10P==0 IFE KS10P+KL10P, KA10P==1 -RH11P==:RP06P+RP07P+RM03P+RM80P - DEFINE RP IFN RP10P!TERMIN DEFINE SC @@ -113,6 +188,15 @@ IFN KL10P!TERMIN DEFINE KS IFN KS10P!TERMIN +RP, PRINTC/Using RP10 controller +/ +SC, PRINTC/Using DC10 controller +/ +RH, PRINTC/Using RH10 controller +/ +PH, PRINTC/Using RH11 controller +/ + IFN HRIFLG,[ NOSYMS ;MAKE PAPER TAPE SHORTER RIM10 @@ -139,10 +223,13 @@ RP, .INSRT SYSTEM;RP10 > SC, .INSRT SYSTEM;DC10 > RH, .INSRT SYSTEM;RH10 > PH, .INSRT SYSTEM;RH11 > + IFN RP06P, .INSRT SYSTEM;RP06 > IFN RP07P, .INSRT SYSTEM;RP07 > +IFN RP04P, .INSRT SYSTEM;RP04 > IFN RM03P, .INSRT SYSTEM;RM03 > IFN RM80P, .INSRT SYSTEM;RM80 > + IFE BOOTSW, .INSRT SYSTEM;FSDEFS > IFE BOOTSW, KL, .INSRT SYSTEM;EPT > KS, .INSRT SYSTEM;KSDEFS > diff --git a/src/system/rh10.defs26 b/src/system/rh10.defs27 old mode 100755 new mode 100644 similarity index 92% rename from src/system/rh10.defs26 rename to src/system/rh10.defs27 index dde21b6c..22ef66b7 --- a/src/system/rh10.defs26 +++ b/src/system/rh10.defs27 @@ -24,23 +24,6 @@ $$TEMP==1 ];IF Not DEFined DEFSYM .ELSE $$TEMP==0 - -;DISK PHYSICAL PARAMETERS (RH10 CONTROLLER) - -DEFSYM NCYLS==406. ;# CYLINDERS NORMALLY USED -DEFSYM XCYLS==411.-NCYLS ;# CYLINDERS FOR SPARES, HACKS, ETC. -DEFSYM NHEDS==19. ;# TRACKS/CYLINDER -DEFSYM NSECS==20. ;# SECTORS/TRACK -DEFSYM SECBLK==8 ;# SECTORS/BLOCK -DEFSYM NBLKSC==NHEDS*NSECS/SECBLK ;# BLOCKS/CYLINDER -DEFSYM NBLKS==NCYLS*NBLKSC ;# BLOCKS NORMALLY USED -DEFSYM XBLKS==XCYLS*NBLKSC ;# BLOCKS FOR HACKS -DEFSYM TBLKS==NBLKS+XBLKS ;TOTAL BLOCKS - -DEFSYM NTUTBL==2 ;2 BLOCKS PER TUT -DEFSYM DECADE==NBLKSC ;NUMBER OF BLOCKS TO ALLOCATE AT A TIME - ;QSWAPA AND QLASTB MUST BE MULTIPLES OF THIS. - ;DECADE SIZE = CYLINDER SIZE FOR KLFEDR'S SAKE DEFSYM DSK=270 ;I/O DEVICE NUMBER OF RH10 ;CONI - LEFT HALF (ERROR BITS ONLY) diff --git a/src/system/rp04.defs1 b/src/system/rp04.defs1 new file mode 100644 index 00000000..8a84bdc1 --- /dev/null +++ b/src/system/rp04.defs1 @@ -0,0 +1,41 @@ +;;; Copyright (c) 1999 Massachusetts Institute of Technology +;;; See the COPYING file at the top-level directory of this project. + +.AUXIL + +; Canonical symbol definition macro, FOO==BAR with error check. +IFNDEF DEFSYM,[ +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 +$$TEMP==1 +] ;IFNDEF DEFSYM +.ELSE, $$TEMP==0 + + +; Disk Physical Parameters for RP04 + +DEFSYM NCYLS==406. ;# CYLINDERS NORMALLY USED (RP04) +DEFSYM XCYLS==411.-NCYLS ;# CYLINDERS FOR SPARES, HACKS, ETC. +DEFSYM NHEDS==19. ;# TRACKS/CYLINDER +DEFSYM NSECS==20. ;# SECTORS/TRACK +DEFSYM SECBLK==8 ;# SECTORS/BLOCK + +DEFSYM NBLKSC==NHEDS*NSECS/SECBLK ;# BLOCKS/CYLINDER +DEFSYM NBLKS==NCYLS*NBLKSC ;# BLOCKS NORMALLY USED +DEFSYM XBLKS==XCYLS*NBLKSC ;# BLOCKS FOR HACKS +DEFSYM TBLKS==NBLKS+XBLKS ;TOTAL BLOCKS + +DEFSYM NTUTBL==2 ;2 BLOCKS PER TUT + +DEFSYM DECADE==NBLKSC ;NUMBER OF BLOCKS TO ALLOCATE AT A TIME + ;QSWAPA AND QLASTB MUST BE MULTIPLES OF THIS. + ;DECADE SIZE = CYLINDER SIZE FOR KLFEDR'S SAKE + +IFN $$TEMP,EXPUNG DEFSYM diff --git a/src/system/salv.314 b/src/system/salv.315 similarity index 99% rename from src/system/salv.314 rename to src/system/salv.315 index b23f7829..98999ed7 100644 --- a/src/system/salv.314 +++ b/src/system/salv.315 @@ -159,7 +159,7 @@ PRINTX /Which machine? / LIGHTS==500 ;KL-UDGE NDRIVE==6 ;8 DOESN'T FIT IN 128K NUNITS==6 - ];KL + ];MC IFCE MCHN,KL,[ ;SA==105*2000 ; MC system is big, need to push SALV higher. FIRSPK==0 @@ -167,6 +167,8 @@ PRINTX /Which machine? / NUDSL==500. DC10P==0 RP10P==0 + RP04P==1 + RP06P==0 RH10P==1 T300P==0 ;UNIT 3 IS FIRST T-300 UNIT KL10P==0 @@ -177,7 +179,27 @@ PRINTX /Which machine? / LIGHTS==4 ;KL-UDGE NDRIVE==3 ;8 DOESN'T FIT IN 128K NUNITS==3 - ];M2 + ];KL + IFCE MCHN,EX,[ + ;SA==105*2000 ; EX system is big, need to push SALV higher. + FIRSPK==0 + LASTPK==2 + NUDSL==500. + DC10P==0 + RP10P==0 + RP04P==0 + RP06P==1 + RH10P==1 + T300P==0 ;UNIT 3 IS FIRST T-300 UNIT + KL10P==0 + 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 + NUNITS==3 + ];KL TERMIN IFNDEF FIRSPK, .FATAL UNKNOWN MACHINE "MCHN" ];IFNDEF ITS @@ -298,6 +320,10 @@ RP,[ ] RH,[ .INSRT SYSTEM;RH10 > + +IFN RP06P, .INSRT SYSTEM;RP06 > +IFN RP04P, .INSRT SYSTEM;RP04 > + KA, $DFWC==222200,, ] TS, NTUTBL==4 ;MAXIMUM NUMBER OF BLOCKS PER TUT ON ANY ITS diff --git a/src/system/ttytyp.318 b/src/system/ttytyp.319 similarity index 95% rename from src/system/ttytyp.318 rename to src/system/ttytyp.319 index 57745f55..b22d172a 100644 --- a/src/system/ttytyp.318 +++ b/src/system/ttytyp.319 @@ -185,6 +185,42 @@ MCONDX KA,{ ;;; KA TTDAAA 40,SPEED=9600 ;T40 .ENDC ;} +MCONDX EX,{ ;;; EX + TTDLA36 0,TT=%TTLCL+%TT340,HOR=80.,SPEED=110 ;T00 System Console + TTDAAA 1,SPEED=9600,TT=%TT340 ;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 + TTDAAA 20,SPEED=9600 ;T20 + TTDAAA 21,SPEED=9600 ;T21 + TTDAAA 22,SPEED=9600 ;T22 + TTDAAA 23,SPEED=9600 ;T23 + TTDAAA 24,SPEED=9600 ;T24 + TTDAAA 25,SPEED=9600 ;T25 + TTDAAA 26,SPEED=9600 ;T26 + TTDAAA 27,SPEED=9600 ;T27 + TTDAAA 30,SPEED=9600 ;T30 + TTDAAA 31,SPEED=9600 ;T31 + TTDAAA 32,SPEED=9600 ;T32 + TTDAAA 33,SPEED=9600 ;T33 + TTDAAA 34,SPEED=9600 ;T34 + TTDAAA 35,SPEED=9600 ;T35 + TTDAAA 36,SPEED=9600 ;T36 + TTDAAA 37,SPEED=9600 ;T37 + TTDAAA 40,SPEED=9600 ;T40 +.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.