*20 //MOD6-8E /DECODE MODULE 6 /BLOCK 30 /CONTENTS / COMEXC DEFINE HANDLER LODSYM SEGMNT 4 *1400 6 /COMEXC DEFINE HANDLER / /ENTER WITH TEXT POINTER IN AC /EXIT WITH /AC=DILUN /MQ=DILBLK / STC HP ADD 0 STC DEFX LDA I HP, 0 BCL I 2000 JMP GTDILQ JMP FNDDIQ JMP ENDCOM / LDA DILBLK SCR 13 LDA DILUN LIF 0 DEFX, JMP EJECT /GET NAME FROM TEXT STRING /ENTER WITH POINTER IN AC GTDILQ, STC BETA3 ADD 0 STC GTDIXQ SET I BETA2 4\DILNAM-1 SET I 17 -10 PDQ, LDH I BETA3 SHD I 4300 JMP FIL77Q SHD I 4500 JMP FIL77Q SHD I 5400 JMP FIL77Q SHD I 5600 JMP FIL77Q STH I BETA2 XSK I 17 JMP PDQ LDH I BETA3 JMP UCHKQ EJECT FIL77Q, CLR COM STH I BETA2 XSK I 17 JMP .-2 / UCHKQ, LDF 3 LDA I 2000 STC DILUN LDH 4\CURFIL STH 4\DILUN / LDH BETA3 SAE I 54 SKP JMP .+4 SAE I 56 JMP GTDIXQ LDH I BETA3 SAE I 15 SKP LDH I BETA3 BCL I 7770 STH 4\DILUN GTDIXQ, JMP EJECT /SEARCH DIAL INDEX /ENTER WITH DILNAM /SET UP FNDDIQ, SET 14 0 /DIAL INDEX LDH 4\DILUN AZE JMP NOTZEQ /UNIT ZERO INDEX LDA I 34 JMP TRYDSK JMP SRINDQ SETAXO RDC 1034 RDC 2035 JMP SRINDQ / NOTZEQ, JMP SETUNQ STA RZ1Q STC RZ2Q / ADD CORLOC /400 TMA RZ1Q, RDC 346 ADD C1000 TMA RZ2Q, RDC 347 / SRINDQ, SET I 17 -200 SET I BETA3 377 EJECT NPQ, CLR STC GFLGQ SET I BETA2 DILNAM-1 LDA I BETA2 SAE I BETA3 STC GFLGQ SRO I 3567 JMP .-5 LDA I GFLGQ, 0 AZE SKP APO SKP JMP MTCHQ XSK I 17 JMP NPQ JMP RSQ / MTCHQ, LDA DILUN /CHECK MS OR BINARY ROL 1 APO JMP .+3 /BINARY XSK I BETA3 XSK I BETA3 LDA I BETA3 /CHECK EXISTENCE SAE I 5757 XSK I 14 STC DILBLK EJECT RSQ, LDA I 21 JMP TRYDSK JMP 14 SETAXO RDC 1021 RDC 2022 LDF 3 JMP 14 EJECT SETUNQ, CLR ADD DILUN ROR 1 BCL I 7774 BSE I 1020 AXO LDA DILUN ROL 3 BCL I 7767 BSE I RDC JMP 0 /LEAVE EJECT TRYDSK, SET 17 0 STC DBLQ LDF 0 LDA 3767 AZE I JMP DAQ /0=DISK, 1=TAPE XSK I 17 JMP 17 /TAPE SYSTEM / /DISK DEFINITIONS. /RK8E CODE. DSKP=6741 DCLR=6742 DLAG=6743 DLCA=6744 DRST=6745 DLDC=6746 DMAN=6747 /DF32 CODE. DCMA=6601 DMAR=6603 DMAW=6605 DCEA=6611 DEAL=6615 DFSE=6621 DFSC=6622 /DISK HANDLER FOR DF32 & RK8E. DAQ, PDP PMODE TAD CM2 DCA TIMES2 /WHICH DISK IS UP? CLA CMA /AC=-1,7777 DRST /8E STATUS RTL /BIT2 TO BIT0 SPA JMP DF32 /NO 8E, ASSUME DF32 /8E EXISTS BUT IS IT ON? RTL /BIT4 TO BIT0 SMA JMP RK8E /8E IS ON /DF32 HANDLER. DF32, CDF 0 CLA CMA /AC=-1 TAD CORLOC DCA I P7751 /CA, DF32 TAD CM1000 DCA I P7750 /WC, DF32 TAD C110 DEAL LINC LMODE LDA DBLQ ROR 4 BCL I 377 PDP PMODE DMAR /READ DF32 DFSC /DUN? JMP .-1 DFSE /? ERRORS JMP DF32 /YES, RETRY DSKDON, DCEA /COMMON LEAVE DCMA LINC 6017 /LJMP 17 /RK8E HANDLER. RK8E, CLA TAD CORLOC DLCA /8E CORE ADDR AGN8E, TAD C101 /EXMEM + PARTN 0 DLDC /LOAD COMMND REG TAD DBLQ TAD C4000 DLAG /LOAD & GO DSKP /WAIT TIL DUN JMP .-1 DRST /8E STATUS CLL RAL /CLR SUCCESS BIT SNA /?OTHER ERRORS JMP MOR8E /GOOD! /8E ERROR. FIRST CHECK FOR SEEK FAILED OR /A CYLINDER ADDRESS ERROR. RECAL FOR THOSE. BAD8E, AND C1002 /NOTE AC RAL SNA CLA JMP RK8E /OTHER, RETRY /RECAL & RETRY. DCLR /CLR STATUS STL RTL /AC=2 DCLR /RECAL DSKP /WAIT TIL DUN JMP .-1 DCLR /CLR STATUS DRST /WAIT TIL CLR SZA CLA JMP .-2 JMP RK8E /RETRY /RUN THRU RK8E 2ND TIME. MOR8E, ISZ DBLQ ISZ TIMES2 SKP JMP DSKDON CLA TAD C1000 /WRITE ALL JMP AGN8E /CONSTANTS. CM2, -2 C101, 101 C110, 110 CORLOC, 400 C1000, 1000 CM1000, -1000 C1002, 1002 C4000, 4000 P7750, 7750 P7751, 7751 DBLQ, 0 AA6, TIMES2, 0 / / /MOD6-8E /MAY 74