File: DHPCA.LS of Disk: Disks/Build-2007/MyProgs-22-04-07
(Source file text)
/HIGH SPEED READER/PUNCH TESTS PAL8-V10A 24-OCT-81 PAGE 1 /HIGH SPEED READER/PUNCH TESTS /DHPCA VER A MARCH 1977 /1.0 ABSTRACT / THE PC8-E HIGH-SPEED READER AND PUNCH TESTS ARE A TEST PACKAGE / USED TO TEST THE TYPE PC02 AND PC03 HIGH-SPEED READER-PUNCH WHEN / ATTACHED TO A PDP8/E SYSTEM. THE TESTS PERFORM BASIC INPUT AND / OUTPUT CONTROL LOGIC TESTS, READER AND PUNCH TESTS, READER AND / PUNCH SPEED PRINTOUTS, AND PROVIDE MAINTENANCE LOOPS USEFUL IN / ADJUSTING THE READER AND PUNCH / / THE AVAILABLE TEST PROGRAMS ARE: / / PRG0 - BASIC READER AND READER CONTROL LOGIC TESTS / PRG1 - BASIC PUNCH AND PUNCH CONTROL LOGIC TEST / PRG2 - READER TEST. SPECIAL BINARY COUNT PATTERN / PRG3 - PUNCH TEST. SPECIAL BINARY COUNT PATTERN / PRG4 - PUNCH VERIFY. SPECIAL BINARY COUNT PATTERN / PRG5 - PUNCH TEST. RANDOM CHARACTERS / PRG6 - PUNCH VERIFY. RANDOM CHARACTERS / PRG7 - COMBINED READER-PUNCH TEST. SPECIAL BINARY / COUNT PATTERN / PRG10 - READ AMPLIFIER ADJUSTMENT LOOP. 1'S AND 0'S TAPE / PRG11 - PUNCH ANY CHARACTER IN SR LOOP / PRG12 - 1'S AND 0'S PUNCH LOOP / PRG13 - READER SPEED PRINT LOOP / PRG14 - PUNCH SPEED PRINT LOOP / PRG15 - READ X CHARACTERS. STALL Y MS LOOP / /2.0 REQUIREMENTS /2.1 EQUIPMENT / / PDP8/E WITH ASR33/35 TELETYPE, PR8-E READER, OR PR8-E PUNCH, OR / PC8-E READER/PUNCH. THE FOLLOWING TAPED ARE REQUIRED IN CON- / JUNCTION WITH THIS TEST: / / MAINDEC-08-D2G1-PT / MAINDEC-08-D2G2-PT / MAINDEC-08-D2G4-PT / /2.2 STORAGE / / LOCATIONS 0000 THROUGH 4377 ARE USED. / /2.3 PRELIMINARY PROGRAMS / / ALL BASIC CPU AND TELETYPE MAINDEC MUST HAVE BEEN RUN SUCCESS- / FULLY. / /3.0 LOADING PROCEDURE / / THE BINARY LOADER IS USED TO LOAD THE PROGRAM / /4.0 USE PROCEDURES / / THE FOLLOWING PAGES EXPLAIN IN DETAIL THE STEPS NECESSARY TO /HIGH SPEED READER/PUNCH TESTS PAL8-V10A 24-OCT-81 PAGE 1-1 / RUN EACH PROGRAM / /4.1 PRG0 USE PROCEDURE / / A. INSURE THAT THE TELETYPE IS ONLINE. / B. LOAD READER WITH ALL 0'S TEST TAPE. PREFERABLY THE TAPE / SHOULD BE SPLICED INTO A LOOP. / C. LOAD ADDRSS 0200. / D. SET SR TO 0000. PRESS START. / E. PROGRAM HALTS AT LOC 0242 TO PERMIT SETTING OF SR OPTIONS / SET DESIRED OPTIONS AND PRESS CONTINUE. / / PRG0 SR OPTIONS / SR0 HALT AT ROUTINE END. ROUTINE NUMBER IN AC / SR1 SELECT ROUTINE WHOSE NUMBER IS SET IN SR8-SR11. / SR2 LOOP PROGRAM. / SR3 0=HALT ON ERROR. 1=DO NOT HALT ON ERROR. / SR4 SKIP TEST AFTER ERROR. / SR5 ENTER SCOPE LOOP AFTER ERROR / SR8 / THROUGH ROUTINE NUMBER TO BE SELECTED / SR11 / / F. THE PROGRAM RUNS AND HALTS AT PROGRAM END HALT, AT LOC 0305 / UNLESS PREVENTED FROM ENDING BY ERRORS, OR SR OPTIONS. / /4.2 PRG1 USE PROCEDURE / / A. INSURE THAT THE TELETYPE IS ONLINE. / B. MAKE PUNCH READY, INSURING THAT THERE ARE SEVERAL INCHES OF / BLANK LEADER. / C. LOAD ADDRSS 0200. / D. SET SR TO 0001. PRESS START. / E. PROGRAM HALTS AT LOC 0242 TO PERMIT SETTING OF SR OPTIONS / SET DESIRED OPTIONS AND PRESS CONTINUE. / / PRG1 SR OPTIONS / SR0 HALT AT ROUTINE END. ROUTINE NUMBER IN AC / SR1 SELECT ROUTINE WHOSE NUMBER IS SET IN SR8-SR11. / SR2 LOOP PROGRAM. / SR3 0=HALT ON ERROR. 1=DO NOT HALT ON ERROR. / SR4 SKIP TEST AFTER ERROR. / SR5 ENTER SCOPE LOOP AFTER ERROR / SR8 / THROUGH ROUTINE NUMBER TO BE SELECTED / SR11 / / F. THE PROGRAM RUNS AND HALTS AT PROGRAM END HALT, AT LOC 0305 / UNLESS PREVENTED FROM ENDING BY ERRORS, OR SR OPTIONS. / / NOTE / / THE RESULTING PUNCHED TAPE MUST BE INSPECTED VISUALLY. / EXCEPT FOR TWO 500 CHARACTER BLOCKS CONTAINING PUNCHES / IN ALTERNATE CHANNELS, THE REMAINDER OF THE TAPE SHOULD /HIGH SPEED READER/PUNCH TESTS PAL8-V10A 24-OCT-81 PAGE 1-2 / BE BLANK. / /4.3 PRG2 USE PROCEDURE / / A. INSURE THAT THE TELETYPE IS ONLINE. / B. LOAD READER WITH SPECIAL BINARY COUNT PATTERN TEST LOOP. / C. LOAD ADDRSS 0200. / D. SET SR TO 0002. PRESS START. / E. PROGRAM RUNS CONTINUOUSLY UNLESS ERRORS OCCUR. / / PRG2 SR OPTIONS / / SR3 =0-HALT ON ERROR. SR3=1-NO HALT ON ERROR. / SR6 =0-STALL (RANDOM), SR6=1-RUN FULL SPEED / SR7 LOCK IN CURRENT STALL (SR6 MUST BE 0) / /4.4 PRG3 USE PROCEDURE / / A. INSURE THAT THE TELETYPE IS ONLINE. / B. MAKE PUNCH READY. / C. LOAD ADDRSS 0200. / D. SET SR TO 0003. PRESS START. / E. THE PROGRAM PUNCHES SPECIAL BINARY COUNT PATTERN CONTIN- / UOUSLY UNTIL STOPPED BY USER. / / PRG3 SR OPTIONS / / SR6 =0-STALL (RANDOM), SR6=1-RUN FULL SPEED / SR7 LOCK IN CURRENT STALL (SR6 MUST BE 0) / /4.5 PRG4 USE PROCEDURE / / A. INSURE THAT THE TELETYPE IS ONLINE. / B. LOAD READER WITH TAPE PUNCHED BY PRG3, BLANK LEADER SHOULD / BE UNDER READ STATION. WITH "UP" MARKER TO THE LEFT. / C. LOAD ADDRSS 0200. / D. SET SR TO 0004. PRESS START. / E. PROGRAM RUNS CONTINUOUSLY UNLESS ERRORS OCCUR, OR UNTIL / THE READER RUNS OUT OF TAPE. / / PRG4 SR OPTIONS / / SR3 =0-HALT ON ERROR. SR3=1-NO HALT ON ERROR. / / NOTE / / DISREGARD ERRORS TAHT OCCUR WHEN THE END OF SPECIAL / BINARY COUNT PATTERN IS REACHED. / /4.6 PRG5 USE PROCEDURE / / A. INSURE THAT THE TELETYPE IS ONLINE. / B. MAKE PUNCH READY. / C. LOAD ADDRSS 0200. / D. SET SR TO 0005. PRESS START. /HIGH SPEED READER/PUNCH TESTS PAL8-V10A 24-OCT-81 PAGE 1-3 / E. THE PROGRAM PUNCHES RANDOM CHARACTERS CONTINUOUSLY / UNTIL STOPPED BY USER. / / PRG5 SR OPTIONS / / SR6 =0-STALL (RANDOM), SR6=1-RUN FULL SPEED / SR7 LOCK IN CURRENT STALL (SR6 MUST BE 0) / /4.7 PRG6 USE PROCEDURE / / A. INSURE THAT THE TELETYPE IS ONLINE. / B. LOAD READER WITH TAPE PUNCHED BY PRG5, BLANK LEADER SHOULD / BE UNDER READ STATION. WITH "UP" MARKER TO THE LEFT. / C. LOAD ADDRSS 0200. / D. SET SR TO 0006. PRESS START. / E. PROGRAM RUNS CONTINUOUSLY UNLESS ERRORS OCCUR, OR UNTIL / THE READER RUNS OUT OF TAPE. / / PRG4 SR OPTIONS / / SR3 =0-HALT ON ERROR. SR3=1-NO HALT ON ERROR. / / NOTE / / DISREGARD ERRORS TAHT OCCUR WHEN THE END OF SPECIAL / BINARY COUNT PATTERN IS REACHED. / /4.8 PRG7 USE PROCEDURE / / A. INSURE THAT THE TELETYPE IS ONLINE. / B. MAKE PUNCH READY, PUNCH ABOUT 20 INCHES (MAXIMUM) OF BLANK / LEADER, AND LOAD READER WITH THE BLANK LEADER. THE PUNCH / TO READER SLACK SHOULD NOT BE EXCESSIVE. / C. LOAD ADDRSS 0200. / D. SET SR TO 0007. PRESS START. / E. THE PROGRAM PUNCHES AND READ CHECKS SPECIAL BINARY COUNT / PATTERN CONTINUOUSLY UNTIL ERROR OCCURS, OR SUPPLY OF TAPE / IS EXHAUSTED. / / PRG7 SR OPTIONS / / SR3 =0-HALT ON ERROR. SR3=1-NO HALT ON ERROR. / SR6 =0-STALL (RANDOM), SR6=1-RUN FULL SPEED / SR7 LOCK IN CURRENT STALL (SR6 MUST BE 0) / /4.9 PRG10 USE PROCEDURE / / A. INSURE THAT THE TELETYPE IS ONLINE. / B. LOAD READER WITH 1'S AND 0'S TEST TAPE LOOP. / C. LOAD ADDRSS 0200. / D. SET SR TO 0010. PRESS START. / E. PROGRAM RUNS CONTINUOUSLY UNTIL STOPPED BY USER. WITH / THE PROGRAM RUNNING, THE USER CAN ADJUST THE READ / AMPLIFIERS. / /HIGH SPEED READER/PUNCH TESTS PAL8-V10A 24-OCT-81 PAGE 1-4 /4.10 PRG11 USE PROCEDURE / / A. INSURE THAT THE TELETYPE IS ONLINE. / B. MAKE PUNCH READY. / C. LOAD ADDRSS 0200. / D. SET SR TO 0011. PRESS START. / E. THE PROGRAM PUNCHES CONTINUOUSLY THE CODE SET IN SWITCHES / 4 TO 11. THE SWITCHES MAY BE CHANGED AT ANY TIME. / /4.11 PRG12 USE PROCEDURE / / A. INSURE THAT THE TELETYPE IS ONLINE. / B. MAKE PUNCH READY. / C. LOAD ADDRSS 0200. / D. SET SR TO 0012. PRESS START. / E. THE PROGRAM PUNCHES 1'S AND 0'S TAPE CONTINUOUSLY. / / PRG12 SR OPTIONS / / SR6 =0-STALL (RANDOM), SR6=1-RUN FULL SPEED / SR7 LOCK IN CURRENT STALL (SR6 MUST BE 0) / /4.12 PRG13 USE PROCEDURE / / PRG13 IS USED TO TIME THE HIGH SPEED READER WITH THE AID OF A / WATCH WITH SWEEP SECOND HAND. THE READER CAN BE TIMED IN 2 / WAYS: / / A. 30 SECOND TIMING. USED FOR APPROXIMATE SPEED SETTINGS. / B. 300 SECOND TIMING (5 MINUTES) FOR ACCURATE AND FINAL / VERIFICATION OF READER SPEED / / TO TIME THE READER PROCEED AS FOLLOWS: / / A. INSURE TELETYPE IS ON-LINE / B. LOAD ANY TAPE IN READER / C. LOAD ADDRESS 0200 / D. SET SR TO 0013 / E. FOR 30 SECOND TIMING, LEAVE SR1=0, FOR 300 SECOND TIMING / SET SR1 TO A 1 / F. PRESS START, READER WILL RUN CONTINUOUSLY / G. WHEN THE 30 OR 300 SECOND TIME IS UP, TURN ON SR0, AND THEN / TURN IT OFF. THE PROGRAM WILL TYPE OUT THE READER / SPEED IN CHARACTERS PER SECOND (CPS) / H. PROGRAM HALTS AT LOC 4230 AFTER PRINTOUT / I. TO RETIME THE READER, PRESS CONTINUE AFTER MAKING SURE THAT / SR0 IS OFF, AND THAT SR1 IS SET TO THE CORRECT TIME BASE / / NOTE / / ACCURATE READER SPEED MEASUREMENT DEPENDS ON THE USER'S / ATTENTION TO THE STARTING AND STOPPING TIMES / /4.13 PRG14 USE PROCEDURE / /HIGH SPEED READER/PUNCH TESTS PAL8-V10A 24-OCT-81 PAGE 1-5 / PRG14 IS USED TO TIME THE HIGH SPEED PUNCH WITH THE AID OF A / WATCH WITH SWEEP SECOND HANDD. THE PUNCH IS TIMES OVER A PERIOD / OF 60 SECONDS. TO TIME THE PUNCH, PROCEED AS FOLLOWS: / / A. INSURE TELETYPE IS ONLINE / B. MAKE PUNCH READY / C. LOAD ADDRSS 0200 / D. SET SR TO 0014 / E. PRESS START. PUNCH RUNS CONTINUOUSLY. / F. AFTER 60 SECONDS TURN ON SR0, AND THEN TURN IT OFF. / THE PROGRAM WILL TYPE OUT THE PUNCH SPEED IN CHARACTERS / PER SECOND (CPS). / G. PROGRAM HALTS AT LOC 4255 AFTER PRINTOUT. / H. TO REIME THE PUNCH, PRESS CONTINUE AFTER MAKING SURE THAT / SR0 IS OFF / / NOTE / / ACCURATE READER SPEED MEASUREMENT DEPENDS ON THE USER'S / ATTENTION TO THE STARTING AND STOPPING TIMES / /4.14 PRG15 USE PROCEDURE / / A. LOAD ANY TAPE IN READER / B. LOAD ADDRESS 0200 / C. SET SR TO 0015. PRESS START / D. PROGRAM HALTS AT LOC 4332 / E. SET SR SWITCHES 0 THROUGH 4 TO NUMBER OF CHARACTERS TO / READ (1 TO 37 OCTAL) / F. SET SR SWITCHES 5 THROUGH 11 TO NUMBER OF MILLISECONDS TO / STALL AFTER READING CHARACTERS (1 TO 177 OCTAL) / G. PRESS CONTINUE / H. PROGRAM RUNS CONTINUOUSLY, READING THE SPECIFIED NUMBER OF / CHARACTERS, AND STALLING FOR THE SPECIFIED NUMBER OF / MILLISECONDS / / NOTE / / THE NUMBER OF CHARACTERS READ AND/OR THE STALL COUNT CAN / BE CHANGED AT ANY TIME. THIS PROGRAM DOES NOT CHECK FOR / CORRECT DATA, IT IS INTENDED PRIMARILY AS AN AID IN / ADJUSTING READER TIMINGS. / /5. OPERATING PROCEDURES / /5.1 PROGRAM AND/OR OPERATOR ACTION / /5.1.1 NORMAL HALTS / / LOC 0242 SR OPTIONS HALT. THIS HALT OCCURS DURING EXECU- / TION OF PRG0 AND PRG1 TO PERMIT SETTING OF DE- / SIRED OPTIONS. PRESS CONTINUE TO PROCEED. / LOC 0305 PROGRAM END HALT. OCCURS AT END OF PRG0 AND / PRG1. IF "LOOP PROGRAM" OPTION IS NOT SET / SET DESIRED OPTIONS, AND PRESS CONTINUE. IF NO /HIGH SPEED READER/PUNCH TESTS PAL8-V10A 24-OCT-81 PAGE 1-6 / OPTIONS ARE SET, THIS HALT REOCCURS. / LOC 0340 ROUTINE END HALT. OCCURS DURING EXECUTION OF / PRG0 AND PRG1 IF SR0 IS 1. / LOC 4230 THIS HALT OCCURS IN PRG13 AFTER PROGRAM TYPES / THE READER SPEED IN CHARACTERS PER SECOND. TO / RETIME THE READER, PRESS CONTINUE AFTER MAKING / SURE THAT SR0 IS OFF, AND THAT SR1 IS SET TO / THE CORRECT TIME BASE. / LOC 4255 THIS HALT OCCURS IN PRG14 AFTER PROGRAM TYPE / THE PUNCH SPEED IN CHARACTERS PER SECOND. TO / RETIME THE PUNCH, PRESS CONTINUE AFTER MAKING / SURE THAT SR0 IS OFF. / LOC 4332 PRG15 SR SET HALT. OCCURS TO PERMIT SETTING OF / DESIRED CHARACTER AND STALL COUNT. SET SR0-4 TO / NUMBER OF CHARACTERS TO BE READ. SET SR5-11 TO / NUMBER OF MILLISECONDS TO STALL AFTER READING / CHARACTERS, PRESS CONTINUE / /6.0 ERRORS / /6.1 ERROR PRINTOUTS ARE IDENTIFIED BY AN ASTERISK (*) PRECEDING THE / PRINTOUT. MOST ERROR PRINTOUTS TAKE THE FORM: / / *P00XX R00XXY ZZZZZ / WHERE / P00XX=PROGRAM NUMBER / R00XX=ROUTINE NUMBER IN PROGRAM / Y=A LETTER. INDICATES WHICH ERROR OCCURRED WITHIN A / ROUTINE. IF NO LETTER IS PRINTED, ONLY ONE ERROR / IS POSSIBLE IN THE ROUTINE. / ZZZZZ=ADDITIONAL INFORMATION PRINTOUT / / FOLLOWING AN ERROR PRINTOUT THE PROGRAM HALTS IF SR3 (HALT-ON- / ERROR OPTION) IS OFF, AND THE OPTION APPLIES TO THE PROGRAM. / / *P0000 R0001 / / WITH READ FLAG = 1, RSF (IOT011) COMMAND FAILED TO SKIP. / / *P0000 R0002 / / RRB(IOT012) FAILED TO CLEAR FLAG, OR RSF(IOT011) SKIPPED / WITH FLAG=0. / / *P0000 R0003 / / SKIP NOT GENERATED WITH INTERRUPT OFF, OR 6010 (RPE) / MALFUNCTION. / / *P0000 R0004 / / PCE (6020) MALFUNCTION. INTERRUPT ENABLE NOT CLEARED / / *P0000 R0005 / /HIGH SPEED READER/PUNCH TESTS PAL8-V10A 24-OCT-81 PAGE 1-7 / RRB (IOT012) COMMAND FAILED TO CLEAR FLAG / / *P0000 R0006 / / RFC (IOT014) FAILED TO CLEAR FLAG / / *P0000 R0007 / / RRB (IOT012) COMMAND RESULTED IN NON-ZERO CHARACTER SET INTO AC. / SHOULD BE ALL 0'S. AN ALL 0'S TEST TAPE SHOULD BE IN THE READER / / *P0000 R0010A / / UNEXPECTED INTERRUPT AFTER CLEARING REDER PUNCH, TTY PUNCH, / AND TTY READER. TURN OFF INTERRUPTING DEVICE / / *P0000 R0010B / / WITH READER FLAG SET, READER FAILED TO INTERRUPT. / / *P0000 R0011A / / "STOP DELAY" NOT FIRING OR SET FOIR TOO SHORT A DURATION, REFER / TO SECTION 9 FOR TEST DESCRIPTION / / *P0000 R0011B / / "STOP DELAY" TIME OUT IS TOO LONG. REFER TO SECTION 9 FOR TEST / DESCRIPTION / / *P0001 R0000 / / PSF (IOT021) COMMAND SKIPPED WITH FLAG = 0, OR, LESS LIKELY / PCF(IOT022) FAILED TO CLEAR FLAG. / / *P0001 R0001 / / PSF(IOT021) FAILED TO SKIP WITH FLAG = 1, OR FLAG IS NOT SET. / / *P0001 R0002 / / PCF(IOT022) FAILED TO CLEAR FLAG / / *P0001 R0003 / / DID NOT SKIP WITH INTERRUPT DISABLED / / *P0001 R0004 / / COULD NOT CLEAR INTERRUPT ENABLE FOR PUNCH / / *P0001 R0010A / / UNEXPECTED INTERRUPT AFTER CLEARING PUNCH, READER, TTY PUNCH / AND TTY READER. TURN OFF INTERRUPTING DEVICE. /HIGH SPEED READER/PUNCH TESTS PAL8-V10A 24-OCT-81 PAGE 1-8 / / *P0001 R0010B / / WITH PUNCH FLAG SET, PUNCH FAILED TO INTERRUPT / / *P0002 R0000 S/B XXXX WAS YYYY / *P0004 R0000 S/B XXXX WAS YYYY / *P0006 R0000 S/B XXXX WAS YYYY / *P0007 R0000 S/B XXXX WAS YYYY / *P0010 R0000 S/B XXXX WAS YYYY / / ONE OF THE ABOVE PRINTOUTS OCCURS DURING ITS RESPECTIVE PROGRAM / WHEN THE DATA READ FROM PAPER TAPE AND THE EXPECTED DATA DID NOT / MATCH. "S/B" (SHOUD/BE) XXXX REPRESENTS THE EXPECTED CHARACTER. / "WAS" REPRESENTS THE CHARACTER READ. / / INCORRECT RTN SELECTED / / THIS PRINTOUT OCCURS DURING EXECUTION OF PRG0 AND PRG1 IF A / NONEXISTENT ROUTINE IS SELECTED. THE PROGRAM HALTS, SET CORRECT / ROUTINE NUMBER IN SR AND PRESS CONTINUE / / UNEXPECTED INTERRUPT / / THIS PRINTOUT OCCURS DURING PRG7 EXECUTION. PRGRAM HALTS. / TURN OFF INTERRUPTING DEVICE. PRESS CONTINUE / /6.2 ERROR HALTS / / LOC 0201 INCORRECT PRGRAM NUMBER SELECTED. SET SR / TO CORRECT NUMBER AND PRESS CONTINUE. / / LOC 0266 INCORRECT ROUTINE NUMBER SELECTED. PRECEDED / PRINTOUT. SET CORRECT ROUTINE NUMBER IN SR / AND PRESS CONTINUE. / / LOC 0732 UNEXPECTED INTERRUPT. PRECEDED BY PRINTOUT. / OCCURS DURING PRG7 EXECUTION. TURN OFF INTER- / RUPTING DEVICE. PRESS CONTINUE. / / LOC 1347 SYNC ERROR. OCCURS DURING PRG2 AND PRG7, IF / PROGRAM IS UNABLE TO SYNC. PRESS CONTINUE TO / RETRY. / / LOC 1075 COMMON ERROR HALT. OCCURS AFTER ERROR PRINTOUT / IF SR3=0 AND OPTION APPLIES TO PROGRAM BEING / RUN. PRESS CONTINUE / / LOC 3631 PRG7. PUNCH COUNT HAS EXCEEDED 100. READER / IS PROBABLY NOT RUNNING. RESTART PROGRAM. / /7.0 RESTRICTIONS / /7.1 STARTING RESTRICTIONS / /HIGH SPEED READER/PUNCH TESTS PAL8-V10A 24-OCT-81 PAGE 1-9 / THIS PROGRAM MUST BE STARTED AT LOC 0200. / /8.0 MISCELLANEOUS / /8.1 EXECUTION TIME / / PRG0 1 MINUTE 50 SECONDS / PRG1 45 SECONDS / PRG2 THROUGH PRG15 ARE CONTINUOUS RUNNING PROGRAMS / /8.2 TEST TAPES / / MAINDEC-00D2G4-PT SPECIAL BINARY COUNT PATTERN TEST TAPE IS / PROVIDED WITH THIS PROGRAM. FOR EASE OF USE, THE TAPE SHOULD BE / SPLICED INTO A LOOP INSURING THAT THE PATTERN IS MATCHED AT THE / SPLICE POINT. THE END OF A PATTERN IS INDICATED BY THE / CHARACTERS: RUBOUT, ALL 0'S CHARACTER, ALL 0'S CHARACTER, AND / THEN ANOTHER RUBOUT. / / IT IS DESIRABLE TO SPLICE INTO LOOPS, MAINDEC-00-D2G1-PT AND / MAINDEC-00-D2G2-PT TO FACILITATE TESTING. / /9.0 PROGRAM DESCRIPTION / / THIS PROGRAM CONSISTS OF 14 INDIVIDUAL PROGRAMS NUMBERED FROM / 00 TO 15 (OCTAL). PROGRAMS ARE SELECTED BY MEANS OF THE SWITCH / REGISTER (SR). / /9.1 PRG0 - BASIC READER AND READER CONTROL LOGIC TEST / / THIS PROGRAM CONTAINS TEN ROUTINES NUMBERED FOR 0 TO 11 (OCTAL) / / RTN0 CHECKS THAT FLAG IS SET 250 MS AFTER ISSUING RFC COMMAND / (IOT014). FAILURE TO SKIP ON FLAG COULD BE CAUSED BY / FLAG NOT SET, OR RSF FAILURE TO SKIP. TEST IS DONE / 200 TIMES. / / RTN1 CHECKS THAT RSF COMMAND (IOT011) SKIPS WITH FLAG=1. / TEST IS DONE 4095 TIMES. / / RTN2 CHECK THAT RSF COMMAND (IOT011) DOES NOT SKIP WITH FLAG / = 0. DONE 4095 TIMES. / / RTN3 CHECKS FOR SKIP WITH INTERRUPT OFF. DONE 2047 TIMES. / / RTN4 CHECKS THAT INTERRUPT ENABLE CAN BE CLEARED FOR READER. / (DONE 4095 TIMES) / / RTN5 CHECKS THAT RRB COMMAND (IOT012) CLEARS THE FLAG. DONE / 500 TIMES. / / RTN6 CHECKS THAT RFC COMMAND (IOT014) CLEARS THE FLAG. DONE / 500 TIMES. / / RTN7 CHECKS THE ABILITY TO READ ALL 0'S CHARACTER. DONE 500 /HIGH SPEED READER/PUNCH TESTS PAL8-V10A 24-OCT-81 PAGE 1-10 / TIMES. / / RTN10 CHECKS FOR UNEXPECTED INTERRUPTS, AND THEN CHECKS THAT / READER IS ABLE TO INTERRUPT. / / RTN11 THIS ROUTINE CHECKS THAT THE "STOP DELAY" IS NOT LESS / THAN 10 MS. OR MORE THAN 250 MS. THE TEST SEQUENCE IS: / / A. RFC (FETCH CHARACTER) / B. WAIT FOR FLAG 1 (SHOULD SET IMMEDIATELY) / C. DELAY 19 MS. (STOP DELAY SHOULD FIRE 6 MS AFTER STEP / A) / D. RFC (FETCH CHARACTER, CLEAR FLAG) / E. DELAY 19 MS. / F. SKIP ON FLAG. IF SKIP OCCURS, THE "STOP DELAY" / DID NOT FIRE, OR IS TOO SHORT. / G. DELAY ADDITIONAL 212 MILLISECONDS / H. SKIP ON FLAG. IF NO SKIP OCCURS, THE "STOP DELAY" / IS TOO LONG. TEST IS DONE 200 TIMES. / /9.2 PRG1 - BASIC PUNCH AND PUNCH CONTROL LOGIC TEST / / THIS PROGRAM CONTAINS NINE ROUTINES NUMBERED FROM 0 TO 10 / (OCTAL). / / RTN0 CHECKS THAT PSF COMMAND (IOT021) DOES NOT SKIP / WITH FLAG = 0. / / RTN1 CHECKS THAT PSF COMMAND (IOT021) SKIPS WITH FLAG = 1. / DONE 4095 TIMES. / / RTN2 CHECKS THAT PCF COMMAND (IOT022) IS ABLE TO CLEAR THE / FLAG. DONE 500 TIMES. / / RTN3 CHECKS FOR SKIP WITH INTERRUPT OFF. DONE 2047 TIMES. / / RTN4 CHECKS THAT INTERRUPT ENABLE CAN BE CLEARED FOR PUNCH. / DONE 4095 TIMES. / / RTN5 TEST DONE 500 TIMES. VISUAL CHECK OF TAPE REQUIRED. / CHECKS THAT PCF COMMAND (IOT022) IS ABLE TO CLEAR THE / PUNCH BUFFER. THE TEST SEQUENCE IS: / / A. ALL 1'S TO PUNCH BUFFER AND PUNCH (PLS). / B. IMMEDIATELY CLEAR THE PUNCH BUFFER BY ISSUING / PCF COMMAND. NO HOLES SHOULD BE PUNCHED EXCEPT / FOR FEED HOLE. / / RTN6 TEST IS DONE 500 TIMES, VISUAL CHECK OF TAPE REQUIRED. / ROUTINE LOADS PUNCH BUFFER WITH 125 (8) AND PUNCHES. / ALTERNATE HOLES SHOULD BE PUNCHED. / / RTN7 TEST IS DONE 500 TIMES, VISUAL CHECK OF TAPE REQUIRED. / ROUTINE LOADS PUNCH BUFFER WITH 252 (8) AND PUNCHES. / ALTERNATE HOLES SHOULD BE PUNCHED. /HIGH SPEED READER/PUNCH TESTS PAL8-V10A 24-OCT-81 PAGE 1-11 / / RTN10 CHECKS FOR UNEXPECTED INTERRUPTS, AND THEN CHECKS THAT / PUNCH IS ABLE TO INTERRUPT. / /9.3 PRG2 - READER TEST / / THE READER IS TESTED USING A SPECIAL BINARY COUNT PATTERN TEST / TAPE. THE PROGRAM IS CONTINUOUS RUNNING. ERRORS ARE INDICATED / BY PRINTOUTS. NORMAL TEST MODE IS WITH RANDOM STALLS AFTER / EVERY CHARACTER GROUP READ. SR6=1 GIVES FULL SPEED TESTING. / SR7 = 1 LOCKS PROGRAM ON CURRENT STALL. (SR6 MUST BE 0). / PROGRAM RESYNCS AFTER 5 ERRORS. THE LENGTH OF A CHARACTER GROUP / IS RANDOM, BUT DOES NOT EXCEE 15 CHARACTERS. / /9.4 PRG3 - PUNCH TEST, SPECIAL BINARY COUNT PATTERN / / THIS CONTINUOUS RUNNING PROGEAM PUNCHES SPECIAL BINARY COUNT / PATTERN. NORMAL TEST MODE IS WITH RANDOM STALLS AFTER EVERY / CHARACTER PUNCHED. SR6=1 GIVES FULL SPEED PUNCHING. / SR7 = 1 LOCKS PROGRAM ON CURRENT STALL. (SR6 MUST BE 0). / /9.5 PRG4 - PUNCH VERIFY, BINARY COUNT PATTERN / / THIS PROGRAM READS AND CHECKS THE TAPE PUNCHED DURING EXECUTION / OF PRG3. ERRORS ARE INDICATED BY ERROR PRINTOUTS. / /9.6 PRG5 - PUNCH TEST, RANDOM CHARACTERS / / THIS CONTINUOUS RUNNING PROGRAM PUNCHES RANDOM CHARACTERS. / NORMAL TEST MODE IS WITH RANDOM STALLS AFTER EVERY / CHARACTER PUNCHED. SR6=1 GIVES FULL SPEED PUNCHING. / SR7 = 1 LOCKS PROGRAM ON CURRENT STALL. (SR6 MUST BE 0). / /9.7 PRG6 - PUNCH VERIFY, RANDOM CHARACTERS / / THIS PROGRAM READS AND CHECKS THE TAPE PUNCHED DURING EXECUTION / OF PRG5. ERRORS ARE INDICATED BY ERROR PRINTOUTS. / /9.8 PRG7 - COMBINED READER - PUNCH TEST / / THIS CONTINUOUS RUNNING PROGRAM PUNCHES AND READ - CHECKS / SPECIAL BINARY COUNT PATTERN. THE READER AND PUNCH WORK IN THE / INTERRUPT MODE. NORMAL TEST MODE IS WITH RANDOM STALLS AFTER / EVERY CHARACTER PUNCHED. SR6=1 GIVES FULL SPEED PUNCHING AND / READING. SR7 = 1 LOCKS PROGRAM ON CURRENT STALL. (SR6 MUST / BE 0). THE READER RESYNCS ITSELF AUTOMATICALLY AFTER 5 ERRORS. / /9.9 PRG10 - READ AMPLIFIER ADJUSTMENT LOOP / / THIS CONTINUOUS RUNNING PROGRAM USES A 1'S AND 0'S TEST TAPE / LOOP, AND PROVIDES A MEANS OF DETERMINING THE UPPER AND LOWER / LIMITS OF CORRECT OPERATION OF THE READ AMPLIFIER OF THE PAPER / TAPE READER. AFTER OBTAINING THE LIMITS THE POT CAN BE SET TO / THE MIDDLE POSITION. READ ERRORS ARE INDICATED BY ERROR PRINT- / OUTS. DROPPING OF THE READER FLAG BY OVERDRIVING OF THE FEED- /HIGH SPEED READER/PUNCH TESTS PAL8-V10A 24-OCT-81 PAGE 1-12 / HOLE AMPLIFIER IS INDICATED BY 3 BELLS FROM THE TELETYPE. THE / READER IS THEN RESTARTED. / /9.10 PRG11 - PUNCH ANY CHARACTER IN SR LOOP / / THIS PROGRAM LOOP CONTINUOUSLY PUNCHES THE CODE SET IN SR4 / THROUGH SR11. SWITCHES MAY BE CHANGED WHILE RUNNING. / /9.11 PRG12 - ONES AND ZEROS PUNCH LOOP / / THIS PROGRAM PUNCHES 1'S AND 0'S CONTINUOUSLY. NORMAL MODE IS / WITH RANDOM STALLS AFTER EVERY CHARACTER PUNCHED. SR6=1 GIVES / FULL SPEED PUNCHING. SR7 = 1 LOCKS PROGRAM ON CURRENT STALL. / (SR6 MUST BE 0). / /9.12 PRG13 - READ SPEED PRINT LOOP / / THIS PROGRAM TYPES THE READER SPEED MEASURED OVER A 30 OR 300 / SECOND PERIOD. THE USER CONTROLS THE MEASURING TIME WITH THE / AID OF A WATCH WITH SWEEP SECOND HAND. / /9.13 PRG14 - PUNCH SPEED LOOP / / THIS PROGRAM TYPES THE PUNCH SPEED MEASURED OVER A 60 SECOND / PERIOD. THE USER CONTROLS THE MEASURING TIME WITH THE AID OF A / WATCH WITH SWEEP SECOND HAND. / /9.14 PRG15 - READ X, STALL Y MS LOOP / / THIS PROGRAM LOOP IS INTENDED AS AN AID IN ADJUSTING THE PAPER / TAPE READER. THE USER SETS IN SR0 THROUGH SR4 THE NUMBER OF / CHARACTERS TO BE READ (RANGE: 1 TO 37 OCTAL) AND IN SR5 THROUGH / SR11 THE NUMBER OF MS TO STALL AFTER READING THE CHARACTERS / (RANGE: 1 TO 177 OCTAL). THIS LOOP IS USEFUL IN ADJUSTING / CLOCK TIMING, STROBE, ETC. / /10.0 LISTING / /PC8-E HIGH SPEED READER AND PUNCH TESTS. /MAINDEC-08-DHPCA-A-D /DATE: MARCH 1977 /COPYRIGHT 1977 DIGITAL EQUIPMENT CORP. MAYNARD, MASS. 01754 /AUTHORS: BOB KOLLER/MAIT TAFFEL/MARK SANDLER/STEVE JENSEN /WILLEM VAN DER MARK RETYPED PROGRAM IN 2009 /PRG0-BASIC READER AND READER CONTROL LOGIC TEST. ALL 0'S TAPE /PRG1-BASIC PUNCH AND PUNCH CONTROL LOGIC TEST /PRG2-READER TEST, BINARY COUNT PATTERN /PRG3-PUNCH TEST, BINARY COUNT PATTERN /PRG4-PUNCH VERIFY, BINARY COUNT PATTERN /PRG5-PUNCH TEST, RANDOM CHARACTERS /PRG6-PUNCH VERIFY, RANDOM CHARACTERS /PRG7-COMBINED READER-PUNCH TEST, BINARY PATTERN /PRG10-READ AMPLIFIER ADJUSTMENT LOOP, ONES AND ZEROES TAPE /PRG11-PUNCH ANY CHARACTER OR SR LOOP /HIGH SPEED READER/PUNCH TESTS PAL8-V10A 24-OCT-81 PAGE 1-13 /PRG12-ONES AND ZEROES PUNCH LOOP /PRG13-READER SPEED PRINT LOOP /PRG14-PUNCH SPEED PRINT LOOP /PRG15-READ X,STALL Y MSEC LOOP 6000 SKON=6000 6003 SRQ=6003 6007 CAF=6007 6010 RPE=6010 6020 PCE=6020 6014 RCF=6014 6024 PPC=6024 0000 *0 00000 0000 0000 00001 5001 JMP 1 00002 0002 2 00003 0003 3 0005 *5 00005 5402 JMP I 2 00006 0000 0 0020 *20 00020 0000 KSTART, 0 00021 0000 DELAYM, 0 00022 0000 COUNT, 0000 00023 0000 AC, 0 00024 0000 LINK, 0 00025 0270 CHAIN, CHAINN 00026 0333 SHLT, SHALT 00027 0447 RANDNO, RANGEN 00030 0000 PRGNUM, 0 00031 2000 PRGTAB, PRG0 00032 3000 PRG1 00033 3462 PRG2 00034 3506 PRG3 00035 3517 PRG4 00036 3537 PRG5 00037 3553 PRG6 00040 3600 PRG7 00041 4000 PRG10 00042 4102 PRG11 00043 4110 PRG12 00044 4200 PRG13 00045 4233 PRG14 00046 4332 PRG15 00047 0616 XTYPST, TYPSTG 00050 0600 UCRLF, CRLF 00051 1050 UERROR, ERROR 00052 1000 UASCCN, ASCCN 00053 1255 ULPRGN, LPRGN 00054 1273 ULRRGN, LRRGN 00055 1200 UTREAD, TREAD 00056 1207 UTPCH, TPCH 00057 1214 UPLDR, PLDR /HIGH SPEED READER/PUNCH TESTS PAL8-V10A 24-OCT-81 PAGE 1-14 00060 1230 UMARK, MARK 00061 1143 UTCHK, TCHK 00062 1145 UTSB, TSB 00063 0324 CRCNT, CHRCNT 00064 1311 SYNC, SYNK 00065 1324 SYNCA, SYNKA 00066 1400 INPATT, INITPT 00067 1412 GETPT, GETPTT 00070 1435 GETPTR, GTPTRP 00071 0521 CHECK, CHCK 00072 0513 DLYCNT, DLCNT 00073 0426 UPUNCH, PUNCH 00074 0536 UMOVE, MOVE 00075 0400 USTCTR, STCTR 00076 0443 URDSR, RDSR 00077 1111 USTCTA, STCTA 00100 1117 USTCTB, STCTB 00101 1042 USTDLM, STDLYM 00102 0411 UDLYMS, DLYMS 00103 0733 UIOUT, IOUT 00104 0000 DLYMSK, 0 00105 0000 SRMSK, 0 00106 7354 MIL1, 7354 /CONSTANT FOR MILLISECONDS 00107 0000 CPIC, 0 00110 0000 CHR1, 0 00111 0000 CHR2, 0 00112 0000 CHR3, 0 00113 0000 TEMP, 0 00114 0000 TEMP1, 0 00115 0000 CURTST, 0 00116 0000 RTNNO, 0 00117 0000 NXTST, 0 00120 0000 MSCTR, 0 /STORED NUMBER OF MILLISECONDS TO BE COUNTED 00121 0000 MILCTR, 0 /MILLISECOND TALLY 00122 0000 CTRA, 0 00123 0000 CTRB, 0 00124 0000 CTRC, 0 00125 0000 CTRD, 0 00126 0000 PFLAG, 0 00127 0000 RBUSY, 0 00130 0000 RCHKW, 0 /?? 00131 0000 TCHKW, 0 00132 0000 PCHCNT, 0 00133 0000 ACTIND, 0 00134 0000 DELTIM, 0 00135 0000 MILLI, 0 00136 0000 CTR, 0 4000 SR0MSK=4000 2000 SR1MSK=2000 1000 SR2MSK=1000 0400 SR3MSK=0400 0200 SR4MSK=0200 0100 SR5MSK=0100 0040 SR6MSK=0040 /HIGH SPEED READER/PUNCH TESTS PAL8-V10A 24-OCT-81 PAGE 1-15 0020 SR7MSK=0020 0017 TSTMSK=0017 0377 PTMSK=0377 4475 SETLOC=JMS I USTCTR 4476 READSR=JMS I URDSR 4477 SETA=JMS I USTCTA 4500 SETB=JMS I USTCTB 4502 DELAY=JMS I UDLYMS 5503 OUT=JMP I UIOUT 0140 A=0140 0240 B=0240 0000 NONE=0000 4040 NOSUF=4040 4501 SETDLM=JMS I USTDLM 4502 DELAY=JMS I UDLYMS 5503 OUT=JMP I UIOUT 0000 OPEN=0000 /SET INT ENABLE FOR READER AND PUNCH /SKIP IF RDR FLAG = 1 /READ READER BUFFER AND CLEAR FLAG /RRB,RCC /CLEAR INTERRUPT EANBLE FOR READER AND PUNCH /SKIP IF PUNCH FLAG = 1 /CLEAR FLAG AND BUFFER /LOAD BUFFER AND PUNCH CHARACTER /PCF,PPC /SKIP IF INTERRUPT ON AND TURN INTERRUPT OFF /TURN INTERRUPT ON /TURN INTERRUPT OFF /SKIP ON INTERRUPT REQUEST /GET FLAGS /RESTORE FLAGS /SKIP ON GREATER THAN FLAGS /CLEAR ALL FLAGS 0200 *200 00200 7410 STRT, SKP 00201 7602 HLT CLA /INCORRECT PRGNUM 00202 7604 LAS /READ SR 00203 0177 AND [17 /MASK ALL BUT LAST 4 BITS 00204 1176 TAD [-15 00205 7540 SMA SZA /VALID PROGRAM? 00206 5201 JMP STRT+1 /NO, GO TO ERROR HALT 00207 7604 LAS /YES, REREAD SR 00210 0177 AND [17 00211 3030 DCA PRGNUM 00212 1030 TAD PRGNUM /DEVELOP PROGRAM ADDRESS 00213 1175 TAD [PRGTAB 00214 3113 DCA TEMP 00215 1513 TAD I TEMP /HIGH SPEED READER/PUNCH TESTS PAL8-V10A 24-OCT-81 PAGE 1-16 00216 3240 DCA PRGADR /STORE DEVELOPED ADDRESS 00217 4474 INIT, JMS I UMOVE /INITIALIZE INTERRUPT 00220 0005 5 /AREAD 00221 0001 1 00222 7776 -2 00223 3113 DCA TEMP /0 TO TEMP 00224 4474 JMS I UMOVE /CLEAR WORK AREA 00225 0113 TEMP 00226 0114 TEMP1 00227 7760 -20 00230 4475 SETLOC 00231 1075 ERRORA 00232 7402 7402 00233 1174 TAD [177 00234 3104 DCA DLYMSK 00235 1173 TAD [7640 00236 3572 DCA I [STALL+3 00237 5640 JMP I .+1 /JMP TO SELECTED 00240 0000 PRGADR, 0 /PROGRAM 00241 7602 SRSET, HLT CLA 00242 7200 GETRDY, CLA 00243 1020 TAD KSTART /SET ADDRESS OF 1ST ROUTINE 00244 3117 DCA NXTST /STORE AT NXTST 00245 4307 JMS FORWD 00246 4476 READSR /READ SR 00247 7006 RTL 00250 7420 SNL /ROUTINE SELECT? SR1 00251 5515 JMP I CURTST /NO, START WITH 1ST RTN 00252 4476 READSR /YES 00253 0177 AND [TSTMSK 00254 7041 CIA 00255 1116 TAD RTNNO 00256 7650 SNA CLA /IS IT THIS RTN? 00257 5515 JMP I CURTST /YES, GO DO IT 00260 1117 TAD NXTST /NO 00261 7001 IAC /IS THIS LAST RTN? 00262 7640 SZA CLA /NO 00263 5245 JMP GETRDY+3 00264 4447 JMS I XTYPST 00265 1560 WRTN 00266 7602 INCRTN, HLT CLA /YES, INCORRECT ROUTINE NO 00267 5242 JMP GETRDY 00270 4426 CHAINN, JMS I SHLT 00271 4476 READSR /READ SR 00272 7006 RTL 00273 7630 SZL CLA /ROUTINE SELECT? SR1 00274 5242 JMP GETRDY /YES 00275 1117 TAD NXTST 00276 7001 IAC 00277 7640 SZA CLA /LAST ROUTINE? 00300 5245 JMP GETRDY+3 /NO 00301 4476 READSR /HIGH SPEED READER/PUNCH TESTS PAL8-V10A 24-OCT-81 PAGE 1-17 00302 7006 RTL 00303 7710 SPA CLA /LOOP PROGRAM? SR2 00304 5242 JMP GETRDY /YES 00305 7402 PRGEND, HLT /END OF PROGRAM HALT 00306 5270 JMP CHAINN 00307 0000 FORWD, 0 00310 7300 CLA CLL 00311 1517 TAD I NXTST /GET NEXT RTN NO 00312 3116 DCA RTNNO /STORE AT RTNNO 00313 2117 ISZ NXTST 00314 1117 TAD NXTST /SET CURRENT 00315 3113 DCA TEMP /RTN NUMBER 00316 2117 ISZ NXTST 00317 1117 TAD NXTST /SET CURRENT 00320 3115 DCA CURTST /RTN ADDR. 00321 1513 TAD I TEMP /SET NEXT 00322 3117 DCA NXTST /RTN ADDR. 00323 5707 JMP I FORWD 00324 0000 CHRCNT, 0 00325 4427 JMS I RANDNO /SET RANDOM NUMBER 00326 0177 AND [17 /REMOVE EXCESS BITS 00327 7450 SNA /0? 00330 5325 JMP CHRCNT+1 /YES, REPEAT 00331 7041 CIA /COMPLEMENT 00332 5724 JMP I CHRCNT /EXIT. 00333 0000 SHALT, 0 00334 4476 READSR /READ SR 00335 7700 SMA CLA /HALT? (SR0) 00336 5733 JMP I SHALT 00337 1116 TAD RTNNO 00340 7402 HLT /UNCONDITIONAL HALT 00341 5733 JMP I SHALT /EXIT.S/-10L 0400 PAGE 00400 0000 STCTR, 0 00401 7200 CLA 00402 1600 TAD I STCTR /GET CTR ADDR 00403 3113 DCA TEMP /AND SAVE AT TEMP 00404 2200 ISZ STCTR 00405 1600 TAD I STCTR /GET COUNT AND 00406 3513 DCA I TEMP /STORE PER C(TEMP) 00407 2200 ISZ STCTR 00410 5600 JMP I STCTR /EXIT 00411 0000 DLYMS, 0 00412 7300 CLA CLL 00413 1021 TAD DELAYM /GET MS COUNT 00414 3120 DCA MSCTR /STORE IN MSCTR 00415 5616 JMP I .+1 00416 0417 .+1 00417 1106 TAD MIL1 /GET 1 MS CONSTANT 00420 3121 DCA MILCTR /STORE IN MILCTR 00421 2121 ISZ MILCTR /DELAYED 1 MSEC? 00422 5221 JMP .-1 00423 2120 ISZ MSCTR /DONE DELAYING? 00424 5217 JMP .-5 00425 5611 JMP I DLYMS /EXIT /HIGH SPEED READER/PUNCH TESTS PAL8-V10A 24-OCT-81 PAGE 1-18 /PUNCH/PRINT ONE CHARACTER SUBROUTINE (CHAR IN AC) 00426 0000 PUNCH, 0 00427 2126 ISZ PFLAG /SET PFLAG 00430 6046 TLS /PUNCH PRINT 00431 7200 CLA 00432 1126 TAD PFLAG 00433 7640 SZA CLA /FLAG RESET? 00434 7410 SKP 00435 5240 JMP .+3 /YES 00436 6041 TSF /DONE PRINTING? 00437 5232 JMP .-5 /NO 00440 6042 TCF /YES, RESET PRINTER FLAG 00441 3126 DCA PFLAG /RESET FLAG 00442 5626 JMP I PUNCH 00443 0000 RDSR, 0 00444 7604 LAS 00445 0105 AND SRMSK 00446 5643 JMP I RDSR / /RANDOM NUMBER GENERATOR SUBROUTINE 00447 0000 RANGEN, 0 00450 7200 CLA 00451 1311 TAD RANTND 00452 1276 TAD RANDEX 00453 7640 SZA CLA 00454 5264 JMP RANTAD 00455 1300 TAD RANTBL 00456 3276 DCA RANDEX 00457 1277 TAD RANCON 00460 7104 CLL RAL 00461 7430 SZL 00462 7001 IAC 00463 3277 DCA RANCON 00464 1277 RANTAD, TAD RANCON 00465 1676 TAD I RANDEX 00466 3676 DCA I RANDEX 00467 1312 TAD RANSAV 00470 7010 RAR 00471 1676 TAD I RANDEX 00472 2276 ISZ RANDEX 00473 3312 DCA RANSAV 00474 1312 TAD RANSAV 00475 5647 JMP I RANGEN 00476 0511 RANDEX, RANTND 00477 6543 RANCON, 6543 00500 0501 RANTBL, .+1 00501 6543 6543 00502 3210 3210 00503 0765 0765 00504 5432 5432 00505 2107 2107 00506 7654 7654 00507 4321 4321 00510 1076 1076 00511 7267 RANTND, -. /HIGH SPEED READER/PUNCH TESTS PAL8-V10A 24-OCT-81 PAGE 1-19 00512 0000 RANSAV, 0 / /SUBROUTINE TO GENERATE RANDOM DELAY COUNT / 00513 0000 DLCNT, 0 00514 4427 JMS I RANDNO /GO GENERATE RANDOM NUMBER 00515 0174 AND [177 /MASK OUT UNDESIRED BITS 00516 7041 CIA /2'S COMPLEMENT IT 00517 3021 DCA DELAYM 00520 5713 JMP I DLCNT /EXIT / /SUBROUTINE TO COMPARE C(AC) TO CONTENTS STORED AT CALL+1 / 00521 0000 CHCK, 0 00522 3335 DCA WCHK /STORE AC AT WCHK 00523 1721 TAD I CHCK /GET COMPARE DATE 00524 7041 CIA /2'S COMPLEMENT IT 00525 1335 TAD WCHK /ADD C(WCHK) 00526 2321 ISZ CHCK /SET UP FOR UNEQUAL 00527 7640 SZA CLA /EQUAL (AC=0) 00530 5333 JMP .+3 /NO 00531 2321 ISZ CHCK /YES, SET UP FOR EQUAL 00532 5721 JMP I CHCK /EQUAL EXIT 00533 1335 TAD WCHK /RESTORE AC 00534 5721 JMP I CHCK /UNEQUAL EXIT 00535 0000 WCHK, 0 / /SUBROUTINE TO MOVE VARIABLE LENGTH DATA FIELDS / 00536 0000 MOVE, 0 00537 7200 CLA 00540 1736 TAD I MOVE /GET "FROM ADDR" AND 00541 3361 DCA FADDR /STORE AT FADDR 00542 2336 ISZ MOVE 00543 1736 TAD I MOVE /GET "TO ADDR" AND 00544 3362 DCA TADDR /STORE AT TADDR 00545 2336 ISZ MOVE 00546 1736 TAD I MOVE /GET "MOVE COUNT" AND 00547 3363 DCA MCTR /STORE AT MCTR 00550 2336 ISZ MOVE /SET UP FOR EXIT 00551 7200 MOVEA, CLA 00552 1761 TAD I FADDR /GET "FROM" WORD 00553 3762 DCA I TADDR /STORE AT "TO" LOCATION 00554 2361 ISZ FADDR /+1 TO "FROM" ADDR 00555 2362 ISZ TADDR /+1 TO "TO" LOCATION 00556 2363 ISZ MCTR /ALL WORDS MOVED? 00557 5351 JMP MOVEA /NO, GO MOVE AGAIN 00560 5736 JMP I MOVE /YES, EXIT 00561 0000 FADDR, 0 00562 0000 TADDR, 0 00563 0000 MCTR, 0 0600 PAGE 00600 0000 CRLF, 0 00601 7200 CLA /CRLF SUBROUTINE /HIGH SPEED READER/PUNCH TESTS PAL8-V10A 24-OCT-81 PAGE 1-20 00602 1600 TAD I CRLF /GET NUMBER OF CRLF'S 00603 3215 DCA CRCTR /AND SAVE 00604 2200 ISZ CRLF 00605 4447 JMS I XTYPST /GO CRLF 00606 0612 .+4 00607 2215 ISZ CRCTR /ALL DONE? 00610 5205 JMP .-3 /NO 00611 5600 JMP I CRLF /YES, EXIT 00612 0015 0015 /CR 00613 0012 0012 /LF 00614 0001 0001 /END CODE 00615 0000 CRCTR, 0 00616 0000 TYPSTG, 0 00617 7200 CLA 00620 1616 TAD I TYPSTG /GET AND STORE 00621 3300 DCA TEMQ /INITIAL ADDRESS 00622 3302 DCA FLAG /CLEAR FLAG 00623 2216 ISZ TYPSTG 00624 1700 TSC1, TAD I TEMQ /SET DATA 00625 7012 RTR /ROTATE RIGHT 6 00626 7012 RTR 00627 7012 RTR 00630 4235 JMS TSC2 /GO TYPE CHARACTER 00631 1700 TAD I TEMQ /GET DATA 00632 4235 JMS TSC2 /GO TYPE CHARACTER 00633 2300 ISZ TEMQ /INCR STRING ADDR 00634 5224 JMP TSC1 /GO BACK FOR MORE 00635 0000 TSC2, 0 00636 0171 AND [77 /MASK OFF 6 BITS 00637 3301 DCA TEMR /SAVE CHARACTER 00640 1302 TAD FLAG 00641 7640 SZA CLA /TEST FLAG 00642 5252 JMP TYPSP /SET 00643 1301 TAD TEMR /NOT SET 00644 7450 SNA /ZERO? 00645 5250 JMP .+3 /YES, SET FLAG 00646 4271 TYPAT, JMS PRINT /NO, PRINT IT 00647 5635 JMP I TSC2 /RETURN 00650 2302 ISZ FLAG /SET FLAG 00651 5635 JMP I TSC2 /EXIT 00652 3302 TYPSP, DCA FLAG /CLEAR FLAG 00653 1301 TAD TEMR 00654 7041 CIA 00655 7450 SNA /ZERO? 00656 5246 JMP TYPAT /YES, TYPE "@" 00657 7001 IAC 00660 7650 SNA CLA /IS IT 01? 00661 5616 JMP I TYPSTG /YES, EXIT 00662 1170 TAD [SMA /SMA TO SWITCH 00663 3273 DCA SWITCH 00664 1301 TAD TEMR /GET CHARACTER 00665 4271 JMS PRINT /PRINT IT 00666 1167 TAD [SPA /SPA TO SWITCH 00667 3273 DCA SWITCH 00670 5635 JMP I TSC2 /HIGH SPEED READER/PUNCH TESTS PAL8-V10A 24-OCT-81 PAGE 1-21 00671 0000 PRINT, 0 00672 1166 TAD [-40 00673 7510 SWITCH, SPA 00674 1165 TAD [100 00675 1164 TAD [240 00676 4473 JMS I UPUNCH 00677 5671 JMP I PRINT 00700 0000 TEMQ, 0 00701 0000 TEMR, 0 00702 0000 FLAG, 0 / 00703 3023 INTSVC, DCA AC /SAVE AC 00704 7010 RAR 00705 3024 DCA LINK /SAVE LINK 00706 6011 RSF /READER? 00707 5312 JMP .+3 /NO 00710 5711 JMP I .+1 00711 0000 RVCTR, 0 00712 6021 PSF /PUNCH? 00713 5317 JMP .+4 /NO 00714 4563 JMS I [STALL /STALL IF DESIRED 00715 5716 JMP I .+1 00716 0000 PVCTR, 0 00717 6031 KSF /TTY READER/KYBD? 00720 5323 JMP .+3 00721 6032 KCC /YES 00722 5503 OUT /TO MAINLINE 00723 6041 TSF /TTY PRINTER/PUNCH? 00724 5330 JMP .+4 /NO 00725 6042 TCF /YES 00726 3126 DCA PFLAG 00727 5503 OUT /TO MAINLINE 00730 4447 UNEXIT, JMS I XTYPST /PRINT ERROR MESSAGE 00731 1501 UNINT 00732 7602 HLT CLA /HALT, UNEXPECTED INTERRUPT 00733 7300 IOUT, CLA CLL 00734 1024 TAD LINK 00735 7004 RAL /RESTORE LINK 00736 1023 TAD AC /RESTORE AC 00737 6001 ION 00740 5400 JMP I 0 /EXIT INTERRUPT / 00741 6022 PCHCLR, PCF 00742 5503 OUT 00743 6012 RDRCLR, RRB 00744 5503 OUT 1000 PAGE 01000 0000 ASCCN, 0 /SUBROUTINE TO CONVERT 01001 7200 CLA /A WORD TO PRINTABLE ASCII 01002 1600 TAD I ASCCN 01003 3237 DCA WASC 01004 2200 ISZ ASCCN 01005 1600 TAD I ASCCN 01006 3240 DCA SASC 01007 2200 ISZ ASCCN /HIGH SPEED READER/PUNCH TESTS PAL8-V10A 24-OCT-81 PAGE 1-22 01010 1162 TAD [7700 01011 0637 AND I WASC 01012 7112 RTR CLL 01013 7012 RTR 01014 7012 RTR 01015 4224 JMS CNV 01016 2240 ISZ SASC 01017 1162 TAD [7700 01020 7040 CMA 01021 0637 AND I WASC 01022 4224 JMS CNV 01023 5600 JMP I ASCCN 01024 0000 CNV, 0 01025 3241 DCA ASCT 01026 1241 TAD ASCT 01027 7006 RTL 01030 7004 RAL 01031 0161 AND [707 01032 1241 TAD ASCT 01033 0161 AND [707 01034 1160 TAD [6060 01035 3640 DCA I SASC 01036 5624 JMP I CNV 01037 0000 WASC, 0 01040 0000 SASC, 0 01041 0000 ASCT, 0 / 01042 0000 STDLYM, 0 /SET DELAYM SUB 01043 7200 CLA 01044 1642 TAD I STDLYM /SET DELAYM TO 01045 3021 DCA DELAYM /NUMBER SPECIFIED 01046 2242 ISZ STDLYM /AT CALL +1 01047 5642 JMP I STDLYM /EXIT 01050 0000 ERROR, 0 01051 4452 JMS I UASCCN /CONVERT PROGRAM 01052 0030 PRGNUM /NUMBER TO PRINTABLE 01053 1471 PNUMB /OCTAL 01054 4452 JMS I UASCCN /CONVERT ROUTINE 01055 0116 RTNNO /NUMBER TO PRINTABLE 01056 1474 ENUMB /OCTAL 01057 1650 TAD I ERROR /GET ERROR SUFFIX AND 01060 3710 DCA I SFADR /STORE AT SUFX 01061 4447 JMS I XTYPST /PRINT ERROR NUMBER 01062 1466 ERNUMB 01063 2250 ISZ ERROR 01064 1650 TAD I ERROR /GET ADDRESS OF ADDITIONAL 01065 7450 SNA /PRINTOUT. ZERO? 01066 5272 JMP .+4 /YES 01067 3271 DCA .+2 01070 4447 JMS I XTYPST /NO, PRINT IT 01071 0000 0 01072 4476 READSR 01073 0157 AND [SR3MSK 01074 7650 SNA CLA /HALT ON ERROR? (SR3) 01075 7402 ERRORA, HLT /YES /HIGH SPEED READER/PUNCH TESTS PAL8-V10A 24-OCT-81 PAGE 1-23 01076 4476 READSR 01077 0156 AND [SR4MSK 01100 7640 SZA CLA /SKIP TEST? (SR4) 01101 5425 JMP I CHAIN /YES 01102 4476 READSR 01103 0165 AND [SR5MSK 01104 7640 SZA CLA /ENTER SCOPE LOOP? (SR5) 01105 2250 ISZ ERROR /YES 01106 2250 ISZ ERROR 01107 5650 JMP I ERROR 01110 1476 SFADR, SUFX 01111 0000 STCTA, 0 /SET CTRA TO 01112 7200 CLA /NUMBER SPECIFIED 01113 1711 TAD I STCTA /AT CALL+1 01114 3122 DCA CTRA 01115 2311 ISZ STCTA 01116 5711 JMP I STCTA /EXIT 01117 0000 STCTB, 0 /SET CTRB TO 01120 7200 CLA /NUMBER SPECIFIED 01121 1717 TAD I STCTB /AT CALL+1 01122 3123 DCA CTRB 01123 2317 ISZ STCTB 01124 5717 JMP I STCTB /EXIT 01125 0000 STALL, 0 /RANDOM STALL SUBROUTINE 01126 4476 READSR 01127 0155 AND [SR6MSK 01130 7640 SZA CLA /STALL? (SR6) 01131 5725 JMP I STALL /NO, EXIT 01132 4476 READSR 01133 0154 AND [SR7MSK 01134 7640 SZA CLA /LOCK ON STALL? (SR7) 01135 7410 SKP /YES 01136 4472 JMS I DLYCNT /NO, RANDOM STALL 01137 1021 TAD DELAYM 01140 7440 SZA 01141 4502 DELAY /STALL 01142 5725 JMP I STALL /EXIT 01143 0000 TCHK, 0 01144 4471 JMS I CHECK /CHECK THAT C(AC) AND C(TSB) ARE 01145 0000 TSB, 0 01146 5351 JMP .+3 /ERROR, NOT EQUAL 01147 2343 ISZ TCHK /EQUAL 01150 5743 JMP I TCHK /OK 01151 3131 DCA TCHKW /STORE BAD CHARACTER 01152 4452 JMS I UASCCN 01153 1145 TSB 01154 1604 SB 01155 4452 JMS I UASCCN 01156 0131 TCHKW 01157 1611 WAS 01160 4451 JMS I UERROR 01161 4040 NOSUF 01162 1601 SBWAS 01163 5743 JMP I TCHK /RETURN 01164 5743 JMP I TCHK /RETURN /HIGH SPEED READER/PUNCH TESTS PAL8-V10A 24-OCT-81 PAGE 1-24 1200 PAGE 01200 0000 TREAD, 0 01201 6014 RFC 01202 6011 RSF 01203 5202 JMP .-1 01204 7200 CLA 01205 6012 RRB 01206 5600 JMP I TREAD 01207 0000 TPCH, 0 01210 6026 PLS 01211 6021 PSF 01212 5211 JMP .-1 01213 5607 JMP I TPCH 01214 0000 PLDR, 0 01215 4475 SETLOC /-100 TO PLDRW 01216 1227 PLDRW 01217 7634 -144 01220 7200 CLA 01221 6026 PLS 01222 6021 PSF 01223 5222 JMP .-1 01224 2227 ISZ PLDRW /DONE? 01225 5220 JMP .-5 /NO 01226 5614 JMP I PLDR /YES, EXIT 01227 0000 PLDRW, 0 / 01230 0000 MARK, 0 01231 4214 JMS PLDR 01232 4500 SETB 01233 7767 -11 01234 4475 SETLOC /MARKER ADDRESS 01235 1246 MARKAD /TO MARKAD 01236 1521 MARKER 01237 7200 CLA 01240 1646 TAD I MARKAD /GET MARK 01241 4207 JMS TPCH /PUNCH IT 01242 2246 ISZ MARKAD /UPDATE 01243 2123 ISZ CTRB /DONE? 01244 5237 JMP .-5 /NO 01245 5630 JMP I MARK /YES, EXIT 01246 0000 MARKAD, 0 01247 1233 SEED1, 1233 01250 7622 7622 01251 0000 RANP1, 0 01252 0000 RANP2, 0 01253 0000 RANR1, 0 01254 0000 RANR2, 0 01255 0000 LPRGN, 0 01256 7300 CLL CLA 01257 1251 TAD RANP1 01260 7006 RTL 01261 1252 TAD RANP2 01262 3251 DCA RANP1 01263 1251 TAD RANP1 01264 7006 RTL /HIGH SPEED READER/PUNCH TESTS PAL8-V10A 24-OCT-81 PAGE 1-25 01265 1252 TAD RANP2 01266 7006 RTL 01267 3252 DCA RANP2 01270 1251 TAD RANP1 01271 0153 AND [PTMSK 01272 5655 JMP I LPRGN 01273 0000 LRRGN, 0 01274 7300 CLL CLA 01275 1253 TAD RANR1 01276 7006 RTL 01277 1254 TAD RANR2 01300 3253 DCA RANR1 01301 1253 TAD RANR1 01302 7006 RTL 01303 1254 TAD RANR2 01304 7006 RTL 01305 3254 DCA RANR2 01306 1253 TAD RANR1 01307 0153 AND [PTMSK 01310 5673 JMP I LRRGN 01311 0000 SYNK, 0 01312 4466 JMS I INPATT 01313 4455 JMS I UTREAD /READ CHARACTER 01314 3110 DCA CHR1 /STORE AT CHR1 01315 4455 JMS I UTREAD /READ CHARACTER 01316 3111 DCA CHR2 /STORE AT CHR2 01317 4455 JMS I UTREAD /READ CHAR 01320 3112 DCA CHR3 /STORE 01321 4465 JMS I SYNCA /GO SYNC 01322 5312 JMP SYNK+1 /NO SYNC, TRY AGAIN 01323 5711 JMP I SYNK /SYNCED, EXIT 01324 0000 SYNKA, 0 01325 4475 SETLOC /-512 TO CTSK 01326 1363 CTSK 01327 7000 -1000 01330 4475 SETLOC /SET CTSK1 01331 1364 CTSK1 /TO -10 01332 7766 -12 01333 4467 JMS I GETPT /GET BIN CHARACTER 01334 7040 CMA 01335 0110 AND CHR1 /SAME AS CHR1? 01336 7440 SZA 01337 5333 JMP .-4 /NO 01340 4467 JMS I GETPT /YES, GET ANOTHER BIN CHAR 01341 7040 CMA 01342 0111 AND CHR2 01343 7450 SNA /SAME AS CHR2? 01344 5351 JMP SYNKC /YES 01345 2363 ISZ CTSK /NO, 512 TIMES? 01346 5330 JMP SYNKA+4 /NO 01347 7602 SYNKB, HLT CLA /YES, SYNC ERROR 01350 5724 JMP I SYNKA /TRY AGAIN 01351 4467 SYNKC, JMS I GETPT /GET LINE CHARACTER 01352 7040 CMA 01353 0112 AND CHR3 /SAME AS CHR3? /HIGH SPEED READER/PUNCH TESTS PAL8-V10A 24-OCT-81 PAGE 1-26 01354 7440 SZA 01355 5360 JMP .+3 /NO 01356 2324 ISZ SYNKA /YES 01357 5724 JMP I SYNKA /EXIT 01360 2364 ISZ CTSK1 /DONE 10 TIMES? 01361 5330 JMP SYNKA+4 /NO 01362 5347 JMP SYNKB /YES, SYNC ERROR 01363 0000 CTSK, 0 01364 0000 CTSK1, 0 1400 PAGE 01400 0000 INITPT, 0 /INITIALIZE BINARY 01401 7201 CLA IAC /PATTERN ROUTINES 01402 3260 DCA PT0 01403 4474 JMS I UMOVE 01404 1460 PT0 01405 1461 PT1 01406 7775 -3 01407 3264 DCA RIND 01410 3265 DCA PIND 01411 5600 JMP I INITPT 01412 0000 GETPTT, 0 /BINARY COUNT PATTERN 01413 7200 CLA /ROUTINE SPECIAL 01414 1260 TAD PT0 01415 3261 DCA PT1 01416 1264 TAD RIND 01417 7040 CMA 01420 3264 DCA RIND 01421 1264 TAD RIND 01422 7650 SNA CLA 01423 5227 JMP .+4 01424 1261 TAD PT1 01425 7040 CMA 01426 5231 JMP .+3 01427 1261 TAD PT1 01430 7041 CIA 01431 0153 AND [PTMSK 01432 3260 DCA PT0 01433 1261 TAD PT1 01434 5612 JMP I GETPTT 01435 0000 GTPTRP, 0 /BINARY COUNT PATTERN 01436 7200 CLA /ROUTINE 01437 1262 TAD PT2 01440 3263 DCA PT3 01441 1265 TAD PIND 01442 7040 CMA 01443 3265 DCA PIND 01444 1265 TAD PIND 01445 7650 SNA CLA 01446 5252 JMP .+4 01447 1263 TAD PT3 01450 7040 CMA 01451 5254 JMP .+3 01452 1263 TAD PT3 01453 7041 CIA 01454 0153 AND [PTMSK /HIGH SPEED READER/PUNCH TESTS PAL8-V10A 24-OCT-81 PAGE 1-27 01455 3262 DCA PT2 01456 1263 TAD PT3 01457 5635 JMP I GTPTRP 01460 0000 PT0, 0 01461 0000 PT1, 0 01462 0000 PT2, 0 01463 0000 PT3, 0 01464 0000 RIND, 0 01465 0000 PIND, 0 01466 0015 ERNUMB, 0015 /CR 01467 0012 0012 /LF 01470 5220 5220 /*,P 01471 4040 PNUMB, 4040 01472 4040 4040 01473 4022 4022 /SP,R 01474 4040 ENUMB, 4040 01475 4040 4040 01476 4040 SUFX, 4040 01477 4040 4040 /SP,SP 01500 0001 0001 /END CODE 01501 0015 UNINT, 0015 /CR 01502 0012 0012 /LF 01503 0007 0007 /BELL 01504 4025 4025 /SP,U 01505 1605 1605 /N,E 01506 3020 3020 /X,P 01507 0503 0503 /E,C 01510 2405 2405 /T,E 01511 0440 0440 /D,SP 01512 1116 1116 /I,N 01513 2405 2405 /T,E 01514 2222 2222 /R,R 01515 2520 2520 /U,P 01516 2456 2456 /T,. 01517 0015 0015 /CR 01520 0001 0001 /END CODE 01521 0037 MARKER, 0037 01522 0040 0040 01523 0040 0040 01524 0037 0037 01525 0000 0000 01526 0077 0077 01527 0011 0011 01530 0011 0011 01531 0006 0006 01532 0015 RSPD, 0015 /CR 01533 0012 0012 /LF 01534 4022 4022 /SP,R 01535 0422 0422 /D,R 01536 4023 4023 /SP,S 01537 2005 2005 /P,E 01540 0504 0504 /E,D 01541 4000 4000 /SP 01542 0100 0100 /END CODE 01543 0015 PSPD, 0015 /CR /HIGH SPEED READER/PUNCH TESTS PAL8-V10A 24-OCT-81 PAGE 1-28 01544 0012 0012 /LF 01545 4020 4020 /SP,P 01546 0310 0310 /C,H 01547 4023 4023 /SP,S 01550 2005 2005 /P,E 01551 0504 0504 /E,D 01552 4000 4000 /SP 01553 0100 0100 /END CODE 01554 4003 CPS, 4003 /SP,C 01555 2023 2023 /P,S 01556 0015 0015 /CR 01557 0001 0001 /END CODE 01560 0015 WRTN, 0015 /CR 01561 0012 0012 /LF 01562 4000 4000 /SP 01563 0711 0711 /BELL,I 01564 1603 1603 /N,C 01565 1722 1722 /O,R 01566 2205 2205 /R,E 01567 0324 0324 /C,T 01570 4022 4022 /SP,R 01571 2416 2416 /T,N 01572 4023 4023 /SP,S 01573 0514 0514 /E,L 01574 0503 0503 /E,C 01575 2405 2405 /T,E 01576 0456 0456 /D,. 01577 0015 0015 /CR 01600 0001 0001 /END CODE 01601 4023 SBWAS, 4023 /SP,S 01602 5702 5702 /"/",B 01603 4040 4040 /SP,SP 01604 4040 SB, 4040 /SP,SP 01605 4040 4040 /SP,SP 01606 4040 4040 /SP,SP 01607 2701 2701 /W,A 01610 2340 2340 /S,SP 01611 4040 WAS, 4040 /SP,SP 01612 4040 4040 /SP,SP 01613 0015 0015 /CR 01614 0001 0001 /END CODE 01615 0015 TDOMSG, 0015 /CR 01616 0012 0012 /LF 01617 7005 7005 /8,E 01620 4040 4040 /SP,SP 01621 2331 2331 /SY 01622 2324 2324 /ST 01623 0515 0515 /EM 01624 5640 5640 /.,SP 01625 2305 2305 /SE 01626 2440 2440 /T,SP 01627 2411 2411 /TI 01630 1505 1505 /ME 01631 4004 4004 /SP,D 01632 0514 0514 /EL /HIGH SPEED READER/PUNCH TESTS PAL8-V10A 24-OCT-81 PAGE 1-29 01633 0131 0131 /AY 01634 4003 4003 /SP,C 01635 1716 1716 /ON 01636 2324 2324 /ST 01637 0116 0116 /AN 01640 2440 2440 /T,SP 01641 1116 1116 /IN 01642 4023 4023 /SP,S 01643 2256 2256 /R,. 01644 0015 0015 /CR 01645 0012 0012 /LF 01646 2205 2205 /RE 01647 0605 0605 /FE 01650 2240 2240 /R,SP 01651 2417 2417 /TO 01652 4020 4020 /SP,P 01653 0107 0107 /AG 01654 0523 0523 /ES 01655 4062 4062 /SP,2 01656 4001 4001 /SP,A 01657 1604 1604 /ND 01660 4063 4063 /SP,3 01661 4017 4017 /SP,O 01662 0640 0640 /F,SP 01663 2022 2022 /PR 01664 0740 0740 /G,SP 01665 1411 1411 /LI 01666 2324 2324 /ST 01667 1116 1116 /IN 01670 0756 0756 /G. 01671 0001 0001 /END 2000 PAGE /PRGRAM 0, BASIC READER AND READER LOGIC CONTROL TEST / 02000 4475 PRG0, SETLOC /SET KSTART TO 02001 0020 KSTART /INITIAL ROUTINE 02002 2010 P0T0 /ADDRESS 02003 4475 SETLOC /SET SR MSAK 02004 0105 SRMSK 02005 7717 7717 02006 5607 JMP I .+1 /SET STARTED 02007 0241 SRSET 02010 0000 P0T0, 0 02011 2036 P0T1 /CHECKS THAT FLAG=1 250MS AFTER RFC (IOT014), INDICATING THAT /READER IS ADVANCING 02012 4477 SETA /-200 TO CTRA 02013 7470 -310 02014 4501 SETDLM /-250 TO DELAY 02015 7406 -372 02016 6014 P0T0A, RFC /CLEAR FLAG, FETCH CHAR (IOT014) 02017 4502 DELAY /DELAY 75MS 02020 6011 RSF /SKIP IF FLAG=1 (IOT011) 02021 5225 JMP P0E0 02022 2122 ISZ CTRA /DONE? /HIGH SPEED READER/PUNCH TESTS PAL8-V10A 24-OCT-81 PAGE 1-30 02023 5216 JMP P0T0A /NO, REPEAT 02024 5425 JMP I CHAIN /YES, CHAIN 02025 4451 P0E0, JMS I UERROR /GO TO ERROR SUBROUTINE 02026 4040 NOSUF /NO PRINTOUT SUFFIX 02027 0000 NONE /NO PRINTOUT 02030 5222 JMP P0T0A+4 /CONTINUE TEST 02031 4501 P0T0S, SETDLM /SCOPE LOOP 02032 7764 -14 02033 6014 RFC /FETCH CHAR (IOT014) 02034 4502 DELAY /DELAY 12 MS 02035 5233 JMP .-2 02036 0001 P0T1, 1 02037 2064 P0T2 /WITH FLAG=1, SKIP ON FLAG 4095 TIMES TO CHECK FOR RELIABLE SKIPPING 02040 4477 SETA /-4095 TO CTRA 02041 0001 -7777 02042 6014 RFC /FETCH CHAR (IOT014) 02043 6011 RSF /SKIP ON FLAG (IOT011) 02044 5243 JMP .-1 /REPEAT 02045 6011 P0T1A, RSF /SKIP ON FLAG (IOT011) 02046 5252 JMP P0E1 /ERROR 02047 2122 ISZ CTRA /DONE 4095 TIMES? 02050 5245 JMP P0T1A /NO, REPEAT TEST 02051 5425 JMP I CHAIN /YES, CHAIN 02052 4451 P0E1, JMS I UERROR /GO TO ERROR SUBROUTINE 02053 4040 NOSUF /NO PRINTOUT SUFFIX 02054 0000 NONE /NO PRINTOUT 02055 5247 JMP P0T1A+2 /CONTINUE TEST 02056 6014 P0T1S, RFC /START SCOPE LOOP. FETCH CHAR (IOT014) 02057 6011 RSF /SKIP ON FLAG (IOT011) 02060 5257 JMP .-1 /REPEAT 02061 6011 RSF /SKIP ON FLAG (IOT011) 02062 5261 JMP .-1 /REPEAT 02063 5261 JMP .-2 /REPEAT 02064 0002 P0T2, 2 02065 2105 P0T3 /CHECKS THAT IOT011 DOES NOT SKIP WITH FLAG=0 02066 4477 SETA /-4095 TO CTRA 02067 0001 -7777 02070 6012 RRB /CLEAR FLAG 02071 6011 P0T2A, RSF /SKIP ON FLAG=1 (IOT011) 02072 5302 JMP P0T2OK /OK 02073 4451 P0E2, JMS I UERROR /ERROR, GO TO ERROR SUB 02074 4040 NOSUF /NO PRINTOUT SUFFIX 02075 0000 NONE /NO PRINTOUT 02076 5302 JMP P0T2OK /CONTINUE TEST 02077 6011 P0T2S, RSF /START SCOPE LOOP, SKIP ON FLAG 02100 5277 JMP .-1 /REPEAT 02101 5277 JMP .-2 /REPEAT 02102 2122 P0T2OK, ISZ CTRA /DONE 4095 TIMES? 02103 5271 JMP P0T2A /NO, REPEAT 02104 5425 JMP I CHAIN /YES, CHAIN / /ROUTINE TO CHECK FOR SKIP WITH INTERRUPT DISABLED 02105 0003 P0T3, 3 /HIGH SPEED READER/PUNCH TESTS PAL8-V10A 24-OCT-81 PAGE 1-31 02106 2200 P0T4 02107 1377 TAD (4000 02110 3022 DCA COUNT 02111 1376 TAD (7773 02112 3136 DCA CTR 02113 6002 IOF 02114 7200 CLA 02115 3135 DCA MILLI 02116 2135 ISZ MILLI 02117 5316 JMP .-1 02120 2136 ISZ CTR 02121 5316 JMP .-3 02122 1375 TAD (2260 /4.56 MS CONSTANT 02123 3134 DCA DELTIM 02124 6007 CAF 02125 6014 RCF /READ 02126 4351 JMS TIM 02127 6011 P0T3A, RSF /SKIP IF READER FLAG SET 02130 5337 JMP P0E3 /FLAG DID NOT SET 02131 6010 RPE /ENABLE INTERRUPT 02132 6003 SRQ /SHOULD SKIP HERE IF INT REQ 02133 5337 JMP P0E3 /REPORT ERROR 02134 2022 ISZ COUNT 02135 5311 JMP P0T3+4 02136 5425 JMP I CHAIN 02137 4451 P0E3, JMS I UERROR 02140 4040 NOSUF 02141 0000 NONE 02142 5311 JMP P0T3+4 02143 6002 P0T3S, IOF 02144 6011 RSF 02145 5344 JMP .-1 02146 6011 RSF 02147 5346 JMP .-1 02150 5346 JMP .-2 02151 0000 TIM, 0 02152 2134 ISZ DELTIM 02153 5352 JMP .-1 02154 5751 JMP I TIM 02175 2260 02176 7773 02177 4000 2200 PAGE / /ROUTINE TO CHECK THAT INTERRUPT ENABLE CAN BE CLEARED FOR READER 02200 0004 P0T4, 4 02201 2400 P0T5 02202 6002 IOF 02203 1234 TAD R7770 02204 3235 DCA RCNT2 /INIT # OF ITERATIONS 02205 6007 RLOOP, CAF 02206 6010 RPE /ENABLE INTERRUPT 02207 6020 PCE /DISABLE INTERRUPT 02210 6001 ION 02211 6014 RCF /READ /HIGH SPEED READER/PUNCH TESTS PAL8-V10A 24-OCT-81 PAGE 1-32 02212 6000 SKON 02213 5224 JMP P0E4 /INTERRUPT NOT ON 02214 6003 SRQ /SKIP IF INT REQ GENERATED 02215 7410 SKP /NO INT REQ 02216 5224 JMP P0E4 /INT REQ GENERATED 02217 2022 ISZ COUNT /RELIABILITY SETUP 02220 5205 P0T4A, JMP RLOOP /CONTINUE 02221 2235 ISZ RCNT2 02222 5205 JMP RLOOP 02223 5425 JMP I CHAIN 02224 4451 P0E4, JMS I UERROR 02225 4040 NOSUF 02226 0000 NONE 02227 5425 JMP I CHAIN 02230 6010 P0T4S, RPE 02231 4502 DELAY 02232 6020 PCE 02233 5230 JMP .-3 02234 7770 R7770, 7770 02235 7770 RCNT2, 7770 2400 PAGE 02400 0005 P0T5, 5 02401 2430 P0T6 /CHECKS IOT012 (RRB) FOR ABILITY TO CLEAR FLAG 02402 4477 SETA /-500 TO CTRA 02403 7014 -764 02404 6014 P0T5A, RFC /FETCH CHAR (IOT014) 02405 6011 RSF /WAIT FOR FLAG=1 02406 5205 JMP .-1 02407 6012 RRB /CLEAR FLAG (IOT012) 02410 6011 RSF /SKIP ON FLAG=1 02411 5225 JMP P0T5B /OK 02412 4451 P0E5, JMS I UERROR /ERROR, GO TO ERROR SUB 02413 4040 NOSUF 02414 0000 NONE 02415 5225 JMP P0T5B /CONTINUE TEST 02416 6014 P0T5S, RFC /START SCOPE LOOP, FETCH CHAR 02417 6011 RSF /WAIT FOR FLAG=1 02420 5217 JMP .-1 02421 6012 RRB /CLEAR FLAG (IOT012) 02422 6011 RSF /SKIP IF FLAG=1 02423 5216 JMP .-5 /NO, IOT012 CLEARED IT, READ AGAIN 02424 5221 JMP .-3 /IOT012 FAILED, REPEAT 02425 2122 P0T5B, ISZ CTRA /DONE? 02426 5204 JMP P0T5A /NO, REPEAT 02427 5425 JMP I CHAIN /YES, CHAIN 02430 0006 P0T6, 6 02431 2600 P0T7 /CHECKS THAT IOT014 CLEARS FLAG 02432 4477 SETA /-500 TO CTRA 02433 7014 -764 02434 6014 RFC /FETCH CLEAR (IOT014) 02435 6011 P0T6A, RSF /WAIT FOR FLAG=1 02436 5235 JMP .-1 /HIGH SPEED READER/PUNCH TESTS PAL8-V10A 24-OCT-81 PAGE 1-33 02437 6014 RFC /CLEAR FLAG WITH IOT014 02440 6011 RSF /SKIP ON FLAG=1 02441 5253 JMP P0T6B /OK, FLAG IS OFF 02442 4451 P0E6, JMS I UERROR /ERROR, FLAG=1, GO TO ERROR SUB 02443 4040 NOSUF 02444 0000 NONE 02445 5253 JMP P0T6B 02446 4502 P0T6S, DELAY /START SCOPE LOOP, DELAY 20 MS 02447 6014 RFC /FETCH CHAR (IOT014) 02450 6011 RSF /WAIT FOR FLAG=1 02451 5250 JMP .-1 02452 5247 JMP .-3 /GO CLEAR FLAG AND FETCH CHAR 02453 2122 P0T6B, ISZ CTRA /DONE? 02454 5235 JMP P0T6A /NO, REPEAT 02455 5425 JMP I CHAIN /YES, CHAIN 2600 PAGE 02600 0007 P0T7, 7 02601 2637 P0T10 /CHECKS ABILITY TO READ ALL 0'S CHARACTERS 02602 4477 SETA /-500 TO CTRA 02603 7014 -764 02604 6014 P0T7A, RFC /FETCH CHAR (IOT014) 02605 6011 RSF /WAIT FOR FLAG=1 02606 5205 JMP .-1 02607 7200 CLA 02610 6012 RRB /READ BUFFER 02611 3236 DCA P0T7WB /SAVE 02612 1236 TAD P0T7WB 02613 7640 SZA CLA /RESULT 0? 02614 5220 JMP P0E7 /ERROR, DID NOT READ 0'2 CHAR 02615 2122 P0T7B, ISZ CTRA /DONE? 02616 5204 JMP P0T7A /NO, REPEAT 02617 5425 JMP I CHAIN /YES, CHAIN 02620 4452 P0E7, JMS I UASCCN 02621 2635 P0T7WA 02622 1604 SB 02623 4452 JMS I UASCCN 02624 2636 P0T7WB 02625 1611 WAS 02626 4451 JMS I UERROR 02627 4040 NOSUF 02630 1601 SBWAS 02631 5215 JMP P0T7B 02632 7200 P0T7S, CLA 02633 6012 RRB 02634 5232 JMP .-2 02635 0000 P0T7WA, 0000 02636 0000 P0T7WB, 0000 02637 0010 P0T10, 10 02640 2717 P0T11 /CHECKS ABILITY OF READER FLAG TO CAUSE AN INTERRUPT 02641 4475 SETLOC /SET INTERRUPT TO RETURN TO 02642 0002 2 /P0E10A /HIGH SPEED READER/PUNCH TESTS PAL8-V10A 24-OCT-81 PAGE 1-34 02643 2654 P0E10A 02644 6032 P0T10A, KCC /CLEAR TTY READER FLAG 02645 6042 TCF /CLEAR TTY PRINTER FLAG 02646 6022 PCF /CLEAR PUNCH FLAG 02647 6012 RRB /CLEAR READER FLAG 02650 6001 ION /ENABLE INTERRUPT 02651 7000 NOP /NO OP 02652 6002 IOF /TURN OFF INTERRUPT 02653 5261 JMP P0T10B 02654 4451 P0E10A, JMS I UERROR /GO TO ERROR SUB 02655 0140 A /SUFFIX A 02656 0000 NONE /NO PRINTOUT 02657 5244 JMP P0T10A /REPEAT TEST 02660 5244 JMP P0T10A /REPEAT TEST 02661 4477 P0T10B, SETA /-4095 TO CTRA 02662 0001 -7777 02663 4475 SETLOC /SET INTERRUPT RETURN TO 02664 0002 2 /P0T10E 02665 2713 P0T10E 02666 6010 RPE /SET INTERRUPT ENABLE 02667 6014 RFC /FETCH CHAR (IOT014) 02670 6011 RSF /WAIT FOR FLAG=1 02671 5270 JMP .-1 02672 6001 P0T10C, ION /ENABLE INTERRUPT 02673 7000 NOP 02674 6002 IOF /TURN OFF INTERRUPT 02675 4451 JMS I UERROR /GO TO ERROR SUB 02676 0240 B /SUFFIX B 02677 0000 NONE 02700 5313 JMP P0T10E /CONTINUE TEST 02701 4475 P0T10S, SETLOC /SET INTERRUPT RETURN TO 02702 0002 2 /P0T10D 02703 2712 P0T10D 02704 6014 RFC /FETCH CLEAR 02705 6011 RSF /WAIT FOR FLAG=1 02706 5305 JMP .-1 02707 6001 ION /ENABLE INTERRUPT 02710 7000 NOP 02711 5307 JMP .-2 02712 5307 P0T10D, JMP .-3 02713 2122 P0T10E, ISZ CTRA /DONE? 02714 5272 JMP P0T10C /NO, REPEAT 02715 6020 PCE /CLEAR INTERRUPT ENABLE 02716 5425 JMP I CHAIN /YES, CHAIN /STOP DELAY TEST 02717 0011 P0T11, 11 02720 7777 7777 /LAST TEST 02721 4477 SETA /-200 TO CTRA 02722 7470 -310 02723 4373 P0T11A, JMS DLY250 /INITIAL DELAY 02724 4501 SETDLM /-19 TO DELAYM 02725 7755 -23 02726 6014 RFC /FETCH CHAR 02727 6011 RSF /WAIT FOR FLAG 02730 5327 JMP .-1 /HIGH SPEED READER/PUNCH TESTS PAL8-V10A 24-OCT-81 PAGE 1-35 02731 4502 DELAY /DELAY 19 MS TO CAUSE 02732 6014 RFC /"STOP DELAY" TO FIRE, FETCH CHAR 02733 4502 DELAY /DELAY 19 MORE MS 02734 6011 RSF /CHECK FLAG 02735 5343 JMP P0T11B /FLAG NOT UP, OK 02736 4451 JMS I UERROR /ERROR, FLAG SHOULD NOT BE UP 02737 0140 A /38 MS AFTER "STOP DELAY" 02740 0000 NONE /FIRES 02741 5323 JMP P0T11A /CONTINUE TEST 02742 5355 JMP P0T11S /GO TO SCOPE LOOP 02743 4366 P0T11B, JMS DLY212 /DELAY ADDITIONAL 212 MS 02744 6011 RSF /FLAG UP? 02745 5351 JMP .+4 /NO, ERROR 02746 2122 P0T11C, ISZ CTRA /DONE 500 TIMES? 02747 5323 JMP P0T11A /NO, REPEAT 02750 5425 JMP I CHAIN /YES, CHAIN 02751 4451 JMS I UERROR /ERROR, FLAG NOT UP 250 MS 02752 0240 B /AFTER "STOP DELAY" FIRED 02753 0000 NONE 02754 5346 JMP P0T11C 02755 4501 P0T11S, SETDLM /SET DELAYM FOR 15 MS 02756 7761 -17 02757 6014 RFC /FETCH CHAR 02760 5357 JMP .-1 /FLAG 1? 02761 4502 DELAY /YES DELAY 15 MS 02762 6014 RFC /FETCH CHAR 02763 6011 RSF /WAIT FOR FLAG 02764 5363 JMP .-1 02765 5361 JMP .-4 /REPEAT 02766 0000 DLY212, 0 02767 4501 SETDLM /-212 TO DELAYM 02770 7454 -324 02771 4502 DELAY 02772 5766 JMP I DLY212 02773 0000 DLY250, 0 02774 4501 SETDLM /DELAY 250 MS 02775 7406 -372 02776 4502 DELAY 02777 5773 JMP I DLY250 3000 PAGE /PROGRAM 1, BASIC PUNCH AND CONTROL LOGIC TEST / 03000 4475 PRG1, SETLOC /SET KSTART TO 03001 0020 KSTART /INITIAL ROUTINE 03002 3010 P1T0 /ADDRESS 03003 4475 SETLOC 03004 0105 SRMSK 03005 7717 7717 03006 5607 JMP I .+1 /GET STARTED 03007 0241 SRSET 03010 0000 P1T0, 0 03011 3032 P1T1 /CHECKS THAT PSF (IOT021) DOES NOT SKIP WITH FLAG=0 03012 4477 SETA /-4095 TO CTRA /HIGH SPEED READER/PUNCH TESTS PAL8-V10A 24-OCT-81 PAGE 1-36 03013 0001 -7777 03014 6022 P1T0A, PCF /CLEAR FLAG 03015 6021 PSF /SKIP IF FLAG=1 03016 5227 JMP P1T0B /NO SKIP, OK 03017 4451 P1E0, JMS I UERROR /SKIP ERROR, GO TO ERROR SUB 03020 4040 NOSUF /NO SUFFIX 03021 0000 NONE /NO PRINTOUT 03022 5227 JMP P1T0B /CONTINUE TEST 03023 6022 P1T0S, PCF /CLEAR FLAG 03024 6021 PSF /SKIP IF FLAG=1 03025 5224 JMP .-1 03026 5224 JMP .-2 03027 2122 P1T0B, ISZ CTRA /DONE? 03030 5214 JMP P1T0A /NO, REPEAT 03031 5425 JMP I CHAIN /YES, CHAIN 03032 0001 P1T1, 1 03033 3063 P1T2 /CHECKS THAT PSF (IOT021) SKIPS WITH FLAG=1 03034 4477 SETA /-4095 TO CTRA 03035 0001 -7777 03036 4501 SETDLM /-4095 TO DELAYM 03037 0001 -7777 03040 7300 CLA CLL 03041 6022 PCF /CLEAR PUNCH FLAG, LOAD BUFFER 03042 6024 PPC /LOAD BUFFER AND PUNCH 03043 4502 DELAY 03044 6021 P1T1A, PSF /SKIP IF FLAG=1, SHOULD BE 1 03045 5251 JMP P1E1 /NO SKIP, ERROR 03046 2122 P1T1B, ISZ CTRA /DONE? 03047 5244 JMP P1T1A /NO, REPEAT 03050 5425 JMP I CHAIN /YES, CHAIN 03051 4451 P1E1, JMS I UERROR /GO TO ERROR SUB 03052 4040 NOSUF 03053 0000 NONE 03054 5246 JMP P1T1B /CONTINUE TEST 03055 7200 P1T1S, CLA 03056 6022 PCF /CLEAR FLAG AND BUFFER 03057 6024 PPC /LOAD AND PUNCH 03060 6021 PSF /SKIP IF FLAG 03061 5260 JMP .-1 03062 5260 JMP .-2 03063 0002 P1T2, 2 03064 3115 P1T3 /CHECKS THAT PCF (IOT022) IS ABLE TO CLEAR FLAG 03065 4477 SETA /-500 TO CTRA 03066 7014 -764 03067 7200 P1T2A, CLA 03070 6026 PLS /CLEAR, LOAD AND PUNCH 03071 6021 PSF /WAIT FOR FLAG 03072 5271 JMP .-1 03073 6022 PCF /CLEAR FLAG (IOT022) 03074 6021 PSF /SKIP IF FLAG=1 03075 5312 JMP P1T2B /NO SKIP OK 03076 4451 P1E2, JMS I UERROR /SKIP ERROR, GO TO ERROR SUB 03077 4040 NOSUF /HIGH SPEED READER/PUNCH TESTS PAL8-V10A 24-OCT-81 PAGE 1-37 03100 0000 NONE 03101 5312 JMP P1T2B /CONTINUE TEST 03102 7200 P1T2S, CLA 03103 6026 PLS /CLEAR LOAD AND PUNCH 03104 6021 PSF /WAIT FOR FLAG 03105 5304 JMP .-1 03106 6022 PCF /CLEAR FLAG 03107 6021 PSF /SKIP IF FLAG 03110 5302 JMP .-6 /CLEARED 03111 5306 JMP .-3 /NOT CLEARED 03112 2122 P1T2B, ISZ CTRA /DONE? 03113 5267 JMP P1T2A /NO, REPEAT 03114 5425 JMP I CHAIN /YES, CHAIN /ROUTINE TO CHECK FOR SKIP WITH INTERRUPT DISABLED 03115 0003 P1T3, 3 03116 3200 P1T4 03117 1377 TAD (4000 03120 3022 DCA COUNT 03121 1376 TAD (7773 03122 3136 DCA CTR 03123 6002 IOF 03124 7200 CLA 03125 3135 DCA MILLI 03126 2135 ISZ MILLI 03127 5326 JMP .-1 03130 2136 ISZ CTR 03131 5326 JMP .-3 03132 1375 TAD (0001 03133 3134 DCA DELTIM 03134 6007 CAF 03135 6024 PPC /PUNCH 03136 4361 JMS TIM1 03137 6021 P1T3A, PSF /SKIP IF PUNCH FLAG 03140 5347 JMP P1E3 03141 6010 RPE /R/P INTERRUPT ON 03142 6003 SRQ /SHOULD SKIP HERE FOR INT REQ 03143 5347 JMP P1E3 /REPORT ERROR 03144 2022 ISZ COUNT 03145 5321 JMP P1T3+4 03146 5425 JMP I CHAIN 03147 4451 P1E3, JMS I UERROR 03150 4040 NOSUF 03151 0000 NONE 03152 5321 JMP P1T3+4 03153 6002 P1T3S, IOF 03154 6021 PSF 03155 5354 JMP .-1 03156 6011 RSF 03157 5356 JMP .-1 03160 5356 JMP .-2 03161 0000 TIM1, 0 /44 MS TIME OUT 03162 2134 ISZ DELTIM 03163 5362 JMP .-1 03164 1374 TAD (0500 03165 3134 DCA DELTIM /HIGH SPEED READER/PUNCH TESTS PAL8-V10A 24-OCT-81 PAGE 1-38 03166 2134 ISZ DELTIM 03167 5366 JMP .-1 03170 2134 ISZ DELTIM 03171 5370 JMP .-1 03172 5761 JMP I TIM1 03174 0500 03175 0001 03176 7773 03177 4000 3200 PAGE /ROUTINE TO CHECK THAT INTERRUPT ENABLE CAN BE CLEARED FOR PUNCH 03200 0004 P1T4, 4 03201 3234 P1T5 03202 6002 IOF 03203 1302 TAD P7770 03204 3301 DCA PCNT2 /INT COUNTER 03205 6007 PLOOP, CAF 03206 6010 RPE /ENABLE INTERRUPT 03207 6020 PCE /CLEAR INTERRUPT 03210 6001 ION 03211 6024 PPC /PUNCH 03212 6000 SKON 03213 5224 JMP P1E4 /ERROR , NO ION 03214 6003 SRQ /SKIP IF INT REQ GENERATED 03215 7410 SKP /NO INT REQ 03216 5224 JMP P1E4 /ERROR, INT REQ GENERATED 03217 2022 ISZ COUNT /RELIABILITY SETUP 03220 5205 P1T4A, JMP PLOOP 03221 2301 ISZ PCNT2 03222 5205 JMP PLOOP 03223 5425 JMP I CHAIN 03224 4451 P1E4, JMS I UERROR 03225 4040 NOSUF 03226 0000 NONE 03227 5425 JMP I CHAIN 03230 6010 P1T4S, RPE 03231 4502 DELAY 03232 6020 PCE 03233 5230 JMP .-3 03234 0005 P1T5, 5 03235 3251 P1T6 /USED TO CHECK ABILITY OF IOT022 TO CLEAR BUFFER. VISUAL CHECK 03236 4477 SETA /-500 TO CTRA 03237 7014 -764 03240 7240 P1T5A, CLA CMA /7777 TO AC 03241 6026 PLS /CLEAR, LOAD AND PUNCH 03242 7200 CLA 03243 6026 PLS /CLEAR BUFFER CONTENTS PRIOR TO PUNCHING 03244 6021 PSF 03245 5244 JMP .-1 03246 2122 ISZ CTRA /DONE? 03247 5240 JMP P1T5A /NO, REPEAT 03250 5425 JMP I CHAIN /YES, CHAIN 03251 0006 P1T6, 6 03252 3265 P1T7 /HIGH SPEED READER/PUNCH TESTS PAL8-V10A 24-OCT-81 PAGE 1-39 /CHECKS ABILITY OF IOT024 TO SET BUFFER TO 125 AND PUNCH IT 03253 4477 SETA /-500 TO CTRA 03254 7014 -764 03255 7200 P1T6A, CLA 03256 1152 TAD [125 03257 6026 PLS /CLEAR, LOAD AND PUNCH 03260 6021 PSF /WAIT FOR FLAG 03261 5260 JMP .-1 03262 2122 ISZ CTRA /DONE? 03263 5255 JMP P1T6A /NO, REPEAT 03264 5425 JMP I CHAIN /YES, CHAIN 03265 0007 P1T7, 7 03266 3400 P1T10 /CHECKS ABILITY OF IOT024 TO SET BUFFER TO 252 AND PUNCH IT 03267 4477 SETA /-500 TO CTRA 03270 7014 -764 03271 7200 P1T7A, CLA 03272 1151 TAD [252 03273 6026 PLS /CLEAR, LOAD AND PUNCH 03274 6021 PSF /WAIT FOR FLAG 03275 5274 JMP .-1 03276 2122 ISZ CTRA /DONE? 03277 5271 JMP P1T7A /NO, REPEAT 03300 5425 JMP I CHAIN /YES, CHAIN 03301 7770 PCNT2, 7770 03302 7770 P7770, 7770 3400 PAGE 03400 0010 P1T10, 10 03401 7777 7777 /END OF TESTS /CHECKS ABILITY OF PUNCH FLAG TO CAUSE AN INTERRUPT 03402 4475 SETLOC /SET INTERRUPT RETURN 03403 0002 2 /TO P1E10A 03404 3415 P1E10A 03405 6032 P1T10A, KCC /CLEAR TTY READER 03406 6042 TCF /CLEAR TTY PUNCH 03407 6012 RRB /CLEAR READER 03410 6022 PCF /CLEAR PUNCH 03411 6001 ION /ENABLE INTERRUPT 03412 7000 NOP 03413 6002 IOF /TURN OFF INTERRUPT 03414 5222 JMP P1T10B 03415 4451 P1E10A, JMS I UERROR 03416 0140 A 03417 0000 NONE 03420 5205 JMP P1T10A 03421 5205 JMP P1T10A 03422 4477 P1T10B, SETA /-4095 TO CTRA 03423 0001 -7777 03424 4475 SETLOC /SET INTERRUPT RETURN 03425 0002 2 /TO P1T10E 03426 3456 P1T10E 03427 7200 CLA 03430 6010 RPE /SET INTERRUPT ENABLE 03431 6026 PLS /CLEAR, LOAD AND PUNCH 03432 6021 PSF /WAIT FOR FLAG /HIGH SPEED READER/PUNCH TESTS PAL8-V10A 24-OCT-81 PAGE 1-40 03433 5232 JMP .-1 03434 6001 P1T10C, ION 03435 7000 NOP 03436 6002 IOF 03437 4451 P1E10B, JMS I UERROR 03440 0240 B 03441 0000 NONE 03442 5256 JMP P1T10E 03443 4475 P1T10S, SETLOC /SET INTERRUPT RETURN 03444 0002 2 /TO P1T10D 03445 3455 P1T10D 03446 7200 CLA 03447 6026 PLS /CLEAR, LOAD AND PUNCH 03450 6021 PSF /WAIT FOR FLAG 03451 5250 JMP .-1 03452 6001 ION /ENABLE INTERRUPT 03453 7000 NOP 03454 5252 JMP .-2 03455 5252 P1T10D, JMP .-3 03456 2122 P1T10E, ISZ CTRA /DONE? 03457 5234 JMP P1T10C /NO, REPEAT 03460 6020 PCE /CLEAR INTERRUPT ENABLE 03461 5425 JMP I CHAIN /YES, CHAIN /PROGRAM 2, READER TEST, SPECIAL BINARY COUNT PATTERN 03462 4475 PRG2, SETLOC /SET SR 03463 0105 SRMSK /MASK TO 03464 0460 0460 /0460 03465 4464 P2A, JMS I SYNC /SYNC READER 03466 4477 SETA 03467 7773 -5 03470 4463 P2B, JMS I CRCNT /GET RANDOM CHAR 03471 3123 DCA CTRB /COUNT IN CTRB 03472 4467 P2C, JMS I GETPT /GET BINARY CHAR 03473 3462 DCA I UTSB /STORE IT 03474 4455 JMS I UTREAD /GO READ CHAR 03475 4461 JMS I UTCHK /GO CHECK IT 03476 5303 JMP P2E /ERROR 03477 2123 P2D, ISZ CTRB /GROUP DONE? 03500 5272 JMP P2C /NO 03501 4563 JMS I [STALL /YES, STALL 03502 5270 JMP P2B /REPEAT 03503 2122 P2E, ISZ CTRA /5 ERRORS? 03504 5277 JMP P2D /NO, CONTINUE 03505 5265 JMP P2A /RESYNC / /PROGRAM 3, PUNCH TEST, SPECIAL BINARY COUNT PATTERN 03506 4460 PRG3, JMS I UMARK /MARK TAPE 03507 4457 JMS I UPLDR /PUNCH LEADER 03510 4466 JMS I INPATT /INITIALIZE BINARY PATTERN 03511 1150 TAD [60 03512 3105 DCA SRMSK 03513 4467 P3A, JMS I GETPT /GET BINARY CHAR 03514 4456 JMS I UTPCH /PUNCH IT 03515 4563 JMS I [STALL 03516 5313 JMP P3A /HIGH SPEED READER/PUNCH TESTS PAL8-V10A 24-OCT-81 PAGE 1-41 /PROGRAM 4, PUNCH VERIFY, SPECIAL BINARY COUNT PATTERN 03517 4466 PRG4, JMS I INPATT /INITIALIZE BINARY PATTERN 03520 4475 SETLOC /400 TO 03521 0105 SRMSK /TO SR MASK 03522 0400 0400 03523 4467 JMS I GETPT /GET BINARY CHAR 03524 3462 DCA I UTSB /STORE IT 03525 4455 JMS I UTREAD /READ CHARACTER 03526 7440 SZA /ZERO? 03527 5334 JMP P4B /NO 03530 5325 JMP .-3 /YES, REPEAT READ 03531 4467 P4A, JMS I GETPT /GET BINARY CHAR 03532 3462 DCA I UTSB /STORE IT 03533 4455 JMS I UTREAD /READ CHAR 03534 4461 P4B, JMS I UTCHK /GO CHECK IT 03535 7000 NOP 03536 5331 JMP P4A /REPEAT /PROGRAM 5, PUNCH TEST, RANDOM CHARACTER PATTERN 03537 4460 PRG5, JMS I UMARK /MARK TAPE 03540 4457 JMS I UPLDR /PUNCH LEADER 03541 4474 JMS I UMOVE /INITIALIZE RANDOM 03542 1247 SEED1 /CHARACTER ROUTINE 03543 1251 RANP1 03544 7774 -4 03545 1150 TAD [60 03546 3105 DCA SRMSK 03547 4453 P5A, JMS I ULPRGN /GET RANDOM CHAR 03550 4456 JMS I UTPCH /PUNCH IT 03551 4563 JMS I [STALL 03552 5347 JMP P5A /REPEAT /PROGRAM 6, PUNCH VERIFY, RANDOM CHARACTER PATTERN 03553 4474 PRG6, JMS I UMOVE /INITIALIZE RANDOM 03554 1247 SEED1 /CHARACTER ROUTINE 03555 1251 RANP1 03556 7774 -4 03557 4475 SETLOC /400 TO 03560 0105 SRMSK /SR MASK 03561 0400 0400 03562 4454 JMS I ULRRGN /GET RANDOM CHAR 03563 3462 DCA I UTSB /STORE IT 03564 4455 JMS I UTREAD /READ CHAR 03565 7440 SZA /ZERO? 03566 5373 JMP P6B /NO 03567 5364 JMP .-3 03570 4454 P6A, JMS I ULRRGN /GET RANDOM CHAR 03571 3462 DCA I UTSB /STORE IT 03572 4455 JMS I UTREAD /READ CHAR 03573 4461 P6B, JMS I UTCHK /GO CHECK IT 03574 7000 NOP /ERROR 03575 5370 JMP P6A 3600 PAGE /PROGRAM 7, COMBINES READER-PUNCH TEST, SPECIAL BINARY COUNT PATTERN 03600 4475 PRG7, SETLOC /SET SR MASK TO 0460 03601 0105 SRMSK 03602 0460 0460 /HIGH SPEED READER/PUNCH TESTS PAL8-V10A 24-OCT-81 PAGE 1-42 03603 4475 SETLOC 03604 0104 DLYMSK 03605 0077 77 03606 4466 JMS I INPATT /INITIALIZE BINARY PATTERN 03607 2133 ISZ ACTIND /SET ACTIVE INDICATOR 03610 4475 SETLOC /SET INTERRUPT 03611 0002 2 /SERVIE ADDRESS 03612 0703 INTSVC 03613 4475 SETLOC /SET PUNCH SERVICE ADDRESS 03614 0716 PVCTR 03615 3624 PBIN 03616 4475 SETLOC /SET READER SERVICE ADDRESS 03617 0711 RVCTR 03620 3671 WNZERO 03621 4246 JMS CPCH /PUNCH CHAR 03622 6001 ION /ENABLE INTERRUPT 03623 5223 JMP . /IDLE 03624 2132 PBIN, ISZ PCHCNT /INCREMENT PUNCH COUNT 03625 1132 TAD PCHCNT /COMPARE PUNCH COUNT 03626 1147 TAD [-144 /TO 100 03627 7710 SPA CLA /GREATER THAN 100? 03630 5233 JMP .+3 /NO, OK 03631 7402 HLT /YES, ERROR HALT 03632 5231 JMP .-1 03633 4246 JMS CPCH /PUNCH BIN CHAR 03634 1127 TAD RBUSY 03635 7640 SZA CLA /READER BUSY? 03636 5503 OUT /YES, EXIT 03637 1132 TAD PCHCNT /GET PUNCH COUNT 03640 1146 TAD [-12 /SUBTRACT SLACK COUNT 03641 7710 SPA CLA /POSITIVE? 03642 5503 OUT /NO, EXIT 03643 6014 RFC /YES, START READER 03644 2127 ISZ RBUSY /SET READER BUSY 03645 5503 OUT /EXIT 03646 0000 CPCH, 0 03647 4470 JMS I GETPTR /GET BIN CHAR 03650 6026 PLS /ENABLE PUNCH 03651 7200 CLA /CLEAR AC 03652 5646 JMP I CPCH /EXIT 03653 0000 CREAD, 0 03654 7200 CLA 03655 6012 RRB /READ CHAR 03656 3131 DCA TCHKW /STORE IT 03657 1132 TAD PCHCNT /GET PUNCH COUNT 03660 1145 TAD [-1 /MINUS 1 03661 3132 DCA PCHCNT /STORE IT 03662 1132 TAD PCHCNT 03663 7640 SZA CLA /0? 03664 5267 JMP .+3 /NO 03665 3127 DCA RBUSY /YES, CLEAR READER BUSY 03666 5653 JMP I CREAD /EXIT 03667 6014 RFC /FETCH NEXT CHAR 03670 5653 JMP I CREAD /EXIT 03671 4253 WNZERO, JMS CREAD /READ CHAR /HIGH SPEED READER/PUNCH TESTS PAL8-V10A 24-OCT-81 PAGE 1-43 03672 1131 TAD TCHKW 03673 7650 SNA CLA /IS IT 0? 03674 5503 OUT /YES 03675 4475 SETLOC /SET INTERRUPT SERVICE 03676 0711 RVCTR /TO RBIN 03677 3703 RBIN 03700 4477 SETA /-5 TO CTRA 03701 7773 -5 03702 7410 SKP 03703 4253 RBIN, JMS CREAD /READ CHAR 03704 4467 JMS I GETPT /GET BINARY CHAR 03705 3462 DCA I UTSB 03706 1131 TAD TCHKW /GET CHAR READ 03707 4461 JMS I UTCHK /GO CHECK IT 03710 7410 SKP /ERROR 03711 5503 OUT /NO 03712 2122 ISZ CTRA /5 ERRORS? 03713 5503 OUT /NO, TO MAINLINE 03714 4475 RBINA, SETLOC /YES, SET READER SERVICE 03715 0711 RVCTR /TO RESYNC TAPE 03716 3720 .+2 03717 5503 OUT 03720 4253 JMS CREAD /READ CHAR 03721 1131 TAD TCHKW 03722 3110 DCA CHR1 /STORE 03723 4475 SETLOC /SET READER SERVICE 03724 0711 RVCTR 03725 3727 .+2 03726 5503 OUT 03727 4253 JMS CREAD /READ CHAR 03730 1131 TAD TCHKW 03731 3111 DCA CHR2 03732 4475 SETLOC /SET READER SERVICE 03733 0711 RVCTR 03734 3736 .+2 03735 5503 OUT 03736 4253 JMS CREAD /READ CHAR 03737 1131 TAD TCHKW 03740 3112 DCA CHR3 03741 4465 JMS I SYNCA /GO SYNC 03742 5314 JMP RBINA /SYNC ERROR, TRY AGAIN 03743 4477 SETA /YES, -5 TO CTRA 03744 7773 -5 03745 4475 SETLOC /RESTORE READER SERVICE TO 03746 0711 RVCTR /TO RBIN 03747 3703 RBIN 03750 5503 OUT 4000 PAGE /PROGRAM 10, READ AMPLIFIER ADJUSTMENT LOOP 04000 4475 PRG10, SETLOC /SET INTERRUPT SERVICE 04001 0002 2 /TO INTSVC 04002 0703 INTSVC 04003 4475 SETLOC /SET PUNCH SERVICE ADDRESS 04004 0716 PVCTR /TO PCHCLR 04005 0741 PCHCLR /HIGH SPEED READER/PUNCH TESTS PAL8-V10A 24-OCT-81 PAGE 1-44 04006 4475 SETLOC /SET READER SERVICE ADDRESS 04007 0711 RVCTR /TO AMPRDA 04010 4070 AMPRDA 04011 4475 SETLOC 04012 1075 ERRORA 04013 7000 7000 04014 1144 TAD [NOP 04015 3572 DCA I [STALL+3 04016 3105 DCA SRMSK /0 TO SR MASK 04017 4253 RAMPA, JMS AMPRD /GO READ CHAR 04020 7440 SZA /ZERO? 04021 7410 SKP /NO 04022 4253 RAMPB, JMS AMPRD /GO READ CHAR 04023 7041 CIA 04024 1153 TAD [PTMSK 04025 7640 SZA CLA /ALL 1'S? 04026 5233 JMP RAMPC /NO, ERROR 04027 4253 JMS AMPRD /YES, GO READ 04030 7640 SZA CLA /ZERO? 04031 5242 JMP RAMPD /NO, ERROR 04032 5222 JMP RAMPB /YES, REPEAT 04033 4452 RAMPC, JMS I UASCCN /CONVERT EXPECTED CHAR 04034 4052 RAMPF /TO PRINTABLE ASCII 04035 1604 SB 04036 4452 JMS I UASCCN /CONVERT BAD CHAR TO 04037 4074 RAMPWA /TO PRINTABLE ASCII 04040 1611 WAS 04041 5246 JMP RAMPE 04042 4452 RAMPD, JMS I UASCCN /CONVERT EXPECTED CHAR 04043 4075 RAMPWB /TO PRINTABLE ASCII 04044 1604 SB 04045 5236 JMP RAMPD-4 04046 4451 RAMPE, JMS I UERROR /GO PRINT ERROR 04047 4040 NOSUF 04050 1601 SBWAS 04051 5217 JMP RAMPA /TRY AGAIN 04052 0377 RAMPF, 377 04053 0000 AMPRD, 0 04054 4501 SETDLM /-75 TO DELAYM 04055 7665 -113 04056 6014 RFC /FETCH CHAR 04057 6001 ION /ENABLE INTERRUPT 04060 4502 DELAY /DELAY 75 MS 04061 6002 IOF 04062 6011 RSF /FLAG 1? 04063 7410 SKP /NO, FLAG DROPPED 04064 5270 JMP AMPRDA /YES 04065 4447 JMS I XTYPST /RING BELL 3 TIMES 04066 4076 BELL3 04067 5217 JMP RAMPA /TRY AGAIN 04070 6012 AMPRDA, RRB 04071 3274 DCA RAMPWA 04072 1274 TAD RAMPWA 04073 5653 JMP I AMPRD 04074 0000 RAMPWA, 0 /HIGH SPEED READER/PUNCH TESTS PAL8-V10A 24-OCT-81 PAGE 1-45 04075 0000 RAMPWB, 0 04076 0007 BELL3, 0007 /BELL 04077 0007 0007 /BELL 04100 0007 0007 /BELL 04101 0001 0001 /END CODE / /PROGRAM 11, PUNCH ANY CHAR IN SR CONTIUOUSLY 04102 7604 PRG11, LAS /READ SR 04103 0153 AND [PTMSK 04104 6026 PLS /PUNCH CHAR 04105 6021 PSF /FLAG 1? 04106 5305 JMP .-1 04107 5301 JMP .-6 /YES, REPEAT / /PROGRAM 12, PUNCH 1'S AND 0'S LOOP 04110 4475 PRG12, SETLOC 04111 0105 SRMSK 04112 0075 0075 04113 7240 PRG12A, CLA CMA 04114 0153 AND [PTMSK 04115 4456 JMS I UTPCH /PUNCH ALL 1'S 04116 4563 JMS I [STALL 04117 7200 CLA 04120 4456 JMS I UTPCH /PUNCH ALL 0'S 04121 4563 JMS I [STALL 04122 5313 JMP PRG12A /REPEAT 4200 PAGE /PROGRAM 13, READER SPEED PRINT LOOP 04200 7200 PRG13, CLA 04201 3123 DCA CTRB /CLEAR CTRB 04202 7604 LAS /READ SR 04203 7104 CLL RAL 04204 7710 SPA CLA /LONG OR SHORT? 04205 1143 TAD [-416 /LONG 04206 1142 TAD [-36 /SHORT 04207 3232 DCA TKN /STORE AT TKN 04210 5220 JMP TSTRL 04211 6014 TSTRD, RFC /START READER 04212 6011 RSF /WAIT FOR 04213 5212 JMP .-1 /FLAG 04214 2122 ISZ CTRA /INCREMENT CTRA 04215 5222 JMP TSTRC 04216 2123 ISZ CTRB /INCREMENT CTRB 04217 7000 NOP 04220 1232 TSTRL, TAD TKN /LOAD CTRA 04221 3122 DCA CTRA 04222 7604 TSTRC, LAS /READ SR 04223 7700 SMA CLA /PRINT SPEED? 04224 5211 JMP TSTRD /NO, CONTINUE 04225 4447 JMS I XTYPST /YES 04226 1532 RSPD 04227 4257 JMS TSTRPC 04230 7402 HLT 04231 5200 JMP PRG13 04232 0000 TKN, OPEN /HIGH SPEED READER/PUNCH TESTS PAL8-V10A 24-OCT-81 PAGE 1-46 /PROGRAM 14, PUNCH SPEED PRINT LOOP 04233 7200 PRG14, CLA 04234 3123 DCA CTRB /CLEAR CTRB 04235 5245 JMP TSTPL 04236 6026 TSTPP, PLS 04237 6021 PSF 04240 5237 JMP .-1 04241 2122 ISZ CTRA /60? 04242 5247 JMP TSTPC /NO 04243 2123 ISZ CTRB /YES, INCREMENT CTRB 04244 7000 NOP 04245 1141 TSTPL, TAD [-74 04246 3122 DCA CTRA /LOAD -60 IN CTRA 04247 7604 TSTPC, LAS /READ SR 04250 7700 SMA CLA /PRINT SPEED (AFTER 60 SECONDS) 04251 5236 JMP TSTPP /NO, CONTINUE 04252 4447 JMS I XTYPST /YES 04253 1543 PSPD 04254 4257 JMS TSTRPC 04255 7402 HLT 04256 5233 JMP PRG14 04257 0000 TSTRPC, 0 04260 4265 JMS BDCNV /TYPE C(CTRB) IN DECIMAL 04261 0123 CTRB 04262 4447 JMS I XTYPST /TYPE "CPS" 04263 1554 CPS 04264 5657 JMP I TSTRPC /EXIT 04265 0000 BDCNV, 0 /BINARY TO DECIMAL CONVERT 04266 4475 SETLOC /AND PRINT SUBROUTINE 04267 4331 CNVCTR 04270 7774 -4 04271 1322 TAD ADDRZA /INITIALIZE ARROW 04272 3303 DCA ARROW 04273 1665 TAD I BDCNV /GET AND STORE BINARY 04274 2265 ISZ BDCNV /NUMBER, SORE IT AT VALUE 04275 3330 DCA DIGIT 04276 1730 TAD I DIGIT 04277 3327 DCA VALUE 04300 3330 DCA DIGIT /O TO DIGIT 04301 7100 CLL 04302 1327 TAD VALUE 04303 1323 ARROW, TAD TENPWR 04304 7420 SNL 04305 5311 JMP .+4 04306 2330 ISZ DIGIT 04307 3327 DCA VALUE 04310 5301 JMP ARROW-2 04311 7200 CLA 04312 1330 TAD DIGIT 04313 1140 TAD [260 04314 4473 JMS I UPUNCH 04315 7300 CLA CLL 04316 2303 ISZ ARROW 04317 2331 ISZ CNVCTR 04320 5300 JMP ARROW-3 /HIGH SPEED READER/PUNCH TESTS PAL8-V10A 24-OCT-81 PAGE 1-47 04321 5665 JMP I BDCNV 04322 1323 ADDRZA, TAD TENPWR 04323 6030 TENPWR, -1750 04324 7634 -144 04325 7766 -12 04326 7777 -1 04327 0000 VALUE, 0 04330 0000 DIGIT, 0 04331 0000 CNVCTR, 0 / /PROGRAM 15, READ X CHARACTERS, STALL Y MS, LOOP TO ADJUST TIMINGS 04332 7602 PRG15, HLT CLA /HALT TO SET SR 04333 7604 LAS /READ SR 04334 0174 AND [177 /MASK OFF EXCESS BITS 04335 7041 CIA 04336 3021 DCA DELAYM /STORE STALL COUNT 04337 7604 LAS /READ SR 04340 0137 AND [7600 /MASK OFF EXCESS BITS 04341 7106 CLL RTL 04342 7006 RTL 04343 7006 RTL 04344 7041 CIA 04345 3347 DCA .+2 04346 4477 P15A, SETA /-X TO CTRA 04347 0000 0 04350 6014 P15B, RFC /FETCH CHAR 04351 6011 RSF /FLAG 1? 04352 5351 JMP .-1 04353 2122 ISZ CTRA /READ X CHARS? 04354 5350 JMP P15B /NO 04355 4502 DELAY /YES, DELAY Y MS 04356 5333 JMP PRG15+1 /REPEAT /WOW! I MADE IT... $ 00137 7600 00140 0260 00141 7704 00142 7742 00143 7362 00144 7000 00145 7777 00146 7766 00147 7634 00150 0060 00151 0252 00152 0125 00153 0377 00154 0020 00155 0040 00156 0200 00157 0400 00160 6060 00161 0707 00162 7700 00163 1125 /HIGH SPEED READER/PUNCH TESTS PAL8-V10A 24-OCT-81 PAGE 1-48 00164 0240 00165 0100 00166 7740 00167 7510 00170 7500 00171 0077 00172 1130 00173 7640 00174 0177 00175 0031 00176 7763 00177 0017 /HIGH SPEED READER/PUNCH TESTS PAL8-V10A 24-OCT-81 PAGE 2 A 0140 GETPT 0067 PRG4 3517 P0T6A 2435 AC 0023 GETPTR 0070 PRG5 3537 P0T6B 2453 ACTIND 0133 GETPTT 1412 PRG6 3553 P0T6S 2446 ADDRZA 4322 GETRDY 0242 PRG7 3600 P0T7 2600 AMPRD 4053 GTPTRP 1435 PRINT 0671 P0T7A 2604 AMPRDA 4070 INCRTN 0266 PSPD 1543 P0T7B 2615 ARROW 4303 INIT 0217 PTMSK 0377 P0T7S 2632 ASCCN 1000 INITPT 1400 PT0 1460 P0T7WA 2635 ASCT 1041 INPATT 0066 PT1 1461 P0T7WB 2636 B 0240 INTSVC 0703 PT2 1462 P1E0 3017 BDCNV 4265 IOUT 0733 PT3 1463 P1E1 3051 BELL3 4076 KSTART 0020 PUNCH 0426 P1E10A 3415 CHAIN 0025 LINK 0024 PVCTR 0716 P1E10B 3437 CHAINN 0270 LPRGN 1255 P0E0 2025 P1E2 3076 CHCK 0521 LRRGN 1273 P0E1 2052 P1E3 3147 CHECK 0071 MARK 1230 P0E10A 2654 P1E4 3224 CHRCNT 0324 MARKAD 1246 P0E2 2073 P1T0 3010 CHR1 0110 MARKER 1521 P0E3 2137 P1T0A 3014 CHR2 0111 MCTR 0563 P0E4 2224 P1T0B 3027 CHR3 0112 MILCTR 0121 P0E5 2412 P1T0S 3023 CNV 1024 MILLI 0135 P0E6 2442 P1T1 3032 CNVCTR 4331 MIL1 0106 P0E7 2620 P1T1A 3044 COUNT 0022 MOVE 0536 P0T0 2010 P1T1B 3046 CPCH 3646 MOVEA 0551 P0T0A 2016 P1T1S 3055 CPIC 0107 MSCTR 0120 P0T0S 2031 P1T10 3400 CPS 1554 NONE 0000 P0T1 2036 P1T10A 3405 CRCNT 0063 NOSUF 4040 P0T1A 2045 P1T10B 3422 CRCTR 0615 NXTST 0117 P0T1S 2056 P1T10C 3434 CREAD 3653 OPEN 0000 P0T10 2637 P1T10D 3455 CRLF 0600 OUT 5503 P0T10A 2644 P1T10E 3456 CTR 0136 PBIN 3624 P0T10B 2661 P1T10S 3443 CTRA 0122 PCHCLR 0741 P0T10C 2672 P1T2 3063 CTRB 0123 PCHCNT 0132 P0T10D 2712 P1T2A 3067 CTRC 0124 PCNT2 3301 P0T10E 2713 P1T2B 3112 CTRD 0125 PFLAG 0126 P0T10S 2701 P1T2S 3102 CTSK 1363 PIND 1465 P0T11 2717 P1T3 3115 CTSK1 1364 PLDR 1214 P0T11A 2723 P1T3A 3137 CURTST 0115 PLDRW 1227 P0T11B 2743 P1T3S 3153 DELAY 4502 PLOOP 3205 P0T11C 2746 P1T4 3200 DELAYM 0021 PNUMB 1471 P0T11S 2755 P1T4A 3220 DELTIM 0134 PRGADR 0240 P0T2 2064 P1T4S 3230 DIGIT 4330 PRGEND 0305 P0T2A 2071 P1T5 3234 DLCNT 0513 PRGNUM 0030 P0T2OK 2102 P1T5A 3240 DLYCNT 0072 PRGTAB 0031 P0T2S 2077 P1T6 3251 DLYMS 0411 PRG0 2000 P0T3 2105 P1T6A 3255 DLYMSK 0104 PRG1 3000 P0T3A 2127 P1T7 3265 DLY212 2766 PRG10 4000 P0T3S 2143 P1T7A 3271 DLY250 2773 PRG11 4102 P0T4 2200 P15A 4346 ENUMB 1474 PRG12 4110 P0T4A 2220 P15B 4350 ERNUMB 1466 PRG12A 4113 P0T4S 2230 P2A 3465 ERROR 1050 PRG13 4200 P0T5 2400 P2B 3470 ERRORA 1075 PRG14 4233 P0T5A 2404 P2C 3472 FADDR 0561 PRG15 4332 P0T5B 2425 P2D 3477 FLAG 0702 PRG2 3462 P0T5S 2416 P2E 3503 FORWD 0307 PRG3 3506 P0T6 2430 P3A 3513 /HIGH SPEED READER/PUNCH TESTS PAL8-V10A 24-OCT-81 PAGE 2-1 P4A 3531 SR1MSK 2000 ULRRGN 0054 P4B 3534 SR2MSK 1000 UMARK 0060 P5A 3547 SR3MSK 0400 UMOVE 0074 P6A 3570 SR4MSK 0200 UNEXIT 0730 P6B 3573 SR5MSK 0100 UNINT 1501 P7770 3302 SR6MSK 0040 UPLDR 0057 RAMPA 4017 SR7MSK 0020 UPUNCH 0073 RAMPB 4022 STALL 1125 URDSR 0076 RAMPC 4033 STCTA 1111 USTCTA 0077 RAMPD 4042 STCTB 1117 USTCTB 0100 RAMPE 4046 STCTR 0400 USTCTR 0075 RAMPF 4052 STDLYM 1042 USTDLM 0101 RAMPWA 4074 STRT 0200 UTCHK 0061 RAMPWB 4075 SUFX 1476 UTPCH 0056 RANCON 0477 SWITCH 0673 UTREAD 0055 RANDEX 0476 SYNC 0064 UTSB 0062 RANDNO 0027 SYNCA 0065 VALUE 4327 RANGEN 0447 SYNK 1311 WAS 1611 RANP1 1251 SYNKA 1324 WASC 1037 RANP2 1252 SYNKB 1347 WCHK 0535 RANR1 1253 SYNKC 1351 WNZERO 3671 RANR2 1254 TADDR 0562 WRTN 1560 RANSAV 0512 TCHK 1143 XTYPST 0047 RANTAD 0464 TCHKW 0131 RANTBL 0500 TDOMSG 1615 RANTND 0511 TEMP 0113 RBIN 3703 TEMP1 0114 RBINA 3714 TEMQ 0700 RBUSY 0127 TEMR 0701 RCF 6014 TENPWR 4323 RCHKW 0130 TIM 2151 RCNT2 2235 TIM1 3161 RDRCLR 0743 TKN 4232 RDSR 0443 TPCH 1207 READSR 4476 TREAD 1200 RIND 1464 TSB 1145 RLOOP 2205 TSC1 0624 RSPD 1532 TSC2 0635 RTNNO 0116 TSTMSK 0017 RVCTR 0711 TSTPC 4247 R7770 2234 TSTPL 4245 SASC 1040 TSTPP 4236 SB 1604 TSTRC 4222 SBWAS 1601 TSTRD 4211 SEED1 1247 TSTRL 4220 SETA 4477 TSTRPC 4257 SETB 4500 TYPAT 0646 SETDLM 4501 TYPSP 0652 SETLOC 4475 TYPSTG 0616 SFADR 1110 UASCCN 0052 SHALT 0333 UCRLF 0050 SHLT 0026 UDLYMS 0102 SRMSK 0105 UERROR 0051 SRSET 0241 UIOUT 0103 SR0MSK 4000 ULPRGN 0053 ERRORS DETECTED: 0 LINKS GENERATED: 0