Digital PDFs
Documents
Guest
Register
Log In
M-9312-0-5-B
August 1978
46 pages
Original
2.9MB
view
download
OCR Version
2.3MB
view
download
Document:
ROM Listing Diagnostic
Order Number:
M-9312-0-5
Revision:
B
Pages:
46
Original Filename:
K-SP-M9312-0-5_Aug78.pdf
OCR Text
W G G e Ty S S S G W Gl L4 THK R ARG GE ECT ND S AR S cps WD Y P § |18 » - W G T G G e U S T W G . W SR S - —— " W W . Y W G QI S G G | . GNP WS sy W W S TP e SN G S G S S S ' G GEUID G S G < S G W TYIS ¥OE VARIATIDNS I PEV TR S ] - ! . S i RS e S S . - ) ASSY, !FIRST NSFD -t - o N 49317 ! _— ] 'MADE RY: R e CRAMM - N POLLITT 'DATE: R STST e D E ] wHOLE IR T4 PART AS O W WP SN ST A SRG S WOR A T GE - W S . CRNCKER , ! . _ THE RASTS FNR 1976, THE ! ROM LTISTING DIAGNOSTIC ! ! ! ! ! 1 AuG 78 ! ! _ ISTZE!CODF! v 3 AUG 7& ! K ! tDATE: WMANUFACTURE DIGITAL EQUIPMENT ! ! 1 AUG 78 | NUMBER ! ! SP ! lASS ) Y, DOCUMENT ——! | OR SALE NF TTEMS CNRPARATION® -! : #: WITHOUT REV ! M3312=-0-5 ! — '- -] WRTTTEN ! ! B ! S G| ARE THE PRIPERTY IF DIGITAL FQUIPMENT CNRPD RATION AND SHALI NOT RE REpPRODUCED COPYRTGHT W 78 —l IRFSD,FNG.: T'i AUG _— IDATE: e NSED 16 I PETERSNH ! !TITLFE ! 'PRAND,: CORPORATION MASSACHUSETTS ! '!DATE: ! ‘ ! ! IDSH FuG,: DR 78 , ' ——! ! COPTED AUG ! | _— OR 1 EQUIPMENT MAYNARD, ] I D ) "THIS DRAWING -AND SOESTRICATIOGS HEPKTN, : 'DATFE e e LSHECKEN: DIGITAL ' ! - o PERMISSION, B G Jem W Paw S REVISTON HISTNRY Gan SR Qen T P S ROM LISTING DTAGMISTIC (K=SPeti0312eN=3) Page TDENTIFTICATION PRONICT NAME POM LISTING DIAGHOSTIC (K=SF=Mg312-0=5) SEZTTON SESTINN ¢ RPIM 2 RAM DATE 23«24RF1=«=«PAGE 23=R1AF1===PAGE 1t A(IG 197R 3 31 2 ROM LISTING DIAGNOSTIC (KeSP=M9312=0=5) pPage SECTION ROM 1 23«248F1 TABLE OF CONTENTS 1.0 OPERATIONAL NOTESese=ccecccc~cccmavae=PAGE 2.0 PRIMARY CPUDIAGNOSTICSeeecwcecccecac=sPAGE 15§ 3,0 CONSOLE FUNCTIONSececconccceccascccecc=ePAGE 18 4.0 TTY Hnnnncnsp-----------;-------------PAGB 21 5.0 SECONDARY CPU DIAGNOSTICSeeecceccccceacPAGE 283 6.0 MEMORY DIAGNOSTIC AND SIZE ROUTINES==<PAGE 28 4 3 ROM LISTING DIAGNOSTIC (K=SPeM9312=0=5) Page ¢ 1.0 OPERATIONAL . OVERVIEW . 1.3, 1.4, 1,5, 1.6. 1.7, INTERNAL NOTES | SWITCH SETTING A, POWER UP AND CONSOLE BOOT SWITCHES B, MICRO SWITCH SETTINGS CONSOLE EMULATOR BOOTSTRAPPING DIAGNOSTIC TESTS RESTARTING AT THE USER POWER FAIL ROUTINE LOAD ADDRESS AND START PROCEDURE ROM LISTING DIAGNOSTIC (K=SP«M9312<0-5) Page 1.0 OPERATIONAL NOTES NVERVIEW THE M9312 CAPABILITIES CONSOLE IS FOR SWITCH DESIGNED ALL REGISTER, BOOTSTRAPPING FUNCTIONS M9312 ROUTINES INCLUDES PROVIDES SOME BRASIC CPU SWITCH, BY USING OR THE PROVIDE SYSTEMS IN FOR BOOTSTRAPPING WITH OR ADDITION ALL MAJOR FOR CONSOLE AND MEMORY THIS BOOTSTRAP HAS FLEXIBILITY OF OPERATION, AUTOMATICALLY AT A POWER UP, BOOT EVEN TO PDP-11 TO PDP=i1 PROVIDING AND INTERNAL DIAGNOSTIC A WHAT BEEN DESIGNED FOR MAXIMUM ITS FUNCTIONS MAY BE INITIATED OR BY DEPRESSING THE CONSOLE BY A LOAD ADDRESS CONSOLE TTY WHILE AND START RUNNING SEQUENCE, OR THE CONSOLE SETTING SET OF MODULE, ACTION ACCESS TO Is ANY EIGHT MICRO THESE ARE THE TO THIS ACTIVATE SWITCH IS ARE THE LOCATED ROUTINES GIVE THE TO ON THE DETERMINE USER AUTOMATIC POWER UP AND CONSOLE BOOT SWITCHES PRIMARY SWITCH BY THEY ACTIVATING PROGRAMS ARE EITHER A POWER THE CONSOLE BOOT SWITCH, MICRO SWITCHES USED TO BE TAKEN, FUNCTION, A, M9312 TESTS, | SWITCH M9312 THE ALSO EMULATOR, 1.2. THE DEVICES, EMULATION GD-NOGO WITHOUT OFF THE M9312 REGISTER THEN A PROCESSES FOR THE M9312 Up SEQUENCE OR THE ENABLING OF ON A MUST NORMAL POWER BE IN UP, THE TRAP TO SWITCH ON 2 IN THE POSITION, LOCATION IF 24 TO EXECUTE THE SWITCH IS ON USER POWER UP ROUTINE WILL OCCUR, WHEN THIS THE OTHER SWITCHES, 3 THROUGH 10, WILL DETERMINE WHAT ACTION THE M9312 WILL TAKE WHEN THE POWER UpP OCCURS (SEE MICRO SWITCH SETTING BELOW), IF THE SYSTEM INCLUDES A CONSOLE BOOT SWITCH THEN ANY TIME THAT SWITCH IS PRESSED THE M9312 WILL BE ACTIVATED (SOME PROCESSORS MAY HAVE TO BE HALTED FOR THIS SWITCH TO HAVE "FAKE" ANY EFFECT), PDWER THE BOOT DESCRIBED TD ON THE 773000 TO BE THIS PRIOR TAKEN LOCATION THE PROCESS FOLLOWED SWITCH ABOVE IS SWITCH), CPU. DOWN (NOTE THAT IRRELIVANT RESULTS THE 000024, IN POWER UNIBUS FROM BY ADDRESS ROM THE A UP NEW A TO UP ENTER THE ROM CAUSED BY PRESSING IS A THE POSITION OF MICRO SWITCH 2 TO THE OPERATION OF THIS BOOT NORMAL POWER SEQUENCF, LINES, LOCATION PC USED POWER WILL SEQUENCE M9312 THIS 773024 BE UP THE THE CAUSES THE INSTEAD LOGICAL IN THE ASSERTS NEW OF ‘OR’ PC FROM OF THE CONTENTS OF ROM LOCATTION 773024 AND THE EIGHT MICRO SWITCHES ON THE MG312 MODULE (A SWITCH IN THE ON POSITION IS SEEN AS A ONE:s LIKEWISE A SWITCH IN THE OFF POSITION IS A ZERO), § ROM LISTING DIAGNDOSTIC (K=SP=MQ312~0=5) | WAY ALL THE M9312 OPTIONS ARE ACCESSABLE BY MERELY THIS IN HERE NOTE GIVING FACH OPTION A DIFFERENT STARTING ADDRESS, THAT MICRO SWITCH NUMBER IN ROM LOCATION 773024, 10 IS OR’ED WITH BIT MICRO SWITCH NUMBER 1 OF THE DATA NINE IS OR‘ED WITH BIT 2 ETC., AND THAT IT IS UNNECESSARY TO PROVIDE A RESULT COULD 0 AS THIS SWITCH WHICH IS OR’ED WITH DATA BIT LOCATION ADDRESS WHEN GOING THROUGH THE TRAP TO ODD AN IN 773024 SEQUENCE, B. THE MICRO SWITCH SETTINGS, THE SETTING OF THE MICRO SWITCHS DEPENDS ON THE VARIOUS ROMS USED AND THE POSITION THEY ARE USED IN ON THE M9312, Page 6 ROM LISTING DIAGNOSTIC (K=SP=M9312<0=5) 1030 CONSOLF Page EMULATOR THESE WITHOUT A FUNCTIONS ALSO THE THE ABOVE ROUTINES CONSOLE, OF LOAD ABILITY ESSENTIAL PROVIDE ADDRESS, TO DEVICES THE FIRST CONTENTS OF DIAGNOSTICS, ARE THEY IS A GIVEN, THING THE EXAMINE, EXECUTE ANY PROCESSOR USER THE CONSOLE DEPOSIT, AND START, BOOTSTRAP FUNCTION WITH ANY OF ‘ THAT MTICRO TO THE WILL EXECUTED SWITCHES) ARE (IF 020 IS THE THE PpPRIMARY ' CpU , THEN THE DISPLAY ROUTINE TYPE THE CONTENTS OF RO, SEQUENCE!) ON THE TELETYPE AS 1S ENTERED, THIS ROUTINE R4, Sp AND R5 (NOTE THE FOUR 16 BIT OCTAL NUMBERS, PRESSING THE CONSOLE BOOT SWITCH CAUSES pPDP-11 SYSTEMS (E,G, PDP=11/04°S) WITHOUT CONSOLE SWITCH REGISTERS TO COpY THE pC INTO RS BEFORE THE POWER UP SEQUENCE STARTS, A KEYBOARD INTERPRETE THE DISPATCH USERS ROUTINE COMMANDS, IS THEN THIS ENTERED ROUTINE TYPES TO A CARRIAGE RETURN AND A LINE FEED, THEN GIVES THE PROMpT ‘@’, ALL COMMANDS ARE TWO CHARACTERS, IF THE USER TYPES AN ILLEGAL COMMAND IT WILL BE IGNORED AND THE KFYBOARD DISPATCH IS RESTARTED, LEGAL COMMANDS ARE: L<SPC>NUMBER LOAD ADDRESS::LOAD ADDRESS POINTER WITH BIT DCTAL NUMBER, E<SPCY> . EXAMINE: :EXAMINE TELETYPE THE CONTENTS OF THE INTERNAL *NUMBER’, A 16 AND DISPLAY ON ADDRESS AND THAT ADDRESS IN THE THE THE INTERNAL ADDRESS POINTER (SEE LOAD ADDRESS), NOTE THAT IF THE PREVIOUS S“OMMAND WAS ALSO AN EXAMINE COMMAND THEN THE INTERNAL ADDRESS POINTER IS INZREMENTED BY 2, D<SPC> | DEPOSIT::DEPOSIT INTO THE LOCATION THE VALUE POINTED TO NUMBER BY THE INTERNAL, ADDRESS POINTER (SEE LOAD ADORESS), IF THE PRFEVIOUS COMMAND NAS ALSO DEPOSIT THEN THE POINTER IS INZREMENTED BY 2, S<CR> START::CAUSES BE EXECUTED A RESET INSTRUCTION TO AND A JMP TO THE LOZATION SPECTFIED ADDRESS POINTER, 1IN THE INTERNAL 7 ROM LISTING DIAGNNSTIC (K=SP=M3312=0=5) page DP# BOOT RP0O2 OR RP0O3::LOAD AND EXECUTE THE MONITOR FROM THE DEVICE USING THE DRIVE NUMBER OPTIONALLY SPECIFIED BY # (DEFAULT 0) WITH OR WITHOUT FIRST RUNNING SECONDARY CPU AND MEMORY DIAGNDSTICS, DB# BNOT RP04/5/6 OR RM02/3s:LOAD AND MONITOR FROM THE DEVICE ORIVE NUMBER OPTIONALLY EXECUTE THE USING THE SPECIFIFD WITHOUT AND BY # FIRST MEMORY (DEFAULT RUNNING WITH OR SECONDARY 0) CPU DIAGNOSTICS, DS# BOOT RSO3 THE MONITDR OR RS04::LOAD FROM THE DRIVE SPECIFIED BY # WITHOUT FIRST AND MEMORY THE AND EXECUTE DEVICE USING NUMBER OPTIONALLY (DEFAULT 0) WITH OR RUNNING SECONDARY CPU DIAGNOSTICS, DK# BOOT RKO5 RKO3/RKOS5J::LOAD AND EXECUTE THE MONITOR FROM THE DEVICE USING THE DRIVE NUMBER OPTIONALLY SPECIFIED BY # (DEFAULT 0) WITH OR WITHpUT FIRST RUNNING SECONDARY CPU AND MEMORY DIAGNOSTICS, DM# BOOT RKO6/RKO7:LOAD MONITOR FROM THE DRIVE NUMBER AND EXECUTE DEVICE USING THE OPTINNALLY SPECIFIED THE BY FIRST ¢ (DEFAULT 0) WITH OR WITHOUT RUNNING SECONDARY CPU AND MEMORY DIAGNOSTICS, DX# BOOT MONITOR RX01::LOAD FROM THE AND DEVICF EXECUTE THE USING THE DRIVE NUMBER OPTIONALLY SPECTFIED BY ¢ WHICH MUST BF 0 OR {1 (DEFAULT 0) wWITH OR WITHOUT FIRST RUNNING SECONDARY cPU AND MEMORY DIAGNOSTICS. 8 ROM LISTING DIAGNDSTIC (KeSP=M93312=0=5) Page DT# BOOT LOAD TUS6/TUSS AND MONITOR ODRIVE FXECUTE FROM THE NUMBER THE DEVICE OPTIONALLY # (DEFAULT 0) WITH RUNNING SFCONDARY USING THE SPECIFIED BY DR WITHOUT CPU AND FIRST MEMORY DTAGNOSTICS, DY# BOOT RX02::LOAD MONITOR DRIVE # FROM NUMBER (DEFAULT RUNNING AND THE START DEVICE OPTIONALLY 0) WITH OR SECOUNDARY THE USING THE SPECIFIED BY WITHOUT CPU AND FIRST MEMORY DIAGNOSTICS, MT# BOOJT LOAD TU10 AND MONITOR DRIVE TE10,TS03 EXECUTE THE FROM THE NUMBER DEVICE OPTIONALLY USING THE SPECIFIED BY 8 (DEFAULT 0) WITH OR WITHOUT RUNNING SECONDARY CPU AND FIRST MEMORY DIAGNDSTICS, MM # BOOT TU16,TE16,TM02/3:: LOAD AND EXECUTE MONITOR FROM THE DRIVE # NUMBER (DEFAULT OPTIONALLY 0) SECONDARY THE DEVICE WITH CTPU OR AND USING THE SPECIFIED WITHOUT BY FIRST MEMORY DIAGNOSTICS., TT BOOT OnL11::READ THE ABSOLUTE PAPER TAPE LOADER FROM THE TELETYPE PAPER TAPF, READER WITH OR WITHOUT FIRST RUNNING THE SECONDARY CPU AND MEMORY DIAGNOSTICS., PR BNOT TAPE PAPER FTRST MEMNRY PC11::READ THE ABSOLUTE PAPER LOADER FROM THE HIGH SPEED TAPE READER WITH OR WITHOUT EXFCUTING SFCONDARY CPU AND DTAGNOSTICS, 9 ROM LISTING NDIAGNDSTIC (KeSP=MQ3312=0~5) Page DI # BOOT RL11/RLO1 LOAD AND MONITOR DRIVE EXECUTE FROM NUMBER THE THE DEVICE OPTIONALLY # (DEFAULT 0) WITH RUNNING SECONDARY USING THE SPECIFIED BY OR WITHOUT CPU AND FIRST MEMORY DITAGNOSTICS, BOOT TU60:: MONTITOR THE FROM DRIVE SPECIFIED WITHOUT LOAD THE NUMBER BY CPU AND EXECUTE DEVICE OPTIONALLY # (DEFAULT AND MEMORY MORE DEVICES MAY BE NOTE:: DOCUMENT IS RELEASED, 0) YOU EACH MAY NEW ROM REFERENCFE A THAT ALSO THE DIAGNOSTIC JUT ALl BE UPDATED DEVICE WRITTEN DOCUMENT, FOR NUMONICS OR ADDED AFTER THIS THE INSTALATION FOR TYPE WITH DIAGNOSTICS, DOCUMENT(K=SP=M9312=0=4)WILL AFTER THE USEING THE M9312 WILL WITHIN THE M9312, 10 ROM LISTING DIAGNOSTIC (KeSP=M331220-5) 1'4. page BNNTSTRAPPING THESE ROUTINES TO BOOTSTRAP A DEVICE TYPICALLY READ IN THE FIRST SECTOR, BLOCK OR 512 (DEC) WORDS, OFF THE DEVIZE INTO LOCATION 0 THRDOUGH 512 (DEC) OF MEMORY, THE EXCEPTIONS TO THIS RULE ARE THE PAPER TAPE BOOT, THE FLEXIBLE NDISK BOOT AND THE MAGNETIC TAPE BROOTS, THE PAPER TAPE BNOT IS UNTQUE IN THAT IT CAN DO NO ERROR CHECKING AND THAT THFE SECONDARY BOOTSTRAP (THE ABSOLUTFE LOADER, FOR EXAMPLEY IS READ INTO THE UPPER PART OF MEMORY, THE ACTUAL LNCATION LOADED BY THE PAPER TAPE BOOT ARE PARTIALLY DETERMINED BY THE SECONDARY BOOTSTRAP ITSELF AND BY THE *SIZE* ROUTINE WHICH DETERMINES THE HIGHEST AVAILABLE MEMORY ADDRESS WITHIN THE FIRST 28K, THE FLEXIBLE DISK (OR FLOPPY) READS SECTOR 1 ON TRACK 1 INTO LOCATIONS STARTING AT ZERO, THE MAGNETIC TAPE BOOTS READ THE SECOND BLOCK INTO LOCATIONS STARTING AT 0, IF NO ERRORS ARE DETECTED IN THE DEVICE, THE BOOTSTRAPS NORMALLY TO EXECUTE THE EXCEPTION TO TRANSFER CONTROL TO LOCATION 0 IN ORDER ONLY TAPE BRNOTS, THEY TRANSFER CONTROL TO LOCATION XXX374, WHERE XXX WAS DETERMINED INITTIALLY BY THE SIZE ROUTINE TO BE AT THE TOP OF MEMORY: THIS IS WHERE THE ABSOLUTE LOADER WAS JUST LOADED, IF EXECUTED SECONDARY BOOTSTRAP JUST LOADED, THE THIS STARTING ADDRESS IS WITH THE PAPER A DEVICE AND THE ERROR IS DETECTED A RESET BOOTSTRAP WILL TRY AGAIN, THE WILL BE BOOTSTRAP WILL BF RETRIED INDEFINTTFLY UNTIL IT SUCCEEDS WITHOUT ERROR UNLESS THE USERS (OPERATOR) INTERVENES, THE ADVANTAGE OF RETRYING THE BOOT Is THAT IF A PARTICULAR DEVICE BEING BOOTED IS NOT ONLINE OR LOADED, SAY BECAUSE OF A POWER FATLURE RESTART, POWER UP THE (FOR BOOT DISKS WILL GIVE THIS IS THE DEVICE ESSENTIAL), TRANSPORT WILL NOT AUTOMATICALLY RELOAD FAILURE AND INTERVENTION, BACK ONLINE CONTINUALLY NOTE:: AN RESTART, ITSELF SITUATION A CHANCE MAGNETIC AFTER TO TAPE A POWER REQUIRES USER THE USER MUST RELOAD THE MAGTAPE AND BRING IT AT WHICH TIME THE MAGTAPE BOOTSTRAP, WHICH WAS ATTEMPTING EXCEPTION RKN6/RKOT THIS A AND TO TO BOOT THIS THE RULE TAPE, ARE WILL DEVICE SUCCEED, BOOTS FOR THE RX02, IN THE CASE NF THE RKO6,IF A ENCOUNTERED, THE DRIVE IS SET IN THFE CASF OF AN RX02,FIRST DRIVE TYPE ERROR IS TO AN RKO7, DOUBLE DENSITY TS TRYED, SOULD WE GET A DENSITY FRROR ON READ TRY,WE CHANGE IN EITHER CASE,WE THE DENSITY TO SINGLF DENSITY, READ TWO (2) SECTORS JF DATA, SOMF RONTS ALLOW POWER=UP DR RONT SWITCH ROOTING FOR PRTVES NDTHER THAN DRIVE 0, REFER TO INDIVIDUAL BOOTS FOR THIS TNFORMATION, 11 ROM LISTING DIAGNOSTIC Page (K=SP=M93{2=0=5) 1.5, DIAGNNSTIC TESTS THERE ARE THREE DIFFERENT TYPES OF TESTS INCLUDED IN THE M9312 : PRIMARY CPU TESTS SECONDARY CPU TESTS i 2 3 MEMORY TEST THE PRIMARY CPU TESTS ARE TESTS OF ALL UNARY AND ODOUBLE OPERAND INSTRUCTIONS WITH ALL SOURCE MODES, THESE TESTS DO NOT MODIFY MEMORY, TIF A FAILURE IS DETECTED A BRANCH THE USE DOT WILL BE EXECUTED, , THE SECONDARY CPU TESTS MODIFY OF 'THE STACK POINTER, MEMORY AND INVOLVE THESE TESTS INCLUDE TESTING OF THE JMP AND JSR INSTRUCTIONS AS WELL AS TESTS OF ALL DESTINATION MODES, IF A FAILURE IS DETECTED THESE TESTS, UNLTIKE THE PRIMARY TESTS, WILL EXECUTE A HALT, THE USER MAY THEN CONSULT THIS LISTING TO NDETERMINE THE FAULT CLASS FOR THE PARTICULAR LOCATION THE TEST HALTED, FINALLY THE MEMORY TEST PERFORMS BOTH A DUAL ADDRESSING AND DATA CHECK OF ALL THE AVAILABLE MEMORY ON THE SYSTEM LESS THAN 28K, THIS TEST WILL LEAVE ALL OF MEMORY CLEAR, LIKE THE SECONDARY TESTS THE MEMORY TEST WILL HALT WHEN AN ERROR 1S DETECTED, AT THE TIME THE MEMORY ERROR HALT IS EXECUTED RO WILL CONTAIN THE ADDRESS AT WHICH THE FAILING R4 WILL CONTAIN THE FAILURE WAS DETECTED PLUS TWO] DATA PATTERN AND R6 WILL CONTAIN THE EXPECTED DATA PATTERN, ENTER THUS AFTER A MEMORY FAILURE HAS OCCURRED THE USER CAN THE CONSOLE EMULATOR AND HAVE THTS INFORMATION pPRINTED OUT TO HIM IMMEDIATELY RY THE DISPLY ROUTINE (SEE ABOVE SECTION ON CONSOLE EMULATOR), THAT NOTE: HERE (0OPTIONALLY) (RESPECTIVELY) 1 2 DEPENDING IN OIAGNOSTICS ON WHETHER ARE BIT { RUN NOT OR 1S CLEAR OR SET EITHER: THE TNTERNAL MICRO SWITCHES DESCRIBED (IF THE METHOD IS POWER USED): Up THE CONSOLE SWITCH OR OR RUN ABOVE CONSOLE BROOT SWITCH REGISTER (IF THE LOAD AND START WITH OPTION CODE 1IN ADDRESS SWITCHES METHQOD DESCRIBED BELOW 1S USED), 12 ROM LISTING DIAGNOSTIC Page (K=SP=M9312<0=5) 1.6, RESTARTING AT THE IF USER PDWER FAIL THE USER WISHES HE MAY DO TO RESTART HIS OWN SOFTWARE ON A POWER UP (JUST RUT THE USER CAN USE THF M9312 TO RUN DIAGNOSTICS THE PRIMARY CPU TESTS DFSCRIBED ABOVE) BEFORE RUNNING RESTART HIS SWITCH POWER UP IN SO ROUTINE BY MERELY DISABLING THE POWER FAIL THE MICZRO ROUTINE, THIS SWITCHES WILL (TURN IN NO SWITCH WAY 2 OFF), DISTURR THE CONTENTS OF MEMORY AND WILL IN FACT VARIFY THE MACHINE’S BASTC INTEGRITY AFTER THE POWER DOWN AND UP SEQUENCE, TO USE SWITCHES AS THIS OPTION DESCRIBED THIS WILL RESULT IN DIAGNOSTICS AND THEN A START THEN PUT THE ABOVE, CODE ALSO 644 INTO SWITCH 2 THE MUST MICRO BE OFF, THE RUNNING OF THE PRIMARY CPU SIMULATFED TRAP THROUGH 24 WHICH WILL THE USER’S SPECIFIED POWER UpP ROUTINE, IF THE CODE 646 IS PLACED IN THE INTERNAL SWITCHES THE SIMULATED TRAP THROUGH 24 IS EXECUTED WITHOUT RUNNING ANY DIAGNOSTICS, 13 ROM LISTING DIAGNOSTIC (KeSP=M93{2a0=5) 1.7, LOAD ASCII Page ADRESS CONSOLE AND AND START PROCEDURE DIAGNOSTIC ROM FOR USE WITH 11/04/05/10/20/34/35/40/45/50/55 .-.---------.---.-----.----.----.--.--.-----.---! FUNCTION TO BE ! ROM ! BOOTED DIAG= ! MANUAL ! IL.NC, INDOSTIC ! STARTING ! ADDR,! -..---'----..-------.-----.--------.-----------.! SONSOLE CONSOLE EMULATOR! EMULATOR! €20 E20 ! ! NO YES ! 165144 ! ! 165020 ! THE CONSOLE EMULATOR CAN PERFORM THE FOLLOWING FUNCTIONS: THE 1. 2. LOAD ADDRESS EXAMINE 3. DEPOSIT 4, 5. BOOT START EXAMPLE A BELOW DEVICE CONTAINS THE 4 ROV LOCATIONS REFERENCE THE PROCEDURE (K~SP~M9312=0=4)FOR START ADDRESS FOR FEACH INSTALLATION AND SET A COMPLETE LISTING ! DIAG= ! BNOTED ! LOC. INDSTIC ! RLO1 ! ROM 1 ! NO ! 0 ! 173004 ! RLO1 ! ROM 1 ! YES ! 0 ! 173006 ! ! ROM 2 ! NO ! 0 ! 173204 ! RLO1 ! ROM 3 ! ND ! 0 ! 173404 ! RLO1 ! ROM 3 ! YES ! 0 ! 173406 ! ! ROM 4 0 ! RI,O1 RL,O1 - ! ! ROM 2 ROM 4 ! ! ! YES NO YES ! ! ! 0 0 ! ADDR, { ROM - START UPpP ! R1,01 ! THE DEVIZE TO BE RLO1 UNIT OF ! ! 173206 173604 173606 ] ! ! ! ! ] 14 ROM LISTING DIAGNOSTIC (Ke=SP=MQ312=0=5) Page 15 2.0 2.1 PRIMARY CPU DIAGNOSTICS COMMON DATA TABLE 2.2 TEST 1 SINGLE OPERAND INSTRUCTIONS 2.3 TEST 2 DOUBLEOPERAND INSTRUCTIONS, ALL SOURCE MODES, DEST MODE 0 2.4 TEST 3 JMP TBST MODES 1,2AND 3 2,5 TEST 4 SINGLE OPERAND,NON-MODIFING INSTRUCTION, BYTE REFERENCING TEST ROM LISTING DTIAGNOSTIC 2.1 165000 165002 165004 165006 165010 165012 165014 165015 Page (K«SP=M9312=0=5) THIS IS A TABLE OF DATA USED IN BOTH THE PRIMARY AND THE SECONDARY CPU DIAGNOSTICS, POOL: T4DATAS « WORD 1777717 165006 T6DATA® « WORD 165070 165072 165074 165100 165104 POOL 100000 1777717 T6DATA +WORD «WORD 165006 T6DATI ¢ 000500 000501 T6DATA 500 501 «WORD « WORD #euutnnennn TEST1: 005003 005203 % 3 3% % INSTRUCTIONS 33 SINGLE OPERAND 1 TEST R3 R3 ! 000000 0100 S 000001 R3 H H ASL R3 R3 ROR R3 H TST NEG R3 H H 177776 1777717 177776 177777 177777 000001 000000 177777 177711 000000 0000 1001 1010 CLR INC 005103 006203 006303 006003 005703 005403 coMm ASR 005303 005603 DEC R3 R3 SBC R3 : ROL ADC R3 : R3 : 006103 005503 000303 001377 2.3 165054 165060 165062 165064 165066 POOL « WORD 2.2 165020 165022 165024 165026 165030 165032 165034 165036 165040 165042 165044 165046 165050 165052 « WORD 165000 165000 100000 012702 011203 022203 001377 063203 165203 044203 165000 056203 000012 037203 000012 TEST 2 DOURBLE TEST2: 010703 165120 165122 000113 165120 #POOL,R2 (R2),R3 CMP (R2)+,R3 ADD B(R2)+,R3 BIC BIS @Re=(R2),R3 -(R2),R3 12(R2),R3 @12(R2),R3 BIT BEQ 000123 012703 000133 MoV Mov #xnnnunnnw TEST 3 JMP TEST MODES TEST3: MOV PC,R3 JMP1 s JMP MOV (R3)+ # JMP2A,R3 JMP R(R3)+ 165122 JMP2: JYP2A: 0001 0101 1001 1001 0101 0100 IF NOT 2 ERO, INSTRUCTIONS, ALL SOURCE MODES, DEST MODE 0, ##atasssss OPERAND ~SuB 2.4 1001 1010 1000 000000 H H ERROR BNE 001777 165106 165110 165112 165116 H R3 SWAB BNE sruennneeen H JMPp (R3) . WORD JM P2 ¢ SET UP ADDRESS, s MOVE FROM TABLE DEFFERRED, s CHECK FOR CORRECT DATA, s LOOP HERE IF NOT EQUAL, $ADD TO REGISTER, s SUBTRACT SAME DATA FROM REGISTER, s SHOULD CLEAR REGISTER, s SHOULD SET ALL REGISTER’S BITS, + SHOULD TEST NOT ZERO (Z=0). s LOOP HERE ON ERROR, 1, 2 AND 3¢ HHEEE8%E%% ¢ SET Up ADDRESS FOR MODE 1 JMp, +EXECUTE JMp MODE 2, +SET UP ADDRESS OF ADDRESS FOR MODE + EXECUTE JMP MODE 3, + EXECUTE MODE 1 JMP TO NEXT TEST, 3 JMpP, 16 ROM LISTING DIAGNOSTTIC (K«SP=MQ312=0=5) Page 17 2.5 #nnnnnnnns TEST 4 SINGLE OPERAND, 165124 165130 165132 165134 165136 165140 165142 105767 001377 022222 105722 001377 105712 100377 177654 TEST4: NON-MODIFYING INSTRUCTION, BYTE REFERENCING TEST, TST8B T4DATA ¢sTEST EVEN BYTE, CmP TSTAB BNE TSTR BRPL (R2)+,(R2)+ (R2)+ . (R2) . s GET ADDRESS OF T4DATA IN R2, ¢tEXAMINE DATA USING MODE 2, : LOOP IF NOT ZERO, ¢ TST ODD BYTE MODE 1§, s LOOP IF POSITIVE, BNE . s+ LOOP ON ERROR, NOT ZERO, ###ts#iin ROM LISTING DIAGNOSTIC (K=SP=M9312=0<=5) Page 3,0 CONSOLE FUNCTIONS 3.1 DISPLAY 3,2 START 3.3 DEPOSIT 3,4 LOAD ADDRESS EXAINE 18 ROM LISTING DIAGNOSTIC (K=5P=10312-0=5) Page 3,0 .1 CONSOLE wusnnrwitt 165144 010701 MoV P~ ,RY 165146 000554 RR PUTCR 165150 010701 MOV PC,R1 165152 165154 000526 BR PUTNUM 010400 MOV R4,R0O 165156 000524 165160 010600 165162 165164 165166 165170 165172 165174 165176 165200 165204 010701 000521 010500 NUTs RR PUTNUM MOV SP,RO MOV PC,R1 RR PUTNUM MOV R5,R0O FUNCTTONS DISPLAY ##axnnitis :PRINT‘CR, ¢+ PRINT RO, ¢tPRINT R4, s PRINT R6, +PRINT RS, CR, LF AND FILLER CHARACTERS, LF AND FILLER CHARACTERS, BR PUTNUM MOV MOV SP,RS RR PUTCR sPRINT MNVAR #100,R2 144 010703 MOV PC,R3 s COMMAND PROMPT 000554 010706 BR BR GETCHR sGET THE FIRST SWAR RR R2 GETCHR ¢ GET THE SECOND CMP R2,(PC)+ ¢+ LOAD 165222 000544 000302 000542 020227 046040 «ASCII "o 165224 001450 BEQ LA 165226 165230 165232 165234 165236 165240 165242 020402 001001 005725 010204 020227 cCMP R4,R?2 +EQUALS BNE 1§ + NO TST (5)+ s YES-UPDATE MOV R2,R4 ¢+RECORD +IS CMMD 165244 ¢ IF +IS SO DO EXAM FUNCTION, CMMD A DEPOSITE? +IF SO DO ¢+IS IT A 165206 165210 165212 165214 165216 165220 000517 010605 010701 CONSEM: 000540 112702 000100 MOV 162 PC,R1 (OCTAL) IS THE ASCII FOR °s§’, THE CHARACTER, PUTCHR PC CMP R2,(PC)+ 042440 LASCIT ¢ 001446 BEQ FX 020227 042040 CMP R2,(PC)+ «ASCII 4 DE 165246 165250 001432 BEQ 165252 020227 CMP 165254 051415 «ASCII ADDR, CHARACTER OF CHARACTER OF INSTRUCTION? LAST COMMAND? SKIP, ADDR, THIS A POINTER, COMMAND, EXAM? R D' <CR>*S”’ DEPOSITE START FUNCTION, COMMAND? A COMMAND, THE COMMAND, 19 ROM LISTING DTAGNOSTIC Page (K=»SP=MQ3312=0=~5) 3.2 165256 001002 BNE 165260 165262 165264 165270 165274 165276 165300 165302 165304 165310 165312 165314 165316 165320 165322 165326 000005 000115 RESET JMp 012704 173000 031427 000200 MOV BIT 3s: CMP BEQ 48 061404 ADD 020427 001731 000766 010701 000423 000005 113705 106105 cMpP 106105 165332 000164 BEQ BR 3s 173024 000010 5¢¢ DE: RS RS JMP 10(R4) MOV CsR1 GETNUM RO, (RS) CONSEM 000713 165346 165350 165352 010701 000406 010005 LAY 165354 005004 000706 KBDCLR: wnnnnnnnnt C,R1 GETNUM MOV RO, RS CLR R4 BR CONSEM MoV 010506 011505 000675 EXs MOV TO NEW BOOT HEADER, TRAPS 0OUT, #nununnnrt R5,SP MOV (R5),RS RR DUT sINIT SYSTEM $GET MICRO SWITCHES, tASSUMES HERE THAT THAE STARTING s ADDR, OF DISPLY IS 4SO C BIT GETS SET, GO DO BOOT, DEPOSIT 165144 #8588 %0000 sGET ¢+ PUT INPUT INPUT DATA, DATA IN MEMORY, tRETURN FOR NEXT COMMAND, LOAD BR 3.5 165360 165362 165364 wnnnnnnitt BR BR : GET s LOOP UNTILL MATCH OR @#INITSW,RS ROLB 010015 TO C/R1 ROLB MOV INDEX s HAVE WE EXCEEDED ROM RANGE? RESET MOVB 3.4 165356 ¢ NO=ADD GETNUM BR ROM? s YEA,GO BACK,ABORT SEARCH, s MATCH ON BOOT HEADER VERSES CMMD? s YES|==GO AHEAD, (R4),R4 R4, 174000 CONSEM Jo3 010701 000412 $NO (R4),#200 022402 001405 165330 165336 165340 165342 165344 (RS) 173000,R4 DSPLY MOV #3633 3334 % %% 28 ANE 4s: START HuNNNnninnd 001323 174000 FUNCTIONS CONSOLF 1.0 ADDRESS # %3058 080 sGET INPUT DATA, ¢:LEAVE IT AS THE sPOINTER IN RS, CURRENT ¢tRETURN COMMAND, ADDRESS ¢+CLEAR THE PREVIOUS COMMAND FLAG, EXAMINE FOR NEXT 3% 3% % 3% 3% 3% % % % % s USE ¢+OUT THE THE s+ ADDRESS, DISPLAY ROUTINE TO PRINT ADDRESS, R5, AND THE DATA (RS), IN THAT 20 ROM LISTING DIAGNOSTIC (Ke=SP=Mg312=0=5) Page 4,0 TTY HANDLERS OZTAL NUMBER INPUT ROUTINE O02TAL CR,LF, NUMBER NUTPUT ROUTINE AND FILLER CHARACTER OUTPUT ROUTINE CHARACTER INPUT ROUTINE CHARACTER OUTPUT ROUTINE REGISTER DISPLAY ROUTINE 21 ROM LISTING DIAGNOSTTIC (KeSP=M9312~0<5) Page 22 4,0 4,1 wunnnennune OCTAL TTY HANDLERS NUMBER INPUT ROUTINE %3585 #sTHIS ROUTINE IS CALLED BRY PLACING THE RETURN ADDRESS MINUS TWO ¢+ IN R1 AND THFN BRANCHING TO GETNUM, THE ROUTINE WILL ATTEMPT TO s INPUT A STRING OF THARACTFRS FROM THE TELETYPE, TERMINATED BY CR, s AND ASSEMBLE THEM AS A 16 BIT OCTAL NUMBER IN RO, IF AN ILLEGAL ¢sCHARACTER IS TYPED IN THE STRING, NOT AN ¢:OCTAL DIGIT, THE CONSOLE EMULATOR WILL BE RESTARTED, THE PREVIOUS ¢:CONTENTS OF R2 AND R3 ARE LOST, THE ROUTINE WILL RETURN WITH THE ¢+OCTAL NUMBER IN RO, TO THE ADDRESS SPECIFIED IN Ri PLUS TWO, ¢BUT NOTE THAT R1 WILL HAVE BEEN INCREMENTED BY FOUR UPON RETURN, 165366 165370 165372 165374 165376 165402 165404 165410 165414 165416 165420 165422 165424 165426 005000 005002 GETNUM: CLR RO tINITIALIZE RO, 2§ CLR R2 s INITIALIZE R2, 010703 MOV 000453 BR CMPB BEQ SUR ADD BCC ASL 120227 001433 162702 062702 103357 006300 006300 006300 050200 000760 000015 000070 000010 C/R3 GETCHR R2, #CR X1RTN - °8,R2 $°8<°0,R2 KBDCLR RO ASL RO ASL RO RIS R2, RO BR 28 $G0 GET A CHARACTER, $IS IT CR? .3 IF. YES RETURN WITH s TS THE CHARACTER THE NUMBER IN RO, A LEGAL OCTAL DIGIT? s IF NOT GO RESTART THE CONSOLE EMULATOR, sOTHERWISE ASSEMBLE THE :LOOP FOR CHARACTER, BACK NEXT NUMBER, ROM LISTING DIAGNOSTIC Page (K=SP=MQ312<0-5) 4,0 4.2 wnnnnuxnn sTHIS ROUTINE, ¢+MINUS ¢+ IN RO, +OF THE TWO IN TTY HANDLERS NUMBER QOCTAL PUTNUM, R1 AND QUTPUT 3% 3% 3 % & ROUTINE %3358 1S CALLED RY PLACING THE RETURN ADDRESS THFE 16 RIT OCTAL NUMBER TO BE TYPED PUTNUM WILL TYPE 6 CHARCTERS COMPRISING THE OCTAL DIGITS NUMBER IN RO FOLLOWED BY ONE SPACE CHARCTER, THE +CONTENTS OF R2 AND R3 ARE LOST, RETURN IS MADE TO THE ¢+ IN R1 PLUS TWO, BUT R1 IS INCREMENTED BY FOUR, 165430 165432 165434 165436 165440 165442 165444 165446 165450 165451 165452 165454 165456 165460 165462 165464 165466 165470 165472 165474 PUTNUM: 012702 000030 000261 006100 106102 010703 000435 012702 206 040 006300 001403 106102 103774 000765 000302 010703 000423 022121 000161 MOV (PC)+,R2 « WORD <’0>/2 SEC 282 ROL RO ROLR R2 MOV 4s: X{RTN: 177776 4,3 s COMPUTE FIRST DIGIT, s SHIFT NUMBER INTO R2 TO COMPUTE NEXT CHARACTER, CsR3 s PRINT BR MoV PUTCHR (PC)+,R2 «BYTE 200!<’0/10> ¢+GET .BYTE ASL BEQ <’ RO 6$ ROLB BRCS R2 48 BR 28 MOV PC,R3 BR CMP PUTCHR (R1)+,(R1)+ JMP =2(R1) SWAB 682 #annnnnnd CR, PREVIOUS ADDRESS > CHARACTER, READY TO COMPUTE s SHIFT NUMBER AND s BRANCH IF DONE, SEE NEXT IF CHARACTER, DONE, s WHEN DONE COME HERE TO PRINT SPACE, R2 s AND RETURN, LF AND FILLER CHARACZTER OUTPUT ROUTINE % #3%3%35%%% ¢sTHIS ROUTINE IS CALLED TO TYPE A CARRIAGE RETURN, LINE FEED FOLLOWED ¢BY 12 FILLER CHARACTERS, THE CALL IS MADE BY FIRST PLACING THE RETURN ¢+ADDRESS MINUS TWO IN R1 AND EXECUTING BR PUTCR, ¢ THE PREVIOUS CONTENTS OF BOTH REGISTERS R2 AND R3 ARE LOST, ¢+WHEN FINISHED THIS SUBROUTINE WILL RETURN TO THE ADDRESS SPECIFIED +JN 165500 165502 165504 165506 165510 165512 165514 165516 165522 R1 012702 014012 PUTCR: 010703 000414 061702 182 003767 105002 152702 000770 000015 PLUS TWO, BUT R1 MOV (PC)+,R2 JWORD 14012 MOV RR ADD PC,R3 PUTCHR (PC),R2 BLF X1RTN CLRB R2 RISA — BR 1§ CR,R? WILL BE INCREMENTED BY FOUR, 23 ROM LISTING DIAGNOSTIC Page (K=SP=MQ312=0=5) 4,0 4,4 #vunnnnnnr *THIS ROUTINE TTY CHARACTER IS CALLED HANDLERS INPUT TD ROUTINE BOTH INPUT o34 %33 %% %% AND ECHO A CHARACTER s+ THFE. TTY, THE CHARACTER IS SAVED IN THE ILOW BYTE OF R2, +HIGH BYTE OF R2 IS NOT MODIFIED, A CALL TO THIS s SURROUTINE IS MADE BY FIRST PLACING THE RETURN ADDRESS ¢+ AND 165524 165530 165532 165534 105737 177560 THEN :A RETURN *R3 WILL GETCHR: 100375 105002 153702 177562 4.5 EXECUTING A BRANCH TO GETCHR, WHEN TSTB8 @#TKS GETCHR CLRB R2 BISB @. nunnnunnn tWAIT ¢+THIS SUBROUTINE sMUST BE PLACED IS IN OUTPUT CALLED THE 2 IN R3 IN R3 KEYBOARD PLUS INPUT, TWO, BUT READY, sCLEAR THE LOW BYTE OF R2, s PLACE THE CHARACTER IN THE LOW BYTE OF R2, s PROCEED ON TO PUTCHR IN ORDER TO s ECHO THE CHARACTER IN THE LOW BYTE s OF R2, TKB,R2 CHARACTER FOR MINUS FINISHED WILL BE MADE TO THE ADDRESS SPECIFIED HAVE BEEN INCREMENTED BY FOUR, BPL FROM THE TO LOW ROUTINE PRINT ORDER A BYTE ##tasdtusss CHARACTER, OF R2, TO THE CALL CHARACTER THIS tPLACFE THE RETURN ADDRESS MINUS TWO IN R3 AND BRANCH TO ROUTINE s PUTCHR, THE CONTENTS OF R2 ARE NOT MODIFIED, RETURN IS MADE s TO THE ADDRESS SPECIFIED IN R3 PLUS TWO, BUT R3 IS LEFT INCREMENTED 165540 105737 165544 165546 100375 110237 142702 165552 TSTB Qs TPS BpL 177566 MOVB PUTCHR R2,Q@#TPB s WHEN READY PRINT THE CHARACTER, 100200 ByCB $100200,R2 sCLEAR 177564 PUTCHR: y THIS +RY ROUTINE AS AN IS USED ADDRESS sWAIT TO LINK, MAKE THOSE RETURNS 165556 165560 022323 000163 INCREMENT s PLLUS TWD. X3RTN: CMP JMP 177776 4.6 R3 BY FOUR BUT (R3)+,(R3)+ =2(R3) RETURN PRINTER ANY FROM SUBROUTINES yBY PLACING THE RETURN ADDRESS MINUS 2 +IS FINISHED PROCESSING IT WILL BRANCH sWILL FOR READY, PARITY BITS SUBROUTINES ARE THE WHICH MAY BE SET, USE CALLED IN R3, WHEN THE TO X3RTN, X3RTN TO THAT ADDRESS t INCREMENT R3 BY s RETURN TO THE s ORIGINALLY IN SUBROUTINE SPECIFIED IN R3 4, ADDRESS R3 PLUS WHICH TWO, WAS wunununnr REGISTER DISPLAY ROUTINE ##kwiesess ¢ NSPT,Y TS THE FTRST PART OF THE CONSOLE FMULATOR THAT IS EXECUTED, ¢sIT WILL PRINT THE CONTENTS OF RO, R4, R6 AND RS (IN THAT ORDER) AS s FOUR SIXTEEN RIT NZTAL NUMBERS ON THE TTY, NOTE THAT ON SOME ELEVEN +SYSTEMS (E,G, THE 11/04) WHEN THE BOOT s THE PROCESS OF ROOTING INITIATED THE PC SWITCH IS DFPRESSED WILL RE PLACED AND INTO RS, 24 ROM LISTING DIAGNOSTIC (K=SP=M9312<0-5) Page 25 5.0 SFECONDARY CPU DIAGNOSTICS 5.1 DOUBLE OPERAND, MODIFYING INSTRUCTIONS, BYTE REFERENCE TEST 5.2 JSR TEST WITH MODES 1 AND 6 ROM LISTING DIAGNOSTIC (K=SP=M93{2«0=5) Page 5.0 SECONDARY CPU DIAGNOSTICS s THESE ARE THF MEMORY MODIFYING TESTS, THEY ARE RUN AS SUBROUTINE tsWHICH IS CALLED BY PLACING THE RETURN ADDRESS IN THE CALLING s ROUTINE MINUS TWO IN Ri, $R3, tA R5 HALT AND R6 WILL ¢t FOR FURTHER sCONTINUE ARE BE LOST, THE PREVIOUS CONTENTS OF R2, IF EXECUTED, ANY OF THESE TESTS THE USER CAN THEN INFORMATION ABOUT THE FAULT, FUNCTION WILL NOT BE MEANINGFUL THE MEMORY TEST DETECTS THIS ERROR LISTING ISSUING A AFTER tANY OF THESE TESTS DETECTS AN ERROR AND HALTS, s WHEN DETECTS AN CONSULT NOTE THAT A FAILURE AND HALTS CERTAIN $ IMPORTANT PARAMETERS USED IN THAT TEST WILL BE SAVED IN THE sREGISTERS, THESF REGISTERS ARE INCLUDED IN THOSE WHICH ARE tDISPLAYED WHEN THE CONSOLE FEMULATOR PORTION OF THIS ROM IS INITIATED, SO THAT IF A MEMORY ERROR IS DETECTED THE USER $CAN START THE CONSOLE EMULATOR TO EASILY ACCESS THIS MEMORY $ERROR DATA, CAUTION SHOULD BE OBSERVED WHEN SELECTING THESE s TESTS TO BE RUN, THEY WILL DESTROY THE PREVIOUS CONTENTS sOF 5,1 165564 012705 165574 011503 165570 012702 #xuvunnes DOUBLE 165006 000500 ANY MAIN OPERAND, TEST6: (RS),R3 165612 165614 023512 001015 005202 CMP 143522 024542 BICB CMP 001010 BNE 165622 165624 165626 165630 165634 165636 165642 165644 165646 MOVB DEC BNE INC 143522 010502 016505 110532 150572 020352 001407 000000 BIC8B 177772 T6ERR: 28K WORDS, BYTE REFERENCE TEST, ####sstsass ¢ SET UP TEST DATA ADDRESS, $ SET UpP DEST ADDRESS, (R2) (R5)+, (R2) R2 sCLR 500, $1500=000377, s POINTER TO UPPER BYTE, R(RS5)+, (R2) g CHECK FOR ALL ONES, Q(R5)+,(R2)+ «(RS),=(R2) gsCLEAR HIGH BYTE OF LOCATION Ss00, s MOVE POINTERS BACK, T6ERR s BRANCH IF NOT ZERO, RS,@(R2)+ RS,@(R2) R3,@=(R2) 1500 SHOULD BE 000377, s SET UPPER BITS, tCHECK FOR ALL ONES, 177777, (RS)+, (R2) R2 T6ERR R2 @(R5)+,(R2)+ R5,R2 «6(R5),R5 BEQ TEST?Y HALT TO #500,R2 MOV MOV MOVB BISA CMP 000000 UP INSTRUCTIONS, MOV CLR MOVB INC 165616 165620 MQDIFYING $T6DATA,RS MOV 005012 112512 005202 165610 AVAILABLE MOV 165576 165600 165602 165604 165606 112512 005302 MEMORY § SET UPp CMP OPERAND FOR TEST, 501. 15002177777, ¢ MOVE POINTER BACK TO LOW BYTE, | s MOVE POINTER Up TO ODD BYTE, s CLEAR LOW BYTE OF LOCATION 500, s GET DEFFERRED ADDRESS OF 500 INTO R2, $GET TEST DATA, ¢+ IF NO ERROR GO TO NEXT TEST, 26 ROM LISTING NDIAGNOSTIC (K=SPeM0312-0=5) | 5.0 5.7 165650 165652 165654 165656 005723 001011 021605 001007 165660 165662 000203 000000 165664 165666 011206 012702 165672 165674 165676 005726 004312 000000 165700 004362 #unnununn TSTJSR: TEST7: 165650 000004 T7ERR: TST BNE cMp BNE JSR pPage SECONDARY TEST CPU WITH (R3)+ TTERR (SP) RS T7€ERR RTS HALT R3 MOV MOV (R2),SP #TSTJSR,R2 (SP)+ R3, (R2) | TST JSR HALT JSR R3,4(R2) DIAGNOSTICS MODES 1 AND 6, #%%%3#8%%%% t1R3 SHOULD POINT TO ZERO WORD $IF NOT THEN HALT ON ERROR, ¢ SP SHOULD pOINT TO 177777. $TF NOT THEN HALT ON ERROR, ¢ SET $SET UP UP STACK TO START AT ADDRESS FOR JSR, sMOVE SP UP ONE WORD, sEXECUTE JSR TO TSTJSR, | sEXECUTE JSR TO TSTJSR+4, 502, AT T7ERR, 27 Page 28 ROM LISTING DIAGNOSTIC (K=SP=M9312=0=3) 6.0 MEMORY DIAGNOSTIC AND SIZE ROUTINES ROM LISTING DIAGNDOSTIC Page (K =S5P=M3312=0=5) 6.0 +THIS +DATA MEMODRY DIAGNOSTIC ROUTINE PERFORMS BOTH INTEGRTTY TEST JF ANY ¢+FIRST FVERY LOCATION sFROM ¢+REEN 20 AND SIZE A DUAL MEMORY IS WRITTEN ROUTINES ADDRESSING TEST AVAILABLE Up TO WITH ITS OWN ADDRESS, AND NEGATES ITS CONTENTS, THEN BE LEFT FILLED WITH IF AN ERROR IS ADDED TO pPROCESS IS CONTINUED DETECTED MEMORY IS DETECTED THEN: 1 2 THE ADDRFSS BEING TESTED IS LEFT IN R4 THE EXPECTED DATA FROM THAT LOCATION IS IN Ré FAILING DATA IS : 4 FINALLY THE HALT AT LOCATION 3 : THE ROM 1S IN RO 165776 IN THIS EXECUTED, MEMTST: 012705 005037 012737 012706 005745 165732 0050013 010313 165734 165736 005723 020305 SIZE: 160000 000006 165722 000502 000004 MOV #160000,R5 sSET CLR Q46 sSET UP TRAP VECTOR 4, sSET UP THE STACK POINTER, sMAKE THE REFERENCE AND DECREMENT RS, tR3 IS A POINTER USED TO READ AND WRITE MEMORY, sWRITE THE CONTENTS OF R3 INTO THE LOCATION 182 MOV MOV TST $18,084 #502,5P = (R5) | 28 ¢ CLR MOV R3 R3, (R3) TST cMP (R3)+ R3,RS | UP RS, s ADDRESSED BLOS 101774 R3 (R3) R3, (R3) 005723 TST (R3)+ 165752 165754 001004 020305 BNE CMP MEMERR R3, RS 165756 165760 101772 000164 005003 4ss 005413 060313 BLOS 000002 ENDTST: JMP MEMERR: MQV R3,R0O 005006 000000 HALT 165774 040460 1012 1013 165776 LASCII R3, s INCRMENT THE POINTER, R3, BY 23 AND SEE sRESULT OF THE ADDITION WAS 0, sIF NOT 0, THEN AN ERROR HAS OCCURRED, s OTHERWISE CONTINUE sOF IS MEMORY UP REACHED, UNTIL THE IF THE TOP -(R3),R4 SpP 165770 BY sRESULT IN A TRAP THEN RETURN sWITH THE HIGHEST MEMORY ADDRESS ~ sAVAILABLE IN RS, IS DETECTED COME HERE TO SAVE IMPORTANT REGISTERS AND HALT, 010300 165772 tRETURN R3 TO LOCATION 0, tNEGATE THE LOCATION REFERENCED sADD THE CONTENTS OF R3, 4s MOV CLR sLOOP UNTIL DONE, 2(R4) | :IF A MEMORY ERROR :PARAMETERS IN THE 014304 BY R3., s INCREMENT R3 BY 2. st CONTAINS THE LAST AVAILABLE MEMORY s ADDRESS UNDER 28K WORDS, SEE IF s THE END OF MEMORY HAS BEEN REACHED, 25§ CLR NEG ADD 165764 165766 ZFROES, HAS LOCATION : : : 165740 165742 165744 165746 165750 STARTING THE s THAT LOCATION, THE RESULT SHOULD BE ZERO, THE :FROM 0 TO THE TOp OF MEMORY, IF NO ERRORS ARE 165704 165704 165710 165714 165722 165726 165730 A RUDIMENTARY WORDS, LOCATION 0 AND WORKING UP, THEN AFTER EVERY LOCATION WRITTEN WITH ITS OWN ADDRESS, THE ROUTINE RETURNS TO ¢ ADDRESS OF THE LOCATION WHICH WAS JUST NEGATED ¢+WILL AND 28K "o0A" 123162 « WORD 000001 .END : IDENTIFIES 123162 sCRC ROM AS WORD "AO" FOR OR LAST A VERSION 255, 0 WORDS, ECB 12~12-77 29 ROM LISTING DIAGNOSTIC (K=SP=M9312<0=5) Page 248F1,P11 BITR = 000400 BIT9 001000 SRCWD = 000000 DE DSPLY 165144 FNDTST 165336 165760 GETNUM 165366 165110 JMP2 HBNOT LF 165000 165120 000012 MRESER= 173000 OuT 165160 PDIAG 165564 POOL PUTCR 165500 PUTNUM RKO6CR= 165000 165430 177440 172040 JMpY LA 165346 RKO5CR= 177404 RPO4CR= 176700 RX02CR= 177170 SYMBOL TABLE CONSEM DIAG EX HSRCR = 165174 165564 165360 177550 CR = DL11CR= 000015 GETCHR 177560 JMP2A 165122 INITSW= KBDCLR 165524 173024 165354 MEMFRR 165764 MEMTST 165704 PC11CR= 177550 PUTCHR RESERV= RPO3ICR= 000340 = PC =%000007 PSW = 177776 READ 165210 RLO1CR= 174400 RS04CR= 172040 165540 176714 177170 RSO03CR= RO =%000000 Ri =%000001 R2 =2%000002 RS =%000005 R6 =%000006 SP TEST3 TKB =%000006 165106 SWR = R3 =%000003 R4 R7 TEST1 TEST6 z%000007 165020 165564 SIZE TPB =%000004 165704 TEST2 TEST? = 177566 TPS TU10CR= 172522 TU16CR= T6DATA 165006 T6DATY X1RTN 165472 X3RTN 165054 165664 177564 172440 165014 165556 = RXO1CR= 177562 = 165124 177560 = 177560 TSTJSR 165650 TTCR TUS6CR= 177342 T6ERR 165646 T4DATA T7ERR = 177570 TEST4 TKS 166000 165004 165676 30 ROM LISTING DIAGMOSTTC (K=SP=M9312=0=5) Page SECTION ROM TABLE NPFERATIONAL 2 23-616F1 OF CONTENTS NOTES TEST12 TEST VERIFIES THE UNCONDITIONAL BRANCH “"CLR", MODE "o0", AND "BMI®, nBVS", wBHI", »BLT","BLOS" “DEC», MODE "Qo", AND nwBPL","REQ","BGE","BLE" "ROR, MODE ®o", AND "BVC",“BHIS","BNE" REGISTER DATA PATH TEST *ROL®, ®“BCC", "BLT" TEST "ADD", "INC®, "COM», AND "BCS", "BLE" TEST "ROR", "DEC®, ®“RIS", "ADD", AND *“BLO" TEST "COM», "BIC", AND "BGT", "BLE" , TEST "SWAB", "CMP", "BIT", AND "BNE", "BGT" TEST13 TEST »MOovga"*, TESTi14 TEST TEST1S TEST MEMNRY "JSR", "RTS", "RTI", _"JMp" MAIN MEMORY FROM VIRTUAL 001000 DIAGNOSTIC TESTS TEST1 TEST? TEST3 TEST4 TESTS TEST6 TEST? TEST10 TEST11 CACHE TEST16 THIS TEST TEST TEST TEST TEST CACHE "soB", DATA "CLR", MEMORY "TST" AND "BPL", TO LAST "BNE" ADDR, 31 ROM LISTING DIAGNOSTIC Page (K=SP=M9312=0=5) OPERATIONAL NOTES OVERVIEW INTERNAL A, B, SWITCH SETTING POWER UP AND CONSOLE BOOT SWITCHES OPTIONS AND THE MICRO SWITCH SETTINGS BOOTSTRAPPING DIAGNOSTIC TESTS | ‘ RESTARTING AT THE USER POWER FAIL ROUTINE LOAD ADDRESS AND START PROCEDURE 32 ROM LISTING DIAGNOSTIC (K=SP=MQ9312=0=5) Page OPERATIONAIL 1. NOTES DVERVIEW THE M9312 CAPABILITIES CONSOLE IS FOR SWITCH ROOTSTRAPPING M5312 DESIGNED ALL TO PROVIDE BOOTSTRAPPING PDP=11 SYSTEMS WITH REGISTER. FUNCTIONS INCLUDES ROUTINES IN FOR FOR OR ADDITION ALL SOME MAJOR BASIC PDP-11 CPU WITHOUT TO AND THE PROVIDING DEVICFES, MEMORY THE G0-NOGO DIAGNOSTIC TESTS, THIS BOOTSTRAP FLEXIBILITY OF AUTOMATICALLY BODT INTERNAL SWITCH A OR SET OF MODULE, ACTION ACCESS BEEN ITS pOWER UP, BY LOAD A OR DESIGNED FUNCTIONS BY FOR MAXIMUM BE INITIATED MAY DFPRESSING ADDRESS AND THE START CONSOLE SEQUENCE, SETTING A M9312 WHAT AT SWITCH, HAS OPERATION, TO IS ANY EIGHT MICRO THESE ARE TO BE SWITCHES USED TAKEN, BY THEY ARE LOCATED THE ROUTINES GIVE THE ON THE TO DETERMINE USER AUTOMATIC FUNCTION, A, POWER Up THE PRIMARY ACTIVATING TO ACTIVATE AND CONSOLE PROCESSES BOOT FOR SWITCHES THE M9312 PROGRAMS ARE EITHER A pOWER Up SEQUENCE OR THE ENABLING OF THE CONSOLE BODOT SWITCH, | M9312 THIS MICRO SWITCH EXECUTE SWITCH WHAT (SEE ANY IS THE IS ON OFF ACTION THE M9312 REGISTER THEN USER THE A A UP IN TRAP ROUTINE SWITCHES, M9312 POWER BE NORMAL POWER OTHER ON MUST WILL UP, SWITCH 2 THE ON TO LOCATION WILL 3 THROUGH TAKE WHEN OCCUR, 10, THE IN THE pPOSITION, WHEN WILL POWER IF 24 TO THIS DETERMINE UP OCCURS MICRO SWITCH SETTING BELOW)Y, IF THE SYSTEM INCLUDES A CONSOLE BOOT TIME THAT SWITCH IS PRESSED THE M9312 WILL (SOME PROCESSNRS HAVE ANY "FAKE" THE THE SWITCH POWER BOOT MAY HAVE FEFFECT), DOWN SWITCH TO BE HALTED FOR THE PROCESS FOLLOWED (NOTE BY THAT A USED POWER THE TO THIS ENTER UP CAUSED POSITION SWITCH THEN BE ACTIVATED OF SWITCH TO THE ROM BY PRESSING MICRO IS SWITCH A 2 DESCRIBED ABOVE IS IRRELIVANT TO THE OPERATION OF THIS BOOT SWITCH), THIS RESULTS IN A NORMAL POWER UP SEQUENCE IN THE CPU. PRIOR TO THE POWER UP SEQUENCE, THE M9312 ASSERTS 773000 ON THE UNIBUS ADDRESS LINES., 1IN THE CASE OF THE 11/60, THE PROCESSOR ASSERTS 000224 ON THE BUS, WHICH IS ORED WITH THFE 773000 ASSERTED BY THE M9312, THE 11/70 ASSERTS THE ENTIRE ADDRESS ON THE UNIBUS AS A FUNCTION OF JUMPER SETTINGS (SEE 0OR M9312 USER MANUAL,) THE NEW PC TS DETERMINED BY ROM LOCATTON 773024 OR 773224 (WITH THE 11/60) INSTEAD OF FROM LOCATION 000024, THE NEW PC WILL BE THE LOGICAL °OR’ OF THE CNONTFENTS OF ROM [,OCATION 773024 AND THE EIGHT MICRO SWITCHES NN THE A OVNEs M9312 MODULE (A SWITCH IN THE ON POSITION LTKEWISE A SWITCH IN THF OFF POSITION IS IS SFEN AS A ZEROD), 33 ROM LISTING DIAGNOSTIC (K=SP=M9312=0+5) Page IN THIS WAY ALL THE M9312 OPTIONS ARE GIVING FACH OPTION A DIFFERENT STARTING THAT IN MICRO SWITCH ROM LOCATION WITH B8IT 2 NUMBER 773024, ETC., SWITCH IN AN WHICH ODD 773024 SEQUENCE, AND 3, IS OR’ED THAT AND WITH BIT SWITCH NUMBER IT TS OR’ED WITH DATA ADDRESS WHEN GOING B.,OPTIONS THE SETTING RNMS DN THE 10 MICRO ACCESSABLE BY MERELY ADDRESS, NOTE HERE THE IS 1 OF NINE UNNECESSARY TO THE DATA IS OR‘’ED PROVIDE A BIT 0 AS THIS COULD RESULT THROUGH THE TRAP TO LOCATION MICRO OF THE MICRO SWITCHS M9312 AND THE DEVICE SWITCH SETTINGS, DEPENDS ON THE VARIOUS BOOTS POSTION ON THFE M9312, BOOTSTRAPPING THESE ROUTINES TO BOOTSTRAP A DEVICE TYPICALLY READ IN THE FIRST SECTOR, BLOCK OR 512 (DEC) WORDS, OFF THE DEVIZE INTO LOCATION 0 THROUGH 512 (DEC) OF MEMORY, THE EXCEPTIONS TO THIS RULE ARE THE PAPER TAPE BOOT, THE FLEXIBLF DISK BRODT AND THE MAGNETIZ TAPE BOOTS, THE PAPER TAPE BOOT IS UNTQUE IN THAT IT CAN DO NO ERROR CHECKING AND THAT THE SECONDARY BOOTSTRAP (THE ABSOLUTE LOADER, FOR EXAMPLE) IS READ INTO THE UPPER PART OF MEMORY, THE ACTUAL LOCATIONS LOADED BY THE PAPFR TAPE BOOT ARE PARTIALLY DETERMINED BY THE SECONDARY BOOTSTRAP ITSELF AND BY THE . *SIZE* ROUTINE WHICH DETERMINES THE HIGHEST AVAILABLE MEMORY ADDRESS WITHIN THE FIRST 28K, THE FLEXIBLE DISK (OR FLOPPY) READS SECTOR 1 ON TRACK { INTO LOCATIONS STARTING AT 2ERO, THE MAGNETIC TAPE BOOTS READ THE SECOND BLOCK INTO LOCATIONS STARTING AT BNOTSTRAPS TOD 0, IF NO ERRORS ARE DETECTED IN THE DEVICE, NORMALLY TRANSFER CONTROL TO LOCATION 0 EXECUTE THE SECONDARY BOOTSTRAP JUST LOADED, THE IN ORDER THE ONLY EXCEPTION TO THIS STARTING ADDRESS 1S WITH THE PAPER TAPE BOOTS, THEY TRANSFER CONTROL TO LOCATION XXX374, WHERE XXX WAS DETERMINED INITTALLY BY THE SIZE ROUTINE TO BE AT THE TOP OF MEMORY:; LOADED, EXECUTED IF A AND THIS DEVICE WILL RF RETRIED THE TS WHERF FERROR THE IS ABSOLUTE DETECTED LOADER A BOOTSTRAP WILIL TRY AGAIN, INDFEFINITELY UNTIL RESET WAS WILL JUST BE THF BOOTSTRAP IT SUCCEEDS WITHOUT FERROR THE ADVANTAGE OF (OPERATOR) INTERVENES, USER THE UNLESS BEING DEVICE PARTICULAR A 1IF THAT RETRYING THF BROOT IS BOOTED IS NOT ONLINE OR LOADED, SAY BECAUSE OF A POWER FAILURF RFSTART, THE ROOT WILL GIVE THE DEVICE A CHANCE TO PNWER Up (FOR DISKS THIS IS ESSENTIAL), A MAGNETIC TAPE TRANSPORT WILL NOT AUTOMATICALLY RELOAD ITSELF AFTER A POWER FAILURE AND INTERVENTION, BACK ONLINE SONTINUALLY RESTART. THIS SITUATION REQUIRES USER THE USFR MUST RELOAD THF MAGTAPE AND BRING IT AT WHICH TIME THE MAGTAPE ROOTSTRAP, ATTEMPTING TO BDOT THE TAPE, WILL WHICH WAS SUCCEED, 34 ROM LISTING DIAGNOSTIC (KeSP=M9312=0=5) Page NNOTE:: AN EXCEPTION RK0O6/RK07 IN THE THIS RULE ARE DEVICE BOOTS THE RK06,IF A DRIVE TYPE FRROR TO AN RKO7, DOUBLE DENSITY SOULD WE ON READ READ TWO BOOTS DRIVES GET A DENSTTY TO (2) ALLOW OTHER FOR THE RX02, OF ENCOUNTERED, THE DRIVE IS SET IN THE CASE OF AN RX02,FIRST THE SOME AND CASE TO DENSITY ERROR SINGLE DENSITY, SECTORS OF DATA, POWER=UP OR BOOT THAN DRIVE 0, REFER ARE THREE DIFFERENT IN TO IS TRYED, TRY,WE CHANGE EITHER SWITCH IS CASE,WE BOOTING INDIVIDUAL FOR BOOTS FOR THIS INFORMATION, ‘DIAGNOSTIC TESTS THE M9312 THERE DOUBLE TESTS DO TYPES OF NOT OCCUR, THE USE IN PRIMARY CPU TESTS SECONDARY CPU TESTS MEMORY TEST “ACHE TESTS MODIFY MEMORY, IF A FAILURE IS DETECTED A HALT THE SECONDARY CPU TESTS MODIFY MEMORY AND INVOLVE OF THE STACK POINTER, THESE TESTS INCLUDE TESTING OF THE JMP AND JSR TNSTRUCTIONS AS DESTINATION MODES, IF A FAILURE WELL WILL MAY ALSO LISTING INCLUDED THE PRIMARY CPU TESTS ARE TESTS OF MOST UNARY AND OPERAND INSTRUCTIONS WITH MOST SOURCE MODEs, THESE WILL THE TESTS ¢ o - 4, EXECUTE A HALT, THE USER IS AS TESTS OF ALL DETECTED THESE TESTS THEN TO DETERMINE THE FAULT CLASS FOR THE TEST CONSULT PARTICULAR THIS LOCATION HALTED, THE MEMORY TEST PERFORMS BOTH A DUAL AND DATA CHECK OF ALL THE AVAILABLE MEMORY ON THE SYSTEM LESS THAN 28K, THIS TEST WILL CHANGE ALL OF MEMORY TESTED, LIKE THE SECONDARY TESTS THE MEMORY TEST WILL HALT WHEN AN ERROR IS DFTECTED, AT THE TIME THE MEMORY ERROR HALT IS EXECUTED RO WILL CONTAIN THE ADDRESS AT WHICH THE ADDRESSING FAILURE WAS DETECTED , R1 WILL CONTAIN THE FAILING DATA PATTFRN AND RO WILL CONTAIN THE EXPECTED DATA PATTERN, FINALLY THERE ARE TWO CACHF TESTS WHICH DETERMINE CPU TYPE (11/60 OR 11/70) AND TEST CACHE CONTROLS, DATA FOR DETAILS, SEE TESTS INTEGRITY AND MEMORY VIA CACHE, 16 AND 17 OF THF PROGRAM LISTING, 35 ROM LISTING DIAGNOSTIC (KeSPeMQ3{2=0<=5) Page NOTE: HERE (OPTIONALLY) THAT DEPENDING (RESPECTIVELY) IN i THE RESTARTING AT THE USER IF THE POWER UP HE RESTART SWITCH 6. LOAD AND START MICRO POWER IS AND SWITCHES METHOD FAIL NOT RUN IS CLEAR OR SET WISHES OR OR REGISTER (IF WITH OPTION START ABOVE CONSOLE BOOT SWITCH DESCRIBED BELOW IS THE LOAD CODE 1IN USED), ROUTINE TO RESTART HIS OWN SOFTWARE ON A MAY DO SO BY MERELY DISABLING THE POWER FAIL IN THE MTCRO SWITCHES (TURN SWITCH 2 OFF), PROCEDURE 11/60/70 THERE ARE NO SPECIAL M9312 DIAGNOSTIC SWITCH AN ENTRY POINT THIS ROM ALLOWS THIS CAN BE THAT CALLS BOOTING VIA DONE AS FOR ROM SETTINGS THE ONLY WAY THESE DIAGNDSTICS CAN AT 1t OR SWITCHES DESCRIBED SWITCH ADDRESS USFR BIT UP USED)y CONSOLE POWFR RUN fl THE THE ARE WHETHER INTERNAL METHOD 2 ON EITHER: (TF 5. OTAGNOSTICS THAT BE EXECUTED DIAGNOSTICS CONSOLE SWITCH PERTAIN TO THIS ROM, Is BY ENTERING A TO BE BOOTSTRAP RUN, REGISTER, FOLLOWS: 1.LOAD ADDRESS 765744 ! 1s 1 14 1 13 3 12 ¢ ! NA ! NA ! NA | NA ! 2.SET SWITCH REGISTER AS SHOWN BELOW 11 )} ! 10 | ! 09 } | Og ! ! 07 ! ! Opg ! Os ! ! ! 04 | 02 ) 01 § 00 ...-!--i.!-.-.!..-.! ! 1----!--.-!----!--.-!.---!----!-..-!-.-.!--y-!-...!.---!----!---.!-.--!---.!-.-.! ! ! 3, NOTE: OcTAL UNIT NUMBER ! ! 8WR cOptE FROM gDOOT ROM TABLES NOW START THE SWR CODES ARE CONTAINED IN THE BOOT ROM TABLES OF K=SPeM9312=0=4 (SET-UP AND INSTALLATION PROCEDURE, 36 ROM LISTING DIAGNJSTIC page (KmSP=M9312-0-5) .ABS 000014 000030 MTSS=14 GRP0=30 000044 GRP1=44 165000 165000 165004 «=165000 010037 000700 165010 010137 010437 165014 005037 165020 165026 165034 165036 165042 052737 032737 TEST1 THIS START: MOV RO,@#700 000702 MOV R1,@%#702 000704 000706 MOV R4,R8704 CLR Rs706 FOR 11770 177776 BIS #100000,@#177776 040000 177776 BIT #40000,@%#177776 :SEE IF BEQ 1$ ¢+ IF NOT INC %706 +SET ,WAS AN CLR P#177776 +CLR PSW WORD, 001402 005237 005037 s SET 100000 000706 177776 18¢ 25 2222222222222 22222222222 TEST VERIFIES THE UNCONDITIONAL +SET X2 2222 X222 IF BIT ZERO, 15 IF 11/60,BIT 14 WILL 11/60 SET,11/70 11/60 22222222222 2223222222222 22222 XX BRANCH * % s * THE R THIS R THF. RS2 A 165046 165046 000401 165050 000000 TEST2 TEST AL REGISTERS TEST IS AND COMPLETION 22222222222 CONDITION ENTERED OF AND THIS CcODES THEY ARE SHOULD ALL UNDEFINED REMAIN THAT WHEN WAY UPON TEST, 222222222222 222222222222 2222222222222 X2 2 2222 Y] TST1: BR s TST2 BRANCH # ALWAYS HALT REZ LIS LIRSS SRS ST 222222222222 22 L) "CLR", MDDE "0"' AND "BMI","RVS","BHI","BLT","BLOS HEg TM THE REGISTERS AND CONDITION CODES ARE ALL UNDEFINED WHEN s ¥ THS g (R6) TEST IS ENTERED, SHOULD BE ZERO UPON COMPLETION AND ONLY THE "2Z» OF THIS TEST THE »Sp" FLIP~FLOP WILL BE SET, . % 2f******&*********&*******************&*******&*#**‘********ll*********# 165052 165052 165054 165056 TST2: 005006 CLR SP 100404 BMI is ¢+ V BRANCH IF N=1 102403 1s 3 V BRANCH IF V=1 165060 101002 BVS 3 V BRANCH IF Z 165062 165064 002401 101401 BLT 18 s V BRANCH IF (N XOR V)=i BLOS TST3 3 # BRANCH IF (Z XOR C)=0 165066 000000 TEST3 TEST BHI 1s: AR AL "DEC", $N=20,2=1,V=0,C=20,SP=000000 MODE "0"' AND AND C ARE BOTH O HALT AR 22222 2222222 X222 2222222222222 222 X2 R A2 22 X2 s gl gL "BPL","BEQ","BGE","BLE" * % R UPON ** N=0, s * THE HE HR R3 = UPON 3 * N=1,2 * % SP HE ENTFERING 2=1, REGISTERS THIS ARE: ?, R4 = 2?2, COMPLETTON =0, TEST V=20, RS OF RO = = ?, THIS V=0, THE ANDC ?, CONDITION = R1 SP = TEST ANDC CODES ARE:! 0. = ?, R2 = ? 000000 THE CONDITION =0 CODES WILL BE: o THE REGISTERS AFFECTED BY THE TEST ARE: = 177711717 HE HER AL SR 2222222222222 2222222232 X 22X ARSI S 2SS L SL L SRS IS RS L L 24 2L 4 SET 137 ROM LISTING DIAGNOSTIC 165070 165070 165072 165074 165076 165100 165102 000000 TEST4 TEST (K=SP=M9312=0=5) Page TST3: 005306 100003 001402 002001 003401 IR AL A MODE "O", AND SP tN=1,2=0,V=0,C=0,SP=177777 RPL 1s $ V BRANCH IF N=0 BEQ 1§ BGE 1¢ $ ¢ V V BRANCH BRANCH IF IF 2=1% (N XOR BLF TST4 ¢ # BRANCH IF (Z HALT 18 "ROR, DEC AL A A2 2 OR V)=0 (N XOR V))=ti A RSS2 IS Y SR TRY YR YRR TR YT Y A "BVC","BHIS","BNE" -R 4 R UPON ENTERING THIS TEST s ¥ THE REGISTERS ARE: RO=?, X UPON ' % THE g * SP COMPLETTON REGISTERS = OF THE CONDITION THIS AFFECTED R1=?, TEST BY R2 THE THE = CODES ? CONDITION TEST ARE:! CODES WILL BES ARE: 077777 * # IR 165104 165104 165106 165110 165112 165114 EARA 006006 102002 103001 001001 000000 1§62 IR TESTS RS AL S22 L2 R s 22 Y YT Y YT Y XYY Y Y TST4: TEST REGISTER DATA ROR sp $N=0,2=0,V=1,C=21,8P=077777 BVC 18 $ V BHIS BNE 18§ TSTS ¢ s V # BRANCH BRANCH BRANCH HALT A Z L2222 222222222222 IF IF IF Y YT Y YTY YY) v=0 C=0 Z=0 ISR XYY S CONDITION CODES Y X S X T X X XY T Y S 23223 2 PATH s X WHEN R N=0,2=20, V=1, s # THE ARE; R ] R3 = ?, R4 = ?2, RS = 2?2, SP = 077777, ) , UPoN COMPLETION OF THIS TEST THE CONDITION CODES ARE: THIS TEST REGISTERS IS ENTERED RO e * N=0,23=1, V=0, K THE 1 K g% RO R4 ARE REGISTERS = = 125252, 125252, R1 R5 = = THE ANDC = =1, ?, R1 ANDC LEFT AS 000000, 125252, = = ?, R2 = ARE: ? 0. FOLLOWS: _ R2 = 125252, R3 AND SP = {25252 = 125252 s # ERII IRy 165116 Yy Yy Y Y Y Y Y Y Y Y Y Y Y Y Y Y YTy TSTS: 165116 165122 165124 165126 165130 165132 165134 010600 010001 010102 010203 010304 MOV MOV MOV 010405 165136 MoV 160501 165140 165142 165144 002401 001401 012706 000000 MoV MOV MOV 125252 SUR BL.T BFQ 1¢: HALT #125252,SP SP,Ro RO, R1 ~ R1,R2 R2+R3 R3,R4 R4,RS R5,R1 18 TST6 IN=0,2=0,Y=0,C=1,SP=125252 tN=0,220,V=0,C=1,R0=125252 ¢N=0,2=0,V=0,C=1,R1=2125252 ¢N=0,2=20,V=0,C=1,R2=2125252 tN=0,2=0,V=0,C=1,R3=125252 tN=0,220,V=0,C=1,R4=125252 *N=0,2=0,V=0,C=1,R5=125252 ¢N=0,2=1,V=0,C=0, + ¢+ V # BRANCH BRANCH IF IF AND (N XOR Z=t R1=000000 V)=1 esey 38 LISTING DIAG 2STIC (K=-SP=MQ312~-0=5) Page B TeST6 TEST "ROL", "BCC", R A2 2222 X222 X222 22 2A 2222222222222 22X 222222222 2 X222 2R 2222222 Y ) "RLTY . %* ° % WHEN . %* . #* N =0, Z =1, THFE RFEGISTERS V=0, ANDC = 0, ARE: RO = 125252, ¥ P* R1{ = 000000, R2 = 125252 R3 = 125252, R4 = 125252, R45 = 125252, SP = 125252, UPON COMPLETION OF THIS TEST THE CONDITION CODES ARE: . % N=0,2=0, V=1, . THE ARE * % R2 THIS TEST REGISTERS WHICH IS SHOULD ENTERED THE ANDC LEFT NOW CONDITION ARE:® =1, UNCHANGED EQUAL cODES EXCEPT FOR 052524, . ¥ A 165152 006102 103001 002401 165154 000000 TEST? TEST 165146 165150 22X SIS IS SIS S ZRE2 22222 22 222X 222222 2222222222222 Y2 22222 L) TST6 165146 R2 *N=0,2=0,V=1,C=1, ¢+ V BRANCH IF C=0 BLT TST? s+ # BRANCH IF (N "INC", "COM" » 18 AND R2 = 052524 XOR V)=t HALT 16 R "ADD", ROL BCC TR Y IR AND R I "BCS", R R Ay TEST IS Y WHEN s * N=0, THIS R R Z =0, ENTERED V=1, X THE REGISTERS s R3 * % N=0,2=1, V=0, . % THE ARE s * R3 * % R e Y A R R AR R RIS AR XY "BLE" HR % = 125252, UPON ARE: R4 = COMPLETION REGISTERS WHICH OF THE ANDC RO = THIS LEFT R5 = = 0, TEST AND CODES ' ARE:? =1, 125252, 125252, NOW EQUALS CONDITION C R{ THE 000000, SP = CONDITION UNCHANGED 000000, = 125252, EXCEPT AND Ri R2 = 052524 125252 CODES ARE: FOR WHICH IS ALSO 000000 X ER IIT SR SIS 2SS S ITZ2 ST XSS I I sN=1,Z2=0,V=0,C=0, AND R3=1777177 R3 :N:O,Z:l,V:O,C:l, AND R3=000000 ADD R3,R1 ¢N=20,2=1,V=0,C=0, AND R1 BCS BLE 1¢ TST10 $ s BRANCH BRANCH IF IF C=1 (Z OR (N = 000000 XOR V))=1 22222222XTIEITRSITESESSISS RS SSSSS SIS RS2SRRSR S22 RS2 2 2 2 22 2 2 2} DO ¥ 9B % ¥k % % X O Xk "RLO" % AND e W "ADD", UPON N=1,2=20, THE RFGISTERS 8 V # R3=177776 HALT R3 WO 125252) R3 THE wO = INC WHEN Xk S0 (R3 COM N=60,2=1, R4 R1 -8 IIBIS" + ¢N=1,Z2=0,V=0,C=0,AND % "DEC"’ 052524) R2,R3 *® "ROR"' = ADD -8 TEST LI L L) (1] 103401 003401 000000 2 ' e %k TEST10 IS L2 N 060301 @ 165172 SR XLSSITLLRS ?(R2 060203 005203 005103 w=b 165170 LSS s 165156 165160 165162 165164 165166 2RI TR TSR TST7: 165156 - ROM THIS TEST REGISTERS = 000000, IS ENTERED THE CONDITION CODES ARE: V=0, ARE: R4 COMPLETION ANDC RO = = 0, 125252, = 125252, OF THIS RS TEST = R1 THE V=20, AND C = 0, ARE LEFT UNCHANGED WHICH SHOULD NOW EQUAL 052525, WHICH SHOULD NOW EQUAL 177777 2222 XTI TSI TSI ETEST = 000000, 125252, SP = CONDITION EXCEPT LSRR R2 = 052524 125252, CODES ARE: FOR AND LIRSS R 22222228 28 24 A0 R A S dhd 39 ROM LISTING DIAGNOSTIC 165174 165174 165176 165200 165202 165204 165206 (KeSP=M9312<0=5) Page TST10¢ 006004 050403 ROR RIS R4 R4,R3 $N=0,220,V=1,C=0, tN=0,Z=0,V=0,C=0, AND AND 060503 ADD R5,R3 ¢N=1,2=0,V=0,C=0, AND R3 = 177777 005203 INC R3 ¢N=0,2=1,V=0,C=0, AND R3 = 000000 sN=1,2Z2=0,V=0,C=0, AND R! = 177777 103402 RLOD 005301 NEC 165210 002401 165212 000000 18 R1 BI,T 182 ¢+ TST11 3§ V BRANCH IF C=1 # BRANCH IF R4 R3 = = (N XOR V)=1 052525 052525 HALT 7% ER TEST11 TEST "COM", "BIC", AND T2 "BGT", LSRR RS SR RS RIS R 22222 RS2 TS "BLE" SIS S22 S2 2RI 22 LY | g * ?# WHEN g * N=1{,2=20, V=20, X THE ARE: 7 * g * R3 = 000000, R4 UPON COMPLETION g# ?* THE REGISTERS ARE LEFT UNCHANGED EXCEPT FOR RO WHICH SHOULD NOW EQUAL 052525, AND . * THIS TEST REGISTERS N=20,2=0, E R1 WHICH IS ENTERED RO = =0, . 125252, R1 = 052525, RS OF THIS TEST V=1, SHOULD THE CONDITION CODES ANDC NOW ANDC EQUAL = 177777, ARE?! R2 = 052524 = 125252, SP = 125252, THE CONDITION CODES ARE: =1, 052524 g * D S U000 165214 165214 165216 165220 165222 165224 165226 165230 1652132 TST11: 005100 101401 000000 040001 060101 28 000000 188 Com BLOS HALT RO 28 BGT RLE 18 TST12 BIC ADD 003001 003401 TEST "SWAB"O "CMP"' “BIT"' 00 3 038 3638 3 00 3 A 606 326 36 A 6 33 06 336 0 3 36 38 3 36 36 36 3 3 3 3 3 36 33 3 3 tN=20,2=0,V=0,C=1, AND RO = 052525 t # BRANCH IF (Z OR C)=1 t STOP HERE IF BRANCH FAILED RO,R1 R1,Rt ¢N=1,2=0,V=0,C=1, tN=0,2=0,V=1,C=1, s t V BRANCH # BRANCH IF IF AND Ry AND R1 2 AND (Z OR = 125252 = 052524 ( N XOR V) ARE (N XOR V))s=t BOTH 0 HALT IRZITIAIIT TEST12 03 300 306 3 336 3 XTSRS AND "BNE"' SISSZSSL 2RSSR 2 XA X2 2 d R 2l AR 22 X X222l ) "BGT" P 9% P * WHEN THIS TeST IS ENTERED THF. CONDITION CcODES ARE! N=0, 2=0, V=1, ANDC =1, X THE R R3 T N=o0, g* REGISTERS = 000000, ARE: RO = 052525, R4 = 052525, RS = R1 = 052524, 125252, SP = R2 = 052524 125252, UPON COMPLETION OF THIS TEST THE CONDITION CODES ARE: THE K 1R R 2=0, RFGISTERS RO = 052525, R4 = 052525, V=20, ANDC ARE NOW;: Ry R5 = 052125, = 052525, =1, R2 = 052524, SP = 125252, R3 = 000000 X BE 165234 165234 165236 165242 165244 165246 165250 000301 020127 nN01004 38232; 005105 L L LTy r Y T Y Y T X T X Y T T YT X T YT T IR TR YIS Y T XY YT XL L TST12: SWAR R{ 1N20,220,V=0,C=20, AND Rt = 052125 BNF 1§ sy V BRANCH IF Z=0 BT R4 ,RS% tR4 = 052525 RS = tN20,221,V=0,C=0 COM RS sy V BRANCH IF Z OR (N XOR V) ARE 0 sN=0,2=0,V=0,C=1, AND R5 = 052525 CMP 052125 , ném R{,#052125 18 tN=20,2=1,V=20,C=0 125252 40 ROM LISTING DIAGNOSTIC 165252 001001 165254 000000 TEST13 TEST Page (K=SPeM9312=0«5) TST13 BNE HALT 1s: PO "MOVa*", "SOB"' "CLR", "TST" ! # BRANCH IF Z2=i RN NRRRRRRERERRRRRRRERERRRBRRBBRERRRRRRRBRRRRRBERRRS AND "BPL", "BNE" | 3 * * % WHEN ?* N S % A HE THE REGISTERS ARE: RO = 052525, R1 = 052125, R2 = 052524 R3 = 000000, R4 = 052525, RS = 052525, sSp = 125252. UPON COMPLETION OF THIS TEST THE CONDITION CODES ARE: s # = RO * % RY THIS 0, Z TEST = 00 IS VvV = ENTERED 0, AND IS DECREMENTED BY A IS CLEARED AND THEN THE C = SOB CONDITION cODES ARE: 1. INSTRUCTION TO INCREMENTED AROUND 000000 TO 000000 s ¥ ::i********'*******'*i**********fi*f*****’**********i*************.'***** 165256 165256 112700 165262 100001 165264 165266 165270 165272 165274 165276 165300 165302 165304 165306 000000 177401 TST13: 182 28: 077002 005001 005201 077002 005700 001002 005701 A 38 4s: IR TEST14 TEST "JSR", "RTS"’ #177401,R0 IN=0,2=20,V=0,C=1, BPL 28 ¢ HALT SOB RO,18 s STOP IF "BPL" FAILED sDO NOT LOOP SINCE (RO CLR R1 R1 RO, 3s$ $ INCREMENT + LOOP BACK TST RO ¢sN=0,2=21,V=0,C=0, INC S0B 001401 000000 MOVB BRNE TST 43 R1 BEQ TST14 # BRANCH sN=0, Z=1, IF AND RO = 000001 N=0 V-0, C=0, =1) AND R1 64K TIMES (2 TO "INC" 64K $ V BRANCH IF Z=0 ¢sN=0,2=1,V=0,C=0, = 0 = 000000 ## 16) TIMES AND RO = 000000 AND R1 = 000000 HALT AZ L2222 22222222 2 222222 2222222222 2212222 22222222222 X222222X2Z2; NRTI",.-"JMP” s THIS . AND THFN VERIFIES ALL WORK PROPERLY, . | TEST FIRST SETS THE THAT STacK “JgSR", POINTER "RTS", TO 776, "RTI", AND "gMP" HE . # : L2 165310 165310 165314 165320 165322 165326 165330 165332 165336 165340 165342 165344 165350 165352 165354 165360 ON ENTRY TO THIS TEST THE STACK POINTER To 00776 AND 1S LEFT THAT WAY ON EXIT. XTI TST14: 012706 004767 000000 022716 001401 000776 000002 012716 165342 165354 000002 000000 000137 165362 000000 SIS S YERSS LS 2RSSR #776,5SP tSET UP THE STACK POINTER PC,18 108 JSR HALT +TRY ¢ THE 28 3¢ 005046 012746 RSLS INITIALIZED MOV 000207 000000 XSRS IS 118 165320 000000 EEETEREE SRR RS2 "SP" 4s: FAILED 1¢¢ cMP BEQ HALT 2% MOV #3s,(SP) RTS HALT CLR MOV PC ¢ TRY sDID -(SP) #48,=(SP) sPUSH A ZERD ON THE STACK +PUSH THE RETURN ADDRESS ON STACK s SEE IF AN "RTI" WORKS s THE "RTI" FAILED RE5S : TRY TO "JMP" RTI HALT JMP HALT 108, (SP) TO JSR TO 18 "JSR" MUST HAVE 202 22 2 2 8 % ¢sWAS THE CORRECT ADDRESS PUSHED? s BRANCH IF YES ¢+ WRONG THING PUSHED ON STACK s CHANGE THE ADDRESS ON THE STACK ¢t THE 2 TO RETURN TO 3§ NOT RETURN PROPERLY "JMP" FAILED 41 ROM LISTING DIAGNDSTIC (KeSP=M93{2«0=5) 165362 Page 58 EE TEST15 TEST MAIN MEMQORY FROM VIRTUAL IR 2 001000 2 A TO X 2RISR LAST XA ISR TOD "JMP" T0O s ADDRESS XA ST LTSS LSS SIS ALA LY L L) ADDR, HR T * THIS : * VIRTUAL TEST WILL TEST s * PROPERLY . ?* PARITY ERROR OCCURS THE THE PC + 2 ON THE STACK ADDRESS THE MAIN 001000 TEST TO WILL MEMORY WITH THE LAST ADDR, IF HALT AT EITHER CACHE DISABLED, THE DATA DOES 165516 OR 165536, FROM NOT IF TEST WILL HALT AT ADDRESS 165750, WHICH IS IN THE KERNEL DeSPACE, COMPARE A WITH . # R T R IN RO R4 THIS TEST THE REGISTERS ARE INITIALIZED AS FOLLOWS: = 001000, R1 = DATA READ, R2 = 001000, R3 = 177746 (CACHE = COUNT VALUE, RS = LAST MEMORY ADDRESS, SP = 000776 CONTROL I Y X REG,) ? # 165362 165362 165366 165372 165400 165404 RIS 012705 005037 012737 012706 160000 000006 165400 000776 R 2 X2 222 22 A2 2R 222X 000004 182 005745 165406 MOV #160000,RS CLR @86 MOV #18,@84 MOV #776,S°P TST «(RS) tFIRST 012737 165714 005037 012703 000116 012713 012702 010200 010010 165440 165442 165444 165446 165450 165452 165454 005720 165456 000000 165460 165462 165464 165466 020005 101774 010200 011001 020001 001401 000114 108 177746 000014 MOV 18: TST 28 LTI TL Y MEMORY, MEMORY VECTOR REGISTER CONTROL MOV #MISS, (R3) s FORCE MISS BOTH #1000,R2 s FIRST ADDRESS R2,R0 s SETUP FORST RO, (RO) s LOAD EACH ADDRESS WITH s OWN ADDRESS (RO)+ STORAGE ADDRESS CmP RLOS RO,RS 18 MoV R2,R0 +SET MOV (RO),R1Y tGET THE DATA cMP BEQ HALT RO, R1 38 $IS IT CORRECT? ¢ BRANCH IF YES +DATA ERROR ON READING BL,OS (RO)+ ADDRESS GROUPS MOV ' ADDR, s SET PROCESSOR STATUS WORD TO ZERD MOV MOV MEM ADDRESS $SET UP PARITY s CACHE 101771 STARTING ADDRESS IN ITS RO MEMORY LOCATION ¢sR0 = ADDRESS, Ri1 = DATA RECEIVED, RO = s COMPLEMENT DATA AND INCREMENT ADDRESS 005101 020001 cOM cCMP R1 RO, R1 001401 000000 BREQ 5§ ¢+BRANCH HALT 165500 165502 020002 001371 EXPECTED 28 165470 165472 165474 165476 58 DATA RO, R5 s READ THE DATA (IT SHOULD NOW BF THE s COMPLEMENT OF THE ADDRESS) 2 COMPLEMENT BEFORE CHECKING s IS THE DATA CORRECT? 014001 48 LAST OF #CONT,R#%114 #177746,R3 020005 005120 YA CONTAINS LAST R%116 | coOM cvmp 38 SIZE CLR MOV 001000 GET $IN END,RS FIX: s THE 165406 165414 165420 165424 165430 165434 165436 SR SRR TST15¢ MoV =(R0),R1 IF YES tDATA ERROR ON READING MEMORY LOCATION tRO=ADDRESS, R1=DATA RECEIVED, RO=DATA CMP RO,R? BNE 48 EXPECTED 42 LISTING DIAGNOSTIC CACHE MEMORY (K=SP=M9312=0=5) DIAGNOSTIC Page TESTS ¢t VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVYV s VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVYV : s % THF ° # THEM ?* FOLLOWING FAILS TO IN THE M9312 TWO TESTS RUN SUCCESSFULLY ARE DIAGNOSTIC, . * DIAGNOSTIC ANYWAY, R ' ¥ WILL FORCE BOOT STRAP MISSES IN THE THAT HAS BEEN YOU CACHE MEMORY THEY WILL TESTS, COME IF TO EITHER A OF HALT TF YOU DESIRE TDO TRY TO BOOT YOUR SYSTEM, CAN PRESS "CONTINUE" CTACHE AND SELECTED, GO TO AND THE PROGRAM OR THE %P 9 HE] «® ROM TEST16 TEST CACHE £ 222222222222 X2 2222222222 X222 X222 22222222222222X22223222222X222X222222.; DATA MEMORY s # s% THIS TEST WILL CHECK THE . THERE IS ONLY GROUPS, THE TEST TM . ¥ IT TWICE AND THE. DATA WAS ADDRESS WITH s % ARE ?¥ IF : ¥ PROGRAM LOADS TESTED EITHER GROUP DATA MEMORY (1K), ON IN THE CACHE, PDP11/70 THERE ON THE PDP11/60 ARE EACH, 1/2K TWO : ¥ : ONE 0552525 INTO AN ADDRESS, COMPLEMENTS THEN READS THE DATA, THEN IT CHECKS TO INSURE THAT A HIT, THEN THE SEQUENCE IS REPEATED ON THE SAME 125252 AS THE DATA, ALL CACHE MEMORY DATA LOCATIONS IN THIS GROUp WILL WAY, FAILS TRY TO , AND BOOT THE WITH , | OPERATOR PRESSES THE CACHE CONTINUE THE DISABLED. * % * ¥ THE s % R3 = 177746 g %* s# REGISTERS ARE INITIALIZED AS FOLLOWS FOR THIS TEST: RO = 4000 (ADDRESS), R{ = 2 (CoUNT), R2 = 1000 (CQUNT) SP = 000776 (CONTROL REG,), R4 = 125252 (PATTERN), R5 = LAST MEMORY ADDRESS (FLAG OF ZERO PUSHED ON STACK) % * I EE 2222222232222 165504 TST16¢ 165504 005016 165512 012713 000030 165516 165522 165526 165530 165532 012700 012702 005104 010410 005110 004000 001000 165536 021004 165506 165534 012704 001401 000000 165544 006037 165552 000000 165554 000461 165556 165560 182 3 103402 105116 001362 5% 222222 S22 R 2 2 2 2 L $SET THE CYCLE FLAG TO ZERO, MOV GRPO, (R3) s FORCE REPLACE FROUP 0 AND FORCE MISS GROUP { 125252,R4 1 SET UP R4 FOR TEST PATTERN FLAG TO 0 sFOR MISS UPPER 1/2K OF CACHE ON t SET STARTING ADDRESS INTO RO s SET COUNT TO 1000 OCTAL s COMPLEMENT DATA IN R4 sWRITE THE TEST PATTERN 11/60 MOV MOV COM MOV COM 4000,R0 1000,R2 R4 R4, (RO) (RO) CMP BEQ HALT (R0O), R4 58 s COMPARE DATA .SET BIT0 IN HIT/MISS REG, ROR R 177752 s WAS THE LAST MEMORY REFERENCE A HIT? BCS 48 RR BOOTMISS COMB BNE (SP) 3$ HALT 42 | RS SSSSS SR RSS2 (SP) COM 177752 2SRRI CLR MOV 005110 165540 165542 165550 125252 EEZS (RO) s DOUBLE COMPLEMENT DATA AND sMAKE SURE DATA IS IN THE CACHE sBRANCH IF DATA MATCHES s CACHE DATA DIDN’T MATCH s RO=ADDRESS, R4=EXPECTED DATA sBRANCH IF YES s CACHE FAILED TO HIT s RO=ADDRESS THAT WAS REFERENCED s ABROT REST OF TEST IF "CONTINUE" PRESSED (ON 11/70) 43 ROM LISTING DIAGNOSTIC 165562 165564 165570 165572 165574 165600 165604 165610 000402 000167 (K=SP=M9312=0=5) Page 177210 005720 077223 6$ JMP START s ENTRY POINT TST (RO)+ sMOVE TO 012713 012700 S0OB R2,3$ $BRANCH 000044 MOV #GRP1, (R3) s FORCE 006000 MOV ¥6000,R0 105166 000001 comB BNE 1(SP) is 001344 $ S TEST1?7 BR TEST MEMORY WITH THE DATA U003 000000300000 CACHE FROM NEXT ROM WITH DIAGNOSTIC SELECTED ADDRESS IF NOT DONE MISS LOWER 1/2K s COMPLEMENT THE CYCLE s LOOP IF NOT DONE 20000000 00 00 00 3300000 00T OF CACHE ON 11/60 FLAG 3630 303 3 3036 30 000 T 3 206 0000 030806 3333 ON * # X TEST CHECKS VIRTUAL MEMORY FROM 001000 THRU LAST ADDRESS TO INSURE THAT YOU CAN GET HITS ALL THE WAY UP THROUGH MAIN MEMORY, ON THE PDP11/70, IT STARTS WITH GROUP 1 ENABLED, THEN TESTS s * GROUP 0, g * ON y * WHOLE 3 * X THTS THE AND FINALLY PDP11/60, CACHE THE CHECKS MEMORY WITH BOTH TEST IS DONE WILL BE WITH GROUPS ENABLED, ‘ THE ENABLED, ? # ' % UPON ENTRY THE REGISTERS SET UP AS FOLLOWS: ?# # RO = 001000 g * R3 = 177746 X) RS = (LAST (ADDRESS), Rf = 3 (PASS (CONTROL REG.). MEMORY ADDRESS, SP = COUNT), R2 = (FIRST ADDRESS), 776 ? * X} UPON ? # 001000 RIS 165612 165612 165616 165620 165622 165624 165626 165630 165634 1656136 165642 165644 165650 165652 165654 165656 165656 165660 165662 165664 165666 165672 165674 165676 165700 165702 165704 COMPLETION OF THRU LAST RIS THIS ADDRESS AT SIS SR TEST MAIN MEMORY WILL CONTAIN I SIAL I FROM ITS OWN AAITLIA TSI SIS VIRTUAL ADDRESS VIRTUAL ADDRESS, IR L SIS ST T AL T AL TST17: 012702 010200 MOV 001000 010010 18: MOV MOV #1000,R2 R2,R0 RO, (RO) s SETUP FIRST ADDRESS tFIRST ADDRESS 18 ¢ FILL MEMORY WITH 005720 TST (RO)+ 020005 CwP RO, RS 000003 BLOS MOV 18 #3,R1 s SET 000706 CLR TST (SP) R#706 BNE 6$ 101774 012701 005016 0057137 001020 012716 PASS COUNT sIF 11760 THIS sIT IS 1000 OCTAL ADDRESSES TO THREE LOC=1,11/70=00 PDP11/60 MOV #GRPO, (SP) s LOAD MoV R2,R0O tFIRST coM coMm (RO) (RO) 1 DOUBLE COMPLEMENT DATA AND tMAKE SURE IT IS IN THE CACHE, 020010 CMP RO, (RO) 001401 BEQ HALT 58 s COMPARE DATA, AND SET BIT 0 tALSO POINT TO NEXT ADDRESS TST (RO)+ 000030 010200 005110 005110 000000 005720 006037 103402 000000 3s: 518: 56 177752 000410 020005 4$: 101763 011613 6S: CODE TO FORCE ADDRESS ROR R#177752 sWAS 48 s BRANCH BOOTMISS CMP RO, RS RLOS 38 MOV (SP).,(R3) 0 ONTO THE LAST IF STACK IN HIT/MISS REG, s BRANCH IF DATA MATCHES ¢sDATA DIDN’T MATCH RO = ADDRESS + BRCS HALT BR GROUP MEMORY REFERENCE 2 A HIT? YES ¢HIT FAILED TO OCCUR RO = ADDRESS + 2 s ABORT REST OF TEST IF "CONTINUE"TM PRESSED s FORCE MISS GRP1 ON PASS 2, FULLY 44 ROM LISTING DIAGNOSTIC (KeSP=MQ3312«0=5) Page sENABLE CACHE ON $ON 165706 165710 165712 165714 005016 077121 000404 000000 11/60, s CACHE CLR S0OB R1,2$ JUMPQ: BR JUMP CONT: HALT (SP) RUN PASS THREE, EACH PASS WITH (11/70) THE SHOLE ENABLED, ¢+GET READY TO FULLY ENABLFE CACHE ON PASS 3 ¢ RUN GO THREE TO BOOT $STOP HERE PASSES THRU STRAP CODE IF THERE THIS TEST IS A CACHE PARITY ERROR sOR A MAIN MEMORY PARITY ERROR $CHECK CCR, MEMORY REGISTER AND CPU +TO FIND WHICH ONE 165716 165720 165720 165724 165730 165734 165740 TEST17 165744 000402 BR JUMP BOOTMISS: 012713 013700 013701 000014 000700 000702 013704 000704 000164 000002 TEST MEMORY WITH 177570 013704 JUMP ¢ THE DATA CACHE MOV MOV MOV $MISS, (R3) s FORCE R4700,R0O ¢t NOW RESTORE s AND RETURN MOV @¥704,R4 JMP 2(R4) ON MOV P#177570,R4 @#702,R1 MISSES 165754 165760 165764 165766 165770 165772 165774 165776 042704 052704 113700 006200 000241 000114 000000 041060 025055 000001 177000 173000 177571 BIC BIS Movs ASR CLC JMP HALT LASCII <WORD «END IN ALL TO BOTH GROUPS NEEDED OF CACHE REGISTERS, BOOTSTRAP, sSWITCH REGISTER sOFFSET 165750 REGISTER ADDR,IN TO R4 BITS 0-8 OF R4 #177000,R4 R4 #173000, @#177571,R0 RO ¢sBITS ¢sMAKE (R4) noB" 025055 0=-g OF SWR CONTAINS STARTING CODE, sOF DESIRTMTM ROM, $BITS 9=1 )F SWR = OCTAL UNIT NUMBER., sUNIT # RIGHT JUSTIFED IN RO SURE C BIT CLEAR ¢EXIT TO BOOT ROM sEXTRA WORD : IDENTIFIES ROM AS "Bo" OR B VERSION REV ¢+CONTAINS CRC=16 WORD FOR LAST 255 WORDS, o, ECB (2=12 45 ROM LISTING DIAGNOSTIC Page (K=SP=M931{2«0=5) 616F1,M11 = = 000400 000000 = 000044 165712 RC11CR= 177446 RKO6CR= 177440 BIT8 CRCWD GRP1 JUMPO TABLE BOOTMI FI1X = 001000 DIAG = 165564 HSRCR = 177550 INITSW= 000340 174400 MRESER= RF11CR= RPO3CRs=s BIT9 MISS = 000014 RESERV= RLOI1CR= RSO3CR= 172040 =%000000 RO R4 =%000004 =%000006 SP TST11 165214 TST15 165362 TST3 165070 TST7? 165156 RSO4CR= TST4 TTCR = TUS6CR= . z 177342 SYMROL R1 172040 24000001 RS =%000005 START TST12 TST16 165000 165234 165504 165104 177560 166000 165720 165406 173024 173000 177460 176714 177170 RX01CR= R2 24000002 R6 TST1 TST13 TST17 TSTS %000006 165046 165256 165612 165116 TU10CR= 172522 CONT GRPO JUMP PLC = 165714 000030 165724 =2%000007 RKOSCR= 177404 RPO4CR= 176700 RX02CR= 177170 =%000003 R3 . R7 =2%000007 TST10 165174 TST14 165310 TST2 165052 TST6 165146 TU16CR= 172440 46
Home
Privacy and Data
Site structure and layout ©2025 Majenko Technologies