Digital PDFs
Documents
Guest
Register
Log In
AH-9007C-MC
January 1978
83 pages
Original
46MB
view
download
OCR Version
71MB
view
download
Document:
CZPAAC0 PA611 TYP-11 RDR-PNCH DEC 1978 bw
Order Number:
AH-9007C-MC
Revision:
000
Pages:
83
Original Filename:
CZPAAC0__PA611__TYP-11_RDR-PNCH__AH-9007C-MC__DEC_1978_gray.pdf
OCR Text
PA 61 1 : TYP-11 RDR/PNCH CZPAACO ? AH-9007C-MC DEC 1978 FICHE1 OF.1 MADE IN USA COPYRIGHT ©73-78 M IDENTIFICATION SEQ 0001 PRODUCT CODE: AC=9006C=MC PRODUCT NAME: CZPAACO DATE: JAN 15, 1972 MAINTAINER: DIAGNOSTIC GROUP TYP-11 READER-PUNCH TESTS THIS DIAGNOSTIC OBSOLETES MAINDEC = 11 - DZEA THE IMFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT CORPORATION . DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY FOR ANY ERRORS THAT MAY APPEAR IN THIS DOCUMENT. NO RESPONSIBILITY IS ASSUMED FOR THE USE OR RELIABILITY OF SOF TWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL OR ITS AFFILIATED COMPANIES. COPYRIGHT THE 1972,1978 FOLLOWING ARE DIGITAL DEC (C) BY DIGITAL EQUIPMENT CORPORATION TRADEMARKS OF PDP DECUS DIGITAL UNIBUS DECTAPE EQUIPMENT CORPORATION: MASSBUS PAGE SEQ 0002 1 ABSTRACT THE TYPESET-11 READER AND PUNCH TESTS CONSISTS OF A PACKAGE OF TEST PROGRAMS DESIGNED TO TEST THE PA611 READER LOGIC, READER, PUNCH LOGIC, PUNCH, AND THE READER AND PUNCH IN COMBINATION. ALL TESTS APF INCLUDED IN ONE OBJECT TAPE. THE ‘v ' ABLE TESTS ARE LISTED HERE IN NUMERICAL ORDER: PRGO -READER TEST PRG1 =PUNCH TEST PRG2 =PUNCH VERIFY ROUTINE PRG3 -COMBINED READER-PUNCH TEST PRG4 =PUNCH TAPE WITH 2 CHARACTERS SET IN SR ROUTINE. PRGS =READ AND CHECK TAPE PUNCHED WITH 2 CHARACTERS SET IN SR. PRG6 =READ X CHARACTERS, THEN STALL Y MSECS. PRG7 -SPECIAL BINARY COUNT PATTERN TAPE GENERATOR. PRG10-READER SPEED PRINT ROUTINE. PRG11-PUNCH SPEED PRINT ROUTINE. PRG12=PUNCH LOGIC INIT TEST PRG13-READER LOGIC LIGHT TEST PROGRAMS PRGO THROUGH PRG3 ARE THE READER AND PUNCH TESTS. PROGRAMS PRG4 THROUGH PRG11 ARE UTILITY ROUTINES THAT PRODUCE TEST TAPES AND AID IN MAKING ADJUSTMENTS. REQUIREMENTS 2.1 A. B. C. PDP-11 PROCESSOR. (4K CORE) ASR33/35 TELETYFt PA611 READER(S) AND PUNCH(S). THE PROCESSOR AND TELETYPE MUST BE THE TELETYPE MUST BE AT IN OPERATING CONDITION. ITS STANDARD PERIPHERAL ADDRESSES. SEE SECTION 7.3 FOR OPERATION WITH NON-STANDARD PERIPHERAL ADDRESSES. 2.2 THIS PROGRAM USES LOCATION 00200 THROUGH 015600. LOADING PROCEDURE THIS PROGRAM'S OBJECT TAPE THE ABS LOADER IS USED THE PROGRAM WILL IS PUNCHED TO LOAD SELF-START IN ORDER TO INITIALIZE OF READERS AND PUNCHES IN THE SYSTEM. 3.1 RESTART ADDRESS IN ABSOLUTE FORMAT. THE PROGRAM. FOR THE NUMBER FOLLOW TYPED INSTRUCTIONS. THE RESTART ADDRESS OF THIS PROGRAM IS LOCATION 1004. RESTART ADDRESS: 3.2 1004 START PROCEDURE IN GENERAL, ALL TESTS ARE INITIATED BY LOADING ADDRESS 200, DEPOSITING TEST # IN SWITCH REGISTER, AND HITTING CONTINUE. SEQ 0003 PAGE 2 USE PROCEDURE PRGO USE PROCEDURE & moro O>» 6.1 (DESCRIPTION IN SECTION 8.1) INSURE THAT TELETYPE IS ON-LINE LOAD READER WITH SPECIAL BINARY COUNT PATTERN TEST LOOP. IF NOT USING A LOOP, DATA MUST BE UNDER READ HEAD. LOAD ADDRESS 00200. SET SR TO 000000. PRESS START. THE PROGRAM IDENTIFIES ITSELF, TYPES SET UP AND SR OPTION INSTRUCTIONS. SELECT ANY DESIRED OPTIONS. SR15=1 HALT ON ERROR. SR14=1 ENTER SCOPE MODE. SR13=1 INHIBIT ERROR PRINT. SR11=1 INHIBIT ITERATION. SR10=1 HALT AT END OF CURRENT ROUTINE. SR9=1 SELECT A SPECIFIC ROUTINE FOR EXECUTION. SR7 THROUGH SRO=NUMBER OF ROUTINE TO BE SELECTED. SECTION 7.2 GIVES A COMPLETE EXPLANATION OF SR OPTIONS. F. PRESS CONTINUE. FOLLOW PROGRAM INSTRUCTTONS PRG1 USE PROCEDURE (DESCRIPTION IN SECTICN 8.2) G. REFER TO SECTION 6.2 IF ANY ERROR PRINTOUTS OCCUR. H. WHEN THE PROGRAM HAS COMPLETED ONE PASS IT WILL TYPE PQOCEND. ONE ERROR-FREE PASS WILL TAKE APPROXIMATELY 10 MINUTES. 4.2 A. INSURE C. D. LOAD ADDRESS 00200. SET SR TO 000001. PRESS START. B. E. THAT TELETYPE IS ON-LINE. INSURE THAT THE PUNCH HAS AN ADEQUATE SUPPLY OF TAPE. THE PROGRAM IDENTIFIES ITSELF AND TYPES INSTRUCTIONS TO SET ANY DESIRED SR OPTIONS. SELECT ANY DESIRED OPTIONS. SR15=1 HALT ON ERROR. SR14=1 ENTER SCOPE MODE. SR13=1 INHIBIT ERROR PRINT. SR11=1 INHIBIT ITERATION. SR10=1 HALT AT END OF CURRENT ROUTINE. SR9=1 SELECT A SPECIFIC ROUTINE FOR EXECUTION. SR7 THROUGH SRO=NUMBER OF ROUTINE TO BE SELECTED. A FULL EXPLANATION OF SR OPTIONS IS GIVEN IN SECTION 7.2. F. PRESS CONTINUE. FOLLOW PROGRAM INSTRUCTIONS. S, “;8'1‘ E%LETIW OF A PROGRAM PASS THE PROGRAM WILL TYPE H. REFER TO SECTION 6. IF ANY ERRORS OCCUR. ONE ERROR-FREE PASS WILL TAKE APPROXIMATELY 10 MINUTES. SEQ 0004 SEQ 0005 PAGE 3 4.3 PRG2 USE PROCEDURE (DESCRIPTION IN SECTION 8.3) INSURE THAT TELETYPE IS ON-LINE. LOAD TAPE THAT WAS PUNCHED BY PRG1-PUNCH TEST IN READER. LOAD TAPE SO THAT THE FIRST RUBOUT CHARACTER (ALL 1°'S) IS ON THE RIGHT EDGE OF THE METAL PLATE OVER THE READ STATION. MAKE READER READY. LOAD ADDRESS 00200. SET SR TO 000002. PRESS START. TFE!EADESOGRM IDENTIFIES ITSELF AND TYPES INSTRUCTIONS TO LOAD THE R - PRESS CONTINUE. THE PROGRAM WILL READ THE TAPE AND REPORT ANY ERRORS. DISREGARD ANY ERRORS THAT OCCUR WHEN THE READER REACHES THE END OF THE TAPE. THE SR OPTIONS AVAILABLE IN THIS PROGRAM ARE: SR15=1 SR13=1 H. HALT ON ERROR. INHIBIT ERROR PRINT. REFER TO SECTION 6. IF ERRORS OCCUR. PRG2 DOES NOT RESYNC THE READER AT ANY TIME. IT'S INTENT TO SHOW EACH AND EVERY ERROR CAUSED BY THE PUNCH. IS EXECUTION TIME DEPENDS ON LENGTH OF TAPE TO BE VERIFIED. 4.4 PRG3 USE PROCEDURE (DESCRIPTION IN SECTION 8.4) INSURE THAT TELETYPE IS ON-LINE. INSURE THAT THE PUNCH HAS AN ADECUATE SUPPLY OF TAPE. PATTERN TAPE THE BLANK USING THE 'PUNCH FEED'' KEY, PuNC 2 FCET BLANK LEADER. LOAD A 1'" THICK STACK OF PREPUNCHED SPECIAL BINARY COUNT IN READER, AND MAKE READER READY. LEADER PORTION OF THE TAPE MUST BE AT THE READ STATION. LOAD ADDRESS 000200. SET SR TO 000003. PRESS START. THE PROGRAM IDENTIFIES ITSELF AND TYPES INSTRUCTIONS TO PUNCH LEADER AND LOAD READER. PRESS CONTINUE. THE PROGRAM WILL PUNCH A NEW BINARY COUNT PATTERN WHILE READING THE PREPUNCHED TAPE IN THE READER. THE PROGRAM SHOULD RUN ERROR-FREE UNTIL THE READER TAPE IS EXHAUSTED, AT WHICH POINT A READER NOT READY MESSAGE WILL OCCUR. REPLACE THE READER TAPE WITH THE TAPE JUST PUNCHED AND RERUN THE TEST. RUN THE TEST 6 TIMES. THE SR OPTIONS AVAILABLE WITH THIS PROGRAM ARE: SR15=1 SR13=1 I. HALT ON ERROR. INHIBIT ERROR PRINT. REFER TO SECTION 6. EXECUTION TIME: IF ERRORS OCCUR. PRG3 IS CONTINUOUS RUNNING. PAGE 4 4.5 PRG4 USE PROCEDURE (DESCRIPTION IN SECTION 8.5) THIS PROGRAM CONTINUOUSLY PUNCHES TAPE WITH 2 CHARACTERS WHOSE CODES HAVE BEEN SET IN SR. A. INSURE THAT TELETYPE IS ON-LINE. INSURE TAHT THE PUNCH HAS AN ADEQUATE SUPPLY OF TAPE. LOAD ADDRESS 000200 SET SR TO 000004. PRESS START. THE PROGRAM IDENTIFIES ITSELF AND TYPES INSTRUCTIONS TO SET SR F. PRESS CONTINUE. THE PROGRAM WILL PUNCH THE DESIRED CHARACTERS CONTINUOUSLY UNTIL STOPPED BY USER. THE CHARACTERS TO BE PUNCHED MAY BE CHANGED WHILE THE B. C. D. 3 G. H. TO DESIRED CODES AND PUNCH READY. PROGRAM IS RUNNING. THIS PROGRAM HAS NO SR OPTIONS. EXECUTION TIME: 4.6 TO RUN: CONTINUOUS RUNNING PROGRAM. PRG5 USE PROCEDURE (DESCRIPTION IN SECTION 8.6) THIS PROGRAM READS AND CHECKS A TAPE PUNCHED WITH ANY 2 CHARACTERS WHOSE CODES HAVE BEEN SET A. B. C. D. E. F' G. TO RUN: INSURE THAT TELETYPE IS ON-LINE. LOAD TAPE TO BE READ IN READER. DATA MUST BE UNDER READ STATION. LOAD ADDRESS 000200. SET SR TO 000005. PRESS START. FOLLOW PROGRAM INSTRUCTIONS. THE PROGRAM WILL READ THE TAPE AND REPORT ANY ERRORS. THE SR OPTIONS AVAILABLE WITH THIS PROGRAM ARE: SR15=1 SR13=1 H. IN THE SR. HALT ON ERROR. INHIBIT ERROR PRINT. REFER TO SECTION 6. EXECUTION TIME: IF ERRORS OCCUR. CONTINUOUS RUNNING PROGRAM. SEQ 0006 SEQ 0007 PAGE 5 &.7 PRG6 USE PROCEDURE THIS PROGRAM IS INTENDED AS AN AID IN SCOPING AND ADJUSTING mo~s @O>» THE READER AND READER LOGIC. TO RUN: INSURE THAT TELETYPE IS ON-LINE. LOAD ANY TAPE LOOP IN THE READER. ONE'S AND ZEROES LOOP IS A GOOD CHOICE. LOAD ADDRESS 000200 SET SR TO 000006. PRESS START THE PROGRAM IDENTIFIES ITSELF AND TYPES INSTRUCTIONS TO SET THE SR TO NUMBER OF CHARACTERS TO REAC AND TO NUMBER OF MILLISECONDS TO STALL AFTER READING THE CHARACTERS. PLEASE NOTE: F. G. 1. THE LEFT 8 SWITCHES ARE FOR_THE NUMBER OF CHARACTERS TO BE READ. 2. THE RIGHT 8 SWITCHES ARE FOR SETTING THE NUMBER OF MILLISECONDS THE RANGE IS BETWEEN 1 AND 377(8). TO STALL AFTER READING THE NUMBER OF CHARACTERS SPECIFIED. PRESS CONTINUE. THE PROGRAM WILL CONTINUOUSLY READ AND STALL UNTIL STOPPED BY USER. THE SETTINGS OF THE SR MAY BE CHANGED AT ANY TIME. EXECUTION TIME: 4.8 CONTINUOUS RUNNING PROGRAM. PRG7 USE PROCEDURE THIS PROGRAM CONTINUOUSLY PUNCHES A TAPE WITH THE SPECIAL BINARY COUNT PATTERN. TO RUN: INSURE THAT TELETYPE IS ON-LINE MAKE SURE THAT THE PUNCH HAS AN ADEQUATE LOAD ADDRESS 000200. SET SR TO 000007. PRESS START THE PROGRAM IDENTIFIES ITSELF, AND TYPES TC MAKE THE PUNCH READY. PRESS CONTINUE. THE SPECIAL BINARY SUPPLY OF TAPE. INSTRUCTION COUNT PATTERN WILL BE PUNCHED UNTIL THE PROGRAM IS STOPPED BY USER. SEQ 0008 PAGE 6 4.9 PRG10 USE PROCEDURE THIS PROGRAM IS INTENDED AS AN AID IN DETERMINING THE SPEED OF THE READER. IT IS NOT INTENDED TO REPLACE REGULAR SCOPING PROCEDURES FOR SETTING THE READER TO ITS CORRECT SPEED. WITH THIS PROGRAM THE READER SPEED CAN BE MEASURED IN TWO WAYS: 1. 2. 30 SECOND MEASUREMENT PERIOD. PLUS OR MINUS 10 CHARACTER ACCURACY 300 SECOND (5 MINUTE) MEASUREMENT PERIOD. PLUS OR MINUS 1 CHARACTER ACCURACY IN EITHER CASE MEASUREMENT ACCURACY DEPENDS ON THE USER'S ATTENTION TO STARTING AND ENDING TIMES OF MEASUREMENT, AS THE TIME INTERVALS ARE DETERMINED BY THE USER USING A SWEEP SECOND HAND WATCH OR STOP WATCH. THE SPECIFIED ACCURACY ASSUMES THAT THE USER WILL TERMINATE THE MEASURING INTERVAL WITHIN ONE SECOND OF THE MEASUREMENT PERIOD. TO RUN: A. B. INSURE THAT TELETYPE IS ON-LINE MOUNT ANY TAPE LOOP IN READER. F. PRESS CONTINUE WHEN READY TO START MEASUREMENT. WILL START RUNNING. C. D. E. G. H. 4.10 LOAD ADDRESS 000200. SET SR TO 000010. PRESS START THE PROGRAM IDENTIFIES ITSELF AND TYPES INSTRUCTIONS TO LOAD READER AND MAKE READY, AND TO SELECT DESIRED MEASUREMENT PERIOD. THE READER AT END OF TIME PERIOD, SET SR15 TO A 1 AND BACK TO O AGAIN. THE PROGRAM WILL TYPE READER SPEED IN CHARACTERS PER SECOND AND HALT. TO REPEAT, SELECT THE DESIRED TIME PERIOD WITH SR14, MAKE SURE THAT SR15 IS SET TO O, AND PRESS CONTINUE WHEN READY. PRG11 USE PROCEDURE THIS PROGRAM IS INTENDED AS AN AID IN DETERMINING THE PUNCH SPEED. THE SPEED OF THE PUNCH CAN BE MEASURED WITHIN ONE CHARACTER ACCURACY PROVIDED THE USER PAYS CLOSE ATTENTION TO THE STARTING AND STOPPING TIME OF THE MEASUREMENT PERIOD. THE MEASUREMENT PERIOD IS CONTROLLED BY THE USER USING A SWEEP SECOND WATCH OR STOP WATCH. USED IS 60 SECONDS. TO RUN: A. INSURE THAT TELETYPE C. D. E. LOAD ADDRESS 000200. SET SR TO 000011. PRESS START FT’tH.tficzRggRA(A)’: IDENTIFIES ITSELF AND TYPES INSTRUCTIONS TO MAKE F. PRESS CONTINUE WHEN READY TO START. H. THE PROGRAM WILL TYPE PUNCH SPEED IN CHARACTER PER SECOND AND HALT. TO REPEAT, MAKE SURE THAT SR15 IS SET TO A O, AND PRESS CONTINUE. B. G. 4.1 THE PERIOD IS ON-LINE INSURE THAT PUNCH HAS AN ADEQUATE SUPPLY OF TAPE. THE PUNCH WILL START RUNNING. AT END OF TIME PERIOD (60 SECONDS), SET SR15 TO A 1 AND BACK TO 0. PRG12 USE PROCEDURE THIS PROGRAM IS INTENDED TO BE USED AS AN AID IN CHECKING J OUT THE ADDITIONAL LOGIC ADDED TO THE PUNCH CONTROLLER THAT 2&?:(51THE PROGRAMMER TO ISSUE 'PUNCH RESET'' UNDER SOF TWARE THIS CODE EXECUTES UNDER OPERATOR INTERVENTION. THE OPERATOR TRIES TO "HANG'' THE PUNCH BY PERFORMING THE FOLLOWING STEPS. 0. FIRST MAKE SURE THE PUNCH IS READY. THE PUNCH KNOB SHOULD BE SET TO THE '‘AVAILABLE'® POSITION. RUN THIS TEST THE PUNCH WILL START PUNCHING A BINARY BY LOADING ADDRESS BY LOADING ADDRESS 200, SETTING THE SWITCH REGISTER TO 12 AND HITTING THE START SWITCH. THE PUNCH WILL START PUNCHING A BINARY PATTERN. REMOVE THE PAPER ROLL FROM IT'S HOLDER AND PLACE IT ON THE RIGHT HAND SIDE OF THE PUNCH. (DO NOT TEAR THE PAPER TAPE AND MAKE SURE IT FEEDS CORRECTLY). THE TEST WILL CONTINUE TO PUNCH OUT AN ENDLESS STREAM OF CHARACTERS. THIS STREAM OF CHARACTERS CAN ONLY BE BY "HANGING'' THE PUNCH CONTROL LOGIC. INTERRUPTED TO HANG THE CONTROL LOGIC, TURN THE PUNCH 'OFF'' VIA THE "OFFLINE/ONLINE'' KNOB ON THE TOP OF THE PUNCH, WHILE CHARACTERS ARE BEING PUNCHED OUT. WAIT FOR THE PUNCH MOTOR TO STOP. THIS WILL CAUSE THE PUNCH TO SHUTOFF. AT THIS POINT THE PUNCH SHOULD BE HUNG. TO SEE IF THE PUNCH IS HUNG, TURN THE CONTROL KNOB BACK TO °"‘AVAILABLE''. IF TURNING THE KNOB BACK TO AVAILABLE CAUSES MORE CHARACTERS TO BE PUNCHED, THEN THE PUNCH IS NOT HUNG. IF CHARACTERS ARE BEING PUNCHED OUT, THEN THIS SHUT- OFF PROCESS MUST BE REPEATED UNTIL THE PUNCH HANGS. IF THE PUNCH DOES NOT HANG, START AGAIN AT STEP #2. AFTER THE PUNCH IS HUNG, TO "AVAILABLE''. TURN THE CONTROL KNOB BACK IF THE PUNCH DOES HANG, THEN THE PROGRAMMABLE INIT FUNCTION IS READY TO BE TESTED. HITTING ''CONTINUE'' ON THE PDP-11 CONTROL PANEL WILL CAUSE THE PROGRAMMABLE INIT TO BE INVOKED. THE PROGRAM WILL CONTINUE TO PUNCH CHARACTERS IF THE INIT IS WORKING CORRECTLY. IF THE PUNCH IS STILL HANGING THEN THE PROGRAMMABLE INIT DID NOT WORK. SWITCH REGISTER OPTIONS: SR14=1 TO SCOPE LOOP ON THE PROGRAMMABLE INIT FUNCTION SEQ 0009 4.12 SEQ 0010 PRG13 USE PROCEDURE THIS PROCEDURE IS USED TO DETERMINE IF THE READER LIGHT LOGIC IS WORKING CORRECTLY. IT CHECKS THE ABILITY OF THE READER LIGHT TO BE TURNED OFF UNDFR PROGRAM CONTROL. STEPS: RUN THIS TEST BY SELECTING IT VIA THE SWITCH REGISTER AND STARTING AT LOCATION 200. 1. PUT SWITCH 8 OF THE SWITCH REGISTER TO ZERO. PUT THE READER NUMBER IN THE SWITCH REGISTER WHEN THE PROGRAM ASKS FOR IT. 2. AFTER SELECTING A GIVEN READER VIA THE SWITCH REGISTER, TURN THE READER LIGHT 'ON'' BY PRESSING THE MOMENTARY CONTACT "ON/OFF'" SWITCH ON THE READER. IF THE READER LIGHT DOES NOT COME ON, THEN EITHER THE LIGHT OR THE SWITCH IS PROBABLY DEFECTIVE. ONCE THE READER LIGHT IS ON, THE OPERATOR SHOULD PUT SWITCH 8 TO A ONE TO TURN IT OFF. THE PROGRAM MON]TORS THE POSITION OF SWITCH 8. WHEN SWITCH 8 IS ONE, THE PROGRAMS ISSUES A SOFTWARE COMMAND TO TURN THE LIGHT OFF. IF THE LIGHT REMAINS ON AFTER SWITCH 8 HAS BEEN SET TO A ONE, THEN THE READER LOGIC IS DEFECTIVE. IF THE READER LIGHT GOES OFF WHEN SWITCH 8 IS IN THE ONE STATE, THEN THE TEST HAS WORKED CORRECTLY. TO SELECT A NEW READER, PUT SWITCH 12 TO A ONE AND HIT CONTINUE. TO RE-RUN THE TEST, GO DO STEP 1 AND STEP 2, CONTINUE . SWITCH REGISTER OPTIONS AVAILABLE SR12=1 SR 8=1 SR14=1 THEN HIT IN THIS TEST ARE: TO SELECT A NEW READER TO TEST. TO TURN LIGHT OFF ON READER SELECTED. TO DO A SCOPE LOOP ON THE PROGRAMMABLE READER LIGHT DISABLE FUNCTION. PAGE 7 PROGRAM AND/OR OPERATOR ACTION 5.1 NORMAL HALTS LOC 002502 LOC 002032 COMMON HALT. THIS HALT IS CONTAINED IN A SUBROUTINE THAT IS CALLED BY THOSE PARTS OF THE PROGRAM REQUIRING THAT THE PROCESSOR HALT. THIS HALT NORMALLY OCCURS UPON COMPLETION ON AN INSTRUCTION OR STATUS PRINTOUT. WHEN THE HALT OCCURS, THE CONSOLE DATA LIGHTS DISPLAY I;EELEMS)IT)RESS OF INSTRUCTION THAT GENERATED THE HALT ROUTINE END HALT. THIS HALT OCCURS UPON COMPLETION OF THE CURRENT TEST ROUTINE. WHEN THE HALT OCCURS, THE CONSOLE DATA LIGHTS DISPLAY THE NUMBER OF ROUTINE JUST COMPLETED. THE HALT OCCURS ONLY IF SR10 IS SET TO A 1, FOR THOSE PROGRAMS THAT MAKE USE OF THE OPT'ON (PRGO,PRG1) . 5.8 NORMAL PRINTOUTS NORMAL PRINTOUTS IN THIS PROGRAM SERVE TO IDENTIFY A STARTING PROGRAM, TO PROVIDE INSTRUCTIONS, TO INDICATE STATUS, OR TO SIGNAL AN OPERATOR ERROR. MOST PRINTOUTS ARE SELF-EXPLANATORY. THOSE PRINTOUTS REQUIRING ADDITIONAL EXPLANATION FOLLOW. "2INVALID PROGRAM'' THE USER HAS SELECTED FOR EXECUTION A NON-EXISTENT PROGRAM. SET IN SR3 THROUGH SRO THE CORRECT PROGRAM NUMBER AND PRESS CONTINUE. "*2INVALID TEST" THE USER HAS SELECTED FOR EXECUTION A NON-EXISTENT ROUTINE. SET CORRECT ROUTINE NUMBER IN SR7 THROUGH SRO AND PRESS CONTINUE. "PXX END."’ THE SPECIFIED PROGRAM HAS COMPLETED ONE PASS. SEQ 0011 SEQ 0012 PAGE 8 ERRORS ARE REPORTED IN THIS PROGRAM BY ONE OF THE FOLLOWING METHODS: A. B. 6.1 UNCONDITIONAL ERROR HALTS, OR ERROR PRINTOUT FOLLOWED BY AN OPTIONAL ERROR HALT. UNCONDITIONAL ERROR HALTS AN UNCONDITIONAL ERROR HALT WILL OCCUR AT THE ADDRESSES LISTED BELOW IF THROUGH HARDWARE OR SOF TWARE FAILURE, PRCGRAM CONTROL IS TRANSFERRED TO AN UNEXPECTED AREA BETWEEN 000000 AND 000776. 000002 000006 000012 000016 000022 000026 000040 - RESERVED AREA. - ERROR TRAP = RESERVED INSTRUCTION TRAP - DEBUG TRAP - 10T TRAP - POWER FAIL TRAP THROUGH 000776 - SYSTEM SOF TWARE AND INTERRUPT VECTOR AREA, EXCEPT FOR READERS, PUNCHES,AND TTY VECTORS. TO FIND OUT WHERE THE PROGRAM WAS AT THE PERFORM THE FOLLOWING STEPS: TIME THE FAILURE OCCURRED, A. B. C. EXAMINE CONTENTS OF REGISTER 6 (ADDRESS 177706) TRANSFER THE CONTENTS OF REGISTER 6 TO THE SR, LOAD ADDRESS AND EXAMINE. THE DATA SHOWN IN THE DATA LIGHTS IS THE VALUE OF THE PC WHEN D. E. LOCATE IN PROGRAM LISTING THE DISPLAYED PC VALUE. THE INSTRUCTION THAT IMMEDIATELY PRECEDES THE ONE REFERENCED BY THE DISPLAYED PC VALUE IS THE INSTRUCTION THAT WAS/WAS BEING EXECUTED WHEN THE FAILURE OCCURRED. THE FAILURE OCCURRED. SEQ 0013 PAGE 9 6.2 ERROR PRINTOUTS ERROR PRINTOUTS IN THIS PROGRAM CAN BE ONE OF TWO TYPES: A. B. 6.2.1 NORMAL ERROR PRINTOUTS EXTENDED ERROR PRINTOUTS NORMAL ERROR PRINTOUTS NORMAL ERROR PRINTOUTS ARE GENERATED BY THE 'ERR'‘ SUBROUTINE. THE ERR SUBROUTINE IS CALLED BY AN 'ERROR'' STATEMENT IN THE PROGRAM LISTING. THE NORMAL ERROR PRINTOUT TAKES THE FORM: "PXX TYYY PC 0ZZZZZ ICNT vwww.' : WHERE PXX IS THE NUMBER OF THE PROGRAM BEING RUN, TYYY IS THE NUMBER OF ROUTINE WHERE FAILURE OCCURRED. PC 0Z272Z 1S THE ADDRESS FROM WHICH THE ERROR CALLED WAS ISSUED. ICNT VWWWV. IS NUMBER OF TIMES TEST WAS DONE WHEN FAILURE OCCURRED. MEANINGFUL ONLY IN PRGO AND PRG1. AFTER THE PRINTOUT IS COMPLETED, THE PROGRAM WILL HALT AT COMMON ERROR HALT AT LOC 002516 IF SR15 IS SET. WHEN THIS TYPE OF ERROR PRINTOUT OCCURS: A. 6.2.2 IN THE PROGRAM LISTING, LOOK UP THE ADDRESS REFERENCED BY PC0Z2222. B. OPPOSITE THE PC VALUE AN ERROR STATEMENT WILL BE FOUND, AND ’I;N THE COMMENTS SECTION A DESCRIPTION OF THE FAILURE WILL BE C. AT THE BEGINNING OF THE TEST ROUTINE A DESCRIPTION OF THE TEST WILL BE FOUND. EXTENDED ERROR PRINTOUTS IN ADDITION TO THE INFORMATION TYPED BY THE NORMAL ERROR PRINTOUTS, THE EXTENDED ERROR PRINTOUTS TYPE INFORMATION THAT DESCRIBES THE OF FAILURE. MOST EXTENDED PRINTOUTS CONCERN THEMSELVES WITH DATA PROBLEMS. THE PRINTOUTS ARE GENERATED BY THE "ERRN'' SUBROUTINE WHICH IS CALLED BY AN "ERRORN'' STATEMENT IN THE PROGRAM LISTING. A TYPICAL PRINTOUT WOULD LOOK AS FOLLOWS: ‘P05 TO00 PC 011350 ICNT 00000. DATA ERROR S/B:0371 WAS:0071"' THE PROGRAM, TEST AND PC INFORMATION ARE THE SAME AS FOR NORMAL ERROR PRINTOUTS. THE PC VALUE ALTHOUGH HAVING THE SAME MEANING, 1S NOT AS MEANINGFUL, SINCE THE ERRN SUBROUTINE MAY BE BEING CALLED BY A COMMON DATA ERROR SUBROUTINE WHICH IS USED BY MORE THAN ONE PROGRAM. TYPE PAGE 10 (6.2.2 CONT'D) THE IMPORTANT INFORMATION IN AN EXTENDED ERROR PRINTOUT IS THE "EXTENDED'' INFORMATION TYPED. SOME OF THE EXTENDED PRINTOUTS ARE DESCRIBED BELOW: "DATA ERROR S/B XXXX WAS: YYYYy' DATA READ WITH READER DOES NOT AGREE WITH EXPECTED DATA. S/B XXXX (SHOULD BE) IS THE EXPECTED DATA. WAS YYYY IS THE RECEIVED DATA. DEPENDING ON THE PROGRAM, THE FAILURE COULD BE CAUSED BY THE READER OR THE PUNCH. EXAMINING THE TAPE WILL SHOW IF THE TAPE IS PUNCHED CORRECTLY. "REREAD ERROR. 1ST READ: XXXX WAS: YYYY' THIS ERROR PRINTOUT IS GENERATED BY PRGO TEST14. IT INDICATES THAT A REREAD OF THE READER BUFFER DID NOT AGREE WITH THE ORIGINAL DATA READ FROM THE BUFFER. "'SYNC ERROR'’ THIS PRINTOUT INDICATES THAT A PROGRAM WAS UNSUCCESSFUL IN SYNCING UP WITH THE SPECIAL BINARY COUNT PATTERN TAPE IN THE READER, OR IN THE CASE OF PRG2, THAT THE PROGRAM HAS NOT READ A SUFFICIENT NUMBER OF ZEROES BEFORE SYNCING UP WITH ;B'E"L‘EAD(E;:ICHARACTER (377). Y AGAIN. IF HALTED, PRESS CONTINUE "LEADER ERROR S/8: 377 WAS: XXxX'' OR "LEADER ERROR S/b SETWEEN 0 AnND 3. WAS: XXXX ONE OR BOTH OF THESE PRINTOUTS IS GENERATED BY PRG2 WHEN D! READING THE LEADER THAT PRECEDES THE SPECIAL BINARY COUNT P INCHED BY PRG3 THE DATA DOES NOT AGREE WITH THE EXPECTED DATA. CHE'K g?ggR}g%&PE IS PUNCHED CORRECTLY. REFER TO PRG1 /ND PRG2 "MATCH ERROR'’ THIS PRINTOUT IS GENERATED BY PRG5 WHEN UNSUCCESSFUL IN MATCHING UP THE DATA READ FROM THE READER WITH THE EXPECTED DATA AS SPECIFIED BY SR. CHECK THAT THE TAPE IS THE ONE TO BE READ AND RESTART THE PROGRAM. ‘FALSE READER INTERRUPT'' OR, "FALSE PUNCH INTERRUPT'' THE PROGRAM DID NOT FIND THE ERROR OR THE DONE BIT SET FOLLOWING AN INTERRUPT. POSSIELY NOISE COULD BE CAUSING THE PROBLEM. SEQ 0014 PAGE 11 MISCELLANEOUS TEST TAPES THE FOLLOWING TEST TAPES ARE RELEASED WITH THIS PROGRAM: A. B. MAINDEC-00-D2G4-PT SPECIAL BINARY COUNT PATTERN TEST TAPE. MAINDEC-00-D2G2-PT ONES AND ZEROES TEST TAPE. THE SPECIAL BINARY COUNT PATTERN TAPE IS PUNCHED WITH A PATTERN CONSISTING OF THE NUMBERS 000 THROUGH 377. EACH NUMBER é&l?fiDlAgELY FOLLOWED BY ITS ONES COMPLEMENT NUMBER. 001, 376, 002, 375, 003, 374, 004, 373, ETC. THE EASIEST WAY TO MAKE A SPECIAL BINARY COUNT PATTERN TEST LOOP IS TO OVERLAP THE TAPE AT THE POINT WHERE THE CHARACTERS 377.,000,000;377. APPEAR. THAT SEQUENCE OF CHARACTERS APPEARS EVERY 512 CHARACTERS. THEREFORE A MINIMUM SIZE TEST LOOP WOULD CONSIST OF 512 CHARACTERS. 7.2 SR OPTIONS THE STANDARD SR OPTIONS ARE DESCRIBED HERE. SR15 = HALT ON ERROR. SR14 - SCOPE. THIS OPTION CAUSES THE FROGRAM T JgMAIN IN THE CURRENT TEST ROUTINE. WHEN THE OPTION IS REMOVED THE PROGRAM PERFORMS THE TEST THE NUMBER OF TIMES SPECIFIED BY ITS ITERATION COUNT, BEFORE GOING ON TO THE NEXT ROUTINE. SR13 INHIBIT ERROR PRINT. ERROR PRINTOUTS. SR11 INHIBIT ITERATION. SOME PROGRAMS CONSIST OF INDIVIDUAL TEST ROUTINES. FOR EACH ROUTINE THE FUNCTION BEING THIS OPTION IF SET WILL REMOVE AL' TESTED CAN BE TESTED A VARIABLE NUMBER OF TIMES BEFORE THE ROUTINE IS COMPLETED. THE NUMBER OF TIMES THE TEST IS TO BE PERFORMED IS CALLED THE ITERATION COUNT AND IT MAY DIFFER FROM ROUTINE TO ROUTINE. SETTING SR11 WiilL CAUSE THE PROGRAM TO PERFORM ONLY ONE ITERATION FOR EACH ROUTINE DURING $%E&T:SESUITCH IS SET. TWO POSSJBLE USES OF THIS SEQ 0015 PAGE 12 (7.2 CONT'D) A. QUICK PASS. WHEN A PROGRAM RUNS FOR SEVERAL MINUTES FOR ONE PROGRAM PASS, THE USER MAY ELECT TO RUN THROUGH THE PROGRAM QUICKLY TO FIND OUT IF ANY FAILURES SHOW UP IMMEDIATELY. A SUCCESSFUL QUICK PASS HOWEVER, DOES NOT GUARANTEE THAT THE SAME PROGRAM WILL RUN ERRORFREE WHEN PERFORMING A NORMAL ITERATION PASS. B. SKIP OVER FAILING ROUTINE. WHEN A ROUTINE WITH A MULTIPLE ITERATION COUNT HAS DETECTED A SOLID FAILURE, THE ERROR WILL BE REPORTED MANY TIMES. TO GO ON TO THE NEXT ROUTINE IF DESIRED, THE USER CAN INHIBIT ITERATION. IT WILL BE NECESSARY TO SET SR11 ROUTINE AND HALT, TO CAUSE THE PROGRAM TO STOP AT END OF FAILING ROUTINE. OTHERWISE THE PROGRAM WILL QUICKLY RUN THROUGH THE NEXT ROUTINE ALSO. SR10 = HALT AT END OF CURRENT ROUTINE. PRGO AND PRG1 CONSIST OF INDIVIDUALLY NUMBERED TEST ROUTINES. SETTING SR10 WIi.L CAUSE PROGRAM TO MALT UPON COMPLETION OF CURRENT ROUTINE. SR9 - SELECT ROUTINE. FOR PROGRAMS THAT CONSIST OF INDIVIDUAL TEST ROUTINES, THE USER MAY ELECT TO RUN ONLY A SPECIFIED ROUTINE. TO SELECT A ROUTINE SR9 MUST BE SET, AND SR7 THROUGH SRO MUST BE SET TO THE NUMBER OF THE DESIRED ROUTINE. THE SELECTED NUMBER MUST BE A VALID ROUTINE NUMBER FOR THE PROGRAM BEING RUN, OR A USER ERROR PRINTOUT WILL OCCUR. THE PROGRAM WILL RUN THE SELECTED ROUTINE UNTIL THE SELECT ROUTINE OPTION IS CLEARED, OR UNTIL THE SELECTED ROUTINE NUMBER IS CHANGED. IF THE OPTION IS CLEARED, THE PROGRAM WILL PROCEED TO EXECUTE THE REMAINING ROUTINES IN THE PROGRAM. IF THE ROUTINE NUMBER IS CHANGED, THE PROGRAM WILL EXECUTE THE NEWLY SELECTED ROUTINE. SEQ 0016 PAGE 13 7.3 TESTING AT NON-STANDARD ADDRESSES AND/OR VECTORS THIS PROGRAM CAN TEST PA611'S ASSIGNED TO NON-STANDARD ADDRESSES. ALL READERS MUST BE ASSIGNED CONSECUTIVE ADDRESSES, AND ALL PUNCHES MUST BE ASSIGNED CONSECUTIVE ADDRESSES. A. IMMEDIATELY AFTER LOADING THE PROGRAM CHANGE THE FOLLOWING LOCATIONS. REFER TO PROGRAM LISTING. LOCATION 001220 001222 B. FROM STANDARD 172600 172700 TO NON=-STANDARD 1ST READER CSR ADDRESS 1ST PUNCH CSR ADDRESS IF THE TELETYPE IS ALSO AT NON STANDARD ADDRESSES, PERFORM THE FOLLOWING CHANGES: LOCATION 001224 001226 001230 001232 001234 001236 001240 001242 FROM STANDARD 177560 177562 177564 177566 000060 000200 000064 000200 TO NON-STANDARD TTY READER CSR ADDRESS TTY READER BUFFER ADDRESS TTY PRINTER CSR ADDRESS TTY PRINTER BUFFER ADDRESS TTY READER INTERRUPT VECTOR ADDRESS TTY READER PRIORITY LEVEL TTY PRINTER INTERRUPT VECTOR ADDRESS TTY PRINTER PRIORITY LEVEL C. PROCEED TO USE THE PROGRAM, OR D. USING STANDARD DUMP ROUTINES, DUMP OUT THE ENTIRE PROGRAM IN ABSOLUTE FORMAT TO HAVE AN UPDATED OBJECT TAPE THAT REFLECTS YOUR SYSTEM, OR E. DUMP OUT ONLY LOCATIONS 001224 THROUGH 001242 IN ABSOLUTE FORMAT, AND SPLICE THE TAPE TO THE END OF JECT TAPE. OF THE STANDARD 0B- THIS PROCEDURE WOULD REQUIRE THAT THE SHORT LENGTH TAPE BE LOADED IMMEDIATELY AFTER THE MAIN PROGRAM I LOADED, IN ORDER TO OVERLAY LOCATION’S’A(O;(EN%‘EA THROUGH 001242 DESCRIPTION 8.1 PRGO PROGRAM DESCRIPTION PRGO IS THE PA611 READER TEST. IT CONSISTS OF 22 ROUTINES NUMBERED FROM 00 TO 24(8). THE PROGRAM USES A SPECIAL BINARY COUNT PATTERN TEST TAPE LOOP IN ALL ROUTINES. ROUTINES 00 THROUGH 17 ARE BASIC LOGIC TESTS. ROUTINES 20 THROUGH 24 ARE READER EXERCISER TESTS. IN ROUTINES 20 THROUGH 24 THE READER WILL RESYNC ITSELF AFTER 3 DATA ERRORS HAVE OCCURRED. 8.2 PRG1 PROGRAM DESCRIPTION SEQ 0017 rF 2 PRG1 IS THE PA611 PUNCH TEST. IT CONSISTS OF 16 ROUTINES NUMBERED FROM 00 TO 17(8). ROUTINES 00 THROUGH 13 ARE BASIC LOGIC TESTS. ROUTINES 14 THROUGH 17 EXERCISE THE PUNCH USING THE FOLLOWING FORMAT: A. 20 BLANK CHARACTERS C. MODE NUMBER (BETWEEN O AND 3) E. 512 CHARACTERS OF SPECIAL BINARY COUNT PATTERN. B. D. SYNC CHARACTER RUBOUT. & BLANK CHARACTERS RTN14 = PUNCHES 5 DATA BLOCKS AT FULL SPEED. RTN15 = PUNCHES 5 DATA BLOCKS. THE SPECIAL BINARY COUNT PATTERN DATA RTN16 = PUNCHES 5 DATA BLOCKS. THE SPECIAL BINARY COUNT PATTERN IS PUNCHED WITH RANDOM STALLS OF UP TO 47 MSECS. AFTER EACH CHARACTER. DATA IS PUNCHED WITH RANDOM STALLS OF UP TO 47 MILLISECONDS BETWEEN GROUPS OF CHARACTERS OF UP TO 15 CHARACTERS. RTN17 = PUNCHES 1 DATA BLOCK. THE SPECIAL BINARY COUNT PATTERN DATA DATA IS PUNCHED WITH A 5 SECOND STALL PRECEDING EACH 32 CHARACTER GROUP PUNCHED. 8.3 PRGZ PROGRAM DESCRIPTION PRG2 VERIFIES THE PAPER TAPE PRODUCED BY PRG1. PROGRAM CONSISTS OF A SINGLE ROUTINE FOLLOWING STEPS: A. B. C. D. E. F. LOOK LOOK LOOK READ READ THE THAT PERFORMS THE FOR 10 CONSECUTIVE O CHARACTERS FOR SYNC CHARACTER (RUBOUT) FOR MODE #. BETWEEN O AND 3. 4 BLANK CHARACTERS 512 BINARY CHARACTERS. GO TO STEP A. THE ROUTINE WILL REPORT EVERY ERROR. IT WILL NOT RESYNC ON THE SPECIAL BINARY COUNT PATTERN, SINCE THAT EVERY ERROR CAUSED BY IT IS THE PUNCH BE REPORTED. INTENDED SEQ 0018 PAGE 15 8.4 PRG3 COMBINED READER=PUNCH TEST THIS CONTINUOUS RUNNING PROGRAM EXERCISES THE PUNCH AND READER CONCURRENTLY. THE SPECIAL BINARY COUNT PATTERN IS USED IN THIS PROGRAM, A. B. C. D. E. F. 8.5 THE PUNCH PUNCHES DATA AT FULL SPEED. WHEN THE CHARACTER COUNT REACHES 20, THE PUNCH ROUTINE ENABLES THE READER. WHEN THE CHARACTER COUNT REACHES 40, THE PUNCH ROUTINE WILL STOP PUNCHING. PUNCHING WILL NOT RESUME UNTIL THE CHARACTER COUNT IS DECREMENTED TO 31 BY THE READ ROUTINE. gGLIIHngE{SRAUER COUNT IS OVER 31, THE READER READS AT IF THE CHARACTER COUNT IS 31 OR LESS THE READER WILL READ WITH RANDOM STALLS BETWEEN CHARACTERS. IF THE CHARACTER COUNT BECOMES O, THE READER STOPS READING UNTIL THE COUNT CLIMBS TO 20. THE READ ROUTINE WILL RESYNC AUTOMATICALLY AFTER 3 ERRORS. PRG4 PROGRAM DESCRIPTION PRG4 WILL PUNCH CONTINUOUSLY THE 2 CHARACTERS WHOSE CODES ARE SET IN THE SR. THE ROUTINE IS USED FOR GENERATING ALL 0'S TAPE, ALL 8.6 1'S TAPE, ONES AND ZEROES TAPE, ETC. PRG5 PROGRAM DESCRIPTION PRG5 READS AND CHECKS A TAPE PUNCHED WITH THE CHARACTERS WHOSE CODES ARE SET IN THE SR. THIS ROUTINE IS USEFUL IN SETTING UP THE READ PHOTOCELLS AND READ AMPLIFIER. 8.7 PRG6 PROGRAM DESCRIPTION PRG6 WILL ENABLE THE READER FOR THE NUMBER OF SPECIFIED IN THE LEFT HALF OF CHARACTERS THE SR, AND THEN IT WILL STALL FOR THE NUMBER OF MILLISECONDS SPECIFIED IN THE RIGHT HALF OF THE SR. THIS ROUTINE IS USEFUL IN SETTING UP THE READER CLOCK, ACCELERATOR, STROBE, AND FOR CHECKING THE STOP DELAY. SEQ 0019 SEQ 0020 PAGE 16 8.8 PRG7 PROGRAM DESCRIPTION PRG7 PUNCHES THF SPECIAL BINARY COUNT PATTERN CONTINUOUSLY. 8.9 PRG10 PROGRAM DESCRIPTION PRG10 IS A ROUTINE USED TO CHECK THE SPEED OF READER SPEED CAN BE MEASURED IN TWO WAYS: A. B. THE READER. COARSE. 30 SECOND TIMING. PLUS OR MINUS 10 CHARACTER ACCURACY. FINE. 300 SECOND TIMING. PLUS OR MINUS 1 CHARACTER ACCURACY. SR14 INDICATES TO THE ROUTINE THE TIMING PERIOD THE USER IS GOING TO USE. SR14=0 INDICATES 30 SECOND TIMING. THE USER CONTROLS THE DURATION OF THE TIMING PERIOD BY USING A SWEEP SECOND HAND WATCH OR STOP-WATCH. AT THE END OF THE TIMING PERIOD, SR15 IS SET TO A 1 TO OBTAIN A SPEED PRINTOUT. 8.10 PRG11 PROGRAM DESCRIPTION PRG11 IS USED TO CHECK THE SPEED OF THE PUNCH. THE ROUTINE USES A 60 SECOND TIMING PERIOD THAT IS CONTROLLED BY THE USER. AT THE END OF THE TIMING PERIOD SR15 IS SET TO A 1 TO OBTAIN A SPEED PRINTOUT. 8.1 PRG12 PROGRAM DESCRIPTION PROGRAM 12 IS USED TO TEST THE PROGRAMMABLE INIT FEATURE ADDED TO THE PUNCH CONTROL LOGIC. THE PROGRAM PUNCHES AN ENDLESS BINARY PATTERN, WAITING FOR THE OPERATOR TO HANG THE PUNCH UP. THIS CAN USUALLY BE ACCOMPLISHED BY TURNING THE CONTROL SWITCH OFF AND JIGGLING THE TAPE LOW SENSOR SWITCH WHILE THE PUNCH IS PUNCHING. IF THE PUNCH CYCLE HAS NOT BEEN COMPLETED, READY WILL REMAIN LOW AND THE PUNCH WILL HANG. THE PROGRAM SENSES THIS CONDITION IN A WATCHDOG TIMER LOOP. WHEN THE PROGRAM SEES THAT THE PUNCH IS HUNG, THEN IT TIMES OUT AND HALTS. WHEN THE OPERATCR HITS THE CONTINUE SWITCH, AN INIT PULSE GENERATED BY THE PROGRAM TO RE-INIT THE PUNCH. [THIS INIT PULSE DOES NOT EFFECT OTHER DEVICES ON THE BUS.J] UPON HITTING THE CONTINUE SWITCH, THE PROCESS REPEATS 8.12 ITSELF. PRG13 PROGRAM DESCRIPTION THIS PROGRAM IS USED TO CHECK THE ABILITY OF LIGHT TO BE TURNED OFF UNDER PROGRAM CONTROL. THE READER IS ASSUMING THAT THE READER LIGHT IS ON, THE STEPS PERFORMED I BY THE PROGRAM ARE: 1. GET THE ADDRESS OF 2. CHECK SWITCH 8. TESTED (READER IF SWITCH 8=1 THEN ISSUE A COMMAND TO TURN THE LIGHT OFF. SWITCH AND LOOP ON THIS STEP. 3. THE READER TO BE IS SELECTED VIA CONSOLE TTY RESPONSE) [IF SWITCH 8=0 THEN RECHECK THE CHECK SWITCH 12. IF SW12=1 THEN GO TO STEP 1. IF SW12=0 THEN GO TO STEP 2. SEQ 0021 PA611 MACY11 30A(1052) 14-JUN-78 13-JUN-78 12:38 VOO NONNES NN = CZPAAC.PI 14:20 PAGE 1 SEQ 0022 ;STORED IN DECTAPE LIB12 - MIKE MITCHELL 3/75 sTYPESET 11 READER=-PUNCH TESTS ;COPYRIGHT 1972, DIGITAL EQUIPMENT CORP., MAYNARD, MASS. LTITLE PA611 .ABS .ENABLE AMA LLIST .NLIST ME MD,SEQ .LIST SRC READER TEST PUNCH TEST PUNCH VERIFY ROUTINE COMBINED READER-PUNCH TEST :PRG3 PUNCH 2 CHARACTERS FROM SR. ;PRG4 READ 2 CHARACTERS AS PER SR. ;PRGS :PRG6 READ X CHARS, STALL Y MSECS. :PRG7 PUNCH SPECIAL BINARY COUNT PATTERN TAPE. :PRG10 READER SPEED PRINT ROUTINE. :PRG11 PUNCH SPEED PRINT ROUTINE. PUNCH INIT TEST ;PRG12 :PRG13 READER LIGHT TEST. ‘SR 15 ‘SR 14 ;SR ;SR ;SR ;SR ;SR sSR HAL T-ON-ERROR. SCOPE. 13 INHIBIT ERROR PRINT. 11 = INHIBIT ITERATION. 10 = HALT AT END OF CURRENT ROUTINE. 9 = SELECT RCUTINE. _8 - TURN READER LIGHT OFF (PRG13 ONLY) 7 THROUGH SR ) = NUMBER OF ROUTINE TO BE SELECTED. ;PA611 ADDRESSES: SPUNCH. cso0csnccns 772776-772700 SREADER. . coegazasae 772676772600 ;RDRO======~ 172600 :ROR| =ommnee 172604 ;RDR2====nee 172610 ;RDR3===eeeee= 172614 000002 000004 000006 000010 000012 000000 000002 000000 000006 000000 000012 000000 = .42 HALT MACHER: .+2 HALT .42 HALT ;UNASSIGNED TRAP :SP OVERFLOW, BUS ERROR TRAP sRESERVED INSTRUCTION TRAP PA611 MACY11 CZPAAC.PI 30A(1052) 14-JUN-78 13-JUN-78 12:38 14:20 PAGE 2 002376 000340 002426 000340 TRCV: 002176 EMTV: I0TV: 000026 000340 000036 000002 000040 TRPV: SVSS PRTY?7 RSSS PRTY? 000774 002000 : TRACE ;TRAP TO CALL IOX ;POWER FAIL EMTINT ;EMT TRAP HALT PRTY? .42 ;TRAP TRAP. RTI .=40 ME ME sEQUATE STATEMENTS SR=177570 PSW=177776 CACHE: 177746 SPBOT=1200 NOP=240 OPEN=0 MANUAL=BIT15 BIT15=100000 BIT14=40000 BIT13=20000 BIT12=10000 BIT11=4000 BIT10=2000 000040 000020 000010 000004 000002 000001 000000 000001 000002 000003 000004 000005 000006 BIT5=40 BIT4=20 BIT3=10 BIT2=4 BIT1=2 BITO=1 RO=%0 R1=X1 R2=%2 R3=23 R4=%4 RS=%5 R6=%6 000007 005746 024646 PC=%7 PUSH=005746 PUSH2=024646 000240 000200 000140 SIMILAR TO EMT. ;LOCATIONS 40 THROUGH 776 ARE FILLED WITH .+2 AND HALT. BIT9=1000 BIT8=400 BIT7=200 005726 022626 000340 000300 TRAP JEXIT TRAP CALL. 001000 000400 000200 000100 TRAP o8 NLIST LIST 177570 177776 177746 001200 000240 000000 100000 100000 040000 020000 010000 004000 SEQ 0023 BIT6=100 POPSP=005726 POPSP2=022626 PRTY7=340 PRTY6=300 PRTY5=240 PRTY4=200 PRTY3=140 ; FOR CONTROL REGISTER FOR 11-70 PA611 MACY11 30A(1052) 14=JUN-78 13-JUN-78 12:38 CZPAAC.PI 14:20 PAGE 3 SEQ 0024 PRTY2=100 PRTY1=40 PRTY0=0 BELL=007 POTLST==1 P1TLST==1 TLAST==1 TRC=3 1=40 A=BIT15 B=BIT14 C=BIT13 IE=BIT6 EMTX=0 SAV55=3 RST55=4 ;KEYBOARD VECTOR SETUP. ;STATUS UPON KEYBOARD INTERRUPT. KBSVC PRTY?7 .=200 JMP 000 001450 NOP 001252 001450 CLR JMP .=1200 : 172600 177562 177566 000060 OPEN OPEN OPEN OPEN OPEN : PRTYS : OPEN : PRTY4 : 172600 : 172700 177560 177562 177564 177566 60 PRTY4 64 PRTY4 : OPEN : OPEN : OPEN OPEN : OPEN : OPEN : OPEN OPEN OPEN OPEN OPEN START ;GO TO START OF PROGRAM, INITD START SJRESET INIT SWITCH. ;GO TO START OF PROGRAM. ;READER CSR ;READER BUFFER sPUNCH CSR ;PUNCH BUFFER ;READER INTERRUPT VECTOR ;READER PRIORITY LEVEL sPUNCH INTERRUPT VECTOR sPUNCH PRIORITY LEVEL ;ADDR OF 1ST READER. ;ADDR OF 1ST PUNCH. :LSR CSR ;LSR BUFFER ;:LSP CSR ;LSP BUFFER sLSR INTERRUPT VECTOR ;LSR PRIORITY LEVEL ;LSP INTERRUPT VECTOR ;LSP PRIORITY LEVEL ;CONTAINS CURRENT PROGRAM# s CURRENT PROGRAM START ADDRESS. ;CONTAINS ADDR OF CURRENT TEST. ;CONTAINS CURRENT TEST #. ;CONTAINS ADDR OF NEXT TEST. *CONTAINS CURRENT ITERATION COUNT PA611 MACY11 CZPAAC.P1 001272 30A(1052) 14=JUN-78 13-JUN-78 12:38 000000 000000 005244 006716 010206 010570 011342 011414 011674 011762 012034 012156 012306 012542 14:20 PAGE 4 SEQ 0025 ;CONTAINS CURRENT SCOPE POINTER. ;CONTAINS PROGRAM INDICATORS :PRGO START ADDRESS ;PRG1 START ADDRESS ;PRG2 START ADDRESS ;PRG3 START ADDRESS SCOPTR: OPEN PRGID: OPEN PRGTAB: PRGO PRG1 PRG2 PRG3 PRG4 PRG5 PRG6 PRG7 PRG10 PRG11 ;PRG4 START ADDRESS ;PRG5 START ADDRESS ;PRG6 START ADDRESS ;PRG7 START ADDRESS ;PRG10 START ADDRESS ;PRG11 START ADDRESS RG12 PRG13 ;PUNCH TEST (OPR _INTV.) ;READER LIGH TEST :OPERATog INTERVENTION TESTS: ERRT: OPEN CRBUF: CHR1: OPEN OPEN ERCTR: OPEN ; (OPR INTV REQD.) s CHARACTER C OUNT RCNT: OPEN PCHOUT: OPEN CHR2: CHR3: PCHMSK: RDRMSK: CTRA: CTRB: CTRC: CTRD: FPC: EMTTAB: sHOLDS ONE CHARACTER FROM READER. OPEN OPEN OPEN OPEN OPEN OPEN OPEN OPEN OPEN LNLIST CHAINN SRSETT Sv03 RSO3 Sv05 RS05 SV05S RS05S TYP TYPS STAL STPTRV STPTPY ERR ERRN OACNVV BDCNVV RNGEN INRNDN BMOVvV CHLT EHLT INSINN MC JPOINTER FOR EMT ;POINTER FOR EMT ;POINTER FOR EMT ;POINTER FOR EMT :POINTER FOR EMT :POINTER FOR EMT :POINTER FOR EMT ;POINTER FOR EMT ;POINTER FOR EMT ;POINTER FOR EMT :POINTER FOR EMT :POINTER FOR EMT ;POINTER FOR EMT ;POINTER FOR EMT ;POINTER FOR EMT ;POINTER FOR EMT ;POINTER FOR EMT ;POINTER FOR EMT :POINTER FOR EMT ;POINTER FOR EMT ;POINTER FOR EMT ;POINTER FOR EMT ;POINTER FOR EMT PA611 MACYT1 CZPAAC.PT 30A(1052) 14=JUN-78 13-JUN-78 12:38 001442 001444 001446 003274 003216 003064 001450 001454 012706 005737 001460 001462 001464 001466 00147C 001472 001474 001476 001500 001506 001510 001512 001041 104010 14:20 PAGE 5 GTBINR GTBINP 001200 001252 START: 012752 104011 013035 014041 177777 104024 013737 104011 SEQ 0026 DLYN LLIST MOV TST BNE TYPE PGTIT TYPES MSVCTR MC #SPBOT ,R6 INITD STRTA ;POINTER FOR EMT CALL GETBNR ;POINTER FOR EMT CALL GETBNP ;POINTER FOR EMT CALL DELAY ;SET BOTTOM OF SP STACK. ;SEE IF PROGRAM IS INITIALIZED. ;BR IF YES. ;TYPE TITLE. sTYPE INSTRUCTIONS TO SET RDR O VECTOR. 1?23 177570 CHALT 001244 MOV TYPES 013067 014041 177777 SR,FSTVCT ;SAVE RDRO VECTOR. SR,RDRLIM ;SAVE # OF READERS. SR,PCHLIM ;SAVE # OF PUNCHES. SELRDR sTYPE INSTRUCTIONS TO SET # OF READERS. 1723 104024 113737 104011 CHALT MOvB TYPES SELPCH 001246 013120 014041 177777 sTYPE INSTRUCTIONS TO SET # OF PUNCHES. IM23 104024 113737 001250 001252 012737 104010 #=1,INITD STRTA: 000004 000774 CCHE: BR =2 MOV awé, -(SP) MOV a6, -(SP) sINITIALIZATION COMPLETE. sRESTART MESSAGE. ;SAVE CONTENTS OF ADDRESS 4 SAVE CONTENTS OF ADDRESS 6 ; MOV #CCHE, awé ;LOAD FOR TIMEOUT WITH NON CACHE PROCESSOR BIS #14, a#CACHE ;DISABLE CACHE BRAN CH AROUND FOR CACHE PROCESSORS BR AROUND CMP (SP) +, (SP)+ ; CLEAN UP THE STACK FOR NON CACHE PROC. ;RESTORE CONTENTS OF 6 MOV (SP) +, a#4 RESTORE CONTENTS OF 4 MOV #PRTY7, PSW ;SET PRIORITY 7 : MOV (SP) +,a#6 AROUND 177776 001254 001276 JSR PC, CLNUP MOV SR, RO #177760,R0 BIC RO.#13 CMP BLOS STRTB TYPE STRTB: SRSET: M2 CHALT BR MOV ASL SRESET JMP TYPES ASETSR STRTA RO ,PRGNUM RO @aPRGTAB(0) ;GO DO CLEAN-UP ;GET PROGRAM NUMBER. ;VALID PROGRAM NUMBER? sBR IF YES. . sTYPE INCORRECT PROGRAM MESSAGE ;TRY AGAIN. ;SAVE PROGRAM NUMBER. ;RC TIMES 2. ;SYSTEM RESET. ;GO TO SELECTED PROGRAM. ;TYPE SR OPTION MESSAGE. MACY11 CZPAAC.PT 001704 001706 001710 001712 30A(1052) 164=JUN-78 13-JUN-78 12:38 14: SEQ 0027 014041 177777 104024 013737 012737 012706 001256 000340 001200 002136 001060 001264 177776 177570 177304 177570 177600 GETRDY: GTRDYX: GTRDYA: GTRDYB: GORUN: GTRDYC: 001262 177777 001264 GTRDYD: CHAINN: 001200 001266 001266 040C00 177570 : CHNAC 177226 004000 17757C CHNAB: CHNA: 177570 CHNAA: 001000 177570 CHNB: 177777 001264 001270 002000 001262 KSTART ,NXTST #PRTY? .PSW #SPBOT _Ré ;COMMON HALT. :ADDR OF 1ST ROUTINE TO NXTST *SET PRIORITY 7. *SET BOTTOM OF STACK. R7 . FORWD #8179, SR GTRDY( :ISSUE RESET. *ROLL FORWARD TO 'NEXT'' ROUTINE. “CHECK SELECT ROUTINE SWITCH *BRANCH IF SELECT ROUTINE SWITCH IS SET. #177600,R0 *MASK UNDESIRED BITS aCURTST SR, R0 RTNNO,RO GORUN #=1 NXTST :GO RUN CURRENT ROUTINE. *(SR) TO RO “COMPARE RTNNO TO (RO) *BR IF ROUTINE FOUND. *NO. CHECK FOR LAST ROUTINE. GTRDYA *BRANCH IF NOT LAST ROUTINE. GETRDY :COMMON HALT. *START OVER. ICNT CHNAC ICNT #RIT14,SR CHNA *INCREMENT ITERATION COUNT. *BR IF RESULT NOT 0. *RESULT 0. RESET ICNT TO =1. *CHECK FOR SCOPE OPTION. *BRANCH IF SCOPE SW NOT SET. #SPBOT ,R6 aSCOPTR *TYPE INCORRECT RTN SELECTED. *RESTORE STACK. *RETURN TO ROUTINE. #BIT11,SR CHNAA ICTR CHNAB #81T10,SR CHNB RTNNO,RO STEST INHIBIT ITERATION SWITCH *BRANCH IF INHIBIT ITERATION SW SET. *DECREMENT ITERATION COUNT. *BRANCH IF COUNT NOT O. *ROUTINE END HALT SW SET? (SR10) *BRANCH IF NOT SET. *TEST # TO RO. #81T9,SR GETRDY “CHECK SELECT ROUTINE SWITCH *BRANCH IF SELECT RTN SW SET #=1 ,NXTST GTRDYX *ROUTINE END HALT. TEST # IN LIGHTS. SLAST TEST? *BRANCH IF NOT LAST TEST. ; CONVERT PROGRAM NUMBER TO ASCII. :TYPE PROGRAM END BELL. FORWD: GETRDY NXTST RS (5)+,RTNNO ;GO REPEAT PROGRAM. sADDR OF NEXT ROUTINE TO RS. ;GET NEXT ROUTINE NUMBER. (5)+,ICTR (5)+,SCOPTR R5,CURTST sGET ITERATION COUNT. ;GET SCOPE LOOP ENTRY POINTER. ;ADDR OF NOW CURRENT TEST TO CURTST. (5)+ NXTST 001266 FORWDA: #1,I1CNT R7 ;EMT INTERPRETER ROUTINE. sGET ADDR OF NEXT 'NEXT'' ROUTINE. sPRESET ICNT TO 1. ;EXIT FORWD SUBROUTINE. ~=n | PA611 PA611 MACY11 CZPAAC.PI 002176 002200 002204 14=JUN-78 13-JUN-78 12:38 30A(1052) 010046 016600 014000 006300 016000 000200 14:20 EMTINT: MOV MOV MOV ASL MOV RTS 000002 171364 RO,=(6) ;PUSH RO. 2(6) ,RC JGET EMT PC. -(0) RO ;GET EMT CALL. RO ;TIMES 2. EMTTAB-10000(0) ,RO ;FORM EMT ROUTINE ADDR. RO :GO TO EMT ROUTINE; RESTORE RO. Sv03: 012666 012666 012737 000415 002302 012737 000403 000240 002302 012737 000002 177762 177762 002302 MOV (6)+,-10.(6) JMOVE PC UPSTACK. MOV (6)+,-10.(6) sMOVE STATUS UPSTACK. MOV #RT],SVOSC BR SV0SB :SUB TO SAVE REGS O TO S AND PLACE EMT PC IN RS. SV05S: MoV #NOP, SVOSC SVOSA BR :SUB TO SAVE REGS 0 TO 5. SV0S5: SVOSA: SVOSB: Mov MOV #RTI,SVOSC (6)+,-14.(6) MOvY R5,=(6) MOV MOV MOV MOV MoV MOV 000020 SEQ 0028 ;SAVE REGS O TO 3 SUBROUTINE. 177766 177766 000002 010246 010146 010046 024646 000002 016605 010504 005744 000002 g3 PAGE 7 SVOS5C: PUSH2 RTI MOV MoV TST RTI (6)+,-14.(6) R4 ,-(6) R3,-(6) R2,=(6) R1,-(6) RO,=(6) 16.(6) RS R5.R4 -(4) ;RESTORE REGS 0 TO 3 SUBROUTINE. 022626 012600 012601 012602 RSO3: MOV MOV MoV MOV MOV 177766 177766 000020 RTI RS05S: Mov R5.,16.(6) ;SUB TO RESTORE REGS 0 TO 5. 177762 177762 177772 177772 (6)+,R0O (6)+,R1 (6)+,R2 (6)+,R3 =10.(6) ,~(6) =10.(6) ,~(6) ;RTI OR NOP. ;EMT PC TO RS. JEXIT, ;RESTORE REGS 0 TO 4. ;MOVE PC AND PSW DOWN STACK. JEXIT. :SUB TO SET RS IN EMT PC AND RESTORE REGS 0 TOS. RSOS: 022626 012600 012601 POPSP2 MOV :MOVE PC AND PSW UPSTACK. SV5S: POPSP2 MOV MOV MOV MoV MOV MOV MOV MOV (6)+,R0 (6)+,R1 (6)+,R2 (6)+,R3 (6)+,R4 (6)+,RS =14.(6) ,~(6) -14.(6) ,~(6) MOV (6)+,-6(6) MOV RS5,=-(6) RTI MOV MOV (6)+,-6(6) R4 ,~(6) :SET EMT PC TO RS CONTENTS. ;MOVE PC AND PSW DOWNSTACK. sEXIT. ;PC AND PSW UPSTACK. :SAVE RS. ;SAVE R4. PA6TT 14=JUN-78 MACY11 30A(1052) 13-JUN-78 12:38 CZPAAC.PI 002412 002414 14: 20 PAGE 8 PUSH2 MOV MOV 000010 002420 TST RS5S: 000010 002775 -(4) R5.8.(6) (6)+,R4 (6)+,R5 MOV MOV RTI =6(6) ,-(6) =6(6) ,-(6) MOV RO,SRSETT+4 RESET 000042 000100 176516 176512 000200 000003 000000 002514 002514 RSTO5 TST L2 SRSETA BEQ BIS #BI1T6,aTKS SRSETA: RTI : KE YBOARD senvxce ROUTINE. KBSVC: MOV BIC CMP BEQ RTI KB, #0 +4 aexr? KBSVC #3 KBSVC+4 .+ ; COMMON EEXT Rou??:g'Pc 000042 CHLT:' 104006 010400 000000 104007 000002 005737 177570 000000 000002 012737 000406 002716 000240 001362 002716 002714 000002 8.(6) ,R5 R5,Ré JEMT PC TO RS. JEMT PC TO R4. SEXIT EMT SUB. sR5 TO EMT PC. ;RESTORE Ré4. ;RESTORE RS. SEXIT. sROUTINE TO ISSUE RESET AND ENABLE KEYBOARD INTERRUPTS. SRSETT: SAVO05 ;DATA TO RO. MoV ;3252S.R0 s COMPLEMENT (RO). 052525 100001 POPSP2 MOV MOV 177772 177772 017727 042737 022737 001401 000002 013707 RTI MOV SEQ 0029 SAVOSS MOV TO SRSETT+4. JRESET. RO IS DISPLAYED. ;LOADED FROM DECTAPE? :BR IF NOT. E;??LE KEYBOARD INTERRUPTS. sREAD KEYBOARD BUFFER. ;CLEAR PARITY BIT. IS IT CTRL C? ;BR IF YES. sNO. EXIT. sEXIT TO DECTAPE MONITOR. ;DEVELOP ADDR OF CALLER. sHALT CALL ADDR IN DATA LIGTHS. JEXIT. ;CONDITIONAL ERROR HALT ROUTINE. SR TST EHLT: sCHECK FOR HALT ON ERROR. EHLTA BPL :BRANCH IF NO HALT DESIRED. ;HALT. HALT EHLTA: RTI ;IN DATA LIGHTS. ERR: ERRN: MOV #406 ,ERRNB ;SET UP FOR SINGLE MESSAGE. MOV R4, FPC ;SET UP FOR MULTIPLE MESSAGES. s CONVERT CALL ADDR OF SUB CALLING. BR MOV OACNV FPC AFPC 002714 R4 ,RO ;(RO) MOV SuB ERRN+6 #NOP , ERRNB R5,ERRB #2 ,ERRB ;SAVE REG 5S ;DETERMINE CALLING ADDR. ;CONVERT CALLING ADDR TO ASCII. PA611 MACY11 CZPAAC.P1T 30A(1052) 14=JUN-78 13-JUN-78 12:38 14:20 PAGE 9 104017 001254 015024 000002 1046017 001262 015031 000003 SEQ 0030 s CONVERT PROGRAM # TO ASCII. OACNV PRGNUM 2 015021 020000 002714 177777 002714 177570 ERRNA: TYP: TYPA: 000100 TYPC: 000045 ;CONVERT TEST # TO ASCII. BDCNV ICNT 21c~r ;CONVERT ICNT TO DECIMAL ASCII. MOV BIT BNE TYPE OPEN OPEN #EMO, ERRB #BIT13,SR ERRNS ;TYPE ERR HEADER MSG IF NOT INHIBITED. JINHIBIT ERR PRINT? ;BR TO INHIBIT. s TYPE MSG. ;PESIRED MSG ADDR GOES HERE. ;NOP OR 406 MOV (5)+,ERRB ;GET ADDR OF NEXT MSG. CMP #-1,ERRB : TERMINATOR? ERRNA BNE ;GO TYPE IF NOT TERMINATOR. EMALT ERRNC: JEND OF MSGS. HALT IF REQUIRED. RSTSS JRESTORE REG 5S. RTI JEXIT EMT SUB. ;SUBROUTINE TO OUTPUT ASCII MESSAGE ON TELETYPE PRINTER. ERRB: ERRNB: 002714 OACNV RTNNO gTNUMB 002776 176230 176222 TYPD: 000015 002776 000012 002776 TYPF: TYPG: SAV05S MOV (5)+.R0 MOVB C(MPB E RSTOSS (0)+.R1 #100.R1 TYPC CMPB BEQ JSR BR #45.R1 TYPF R7,TYPD TYPA BPL RTS MOVB JSR . ~b R7 #15.R1 R7.TYPD RTI MOVB ISTB MOVB JSR BR R1,aTPB QTIPS #12.R1 R7,TYPD TYPA ;ADDRESS OF MESSAGE TO RO. ;GET CHARACTER ;CHECK FOR''@''CHARACTER ;BRANCH IF NOT'Q@'". s TERMINATOR CHAR. ;CHECK FOR'%'. ;BRANCH IF'%'" DONE. EXIT. ;TYPE CHAR IN R1 ;OUTPUT CHARACTER TO PRINTER ;WAIT FOR DONE FLAG. JEXIT ;MOVE CARRIAGE RETURN CODE TO R1 ;GO TYPE CHAR. ;MOVE LF CODE TO R1. ;GO TYPE CHAR. ;SUBROUTINE TO OUTPUT A SERIES OF ASCII MESSAGES ON TELETYPE PRINTER 003060 177777 TYPS: 003060 SAVSS MOV CMP BNE RSTSS (5)+,TYPSB #-1,TYPSB TYPSA ;ADDR OF MESSAGE TO TYPSB. sCHECK FOR TERMINATOR ;BRANCH IF NOT TERMINATOR. s TERMINATOR, EXIT ;CALL ON TYP SUB TO TYPE MESSAGE ;ADDRESS OF MESSAGE GOES HERE TYPS+2 BR ;GO PROCESS NEXT MESSAGE ;SUBROUTINE TO DELAY A SPECIFIED NUMBER OF MILLISECONDS TYPSA: TYPSB: RTI TYPE OPEN PA611 MACY11 CZPAAC.P1 003064 003070 003074 003076 003102 003104 003110 003112 003114 003116 003120 003122 003124 003126 003130 003136 003144 003152 003160 003166 30A(1052) 14=JUN-78 13<JUN-7 8 12:38 011637 062716 104002 017700 001406 012701 005301 14: 20 003124 000002 PAGE 10 DLYN: DLYAN: DLYBN: 000303 DLYCN: DLCNT: DLCTR: 012737 013737 013737 013737 013737 013737 000002 177777 003176 003176 003176 003176 003176 MOV ADD (6) ,DLCNT #2,(6) ;GET EMT PC. *SET UP EXIT PC. MOV BEQ MOV DEC BNE DEC aDLCNT RO DLYCN #303,R1 R1 DL YBN RO :DELAY COUNT TO RO. :BR IF 0. *1 MSEC COUNT TO R1. *DECREMENT 1 MSEC COUNT. *BR IF NOT 0. *DECREMENT DELAY COUNT. SAVO03 000022 003176 003200 003202 003204 003206 003210 013737 003210 RSTO3 RTI MOV MOY MOV MOV RIND: PIND: RTI OPEN OPEN PT1: 003210 003206 003212 *BR IF NOT DONE DELAYING. SEXIT. OPEN RIND,PIND RIND.PTO RIND.PT1 RIND.RTO RIND.RT1 SEXIT OPEN OPEN OPEN OPEN OPEN -SPECIAL BINARY COUNT PATTERN SUBROUTINE (PUNCH) PTO,PT1 ;PREVIOUS BIN CHAR TO PT1 GTBINP: MOV COM COM 003204 003202 003214 001332 DLYAN OPEN OPEN MOV RTO: RT1: BINR: BINP: 003204 BNE *SAVE REGS :SUBROUTINE TO INITIALIZE BINARY COUNT PATTERNS INBINN: MOV #-1,RIND ;SET ALL VARIABLES PTO: 013737 005137 005137 001002 005237 043737 013737 013737 013737 000002 SEQ 0031 PT1 PIND BNE INC BIC .+6 PT1 PCHMSK ,PT1 MOV MOV RT] PT1.BINP PT1.PCHOUT MOV PT1,PTO :SAVE BIN CHAR IN PTO :BIN CHAR TO BINP. JEXIT. :SPECIAL BINARY COUNT PATTERN SUBROUTINE (READER) GTBINR: MOV COM COM BNE INC RTO,RT1 RT1 RIND .+6 RT1 BIC RDRMSK ,RT1 MOV RT1.BINR MOV RT] :PREVIOUS BIN CHAR TO RT1. RT1,RTO :SAVE BIN CHAR IN RTO. *BIN CHAR TO BINR. “EXIT. :EMT SUB TO CONVERT OCTAL TO ASCII. OACNVV: SAV0S5S 012502 MOV MOV MOV a(5)+,R0 (5)+,R1 (5)+,R2 :SAVE REGS. sGET OCTAL VALUE. sGET DESTINATION ADDR. ;GET CONVERT COUNT. MACY11 CZPAAC.PI 003354 003356 003360 003364 003370 14=JUN-78 13-JUN-78 12:38 30A(1052) 060201 010003 042703 062703 110341 14:20 000007 R2.R1 ;DEVELOP ADDR TO STORE 1ST CHAR. BIC #177770.R3 MOVB BIC R3,=(1) #7.R0O s ISOLATE LEAST SIGNIFICANT DIGIT. ;CONVERT DIGIT TO ASCII. ;STORE ASCII CHARACTER. ROR ROR ROR 003572 003524 003520 BDCNVB: BDCNVC: BDCNVD: 003574 003576 SUBTEN: SUBTNA: 003574 003576 000060 003574 #60,R3 RO RO RO OACNVA MOV RO,BDCNVB BMOVE OPEN OPEN OPEN RST05S RTI CLR SUB BCS BR SUBTNB: ADD ADD MOVB RTS CNVCTR: OPEN OPEN DIGIT: TENPWR: ADTENP: R2 BNE INC 003574 RO.R3 ;DONE ALL DIGITS? sBRANCH IF NOT DONE. sRESTORE REGS. ;DONE. EXIT. OF BYTES. NUMBER VARIABLE MOVE :EMT SUB TO BMOVV: SAVO05S :SAVE REGS. (5)+,R1 MOV sGET' FROM' 'ADDRESS MOV (5)+.R2 ;GET''TO''ADDRESS (5)+.R3 MOV ;GET COUNT (1)+,(2)+ MOVB BMOVA: ;MOVE BYTE R3 DEC ;DECREMENT COUNT BMOVA BNE sBRANCH IF NOT DONE. sRESTORE REGS. cDONE. EXIT. ;EMT SUB TO CONVERT BINARY TO DECIMAL ASCII. BDCNVV: SAV0SS ;SAVE REGS. MOV #DECVAL ,RO sSET UP ADDR TO STORE DECIMAL ASCII IN RO a(5)+,R1 MOV ;BINARY VALUE TO R1. MOV (5)+,BDCNVC ;DESTINATION ADDR TO BDCNVC. MOV (5)+,BDCNVD ;CHAR COUNT TO BDCNVD. MOV #ADTENP ,R2 ;ADDR OF TEN POWER STRING TO R2. #5,CNVCTR MOV ;SET UP FOR 5 POWER CONVERSIONS. BDCNVA: MOV (2)+, TENPWR ;MOVE POWER OF TEN VALUE TO TENPWR. R7.,SUBTEN JSR ;PERFORM CONVERSION CNVCTR DEC ;DONE 5 CONVERSIONS? BDCNVA BNE ;BRANCH IF NOT YET 5. SUB BDCNVD ,RO DEC 003522 003524 003600 00000 003576 003532 003572 SEQ 0032 ADD ADD 003612 G PAGE 11 OACNVA: MOV 177770 000060 wv PA611 OPEN 10000. DIGIT TENPWR,R1 SUBTNS DIGIT SUBTNA TENPWR ,R1 #60,DIGIT DIGIT,(0)+ R7 sRESTORE REGS. JYES. EXIT. ;CLEAR DIGIT ;SUBTRACT TEN POWER FROM BINARY VALUE. sBRANCH IF UNSUCCESSFUL SUBTRACTION. ;RESTORE SUBTRACTED VALUE. sCONVERT (DIGIT) TO ASCII :?2Y$ ASCII1 CHAR TO DECVAL FIELD. PA611 MACYi1 CZPAAC.P1 003602 30A(1052) 14=JUN-78 13-JUN-78 12:38 14 :20 PAGE 12 SEQ 0033 1000. 100. 10- 001750 1 040 040 040 040 DECVAL: 003674 003674 003672 MOY MOV RSTOSS RP1: RP2: 001233 007622 105277 104031 000014 105777 100411 104031 175260 SAVOS5S MOV ROL ROL ADD MOV ROL ROL ADD ROL ROL 003674 003672 012737 012737 000002 003672 003674 RO,RP2 RP1,(5)+ RTI 1233 7622 ?SLAY TSTB ARDB: 003772 ARDC : TSM2: 014635 013243 004024 JROUTINE JWAIT 12 MSECS FOR READER DONE. ;DONE SET? TSTB BMI @PRS ARDB ;READER DONE NOW? :BR IF YES. BR AREAD :TRY AGAIN. BMI RTS ARDC X7 :BR iF YES. JNO. EXIT. TST JSR BR g:qORN n 177777 000207 :READER ENABLE. ARDB ERRORN ET? 175220 aPRS JEXIT. BM] ?gLAY 104016 ;STORE # AT LOC AFTER SUB CALL. JEXIT. RTI JROUTINE TO FETCH A CHARACTER AREAD: INCB aPRS 175250 000000 000002 001210 RP1,R0O RO RO RP2,R0O RO,RP1 RO RO RP2,R0O RO RO ;EMT SUB TO INITIALIZE RANDOM NUMBER GENERATOR. #1233 ,RP1 INRNDN: MOV MOV #7622 .RP2 175236 017637 062716 013701 040,040,040,040,040,040 ;EMT RANDOM NUMBER GENERATOR. NUMBER IS STORED AT LOC AFTER SUB CALL. RNGEN: 003672 .BYTE RTS aPRS xX7,TSM2 AREAD :BR IF YES. JWAIT ADDT'L 18 MSECS. ;ERROR. NO READER RESPONSE. :ERROR BIT SET? ;TYPE READER ERROR MESSAGE. :TRY AGAIN. ;TYPE READER ERROR MESSAGE. X7 JEXIT a(6) ,STPRA+? :MOVE VECTOR ADDR TO STPRA+?2 TO SET READER INTERRUPT VECTOR AND PRIORITY SIPTRV MOV ADD MOV l?.alb %1 RDRVTR, :SET UP EXIT PA61 14-JUN-78 MACY11 30A(1052) 13-JUN-78 12:38 CZPAAC.P1T 012721 013721 000002 000000 001212 PAGE 13 STPRA: 004054 017637 062716 013701 012721 013721 000002 MOV MOV RTI 175102 004210 SEQ 0034 + N, #OPE(1) RDRLVL.(1)+ X1 PCHVTR, (1) + #OPEN, PCHLVL, (1)+ DEC BNE CLR ERRORN aagrn aPRS EM7 000340 175016 001334 177776 003772 175002 -1 BR BREADA: (LR MOV RTS BREADB: POPSP2 MOV TST BPL JSR BR BREADC: TSTB BMI ERRORN BRCTR: 104021 000000 043737 001772 013737 004214 004214 004236 BR OPEN ;CLEAR PTRI ENABLE. ;TYPE NO PTR RESPONSE sMESSAGE BREAD aPRS aPRB, CRBUF X7 #PRTY7 ,PSW aPRS BREADC BREAD aPRS BREADA E?1O 004242 ;SET VECTOR ADDRESS. :EE} PRIORITY EX (EXIT. ; SUBROUTINE TO READ CHARACTER FRCM READER USING INTERRUPT. STRDRV BREAD: ;SET READER VECTOR BREADB :TO BREADB #101,3PRS BIS ;ENABLE PTR AND PTRI. PSW CLR ;SET UP PRTYO. #30000. ,BRCTR MOV ;DELAY APPROX. 150 MSECS. 175056 175042 175040 sSET VECTOR ADDRESS ;SET PRIORITY JEXIT ;ROUTINE TO SET PUNCH INTERRUPT VECTOR AND PRIORITY. a(6) ,STPPA+2 ;MOVE VECTOR ADDR TO STPPA+2 #2,3%6 sSET UP EXIT STPTPV: MOV ADD MOV MOV STPPA: MOV RTI 000101 177776 072460 004210 B2 RRRRRRRRRRRRRRR 333 L RN IRRRSRRRRERIRFR 14 :20 ;TRY AGAIN. ;CLEAR READER CSR. :CHAR READ TO CRBUF. sEXIT SUBROUTINE. sJRESTORE STACK. ;SET UP PRTY?Z. ;TEST FOR ERROR. ;BRANCH IF NO ERROR. “TEST FOR DONE BIT. ‘BRANCH IF DONE BIT SET. *ERROR.FALSE READER INTERRUPT. BREAD s SUBROUTINE TO STALL A RANDOM NUMBER OF MILLISECONDS. MAXIMUM STALL ;DETERMINED BY CONTENTS OF LOC STLMSK. STAL: RNDNUM ;GET RANDOM NUMBER. STLA: OPEN ;NUMBER GOES HERE. BIC BEQ MOV DELAY OPEN STALA: STALB: RTI STLMSK: OPEN STLMSK,STLA STALB STLA,STALA JAPPLY STALL MASK. sBRANCH IF RESULT IS 0. ;DELAY :DELAY COUNT ;DONE. EXIT. ;STALL MASK. ;SUBROUTINE TO GENERATE RANDOM CHARACTER COUNT (1-77) 004270 004246 004246 004272 GRCNT: RNDNUM GRCNTA: OPEN BIC BEQ MOV RCMSK ,GRCNTA GRCNT GRCNTA RNCNT ;GET RANDOM NUMBER. ;NUMBER GOES HERE. sAPPLY MASK. ;TRY AGAIN IF RESULT 0 ;COUNT TO RNCNT PA611 MACY11 30A(1052) 14=JUN-78 13-JUN-78 12:38 CZPAAC.P1T 004266 004270 004272 14:20 000207 000000 000000 104027 PAGE 14 001334 RTS %7 CMP BINR, CRBUF :COMPARE BINR TO DATA IN CRBUF sBRANCH IF NOT SAME (ERROR). sOK.EXIT. ERCTR .+6 ;DECREMENT ERROR COUNTER SYNCC :BR IF NOT, SYNCC :BR IF NOT. JEXIT. sRANDOM CHARACTER MASK. ;RANDOM CHARACTER COUNT. ;SUB TO COMPARE DATA READ FROM READER AGAINST EXPECTED DATA AND REPORT ERRORS. ;GET BIN CHARACTER BCHECK: GETBNR RCMSK: RNCNT: 003212 SEQ 0035 OPEN OPEN BNE RTS OACNV +4 17 BINR ASB 4 OACNV CRBUF QUAS ERRORN 571 001344 DEC BNE 004352 004064 004064 004064 001334 004064 001334 001336 001340 001334 004440 001342 000003 001344 001000 003212 003212 003212 001336 001340 sBRANCH IF NO THIRD ERROR sRESYNC THE READER. %7 .BSYNC JSR RTS %7 SEXIT :SUBROUTINE TO SYNC THE READER TO A SPECIAL BINARY COUNT PATTERN TEST TAPE. INSBIN BSYNC sINITIALIZE BINARY PATTERN *READ CHAR. X7 ,BREAD JSR sREAD CHAR. X7 ,BREAD JSR ;JREAD CHAR AND STORE AT CHR1 X7 ,BREAD JSR , CHR1 CRBUF MOV JSR X7 ,BREAD ;READ CHAR AND STORE AT CHRZ2 MOV CRBUF ,CHR2 JSR X7 ,BREAD ;READ CHAR AND STORE AT CHR3. MOV CRBUF ,CHR3 %7 .,SYNCA JSR :GO SYNC BR BSYNC sNO SYNC. TRY AGAIN. #3,ERCTR MOV RTS X7 sSUCCESS.EXIT. SYNCA: SAVO0S MOV #512..R0O ;SET UP FOR 512 TRIES. SYNCB: GETBNR ;GET BIN CHAR. BINR,R1 MOV :STORE AT R1. GETBNR ;GET BIN CHAR. MOV BINR,R2 ;STORE AT R2. GETBNR ;GET BIN CHAR. BINR,R3 :STORE AT R3. MOV sMATCH ON 1ST WORD? R1,CHR1 CMP BNE SYNCC ;BR_IF NOT, CMP R2,CHR2 JMATCH ON 2ND WORD? BNE 001342 CMP R3,CHR3 ADD #2,(6) DEC BNE RO SYNCB E RSTOS 000002 SYNCC: RTS PC JMATCH ON 3RD WORD? ;SET UP SINCED EXIT. JEXIT :TRIED 512 TIMES? IF NOT. :BR 14=JUN-78 MACY11 30A(1052) CZPAAC.P1 13=JUN=7 8 12:38 PA6T1 14:20 PAGE 15 ERRORN 104016 004526 004530 004532 004534 004536 177777 104005 000207 004540 005777 RTS PC :SYNC ERROR EXIT. ;SUBROUTINE TO CHECK FOR PUNCH READY. ;TEST FOR ERROR BIT. CPRDY: TST aPPS CPRDYA BMI :BRANCH IF ERROR BIT SET. 174440 174432 TSTB BPL RTS CPRDYA: TYPES 104024 004540 001346 001332 174366 001332 BIC MOV PCHMSK ,PCHOUT PCHOUT ,aPPB BPL .= TSTB PCHSEL: ;TYPE NOT READY MESSAGE. aPPS ;LOAD PUNCH BUFFER. ;WAIT FOR DONE. ;TYPE SELECT PUNCH MESSAGE. TYPES SPCHM 1723 177570 001250 CHALT CMPB BLO PCHSLA INVRP BR PCHSEL ADD MOV PPS PPS FSTPCH,PPS PPS,PPB TYPE PCHSLA: MOV ASL ASL 001204 001204 001222 001204 000002 001246 104017 CPRDY :TEST FOR READY BIT. ;BRANCH IF READY NOT SET. ;OK. EXIT. %7 ;DONE. EXIT. ;SUBROUTINE TO SELECT PUNCH TO BE TESTED/USED. 177570 177570 015670 CHALT BR RTS 104011 012737 005737 100003 012737 CPRDYA x7 ;SUBROUTINE TO PUNCH CHARACTER IN LOC PCHOUT. HSPCH: JSR %7 ,CPRDY ;GO CHECK FOR PUNCH READY. 174374 015547 014041 177777 104024 123737 103403 aPPS SM3 1716 000763 100375 000207 SYNC ERROR. RSTO5 014707 013314 177777 004737 043737 013777 105777 ;YES. s 015220 100404 105777 100001 000207 104011 SEQ 0036 177570 177700 ADD MOV INC 001214 001346 001346 ROR ASL ADD ASL ASL ADD MOV TST BPL MOV PCHSLB: OACNV SR APCHID SR,PCHLIM SR,PPS RDRL IM,PCHVTR PCHVTR PCHVTR PCHVTR sWAIT FOR USER. ;VALID PUNCH NUMBER? ;BR IF YES. sNO. TYPE MESSAGE, AND ;GO TRY AGAIN. ;DEVELOP PCH CSR ADDR. ;DEVELOP PCH BUFFER ADDR. sDEVELOP PCH VECTOR ADDR. :IF RDRLIM WAS ODD INCR TO MAKE IT EVEN. SR,PCHVTR PCHVTR PCHVTR FSTVCT ,PCHVTR g;??‘OO.PCHHSK PCHSLB #177700,PCHMSK sSET UP PUNCH MASK FOR 8 LEVEL. ;8 LEVEL PUNCH? ;BR IF YES. sNO. SET UP 6 LEVEL MASK. s CONVERT SELECTED PCH NUMBER TO ASCII. PA611 MACY11 CZPAAC.PT 30A(1052) 14=JUN-78 13-JUN-78 12:38 005010 005012 005014 005016 015663 000207 00502C 005022 005024 005026 005030 005032 005040 005042 005044 005046 005050 005056 005062 005066 $0S074 005102 005110 005116 104011 015500 014041 177777 104024 123737 103403 104010 015616 000764 013737 006337 006337 063737 013737 062737 013737 006337 005122 005126 005134 005142 005146 005150 005156 005160 005162 005164 005166 005170 005172 005174 005200 005204 005212 005216 005222 005224 005226 005232 005234 005240 005242 14: 20 PAGE 16 2 000002 104010 006337 063737 012737 005737 100003 012737 104017 177570 015646 2 104010 015641 000207 005037 005037 012737 012701 012702 010221 005021 020237 001403 062702 000770 000207 SEQ 0037 ;TYPE PCH SELECTED MESSAGE. TYPE PCHIDM RTS PC SEXIT. s SUBROUTINE TO S ELECT READER TO BE TESTED/USED. RDRSEL: ;TYPE SELECT READER MESSAGE. TYPES SRDRM 1?23 177570 CHALT CMPB BLO 001246 TYPE BR RDRSEL ASL ASL ADD PRS PRS FSTRDR,PRS INVRP 177570 001200 001200 001220 001200 000002 177570 001270 001200 RDRSLA: 001200 001202 001202 001210 001210 001244 177400 177570 001210 001350 177700 001350 ;WAIT FOR USER. SR,RDRL IM *VALID READER? RDRSLA ;BR IF YES. :NO. TYPE MESSAGE AND TRY AGAIN. MOV SR,PRS :DEVELOP RDR CSR ADDR. ;gsfizge :DEVELOP READER BUFFER ADDR. SR.RDRVTR :DEVELOP RDR VECTOR ADDR. RDRVTR RDRVTR FSTVCT ,RDRVTR #177400 ,RDRMSK SR :SET UP SLEVEL READER MASK. ‘8 LEVEL READER? #177700 ,RDRMSK :NO. RDRSLB RDRSLB: OACNV *BR IF YES. SET UP 6 LEVEL MASK. “CONVERT SELECTED RDR NUMBER TO ASCII. ;TYPE RDR SELECTED MESSAGE. 001266 001262 000003 000300 000302 CLNUP: CLR 001344 PC “CLEAR ITERATION COUNT. #3 ERCTR *SET ERROR COUNT TO 3. RTANO #300,R1 CLNUPA: MOV 001000 000004 CLNUPB: RTS CEXIT. 1CNT #302.R2 R2,(1)+ (15+ R2,1000 CLNUPB #4 ,R2 CLNUPA PC *CLEAR CURRENT ROUTINE NUMBER. *CLEAR INTERRUPT VECTORS. JEXIT. PA611 MACY11 30A(1052) 14=JUN-78 13-JUN-78 12:38 CZPAAC.P1 PAGE 17 SEQ 0038 ;PRGO - REA?ER TESTS 177777 000000 012737 005266 013267 004737 000137 005020 001700 104010 14:20 001256 PRGO: Y=0 MOV #POTO ,KSTART JSR JMP TSTA TSTAA PC ,RDRSEL ;SELECT READER. SRSET ;GO GET STARTED. POA,1000. POA,1000.,\X+1,\X+2,\Y TYPE TITLO ;ADDR OF 1ST ROUTINE TO KSTART. sTYPE TITLE. ;ttttt.tttt'QttfitittQtttttttQttttfitQtfi.*ttfi'ttt*ttttifltttitttttitt.ttittfi POTO: 000000 005316 001750 005304 000000 012737 005777 104000 104015 104000 O : PRGO ROUTINE O “ 1000. ;TEST ITERATION COUNT * POT1 ;ADDRESS OF NEXT ROUTINE ;0?A1 :SCOPE ENTRY POINT * * =X+ IRRRRRARRRARRARRAARRR AR RRRARRARRARRARRERRERRERREARRRRRARRARRARR AR AN 005312 173670 000004 sTEST ABILITY TO REFERENCE THE READER STATUS WORD POAA: POAE: MOV #POAE ,MACHER SCOPE TSTA TSTAA ;STATUS WORD (PRS). POB,1000. P0B,1000.,\X+1,\x+2,\Y TST SCOPE ERROR aPRS sSET UP MACHINE ERROR TRAP. JREFERENCE READER STATUS WORD. : SCOPE ;ERROR. TRAPPED WHEN REFERENCING READER :ttttittitttttt.tttfittfit'ttt'ttttt'tt.fit*ttfi"ttitt.'itttt*tttfit"ttttttt POT1: 000001 005346 104000 104015 104000 * 33232323233 23233233 3233333332323 POBA: i MOV TST SCOPE #P0BB ,MACHER aPRB ERROR SCOPE TSTA TSTAA 2222233233323 POT2: ;SET UP MACHINE ERROR TRAP. ;REFERENCE READER BUFFER : SCOPE ;ERROR. TRAPPED WHEN REFERENCING ;READER BUFFER. POD,1000. POD,1000.,\X+1,\X+2,\Y (PRB) 3222333323222 ittt d ] 2 POT3 ; PRGO ROUTINE 2 sADDRESS OF NEXT ROUTINE * * PO,[:A1 ;SCOPE ENTRY POINT * 1000. JTEST ITERATION COUNT :ttt'tttttttttt!ttitttttt'tttttttitttitttt.ltt..ttt'tl.ttt'itttt'ttttittt 104000 88 005376 * =X+ 88 005372 005374 052777 032777 001002 104015 * 223 3333333333232 3222R32223 0223} sTEST ABILITY TO SET AND CLEAR THE ID BIT (INTERRUPT ENABLE (BIT 6)) 005356 * :TEST ABILITY TO REFERENCE THE READER BUFFER. POBB: 000002 005422 001750 005356 000002 sTEST ITERATION COUNT ;SCOPE ENTRY POINT 2223223323333 3 000004 * 902A1 X=X+ 005342 173642 ; PRGO ROUTINE 1 ;ADDRESS OF NEXT ROUTINE 1000. 001750 005334 000001 012737 005777 1 POT?2 173614 173606 : IN READER STATUS WORD PODA: BIS BIT BNE ERROR SCOPE #RT16,aPRS #B1T6,aPRS PODB ;SET ID BIT (BIT 6) IN READER PRS ;CHECK ID BIT IN PRS ;1D BIT SET? :TS.PSQROR. FAILED TO SET ID BIT (BIT 6) PA611 MACY11 CZPAAC.P11 30A(1052) 14=JUN-78 13-JUN-78 12:38 042777 032777 001401 104015 000100 000100 14:20 173572 173564 PAGE 18 PODB: BIC BIT BEQ ERROR 104000 SCOPE TSTA TSTAA SEQ 0039 #BI1T6,aPRS #81T76,aPRS A ;CLEAR ID BIT IN PRS. ;CHECK ID BIT IN PRS :BRANCH IF BIT CLEAR. :ERROR. ID BIT IN PRS FAILED TO CLEAR. POE,100. POE,100.,\X+1,\X+2,\Y tttt'tfifit*.tt'*it'iittitiitttttttttfitt.fii*i.fifi..tt'*fi.tifi'.fi*tfitti'ititfi 000003 POT3 005456 000144 005432 000003 005432 005454 005456 005456 005456 005460 005462 005464 005466 005472 052777 104001 032777 001401 104015 3 : PRGO ROUTINE 3 POT4 100. POEA X=X+1 ;ADDRESS OF NEXT ROUTINE “TEST ITERATION COUNT :SCOPE ENTRY POINT * * B * :tttttii'.fi'fi"tttttfi.*ifi""fi'.fi.t.tQt.ttfitttti*'ttfi."ttt*t'it.ti.tfitii 000100 173540 000100 173530 :TEST ABILITY TO CLEAR ID BIT (BIT 6) WITH RESET INSTRUCTION POEA: BIS #B81T6,aPRS JScT ID BIT IN PRS SRESET BIT BEQ ERROR 104000 SCOPE TSTA TSTAA #B1T6,aPRS A sRESET sTEST ID BIT BRANCH IF ID BIT IS CLEAR. ;ERROR. RESET INSTRUCTION FAILED TO ;CLEAR ID BIT IN READER PRS. POF ,100. POF,100.,\X+1,\X+2,\Y ;"Qfittt...fi‘.'t.fi*fi"fi'l't'.*fi***.'fi*t.ti'."..i.'.t".fifi.tfifi.titlfiifi'Qt POT4: 005510 000144 005466 000004 005277 104031 000144 105777 100401 104015 & POTS 100. POFA X=X+1 : PRGO ROUTINE & ;ADDRESS OF NEXT ROUTINE ;TEST ITERATION COUNT :SCOPE ENTRY POINT * * * fi*tt.fi.ttt*'t'fi.fi.t.l.‘fifi"..i*.*fifi*t"t'.itfi*"."fi*'Q".fi'fi".'fiti'tt' 173506 173476 TEST THAT DONE BIT (BIT 7 OF PRS) IS SET NO LATER THAN 100 MSECS AFTER RDR ENB. PO INC aPRS ;ENABLE READER DELAY HAIT APPROX 100 MILLISECS. 100. TSTB BMI ERROR 104000 POFB: 000005 005542 001750 005520 000005 POTS: SCOPE TSTA TSTAA aPRS POFB ;TEST FOR DONE (BIT 7) ;BRANCH IF DONE BIT WAS SET.. ;ERROR, 100 MSECS AFTER READER ;ENABLE, DONE BIT WAS NOT SET. . SCOPE P0G, 1000. P0OG,1000.,\X+1,\X+2,\Y ;**tiltfifititttt.t.tfifitt.'t't.tfiQ*tfiitttttt'fififiii‘fifit*'.fitit'ttiiiti.‘tttt 005277 104031 000144 105777 100401 104015 104000 5 POT6 1000. POGA X=X+1 : PRGO ROUTINE 5 :ADDRESS OF NEXT ROUTINE sTEST ITERATION COUNT ;SCOPE ENTRY POINT * * » * ttfitti"tfitfit'ii.QfiQitt'Q'.ififii.'.fi.'t'....t*fifi'fiifi'tii*i.iti*ifittitttti 173454 173444 “TEST ABILITY TO READ DONE BIT (BIT 7 OF PRS) RELIABLY POGA INC aPRS ;ENABLE READER DELAY SWAIT APPROX 100 MILLISECS 100. TSTB aPRS :TEST DONE BIT (BIT 7 OF PRS) BMI .+ JBRANCH IF DONE BIT SET ERROR :ERROR. DONE BIT NOT SET, OR FAILED SCOPE ;TO READ 1IT. PA611T MACY11 CZPAAC.PT 30A(1052) 14=JUN-78 13-JUN-78 12:38 14:20 PAGE 19 TSTA TSTAA 005542 005542 SEQ 0040 POH,100. POH,10C.,\X+1,\X+2,\Y ;tttttttitttti'ttt.ttt'ttt"'ti'Q‘Qt..fi.fifit.tt'tttt'ttt.ti'.Qtt't't'."'t POT6: 005542 005544 005546 005550 6 POT7 100. Po;m1 : PRGO ROUTINE 6 *ADDRESS OF NEXT ROUTINE *TEST ITERATION COUNT *SCOPE ENTRY POINT . * . =X+ tttt"ttt.'tfitttttifit'i"t'iiitfitti...fi.'*.'.t'i'.i"i"ttittt.ti't.t'.t 005552 005556 005560 005562 005566 005570 005277 104031 00006 2 105777 100005 000005 105777 100403 173422 “TEST THAT RESET COMMAND CLEARS DONE BIT (BIT 7 OF PRS) POHA: 173412 INC aPRS :ENABLE READER TSTB @PRS :TEST FOR DONE BIT RESET TSTB @PRS *RESET *TEST DONE BIT gSLAY BPL 173402 BMI SCOPE POHB : g?ggg POHC: ERROR SCOPE TSTA TSTAA POHB POHC *DELAY APPROX 50 MILLISECONDS *BRANCH IF DONE BIT NOT SET *BRANCH IF DONE BIT STILL SET. *SCOPE *ERROR 1. DONE BIT NOT SET. ;ERROR 2. DONE BIT NOT RESET BY *RESET INSTRUCTION. P0I,100. POI,100.,\X+1,\X+2,\Y ;tttttfittttitttittttttttt't*ttfiilt*tttfi.*i'tttfi'tittttfiitttt.tttt'ttfittifi POT7: 005616 005620 005622 00562 000007 104001 005277 105777 100375 005277 105777 100001 104015 104000 7 ; PRGO ROUTINE 7 POT10 100. PO)I(A1 ;ADDRESS OF NEXT ROUTINE sTEST ITERATION COUNT ;SCOPE ENTRY POINT * * * * =X+ ttt*tt.Qttt.fitttt*‘*tfi"ititttifififittt.i.fi*'ttifi*"t.ittttifii"tifii.tt"t 173350 173344 173336 173332 :TEST THAT DONE BIT (BIT 7 OF PRS) IS CLEARED WHEN ENABLING THE READER POIA: SRESET ;RESET INC aPRS :ENABLE READER TSTB aPRS ;TEST FOR DONE BIT BPL .~4 ;BRANCH IF DONE BIT NOT SET INC aPRS sENABLE READER AGAIN BPL ERROR .t ;BRANCH IF DONE BIT IS RESET sREADER ENABLE DID NOT CLEAR DONE BIT TSTB SCOPE TSTA TSTAA aPRS ;TEST DONE BIT AGAIN : SCOPE P0J,100. P0J,100.,\X+1,\X+2,\Y :ttttttttttt*i'*tttt*tt*!tt'ttttttittfitifititttttttttttQttiittttttt.tttt.t POT10: 000010 005714 000144 005664 000010 ; PRGO ROUTINE 10 ;ADDRESS OF NEXT ROUTINE JTEST ITERATION COUNT ;SCOPE ENTRY POINT * * * * =X+ tttttttttttttttttttttt!t'tt'itQitti'iiti‘itt'.ti'tttittttttttttitfitttttt 005277 173310 173304 005777 173300 105777 100375 10 POT11 100. ;O§A1 :TEST THAT DONE BIT IS CLEARED BY REFERENCING READER BUFFER (PRB) POJA: INC aPRS ;ENABLE READER TSTB aPRS sTEST FOR DONE BIT BPL TST .4 aPRB :BRANCH IF DONE BIT NOT SET. JREFERENCE READER BUFFER (PRB) 30A(1052) 14=JUN-78 13-JUN-78 12:38 105777 100001 104015 104000 14: 20 PAGE 20 173272 TSTB BPL ERROR SCOPE TSTA TSTAA SEQ 0041 aPRS .+ ;TEST FOR DONE BIT ;BRANCH IF DONE BIT IS CLEAR. ERROR 1. DONE BIT WAS NOT CLEARED ;BY REFERENCING READER BUFFER. POM,100. POM,100.,\X+1,\X+2 \Y :'tttttQttttt'fittltQ'ttttt"ilti't.Q'QfiititttfittittQtttt.tit.t..'tfifittfitt 000011 006016 000144 005724 000011 012700 004737 017737 017737 023737 P 0T11: 1 POT12 100. POMA X=X+1 ; PRGO ROUTINE 11 ;ADDRESS OF NEXT ROUTINE * * ;SCOPE ENTRY POINT B sTEST ITERATION COUNT * tittt'tt'ttitt't.fi*tQ'tttiitt".'tifit*'fi.itttt.t'i'tQt't'tt.tttt'ttt'tt. 000144 003714 173242 173234 001336 001336 001340 001340 :TEST ABILITY TO READ READER BUFFER RELIABLY. #100.,%0 ;SET COUNT TO 100 IN RO POMA: MOV X7 ,AREAD :GET CHARACTER JSR P OMB: MOV MOV CMP BNE DEC POMC: BNE SCOPE OACNV CHR1 aPRB, CHR1 :C(PRB) CHR1,CHRZ ;COMPARE CHR1 AND CHRZ. aPRB , CHR2 TO CHR1 ;C(PRB) TO CHR2 ;8”( ;BRANCH IF R1 AND R2 DON'T MATCH POMB : SCOPE sCORRECT 1ST READ DATA TO ASCII gRGRD OACNV CHR2 EUBRD ;ERROR. REREAD OF PRB DID NOT MAT(CH sINITIAL DATA READ FROM PRB. ERRORN 572 SCOPE TSTA TSTAA AR b 0T12: PON, 100. PON,100.,\X+1,\X+2,\Y RRARRRRR AR AR AR 12 POT13 100. PONA X=X+1 RRR AR AR RRAR AR AR RN AR R R AR RN R R RA AR : PRGO ROUTINE 12 sADDRESS OF NEXT ROUTINE sTEST ITERATION COUNT ;SCOPE ENTRY POINT * * * * ttttttttttttttfittttttfitttttt!tttfi.tttittttt'ttitttt'tttt'tttt'ttfitttttti 3714 173142 8 MACY11 ~ PA611 CZPAAC.PI 173132 173130 104015 104000 :TEST THAT READER BUFFER (PRB) IS CLEARED BY READER ENABLE JRESET SRESET ;GET CHARACTER %7 ,AREAD JSR TST aPRB sTEST CONTENTS OF READER BUFFER. PONA :G0 GET ANOUTHER CHAR IF 0. BEQ aPRS sNOT 0. ENABLE READER INC TST aPRB ;CHECK PRB sBRANCH IF PRB IS RESET BEQ .+ ERROR ;ERROR. PRB NOT RESET BY READER ENABLE. SCOPE P00, 100. TSTA TSTAA PC0,100.,\X+1,\X:2,\Y PONA : PA611 MACY11 CZPAAC.P1T 30A(1052) 14=JUN-78 13-JUN-78 12:38 14:20 PAGE 21 SEQ 0042 2222223223332 222 83323232 iRttt dd) 006060 006062 006064 006066 POT13: 000013 006130 000144 006074 000013 13 ; PRGO ROUTINE 13 * 100. POOA1 sTEST ITERATION COUNT :SCOPE ENTRY POINT * * POT14 ;ADDRESS OF NEXT ROUTINE X=X+ :ttttttt!ittttti.\hfi'fitiii"ifitfi.*ttt.ttttttt..fitttttt'ttitttttfifi'tttt.tt sTEST THAT READER IS ABLE TO INTERRUPT. 006070 006072 006102 006110 006114 006122 006124 006126 006130 006130 * sHAVE OCCURRED AT CORRECT VECTOR. gsgng 000000 000100 003714 000100 177776 173070 POOA: 173056 MOV BIC JSR BIS NOP PO0B: TSTA TSTAA INTERRUPT IS SERVICED, IT WILL ;SET UP READER INTERRUPT VECTOR #PRTYO ,PSW #81T6,aPRS X7 ,AREAD #B1T6,aPRS ERROR SCOPE IF :;SET PROCESSOR PRIORITY TO O ;DISABLE READER INTERRUPT. ;GO READ CHARACTER. sENABLE READER INTERRUPT. :NO OP ;ERROR. READER FAILED TO INTERRUPT. ;SCOPE POP,100. POP,100.,\X+1,\X+2,\Y :ttttfittttttttttttttttt'tttt*ttttttfi*ttittttttttttttfitttttttttttttttttttt POT14: 006130 006136 14 ; PRGO ROUTINE 14 POT1S 100. PO!;A1 * ;ADDRESS OF NEXT ROUTINE JTEST ITERATION COUNT ;SCOPE ENTRY POINT * * * =X+ :ttfitttttitttfittt!fi'ttt*tt'ttfifififittttt*fit'*tififitttitittfi'*itiitittttttlQt ;TEST THAT READER DOES NOT INTERRUPT WITH PROCESSOR AT SAME PRIORITY ;LEVEL AS READER. ggggRV 001212 173022 003714 000100 177776 POPA: 173010 MOV CLR JSR BIS NOP 173002 POPE: RDRLVL ,PSW aPRS %7 ,AREAD #BIT6,aPRS ;SET UP READER INTERRUPT VECTC” ;SET PROCESSOR PRIORITY SAME AS READER PRIORITY. ;DISABLE READER INTERRUPT. ;GO READ A CHARACTER. ;ENABLE READER INTERRUPT. ;0K IF NO INTERRUPT OCCURS. CLR SCOPE ERROR aPRS ;DISABLE READER INTERRUPT. : SCOPE ;ERROR. READER ERRONEOUSLY INTERRUPTED SCOPE TSTA TSTAA sPRIORITY LEVEL THAN SPECIFIED AT RDRLVL. P0Q,100. P0Q,100.,\X+1,\X+2,\Y 15 POT16 100. POQA1 ; PRGO ROUTINE 15 sADDRESS OF NEXT ROUTINE sTEST ITERATION COUNT :SCOPE ENTRY POINT ;WITH PROCESSOR AT SAME PRIORITY LEVEL AS ;THE READER, OR THE READER IS AT HIGHER ;t'ttfitttttttttttttttittt"t'fififififiifi'...*'fi..'fi*ifi't.'fiittitiiiitfitti'tti POT15: X=X+ * * * * ;tttttt'ittttttfittt.fitt'i'tittfiittttii*fittfittfifittt'ttttttttttiifitt"ttt.t sTEST THAT READER INTERRUPTS WITH PROCESSOR AT PRIORITY 1 006214 006216 006220 :THAN READER'S Ségng ;SET UP READER INTERRUPT VECTOR [ 001212 177776 POQA: MOV LEVEL LOWER RDRLVL ,PSW ;SET PROCESSOR PRIORITY ONE LEVEL LOWER 162737 042777 004737 052777 000240 000040 000100 003714 000100 14: 20 PAGE 22 177776 172736 SuB BIC JSR BIS 172724 NOP SEQ 0043 #40,PSW #BIT6,aPRS %7 ,AREAD #BI1T6,aPRS POQB: 104000 SCOPE TSTA TSTAA 2223322323332 POT16: ;ENABLE READER INTERRUPT :NOP sREADER FAILED TO INTERRUPT WITH ;PROCESSOR PRIORITY ONE LEVEL LOWER THAN ;READER. THEREFORE, READER PRIORITY MUST BE ;LOWER THAN SPECIFIED AT RDRLVL ERROR 104015 ; THAN READER PRIORITY ;DISABLE READER INTERRUPT ;GO READ A CHARACTER. POR,100. POR,100.,\X+1,\X+2,\Y 3333323222222 R332 222 R R Rttt dl ; PRGO ROUTINE 16 sADDRESS OF NEXT ROUTINE 16 POT17 100. PORA X=X+1 » 006226 006234 006242 006246 006254 006256 30A(1052) 14=JUN=-78 13=JUN=7 8 12:38 » MACY11 sTEST ITERATION COUNT » % PA611 CZPAAC.PI ;SCOPE ENTRY POINT AR R AR R A AR AR AR AR AR AR AR AR R AR AR AR A PR R AR AR AR AR ARk kA ko *TEST THAT READER DOES NOT REINTERRUPT AFTER RTI WHEN DONE BIT IS NOT CLEARED PORA: 000000 172670 003714 000100 006350 006344 177776 172656 172652 PORC: PORD: PORE : STRDRV PORC MOV CLR JSR BIS NOP ERROR SCOPE MOV MOV RTI NOP SCOPE ;SET READER INTERRUPT VECTOR #PRTYO,P3W aPRS %7 ,AREAD #BI1T6,aPRS #PORE ,@RDRVTR #PORD ,a%6 ;DISABLE READER INTERRUPT. ;GO READ A CHARACTER. ;ENABLE READER INTERRUPT sERROR 1. : SCOPE READER FAILED TO INTERRUPT ;CHANGE INTERRUPT VECTOR TO PORE JRETURN FROM INTERRUPT ;ERROR 2. READER REINTERRUPTED AFTER sRTI WITH DONE BIT LEFT ON ERROR SCOPE TSTA TSTAA ;SET PROCESSOR TO PRIORITY 0 P0S.1000. P0S,1000.,\X+1,\X+2,\Y ;tttttttttttttttttt*ttttti"Q!ttktit'tttfifittitfitifit'itt'tttltittt'ttttttt POT17: ; PRGO ROUTINE 17 sADDRESS OF NEXT ROUTINE sTEST ITERATION COUNT 17 POT20 1000. POSA X=X+1 ;SCOPE ENTRY POINT * * w * A2 2222223223323 3 20 232222 Rt RtR00 202 R Rt R sl :TEST THAT READER INTERRUPTS IMMEDIATELY UPON LOWERING CP PRIORITY TO 0. 172604 POSA: 003714 000100 172572 000340 177776 177776 POSB: STRDRV POSB CLR JSR BIS CLR MOV ERROR SCOPE TSTA ;SET READER INTERRUPT VECTOR TO aPRS %7 ,AREAD #B1T6,aPRS PSW #PRTY7 ,PSW POT,10000. ;DISABLE PTRI. ;READ A CHARACTER. ;ENABLE PTRI ;LOWER PRIORITY TO 0. ;RAISE PRIORITY BACK TO 7. ;ERROR. READER FAILED TO INTERRUPT IMMEDIATELY ;AFTER LOWERING PRIORITY TO O s INTERRUPTS TO HERE IF SUCCESSFUL. PA611 MACY11 CZPAAC.P11 30A(1052) 14-JUN-78 13-JUN-78 12:38 14:20 SEQ 0044 TSTAA 006424 006424 006426 006430 006432 PAGE 23 2233223323233 POT20: 000020 006452 023420 006440 000020 004737 004737 004737 104000 POT,70000.,\X+1,\X+2,\Y 3323223022222 2222222223222 22 22 Rttt dld 20 ; PRGO ROUTINE 20 * 10000. JTEST ITERATION COUNT * POT21 ;sADDRESS OF NEXT ROUTINE PO)T(A1 ;SCOPE ENTRY POINT X=X+ 2222223222338 * 2222382322222 22322 2332233223232 232 * 222 Rttt *READ AND CHECK 10000 CHARACTERS OF SPECIAL BINARY COUNT PATTERN. FULL SPEED. 004352 004064 004274 POTA: JSR %7 ,BSYNC ;SYNC READER; SET ERROR COUNTER. JSR %7 ,BCHECK ;GO CHECK CHARACTER READ. TSTA TSTAA POU,500. POU,500.,\X+1,\X+2,\Y JSR %7 .BREAD SCOPE 2223322323222 POT21: 000021 006510 000764 006474 000021 3 3222323233333 ;GO READ CHARACTER : SCOPE 23333 21 POT22 500. I;OUA1 ; PRGO ROUTINE 21 ;ADDRESS OF NEXT ROUTINE sTEST ITERATION COUNT ;SCOPE ENTRY POINT =X+ R 23232333333332322232332222ttt sl RRARRRRRRRRRRRAR R AR RN AR RRRREAR RN AR RR RN AR AR AR * * * * RN RRERRARARRAA R sREAD AND CHECK 500 CHARACTERS OF SPECIAL BINARY COUNT PATTERN. 012737 177770 004737 004352 104012 004737 004064 004737 *004274 004242 104000 JRANDOM STALL BETWEEN CHARACTERS (0 TO 7 MSECS). #177770,STLMSK MOV JSR %7 ,BSYNC ;SYNC READER; SET ERROR COUNTER POUA: STALL sRANDOM STALL (0 TO 7 MSECS) JSR %7 .BREAD ;GO READ CHARACTER JSR %7 .BCHECK ;GO CHECK CHARACTER READ SCOPE TSTA TSTAA : SCOPE POV, 1000. POV,1000.,\X+1,\X+2,\Y ;ttttt"ttittttttfitttQttitt'titfiitt.ttttt'fitiit.tttititttti.tfittttt.tttt. POT22: 000022 006562 001750 006532 000022 012737 22 POT23 1000. ; PRGO ROUTINE 22 ;ADDRESS OF NEXT ROUTINE sTEST ITERATION COUNT PO)\:A1 ;SCOPE ENTRY POINT X=X+ 2232223332322 177740 004242 000003 004272 004352 004064 004274 004272 * * * * 32 2232320202232 it R Rttt dl ) :READ 1000 GROUPS OF 3 CHARS EACH. STALL (0 TO 31 MSECS) BEFORE EACH GROUP. POVA: POVB: MOV JSR MOV STALL JSR JSR DEC BNE SCOPE TSTA TSTAA #177740,STLMSK %7 .BSYNC #3 ,RNCNT %7 .BREAD %7 ,BCHECK RNCNT POVB ;LIMIT STALLS TO 31 MSECS. ;SYNC READER. SET ERROR COUNTER ;SET CHAR COUNT TO 3. ;RANDOM STALL (0 TO 31 MSECS). :GO READ CHARACTER. ;GO CHECK CHARACTER READ. ;3 CHARS READ? ;BR IF NOT 3 CHARS YET. :SCOPE POX,1000. POX,1000.,\X+1,\X+2,\Y A2l 2223232320232t iR tRd Rttt Rl POT23: 23 ; PRGO ROUTINE 23 1000. :TEST ITERATION COUNT POT24 POXA * :ADDRESS OF NEXT ROUTINE * ;SCOPE ENTRY POINT * * PA611 MACY11 CZPAAC.P1T 30A(1052) 14=JUN-78 13-JUN-78 12:38 14:20 PAGE 24 SEQ 0045 X=X+1 000023 ;ti't.ttttttttttlttttt‘ttt'ttt'ttttttfitttitt'ttt'tttttt'ttttitttitt't'ttt :READ AND CHECK 1000 CHARACTER GROUPS OF RANDOM LENGTH (1 TO 15). 012737 012737 004737 004737 104012 004737 004737 005337 001371 177740 177760 004352 004244 004242 004270 :RANDOM STALL MOV MOV JSR POXA IR POXB: 004064 004274 004272 104000 JSR L JSR DEC BNE SCOPE TSTAA (O TO 31 MSECS) BETWEEN GROUPS. #177740,STLMSK #177760,RCMSK %7.BSYNC ;LIMIT STALLS TO 31 MSECS. ;LIMIT MAY CHAR COUNT TO 15 CHARS. :SYNC READER. SET ERROR COUNTER. %7 .BREAD ;GO READ CHARACTER. %7 .GRCNT %7 ,BCHECK RNCNT POXB :GENERATE RANDOM CHAR COUNT. :GO CHECK CHARACTER. :ALL CHARS READ? :BRANCH IF NOT. : SCOPE POY,1000.,\X+1,LST,\Y :titttttt"itQfifittttttttitttit't..fit'fiiifitit."tt*t'fi.Qtfi'titt'it.tttiti' POT24: 000024 177777 001750 006670 000024 24 POTLST : PRGO ROUTINE 24 :ADDRESS OF NEXT ROUTINE . * POYA :SCOPE ENTRY POINT . 1000. :TEST ITERATION COUNT X=X+ . :ttt.tttttttttt.t.'ttQtQ'tliQttt!t.ttfittt"ttfi'.'tt'fitttti't!tt'.'ttttttt ::EzgoaNEEfigggK 1000 CHARACTER GROUPS OF SPECIAL BINARY COUNT PATTERN. 012737 012737 004737 004737 104012 004737 004737 005337 001371 177740 177700 004352 004244 004242 004270 POYA: POYB: 004064 004274 004272 ;PRG1 012737 006740 013151 004737 000137 004622 001700 104010 MOV MOV JSR JSR STALL JSR JSR DEC BNE 104000 177777 000001 :GROUPS (BETWEEN 1 AND 77). RANDOM STALL BETWEEN GROUPS (0 TO 31 MSECS). 001256 PRG1: SCOPE #177740,STLMSK #177700 ,RCMSK %7 .BSYNC %7 ,GRCNT %7 ,BREAD %7 ,BCHECK RNCNT POYB = PUNCH TESTS y=1 MOV TYPE TITL JSR JMP TSTA TSTAA #P1T0,KSTART ;SYNC READER; SET ERROR COUNTER. s GENERATE RANDOM CHARACTER COUNT. ;RANDOM STALL (0 TO 31MSECS) ;GO READ CHARATER ;GO CHECK CHARACTER READ ;DECREMENT RANDOM CHAR COUNT ;GO READ AGAIN IF COUNT NOT 0. : SCOPE ;ADDR OF 1ST ROUTINE sTYPE TITLE. TO KSTART PC,PCHSEL sSELECT PUNCH. SRSET ;GO GET STARTED. P1A,1000. P1A,1000.,\X+1,\X+2,\Y TR AR R AR AR AR AR AR AR AR AR AR AR AR A A AR AR AR AR AR AR AR AR AR AR P1TO: 000000 006770 001750 006756 000000 012737 005777 104000 O P1T1 1000. =X+ 006764 172222 000004 AR AR AR AR R AR AR AR AR AR AR AR R A AR AR AR AR AR AR AR AR AR AR STEST ABILITY TO REFERENCE THE PUNCH STATUS WORD (PPS) P1AA: MOV TST SCOPE ARk Ak ;SCOPE ENTRY POINT ;1:A1 AR AR kAR ; PRG1 ROUTINE 0 sADDRESS OF NEXT ROUTINE sTEST ITERATION COUNT #P1AB,MACHER aPPS AR AR R AR ARk Rk JREFERENCE PUNCH STATUS WORD : SCOPE * * * * kR MACY11 CZPAAC.P11 14:20 14=JUN-78 13-JUN-78 12:38 30A(1052) PAGE 25 006764 006766 104015 104000 P1AB: 006770 006772 006774 006776 000001 007020 001750 007006 000001 1T 007000 007006 007012 007014 007016 007020 007020 012737 005777 007020 007022 007024 007026 000002 007074 001750 007030 000002 ERROR SCOPE TSTA TSTAA ;ERROR. TRAPPED WHEN REFERENCING PUNCH sSTATUS WORD (PPS). P18,1000. P1B,1000.,\X+1,\X+2,\Y 104000 104015 104000 2Rttt dl ) P1T2 w * P1BA1 ;SCOPE ENTRY POINT * sTEST ITERATION COUNT X=X+1 * IREARARRRRRRRRRRRRRRE AR AR RRRRRARRAAERARRARA AR RRRRARRRRARRARRRARR AR AR 007014 172174 000004 sTEST ABILITY TO REFERENCE THE PUNCH BUFFER (PPB) PIBA: P1BB: MOV TST SCOPE #P1BB ,MACHER aPP8 SCOPE TSTA TSTAA ;PUNCH BUFFER (PPB) P1C,1000. P1C,1000.,\X+1,\X+2,\Y ERROR 2222222222322 PiT2: sSET UP MACHINE ERROR TRAP. sREFERENCE PUNCH BUFFER. : SCOPE : TRAPPED WHEN REFERENCING 3 3233332322333 ¢ P1T3 1000. P1CA1 3222323232332 2R Rttt Rttt Rl ; PRG1 ROUTINE 2 ;ADDRESS OF NEXT ROUTINE sTEST ITERATION COUNT :SCOPE ENTRY POINT X=X+ * * * * 000100 000100 b 042777 032777 001401 104015 b 000100 000100 NN ;tttlQ*'t.tt.tttttttfitfi'tittt*'tttt‘.litl.'tiiifit'ittiitttttttttt'tfittttt 052777 032777 001002 104015 2146 2140 ;TEST ABILITY TO SET AND CLEAR ID BIT (BIT 6) IN PPS P1CA: BIS BIT BNE #BIT6,aPPS #BIT6,aPPS P1(B ;SET ID BIT IN PPS (BIT 6) sCHECK 1D BIT IN PPS sBRANCH IF BIT SET SCOPE BIC #BIT6,aPPS ;PPS ;CLEAR ID BIT IN PPS TSTA TSTAA P1D,100. P1D,100.,\X+1,\X+2,\Y o b N ERROR sl 104000 22 ; PRG1 ROUTINE 1 sADDRESS OF NEXT ROUTINE 1000. b 007030 007036 007044 007046 007050 SEQ 0046 2223222323333 3332233233233 23232333332333 3332333323222 NN 006770 006770 - PA611 P1C(B: 104000 BIT BEQ g?gg? #BIT6,aPPS R ;ERROR. FAILED TO SET ID BIT (BIT 6) IN ;CHECK ID BIT IN PPS ;BRANCH IF BIT IS CLEAR JERROR. ID BIT IN PPS FAILED TO CLEAR :ttttttttttttttittittttt'tttttilittttili.tfi*iiiiifit".ttttttttt.tttti't.i PI1T3: 000003 007130 000144 007104 000003 007130 * . * * =X+ 000100 172072 032777 001401 000100 172062 104015 104000 : PRG1 ROUTINE 3 ;ADDRESS OF NEXT ROUTINE sTEST ITERATION COUNT ;SCOPE ENTRY POINT ;tttttt*tttttttt'tttttt*ttiQtttQit*Qtfittfii!fiitfiit‘t.tttitttt.Qfiti"'tttti 052777 104001 3 P1T4 100. ;12A1 ;TEST ABILITY TO CLEAR ID BIT (6) IN PPS P1DA: BIS SRESET BIT BEQ ERROR SCOPE TSTA TSTAA #BIT6,aPPS #BIT6,aPPS .+ ;SET ID BIT IN PPS. sRESET. ;TEST ID BIT IN PPS. ;BRANCH IF ID BIT IS CLEAR sJERROR. RESET INSTRUCTION rAILED TO sCLEAR ID BIT (BIT 6) IN PPS. P1E.1000. P1E,1000.,\X+1,\X+2,\Y :'titt!tttttttttitittttttttt'Qtttttt.tti.t'fitttttt'tit'tl"tt'ttt'tt.tttl PA611 MACY11 CZPAAC.PI 30A(1052) 14=JUN-78 13-JUN-78 12:38 007130 007132 007134 007136 007140 007144 007146 007150 007152 007152 14:20 P1T4: 000004 007152 001750 007140 000004 105777 100401 104015 104000 PAGE 26 SEQ 0047 4 ; PRG1 ROUTINE & * P1)E(A1 ;SCOPE ENTRY POINT * P1T5S 1000. ;ADDRESS OF NEXT ROUTINE JTEST ITERATION COUNT * * X=X+ :.t.ti'tttt!fittt'ttfitti"ttt't't.ttttt.tttfiit.it't.tttttit.'t'.'tttttt*t' sTEST THAT READY BIT (BIT 7) IS SET FOLLOWING A RESET INSTRUCTION, AND ; THAT THE READY BIT CAN BE READ RELIABLY. P1EA: 172040 TSTB BMI ERROR SCOPE TSTA TSTAA aPPS$ R ;TEST PPS ;BRANCH IF READY BIT SET ;ERROR. RESET FAILED TO SET READY BIT, ;OR FAILED TO READ READY BIT. P1F ,100. P1F,100.,\X+1,\X+2,\Y ;'ttttQtttitttttttitttitttfittfitttttififi'ittfiiifiQttt.t't.fi.itttttttlttt'ii' PiTS: 007152 007154 007156 007160 S ; PRG1 ROUTINE 5 P1T6 100. P'IFA1 * ;ADDRESS OF NEXT ROUTINE sTEST ITERATION COUNT ;SCOPE ENTRY POINT X=X+ w * * 2222322222222 22222 iRt ittt ittt d :TEST THAT READY BIT (BIT 7) OF PPS IS RESET BY LOADING PUNCH BUFFER (PPB) 007162 007170 007176 105777 100001 104015 104000 004540 000000 172002 P1FA: 172010 SRESET JSR MOVB TSTB BPL ERROR SCOPE TSTA TSTAA AR AR P1T6: %7 ,CPRDY #0,aPPB aPPS$ .+ sRESET ;CHECK FOR PUNCH READY ;LOAD O INTO PUNCH BUFFER (PPB) sTEST PPS ;BRANCH IF READY BIT CLEAR ;ERROR. LOADING PUNCH BUFFER (PPB) sFAILED TO RESET READY BIT IN PPS P1G,100. P1G,100.,\X+1,\X+2,\Y AR AR AR AR AR AR A AR AR A AR A AR AR A AR AR AR AR AR A A AR AR AR Ak 6 P117 100. P1§A1 kAR R Ak k& : PRG1 ROUTINE 6 ;ADDRESS OF NEXT ROUTINE sTEST ITERATION COUNT :SCOPE ENTRY POINT X=X+ . ' * * :tttitt.ttttt.ttttt*fittit't'ittlttttitfitfitt*tt*fi'itiiiii"t.t'tttit'ttttt 004540 001206 ;TEST THAT READY BIT P1GA: SRESET JSR MOV INC MovB TSTB BMI ERROR 000000 171740 SCOPE TSTA TSTAA (BIT 7) %7,CPRDY PPB, %0 %0 #0,220 aPPS$ .+ IS NOT RESET BY BYTE LOADING PPB+1. JRESET sCHECK FOR PUNCH READY. ;LOAD PPB+1 sTEST PPS sBRANCH IF READY BIT NOT RESET. ;ERROR. LOADING PPB+1 CLEARED READY BIT. : SCOPE P1H,1000. P1H,1000.,\X+1,\X+2,\Y :ttttttttfittttttttfitfittttttttttfiiii.t.ififi...tfitfiittfifitttl'tl*tt'ttt'tt'.t P1T7: 7 P1T10 1000. P1HA X=X+1 ; PRG1 ROUTINE 7 sADDRESS OF NEXT ROUTINE sTEST ITERATION COUNT ;SCOPE ENTRY POINT * . * * PA611 MACY11 30A(1052) 14=JUN-78 13-JUN-78 12:38 CZPAAC.P1 14:20 PAGE 27 SEQ 0048 :tt.'t.ttt'ttii"ttttit.ittttfififi*fitfifiQtttt*ttttt'tttttttt't'ttt.ttiltttt' ;TEST THAT PUNCH (READY BIT) IS ABLE TO INTERRUPT. sSERVICED, IT WILL HAVE OCCURRED AT CORRECT VECTOR. g{figflv P1HA: 1700 1672 NN — 177776 004540 000100 000100 ;SET UP PUNCH INTERRUPT VECTOR. CLR PSW ;SET PRTY TO 0. BIC #BI1T6,aPPS ;DISABLE PUNCH INTERRUPT JSR Ség %7 ,CPRDY #81T6,aPPS ERROR P1HB: SCOPE TSTA TSTAA 2223233323333 P1T10: 007330 IF THE INTERRUPT .IS sCHECK FOR PUNCH READY. ;ENABLE PUNCH INTERRUPT ;ERROR. FAILURE TO INTERRUPT WITH sPUNCH READY BIT SET. s INTERRUPT VECTOR POINTS HERE. P11,1000. P11,1000.,\X+1,\X+2,\Y 3323332323 323323332333 3333333233333 33 2333230233332 23232R22R2Rdtdl 19 ; PRG1 ROUTINE 10 * 1000. sTEST ITERATION COUNT * P1T11 sADDRESS OF NEXT ROUTINE P1)1(A1 :SCOPE ENTRY POINT X=X+ * * tfiQQ.tt*ttttfifittttttQtt'tittittti'itifi'fitfitt.tttQfittttttttitttt"ttttt't :TEST THAT PUNCH DOES NOT REINTERRUPT AFTER RTI WHEN READY BIT IS NOT RESET. P1IA: CLR 177776 052777 000240 104015 104000 012777 012716 000002 000240 004540 000100 000100 g{?gHV JSR BIC Ség 171632 171624 ;SET UP PUNCH INTERRUPT VECTOR PSW ;SET PRTY TO 0. #P11D,aPCHVTR #P11C,a%6 : SCOPE ;CHANGE INTERRUPT VECTOR TO P1ID s CHANGE INTFRRUPT RETURN ADDRESS. JRETURN rROM INVSRRUPT. %7 ,CPRDY #BIT6,aPPS #BIT6,aPPS ERROR 007406 007402 171620 P1IB: P1IC: 104000 104015 104000 P1ID: SCOPE MOV MOV RTI ;ERROR. PUNCH FAILED TO INTERRUPT. NOP SCOPE ERROR SCOPE TSTA TSTAA ;CHECK FOR PUNCH READY. ;DISABLE PUNCH INTERRUPT ;ENABLE PUNCH INTERRUPT ;ERROR2. PUNCH REINTERRUPTED AFTER RTI WITH JREADY BIT LEFT ON. POP THE STOCK TWICE P1J.,1000. P1J,1000.,\X+1,\X+2,\Y AR AR AR AR AR A AR A A AN AR AR AR AR AR A AR AR AR AR AR AR A R AR A AR AR AR ARk 000011 007466 001750 007426 000011 PI1T11: 11 P1T12 ; PRG1 ROUTINE 11 ;ADDRESS OF NEXT ROUTINE * * P131(A1 ;SCOPE ENTRY POINT * 1000. sTEST ITERATION COUNT X=X+ ;tt.ttttttttttfittttt&!tttttttttQt.tltlifit'.ltttitttit.fi'it.t!ttitit.tt'tt ;TEST THAT THE PUNCH DOES NOT INTERRUPT WITH PROCESSOR AT SAME PRIORITY 007422 007426 007434 007440 007444 104014 007462 013737 005077 004737 052777 * JLEVEL AS THE PUNCH. g{ggHV 177776 171532 P1JA: sSET UP PUNCH INTERRUPT VECTOR. MOV PCHLVL ,PSW ;SET PROCESSOR PRIORITY SAME AS PUNCH. BIS #BI1T6,aPPS JENABLE PUNCH INTERRUPT. CLR JSR aPPS %7 ,CPRDY ;DISABLE PUNCH INTERRUPT. ;CHECK FOR PUNCH READY. PA611 MACY11 CZPAAC.P1T 30A(1052) 14=JUN-78 13-JUN-78 12:38 007452 007454 007460 007462 000240 005077 104000 104015 007464 007466 007466 104000 007466 007470 007472 007474 000012 007544 001750 007502 000012 14:20 PAGE 28 NOP CLR 171524 P1JB: SCOPE ERROR SEQ 0049 aPPS ;OK IF NO INTERRUPT OCCURS. ;DISABLE PUNCH INTERRUPT. : SCOPE ;ERROR. PUNCH ERRONEOUSLY INTERRUPTED ;WITH PROCESSOR AT SAME PRIORITY LEVEL sAS THE PUNCH, OR THE PUNCH IS AT HIGHER SCOPE TSTA TSTAA ;PRIORITY LEVEL THAN SPECIFIED AT PCHLVL. P1k,1000. P1K,1000.,\X+1,\X+2,\Y 12 P1T13 1000. P1KA : PRG1 ROUTINE 12 :ADDRESS OF NEXT ROUTINE JTEST ITERATION COUNT :SCOPE ENTRY POINT ;ttttttt*tttttt.tttttttttttttttttttttt.tttttttttttitttttttttttttttttttttt P1T12: X=X+1 . * * * ;tttttt'itttttfittttfititttttttttitttitktttt.*tt’tfifii'.t.'tittttt*'ttittitt ;TEST THAT PUNCH INTERRUPTS WITH PROCESSOR AT PRIORITY 1 LEVEL LOWER 007476 007500 007502 007510 007516 007524 007530 007536 007540 ;THAN THE PUNCH PRIORITY. 104014 007542 013737 162737 042777 004737 052777 000240 104015 STPCHV 001216 000040 000100 004540 000100 177776 177776 171460 P1KA: 171446 P1kB MOV SuB BIC JSR BIS NOP ERROR PCHLVL ,PSW #40,PSW #BI1T6,aPPS %7 ,CPRDY #BIT6,aPPS ;SET UP PUNCH INTERRUPT VECTOR ;SET PROCESSOR PRIORITY ONE LEVEL LOWER ;THAN PUNCH PRIORITY. ;DISABLE PUNCH INTERRUPT sCHECK FOR PUNCH READY. ;ENABLE PUNCH INTERRUPT. ;PUNCH FAILED TO INTERRUPT WITH PROCESSOR ;PRIORITY ONE LEVEL LOWER THAN PUNCH. s THEREFORE, PUNCH PRIORITY MUST 007542 007544 007544 104000 PIKB: 007544 000013 P1T13: 007546 007550 007552 007554 007556 007560 007564 007572 007600 007604 007612 007614 007616 007616 007616 007620 SCOPE TSTA TSTAA ;BE LOWER THAN SPECIFIED AT PCHLVL. *HERE IF INTERRUPT OCCURS. P1L,1000. P1L.7000.,\X+1,\X+2,\Y :tttttttttttttiitttfl.'ttQittiitttQ'tfiitfi.'..tt'fifit.*fit'ttttfit'ittttt't.t' 007616 001750 007560 000013 104014 007614 004737 042777 052777 005037 012737 104015 104000 13 : PRG1 ROUTINE 13 P1T14 1000. P1LA X=X+1 *ADDRESS OF NEXT ROUTINE *TEST ITERATION COUNT *SCOPE ENTRY POINT . * * N ;tt.t'tttt..tttitttttttt'tttiltt.tfitit.'.tlt..fiififi.ttt"*tt'tt'ittttttttt 004540 000100 000100 177776 000340 ;TEST THAT PUNCH INTERRUPTS IMMEDIATELY UPON LOWERING CP PRIORITY TO 0. STPCHV ;SET UP PUNCH INTERRUPT VECTOR P1LB 171412 171404 PI1LA: JSR BIC BIS CLR MOV ERROR P1LB: SCOPE 177776 TSTA TSTAA %7 ,CPRDY #BIT6,aPPS #B1T6,aPPS PSW #PRTY7 ,PSW ;CHECK FOR PUNCH READY. ;DISABLE PUNCH INTERRUPT ;ENABLE PUNCH INTERRUPT ;LOWER PRTY TO 0. ;RAISE CP PRIORITY BACK TO 7. ;ERROR. PUNCH FAILED TO INTERRUPT IMMEDIATELY JAFTER CP PRIORITY WAS LOWERED TO 0. sHERC IF INTERRUPT OCCURS. P1M,5 PIM,5,\X+1,\X+2,\Y ;tttttttitfi.ttQtttitttttttttttittfittttt.fitt.fittttttl'tt'tttt.tttttt'ttttt 000014 007662 PIT14: 14 P1T15 ; PRG1 ROUTINE 14 ;ADDRESS OF NEXT ROUTINE * . PA611 MACY11 30A(1052) CZPAAC.PI 14-JUN-78 13-JUN-78 12:38 007622 007624 000005 007626 000014 007626 012737 007640 007642 000000 104026 007634 007644 007646 007652 007656 007660 007662 007662 007662 007664 007666 007670 104030 004737 005337 001372 104000 000001 104026 001000 001330 PIMA: MOV #512. ,RCNT 0 INBIN ;INDICATOR sINITIALIZE SPECIAL BINARY COUNT ;GET BINARY CHARACTER %7 ,HSPCH ;GO PUNCH THE CHARACTER RCNT *DECREMENT CHAR COUNT. P1MB BRANCH IF COUNT NOT YET O YET. :SCOPE PIN,5S PIN,S5,\X+1,\X+2,\Y JSR GE TBNP JSR DEC BNE SCOPE TSTA TSTAA %5 ,PFRNT :SET CHARACTER COUNT TO 512 *GO PUNCH FRONT END AND MODE 0 004537 104030 004737 104012 005337 001371 P1T1S: 1§ P1T16 5 P1NA X=X+1 = : PRG1 ROUTINE 15 ;ADDRESS OF NEXT ROUTINE :TEST ITERATION COUNT :SCOPE ENTRY POINT * * * * ttttttt!tttfitfittiitttttt"tfit.Qttttttititttttt.Q..fit't'fittttt'ttttttt'Qt 177720 001000 010122 004242 001330 :PUNCH SPECIAL BINARY COUNT PATTERN IN PUNCH MODE 1 (RANDOM STALLS AFTER ;PUNCHING EACH CHARACTER. MAXIMUM STALL 47 MILLISECONDS) MOV #177720,STLMSK ;SET STALL MASK FOR 57(8) MAX PINA: MOV #S12..RCNT :SET CHARACTER COUNT TO 512. JSR PINB: 004572 001330 104000 1 INBIN GE TBNP JSR STALL DEC BNE SCOPE TSTA TSTAA %5 .,PFRNT %7 ,HSPCH RCNT PINS :GO PUNCH FRONT END, AND MODE 1 s INDICATOR ;INITIALIZE SPECIAL BINARY COUNT. ;GET BINARY CHARACTER. ;GO PUNCH THE CHARACTER. ;RANDOM STALL. :DECREMENT CHAR COUNT. ;BRANCH IF COUNT NOT YET O. ;SCOPE P10,5 P10,5,\X+1,\X+2,\Y ;ttttttttttttttttttttttt"ittttQltttttitttfitittfitt.tttttt'ttttttttttttttt 000016 010034 000005 007762 P1T16: 000016 16 P1T17 5 P10A X=X+1 : PRG1 ROUTINE 16 :ADDRESS OF NEXT ROUTINE :TEST ITERATION COUNT :SCOPE ENTRY POINT ; (RANDOM STALL BEFORE PUNCHING RANDOM LENGTH GROUP OF CHARACTERS). 007746 007754 007762 007770 007774 007776 012737 012737 012737 004537 000002 104026 010004 104012 004737 B * B . 'fiititt.ttl'!ttt.ttttttttittt.ltttfitfifiii.'t.ifitttttttt.t!ttt'tttttttt.t!t :PUNCH SPECIAL BINARY COUNT PATTERN IN PUNCH MODE 2. 010000 * * PlNCH SPECIAL BINARY COUNT PATTERN IN PUNCH MODE O (FULL SPEED) PIMB: 004572 001330 007736 007736 007740 007742 007744 :TEST ITERATION COUNT ;SCOPE ENTRY POINT :tt*ttttttttttttttttttttttttttttttttttt*ttttfitttttfiIttttttttttttttttttttt 007712 007714 007734 007736 SEQ 0050 tttttttttt't'tttttttttttttttitt.ttttttflttitttttttttttttttttttttttt.ttttt 000015 007736 000005 007700 000015 012737 012737 007716 007720 007724 007726 007732 PAGE 29 5 P1MA X=X+1 004537 010122 007672 007700 007706 14:20 177720 177760 001000 010122 004244 004242 004270 001330 :MAXIMUM STALL 47 MILLISECONDS, MAXIMUM GROUP LENGTH =15) MoV #177720,STLMSK ;SET STALL MASK FOR 57(8) MAX. MOV #177760,RCMSK :SET CHAR GROUP MASK FOR 17(8) MAX). P10A: MOV #512. ,RCNT sSET CHARACTER COUNT TO 512. JSR %5 ,PFRNT :GO PUNCH FRONT END AND MODE 2 2 s INDICATOR INSIN ;INITIALIZE SPECIAL BINARY COUNT. P10B: JSR STALL %7 ,GRCNT ;GENERATE RANDOM CHARACTER COUNT :RANDOM STALL. PA611 MACY11 CZPAAC.P1 30A(1052) 14=-JUN-78 13-JUN-78 12:38 010006 010010 010014 010020 010022 010026 010030 010032 010034 104030 004737 005337 001404 005337 001367 000763 104000 010034 010036 010040 010042 000017 177777 000001 010044 14:20 PAGE 30 P10C: 004572 001330 004272 P10D: GETBNP JSR DEC BEQ DEC BNE BR SCOPE TSTAA SEQ 0051 ;GET BINARY CHARACTER. sPUNCH THE CHARACTER. ;DECREMENT CHAR COUNT ;BRANCH IF COUNT IS 0. sNOT 0. DECREMENT RANDOM CHAR COUNT. sBRANCH IF COUNT NOT YET 0. ;BRANCH IF COUNT 0. : SCOPE %7 ,HSPCH RCNT P10D RNCNT P10C P108 P1P,1,\X#1,LST,\Y :tt.tt*fi.t*fififitfifi.tifitttt'tttitt.tfifitit.fifittfi.ttittt.tfiifit'tititfi.tt'fit'i PIT17: 000017 SRR 17 P1TLST 1 P1PA X=X+1 ; PRG1 ROUTINE 17 sADDRESS OF NEXT ROUTINE sTEST ITERATION COUNT :SCOPE ENTRY POINT AR AR AR AR AR AR AR AR AR AR A AR AR AR AR A AR AR R A AR AR AR ARk * * * * ko d ko ;PUNCH SPECIAL BINARY COUNT PATTERN IN PUNCH MODE 3. sSTALL 10 SECONDS, PUNCH 32 CHARACTERS, UNTIL THE ENTIRE PATTERN IS 010044 010052 010056 010060 010062 010064 010066 010074 010076 010102 0107106 010110 010114 010116 010120 012737 004537 000003 104026 104031 023420 012737 104030 004737 005337 001404 005337 001367 000761 104000 001000 C10122 001330 000040 004272 004572 001330 004272 010206 004737 005301 001374 012737 004737 012537 004737 012701 005037 004737 005301 001374 000205 104010 PFRNT : 004572 000377 004572 001332 004572 000004 001332 004572 #512. ,RCNT %5 ,PFRNT ;SET CHARACTER COUNT TO 512. ;GO PUNCH FRONT END AND MODE 3 s INDICATOR. ;INITIALIZE SPECIAL BIN COUNT ;STALL 10 SECONDS #32. ,RNCNT %7 ,HSPCH RCNT P1PD RNCNT P1PC P1PB ;SET GROUP COUNT TO 32. :GET BINARY CHARACTER sPUNCH CHARACTER ;DECREMENT CHAR COUNT ;BRANCH IF COUNT IS O ;DECREMENT GROUP COUNT ;BRANCH IF COUNT NOT YET 0. sBRANCH IF COUNT 0. :SCOPE SLBROUTINE TO PUNCH FRONT END AND MODE CODE (USED BY PRG3). 010122 012701 000024 010126 005037 001332 010132 010136 010140 010142 010150 010154 010160 010164 010170 010174 010200 010202 010204 : COMPLETED. P1PA: MOV JSR 3 INBIN P1PB: DELAY 10000. MoV P1PC: GETBNP JSR DEC BEQ DEC BNE BR P1PD: SCOPE CLR #20..%1 PCHOUT ;PUNCH 20 BLANK CHARACTERS (000) :CLEAR PCHOUT. MOV JSR MOV #377 ,PCHOUT %7 ,HSPCH (5)+,PCHOUT sPUNCH RUBOUT CHAR (SYNC CHAR). JSR DEC BNE 001332 JSR MOV CLR JSR DEC BNE RTS %7 ,HSPCH 21 .=6 %7 ,HSPCH #6,%1 PCHOUT %7 ,HSPCH 2 x5 :PUNCH CHAR. :DECREMENT R1 ;BRANCH IF NOT 20 CHARCTERS YET. sMOVE MODE CODE TO PCHOUT sPUNCH MODE CODE. sPUNCH 4 BLANK CHARACTERS. JEXIT ;PRG2 = PUNCH VERIFY PROGRAM ;THIS PROGRAM VERIFIES TAPE PRODUCED BY PRG1. ;ANY ERRORS FOUND ARE REPORTED. PRG2: TYPE ;TYPE TITLE . PA6TT 14=JUN-78 MACY11 30A(1052) 13-JUN-78 12:38 CZPAAC.P1T 010210 010212 010216 010220 010222 013514 004737 104011 013547 013243 14 :20 PAGE 31 TITL2 JSR 005020 TYPES SEQ 0052 PC,RDRSEL ;SELECT READER. M2 IM6 IM23 000372 000012 004064 001334 001352 001354 ETOA: ETOB: ETOC: MOV MOV JSR 001354 JREAD CHAR ETOD sBRANCH IF NON-ZERO CHAR. ;0 CHAR. DECREMENT CTRB ;BRANCH IF 10 CONSECUTIVE 0'S READ. sNO. DECREMENT CTRA. CRBUF ETOF CTRA 001352 004064 001334 ETOD: DECL ETOE: ERRORN ETOF: JSR 001352 ETOC ETOE CTRA ETOB MOV ;DECREMENT CTRA ;BRANCH IF NOT 250 CHARS READ YET. :SYNC ERROR. 250 CHARS READ WITHOUT ;A SUCCESSFUL SYNC. ;GO TRY AGAIN. ;READ CHAR ETOG sBRANCH IF NON-ZERO CHAR. CRBUF ETOF ETOG: ;BRANCH IF NOT YET 250 CHARS READ. ;250 CHARS READ. SYNE ERROR. ETOA %7 ,BREAD CTRA 001326 001326 001334 ;WAIT FOR USER. 2250 TO CTRA.(TOTAL CHAR COUNT). %7 ,BREAD CTRB 001352 000377 001350 001326 #250. ,CTRA #10.,CTRB ETOE #377 ,ERRT RDRMSK ,ERRT T , CRBUF ERR ETOH ;DECREMENT CTRA ;BRANCH IF NOT 250 CHARS READ YET. ;250 CHARS READ. SYNC ERROR. :COMPARE CHAR READ TO 377. :377.0K. ;ERROR TYPEOUT. ;LEADER ERROR. SHOULD BE 377. 004064 001334 000003 ETOH: gSR ETOA %7 ,BREAD CRBUF 43 ETOI "sSTART OVER ;READ CHAR. ;COMPARE CHAR READ TO 3. ;BRANCH IF SAME OR LOWER. ;ERROR. CONVERT DATA READ TO ASCII. ;SET UP FOR TYPEOUT. ;LEADER_ERROR. SHOULD BE BETWEEN ;0 AND 3. 14=JUN-78 MACY11 30A(1052) CZPAAC.P11 13-JUN-78 12:38 010444 010446 010454 010460 010464 010470 010474 010476 010500 010506 010512 010514 010520 010524 010526 010530 010536 010540 010542 010544 010546 010550 010552 010554 010556 010560 010562 010564 010566 000672 000004 003212 004064 010530 001352 00 1000 004064 010530 001352 0013324 14:20 001352 PAGE 32 ETOI: BR MOV SEQ 0053 CLR JSR ETOA #4 ,CTRA BINR %7 .BREAD ;START OVER. ;4 TO CTRA (CHAR COUNT) BNE ETOJY ;BRANCH IF NOT 4 CHARS READ YET. BNE BR ETOK ETOA JSR DEC INBIN MOV JSR GE TBNR JSR DEC CMP BEQ OACNV BINR %7 ,ECHK CTRA ;CLEAR BINR. EXPECTED CHAR IS 0. sREAD CHAR. ;GO CHECK CHAR READ. ;DECREMENT CTRA ;INITIALIZE SPECIAL BINARY COUNT. #512. ,CTRA ;SET CHAR COUNT TO 512. %7 ,BREAD sREAD CHAR. ;GET BIN CHAR. %7 ,ECHK ;GO CHECK CHAR READ. CTRA ;DECREMENT CHAR COUNT CRBUF ,BINR ECHKA JBRANCH IF NOT 512 CHARS READ YET. ;DONE. START OVER. ;COMPARE CHAR READ AGAINST EXPECTED CHAR. ;BRANCH IF EQUAL. ;CONVERT EXPECTED DATA TO ASCII. 258 OACNV ;CONVERT DATA READ TO ASCII. CRBUF 2UAS ERRORN 5?1 RTS ;ERROR. DATA ERROR. x7 SEXIT ;PRG3 - COMBINFD READER-PUNCH TEST :US%S SPECIAL BINARY COUNT PATTERN. 010570 TYPE 005020 004622 TITL3 JSR JSR TYPES ;TYPE TITLE. PC .RDRSEL PC,PCHSEL ;SELECT READER sSELECT PUNCH. IM3 IM6 1723 - - ON oo = g N — N CHALT INBIN MOV CLR CLR STRDRV WNZERO 003214 000100 177776 170302 STPCHV PBIN GE TBNP MOV BIS CLR égAP ST ; INITIALIZE BINARY COUNTS. #177620,STLMSK ;SET MAX. STALL DELAY. PCHCNT ;CLEAR PUNCH COUNT RBUSY ;CLEAR READER BUSY INDICATOR ;SET PTRI VECTOR. ;SET PTPI VECTOR. BINP ,aPPB #BI1T6,aPPS PSW ; aPPS ;GET BIN CHARACTER sPUNCH IT ;ENABLE PTP] ;SET PRIORITY 0. “TRAP CALL TO CAUSE NOISE. :TEST FOR ERROR. PA611 MACY11 30A(1052) CZPAAC.PT 14=JUN-78 13-JUN-72 12:38 14:20 PAGE 33 SEQ 0054 010702 010704 010706 100004 104010 014707 BPL TYPE SM3 PBNA sBRANCH IF NO ERROR. ;TYPE PUNCH NOT READY sMESSAGE. 010712 010714 010720 010722 010724 010726 010730 010734 010736 010744 010752 010754 010756 000771 105777 100403 104016 015451 177777 005237 104030 013777 023727 103001 000002 105737 170264 PBNA: PBIN aPPS PBNB sRECHECK FOR ERROR. sCHECK FOR DONE. ;BRANCH IF DONE SET. ;ERROR.FALSE PUNCH INTERRUPT. 011124 PBNB: BR TSTB BMI ERRORN EM11 -1 INC GE TBNP MOV CMP BHIS RTI TSTB PCHCNT RBUSY s INCREMENT PUNCH COUNT. ;GET BINARY CHARACTER sENABLE PUNCH sNOT BUSY. PUNCH COUNT 100 YET? ;BRANCH IF YES.. sNOT YET. EXIT INTERRUPT sREADER BUSY? 010764 010772 011000 052737 052777 023727 000200 000101 011124 #8117 ,RBUSY #101,aPRS PCHCNT ,#102. :SET READER BUSY ;ENABLE PTRI AND READER. sPUNCH COUNT 102? 011070 005077 170170 010710 010762 011006 011014 011016 011020 011024 011026 011032 011034 011040 071042 011044 011046 011050 011056 011062 011064 011072 011074 011102 011110 011114 011116 011122 011124 011126 011130 011134 011140 011142 011144 011152 011160 011162 011166 104024 100406 101402 104012 000002 005777 100003 004737 000772 105777 100403 104016 015421 177777 017737 005337 001015 032777 001003 05777 04.737 005077 0207 005277 000207 000000 000000 004737 005737 001001 000002 012777 012737 000402 004737 104027 CHALT 003214 011124 170242 000144 011126 011126 170200 000146 BMI PBNC: PBND: 170154 CREAD: 003772 170140 CRDA: 170126 001334 000100 170112 000100 000200 170064 170102 011126 011124 170056 011020 001324 011162 000003 011020 170036 001344 CRDAA: BIS BIS CMP BLOS CLR STALL RTI TST BPL JSR BR TSTB BMI ERRORN EM10 =1 MOV DEC BNE BIT 8NE BIS CREADA: BIC CLR RTS CREADC: INC RTS PCHCNT: OPEN RBUSY: OPEN WNZERO: JSR TST BNE RTI MOV MOV BR RBIN: JSR RBINA: GETBNR BINP,aPPB PCHCNT ,#100. e PBNC PBND aPP$S aPRS CRDA X7,TSM2 CREAD aPRS CRDAA ;BR IF VYES. :BR IF NOT. :STOP PUNCH. sEXIT INTERRUPT. ;CHECK FOR ERROR. ;BRANCH IF NO ERROR. ;ERROR.TYPE MESSAGE. ;TEST FOR DONE. ;BRANCH IF DONE SET. ;ERROR. FALSE READER INTERRUPT. aPRB, CRBUF ;CHARACTER READ TO CRBUF CREADC ;BR IF NOT 0. #8177 ,RBUSY aPRS x7 aPRS ;YES. CLEAR READER BUSY. ;DISABLE PTRI. SEXIT. sENABLE READER JEXIT. %7 ,CREAD CRBUF R sREAD CHARACTER ;CHECK CHARACTER ;BRANCH IF NON-ZERO CHAR. sZERO. EXIT INTERRUPT. ;SET READER VECTOR TO READ BINARY sCOUNT. SET ERROR COUNTER TO 3. PCHCNT #BIT6,aPPS CREADA #BIT6,aPPS %7 #RBIN,aRDRVTR #3,ERCTR RBINA %7,CREAD sNO. PTPI ENABLED? :BR IF YES. ;NO. ENABLE PTPI. sREAD CHARACTER. ;GET BINARY CHARACTER PA611 14-JUN-78 MACY11 30A(1052) 13-JUN-78 12:38 CZPAAC.P1 011170 011176 023737 001001 000002 104017 003212 015126 000004 003212 14:20 PAGE 34 001334 RBINB: CMP BNE RTI OACNV BINR ASB SEQ 0055 BINR, CRBUF RBINS 4 ;COMPARE AGAINST CHAR READ. sBRANCH IF NOT SAME. sSAME EXIT INTERRUPT. ;CONVERT EXPECTED CHAR TO ASCII OACNV CRBUF AWAS ;CONVERT RECEIVED CHAR TO ASCII ERRORN ;ERROR MESSAGE. DATA ERROR. 4 EM1 001344 100000 011270 000004 001334 011126 167734 001344 011020 001334 001344 004440 011162 000003 100000 167664 001344 011126 004622 -1 DEC BNE RTI BIS RBINC: MOV MOV MOV RTI : RBIND JSR MOV DEC BEQ RTI JSR BR MOV MOV BIC RTI ;PRG4 - PUNCHES PRG4: TYPE TITLS JSR TYPES ERCTR RBINC #BI1T15,RBUSY #RBIND ,aRDRVTR #4 ,ERCTR #CRBUF , %0 %7 ,CREAD , (0) + CRBUF ERCTR %7 ,SYNCA RBINC #RBIN,aRDRVTR #3,ERCTR #BIT15,RBUSY ;3RD ERROR? s YES. sNO. EXIT INTERRUPT. ;DISABLE STALLS. sSET PTR VECTOR TO RBIND. sUSE ERCTR AS CHARACTER COUNTER. ;ADDR OF CRBUF TO XC sEXIT INTERRUPT sREAD CHARACTER ;STORE CHARACTER STARTING AT CHR1 :égg CHARACTER? sEXIT INTERRUPT. NOT 3RD YET. ;GO SYNC THE READER. sNO SYNC. TRY AGAIN. ;SYNCED. SET READER VECTOR TO RBIN. sSET ERROR COUNT TO 3. ;ENABLE STALLS. JEXIT INTERRUPT. 2 CHARACTERS SET IN SR. sTYPE TITLE. PC.PCHSEL sSELECT PUNCH. SR,PCHOUT ;COMMON HALT. WAIT FOR USER. sPUNCH FIRST CHARACTER. IM4 M6 1?23 011374 011400 011406 011412 011414 011416 011420 011424 011426 011430 011432 177570 001332 177571 001332 004572 004572 005020 PRG4A: CHALT MOvB JSR MOvB %7 ,HSPCH SR+1,PCHOUT X7 ,HSPCH sPUNCH SECOND CHARACTER. JSR PRG4A BR :; REPEAT. ;PRGS - READS-CHECKS TAPE PUNCHED WITH CODES SET IN SR TYPE ;TYPE TITLE. PRGS: TITLS PC,RDRSEL JSR sSELECT READER. TYPES IM5 IM6 ImM23 PA611 MACY11 CZPAAC.P11 30A(1052) 14=JUN-78 13-JUN-78 12:38 011434 011436 011440 011446 011454 011460 011466 011472 011500 011506 011510 011516 011520 011524 011532 011536 011542 011544 011552 011554 14:20 177570 177571 004064 001334 004064 001334 001336 001356 001360 001340 001360 001354 000003 004064 001354 001334 001336 SR,CTRC SR+1,CTRD %7 ,BREAD CRBUF ,CHR1 %7 ,BREAD CRBUF , CHR?2 HTOA: 001340 001356 001344 ;COMMON HALT. WAIT FOR USER. ;STORE EXPECTED CHARACTERS. ;IN CTRC AND CTRD. JMATCH CHARS ON TAPE AGAINST EXPECTED CHARS. ;READ CHAR INTO CHR1 ;READ CHAR sINTO CHRZ2 :(CHR1)=(CTRC)? sNO. sYES. (CHR2)=(CTRD)? JNO. MATCH ERROR. ;YES. NEXT CHAR SHOULD = (CTRC) (CTRB=0) ;3 TO ERROR COUNTER. HTOB: HTOC: ;READ (CHAR HTOF CRBUF ,CTRC HTOC 001356 ;COMPLEMENT CHAR INDICATOR ;BRANCH IF EXPECTED CHAR SHOULD = (CTRD) :(CRBUF) = (CTRC)? sYES. JNO. (CTRC) TO ASB IN ASCII FORM. ;(CRBUF) TO AWAS IN ASCII FORM, HTOD: 011564 011566 011674 011676 011700 011704 SEQ 0056 177777 011556 011560 011562 011570 011572 011574 011576 011600 011602 011606 011610 011612 011620 011622 011630 011632 011640 011642 011650 011652 011654 011656 011660 011662 011664 011666 011670 011672 PAGE 35 JERROR 1 CALL. TYPE DATA ERROR MESSAGE. ;3 ERRORS? 001344 001336 001360 001340 001356 177777 001354 001334 001360 ;YES. START ALL OVER. sNO. CONTINUE READING. HTOE: s (CHR1) = (CTRD)? sNO. MATCH ERROR. ;YES. (CHR2) = (CTRC)? ;NO. MATCH ERROR. :YES. NEXT CHAR SHOULD = (CTRD) HTOF: ;GO START READING. s (CRBUF) = (CTRD)? ;YES. OK. CONTINUE READING. sNO. (CTRD) TO ASB IN ASCII FORM. BEQ OACNV CTRD ASB 4 HTOG: BR ERRORN EM6 -1 BR HTOD ;GO GENERATE ERROR MESSAGE. sMATCH ERROR. UNABLE TO MATCH UP ;2 CONSECUTIVE CHARACTERS FROM READER HTOA ;TO CHARACTERS READ FROM SR. ;PRG6 - READ X CHARACTERS, STALL Y MILLISECONDS. PRG6: 005020 sTYPE TYPE TITL6 JSR TYPE PC,RDRSEL TITLE AND INSTRUCTIONS. ;SELECT READER. 14:20 PA611 MACY11 30A(1052) 14-JUN-78 13-JUN-78 12:38 CZPAAC.P1T b NN 177570 177571 I1TA: Gm 4 113737 001405 011754 011760 - 005037 005037 113737 o 104024 ITB: 003714 011760 ITC: $TYs ITX: ;PRG7. PRG7: 011762 011764 011766 011772 011774 011776 004622 CHALT CLR ITY ITX CLR MovB SR,ITY ;MOVE STALL COUNT TO ITY. MovB SR+1,1TX ;MOVE CHAR COUNT TO ITX. BEQ ITC ;BR IF COUNT 0. %7 ,AREAD sFETCH CHARACTER. JSR DECB ITX ;DECREMENT CHAR COUNT. BNE ITB ;BRANCH IF COUNT NOT 0. DELAY sREAD CHARS. STALL NOW. OPEN sSTALL COUNT IN MSECS. sREPEAT BR ITA OPEN PUNCH SPECIAL BINARY COUNT PATTERN TEST TAPE sTYPE TITLE. TYPE TITL? PC.,PCHSEL sSELECT PUNCH. JSR TYPES 1?16 CHALT 000024 001332 004572 012026 012032 PRG7A: PRG78B: 004572 MOV CLR JSR DEC BNE INBIN GE TBNP JSR BR #20.,-(6) PCHOUT PRG10: 005020 TYPES sPUNCH 20 BLANK CHAR. LEADER PRG7A ;INITIALIZE SPECIAL BINARY COUNT sGET BINARY CHARACTER. X7 ,HSPCH sPUNCH CHARACTER PRG7B TYPE TITL10 JSR ;WAIT FOR USER. %7 ,HSPCH az6 ;PRG10 - READER SPEED PRINT LOOP 012034 012036 012040 012044 PC .RDRSEL ;REPEAT. JTYPE TITLE ;SELECT READER. IM10 1724A 001356 001354 040000 177570 000416 000036 001356 001356 KTA: 004064 001352 001354 001356 177570 012126 012132 012140 012144 012146 012152 SEQ 0057 IMm7 013371 oo 011706 011710 011712 011716 011722 011730 011736 011740 011744 011750 011752 011754 011756 011760 PAGE 36 014732 012254 KTB: KTC: 001352 KTD: KTE: KTF: CHALT CLR CLR BIT BEQ MOV ADD BR JSR DEC BNE INC MOV TST BPL JSR SM& CTRC CTRB JHALT. WAIT FOR USER. ;CLEAR WORK REGISTERS #B1T14,SR KTB ;DETERMINE WHETHER 30 OR 2300 SECOND TIMING IS DESIRED %7 ,BREAD CTRA KTE sREAD CHARACTER. ;DECREMENT CTRA sBRANCH IF CTRA NOT 0. CTRC,CTRA SR JRELOAD CTRA. ;TIME UP? #270.,CTRC #30.,CTRC KTD CTRB KTC %5.,CPKPL ;SET UP FOR DESIRED TIME BASE. ;CTRAO.+1 :NO. TO CTRB. ;GO TYPE OUT DEVICE SPEED. PA611 MACY11 CZPAAC.PI 012154 012156 012160 012162 012166 012170 012172 012174 012176 012200 012204 012210 012212 012216 14=JUN-78 30A(1052) 13-JUN-78 12:38 14:20 000737 BR 104011 PRG11: 004622 104024 KTA=2 TYPE TITLNM JSR TYPES PC,PCHSEL ;GO HALT. sTYPE TITLE. sSELECT PUNCH. IM16 1?24A 013314 014302 177777 005037 005037 SEQ 0058 :PRG11 = PUNCH SPEED PRINT LOOP 104010 014454 004737 PAGE 37 001354 001332 WE 004572 001352 LTB: 001354 000074 177570 001352 LIL? LTD: 012254 LTE: 012272 : CPKPL CHALT CLR CLR BR JSR DEC BNE INC MOV TST BPL JSR SM5 BR MOV BDCNV CTRB ACPS CTRB PCHOUT LTC X7 ,HSPCH CTRA LTD CTRB #60.,CTRA SR LTB %5, CPKPL LTA=2 (5)+,CPKPLA 3 CPKPLA: JPUNCH A O ;DECREMENT (CTRA :BRANCH IF CTRA NOT 0 ;s INCREMENT CTRB. ;MOVE 60 TO CTRA ;TIME UP? :NO. ;GO TYPE OUT DEVICE SPEED. ;GO HALT AND READY UP FOR NEXT TIME. ;MOVE ADDR OF 1ST MESSAGE TO CPKPLA. ;CONVERT (CTRB) TO DECIMAL ASCII. ;TYPE TYPES OPEN AgPS RTS JHALT. WAIT FOR USER. ;CLEAR WORK AREAS. %5 2EXITY. DEVICE SPEED. PA61T MACYT CZPAAC.P1T 14=JUN-78 30A(1052) 13-JUN=-78 12:38 14:20 PAGE 38 SEQ 0059 :PA611 ADDITIONAL CODE TO CHECK PUNCH LOGIC AND READER LIGHTS MODIFIED: :PROGRAMMER: MARCH 15, 1975 MIKE MITCHELL *PROBLEM CORRECTED: PUNCH GETS HUNG WHEN RUNNING OUT OF : AND OPERATOR TURNS PUNCH OFF. : BY KEEPING READY LOW. : TAPE THIS PREVENTS THE PUNCH FROM FINISHING THE PUNCH CYCLE *PROBLEM FIX: : ADDITIONAL LOGIC ALLOWS PUNCH TO BE RE-INITED UNDER PROGRAM CONTROL. ;THIS CODE RUNS UNDER OPERATOR INTERVENTION. 012302 012304 MONE: ZERO: 177777 000000 177777 O ;BINARY ONE PATTERN ;ZERO PATTERN :PROGRAM 12---HIGH SPEED PUNCH PROGRAMMABLE INIT TEST 012306 012310 012312 012316 012320 012322 012324 012326 PRG12: 104010 015705 004737 104011 013314 014041 177777 004622 000006 012444 012302 012372 012304 012372 TITL12 45255 Y 104024 012330 012336 012342 012350 012354 012362 012366 TYPE 166646 PG12B: 001332 PG12A: 001332 012342 PC,PCHSEL STEXT '%XPRG12--PROGRAMMABLE "SELECT THE PUNCH IM16 1723 :TEXT "MAKE PUNCH READY'' “TEXT "HIT CONTINUE' CHALT :WAIT FOR OPERATOR. BIC JSR MOVB JSR MOVB JSR JMP #6 ., aPPS PC.TSTPUN MONE ,PCHOUT PC,HSPCH1 ZERO,PCHOUT PC,HSPCH1 PGi2A INIT TESTa' :DISABLE PUNCH INTERRUPT. *CHECK *PUNCH ‘DO IT "PUNCH FOR PUNCH READY. BINARY 1 PATTERN. HERE. BINARY ZERO PATTERN. :LOOP *HIGH SPEED PUNCH ROUTINE 012372 000240 012374 012402 043737 013777 00 1346 00 1332 012410 012414 012416 012424 012432 004737 000000 052777 032737 001371 012476 HSPCH1: NOP 000400 040000 001332 ;PUNCH THE CHARACTER 166576 166560 177570 1%: BIC MOV PCHMSK ,PCHOUT PCHOUT ,aPPB JSR HALT BIS PC,TIMER BIT BNE #400,aPPS #B1T14,SR % : DEBUG. ;LOAD PUNCH BUFFER. ;WAIT FOR DONE ;IN A TIMEOUT LOOP. s TIMED-OUT RETURN JRE=INIT PUNCH. :SCOPE LOOP ENABLED??? ;YES,LOOP UNTIL SR14=0. PA611 MACY11 CZPAAC.P1 30A(1052) 14=JUN=-78 13-JUN-78 12:38 012434 012440 004737 000000 14:20 PAGE 39 012476 JSR PC, HALT SEQ 0060 TIMER sRE-CHECK THE DONE BIT. sFATAL ERROR: DONE BIT WAS NO JRESET BY THE INIT INSTRUCTION. JELSE RETURN IS TO THE NEXT INSTRUCTION. 012442 000207 RTS PC SEXIT ;OUTPUT ERROR ME SSAGE OF PUNCH NOT READY :IF ERROR BIT 15 SET OR BIT 7 NOT SET. 012444 012450 012452 012456 012460 012462 012464 012466 012470 012472 012474 005777 100404 105777 100001 000207 104011 014707 TSTPUN: TST 166534 166526 HSPCH2: TYPES aPPS HSP(H2 aPPS HSPCH2 PC :"PUNCH NOT READY'' :"MAKE PUNCH READY'' 013314 : TERMINATOR 177777 104024 000763 TSTPUN ;LOOP AGAIN *TIMER ROUTINE F OR HIGH SPEED PUNCH ‘WAITS FOR READY FLAG IN LOOP *IF READY COMES UP WITHIN ALLOWABLE TIME ; RETURN IS TO CALL+2 SELSE INIT IS ISSUED TO HSP AND PROGRAM HALTS AT CALL+1 012476 012504 012506 012512 012514 012520 012737 177200 001354 166464 TIMER: MOV TIMER1: NOP INC BEQ TSTB BMI ;JREADY NOT SET, DELAY 012522 012524 012526 10. BR 012530 012532 012534 012540 001354 TIMER2: NOP RTS 000002 TIMER3: ADD RTS #-600,CTRB sMAXIMUM=600 MS DELAY CTRB ;UP COUNTER aPPS TIMER3 ;READY BIT SET? ;YES, OK TIMERZ2 : TIMED-OUT...ERROR. SO DELAY 10 MS AND CHECK AGAIN. TIMER1 ;10 MILLI SE DELAY. ;GO CHECK AGAIN. PC JRETURN TO CALL+1 gg,(SP) ;RETURN TO CALL+2 IF NO ERROR *ADDITIONAL CODE TO PROVIDE READER LIGHT TEST UNDER OPERATOR * INTERVENT ION. ;USE SWITCH 8 TO TURN READER LIGHT OFF, JUSE SWITCH 1201 ) TO SELECT NEW READER TO TEST. PA611 MACY11 CZPAAC.P1 012542 012544 30A(1052) 14=JUN-78 13-JUN-78 12:38 14:20 104010 015753 PRG13: 012546 012552 012554 012556 012560 004737 104011 016005 016066 177777 005020 012562 013700 177570 000400 012574 012602 052777 032737 000400 040000 166376 177570 010000 177570 012566 012572 012610 012612 012614 012622 012624 032700 001773 001371 000000 032737 001351 000752 PAGE 40 SEQ 0061 TYPE ;OUTPUT TEST HEADER. TITL13 PRG13C: JSR PC,RDRSEL PRG13B: TYPES IM13A IM138 =1 ;SW8=1 TO TURN LIGHT OFF. PG13A: MOV SR,RO BIT #400,R0 BEQ PG13A 1%: BIS BIT BNE HALT BIT BNE BR #400,aPRS #BIT14,SR 1% #10000, SR PRG13( PRG138 ;TEXT 'PRG13--READER LIGHT TEST'' ;SELECT READER VIA SWR. ;OUTPUT MESSAGE: sTEXT "‘TURN LIGHT ON VIA RDR SWITCH' sTEXT "USE SW8 TO TURN LIGHT 3 OFF"' ;CHECK BIT 8. ;SWITCH DOWN, NO ACTION REQUIRED. ;ELSE TURN LIGHT OFF. ;1S SCOPE LOOP SET? ;YES, LOOP UNTIL SR14=0. sWAIT FOR OPR TO HIT CONTINUE ;CHECK FOR SELECT NEW READER. ;YES, SELECT NEW READER. 14=JUN-78 PA611 MACY11 30A(1052) 13-JUN-78 12:38 CZPAAC.PIT 012626 022445 120 14:20 PAGE 41 : APGEND LASCII SEQ 0062 PA611 MACY11 CZPAAC.P1T 012631 012636 012641 012646 012654 012662 30A(1052) 14=-JUN-78 13-JUN-78 12:38 040 027104 045 040526 SEQ 0063 END.3' APN : LASCII ' 047111 020104 040522 (M2: LASCII "%%?INVALID PROGRAMa' 053116 052040 CMm3: LASCII 'XX?INVALID TESTQ' 020124 052120 020056 046101 05151 030060 ASETSR: .ASCII "X%SET SR OPTIONS. NORMAL SR IS 0000003’ 054524 020124 040505 052520 042524 042520 030461 042504 041516 052123 PGTIT: .ASCII "XXTYPESET 11 READER-PUNCH TESTSZa' 042522 020124 040522 052123 051120 027115 RUNINS: .ASCI]!I 'XRESTART PROGRAM.a' 042523 053440 042122 041505 020124 052111 030122 047524 MSVCTR: .ASCII '%SET SR WITH RDRO VECTOR.?' 042523 043117 042504 020116 020124 051040 051522 051123 SELRDR: .ASCII 'XSET # OF READERS IN SR.a' 052105 021440 052520 020123 027122 SELPCH: .ASCII "%SET # OF PUNCHES IN SR.a' 043522 047125 051505 YIiTLY: .ASCH '%%PRG1. PUNCH TEST.a' 043522 052517 TITL7: .ASCII 'X%PRG7. COUNT PATTERN TAPE GENERATOR.?' 042513 042504 042101 IM6: JASCII '%MAKE READER READY.a' 100 100 013264 PAGE 42 047105 020?40 00 037445 044514 043517 044477 051040 020122 027131 14 :20 PA611 MACY11 CZPAAC.P1 30A(1052) 14=JUN-78 13=JUN=7 8 12:38 013267 14: 20 PAGE 43 SEQ 0064 043522 040505 042524 TITLO: .ASCII '%%PRGO. READER TEST.a' 020105 020110 IM6: .ASCII '%MAKE PUNCH READY.a' 043522 042522 020054 020114 TITL6: .ASCII 'X%PRG6 - READ X, STALL Y.a' 020124 052040 020070 027117 IM17: .ASCII 'XSET SR15 TO SR8 TO NO. OF CHARS TO READ,' LASCII '%SET SR7 TO SRO TO NO. OF MSECS TO STALL.d' TITL2: .ASCII 'X%XPRG2. PUNCH VERIFY TEST.a' Im2: LASCII 'XLOAD READER WITH TAPE PRODUCED ' LASCII 'BY PRG1.3' TITL4: L.ASCII "%%PRG4. PUNCHES 2 CODES SET IN SR.@' IM4: LASCII 'XSET CODES TO BE PUNCHED IN SR.a' TITLS: .ASCII '%XPRG5. READS TAPE PUNCHED WITH CODES SET IN SR.a' 027131 044103 047524 026104 051440 020117 051505 042101 042504 044124 020105 041525 051120 032107 013744 045 027065 051504 020105 052520 PA611 MACY11 30A(1052) 14=JUN-78 CZPAAC.PT 13-JUN-78 12:38 14:20 PAGE 44 SEQ 0065 013752 013760 013766 013774 042510 044124 051505 044440 020104 041440 051440 0207116 044527 042117 052105 051123 . 014004 051445 052105 041440 IMS5: LASCII "%SET CODES TO BE READ IN SR.a' ; 014041 040 051120 00 051505 1IM23: _ASCII ' PRESS CONTINUE.Q]' 014062 022445 051120 030507 TITL10: .ASCII 'XXPRG10. RDR SPEED TEST.a' 014104 052040 051505 027124 014113 014120 014126 014134 014142 040440 050101 050117 042522 045 047514 054516 020105 044440 042101 042101 052040 047514 020116 051105 IM10: .ASCII 'XLOAD ANY TAPE LOOP IN READER ' 014151 014156 014164 101 045501 042101 042116 020105 027131 046440 042522 LASCII 'AND MAKE READY.' PA611 MACY11 CZPAAC.P1 30A(1052) 14=JUN-78 13=JUN=-7.8 12:38 014170 014262 051445 052105 020064 030440 031440 041505 046511 047440 020124 020117 020122 14:20 051440 047524 043040 030060 040 047111 020122 052111 020060 030063 PAGE &5 SEQ 0066 LASCII '%SET SR14 TO A 1 FOR 300 SEC ' LASCII 'TIMING, OR SET IT TO O FOR 30 ' PA611 MACY11 CZPAAC.PI 014263 014270 014276 30A(1052) 14-JUN-78 13-JUN-78 12:38 123 020104 043516 041505 044524 040056 14:20 047117 044515 PAGE 46 LASCII SEQ 0067 'SECOND TIMING.a' PA611 MACY11 30A(1052) 14-JUN-78 13-JUN-78 12:38 CZPAAC.PI 014302 014310 014316 014324 014332 014340 014342 014350 014356 050045 041440 052516 051440 052040 027107 051445 020122 020117 14:20 051523 044524 047524 052122 047111 PAGE 47 IM24A: SEQ 0068 LASCII "%PRESS CONTINUE TO START TIMING.' LASCII 'XSET SR 15 TO A 1 AT END OF LASCII 'TIMING PERIOD TO OBTAIN DEVICE SPEED LASCII 'TYPEOUT.a' ' 052105 032461 020101 042440 020106 044515 051105 047524 044501 044526 042520 051440 050131 047505 TITL1: LASCII *X%PRG11. PCH SPEED TEST.a' 042520 051505 030507 044103 042105 027124 050045 041440 042516 042101 047125 051505 043522 046517 020104 051105 044103 027124 TITL3: .ASCII *%XPRG3. COMBINED READER-PUNCH TEST.a' 040515 042513 044103 054504 041516 047101 042101 IM3: .ASCII 'XMAKE PUNCH READY, PUNCH BLANK LEADER, LASCII 'LOAD READER.a' SM1: LASCII '%READER ERROR BIT SET.a' SM2: LASCII 'XREADER NOT READY.Qa' ' 042105 051040 027122 042101 051122 052111 040056 042504 020124 027131 PA611 MACY11 CZPAAC.P1T 30A(1052) 14=JUN-78 13-JUN-78 12:38 014707 014714 014722 014730 014732 014740 014746 014754 014762 014770 014775 015002 015010 015016 015021 015024 015031 015036 015C40 015046 015054 015055 015062 015064 015072 015100 015103 015110 045 044103 051040 040056 022445 051105 042105 022445 020110 020104 040 044103 042520 027103 045 020040 040 041520 020040 020040 040 040 040956 020040 020040 022440 040 020101 14:20 PAGE 48 SEQ 0069 050045 047040 040505 047125 052117 054504 SM3: LASCII "XXPUNCH NOT READY.a' 042522 051440 035040 052520 050123 020072 020040 051101 020122 100 050045 020040 020040 042101 042520 040040 041516 042505 100 020040 020123 042523 SM4: LASCII "XXREADER SPEED : @' SM5: LASCII "XXPUNCH SPEED : @' ACPS: .ASCII ‘' EMO: APNUMB: ATNUMB: LASCII .ASCII .ASCII "%XP* ° ' PC' 020040 041511 020040 052116 APC: LASCIT ° 020040 020040 AICNT: .ASCII 050106 020040 100 042040 020103 020040 FPCMSG: AFPC: .ASCII .ASCII ' ' FPC 052101 EM1: .ASCII ' DATA ERROR 041057 ASB: JASCI] * WAS: AwWAS: EM2: ASCII LASCII ' a' ' REREAD ERROR. 051105 1246 020040 047522 CHARS PER SEC.@' ICNT * .2’ °* X' S/B: ' 015116 020122 051440 015126 015134 015141 015146 020040 040527 040 051040 020040 035123 020040 051105 020040 040 040040 040505 015170 020124 042522 042101 015200 020040 020040 020040 ORGRD: .ASCII ° 015213 015220 015226 040 051440 051105 020040 047131 047522 040040 020103 027122 SUBRD: EM3: .ASCII LASCII ° Q' ' SYNC ERROR.Q' 042514 042440 020056 042101 051122 051440 EM4: .ASCII 'XLEADER ERROR. 020040 040 040040 042504 047522 041057 042527 ESB: LASCIT * EWAS: EMS: .ASCII LASCI1 ° ?' 'XLEADER ERROR. S/B BETWEEN ' 015206 015234 015235 015242 015250 015256 015262 015270 015275 015302 015310 015316 015324 015332 040527 100 045 051105 051117 041057 020040 040527 040 046045 020122 027122 041040 047105 035123 020072 020040 035123 020040 040505 051105 051440 052105 040 040 WAS: WAS: ' ' 1ST READ: ' ¢ S/B: ' ' PA611 MACY11 CZPAAC.P1 015335 015342 015350 015354 30A(1052) 14=JUN-78 13-JUN-78 12:38 060 031440 020123 020040 040 020110 02712§ 04 051104 047520 100 040 020105 14: 20 PAGE 49 SEQ 0070 ' LASCII 'O AND 3. WAS : FWAS: EM6: .ASCII LASCII . 051040 051505 027105 EM7: LASCII "%NO RDR RESPONSE.Qa' 040506 042522 044440 052522 051514 042101 EM10: .ASCII ' FALSE READER INTERRUPTA' 040506 051514 041516 042524 040124 051040 044440 020056 051123 020106 042526 EM11: .ASCII ' SRDRM: .ASCII "XSET RDR # IN SR. SET SR15 IF 6 LEVEL.®' 020124 020043 027122 051440 043111 053105 SPCHM: .ASCII "XSET PCH # IN SR. SET SR15 IF 6 LEVEL.®"' 040526 042122 027110 INVRP: _ASCII '%X?INVALID RDR/PCH.Q’ 020122 046105 027104 RDRIDM: ARDRID: .ASCII .ASCII '%RDR * 020110 046105 027104 PCHIDM: APCHID: _ASCII .ASCII '%PCH * ' SELECTED.a' 043522 051120 TITL12: .ASCII '%XPRG12--PROGRAMMABLE INIT PUNCH TESTa' TITL13: .ASCII '%PRG13--READER LIGHT TESTa' 040440 020056 020072 020040 040515 051105 042116 040527 100 041524 047522 047516 051040 051516 100 020124 020110 100 051120 051055 020122 a' ' MATCH ERROR.Q?' 052116 052120 ' FALSE PUNCH INTERRUPTQ' SELECTED.@' 046515 044440 052520 042524 030507 040505 044514 PA611 MACY11 CZPAAC.PI 015774 016002 016005 016012 016020 016026 016034 016042 016050 016056 016064 016066 016074 016102 016110 016116 016124 14=JUN-78 30A(1052) 13-JUN-78 12:38 044107 052123 045 020116 051040 047117 051440 040110 050045 034127 020061 051125 044107 027106 001450 PAGE 50 SEQ 0071 020124 0462524 052045 044514 051125 044107 051040 020122 040511 041440 046117 IM13A: LASCII "%XTURN LIGHT OF READER ON VIA RDR CONTROL SWITCHa' 051440 020117 022040 044514 043117 IM138: LASCII *%PUT SW8 TO 1 .END START 100 040505 047117 14:20 051104 051124 044527 052125 052040 047524 020116 020124 100 041524 TO TURN LIGHT OFF.a' CZPAAC.PI 30A(1052) 14-JUN-78 13-JUN-78 12:38 i = 100000 ACPS 014775 ADTENP 003600 AFPC 015072 AICNT 015055 APC 015040 APCHID 015670 APGEND 012626 012631 APN APNUMB 015024 ARDB 003754 ARDC 003764 ARDRID 015646 003714 AREAD AROUND 001614 ASB 015126 ASETSR 012704 ATNUMB 015031 AWAS 015141 B = 04 BCHECK 004274 BDCNV = 104020 BDCNVA 003470 BDCNVB 003520 BDCNVC 003522 BDCNVD 003524 BDCNVV 003436 = 000007 BELL 003214 BINP BINR 003212 BITO = 000001 BIT1 = 000002 BIT10 = 002000 BIT11 = 004000 BIT12 = 010000 BIT13 = 020000 BIT14 = 040000 BIT15 = 100000 BIT2 = 000004 BIT3 = 000010 BIT4 = 000020 BITS = 000040 BIT6 = 000100 BIT7 = 000200 BIT8 = 000400 BIT9 = 001000 003424 BMOVA BMOVE = BMOVWW BRCTR BREAD 104023 003414 004210 004064 BREADA BREADB 004132 004146 1224 2036 H 6 14:20 PAGE 52 CROSS REFERENCE TABLE == USER SYMBOLS 2040 6164 SEQ 0072 238%# 24034 24004 23974 24L784 21754 21764 23944 659 1147 1172 1193 1218 1961 773 1732+ 1745 1748 1842 1846 946 1370 1781 947 1371 1823 961 1385 1825 963 1387 - MACY1 1148 1477 n~n 1478 755 1739 756 1902 758 1904 760 1912 1253 1270 1291 663 1073 1104 1127 1847 1919 1941 24094 1851 1923 24114 1254 1271 1292 1313 1798 738 769 771 2098 1873 2169 941 1366 1551 754 1733 2034 6014 1780 734 462 122 414 1219 1530 1804 940 1826 —_ PA611 317 7114 1698 710 1720 1236 2001 MACYN CZPAAC.PI BREADC 004172 BSYNC 004352 C = 020000 000774 CACHE CCHE 001612 CHAINN 002012 CHALT = 104024 CHLT CHNA CHNAA CHNAB CHNAC CHNB CHR1 CHR2 CHR3 CLNUP CLNUPA CLNUPB M2 M3 CNVCTR CPKPL CPKPLA CPRDY CPRDYA CRBUF 002542 002044 002062 002040 002030 002100 001336 001340 001342 005174 005222 005242 012641 012664 003572 012254 012272 004540 004556 001334 CRDA CRDAA CREAD CREADA CREADC CTRA CTRB CTRC CTRD CURTST DECVAL DELAY = DIGIT DLCNT 011034 011050 011020 011102 011116 001352 001354 001356 001360 001260 003612 104031 003574 003124 DLCTR DLYAN DLYBN DLYCN DLYN ECHK ECHKA EHALT = EHLT EHLTA EMTINT EMTTAB EMTV 30A(1052) 14-JUN-78 13-JUN-78 12:38 003126 003104 003110 003120 3 010530 010566 104025 002554 002564 002176 001364 000030 702 750 1244 L 6 I 14:20 PAGE 53 CROSS REFERENCE TABLE == USER SYMBOLS 7054 7534 260 2624 3024 SEQ 0073 763 1235 1251 1267 1288 1309 244 1899 250 1955 1975 255 273 1993 no PAG1T 019 300 2076 800 2121 774 776 778 1074~ 1075+ 1076 1076 1082 1086 1903+ 1905+ 1906 1908 1931 1933 1456 1476 1504 1529 1549 759 1850 761 1862 1685 1865 1699 1731~ 1935« 1933 1735« 1995 1994 1738+ 2004« 1998+ 1742+ 1013 1641 850 1481 1770 1706 1905 1713 1915 1721 1922 1724 1937 2020+ 1999+ 2002+ 2026+ 2005 2005+ 2035 2024 2130+ 2027+ 2132« 1964 2138 814 6134 20334 803 7964 734 1820« 1903 1833 1689~ 1687+ 1906 1908 333« 651 610+ 5174 17454 341 1940 14=JUN-78 MACY11 30A(1052) 13-JUN-78 12:38 CZPAAC.P11 PA611 14:20 126# 2034 015021 015103 015421 015451 015146 015220 015235 015302 015361 015377 001344 002566 002714 002576 002702 002716 002734 104015 461 746 708 1794 1090 786 1717 1728 1945 656 1924 215 443 23934 1756 1818 24514 24124 1695 24234 24304 24394 693 748« 434H L44% 4620 434> L4704 469 436 ERRORN= 104016 1130 1440 2174 1817 1152 1460 EMTX = 000032 EMO EM1 EM10 EM11 EM2 EM3 EM4 EMS EM6 EM7 ERCTR ERR ERRB ERRN ERRNA ERRNB ERRNC ERROR = ERRT ESB ETOA ETOB ETOC ETOD ETOE ETOF ETOG ETOH ETOI ETOJ ETOK EWAS FORWD FORWDA FPC FPCMSG FSTPCH FSTRDR FSTVCT FWAS GETBNP= GETBNR= GETRDY GORUN GRCNT GRCNTA GTBINP GTBINR GTRDYA 001326 015262 010232 010240 010246 010276 010304 010314 010336 010412 010446 010460 010506 015275 002136 002162 001362 015064 001222 001220 001244 015354 104030 104027 001712 001750 004244 004246 003216 003274 001734 2154 228# 216 2164 2164 435 912 655 1853 J PAGE 54 074 2204 2084 2214 209# 2224 2104 2234 1838+ 1856+* 1861+ 1866+ 1872+ 4654 LE7> 468 949 1203 1509 707 1222 1532 745 965 982 1338 1554 785 1000 1353 1558 1089 1694 1797 1841 1982 2044 2174 2054 2184 2064 2194 1854 1926 24054 764% 879« 446 461~ 463 LO6H 927 943 1196 24464 24424 L4364 1175 1480 1925 1705« 1487 692 1944 1706 1709 1719 1730 1744 664 1994 L37% 439 1494 1484 158# 823 859 239% 833 865 1592 1618 770 1644 772 1310 1616 1725 227# 2264 284H 2914 724K 7254 226 225 2884 24384 1571 733 301 295 727 726* 5364 S4L74 297 2124 2254 2134 226M 2144 274 24204 1704+ 24274 1697 1693 1690 16924 16944 16984 704K 17204 17314 1736 1743 24294 3284 24024 SEQ 0074 CROSS REFERENCE TABLE == USER SYMBOLS 1854 1710 1682# 1683# 16844 1686 1691 1688 1700 1707 1722 1733# 1735 1714 288 3334 6 1703 1702 318 1289 728 327 1779 1740 1021 1911» 1928+ 1373 1023 1042 1389 1060 1404 1110 1421 1716 1727 1755 1793 PA611 MACY11 CZPAAC.PT GTRDYB 001740 30A(1052) 14=JUN-78 13-JUN-78 12:38 2854 GTRDYC GTRDYD GTRDYX HSPCH 001754 001772 001720 004572 290 2964 2854 28%%0 320 1572 HSPCH1 HSPCH2 HTOA HTOB HTOC HTOD 012372 012462 011454 011524 011532 011564 011612 011642 011664 = 000040 2081 2113 1902# 19114 19124 19214 2083 2115 1929 1936 1916 1943 1914 1909 1214 HTOE HTOF HTOG I ICNT 001266 ICTR 001270 = 000100 IE IM10 014113 IM13A 016005 IM138 016066 IMé 013314 M7 013371 013547 M2 IM23 014041 IM24A 014302 IM3 014551 IM& 013663 IM5 014004 IM6 013243 INBIN = 104026 INBINN 003130 INITD 001252 INRND = 104022 INRNDN 003676 INVRP 015616 10TV 000020 ITA 011712 118 011740 ITC 011752 ITX 011760 ITY 011754 KBSVC 002510 KSTART 001256 KTA KT8 KTC 012056 012104 012114 KTE KTF 012140 012146 KTD LTA LTB LTC LTD LTE 012132 012200 012212 012230 012236 012244 1907 1674 1684 1254 1990 2161 2162 798 1954 1677 236 1991 1766 1880 1895 666 2254 224 137 2214 220 818 So% 19564 19614 1960 1957« 1956+ 130 1634 19944 1997 20014 200C 2003 2008# 20204 20234 2022 2025 20304 K 6 14:20 PAGE 55 CROSS REFERENCE TABLE == USER SYMBOLS SEQ 0075 2924 1593 1619 1656 1660 1662 1665 1886 1888 1978 1897 2074 2298# 20904 21174 1947 1930 1938 19374 1932 1934 19444 303« 311« 305« 331« 334% 877« 1973 20°6 2119 22364 248 23294 281 848 1679 1768 1882 1767 1570 1896 1591 1640 1737 1771 1981 230 252+ 19314 23064 24934 25024 1881 22454 2264H 242 2017 23614 22784 22934 1678 753 52 1614 64N 854 1966 1963 19644 1959« 1958+ L174 284 2010 19994 2007 20054 2032 2029 20274 2028# 24694 1962+ 19654 418« 894 19674 419 1320~ 1983 OACNVA 003356 OACNW 003344 OPEN = 000000 2080 2202# 2184 1712 5624 217 321 1723 571 5574 764 1664 778 164 191 518 614 ORGRD PBIN PBNA PBNB PBNC PBND PCHCNT PCHIDM PCHLIM PCHLVL PCHMSK PCHOUT PCHSEL PCHSLA PCHSLB PCHVTR PFRNT PGTIT PGI12A PG12B PGI3A PIND POPSP = POPSP2= PPB PPS PRB PRGID PRGNUM PRGTAB PRGO PRG1 PRG10 PRGI1 PRG12 PRG13 015200 010676 010714 010730 011000 011014 011124 015663 001250 001216 001346 001332 004622 004652 005002 001214 010122 012752 012342 012330 012562 003200 005726 022626 001206 001204 001202 001274 001254 001276 005244 006716 012034 012156 012306 012542 909+ 534 784 20634 235 349 284+ 843 24774 1604 1474 1934 1874 2082~ 8104 816 836 1464 1568 17914 17964 18064 1809# 1796+ 251+ 681 541 544> 2092« 819 8204 8384 679 1589 233 21924 2078# 21658 521+ 2167 5284 1434 1424 368 805+ 791 20804 1064 1074 1371 1528+ 2114 1414 1704 164 1714 171 172 179 180 182 183 1350+ 142 167 194 529 527" 615 1967 24174 17854 1335+ 319 445 1751 140 165 192 1965 1083 1778 1786 1792 1803 1807 1773« 924+ 815 1502 804* 2093 1323 826+ 1613 1806 1526 1081 158 185 161 188 722 600 731 198 680 1799 741 1921 1821+ 18314 834> 805 1655+ 837« 2092 1659+ 1661~ 1664+ 1764 1878 1971 2014 2071 827 1638 16544 828« 829+ 830+ 1418+ 821+ 1438 1785 1057 1885+ 1887+« 1977+ 831« 832« 833« 1482+ 1435 822« 1457% 1791 1780+ 1798« 2093« 1458« 1808+ 1477« 1823 1336 1478+ 1825+« 2078+ 1074 1075 1105 1108 1820 1708 W—'—'SO* 000004 100000 012302 013035 000240 001264 104017 SEQ 0076 NWNOW MACHER MANUAL= MONE MSVCTR NOP = NXTST OACNV = L 6 14:20 PAGE 56 CROSS REFERENCE TABLE == USER SYMBOLS OO — — 14=JUN-78 MACY11 30A(1052) CZPAAC.P11 12-JUN-78 12:38 PAGT1 2021« 2080+ 1366 1505+ 2097+ 1370+ 1507+ 2084 538+ 1385+ 1530« 1387 1550+ 1402 1551« 699 1351 820« 1419 1781+ 697 860+ 861+ 925 275% 278 894H 13204 19864 20124 20694 21574 322 450 2134 379 824+ 399 825+ 823« 1365+ 1503« 2112 PA611 MACY11 30A(1052) PRG13B8 PRG13C PRG2 PRG3 PRG4 PRG4A PRGS 012552 012546 010206 010570 011342 011366 011414 2160# 21594 173 17 175 1885# 176 PRS 001200 140# 859+ 1012« 1146+ CZPAAC.P1T PRG6 PRG7 PRC?A PRG/B 13-JUN-78 12:38 011674 011762 012012 012024 PRTYQ = 000000 PRTY1 = 000040 PRTY2 = 000100 PRTY3 = 000140 PRTY4 = 000200 PRTYS = 000240 PRTY6 = 000300 PRTYZ = 000340 PSW = 177776 PTO 003202 POAA POAE POBA POBB PODA PODB POEA 005304 005312 005334 005342 005356 005400 005432 POOA 006074 PT1 003204 PUSH = 005746 PUSH2 = 024646 POFA POFB POGA POHA POHB POHC POIA POJA POMA POMB POMC PONA POOB POPA POPE POGA POGB PORA 14=JUN-78 005466 005506 005520 005552 005602 005606 005622 5664 005724 005742 005766 006026 006126 006144 006200 006220 006260 006272 177 178 1978# 19824 14:20 2174 2173 16734 17614 18764 1889 18914 19504 19694 1980 1984 646+ 860 1015 1148+ M6 PAGE 57 CROSS REFERENCE TABLE == USER SYMEOLS 649 910 1018 1150« 653 940+ 1036* 1171% 659 941 1037 1173= 686+ 946+ 1039« 1192« 691« 947 1040 1194 696+ 961+ 1054* 1217+ 701 963 1055 1219+ 705 977 1058 1805+ 856+ 980 1107+ 1811 857+ 995* 1126+ 1815 858+ 998 1128+ 1827+ 1552+ 265 1125% 1553x 285 1145+ 700 1169+ 1221 1170* 1553 1191« 1220% 1221+ 1455+ S40% S41x 542 543 544 1829% 115¢ 1144 1134 112 1114 1104 1094 2168+ 1125 1191 145 147 155 157 1475% 522« 523« 1044 1054 905 909 920 92 935 9%2 957 973 981 991 1008 1016 1019 1031 1050 1068 10754 1077 1099 1118 1126 1138 1144 1162 60 265% 1502« 52984 5304 64 285% 1526% 536 536* 1084 687 131 700% 361 9104 9124 9254 9o7H 9404 946 9614 393 58 73# 1168 1185 9774 984N 9954 10124 10214 10234 10354 10544 10724 1079 10814 1103# 11254 11314 11454 11524 11694 11784 1189 1106 1527% 542w 537% SEQ 0077 1782+ . 14=JUN-78 MACY11 30A(1052) 13-JUN-78 12:38 CZPAAC.P1 PA61 P1JB P1KA P1kB P1LA 007462 007502 007542 007560 S0 L 44 ! kl“heg "% R R e I R B I e R e R e e N N S S 007030 007052 007104 007140 007162 007220 007266 007316 007330 007366 007402 007406 007426 N 007014 P1CA P1CB P1DA P1EA P1FA P1GA P1HA P1HB P1IA P113 P11C P1ID P1JA 006764 007006 S P1B88 P1AB P1BA 1066 S 006330 006344 006350 006370 006422 006440 177777 005266 005316 005654 005714 006016 006060 006130 006204 006262 006354 005346 006424 006452 006510 006562 006640 005422 005456 005510 005542 005612 006474 006532 006542 006612 006620 006670 006676 006756 P PORC PORD PORE POSA POSB POTA POTLST= POTO POT1 POT10 POT11 POT12 POT13 POT14 POT1S POT16 POT17 POT2 POT20 POT21 POT22 POT23 POT24 POT3 POT4 POTS POT6 POT7 POUA POVA POVB POXA POXB POYA POYB P1AA N 6 14:20 PAGE 58 CROSS REFERENCE TABLE == USER SYMBOLS 554 624 SEQ 0078 i o PA611 MACY11 30A(1052) PILB P1MA PIMB PINA PINB P10A P10B P10C P10D P1PA P1PB P1PC P1PD PI1TLST= P1TO PIT P1T10 PITN P1T12 P1T13 P1T14 P1T1S P1T16 P1T17 P1T2 P173 P1T4 P1TS P1T6 P177 RBIN RBINA 007614 007626 007644 007700 007716 007762 010000 010006 010032 010044 010062 010074 010120 177777 006740 006770 007320 007412 007466 007544 007616 007662 007736 010034 007020 007074 007130 007152 007210 007252 011162 011166 CZPAAC.P11 RBINB RBINC RBIND RBUSY RCMSK RCNT RDRIDM RDRLIM RDRLVL RDRMSK 011202 011240 011270 011126 004270 001330 015641 001246 001212 001350 RDRSEL 005020 RDRSLA 005050 RDRSLB 005156 RDRVTR 001210 RIND 003176 RNCNT 004272 RNDNUM= 104021 RNGEN RP1 RP2 RSTO3 = RSTOS = RST05S= RSTS5S = 14=JUN-78 13-JUN-78 12:38 003620 003672 003674 104003 104005 104007 000004 1548 1563 1571# 1582 1592# 1604 16164 1618# 1621 1631 16414 16444 1647 118# 1320 1329 1446 1467 1493 1517 1541 1561 1580 1602 1344 1359 1379 1395 1410 1427 1837 1839 1843 1857 1860 1774 726 1864 875 1594 145# 1944 8464 852 868 1444 520% 728* 2204 219 625 628 2064 2084 2104 1284 14:20 1556# 15674 1574 1588# 1596 16124 1624 1623 1625# 16374 1650 1649 16514 1629 1328# 13434 14664 1492# 15164 15404 15604 1579#% 16014 16284 1358# 1378# 13944 14094 14264 14454 18404 18414 18454 18594 18644 1802 7304 1567 24L734 245 674 552 855 8564 8704 672 521 7314 714 624K 629% 632 515 411 427 L7 8 7 PAGE S9 CROSS REFERENCE TABLE == USER SYMBOLS SEQ 0079 1871 1870 1804 * 1287 1573« 1826* 1308 1588~ 18324 1611« 1595« 1859« 1873« 1612% 1620* 1637« 1646* 826 1145 866* 897 851 1169 869« 1675 1763 1893 1952 1988 2159 862+ 522 1268« 724 863* 523 1272* 864 * 524 1293~ 865« 525 1314« 1198« 5274 1622* 1837« 549« 1643 1860+ 636 635+ 6394 6404 642% 643 780 479 499 788 572 582 602 637 1705 1648« 1871 002316 002346 002342 RTNNO RTO RT1 001262 003206 003210 RSS5S 13-JUN-78 12:38 002426 RUNINS SAVO3 = SAVOS = SAVOS5S= SAV5S = 013013 104002 104004 104006 000003 SCOPE = 104000 SCOPTR SELPCH SELRDR SM1 SM2 SM3 001272 013120 013067 014635 014664 014707 SMé4 14=JUN-78 205 207 209 59 1654 524 525+« 254 2054 2074 2094 1274 2034 1043 1238 3684 3794 3774 3984 294 5314 5324 1422 1651 1694 014732 = 177570 Sv03 SV05 002216 002246 329+ 553 548+ 454 878+ 551« 552+ 553 557 575 585 624 926 1092 1295 1481 950 1151 1339 1508 966 1155 1352 1512 984 1178 1354 1536 1001 1197 1369 1556 292 856 2098 306 2165 309 867 2169 313 871 2172 1433 554 945 1131 1337 1488 2118 23794 286 302 245 251 267 1959 1996 2006 289 851 2028 287 1324 962 1035 1103 1386 1416 2294 2508 1290 131 1594 1617 1809 1250+ 1473 1266+ 1500 1286+ 1524 1307« 1547 1587+ 1777 1610+ 1123 274 1143 1167 1189 1215 1775 1269 001 015213 003532 003536 003552 SEQ 0080 409% STRDRV= 104013 STRTA 001564 SUBTEN SUBTNA SUBTNB 7 6054 606 204 206 1020 1202 1374 1022 1204 1390 1597 1024 1224 1405 1625 317 430 1887 462 1900 1575 332« 247 SRDRM 015500 SRESET= 104001 SRSET 001700 SRSETA 002506 SRSETT 002452 STAL 004212 STALA 004236 STALB 004240 STALL = 104012 001450 START 004214 STLA STLMSK 004242 STPCHV= 104014 STPPA 004052 STPRA 004022 STPTPV 004034 STPTRV 004 STRTB SUBRD 315 547 547+ 766 474 495 913 1080 1274 1462 014754 SM5 SPBOT = 001200 015547 SPCHM SR s 14:20 PAGE 60 CROSS REFERENCE TABLE == USER SYMBOLS b RSO3 RSO5 RSO5S CZPAAC.PIT 30A(1052) S WN—=0 Q0 — =N o= MACY11 —b cd PA611 2574 2754 24194 6044 608 609# 3444 3524 1772+ 1885 PA611 MACY11 SVOSA SV058 SVO5C SVO5S SV5S SYNCA SYNCB SYNCC 002254 002270 002302 002236 002376 004440 004446 004522 CZPAAC.PT TENPWR 003576 TIMER 012476 TIMERT 012504 TIMER2 012530 TIMERS 012534 TITLO 013267 TITL1 013151 TITL10 014062 TITL11 014454 TITL12 015705 TITL13 015753 TITLZ 013514 TITL3 014505 TITL4 013620 TITLS 013723 TITL6 013337 TITL7Z 013175 TKB 001226 TKLVL 001236 TKS 001224 TKVTIR 001234 TLAST = 177777 TPB 001232 TPLVL 001242 TPS 001230 TPVTIR 001240 TRC = 000003 TRCV 000014 TRPV TSM2 TSTPUN TYP TYPA TYPC TYPD TYPE 30A(1052) 14-JUN-78 13-JUN-78 12:38 000034 003772 012444 347 0D 777 605 2100 2140 21424 21454 22324 22174 23014 23494 352+ 3624 1869 779 609 21304 7834 6154 24814 24884 225%# 23544 2724 284N 22404 22214 417 414 485« 486 1813 002742 002746 002762 002776 = 104010 TYPS TYPSA TYPSB WNZERO X = 1950 810 1953 846 1969 1676 842 1986 1765 853 2012 2117 1891 796 2160 9214 1045 11864 930 10514 1206 9364 1063 12128 952 10694 1226 9584 1094 12324 968 11004 1240 9744 1113 298 1876 003012 003022 003034 003056 003060 011130 000017 SEQ 0081 3534 3574 349 3494 3894 7664 784 TYPES = 104011 TYPF TYPG 7 14:20 PAGE 61 CROSS REFERENCE TABLE == USER SYMBOLS 915 10324 1180 325 464 501 817 1879 12464 2069 895 2157 986 11194 1257 992# 1133 1263# 874 1894 1972 PA611 MACY11 ZERO . " - CZPAAC.PI 000001 012304 016127 30A(1052) 14=JUN-78 14:20 13-JUN-78 12:38 1276 1392 15204 8934 1133 1376 20644 504 420 }ggg g PAGE 62 7 CROSS REFERENCE TABLE == USER SYMBOLS 12824 1398¢ 1538 900 1157 1392 2082 51 487 1059 1296 1407 15444 915 1180 1407 53 539 1109 13024 16134 1558 930 1206 1424 55 550 1372 13184 1424 15644 952 1226 1443 61 690 1388 1326 14304 1577 968 1240 1464 65 735 1403 13324 1443 15834 986 1257 1490 6748 749 1420 SEQ 0082 1341 14498 1599 1003 1276 1514 70 807 1439 13478 1464 16054 1026 1296 1538 1294 948 1658 1356 14704 1626 1045 13194 1558 1324 964 1667 13624 1490 16324 1063 1326 1577 1344 999 1784 1376 14964 13824 15 1094 1113 1341 1599 1394 1038 1800 1356 1626 256 1041 1835
Home
Privacy and Data
Site structure and layout ©2025 Majenko Technologies