*20 /DISK HANDLER /CALL /READ=3, WRITE=5 /XCORE /CORE /XDISK /DISK /-N. WORDS 2S COMP / DODSK, FETCH /3 READ, 5 WRITE BSE I 6600 STC D32COM /DMAR, DMAW ADD D32COM ROL 11 BCL I 3777 STC RK8COM /DLAG FETCH /X CORE BCL I 7770 ROL 3 STA I CEXT, 0 /EX MEM BITS FETCH /CORE ADR STA I CORLOC, 0 PDP PMODE CLA CMA /AC=-1 TAD CORLOC LINC LMODE LDF 3 STA 3751 /WC FETCH /X DISK ADD RK8COM STC RK8COM FETCH /DISK ADR STC DADR CLR ADD DADR BCL I 7000 SCR 4 ROL 6 ADD CEXT STC DDEAL QAC ROL 1 STC D32ADR FETCH /-WC, 2S COMP LDF 3 STA 3750 /WC SCR 10 /DIV BY 256 STC DBLKS /CHECK TO SEE WHICH DISK IS UP. DF32 IS /DEFAULT. PDP PMODE CLA CMA /AC=7777 DRST /8E STATUS RTL /BIT 2 TO 0 JMP DF32 /NO 8E, ASSUME 32 /8E EXISTS, BUT IS IT ON. RTL /BIT 4 TO 0 SMA JMP RK8E /8E IS ON /DF32 RUNNER. DF32, CLA TAD DDEAL DEAL CLA TAD D32ADR D32COM, 0 /DMAR OR DMAW DFSC /DUN? JMP .-1 DFSE /ERRORS? JMP DF32 /YES, RETRY /OK, LEAVE. LVDSK, DCEA DCMA LINC LMODE JMP GOUSER PMODE /RK8E RUNNER. RK8E, DCLR /CLEAR STATUS DRST /WAIT TIL CLR SZA CLA JMP .-2 TAD CORLOC DLCA NXTBLK, TAD CEXT TAD RK8COM DLDC /COM GER TAD DADR DLAG /LOAD DSKADR & GO DSKP /DUN? JMP .-1 DRST /STATUS TO AC CLL RAL /CLR SUCCESS BIT SNA JMP MR8E /OK, NEXT BLK /8E ERROR ROUTINE. FIRST CHECK FOR SEEK /FAILED OR CYLINDER ADDRESS ERROR. RECAL /FOR THESE. BAD8E, AND K1002 /NOTE AC RAL SNA CLA JMP RK8E /OTHER, RETRY /RECAL & RETRY. DCLR /CLR STATUS STL RTL /AC=2 DCLR /RECAL DSKP /WAIT DUN JMP .-1 JMP RK8E /RETRY /ROUTINE TO SUBSEQUENT 8E BLKS. MR8E, ISZ DADR /BUMP DISK ADDR ISZ DBLKS /? DUN SKP JMP LVDSK /LEAVE, DUN TAD K1000 /MAKE WRITE ALL JMP NXTBLK /CONSTANTS & STOREAGE LOCATIONS. DADR, 0 DBLKS, 0 K1000, 1000 K1002, 1002 DDEAL, 0 D32ADR, 0 RK8COM, 0 LMODE