AND B177 SZA,RSS EOL? JMP GETCH,I YES ISZ IBUFP NO MOVE TO NEXT CHARACTER CPA B54 COMMA? RSS YES ISZ GETCH ADJUST RETURN IF NOT A COMMA OR EOL JMP GETCH,I SKP * CONVERT SELECT CODE * CVSC NOP JSB GETA GET ASCII INPUT SZB IF MORE THAN 2 JMP CVSC,I THEN ERROR SZA,RSS IF NO INPUT JMP CVSC,I THEN ERROR ALF,ALF JSB CVSCC CHECK IT JMP CVSC,I NOT A NUMBER RAL,RAL OK RAL SAVE IT SZA,RSS CAN'T BE ZERO JMP CVSC,I STA CVSCT LDA SVA JSB CVSCC CONVERT SECOND NUMBER JMP CVSC,I NOT A NUMBER IOR CVSCT ADD FIRST NUMBER ISZ CVSC ADJUST GOOD RETURN JMP CVSC,I RETURN * CVSCC NOP STA B AND B170 CPA B60 MUST BE A NUMBER RSS JMP CVSCC,I NOT SO RETURN WITH ERROR LDA B AND B7 ISZ CVSCC ADJUST RETURN JMP CVSCC,I RETURN * CVSCT NOP SKP DOTDM ASC 15,LINE PRINTER (NO.,SC)........_ * DOTDT ASC 2,2610 DEF OLPXX ASC 2,2614 DEF OLPXX ASC 2,2767 DEF OLP67 ASC 2,9866 DEF OLP67 ASC 2,2607 DEF OLPXX ASC 2,2618 DEF OLPXX ASC 2,2617 DEF OLPXX ASC 2,2613 DEF OLPXX ASC 2,2778 DEF OLPXX ASC 2,LINK DEF LNPTR ASC 2,NONE DEF OLPDY DEC -1 SKP DINDM ASC 15,DIAG. INPUT DEVICE (NO.,SC).._ LDVRY ASC 13,READY DIAG. INPUT DEVICE/ DGSNM ASC 15,DSN(,SEQ.DIAG.EXECUT.)......._ * DINDP EQU * ASC 2,2748 OCT 0 ASC 2,2758 OCT 0 ASC 2,2737 OCT 0 ASC 2,7970 OCT 1 ASC 2,7900 OCT 2 ASC 2,7901 OCT 2 ASC 2,7905 OCT 3 ASC 2,7920 OCT 3 ASC 2,2644 OCT 4 ASC 2,2645 OCT 4 ASC 2,LINK OCT 7 DEC -1 * DINDT EQU * DEF PT PAPER TAPE DEF MG MAG TAPE DEF DS 7900/1 DISC DEF DF 7905 DISC DEF CT 2644 CARTRIDGE TAPE DEF *-* DEF *-* DEF LDVR MAINTAIN CURRENT DRIVER (LINK) SKP SKP * 12531-12880 TTY-KDT-PTM * O531 NOP ABS JSB+SETP SETUP COUNT+BUFFER POINTER OTA SC I/O FOR CONTROL WORDS ABS OR531-* ABS JSB+.OUT DUMP BUFFER OCT 120000 CONTROL WORD FOR 12531-12880 NOP NO MORE CONTROL WORDS OCT 12 NORMAL LINE FEED CLC SC,C TURN CARD OFF ABS JMP+CSLO+100000B OR531 NOP OTA SC I/O 1 STC SC,C I/O 2 SFS SC I/O 3 ABS JMP+*-1-O531+CSLO ABS JMP+*-5-O531+CSLO+100000B OCT 0,0,0,0,0 * * I531 NOP ABS STA+COT SAVE COUNT AND ABS STB+BFA BUFFER ADDRESS ABS JSB+SETP SETUP COUNT+BUFFER POINTER OTA SC I/O FOR CONTROL WORDS ABS IR531-* ABS JSB+.IN LOAD BUFFER OCT 160000 CONTROL WORD FOR 12531-12880 NOP NO MORE CONTROL WORDS STC SC,C LEAVE CARD IN INPUT MODE CLC SC,C TURN CARD OFF ABS JMP+CSLI+100000B IR531 NOP STC SC,C I/O 1 SFS SC I/O 2 ABS JMP+*-1-I531+CSLI LIA SC I/O 4 ABS JMP+*-5-I531+CSLI+100000B SKP * 12587 1 CHR BUFFER BOARD * O587 NOP ABS JSB+SETP SETUP COUNT+BUFFER POINTER OTA SC I/O FOR CONTROL WORD ABS OR587-* LIA SC CHECK FOR NOT BUSY RAL,RAL SSA ABS JMP+*-3-O587+CSLO ABS JSB+.OUT DUMP BUFFER OCT 160410 CONTROL WORD FOR 12587 NOP NO MORE CONTROL WORDS OCT 12 NORMAL LINE FEED OTA SC OUTPUT NULL CLC SC,C TURN CARD OFF ABS JMP+CSLO+100000B OR587 NOP OTA SC I/O 1 STC SC,C I/O 2 SFS SC I/O 3 ABS JMP+*-1-O587+CSLO ABS JMP+*-5-O587+CSLO+100000B * I587 NOP ABS STA+COT SAVE COUNT AND ABS STB+BFA BUFFER ADDRESS ABS JSB+SETP SETUP COUNT+BUFFER POINTER OTA SC I/O FOR CONTROL WORD ABS IR587-* LIA SC CHECK FOR NOT BUSY RAL,RAL SSA ABS JMP+*-3-I587+CSLI ABS JSB+.IN LOAD BUFFER OCT 141410 CONTROL WORD FOR 12587 OCT 2000 SBA FOR 2616 TERMINAL NOP NO MORE CONTROL WORDS LIA SC SET FOR INTERRUPT CLC SC,C TURN CARD OFFF ABS JMP+CSLI+100000B IR587 NOP LIA SC I/O 0 STC SC,C I/O 1 SFS SC I/O 2 ABS JMP+*-1-I587+CSLI LIA SC I/O 4 ABS JMP+*-6-I587+CSLI+100000B * SKP * 12966 128 CHR BUFFERED BOARD * C966 NOP ALF ROTATE BAUD RATE INTO POSITION AND B17 MASK OFF OTHERS STA B LDA IX966 AND M17 IOR B STA IX966 LDA OX966 AND M17 IOR B STA OX966 JMP C966,I * O966 NOP ABS JSB+SETP SETUP COUNT+BUFFER POINTER OTA SC I/O FOR CONTROL WORDS ABS OR966-* ABS JSB+.OUT DUMP BUFFER OX966 OCT 040740 CONTROL WORD 2 (INTF CONTROL) OC966 EQU *-O966 OCT 50077 CONTROL WORD 1 (BUFFER FLAGS RESET) OCT 030056 CONTROL WORD 3 (CHR-FRM CONTROL) NOP NO MORE CONTROL WORDS OCT 12 NORMAL LINE FEED ABS JMP+CSLO+100000B NOW EXIT O.966 EQU *-O966 OR966 NOP OTA SC I/O+1 CLC SC,C I/O+2 LIA SC CHECK FOR BUFFER EMPTY ALF,ALF MOVE TO BUFFER EMPTY SSA,RSS IS IT EMPTY? ABS JMP+*-3-O966+CSLO NO KEEP CHECKING ABS LDA+CSLO+OC966 GET CONTROL WORD 1 OTA SC ABS JMP+CSLO+O.966+100000B RETURN FOR ANOTHER BYTE SKP I966 NOP ABS STA+COT SAVE COUNT AND ABS STB+BFA BUFFER ADDRESS ABS JSB+SETP SETUP COUNT+BUFFER POINTER OTA SC I/O FOR CONTROL WORDS ABS IR966-* ABS JSB+.IN LOAD BUFFER IX966 OCT 040140 CONTROL WORD 2 (INTF CONTROL) OCT 50077 CONTROL WORD 1 (RESET BUFFER FLAGS) OCT 030076 CONTROL WORD 3 (CHR-FRM CONTROL) NOP NO MORE CONTROL WORDS STC SC,C SET FOR INPUT CLC SC,C TURN CARD OFF ABS JMP+CSLI+100000B IR966 NOP STC SC I/O+1 LIA SC I/O+2 SSA,RSS I/O+3 ABS JMP+*-2-I966+CSLI ABS JMP+*-5-I966+CSLI+100000B SKP * LINE PRINTER OUTPUT * OLP67 NOP ABS JSB+SETP SETUP COUNT+BUFFER POINTER RSS NO CONTROL WORDS ABS RLP67-* LIA SC CHECK IF DEVICE IS READY SLA,RSS ABS JMP+*+3-OLP67+LPTR OCT 106076 NOT READY TELL OPERATOR ABS JMP+*-4-OLP67+LPTR ABS JSB+.OUT DUMP BUFFER NOP NO CONTROL WORDS OCT 12 NORMAL LINE FEED CLC SC,C TURN CARD OFF ABS JMP+LPTR+100000B RLP67 NOP OTA SC I/O 1 STC SC,C I/O 2 SFS SC I/O 3 ABS JMP+*-1-OLP67+LPTR ABS JMP+*-5-OLP67+LPTR+100000B * * OLPXX NOP ABS JSB+SETP SETUP COUNT+BUFFER POINTER RSS NO CONTROL WORDS ABS RLPXX-* LIA SC CHECK IF DEVICE IS READY SSA ABS JMP+*+3-OLPXX+LPTR OCT 106076 NOT READY TELL OPERATOR ABS JMP+*-4-OLPXX+LPTR ABS JSB+.OUT DUMP BUFFER NOP NO CONTROL WORDS OCT 100001 FORM CONTROL (1LF) CLC SC,C TURN CARD OFF ABS JMP+LPTR+100000B RLPXX NOP OTA SC I/O 1 STC SC,C I/O 2 SFS SC I/O 3 ABS JMP+*-1-OLPXX+LPTR ABS JMP+*-5-OLPXX+LPTR+100000B SKP * PAPER TAPE LOADER DRIVER * PT EQU * * * PTRD EQU *-PT NOP SSB READ OR FORWARD SPACE? ABS JMP+LD+*-PT+3 REWIND OR FORWARD SPACE ABS JSB+LD+PTFW READ WORD ABS JMP+LD+PTRD+100000B SLB REWIND? ABS JMP+LD+PTRD+100000B YES EXIT RBR,SLB FILE FORWARD? RSS ABS JMP+LD+PTRD+100000B NO PTFF EQU *-PT CLB ABS LDA+LD+PTCX ANY COUNT REMAINING SSA,RSS ? ABS JMP+LD+*-PT+3 NO ABS JSB+LD+PTFW YES PICK WORDS UP ABS JMP+LD+PTFF INB SZA,RSS INB ABS JSB+LD+PTFW SZA EOF OR EOT? SSA ABS JMP+LD+PTRD+100000B YES RETURN ABS JMP+LD+PTFF NO DO MORE SKP PTFW EQU *-PT NOP SZB,RSS READ WORD? ABS JMP+LD+PTW YES SLB,RSS ABS JMP+LD+*-PT+3 READ NEXT RECORD PTRS EQU *-PT STC SC,C NO START READER CLB,RSS SEARCH FOR FIRST BYTE ABS LDB+%M10-6000B SET NULL COUNT TO 10 ABS JSB+LD+PTRB WAIT FOR BYTE SZA ANY DATA YET? ABS JMP+LD+*-PT+6 YES CONTINUE INB,SZB NO EOT YET? ABS JMP+LD+*-PT-4 NO TRY NEXT BYTE INB ABS STB+LD+PTCX SET EOF REACHED ABS JMP+LD+PTFW+100000B YES RETURN WITH EOT ALF,ALF PUT COUNT IN UPPER BYTE ABS STA+LD+PTDOT SAVE IT ABS JSB+LD+PTRB READ NEXT BYTE SZA NEXT BYTE SHOULD BE ZERO ABS JMP+LD+PTEX NOT SO EXIT ABS LDA+LD+PTDOT RETRIEVE COUNT LDB A BLF,BLF INB CMB ABS STB+LD+PTCX ABS JMP+LD+PTFW+100000B OK RETURN SKP PTRB EQU *-PT NOP ABS LDA+%M10-6000B SET TIME OUT ABS STA+LD+PTDLT CLA,CLE SFS SC READER READY WITH BYTE RSS ABS JMP+LD+PTLD YES READ IT INA,SZA IS FIRST DELAY OVER? ABS JMP+LD+PTRB+4 NO CHECK IT AGAIN ABS ISZ+LD+PTDLT YES IS SECOND DELAY OVER? ABS JMP+LD+PTRB+3 NO RESTART FIRST DELAY PTEX EQU *-PT CLC SC,C YES - STOP READER CCA INDICATE END OF FILE SZB IS IT REALY END OF TAPE? ABS JMP+LD+PTFW+100000B YES OCT 106074 NO - TAPE TORN OR GATE DOWN ABS JMP+LD+PTRS TRY AGAIN PTLD EQU *-PT LIA SC GET BYTE STC SC,C START NEXT READ ABS JMP+LD+PTRB+100000B PTW EQU *-PT ABS JSB+LD+PTRB GET A BYTE ALF,ALF PUT IT IN UPPER HALF ABS STA+LD+PTDOT SAVE IT ABS JSB+LD+PTRB READ NEXT HALF ABS IOR+LD+PTDOT PUT THEM TOGETHER ABS ISZ+LD+PTCX DECREMENT REMAINDING COUNT NOP ABS JMP+LD+PTFW+100000B RETURN SKP * DUMPS TO PAPER TAPE IN * ABSOLUTE BINARY FORMAT * DUMPS FROM LOCATION 2B TO FWA * AND LWA TO N7700 * PTD EQU *-PT LIA 1,C GET SELECT CODE ABS IOR+%BT15-6000B BUILD INSTRUCTIONS ABS IOR+LD+PTDI ABS STA+LD+PTDIO+6 SFS (1022XX) ABS IOR+LD+PTDI+1 ABS STA+LD+PTDIO+4 OTA (1026XX) ABS STA+LD+PTDL+1 ABS IOR+LD+PTDI+2 ABS STA+LD+PTDIO+5 STC,C (1037XX) PTDL EQU *-PT ABS LDA+LD+PTDC PTCX EQU *-PT NOP OTA (ALSO STORAGE FOR RDR) ABS JSB+LD+PTDLT LEADER OUTPUT LDA 105B LAST ADDRESS ABS LDB+%B2-6000B FIRST ADDRESS PTD0 EQU *-PT ABS STB+BFR ABS STA+BFA PTD1 EQU *-PT ABS LDA+BFR CHECK IF DONE BY CMA,INA BFR > BFA ABS ADA+BFA SZA,RSS ? ABS JMP+LD+PTDX YES DO NEXT SECTION LDB A ABS ADB+%M60-6000B IS IT GREATER THAN 60 WORDS SSB,RSS ? ABS LDA+%B60-6000B YES SET ONE BLOCK ABS STA+CNT SAVE COUNT ALF,ALF MOVE TO UPPER HALF ABS JSB+LD+PTDOT OUTPUT COUNT ABS LDA+BFR GET STARTING ADDRESS ABS STA+COT SET CHECKSUM ABS JSB+LD+PTDOT OUTPUT STARTING ADDRESS PTD2 EQU *-PT ABS LDA+BFR+100000B GET CONTENTS OF ADDRESS ABS JSB+LD+PTDOT FOR OUTPUT ABS LDA+COT ADD TO CHECKSUM ABS ADA+BFR+100000B ABS STA+COT ABS ISZ+BFR MOVE TO NEXT ADDRESS CCA ABS ADA+CNT SUBTRACT 1 FROM COUNT ABS STA+CNT SZA IS THAT ALL? ABS JMP+LD+PTD2 NO ABS LDA+COT YES ABS JSB+LD+PTDOT OUTPUT CHECKSUM ABS JMP+LD+PTD1 DO NEXT BLOCK SKP PTDX EQU *-PT ABS LDA+LD+PTDMA GET MAX ADDRESS ABS IOR+LDMXA-6000B ABS CPA+BFA WAS THIS THE SECOND PART? ABS JMP+LD+PTDEN YES LDB 106B INB LWA+1 ABS JMP+LD+PTD0 * PTDEN EQU *-PT ABS JSB+LD+PTDLT TRAILER OUTPUT HLT 77B ABS JMP+LD+PTDL DO IT AGAIN * * OUTPUT LEADER TRAILER * PTDLT EQU *-PT NOP ABS LDB+%NE2-6000B CLA ABS JSB+LD+PTDOT INB,SZB ABS JMP+LD+*-PT-3 ABS JMP+LD+PTDLT+100000B * PTDOT EQU *-PT NOP ABS JSB+LD+PTDIO ABS LDA+LD+PTRB ABS JSB+LD+PTDIO ABS JMP+LD+PTDOT+100000B * PTDIO EQU *-PT NOP ALF,ALF ABS STA+LD+PTRB ABS AND+%B377-6000B OCT 0 OTA SC OCT 0 STC SC,C OCT 0 SFC SC ABS JMP+LD+PTDIO+100000B ABS JMP+LD+*-PT-2 * * PTDI EQU *-PT OCT 2200 OCT 400 OCT 1100 PTDC EQU *-PT OCT 110000 PTDMA EQU *-PT OCT 7700 * OCT 0,0,0,0,0 SPACE HOLDERS ABS JMP+LD+PTD GO TO PUNCH ROUTINE SKP * MAG TAPE LOADER DRIVER * MG EQU * * MGLR EQU *-MG NOP SZB,RSS READ A WORD? ABS JMP+LD+MGW YES ABS STB+LD+MGBF+1 SSB,RSS READ A RECORD? ABS JMP+LD+MGLR0 YES SLB,RSS REWIND? ABS JMP+LD+*-MG+4 ABS JSB+LD+MGRDY NO WAIT FOR READY ABS LDB+LD+MGRW GET REWIND COMMAND ABS JSB+LD+MGOC DO IT ABS JSB+LD+MGRDY WAIT FOR READY ABS LDB+LD+MGFSF GET FILE FORWARD COMMAND ABS LDA+LD+MGBF+1 GET REQUEST RAR,SLA DO FILE FORWARD? ABS JSB+LD+MGOC YES ABS JMP+LD+MGLR+100000B RETURN MGLR0 EQU *-MG ABS JSB+LD+MGRDY WAIT FOR READY ABS LDA+LD+MGWC GET DMA WORD COUNT STC DMA2 OTA DMA2 ABS LDA+LD+MGAD GET ADDRESS FOR DMA ABS ADA+LDMXA-6000B ABS STA+LD+MGDA SAVE IT FOR LATER ABS IOR+%BT15-6000B ADD INPUT BIT FOR DMA CLC DMA2 OTA DMA2 ABS LDA+LD+MGDC1 GET DMA CONTROL WORD OTA DMA6 ABS LDB+LD+MGRC GET READ COMMAND ABS JSB+LD+MGOC DO IT ABS JSB+LD+MGRDY CHECK IF READ WAS OK ABS LDA+LD+MGBF+1 CMA,SLA,INA REVERSE SENSE CLA BLF,BLF MOVE TO EOF BIT OF STATUS SSB CHECK FOR EOT ABS JMP+LD+MGLR+100000B YES RETURN WITH END OF FILES MGW EQU *-MG ABS LDA+LD+MGDA+100000B GET A WORD FROM BUFFER ABS ISZ+LD+MGDA MOVE POINTER TO NEXT WORD ABS JMP+LD+MGLR+100000B RETURN SKP MGOC EQU *-MG NOP OTB SC+1 OUTPUT COMMAND LIA SC+1 RAR,RAR RAR,SLA REJECTED? ABS JMP+LD+*-MG-4 YES TRY AGAIN STC SC+1,C DO COMMAND ABS CPB+LD+MGRC WAS IT A READ RSS ABS JMP+LD+*-MG+3 NO STC SC,C START DATA CHANNEL STC DMA6,C START DMA SFS SC+1 WAIT FOR COMPLETION ABS JMP+LD+*-MG-1 STF DMA6 CLC DMA6,C TURN OFF DMA MGDC1 EQU *-MG CLC SC,C AND INTERFACE CLC SC+1,C