Digital PDFs
Documents
Guest
Register
Log In
MAINDEC-08-D2F
December 1966
32 pages
Original
0.9MB
view
download
Document:
maindec-08-d2fa-d
Order Number:
MAINDEC-08-D2F
Revision:
Pages:
32
Original Filename:
https://svn.so-much-stuff.com/svn/trunk/pdp8/src/dec/maindec-08-d2f/maindec-08-d2fa-d.pdf
OCR Text
-tsL._-Lfi ® u IDENTIFICATION RE U PRODUCT CODE: Maindec-08-D2FA-D Pl`ODUCT NAME: PDP-8 H:gh Speed Reader Test DATE CREATED: October I,1966 MAINTAINER: Diagnostic Group AUTHOR: R. Green PREVIOUS CODE: Maindec-08-D23A-D *r L/ LJ MAINDEC-08-D2FA-D 1. ABSTRACT This is a diagnostic program for the Digitronics 2500 and the PC01 High Speed Paper Tape Readers using Control Logic Type 750C . The program is divided info three parts, I.he first of which is a test tape generator that punches test tapes for parts two and three on the high speed punch, two is a series of specific +ests with module isolat.ion provicled for error si[uat.ions. Part Part three reacls a preselected tape pattern with the choice of random or fixed block lengths and stalls between blocks. 2. 2.1 REQUIREMENTS Equi p_rn_en_t_ St.andard PDP-8 Type DT2500 or Type PCOI High Speed Paper Tape Reader and 750C Control Logic . 2.2 Storage The program uses location 0000 -3315. The Binary Loader must be stored in locations 7 gr;/2. -77E!F, . u 2.3 Preliminary programs (None) 3. LOADING PROCEDURE 3.1 Method The Binary Loader is used. The I.est program should be loaded using the Teletype paper tape I.eader. u 4. STARTING PROCEDURE 4.I Control Switch Settings 4.1.1 Test Tape Generator (Part I) SR0 Punch al+ernafe ls anc] Os SRI Punch binary count SR2 Punch all same character as specified by sR4-SRll MAINDEC-08-D2FA-D 4.1.2 Logic Tests (Part 2) Stop on error (1) Print on error (0) Scope Mode Loop on tests 2 - 9 PC01 (I) DT2500 (0) Print reading speed during t.esf 11 Print tape acceleration time during test 11 4.I.3 Tape Read Test (Part 3) Stop on error (1) Print a,n error (0) Scope Mode. Ignore errors Print on error (1) Print errors at end of block (0) Resync tape if 10 errors in one block Select block size (1) u Random block size (0) SR7 Select st.all (1) Random stall (0) 4.2 SR8 Resync tape at the end of each block SR9 Read alternate ls and Os tape SRlo Read binary-count tape SRll Read a tape of all the same character Starting Addresses 0200 Test tape generaror 0300 Logic tests 1625 Read binary-count pattern or alternate ls and Os pattern 2000 Read all-sameHcharacter pattern 4.3 Program and/or Operator Action u 2 MAINDEC-08-D2FA-D 4.3.1 RE Test Tdpe Generator (Part 1) a. To punch tape on the Teletype punch instead of the high speed punch enter 6041 info 0221 and 6046 into 0223. b. Se, SR ,a 0200. START. c. Press LOAD ADDRESS. Set SR lo desired conf,gural,on, then press Tape is punched until stopped. To make a closed loop from the I.est tape, the punched pa+tern must be maintained at the splice. 4.3.2 Logic Tests (Part 2) a. Place an all Os test rape in the high speed reader. b. Set SR to 0300. Press LOAD. ADDRESS. Set SR to desired configuration, then press START. NOTE: Halt on error switch SR0 applies only to tests 5, 6, and 11 which provide, error printouts instead of error halts. u c. The program halts at the completion of Test I. PC = 0317. This is an illegal instruction test and any tape movement during Test 1 is an error condition. Press CONTINUE to go on . Press START to I.edo Test .I. d. The program halts at Test 10. PC = 1127. Press START. e. When Test 11 is reached, the progi.am loops in this test'. This is a sync character re- cognition test which is a prerequisite to Part 3. 4.3.3 Tape Read Test (Part 3) a. Load test tape in high speed reader. b. For tape patterns of all the same character enter the desired character into memory location 0035. Set SR to 2000 and press LOAD ADDRESS. then press START. Skip to paragraph e. Set SR to desired configuration, For other tape patterns omit this paragraph and go toe, c. u Set SR to 1625. Press LOAD ADDRESS. Set SR to desired configuration. If SR6 is a 1 (select block size), enter the desired block size into location 0064 before pressing START. The program reads this block of characters at full speed, then stalls. 3 MAINDEC-08-D2FA-D If SR7 is a 1 (select stall), enter the desired stall into location 2151 before passing START. This will be the stall between blo.cks. To calculate the stall length convert the stall number to decimal and multiply by 0.1 msec. In either case, if no entry is made, the last block size or stall generated by the random number generator is used . Push START . d. The program reacls +he +es+ rape un+il it finds an all-zero character, then it prints an IN SYNC message and halts. Press START to resync , Press CONTINUE to go on. NOTE: If SR3 is a 1, the program will not halt but will go on as if CONTINUE had been pressed. 5. OPERATING PROCEDURE See section 4. `u` 6. ERRORS 6.I Error Halts and Descri 6.1.I Test Ta pe Generator (Part I) None, 6.1.2 Logic Tests (Part 2) Error Halt Cause of Error An information transfer was made to the AC following the illegal instruc+ions 6010 and 6377. Flag on, following program start. Flag not on 70 msec cifter issuing fetch instruction. Flag is on. Either a 6377 or 6010 instruct.ion caused a skip. RRB did not reset flag. RFC did not reset flag. 4 u MAINDEC-08-D2FA-D u RFC did not clear reader buffer. Failure on first RRB following RFC. Reader buffer not holding reset condition. Failure on second RRB following RFC. No interrupt following RFC. Accelerating too fast. after RFC. Waited 70 msec. Flag came too soon Accelerating too slowly. Flag came Too late following RFC. Misadiusted Delays. Late flag following strobe. (DT2500) Misadiusfed Delays. Early flag following strobe. (DT2500) Motor protect delay less than 35 msec (PC0l ). Motor protect delay greater than 65 msec (PC01 ). Processor START switch did not reset the flag. Error Printouls I GOOD 000 Cause of Error BAD XXX Failure during Test 11, Sync Character `u' Recognition Test. 5 GOOD 000 BAD XXX Failure during Test 5. First attempt at reading an all-zero character. 6 GOOD 377 BAD XXX Failure during Test 6. Reader buffer not reset following an RFC. 6.1.3 Tape Read Test (Part 3) Error Printouts BLK LNG XXX LST STL XXXX GD XXX BD XXX POS XXX Explanation BLK LNG XXX LST STL XXXX BLOCK LENGTH where XXX is the octal number of characters in the block being read when the error occurred . LAST STALL where XXXX is the octal number, in increment.s of 0.1 msec, which specifies the stall before I.his block was started . lJ GD XXX GOOD where XXX is the correct character. BD XXX BAD where XXX is the character read . POS XXX POSITION where XXX is the position of the erroneous character in this block. 5 MAINDEC-08-D2FA-D 6.2 Recovery From Errors 6.2.1 Recover From Errors in Part 2 After an error halt, pressing CONTINUE causes the test to be performed aga:n. The program proceeds to the next test only when the current test is completed successfully. When a problem is en- countered, it is suggested the SRl be set to a 1 before pressing CONTINUE. This causes I.he program to repea+ this test until SRl is reset whether the .test fails or not'. This is the scope mode and allows the operator to observe the fai.ling condition easily with an oscilloscope. After an error printout the test is repeated automatically unless SRO (halt on error) is a I. Enteri\ng I.he scope mode eliminates the printout. \ In any case, i+ is suggested +hat +he appropriate modules lis+ed in +he following paragraph be changed in a first attempt at fixing the problem. 6.2.2 Recovery From Errors in part 3 Af+er each error printout +he program continues on in sequence. The use of +he scope mode here se,rves only to inhibit error printouts . BE 7. RESTRICTIONS If the computer has any input/output devices other than the Teletype keyboard/printer with tape punch and reader, high speed reader, and high speed punch, the operator must insure that these devices are off and will not cause a spurious interrupt. The I/0 address 37 is assumed to be unused. If a control with this address is connected to the computer, power to this control should be shut off . 8. MISCELLANEOUS 8.1 Execution Timg The test runs until stopped by the operator. When looping on tests 2 -9 in Part 2, the loop time is 1 see. u 6 MAINDEC-08-D2FA-D 9. u PROGRAM DESCRIPTION Part 2 of the program is provided to find catastrophic type failures. The test begins by test:ng the basic functions of the device then does as many timing checks as possible by program. If Part 2 runs, probably the only remaining problems are in individual data paths. Part 3 of the program is designed to show up problems nor found in Part 2. The binary-count pattern is provided as the most stringent test when used with random block sizes and stalls. The alter- nate ls and Os tape pattern and the aH-same-character tape pattern are intended for use with fixed block lengths and fixed stalls so that scope mode loops will be easier to observe. u BE 7 MAIN DEC -08-D2FA-D 10. LISTINGS PBNCNT 9234 1@45 FRPC0 PC01 PCI 0003 E: R P C 0 1 POSIT ©172 PF! 0630 E` R R 5 1 PPINTI ©©24 EPS F I NUP PR I NT2 pRINT3 0@25 APTNOW ¢062 0026 0868 0061 ERP5 ASCOP ©005 F- I N U P 1 PRINT4 0®07 ASTSNC 2152 FINUP2 pRINT5 8335 @ A C K F f] 1157 FRHLT ACKSCP @®44 ERMAX ACNTA 1414 AERHLT ACNRAN AMSGI APTEND 32 ©7@6 ©©„6 ATSTll FLCK 1852 PR]NT6 1 7 1 fl ATST2 1457 1624 p F„ N T 8 1421 ATST3 FLTST F0uF! ATST9 CENPAN 16©® PRTEND ATYPOT 8®74 ©151 PRTNOW BACK C00D1 C00D2 BADI HLT6 @623 PUNCH BAD2 HLT61 @642 RANUM BFPNCH HSKP 2©®fl R 8 E Fi R BGNI IISz 21®1 READ BIN INF1 @866 R E T U F( N BLKLNG tNF2 ©112 RFCI a L S T 0 Fi INF3 26©fl ROTAT3 CE:K INF4 2616 F\ 0 T A T 6 CHACNT INF5 147@ CKER INsyNC 1658 r, K R I S C IR1 ®©11 CKSCOP [82 ISSz SAVE3 ISzz JSzl SETONS CKSW4 CKTEN CKI - PROAD P S W PI I G R F? a 2 Fi S F L G SAVEI SAVE2 SCOPE ISZ2 SETUPI CNTEN 006 JMP5 SETUP2 CONI ©®50 K©04® C L E: A P 14 S K P I F` F3 a 0 N 1 ca K2@3 STAL CON2 LASTAL STALLI CONS LNGLIM STAL7® CONS MIN1® STLL r, 0 N 6 MSGI STLSTR S T 0 F] L. M CON7 214@ MSKI cON8 MSK2 STORI MSK3 S T 0 Fi 2 COUNTA 2141 2142 1 1 6 fl MSK4 STOR3 C; R W A I T 3©13 MSK5 S T 0 Fi 4 C2© 1467 MI STOR5 r) C Fi S T R 2245 M12E STRSNC r) L Y 1 @741 M25 SUI r) L Y 1 fl M30 SU2 r) L Y 1 3 W377 SVN4HN DLY5 M4 SVN5©C r)L1 WJ 7 7 6 THREE I) 0 F( F! 8 N260 N272 CON9 0UL r)0 THRE77 TH77 0K T]MI 0K1© TIM2 r)2 OK4 TOUT I) 6 5 M S ONE TSTMAX END PALT10 TSTMIN r)1 8 MAINDEC-08-D2FA-D BE /CONSTANTS AND VARIABLES #1 /INTERRUPT HLT JMP I 0N ILLEGALLY ® AE:BHLT, ERHLT ATST2, TST2 ASCOP, SCOPE PRINTS, INF3 PRINT4, INF4 LASTALt a /CONSTANTS, VARIABLES, ETC, #11 Q'®11 UO®® 181, a ©®12 fl®@O IR2, Z) 0@15 0000 0 #2% 74©1 W©@2 @ ® fl fl 3026 ffl 0 6 5 @112 3 © ® fl 0@©7 LJ fl a 7 a 0300 0708 MSK4, 700@ MSK5, Z] Z in M STOR1, /STORAGE BAD CHAF}ACTEF} 0000 fl 0 a 0 STOR2, STOR3, /STORAGE FOR GOOD CHARAC:TER /STORAGE FOFi BLOCK ®®©® ST084 , /STORAGE FOB STALL F.OR LENGTH MAINDEC-08-D2FA-D /STORAGE 004fl 0@@0 STOR5, © 01@41 12@@ SU1, S E: T U P.1 OI®42 1233 SU2, SETUP2 fl043 fl4flo ATST3, TST3 0044 fl662 ACKSCP, CKSCOP Vl®45 5444 JMP5 , JMP fl046' loco ATST9, TST9 ®©47 74©© SVN4HN. 74@8 fl@5fl 7734 CON1, fl051 tl©52 7766 6545 CON2, 0053 3556 CON5, -44 -12 -1233 -4242 ®@54 2377 CON6, T177 id055 flooo W0BK1, ©fl56 0©@0 W 0 F! K 2 , 0©57 ©®©0 CHACNT, 0 0 0 flq60 2251 APTEND, PRTEND 0fl61 flq62 22©8 168© APTNOW, PRTNOW AGNBAN, G E: N F3 A N @@63 008© S T 0 F( L M , @064 fl©65 90©0 80©0 BLSTOP, 0 0 CNTEN, © 0©66 00®© I NF1, @ Wq67 ©307 „07q @317 307 317 317 /0 /0 /D CONS, I ©317 03®4 3©4 ¢©73 ©074 ©24© ©33© 240 G00D1, %075 933% 330 ®®76 033© 35© /X /X Offl77 024@ 240 /SPACE Wlflfl fl240 24© /SPACE wllfll fllfl2 fl302 ®301 3©2 /8 3@1 /A @1@3 n3@4 3fl4 /D 01fl4 0105 fl240 @330 248 BAD1, caio6 @33@ 338 fl330 33© ®212 0F BAD CHAR. /G 0©72 qllfl POSITION ACKSCP @®71 @107 FOR /SPACE /X 33© /SPACE 330 /X %111 9215 212 215 ©112 0©®a I NF2 ' fills ©3©2 3fl2 /8 ®114 W115 ®314 ©313 314 313 /K W116 ®24G] 24fi /SPACE ®117 @314 /L ©12© ©316 314 316 ®121 ©3©7 5©7 fll22 ©240 24@ ©125 ©33© BLKLNG. 0124 fl33© 33© 0125 0330 ©126 0240 338 240 %127 ©24@ 24© /SPACE 0130 8314 /L W131 ®323 ©152 0133 @134 fl324 fl240 0323 314 323 324 240 323 /L /N /G /SPACE 330 /X /X /X /SPACE /S /T /SPACE /S 10 ``-'` MAINDECLO8LD2FA-D 324 /T /L 314 /SPACE 24@ STALL1. /X 33@ 330 /X /X 330 Zl ill 33@ 240 /SPACE 24© /SPACE 3©7 3@4 /G 240 /SPACE /D G00D2, /X 33® 330 /X 33© /X 24© /SPACE 24@ /SPACE 382 /a 3©4 /D 248 / S P A C; E BAD2. /X 53© 330 350 /X /X 24Z) /SPACE 24® /SPACE 32® /P 317 323 /0 24@ /SPACE /S POSIT, /X 33® 538 33© 212 215 /TAPE LOOP CENEBATOB i+ 2 fl a BGN1, /TEST LAS /FOR F!AL TAPE SWITCH REGISTER PATTERN SZL JMP PALTlg /PUNCH PBNCNT /PUNCH BANARY /PUNCH SPECIFIC ALTEBNATE 1'Si®.S RAL SZL JMP COUNT RAL SZL JMP JMP /TAPE U 0213 0000 BF.PNCH, fl214 W215 ©2i6 ®217 72©0 1215 322a] 5223 CLA PUNCH ROUTINE 01 TAD BFPNCH DCA PUNCH JMP .+4 11 CHARACTEFi MAINDEC-08-D2FA-D 022q 0000 PUNCH, W221 6®21 PST fl222 ¢223 fl224 5221 6©26 5620 JMP PLS a .-1 JMP I PUNCH /ALTERNATE 0NES ©225 4213 PALTIC" 0226 7200 CLA @227 7@4@ CMA 023fl 422© JMS 0231 72©© CLA ©232 W233 4220 5226 JMS PUNCH JMP PALT10+1 /BINARy COUNT AND JMS ZEF}OS BFPNCH PUNCH O1234 4213 PBNCNT, ®235 0236 W237 72®fl 7©©1 4220 CLA JMS JMS PUNCH 0240 5236 JMP PBNCNT+2 /PUNCH SPECIFIC BFPNCH IAC ©241 4213 PSWF}EC, w242 72oo CLA W243 76©4 LAS 0)244 422@ JMS PuNCH ©245 5244 JMP .-1 CHABACTER JMS BFPNCH RE / /HIGH SPEED PAPER TAPE READER DIAGNOSTIC / /PAF{T 1. INSTRUCTION AND CONTROL TESTING / # Elillz W390 #3ffll 0j302 1335 3911 4426 „393 «304 72@0 601@ /TEST 1. TAD PRINTS DCA JMS ILLEGAL IRI I AMSGI TST1. CLA 601© ca3©5 6377 6rJJ 7 ca306 744@ S3A W307 5322 JMP INSTRUCTION /N010T BITS, INSTFWCTI0N /SHOULD BE /CHE:CK F.OF} RBERR ASCOP /START /TAPE 0317 032fl 745@ SNA 55fl3 JMP TST1 I)321 5325 JMP TST2 ti522 44©5 BBERR, @323 74@2 HLT W324 5303 JMP ICNOFiED JMS I SHOULD SCOPE T0 MODE REDO. NOT CONT HAVE T0 PROCEED MOVED `u, ASCOP / E 8 Fi 0 R . /INFORMATION T§Tl 12 DELIVERED ILLEGALLY MAINDEC-08-D2FA-D /TEST 2. TEST TST2, F.OB F-LAG 0F.F /F.LAG F}SF- JMP 0K JMS I /SUCCESSFUL /CHECK ASCOP F0fi SCOPE /FAILuf]E PATH /FLAG IS HLT JMP T§T2 JMP I 0K, JMS I ASCOP JMP TST2 PRINT5, BE 0F.F MODE 0N ILLEGALLY /CHECK /SUCC;ESS ATST3 SHOULD TES.T FOR SCOPE BE SE:T MODE PATH POS I T+2 i$ 4 © 8 /TEST 3. /SET FLAG /SKIP 0N ILLEGAL WITH RSF TEST AND RFC RSF. TST3i CLA TAD DCA RFC JMS I STAL 6@1@ SKP JMP SKPERP 6tJ7 SKP IMP SKPERR RSF /FLAG JMP ER3 ISZ IMP JMS 13 TST3+5 JMP JMP TST4 TST3 I /SUCCESS AScOP ERG. JMS I /ERROR PATH NOT SETTING /FLAG AFTER JMS I /ERROR ASC;OP HLT /ILLEGAL JMP TST3 /TEST 4. RESET ST4, FLAG WITH RSF- F}RB CLA RRB /DELIVE:F} CHARACTE:F} F-IRST STOFTI /CHECK F]SF JMP 0K4 jMs r Ascop RESET /ERROR PATH ;CHECK Ftm /START 0F FLAG scoPE T0 F.LAG STILL 0N MODE F}EDO TST4 JMS U RFC TST3 SKPEF}Bi DCA PATH ASCOP HLT JMP SHOULD I /SUCCESS ASCOP TST5 TST4 /CHECK 13 F.OR PATH SCOPE MODE TIME MAINDEC-08-D2FA-D /TEST 5. INFORMATION TST5, CHECK CLA DCA STOR2 TAB TW5 DCA INF1 D MSK5 A0K4 D STORI A P /CHARACTER ERR5 IN ERROR /READ RRB CHARACTER AGAIN S T 0 Fi 1 STORI /CHARACTER ERR51 I |N ERROR ASCOp T S T'3 /SCOPE TAB EPR5+2 DCA 0K4 JMP TST5A JMS E Fi R 5 ' I MODE AERHLT /CHE:CK /CHARACTER HLT I ASCOP LOOP F.OR IN STOP ERR0ft /FIF}ST POB AFTEP FLAG /CHECK F.OB SCOPE MODE 0N EBROR ON 0N TST3 u STOR2 PBINTI IRI ISUI I AMSGI TST3 JMS I AEF}HLT /CHECK /RRB JMS I FOR /CHAF{ACTER IN AFTER 0N. FLAG STOP ERR0B 0N 0N ERR0B 2ND ASCOP SKP JMP /SCOPE CLEAR MODE LOOP CLA DCA STOR2 TAB PfuNTI DCA IRI JMS I SUI JMS I AMSCI CLEAR, CLA JMP RR82 /TEST 5A. TST5A, RES`ET FLAG WITH RFC /SET RFC FLAG RSF JMP .-1 /RESE.T RFC PSF JMP JMS FLAG `.1` .t4 I ASCOP /ERROR. HLT 14 FLAG STILL 0N MAINDEC-08-D2FA-D JMP RSF TST5A JMP .-1 JMP 6©0 /WAIT I FOR /BEFOF(E FLAG PB0CEEDINC .+1 TW5, 265 # 6 fl o /TEST ®6@© 72©@ 6. READ TST6, BUF.FER RESET CHECK CLA ®6©1 125¢ @6©2 3©66 ©683 6®14 /CLEAR READ ®684 ©6©5 ©606 6912 3034 1034 /READ CLEAFiED BUFFEFi FOB ALL 1'S FF}OM BUFF.ER ALL lls FROM BUFFER ®6Z17 1fl2fl ©619 744© /TEST ©611 0612 0613 5223 6®12 3034 /ERROR @614 ®615 ®616 1934 192© 7440 617 5242 629 44@5 621 622 5251 5240 ®623 @624 ®625 44©5 741® 524® 0626 4403 ©627 74@2 ®630 72©8 ©631 7©4© CMA ®632 3055 DCA STOR2 ©635 1®24 TAD PFuNTI /TEST / E R F3 0 R JMP JMS HLT61 I ASCOP FOF} SCOPE JMP TST7 /ONLY PATH JMP HLT6 , SKP STLL /SCOPE MODE /BUFFER /TEST F.OR /CHECK JMS JMP STLL JMS I TEST LOOP NOT SCOPE 7 ALL 1.S 0N IST RRB MODE /SCOPE MODE: LOOP /EBR0B HALT, 1ST RRB CLA /ST0BE /SET 3©11 DCA 4441 JMS I SUI e}636 4426 JMS I AMSGI JMP TST6 UP FOR COF}RECT TTY CHARACTER PRINT0uT IRI ®637 52®© @640 4423 fl641 52®® JMP n642 4405 HLT61. ©643 7410 SKP ©644 0645 524© 44©3 74fl2 JMP STLL JMS I 5238 JMP TW66, 0266 ASCOP HLT PR, ©634 a)65@ I MODE T0 AERHLT fl635 0646 9647 F.OR BUFFER STLLi JMS I STAL JMS I ASC;OP /7©M§ DELAY TST6 /BUFFER /TEST FOR NOT SCOPE ALL MODE /SCOPE MODE LOOP /ERROR HALT, 2ND AEF"LT HLT PR 266 15 RBB 1'S 0N 2ND RRB MAINDEC-08-D2FA-D /TEST 7 INTERRUPT CLA TST7, TAB TEST JMP5 DCA1 /78MS /ERR0B /SCOPE CKSCOP, JMS I STALL PATH ASCOP N0 INTEF}FiupT MODE: LOOP /PETUBN FROM INTEBRUPT SKP JMP 10F TST7 /SCOPE MODE: LOOP CLA TAB CKSCOP-2 DCAI JMP /TE:ST WAIT 8. ACCELERATION /DT25©® /PC01 ©4 TIME: TEST (4.35MS<TIME<29.35MS) (4.35MS<TIME<9.35MS) TST8, /CHECK LAS F.OR PC0| 0R DT252l© RTL RTL 086 430 RTL u SZL JMP 2fl8 CLA PCI /SET 337 TAD DLY5 07®2 3822 DCA WOF}K 0703 07©5 0796 1340 55 5313 72©0 ©7©7 1337 TAB DLY5 22 1 DCA WOBK TAD DLY1@ DCA WORKI JMP TSTMIN-1 PC1, CLA TAD DLYI DCA WOF}K1 0715 6®14 RFC q]714 ca7i5 2©22 741@ TSTMIN, 0716 5324 JMP @717 6@11 BSF 072@ 0721 JMP TSTMIN JMS I 0722 5314 44©5 74@2 0723 5344 JMP 0724 2%55 TSTMAX, fl725 741@ SKP 0726 5334 JMP ca727 6911 F( S F- 073® 5324 JMP TSTMAX JMS ISZ WORK DT25©© DELAYS /SET PC01 DE:LAYS /SKIP AT END 0F MIN DELAy SKP TSTMAX / E R Fi 0 R ASCOP /ACCELEBATING HLT T0 FAST WAIT ISZ /SKIP W0BK| AT END 0F MAX DE:LAY ERMAX '1 I ASCOP fl732 5446 JMP I ATST9 W733 0734 5344 44©5 JMP WAIT EBMAX, /SUCCESS JMS I PATH |J / I R F( 0 Fi ASCOP /ACCELERATING HLT 16 TOO SLOWLY MAINDEC-08-D2FA-D u /25 /4.55 HS MS DELAY DE:LAY CONSTANT CONSTANT /5 MS DELAY /L00PINC CONSTANT DELAY #1 ®©n /TE:ST 1%fl© 76214 TIMING 1®P1 7©,46 i¢fl2 7ra86 R T I.` 1Bfi3 7gfl6 RTL. 1©"4 7639 Szl_ 1®pr5 5245 JMP FiTI CLA PC;01 TEST FOR 1¢q6 6©14 1gq7 722'@ CLA 1¢1® 6fll2 PFiB 19]1 1%47 TAn 1%12 7¢49 CMA 1©13. 745© SNA 1@14 52.217 JMP 1%i5 72a© CL^ 1©i6 ira5© TAP coNi 1E17 31.1?? D'C/`\ WORK JMr TAn CKI cijN2 DCA WOE?K SVN5flc. IS3i, 1®?2 1fl23 1924 1ij51 3®22 2®22 ira75 5232 JMP FLCK 1q?6 44%5 JMS I 1©27 74[J)2 HLT ISZ2, ISZ ASCOP 4425 JMS I 1@31 52Z16 JMP SVN5flc 1P32 1933 6®1| 5224 1©54 44215 6G)11 522® JS DELAY CONSTANT WOFiK /CHECK 1®3© 1®49 TTMING /358 ISZ 2L;££ 1©37 SHOT SVN5®C+1 52.37 5516 5246 ONE svN4HN ]©?1 1fl36 PF}OPEFi RFC 1Gl?fo 1©55 CHIC;K LAS /DT25©fl u 9. TST9, FOPI EA3l Y FLAG /|fl©US DELAY /cHEC< FI_AG. CONSTANT WOPK /ERR0f] PATH. /ERROR /SCOPE =1 EXIT AG LATE HALT. _ATE FLAG MODE I.JOP WHEN A 1 STAL F|_CK, FisF JMP ISZ2 JMc: I ASCOP JMP CKSW4 `JMp SVN5flc JMP IS71 I /sur,CESs MODE /SCoPE MODE 10]41 44%5 JM,C 1942 1®43 74'J92 4423 HLT JM.C: I 1©44 522}6 JMP S\/N5flc AScOP CHECK /EXIT RSF CK1, PATH. /SCOPE PATH. /EBR0f?. F.OP IF ScJPE EAPLY u 17 MODE FLAG=1. MODE FLAG QTAL /SCOPE SUCCESSFUL TEST LJoP /EPP03 /CHECK FOR LOOP T0 EARLY MAINDEC-08-D2FA-D /pool 1045 1046 1950 3022 TEST PC01, DCA FOR TAD MOTOR DELAY /FETCH, CONI /T0 WoF}K f]EAD SPEED, GET UP NEXT RFC L'00P RFC 1052 1055 1 50 PSF JMP 7200 1921 6 3 CLA .-1 TAD M7776 DCA WORK2 TAB CON5 WORKI W 0 Fi K PC01+2 CONS /WAIT DCA WORK /S0 ISZ WORK JMP .-1 1062 1063 3022 2022 1966 1067 014 6011 5302 PETUQN ' 1@7@ 72@0 CLA 1071 1072 1055 7510 TAD /START RFC JMP BEFORE T0 EXERCISE THE DELAy THE DELAY Ms TIMER PATH NEXT TEST RSF D65MS /CHECK WORKI 35 SPA JMP ERPC0 ©5 JMS I JMP CKSW4 1976 5316 5245 JMP Pool 1077 44®5 ERPCO, 1100 1101 1102 7402 5245 2056 HLT D65MS, 11©3 741© SKP 112]4 5311 JMP ERPC01 ISZ Wof]KI 1106 055 5310 JMP .+2 11fl7 551© JMP .+1 111fl 5266 JM,P RETURN 1111 4405 E Fi P a 0 1 , JMP JMP /SCOPE JMS I ISZ MODE /E:RROR HALT. /SCOPE MODE I ASCOP /ERROR HALT M.S. /CHECK 65 35 TIMER MS >65 M.S. /CHECK FOR LOOP 0N RESET THE FLAG MS TIMER IJ PC01 I RRB ATST2 LAS 2-9 F]TL /SWITCH 4 /PUSH START JMP <35 LOOP /DELAY /TESTS 5314 <35MS DELAY WORK2 RTL SPA DELAY /INCREMENT JMS CKSW4, 51© LOOP /ERROR. ASCOP PC01 RSFLC, JMP /SUCCESS /SKIP T0 A§COP .HLT 1122 5MS AS RSFLC /TEST 1® TST1@. FLAG RFC RESET TEST FisF JMP .-1 HLT /SCOPE /START /THE 18 T0 MODE CHECK /ERROR HALT, SWITCH FLAG DID THE NOT PROCESSOR RESET u MAINDEC-08-D2FA-D u JMP TSTlg OK1®, JMS I ASCOP SKP JMP TSTlg /TEST 11. /AND SYNC READER TSTlli CHARACTER SpEED RECOGNITION /SETUP CLA TAB DCA TEST CHE:CK TWI INF.1 0CA ST0f]2 0CA WORK DCA COUNTA TAD DLI DCA WOF]K1 RFC1, RF'C ISZ COUNTA JMP TIMI /FETCH HLT D0BBB, /COUNT CHARACTERS /SHOULD NEVER GE:T HERE ORB SEA JMP I JMP RFCI ACKEF} /BAD ACKER, CKEFi COUNTA, © DL|, r255 /173 ATYPOT. TYPOUT Twli ©261 /& SECOND TIME IM1, ISE DECIMAL LOOP /1 NOP /2 /1 WOFiK SKP JMP TIM2 RSF JMP TIMI JMP DORRB 46.®8 11.25 MS ISZ US LOOP LOOP / 2`. 5 /1 IS= WORKI /2 TIMI JMP /TTY READ PRINT /1 I ATYPOT /8 DO 217 SECONDS uP DECIMAL 4.5 LOOPS ROUTINE i{ 5 0 0 0 MSG1, a BACK, TAB CLA I IRI TLS TAD END SEA SKP JMP CRWAIT TSF JMP .-1 JMP BACK CPWAIT, TAB DCA WORKI TAB M7776 /STALL M25 FOF} /CARBIACE 19 f}ETUF}N US LOOP MAINDEC-08-D2FA-D WORK W 0 F! K .-1 WORKI CBWAIT+2 I MSG1 -25 -215 STALL 0 M4 WORK N7 7 7 6 WORKI W 0 fi K 1 .-1 WORK STAL7©+4 I STAL7g -4 0 /CHECK FOR SCOPE /YES, MODE SCOPE MODE. ICB RETURN /RETURN /CHECK FOB HALT /N0 0N HALT ERROP 0N ERBOR. |CR RETuf}N U /RETURN /SETUP ROUTINE:S /ENTER /AND WITH BAD FOR GOOD TTY PRI.NTOUTS CHAF}ACTEF} CHARACTER IN IN ST0f}2 STOFil A 1 2 f' © •/PRINT ETUP1' GOOD AND BAD CHABACTER IN 0CTAL ® CLA TAD AND /BAD C;HARACTER JMS /GooO CHARACTER `-`'' a MAINDEC-08-D2FA-D G00D1+1 STOR2 MSKI TW6 G00D1+2 I SETUP1 /SAME AS /AND STALL SETUPI /BLOCK LENGTH SETUP2, a CLA WITH IN THE STOR3. BLOCK LENGTH STALL IN STOR4. CLL TAB BLSTOR AND MSK4 JMS B0TAT6 /BLOct{ LENGTH BLKLNG BLSTOR MSK2 ROTAT3 BLKLNG+1 BLSTOR MSKI TW6 BLKLNG+2 LASTAL /STALL MSK5 TW6 STALLI LASTAL MSK4 B0TAT6 STALL1+1 LASTAL MSK2 ROTAT3 STALL1+2 LASTAL MSKI TW6 STALL1+3 S T a Fi 5 /C;HARAGTER PoS|TI0N MSK4 ROTAT6 POS I T STOR5 MSK2 ROTAT3 POSIT+1 §TOR5 MSKI TW6 POSIT+2 STOR2 MSK3 RE ROTAT6 /GOOD CHABACTER MAINDEC-08-D2FA-D DCA C00D2 TAD STOR2 AND MSK2 JMS BOTAT3 DCA GO0D2+1 TAD STOR2 AND MSK| TAD TW6 DCA G00D2+2 S T 0 Fi 1 /BAD CHARACTER MSK3 Fi 0 T A T 6 •8 A D 2 TA0 STOFu AND MSK2 JMS ROTAT3 DCA BAD2+1 TAD STORI AND MSKI TAD TW6 DCA BAD2+2 JMP I SETUP2 FioTAT6, .a RTR RTF\ RTR TAD TW6 CLL JMP I ROTAT6 ® ROTAT3, •u` RTR RAR TAD TW6 CLL JMP I ROTAT3 TW6, 26© #14@@ /TEST 11 ERB0B I ASCOP I I ATSTll AEF"LT CKER, JMS CONTROL DCA AND PBINTOUTS ST0BI /STOF}E BAD CHARACTER SKP JMP JMS /SCOPE LOOP HLT TAD PRINTI DCA 181 JMS I Sul JMS I AMSGI JMP ATST||, I ATSTll TST|l ACNTA, COUNTA T6. 26@ SAVE1, 8 SAVE2, 0 SAVES, @ PRINTS, K094©, u INF5 48 22 MAINDEC-08-D2FA-D u 1423 76©4 TYPOUT, 1424 1425 1426 1427 9222 7459 5257 7200 AND 143© 1614 TAB 1431 7flQ16 RTL 1432 78©6 RTL 1433 @®27 AND MSKI 1434 TAD T6 1436 1437 1215 71 1614 7012 144fl 7©12 RTR 1441 1442 1443 1444 1445 1446 7fll2 8927 1215 3272 1614 7012 RTR 1447 145fl 7@19 0©27 RAR AND MSKI 1451 1452 1453 TAB T6 1455 1456 1215 3273 1221 11 4426 5613 1457 6@11 FLTST, 146fl 5257 JMP 1461 76@4 LAS 1462 1463 1464 1465 fl267 745® 5613 5666 AND LAS K8©4© SNA JMP FLTST CLA I ACNTA DCA TAD INF5+1 I ACNTA RTR AND MSKI TAB T6 DCA TAD INF5+2 I ACNTA F!TR DCA INF5+3 TAD PBINT8 DCA JMS JMP IRI I AMSG1 I ATSTll RSF .-1 C2® SNA JMP I ATSTll JMP I .+1 52©© 2@ ® /X /X /X /SLASH /S /E /c /SPACE /0 NUMBER GENEf]AT0f] @ LJ 23 MAINDEC-08-D2FA-D ANT) SEA JMP .+4 TAD FOUR TA0 RANUM JMP I GENRAN CLA TAB RANUM JMP I CENBAN RANUM, 2371 THREE, 3 TSTEPO, 177 FOUR, 4 /TAPE LOOP TAD DCA JMS SYNC IRI I AMSGI STFisNC, 0CA POUTINE PRINT6 TAD M7776 0LY13 RFC /CHEct{ FOR SYNC CHARACTERS RSF JMP .-1 CLA -` RFiB SNA /TEST JMP INSYNC ISZ DLY13 IMP STF{SNC+2 CHARACTEf] /13 P RI N T 3 /TIME READ SECOND TIMER 0uT 1B1 I AMSCI STRSNC INSYNC, TAD CLA DCA JMS /SYNC CHAf{ACTER DETECTED PfHNT4 IRI I AMSGI LAS /CHECK SW3 /STABT T0 RTL RTL SZL JMP .+5 TAD M377 HLT /CONTINUE T0 /IF SELECTING /OR STALLi /IF READING /CHAR. PUT RESYNC G0 0N BLOCK LENGTH LOAD PARAMETERS ALL SAME IT IN STOR2 IST CHAP. STRSNC /SET 24 UP COMPAfiE RE O MAINDEC-08TD2FA-D JMP I SETONS+4 RTR SZL JMP SETONS CLA TAD ONE DCA STOF}2 JMP I SETONS+4 SETONS, CLA AND CMA TH77 DCA STOF(2 JMP I .+1 2@©© DLY13' @ ONE:, 1 TH77. 377 PRINT6i POSIT+2 FEN BLOCK HOUSEKEEPING /SET /STORAGE ERRORED LIMIT .+4 I AGNRAN /GET RANDOM /MAX LNGLIM BLOCK LE:NGTH LENGTH 177 BLSTOR BLSTOR STOR3 .+3 I AGNRAN /GET BANDOM STALL STLSTR STLSTR /MAX STALL /CLEAF} u 2 Ef]B0R SEC ST0BAGE CHAR MAINDEC-08-D2FA-D /READ-COMPARE READ, LOOP RFC FZSF JMP ISZ .-1 CHACNT CLA F!RB DCA STORI TAB STORI /DEAD NEXT /SKIP IF CHAF}ACTER CIA TAD STOR2 SzA JMS I APTNOW LAS RAR /GOOD /SET UP SZL /GOOD JMP COMPAF}E /BAD NEXT CHARACTER ISSZ /ALL IISz /BINARY SAME RAR SzL JMP COUNT CLA TAD STOR2 CMA AND THRE77 DCA STOR2 JMP ||SZ, ISSZ ISZ STOR2 /INcf]EMENT COUNT /CHECK FOF} END IN INCREMENTS NOP CLA TAB ST082 AND THF}E77 DCA STOR2 |SS£, JMP /MASK ISZ /NOT BITS AT /CHECK BLOCK END F.OR STORED EBF}Of]S CON6 DCA IR2 TAD I IR2 I APTEND SPA JMS 8 ST0f]3 READ CLA TAD OUT /SKIP /PRINT IF N0 EFmoRs. EPB0R END BLocK CLA TAD STLSTFi DCA LASTAL |SZZ, ISZ STOF}4 /STALL SKP UMP /OF' 18© US. CKFiESC CLA TAB CON7 DCA WOF{K ISZ WORK JMP .-1 JMP ISEZ STALL /CHECK LAS C K 8 E: S C , AND /1@EUS FOR F}ESYNC CON1© SZA JMP I JMP HSKP ASTSNC /START 26 NEW BLOCK `-.. MAINDEC-08-D2FA-D u /CONSTANTS AND VAFuABLES CON7' -3® CONS, 2® CON9, 40 CON1@, 1© LNGLIM. 177 THRE77. 377 M12©, -12® M1, -1 M3®, STLSTR. -38 B ASTSNC, /F(FAD STRSNC -COMPARE LOOP SUBROUTINES ti 2 2 a a /EBF}OF! ©®© POUTINE PRTNOW, % 4©5 JMS 41© 60© JMP 22©4 7604 LAS /ERROR 22®5 7©©6 FiTL /OR I ASCOP I PRTNOW SKP REPOR'TING NOW LATER RAL T Y P E: - 5 /PBINT /STORE NOW ERRORS. PRINT LATER STORLM SKP JMP DCRSTR 15 16 17 222© 2221 1©33 3412 1%34 3412 1®35 TAD MSK5 DCA I 2222 2223 2224 3412 1057 3412 DCA I TAB CHACNT DCA I 2225 44®3 /LIMIT /PUT STORI DCA I TAD STOR2 2231 7©fl6 RTL 2232 7806 30 FITL IF]2 JMS I AERHLT /SKIP /READ I CLA TAD CHACNT DCA STOR5 TAD PRINT2 /PRINT IRl 1 4442 4426 HALT 0N ERROR C;KTEN DCA 2242 2243 N0 PRTNOW TYPE, 1®57 3®49 1©25 FOB E:RROR S2L JMS 2236 2237 224© STORAGE: IR2 HLT LAS IN IR2 CEK, JMP REACHED CHAR IF(2 TAD 6®4 E:RF} JMS I SU2 JMS I AMSGI JMP CEK 2245 72@@ 0CBSTRi 2246 2247 7040 '3963 C;MA DCA STORLM 225@ '56@@ JMP I CLA PRTNOW 27 BAD AND GOOD MAINDEC-08-D2FA-D /PRINT ERB0BS PRTEND, AT END BLOCK @ 2251 ®@©© '2252 72@@ 2253 1©35 TAD 2254 3@©@ DCA 2255 1412 TAD I 2256 2257 2260 2261 3034 1412 3035 1412 DCA STOF(1 TAB I DCA STOF(2 TAB I 2262 3©4© DCA STOF\5 2263 2264 2265 2266 2267 227fl 2271 1025 3911 4442 4426 1412 7710 5255 TAD Pf"NT2 2272 72©0 CLA 2273 1©©© TAD AEf3HLT-3 2274 2275 2276 2277 2300 2581 2302 3055 5651 000© 2065 5676 57©2 163© DCA STOR2 JMP I CLA STOR2 AEF"LT-3 IF(2 DCA IR2 IR2 I SU2 JMS I AMSGI TAD I IFi2 SPA CLA JMP PRTEND+4 GOOD /PUT POSITION CHAR |N STOR1 IN STOR2 STOF(5 a JMP I CKTEN JMP I .+1 STRSNC INF'3, PRINTOUTS I 8 393 /C /A /N /N 26©2 ©3©1 3©1 2603 fl316 26®4 fl316 26fl5 2606 0317 0324 316 316 317 324 26fl7 024© 24© /SPACE 0323 323 /S 2610 /PUT IN CNTE:N #2600 00@® fl303 CHAR PFiTEND CKTEN, /TTY 2600 26©1 BAD If\1 JMS |SZ /PUT RE /0 /T 215 INF4, 2621 2622 2623 2624 2625 2626 0240 0323 9331 0316 9303 0256 2627 263fl 2631 2652 2635 2634 2635 024© 0323 ©324 ©301 ©322 ©324 924© 2636 ©324 a 311 /I 316 249 323 331 /N /SPACE /S /Y /N 316 303 /C 256 249 323 /. 324 /T 581 322 324 249 524 /A /SPACE /S /R /T /SPACE /T 28 u MAINDEC.-08-D2FA-D `u /0 /SPACE /Y /N /c / S P A C; E /C /@ /N /T /. /SPACE /T /0 /SPACE /C /0 /SPACE /0 /N /LF /CR CLA TAD DCA TAD DCA TAD DCA RFC a I N , Fi S F. SKP JMP TAB IAC DCA TAD CIA TAD N272 SEA CLA JMP FINUP TAD N26@ DCA D2 TAD I)1 /SKIP IF. A CABBY /SKIP IF CARRY IAC DCA TAB CIA TAD SEA JMP TAD IAC `.t`. DCA TAD DCA 29 MAINDEC-08-D2FA-D FINUpi JMP F'INUP2 AND a AND© AND® AND0 FINUP1, /63.75 /TO US, 42.5 C:YCLES HERE. FINUP2, /+9 MORE: /2 CYCLES DO /1 CYCLE LOOPS /99.75US /LETS US LOOP CALL IT 6 FOF{ 27 US TOTAL .1MS 3267 3 2 7 fl 3271 3272 3273 3274 3275 52:J 6 32:I 1 N26g, 268 N272. 272 PBOADj D®-1 TUSE' -6 K2©, 2® TOUT. TAB PROAD DCA JMS IRI I AMSGI LAS AND K2® SEA JMP JMP I DUL .+1 TSTll U 30
Home
Privacy and Data
Site structure and layout ©2025 Majenko Technologies