Digital PDFs
Documents
Guest
Register
Log In
MAINDEC-12-D1DA-D
1969
20 pages
Original
0.4MB
view
download
Document:
Checkerboard
Order Number:
MAINDEC-12-D1DA-D
Revision:
0
Pages:
20
Original Filename:
http://bitsavers.org/pdf/dec/pdp12/diagnostics/MAINDEC-12-D1DA-D_Checkerboard.pdf
OCR Text
IDENTIFICATION PRODUCT CODE: MAINDEC 12-DlDA-D(D) PRODUCT NAME: PDP-12 CHECKERBOARD DATE CREATED: OCTOBER 20, 1969 MAINTAINER: DIAGNOSTIC GROUP AU'T'HOR: HAROLD LONG COPYRIGHT€) 1969 DIGITAL EQUIPMENT CORPORATION 1. ABSTRACT PDP-12 checkerboard is designed to test the operation of the PDP-12 memory, from 4 to 32K. It accomplishes this by using the L mode instructions LAM (link & AC added to memory, sum in AC and memory), ADM (AC added to memory, sum in AC and memory), a~d SAE (skip if accumulator is equal to designated memory register). The algorithim used for testing is to first set the memory cell under test to 52521 second, set the AC to 6525, and rotate it into the line one place, resulting in the AC= (1) 5252 (the (1) indicating the link is set)r third, a LAM is performed into the test cell and two comparisons made; once for the AC = 2525, and once for memory equal to the AC. Fourth, an ADM is performed~ since the AC is now equal to 2525, and memory equal to 2525, the sum will be 5252. Another test of the AC and memory is made. If any of the comparisons fail, an error routine is enteredr otherwise, the memory target address is incremented and testing continued. This test will cycle throughout all available memory, a.s determined by the right switches. 2. REQUIREMENTS 2. 1 Equipment a) b} Any PDP-12 computer, (with or without EXT. memory) An ASR-33 teletype or equivalent. 2.2 Preliminary Programs a) b} 3. Insure that the binary loader is operating properly. If this test will not run as indicated, verify processor operation with CP Test 1 (INSTST). No other programs are necessary. LOADING PROCEDURES 3.1 Method This program must be loaded with the binary loader. If you are unfamiliar with the proper binary loading procedures refer to "Appendix A" of this program, otherwise precede with the following: al b) c) d) e) f) g) h) i) Set the teletype reader switch to FREE. Open the teletype reader and insert the program tape so that the arrows on the tape are visible to and pointing toward the operator. Close the reader and set the reader switch to START. Set the teletype front panel switch to ON LJNE Set the LEFT switches to 7777. Set the RIGHT switches to 4¢¢¢. Set the MODE switch to 8 mode. Depress I/O preset. Depress START LS. j) k) 4. STARTING PROCEDURES a) b) c) d) e) f) 5. '..then the program tape has been read the ACCUMULATOR must be ¢¢¢¢ if it is not, a read-in error has occured and one might try reloading the binary loader. Remove the program tape from the reader. Set the RIGHT Switches SR7 thru 11 to the amount of memory available, in lK segments, within the range ¢ to 37. (In a 4K machine this would be ¢¢¢3). Set the MODE switch to B mode. Depress I/O preset. Depress START 20. The program, when properly running, will cause the data field lights to appear to be counting up, and the teletype bell to ring at intervals dependent upon the amount of memory being tested. Attempting to test non-existant memory may result in program destruction or false error printouts. ERROR ROUTINE 5.1 Switch Settings In general, SR¢-3 allows selection of the error mode. With all switches equal to zero, the sequence would be: (HLT) - OPERATOR SELECTS ANY ADDITIONAL ERROR OPTIONS AND DEPRESSES THE CONTINUE SWITCH (ERROR PRINTOUT) - (NEXT CELL TESTED) SR¢¢ = l SUPPRESS HALT SR¢1 = l SUPPRESS PRINTOUT SR¢2 = l SCOPE LOOP ON FAILING CELL SRf{f 3 = l LOOP ON SELECTED FIELD With SR¢3 = 1, the right switches ¢7-11 must contain the field you wish to test, within the range ¢ to 37. The diagnostic will cycle within this field, stopping only in the event of an error. SR¢4 = 1 DUMP PASS COUNTER Setting this switch to a one causes a type out of the contents of the pass countero A start 2¢ will set the counter to ¢¢¢¢. SR¢5 = l INHIBIT BELL RING AT END OF PASS. 5.2 Error Printout The error printout has the following general forms LINC CHKB FIELD LOCN 0007 0400 0007 0400 CONT 2524 5202 ACUM 2525 5202 The message is interpreted as follows: FJELD - The data field being tested, within the range 0 to 37. LOCN - The 10 bit address within that field. CONT - The contents of that location; this should equal the AC. ACUM - The contents of the AC. This should equal either 2525 or 5252. 5.3 Error Analysis Compare the memory contents against the contents of the AC. In the first example, it is apparent that the AC is correct, indicating proper data acquisition, but that memory is bad, indicating poor write response in memory - this could be either inhibit current, memory timing, or bad cores. In the second example, both memory and the AC are the same, but the data is bad, indicating poor read response. This could be marginal sense amps, memory timing, or bad cores. These are examples only, and are not to be taken as a hard & fast rule. 0'-"00 0iHH 0002 0003 121004 0170? 0006 007 00H 0011 0~H2 0013 ;:)014 iZ015 0016 0017 0020 0021 0022 0023 0024 0025 0026 3027 ·~0 ,10 0031 0032 0033 0034 00 S5 <J0 S6 0037 004>0 00 4:i 0042 0043 0044 3045 0046 0047 .J050 *20 tPDP-12 CHECKERBOARD, MAJNDEC 12-01DA-l /COPYRIGHT DIGITAL EQUIPMENT CORP,, MAYNARD, MASS. I /AUTHOR: HAROLD LONG I TEST IS DESIGNED TO CHECK THE OPERATION POP-12 INSTRUCTION "Lt,M". /IT MAKES USE OF THE "READ -MODIFY -~RITE /~EMORY CYCLE TO TEST MEMORY REL!ABL!LiTY. /THE PROGRAM OCCUPIES CELLS 0000 TO 0300 !IN BANK 0. IT WILL CHECK ALL OTHER MEMORY /AVAILABLE. /THE ALGORITHM USED FOR TESTING IS T SET /THE MEMORY CELL UNDER TEST TO 5252, AND THE AC /THE AC IS ROTATED INTO THE LINC ONE PLACE /AND A LAM TO THE TEST CELL EXECUTED IA SAl IS EXECUTED FOR TESTING PURPOSES AND THE /ROUTINE CONTINUED /AN ERROR WILL CAUSE ENTRY INTO THE /ERROR ROUT I NE /1H!S /Jf HE 0 525. I I I /SWITCH SETTINGS: I /RSW /RSW /RSW IR SW ;R SW /RSW I 00=1, INHIBIT ERROR HALT 01=1, INHIBIT ERROR TYPEOUT 02=1· SCOPE LOOP ON FAILING CELL 0 3:: 1 • SCOPE LOOP ON SELECTED BANK fl4= 1 • DUMP PASS COUNTER 05=L INHIBIT BELL /RSW 1'.17 TO 11 ARE SET TO THE HIGHEST MEMORY BANK AVAILABLE• /WITHIN THE RANGE 0 TO 37. IN A 4K MACHINE, THIS WOULD BE /0003; WITH RSW 03=1, THE DESIRED BANK MUST BE IN THE SWITCHES. I I ll/O PRESET TO 8 MODE, I EJECT START 20 1!051 0052 I 3053 ;)054 I 0055 .U5'1 /TAGS ANO CO~STANTS PM ODE ? ? 210 AUT01, 2~51 .4JT02, ilS..i8, ';; ( A0T05, <>0001 2000 2351 n20 .:'.? '.i ~ c zz '.) Z2'l1 z~" 02 - i ~ 3 Zt04 : z5 2263 .:'2 i'6 JZ64 ~'·' :'2 Z?. 2 7 ,3 ?~2 '.'-~LSSA, 2365 221? 2?22 AL'T010, K215-1 0e00 2066 ~211 ~.::1 ~~ TEMP, 0000 2067 ·z 212 0070 2213 "<1026, "< 77 7 4, Hl 2 6 7774 0000 V'.i>l 57 : .; 6 2 _· z2 z / ~· zz _-, ~UT04, ERROR1, 0000 0071 0214 ·, ~ 26 . ., . ., 7 4 J?,0 0il72 2?15 ll3 REGS, MASK, ll073 3074 0075 0016 "42 K0240, 0217 200 0076 2062 zn0 BANK, I EJECT 0033 0240 0000 f.107/ I 0 00 ;3101 PM ODE I 0Hl2 /MAJOR START 8 MODE rJHl3 I JH'.4 ?'c 05 n U '4 :1 06 .. l ' 2l 22 1 / ;~? 3 1 2 24 '~ 11 l 1:i4 25 26 1"' .... j ~"'" L l :\ tGO TJ LINC MODE L[-100[ _.,.,1.\".._, '. *0020 START, "~ I) .~ I Ad 7' 2.:; /RESET PASS COUNTE SET l A J T 0 '.) /RESET PSS RESET /STA T WITH BANK 0 /READ THE SWITCHE /SAVE BITS 1217-11 RS i'./8 /SAVE FOR ITERATION /F!XEJ FIELD? SE 7 .;; 3 0C 65 0122 0123 0124 0125 01 26 6034 7'377 v 35 0450 36 li>J37 40 6133 01 ?7 .~041 2516 0130 ~:;; 42 i0 43 '30 4 4 V'.0 45 00 46 "560 JMP fi'S w BCL I 7740 STC RSW 9CL I 7377 HE JMP SET AUT02 RSW BCL I 7577 7577 08 4 7 ;;(fi 50 3450 6333 10 20 ::J640 2'H7 AH JMP LD A l LOF ADD STA CHANGE STA CHANG2 STC '.,6 27 1 l 1 30 7 7 11 I 1?0 ZC31 ;32 ;~ ;33 3 a12: 0131 0132 0133 0L54 0135 0Li6 0137 0140 0141 Jl t,2 0143 01 44 51 0052 0 53 (IQ'.54 MJ55 Jt) MULT!P~l q 0000 !)•,'. 4 ii'. 4 03 1 . 3t 6 5se 0t41 ·ii 02 GC, lvj 40 02 00 1iil40 .1207 4056 EJECT FlLD1 AUT01 !CHECK FOR SWITCH 03 /WAS IT THERE? /SET FOR FIXED FJELD !SET LOWER LIMIT /READ THE SWITCHES !SAVE SW 04 DUKP !IS IT SET? /YES, TYPE PASS COUNTER /PICK UP LDF BANK /ADD NEW BANK NuMBER /RESET INTERNAL LDF SETB /STORE FOR EXECUTION '0146 ° :> 1"! I 0147 01511l 0151 ?152 I /TEST MEMORY WITH LAM, ADM, AND SAE ces6 ?2100 0V57 ·.0011 1 r12v6525 //6'l 015"'. V?f1 2154 ;·? 62 01 ')5 SETB, BACK, ;>{,: 114'... 0000 CLR LOA I 6525 ROL I STA J156 ··~· 64 63 .:? .. Lt . . ._ LAM 0157 <1265 '.. 4 6t:l 0160 il161 0162 016.3 0.166 0J67 ;5z5 SAE I 2525 JMP SAE JMP ADM SAE I 5252 JMP SAE JMP XSK I JMP XSK I LOA BANK COM ADD ADD APO 1 JMP EJECT ~164 016!:> iilJ. 66 0167 0170 0171 0172 0173 0174 0175 0176 3177 0200 0201 0202 02e3 3204 rzn 1 ... ? .. 6 '. 51 : •141 1n1 6151 {.1c"'72 v.;>73 1460 iZ74 5252 1:41 ~0 n5 61 :51 0e76 0077 Ctel tHl1l2 eie3 1441 6151 nz1 5.il57 J(37 ~- :300 l'.;104 J017 0105 0Hl6 2003 dlil;{\ 21017 011iC 2252 0471 Zill 6~46 (~107 INCRN, /EXECUTE LDF /CLEAR LINK /PICK UP CONSTANT 1 AUT01 AUT01 /SET LINK, JUSTIFY /!NO!'<ECT TO OF /AQD (AC~N&L!NKJ=252~ /AC OK? ERROR AUTO! ERROR AUT01 /NO. GO TYPE MESSAGE /MEMORY OK? /NO, GO TYPE MESSAGE /ADD THEM TOGETHER AGAIN ITES"T ERROR AUTOl ERROR AUTOl BACK BANK RSWB K0001 GO /TEST MEMORY /INCREMENT TARGET /TRY ANOTHER CELL /WILL NEVER SKIP /PICK UP BANK /COMPLEMENT /COMPARE WITH RSW /LAST BANK? /NEW BANK 02;!)5 1?112 113 J77 225 16 207 l2 H>: 0211 17 8CL 21? 7o7 2 ; '22 « 1 23 ' 124 ;·:. 25 .>15;:1 ,\ E 2'6 JMP r '126 '; > 26 ?226 22 7 .:2 3iiJ it231 ;:? 32 AUTOS l /RESE, d /TO i!:EROS /P SS MULT PL! ER /NO SKIP ANTED /READ T E SWITCHE 5 /Si\VE S I IS STi\RT+6 T? ;YES, l NH! 8 i BEL /PICK lJP ONS NT !BELL CODE OOE 41' 1 s /RING JT LMOOE t223 ;: ~ 4 BANK 2 07 ;r;, iZ Z221 c :: SET l 00 XSK l RSW ~ ") R SET, 0000 1;;? OB 5 iZ ~'. P"'IQ[) 1 ,,., "' '->':' TSF :) 4J /WAIT LMOD 131 132 6127 6126 EJECT JMP • -2 JMP START+6 /NEXT PASS 0233 0234 0235 0236 0237 0133 kl134 0135 0516 1560 /RlAO RSW BCL 7740 l261 SET I 3777 ?137 3777 :3140 ;,;141 :· 142 '.' j 0243 0245 '..143 ;J; ~ 4 4 (1 145 5Z46 02'16 "·~14 6 2'~141 02 4 7 V147 0250 ?l?.:51 1:152 11'.'. ;>2 61Z·ZJ 70 A~E ,,. 4 6 J~P ~ J 4 [' JJ17 4 ;~ 0 :3 STA SET2 /NOW SEE rr F"IELD 0 /IT WAS GO AUTOl /SET UP LIMIT BUFrER /BACK TO MAINLINE If" !ELD fil 0 /8ACK TO FIELD 3At.iK SET2, SET AUT02 JMP EJECT A~AlN /IN f"JELD 0? /TRY FOR ~HOLE f"!ELO I STC JMP ~WllCHl~ AUTOl 7740 ;1136 024e 0241 vP42 L.2 44 r I LDl. RSwB I INTO 1:11 01 0254 0255 0256 0257 0260 0261 0262 ll263 026.6 0265 0266 0267 0270 02 71 0272 0273 0274 0275 0276 0153 0154 0155 0156 13157 n6e l161 2162 J163 0164 0165 J166 l167 0170 0171 0172 e173 0174 0175 0277 0176 0300 0301 0302 0303 0304 0305 0306 03 07 0310 0311 0312 0313 0314 0315 ~1177 0200 e201 0202 0203 0204 0205 02 06 ~2 07 iiJ2Hl 0211 0212 4006 ERROR, 0516 0471 APO I 0000 0241 0471 6164 11241 2471 CHECK, 6100 6057 1000 TYPE, /l;;l~d3 ~470 6213 1000 0017 6226 1000 0001 1560 6000 6226 0000 HHll 6226 1000 0006 6226 6316 0000 0516 0241 6160 ERRORl HLT ROL APO I JMP ROL APO I JMP JMP LOA AU TO 1lil Ai!E I JMP LOA BANK JMP LOA AUT01 BCL I 6000 JMP CHANGE, 0000 LOA JMP LOA ERROR1 JMP JMP CH AN G2 , 00 00 RSW ROL JMP I EJECT 1 TYPE 1 INCRN BACK HEAD OUTYP OUTYP AUT01 OUTYP OUTYP CRLF 1 CHECK /SAVL /READ TH£ SWITCHES /SWITCH 0 i? /NO, STOP /ROT ATE /SWITCH 1 SET? /NO, TYPE ERROR /ROTATE /SWITCH 2 SET? /NO• TRY NEW CELL /YES, USE SAME CELL /CHECK FOR HEADING /MESSAGE POINTER /WAS l T TYPED? !NO, GO TYPE IT /GET BANK UNDER TEST IT YPE ! T /10 BIT ADDR /TYPE CELL LOCATION /CHANGE DATA FIELD /GET CELL CONTENTS /TYPE IT /TYPE CONTENTS OF AC /RETURN AN 0 LI NE FE ED /CHANGE DATA F !ELD /READ SWITCHES AGAIN /JUSTIFY /CHECK WITH MONITOR 0316 I /TYPEOUT ROUTINES 0317 03~0 0321 0322 0323 21324 0325 0326 :1327 033il 0331 0332 21333 0334 0335 0336 0337 0340 0341 0342 0343 0344 0345 0346 0347 0350 0.351 0352 0353 0354 ill355 2356 0357 0360 0361 111362 0363 0364 111365 0366 I '11213 0002 0214 0215 0216 0217 e2211l 2221 e222 0223 e.224 6201 1007 3010 7450 5224 4325 5217 6141 e225 0226 6000 0002 0227 0231'/l 0231 0232 0233 0234 0235 0236 0237 024fll 0241 0242 0243 0244 0245 0246 0247 025111 3011 1013 3014 1012 3010 1011 7004 3011 0251 6000 HEAD, PM ODE 1410 POP /GO TO PMOOE 00 CDF TAD MESSA AUT010 OCA AUT010 TAD I SNA ,+3 JMP PRINT JMS JMP .-4 LI NC /DATA FIELD 1 JMP POP liJ /RETURN /SACK TO PMODE OCA TAO OCA TAO OCA TAO RAL OCA TEMP K7774 REGS KUJ26 AUT010 TEMP /SAVE DATA /SET REGISTER !TO -4 /GET CONSTANT /SAVE /GET DATA /ROTATE /SAVE IT /GET CONSTANT /ROTATE /OK TO PRINT? /NO, ROTATE SOME MORE /YES TYPE IT /DONE? /NO /PICK UP SPACE CODE /TYPE IT /BACK TO LMODE LMODE OUTYP, PM ODE HERE, REDO, Hl10 TAO 7004 7420 5233 4325 2014 5232 1016 4325 6141 RAL SNL JMP JMS !Sl JMP TAD JMS LINC TEMP AUT010 REDO PR INT REGB HERE K024111 PRINT U10DE 0252 0,.,1111 JMP PM ODE K111fll01, EJECT 0001 111 /SET UP HEADER /GET FIRST CHARACTER /DONE YET? /YES /NO, pRINT CHARACTER /GET NEXT CHARACTER /BACK TO LMODE I /RETURN I /MESSAGE TABLE 0371 0372 0373 12!374 12!375 0376 0377 0400 0401 0402 0403 0404 0405 0406 0407 0410 0411 0412 0413 0414 0415 0416 0417 0420 0421 0422 0423 0424 0425 "J426 0427 0430 0431 0432 0433 0434 0435 I 0253 0254 0255 0256 0257 0260 0261 0262 0263 0264 0265 0266 0267 027121 0271 0272 0273 0274 0275 0276 0277 031110 031!:'1 Ql302 0303 0304 0305 0306 0307 0310 0311 0312 0313 111314 0315 0215 0212 0314 0311 0316 0303 0240 0303 0310 0313 0302 0215 0212 0302 0301 0316 0313 0240 0314 0317 0303 0316 0240 0303 0317 0316 0324 0240 ;1301 0303 0325 0315 0215 0212 0000 K215, 1<212. EJECT 0215 0212 0314 0311 0316 0303 0240 0303 0310 0313 0302 0215 0212 031212 0301 0316 0313 0240 0314 0317 111303 111316 0240 0303 0317 0316 111324 0240 0301 0303 0325 0315 0215 0212 0000 /LINC CHKB /BANK LOCN CONT ACUM /END S!.3~ I /TYPE CARRIAGE RETURN 21437 0440 0441 0442 0443 0444 0445 0446 0447 0450 0316 11J002 0317 0320 0321 11322 0323 1253 0464 U100E CRLF, PM ODE TAD JMS 6141 /BACK TO PMOOE K215 PR I NT K212 PRINT LI NC LMODE 0324 JMP 6000 0 /SINGLE CHARACTER PRINT ROUTINE I 0325 0326 0327 0330 0331 0332 0MJ0 611J46 6041 5327 7300 5725 PMOOE PR INT, 0000 TLS TSF .-1 JMP CLA CLL PRINT JMP I /PASS COUNTER DUMP ROUTINE 0467 0470 I 0500 051111 0502 /PRINT CHARACTER /WAIT I 0466 0472 04 73 04 74 134 75 lil4 76 0477 /RETURN I 0465 13471 LINE FEED POP TAD JMS 4325 1254 4325 0451 0452 0453 0454 0455 0456 0457 0460 2461 0462 0463 ~NO I 0333 0334 0335 0336 11J337 0340 0341 0342 0343 0044 0000 LMODE DUMP, HHl0 0005 6226 6316 11Jl1J711J 0000 6004 SET 0 LOA AUT05 JMP JMP SET I AUT04 /SAVE RETURN /GET PASS COUNTER OUTYP CRLF AU T0113 !GO TYPE PASS COUNTER /GO CR-LF /CLEAR AUT010 TO ALLOW HEADER TYPEOUT AUT04 /RETURN TO MAINLINE 0000 JMP I 0503 /LINGKBD MODEL C es~4 I AUTO:!. Hl'l1 AUT010 e0a AUT02 0002 AUT04 (1;004 AUT05 0005 0057 BACK BANK Q\017 CHANG:O: CHANG2 CHEC" CR Lr ez00 0207 FILOl GO HEAD HERE INCRN 0133 e046 KrllliHH K0240 0252 0016 016;>, k:J316 DUMP i'.'.333 ERROR 0151 £RR0Rl 0006 0213 iZ232 ~10i'.' K1f26 .,111.12 K2l.5 K7774 0013 MASK 0015 MESSA 0007 f.:l226 K212 OUTYP PRINT Rt OU nEl.)b n~.- ~n;in~ JRVA ~o:::A 0254 0253 0325 iil2S3 t,l'Jl.'i - '"' .,. ... .). ..... £. Q .. :11. Q9Q2 9~4 '.) sE re: ftl 1~ 6 START TEMP TYPE 0020 0011 0164
Home
Privacy and Data
Site structure and layout ©2025 Majenko Technologies