Digital PDFs
Documents
Guest
Register
Log In
AH-E635A-MC
January 1980
123 pages
Original
53MB
view
download
OCR Version
67MB
view
download
Document:
CZLPLA0 LP25 LP25 DIAG. JAN 1980 bw
Order Number:
AH-E635A-MC
Revision:
000
Pages:
123
Original Filename:
CZLPLA0__LP25__LP25_DIAG.__AH-E635A-MC__JAN_1980_gray.pdf
OCR Text
LP25 DIAG CZLPLAO JAN 1980 AH-E635A-MC copvriGHT 1980 FICHETOE1L . - =DRO0E0 MADE IN USA MACY1T 30A(1052) 01-0CT=79 09:25 01-0CT=79 CILPLAD LP25 DIAG 8 PAGE 1 SEQ 0001 .REM § IDENTIFICATION PRODUCT CODE: AC-E634A-MC PRODUCT NAME: CZLPLAO LP25 DIAG MAINTAINER: SMALL SYSTEMS DIAGNOSTICS AUTHORS : JOHN (HATAL JAN DONALD RICE DATE: 27-SEP-79 THE INFORMATION 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 SOF TWARE ON EQUIPMENT THAT IS NOT AFFILIATED COMPANIES. COPYRIGHT FOLLOWING ARE DIGITAL DEC (C) NH W= O — k2 THE USE SUPPLIED OR BY RELIABILITY OF DIGITAL OR ITS 1979 BY DIGITAL EQUIPMENT CORPORATION TRADEMARKS OF DIGITAL EQUIPMENT PDP DECUS GENERAL INFORMATION PROGRAM ABSTRACT CORPORATION: UNIBUS DECTAPE TABLE ) — THE — C2LPLA . PYY 09:27 OF CONTENTS SYSTEM REQUIREMENTS RELATED DOCUMENTS AND STANDARDS DIAGNOSTIC HIERARCHY PREREQUISITES ASSUMPT IONS MASSBUS 3. ERROR INFORMATION 4. PERFORMANCE AND PROGRESS REPORTS S. DEVICE 6. TEST . . 38 2. 2' Q. 2. 2. &s . 2. . SfWWWN—=—=20 OPERATING INSTRUCTIONS HOW TO RUN THIS DIAGNOSTIC 2. THE SIX STEPS OF EXECUTION SAMPLE RUN=-THROUGH HOW TO CREATE A CHAINABLE FILE DETAILS OF COMMANDS AND SYNTAX TABLE OF COMMAND VALIDITY COMMANC SYNTAX EXTENDED P-TABLE DIALOGUE INFORMATION TABLES SUMMARIES ¢ PAGE 1-1 O 09:27 O 01-0CT=79 O 30A(1052) O (ZLPLAC LP25 DIAG MACY11 (ZLPLA.P1T 01-0CT=79 09:25 SEQ 0002 CZLPLAO LPZ5 DIAG MACY11 30A(1052) CZLPLA.PTT 01-0CT=79 09:25 v 01-0CT=-79 1.0 GENERAL 1.7 PROGRAM ABSTRACT 09:27 PAGE 2 P 1 SEQ 0003 INFORMATION THIS DIAGNOSTIC PROGRAM VERIFIES PROPER PROPER OPERATION OF LP25 LINE PRINTER AND ITS ASSOCIATED M7258 CONTROL UNIT THE WHICH INTERFACES TO THE PDP-11 CPU. THE BROAD RANGE OF TESTS ASSURES A COMPREHENSIVE TEST OF THE FUNCTIONAL CAPABILITY OF THE LINE PRINTER. FOLLOWS: TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST 1 THE INDIVIDUAL TESTS ARE IDENTIFIED AS INTERFACE LOGIC 2 3 READY LINE INTERLOCKS FORMS LENGTH SELECTION 7 8 9 10 1N 12 13 14 15 16 DAVFU CHANNEL SELECTION PAPER CONTROL DATA TRANSFER PATHS PRINTABLE CHARACTERS NON-PRINTABLE CHARACTERS BAND PATTERN SPURIOUS HAMMER FIRING PRINT CONTROL CRITICAL PATHS MULTIPLE LINE ADVANCE CHARACTER AL IGNMENT 4 S 6 PRINTING SPEED DAVFU ERROR DETECTION DAVFU LINE COUNT PAPER CONTROL TEST 1 VERIFIES OPERATION OF THE INTERFACE LOGIC. TESTS 2 AND 3 ARE MANUAL INTERVENTION TESTS TO CHECK PRINTER MANUAL FUNCTIONS. TEST 4 DETERMINES THE TIME INTERVAL AUTOMATICALLY FOR CALCULATION OF THE PRINTING SPEED BY MEANS OF THE INTERNAL CLOCK. PROVISION IS INCLUDED TO PERFORM THE PRINTING SPEED MEASUREMENT MANUALLY IF A CLOCK IS NOT INSTALLED IN THE SYSTEM. TESTS 5, 6, AND 7 VERIFY PROPER OPERATION OF THE DAVFU (DIRECT ACCESS VERTICAL FORMAT UNIT) OPTION. TESTS 5 AND 6 OF THE DAVFU GROUP INVOLVE MANUAL INTERVENTION. THE DAVFU TESTS ARE OMITTED IF THE PRINTER UNDER TEST DOES NOT HAVE A DAVFU. TESTS 8 THROUGH 16 COMPRISE THE PRINTING TESTS. THIS DIAGNOSTIC IS INTERFACED TO A FRONT-END PIECE OF SOF TWARE KNOWN AS THE DIAGNOSTIC RUNTIME SERVICES (DRS) MODULE WHICH BRINGS TOGETHER ALL THE CODE FORMERLY INCLUDED WITHIN THE DIAGNOSTIC FOR INTERFACING TO THE ENVIRONMENT. THE DIAGNOSTIC SUPERVISOR ALLOWS THE OPERATOR TO SPECIFY HARDWARE/SOF TWARE PARAMETERS AND TO PERFORM TEST AND UNIT SELECTION. IN THE DRS COMMAND MODE, THE OPERATOR CAN ISSUE COMMANDS TO CONTROL THE OPERATION OF THE DIAGNOSTIC AND CAN, BY MEANS OF SWITCHES ON THESE COMMANDS, INVOKE DIFFERENT FLAGS WHICH REPLACE THE "S‘AU’;EMRVIEGSQUHCH REGISTER WHICH IS NOT ACCESSIBLE UNDER THE SINCE THE PROGRAM ONLY MONITORS THE CURRENT CONDITION OF THE READY AND DEMAND LINES AND DOES NOT RECEIVE ANY OTHER STATUS MC;;? 30A(1052) CZLPLAO LP25 DIAG 9 CZLPLA.PT 01-0CT=7 09: 01-0CT=79 09:27 E PAGE 2-1 SEQ 0004 INFORMATION FROM THE LINE PRINTER, THE OPERATOR MUST EXAMINE THE PRINT PATTERNS PRODUCED BY THE VARIOUS TEST ROUTINES TO VERIFY PROPER PRINTER OPERATION. THIS DIAGNOSTIC PROGRAM HAS THE CAPABILITY TO TEST UP TO 16 LINE PRINTERS AT THE SAME 1 W TIME. SYSTEM REQUIREMENTS A TEST STATION IS REQUIRED CONSISTING OF A PDP=11 CPU WITH A MINIMUM OF 16K WORDS OF MEMORY AND A CONSOLE TERMINAL WITH INTERFACE AT DEVICE ADDRESS 777560. THE SYSTEM ALSO REQUIRES AN XXDP SUPPORTED DEVICE SUCH AS AN RKOS5/RK11 DISK DRIVE TO AFFORD A MEANS TO LOAD THE DIAGNOSTIC PROGRAM. A KW11-L LINE TIME CLOCK OR A KW11-P PROGRAMMABLE REAL-TIME CLOCK IS NECESSARY FOR MEASURING THE TIME INTERVAL FROM WHICH PRINTING SPEED IS DETERMINED. IF A CLOCK IS NOT INSTALLED IN THE SYSTEM, THE OPERATOR WILL HAVE TO USE MANUAL MODE TO MANUALLY TIME PRINTER OPERATION FOR A FIXED TIME INTERVAL TO CALCULATE THE PRINTING SPEED. IN A MANUFACTURING ENVIRONMENT WHERE APT/ACT/SLIDE ARE USED, THE TEST STATION MUST BE EQUIPPED WITH THE APPROPRIATE AND A HOST PROCESSOR WITH THE NECESSARY SOF TWARE. 1.3 INTERFACE RELATED DOCUMENTS AND STANDARDS PROJECT PLAN FOR LP25 DIAGNOSTIC PROGRAM DOCUMENT : RAS-78-008-00-U DATE: 6-SEP-78 DIAGNOSTIC ENGINEERING FUNCTIONAL SPECIFICATION FOR CZLPLAQ LP25 DIAGNCSTIC PROGRAM (PRELIMINARY) DATE : 29-SEP-78 LINE PRINTER, 250 LPM (LP25) PURCHASE SPECIFICATION (PREL IMINARY) DATAPRODUCTS 300 LPM LINE PRINTER FIELD MAINTENANCE GUIDE (PRELIMINARY) DATAPRODUCTS 300 LPM LINE PRINTER OPERATOR'S GUIDE (PREL IMINARY) - .4 DIAGNOSTIC HIERARCHY PREREQUISITES THIS DIAGNOSTIC IS COMPATIBLE WITH ALL MEMBERS OF THE PDP-11 COMPUTER FAMILY. THE DIAGNOSTIC IS INTERFACED TO THE PDP-11 DIAGNOSTIC SUPERVISOR THROUGH WHICH IT INTERFACES TO THE ENVIRONMENT. THE DIAGNOSTIC CAN BE USED IN A VARIETY OF OPERATING SYSTEMS TO FULFILL DIFFERENT REQUIREMENTS. THE DIAGNOSTIC CAN BE CZLPLAO LP25 DIAG CZLPLA.PT1 MACY11 30A(1052) 01-0CT=79 09:25 01-0CT=79 09:27 Fo PAGE 2-2 SEQ 0005 LOADED USING XXDP IN A FIELD SERVICE OPERATION, LOADED USING THE APT/ACT/SLIDE DIAGNOSTIC MONITORS IN A MANUFA(CTURING ENVIRONMENT, OR MANUALLY LOADED USING PAPER TAPE. THE APPLICABLE PDP-11 CPU, MEMORY, AND PERIPHERALS SHOULD BE RUN TO VALIDATE PROPER OPERATION OF THE SYSTEM BEFORE RUNNING THIS DIAGNOSTIC. 1.5 ASSUMPTIONS THE LINE PRINTERS UNDER TEST SHOULD HAVE POWER APPLIED AND BE PLACED ON LINE IN READINESS FOR TESTING. EACH LINE PRINTER MUST HAVE ITS OWN M7258 CONTROLLER SET UP AT A DIFFERENT DEVICE ADDRESS. THE DIAGNOSTIC PROVIDES A DEFAULT DEVICE ADDRESS OF 777514 WHICH CAN BE USED WHEN A SINGLE LINE PRINTER IS BEING TESTED OR FOR THE FIRST UNIT WHEN MULTIPLE LINE PRINTERS ARE UNDER TEST. IT WILL BE NECESSARY FOR THE OPERATOR TO RUN THE LINE PRINTER OFF LINE IN THE SELF TEST MODE BEFORE RUNNING THE DIAGNOSTIC IN ORDER TO DETERMINE WHETHER THE 64 OR 96 CHARACTER BAND IS INSTALLED. A PATCH IS REQUIRED IN THE DIAGNOSTIC TO CIRCUMVENT AN INCOMPATIBILITY IN THE DIAGNOSTIC SUPERVISOR. iT IS NECESSARY TO ADD 11236 TO THE CONTENTS OF THE ADDRESS ‘LSLAST'' WHICH IS FOUND AT THE END OF THE ASSEMBLY LISTING. THIS SUM IS USED AS THE ADDRESS INTO WHICH 42760 IS DEPOSITED. 177777 1S DEPOSITED INTO THE SUBSEQUENT MEMORY ADDRESS. 2.0 OPERATING INSTRUCTIONS 2.1 HOW TO RUN THIS DIAGNOSTIC 2.1.1 THE SIX STEPS OF EXECUTION THIS DIAGNOSTIC SHOULD BE LOADED AND STARTED USING NORMAL XXDF PROCEDURES. ~ THE START COMMAND SHOULD NOT SPECIFY AN ADDRESS, BECAUSE THE DIAGNOSTIC HAS THE PROPER TRANSFER ADDRESS CODED INTO IT. WHEN THIS DIAGNOSTIC IS STARTED, THE FOLLOWING STEPS WILL OCCUR: 222222222 * STEP 1 » LA 828 dd A SHORT SERIES OF "HARDCORE QUESTIONS'® WILL BE ASKED: QUESTION L=CLK (L) N ? P=(LK (L) N ? 50HZ (L) N ? LSI (L) N ? MEANING IS THERE AN L-CLOCK? Y P=CLOCK? IS THE POWER 50 CYCLES IS MACHINE AN LSI? (AS IN EUROPE}? CZLPLAQO LP25 DIAG CZLPLA.P11 MACY11 30A(1052) 01-0(T=79 01-0CT=79 09:25 LPT (L) N ? MEM (k) THE DEFAULTS (D) 09:27 1 G PAGE 2-3 SEQ 0006 IS THERE A LINE PRINTER? 16 ? HOW MANY < OF MEMORY ARE (SHOWN AFTER EACH QUESTION) CAN BE THERE? SELECTED BY HITTING CARRIAGE RETURN. IT IS POSSIBLE THAT NCT ALL OF THE QUESTIONS WILL BE ASKED: FOR EXAMPLE, IF YOU SAY "'YES'' TO THE L-CLOCK QUESTION, THE P-CLOCK QUESTION WILL NOT BE ASKED. Kbk w * STEP 2 « AR R AR R AR N WHEN YOU HAVE ANSWERED ALL ISSUE THE PROMPT THE HARDCORE QUESTIONS, 'DS-B>''. THE DIAGNOSTIC WILL FROM THIS POINT UNTIL THE TIME WHEN YOU RESTART XXDP, YOU WILL BE TALKING TO THE DIAGNOSTIC, NOT XXDP. WE WILL REFER TO THE PRESENCE OF THIS PROMPT AS BEING IN DIAGNOSTIC COMMAND MODE, AS OPPOSED TO XXDP COMMAND MODE. AT THIS POINT YOU WILL ENTER A "'START'' COMMAND. THIS IS NOT THE SAME AS THE XXDP ''START'' COMMAND, WHICH YOU ALREADY ISSUED IN RESPONSE TO THE XXDP DOT PROMPT. THIS ''START'' COMMAND (AN TAKE A NUMBER OF SWITCHES AND FLAGS (ALL OPTIONAL) AND THE DETAILS OF THESE ARE SET FORTH IN '2.3 DETAILS OF COMMANDS AND SYNTAX''. HOWEVER, IN ORDER TO USE THE PROGRAM, ALL YOU NEED TO SAY IS SOMETHING LIKE THIS: STA/PASS:1/FLAGS :HOE THINGS 1. 2. TO NOTE HERE: ONLY THE FIRST THREE THIS OR ANY COMMAND AT THE 'PASS'' SWITCH SPECIFIES HOW MANY PASSES A THE 'FLAGS'' SWITCH MAY SPECIFY ANY OF A NUMBER OF FLAGS, BUT IS SPECIFIED THE MAIN USEFUL LOE HOE IER YOU THE DESIRE. PASS CONSISTS OF UNITS BEING TESTED PASS 3. CHARACTERS OF ‘DS-B>'" LEVEL NEED TO BE TYPED. RUNNING THE FULL DIAGNOSTIC AGAINST ALL (THIS WILL BE EXPLAINED SHORTLY). ONE IN THE ABOVE EXAMPLE. ONES ARE: LOOP ONE ERROR HALT ON ERROR INHIBIT ERROR PRINTOUT THE HOE FLAG IS SPECIFIED SHGRTLY). IN THE ABOVE EXAMPLE (WE'LL SEE WHY AR RS 8 * STEP 3 = 228222222 WHEN YOU HAVE TYPED IN A "'START'' COMMAND, THE DIAGNOSTIC WILL COME CZLPLAQ LP25 DIAG CILPLA.P11 MACY11 30A(1052) 01-0CT=7% 09:25 BACK WITH THE 01-0CT=79 09:27 QUESTION '# TYPING iN THE NUMBER OF 1 UNITS?'' SEQ 0007 TO WHICH YOU SHOULD RESPOND BY DEVICES YOU WISH TO TEST. A WORD OF WARNING HERE: DEVICE H PAGE 2-4 THE NUMBER OF UNITS OF THE DIAGNOSTIC. FOR EXAMPLE, AT A DISK DRIVE, THEN THE NUMBER OF DRIVES TO BE TESTED. WHEREAS IF DiSK CONTROLLER, THEN THE NUMBER OF DEPENDS ON THE TARGET IF THE DIAGNOSTIC IS DIRECTED UNITS WOULD BE THE NUMBER OF THE DIAGNOSTIC WAS DIRECTED AT THE UNITS WOULD BE THE NUMBER OF CONTROLLERS. THE TARGET DEVICE OF A DIAGNOSTIC CAN ALWAYS DETERMINED BY INSPECTING THE ‘HEADER'' STATEMENT NEAR THE BEGINNING BE OF THE SOURCE CODE. ONE OF THE OPERANDS OF THIS 'HEADER'' STATEMENT SHOULD BE THE DEVICE TYPE OF THE DIAGNOSTIC. A2 2 R 3 * = STEP 4 AR AR AR N WHEN YOU HAVE TYPED DIAGNOSTIC WILL FT’E;IT#?BES". ONE IN ASK YOU THE THE NUMBER OF THESE QUESTIONS ARE USED TO BUILD TABLES HARDWARE UNITS TO 'HARDWARE QUESTIONS''. P-TABLE IN C(CORE, REPRESENTS A NEW TESTED, THE THE ANSWERS TO CALLED 'HARDWARE WILL BE BUILT FOR EACH UNIT TO BE THERE ARE SEVERAL HARDWARE QUESTIONS AND THE ENTIRE POSED N TIMES, WHERE N IS THE NUMBER OF UNITS. THIS BE PHILOSOPHY IN SERIES DIAGNOSTIC WILL BE ENGINEERING. DIAGNOSTICS WILL IN THE FUTURE NOT BE WRITTEN TO AUTOSIZE OR ASSUME STANDARD ADDRESSES. INSTEAD, THEY WILL ASK THE OPERATOR FOR ALL THE INFORMATION THEY NEED TO TEST THE DEVICE. Ak A& * STEP 5 « AR A AR AR AN AFTER YOU HAVE ANSWERED ALL THE HARDWARE QUESTIONS FOR ALL THE UNITS, YOU WILL BE ASKED '‘CHANGE SW?'' IF YOU WANT TO BE ASKED THE SOF TWARE QUESTIONS THAT DETERMINE THE BEHAVIOR OF THIS PROGRAM, TYPE ‘'¥''. IF YOU WANT TO TAKE ALL THE DEFAULTS TO THESE QUESTIONS, TYPE 'N''. IF YOU TYPE "Y'' YOU WILL BE ASKED THE SOF TWARE QUESTIONS, AND THE ANSWERS WILL BE PUT INTO THE SOF TWARE P-TABLE IN THE PROGRAM. THE SERIES OF ?gfggl%grgéu BE ASKED JUST ONCE, REGARDLESS OF THE NUMBER OF UNITS kAR AR AR AN * STEP 6 ~ (232222223 AFTER YOU HAVE ANSWERED THE THAT CAN HAPPEN DEPENDING BEGIN TO EXECUTE THE NEXT, SOF TWARE QUESTIONS, HARDWARE TEST CODE. ON WHETHER THE DIAGNOSTIC THERE ARE SEVERAL A HARDWARE WILL THINGS ERROR ENCOUNTERED AND ALSO ON WHAT SWITCH VALUES YOU SELECTED ON THE COMYAND. C(ONSIDER THE POSSIBILITIES: IS START MACY11 CZLPLAQ LP25 DIAG CZLPLA.P11 01-0CT=79 09:25 30A(7052) 1. 2. 01-0CT=79 I 09:27 IF NO ERROR IS ENCOUNTERED, EXECUTE THE DESIRED MODE (PROMPT DS-B>). SEQ 0008 PAGE 2-5 THEN THE DIAGNOSTIC WILL SIMPLY NUMBER OF PASSES AND RETURN TO COMMAND IF AN ERROR IS ENCOUNTERED, THEN ONE OF THREE THINGS HAPPENS, DEPENDING ON THE SETTINGS OF THE HOE AND LOE FLAGS. HOE SET: LOE SET: THE ERROR WILL BE REPORTED ON THE CONSOLE AND THE DIAGNOSTIC WILL RETURN TO COMMAND MODE. THE DIAGNOSTIC WILL LOOP ENLESSLY ON THE BLOCK OF CODE THAT DETECTED THE ERROR. NEITHER HOE NOR LOE SET: THE ERROR WILL BE REPORTED ON THE CONSOLE AND NORMAL EXECUTION WILL RESUME AS IF NO ERROR HAD OCCURED. 2.1.2 SAMPLE RUN-THROUGH LET'S SEE HOW ALL THIS WORKS IN A REAL TYPICAL WAY TO RUN THE DIAGNOSTIC. gé?gg&DREOUESTED PASS WILL BE IF NO ERRORS ARE ENCOUNTERED, THE EXECUTED AND THE PROMPT WILL BE ENTERED THE COMMAND SITUATION. ‘''STA/PASS:1/FLAGS:HOE''. THIS RECALL THAT WE WOULD BE A VERY IF AN ERROR IS ENCOUNTERED, THE ERROR WILL BE REPORTED AND THE PROMPT WILL BE REISSUED (BECAUSE THE HOE FLAG IS SET). AT THIS POINT THERE ARE FOUR DIFFERENT WAYS YOU CAN GET THE PROGRAM GOING AGAIN. 1. 2. 3. ISSUE ANOTHER ‘‘START'' COMMAND 2. 3, 4, 5, AND 6 AGAIN) THE MOST ISSUE A "RESTART'' COMMAND (SAME AS START COMMAND EXCEPT THAT NO QUESTIONS ASKED. ISSUE A "PROCEED'' COMMAND: EXECUTION WILL RESUME AT THE INSTRUCTION FOLLOWING THE ERROR REPORT (THIS IS A SPECIAL COMMAND AND CAN BE ISSUED ONLY AT A HALT ON ERROR). TYPICAL THING TO DO HERE DO THE IS TO ISSUE THE PROBABLY YOU WOULD WANT PRO/FLAGS: IER:LOE :HOE=0 WILL STEPS ISSUE A ''CONTINUE'' COMMAND (EXECUTION WILL RESUME AT THE BEGINNING OF THE PARTICULAR HARDWARE TEST (MOST DIAGNOSTICS CONSIST OF A NUMBER OF THESE) THAT IT WAS IN WHEN THE ERROR DIFFERENT FLAG SETTINGS. THIS OF THE HARDWARE QUESTIONS ARE NOT ASKED) HALT OCCURED. 4. (THUS GOING THRU ALL FOLLOWING: PROCEED, TO SAY BUT WITH MACY11 30A(1052) CZLPLAD LP2S DIAG CZLPLA.PTT 01-0CT=79 09:25 01-0CT=79 IER 09:27 1. TURN ON THE 2. TURN ON THE LOE FLAG 3. TURN OFF THE HOE FLAG 4. RESUME EXECUTION AT J SEQ 0009 PAGE 2-6 (INHIBIT ERROR PRINTOUT) FLAG INSTRUCTION AFTER ERROR REPORT THE DIAGNOSTIC WILL NOW LOOP ON THE BLOCK OF CODE THAT REPORTED THE ERROR, BUT NO ERROR PRINTOUT WILL OCCUR. DETECTED AND THUS YOU CAN STUDY THE ERROR OR SCOPE IT OR WHATEVER. WHEN YOU'VE SEEN ENOUGH, YOU MAY HIT CONTROL/C. THIS WILL TAKE YOU OUT OF THE LOOP AND PUT YOU BACK INTO COMMAND MODE. YOU NOW HAVE THREE CHOICES: 1. START 2. RESTART 3. CONTINUE LET'S SAY YOU'VE REPAIRED THE DEFECT FOUND ABOVE AND RUNNING THE DIAGNOSTIC. YOU WOULD TYPE WANT TO . FINISH CON/FLAGS :HOE : IER=0:LOE=0 THIS WILL RESTORE THE FLAGS TO THEIR ORIGINAL VALUES AND RESUME EXECUTION AT THE BEGINNING OF THE HARDWARE TEST YOU WERE IN. ERROR DOES NOT RECUR, THE EXECUTION WILL FLOW RIGHT ON THRU NEXT ERROR OR TO END OF START 2. RESTART YOU WOULD CHOOSE ONE, DEPENDING ON WHETHER YOU WANTED HARDWARE QUESTIONS AGAIN. THE YOU TO FULL PRINT-OUT FROM THE ABOVE DIALOGUE MIGHT LOOK LIKE R CZLPLA CZLPLA L=CLK (L) N2 Y S0HZ (L) N ? LSI (L) N ? LPT (L) N ? MEM (K) (D) 16 ? THE THE HAVE TWwO ANSWER THE PASS. (IIEOO?EEEND OF PASS YOU WANT TO RUN THE DIAGNOSTIC AGAIN, 1. IF TO THIS: BY WHOM SNTERED: D D.O D D D D MACY11 30A(1052) 01-0CT=79 09:25 01-0CT=79 CZLPLAO LP25 DIAG SEQ 0010 PAGE 2-7 DS-B>STA/PASS: 1/FLAGS :HCE D.O # UNITS 0.0 (D) ? 1 UNIT 1 D LP11 ADDRESS (0) 177514 ? INTERRUPT VECTOR (0) 200 ? D D CHANGE SW (L) D.O ? ¥ RUN MANUAL INTERVENTION TESTS (L) ? Y 96 CHARACTER BAND (L) ? N CAVFU OPTION INSTALLED (L) N ? PERFORM MANUAL PRINTING SPEED MEASUREMENT (L) N ? Y DESIRED TIME INTERVAL FOR PRINTING SPEED CALCULATION (D) TESTING IN U.S.A. (L) ? Y D.O D D.0 D 4 ? LP25 HRD ERR 00009 TST 004 SuB 000 PC: 003604 ERROR AT CSR 177514 UNIT 1 D D DS-B>PRO/FLAGS : IER: LOE : HOE=0 D ERR HLT A A AR A AR AR AR A AR A AR A THIS POINT THE DIAGNOSTIC Ak IS LOOPING ON THE ERROR WITHOUT PRINTING ANYTHING. THE ERROR UNTIL YOU HAVE LOCATED LA 222222222 d ittt ke ek YOU CAN SCOPE IT, ittt THEN “C OUT. ittt s s \mAvielieliele) - CHANGE SW (L) 2.2 - LR} DS-B>CON/FLAGS :HOE : IER:LOE=0 CHANGE SW (L) ? N CZLPLA EOP 1 DS-B>RESTART/PASS: 1 ? N OO AT AR o0 AR D - CZLPLA.P1T K 09:27 HOW TO CREATE A CHAINABLE FILE THE DIAGNOSTIC AS RECEIVED FROM RELEASE ENGINEERING CANNOT BE CHAIN MODE. RUN IN THAT IS WHY IT BEARS THE EXTENSION ‘BIN'' INSTEAD OF 'BIC''. ;$BSEI(S50? WAY, HOWEVER, TO CREATE IT CONSISTS OF RUNNING THE PROGRAM A WITH CHAINABLE THE PROGRAM SPECIAL FROM COMMAND WHAT ‘‘CCI"’ ISSUED WHERE YOU WOULD NORMALLY ISSUE A START COMMAND (TO THE PROMPT DS-8>. THIS COMMAND CAUSES THE DIAGNOSTIC TO GO THRU ALL THE QUESTIONS AND ANSWERS AND THEN TO HALT, JUST WHERE IT WOULD ORDINARILY BEGIN EXECUTION OF THE HARDWARE TEST CODE. AT THIS POINT YOU CAN DUMP gggENg?&GR'AgIC'A'S IT SITS IN CORE TO THE LOAD MEDIUM, WITH THE NEW CZLPLAO LP25 DIAG CZLPLA.PI ' MACY11 30A(1052) 01-0CT=79 09:27 PAGE 2-% 1 SEQ 0011 01-0CT=79 09:25 HERE IS A SAMPLE DIALOGUE TO ACCOMFLISH THIS: .R_UPD2 RESTART: *CLR XXXXXX *LOAD DIAG.BIN XFER:200 CORE:0,60602 *START 200 L=CLK (L) N ? DS-B>CC(I # UNITS (D) ? 4 CHANGE SW (L) ? N PTAB END: 60632 AR AR AR AR AR AR AR A A AR A AR AR AR A Ak «AT THIS POINT THE MACHINE HALTS AND* *YOU MUST RESTART AT ADDRESS XXXXXX* AAARAAAR A A AR A AR AR A AR AR A AR ARk *HICORE 60632 CORE: 0,60632 «DUMP DKO: DIAG.BIC THE RESULT OF DOING THIS IS CONTAINING THE XXDP COMMAND THAT YOU CAN NOW BUILD AN XXDP CHAIN FILE .R DIAG.BIC : ; AND THE DIAGNOSTIC WILL EXECUTE WITHOUT MANUAL ANSWERS THAT YOU GAVE IT WHEN YOU DID THE CCI 2.3 DETAILS OF COMMANDS AND SYNTAX 2.3.1 TABLE OF COMMAND VALIDITY THERE ARE FOUR WAYS OF SUBSETS OF ENTERING DIAGNOSTIC COMMAND MODE, THE DIAG COMMAND SET ARE AVAILABLE WITH EACH: OPERATOR ENTERED 'RUN DIAG' START PRINT DISPLAY FLAGS ZFLAGS 2. USING THE AND DIFFERENT LEGAL COMMANDS HOW ENTERED 1. INTERVENTION, COMMAND. DIAGNOSTIC HAS FINISHED ALL ITS REQUESTED PASSES START RESTART PRINT CZLPLAO LP25 DIAG MACY11 30A(1052) CZLPLA.PT 01-0CT=79 09:25 01-0CT=79 09:27 M1 PAGE 2-9 SEQ 0012 DISPLAY FLAGS ZFLAGS 3. OPERATOR INTERRUPTED THE START DIAGNOSTIC WITH CTRL/C RESTART CONT INUE PRINT DISPLAY FLAGS ZFLAGS 4. AN ERROR WAS ENCOUNTERED START WITH THE HOE FLAG SET SET RESTART GONT INUE PROCEED PRINT DISPLAY FLAGS ZFLAGS 2.3.2 COMMAND SYNTAX AR AR AR AR AR A AR AR AR AR AR AR AR A AR A AR AR AR AR AR AR AR AR AR AR AR STA(RT)/TESTS:TEST=LIST/PASS :PASS=CNT/FLAGS : FLAG=LIST/EOP:EOP-INCR AR AR AR AR AR A AR A AR AR AR AR A AR AR A AR AR AR A AR THE DIAGNOSTIC IN CORE IS EXECUTED IN SPECIFIED. AARA AR ACCORDANCE THE MESSAGE '# UNITS?'' IS PRINTED. AR AR AR AR AR WITH THE AR SWITCHES THE START COMMAND MAY BE ISSUED WHEN DIAGNOSTIC COMMAND MODE HAS BEEN ENTERED VIA ONE OF THE FOLLOWING: A) OPERATOR TYPED 'RUN DIAGNOSTIC'' B) DIAGNOSTIC FINISHED EXECUTING C) ERROR WAS ENCOUNTERED WITH HOE FLAG SET D) OPERATOR ENTERED CONTROL/C. AFTER THE OPERATOR RESPONDS TO '# UNITS?'', THE INITIATED. WHEN IT IS COMPLETED, THE HARDWARE QUESTIONS DIALOGUE IS ‘'‘CHANGE SW?'’ IS ISSUED, AND THE ANSWERS, IF GIVEN, BECOME THE NEW DEFAULTS. THEREFORE [I’EFMI‘?TSMCESSARY TO RELOAD THE PROGRAM IN ORDER TO RETURN TO THE LOAD THE SWITCH ARGUMENTS ARE AS FOLLOWS: "TEST-LIST'' IS A SEQUENCE OF DECIMAL NUMBERS (1:2 ETC.) OR RANGES OF DECIMAL NUMBERS (1-5:8-10 ETC.) THAT SPECIFY THE TESTS TO BE EXECUTED. THE NUMBERS ARE SEPARATED BY COLONS. THE NUMBERS RANGE FROM 1 TO THE LARGEST TEST NUMBER IN THE DIAGNOSTIC. THEY MAY BE SPECIFIED IN_ANY ORDER. TESTS WILL BE EXECUTED IN NUMERICAL ORDER REGARDLESS OF THE ORDER OF SPECIFICATION. THE DEFAULT IS TO EXEC''TE ALL TESTS. "PASS=CNT'' ISA PASSES. A PASS DECIMAL IS NUMBER INDICATING THE DEFINED AS THE EXECUTION OF (ALL SELECTED TESTS) AGAINST ALL NON-ENDING EXECUTION. UNITS SUMBITTED. DESIRED NUMBER OF DEFAULT IS THE FULL DIAGNOSTIC THE CZLPLAO LP25 DIAG MACY11 30A(1052) CZLPLA.PT 01-0CT=79 09:25 01-0CT=79 09:27 N PAGE 2-10 1 SEC 0013 "FLAG-LIST'' IS A SEQUENCE OF ELEMENTS OF THE FORM <FLAG>, <FLAG=1>, OR <FLAG=0>, SEPARATED BY COLONS, WHERE HAS ONE OF THE FOLLOWING VALUES: HOE <FLAG> HALT ON ERROR, CAUSING COMMAND MODE TO BE ENTERED WHEN AN ERROR 1S ENCOUNTERED LOOP ON ERROR, CAUSING THE DIAGNOSTIC TO LOOP CONTINUOUSLY LOE WITHIN THE SMALLEST DEFINED BLOCK SUBTEST, OR TEST) CONTAINING THE ERROR INHIBIT ERRIR REPORTING INHIBIT BASIC ERROR REPORTS INHIBIT EXTENDED ERROR REPORTS DIRECT ALL MESSAGES TO A LINE PRINTER IER IBE IXE PRI PNT BOE UAM OF CODING (SEGMENT, PRINT NUMBER OF TEST BEING EXECUTED BELL ON ERROR RUN IN UNATTENDED MODE, BYPASSING MANUAL INTERVENTION TESTS ISR 1DV INHIBIT STATISTICAL REPORTS INHIBIT DROPPING OF UNITS BY DIAGNOSTIC THE FLAGS NAMED OR EQUATED TO1 ARE SET, CLEARED. A FLAG NOT SPECIFIED IS CLEARED. GIVEN ALL FLAGS ARE CLEARED. THOSE EQUATED TO O ARE IF THE FLAGS SWITCH IS NOT "EOP-INCR'' IS A DECIMAL NUMBER HOW PASSES) IT IS INDICATING OFTEN (IN TERMS DESIRED THAT THE END OF PASS MESSAGE BE PRINTED. DEFAULT IS AT THE END OF EVERY PASS. AR AR AR AR A AR AR AR AR AR AR AR AR AR R AR AR AR AAAA AR RES(TART) /TEST:TEST=LIST/PASS AR AR AR AR OF THE AR AR AR AR AR AR AR A AR AR A AR AR A AR AR AR AR AR AAAAAA AR AR THE DIAGNOSTIC IN CORE IS EXECUTED IN ACCORDANCE (S:';EI:!{EDOSEDMVER' NEW P-TABLES ARE NOT BUILT. AAAARAAAR AR AR AR A AR AR A AR WITH THE SWITCHES INSTEAD, THE ONES IN THE QUESTION “'CHANGE SW?'' IS ASKED,AND THE ANSWERS IF GIVEN BECOME THE NEW DEFAULTS. THE COMMAND MAY BE ISSUED WHEN COMMAND MODE HAS BEEN ENTERED VIA A) DIAGNOSTIC IS FINISHED B) HALT ON ERROR C) CONTROL/C. THE SWITCH ARGUMENTS ARE AS IN THE START COMMAND EXCEPT: 1. 'lNIT-LIST” IS A SEQUENCE OF LOGICAL UNIT NUMBERS RANGING 1 THRU N (N = NUMBER OF UNITS BEING TESTED) SPECIFYING WICH UNITS ARE TO BE TESTED. THE LOGICAL UNIT NUMBER DESIGNATES THE POSITION OF THE P-TABLE IN CORE, ACCORDING TO THE ORDER IN WHICH THEY WERE BUILT. THE UNITS SPECIFIED MUST NOT HAVE BEEN DROPPED BY THE OPERATOR DROP COMMAND. THE UNIT-LIST DEFAULTS TO "ALL THAT HAVE NOT BEEN DROPPED BY OPERATOR COMMAND''. THE EFFECT OF THE UNIT-LIST LASTS UNTIL THE NEXT START (WHERE IT IS AUTOMATICALLY RESET TO 'ALL'") THE NEXT RESTART. 2. A :PASS=CNT/FLAGS :FLAG=LIST/EOP:EOP=INCR/UNITS :UNIT=LIST ALL UNSPECIFIED FLAG SETTINGS ARE UNCHANGED. OR MACY11 CZLPLAO LP25 DIAG 01-0CT=79 09:25 CZLPLA.PT 30A(1052) 2233323323222 CON(TINUE) L3232 01-0CT=79 B 2 PAGE 2-11 09:27 233232032222022222R2 R SEQ 0014 Rlld] S : <FLAG=LIST> /PASS : <PASS=CNT/FLAG 3233322222220 ddititiiitdllddds COMMAND MODE MUST HAVE BEEN ENTERED DUE TO A HALT ON ERROR OR A CONTROL/C. THE EFFECT OF THE COMMAND IS TO GO TC THE BEGINNING OF THE TEST THAT WAS BEING EXECUTED WHEN THE HALT OR_CONTROL/C TOOK PLACE. SOF TWARE DIALOGUE MAY OPTIONALLY BE REEXECUTED. HARDWARE PARAMETERS MAY NOT BE CHANGED. THE SWITCH ARGUMENTS ARE AS IN THE START COMMAND EXCEPT: 1. DEFAULT FOR PASS=CNT IS THE PREVIOUS START OR RESTART UNSATISFIED 2. UNSPECIFIED FLAG SETTINGS ARE UNCHANGED PASS=CNT FROM THE ARARAAAAA A AR A AR AR A A AR AR PRO(CEED) /FLAGS : <FLAG=LIST> AARAAAAAR AR AR A A A AR AR AR COMMAND MODE MUST HAVE BEEN ENTERED VIA A HALT ON ERROR. THE EFFECT OF THE COMMAND IS TO BEGIN EXECUTION AT THE LOCATION FOLLOWING THE ERROR CALL. NEITHER HARDWARE NOR SOF TWARE PARAMETERS MAY BE ALTERED. THE SWITCH ARGUMENTS ARE 1. THE SAME AS THE START COMMAND EXCEPT: UNSPECIFIED FLAG SETTINGS ARE UNCHANGED AR AR AR A RA AR AR R AR AR AR AR AR AR AR AR AR A AR AR AR AR AR AR ARk CCI/TEST:TEST=LIST/PASS :PASS=CNT/FLAGS :FLAG=LIST/EOP:EOP=INCR AARRA A AR AR AR AR AR AR AR AR AR AR AR AR AR A AR A AR AR AR A AR A AR ARk THE DIAGNOSTIC EXECUTES THRU ALL OPERATOR DIALOGUE AND HALTS AT THE HARDWARE TEST CODE. NOW THE OPERATOR CAN DUMP THE CORE IMAGE TO THE MEDIUM WITH A BIC EXTENSION. CZLPLAO LP25 DIAG CZLPLA.P11 MACY11 30A(1052) 01-0CT=79 09:25 01-0CT=79 09:27 PAGE 3 C SEQ 0015 THE BIC FILE MUST BE HANDLED DIFFERENTLY DEPENDING ON WHETHER IT IS RUN MANUALLY OR IN CHAIN MODE. IF RUN MANUALLY IT CAN BE INVOKED EITHER WITH A "'START'® (IN WHICH CASE IT WILL BEHAVE LIKE THE BIN FILE: THE PRE-GENERATED ANSWERS TO OPERATOR QUESTIONS WILL BE U{TH &'Rggg?fifl" (IN WHICH CASE wiLL u . THE PRE-GENERATED IGNORED) OR OPERATOR ANSWERS IF RUN IN CHAIN MODE, AUTOMATIC EXECUTION WILL COMMENCE IMMEDIATELY g?fl;ssng XXDP COMMAND ‘‘.R DIAG''. THE COMMAND PROMPT 'DS-B>'" WILL NOT UED. ANY SWITCHES SPECIFIED ON THE CCI FILE IS RUN IN CHAIN MODE WILL NOT CARRY OVER WHEN IT COMMAND WILL CARRY OVER WHEN THE BIC (EXCEPT THAT UAM IS ALWAYS SET IS RUN MANUALLY. THERE) BUT TO DO A CCI ON A FULL SIZED DIAGNOSTIC (14.5K WORDS), A MACHINE SIZE LARGER THAN 16K IS REQUIRED. THE EXACT SIZE NEEDED DEPENDS ON WHICH UTILITY IS USED TC EXECUTE THE DIAGNOSTIC AT CCI TIME. FRAAA AR A A A A AR A AR DRO(P) /UNITS:UNIT=LIST ARAR AR A A A A A AR AR THIS COMMAND IS NOT UTILIZED IN THIS DIAGNOSTIC. AR AR A A AR AR A A Ak ADD/UNITS:UNIT=LIST AARAAAAA A AR A AR AR THIS LA A 2 COMMAND 2 IS NOT UTILIZED IN THIS DIAGNOSTIC. IS NOT UTILIZED IN THIS DIAGNOSTIC. 34 PRI(NT) L2288234 THIS COMMAND LAL AL AR R LRl o~ Ll AR hh N DIS(PLAY) /UNITS:<UNIT=LIST> RAAAAAAARRA A AR AR A AR AR AR AN THE HARDWARE P-fABLES FOR ALL UNITS UNDER TEST ARE PRINTED OUT IN THE FORMAT IN WHICH THEY WERE ENTERED. OPERATOR "DROP'* COMMAND ARE SO DESIGNATED. LA22332 FLA(GS) 222828 THE CURRENT SETTINGS OF AR AR RN ZFL (AGS) ARk “ AR R ALL FLAGS ARE PRINTED. CZLPLAC LP25 DIAG CZLPLA.P11 MACY11 30A(1052) 01-0CT=79 01-0CT=79 09:25 ALL FLAGS ARE 2.4 0 09:27 SEQ 0016 PAGE 3-1 CLEARED. EXTENDED P-TABLE DIALOGUE THE FULL CAPABILITY OF THE HARDWARE DIALOGUE FOLLOWING DISCUSSION OF WHAT HAPPENS INTERNALLY. IS REVEALED BY THE AS SOON AS THE QUESTION '# UNITS?'' IS ANSWERED (WITH THE NUMBER N, SAY) SPACE IN CORE IS ALLOCATED FOR N P-TABLES. ALL OF THE P-TABLES ARE OF THE SAME FCRMAT, AND THERE IS A ONE-TO-ONE CORRESPONDENCE ?ETUE?N THE HARDWARE PARAMETER QUESTIONS AND THE SLOTS IN THE P-TABLE ON THE FIRST TRIP THRU THE QUESTIONS, ALL OF THE SLOTS IN ALL OF THE P-TABLES ARE FILLED. IF THE OPERATOR TYPES IN LESS THAN N EXPLICIT VALUES IN RESPONSE TO A PARTICULAR QUESTION, THESE VALUES ARE PLACED IN THE P-TABLES (ONE VALUE GOING INTO THE PROPER SLOT OF EACH P-TABLE ?Em{%{g WITH THE FIRST P-TABLE) UNTIL THE STRING OF VALUES IS ON SUBSEQUENT TRIPS THRU THE QUESTIONS, THE SAME PROCESS IS CARRIED OUT, EXCEPT THAT THE EARLIEST P-TABLE NOT TO HAVE RECEIVED AN EXPLICIT VALUE IN ANY OF ITS SLOTS NOW A>SUMES THE ROLE THAT TABLE NUMBER ONE PLAYED IN THE FIRST TRIP. THE SERIES OF QUESTIONS IS REISSUED UNTIL AT LEAST RECEIVED N EXPLICIT VALUES FROM THE OPERATOR. ONE QUESTION HAS IN GIVING A STRING OF VALUES, COMMAS WITHOUT INTERVENING VALUES MAY BE USED TO INDICATE A REPETITION OF THE LAST NAMED VALUE. A STRING OF VALUES MAY BE GIVEN AS A RANGE (6-10 FOR EXAMPLE). IF THE VALUES REPRESENT PURE NUMERICAL DATA, THIS SAMPLE RANGE TRANLATES TO THE STRING 6,7.8,9,10 (AN INCREMENT OF 1). IF THE VALUES ARE ADDRESSES, THE SAMPLE INCREMENT OF 2). RANGE NOW LET US SEE HOW WE COULD USE OF P-TABLES. TRANSLATES TO THE STRING 6,8,10 (AN THESE CAPABILITIES TO CONSTRUCT A ASSUME THAT WE HAVE &4 LP25'S, AND THAT THERE ARE TWO HARDWARE PARAMETERS FOR EACH (TWO HARDWARE QUESTIONS IN THE DIALOGUE). SLOTS IN THE P-TABLE, SET TWO THE FOLLOWING DIALOGUE WOULD ACCOMPLISH THIS GOAL: L'NLIAT“{S (D) ? 4 LP11 ADDRESS: (0) ? 177514, 177520, 177524, 177539 INTERRUPT VECTOR: (0) ? 200, 210, 220, 230 THE DIALOGUE IS TERMINATED WHEN THE SCFTWARE RECOGNIZES THAT EXPLICIT VALUES HAVE BEEN GIVEN FOR AT LEAST ONE QUESTION. 4 CZLPLAO LP25 DIAG CZLPLA.PIT MACY11 30A(1052) 01-0CT=79 09:25 01-CCT=79 09:27 : PAGE 3<2 £ SEQ 0017 3.0 ERROR INFORMATION ERRORS ARE REPORTED ON THE CONSOLE TERMINAL WHEN AN ERROR IS DETECTED BY THE DIAGNOSTIC. THE DEVICE ADDRESS OF THE FAILING UNIT AND THE NATURE OF THE ERROR IS GIVEN IN THE ERROR MESSAGE. ADDRESS WHERE THE ERROR OCCURRED. OTHER INFORMATION INCLUDED ARE THE TEST NUMBER AND THE PROGRAM COUNTER THE ERROR MESSAGES AID IN IDENTIFYING THE PROBLEM. LIST PROVIDES A BRIEF DESCRIPTION OF EACH OF ERROR 1 "4 THE FOLLOWING THE ERRORS. DESCRIPTION "PRINTER ERROR'' ERROR CONDITION IN THE PRINTER. "PRINTER NOT READY'' PRINTER NOT READY TO ACCEPT DATA. 3 "PRINTER DID NOT INTERRUPT'' 4 "LOADING PRINTER BUFFER DOES NOT CLEAR READY'' FAILURE IN INTERFACE LOGIC. 5 "PRINTER INTERRUPTED AT SAME LEVEL AS THE PROCESSOR"" FAILURE FAILURE IN INTERFACE LOGIC. IN INTERFACE LOGIC. 6 'PRINTER ERROR'' 7 "PRINTER NOT READY'' PRINTER NOT READY TO ACCEPT DATA. 8 ‘PAPER LOW INTERLOCK SWITCH FAILURE'' 9 'HAMMER BANK INTERLOCK SWITCH FAILURE'' 10 ‘'CHARACTER BAND INTERLOCK SWITCH FAILURE"' n "DAVFU INCOMPLETE DATA ERROR NOT DETECTED"' DAVFU FAILED TO RECOGNIZE RECEIPT OF INCOMPLETE DATA. 12 ‘DAVFU STOP CODE ERROR NOT DETECTED'' ERROR CONDITION IN THE PRINTER. FAULTY INTERLOCK SWITCH. FAULTY FAULTY INTERLOCK SWITCH. DAVFU FAILED TO RECOGNIZE RECEIPT OF DATA THAT DID NOT INCLUDE A STCP BIT (ONE) 13 INTERLOCK SWITCH. CHARACTER. "'INTERRUPT SERVICING FOR DEVICE DID NOT OCCUR'' THE FOLLOWING MACY11 30A(1052) 01-0CT=79 09:25 01-0CT=79 CZLPLAO LP25 DIAG CZLPLA.PTT 09:27 F SEQ 0018 PAGE 3-3 GLOBAL ERROR INDICATING INTERRUPT FOR DATA TRANSFER DID NOT OCCUR. 14 "PRINTER STATUS ERROR'' GLOBAL ERROR INDICATING PRINTER ERROR CONDITION. 15 "OUTPUT TIMEOUT ERROR'' GLOBAL ERROR INDICATING TRANSMISSION OF LAST CHARACTER DID NOT OCCUR WITHIN A GIVEN TIME. 4.0 PERFORMANCE AND PROGRESS REPORTS PERFORMANCE AND PROGRESS REPORTS ARE NOT 5.0 DEVICE INFORMATION TABLES DEVICE SUPPLIED. INFORMATION APPEARS IN THE GLOBAL DATA SECTICN. 6.0 TEST SUMMARIES TEST 1 iINTERFACE LOGIC VERIFIES OPERATION OF TEST 2 READY LINE INTERLOCKS VERIFIES OPERATION OF TEST INTERFACE LOGIC BETWEEN THE PRINTER AND THE THE READY INTERLOCK SWITCHES. 3 FORMS LENGTH SELECTION VERIFIES ALL POSITIONS OF PAPER MOVEMENT. TEST (PU. THE FORM LENGTH SELECT SWITCH FOR PROPER 4 PRINTING SPEED MEASUREMENT DETERMINES PRINTING SPEED ON THE BASIS OF AND THE NUMBER OF LINES PRINTED. THE PRINTING TIME TEST 5 DAVFU ERROR DETECTION CHECKS FOR TWO TYPES OF DAVFU ERRORS: 1. RECEIPT OF INCCMPLETE DATA. 2. RECEIPT OF DATA NOT INCLUDING A STOP BIT TEST 6 TEST 7 (ONE) CHARACTER. DAVFU LINE COUNT PAPER CONTROL VERIFIES LINE COUNT METHOD OF PAPER CONTROL USING THE DAVFU. DAVFU CHANNEL SELECTION PAPER CONTROL INTERVAL CZLPLAD LP25 DIAG MACY11 30A(1052) CZLPLA.P11 01=0CT=79 09:25 01-0CT=79 09:27 G PAGE 3-4 (HECKS DAVFU PAPER ADVANCE BY MEANS OF 2 SEQ 0019 STOP BITS LOADED IN DAVFU MEMORY. TEST 8 DATA TRANSFER PATHS (HECKS THE DATA TRANSFER PATHS FROM THE PRINTER OUTPUT THE PROCESSOR TEST 9 PRINTABLE INTERFACE. TO CHARACTERS CHECKS FOR PROPER PRINTING OF ALL PRINTABLE CHARACTERS. TEST 10 NON-PRINTABLE CHARACTERS CHECKS FOR PROPER DETECTION OF ALL NON-PRINTABLE TEST 11 BAND PATTERN PRODUCES AN IMAGE OF C(HARACTERS. THE ENTIRE BAND PATTERN. TEST 12 SPURIOUS HAMMER F IRING CHECKS FOR SPURIOUS HAMMER FIRINGS BY TAKING NOTE OF PRINTING THAT MAY OCCUR OUTSIDE A WEDGE PATTERN. TEST 13 PRINT CONTROL CHECKS THAT CHARACTERS IN EXCESS OF ARE DJSREGARDED. ANY 132 CHARACTERS ON A LINE TEST 14 CRITICAL PATH CHECKS FOR PROPER PRINTER OPERATION WITH A WORST CASE PATTERN. TEST 15 CHECKS MULTIPLE LINE ADVANCE CHECKS THE MULTIPLE LINE ADVANCE FOR PROPER PAPER MOVEMENT. TEST 16 CHARACTER AL IGNMENT CHECKS CHARACTER ALIGNMENT BY OVERPRINTING EACH LINE. g CZLPLAO LP25 DIAGNOSTIC MA cy | 1 CZLPLA.P11 01-0CT=79 09: 2 5 01-0CT=79 30A(1052) 09:27 H SEQ 0020 PAGE 3-5 LTITLE CZLPLAQO LP25 DIAGNOSTIC .SBTTL IDENTIFICATICON .ENABL AMA ; PRODUCT CODE: AC-E634A-MC ; PRODUCT NAME: CZLPLAG LP25 DIAG ; MAINTAINER: SMALL ; JOHN CHATALIAN DONALD RICE AUTHORS: SYSTEMS DIAGNOSTICS RALPH SCHAUBER ; DATE . 27=SEP=79 ;COPYRIGHT (C) 1979 ;DIGITAL EQUIPMENT CORPORATION, MAYNARD MASSACHUSSETTS 01754 . THIS SOFTWARE IS FURNISHED UNDER A LICENSE FCR USE ONLY ON A SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH THE INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE, OR ANY OTHER COPIES THEREOF, MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON EXCEPT FOR USE ON AND TO ONE WHO AGREES TO THESE LICENSE TERMS. OWNERSHIP OF THE SUCH SYSTEM TITLE TO AND THE SOFTWARE SHALL AT ALL TIMES REMAIN IN DEC. INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT CORPORATION. DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. OF CZLPLAO LP25 DIAGNOSTIC MACY11 30A(1052) 01-0CT=79 09:27 CZLPLA.P11 01-0CT=79 09:¢5 IDENTIFICATION PAGE & I 2 SEQ 0021 o2 * FUNCTIONAL DESCRIPTION :THIS DIAGNOSTIC PROGRAM VERIFIES PROPER OPERATION OF THE LP25 LINE PRINTER JAND ITS ASSOCIATED M7258 CONTROL UNIT WHICH IS INTERFACED TO A PDP-11 CPU. :THE DIAGNOSTIC HAS PROVISION TO TEST UP TO SIXTEEN UNITS AT A TIME. :THE PROGRAM CONSISTS OF SIXTEEN TESTS, THREE OF WHICH ARE FOR THE DAVFU OPTION. ;THREE OF THE PRINTER TESTS INVOLVE MANUAL ;REQUIRE INTERVENTION BY THE OPERATOR. INTERVENTION. TWO OF THE DAVFU TESTS *THE PROGRAM IS COMPATIBLE TO THE PDP-11 DIAGNOSTIC SUPERVISOR, ACT/SLIDE, AND JXXDP+, ; VERSION ; HISTORY : A-0 27=SEP=79 R. SCHAUBER REV. A-0 INITIAL RELEASE REV=C SUPERVISOR / XXDP+ COMPATABLE CZLPLAO LP25 TEST MACY1? CZLPLA.PI 01-0CT=79 09:25 30A(1052) 01-0CT=79 09:27 IDENTIFICATION PAGE 5 J SEQ 0022 3532323323232235 2850053 CZLPLAO LP25 TEST LTITLE .SBTTL PROGRAM HEADER .MCALL SvC svC STRUCT -« MCALL STRUCT SLSTIN= SLSTTAG= ;STRUCTURED MACRO PACKAGE sLIST INSTRUCTIONS, SHIFTED RIGHT sLIST TEST TAGS , SHIFTED RIGHT SVCTAG= 1 ;LIST OTHER TAGS .ENABL a2 1 1 SVCINS= 1 SVCTST= 1 SvCSuB= 1 SVCGBL= 1 £R3R28 JINITIALIZE SUPERVISOR MACROS sLIST SUBTEST TAGS, SHIFTED RIGHT sLIST GLOBAL TAGS , SHIFTED RIGHT , SHIFTED RIGHT ABS ,AMA .=2000 BGNMOD POINTER BGNSW,BGNSFT ~— HEADER (4) (ZLPL.A,0,60,1,340 :: LENAME LSREV:: : LSDEPO: LSUNIT:: LSTIML:: LSHPCP:: LSSPCP:: : LSHPTP: 002024 002244 002026 033020 000000 00. 002032 000000 002034 000001 LSSPTP:: : LSLADP: LSSTA:: L$CO:: LSDTYP:: LASCII LASCII .ASCII LASCII .ASCI1I .BYTE .BYTE .BYTE /C/ /Z/ /L/ /P/ /L/ LASCII /A/ LASCII /0/ .WORD 0 .WORD 60 .WORD L $HARD .WORD T LSSOF .WORD LSHW .WORD LSSW .WORD LSLAST .WORD 0 .WORD 0 .WORD 1 01-0CT=79 09:25 CZLPLAO LP25 TEST CZLPLA.PT (4) 000000 (4) (5) (4) 002132 - SEQ 0023 : LSAPT: 000340 LSEXPT1:: (5) (4) (3) (5) : LSMREV: LS$EF:: (%) (5) L$SPC:: (4) (4) (4) (5) (4) (5) (4) (5) (4) .BYTE .BYTE 0 LSDVTYP o © © LSEXPS:: : LSAUT: L$DUT:: (4) (5) (4) LSLUN:: : LSDESP: 002172 : LSLOAD: 104035 LSETP:: LSICP:: 005020 LSCCP:: 006266 : LSACP: 002236 LSPRT:: 002122 LSTEST:: LSDLY:: : LSHIME: : THE FOLLOWING IS A LOAD PROTECTION TABLE CSREVISION CSEDIT 0 0 : LSEXP4: (5) (5) 0 : LSREPP: (4) (5) (4) (4) (5) (4) 0 : LSDEVP: (5) (5) 340 LSENVI:: (5) (4) (5) (4) LSDISPATCH : L$PRIO: (4) (5) 0 L$DTP:: ©O (5) K il PROGRAM HEADER :27 O (5) e 01-0CT=79 © (5) MACY11 30A(1052) LSDESC EMT ESLOAD 0 LSINIT LSCLEAN LSAUTO LSPROT MACY11 30A(1052) 01-0CT=79 09:27 CZLPLAO LP25 TEST CZLPLA.PIT 01-0CT=79 09:25 PROGRAM HEADER 1109 (3) 1110 1111 1112 1113 002122 002122 002122 002124 002126 002130 BGNPROT 000000 177777 177777 WORD O WORD -1 WORD =1 ENDPROT L PAGE 5-2 2 SEQ 0024 : L$PROT: .SBTTL PAGE 6 M SEQ 0025 D DISPATCH TABLE & o g e h sV SSNNIN) == N =OYoo~NO N wOOWNIS NV VY v v o w w - ; THE DISPATCH TABLE CONTAINS THE STARTING ADDRESS OF EACH TEST. s IT IS USED BY THE SUPERVISOR TO DISPATCH TO EACH TEST. D ) (3) (3) (3) (3) DISPATCH :X= NUMBER OF TESTS .WORD § 3 o b o o n &~ o — 8 :FOR USE ON REVISION C OF THE SUPERVISOR DESCRIP 002172 002200 002206 002214 050114 044522 042040 051517 032462 052116 040511 044524 002222 050114 002230 032462 <LP25 PRINTER DIAGNOSTIC> 050040 051105 047107 000103 DEVTYP (3) (2) 16 LSDISPAT(CH:: 2 2 [N - p— MACY11 30A(1052) 01-0CT=79 09:27 CZLPLAO LP25 TEST CZLPLA.PIT 01-0CT=79 09:25 DISPATCH TABLE <LP25> LSDESC:: LASCIZ /LP25 PRINTER DI .EVEN LSDVTYP:: LASCIZ .EVEN /LP25/ e v oK ; IS IDENTICAL TO THE RUN-TIME P-TABLE. ; ; 3 NWWNWES W Y eI Y e WWIWWW ) o I e e it D Y .SBTTL 177514 000200 ot odv) vt ¢t o b SF N Bt NS N I O WWVWVWVNVWWVWNES BN WSS NSNS 1ot e 000002 SEQ 0026 DEFAULT HARDWARE P-TABLE THE DEFAULT HARDWARE P-TABLE CONTAINS DEFAULT VALUES OF THE TEST-DEVICE PARAMETERS. THE STRUCTURE OF THIS TABLE BGNHW DFPTBL LSHW:: .WORD .WORD .WORD L10001=LSHW/2 TRAP CSAUTO DFPTBL:: 177514 200 ;LP25 REGISTER ADDRESS ;LP25 INTERRUPT VECTOR ;INTERRUPT VECTOR PRIORITY IS 4 AND CANNOT BE CHANGED R D Db P Tt R D b i e S R N e e d N R )— CZLPLAO LP25 T EST MACY11 30A(1052) 01-0CT=79 09:27 PAGE 7 CZLPLA.PI 01-0CT=79 09:25 DEFAULT HARDWARE P-TABLE 002236 002236 ENDHW 002236 002236 BGNAUTO 002236 002240 002240 002240 000240 NOP ENDAUTO 104461 L10001: ' LSAUTO:: ; NOT USED L10002: MACY11 CZLPLAQ LP25 TEST CZLPLA.P11 01-0CT=79 09:25 BRRRRRTEBIAVI I NI VITEAFSLLLRAL2S o e - e i d D i D e D ) D R ) D e i i D N 09:27 SOF TWARE P-TABLE PAGE 8 8 SEQ 0027 SOFTWARE P-TABLE ‘44 . ; THE SOF TWARE P-TABLE CONTAINS THE VALUES OF o J¥] O~ THE PROGRAM ; PARAMETERS THAT (AN BE (HANGED BY THE OPERATOR. 002242 002242 002244 002244 BGNSW 000007 SFPTBL : LSSW: 002244 000000 INHINT: .WORD 0 002246 000001 : CHRBND .WORD 1 002250 VFUOPT: .WORD 0 002252 MANSPD: . WORD O 002254 000004 PERIOD: . WORD 4 002256 000001 USA: .WORD 1 002260 000005 MAXERR: WORD 5 002262 002262 LWORD SFPTBL:: F ; NO INTERVENTION TESTS ; HANU2L~6NTERVENT10N TESTS 0 F 1 ¢ '36 : NO DAVFU OPTION 1 DAVFU OPTION INSTALLED NO DDAVFU DEFAULT ;0 FOR AUTOMATIC PRINT SPEED ;1 FOR MANUAL PRINT SPEED TEST JAUTOMATIC DEFAULT VALUE ;OPERATOR TO SELECT TIMING VALUE ;FROM 4 TO 60 SECONDS. INITIAL ;DEFAULT VALUE IS 4 SECONDS. 1 FOR TESTING IN U.S.A. O FOR TESTING IN G.B./EUROPE -y D 01-0(T=79 .SBTTL I e B - D L i ——————— U R P D 1157 1158 1159 3CA(10%2) ; * DIFFERENT BAND PATTERNS AUTODROP ERROR COUNT IF ERROR COUNT EXCEEDS MAXERR THE UNIT WILL BE DROPPED FROM TEST ENDSW L10003: « L10003-L$Sw/2 MACY11 CZLPLAQ LP25 TEST CZLPLA.P11 01-0CT=79 09:25 OO SR S WR - SEBIYRXRR WP - N bt 2— —— 01-0CT=79 09:27 PAGE 9 170 MACRO DEF INITIONS .SBTTL 11N .MACRO .IF B .ENDC .IF NB Y N 30A(1052) SEQ 0028 1/0 MACRO DEFINITIONS OUTPUT ADD,BFCNT,ERR MOV MOV ADD ,BUFADD CNT BF CNT ,BUF ERR MOV #LPERR,ERRSVC( MOV ERR MOV #-1,PRINTR sSAVE THE BUFFER ADDRESS JBUFFER BYTE COUNT BF(CNT ; OUTPUT TO ALL UNITS ERR,ERRSVC( JSR OUTPUT PC,IOCTRL sCALL THE DRIVER OQUTPUI MOV MOV ERR MGy ADD,BFCNT,ERR,UNIT ADD ,BUFADD CNT BF CNT ,BUF ;SAVE BUFFER ADDRESS ;BUFFER BYTE COUNT BFCNT P T Y Y .ENDM C Y .MACRO QR IF B Y Y N .ENDC .IF NB B JE " YT .ENDC 002262 #LPERR,ERRSVC( ERR MOV ERR,ERRSV(C MOV JSR UNIT,PRINTR PC,IOCTRL ; SUPPLY UNIT NUMBER ;CALL THE DRIVER CZLPLAD LP25 T EST MACY11 CZLPLA.PIT 01-0CT=79 09:25 30A(1052) 01-0CT=79 GLOBAL AREAS D SEQ 0029 GLOBAL AREAS BGNMOD s+t ; ; THE GLOBAL EQUATES SECTION CONTAINS PROGRAM EQUATES THAT ARE USED IN MORE THAN ONE TEST. 002262 EQUALS A N N N N N N N N N N N N S N S o S S N 002262 PAGE 10 ; BIT DIFINITIONS BIT15== BIT14== BIT13== BIT12== BIT11== BIT10== BIT09== BIT08== BIT07== BIT06== BIT05== BITO4== BIT03== BIT02== BITO1== BIT00== 100000 40000 20000 10000 4000 2000 1000 400 200 100 40 20 10 4 2 1 BITS== BIT8== BIT7== BITé== BIT5== BIT4== BIT3== BIT2== BIT1== BITO== BIT09 BITO08 BITO07 BITO6 BITO05 BIT04 BIT03 BIT02 BIT01 BITO00 N N N N N N N N N N N e e le el N N N N N N N N e e e T N N N N N N A e N el ST A S lalalelalalalalelalalala e ta e La Lo LaS IaS T, ,S 1,51, ¥ ] .SBTTL 09:27 EVENT FLAG DEFINITIONS ; EF32:EF17 RESERVED FOR SUPERVISOR TO PROGRAM COMMUNICATION EF .START== EF .RESTART== EF.CONTINUE== EF .NEW== EF .PWR== 32. 31. 30. 29. 28. * PRIORITY LEVEL DEFINITIONS PRIO7== 340 PRI06== 300 PRI0S== 240 ; ; ; ; ; START COMMAND WAS ISSUED RESTART COMMAND WAS [SSUED CONTINUE COMMAND WAS ISSUED A NEW PASS HAS BEEN STARTED A POWER-FAIL/POWER-UP OCCURRED CZLPLAQ LP25 TEST CZLPLA.P11 (N (1) (1 §P 1) M (1) (1) (1) (1) (1) (1) (1) (M (1) (M (1 (1) (1) (1) (1) (1) 1236 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 MACY11 01-0CT=79 09:25 000200 000140 000100 000040 0000C0 30A(1052) 01-0CT=79 GLOBAL AREAS PRI04== PRI03== PRI02== PRIOT== PRI00== 09:27 E 3 PAGE 10-1 SEQ 0030 200 140 100 40 0 :OPERATOR FLAG BITS 000010 000020 000040 000100 000200 000400 001000 002000 004000 010000 020000 040000 100000 000340 000300 000240 000200 000140 000100 000040 000000 EvL== LOT== ADR== IDU== ISR== 4 10 20 40 100 200 400 1000 UAM== BOE== PNT== PR]== IXE== IBE== IER== LOE== HOE== 2000 4000 10000 20000 40000 100000 == 340 == 300 240 200 140 100 40 0 ERROR CODES FOR USE BY GENERAL ERROR ROUTINE 000001 000002 2 000003 3 1 ;TRANSMITTER STATUS ERROR IN OUTPUT s TIMEOUT ERROR IN IO DRIVER MODULE ;THIS ERROR INDICATES THE LAST CHARACTER sWAS NOT TRANSMITTED WITHIN A GIVEN TIME ;GROSS TIME OUT ERROR. THE SPECIFIED DID NOT s INTERRRUPT. THEREFORE I0 DRIVER MODULE WAS sNOT CALLED GENERAL REGISTER USAGE DEF INITIONS RESERVED FOR USE BY THE MACRO PACKAGES MAXIMUM NUMBER OF UNITS TO TEST LSUNIT-1 UNIT NUMBER BY 2. USED TO CALCULATE OFFSET INTO PROPER PRINTER TABLE TEMPORARY STORAGE STACK POINTER CZLPLAO LP25 TEST CZLPLA.P11 MACY11 30A(1052) 01=0CT=79 09:2% 1273 1274 1283 F 3 PAGE 10=2 PROGRAM (COUNTER : ;"%;g 1282 09:27 GENERAL REGISTER USAGE DEF INITIONS :R7 : 1275 1276 1277 1280 1281 01-0CT=79 s LP STATUS TABLE BIT DEFINITIONS 100000 000200 002000 000100 ACTIVE = 100000 DROPED = 000200 : ERROR OVFLO = 002000 000100 SEQ 0031 MACY11 CZLPLAQ LP25 TEST CZLPLA P11 01-0CT=79 09:25 1285 1286 1287 01-0(T=79 09:27 GLOBAL DATA SECTION PAGE 11 .SBTTL GLOBAL DATA SECTION FLAG: LINCNT: LSTCNT: CCNT: STRCNT: CHRGEN: UNIT: LUNIT: .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD 0 O O 0 O 0 0 O PTABAD: PRINTR: .WORD .WORD 0 O C(LKTYP: .WORD O G 3 SEQ 0032 ;<CR> FLAG FOR USE BY SUPERVISOR sLINE COUNTER JUNIT COUNTER FOR SINGLE UNIT TESTING JUNIT COUNTER FOR ERRORS ;AND TESTS NOT USING THE OUTPUT ;MACROS. ;P-TABLE ADDRESS RETURNED BY GPHARD ;SELECTED LINE NO. ;MACRO ;CLOCK TYPE CONTROL WORD ;1= NO CLOCK AVAILABLE ;2= KW11=-L LINE CLOCK ;3= KW11-P PROGRAMABLE (CLOCK R LEARIKZE i cilh D el ) i e D ) D il il i - 002310 002312 002314 002316 002320 002322 CLOCKP: CLKCSR: CLKSET: CLKVEC: CLKENA: ERRCCD: .WORD .WORD .WORD .WORD .WORD .WORD 002324 002326 ERRFLG: .WORD 0 002330 002332 002334 .WORD INDEX: VFUCMD: .WORD .WORD 0 O ‘MACRO VARIABLES BUFADD: .WORD 0 BUFCNT: .WORD O UuT: 000000 000000 000000 002336 0 0O O O 0 O o e} @R el (ENTe NV, P AV N E D e i i D il il D i i D i WWWWWWWW WWWWW LSSV Rele RNTo SV F NVVLVE i e sl S D i i D i D i ) e e S R D i i i i i i il 1288 1289 1290 30A(1052) ; CLOCK P-TABLE ADDRESS ;CLOCK CSR ADDRESS ; CLOCK TIME SET REG ADDRESS ;CLOCK VECTOR ADDRESS ;CLOCK ENABLE BITS ;ERROR CODE TYPE FOR GENERAL :ERROR ROUT INE JEXPECTED ERROR INDICATOR ; # UNITS ACTUALLY UNDER TEST ;EXITS BACK TO 10 DRIVER EQUAL ;1 IF ERROR WAS EXPECTED. ;BUFFER ADDRESS OF DATA TO BE ;T0 THE LP25 sNUMBER OF BYTES TO TRANSFER . 1LP25 PARAMETER WORD TABLES 002340 000020 LPCSR: 002400 000016 LPVEC: 002434 000020 LPBUF: 002474 000020 STATUS: .REPT .WORD 16. 0 .ENDR 16 .REPT WORD O .ENDR _REPT 16, .WORD 0 .ENDR .REPT 16. ; ADDRESS OF CSR FOR EACH LP11 ; INTERRUPT VECTOR ADDRESS ; DATA BUFFER REGISTER ADDRESS ; UNIT STATUS SENT A MACY11 CZLPLAQ (P25 TEST CZLPLA P11 01-0CT=79 09:25 30A(1052) 01-0CT=79 000020 CURADD: 002574 000020 CURCNT: .WORD 0 .ENDR .REPT 16, .WORD 0 -ENDR .REPT 1€. WORD =1 ; CURRENT ADDRESS OF OUTPUT DATA ; CURRENT COUNT TO OUTPUT .REPT 166 ; INTERRUPT ROUTINE ADDRESS -ENDR | 000020 LPINTR: 002674 002676 000000 000020 ERRSVC: .WORD O ; ERROR ROUTINE DISPATCH ADDRESS 002736 002740 000000 G00000 WORK:: WORK1: .WORD .WORD 0 O ; WORK AREA .SBTTL OUTPUT BUFFER ERRTBL : : 6REPT 16. ; ERROR COUNT FOR EACH UNIT 2140 BYTES IS RESERVED FOR THE OUTPUT BUFFER AREA NS . o VONO D ol il il il il SEQ 0033 PAGE 11-1 002634 W ViAo 002534 D ) il il ) i ) D il D il il D i sl D i il B D i) D PR =2OVoONOVISW N =0V~ NI WY 1341 W ~ 09:27 G OBAL DATA SECTION H 002742 000226 OUTBUF: .REPT BrTE .ENDR 550' MACY11 CZLPLAQ LP25 TEST CZLPLA P 01-0CT=79 09:25 30A(1052) 01-0CT=79 09:27 GLOBAL TEXT SECTION .SBTTL PAGE 12 I GLOBAL TEXT SECTION .NLIST BEX e ; THE GLOBAL TEXT SECTION CONTAINS FORMAT STATEMENTS, ; MESSAGES, AND ASCII INFORMATION THAT ARE USED IN ; MORE THAN ONE TEST. SEgEERRPELESE 051120 051120 040520 CSRERR: .ASCIZ /PRINTER ERROR/ BNKSWI: BNDSWI: INTERT: .ASCIZ /HAMMER BANK INTERLOCK SWITCH FAILURE/ .ASCIZ /CHARACTER BAND INTERLOCK SWITCH FAILURE/ .ASCIZ /TRANSMIT INTERRUPT TIMEOUT/ RDYERR: PAPSWI: 110 044103 051124 120 TXERR: 052517 125 046101 045 045 003732 OUTTIM: TXNOIN: 02110 UUTEQO: VFUSEL: VEUEE1: .EVEN .ASCIZ /PRINTER NOT READY/ .ASCIZ /PAPER LOW INTERLOCK SWITCH FAILURE/ .ASCIZ /PRINTER STATUS ERROR/ .ASCIZ /UNIT FAILED TO INTERRUPT/ .ASCIZ /OUTPUT TIMEOUT ERROR/ .ASCIZ /ALL UNITS HAVE BEEN DROPPED..RESTART../ .ASCII /XNXAINSURE THAT VFU=FLS SWITCH ON EACH UNIT IS IN THE / LASCIZ /XNXA'VFU'' POSITION. 2N/ .LIST BEX . FORMAT STATEMENTS USED IN PRINT CALLS 003732 003740 003746 003754 003762 1404 1405 1406 1407 003770 003776 050114 044516 022462 050117 051106 051505 030461 020124 020101 042520 046517 022524 LPDROP: .ASCIZ /%ALP11 UNIT XD2XA DROPPED FROM TESTIN/ SEQ 0034 i —i ) cid b i .SBTTL NO VNN =o 2o il PAGE 13 SECTION J GLOBAL SUBROUTINES SEQ 0035 SECTION ;e ; ; THE GLOBAL SUBROUTINE THAT ARE USED BY MORE SECTION CONTAINS THE THAN ONE TEST. SUBROUTINES T4 FUNCTIONAL DESCRIPTION: OV n) s il b ol P o o D ) P o o o el P o o &~ D i -b CZLPLAO LP25 TEST MACY11 30A(1052) 01-0CT=79 09:27 CZLPLA.PI 01-0CT=79 09:25 GLOBAL SUBROUTINES SUBROUTINE TO PRINT THE GENERAL ERROR INFORMATION. PRINTS THE ERROR MESSAGE IN THE FOLLOWING FORMAT: "ERROR AT CSR XXXXXX UNIT yy' s WHERE XXXXXX= : H : CALLING SEQUENCE JSR PC,LPERR REQUIRED PARAMETERS H YY= 004006 004012 004014 004014 004020 013746 00340 3 021627 003402 002322 012716 000004 004020 004022 004024 006316 060716 063607 004026 004030 000010 000036 000064 000110 004026 004034 004036 004036 004036 THE ERROR CCDES DESCRIBED : R2 IS USED INTERNAL TO THE ROUTINE. H AND RESTORES IT PRIOR TO EXITING. LPERR: THE ROUTINE DOES A SAVE ON R2 SELECT ERRCOD OF 3 VERIFY ;SELECT PROPER MESSAGE FORMAT 000003 | 500008: 50001$: #4,(SP) (SP) a(SP)+ PC 500028: _ CASE 1 005262 002676 004042 004046 010237 006237 002074 002074 ;STATUS ERROR LET ERRTBL(R2) := ERRTBL(R2) + #1 LET LSLUN := R2 SHIFT =1 ERRCOD,~(SP) 50000% (SP) ,#3 50001% PC, (SP) . 004036 004042 UNIT NUMBER THAT FAILED UNDER ERROR CODES. : 004000 CSR ADDRESS ERRCOD MUST BE SET TO ONE OF : 004000 DEVICE 50006$~-50002% 50005$~50002% 50004$-50002% 50003$-50002% 50006%: INC ERRTBL (R2) MOV ASR RZ,LSLUN LSLUN MACY11 30A(1052> 01-0CT-79 09:27 CZLPLAO LP25 TEST GLOBAL SUBROUTINES CZLPLA.PT 01-0CT=79 09:25 1456 (4) (7) 1457 (4) (5) (5) (5) 1458 1459 1460 1461 (3) 1462 1463 (6) (9) 1464 1465 (4) 1466 (6) 1467 (4) 1468 004052 004052 004054 004056 004060 004062 004062 0046064 004064 004064 004070 004070 004074 004100 004100 004102 004104 004106 004110 004110 004112 004112 004112 004116 004116 004122 004126 004126 004130 004132 004134 0041 0041 0041 0041 0041 0041 0041 0041 0041 0041 0041 0041 0041 RIS RER &8 1446 (4) (5) (5) (5) 1447 1448 (4) (4) 1449 (6) 1450 (4) (7) 1451 (4) (5) (5) (5) 1452 1453 (4) (4) 1454 1455 (6) ERRHRD 104456 000016 K 3 PAGE 13-1 SEQ 0036 SECTION 14, TXERR CSERHRD 14 003443 TXERR 000L 70 0 ;OUTPUT TIMEOUT ERROR CASE 2 000425 005262 002676 010237 006237 002974 002074 LET ERRTBL(R2) := ERRTBL (R2) + m LET LSLUN := R2 SHIFT =1 ERRHRD- 104456 000017 003470 000000 15,0UTTIM 50003% 50005%: INC ERRTBL (R2) MOV ASR R2,LSLUN LSLUN TRAP .WORD CSERHRD . . .WORD CASE 3 000412 005262 002676 010237 006237 002074 002074 _NEVER RECIEVED THE INTERRUPT ; LET ERRTBL(R2) := ERRTBL(R2) + #1 50003% 50004%: ERRTBL (R2) LET LSLUN := R2 SHIFT =1 R2,LSLUN LSLUN ERRHRD 16, TXNOIN 104456 000020 CSERHRD 16 003515 000000 TXNOIN 0 ENDSELECT 026237 15 OUTTIM 0 002676 002260 004656 0020C0 002322 IF ERRTBL(R2) GT MAXERR THEN ENDI 002474 50003$: #SR PC.DROPIT LET STATUS(R2) LET ERRCOD RTS PC ; MAXIMUM ERROR COUNT EXCEEDED ! := STATUS(R2) CLR.BY #ERROR := #0 JAND EXIT CMP BLE BL (R2) ,MAXER ERRT 50007% BIC #ERROR ,STATUS (R2 CLR ERRCOD 50007%: CZLPLAO LP25 TEST MACY11 30A(1052) 01-0CT=79 CZLPLA.PIT 01-0CT=-79 09:25 _ 170 DRIVER .SBTTL 09:27 PAGE 14 L 3 . SEQ 0037 1470 1471 1472 1473 1474 1475 1476 1477 : : e ;THE I1/0 DRIVER ROUTINE IS INVOKED BY MEANS OF JCALL TO IT IS JMP IODRV. JRETURN RTI. }23? ;RT 1482 - .S, 8, 8 ; N w (6) 004166 004166 004174 032772 001045 100000 002340 1488 004176 1491 (6) (9) 1492 004200 004200 004204 004206 005762 003417 002574 004206 117272 002534 (6) 004214 005262 002534 000240 004220 004220 004226 1499 004232 (9) 1503 (4) 15046 (6) 1505 (6) 1506 (4) (3) ODRV: IF #BIT15 NOTSETIN @LPCSR(R2) THEN BIT BNE #BI1T15,aLPCSR(R2 50010% ' A s Ak kA A AR AR AR AN RA R AR AR AR KRR AR AR AR KRR AR AR IF CURCNT(R2) GT #0 THEN 002434 LET aLPBUF (R2) :B= aCURADD(R2) LET CURADD(R2) := CURADD(R2) + #1 TST BLE CURCNT (R2) 50011% MovB aCURADD (R2) ,aLPB INC CURADD (R2) BIS #ACTIVE ,STATUS(R DEC CURCNT(R2) BIS #100,aLPCSR(R2) BR 50012% TST CURCNT (R2) BIS #100,aLPCSR(R2) BR 50014% : ENABLE INTERRUPT FOR NEXT BYTE 1497 (6) 1498 1500 (6) 1501 (4) (3) 1502 (6) CHECK FOR ERROR FLAG IN STATUS REG. NOP 1495 (6) EQUALS MAXIMUM NUMBER OF UNITS ON SYSTEM UNDER TEST. : IF COUNT NOT ZERO SEND NEXT BYTE 1490 (4) THE INTERRUPT SYSTEM. JENTER ROUTINE WITH R2 SET UP TO DESIRED UNIT =2, R2 IS USED ;TO CALCULATE OFFSET INTO PROPER TABLE. 0o — 1478 1479 [/0 DRIVER 004226 004234 004234 004242 004242 004244 004244 004244 052762 100000 005362 002574 052772 000100 000240 002574 105072 002434 005362 002574 004262 052772 000100 004270 004272 000406 001010 LET STATUS(R2) := STATUS(RZ2) LET CURCNT(R2) := CURCNT(R2) - m NOP 002340 000421 005762 004250 004252 004252 004256 004256 004262 002474 . SRERRRARRARR AR AR KRR LET @LPCSR(R2) := aLPCSR(R2) SET.BY HACTIVE AR RARRRARRAR AR SET.BY #100 ELSE 50011%: IF CURCNT(R2) EQ #0 THEN LET aLPBUF (R2) LET CURCNT(R2) 002340 AR LET QLPCSR(R2) BNE 50013% :B= #0 ; PAD WITH TRAILING NUL CLRB alLPBUF (R2) := CURCNT(R2) - M1 DEC CURCNT (R2) := @LPCSR(R2) SET.BY #100 ELSE; INTERRUPT ONE MORE TIME ' 50013%: ooNOO 38888 ER28 SR b b NWWWW BII2II3323 SRERRRRES N NN N MACY11 30A(1052) 01-0CT=79 CZLPLAO LP25 TEST CZLPLA.PT 170 DRIVER 01-0CT=79 09:25 09:27 M PAGE 14~ SEQ 0038 1 ; ALL DONE, CLEAR ACTIVE & DISABLE INTERRUPTS 042762 100000 002474 042772 000100 002340 LET STAT US(R2) := STATUS(R2) CLR.BY WACTIVE LET aLPC SR(R2) := @LPCSR(RZ2) CLR.BY #100 ENDIF 002000 002474 012772 0007100 002340 012602 000002 ; CLEAR ERROR (ONDITION, ENABLE INTERRUPTS ; SET ERROR FLAG LET STATUS(R2) := STATUS(RZ2) SET.BY #ERROR LET @LPCSR(R2) ENDIF POP R2 RTI BIC #100,aLPCSR(R2) 50012%: ELSE 052762 W#ACTIVE ,STATUS(R 50014%: ENDIF 000406 BIC 50015% 50010%: := #100 BIS #ERROR,STATUS (R2 MoV #100,aLPCSR(R2) 50015%: MOV (SP)+,R2 i N n 09:27 PAGE 15 N 3 SEQ 0039 .SBTTL 170 CONTROL ++ THE 170 CONTROL SUBROUTINE IS A SINGLE ENTRY QUEUE MANAGER. THIS ROUTINE IS INVOKED BY A JSR FROM AN 1/0 CALL. INPUTS : PRINTR =1 FOR ALL TERMINALS BUFADD BUFCNT N FOR PRINTER NUMBER ‘N’ ADDRESS OF MESSAGE TO PRINT BYTE COUNT TO TRANSMIT TO PRINTER ERRSVC ADDRESS OF ERROR SERVICE SUBROUTINE 004330 IOCTRL: PUSH R2,.R3 010246 010346 N, 004330 004332 (4) 1542 (4) 1543 (4) (3) 1544 f(4) 1545 (4) 1546 (4) 004334 SeNe 023727 002304 004350 004350 004354 004354 004356 004356 013703 002012 005037 002074 004356 012703 000001 004362 013737 002304 004362 004370 004370 004370 004370 004370 004372 004374 1553 (4) 004400 004400 cMP PRINTR,#-1 MOV LSUNIT,R3 CLR LSLUN BR 50017% MOV #1,R3 MOV PRINTR,LSLUN TST BNE R3 50020% JMP CTLEND MOV ASL LSLUN,R2 R2 CLR ERRCOD BNE LET LSLUN := #0 ELSE LET R3 := # 50016%: LET LSLUN := PRINTR 002074 ENDIF 004374 CTLLOP: 005703 001002 000137 004650 1555 1557 (4) (7) 1558 _(4) R2,=(SP) R3,-(SP) 50016% 50017%: * REPEAT TILL R3 = 0 1551 (6) (9) 1552 (2) IF PRINTR EQ #-1 THEN LET R3 := LSUNIT 000405 1548 1550 177777 &~ 004344 MOV Mov IF PRINTR IS =1 QUE OUTPUT TO ALL PRINTERS SELECTED OTHERWISE TO UNIT NUMBER IN PRINTR. @ 004342 001005 g (9) 2¥ 0 W - d b b i YR U S Y Y Y ? 233mm&maa&mmmmmmwmmmww EIFLTHRUR LE TR IXHRE P - CZLPLAO LP25 TEST MACY11 30A(1052> 01-0CT=79 CZLPLA.PT 01-0CT=79 09:25 170 CONTROL o IF R3 EQ #0 THEN INLINE <JMP CTLEND> ENDIF 500208%: : USE R2 AS AN INDEX INTO THE UNIT TABLES 004400 004400 004404 004406 004406 013702 006302 002074 005037 002322 LET R2 := LSLUN SHIFT 1 LET ERRCOD := #0 MACY11 30A(1052) 01-0CT=79 CZLPLAO LP25 TEST CZLPLA.P11 C1=-0CT=79 09:25 170 CONTROL 1560 1561 1562 (6) (9) 1563 1564 1565 1566 (6) (9) 1567 (4) 1568 (4) (3) 1569 1570 1571 1572 (6) (9) 1573 (6) (9 1574 1575 1576 1577 : 004412 004412 004420 032762 001103 000200 002474 ’ IF 09:27 B 4 PAGE 15-1 SEQ 0040 THE UNIT HAS BEEN DROFPED SELECT THE NEXT UNIT IF #DROPED NOTSETIN STATUS(R2) THEN BIT BNE : #DROPED , STATUS (R 50021$ *TEST FOR DVC ERROR BIT SET 004422 004422 004430 004432 004432 004440 004440 004442 032772 001404 100000 002340 012737 000001 002322 : IF #BIT1S SETIN @LPCSR(R2) THEN La tl 000450 LET ERRCOD := WSTATER BIT #81T15,aLPCSR(R2 BEQ 50022% : STATUS REG ERROR BIT 15 SET IN CSR MOV #STATER,ERRCOD ' 50022%: BR 500238 * MAKE SURE FREVIOUS MSG IS DONE 005762 002445 002574 032762 001004 100000 y IF CURCNT(R2) GE #0 THEN ST IF #ACTIVE NOTSETIN STATUS(R2) 002474 8LT BIT BNE THEN CURCNT (R2) 50024$ #ACTIVE,STATUS(R 50025$% 1 OUTPUT WAS QUEUED BUT I1/0 DRIVER WAS NEVER INVOKED (VIA INTERRUPT) (4) 012737 (4) 000435 (4) (6) (9) 1580 032762 001431 100000 012727 000000 013727 000000 005367 000144 1578 (3) 1579 (2) (2) (2) 2) (2) 000003 002322 - ELSE LET ERRCOD := ANOINTR : NO INTERRUPT L 50025%: WHILE #ACTIVE SETIN STATUS(R2) 50 50027%: 002474 DELAY 100. 002116 MOV #NOINTR,ERRCOD BR 50026$ BIT #ACTIVE ,STATUS(R BEQ MOV .WORD MOV 500308 , (PC)+ #100. 0 LSDLY, (PC) + BNE DEC BNE 222(PC) .WORD DEC 177772 177756 0 -6(PC) e .=20 ~RARRES * ALLOW APPROX 2.5 SEC FOR BAND STARTUP ; 005262 002474 032762 001406 000100 002474 012737 000002 002322 LET STATUS(R2) := STATUS(R2) + #1 ’ IF #OVFLO SETIN STATUS(R2) LET ERRCOD := #TIMOUT THEN INC STATUS (R2) BIT BEQ MOV #OVFLO,STATUS (R2 50031$ #TIMOUT ,ERRCOD 3333344 R LK CZLPLAO LP25 TEST MACY11 30A(1052) 01-0CT=79 CZLPLA.PT 01-0CT=79 09:25 170 CONTROL 1590 (4) 1591 (4) 1592 (4) 1593 (6) (9) 5 5 5 042762 g 000743 100000 (&) (3) 004562 004562 0045€6 004574 004576 (6) 004622 - 005737 001403 002322 ¥ 004777 BR 50027% TST BEQ ERRCOD 50032% BR 50033% MOV , BUFADD , CURADD (R2 500268 : 500248 : ' IF ERRCOD NE #0 THEN 50023$: : REPORT THE ERROR 176100 ELSE 000415 JSR PC,aERRSV( 50032%: 004620 004622 004630 004630 004630 004630 013762 002334 002534 013762 002336 002574 042762 000177 002474 052772 000100 002340 000240 THE 1/0 DRIVER WILL PICK UP FROM HERE. LET CURADD(R?2) := BUFADD LET CURCNT(R2) := BUFCNT LET STATUS(R2) := ‘ STATUS(R2) MOV CLR.BY #177 BIC NOP IRRRRARRRARNRRRARRRRRRRRR AR RRRRRRRRA LET @LPCSR(R2) := aLPCSR(R2) SET.BY #100 ’ ENDIF ENDIF 1611 BUF CNT, CURCNT (R2 #177 ,STATUS(R2) BIS #100,aLPCSR(R2) BIC #177.STATUS (R2) DEC R3 INC LSLUN MOV (SP)+ ,R3 50033s: 50021%: * CLEAR OUT ANY TIMEOUT COUNT 1613 004630 004630 042762 000177 1615 (6) 1€18 (6) 1619 1620 1621 (2) : 500308 ENDIF ; 004576 004576 004604 004604 004612 004612 1617 ' ; Q UP THE MESSAGE AND ENABLE INTERRUPTS 1603 (&) 1604 (4) 1605 (6) (6) 50031s: ENDIF i 004570 004574 := STATUS(R2) CLR.BY WACTIVE BIC WACTIVE ,STATUS(R ENDIF }285 1608 (4) 1609 (4) ENDIF 004562 004562 004562 004562 004562 004562 SEQ 0041 LET STATUS(R2) 002474 1600 1606 1607 C_4 PAGE 15<2 ENDDO 1595 1597 1598 09:27 LET STATUS(R2) := STATUS(R2) CLR.BY #177 002474 : SELECT THE NEXT UNIT AND DECRIMENT THE LINECOUNT 004636 004636 004640 004640 004644 004650 004650 004650 LET R3 005303 005237 000137 012603 002074 004370 := R3 - #1 LET LSLUN := LSLUN + #i CTLEND: JMP POP CTLLOP R3,R2 MACY11 CZLPLAO LP2S TEST CZLPLA.PTI 01=0CT=79 09:25 (3) 1622 004652 004654 012602 000207 | 30A(1052) 01-0CT=79 170 CONTROL RTS 09:27 PC D & PAGE 15=3 SEQ 0042 MOV (SP)+ ,R2 MACY11 CZLPLAO LP25 TEST CZLPLA PN 01-0CT=79 09:25 30A(1052) 01-0CT=79 09:27 170 CONT ROL PAGE 16 E SEQ 0043 O —— e e e gy * DROPIT 1625 FUNCTIONAL DESCRIPTION : : THIS SUBROUTINE IS USED TO DROP A BAD PRINTER FROM THE TEST ; DISABLE ANY INTERRUPTS FROM THE PRINTER, AND NOTIFY THE ; OPERATOR THAT THE PRINTER WAS DROPPED. 012762 000200 002474 012762 177777 002574 005072 002340 013746 012746 002074 DROPIT: 000006 := #DROPED LET STATUS(RZ? LET CURCNT(R2) := #-1 LET @LPCSR(R2) := #0 PRINTF #LPDROP, LSLUN LET wut 002326 #=1,CURCNT (R2) = WT - # IF UUT EQ #0 THEN 002326 PRINTF #UUTEQO 003546 000001 000004 ; NOTHING TO TEST DOCLN ENDIF RTS o CLR aLPCSR(R2) “MOV MOV MOV #LPDROP ,=(SP) #2,-(SP) TRAP ADD := #0 LET ERRTBL(R2) 002676 #DROPED,STATUS (R LSLUN,=(SP) SP.RO CSPNTF CLR ERRTBL (R2) DEC wuT TST wr MOV MOV MOV TRAP ADD #UUTEQO,~(SP) TRAP C$DCLN 50034% #1,-(SP) SP,RO CSPNTF #4 ,SP : 500348 PC —————————— e e T T T T T T T T T Tk i FUNCTIONAL DESCRIPTION: 004764 005000 005037 002074 023737 002007 002074 IN A MULTI UNIT MODE OF OPERATION. LET LSLUN := #0 WHILE LSLUN LT LSUNIT DO 002012 GPHARD LSLUN, R3 LSLUN 50035%: nr- s THIS SUBROUTINE IS REQUIRED TO INSURE PROPER PASS COUNT REPORTS o : LUN_LSUNIT 036% CZLPLAQ LP25 TEST MACY11 CZLPLA.P11 01-0CT=79 09:25 (3) (3) (3) 1656 (6) 1657 (4) (3) 1658 1659 1660 1661 013700 104442 30A(1052) 01-0(T=79 170 CONTROL 000765 000207 PAGE F 16-1 4 SEQ 0044 002074 MOV 010003 005237 09:27 002074 TRAP MOV LET LSLUN := LSLUN + ENDDO RTS ENDMOD PC 50036%: LSLUN,RO ( $GPHRD RO,R3 INC LSLUN BR 50035% MACY11 CZLPLAQ LP25 TEST CZLPLA P11 01-0CT=79 09:25 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 (3) 1673 1674 1675 (3) (3) 1676 (2) 1677 (3) (3) 1678 (2) 1679 1680 1681 (3) (3) 1682 1683 1684 1685 (3) 1686 (6) (9) 1687 (7) (6) (3) (4) (4) 1688 (7> (6) (3) (4) (4) 30a(1052) 01-0CT=79 09:27 PAGE 17 INITIALIZATION SECTION .SBTTL - G 4 , : SEQ 0045 INITIALIZATION SECTION 2 J sTHE INITIALIZE ROUTINE IS EXECUTED AT THE BEGINNING OF EACH SUB-PASS AND [S ;PRIMARILY USED FOR REQUESTING P-TABLE PARAMETERS. INFORMATION REQUESTED FROM ;THE OPERATOR INCLUDE THE NUMBER OF UNITS UNDER TEST, DEVICE ADDRESSES, VECTORS, ;CLOCK TYPE, AUTO OR MANUAL PRINTING SPEED MEASUREMENT, AND WHETHER A DAVFU ;OPTION IS INSTALLED IN THE SYSTEM. BGNMOD BGNINIT LSINIT:: ;RESET EXTERNAL BUS IF START EVENT FLAG IS SET :OR POWER FAIL RESTART 012700 104447 READEF 000040 BCOMPLETE 103410 012700 104447 READEF 000037 004764 JSR JTEST START EF 1% ;NOW THE RESTARTFLAG MOV TRAP 1% #EF .START RO CSREFG 18 #EF .RESTART,RO CSREFG ' ;IF EITHER START OR POUES(;AIL RgiTART ;DO A BUS RESET PC,FAKE ; EXIT INIT 104432 INDICATOR MOV TRAP ;BRANCH IF FROM START UPBCS #EF .RESTART BCOMPLETE 103404 004737 #EF.START ; UPDATE PASS COUNT ELSE EXIT INIT CODE 001134 TRAP CSEXIT .WORD L10004-. TRAF CSRESET CMP LSUNIT ‘POWER UP RESTART OR START COMMAND ]SSUED is: 104433 023727 003420 002012 012746 012746 010600 104417 062706 005612 000001 012746 012746 010600 104417 062706 005675 000001 104450 103016 000004 000004 000020 BRESET :RESET THE BUS IF LSUNIT GT #16. PRINTF THEN BLE #NRGT16 MOV ENDIF MANUAL ; BNCOMPLETE PRINTF - #MRESET WAIT FOR CR 100% IF IN MANUAL MODE #NRGT16,-(SP) #1,-(SP) TRAP ADD CSPNTF #6 ,SP MOV MOV MOV #NRGT17 ,-(SP) #1,-(SP) SP.RO SP,RO TRAP ADD CSPNTF #4,SP TRAP CSMAN] BCC 100% 50037%: . JPRINT RESET MESSAGE #16. MOV MOV PRINTF #NRGT17 50037% MACY11 CZLPLAO LP25 TEST CZLPLA.PI 01-0CT=79 09:25 (7) (6) (3) (4) (4) 1694 005126 005132 005136 005140 005142 012746 012746 010600 104417 062706 30A(1052) &4 SEQ 0046 005731 000001 MOV MOV MOV #MRESET ,-(SP) #1.-(5P) ADD w4 ,SP (LR FLAG (LR ERRCOD CLR uuT TRAP CSGMAN 10000% TRAP 000004 SP,RO CSPNTF ‘WAIT FOR A "'CR'* BEFORE GOING ON 1695 1696 1697 H 01-0CT=79 09:27 PAGE 17-1 INITIALIZATION SECTION 005146 005037 002262 005037 002322 005037 002326 LET FLAG = #0 LET ERRCOD : #0 LET WT := TM 100%: 104443 0004 002262 000130 006010 GMANIL READY,FLAG,100000,YES 100000 ;GET MANUAL PARAMETERS .WORD .WORD .WORD .WORD 1 100008 : FLAG T$CODE READY 100000 *REQUEST P-TABLE FOR PRINTERS UNDER TEST 013701 005301 2%: 002012 LET R1 := LSUNIT - #1 JMAXIMUM NUMBER OF UNITS INCR LSLUN FROM #0 TO R1 BY #1 005037. 002074 000402 005237 002074 023701 003071 002074 013700 002074 104442 50041%: 500408%: 010003 CLR LSLUN 50040% INC LSLUN CMP BGT LSLUN,R1 50042% MOV LSLUN,RO C$GPHRD ;BRANCH IF DEVICE NOT PRggENT LET R2 := LSLUN SHIFT 1 002074 LSUNIT ,R1 TRAP MOV BNCOMPLETE 3% 103060 013702 006302 ;REQUEST P-TABLE ADDRESS GPHARD L$LUN,R3 MOV DEC MOV R1 RO.R3 3% LSLUN R2 ASL R2 CLR STATUS(R2) (LR ERRTBL (R2) :CLEAR STATUS WORD IN TABLE, CLEAR ANY ERROR COUNT, OUTPUT COUNT 005062 002474 005062 002676 012762 177777 002574 LET STATUS(R2) := LET ERRTBL(R2) : = #0 LET CURCNT(R?2) : = a-1 M MOV #=1_ CURCNT (R?2) I_4 ' SEQ 0047 MACY11 30A(1052) 01-0(T=79 09:27 PAGE 17-2 CZLPLAO LP25 TEST CZLPLA.PI 01-0CT=79 09:25 INITIALIZATION SECTION :LOAD CSR ADDRESS INTO TABLE 1717 012362 002340 016262 062762 002340 000002 012362 : LET LPCSR(R2) := (R3)+ LET LPBUF(R2) C02434 := LPCSR(R2) :SET UP (SR ADDRESS FOR DEVICE + #2 002434 MOV (R3)+,LPCSR(R2) MOV LPCSR(R2) ,LPBUF ( MOV (R2) (R3)+,LPVEC ADD “SET UP VECTOR ADDRESS INTO GIVEN TABLE LET LPVEC(R2) := (R3)+ - 002400 #2.LPBUF (R2)- 'SET UP DEVICE INTERRUPT VECTOR INFORMATION § 010237 LET WORK := R2 SHIFT 3 MOV 031616 002736 013762 002736 002634 012746 016246 016246 012746 000200 002634 002400 000003 104437 062706 LET WORK := WORK + #INTQO LET LPINTR(R2) WORK ASL WORK ASL . : WORK ADD #INT0O , WORK MoV WORK ,LPINTR(R2) MOV #PRI04,~(SP) := WORK SETVEC LPVEC(R2), LPINTR(R2), #PRIO4 R2 ,WORK ASL MOV MOV MOV LPINTR(R2) ,=(SP) C (R2) ,=(SP) LPVE #3,-(SP) TRAP ADD (SSVEC #10,SP INC wuT BIS #DROPED, STATUS (R B8R 50041% 000010 : ADD ONE TO UNIT UNDER TEST COUNT 005237 000403 ) 002326 LET UUT := UUT + #1 BR 4$ “INDICATE LSLUN NOT AVAILABLE FOR TESTING 005376 005406 052762 000200 000702 002474 3g: 4$: LET STATUS(R2) := STATUS(R2) SET.BY #DROPED END INC ;GO BACK AND DO IT AGAIN 50042%: :DETERMINE IF MANUAL PRINT SPEED TO BE DONE AND PROCESS ACCORDINGLY “THIS IF STATEMENT HAS BEEN HARD CODED BECAUSE OF *NON-LOCAL SYMBOLS IN THE LOOP “IF MANSPD EQ #0 THEN 005406 005412 005414 005737 001405 002252 ’ TST MANSPD BEQ (K1 LET CLKTYP := #4 : IF 0 AUTO MATIC PRINT SPEED TEST JBRANCH [F AUTOMATIC TEST TO BE RUN J_4& MACY11 30A(1052) 01-0CT=79 09:27 PAGE 17-3 CZLPLAQ LP25 TEST CZLPLA.PT 01-0CT-79 09:25 INITIALIZATION SECTION (4) 1753 (3) (3) 1754 1755 1756 1757 1758 1759 1760 (3) (3) (3) 1761 1762 (6) 1763 1764 (3) (3) (3) 1765 1766 (6) 1767 (4) 1768 (7)) (6) (3) (&) (4) 1769 (7) (6) (3) (4) (4) 1770 (4) (3) 1771 1772 (4) 1773 (4) 1774 (4) (3) 005414 005422 005422 0054246 000004 0C2306 EXIT INI T 104432 000556 SJEND OF 005426 005426 6K1: 005426 005432 005434 012700 104462 010004 005436 005436 103435 (005440 005440 005444 005446 012700 104462 010004 005450 005450 005452 005452 005460 005460 005464 005470 005472 005474 005500 005500 005504 005510 005512 005514 005520 005520 005522 005522 005522 005530 005530 005530 005530 005532 005532 1777 (4) 1778 005540 005540 005540 005532 000120 IF CLOCK L,R4 000114 : IF CARRY CLEAR THEN 'L’ CLOCK DOESN'T EXIST 1FCOND CC 103424 006045 000001 012746 012746 006107 000001 010600 104417 062706 002306 PRINTF 0C0004 PRINTF MOV C$CLCK RO.R4 BCS 500433 MOV TRAP MOV #'L,RO C$CLCK RO.R4 50044% #1,CLKTYP ANOCLCK #NOCLCK ,=(SP) #1,-(SP) - A#NOTIM SP.RO CSPNTF W4 ,SP #NOTIM,-(SP) #1,-(SP) #4,SP ELSE 002306 000403 ENDI F ;WE HAVE A 'P' CLOCK 002306 50045% : 500448 LET CLKTYP := w2 ELSE 000003 #'P,RO THEN ;WE HAVE AN 'L"' CLOCK 012737 MOV SP.RO CSPNTF 000004 000002 CSEXIT L 10004~. LET CLKTYP := #1 000403 012737 .WORD TRAP ; SO TEST FOR AN 'L"' (CLOCK 012746 012746 010600 104417 062706 TRAP . SEE IF THERE IS & 'P"' CLOCK CLOCK P, R4 IFCOND C C THEN 000001 w6 ,CLKTYP ANY. :IF_CARRY CLEAR 'P' (LOCK DOESN'T EXIST 012737 MOV INITIAL SET UP SECTION. NOW FIND OUT WHAT TYPE OF (LOCK ;AVAILABLE 1775 1776 (4) 012737 SEQ 0048 #2,CLKTYP 50045%: LET CLKTYP := #3 ENDIF IF CLKTYP EQ #2 OR CLKTYP EQ #3 THEN 50046% 50043%: MOV 50046%: #3,CLKTYP K CZLPLAO LP25 TEST MACY11 30A(1052) 01-0CT=79 09:27 PAGE 17<4 CZLPLA.PIT 01-0CT=79 09:25 INITIALIZATION SECTION (6) 005540 023727 002306 000002 (6) (9) (6) 005550 005556 005560 023727 001010 002306 000C03 (8) 005546 1779 005560 1780 005564 1782 (4) 1783 (3) (3) 1784 (3) (3) 1785 N\ N ZeeR3RA228Y ~~ WW e RPRF AL 338 1787 (2) (3) 1810 (4) 1811 (4) 1812 4) (6) (9) 1813 010437 005564 017737 005572 005600 005600 005600 012777 005600 005604 012700 104441 005606 104432 005606 002310 174520 000000 ' . LET CLKCSR 002312 174512 MOV : ENDIF : 000000 EXIT := @CLOCKP #0,aCLKCSR CMP CLKTYP 42 (MP BNE CLKTYP 43 500508 MoV R4 ,CLOCKP MoV aCLOCKP,CLKCSR MOV TRAP #PR100,RO C$SPRI BEQ 50047%: : " , INIT TRAP 000372 005612 047045 040445 052516 NRGT16: .ASCIZ /INXANUMBER OF LINE PRINTERS UNDER TEST EXCEEDS 16./ 045 022516 051101 MRESET: .ASCIZ /ANXARESET LINE PRINTER(S) AND PLACE ON LINE.2ZN/ 005675 045 .WORD .NLIST BEX 022516 047501 NRGT17: .ASCIZ 50047% 50050%: SETPR] #PRIOO 005610 g (&) 1781 005560 SEQ 0049 LET CLOCKP := R4 CSEXIT L10004~-. /XNXAONLY 16 WILL BE TESTED./ 006010 042504 051120 051505 READY: .ASCIZ 12 /DEPRESS 'RETURN'' WHEN READY./ 006107 045 022516 040501 N(EJ\T,én LASC 12 /ANZAAUTO PRINTING SPEED MEASUREMENT CANNOT BE PERFORMED./ PLOC: .WORD 00604 006200 045 022516 044101 000000 , 006202 006202 NOCLCK: .ASCIZ 12 /INYAHARDWARE CLOCK NOT AVAILABLE./ O ' .LIST BEX ENDINIT n o ~n (4) 001404 & L10004: 104411 RESVEC TC THE 006204 006206 006210 006210 006212 006212 006216 006216 006216 006220 006222 RESVEC: : 010346 010446 013703 005703 003417 INTERRUPT ROUTINES STARTING AT PUSH R3.Ré R4 := #0 WHILE R3 GT #0 DO | R3,-(SP) Ré.-(SP) (LR R4 MOV LSUNIT,R3 TST BLE R3 50052% INTOO. LET R3 := LSUNIT 002012 MOV MOV SETUP ALL UNITS VECTOR AREAS 'NORMAL' LET 005004 CSINIT FUNCTIONAL DESCRIPTION THIS SUBROUTINE WILL 006204 TRAP | SETVEC LPVEC(R&), LPINTR(R4), #PR]I04 500518 - L 4 CZLPLAQ LP25 TEST MACY11 30A(1052) 01-0CT=79 09:27 PAGE 17<5 CZLPLA.PI 01-0CT=79 09:25 INITIALIZATION SECTION (7) (6) (5) (&) (3) (2) 1814 (6) 1815 (6) 1816 (4) (3) 1817 (2) (3) }318 006222 006226 006232 006236 006242 006244 006250 006250 006254 006254 006256 006256 006260 006260 006260 006262 006264 012746 016446 016446 012746 104437 062706 062704 000200 002634 002400 000003 : 000010 LET R4 000002 012603 000207 := R4 + #2 -ENDDO 000757 : 50052%: POP R4 ,R3 RTS PC _ MOV MOV MOV MoV #PR104 ,=(SP) LPINTR(R4) ,-(SP) LPVEC (R4) ,=(SP) #3,-(SP) ADD #2 R4 DEC R3 TRAP ADD LET R3 := R3 - M 005303 012604 SEQ 0050 ' BR MoV MOV CSSVEC #10,SP : 50051% (SP)+,Ré4 (SP)+,R3 M CZLPLAQ LP25 TEST MACY11 30A(1052) 01-0{T=79 09:27 PAGE 18 CZLPLA.PIT 01-0CT=79 09:25 CLEANUP CODING SECTION 1821 1822 (2) .SBTTL STARS 006266 DR 1832 006266 STARS 1833 (3) 006266 006266 BGNCLN 1%% 006266 1836 006270 (6) 1837 (4) 006274 006276 006276 (2) 1834 (4) (5) (4) ; 006266 006270 006302 006304 DR 005301 005037 000402 002074 (7) 006314 023701 003013 002074 1839 1840 006316 (7) 1841 (4) 1842 (4) 1843 (4) 1844 (4) (3) 1845 1846 006322 006324 006324 006330 006330 006336 006336 006342 006342 006344 006344 006350 (4) (6) (8) (6) (9) (6) 1847 (3) (3) 1848 1849 006316 002074 005062 002474 012762 177777 005062 002676 002574 000760 006350 023727 002306 000002 006360 006366 023727 001006 002306 000003 006370 006374 006376 006404 017700 104436 012777 LSCLEAN:: := LSUNIT - # JNUMBER OF UNITS-1 LET STATUS(R2) := #0 LET CURCNT(R2) := #-1 LET ERRTBL(R2) := #0 173706 TRAP CSRESET MOV LSUNIT R CLR LSLUN INC LSLUN CMP LSLUN,R1 DEC 500548 : , 50053%: : BR BGT ZERO ALL ERROR COUNTS LET R2 := LSLUN SHIFT 1 MOV 50055%: JSR PC,RESVEC ; RESET THE VECTORS IF CLKTYP EQ #2 OR CLKTYP EQ #3 THEN MOV ENDIF #0,aCLKCSR 50056%: R1 50053% 50055$% LSLUN,R2 ASL R2 CLR STATUS(R2) MOV #-1,CURCNT (R2) CLR ERRTBL (R2) BR 50054% CMP CLKTYP 42 CMP BNE CLKTYP 43 50057% BEQ CLRVEC aCLKVEC 173722 000000 AR AR AN END INC 006204 006370 006370 AR AR R AR AAN RAARR AR ; DISABLE ALL INTERRUPTS, SELECT ALL LINES 013702 001404 ORI AR AR AR AR IR AR AR RAANR AR : 004737 006356 LET R1 ; 006302 AR INCR LSLUN FROM #0 TO R1 BY #1 002074 005237 1838 AR AN AR AR AN RRAARARA AR R RN AR AR R R AR CLEAN: 002012 006304 006310 006310 AR BRESET (7) (5) (5) CLEANUP CODING SECTION ' 104433 013701 SEQ 0051 s *® ;THE PURPOSE OF THE CLEANUP SECTION IS TO CLEANUP ALL PRINTERS UNDER TEST JAND RETEST ANY UNITS WHICH HAVE BEEN DROPPED FROM TESTING TO INSURE THAT sTHEY HAVE NOT COME BACK ON LINE. IF THE DEVICE HAS COME BACK ON LINE sTESTING WILL BE RESTARTED ON THE DEVICE. THIS INSURES THAT ;IN THE EVENT A PAPER OUT OCCURRED AND THE OPERATOR HAS PUT ADDITIONAL PAPER sINTO THE UNIT UNDER TEST, THE INITIALIZATION SEQUENCE DOES NOT JHAVE TO BE DONE AGAIN IN ORDER TO GET THE DEVICE ACTIVE. v 1823 1824 1825 1826 1827 1828 1829 }g;,? 4 MOV TRAP 50056% aCLKVEC RO CSCVEC 4 MACY11 CZLPLAO LP25 TEST CZLPLA.PI 01-0CT=79 09:25 (4) 1850 (3) (3) 1851 1852 006404 006404 006404 006404 006406 30A(1052) 01-0CT=79 09:27 SEQ 0052 PAGE 18- CLEANUP CODING SECTION ENDCLN 104412 ENDMCD 50057%: L10005: TRAP (SCLEAN MACY11 30A(1052) CZLPLAO LP25 TEST 01-0CT-79 09:27 CZLPLA PN 01-0CT- 79 09:25 INTERFACE LOGIC .SBTTL 006406 SEQ 0053 INTERFACE LOGIC 3% ;THIS TEST VERIFIES THE OPERATION OF THE INTERFACE LOGIC. TESTS ARE sPERFORMED FOR PRINTER ERROR, PRINTER READY, AND CLEARING PRINTER READY ;BY LOADING A CHARACTER INTO THE OUTPUT BUFFER. ALSO IT IS VERIFIED ;THAT THE PRINTER WILL NOT INTERRUPT IF IT IS AT THE SAME PRIORITY LEVEL sAS THE PROCESSOR, BUT WILL INTERRUPT IF THE PROCESSOR IS AT A LOWER JPRIORITY LEVEL. THE PRINTER IS AT PRIORITY LEVEL 4. — NN — 5 BGNMOD -~ B2 % FERERES 1854 1855 1856 1857 1858 1859 B PAGE 19 013701 005301 002012 BGNTST 1 LET R1 := LSUNIT - #1 T1:: JMAX NUMBER OF UNITS ON SYSTEM MOV DEC ‘HARD CODED INCREMEMNT LOOP 005037 000402 002300 005237 002300 023701 003402 000137 013702 006302 002300 032772 001416 100000 052762 002000 005262 002676 013737 002300 :START LOOP ’ CLR LUNIT SUNIT TO O BLE 1$ “ONTO NEXT UNIT 002300 X nc. T BR INC e 007116 o JMP TC LUNIT LUNIT,RT ‘DO COMPARE ;UPDATE UNIT NUMBER :DO COMPARISON OF UNIT NUMBER T8 YEXIT LOOP LET R2 := LUNIT SHIFT 1 002340 002474 002074 104456 000001 003170 000000 005072 *INCR LUNIT FROM #0 TO R1 BY #1 IF #81T15 SETIN QLPCSR(R2) LUNIT ,R2 BIT #BIT15,aLPCSR(R2 BIS #ERROR,STATUS (R2 INC ERRTBL (R2) MOV LUNIT,LSLUN TRAP CSERHRD ASL THEN . BEQ LET STATUS(R2) := STATUS(RZ) SET.BY #ERROR LET ERRTBL(R2) := ERRTBL(R2) + #1 LET LSLUN := LUNIT ERRHRD 1,CSRERR MOV ;ERROR BIT WAS SET. SAY SO WORD .WORD LET QLPCSR(R2) 002340 LSUNIT,R1 R1 := #0 ENDIF R2 50060% 1 CSRERR .WORD O CLR aLPC(SR(R2) BIT #8117 ,aLPCSR(R2) 50060$%: ;TIME DELAY ; IF NOT READY ALLOW 3 SECONDS TO COME LP 032772 000200 002340 IF #BIT7 NOTSETIN aLPCSR(R2) THEN CZLPLAO LP2S TEST CZLPLA.PIT MACY11 30A(1052) 01-0CT=79 09:25 (9) 006520 001014 (2) 006522 012727 000036 (2) 006530 013727 002116 1893 (2) (2) (2) (2) (2) (2) 1894 1&4}% 006522 006526 006534 006536 006542 006544 006550 006552 000000 000000 005367 001375 005367 001367 1899 (6) 1900 006562 006562 006570 (4) (5) (5) (5) 1903 18& 006560 006570 006576 006576 006602 006602 006604 006606 006610 006612 177772 177756 1908 (6) 006620 006620 032772 001014 052762 ) 000200 002340 002474 013737 002300 002074 005262 002676 104456 006626 001416 (4) 006642 (4) 006650 (4) 1914 1<(;l1o‘), 1916 #30.,(PC)+ MOV LSDLY, (PC)+ BNE 0 O -6(PC) =4 =22(PC) .=20 50061$%: IF #BITO7 NOTSETIN @aLPCSR(R2) LET STATUS(R2) THEN := STATUS(R2) :TEST FOR THE READY BIT BIT #BIT07,aLPCSR(R2 SET.BY #ERROR LET LSLUN := LUNIT LET ERRTBL(R2) := ERRTBL(R2) ERRHRD 2,RDYERR 000002 003206 000000 012772 006630 006630 006636 006636 (5) (5) (5) 1913 MOV DEC ENDIF 002000 006612 1909 (6) 1910 (6) 1912 50061$% + #1 :REPORT AN ERROR BNE 50062% BIS #ERROR,STATUS(RZ MOV LUNIT,LSLUN INC ERRTBL (R2) TRAP ENDIF CSERHRD .WORD .WORD WORD 2 RDYERR O MOV #12.,3LPBUF (R2) BIT #BIT07,aLPCSR(R2 BIS #ERROR,STATUS(R2 INC ERRTBL (R2) MOV LUNIT,LSLUN TRAP CSERHRD 50062% : . INSURE LOADING CHARACTER CAUSES PRINTER READY TO GO AWAY 006612 1911 BNE BNE ; 006612 1907 (9) SEQ 0054 : .WORD DEC }ggg (4) S :NOW TEST FOR PRINTER READY 006552 006552 (4) INTERFACE LOGIC c PAGE 19=1 .WORD 006552 1898 (6) 1901 (6) 1902 09:27 DELAY 30. }ggg (9) 01=0CT=79 006642 006650 006652 006654 006656 006660 006660 006664 006664 ] 032772 000012 002434 000200 002340 052762 002000 005262 002676 013737 002300 104456 000003 007172 000000 005072 002340 002474 002074 LET aLPBUF (R2) := #12 IF #BITO7 SETIN @aLPCSR(R2) THEN LET STATUS(R2) := STATUS(R2) SET.BY #ERROR LET ERRTBL(R2) := ERRTBL(R2) LET LSLUN + #1 := LUNIT ERRHRD 3,ERR11 LET @LPCSR(R2) ENDIF BEQ :REPORT AN ERROR := #0 . , : - 50063% .WORD .WORD .WORD 3 ERR11 O CLR aLPCSR(R2) 50063%: *VERIFY THAT THE PRINTER WILL NOT INTERRUPT IF IT IS AT A PRIORITY LEVEL ‘ MACY11 CZLPLAO LP25 TEST CZLPLA.PTT 01=0CT=79 09:25 30A(1052) 0Q1-0CT=79 D_5 PAGE 19-2 09:27 INTERFACE LOGIC SEQ 0055 :THE SAME AS THE (PU 1917 012700 104441 012746 000200 000200 007134 002400 000003 000010 052772 000100 012727 000000 013727 000000 005367 001375 005367 001367 000030 SETPRI #PRI04 ;CPU TO PRIORITY 4 SETVEC LPVEC(R2) ,#INTERR, #FR]04 ;LP VECTOR SET UP LET aLPCSR(R2) 002340 DELAY := @LPCSR(R2) SET.BY #4100 #PR104 RO MOV MOV MOV MOV TRAP ADD #PRI0G,=(SP) #INTERR, = (SP) #10,SP BIS #100,3LPCSR(R2) s INTERRUPT ENABLE ; ALLOW 3 SEC FOR DELAY 30 MOV TRAP C$SPRI LPVEC(R2) ,=(SP) #3,-(SP) CSSVEC 830,(PC)¢ 002116 bsoLv.(pc>o 177772 -6(PC) 177756 222(PC) 4 .=20 INOW TEST THAT THE PRINTER WILL INTERRUPT IF THE PRIORITY IS LOWER THAN s THE 042772 000100 012700 104441 000140 012746 012746 016246 012746 000200 007164 002400 000003 062706 000010 052772 000100 104437 002340 LET aLPCSR(R2) := @LPCSR(R2) CLR.BY #10C ;CLEAR INTERRUPTeg?ABLE ;CPU TO PRIORITY 3 SETPRI #PRIO3 SETVEC LPVEC(R2) ,#INTHDL ,#PR]04 002340 000030 I.LET @LPCSR(R2? := @LPCSR(R2) SET.BY #100 MOV TRAP #PRI103,RO MOV MOV MOV MOV -TRAP ADD #PRI0G ,~(SP) #INTHDL ,~ (SP) CSSVEC #10,SP BIS #100,aLPCSR(R2) s INTERRUPT ENABLE ; ALLOW 3 SEC DELAY DELAY 30 #100,aLPCSR(R2) C$SPRI ,=(SP) (R2) EC LPV #3,-(SP) 630.(PC)0 002116 bsoLv.(PC)o 177772 -6(PC) 177756 222(PC) .=20 005262 002676 013737 002300 104456 CPU Jod LET ERRTBL(R2) 002074 := ERRTBL(R2) LET LSLUN := LUNIT ERRHRD 4 ,ERR13 + #1 ERRTBL (R2) LUNIT,LSLUN C3ERHRD MACY11 CZLPLAO LP25 TEST CZLPLA.PIT 01-0CT=79 09:25 (3) (3) 1945 1946 1947 1948 1949 1950 1951 (6) 1952 (4) 1953 (4) (%) 005062 002474 002340 01-0CT=79 09:27 INTERFACE LOGIC END2: E.S : SEQ 0056 PAGE 19-3 LET @LPCSR(R2) : aLPCSR(R2) LET STATUS(R2) : #0 CLR.BY #100 .WORD 4 CLR STATUS(R2) MOV #PRI100,RC .WORD ERR13 .WORD 0 ;MAKE SURE INTERRUPT ENABLE IS C #100,3LPCSR(R2) BIC *END OF HARD CODED INCREMENT LOOP JENDINC 007112 007116 007122 007122 007126 007130 007130 007132 000137 004737 006422 006204 012700 000000 104441 JMP E T1B: JSR T1A PC,RESVEC SETPRI #PRI00 ; 104432 ;UPDATE UNIT # RESET STANDARD VECTORS EXIT TST TRAP JEXIT THE TEST TRAP .WORD 000250 C$SPRI CSEXIT L10006-. : INTERRUPT HANDLER TO SERVICE FAULTY INTERRUPT FROM LP INTERFACE. sTHIS ROUTINE IS ENTERED ONLY WHEN THE LP ;THE CPU AND IS CONSIDERED AN ERROR. 007134 007134 007134 007140 007140 007146 007146 007150 007152 007154 007156 007156 007162 007162 007162 BGNSRV 005262 002676 013737 002300 INTERR: LET ERRTBL(R2) + #1 LET 007100 (SP) ERRTBL (R2) LUNIT,LSLUN CSERHRD := ®END?2 ENDSRV #ENDZ2, (SP) L10007: 0000C2 012716 SAME LEVEL AS gRR12 iINTERRUPT HANDLER FOR EXPECTED INTERRUPT éGNSRV iNTHDL: LET (SP) := HENDZ2 007164 007164 007164 007170 007170 007170 THE ERRHRD 5,ERR12 104456 012716 := ERRTBL(R2) INTERRUPTS AT LET LSLUN := LUNIT 002074 000005 007246 000000 007100 ENDSRV RTI MOV L10C10: RTI *ERROR MESSAGES ASSOCIATED WITH THIS TEST 007172 007246 -4 1944 000100 ~N N0 (3) (3) 007106 042772 —O (6) 1936 (4) 1937 1938 1939 1940 1941 1942 1943 000004 007331 000000 s (5) 1935 007072 007074 007076 007100 007100 007106 (=]e) (%) (% 30A(1052) 047111 042524 "NLIST BEX ERR11: ERR12: .ASCIZ .ASCIZ /LOADING PRINTER BUFFER DOES NOT CLEAR READY/ /PRINTER INTERRUPTED AT SAME LEVEL AS THE PROCESSOR/ HEND2, (SP) MACY11 CZLPLAQ LP25 TEST CZLPLA P 01=0CT=79 09:25 1970 007331 (%) (3) 007402 007402 007402 1974 007404 1971 1972 1973 197% 120 007402 104401 044522 ‘ 30A(1052) 01=C(T=79 09:27 INTERFACE LOGIC 052116 ERR13: .EVEN ENDTST .ASCIZ LLIST BEX ENDMOD F SEQ 0057 PAGE 19<4 /PRINTER DID NOT INTERRUPT AT PRIORITY 3/ L10006: TRAP CSETST MACY11 CZLPLAO LP25 TEST CZLPLA.P1i 01-0CT=79 09:25 1980 1981 1982 01-0CT=7% READY LINE .SBTTL 007404 09:27 PAGE 20 G SEQ 0058 INTERLOCKS READY LINE INTERLOCKS BGNMOD D4 sTHIS TEST CHECKS THE OPERATION OF ;PRINTER READY INTERLOCK SWITCHES. THE sMANUAL INTERVENTION IS USED TO 1983 ;OPEN THE INTERLOCKS TO PRODUCE FAULTS ;IN THE PRINTER AFTER WHICH THE RESULTANT ERROR ;INDICATION IS VERIFIED. 007404 007404 007404 007404 007406 007406 007410 007410 007412 007414 007414 007420 007422 007422 007424 007426 007426 007426 007426 007432 007432 007436 007440 007440 007444 007446 007446 007452 007452 007456 007460 007460 007464 007466 007466 007474 007476 007476 007502 BGNTST 2 ;DETERMINE IF MANUAL INTERVENTION IS ALLOWED MANUAL 104450 BCOMPLETE 11% 103402 EXIT TST 104432 002036 005737 001002 Y& :EXiT TEST IF MANUAL INTERVENTION TESTS ARE NOT SPECIFIED 11$: 002244 IF INHINT EQ #0 EXIT TST ENDIF 013701 005301 002012 005037 000402 002300 005237 002300 023701 003020 002300 013702 006302 002300 032772 001410 100000 005262 002676 BCS 1% TRAP CSEXI L1001 .WORD THEN 002024 002262 CSMAN] TST 104432 005037 TRAP := LSUNIT = #1 :CHECK FOR ERROR IN EACH PRINTER UNDER TEST INCR LUNIT FROM #0 TO R1 BY #1 50066%: 50065%: LET R2 := LUNIT SHIFT 1 002340 ‘ IF #B1T15 SETIN @LPCSR(R2) 50064$ TRAP .WORD CSEXIT L10011-. CLR FLAG MCV DEC R1 C(SRERR R LSUNIT LUNIT 50065% LUNIT R LUNIT 50067% LUNIT ,R2 THEN LET ERRTBL(R2) := ERRTBL(R2) + #1 ERRHRD 6, INHINT BNE : 500648 LET FLAG := #0 LET R1 — 1977 1978 1979 30A(1052) R2 #BIT15,aLPCSR(RZ 50070% ERRTBL (R2) MACY11 CZLPLAO LP25 TEST CZLPLA.PTT 01-0CT=79 09:25 (4) (%) (5 (5) 2008 (4) 2009 30A(1052) H 01-0CT=79 09:27 PAGE 20-1 READY LINE INTERLOCKS giERHRD 005072 LET @LPCSR(R2) 002340 000753 (4) 005037 000402 002300 005237 002300 023701 003016 002300 013702 006302 002300 032772 001006 000200 005262 002676 (5) (4) (7) (5) (5) (7) 2013 (4) (7) 2014 2015 (6) (9) 2016 (6) 2017 (4) (5) (%) CSRERR 0 := #0 aLPCSR(R2) ENDIF 50070%: END INC (4) (3) 201 2012 SEQ 0059 104456 000006 003170 000000 (4) 2010 5 50067%: :CHECK FOR READY IN EACH PRINTER UNDER TEST INCR LUNIT FROM #0 TO R1 BY #1 50071%: LET R2 := LUNIT SHIFT 1 ' BR 50066% CLR LUNIT 50071% INC LUNIT CMP BGT LUNIT,R1 50073% ASL R2 IF #B1T07 NOTSETIN @LPCSR(R2) THEN 002340 LET ERRTBL(R2) := ERRTBL(R2) ERRHRD 7, RDYERR 104456 000007 003206 000000 LUNIT, R2 #B81107 ,aLPCSR(R2 50074% + #1 ERRTBL (R2) CSERHRD 7 * RDYERR 0 ENDIF 50074%: END INC 000755 :VERIFY OPERATION OF PAPER LOW INTERLOCK SWITCH *HARD CODED INCREMENT LOOP 005037 005037 000405 002324 002300 005237 002300 013702 006302 002300 023701 003402 000137 002300 010110 ’ LET ERRFLG := #0 CLR LUNIT 2%: 1%: 3%: 50073%: BR 50072% CLR ERRFLG - 1% BR INC LUNIT LET R2 := LUNIT SKIFT 1 ' CMP LUNIT,R1 BLE 3% MP 48 MOV ASL LUNIT,R2 R2 M MACY11 CZLPLAQ LP25 TEST CZLPLA.P11 01-0CT=79 09:25 2034 (4) 2035 (8) (7) 005037 002262 013746 002300 010542 30A(1052) 01-0CT=79 READY LINE 09:27 I PAGE 20-2 INTERLOCKS SEQ 0060 : . LET FLAG := #0 PRINTF 5 #PAPRSW,LUNIT 000002 (6) (3) (&) (4) 000006 (7) (6) 010612 000001 (&) %) 000004 2036 (3) 2037 (3) (3) CLR FLAG MOV MOV MOV MOV #PAPRSW,~(SP) #2,=(SP) TRAP PRINTF ADD #FAPSW1 LUNIT,=(SP) SP,RO CSPNTF #PAPSW1 ,-(SP) #1,-(SP) SP,RO CSPNTF #4 ,SP GMANIL READY, FLAG, 100000, YES CSGMAN 10000% (4) FLAG (5) READY (5) (5) (3) 2038 T$CODE (4) 005037 0022¢4 (4) 012737 000014 2039 2040 (3) 2041 2042 (6) 2043 (4) (6) (4) (7) (4) 2044 005237 002264 023727 001403 005737 001751 002264 (6) (9) 005737 001006 (6) 005262 | 2045 2046 002742 LET LINCNT := #0 LET OUTBUF := #14 L INCNT #14 ,0UTBUF REPEAT OUTPUI #OUTBUF 41,458 ,LUNIT LET LINCNT := LINCNT + #1 000003 50075%: INC UNTIL LINCNT EQ #3 OR ERRFLG NE #0 002324 002324 002676 50076%: IF ERRFLG EQ #0 THEN LET ERRTBL(R2) := ERRTHKL(R2) 2048 PRINTF (4) (4) 50075% ERRTBL (R2) giERHRD PAPSWI ENDIF (3) BEQ 50076% ERRFLG 50077% + #1 ERRHRD 8, PAPSWI 2047 (6) L INCNT 43 ERRFLG (5) (8) (7) L INCNT CMP BEQ TST (4) (%) (5) 100000 : 100008 002300 010670 000002 0 #PAPRDY,LUNIT 50077%: LUNIT,=(SP) #PAPRDY ,=(SP) #2,-(SP) SP,RO CSPNTF MACY11 CZLPLAO LP25 TEST CZLPLA.PT 01-0CT=79 09:25 (4) 010050 062706 000006 (4) 010054 005037 002262 (3) (3) (4) (5) (5) (5) 010060 010062 010064 010066 010070 010072 104443 000404 002262 000130 006010 100000 2051 010074 000137 2049 2050 2053 2054 2055 (4) 2056 2057 2058 (4) (5) (4) (7) (5) (5) (7) 010054 010060 30A(1052) 01-0CT=-79 READY LINE 09:27 J_ 5 PAGE 20-3 SEQ 0061 INTERLOCKS #6,SP LET FLAG := #0 FLAG GMANIL READY,FLAG,100000,YES CSGMAN 10001$ FLAG T$CODE READY JMP 2% JEXPECTED ERROR HANDLER. 007606 100000 100018: s JUST SET EXPECTED ERROR INDICATOR. 010160 010100 010106 _ 010110 010170 010114 010116 010116 010122 010122 010126 012737 000207 000001 005037 000402 002300 005237 002300 023701 003077 002300 (4) (7) 010130 013702 010134 006302 002300 (4) 010136 013737 002300 (4) 010144 005037 002262 (8) (7) (6) 010150 010154 010160 013746 012746 012746 (4) (4) 010166 010170 010600 104417 062706 002300 010753 000002 (7) 010174 012746 000006 011037 00C001 000004 002324 §¢: LET ERRFLG := #1 RTS PC :VERIFY OPERATION OF HAMMER BANK i$: :AND RETURN INTERLOCK SWITCH INCR LUNIT FROM #0 TC R1 BY #1 50101%: : 501008 LET R2 := LUNIT SHIFT 1 002074 #1 ERRFLG CLR LUNIT INC LUNIT BGT LUNIT R1 50102% 50100% LUNIT ,R2 R2 LET LSLUN := LUNIT LUNIT,LSLUN LET FLAG := #0 PRINTF MOV FLAG #HAMRSW,LUNIT LUNIT,=-(SP) #HAMRSW,-(SP) #2,-(SP) PRINTF SP,RO CSPNTF #6,SP AHAMSWI1 #HAMSW1 - (SP) #1,-(SP) SP,RO CSPNTF GMANIL READY, FLAG, 100000, #4 ,SP YES CSGMAN 10002% FLAG T$CODE READY IF #81T15 SETIN QLP(SR(R2) THEN 10002%: 100000 MACY11 30A(1052) 01-0CT=-79 09:27 PAGE 2054 ? CZLPLAO LP25 TEST CZLPLA.PT 01-0CT-79 09:25 (6) (9) 2066 (8) (7) (6) (3) 100000 013746 012746 012746 002300 011114 000002 (4) (4) 010600 104417 062706 (4) 104443 000404 002262 2067 (3) (3) 2068 (4) (4) (5 (5) (5) 2073 (4) 2074 (4) (3) 2075 2076 010306 010314 010314 010316 010320 010322 010324 010324 010324 010324 010326 010326 005262 002676 013737 002300 CSPNTF GMANIL READY, FLAG, 100000, YES CSGMAN 10003% FLAG T$CODE READY 100000 10003$: LET ERRTBL(R2) 002074 := ERRTBL(R2) 000674 + #1 ERRTBL (R2) LET LSLUN := LUNIT LUNIT,LSLUN CSERHRD 0 50104%: (7) 013702 006302 002300 (4) 005037 002262 013746 012746 002300 011212 000002 010600 104417 062706 000006 INCR LUNIT FROM #0 TO R1 BY #1 50106%: "~ LET R2 := LUNIT SHIFT 1 LET FLAG := #0 PRINTF #BANDSW,LUNIT 50101% 50102%: JVERIFY OPERATION OF CHARACTER BAND INTERLOCK SWITCH "M2746 50104% 50103s: END INC 002300 (4) (4) SP,RO ENDIF 023701 003074 2079 (8) (7) (6) (3) #2,-(SP) 9 BNKSWI 002300 2078 #BIT15,3LPCSR(R2 50103s LUNIT,=(SP) ERRHRD 9, BNKSWI 104456 000011 003273 000000 005237 (4) #HAMRDY ,LUNIT ELSE 002300 2077 BEQ #HAMRDY ,~(SP) 000006 005037 000402 (4) (5) (4) (7) (%) (5) (7) BIT PRINTF 000411 (4) 2071 2072 002340 10000C (5) (3) (3) 2069 (6) 2070 SEQ 0062 INTERLOCKS 000130 006010 (5) (5 - 032772 001421 READY LINE 50105%: CLR LUNIT INC LUNIT BGT cMP LUNIT,R1 50107% MOV ASL R2 CLR FLAG MOV LUNIT,~(SP) #BANDSW, - (SP) #2,-(SP) - MOV MOV TRAP ADD 50105% LUNIT,R2 SP,RO CSPNTF #6,SP L S MACY11 30A(1052) 01-0CT=-79 09:27 PAGE 20-5 CZLPLAC LP25 TEST CZLPLA.PIT 01-0CT=79 09:25 READY LINE INTERLOCKS 012746 012746 010600 104417 062706 (4) 2081 PRINTF #BNDSW1 011300 000001 #BNDSW1,=(SP) #1,-(SP) SP,RO CSPNTF 000004 GMANIL READY, FLAG, 100000, 104443 000404 002262 000130 006010 #4,SP YES CSGMAN 10004$ FLAG T$CODE READY 100000 032772 001421 100000 013746 012746 012746 010600 002300 011347 000002 002340 IF #BIT15 SETIN QLPCSR(R2) THEN PRINTF 100000 100048 : #BIT15,aLPCSR(R2 501108 AB8NDRDY ,LUNIT LUNIT,=(SP) #BNDRDY ,-(SP) #2,-(SP) SP,RO CSPNTF #6,SP 104417 062706 -000006 GMANIL READY, FLAG, 104443 100000, YES CSGMAN 10005% 000404 002262 -~ 000130 006010 FLAG T$CODE READY 100000 ELSE 000411 005262 002676 013737 002300 LET ERRTBL(R2? 002074 END INC EXIT TST 104432 000710 047045 LUNIT,LSLUN CSERHRD 10 BNDSWI 0 501118: 50106% 50107%: TRAP .WORD .NLIST BEX 010542 ERRTBL (R2) ERRHRD 10, BNDSWI ENDIF 000677 010540 := ERRTBL(R2) + #1 50111% 501108: LET LSLUN := LUNIT 104456 000012 003340 000000 100000 10005%: 040445 _042524 PAPRSW: .ASCIZ /XNXATEAR OFF PAPER JUST BELOW LUNIT %D2/ CSEXI L1001 — 2080 (7) (6) (3) SEQ 0063 CZLPLAO LP2S TEST CILPLA.PT 2096 2097 2098 2099 2100 2101 21C2 31813. MACY11 30A(1052) 01-0CT=79 09:25 010612 010670 010753 011037 011114 011212 011300 011347 040445 047045 045 045 047045 047045 047045 045 052040 040445 022516 022516 040445 040445 040445 022516 2105 2106 2107 (3) 2%& 011450 011450 011450 2109 011452 2110 020117 042522 042101 052101 047105 050117 044103 041501 01-0CT=79 09:27 M5 PAGE 20=6 SEQ 0064 READY LINE INTERLOCKS PAPSW1: PAPRDY: HAMRSW: HAMSW1: HAMRDY: BANDSW: BNDSW1: Bg\blggv .ASCIZ /XA TO CHECK PAPER LOW INXAINTERLOCK SWITCH.ZIN/ .ASCIZ /INXARESTORE PAPER AND PLACE LUNIT XD2XA ON LINE.2AN/ .ASCIZ /INXADISENGAGE HAMMER BANK LATCH SWITCH ON LUNIT XD2/ ,ASCIZ /INXZATO CHECK HAMMER BANK INTERLOCK SWITCH.ZIN/ .ASCIZ /INXZAENGAGE HAMMER BANK LATCH AND PLACE LUNIT XD2%A ON L INE.2ZN/ .ASCIZ /INXAOPEN CHARACTER BAND COVER ON LUNIT XD2XA TO CHECK/ .ASCIZ /INXACHARACTER BAND INTERLOCK SWITCH.2IN/ .ASCIZ/INXACLOSE CHARACTER BAND COVER ON LUNIT ZD2%A AND PLACE ON LINE./ .LIST BEX ENDTST 104401 ' ENDMOD L10011: TRAP CSETST - CZLPLAQ LP25 TEST MACY11 30A(1052) 01-0CT=79 09:27 PAGE 21 CZLPLA.PTT 01-0CT=79 09:25 FORMS LENGTH SELECTION 2112 gnz N S SEQ 0065 .SBTTL FORMS LENGTH SELECTION BGNMOD 011452 2L 2115 2116 :THIS TEST CHECKS ALL POSITIONS OF THE FORM LENGTH SELECT SWITCH. THE ;PROGRAM INDICATES THE SPECIFIED SETTING OF THE FORM LENGTH SELECT SWITCH 2120 ;TO VERIFY THAT THE PROPER PAPER MOVEMENT HAS OCCURRED FOR EACH SWITCH 2117 2118 2119 2121 2122 2123 (3) 2124 2125 (3) :AND WAITS FOR THE OPERATOR TO SET THE SWITCH ON THE PRINTER. THE PAPER ;1S THEN ADVANCED UNDER PROGRAM CONTROL. THE PRINTER OUTPUT IS VISUALLY ;INSPECTED AFTER ALL SWITCH SETTINGS HAVE BEEN RUN THROUGH BY THE OPERATOR :SETTING. PP BGNTST 3 011452 011452 011452 011452 104450 (2) 011454 103402 (3) 2128 2129 2130 2131 (3) (3) 2132 g}gz 011460 104432 002164 2126 2127 (3) 011454 011456 011456 011462 011466 011470 011470 011472 005737 001002 ;DETERMINE IF MANUAL INTERVENTION IS ALLOWED MANUAL BCOMPLETE 1% EXIT TST 002244 104432 002152 2138 2139 2140 2141 2142 ;HARD CODE 011530 011534 011536 011542 011546 011550 2143 2144 (4) (7) 2145 (8) 011554 011554 011554 011560 011562 011562 (4) (4) 2146 011600 011602 011606 (6) (3) 011612 011616 (7) (6) (3) (7) (4) (4) 2147 SEXIT TEST IF MANUAL INTERVENTION TESTS ARE NOT SPECIFIED 1%: TST INHINT BNE 2% EXIT TST JPRINT TEST IDENTIFICATION 2%: OUTPUT #FRMLTH, #25. 011474 %}gg 2137 011566 011572 011576 005037 000402 005237 023701 003402 002300 002300 002300 000137 012276 013702 002300 006302 013746 012746 012746 01 002300 012340 000002 104417 062706 000006 011606 012746 012424 011620 011622 104417 062706 000004 011626 012746 010600 T3:: 5%: (%: 6%: CSMANI BCS 1% TRAP .WORD CSEXIT L10012-. TRAP .WORD CSEXIT L10012-. INCREMENT LOOP CLR BR INC LUNIT 48 LUNIT JMP 7% CMP BLE TRAP LUNIT,R1 6% : COMPARE LOOP JEXIT ONLY IF GREATER THAN JEXIT LET R2 := LUNIT SHIFT 1 PRINTF #LINSWI,LUNIT PRINTF #LINSWI1 JPRINT LUNIT MESSAGE ;SECOND PART OF MESSAGE 000001 MOV LUNIT,R2 MOV MOV MOV MOV LUNIT ,=(SP) #LINSWI ,~-(SP) #2,-(SP) SP.RO MOV #LINSW1,=(SP) TRAP ADD CSPNTF #4 ,SP ASL TRAP ADD MOV MOV PRINTF #FLSSEL,LUNIT JSET TO “FLS'" POSITION R2 CSPNTF #6,SP #1,-(SP) SP.RO B 6 MACY11 30A(1052) 01-0(T=79 09:27 PAGE 21-1 CZLPLAO LP25 TEST FORMS LENGTH SELECTION 01-0CT=79 09:25 CZLPLA.PIT SEQ 0066 002300 (7) 0112%3 013746 012746 012504 MOV MOV (4) (64) TRAP ADD (8 oM (6) (3) 011636 011642 2148 011644 011646 011652 012746 010600 104417 062706 000002 000006 (4) (5) (6) (7) (5) (5) (7) 2149 (4) 011652 011654 011656 011656 011662 011662 011666 011670 011670 005004 000402 (4) (6) 011674 011702 012737 060337 013175 012302 (9) (8) (7) (6) (3) (4) (4) 011706 011712 011716 011722 011726 011730 011732 013746 013746 012746 012746 010600 012302 062706 000010 012746 012746 010600 013343 000001 2150 2151 2152 011672 011674 011706 062704 00000¢ 020427 003126 000024 104417 ASL R3 (4) 2154 (4) 2155 (3) (3) (4) (5) 011752 011756 011756 011762 011762 011764 011766 011770 062706 000004 005037 002262 011774 011776 100000 (5) (5) (3) 2156 2157 2158 2159 011772 011776 012032 012066 012122 104417 104443 005037 (3) 012126 104443 (3) (4) (5) (5) (5 012130 012132 012134 012136 012140 LET T3SET 04 002262 130 100000 #2,-(SP) SP,RO CLR R4 ADD #2 R4 BR MOV ADD PRINTF #FLSMSG,LUNIT,T3SET sSELECT MESSAGE MOV MOV MOV PRINTF 50112% T3SET,~(SP) LUNIT,=(SP) #FLSMSG,~(SP) #3,-(SP) SP,RO MOV MOV MOV #FLSMS1,-(SP) #1,-(SP) SP,RO TRAP ADD #FLSMS1 WMFFSET, T3SET R3,T3SET MOV MOV TRAP ADD CSPNTF #10,SP CSPNTF w4 ,SP LET FLAG := #0 ;CLEAR FLAG INDICATOR FO?L:ANUALF a8 GMANIL READY,FLAG,100000,YES ;WAIT FOR OPERATOR : L TRAP CSGMAN .WORD FLAG .WORD READY BR .WORD 002262 CSPNTF #6,SP MOV R4 ,R3 ;ACTUAL OFFSET FOR SWITCH SETTINGS := WFFSET + R3 10000%: .WORD 100008 TSCODE 100000 OUTPUI #REFLIN,#133., LUNIT ;OUTPUT REFERENCE LINE AND TERMINATOR Eg;mg&gnovngg_#130. .,LU\IIT :FINAL REFERENCE LINE OUTPUI T3SET.#%,.LUNIT 012122 012126 012302 MOV MOV cMP R4, #20. 501148 BGT s INDEX INTO SWITCH SETTING TABLE 000404 002262 000130 006019 (4) 2160 50112%: LET R3 := 011736 011736 011742 011746 011750 50113s: 010403 006303 2153 (7) (6) (3) (4) INCR R4 FROM #0 TO #20. BY #2 LUNIT,=(SP) #FLSSEL ,~(SP) :# OF LINES FOR SPACING GMANIL READY,FLAG,100000,YES FLAG CSGMAN 10001$ FLAG T$CODE READY 100000 C_6 CZLPLAQ LP2S TEST MACY11 30A(1052) 01-0CT=79 09:27 PAGE 21-2 CZLPLA.PI 01-0CT=79 09:25 FORMS LENGTH SELECTION (3) 2161 (4) (3) 2162 2163 012142 012142 012144 :SET FORMS LENGTH SELECT SWITCH TO ITS 'REGULAR'' SETTING (8) (7) 6) 012144 012150 012154 013746 012746 012746 (&) (4) 012162 012164 104417 062706 000006 (4) 012170 012737 000014 (7) (6) 012232 012236 012746 012746 012603 000001 (&) (4) 012264 012246 104417 062706 000004 (4) 012252 005037 002262 012256 104443 012262 012264 012266 012270 002262 000130 006010 100000 (3) 2164 2165 2166 (3) 2167 2168 (3) (3) (4) (5) (5) (5) (3) 012160 010600 012170 012176 012232 012242 010600 012252 012256 (3) (3) 2172 2173 2174 2175 2176 2177 2178 2179 2180 81 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 012276 012276 012276 012300 BR 501138 MOV MOV MOV LUNIT,=(SP) WNMLFLS,=(SP) #2,-(SP} TRAP ADD CSPNTF #6,SP MOV #14,0UTBUF MOV LET OUTBUF 002742 := #14 OUTPUI #OUTBUF 41, ,LUNIT PRINTF #PAPCHK ;MAKE SURE MOVEMENT WAS RIGHT LET FLAG := #0 :CLEAR <CR> FLAG GMANIL READY,FLAG,100000,YES ;AND WAIT FOR RESPONSE | WPAPCHK,=(SP) #1,-(SP) TRAP ADD (3PNTF #4,SP CLR FLAG TRAP CSGMAN .WORD .WORD .WORD .WORD FLAG TSCODE READY 100000 BR | JMP 78: : EXIT TST 104432 001344 « 012302 012304 000000 000000 012306 012340 012424 012504 012603 012675 Pig77e 013067 013103 047506 047045 047045 047045 045 122 SRS 056 045 046522 040445 040445 022462 022516 043105 QR7NI0 027056 022516 020123 042523 020066 051501 053101 051105 GR7TOI0 027056 051501 013175 013201 013205 013211 013215 013221 013225 063 063 064 065 066 067 070 020040 032456 020040 032456 020040 020040 020040 000 000 000 000 000 000 000 5% - 100028: SP,R0 MOV MOV MOV 2169 012272 000137 011536 2170 2171 501148: PRINTF ANMLFLS,LUNIT 002300 013103 000002 012260 000404 012272 10001$: ENDINC 012142 000645 012144 SEQ 0067 SP,RO 100028 ;END OF HARDCODED INCREMENT LOOP TRAP .WORD CSEXIT L10012-. T33€T: .WORD O T3MOV: .WORD O .NLIST BEX FRMLTH: .ASCIZ /FORMS LENGTH SELECTION/<12><12><12> r LINSWI: .ASCIZ /XNXASET LINES SWITCH ON UNIT XD2%A TO ''6'' TO SELECT/ LINSW1: .ASCIZ /XINXA6 LINES PER INCH VERTICAL PRINTING DENSITY./ FLSSEL: .ASCIZ /XIN2XASET VFU-FLS SWITCH ON UNIT ZD2XA TO THE ‘FLS'' POSITION.ZN/ PAPCHK: .ASCIZ /XNXAVERIFY PROPER PAPER MOVEMENT FOR EACH SWITCH SETTING./ REFLIN: .ASCII /REFERENCE LINE FOR FORMS LENGTH SELECTION......ccoveeeeccanas / MBFLITE ABCIE Fuscesnssssnsnsssesssssssesssstsssssnssssessnasssssssussssnsss / REFLI2: .ASCIZ /...veveusnn /<14> NMLFLS: .ASCIZ /XZNXASET FORMS LENGTH SELECT SWITCH ON UNIT ZD2%A TO 11.%N/ ;SWITCH SETTINGS _FOR FORMS LENGTH MESSAGES FFSET: .ASCIZ /3 / .ASCI1Z /3.5/ LASCIZ 76/ .ASCIZ /5.5/ LASCIZ 76 / LASCIZ /7 7 LASCIZ /8 / D8 SEQ 0068 MACY11 30A(1052) CZLPLAO LP25 TEST 01-0CT=79 09:27 PAGE 21-3 FORMS LENGTH SELECTION CZLPLA.PIT 01-0CT=79 09:25 2192 2193 2194 2195 2196 2197 013231 013235 013241 013245 013251 013343 013440 013535 013633 013644 013644 013644 013646 032456 051501 027056 027056 027056 FLSMSG: FLSMS1: MOVMSG: MOVMS1: MOVMS2: LASCIZ LASCIZ /11 7/ LASCIZ /12 / LASCIZ /14 / .ASCIZ /INXASET FORMS LENGTH SELECT SWITCH ON UNIT ZD2%A TO XTZA,/ .ASCIZ /XNXADEPRESS ''ALARM CLEAR‘', AND PLACE PRINTER BACK ON L INE.2ZN/ .ASCII / INCHES SHOULD OCCUR BETWEEN THIS AND THE REFERENCE LINE..... / .ASCII .ASCIZ .EVEN BEX .LIST ENDTST ENDMOD L10012: TRAP CSETST MACY11 30A(1052) 01-0CT=79 09:27 PAGE 22 CZLPLAQO LP25 TEST PRINTING SPEED MEASUREMENT CZLPLA.P1Y 01-0CT=79 09:25 E 6 SEQ 0069 .SBTTL PRINTING SPEED MEASUREMENT 013646 BGNMOD I+ ;PRINTING SPEED IS MEASURED BY OPERATING THE LINE PRINTER FOR A GIVEN PERIOD ;OF TIME AND ON THE BASIS OF THE TIME DURATION AND THE NUMBER OF LINES PRINTED, ;WHICH WILL BE PRINTED ON THE CONSOLE TERMINAL, THE PRINTING SPEED IS :CALCULATED. AVAILABILITY OF A KW11-L OR A KW1i-P LOCK ALLOWS PROGRAMMED ;DETERMINATION OF THE TIME INTERVAL WHICH CAN BE SPECIFIED BY THE OPERATOR TO BE ;ANY VALUE IN THE RANGE FROM & TO 60 SECONDS. IF A CLOCK IS NOT INSTALLED IN THE ;SYSTEM, THEN THE OPERATOR CAN PERFORM THE PRINTING SPEED MEASUREMENT MANUALLY. 013701 005301 002012 005737 001416 00225¢ BGNTST 4 LET RT1 := LSUNIT - MANUAL 1%: 002244 IF 002254 000403 013776 000074 005037 000402 002300 005237 002300 023701 003161 002300 002736 INHINT EQ #0 THEN TST BNE TRAP .WORD : 50116%: := PERIOD 50115% 1% CSEXIT L10013-. INHINT 50116% CSEXIT L10013-. 50117% MOV PERIOD , WORK BR 50120% MOV #60. ,WORK (LR LUNIT INC LUNIT CMP LUNIT ,R1 50117%: ' . LET WORK MANSPD .WORD ENDIF ELSE TST BEQ TRAP LET WORK 002736 LSUNIT,R1 R1 BCS ELSE 000403 013772 013772 1% MOV DEC INTERVENTION ALLOWED TRAP CSMANI EXIT TST 104432 002424 013724 013760 013760 013764 013766 013766 IF MANUAL EXIT TST 104432 002436 012737 ;DETERMINE BCOMPLETE 103402 013737 JNUMBER OF UNITS TO TEST IF MANSPD NE #0 THEN 104450 005737 001003 T4:: 50115%: := #60. ENDIF OUTPUT #PRTSPD ,#29. INCR LUNIT FROM #0 TO R1 By #1 ;PRINT TEST ID : ‘ 50120%: 50122%: 50121%: BR BGT 50121% 50123% F CZLPLAC LP25 TEST MACY11 30A(1052) 01-0(T=79 09:27 PAGE 22-1 CZLPLA.PT1 01=0CT=79 09:25 PRINTING SPEED MEASUREMENT 2235 (4) 014000 014000 005037 002324 (&) (7) 2237 (2) (&) (3) 014006 014010 014012 014012 014016 014020 013702 006302 002300 013746 003403 021627 002306 (3) (3) (3) (2) 2) (2) (3) (4) (&) 014026 014026 014032 014032 014034 014036 014040 014040 014042 2236 6) (4) (4) 2§§§ 014004 014026 014044 014046 014050 2239 014052 Ssz? 014052 (4) 014052 2242 014056 (4) 014060 (4) 014056 2243 014060 2244 (4) 2245 (4) 22646 (7) 014066 014066 014072 014072 014100 014100 252; 014122 (4) (6) (5) (4) (3) 2248 (4) (4) 2249 (4) 6) 2250 (4) 2251 2252 (&) 2¢53 014060 014104 014110 014114 014120 014126 003402 012716 LET R2 := LUNIT SHIFT 1 ' SELECT CLKTYP OF & VERIFY : 50124%: 000005 006316 060716 063607 ‘g 000012 000020 501268%: 000070 CASE 000137 CLR ERRFLG MOV ASL LUNIT,R2 R2 MOV BLE cMP CLKTYP,=(SP) 50124% (SP) ,#4 MOV #5,(SP) ASL ADD ADD (SP) PC, (SP) a(SP)+ PC .WORD .WORD 50133$-50126$ 50132%-50126% .WORD .WORD 50130%-50126% 50127%-50126$ BLE .WORD 000154 000156 014454 000457 | 012737 000100 013704 002310 016437 000004 012746 012746 013746 012746 104437 062706 000300 032216 002316 000003 1 JMP ' 002320 002316 END4 : LET CLKENA := #100 := 4(R4) 002314 002314 012737 000111 002320 013704 002310 . MOV GET VECTOR FROM P-TABLE : MOV ;SET UP INTERRUPT VECTOR MOV ; ; : :KW11=-P REAL TIME CLOCK LET CLKSET := CLKCSR + #2 LET CLKENA := #111 | . 50131%: 4 JSET UP ENABLE BITS ; RUN, RATE = 10kHZ, REPEAT INTR, DOWN, INT ENABLE (FT RL := CLOCKP LET CLKVEC := &4(R4) B8R MOV A CASE 3 002312 000002 501328 : ;INTERRUPT ENABRLE/ CLR MONITOR , SETVEC CLKVEC,#CLKTCK,#PR]I06 ; , . ' := CLOCKP LET CLKVEC 501318-50126% JUST EXIT TEST NO CLOCK AVAILBLE ;KW11=L LINE CLOCK SELECTED LET R4 50125¢ 50133$: . CASE 2 000010 013737 062737 014156 50125$: - 014130 014136 014144 014144 014152 ;SET UP THE RIGHT CLOCK 000004 000433 014152 SEQ 0070 LET ERRFLG := #0 014126 014130 014130 6 50127% #100, CLKENA CLOCKP R4 4(R&) ,CLKVEC MOV MOV MOV TRAP ADD #PRI06,-(SP) #CLKTCK,=(SP) CLKVEC,=(SP) #3,-(SP) CSSVEC #10,SP BR 50127% MOV ADD CLKCSR,CLKSET #2,CLKSET MOV #1117, CLKENA MOV CLOCKP R4 ; GET VECTOR FROM P-TABLE G_6 MACY11 30A(1052) 01-0(T=79 09:27 PAGE 22-2 CZLPLAQ LP25 T EST PRINTING SPEED MEASUREMENT CZLPLA.P11 01-0CT-79 09:25 (&) 014156 016437 000004 (7) (6) (5) (4) (3) (2) 014164 014170 014174 014200 014204 014206 012746 012746 013746 012746 000300 032216 002316 000003 062706 000010 (4) (4) 014212 014214 2254 2255 2256 (3) 014164 014212 014214 014216 014216 014216 104437 002316 CASE 4 000401 000240 LET LINCNT 005037 032270 014226 012737 000074 005737 001017 002246 012737 015712 015152 012737 000205 002736 012746 012746 010600 015547 (4) (3) 014234 014240 014242 014242 014250 014250 014256 014256 014262 014266 014270 014272 014276 014276 014300 (4) 014300 012737 016120 ‘015152 (4) 014306 012737 000205 002736 (7) 0146314 012746 012746 010600 015630 000001 062706 000004 004737 014514 (4) (4) (6) (9) (4) (4) (7) (6> (3) (4) (&) (6) (3) (4) (4) 014222 0146222 014226 014234 014300 014306 014314 104417 062706 (4) (4) (3) 014340 000612 014342 014334 014340 032272 104417 : #0 : 501308 4(R&) , CLKVEC MOV MOV MOV 000004 CLR L INCNT 50127%: ;CLEAR LINE COUNTER #0 sPRESET LET TICK : #60. ;SET UP INITIAL CLOCK VALUE SECOND COUNTER T?Lg CHRBND EQ #0 THEN LET WORK PRINTF := RTABAGS ;64 (HARACTER BAND = #1338, #LPMO4 ; SHOULD BE 285 LPM. ELSE LET WORK PRINT# := #TABA96 #60.,TICK TST CHRBND MOV #TABAG4 ,BNDPAT MOV #133. ,WORK MOV MOV MOV H#LPM64 - (SP) #1,-(SP) BNE 501348 SP,RO CSPNTF #4,SP 50135% 50134%: ;96 CHARACTER BAND #TABASG ,BNDPAT . 1= M33. #1LPM9Y6 TIME MOV TRAP ADD LET BN DPAT #10,SP 50127% : LET BNDPAT CLKVEC,~(SP) #3,-(SP) CSSVEC BR LET TIME IF #PR106,~(SP) #CLKTCK ,=(SP) IS JUST A DUMMY 000001 000416 014320 014324 0146326 014330 014334 014334 sTHES NOP ENDSELECT 002264 014216 s INTERRUPT VECTOR TRAP ADD 005037 (4) SETVEC CLKVEC,#CLKTCK,A#PR]IO06 SEQ 0071 #133. ,WORK ; SHOULD BE 204 LPM, #LPMI6,~(SP) #1,-(SP) SP,RO CSPNTF #4 ,SP ENDIF JSR PC,REPLUP END INC ;DO THE OUTPUT 50135%: 50123%: BR :1F MANUAL PRINT SPEED TESTS HAVE BEEN PERFORMED INSURE PRINTERS ARE ;BACK ON LINE WHEN DONE 501228 H_6 CZLPLAO LP25 TEST MACY11 30A(1052) 01-0(T=79 09:27 PAGE 22-3 CZLPLA.PT 01-0CT=79 09:25 PRINTING SPEED MEASUREMENT 2276 2277 014342 (9) 2278 014350 014352 (6) (4) 2279 (7) (6) (3) (&) (4) 2280 (3) (3) (4) (5) (5) (5) (3) 2281 (4) 2282 2283 (4) gggg 2286 (6) (8) (6) (9) (6) 2287 (3) (3) 2288 2289 (4) 2290 2291 (3) (3) 014342 023727 001020 002306 014352 005037 002262 014366 014370 014372 012746 012746 010600 104417 062706 005731 000001 014356 014356 014362 014376 014376 014400 014402 014404 014406 014410 014472 014412 014412 014412 014412 014420 014454 014454 014462 014464 014472 014474 014474 014474 014500 014502 014510 014510 014512 } 2297 2298 (6) (9) 2299 (7) (6) (3) LET FLAG := #0 :CLEAR <(CR> FLAG . , 000004 GMANIL READY,FLAG,100000,YES 104443 000404 002262 000130 006010 100000 10000%: ENDIF 0312737 000014 002742 023727 001404 023727 001006 002306 000002 002306 000003 013700 104436 012777 002316 000000 - LET OUTBUF := #14 OUTPUT #OUTBUF ,#1 END4 : IF CLKTYP EQ #2 OR CLKTYP EQ #3 THEN ‘ - 165602 , 023727 001124 002306 - 014524 014530 012746 012746 015221 000001 014534 010600 ‘ ' L : A 50137%: CLRVEC CLKVEC 104432 001614 CLKTYP, #4 CLR FLAG MOV MOV MOV TRAP ADD #MRESET ,=(SP) #1,-(SP) SP,RO CSPNTF #4,SP TRAP B .WORD .WORD .WORD .WORD C$GMAN 10000% FLAG T$CODE READY 100000 MOV #14 ,0UTBUF CMP BEQ CMP BNE CLKTYP, #2 50137% CLKTYP, #3 501408 MOV TRAP CLKVEC.,RO CSCVEC TRAP .WORD CSEXIT L10013~-. 50136% 50136%: MOV ENDIJF z EXIT TST 014514 014522 014524 _ . #0,aCLKCSR : - SO 50140%: . . sTHIS IS SUBROUTINED 014514 014514 JWAIT FOR OPERATOR } (MP BNE PRINTF #MRESET %2232 2296 " 3 IF CLKTYP EQ #4 THEN 000004 014510 014510 SEQ 0072 TO DECREASE THE SIZE OF THE INITIAL INCREMENT LOOP. : REPLUP: 000004 IF CLKTYP EQ #4 THEN PRINTF #OFFLIN : . ot CMP BNE CLKTYP, #4 50141% MOV MOV #OFFLIN,=(SP} #1,-(SP) :TELL OPERATOR TO PLACE PRINTERS OFFLINE < ‘ ' MOV SP.RO MACY11 CZLPLAQ LP25 TEST CZLPLA.P1 01-0CT=79 09:25 (4) (4) 2300 (4) 2301 (3) (3) (4) (%) (%) (5) 014536 014540 014544 014544 014550 014550 014552 014554 014556 014560 (3) 2302 (8) 104417 062706 000004 005037 002262 (6) (3) 104417 (4) (4) 2304 (8) (7) 6) (3) (4) 002300 015261 000002 013746 012746 012746 010600 002300 015460 100000 005037 002264 (4) (6) (9) 032772 001031 100000 013705 015152 013703 002736 014710 014710 014714 014714 014720 014720 014720 014722 014724 005703 003417 FLAG TRAP CSGMAN .WORD .WORD .WORD WORD FLAG TS$CODE READY 100000 MOV PRINTF #ONLINZ,LUNIT TEST. ;END OF #ONLIN3,LUNIT LUNIT,=(SP) LET LINCNT : MOV LUNIT,=(SP) WHILE #BIT15 NOTSETIN QLPCSR(R2) DO ; : LET RS : 50144%: BNDPAT WORK WHILE R3 GT #0 DO #ONL IN3,-(SP) #2,-(SP) SP,RO CSPNTF #6,SP #BiT15,aLPCSR(R2 501438 50142% CLR L INCNT BIT BNE #MIT15,aLPCSR(R2 50145% MOV BNDPAT RS MOV WCRK ,R3 TST BLE R3 50147% REPEAT UNTIL LP GOES OFF=LINE 002340 LET RS BIT BEQ 50143%: #0 CSPNTF ADD WAIT FOR LP SET ON-LINE 50142%: IN2 = (SP) #ONL #2,-(SP) SP,RO #6,SP MOV TRAP ADD 002340 LUNIT,=(SP) IN1 ,=(SP) #ONL #2,-(SP) SP,RO MOV MOV MOV ; 100018 CSPNTF #6,SP TRAP PRINTF - TRAP ADD MOV MOV MOV NOP ENDDO (4) 2309 CLR JPUT LUNIT TO TEST ON LINE WHILE #BIT15 SETIN aLPCSR(R2) DO 000772 (3) 2308 2313 100018: 000002 (4) (4) (6) (9) #ONLINT,LUNIT 000002 000006 001402 000240 CSPNTF s ,SP MOV MOV MOV 002300 015362 062706 032772 (6) (9) 2306 2307 (4) PRINTF 062706 2305 TRAP ADD BR 104417 (4) (4) 2312 SEQ 0073 PRINTING SPEED MEASUREMENT 100000 013746 012746 012746 010600 (8) (7) 231 I 6 PAGE 22-4 GMANIL READYFLAG,100000,VvES 062706 2303 (4) 09:27 104417 (4) (4) 2310 01=0(T=79 LET FLAG := #0 104443 000404 002262 000130 006010 013746 012746 012746 010600 (7) (6) (3) 30A(1052) : PRINT R3 CHARACTERS WHILE #8177 NOTSETIN aLPCSR(R2) DO 50146%: ; WAIT FOR READY CZLPLAQ LP25 TEST MACY11 CZLPLA.PT 01-0CT=79 09:25 (4) (6) (9 2314 (6) (9) 2315 2316 (4} 2317 (4) (3) 2318 014724 014724 014732 014734 014734 014742 014744 014750 014750 014750 014750 014752 032772 130000 002340 000137 015102 (6) 005303 (4) 000757 (3) 2321 (3) 2322 09:27 (6) 005237 (4) 000743 (4) 000443 (3) 2324 (3) 2325 015050 015050 015050 015056 : IF #BIT15 SETIN @LPCSR(R2) . JMP 99% ENDIF THEN BIT BNE #BIT7,aLPCSR(R2) 50151% k BIT #BIT15,aLPCSR(RZ BEQ ; EXIT LOOP IF OFF=LINE AGAIN 50150% BR 50151%: LET QLPBUF (R2) :B= (RS5)+ ; PUT CHAR INTO LP BUFFER (R2) (RS) +,aLPBUF MOVB LET R3 := R3 - #1 ;. DECRIMENT CHAR COUNTER DEC R3 002434 ENDDO BREAK ; LET LINCNT 002264 ALLOW CTL=C ABORT 50146% 50147%: := LINCNT + #1 ENDDO TRAP C$BRK INC L INCNT 50144% 50145%: 002306 0000C3 012777 003202 165302 013777 002320 005037 002264 023737 002023 032270 013705 015152 013703 002736 165272 : LET @CLKSET ENDIF LET @CLKCSR CMP BNE CLKTYP 43 50154% MOV #1666. ,aCLKSET 50154%: ;ENABLE THE CLOCK TO DO ITS THING MOV CLKENA,aCLKCSR := #1666. : := CLKENA LET LINCNT := #0 ‘ TIME LT PERIOD DO :; 1760 SEC. ; REPEAT UNTIL CLR TégfisggflAUSTED 002254 LET RS := BNDPAT LET R3 := WORK v WHILE R3 GT #0 DO ; SEND R3 CHARACTERS 50157¢%: : WHILE #BIT7 NOTSETIN aLPCSR(R2) DO 002340 50153% 50141%: IF CLKTYP EQ #3 THEN WHILE 005703 003412 000200 50152% 50152%: ENDDO 023727 001003 032772 001002 SEQ 0074 50150%: 104422 2323 J 6 PAGE 22-5 PRINTING SPEED MEASUREMENT 000765 112572 2320 - 000200 001402 01-0CT=79 002340 032772 001007 (4) 2319 30A(1052) L INCNT CMP BGE TIME ,PERIOD 50156% MOV BNDPAT ,RS MOV WORK ,R3 TST R3 BIT BNE #8177 ,aLPCSR(R2) 50162% BLE 50160% §0¥2{; FOR READY K MACY11 30A(1052) 01-0CT=79 09:27 PAGE 22-6 CZLPLAO LP25 TEST PRIMNTING SPEED MEASUREMENT 09:25 CZLPLA P11 01-0CT=79 2335 2336 015060 000240 112572 NOP ‘ LET aLPBUF (R2) :B= (RS5)+ 002434 LET R3 := R3 - M 005303 ENDDO 000764 005237 SEQ 0075 ENDDO 000772 (4) 6 . . LET LINCNT 002264 50161% 50162%: . PUT DATA INTO BUFFER (R2) (RS5)+,aLPBUF MOVB ; DECRIMENT CHAR COUNTER DEC R3 50160$%: := LINCNT + #1 165202 99%: ; 013746 013746 012746 012746 010600 002300 002264 015154 000003 062706 000207 000010 104414 INC L INCNT 50153%: MOV REPORT 50155% 50156%: ENDIF 000000 50157% ENDDO 000751 012777 BR #0,aCLKCSR TOTAL NUMBER OF PRINTB LINES PRINTED #LINPER,LINCNT,LUNIT MOV MOV MOV #LINPER,-(SP) MOV SP,RO MOV RTS PC ;GO BACK AND DO ; LUNIT,=(SP) LINCNT ,=(SP) #3,-(SP) TRAP ADD C$PNTB #10,SP MOV #1,ERRFLG IT AGAIN JEXPECTED ERROR HANDLER 012737 000207 000001 002324 LPERR2: LET ERRFLG := #1 RTS BNDPAT: .WORD 015152 NLIST BEX ;SET ERROR FOUND PC JAND EXIT : CONTAINS ADDRESS OF PRINT PATTERN 0 *ASSOCIATED MESSAGES 015154 015221 015261 015362 015460 015511 015547 015630 022463 044501 050101 LINPER: .ASCIZ .ASCIZ /XNXAINSURE PRINTER(S) OFF LINE./ .ASCIZ/XNXAPLACE LUNIT ZD2XA ON LINE TO INITIATE TIME PERIOD FOR MANUAL/ .ASCIZ /INXAPRINTING SPEED MEASUREMENT AND BACK OFF LINE TO TERMINATE/ PRTSPD: .ASCIZ ONLIN3: 033071 /XINXD3XA LINES PRINTED ON LUNIT ZD2XN/ OFFLIN: ONLIN1: ONLINZ: .ASCIZ /ANXATHE TIME INTERVAL.ZXN/ LPM64: .ASCIZ Lf???:BEiASCIZ . /PRINTING SPEED MEASUREMENT/<12><12><i2> /XINXAG64 CHARACTER BAND SHOULD PRINT AT 285 LPM.2IN/ /AINXA96 CHARACTER BAND SHOULD PRINT AT 204 LPM.ZN/ ;64 CHARACTER BAND PATTERN 285 LPM -— CZLPLAO LP25 TEST CZLPLA.PIT MACY11 30A(1052) 01-0CT=79 09:25 2373 %g;g 2376 2377 2378 2379 2380 2381 015712 015715 015720 015723 015725 015730 015733 015736 015740 015743 015746 015751 015753 015756 015761 015764 015766 105 075 103 060 042 054 133 82? - 015771 015774 015777 016001 016004 016007 072 077 051 051 076 045 2382 016014 016017 016022 100 041 074 076 042 055 133 135 . 061 064 136 163 062 124 101 135 105 075 056 060 042 073 124 057 054 PAGE 22-7 i PRINT SPEED TEST PATTERNS TABAG64: .BYTE 105,061,104,075,064,041,103,136,102,060,163 134 101 133 BYTE 042,062,134,054,124,101,133,101,133,043,135 061 077 136 BYTE 041,105,061,100,075,077,041,056,136,074,060 073 134 044 BYTE 076,042,073,042,073,134,055,124,044,133,057 105 .BYTE o 135,054,105,072,100,050,077,052.056,051,056 046 073 053 .BYTE 051,074,046,076,071,073,045,055,053,044,137 .BYTE 057.070.054.132,072.131,072.131.050,067.052 104 041 102 050 056 057 070 054 072 131 09:27 131 050 ' 2383 016027 016032 016035 130 046 126 051 066 045 127 071 125 .BYTE 130,051,127,046,066,071,126,045,125,053,065 , 2384 016042 016045 016050 016053 016055 016060 016063 016066 016070 016073 016076 016101 016103 016106 016111 016114 016117 137 123 132 064 120 124 116 126 125 114 122 112 m 117 060 116 015 123 070 121 067 130 063 126 115 062 123 061 064 120 060 063 106 137 122 131 .BYTE 137,123,137,123,070,122,132,121.,131,064,067 117 066 115 BYTE 120,130,117,124,063,066,116,126,115,126,115 065 113 121 BYTE 125,062,065,114,123,113,122,061,121,112,064 : . ' : 110 117 107 012 .BYTE 111,120,110,117,060,117,060,063,107,116,106,012,015 2385 2386 2387 2388 2389 2390 2391 SEQ 0076 PRINTING SPEED MEASUREMENT : .SBTTL 100 052 056 074 071 055 132 072 01-0CT=79 L_6 .EVEN .EVEN ; . M6 CZLPLAO LP25 TEST MACY11 30A(1052) 01-0CT-79 09:27 PAGE 22-8 CZLPLA.PT1 ~ 01-0CT=79 09:25 PRINT SPEED TEST PATTERNS 2392 23% 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 ;96 CHARACTER BAND TABLE 016120 016123 016126 016131 016133 016136 016141 016144 061 047 016146 016151 016154 016157 016161 142 052 075 176 054 136 176 133 055 100 077 016174 016177 016202 016205 016207 016212 016215 016220 016222 016225 041 071 134 050 050 164 046 123 122 137 016164 016167 016172 016230 016233 016235 016240 016243 016246 016250 016253 016256 016261 016263 016266 016271 016274 016276 016301 016304 016307 016311 016314 016317 016322 016325 041 062 174 073 137 066 072 120 070 046 124 044 064 121 131 063 130 127 114 065 112 111 064 061 102 015 055 143 : 061,055,144,047.143,043,142,041,060,052,100 174 056 054 BYTE 075,140,174,176,041,056,054,056,054, 136,042 134 175 164 043 041 173 135 047 .BYTE 176,134,173,133,175,135,055,164,047,100,043 | 074 .BYTE 077,041,074,041,074,052,062,075,076,174,073 053 ('S 072 133 135 070 124 044 067 073 054 087 133 .BYTE 041,053,054,071,042,057,134,072,133,050,133 051 100 045 .BYTE | 050,135,051,164,070,100,046,124,045,123,044 064 132 BYTE 122,067,064 ,137,073,132,073,132,053,131,074 130 050 125 .BYTE 066,057,130,072,127,050,120,151.125,070,065 046 123 067 BYTE 046,124,046,124,045,123,044,122,067,064,137 120 BYTE . 121,132,120,151,117,066,063,130,116,130,116 126 113 124 BYTE 127,115,126,114,125,113,065,062,124,112,123 110 064 107 012 .BYTE 111,122,110,064,061,064,061,121,107,102,106,012,015 074 075 073 132 071 057 127 151 065 124 045 122 137 132 117 130 116 115 125 062 123 122 061 121 106 TABA96: 060 052 076 053 066 116 .EVEN 016326 MINIMUM PRINT SPEED PATTERN 96 CHARACTER BAND .BYTE 041 100 140 041 056 042 144 043 204 LPM. ENDTST SEQ 0077 MACY11 CZLPLAO LP25 TEST CZLPLA.PI 01-0CT=79 09:25 (3) (3) 2411 016326 016326 016330 104401 30A(1052) 01-0CT=79 09:27 N 6 PAGE 22-9 SEQ 0078 PRINT SPEED TEST PATTERNS L10013: ENDMOD TRAP CSETST MACY11 30A(1052) CZLPLAO LP25 TEST 01-0CT=-79 09:27 PAGE 23 CZLPLA.PT 01-0CT=79 09:25 DAVFU ERROR DETECTION 2613 2414 2415 8 SEQ 0079 .SBTTL DAVFU ERROR DETECTION 016330 BGNMOD 2T ;THIS TEST CONSISTS OF TWO PARTS TO VERIFY ;THAT THE DAVFU CAN DETECT ERROR CONDITIONS ;OF TWO TYPES: ;1. DAVFU WILL NOT ACCEPT INCOMPLETE DATA. ;2. DAVFU WILL NOT ACCEPT DATA THAT DOES : NOT INCLUDE A STOP BIT (ONE) CHARACTER. BGNTST 016330 016330 016330 016330 016334 016336 016336 016340 016342 016342 005737 001002 002250 ;EXIT TEST IF DAVFU OPTION IS NOT SPECIFIED If VFUOPT EQ #0 THEN 104432 001272 sPRINT TST VFUOPT TRAP CSEXIT L10014~. .WORD ENDIF TEST IDENTIFICATION 50163¢% 50163%: OUTPUT AVFUERR, #25., LPERR ;DETERMINE IFLHANUAL INTERVENTION iS ALLOWED 016376 01637¢ 016400 016400 BCOMPLETE 1% JEXIT TEST IF NEGATIVE DETERMINATION FOR MANUAL s INTERVENTION IS MADE EXIT TST 016402 016402 C16404 005737 002244 ;DETERMINE IF 1%: TST TRAP INTERVENTION IS INHIBITED INHINT BNE 2% EXIT TST 2%: 016420 016422 1S5:: EXIT TST 016342 016406 016412 016414 5 CSEXIT L10014~. BGNSUB 5.1 s SEND MESSAGE TO OPERATOR TO SET VFU=FLS SWITCH(ES) 2746 2746 003615 000001 062706 000004 005037 002262 PRINTF #VFUSEL ($8SUB #VFUSEL ,~(SP) #1,-(SP) SP.RO CSPNTF JWAIT FOR OPERATOR RESPONSE LET FLAG := #0 GMANIL READY,FLAG,100000,YES #4,SP FLAG CSGMAN 100008 c 7 MACY11 30A(1052) 01-0CT=79 09:27 PAGE 23-1 CZLPLAO LP25 TEST DAVFU ERROR DETECTION CZLPLA.PT 01-0CT=79 09:25 SEQ 0080 002262 000130 006010 FLAG T$CODE READY 100000 013701 005301 002012 005037 000402 002300 005237 002300 023701 003056 002300 013702 006302 002300 005037 002262 005737 001011 002262 005262 002676 013737 002300 ;PERFORM INCOMPLETE DATA ERROR DETECTION TEST LET R1 := LSUNIT - ¥ LSUNIT,R1 R1 INCR LUNIT FROM #0 TO R1 BY #1 LUNIT 50164$ 50165%: LUNIT 50164%: LUNIT,R1 50166% LET R2 := LUNIT SHIFT 1 LUNIT R2 R2 LET FLAG := #0 FLAG OUTPUI #INCDAT, #41.,, LUNIT OUTPUI #INCTBL, #5, MGETFLG, LUNIT IF FLAG EC #0 THEN LET ERRTBL(R2) 002074 := ERRTBL(R2) FLAG 50167% + 41 ERRTBL (R2) LET LSLUN := LUNIT ERRHRD 11, 104456 000013 017502 000000 100000 100008: LUNIT,LSLUN ERRO6 CSERHRD 11 ENDIF END INC 000715 ENDSUB 104403 BGNSUB 104402 ERRO6 0 50167%: L10015: 5.8 :PERFORM STOP CODE ERROR DETECTION TEST 005037 000402 002300 005237 002300 023701 002300 50165% 50166%: INCR LUNIT FROM #0 TO R1 BY #1 50171%: 50170%: TRAP ($ESUB TRAP c$8suUB CLR BR LUNIT INC LUNIT CmMP LUNIT,R1 50170% MACY11 CZLPLAQ LP2S T EST CZLPLA.PT 01=0CT=79 09:25 016666 016670 016670 016674 016676 016676 003147 013702 006302 002300 005037 002262 D_7 01-0CT-79 09:27 PAGE 23-2 DPAVFU ERROR DETECTION SEQ 0081 BGT LET R2 := LUNIT SHIFT 1 MOV LET FLAG := #0 OUTPUI #NOSTOP, #35.,, LUNIT OUTPUI ANSTTBL, #6 012737 000402 000200 005237 002332 023727 003052 002332 000213 012737 000015 002742 012727 000000 013727 000000 005367 000002 002332 HGETFLG, CLR FLAG LUNIT #200, VFUCMD 50174%: 50173s: := #15 50173s INC ;"'CR"" TO OUTPUT BUFFER #15,0UTBUF #2. (PO 002116 LSDLY. (PO)+ 177772 =6(PC) =4 NNt D 002300 LET ERRTBL(R2) 002074 104432 000422 ERRTBL (R2) LUNIT,LSLUN LET OUTBUF CSERHRD 12 ERRO7 0 50176%: END INC 002742 50176$ + #1 ERRHRD 12, ERRO7 ENDIF 000720 000624 := ERRTBL(R2) FLAG LET LSLUN := LUNIT 104456 000014 017553 00000C 000014 ~22(PC) .=20 IF FLAG EQ #0 THEN 002676 012737 VFUCMD VFUCMD ,#213 50175% OUTPUI #OUTBUF, #1, GETFLG, LUNIT DELAY 2 002262 013737 LUNIT,R2 R2 INCR VFUCMD FROM #200 TO #213 By #1 LET OUTBUF 50172% ASL 177756 gNNOObOO (7) 26465 30A(1052) := #14 J"FF'" TO OUTPUT BUFFER OUTPUI #OUTBUF, #1,,LUNIT END INC EXIT TST ENDSUB 50174% 50175%: MOV 50171% 50172%: TRAP .WORD L10016: #14,0UTBUF E 01=-0CT=79 09:27 PAGE 23-3 MACY11 30A(1052) CZLPLAQ LP2S T EST A.PI 09:25 DAVFU ERROR DETECTION CZLPL 01=0CT=79 (3) 017212 7 SEQ 0082 104403, TRAP CSESLB TRAP CSGMAN 10000% JEXPECTED ERROR ROUTINE FOR THIS TEST 017214 017214 017216 017220 017222 017224 017226 017230 017230 017232 017263 017334 017377 017454 017502 017553 017617 017624 017632 017632 017632 017634 GETFLG: GMANIL RESET, FLAG, 100000, YES 104443 000404 002262 000130 017377 000207 RTS 040504 043126 020125 040504 124 051042 043126 051505 052105 020125 020124 051125 1 040504 106 356 356 053101 043126 053101 001 000 052506 020125 052506 002 000 PC ;RETURN 10000%: Bk .WORD .WORD .WORD .WORD FLAG T$CODE RESET 100000 .NLIST BEX VFUERR: INCDAT: NOSTOP: RESET: .ASCIZ /DAVFU ERROR DETECTION/<12><12><12> .ASCIZ /DAVFU INCOMPLETE DATA ERROR DETECTION/<12><12><12> .ASCIZ /DAVFU STOP CODE ERROR DETECTION/<12><12><12> .ASCII LASCIZ /TEST 0.K. = PLACE PRINTER ON LINE AND DEPRESS/ /'RETURN'' WHEN READY./<12> ERRO6: ERRO7: .ASCIZ /DAVFU INCOMPLETE DATA ERROR NOT DETECTED/ .ASCIZ /DAVFU STOP CODE ERROR NOT DETECTED/ NSTTBL: .BYTE 356, 0, 0, 0, 0, .EVEN .LIST BEX ENDTST 104401 ENDMOD 357 L10014: TRAP CSETST MACY11 CZLPLAO LP25 TEST CZLPLA.P1T 01-0CT=79 09:25 2514 2515 30A(1052) F 01-0CT=79 09:27 PAGE 24 DAVFU LINE COUNT PAPER CONTROL SEQ 0083 .SBTTL DAVFU LINE COUNT PAPER CONTROL 017634 BGNMOD 3¢ sTHIS TEST CHECKS THE LINE COUNT METHOD ;OF PAPER ADVANCE USING THE DAVFU. THE ;DAVFU MEMORY 1S LOADED WITH DUMMY sDATA, AND THEN EACH OF THE LINE COUNT ;SLEWING COMMANDS IS TESTED IN SEQUENCE ;IN THE RANGE FROM ZERO TO 15 LINES. 017634 017634 017634 017634 - 017640 017642 017642 017644 017646 017646 BGNTST JEXIT TEST 005737 001002 002250 EXIT 104432 001360 012746 T6:: TST ENDIF PRINTF 003615 000001 TST VFUOPT TRAP CSEXIT L10017-. .WORD ;PRINT TEST IDENTIFICATION OUTPUT A#VFULCT, #33., LPERR :SEND MESSAGE TO OPERATOR TO SET VFU=FLS SWITCH(ES) 50177% 50177%: #VFUSEL #VFUSEL ,=(SP) #1,-(SP) SP,RO CSPNTF 000004 017722 017722 017726 017726 017730 017732 017734 017736 017740 #4 ,SP ;WAIT FOR OPERATOR RESPONSE LET FLAG := #0 002262 FLAG GMANIL READY,FLAG, 100000, YES CSGMAN 10000% FLAG 017742 017742 017742 017750 017750 IF DAVFU OPTION IS NOT SPECIFIED IF VFUOPT EQ #0 THEN 017646 017702 017702 017706 017712 017714 017716 6 012737 005004 000200 002332 100008: ;INITIALIZE PARAMETERS LET VFUCMD := #200 LET R4 017752 020006 OUTPUT #FSTMSG, #29. 020042 OUTPUT #VFUCMD, #1. 020076 OUTPUT #SECMSG, #103. ;PRINT FIRST PART OF CLR ZERO LINE SLEW MESSAGE :SEND ZERO LINE SLEW COMMAND ;PRINT SECOND PART OF . #200, vFUCMD := #0 .LOAD DAVFU MEMORY OUTPUT #VFUTBL, #18. T$CODE READY 1000C0 ZERO LINE SLEW MESSAGE : R4 G MACY11 30A(1052) 01-0CT=79 09:27 PAGE 24-1 CZLPLAQ LP25 TEST CZLPLA. P11 DAVFU LINE COUNT PAPER CONTROL 01-0CT=79 09:25 2549 020132 020132 020140 020174 020220 020254 020254 020262 020316 020316 020324 020360 020414 020414 020420 020420 020422 020422 020422 020430 020464 020464 020466 012737 000015 002742 012737 000402 0002217 005237 002332 023727 003101 002332 012737 000015 002742 016437 020532 002742 062704 002332 s SEND OTHER DAVFU PAPER ADVANCE COMMANDS INCR VFUCMD FROM #2271 TC #237 BY #1 50200%: ;PERFORM PAPER MOVEMENT OUTPUT #VFUCMD, #. LET OUTBUF = #15 OUTPUT AOUTBUF, #1. s INSERT PAPER MOVEMENT VALUE LET OUTBUF OUTPUT AOUTBUF ,#2 104432 VFUCMD BGT VFUCMD ,#237 50202% MOV #15,0UTBUF MOVEMENT ME SSAGE 50202%: OUTPUT #OUTBUF, . EXIT TST ADD #2 R4 BR 502018 MOV #14 ,0UTBUF TRAP 000536 .WORD 020470 040504 043126 020125 .NLIST BEX VFULCT. .gsrxz /DAVFU LINE 020532 030460 031060 031460 LCTTBL: 020571 020600 020606 356 007 015 001 010 016 002 011 017 : VFUTBL é BYTE 1§ 1? 20, 357 020613 124 044510 020123 FSTMSG: LASCIZ /THIS LINE SHOULD BE PRINTED / 020650 020714 021012 021016 021101 021142 021206 046101 027056 027056 041040 040 027056 027056 020114 027056 000056 040514 051120 027056 027056 047117 027056 SECMSG: 045516 053105 027056 027056 LCTMSG: .ASCI1I /ALL ON ONE LINE IF SLEWED ZERO LINES/ LASCII lseef LASCIZ LASCII / BLANK LINES SHOULD OCCUR BETWEEN THIS LINE AND THE/ / PREVIOUS LINE LASCII / LASCII LASCIZ 021224 COUNT PAPER CONTROL/ <12><12><12> IAst2/010203040506070809101112131415/ .EVEN .LIST BEX ENDTST 1, 50200% LCTTBL (R4) ,0UTBU := ”14 .BYTE 356 BYTE 7 - #221,VFUCMD INC - END INC LET OUTBUF MOV BR := LCTTBL(RG) ;APPEND MESSAGE AND PRINI Og;PgI #LCTMSG, #131. = R4 + #2 L 002742 #15,0UTBUF OUTPUT AOUTBUF, #1. 000237 000002 000014 TO OUTPUT BUFFER ;"'CR"" := #15 50201%: 000671 012737 LET OUTBUF SEQ 0084 6 CZLPLAO LP25 TEST CZLPLA.PT1 MACY11 01=0CT=79 09:25 (3) 2%)) 021224 021226 104401 2590 021226 | 30A(1052) 01=0CT=79 09:27 H PAGE 24=2 7 . . . DAVFU LINE COUNT PAPER CONTROL ' ENDMOD SEQ 0085 : L10017: TRAP (SETST CZLPLAD LP25 TEST CILPLA.PTN MACY11 30A(1052) 01=0CT=79 09:25 533% 2596 2595 2596 2597 2598 2599 2600 2601 2602 (3) 2603 2604 6) (9) 2605 (3) (3) 2606 (4) 2607 2608 2609 2610 (7) (6) (3) (4) (4) 2611 2612 2622 2623 (4) (5) (4) (7) (5) 09:27 PAGE 25 I 7 SEQ 0086 DAVFU CHANNEL SELECTION PAPER CONTROL .SBTTL DAVFU CHANNEL SELECTION PAPER CONTROL 021226 BGNMOD 14t STHIS TEST CHECKS DAVFU PAPER ADVANCE USING *STOP BITS LOADED IN DAVFU MEMORY. THE :DATA FORMAT IS SELECTED TO PROVIDE AN SOUTPUT IN A TRIANGULAR PATTERN. et 021226 021226 BGNTST 021226 021226 021232 021234 02123 0212% 021240 005737 001002 002250 021274 021310 021314 021334 021370 021374 021376 021400 021404 021406 021412 021412 021420 021422 021422 021426 012746 012746 010600 104417 062706 4 005037 17:: : ENDIF :PRINT TEST IDENTIFICATION OUTPUT #VFUCHL, #40. SSEND MESSAGE TO OPERATOR TO SET VFU-FLS SWITCH(ES) PRINTF #VFUSEL 003615 000001 000004 GMANIL READY,FLAG,100000,YES 104443 : , 000002 MOV 000001 2%: 1%: 022150 ! 012737 000402 000200 005237 022216 100008: :LOAD DAVFU MEMORY OUTPUT #VFUDAT, #50. : 022216 #2 R4 BR DEC CMP BGE JMP TRAP .WORD CSEXIT L10020-. MOV MOV MOV TRAP #VFUSEL ,=(SP) #1,-(SP) SP,RO CSPNTF CLR FLAG TRAP C$GMAN BR .WORD "WORD "WORD -WORD #4 ,SP 10000% FLAG TSCODE READY 100000 ;SET UP ITERATION COUNTER 1% R R4 41 3s 48 :BACK UP COUNTER ;TEST FOR LAST TIME THROUGH "BRANCH IF LAST TIME THROUGH FALSE SEXIT TEST -SEND PAPER INSTRUCTIONS TO ALL 12 CHANNELS %8: INCR INSTR FROM #200 TO #213 BY #1 50205%: . ; VFUOPT 50203% ADD ;WAIT FOR RESPONSE FROM OPERATOR LET FLAG := #0 002262 ST BNE 50203$: : 000404 002262 000130 006010 100000 012704 000401 005304 020427 002002 000137 . EXIT TST 104432 001120 021240 021274 021300 021304 021306 7 ;EXIT TEST IF DAVFU OPTION IS NOT SPECIFIED IF VFUOPT EQ #0 THEN 021240 (4) 021314 2613 021320 (3) 021320 (3) 021322 (4) 021324 (5) 021326 (5) 021330 (5) 021332 (3) 021334 2614 2615 2616 2617 2618 2619 2620 2621 01-0CT=79 , : 50204%: MOV 8R #200, INSTR 50204% INC INSTR . J 7 CZLPLAO LP25 TEST MACY11 30A(1052) 01-0CT=79 09:27 PAGE 25-1 CZLPLA.PT 01-0CT=79 09:25 DAVFU CHANNEL SELECTION PAPER CONTROL (5) (7) 021426 02143 023727 003125 2625 2626 (&) 2627 2628 2629 021436 021472 021472 021500 g 021534 2630 2631 021540 021544 (6) 021544 2624 (4) (4) (9) 2632 2633 (6) 2634 (4) (3) 2635 2636 2637 (4) 021534 021544 021546 021550 021604 021604 021606 021606 021610 000015 013703 022216 142703 021716 021720 021720 021724 021724 021732 021734 2643 021770 2644 2645 (4) (6) 021774 022000 022000 022000 2646 2647 (6) 2648 (4) (3) 2649 2650 (4) 2651 021770 022002 022004 022040 022040 022042 ENDDO : 012737 000402 000213 005337 022216 (023727 002504 022216 013703 022216 142703 002742 022216 ’ ' .OUTPUT #CHARX, #1 ;SEND PRINT COMMAND TO PRINT SPACES AND X'S LET OUTBUF := #15 ' OUTPUT #OUTBUF, #1. END INC 005303 022100 012737 DECR INSTR FROM #213 TO #200 BY #1 - 000200 - . - 502068%: 50212%: ‘ : 50211%: LET R3 := INSTR 000360 BICB #360, R3 WHILE R3 NE #0 DO B : : 000015 50210%: OUTPUT #INSTR, #1. 005703 001420 000756 022106 . 000015 002742 ' 50214%: OUTPUT #CHARSP, #1 LET R3 := R3 - #1 ENDDO OUTPUT #CHARX, #1 LET OUTBUF := #15 OUTPUT #OUTBUF, #1. CMP BGT INSTR #213 50206% MOV #15,0UTBUF MOV INSTR,R3 TST R3 DEC R3 BR 50207% MOV #15,0UTBUF BR 50205% MOV BR #213,INSTR 50211% DEC INSTR CMP BLT INSTR,#200 50213% MOV INSTR,R3 TST BEQ R3 50215% DEC R3 BR 50214% MOV #15,0UTBUF BEQ ;DUPLICATE TEST TO REVERSE OUTPUT PATTERN 022042 022044 022044 022100 50207%: OUTPUT #(CHARSP, #1 LET R3 := R3 - # 000756 (5) 4) (7) (5) (5) (7) 2642 021710 021710 OUTPUT #OUTBUF, #1 :GET SPACE COUNT LET R3 := INSTR BICB #360, R3 WHILE R3 NE #0 DO 005303 000645 021652 021706 - OUTPUT #INSTR, #i LET OUTBUF := #15 001420 021706 021710 (9) 000360 021610 021644 . 005703 (4) (3) 2640 (4) 002742 . 012737 2641 (4) 000213 ;PERFORM PAPER MOVEMENT 012737 021644 2638 2639 022216 SEQ 0087 50215%: 50210% MACY11 30A(1052) CZLPLAO LP25 TEST CZLPLA.P1T 01-0CT=79 09:25 022142 022214 022216 022220 2660 2661 2662 2663 2664 022264 022272 022273 022274 022277 01-0(T-79 021376 012737 000014 JMP 002742 (%: EXIT TST 104432 000142 2% LET OUTBUF := #14 50213$: ;GO BACK AND TRY IT AGAIN OUTPUT #OUTBUF, #1 043126 047101 042523 047511 042520 052116 005012 020125 042516 042514 020116 020122 047522 000 000 004 INSTR: MOV #14 ,0UTBUF .WORD 0 .ASCIZ /DAVFU CHANNEL SELECTION PAPER CONTROL/ <12><12><12> CHARSP: CHARX: .EVEN .BYTE 40 .BYTE 130 VFUDAT: .BYTE 356, 000 010 .BYTE 2667 000 020 BYTE 0. 40, 0, 40, 0, 20, 0, 000 001 .BYTE 0. 4., 0, 2,0, 010 000 .BYTE 20, 0, 357 .EVEN ENDTST ENDMOD .BYTE CSEXIT L10020-. 1, 0, 2. 0, 4, 0 2666 022360 50212% : "VFUCHL .BYTE 10, 0. 20, 0. 40, 0, 0, 022356 022356 022356 BR TRAP 020 000 022353 SEQ 0088 .WORD 040 130 356 002 000 7 ENDDEC 000137 047503 005114 022272 PAGE 25-2 VFU CHANNEL SELECTION PAPER CONTROL 000666 000000 040504 044103 020114 052103 040520 09:27 1 0, 2.0, 4,0, 10, 0, 20 1. 0, 10 1, 40, 0 10, 0, 4, 0, 2, 0 357 L10020: TRAP CSETST MACY11 30A(1052) 01-0CT=79 09:27 PAGE 26 CZLPLAC LP25 TEST CZLPLA.PTT DATA TRANSFER PATHS 01-0CT=79 09:25 2676 2677 2678 L SEQ 0089 .SBTTL DATA TRANSFER PATHS 022360 BGNMOD i ;THIS TEST CHECKS THE DATA TRANSFER ;PATHS FROM THE PROCESSOR INTERFACE ;TO _THE PRINTER OUTPUT. AN ALTERNATING :PATTERN OF ONES AND ZEROES CORRESPONDING :TO AN ALTERNATING STRING OF ''«"' AND :'VU'’" CHARACTERS ARE TRANSMITTED ON THE :FULL 132 COLUMNS. AFTER 16 LINES OF ;THIS PATTERN, THE OUTPUT PATTERN IS SUITCHED 10, AN ALTERNATING PATTERN ;OF “'" AND '@'' CHARACTERS FOR ANOTHER 16 LINES 022360 022360 BGNTST 022360 OUTPUT #DATPTH, #22 022414 ;PRINT TEST T8:: IDENTIFICATION :PRINT ALTERNATING STRINGS OF CHARACTERS 012737 000402 000001 005237 022732 023727 003076 022732 000002 023727 001004 022732 000001 112737 000125 022732° 112737 000077 012704 002742 012737 000402 000001 005237 002270 023727 003011 002270 113724 105137 022702 022702 INCR PATTERN FROM #1 TO #2 BY #1 50217%: 022702 000403 022526 8. 022702 50216%: IF PATTERN EQ #1 LET CHAR :B= #'U ELSE LET CHAR :B= #'? ENDIF LET R4 002270 THEN TO #66. BY #1 50223%: 000102 coms (R4)+ LET (R4)+ INC PATTERN CMP BGT PATTERN, #2 502208 CMP PATTERN,#1 MOvVB #°'U,CHAR 50216% 50221$ 50222% 50221%: 502248: LET #1,PATTERN mMovB #'?,CHAR MOV #OUTBUF ,R4 MOV #1,CCNT INC CCONT CMP BGT CCNT ,#66 MOove CHAR, (R4) + 50222%: := HOUTBUF INCR CCNT FROM #1 MOV :B= (HAR CHAR :B= (CHAR 50223$% 50225% M SEQ 0090 MACY11 30A(1052) 01-0CT=79 09:27 PAGE 26~1 CZLPLAO LP25 TEST DATA TRANSFER PATHS CZLPLA.PIT 01-0CT=79 09:25 022526 022532 113724 105137 022702 022702 000761 112724 000015 112714 000012 012737 000402 000001 005237 002264 023727 003017 002264 LET 022700 022702 022703 022710 022716 022724 000 104 051124 051105 051510 022732 000000 :B= #12 TO #16. BY #1 50227%: 50226%: 000020 OUTPUT #0OUTBUF, #134. END INC 50230%: ENDINC 000014 002742 LET OUTBUF EXIT TST 052101 047101 020101 CHAR: DATPTH: .EVEN PATTERN: ENDTST 104401 (R4) INCR LINCNT FROM #1 002264 000674 104432 000034 50225%: LET (R4)+ :B= #15 000753 112737 CHAR com8 END INC . ENDMOD :B= #14 OUTPUT 50220%: #OUTBUF, #1 MOVB CHAR, (R4) + B8R 50224% MOVB #15,(R4)+ MovB #12,(R4) MOV BR #1,LINCNT INC L INCNT CMP BGT LINCNT #16. 502308 BR 50227% BR 50217% MOVB #14 ,0UTBUF TRAP .WORD CSEXIT L10021~. TRAP CSETST 50226$ .BYTE 0 : .ASCIZ /DATA TRANSFER PATHS/ <12><12><12> .WORD 0 L10021: N MACY11 30A(1052) 01-0CT=79 09:27 PAGE 27 CZLPLAO LP25 T EST PRINTABLE CHARACTERS CZLPLA.PTT 01-0CT=79 09:25 SEQ 0091 .SBTTL PRINTABLE CHARACTERS 022736 BGNMOD 14 sTHIS TEST CHECKS FOR PROPER PRINTING ;OF ALL PRINTABLE CHARACTERS. A ROW ;OF EACH PRINTABLE CHARACTER WILL ;APPEAR AS OUTPUT ON THE LINE sPRINTER. BGNT St 9. OUTPUT #PRTCHR, 002246 012737 000137 IF CHRBND EQ #0 THEN 002736 000403 012737 000176 12737 000402 000040 005237 022702 023737 022702 003042 012704 002742 012737 000402 000001 005237 002270 023727 003003 002270 113724 022702 000767 (3) 023146 112724 000015 112724 000012 000730 002736 022702 CHRBND 502318 #137 LET WORK := #137 ,WORK ELSE LET WORK := " 005737 001004 19:: #23. #176 ENDI F INCR CHAR FROM #40 TO WORK BY #1 50233s: 002736 002270 TO #132. By #1 50237%: 50236%: 000204 LET #176,WORK MOV #40, CHAR INC CHAR cMP CHAR , WORK MOV R4 #OUTBUF MOV #1,CCNT INC CCNT CMP BGT CCNT, #132. 50240% mMovB CHAR, (R4) + BGT := MOUTBUF INCR CCNT FROM #1 MOV 50232%: : 502348 LET R4 50232¢% 502318: (R4)+ :B= CHAR END INC LET (R4)+ :B= #15 OUTPUT #OUTBUF, #134. ENDINC 50235%: 50235$ 50236% 50237% 502408%: LET (R4)+ :B= #1°2 5023%3s MovB #15,(R4) + mMovB #12,(R4)+ 50234% MACY11 30A(1052) CZLPLAO LP25 TEST 01-0(CT =79 09:27 PAGE 27-1 PRINTABLE CHARACTERS CZLPLA.PI 01-0CT=79 09:25 2758 112737 (4) 2759 2760 (3) (3) 2761 2762 (3 (3) 2766 2767 2768 002742 LET OUTBUF :B= #14 OUTPUT #OUTBUF, #1 EXIT TST 104432 000032 051120 046102 051101 051522 2763 2764 2765 000014 SEQ 0092 023244 023244 023244 023246 047111 020105 041501 005012 040524 044103 042524 000012 PRTCHR: MOovB #14,0UTBUF TRAP .WORD CSEXIT L10022~-. TRAP CSETST LASCIZ /PRINTABLE (HARACTERS/ <12><12><12> .EVEN ENDTST 104401 ENDMOD L10022: CJLPLAQ LP25 TEST MACY11 30A(1052) 01-0CT=79 09:27 PAGE 28 CZLPLA.PI 01-0CT=79 09:25 NON-PRINTABLE CHARACTERS 2770 g;;% 2774 2775 2776 2779 (3) 2780 2782 2783 (4) .SBTTL 023246 ;EACH CHARACTER WILL APPEAR ON THE PRINTER OUTPUT IN THE FORM OF ITS OCTAL ;CODE ACCOMPANIED WITH ITS MNEMONIC. BGNTST 023246 (9) 2788 (4) 2789 (4) 023312 023314 023314 023322 023322 (4) (4) (5) (4) (7) (5) (5) (7) 2796 (4) 012704 OUTPUT #NONCHR, #64 . LET R4 := ANONBUF 024737 023306 023324 023324 023324 023332 005737 001004 012737 000040 002740 000403 012737 000033 002740 023332 MOV #NONBUF R4 TST CHRBND LET WORK1 := MOV #32. ,WORK1 BR 502428 MOV #27. ,WORK1 CLR BR L INCNT 50243% INC L INCNT CMP BGT L INCNT ,WORK1 50245% MOV #OUTBUF ,R3 BNE #32. ELSE LET WORK1 := 50241%: #27. ENDIF 50241% 50242%: * DO ONE LINE FOR EACH TABLE ENTRY 023332 023332 023336 023340 023340 023344 023344 023352 005037 000402 002264 005237 002264 023737 003056 002264 023354 012703 002742 023354 INCR LINCNT FROM #0 TO WORK1 BY #1 502448 : 50243$: 002740 LET R3 := AOUTBUF : MOVE CODE AND MNEMONIC TO PRINT BUFFER 2800 023360 (5) 023366 023360 (4) (7) (5) (5) 023370 023370 023374 023374 2807 023404 (7) ' IF CHRBND EQ #0 THEN 002246 2798 (4) T10:: ;INDICATE TEST CURRENTLY BEING DONE 2793 2795 10. * SETUP LINE COUNT ACORDING TO CHRBND SWITCH 023306 2790 (4) 2791 NON-PRINTABLE CHARA(CTERS ;THIS TEST CHECKS FOR DETECTION OF ALL NON-PRINTABLE CHARACTERS. 023246 2787 (3) SEQ 0093 s *® 2785 (6) 8 BGNMOD : 023246 023302 023302 c 023402 012737 000402 000001 005237 002736 023727 002736 003002 002736 INCR WORK FROM #1 TO #8. BY #1 502478 000010 § LET 502468: e (R3)+ :B= (R&4)+ MOV - #1,WORK INC WORK (MP WORK 8. R BGT 50246$ 502508 D 8 CZLPLAO LP25 TEST MACY11 30A(1052) 01-0CT=79 09:27 PAGE 28-1 CZLPLA.PT 01=-0CT=79 09:25 NON-PRINTABLE CHARACTERS (4) 2802 (4) (3) 2803 023404 023406 02306 023410 112423 END INC 000770 50250%: 2804 3 2806 2807 (4) 023410 023410 ; (&) 023420 2805 (5) ; 023416 (7) (5) (5) 023420 023424 023424 2808 023434 (7) (4) 2809 (4) (3) 023432 023434 023436 023436 023440 012737 000001 000402 005237 002736 023727 002736 003002 111423 | 000770 002736 023440 (4) 023444 023440 023444 023450 023504 023504 023506 023506 023510 MOV #1,WORK INC WORK cMP WORK , #124 . MOVB (R4) ,(R3)+ BR 50252% MOVB #15,(R3)+ MOVB 12.(R3)+ BR :B= (R4) | 502538: 50251$ 50253$ 112723 000015 112723 000012 ’ LET (R3)+ :B= #15 LET (R3)+ :B= #12 OUTPUT #OUTBUF ,#134. LET R4 := R4 + M 005204 END INC 000714 : 50245%: INC R4 BR 50244% ST BNE CHRBND 50254% MOV #OUTBUF ,R3 MOV #1471, WORK INC WORK (MP WORK , #172 : IF 64 CHAR BAND TEST FOR AUTO CONVERSION FROM LOWER CASE ; TO UPPER CASE CHARACTERS BY THE PRINTER. 023510 023510 2827 2828 2829 (4) 2830 023516 023552 023606 023606 023612 (7) (5) (5) 50247% ; PRINT LINE OF OCTAL CODE, MNEMONIC, AND 12C BYTES(NONPRINTABLE CODE) 2826 6) (4) BR BGT END INC 2824 (5) 50251$: LET (R3)+ 2823 (4) INCR WORK FROM #1 TO #124. BY 000174 %g]'g (9) (R4)+,(R3)+ * FOLLOWED BY CRLF 2814 2819 2820 (6) 2821 (4) (3) MOVB PUT 120 BYTES OF CODE INTO PRINT BUFFER 502528: gg}% (4) 2815 SEQ 0094 023514 023612 023620 023622 023622 023626 023626 005737 001073 012703 002742 012737 000141 000402 IF CHRBND EQ #0 THEN 002246 005237 002736 023727 002736 OUTPUT #SKIP3 44 OQUTPUT #AUTCON,#46. LET R3 := #OUTBUF 002736 INCR WORK FROM #141 : SKIP 3 LINES ;. PRINT CONVERTED MSG TO #172 BY #1 502568: 000172 502558%: BR 50255% E_8 CZLPLAO LP25 TEST MACY11 30A(1052) 01-0CT=79 09:27 PAGE 28-2 CZLPLA.PTT 01=0CT=79 09:25 NON-PRINTABLE (HARA(TERS (7) 2831 (4) 2832 (4) (3) 2833 (4) 2834 2835 023634 023636 023636 023642 023642 023644 023644 023644 023650 023704 (4) 023704 2838 2839 023704 2840 023712 2836 2837 (4) 023704 2841 023746 Zézé 023750 (3) 023746 003003 113723 002736 000767 112713 LET (R3)+ :B= WORK _ END INC LET (R3) 000012 OUTPUT ENDIF . 000014 002742 EXIT BGT 50257% MovB WORK, (R3) + i 50256% MOVB #12,(R3) 50254%: - :B= #14 #OUTBUF ,#1 TST . - MOVB ’ JAND EXIT TEST ; TRAP .WORD ;CHARACTER BUFFER AND TEST HEADER MESSAGE .NLIST BEX 023752 024003 024053 024132 047516 101 114 005015 026516 043040 053517 005012 051120 046125 051105 000 NONCHR: 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 024137 024150 024161 024172 024203 024214 024225 024236 024247 024260 024271 024302 024313 024324 024335 024346 024357 040 030040 040 030060 030460 030060 031460 030060 032460 030060 033460 030460 030461 030460 033461 031060 020060 051440 020062 042440 020064 042440 020066 041040 020060 044040 NONBUF: 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 ; LINE OF ALPHABET (LC) 000642 2846 2847 2848 gggg 2865 :B= #12 #OUTBUF ,#27. . LET OUTBUF OUTPUT 104432 5&2 2845 50257%: 3 ; DO A TOP OF FCRMS : 112737 SEC 0095 024370 024401 024412 024423 024434 024445 024456 024467 024500 024511 030040 040 030040 040 030040 040 030040 040 030040 040 030040 040 030040 040 030040 040 030040 040 030040 040 030040 040 030040 040 031060 031462 031060 032462 031060 033462 031460 030463 031460 031463 031460 032463 031460 051440 054040 020062 054040 047040 042440 020060 042440 020062 042440 043440 020066 AUTCON: SKIP3: .ASCII .ASCIZ .ASCIZ LASCIZ /NON-PRINTABLE CHARACTERS/<12> /A FULL LINE OF EACH CODE WILL BE SENT/<12><12> /LOWER CASE SHOULD BE CONVERTED TO UPPER CASE/<12><12> <15><12><12><12> .ASCII LASCII JASCII LASCII LASCII LASCII LASCII LASCII LASCII LASCII LASCII LASCII LASCII LASCII LASCII LASCII LASCII 7/ 7 7 7 7 7 /7 7/ 7 7 7/ 7 7/ 7 7 /7 7 LASCIT LASCII LASCII LASCII LASCII LASCII LASCII LASCII LASCII LASCII /7 7 7 7 7 7 /7 7 7 7 000 NUL/<0> 001 SOH/<1> 002 STXx/<2> 003 ETX/<3> 004 EOT/<4> 005 ENQ/<5> 006 ACK/<6> 007 BEL/<7> 010 BS 7<10> 011 HT /11> 016 SO /<12> 017 SI 717> 020 DLE/<20> 021 XON/<21> 022 DC2/<22> 023 XOF/<23> 024 DC4/<24> 025 NAK/<25> 026 SYN/<26> 027 ETB/<27> 030 CAN/<30> 031 EM /<31> 032 SuB/<32> 033 ESC/<33> 034 FS /<34> 035 GS /<35> 036 RS /<36> #14 ,0UTBUF CSEXIT L10023-. MACY11 CZLPLAQO LP25 TEST (ZLPLA P11 01-0CT=79 09:25 024522 030040 040 033463 032061 052440 020060 030440 031467 020040 040 033461 020064 030440 175 040 032467 020040 033461 020066 140 024555 024565 024566 024576 024577 024607 024610 024612 024612 024612 024614 30A(1052) 173 174 176 01-0CT=79 09:27 LASCII LASCII .BYTE LASCII LASCII .BYTE LASCII .BYTE LASCII .BYTE .BYTE .EVEN 000 024612 . PAGE 28-3 SEQ 0096 NON=-PRINTABLE (HARA(CTERS / 037 uUS /<37> / 140 / / / / LLIST BEX ENDTST 104401 ENDMOD L10023: TRAP CSETST MACY11 CZLPLAO LP25 TEST CZLPLA.P1T 01=0CT=79 09:25 01-0(T=79 09:27 BAND PATTERN .SBTTL 024614 BGNMOD PAGE 29 G SEQ 0097 BAND PATTERN g *BAND PATTERN TEST :THIS TEST PRODUCES AN IMAGE OF THE ENTIRE BAND PATTERN. THE PRINT=QUT ;IS ORGANIZED TO LOCATE THE FOUR QUADRANTS OF sFORMAT : ; THE BAND [N THE FOLLOWING . QUADRANT NO.1 QUADRANT NO. 2 QUADRANT NO.1 ETC. QUADRANT NO.3 QUADRANT NO.4 :THE REASON FOR THIS ARRANGEMENT IS TO FACILITATE VISUAL INSPECTION ;OF THE PRINTOUT AS WELL AS TO ACCOMODATE THE 208 CHARACTERS OF THE BAND “IN 132 COLUMNS. : : CHRBND = 1 FOR 96 CHAR BAND USA unn * SWITCHES TESTED ARE: 1 0 FOR 64 CHAR BAND FOR AMERICAN PRINT SET 0O FOR BRITISH I 2898 2899 2900 2901 2902 2903 30A(1052) PRINT SET BGNTST 11. 024614 024614 T11:: *PRINT OUT THE TEST HEADER ACCORDING TO SWITCH CHRBND 024614 024614 024620 024622 024656 005737 001017 ’ 002246 IF CHRBND EQ #0 THEN ELSE 000416 OUTPUT #8P64ID,#23. OUTPUT #BP96ID,#23. 024714 024714 TST ENDIF - CHRBND 50260% 50261% 502608: 50261%: : FIX THE BAND PATTERN ACORDING TO SWITCH 'USA' 024714 024714 024722 024724 024724 024730 024730 024736 024736 024742 024742 024750 0237¢7 001032 002256 105037 025466 12737 000043 105037 025606 112737 000043 000001 IF USA EQ #1 THEN LET BP64A :B= #0 025472 025613 LET BP64B :B= #043 LET BP64C :B= #0 LET BP64D :B= #043 LET BP64E :B= #0 CMP A . #1 US 50262% CLRB BP64LA MOVB #043,BP64B CLRB BP64( MOVB #043 ,BP64D MACY11 30A(1052) 01-0(T=79 09:27 CZLPLAO LP25 TEST BAND PATTERN CZLPLA.PT 01=0CT=79 09:25 (4) 2942 (4) 2943 (4) 2944 (4) 024750 024754 024754 024762 024762 024766 2945 (4) 2946 (4) 2947 (4) (3) 2948 2949 (4) 2950 (4) 2951 (4) 2952 025010 025010 025010 025016 025016 025022 025022 025030 025030 025034 025034 025042 105037 025724 112737 000043 105037 026051 112737 000043 105037 026244 112737 000043 026056 000431 112737 000043 105037 025472 112737 000043 105037 025613 112737 000043 105037 025730 112737 000043 105037 026056 112737 000043 105037 026251 012737 000402 000001 005237 002264 023727 003041 002264 005737 001017 002246 000416 025216 : #043 LET BP96A : #0 : LET BP96B #043 LET BP96C : #0 LET BP96D : SEQ 0098 #043 ELSE 025466 LET BP64A : #043 LET BP64B : #0 LET BP64C 025606 : ~ LET BP64D : 025724 026051 #0 : #043 LET BP64F : #0 LET BP96A : #043 LET BP96B : #0 LET BP96C 026244 #0643 LET BP64E : LET BP96D : #043 #0 ENDIF 002264 ;1 PAGE OF mMovB #043,BP64F CLRB BP96A mMovB #043,8P96B CLRB BP96( MOVB #043 ,BP96D 50263% MOvB #043 ,BP64A CLRB BP64B MovB #043,BP64( CLRB BP64D MCVB #043 ,BP64LE CLRB BP64F MOvVB #043 ,BP96A CLRB BP96B MOVB #043 ,8P96C CLRB BP96D THE PATTERN MOV 50265%: 50264%: 000022 IF CHRBND EQ #0 THEN ENDIF BP64E 50263%: INCR LINCNT FROM #1 TO #18. BY #1 ELSE CLRB 50262%: ; SETUP FOR POUND STERLING SIGN 025072 025072 LET BP64F 025730 026251 H 8 PAGE 29-1 L INCNT CMP BGT L INCNT ,#18. 50266% TST CHRBND BR OUTPUT #BP96,#BND(CT? 502673: 50270%: 50264% INC BNE , #BNDCNT OUTPUT #BP64 #1,L INCNT 50267% 50270% 01=0CT=79 09:27 MACY17 30A(1052) CZLPLAO LP25 TEST BAND PATTERN CZLPLA.P11 01-0CT=79 09:25 2967 (4) 025216 2969 - 012737 025264 104432 001042 025266 025316 033071 032066 8 SEQ 0099 END INC 000731 (3) 1 PAGE 29-2 BR 50265% MOV #14 ,0UTBUF 50266%: 000014 002742 LET OUTBUF := #14 OUTPUT #OUTBUF ,#1 EXIT TST TRAP .NLIST BEX BP96ID: BP64ID: .ASCIZ .ASCIZ .WORD CSEXIT L100 /96 CHAR BAND PATTERN/<12><12><12> /64 CHAR BAND PATTERN/<12><12><12> ‘BAND PATTERN TABLE : 64 CHARACTER BAND 025346 025435 BP64: 020040 057 036443 031043 040 033043 043 072 036443 023443 000 BP64A: BP64B: 041101 035444 012 BP64C: BP64D: BPG4E: BP64F: ENDP64: .EVEN 000367 .ASCII LASCIT ASCII .ASCII LASCIT .ASCII .ASCII LASCII .ASCII ASCII .BYTE / ABECDTFGOHIJ1KL2MN30P4QRSSUVEWX7YZ8_+X98) ~(:,/ '/8=:><, 28EILT\' 0~ <043>'=1!"' <043>/2°'A3B(4DF GSHI6JK7LMBNOPIQR*SU, VW=XYZ./<12> _tEXRT) (0:/81;>2<?3a]4[\"5** <043>'6=!7' <043>/'8ABCODF *GH, I J=KLM. NOEPQTRSOUVWIXY2Z _3+%48) (5/ *:/68;7><82@]9[\»"","* <043>'=-!" <043>/'./<12><12> O BNDCNT= ENDP64-BP64 * BAND PATTERN TABLE : 96 CHAR BAND 020040 020040 023045 BP96: .ASCII LASCI1I JASCIT 020040 055 061 157 NONWnNS WN=O 026251 026265 026301 026315 046113 052452 030443 04 142 167 144 156 170 N, BP96B: BP96C: 8P96D: BYTE JASCIT BYTE JASCII BYTE JASCII PASCIT .ASCII .BYTE 170.171.172.67.12 ° ABCDBEF GOHIJ* 145 'KLMN' 164 ‘'OPQ,RST' i **UVWX=YZ_.$%80) (:/1+;>2<23 NS <043>'1=51 043.47,66.175,173.176,136,67,177.140,141,70 047115 051054 026530 041 066 '<?a° 164 * 43,154 '=#!7 043.47.55.175.173,176.136.56,177.140,141,60,142 020040 026164 026165 026174 026244 ABCDOEF GTHI J2KLMN30PQ4RS TSUVWX6YZ .BYTE JASCIT .BYTE 172 3007 aseaas g5 BP96A: BYTE ASCII ° ;zgszzs><:/9*;>r BYTE BYTE BYTE BYTE BYTE 143.144,61,146,147,150,151,62,152.155.154.,6% 155.156.157.64.160.161.162.165,65.165.166.167.66 142.145.144,71,146,147,150,151,145.,152,153,154 164.155.156.157.54.160.161.162.163.52.165.166 167.55.170,171,172.56,12.,12 . CZLPLAO LP25 TEST MACY1T CZLPLA.PIT 01-0CT=79 09:25 026325 000 00367 026326 026326 026326 026330 30A(1052) 01-0(T=79 BAND PATTERN ENDP96: .EVEN .BYTE J SEQ 0100 PAGE 29-3 0 BNDC T2=ENDP96-BP96 .EVEN .LIST BEX ENDTST 104401 09:27 ENDMOD L10024: TRAP CSETST 8 CZLPLAC LP25 TEST MACY11 30A(1052) o1-ocr-79 09:27 PAGE 30 CZLPLA.PLY 01-0CT=79 09:25 SPURIOUS HAMMER F IRING 302/9 3008 29 SEQ 0101 .SBTTL SPURIOUS HAMMER FIRING 025330 BGNMOD 3030 I+t 30;2 ;BOUNDARIES IS CAUSED BY HAMMER MISFIRES OR BY HAMMER BOUNCE. 3031 3032 3033 3034 3038 (3) :THE PURPOSE OF THIS TEST IS TO DETECT SPURIOUS HAMMER FIRINGS AND DEFECTIVE ;HAMMER DRIVERS DURING THE OPERATION OF THE LINE PRINTER. THE PROGRAM ;PRODUCES A LEFT WEDGE PATTERN CONSISTING OF 132 LINES OF PRINT WITH EACH sLINE BEGINNING WITH A *"2'' CHARACTER. ANY POINT OUTSIDE THE WEDGE 026330 026330 BGNTST 3040 3042 026330 OUTPUT #HAMF IR, #25. ;:OUTPUT THE ACTUAL WEDGE AT THIS POINT 3046 026364 (S) 026372 (4) (7) (5) (5) (7) 3047 3049 (4) 3050 (4) (6) 026364 026374 026374 026400 012737 000402 005237 000001 ~ 002736 026400 023727 002736 026406 026410 026410 026414 026414 026422 012737 163737 . 50272%: 50271$: MOV #1,WORK INC WORK cMP WORK , #132. BR 8GT 50271% 50273$ 026654 026654 := #OUTBUF LET SPCCNT ;OUTPUT BUFFER POINTER := #132. MOV ;NUMBER OF SPACES TO FILL IN MOV sus - WORK #OUTBUF ,R4 #132. ,SPCCNT WORK , SPCCNT sFILL THE OUTPUT BUFFER WITH THE REQUIRED NUMBER OF SPACES (4) 026450 005037 002270 (4) 026454 012737 000077 026462 012737 000041 (4) , LET R4 002742 : 000204 002736 026430 026430 026430 026434 026436 026436 026442 026442 026446 026446 026450 3060 sNUMBER OF LINES TO OUTPUT ;ALSO NUMBER OF PRINTING CHARACTERS 3054 (4) (6) (9) 3055 (4) 3056 (6) 3057 (4) (3) 3059 TO #132. BY #1 000204 003077 012704 INCR WORK FROM #1 002736 3052 3058 T2:: :PRINT THE TEST HEADER 3044 (4) 12. : 026450 026454 026462 WHILE SPCCNT NE #0 DO 005737 001405 026654 112724 000040 005337 026654 , LET (R4)+ :B= #40 LET SPCCNT := ENDDO 000770 LET CCNT := #0 ' 002274 002272 ' , 50274%: sSPACE FILL SPCCNT - #1 MOvB sUPDATE FILLER COUNTER DEC ' BR 50275%: LET CHRGEN := #77 ;FIRST CHARACTER A '7"' LET STRCNT ;# OF CHARACTERS IN GROUP := #33. : TST BEQ ' ' SPCCNT 50275% #40, (R4)+ SPCCNT 50274% CLR CCNT MOV #77 ,CHRGEN MOV #33. ,STRCNT CZLPLAQ LP25 TEST CZLPLA.PT 3061 (4) (6) (9) 3062 (6) (9) 3063 3382§ 3066 (4) 3067 (4) 3068 (4) 3069 (4) 3070 (6) 3071 (6) 3072 (6) 3073 (4) (3) MACY11 SOA(‘IOSZ) 01-0CT=79 09:25 026470 026470 026500 026504 005737 026522 026522 026522 026526 026526 026532 026532 026536 026536 026542 026542 026544 (4) 3078 026544 026544 026550 3082 (4) (3) 026604 026604 026606 3084 (4) 3085 3086 026606 026606 026614 026650 (3) 026652 001006 012737 000041 002272 012737 000077 002274 113724 002274 005237 002274 005237 002270 005337 002272 CMP BGE CCNT , WORK 50277% ST STRCNT MOov ) #33.,STRCNT MoV #77 ,CHRGEN MOvB . CHRGEN, (R4) + INC CHRGEN INC CCNT LET STRCNT := #33, LET CHRGEN := #77 BR 50276% MOvB #12,(R4)+ 503008 : LET (R4)+ :B= (HRGEN LET CHRGEN := - CHRGEN + #1 LET CCNT := CCNT + M : _LET STRCNT := STRCNT - # ENDDO 000752 50300% GROUP POINTERS AND COUNTERS ENDIF - 026650 112724 ;UPDATE POINTERS AND COUNTERS DEC STRCNT ~ LET (R4)+ 000012 ;OUTPUT THE 50277%: :B= #12 END INC 000673 012737 50273$: 000014 002742 104432 LET OUTBUF := #14 OUTPUT #OUTBUF 41 EXIT TST 026672 JEND OF TEST FORMFEED 4 000000 . SPCCNT: 050 123 051525 042515 051125 044040 020122 047511 046501 044506 AND HEADER'FOR TEST PRINTOUT .WCRD 0 sTEST HEADER. 8%2222 ‘ 000036 ;COUNTERS, POINTERS, TEXT BUFFER, 026654 | LINE OUTPUT #OUTBUF ,#133. 3092 3094 ;JNOW FILL IN REST OF BUFFER 50276$: BNE 3088 3090 SEQ 0102 sNOW SET UP LINE TERMINATOR AND OUTPUT THE LINE. 3080 {3) 8 IF STRCNT EQ #0 THEN 002272 JRESET 026506 026506 026514 026514 026522 PAGE 30—1 PURICUS HAMMER FIRING 026470 023737 002270 002736 026476 002022 026500 09:27 WHILE CCNT LT WORK DO 3075 3077 0‘|°OCT~79— HAMFIR: .ASCIZ MESSAGE /SPURIOUS HAMMER FIRING/<12><12><12> BR MOV TRAP .WORD " 50272% #14 ,OUTBUF CSEXIT L10025~-. SEQ 0103 MACY11 30A(1052) 01-0CT=79 09:27 PAGE 30‘2 CZLPLAO LP25 TEST CZLPLA.PIT 01-0CT=79 09:25 PURIOUS HAMMER FIRING 026706 000012 026700 044522 043516 o 501 ‘. . .EVEN 026710 026710 026710 3102 026712 ENDTST 104401 ENDMOD L10025: TRAP CSETST MACY11 30A(1052) 01-0CT=79 09:27 CZLPLAO LP25 TEST PRINT CONTROL CZLPLA.PT 01-0CT=79 09:25 PAGE 31 N SEQ 0104 .SBTTL PRINT CONTROL 026712 BGNMOD ;THIS TEST CHECKS THE PRINT CONTROL BY SENDING MORE THAN 132 CHARACTERS ;BEFORE SENDING A PRINT COMMAND. ALL CHARACTERS IN EXCESS OF 132 CHARACTERS ;SHOULD BE DISREGARDED. EACH LINE OF THE OUTPUT CONSISTS OF THE SEQUENCE OF sNUMBERS ‘"123456789'' FOLLOWED BY A SERIES OF UNDERSCORES AND SHOULD END IN THE *SEQUENCE '012°' IN COLUMNS 130 THRU 132. DN O b b b s (N = e b b b S N A T hr—a S8 144 026712 026712 BGNTST 13, 026712 OUTPUT #PRTCTL, #16. 026746 026746 026754 026756 026756 026762 026762 026766 DECR LINCNT FROM #31. TO #0 BY #1 ;PRINT TEST IDENTIFICATION T18:: ;PRINT 32 LINES, CHARACTER STRING ON EACH LINE SHOULD END IN 123 012737 000402 000037 005337 002264 005737 002417 002264 002264 : 503028 50301$: MOV BR #31. ,LINCNT DEC L INCNT TST BLT L INCNT 50303% 50301$ LOAD THE PRINT BUFFER WITH 139 CHARACTERS AND A LINEFEED ; ONLY THE FIRST 132 CHARACTERS SHOULD PRINT. 026770 027024 027024 000754 012737 027072 027074 027102 027110 313 3132 ENDDEC 000014 002742 104432 000240 LET OUTBUF := #14 OUTPUT #QUTBUF, #1 EXIT TST 50302% 50303%: MOV #14 ,0UTBUF TRAP CSEXIT L10026~. .WORD 051120 047503 005114 061 033466 057537 057537 057537 057537 057537 057537 057537 057537 057537 057537 137 057537 057537 OUTPUT #CTLBUF, #140. 057537 020124 047522 000 032464 057460 057537 057537 057537 057537 057537 057537 057537 057537 057537 137 057537 057537 057537 PRTCTL: .ASCIZ /PRINT CONTROL/ <12><12><12> CTLBUF: .ASCII /1234567890 LASCIT /7 LASCIT 7 CZLPLAO LP25 TEST MACY11 30A(1052) 01-0(T1=79 09:27 PRINT CONTROL .PI CZLPLA 01-0CT=79 09:25 057537 057537 B e A P gt SVBLCIYR AR WWWW SEQ 0105 0575§7 0 3133 WNWWW PAGE 31-1 LASCIZ 7 0123456789/<12> .EVEN 027332 027332 027332 027334 ENDTST 104401 ENDMOD L10026: TRAP (SETST MACY11 30A(1052) CZLPLAO LP25 TEST 01-0CT=79 09:27 CZLPLA.PI 01-0CT=79 09:25 CRITICAL PATH 3142 3143 3144 (2) .SBTTL 027334 027334 BGNMOD STARS PAGE 32 E 9 SEQ 0106 CRIiTICAL PATH ::'.Q""..Q'.Q.'QQ.Q..."'...Q..t....'."."Q-Q.."'QQ'..-'Q..QQ Aol sTHIS TEST ATTAINS THE HIGHEST POSSIBLE PRINTING SPEED BY SELECTING ;A DATA PATTERN WHICH EXERCISES THE PRINTER AT THE MAXIMUM DUTY CYCLE OF ;THE HAMMERS,THE TIMING LOGIC, AND THE POWER SUPPLY. A TOTAL OF 32 LINES sLINES OF A WORST CASE PATTERN ARE PRINTED. STARS ::ttt'..'.'t.fi'......l't'.'....t'tQQQ.QQQ.'QQQ'Q.'.."'QQQ'Q'QQ.. BGNTST 14, T14:: OUTPUT #CRTPTH, #16. 005737 001004 002246 012737 027634 IF CHRBND EQ #0 THEN 027610 000403 027414 027414 012737 030014 027610 LET PTHPNT := #TAB64 ELSE LET PTHPNT := #TAB96 ENDIF ;FIRST TEST FOR 64 CHARACTER BAND :SET UP PATTERN TABLE ST CHRBND MOV , PTHPNT #TABGL BNE 50304% 50305% 50304%: ;ELSE SET UP FOR 96 CHARACTER BAND , PTHONT #TABS6 MOV 50305%: SOUTPUT 32 LINES OF WORST CASE PATTERN 027414 027414 027422 012737 000402 000001 005237 002264 023727 003041 002264 005737 001017 002246 000416 027540 027540 027540 027540 027542 002264 INCR LINCNT FROM #1 TO #32. BY #1 50307%: 50306$: 000040 IF CHRBND EQ #C THEN ELSE OUTPUT PTHPNT ,#124. 000731 END INC #1,L INCNT INC L INCNT P BGT LINCNT ,#32. 503108 ST CHRBND BR BNE OUTPUT PTHPNT,#110. ENDIF MOV 50311%: 50306% 50311% BR 50312% BR 50307% : 503128 50310%: ) MACY11 30A(1052) 01-0CT=79 09:27 CILPLAO LP25 TEST CZLPLA.PIT CRITICAL PATH 01-0CT=79 09:25 027542 027542 027550 012737 000014 LET OUTBUF 002742 ) PAGE 32-1 9 := #14 OUTPUT #OUTBUF ,#1 EXIT TST 104432 000402 027610 PTHPNT: .WORD O 027612 CRTPTH: .ASCIZ /CRITICAL PATH/<12><12><12> 3192 3193 3194 3195 NNOWVMW=0 NN NO = =N O - §U’|V'\J RuRRzaeas 2358 N =OVNO &N 106 —_ OO R wnrown 319 NOOWVW=0nnN W N= =WV 3190 S:‘[—'Nl\&wb & TR ST AL \ASW\ANN TM, | N8B N=NWOO 3189 — 3188 o_a..oo_a_a?_ao 28 W g g n —_—— EEZE?HARACTER BAND PATTERN ams: T e B T TN gt (B TER B 111 BYTE 067,061,132,114,137,115,045,060,127,111,067 BYTE 061,132,114,137,115,045,063,046,120,052,121 BYTE 072,123.057.115,045,063,046,120,052,121,072 .BYTE 123.057.125,055.066.076.130.056.131.100.123 BYTE 057,125,055.066.076, 130,056, 131,100,070, 042 .BYTE 053,124,071,042,051,136,131,100,070,135,053 BYTE 124,071,042,051,136,050,075,054,041,044,062 .BYTE 073,101,051,136,050,075,054,041,044,062,073 .BYTE 101,074,102,077,064,105,106,133,065,015,012,000 SEQ 0107 MOV #14,0UTBUF MACY11 30A(1052) 01-0(7=79 09:27 (ZLPLAQ LP25 TEST CZLPLA P11 CRITICAL PATH 01-0CT=79 09:25 0306010 015 012 E.9 PAGE 32-¢ 000 J30014 .EVEN - o =i W= OO NS —= =08 BYTE 062,137,114,044,116,046,117,051,121,072,122 BYTE 071,126,073,116,046,117,057,121,072,122,071 BYTE 124,073,125,145,127,077,066,136,132,133,124 BYTE 073,125,145,127,077,066,136,132,133,067,042 BYTE 045,040,070,075,050,041,132,133,067,042,045 .BYTE 040,070,075,050,041,057,047,053,175,076,176 3211 -.BYTE 0?4.056.050.041.057.047,053.175,076.176,074 3212 .BYTE 056,100,140,135,060,134,143,054,061,040,040 3213 .BYTE 040,040,040,060,040,040,040,040,040,040,040 .BYTE .150,015,012 3207 3208 3209 3210 3214 3215 3216 3217 \hWOONN\JU’l\g\Ju 3206 RAIRRASINvan S 3205 — 131,062,137,114,044,116,046,061,130,111,131 - BYTE N=N UKW BYTE 1017064, 103, 123,060,083, 106,126, 061,130,111 WNN NNV AB96: £ Wi w—. e L= ) A= I Yo RS Q—a—-—a.a..a—a KRS ¥, —-wugwo SN Py qug NSNS =NONNN=ON =0 NWW 196 CHARACTER TABLE 070 00 030203 030205 .EVEN SEQ 0108 CZLPLAO LP25 TESY (ZLPLA.P11 3218 (i) (3) 3219 3220 01-0(T1=79 09:25 030210 030210 030210 030212 MACY11 30A(10520 01-0(T=79 CRITICAL PATH ENDTST 104401 ENDMOD - 09:27 PAGE F. 32-3 9 : L10027: , TRAP (SETST SEQ@ 0109 (ZLPLAO LP25 TEST MACY11 30A(1052) 01-0CT=79 09:27 PAGE 33 CZLPLA.P11 01=0CT=79 09:25 MULTIPLE LINE ADVANCE 3222 3 3335’; .SBTTL 030212 ;THIS TEST CHECKS THE MULTIPLE LINE ADVANCE OF THE LINE PRINTER. A LINE OF sJNUMBERS IS PRINTED AND THEN THE PAPER IS ADVANCED THAT NUMBER OF LINES. THUS THE sNUMBER PRINTED WILL INDICATE THE NUMBER OF BLANK LINES FOLLOWING THAT sLINE. THE NUMBER OF LINES IS VARIEC BETWEEN 2 AND 7 AND A LINE OF ;ALL O'S WILL INDICATE THE END OF THE TEST SEQUENCE. ' BGNTST 3536 030212 3240 (4) 030246 030246 3242 (3) 3243 030254 030254 3244 030262 3245 030254 012737 030500 117737 000216 030262 013746 002264 030276 042716 062637 012737 000402 000001 005237 002270 023727 002270 000204 117723 000144 . (4) (3> 3249 030316 030324 030326 030326 030332 030332 030334 030334 (4) 030334 (4) 030336 (9) 030342 3250 (6) 030336 030336 3251 030344 3252 030350 (4) (6) 3253 003003 INCR CCNT FROM #1 002270 . 001404 112723 030350 005204 ! 002264 000012 MOVB TO OCTAL MOV ;SET UP OUTPUT BUFFER TO #132. BY #1 - . : 50315$: : 50314$: LET (R3)+ :B= QSTA(CHR END INC LET R4 := #0 005004 030344 030352 ' 000767 020437 := LINCNT AND #7 :MAKE THE ASCII LET R3 := #OUTBUF 030302 030310 (7) 3247 (4) 3248 ;GET A CHARACTER TO OUTPUT , (4) (5) (5) LET LINCNT 000007 002264 002742 030312 030312 030316 MOV - ' LET (R3)+ LET R4 ENDDO : ! ;PUT CHARACTER : : ‘ WHILE R4 NE LINCNT DO #TABSTR,STACHR 50313$: LET LINCNT :B= @STA(CHR 002264 012703 030302 sOUTPUT (HARACTERS : REPEAT 030254 030266 030272 LET STACHR := #TABSTR 030476 030276 (4) (7) (5) T15:: OUTPUT A#MUL INE ,478. (4) 3246 15, :PRINT TEST IDENTIFICATION 3238 (6) (6) MULTIPLE LINE ADVANCE M 030212 2 (6) SEQ 0110 BGNMOD 3226 3227 3228 3229 3230 (4) 9 G ' :B= #12 503168 : : JFILL WITH LINE FEEDS _ := R4 + M1 , , LINCNT ,=(SP) BIC BIC #7,(SP) (SP)+,L INCNT MOV #OUTBUF ,R3 MOV B8R #1,CCNT 503148 INC CONT CMP CCNT,#132. BR 50315$% CLR R4 CMP R4, L INCNT MOVB #12,(R3)+ INC R4 BGT 50316% IN OUTPUT BUFFER MOVB @STACHR, (R3) + 50317$: : @STACHR.L INCNT BEQ 505208 MACY11 CZLPLAQ LP25 TEST CZLPLA.P1T 01=0CT=79 09:25 030352 030354 30A(1052) 01-0CT=79 H 09:27 PAGE 33-1 SEQ 0111 MULTIPLE LINE ADVANCE 000771 _ 030354 030360 013704 062704 002264 000204 030364 005237 030476 030422 030426 005737 001372 002264 030430 012737 000014 030472 030474 104432 000140 LINE LET R& := LINCNT + #132, sNUMBER OF CHARACTERS TO OuTPUT LET STACHR := STA(HR + #1 ; UPDATE (HARA(TER COUNT OUTPUT #0UTBUF ,R4 . ;OUTPUT THE LINE UNTIL LINCNT EQ #0 002742 50317% 503208 : sNOW OUTPUT THE ACTUAL 3273 3274 3275 3276 3277 3278 (3) (3) 3279 3280 9 LET OUTBUF := #1714 OUTPUT #0OUTBUF ,#1 EXIT TST : MOV R4 L INCNT INC STACHR TST BNE L INCNT MOV #14 ,0UTBUF TRAP .WORD STACHR: .WORD 0 #132. R4 50313 CSEX]IT L10030-. _ 033062 032463 033463 030064 TABSTR: .ASCIZ 7272637463540/ 046125 020105 040440 042503 046525 050040 042105 042522 021440 051505 042516 047111 04711 000012 044524 044514 053104 012 042502 044522 051040 042523 MUL INE: .ASCII /MULTIPLE LINE ADVANCE/<12> LASCIZ /NUMBERS PRINTED REPRESENT # LINES TO NEXT LINE PRINTED/<12><12> 042524 .EVEN ENDTST 030636 ENDMOD L10030: TRAP CSETST MACY11 CZLPLAQ LP25 TEST CZLPLA.PIT 01=0CT=79 09:25 3282 3283 3284 3285 30A(1052) 01-0CT=79 09:27 PAGE 34 CHARACTER AL IGNMENT .SBTTL 030636 BGNMOD I 9 SEQ 0112 CHARACTER ALIGNMENT Dee . sTHIS TEST (CHECKS CHARACTER ALIGNMENT BY OVERPRINTING LINES OF ALTERNATING ;E'S AND SPACES. THE STARTING (HARACTER OF EACH LINE IS ALSO ALTERNATED TO ;PRODUCE A CHECKERBOARD PATTERN. ' - BGNTST 16. sPRINT TEST : IDENTIFICATION T16:: OUTPUT #CHRALN, #22. ;PRINT 48 LINES OF ALTERNATING "E''S AND ‘'SPACE'"S 012737 000030 005737 003002 002264 000137 031312 002264 1%: 2%: LET LINCNT - := #24. ' : IF LINCNT LE #0 THEN ENDIF 031010 031044 031044 031052 012737 000015 000012 002742 002742 031204 031240 031240 #24. L INCNT TST L INCNT JMP 3% MOV #15,0UTBUF MOV #12,0UTBUF MOV #15,0UTBUF MOV #12,0UTBUF DEC L INCNT JMP ’% MOV #14 ,0UTBUF . 50321% 50321%: "E'"TMS AND ''SPACE'"S OUTPUT #OUTBUF ,#1 ;OVERPRINT LINE OUTPUT #ESPSTR,#132. LET OUTBUF := #12 OUTPUT #OUTBUF ,#1 ;NOW THE ALTERNATE PATTERN ;LOAD BUFFER WITH ALTERNATING STRING OF "E'"S AND ‘‘SPACE'"S OUTPUT #ESPSTR+1,#132. 031106 031142 031142 031150 OUTPUT W#ESPSTR,#132. JPRINT LINE LET OUTBUF := #15 MOV BGT INLINE <JMP 3%> ;1LOAD BUFFER WITH ALTERNATING STRING OF 012737 ' ;PRINT LINE 012737 000015 012737 000012 005337 002264 000137 030700 012737 000014 044103 051101 LET OUTBUF 002742 002742 OUTPUT #OUTBUF ,#1 ;OVERPRINT LINE OUTPUT #ESPSTR+1,#132. LET OUTBUF := #12 041501 » F 41 OUTPUT AOUTBU LET LINCNT := LINCNT - #1 INLINE <JMP 002742 := #15 3%: LET OUTBUF 2%> := #14 OUTPUT #OUTBUF ,#1 EXIT TST CHRALN: ,ASCIZ /CHARACTER ALIGNMENT/<12><12><12> TRAP .WORD (s L1 J 9 MACY11 30A(1052) 01-0CT=79 09:27 PAGE 34-1 CZLPLAQ LP25 TEST CZLPLA.PIT 01-0CT=79 09:25 CHARACTER AL IGNMENT 3323 3324 3325 031 031374 031402 031407 031412 031415 031420 031423 C31426 031431 031434 031437 031442 031445 031450 031453 031456 042524 043511 005126 105 040 105 040 105 040 105 040 105 040 105 040 105 040 020122 046516 005012 040 105 040 105 040 105 040 105 040 105 040 105 040 105 046101 047105 000 105 040 105 040 105 040 105 040 105 040 105 040 105 040 031472 031475 040 105 105 040 105 040 105 040 105 040 105 040 105 040 105 040 105 040 105 040 105 040 105 040 105 040 105 040 105 040 105 031461 031464 031467 3326 3327 3328 3329 3330 3331 3332 (3) (3) 3333 031500 031503 031506 031511 031514 031517 031522 031525 031530 031533 031536 031541 031544 031547 031552 031555 031560 031563 031566 031571 031574 031577 031602 031605 031610 031613 031614 031614 031614 031616 105 040 105 040 105 040 105 040 105 040 105 040 105 040 105 040 105 040 105 040 105 040 105 040 105 040 105 040 105 104401 040 105 040 - ; : ESPSTR: .BYTE 105,40,i05.40,105.40.105.40.105.40.105.40.105.40,105.40.105.40 ESPST1: .BYTE 105.40.105.40.105.40.105.40.105.40,105.40,105.40.105,90.105.40 ESPST2: .BYTE 105,40,105,40,105,40,105,40,105,40,105,40,105,40,105,40,105,40 ESPST3: .BYTE 105,40,105,40,105,40,105,40,105,40,105,40,105,40,105,40,105,40 ESPST4: BYTE 105,40,105,40,105,40,105,40,105,40,105,40,105,40,105,40,105,40 ESPSTS: .BYTE 105,40,105,40,105,40,105,40,105,40,105,40,105,40,105.,40,105,40 ESPST6: .BYTE 105.40.105,40.105.40,105.40.105.40,105.40,105.40,!05;40.105,40 ESPST7: .BYTE 105,490,105,40,105,40,105 105 040 105 040 105 0490 105 040 105 040 105 040 105 040 105 040 105 040 105 040 105 040 105 040 105 040 105 040 .EVEN ENDTST ENDMOD L10031: TRAP CSETST SEQ 0113 : CZLPLAOD LP25 TEST MACY!1 30A(1052) 01-0CT=79 09:27 PAGE 35 CZLPLA.PI 01-0CT=79 09:25 INTERRUPT SERVICE ROUTINES 3335 333 031616 .SBTTL ~ ’ 3340 3341 3342 3343 3344 3345 3346 3347 3348 3349 3350 3391 3352 (4) (4) (3) (5) (3) (4) (4) (3) (5) (3) (4) (4) (3) (5> (3) (4) (4) (3) (5) (3) (4) (4) (3) (5) (3) (4) (4) (3) (5) (3) (4) (4) (3) (5) (3) (4) (4) (3) INTERRUPT VECTORS ARE ESTABLISHED DURING INITIALIZATION POINTING TO THE BASIC ROUTINES WHICH 000000 000020 SETPRI #PR104 PUSH R2 ‘ X=X+2 031616 031622 0316246 031626 031632 031636 031642 031644 031646 031652 031656 031662 031664 031666 031672 031676 031702 031704 031706 031712 031716 031722 0317246 031726 031732 031736 031742 031744 031746 031752 031756 031762 031764 031766 031772 031776 032002 032004 012700 104441 010246 012702 000137 012700 104441 010246 012702 000137 012700 104441 010246 012702 000137 012700 104441 010246 012702 000137 012700 104441 010246 012702 000137 012700 104441 010246 012702 000137 012700 104441 010246 012702 000137 012700 104441 010246 SEQ 0114 :SET UP THE UNIT NUMBER CAUSING THE INTERRUPTS. SLINE NUMBER IS RETURNED IN R2 3 ;o X=0 INTOO: .REPT 16. . 031616 9 INTERRUPT SERVICE ROUTINES BGNSRV 3339 K 000200 4 LET R2 := #X INLINE <JMP IODRV> .ENDR ' MOV . 000000 004166 000200 ' ; 000002 004166 000200 TRAP MOV MOV JMP MOV TRAP MOV MOV JMP MOV ' : 000004 004166 000200 ' ‘ ~ ' ; 000006 Q04166 000200 000010 004166 000200 . . : , . 000012 004166 , ' . : 000200 000014 004166 000200 : ! TRAP MOV MOV JMP MOV y TRAP MOV MOV JMP MOV TRAP MOV MOV JMP MOV TRAP MOV MOV JMP MOV TRAP MOV MOV JMP MOV TRAP MOV #PR]104 RO C$SPRI R2.-(SP) #X,R2 I0DRYV #PR104 RO C$SPRI R2,=(SP) #X,R2 I0DRV #PR104 RO C$SPRI R2.-(SP) #X,R2 ]ODRV #PR]104 RO CS$SPRI R2.-(SP) #X,R2 I10DRYV #PR104 RO C$SPRI R2.-(SP) #X,R2 10DRV #PR104 RO C$SPRI R2.-(SP) #X,R2 10DRV #PR104 RO CS$SPRI R2.~(SP) #X,R2 I0DRV #PR]104 RO C$SPR] R2,=(SP) . CZLPLAO LP25 TEST MACY11 30A(1052) 01-0CT=79 09:27 PAGE 35-1 CZLPLA.P11 ~ 01-0CT=79 09:25 INTERRUPT SERVICE ROUTINES (5) (3) (4> (4) (3) (5) (3) (4) (4) (3) (5) (3) (4) (4) (3) (5) (3) (4) (4) (3) (5) (3) (4) (4) (3) (5) (3) (4) (4) (3) (5) (3) (&) (4) (3) (5) (3) (4) (4) (3) (5) (3) 032006 032012 032016 032022 032026 032026 032032 032036 032042 032044 032046 032052 032056 032062 012702 000137 012700 104441 010246 012702 000137 012700 104441 010246 012702 000137 012700 104441 000016 004166 000200 SEQ 0115 MOV JMP MOV TRAP MOV MOV : 000020 004166 000200 - JMP MOV TRAP ' 000022 004166 000200 . R2.-(SP) #X,R2 I10DRV #PR104,RO #X,R2 I10DRV #PR104 RO TRAP 000024 004166 000200 MOV MOV JMP MOV 032106 032112 032116 012702 000137 012700 000026 004166 000200 MOV JMP MOV 0321246 032126 032132 032136 010246 012702 000137 012700 032122 032142 032144 032146 104441 032152 104441 010246 012702 000137 032162 032164 104441 010246 032156 012700 032166 032172 032176 012702 000137 012700 032204 110246 032202 032206 032212 104441 012702 000137 000030 004166 000200 TRAP MOV : ’ TRAP _ MOV MOV JMP MOV : 000032 004166 . 000200 ' : 000034 004166 000200 000036 004166 | . ($SPRI R2.=(SP) ($SPRI R2.-(SP) #X,R2 10DRV #PR104 RO (S$SPRI R2.-(SP) #X,R2 I0DRV TRA® MOV ($SPR] R2,=(SP) #PR]04 ,RO MOV JMP MOV #X ,R2 I0DRV #PR104 RO MOV R2.-(SP) TRAP _ ($SPRI TRAP MOV MOV JMP MOV - ($SPRI R2,=(SP) #X,R2 10DRY #PR104 RO 010246 012702 000137 012700 104441 010246 I10DRV #PR104,RO MOV MOV JMP MOV 032064 032066 032072 032076 032102 032104 X ,R2 10DRV #PR]04 RO ($SPRI] R2,=(SP) #X,R2 MOV JMP ($SPRI #X,R2 I0DRV M9 MACY11 30A(1052) 01-0CT=79 09:27 PAGE 35-2 CZLPLAO LP25 TEST CLOCK SERVICE ROUTINE CZLPLA.PT 01-0CT=79 09:25 SEQ 0116 .SBTTL CLOCK SERVICE ROUTINE A ;UPDATES THE COUNTER AT A RATE OF 16.67 MILLISECONDS PER TICK sAND UPDATES A SECOND COUNTER WHEN THE FIRST OVERFLOWS. 032216 012700 104441 BGNSRV CLKTCK: 000300 005737 001005 032272 012737 000074 005237 032270 SETPRI #PRI06 IF TICK EQ #0 THEN LET TICK := #60. 032272 LET TIME LET TICK := TICK - #1 005337 032272 023727 001003 002306 000002 012777 000100 150024 ;60 TICKS PER SECOND 50322%: ;BACK UP SECOND TIMER IF CLKTYP EQ #2 THEN LET @CLKCSR := #7100 ENDIF EXIT TIME: TICK: .WORD .WORD 0 0 L10033: #PR106,R0 C$SPRI TICK 50322% MOV #60.,TICK INC TIME DEC TICK CMP CLKTYP, #2 50323% MOV #100,aCLKCSR 50323%: 000002 000000 TST := TIME + M ENDIF ENDSRV 032270 032272 MOV TRAP RTI MACY11 30A(1052) 01=0CT=79 09:27 PAGE 36 CZLPLAD LP25 TEST CZLPLA.PIT 01-0CT=79 09:25 SEQ 0117 HARDWARE PARAMETER SECTION .SBTTL 032274 BGNMOD HARDWARE PARAMETER SECTION e sTHIS SECTION INCLUDES THE QUESTIONS WHICH REQUEST ;FURNISH THE HARDWARE sP-TABLES. INFORMATION NECESSARY THE OPERATOR TO TO BUILD THE HARDWARE BGNHRD 000010 LSHARD:: 000031 ?32316 60000 GPRMA GETADR,0,0,160000,177516,YES GPRMA GETVEC,2.,0,110,770,YES 177516 001031 032333 .WORD L10034~L$HARD/2 .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD 032316 ENDHRD 032316 032316 050114 042104 030461 042522 040440 051523 GETADR: .ASCIZ /LP11 051105 053049 000122 GETVEC: .ASCIZ /INTERRUPT VECTOR/ 041505 052116 052120 047524 000 1m 052522 .EVEN ADDRESS/ TS$(ODE GETADR TSLOLIM TSHILIM TSCODE GETVEC TSLOLIM TSHILIM 8 10 MACY11 30A(1052) 01-0CT1-79 09:27 PAGE 37 01-0CT1-79 SOF TWARE PARAMETER SECTION :25 CZLPLAO LP25 TEST CZLPLA.PT i .SB"L SEQ 0118 SOF TWARE PARAMETER SECTION 00 §°§ THIS SECTION INCLUDES THE QUESTIONS WHICH REQUEST THE OPERATOR TO FURNISH ;THE SOF TWARE INFORMATION NECESSARY TO BUILD THE SOF TWARE P-TABLES. &’ 000031 (4) (4) (4) 000130 032440 000001 3407 3408 3409 BGNSF T MGTINT,0,1,YES (4) (4) T$CODE GETBND,2,1,YES T$CODE ?E TBND : 3410 %1 .WORD L10035-L$SOFT/2 1&571'47 001130 032476 000001 (4) LSSOFT:: 002130 032520 (4) (4) (4) 3412 T$CODE ?E TDAV (4) (4) (4) (4) (4) 004052 032621 000377 000004 000074 (4) (4) (4) 3415 (4) 005130 032706 000001 3413 3414 GETMAN,6,1,YES T$CODE ?ETHAN i (4) (4) 003130 032547 000001 (4) : 000001 GETTIM,10,D,377,4,60. ,YES T$CODE GETTIM 377 IM TSLOL TSHILIM GETPLA,12,1,YES T$CODE ?ETPLA GETMAX,14,D,377,1,255.,YES 006052 032727 000377 T$CODE GE TMAX 377 TSLOL IM TSHILIM 000377 032440 ENDSFT L10035: T —_— N=NOOO —_—— 042524 RSRSRR 120 104 —_ NN 052522 033071 040504 538583 032440 032476 032520 032547 032621 032706 SSSRRS 032440 NLIST BEX MGTINT: LASCIZ : LASCIZ GETBND GETDAV: LASCIZ GE TMAN: .ASCIZ GETTIM: LASCIZ GETPLA: LASCIZ /RUN MANUAL INTERVENTION TESTS/ /96 CHARACTER BAND/ " /DAVFU OPTION INSTALLED/ /PERFORM MANUAL PRINTING SPEED MEASUREMENT/ /DESIRED TIME INTERVAL FOR PRINTING SPEED CALCULATION/ /TESTING IN U.S.A/ 09:27 PAGE 3721 0 1 SEQ 0119 032727 101 032754 033014 000020 033014 000000 052125 042117 GETMAX: .ASCIZ LIST BEX /AUTODROP ERROR COUNT/ PATCH: 20 LASTAD LSLAST:: 000001 ENDMOD .END .BLKW .EVEN . WORD QO R s3 BN wASEECE NN MACY11 30A(1052) CZLPLAO LP25 TEST 01-0CT1=79 CZLPLA.PT C1-0CT1=79 09:25 SOF TWARE PARAMETER SECTION CZLPLAO LP25 TEST MACY11 30A(1052) 01-0CT=79 09:27 CZLPLA.PIT 01-0CT=79 09:25 SYMBOL TABLE ACTIVE= 100000 ADR = 000020 G BUFADD BUFCNT 002334 002336 BIT01 = 000002 G CHRBND 002246 ASSEMB= 000010 AUTCON 024053 BANDSW 011212 BITO = 000001 G BIT00 = 000001 G BITO2 BITO3 = 000004 G = 000010 G CCNT CHAR CHARSP CHARX CHRALN CHRGEN K1 002270 022702 022272 022273 031360 002274 005426 BITO4 = 000020 G BITO5 = 000040 G BITO6 = 000100 G BIT07 = 000200 G BIT08 = 000400 G BITO9 = 001000 G BIT1 = 000002 G BIT10 = 002000 G BIT11 = 004000 G BIT12 = 010000 G BIT13 = 020000 G BIT14 = 040000 G BIT15 = 100000 G BIT2 = 000004 G BIT3 = 000010 G CLEAN CLKCSR CLKENA CLKSET CLKTCK CLKTYP CLKVEC CLOCKP CRTPTH CSRERR CTLBUF CTLEND CTLLOP CURADD CURCNT BNDCT2= 000367 BNDPAT 015152 BNDRDY 011347 BNDSWI 003340 BNDSW1 011300 BNKSWI 003273 BOE = G BP64 025346 BP64A 025466 CS$CLEA= 000012 C$CLOS= 000035 C$CLP1= 000006 CSCVEC= 000036 CSDCLN= 000044 C$00DU= 000051 CSDRPT= 000024 CSDU = 000053 CSEDIT= 00000 BIT4 = BITS = BIT6 = BIT7 = BIT8 = BIT9 = BNDCNT= 000020 000040 000100 000200 000400 001000 000367 BP64B 025472 BP64C BP64D BPO4E BP64F BP64ID BP96A BP96B BP96C BP96D BP96IC 025 025613 025724 025730 025316 025736 026051 026056 026244 026251 025266 G G G G G G C$SAU_ = CSAUTO= C$8RK = ($8SEG= C$85uB= CSCEFG= C$CLCK= 006270 002312 002320 002314 032216 002306 002316 002310 027612 003170 027115 004650 004370 002534 002574 000052 00006 000022 000004 000002 000045 000062 CSERDF= 000055 CSERHR= 000056 CSERRO= 000060 CSERSF= 000054 CSERSO= 000057 C$ESCA= 000010 CSESEG= 000005 C$ESUB= C$ETST= C$EXIT= C$GETB= ($GETwW= 000003 000007 000032 000026 000027 PAGE 38 SEQ 0120 CSGMAN= 000043 CSGPHR= 000042 - : ESPST4 ESPSTS 031517 031541 GSOFSI= 000376 GSPRMA= 000001 FAKE 004764 GSRADL= 000120 FLAG 2262 C$GPLO= 000030 CSGPRI= 000040 C$INIT= 000011 CSINLP= 000020 CSMANI= 000050 ESPST? 031563 ESPST7 031605 EVL = 000004 G ESEND = 002100 ESLOAD= 000035 CSMSG = 000023 FFSET CSMEM = 000031 CSOPEN= 000034 CSPNTB= CSPNTF= CSPNTS= CSPNTX= C$QI0 = CSRDBU= CSREFG= CSRESE= CSREVI= CSRFLA= CSRPT = C$SEFG= C$SPRI= C$SVEC= C$TPRI= 000014 000017 000016 000015 000377 000007 000047 000033 000003 000021 000025 000046 000041 000037 000013 DATPTH 022703 DFPTBL 002232 G DIAGMC= 000000 DROPED= 000200 DROPIT 004656 EF .CON= 000036 G EF .NEW= 000035 G . FLSMSG FLSMS1 FLSSEL FRMLTH FSTMSG FSAU = FSAUTO= FSBGN = FSCLEA= FSDU = FSEND = F SHARD= F$HW = FSINIT= FSJMP = 013175 013251 (013343 012504 012306 020613 000015 000020 000040 000007 000016 000041 000004 000013 000006 000050 FSMOD = 000000 FSMSG = 000011 FSPROT= 000021 FSPWR = 000017 FSRPT = 000012 FS$SEG = 000003 F$SOF T= 000005 GSPRMD= 000002 GSPRML= 000000 GSRADA= 000140 GSRADB= 000000 GSRADD= 000040 GSRADO= 000020 GSXFER= 000004 GSYES = 000010 HAMF IR 026656 HAMRDY 011114 HAMRSW 010753 HAMSW1 011037 HOE = 100000 G IBE = 010000 G IDU = 000040 G IER = 020000 G INCDAT 017263 INCTBL 017617 INDEX 002330 INHINT 002244 INSTR 022216 INTERR 007134 INTERT INTHDL INTOO IOCTRL IODRV ISR = iXE = 003410 007164 031616 004330 004166 000100 G 004000 G EF .PWR= G EF .RES= 000037 G EF .STA= 000040 G ENDP64 025735 ENDP96 026325 END2 0071 END4 014454 ERRCOD 002322 ERRFLG 002324 F$SRV = 000010 F$SUB = 000002 F$SW = 000014 FSTEST= 000001 GETADR 032316 GETBND 032476 GETDAV 032520 GETFLG 017214 GETMAN 032547 ISAU = 000041 ISAUTO= 000041 ISCLN = 000041 ISDU = 000041 ISHRD = 000041 ISINIT= 000041 ISMOD = 000041 iMSG = 000041 ISPROT= 000040 ERRSVC ERRTBL ERRO6 ERRO7 ERR11 002674 002676 G 017502 017553 007172 GETPLA GETTIM GETVEC GSCNTO= GSDELM= ISPWR = ISRPT = I$SEG = I$SETU= I$SFT = 000041 000041 00004 000041 000041 ERR13 ESPSTR ESPST1 ESPST2 ESPSTZ 007331 031407 031431 031453 031475 I$SUB = I$TST = JSJMP = LCTMSG LCTiBL 000041 000041 000167 021016 020532 ERROR = ERR12 007246 GETMAX 032727 032706 032621 032333 000200 000372 GSDISP= 000003 GSEXCP= GSHIL1= GSLOLI= GSNO = GSOFFS= 000400 000002 000001 000000 000400 ISPTAB= 000041 I$SRV = 000041 E 10 MACY11 30A(1052) 01-0CT=79 09:27 CZLPLAO LP?S TEST SYMBOL T ABLE (ZLPLA.PT1 T 01-0CT=79 09:25 PAGE 38-1 LINCNT 002264 LINPER 015154 LINSWI 012340 LINSW1 012424 LOE = 040000 G LOT = 000010 G LPEUF 002434 LPCSR 002340 LPDROP 003732 LSPRIC LSPROT LSPRT LSREPP LSREV_ LSSOFT LSSPC_ LSSPCP LSSPTP 002042 002122 002112 002062 002010 032356 002056 002020 002024 024137 LPERR2 LPINTR LPM&4 LPMO6 LPVEC LSTONT LUNIT LSACP LSAPT LSAUT LSAUTO LSCCP LSCLEA LSCO LSDEPO LSDESC LSDESP 015142 002634 015547 015630 002400 002266 002 002110 G 002036 G 002070 G 002236 G 002106 G G 002032 G 002011 G 002172 G 002076 G LSSW LSTEST LSTIML LSUNIT L10001 L10002 L10003 110004 L10005 L10006 £L10007 L10010 L10011 L10012 L10013 10014 L10015 002244 002114 002014 002012 002236 002240 002262 006202 0064 007402 007162 007170 011450 013644 016326 017632 016644 LSDISP LSOLY LSOIP LSDTYP LSDUT LSOVTY LSEF LSENVI LSETP LSEXP1 LSEXP4 LSEXPS LSHARD LSHIME LSHPCP LSHPTP LS LSICP_ LSINIT LSLADP 002132 G 002116 G 002040 G 002034 G 002072 G 002222 G 002052 G 002044 G 002102 G 002046 G 002064 G 002066 G 032276 G 002120 G 002016 G 002022 G 002232 G 002104 G 005020 G 002026 G £10077 L10020 L10021 10022 L10023 L10024 L10025 L10026 £10027 L10030 L10031 L10033 L10034 L10035 MANSPD MAXERR MGTINT MOVMSG MOVMS1 MOVMS2 002100 G 002074 G 002050 G 002000 G MULINE NMLFLS NOCLCK NOINTR= LSLAST LSLOAD LSLUN (SMREV LSNAME 033020 G MRESET T (aalalalalalalalal 002030 TABSTR TAB64 TAB96 § 021224 022356 022734 023244 024612 026326 026710 027332 030210 030634 031614 032266 032316 032440 002252 002260 032440 073440 013535 013633 005731 030515 013103 006045 000003 REFLIN REFLIT 012772 [alalalalalalala NN AT~ 017212 nuunwunonnn L10016 SKIP3 2 002060 G REPLUP RESET RESVEC SPCCNT STACHR STATER= STATUS STRCNT SV(GBL= SVCINS= Sv(suB= SVCTAG= SVCTST= SSLSYM= TABAG4 TABA96 o W LSDEVP LSSTA REFLI2 SECMSG SFPTBL 3 LPERR NONCHR SEQ 0121 TSNS] = TSNS2 = TSPTNU= T$SAVL= T$SEGL= T$SUBN= 00000C T1$TAGL= TSTAGN= TSTEMP= 000000 TSTEST= 000020 T$TSTM= T$TSTS= XSALWA= X$F AL S= CZLPLAO LP25 TEST CZLPLA.P11 MACY11 30AC1052) 01=0CT=79 09:25 X$SOFFS= 000400 X$TRUE= 000020 $FSNO = 03 $¢soR = 000320 $FSDEC= 000220 $F$D0 = 000340 $FSFAL= 000405 $F$G00= 000400 $FSIF = 000110 $FSINC= 000210 $F$L00= 000200 $F SNAM= 000160 $FSWHI= $FSYES= SIFLEV= $15k0 = $15k1 = $15k2 = $15k3 = $15K4 = $BGNLE= 177777 $ERFLG= 000400 $F SAND= 000310 $F$8AD= 000401 $F$BLA= 000170 $F$CAS= 00015C . ABS. 033020 ERRORS DETECTED: 01-0CT=79 SYMBOL TABLE $FSRT1= 000350 $FSRTN= 000300 $FSSEL= 000140 $FSTHE= 000330 $FSTRU= 000404 $FSUNT= 000130 . 0001290 000402 177777 000001 000001 000001 000001 000001 000 O CZLPLA,CZLPLA.SEQ/DOC=SV(/ML ,SPMAC/ML,CZLPLA RUN-TIME: 319 295 2 SECONDS RUN-TIME RATiO: 1091/617=1.7 CORE USED: 24K (47 PAGES) DOCUMENT PAGES: 122 09:27 F 10 PAGE 38=2 $LOCTA= 177777 $LSTIN= 000001 $LSTTA= 000001 SNESTL= 177777 $NSKO = 000110 $NSK1 = 000120 $NSK2 = 000110 $NSK3 = 000120 $NSK4 = $NSKS = $SAVLE= $SSK0 = $TAGLE= $TAGNU= $TEMP = $TSKO = 000110 000110 177777 050320 177777 050324 050323 050323 SEQ 0122 $TSK1 = 050317 $T5k2 = 050320 $SLOCN= 000000 SSREG = 177777 $$8YTE= $SCASE= $$DST = $SELOC= $SERFL= $$FLAG= $$FROM= $$L0C = $$7G52= $$T0 = $$$TAG= . = $TSK3 = 050277 $T5K4 = 050300 $T5KS = 050161 $TSKE = 050162 $TSK7 = 050152 $$ARGC= 000000 000403 000404 000037 000402 000000 000001 000000 032256 $SRETU= 000000 $SRTN1= 000000 $SRTN2= 000000 $SSRC = 000027 $$TGSV= 050127 $$7GS1= 000003 000000 000000 050000 033020
Home
Privacy and Data
Site structure and layout ©2025 Majenko Technologies