1 1 2P02A 6/5/59 PAGE 1 * PRINTER INTERROW TIMING TEST 00030 ORG 24 00030 0766 00 0 01361 START WPRA 1 SPACE PRINTER 00031 0500 00 0 00200 CLA INITA RESTORE INCREMENT 00032 0601 00 0 00177 STO INCR 00033 0500 00 0 00201 CLA INITB RESTORE INITIAL 00034 0601 00 0 00050 STO DELAY DELAY. 00035 0500 00 0 00202 CLA INITC RESTORE FIRST 00036 0601 00 0 00105 STO LOCNA LOCATION. 00037 0500 00 0 00173 CLA PONE RESTORE PRINTER 00040 0601 00 0 00175 STO PAHD AHEAD DELAY. 00041 0600 00 0 00164 STZ SYNC CLEAR STORE AREAS. 00042 0600 00 0 00165 STZ TEMPA 00043 0600 00 0 00166 STZ TEMPB 00044 0600 00 0 00171 STZ ROW 00045 0600 00 0 00170 STZ VARD 00046 0774 00 2 00013 AXT 11,2 SET XRB FOR TIMING LOOP. 00047 0774 00 1 00000 GET AXT 0,1 RESET XRA 00050 0774 00 4 01204 DELAY AXT 644,4 SET XRC FOR DELAY * SET UP CONTROL WORD, SELECT PRINTER + LOOK * FOR 9 LEFT. 00051 0500 00 0 00163 CLA CW PUT CTRL WORD 00052 0601 00 0 77777 STO 32K IN UPPER MEM. 00053 0766 00 0 01361 WPRA SEL PRINTER 00054 0540 00 0 77777 RCHA 32K GIVE COMMAND 00055 0640 00 0 00164 SCHA SYNC INTERROGATE DSU 00056 0500 00 0 00164 CLA SYNC SCHA INFO INTO ACC. 00057 0767 00 0 00030 ALS 24 SHIFT OUT HIGH ORDER 00060 -0100 00 0 00055 TNZ *-3 IS ACC ZERO * FOUND 9 LEFT-DELAY + LOOK FOR NEXT * LEFT TIME. 00061 2 00001 4 00061 TIX *,4,1 YES-TAKE DELAY 00062 0640 00 0 00165 SCHA TEMPA INTERROGATE DSU 00063 0500 00 0 00165 CLA TEMPA LOAD ACC 00064 0640 00 0 00166 SCHAD SCHA TEMPB INTERROGATE DSU 00065 0340 00 0 00166 CAS TEMPB HAS ADR REG CHANGED 00066 0000 00 0 00066 HTR * POSSIBLE DSU FAILURE, RERUN 00067 1 00003 1 00064 TXI SCHAD,1,3 NO-BACK THRU LOOP * FOUND NEXT LEFT TIME-STORE INDEX + * CALCUCLATE TIMINGS. 00070 0634 00 1 00171 SXA ROW,1 YES-STORE INDEX 00071 0534 00 4 00050 LXA DELAY,4 PUT DELAY IN XRC 1 2P02A 6/5/59 PAGE 2 00072 0634 00 4 00170 SXA VARD,4 STORE DELAY 00073 0560 00 0 00171 LDQ ROW FIND TOTAL DELAY 00074 0200 00 0 00176 MPY 28US THRU LOOP. 00075 -0600 00 0 00167 STQ TEMPC STORE TOTAL DELAY 00076 0500 00 0 00170 CLA VARD GET VARIABLE DELAY 00077 0400 00 0 00175 ADD PAHD ADD PRINTER AHEAD DELAY 00100 0601 00 0 00172 STO TOT STORE IT. 00101 0560 00 0 00172 LDQ TOT FIND DELAY IN USEC 00102 0200 00 0 00174 MPY 24US AND ADD IT 00103 0131 00 0 00000 XCA TO LOOP DELAY 00104 0400 00 0 00167 ADD TEMPC FOR INTERROW 00105 0601 00 0 00203 LOCNA STO RO TIMING. * MODIFY ADDRESSES + CONSTANTS. 00106 0500 00 0 00105 CLA LOCNA STEP STORE 00107 0400 00 0 00173 ADD PONE LOCATION FOR 00110 0601 00 0 00105 STO LOCNA NEXT TIMING. 00111 0500 00 0 00177 CLA INCR DECREASE AMOUNT 00112 0402 00 0 00173 SUB PONE OF INCREMENT AS 00113 0601 00 0 00177 STO INCR TIMING PROGRESS. 00114 0500 00 0 00050 CLA DELAY INCREASE DELAY 00115 0400 00 0 00177 ADD INCR FOR NEXT TIMING. 00116 0601 00 0 00050 STO DELAY 00117 0500 00 0 00175 CLA PAHD INCREASE PRINTER 00120 0400 00 0 00173 ADD PONE AHEAD DELAY 00121 0601 00 0 00175 STO PAHD 00122 2 00001 2 00047 TIX GET,2,1 REPEAT TILL ALL TIMINGS ARE COMPLETED. * INTERROW TIMINGS COMPLETED * PRINT OUT TIMINGS. 00123 0766 00 0 01361 WPRA 1 SPACE PRINTER 00124 0774 00 1 00013 AXT 11,1 SET XRA TO PRINT 00125 0500 00 1 00216 PRINT CLA RO+11,1 OUT INTRROW 00126 0074 00 4 00455 TSX BTEN,4 TIMINGS. 00127 0761 00 0 00000 NOP CALL IN SPALT 00130 -0600 00 0 00135 STQ TIME PRINT ROUTINE. 00131 -0500 00 1 00163 CAL LT+11,1 00132 0602 00 0 00142 SLW DESIG 00133 0074 00 4 00216 TSX SPLAT,4 00134 0000 01 0 00007 HTR 7,,1 00135 606060606060 TIME BCD 1 00136 604431235146 BCD 4 MICROSECONDS 9 LEFT TO 00137 622523464524 00140 626011604325 00141 266360634660 00142 606060606060 DESIG BCD 1 00143 633360606060 BCD 1T. 00144 2 00001 1 00125 TIX PRINT,1,1 1 2P02A 6/5/59 PAGE 3 00145 0760 00 0 00166 SWT 6 REPEAT PROGRAM 00146 0000 00 0 00030 HTR START NO-IF SENSE SW IS UP 00147 0020 00 0 00030 TRA START YES-IF SENSE SW IS DOWN 00150 601060432526 LT BCD 1 8 LEF 00151 600760432526 BCD 1 7 LEF 00152 600660432526 BCD 1 6 LEF 00153 600560432526 BCD 1 5 LEF 00154 600460432526 BCD 1 4 LEF 00155 600360432526 BCD 1 3 LEF 00156 600260432526 BCD 1 2 LEF 00157 600160432526 BCD 1 1 LEF 00160 600060432526 BCD 1 0 LEF 00161 010160432526 BCD 111 LEF 00162 010260432526 BCD 112 LEF 00163 0000 30 0 77776 CW IOCD 32K-1,0,24 00164 0 00000 0 00000 SYNC 00165 0 00000 0 00000 TEMPA 00166 0 00000 0 00000 TEMPB 00167 0 00000 0 00000 TEMPC 00170 0 00000 0 00000 VARD 00171 0 00000 0 00000 ROW 00172 0 00000 0 00000 TOT 00173 +000000000001 PONE DEC 1 00174 +000000000030 24US DEC 24 00175 +000000000001 PAHD DEC 1 00176 +000000000034 28US DEC 28 00177 +000000001266 INCR DEC 694 00200 +000000001266 INITA DEC 694 00201 0774 00 4 01204 INITB AXT 644,4 00202 0601 00 0 00203 INITC STO RO 00203 RO BSS 11 77777 32K EQU 32767 1 2P02A 6/5/59 PAGE 4 INDEXABLE BCD PRINT SUBROUTINE. *THIS SUBROUTINE USES THREE SYMBOLS, THEY ARE... SPLAT, THE FIRST WORD OF THE ROUTINE CI, USED FOR CARD IMAGE, 26 LOCATION SUBET, THE CONTENTS OF XRC ARE STORED IN THE ADDRESS OF SUBET. *CONDTION OF THE ACC, MQ, AND ACC OVERFLOW *TRIGGER IS NOT GUARANTEED ON EXIT FROM THIS ROUTINE. THE PRINTER ON CHANNEL A IS USED YOU MAY ENTER SPLAT+1 IF YOU HAVE ALREADY GIVEN WRIT SELECT. THE RCHA INSTRUCTION IS AT SPLAT+60. THERE IS NO CHANNEL DELAY IN THE SUBROUTINE, THEREFORE TAKE CARE NOT TO USE CI UNTIL AFTER 12 ROW-RIGTH HAS BEEN WRITTEN. FOR THIS REASON, YOU MUST GIVE WRS FOR EACH ENTRY OR ENTER AT SPLAT. 00216 0766 00 0 01361 SPLAT WPRA GET GOING 00217 0634 00 1 00313 SXA SPLAT+61,1 00220 0634 00 2 00314 SXA SPLAT+62,2 00221 0634 00 4 00404 SXA SUBET,4 SAVE ORGINAL XRC. 00222 -0520 00 4 00001 NZT 1,4 IF CONTROL WORD ZERO. *5 00223 0020 00 4 00002 TRA 2,4 RETURN 00224 -0500 00 4 00001 CAL 1,4 GET NON-ZERO WORD 00225 0602 00 0 00343 SLW SPLAT+85 SAVE CONTROL WORD 00226 -0734 00 1 00000 PDX 0,1 TYPE WHEEL NO. 00227 -3 00000 1 00317 TXL SPLAT+65,1,0 IF DECR. ZERO, GET NEW CONTROL WORD *10 00230 -0634 00 4 00232 SXD *+2,4 GET EXIT ADDRESS 00231 0737 00 2 00000 PAC 0,2 BY ADDING TWOS COMP. 00232 1 00000 2 00233 TXI *+1,2,0 OF N TO XRC. 00233 0634 00 2 00315 SXA SPLAT+63,2 EXIT VALUE. SET BIT INDEX TO STARTING WHEEL 00234 0634 00 1 00237 SXA *+3,1 FOR SHIFTING *15 00235 0774 00 3 00001 AXT 1,3 1 TO XRA AND XRB 00236 -0500 00 0 00340 CAL SPLAT+82 BIT INDEX TO P 1 2P02A 6/5/59 PAGE 5 00237 -0765 00 1 00000 LGR 0,1 SHIFT TO STARTING POINT 00240 -0100 00 0 00243 TNZ *+3 IF ACC IS ZERO, SET FOR 00241 -0600 00 0 00341 STQ SPLAT+83 RIGHT ROW, AND MAKE *20 00242 1 00001 2 00244 TXI *+2,2,1 XRB A DUECE 00243 0602 00 0 00341 SLW SPLAT+83 OTHERWISE, LEFT ROW. 00244 0774 00 1 00032 AXT 26,1 00245 0600 00 1 00404 STZ CI+26,1 CLEAR CARD IMAGE 00246 2 00001 1 00245 TIX *-1,1,1 FORM CARD IMAGE. *25 00247 2 00001 4 00250 TIX *+1,4,1 ADDRESS OF FIRST WORD. 00250 0774 00 1 00006 AXT 6,1 CHARACTER COUNT. 00251 0560 00 4 00001 LDQ 1,4 GET THE WORD. SOME PEOPLE NEVER DO, YOU KNOW 00252 0634 00 1 00304 SXA SPLAT+54,1 SAVE CHARACTER COUNT. 00253 -0754 00 0 00000 PXD CLEAR ACC *30 00254 -0763 00 0 00002 LGL 2 ZONE 00255 0767 00 0 00001 ALS 1 TIMES 2 00256 0734 00 1 00000 PAX 0,1 00257 0634 00 1 00273 SXA SPLAT+45,1 FOR FUTURE REFERENCE. 00260 0760 00 0 00000 CLM *35 00261 -0763 00 0 00004 LGL 4 DIGIT 00262 0767 00 0 00001 ALS 1 TIMES 2 00263 0602 00 0 00352 SLW CI TEMP0 00264 -0500 00 0 00341 CAL SPLAT+83 BIT INDEX 00265 -0520 00 0 00352 NZT CI IS DIGIT ZERO. *40 00266 3 00000 1 00336 TXH SPLAT+80,1,0 IS ZERO ZONE TOO. 00267 0534 00 1 00352 LXA CI,1 OK, PROCEED 00270 3 00030 1 00276 TXH SPLAT+48,1,24 CHECK FOR ILLEGAL 00271 3 00024 1 00334 TXH SPLAT+78,1,20 SPECIAL CHARACTER. 00272 -0602 60 2 00352 ORS* SPLAT+92,2 XRB PICKS LEFT OR RIGHT. *45 00273 0774 00 1 00000 AXT 0,1 ZONE AGAIN. 00274 -3 00000 1 00276 TXL *+2,1,0 NOTHING FOR ZERO ZONE 00275 -0602 60 2 00350 ORS* SPLAT+90,2 PLACE ZONE BIT. COLUMN SET. 00276 0771 00 0 00001 ARS 1 SET BIT INDEX TO 00277 -0100 00 0 00303 TNZ *+4 NEXT COLUMN, IF ANY. *50 1 2P02A 6/5/59 PAGE 6 00300 3 00001 2 00312 TXH SPLAT+60,2,1 IF BX ZERO,+XRB 1, STOP 00301 -0500 00 0 00340 CAL SPLAT+82 IF NOT, SET TO RIGHT 00302 1 00001 2 00303 TXI *+1,2,1 ROW AND PROCEED. 00303 0602 00 0 00341 SLW SPLAT+83 BX READY FOR NEXT COLUMN. 00304 0774 00 1 00000 AXT 0,1 MORE CHARACTERS. *55 00305 2 00001 1 00252 TIX SPLAT+28,1,1 NEXT COLUMN 00306 0534 00 1 00343 LXA SPLAT+85,1 MORE WORDS MAYBE. 00307 -2 00001 1 00312 TNX *+3,1,1 IF NOT, STOP. 00310 0634 00 1 00343 SXA SPLAT+85,1 YUMMY, GO GET EM. 00311 1 00000 0 00247 TXI SPLAT+25 FIFTEEN MEN ON A DEAD MANS CHEST. *60 00312 0540 00 0 00342 RCHA SPLAT+84 LET HER RIP 00313 0774 00 1 00000 AXT 0,1 00314 0774 00 2 00000 AXT 0,2 00315 0774 00 4 00000 AXT 0,4 00316 0020 00 4 00002 TRA 2,4 EXIT GET NEW CONTROL WORD FROM SOMPLACE *65 00317 0634 00 4 00315 SXA SPLAT+63,4 FOR EXIT 00320 0534 00 1 00313 LXA SPLAT+61,1 RESTORE XRA 00321 -0520 60 0 00343 NZT* SPLAT+85 IF CONTROL WORD ZERO 00322 0020 00 0 00313 TRA SPLAT+61 RETURN. 00323 -0500 00 0 00343 CAL SPLAT+85 OLD CONTROL WORD *70 00324 0625 00 0 00325 STT *+1 BRING OUT INDEX 00325 -0634 00 0 00327 SXD *+2,0 REGISTER, IF ONE IS TAGED. 00326 0737 00 4 00000 PAC 0,4 00327 1 00000 4 00330 TXI *+1,4,0 GET EFFECTIVE ADDRESS. 00330 -0500 00 4 00000 CAL 0,4 NEW CONTROL WORD. *75 00331 -0734 00 1 00000 PDX 0,1 TYPE WHEEL ID. 00332 0602 00 0 00343 SLW SPLAT+85 00333 1 00001 4 00234 TXI SPLAT+14,4,1 PROCEED YOUR AN OLD SMOOOTHY. 00334 -0602 60 2 00346 ORS* SPLAT+88,2 PUT EIGHT IN, TAKE 00335 2 00020 1 00272 TIX SPLAT+44,1,16 16 OUT, - GOOD BUSINESS *80 00336 -3 00004 1 00275 TXL SPLAT+47,1,4 IF NOT BLANK, SET ZONE. 00337 0020 00 0 00276 TRA SPLAT+48 BLANK. 00340 -0 00000 0 00000 MZE FOR BIT INDEX. 1 2P02A 6/5/59 PAGE 7 00341 0000 00 0 00000 HTR DYNAMIC BIT INDEX. 00342 0000 30 0 00354 IOCD CI+2,,24 BUFFER COMMAND *85 00343 0000 00 0 00000 HTR SPECIAL SALON FOR THE CONTROL WORD 00344 0000 00 0 00357 HTR CI+5 00345 0000 00 0 00356 HTR CI+4 BROW ADDRESSES 00346 0000 00 1 00405 HTR CI+27,1 00347 0000 00 1 00404 HTR CI+26,1 ZONE ROW ADDRESSES *90 00350 0000 00 1 00377 HTR CI+21,1 00351 0000 00 1 00376 HTR CI+20,1 DIGIG ROW ADDRESSES 00352 CI BSS 26 00404 SUBET BSS 1 TO WRITE PUNCH, USE TSX CRNCH,4. 00405 0766 00 0 01341 CRNCH WPUA 00406 0020 00 0 00217 TRA SPLAT+1 *TRANSFORM THE CONTENTS OF ACC 1-35 TO OCTAL IN BCD FORMAT. *A SIGN CHARACTER FOR MINUS, AND THE Q AND P BITS *ARE STORED IN THE ADDRESS OF X+1. IF THERE ARE 6 *CHARACTERS OF LESS, RETURN IS MADE TO X+3, OTHER *WISE, TO X+2. TRANSFORMED WORDS IN MQ AND ACC. *THIS SUBROUTINE STORES XRC IN SUBSET, WHICH MUST BE *SUPPLIED BY THE PROGRAM. NO BLANKS ARE INSERTED 00407 0634 00 1 00437 PX SXA PX+24,1 00410 0634 00 2 00440 SXA PX+25,2 00411 0634 00 4 00404 SXA SUBET,4 SAVE XRC 00412 0601 00 0 00443 STO FREE 00413 0771 00 0 00043 ARS 35 P AND Q *5 00414 0621 00 4 00001 STA 1,4 P AND Q TO X+1 00415 0560 00 0 00443 LDQ FREE 00416 -0754 00 0 00000 PXD CLEAR ACC 00417 -0763 00 0 00001 LGL 1 00420 0767 00 0 00013 ALS 11 SIGN IF MINUS *10 00421 -0602 00 4 00001 ORS 1,4 SIGN TO X+1 00422 -0765 00 0 00001 LGR 1 DROP SIGN 00423 0774 00 3 00006 AXT 6,3 00424 -0754 00 0 00000 PXD CLEAR ACC 00425 0767 00 0 00003 ALS 3 ZONE *15 00426 -0763 00 0 00003 LGL 3 DIGIT 1 2P02A 6/5/59 PAGE 8 00427 2 00001 1 00425 TIX *-2,1,1 6 TIMES. 00430 0602 00 0 00444 SLW FREE+1 00431 -0754 00 0 00000 PXD CLEAR ACC 00432 0767 00 0 00003 ALS 3 ZONE *20 00433 -0763 00 0 00003 LGL 3 DIGIT 00434 2 00001 2 00432 TIX *-2,2,1 6 TIMES 00435 -0130 00 0 00000 XCL SECOND WORD TO MQ, 00436 -0500 00 0 00444 CAL FREE+1 FIRST TO ACC 00437 0774 00 1 00000 AXT 0,1 *25 00440 0774 00 2 00000 AXT 0,2 00441 0100 00 4 00003 TZE 3,4 X+3 FOR 1 WORD. 00442 0020 00 4 00002 TRA 2,4 X+2 FOR 2 WORDS. 00443 FREE BSS 10 *FIXED BINARY TO FIXED BCD. BINARY WORD IN THE ACC ON *ENTRY, BCD WORDS IN ACC AND MQ ON EXIT. LEADING BLANKS FOR LEADING ZEROS. BLANKS FOR PLUS, - FOR MINUS *IF THE HIGH ORDER 6 CHARACTERS AR BLANK, RETURN IS *MADE TO X+2, OTHERWISE X+1. XRC IS STORED AT SUBET, WHICH MUST BE SUPPLIED BY THE PROGRAM. 00455 0634 00 1 00504 BTEN SXA BTEN+23,1 00456 0634 00 2 00505 SXA BTEN+24,2 00457 0634 00 4 00404 SXA SUBET,4 SAVE XRC 00460 0602 00 0 00443 SLW FREE DROP SIGN 00461 0760 00 0 00000 CLM *5 00462 0601 00 0 00446 STO FREE+3 SAVE SIGN 00463 0600 00 0 00444 STZ FREE+1 00464 0600 00 0 00445 STZ FREE+2 00465 0774 00 2 00002 AXT 2,2 00466 0774 00 1 00044 AXT 36,1 *10 00467 -0754 00 0 00000 PXD CLEAR ACC. 00470 0560 00 0 00443 LDQ FREE 00471 -0520 00 0 00443 NZT FREE WHEN ZERO- 00472 0020 00 0 00507 TRA BTEN+26 FINISHED. 00473 0221 00 0 00523 DVP BTEN+38 BY 10 DECIMAL. *15 00474 -0600 00 0 00443 STQ FREE 00475 0767 00 1 00044 ALS 36,1 SHIFT TO POSITION, 00476 0361 00 2 00446 ACL FREE+3,2 TACK ON LOW ORDER- 00477 0602 00 2 00446 SLW FREE+3,2 SAVE PARTIAL RESULT. 00500 2 00006 1 00467 TIX BTEN+10,1,6 GET NEXT DIGIT, OR 1 2P02A 6/5/59 PAGE 9 *20 00501 2 00001 2 00466 TIX BTEN+9,2,1 SECOND WORD. 00502 -0500 00 0 00445 CAL FREE+2 IF XRB RUNS OUT BEFORE QUOT. IS ZERO, NO ROOM FOR SIGN. 00503 0560 00 0 00444 LDQ FREE+1 LOW ORDER TO MQ. 00504 0774 00 1 00000 AXT 0,1 00505 0774 00 2 00000 AXT 0,2 *25 00506 0020 00 4 00001 TRA 1,4 EXIT-TO X+1 FOR 2 WORDS. HE IS A FOWL CANINE. 00507 0500 00 0 00446 CLA FREE+3 BRING IN SIGN. 00510 -0501 00 0 00521 ORA BTEN+36 BLANK-MINUS. 00511 -0120 00 0 00513 TMI *+2 WAS WORD MINUS. 00512 -0500 00 0 00522 CAL BTEN+37 NO, GET BLANKS *30 00513 0767 00 1 00044 ALS 36,1 BUMBSIE DAISY. 00514 0361 00 2 00446 ACL FREE+3,2 NON-ZERO DIGITS. 00515 -3 00001 2 00503 TXL BTEN+22,2,1 OUT ON HIGH ORDER 00516 -0130 00 0 00000 XCL 00517 -0500 00 0 00522 CAL BTEN+37 HIGH ORDER BLANK. *35 00520 1 77777 4 00504 TXI BTEN+23,4,-1 RETURN TO X+2 00521 -006060606040 OCT -406060606040 BLANK MINUS. 00522 -206060606060 OCT 606060606060 BLANK PLUS 00523 0000 00 0 00012 HTR 10 DIVISOR 00030 END START 1 *EOF*