* LDA .1 STA SUBTS SETUP SUBTEST # JSB MSGH,I OUTPUT MESSAGE * -REMOVE WRITE RING DEF H130 POINTER TO MESSAGE JMP T2601 H130 EQU * ASC 12,H130 REMOVE WRITE RING/ T2601 EQU * * * SUBTEST # 2 * LDA .2 STA SUBTS SETUP SUBTEST # LDA WCC JSB AOTA OUTPUT THE COMMAND JSB STATS GET STATUS AND MSKFP CHECK FILE PROTECTED BIT SZA,RSS IS IT SET? JMP T2604 NO-REPORT ERROR LDA STATU YES-CONTINUE AND MSKCR CHECK COMMAND REJECT SZA IS IT ZERO? JMP T2605 OK-CONTINUE TEST JSB CLEAR CLEAR CONTROLLER LDB MSKFP SETUP EXPECTED STATUS ADB MSKCR ADB MSKLP JSB ERMS,I REPORT COMMAND REJ. ERROR DEF E041 JMP T2605 GO-OUTPUT MESSAGE T2604 EQU * JSB CLEAR CLEAR CONTROLLER LDB MSKFP SETUP EXPECTED STATUS ADB MSKLP JSB ERMS,I DEF E132 JMP T2605 GO-OUTPUT MESSAGE E132 EQU * ASC 12,E132 FILE PROTECT ERROR/ * T2605 EQU * * * SUBTEST # 3 * LDA .3 STA SUBTS SETUP SUBTEST # JSB MSGH,I OUTPUT MESSAGE-REPLACE WRITE RING DEF H131 JMP T2606 GO CHECK UNIT FOR ON-LINE H131 EQU * ASC 12,H131 REPLACE WRITE RING/ T2606 EQU * LDA MSKFP LOAD MASK JSB BITCK IS FILE PROTECT BIT SET? JMP T2609 REPORT FILE PROTECT ERROR JMP T2608 EXIT T2609 EQU * CLB SETUP EXPECTED STATUS JSB ERMS,I REPORT FILE PROTECT BIT ERROR DEF E042 -NO WRITE RING T2608 EQU * JMP TST26,I EXIT TEST * * END OF TEST 26 * * * TEST 27(33) REWIND OFF-LINE CHECK * * -THIS TEST REQUIRES OPERATOR INTERVENTION * TO TURN THIS TEST INTO A MANUAL ECHO CHECK * 1.)ONLY ONE UNIT ON-LINE. * 2.)SET SW 13- LOOP ON TEST. * 3.)SET SW 15- HALT AT END OF TEST. * 4.)EXECUTE TEST. * 5.)AT END OF TEST SELECT NEXT UNIT. * 6.)REPEAT STEP 4 AND 5 UNTIL ALL UNITS ARE * TESTED. * 7.)RESET SW 13 AND 15. * 8.)PUT ALL UNITS TO BE TESTED ON-LINE. * 9.)EXIT TEST * * TST27 NOP JSB .EXEC,I GO SELECT A TAPE UNIT LDB SW68 CHECK SWITCH 6,8, AND 12 JSB SWRC,I GO CHECK SWITCH REGISTER JMP TST27,I ON-EXIT TEST * OFF-CONTINUE * * SUBTEST # 1 * LDA .1 STA SUBTS SETUP SUBTEST # CLA STA UNITX START CHECK WITH UNIT 0 T2706 EQU * JSB UNISL GOTO SELECT UNIT ROUTINE JMP T2707 UNIT OFF-LINE RETURN JMP T2708 UNIT IS ON LINE-CONTINUE T2707 EQU * LDA UNITX GET CURRENT UNIT # INA INCREMENT UNIT # STA UNITX SAVE IT CPA .4 IS UNIT # = TO 4? JMP T2702 ALL UNITS CHECKED-EXIT JMP T2706 NO-GO CHECK NEXT UNIT T2708 EQU * LDB RWO LOAD OFF-LINE REWIND JSB OCMMD OUTPUT THE COMMAND JSB FLGWT WAIT FOR COMMAND FLAG T2701 EQU * LDA MSKRT JSB BITCK IS THE REWIND BIT SET? JMP T2701 YES-GO WAIT FOR REW TO FINISH LDA MSKOL NO-CONTINUE JSB BITCK IS OFF-LINE BIT SET JMP T2705 YES-CONTINUE LDB MSKOL SETUP EXPECTED STATUS ADB MSKTB JSB ERMS,I REPORT UNIT IS STILL UP DEF E136 JMP T2707 GO TRY NEXT UNIT E136 EQU * ASC 09,E136 UNIT ON-LINE/ T2705 EQU * JSB MSGH,I OUTPUT MESSAGE DEF H137 POINTER TO MESSAGE JMP T2703 * H137 EQU * ASC 14,H137 PUT TAPE UNIT ON-LINE/ T2703 EQU * LDA MSKOL CHECK OFF-LINE BIT JSB BITCK IS IT SET? JMP T2709 YES-GO REPORT ERROR JMP T2707 NO-GO TRY NEXT UNIT T2709 EQU * LDB MSKLP SETUP EXPECTED STATUS JSB ERMS,I REPORT UNIT FAILED TO GO UP DEF E140 JMP T2707 GO TRY NEXT UNIT E140 EQU * ASC 10,E140 UNIT OFF-LINE/ * T2702 EQU * JSB UNIUP REPORT ERROR IF NO UNIT UP JMP TST27,I EXIT TEST * * END OF TEST 27 * * * TEST 28(34) WRITE ALL ONES RECORD * TST28 NOP JSB .EXEC,I GO SELECT A TAPE UNIT * LDA FG183 SZA IS IT A 13183? JMP TST28,I YES-EXIT TEST * * ALL ONE'S CHECK-WRITE * * SUBTEST # 1 * LDA .1 STA SUBTS SETUP SUBTEST # JSB LPREW SETUP TEST AT LP CCA ALL 1'S OUTPUT WORD JSB LONGW,I WRITE RECORD TO EOT JMP TST28,I EXIT TEST * * LONGW- WRITES RECORD UNTIL EOT *CALL * LDA WORD WORD=WORD TO BE WRITTEN ON TAPE * JSB LONGW,I * * WORD NOP .LONG NOP STA WORD SAVE WORD CLA STA RDERR CLEAR READ ERROR FLAG STA WRERR CLEAR WRITE ERROR FLAG LDB WCC START THE WRITE JSB OCMMD OUTPUT COMMAND LONG1 STC DATA,C START DATA TRANSFER LONG2 EQU * LON10 LDA WORD LOAD OUTPUT WORD CLB SETUP TIME OUT COUNTER LONG3 SFC DATA IS DATA FLAG CLEAR JMP LONG4 NO-OUTPUT A WORD LIA SW GET SWITCH REGISTER AND SW09 CHECK SWITCH 9 SZA IS IT SET? JMP LON12 YES - TERMINATE RECORD LDA WORD RELOAD THE WORD ISZ B INCREMENT TIME OUT COUNTER JMP LONG3 GO CHECK FLAG JSB DATFG DATA FLAG TIME OUT- REPORT ERROR LON13 EQU * JSB EOTCK CHECK EOT BIT JMP LONG5 YES-EOT BIT SET JSB STATS GET STATUS STA WRERR SET WRITE ERROR FLAG LONG5 EQU * LON12 CLC DATA,C TERMINATE RECORD JSB FLGWT WAIT FOR COMMAND FLAG JSB ERRCK GO REPORT ANY ERROR FLAGS JSB EOTRW REWIND IF AT EOT JMP .LONG,I EXIT LONG4 EQU * OTA DATA,C LON14 EQU * LIA CMMD GET THE STATUS AND LONG6 CHECK THE DE AND EOT BIT SZA IS IT ZERO? JMP LON13 NO-REPORT ERROR * YES-CONTINUE JMP LON10 GO CHECK DATA FLAG * LONG6 OCT 4073 TEMPORARY MASK * * END OF TEST 28 * * * TEST 29(35) READ ALL ONES RECORD * TST29 NOP JSB .EXEC,I GO SELECT A TAPE UNIT * LDA FG183 SZA IS IT A 13183? JMP TST29,I YES-EXIT TEST * * ALL ONE'S CHECK-READ * * * SUBTEST # 1 * LDA .1 STA SUBTS SETUP SUBTEST # LDA MSKLP JSB BITCK GO CHECK STATUS FOR LP JMP T2901 BIT SET- CONTINUE JSB .RWSL,I BIT RESET-GO BACK SPACE RECORD JMP TST29,I ERROR EXIT T2901 EQU * CCA LOAD WORD TO BE READ JSB LONGR,I GO READ RECORD TO EOT JMP TST29,I EXIT TEST * * SUBROUTINE LONR-READS RECORD TO EOT *CALL * LDA * JSB LONGR,I GO READ RECORD * .LONR NOP STA LOR16 SAVE WORD CLA STA RDERR CLEAR READ ERROR FLAG STA WRERR CLEAR WRITE ERROR FLAG LDB RRF JSB OCMMD OUTPUT COMMAND LOR01 STC DATA,C START DATA TRANSFER LOR02 EQU * CLB SETUP TIME OUT COUNTER LOR03 EQU * SFC DATA IS DATA FLAG CLEAR JMP LOR04 NO-GO GET WORD LIA SW LOAD THE SWITCH REGISTER AND SW09 CHECK SWITCH 9 SZA IS IT SET? JMP LOR14 YES-GO TERMINATE RECORD LDA WORD RELOAD WORD ISZ B INCREMENT TIME OUT COUNTER JMP LOR03 YES-GO WAIT FOR NEXT WORD JSB DATFG DATA FLAG TIME OUT- REPORT ERROR LOR12 EQU * JSB EOTCK CHECK EOT BIT JMP LOR14 YES-EOT BIT SET JSB STATS GET STATUS AND MSKIO ISOLATE BITS STA RDERR SET READ ERROR FLAG JSB MS,I ERROR MESSAGE DEF LOR05 RETURN DEF H067 POINTER TO MESSAGE LOR07 NOP BAD WORD LOR16 NOP GOOD WORD LOR05 EQU * CLB SETUP EXPECTED STATUS JSB ERMS,I REPORT DATA TRANSFER ERROR DEF E062 JMP LOR17 GO CHECK FOR READ ERROR LOR14 EQU * CLC DATA,C TERMINATE RECORD JSB FLGWT WAIT FOR COMMAND FLAG LOR17 EQU * JSB ERRCK CHECK READ ERROR FLAGS JSB .RWSL,I SLOW REWIND JMP .LONR,I ERROR RETURN JMP .LONR,I RETURN TO CALLER LOR04 EQU * LIB DATA,C STB LOR07 SAVE THE INPUT DATA CPB LOR16 IS INPUT SAME AS STORED WORD? JMP LOR13 YES-CONTINUE JMP LOR12 NO-GO REPORT ERROR LOR13 EQU * LOR15 EQU * LIA CMMD GET THE STATUS AND LOR06 CHECK THE DE AND EOT BIT SZA IS IT ZERO JMP LOR12 NO-GO REPORT ERROR JMP LOR02 GO CHECK DATE FLAG * LOR06 OCT 4073 TEMPORARY MASK * * * END OF TEST 29 * * * * TEST 30(36) OPERATOR SERVICE ROUTINES * * * BIT 0 = WRITE A TAPE BYTE * * BIT 1 = WRITE COMPUTER WORD * * BIT 2 = COMMAND EXERCISE * * BIT 3 = DMA TRANSFER * * * TST30 NOP * * * BEGIN SWITCH REG SELECTION OF OPERATOR SERVICE ROUTINES ** * JSB .EXEC,I GO SELECT A TAPE UNIT LIA SW SAVE THE SWITCH REGISTER STA INSWR AND SW09 SZA IS SWITCH 9 SET? JMP TST30,I YES-EXIT TEST CCA STA ERSKP SET ERROR MESSAGE SKIP FLAG STA CRCFG SET CRCC SKIP FLAG T3001 EQU * CLA CLEAR THE SWITCH REGISTER OTA SW JSB CLEAR CLEAR CONTROLLER JSB MSGH,I OUTPUT OPERATOR SERVICE MSG DEF H146 AND HALT LIA SW LOAD SWITCH REGISTER SZA ARE ANY SW BITS SET? JMP T3002 YES-GO CHECK T3054 EQU * LDA INSWR RESTORE THE SWITCH REGISTER OTA SW CLA STA SKPSW CLEAR SKIP SW REG CHECK FLAG STA ERSKP CLEAR ERROR MESSAGE SKIP FLAG JMP TST30,I NO-EXIT TEST T3002 EQU * LDB SW00 CHECK BIT 0 JSB SWRC,I IS IT SET? JMP T3050 YES-GO WRITE A TAPE BYTE LDB SW01 NO-CHECK BIT 1 JSB SWRC,I IS IT SET? JMP T3051 YES-WRITE COMPUTER WORD LDB SW02 NO-CHECK BIT 2 JSB SWRC,I IS IT SET? JMP T3052 YES-GO TO COMMAND EXERCISE LDB SW03 NO-CHECK BIT 3 JSB SWRC,I IS IT SET? JMP T3053 YES-GOTO DMA TRANSFER JMP T3054 NO-EXIT TEST * T3050 EQU * JSB .T303,I WRITE A TAPE BYTE JMP T3001 T3051 EQU * JSB .T304,I WRITE A COMPUTER WORD JMP T3001 T3052 EQU * JSB .T305,I COMMAND EXERCISE JMP T3001 T3053 EQU * JSB .T306,I DO A DMA TRANSFER JMP T3001 * * .T303 DEF T3003 POINTER TO TAPE BYTE .T304 DEF T3004 POINTER TO COMPUTER WORD .T305 DEF T3005 POINTER TO COMMAND EXER. .T306 DEF T3006 POINTER TO DMA TRANSFER * H146 EQU * ASC 11,H146 SELECT OP. SER./ H147 EQU * ASC 09,H147 SELECT BYTE/ * * * * * END OF SWITCH REG SELECTION * SKP ORG PAG12 * SKIP TO NEXT PAGE OF MEMORY ******************************** * H150 EQU * ASC 09,H150 SELECT WORD/ H151 EQU * ASC 10,H151 SELECT COMMAND/ * * * WRITE RECORDS FROM THE SWITCH REGISTER * SPC 1 * (1) THE CHARACTERS WRITTEN ON TAPE ARE DEFINED BY * SWITCHES 0 - 7 OF THE SWITCH REGISTER. * * (2) THE RECORD LENGTHS ARE DETERMINED BY SETTING * SWITCHES 8 - 14 OF THE SWITCH REGISTER. * SW 8 = 2 CHARACTERS * SW 9 = 4 CHARACTERS * SW 10 = 8 CHARACTERS * . * . * . * SW 14 = 128 CHARACTERS * IF SWITCHES 8 - 14 ARE ALL SET, (1), THE RECORD * LENGTH IS 255 CHARACTERS. * IF SWITCHES 8 - 14 ARE ALL RESET, (0), THE RECORD * LENGTH IS LIMITED BY AVAILABLE CORE MEMORY. * * (3) SWITCH 15 TERMINATES THE WRITE PROGRAM AT THE * END OF THE CURRENT RECORD. SPC 1 ******************************************************** T3003 NOP * * WRITE TAPE BYTE FROM SWITCH REQISTER * JSB MSGH,I OUTPUT MESSAGE DEF H147 AND HALT T3049 EQU * LDB SW15 CHECK BIT 15 OF SW JSB SWRC,I IS BIT 15 SET? JMP T3003,I EXIT TO CONTROL SECTION JSB EOTRW NO-CHECK FOR EOT * SHOULD HAVE A BIT 15 CHECK * DURING REWIND FOR ABORT LIA SW LOAD SWITCH AND MK377 GET BITS 7-0 STA T3007 SAVE IT ALF,ALF ROTATE BYTE TO UPPER ADA T3007 SETUP COMPUTER WORD STA T3007 SAVE IT LIA SW AND MK77K GET BITS 8-14 ALF,ALF ROTATE TO BIT 0-7 STA T3008 KEEP WORD COUNT SZA ARE BITS 14-8 ZERO? JMP T3010 GO FILL OUTPUT BUFFER T3011 EQU * LDA BFMAX GET MAX BUFFER STA T3008 SAVE IN WORD COUNT T3010 EQU * LDA .1 ONE WORD PATTERN LDB T3007-1 LOCATION OF BUFFER JSB FILL,I FILL THE OUT PUT BUFFER DEF T3013 RETURN ADDRESS T3008 NOP BUFFER LENGTH DEF T3011 ERROR RETURN DEF *+1 POINTER TO WORD T3007 NOP COMPUTER WORD * OUTPUT BUFFER T3013 EQU * CCA STA SKPSW SET SW REG SKIP FLAG JSB SIOW,I WRITE A RECORD JSB BSRWF BACKSPACE RECORD JSB SIOR,I READ THE RECORD CLA STA SKPSW CLEAR SW REG CHECK FLAG JMP T3049 GO BACK AND DO IT AGAIN * * * * * WRITE COMPUTER WORD ROUTINE * * * --PROGRAM OPERATION-- * * 1. LOAD SWITCH REGISTER BIT 1 AT HLT 106046 * * 2. LOAD THE SWITCH REGISTER (0-15) WITH THE PATTERN OF * THE WORD TO BE WRITTEN. * * 3. PRESS RUN * * --------------------- * * THE PROGRAM WRITES A 2048 (MAX SIZE) BYTE RECORD, THEN BACK- * SPACES AND READS THE RECORD . * * CHANGING ANY SWITCH ON THE SWITCH REGISTER, BRINGS * THE PROGRAM TO A NORMAL HALT (106046B). * OTHER WISE THE PROGRAM CONTINUES TRANSFERRING RECORDS UN- * TIL AN END-OF-TAPE IS DETECTED, AT WHICH TIME THE TAPE IS * AUTOMATICALLY REWOUND. * SPC 1 ********************************************************* T3004 NOP * * WRITE A COMPUTER WORD * JSB MSGH,I OUTPUT MESSAGE DEF H150 AND HALT T3014 EQU * LIA SW LOAD A WITH SW REG STA T3016 SAVE IT LDA BFMAX GET MAX BUFFER STA T3017 SAVE IT LDA .1 ONE WORD PATTERN LDB T3016-1 POINTER TO COMPUTER WORD JSB FILL,I FILL THE OUTPUT BUFFER DEF T3018 RETURN ADDRESS T3017 NOP BUFFER LENGTH DEF T3001 ERROR RETURN DEF *+1 POINTER TO WORD T3016 NOP COMPUTER WORD T3018 EQU * CCA STA SKPSW SET SW REG SKIP FLAG JSB SIOW,I WRITE A RECORD JSB BSRWF BACKSPACE RECORD JSB SIOR,I READ THE RECORD CLA STA SKPSW CLEAR SW REG CHECK FLAG JSB EOTRW REWIND IF AT BOT LDB FWAM,I GET FIRST WORD IN OUTPUT BUFFER LIA SW GET THE SWITCH REGISTER CONTENTS CPA B HAS THE SWITCH REGISTER CHANGED? JMP T3014 NO-LOOP ON ROUTINE JMP T3004,I YES-EXIT * * * COMMAND EXERCISE ROUTINE * SPC 1 * SW 0 WRITE (WCC) * SW 1 WRITE TAPE MARKS (WFM) * SW 2 READ ONE RECORD FORWARD (RRF) * SW 3 FORWARD SPACE ONE RECORD (FSR) * SW 4 FORWARD SPACE ONE FILE (FSF) * SW 5 CLEAR THE CONTROLLER (CLR) * - - - - - - - - - - - - - - - - - * SW 6 WRITE A GAP (GAP) * SW 7 BACKSPACE ONE RECORD (BSR) * SW 8 BACKSPACE ONE FILE (BSF) * SW 9 REWIND TO LOAD POINT (REW) * SW 10 REWIND AND OFF-LINE (RWO) * SW 11 CLEAR THE CONTROLLER (CLR) * SW 12 ALLOWS APPROX. 10 MS DELAY BETWEEN COMMANDS * SW 13 ALLOWS APPROX. 15 MS DELAY BETWEEN COMMANDS * SW 14 ALLOWS APPROX. 30 MS DELAY BETWEEN COMMANDS * SW 15 TERMINATES OPERATION * * ANY OF THE FIRST SIX COMMANDS CAN BE COMBINED WITH ANY * OF THE LAST SIX, OR ANY OF THE TWELVE CAN BE USED ALONE. SPC 1 ********************************************************* * * COMMAND EXERCISE * T3005 NOP JSB MSGH,I OUTPUT MESSAGE DEF H151 AND HALT T3021 EQU * LDB SW15 CHECK SW BIT 15 JSB SWRC,I IS IT SET? JMP T3022 CLEAR ROUTINE JSB EOTRW RW IF AT EOT * BEGIN COMMAND DECODER LDB SW00 CHECK BIT 0 JSB SWRC,I IS IT SET? JMP *+2 YES-GO OUTPUT COMMAND JMP T3023 NO-GO TRY NEXT BIT LDA WCC WRITE JSB OUTCD OUTPUT IT T3023 EQU * LDB SW01 CHECK BIT 1 JSB SWRC,I IS IT SET? JMP *+2 YES-GO OUTPUT COMMAND JMP T3024 NO-GO TRY NEXT BIT LDA WFM WRITE FILE MARK JSB OUTCD OUTPUT IT T3024 EQU * LDB SW02 CHECK BIT 2 JSB SWRC,I IS IT SET? JMP *+2 YES-GO OUTPUT COMMAND JMP T3025 NO-GO TRY NEXT BIT LDA RRF READ A RECORD JSB OUTCD OUTPUT IT T3025 EQU * LDB SW03 CHECK BIT 3 JSB SWRC,I IS IT SET? JMP *+2 YES-GO OUTPUT COMMAND JMP T3026 NO-GO TRY NEXT BIT LDA FSR FORWARD SPACE FILE JSB OUTCD OUTPUT IT T3026 EQU * LDB SW04 CHECK BIT 4 JSB SWRC,I IS IT SET? JMP *+2 YES-GO OUTPUT COMMAND JMP T3027 NO-GO TRY NEXT BIT LDA FSF FORWARD SPACE FILE JSB OUTCD OUTPUT IT T3027 EQU * LDB SW05 CHECK BIT 5 JSB SWRC,I IS IT SET? JMP *+2 YES-GO OUTPUT COMMAND JMP T3028 NO-GO TRY NEXT BIT LDA CLR CLEAR JSB OUTCD OUTPUT IT T3028 EQU * LDB SW06 CHECK BIT 6 JSB SWRC,I IS IT SET? JMP *+2 YES-GO OUTPUT COMMAND JMP T3030 NO-GO TRY NEXT BIT LDA GAP GAP JSB OUTCD OUTPUT IT T3030 EQU * LDB SW07 CHECK BIT 7 JSB SWRC,I IS IT SET? JMP *+2 YES-GO OUTPUT COMMAND JMP T3031 NO-GO TRY NEXT BIT LDA BSR BACKSPACE RECORD JSB OUTCD OUTPUT IT T3031 EQU * LDB SW08 CHECK BIT 8 JSB SWRC,I IS IT SET? JMP *+2 YES-GO OUTPUT COMMAND JMP T3032 NO-GO OUTPUT COMMAND LDA BSF BACKSPACE FILE JSB OUTCD OUTPUT IT T3032 EQU * LDB SW09 CHECK BIT 9 JSB SWRC,I IS IT SET? JMP *+2 YES-GO OUTPUT COMMAND JMP T3033 NO-GO TRY NEXT BIT LDA REW REWIND JSB OUTCD OUTPUT IT T3033 EQU * LDB SW10 CHECK BIT 10 JSB SWRC,I IS IT SET? JMP *+2 YES-GO OUTPUT COMMAND JMP T3034 NO-GO TRY NEXT BIT LDA RWO REWIND OFF-LINE JSB OUTCD OUTPUT IT T3034 EQU * LDB SW11 CHECK BIT 11 JSB SWRC,I IS IT SET? JMP *+2 YES-GO OUTPUT COMMAND JMP T3035 NO-GO TRY NEXT BIT LDA CLR CLEAR JSB OUTCD OUTPUT IT. T3035 EQU * JMP T3021 LOOP T3022 EQU * JSB CLEAR CLEAR CONTROLLER JMP T3005,I EXIT * * SUBROUTINE OUTCD (OUTPUT A COMMAND) * OUTCD NOP STA AREG SAVE A REGISTER LDB AREG LOAD COMMAND INTO B REGISTER JSB OCMMD OUTPUT A COMMAND IN B LIA SW LOAD A WITH SW ALF ROTATE BITS 15-12 TO 0-4 AND .7 MASK OFF BITS 3-0 SZA,RSS IS IT ZERO? JMP OTCD1 YES-SKIP TIMER LDB SW14 CHECK BIT 14 JSB SWRC,I IS IT SET? JMP *+2 YES-WAIT 30 MILLI-SEC JMP OTCD2 NO-GOTO NEXT BIT LDA .30D JSB TMRR,I WAIT 30 MILLI-SEC JMP OTCD3 OTCD2 EQU * LDB SW13 CHECK BIT 13 JSB SWRC,I IT SET? JMP *+2 YES-WAIT 15 MILLI-SEC JMP OTCD4 NO-GOTO NEXT BIT