PDH 24 BOOT@@MAN CLAWBYJOB DC@@@@JOB DCSIM@JOB DCT@@@JOB DCTESTJOB DELAY@JOB DELAY@SRC DLERPLJOB FC@@@@JOB FCMAINSRC FCTESTJOB FCTESTSRC FPDIV2JOB FPDIV@JOB LOOK@@001 MOUNT@JOB PRINT@SRC SNAPDFSRC TAPDMPJOB TIMOUTJOB TPULSEJOB TRACERJOB WITS@@JOB [\]. BOOT@@MAN BOOTSTRAPPING ============= FOR A COLD START, BEGIN WITH STEP 1. FOR A WARM START, BEGIN AT STEP 5 WITH 'RKBOOT'. 1. LOCATE TAPE (ABSL11, PIREX3, RKBOOT) AND PLACE IN READER. 2. ON PDP-11 DEPRESS 'HALT'. 3. ON PDP-15 SET ADDRESS TO 77700; STOP & RESET TOGETHER; READIN. 4. WHEN TAPE STOPS AT END OF FIRST PUNCHED SECTION: ON PDP-11 PRESS START (HALT IS DOWN - THIS DOES I/O RESET). SET SW'S 14 & 15 UP; LOAD ADRS; ENABLE; START. ON PDP-15 PRESS 'CONTINUE'. (THIS LOADS PDP-11 PROGRAM) 5. WHEN TAPE STOPS AT END OF SECOND (LONG) PUNCHED SECTION (AC SHOULD BE 0), THE PDP-11 IS RUNNING. THE SYSTEM MUST NOW BE BOOTED FROM THE DISK. SET ADDRESS TO 77637; STOP & RESET TOGETHER; READIN. 6. THE VT05 SHOULD HAVE ANNOUNCED ITSELF AND REQUESTED THE DATE. ENTER THE DATE. ALSO ENTER THE TIME TO THE NEAREST MINUTE. E.G. $T 1431 WHERE SIGNIFIES RETURN KEY. 7. START SPOOLER: $SPOOL SPOOLER RK[0] BEGIN(Y) SPOOLING ENABLED 8. INVOKE RSX: $RSX 9. WHEN LA30 TYPES 'MCR>' START BATCH FROM VT05: ^T TDV>BAT 10. ON LA30: MCR>REQ CLOCK ^X OPR>GO NOTE THAT 'REQ CLOCK' IS OPTIONAL, BUT IS MANDATORY. 11. TO READ CARD DECKS, PLACE CARDS IN CARD READER AND PRESS 'RESET'. SINCE THE SPOOLER IS RUNNING, THE CARDS SHOULD IMMEDIATELY BEGIN READING IN. IF THE CARD READER SHOULD STOP UNEXPECTEDLY, CHECK ERROR LIGHTS ON CARD READER. IF NO HARDWARE ERRORS, THE PROBLEM IS PROBABLY A MIS-PUNCHED CARD. THE LA30 WILL EVENTUALLY TELL YOU ABOUT IT: *** UC15 ERROR CDU NNNNNN REFER TO THE SHEET ABOVE THE LA30 FOR ERROR CODES. 12. TO BEGIN PROCESSING THE DECKS, AT LA30: ^C MCR>QUE 14 13. WHEN ALL DECKS HAVE BEEN READ, THE 4 CARD DECK ON THE SHELF $JOB FLUSH CARD READER $END (GREEN CARD) (BLUE CARD) MUST BE RUN. THIS FORCES THE END OF THE LAST JOB THROUGH THE SPOOLER (BOTH CARD READER & PRINTER), AND TERMINATES THE BATCH JOB STREAM FROM THE CARD READER. 14. ANY DECKS READ IN AFTER A GREEN 'EOF' CARD (COL 1 ALL PUNCHED) MUST RESTART AT STEP 11. [\]. CLAWBYJOB $JOB 73(005) 'CLAWBY' PAUL HENDERSON $UIC $FOR BRE_CLK013 $MAC BRE_AWAKE 002 $MAC BRE_BUSY 002 $TKB NRM} CLOCK} 25} GRAFIX} CLK013} } $DEL CLK013 BIN $TKB NRM} AWAKE} 500} SMALL0} AWAKE} } $DEL AWAKE BIN $TKB NRM} BUSY}512} LV} BUSY} } $DEL BUSY BIN $END [\]. DC@@@@JOB $JOB 73(010) 'DC' PAUL HENDERSON $UIC $MAC BRE_DC 004 $TKB EXM,NFP,PGR} DC....} 1} LV} } DC} } $END [\]. DCSIM@JOB $JOB 73(003) 'DCSIM' PAUL HENDERSON $UIC $MAC BNXF_SNAPDF,DCSIM 005 $TKB NRM,IOT} DCSIM} 511} PIP} DCSIM} } $DEL DCSIM BIN $REM DCSIM $INS DCSIM $REQ DCSIM $END [\]. DCT@@@JOB $JOB 73(005) 'DCT' PAUL HENDERSON $UIC $MAC BRE_DCT 006 $TKB EXM} DCT} 511} VW} } DCT} } $END [\]. DCTESTJOB $JOB 73(003) 'DCTEST' PAUL HENDERSON $UIC $MAC BREF_SNAPDF,DCTEST 005 $BTK DCTEST $DEL DCTEST BIN $REM DCTEST $INS DCTEST $REQ DCTEST $REM DCTEST $END [\]. DELAY@JOB $JOB 73(015) 'DELAY' PAUL HENDERSON $UIC $WAT BL_FCMAIN $MAC BL_DELAY $UIC $PUP T 15 _ 41 SNP BIN,.INTRP BIN,.ARITH BIN $TKB NRM} DELAY} 6} TDV} FCMAIN,DELAY,.INTRP,.ARITH,SNP} } $INS DELAY $PAUSE ALL ASSIGNMENTS MADE? $REQ DELAY $REM DELAY $DELETE .INTRP BIN,.ARITH BIN,SNP BIN $END [\]. DELAY@SRC .TITLE DELAY / / 22 FEB 77 - PAUL HENDERSON / IDX=ISZ / .GLOBL DELAY,DWAIT,.ARG / DELAY XX JMS* .ARG JMP .+3 LUN DLY LAC* LUN / GET LUN DAC FCLUN LAC* DLY IDX DLY DAC MOST LAC* DLY DAC LEAST CAL FCPUT / START FAST CLOCK FOR SPECIFIED DELAY JMP* DELAY / AND RETURN / DWAIT XX CAL WTFOR / WAIT FOR FAST CLOCK JMP* DWAIT / FCPUT 3100; EV;FCLUN;MOST;LEAST; 0 WTFOR 20; EV EV 0 .END [\]. DLERPLJOB $JOB 73(003) 'DLERPL' PAUL HENDERSON $UIC $MAC BRE_DLERPL 001 $TKB NRM} DLERPL} 10} GRAFIX(10000)} DLERPL} } $REM DLERPL $INS DLERPL $END [\]. FC@@@@JOB $JOB 73(002) 'FC' PAUL HENDERSON $UIC $MAC BNX_FC 015 $TKB EXM,NFP,PGR} FC....} 1} LV} } FC} } $END [\]. FCMAINSRC C .TITLE FCMAIN C C 22 FEB 77 - PAUL HENDERSON C C PROGRAM TO TRY TO VALIDATE TIME DELAYS C INTEGER*2 LUN/29/ INTEGER*4 DLY/10000000/ C CALL OFF DO 3 J=1,10 WRITE (16,*) 'BEGIN INNER LOOP',J DLY = J*1000000 WRITE (16,*) DLY,'MICROSECONDS' DO 2 K=1,6 CALL DELAY (LUN,DLY) CALL PDATE (16) CALL DWAIT 2 CONTINUE CALL PDATE (16) 3 CONTINUE STOP 7 END [\]. FCTESTJOB $JOB 73(009) 'FCTEST' PAUL HENDERSON $UIC $MAC BL_FCTEST $BTK FCTEST $INS FCTEST $INS FC.... $PAUSE EXECUTION!!!?? (REA 29 FC NONE) $REQ FCTEST $REM FCTEST $PAUSE (MCR>REA 29 NONE FC) $REM FC.... $END [\]. FCTESTSRC .TITLE FCTEST / / 22 FEB 77 - PAUL HENDERSON / / ROUTINE TO TEST OUT THE FAST CLOCK DEVICE HANDLER / .DEC MCR=3 FC=29 .OCT / FCTEST CAL WRFRST / OUTPUT MESSAGE LAW -5 DAC COUNT / TRY FOR 5 DELAYS LOOP1 CAL DY10M / OF 10 SECONDS CAL WTFOR CAL WRITE ISZ COUNT JMP LOOP1 / LAW -7 / THEN TRY FOR 7 DELAYS DAC COUNT LOOP2 CAL DY5M / OF 5 SECONDS CAL WTFOR CAL WRITE ISZ COUNT JMP LOOP2 CAL WRLAST / THIS ONE IS TO TIDY UP THE I/O CAL WTFOR CAL (10 / DY10M 3100; EV; FC; 46; 113200; 0 DY5M 3100; EV; FC; 23; 045500; 0 WTFOR 20; EV WRFRST 2700; 0; MCR; 2; FIRST WRITE 2700; 0; MCR; 2; LINE WRLAST 2700; EV; MCR; 2; LAST / FIRST FI-.*400+2;EV; .ASCII 'BEGIN'<15> ;FI=. LINE LI-.*400+2;COUNT; .ASCII 'TEST LINE'<15> ;LI=. LAST LA-.*400+2; 0; .ASCII 'LAST LINE'<15> ;LA=. .END FCTEST [\]. FPDIV2JOB $JOB 73(005) 'FPDIV2' PAUL HENDERSON $UIC $DECK FPDIV2 .TITLE FPDIV2 / / 16 AUG 77 - PAUL HENDERSON / / CHECK OUT FPP DIVISION / IDV=712000 EDV=712100 ERD=712500 ILD=713000 ELD=713100 IDX=ISZ / FPDIV2 LAW -10 DAC COUNT LAC (DIVISR DAC FPADR1 LAC (DIVEND DAC FPADR2 CLA!IAC PAX / LOOP LAC* FPADR2,X LMQ / STORE DIVISOR IN AC, MQ LAC* FPADR2 ELD;FPADR1 SNAP 1,402 ERD;FPADR2 SNAP 2,403 IDX FPADR1 IDX FPADR1 IDX FPADR2 IDX FPADR2 ISZ COUNT JMP LOOP CAL (10 / .DEC DIVEND 0; 1; 0; 2; 0; 4; 0; 8; 0; 16; 0; 32; 0; 64; 0; 128 DIVSOR 0; 2; 0; 4; 0; 8; 0; 16; 0; 32; 0; 64; 0; 128; 0; 256 .OCT COUNT .END FPDIV2 $EOF $PUP T 16 (F) _ 15 FPDIV2 SRC $MAC BNXF_SNAPDF,FPDIV2 $BTK FPDIV2 $REM FPDIV2 $INS FPDIV2 $EJECT $REQ FPDIV2 $REM FPDIV2 $DEL FPDIV2 SRC,FPDIV2 BIN,FPDIV2 TSK $END [\]. FPDIV@JOB $JOB 73(005) 'FPDIV' PAUL HENDERSON $UIC $DECK FPDIV .TITLE FPDIV / / 25 AUG 77 - PAUL HENDERSON / / CHECK OUT FPP DIVISION / IDV=712000 ILD=713000 UNDST=713770 UNSWQ=715270 / FPDIV LAW -20 DAC COUNT LAC (22 / BEGINNING DIVISOR / LOOP DAC DIVISR / SAVE UPDATED DIVISOR ILD; (12 / DIVIDEND IS ALWAYS 12 SNAP 1,402 / DISPLAY LOADED DIVIDEND IDV; DIVISR SNAP 2,403 / DISPLAY DIVISOR, QUOTIENT, "REMAINDER" / ILD; (12 IDV; DIVISR / NOW DO THE WHOLE DIVISION UNSWQ; 0 / WITHOUT INTERMEDIATE SNAPS. UNDST; REMAIN / STORE THE REMAINDER SNAP 3,2,REMAIN,REMAIN+2 / DISPLAY FP REG'S & REMAINDER LAW -1 TAD DIVISR / DECREMENT THE DIVISOR ISZ COUNT JMP LOOP CAL (10 / DIVISR;COUNT REMAIN .BLOCK 3 .END FPDIV $EOF $PUP T 16 (F) _ 15 FPDIV SRC $MAC BNXF_SNAPDF,FPDIV $BTK FPDIV $REM FPDIV $INS FPDIV $EJECT $REQ FPDIV $REM FPDIV $DEL FPDIV SRC,FPDIV BIN,FPDIV TSK $END [\]. LOOK@@001 .TITLE LOOK / / 9 JUL 76 - PAUL HENDERSON / / PROGRAM TO LOOK AT PBDL'S TO FIND OUT ABOUT VIRTUAL PARTITION SIZES. / P.BA 0 P.SZ 0 SPY 31 / CPB FOR 'SPY' DIRECTIVE EV SPYADR SPYCON / LOOK CAL PARINF / FIND OUT ABOUT THIS PARTITION JMS WAITFR NOP / IN CASE WE WANT A BREAKPOINT LAC (250 / PBDL LISTHEAD LOOP DAC SPYADR CAL SPY JMS WAITFR LAC SPYCON / ADDRESS OF CURRENT PBDL DAC P.FP AAC 4 / POINT TO BASE ADDRESS DAC SPYADR CAL SPY LAC SPYCON / GET BASE ADDRESS OF CURRENT PBDL AND SAD P.BA / COMPARE IT WITH THIS PARTITION JMP FOUND / HAVE FOUND THE CORRECT PBDL NODE LAC P.FP DAC SPYADR / NOT CORRECT ONE YET. CAL SPY JMS WAITFR LAC SPYCON / GET POINTER TO NEXT PBDL NODE JMP LOOP / FOUND LAC P.FP AAC 6 / POINT TO ACTUAL PARTITION SIZE DAC SPYADR CAL SPY LAC P.FP AAC 11 / POINT TO VIRTUAL PARTITION SIZE DAC SPYADR CAL SPY NOP / CAL PREAL / NOW PRE-ALLOCATE A BUFFER AND JMS WAITFR / SEE WHAT IT LOOKS LIKE JMP FOUND / WAITFR XX CAL WAITF LAC EV JMP* WAITFR / LEAVE WITH EV IN AC WAITF 20 EV / PARINF 26 EV 0; 0 P.BA / PREAL 2300 EV 21 / LUN 17 IS DISK / P.FP;EV .END LOOK [\]. MOUNT@JOB $JOB 73(025) 'MOUNT' PAUL HENDERSON $UIC $DECK MOUNT C .TITLE MOUNT C C 9 JUN 77 - PAUL HENDERSON C INTEGER LP/6/,PP/7/ C 1 WRITE (LP,99) WRITE (LP,98) WRITE (PP,98) DO 2 K=1,70 WRITE (LP,97) WRITE (PP,97) WRITE (LP,96) K WRITE (PP,96) K 2 CONTINUE WRITE (LP,95) WRITE (PP,95) WRITE (LP,94) STOP 7 99 FORMAT ('1',T60,'LISTING OF BATCH FILE') 98 FORMAT (' $JOB 99(050) GENERATE MANY UFD''S') 97 FORMAT (' $DSM RK1') 96 FORMAT (' $MNT RK1 ',T13,I2) 95 FORMAT (' $END') 94 FORMAT (T60,'END OF LISTING OF BATCH FILE',/,'1') END $EOF $WAT BL_MOUNT $BTK MOUNT $REM MOUNT $INS MOUNT $REQ MOUNT $REM MOUNT $DEL MOUNT SRC,MOUNT BIN,MOUNT TSK $END [\]. PRINT@SRC C .TITLE PRINT C C 31 AUG 78 (003; PDH) RESURECT FROM CLOBBERED DECTAPE C 1 DEC 77 (PDH) CLOSE LP AFTER 5 LINES OF OUTPUT; PAUSE C 29 NOV 77 - PAUL HENDERSON C INTEGER LP/6/ CHARACTER*1 ALPH(26)/'A','B','C','D','E','F','G', * 'H','I','J','K','L','M','N','O','P','Q', * 'R','S','T','U','V','W','X','Y','Z'/ CHARACTER*1 LINE(130),WLINE(0/130) C 1 INDEX = 1 DO 3 J=1,5 DO 2 K=1,26 LINE(INDEX) = ALPH(K) INDEX = INDEX + 1 2 CONTINUE 3 CONTINUE C DO 4 K=1,130 WLINE(K) = ' ' 4 CONTINUE C 5 CALL OPEN (LP, 'LISTNGLST') 5 DO 7 J=1,5 WRITE (LP,*) ' ' DO 6 K=1,130 WLINE(K) = LINE(K) WLINE(K-1) = ' ' WRITE (LP,99) WLINE 6 CONTINUE WLINE(130) = ' ' 7 CONTINUE CALL CLOSE (LP) PAUSE 1 GO TO 5 99 FORMAT ('+',131A1) END [\]. SNAPDFSRC .TITLE SNAP MACRO DEFINITION / / 23 AUG 76 - PAUL HENDERSON / / THE 'SNAP' MACRO HAS THE FOLLOWING INVOCATION: / / SNAP ID,CODE,BEGIN,END / / WHERE: ID IS A DECIMAL NUMBER NOT GREATER THAN 511 / CODE SPECIFIES WHICH REGISTERS TO DUMP / BEGIN IS THE ADDRESS TO START DISPLAYING CORE LOCATIONS / END IS THE LAST ADDRESS (VARIABLE) TO DISPLAY / / PRESENTLY IMPLEMENTED VALUES FOR CODE ARE: / / 0 DISPLAY SPECIFIED VARIABLES ONLY / 1 DISPLAY L AC MQ XR LR IN ADDITION TO VARIABLES / 2 DISPLAY FLOATING POINT REGISTERS / 4 DISPLAY CONTENTS OF AUTO-INDEX REGISTERS. / 400 OMIT OUTPUT OF SPECIFIED VARIABLES ('BEGIN' & 'END' NOT REQUIRED) / / THE BITS ARE TESTED INDIVIDUALLY, SO THE NUMBERS MAY BE MICRO-CODED. / / LUN 6 IS USED FOR OUTPUT IN A NON-FILE ORIENTED MANNER. / .DEFIN SNAP,ID,CODE,BEGIN,END .GLOBL .SNAP BG=BEGIN-1 .DEC ID2=ID .OCT JMS* .SNAP CODE+0*1000 ID2&777 BG END-BG*777777 .ENDM .EOT [\]. TAPDMPJOB $JOB 73(003) 'TAPDMP' $UIC $MAC BNX_TAPDMP 001 $BTK TAPDMP $REM TAPDMP $INS TAPDMP $REQ TAPDMP $ERROR $EJECT $REM TAPDMP $END [\]. TIMOUTJOB $JOB 73(003) 'TIMOUT' PAUL HENDERSON $UIC $MAC BFRE_SNAPDF,TIMOUT 001 $LIST TIMOUT $REM TIMOUT $TKB NRM,IOT} TIMOUT} 200} TDV} TIMOUT} } $EJECT $INS TIMOUT $PAUSE ARE ALL ASSIGNMENTS MADE? $REQ TIMOUT $REQ TIMOUT 4 $REQ TIMOUT 512 $REM TIMOUT $END [\]. TPULSEJOB $JOB 73(005) 'TPULSE' PAUL HENDERSON $UIC $MAC BRE_PULSE 029 $EJECT $FOR BR_TPULSE $TKB NRM,UL:F4LIB} TP} 400} GRAFIX} TPULSE,PULSE} } $REM TP $INS TP $END [\]. TRACERJOB $JOB 73(003) 'TRACER' PAUL HENDERSON $UIC $MAC BRE_TRACER 008 $TKB EXM,PGR} TRACER} 512} SMALL0} } TRACER} } $END [\]. WITS@@JOB $JOB 73(005) 'WITS' ASSEMBLY $UIC $MAC BNX_WITS 006 $TKB EXM} WITS}3} PIP} } WITS} } $PUP T 51 _ 15 WITS TSK $END [\].