*20 // SUBROUTINE DISKY328. /DRIVES DF32 & RK08 IN READ & WRITE MODES. /CALLS: DRDE DWRI (AS FOR TAPE) / QN\BN QN\BN /WRITE ROUTINE. DWRI=JMP . LDA 3 /SAVE BETA 3 STC SAVE3 SET 3 0 JMP SETUP /SET DISK WORDS PDP PMODE 6605 /DMAW CLA TAD RK8ADR AND C177 6733 JMP LEAVE C177, 177 /READ ROUTINE. LMODE DRDE=JMP . LDA 3 /SAVE BETA 3 STC SAVE3 SET 3 0 JMP SETUP /SET DISK WORDS PDP PMODE 6603 /DMAR CLA TAD RK8ADR AND C177 6735 /COMMON LEAVE ROUTINE. LEAVE, 6622 /DFSC, DF32 DUN? JMP .+2 /NO, CHK RK8 JMP DUN32 /YES 6745 /RK8 DUN? JMP .-4 /CHECK JUST RK8 FOR ERROR. CANNOT CHECK /BOTH & RK8 MORE PRONE TO ERROR. 6747 /RK8 ERROR? JMP .+4 /NO JMP ERR /YES DUN32, 6611 /DCEA, CLR DF32 6601 /DCMA 6742 /CLR RK8 /NOW LEAVE. LINC LMODE XSK I 3 /SET RETURN JUMP LDA 3 STC LV SET I 3 SAVE3, 0 /RESTORE BETA3 LLDF, 0 /RESTORE DF LV, 0 /EXIT /REPEAT IN CASE OF DISK ERROR. ERR, 6611 /DCEA,CLR DF32 6601 /DCMA 6742 /CLR RK8 LINC LMODE JMP SETUP+3 /ROUTINE TO SET UP DISK WORDS FOR DWRI OR DRDE. SETUP, LDA 0 STC SETUPX /GET CURRENT DF, SET EA & EXIT. CLR IOB 6214 /RDF STA LLDF ROR I 4 /BITS 0&1 OF CA STC TEM /FOR CA, CLR AC ROR I 11 /LINK TO AC8, EA EXT MEM STA TEM+1 /FOR EA, EMA IOB 6732 /RK8 EXT MEM LDA LLDF ROR 1 BSE I LDF STC LLDF /GET QN & SETUP CA & WA. LDF 5 LDA 3 BCL I /INSURE BN 0-177 600 STA 3 STA I RK8ADR, 0 BCL I 4777 ROR 1 ADD TEM LDF 3 AZE /IF=0, SET=-0 JMP .+4 CLR COM SKP ADD KM1 STA 7751 /CUR ADR (CA) -1 IOB 6755 LDA I 7400 /-400, 2S COM STA 7750 /NUM REG TO TRNSFR, WC IOB 6753 /SETUP EMA & DMA FROM BN. LDF 5 LDA 3 ROR 4 BCL I 0377 STC TEM+2 LDA 3 ROL 2 BCL I 7077 ADD TEM+1 IOB 6615 /DEAL LDA TEM+2 SETUPX, 0 /LEAVE TEM, 0 0 0 /END SUBROUTINE DISKY328.