Digital PDFs
Documents
Guest
Register
Log In
AH-9210C-MC
July 1978
275 pages
Original
14MB
view
download
OCR Version
12MB
view
download
Document:
CZRJGC0 RP04-5-6 DISKLESS 1 DEC 1978 bw
Order Number:
AH-9210C-MC
Revision:
000
Pages:
275
Original Filename:
CZRJGC0__RP04-5-6__DISKLESS_1__AH-9210C-MC__DEC_1978_bw.pdf
OCR Text
RP04/5/6 CZRIGCO omvmen: sazo EBRCD FICHE1 OF 2 MADE IN USA RP04/5/6 CZRIGCO cormant 7e7s ZHENED _FICHE2O0F2 MADEINUSA (IRJGCO,RPOL/5/6 DSKLS CTRLRT CZRJIGC.PTY 26=-JuL~-78 10:10 MACY11 30A(1052) 27-JuL-78 8 12:41 1 PAGE 2 SEQ 0001 SEQ 0001 .REM a IDENTIFICATION PRODUCT CODE: AC-9208(C-M( PRODUCT NAME: CZRJGCO RPO4/5/6 DISKLESS CONTROLLER TEST-PART | DATE CREATED: MAY 1976 MAINTAINER: DIAGNOSTIC ENGINEERING AUTHOR: PETE BLACKSTONE THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT CORPORATION. DIGITAL EQUTPMENT CORPORATION ASSUMES NO RESPONSIBILITY FOR ANY ERRORS THAT MAY APPEAR iN THIS MANUAL . THE SOF TWARE DESCRIBED IN YHIS DOCUMENT IS FURNISHED TO THE PURCHASER UNDER A LICENSE FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPJED (WITH INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM, EXCEPT AS MAY OTHERWISE BE PROVIDED IN WRITING BY DIGITAL. DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOF TWARE ON EQUIPMENT THAT 1S NOT SUPPLIED B8Y DIGITAL. COPYRIGHT (C) 1974,1978 DIGITAL EQUIPMENT CORPORATION THE FOLLOWING ARE DIGITAL DEC TRADEMARKS Of PDP DECUS DIGITAL EQUIPMENT (ORPORATION UNIBLS DECTAPE MASSBUSS CZRJIGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.P11 26~JuL~78 10:10 MACY11 30A(1052) 27-JUL-78 CONTENTS 1. ABSTRACT 2. REQUIREMENTS 2.1 EQUIPMENT 2.2 STORAGE 2.3 PREL IMINARY PROGRAMS 3. LOADING PROCEDURE 3.1 ME THOD 4. STARTING PROCEDURE 4.1 CONTROL 4.2 STARTING ADDRESS OR ADDRESSES 4.3 PROGRAM AND/OR OPERATOR ACTION 5. OPERATING PROCEDURE 5.1 OPERATIONAL SWITCH SETTINGS 5.2 SUB-ROUTINE ABSTRA(CTS 6. ERRORS 6.1 'FATAL' ERRORS 7. RESTRICTIONS 8. MISCELLANEOUS 8.1 EXECUTION TIME 8.2 STACK POINTER 8.3 OPERATCR SELECTABLE SCOPE LOOPS 8.4 PROGRAM REVISION HISTORY 9.0 PROGRAM DESCRIPTION SWITCH SETTINGS c 12:41 1 PAGE & SEQ 0003 SEQ 0002 CZRJIGCO,RPO4L/5/6 DSKLS CTRLR1 CZRJGC.PI 26-JUL-78 10:10 1.0 MACY11 30A(1052) 27-uUL-78 D 12:41 1 SEQ 0004 SEQ 0003 PAGE 5 ABSTRA(CT THE DIAGNOSTIC IS USED TO TEST RPQO4/5/6 DEVICE CONTROL LOGIC CONNECTED TO EITHER AN RH11 OR RH70 DISK DRIVE CONTROLLER THIS DIAGNOSTIC TESTS THE RH11 AND DCL OF AN RJP04/5/6 SUBSYSTEM. IT DOES NOT USE THE DISK SURFACE OR ANY SIGNALS FROM THE MDLI. 1T REQUIRES THAT THE DCL CABLE BE PLUGGED INTO THE MDLI OR IF THE DISK IS POWERED UP, IT BE APPROPJATELY TERMINATED. IS REQUIRED TO GET THE DISK TO THE 'HEADS UNLOADED'' POSITION. AFTER A SUCCESSFUL RUN (WITH NO ERRORS) OF THIS DIAGNOSTIC 1T CAN BE ASSERTED THAT, °'‘THAT PART OF THE DCL THAT HANDLES DATA OR DATA ASSOCIATED LOGIC IS WORKING PROPERLY''. THIS IMPLIES THAT, THE PART OF THE LOGIC WHICH HANDLES MECHANICAL COMMANDS OR ITS ASSOCIATED LOGIC IS NOT TESTED IN THIS DIAGNOSTIC. ALL DATA COMMANDS USE THE MAINTENANCE REGISTER IN THE WRAPARCUND MODE. THE DIAGNOSTIC DOES NOT DO ANY TESTING OF THE RH70 CONTROLLER WHEN IT IS USED ON AN RWP04/5/6 SYSTEM TO TEST RP0O4/5/6 DISK DRIVES CONNECTED TO THAT TYPE OF CONTROLLER. IT IS ASSUMED THAT THE RH70 SPECIF)C CONTROLLER DIAGNOSTIC HAVE BEEN SUCCESSFULLY RUN TO COMPLETION BEFORE 2.0 REQUIREMENTS 2.1 EQUIPMENT THIS DIAGNOSTIC IS RUN. PDP-11 COMPUTER WITH CONSOLE TELETYPE, AND A RP04/5/6 DISK SYSTEM. THE RP04/5/6 DISK SYSTEM WILL CONSIST OF AN RH11/RH70 CONTROLLER, AND DISK CONTROL LOGIC (DCL), THE CABLE FROM THE DCL CAN BE CONNECTED TO THE MDLI, BUT IF NOT THAT CABLE MUST BE PROPERLY TERMINATED. 2.2 STORAGE THIS PROGRAM REQUIRES 16K WORDS OF MEMORY. 2.3 PREL IMINARY PROGRAMS THIS CAN BE THE FIRST PROGRAM RUN ON AN RJP0O4/5/6 SYSTEM BUT THE CONTROLLER DIAGNOSTICS MUST BE RUN FIRST IN THE CASE OF AN RWP04/5/6 SYSTEM. 3.0 LOADING PRGCEDURE USE STANDARD PROCEDURE FOR LOADING .ABS TAPES 4.0 STARTING PROCEDURE SWITCH 12 MUST BE SET WHEN THIS PROGRAM IS TO BE RUN USING AN RH70 CONTROLLER. IT CAN BE SET AT SOF TWARE SWITCH REGISTER IF PARAGRAPH 5.1 OPERATION. THE FRON PAEL, OR IN THE THE OPERATOR SO DESIRES. FOR A DESCRIPTION OF SOF TWARE SE SWITCH REGISTER czl ! CZRJIGCO,RPO4/5/6 DSKLS CTRLR1 26-JuL-78 10:10 4.1 27-JUL-78 E 12:41 1 SEQ 0005 SEQ 0004 PAGE 6 CONTROL SWITCH SETTINGS SEE SECTION 5.1 STARTING ADDRESS START AT ADDRESS 200~--FOR NORMAL RUN START AT ADDRESS 204---TO SELECT NON-DEFAULT ADDRESSES START AT ADDRESS 210---FOR UNIT SELECTION 200 START ALL SWITCHES MUST BE DOWN FOR WORST CASE RUN. WITH THIS STARTING ADDRESS ALL THE RP04/5/6S ON THE SYSTEM WILL BE TESTED ONE AT A TIME BEFORE 'END PASS'' IS PRINTED OUT. TESTING WILL START WITH THE LOWEST UNIT NUMBER DRIVE THAT IS POWERED UP (THAT IS THE LOWEST UNIT NUMBER RHAS REGISTER THAT RESPONDS)THEN GO ON TO THE NEXT HIGHER UNIT NUMBER THAT IS POWERED UP. 204 RESTART SAME AS START 200 WITH THE FOLLOWING EXCEPTION: THE PROGRAM WILL INTERROGATE THE OPERATOR FOR A NON-STANDARD C.S.R. AND VECTOR ADDRESS BEFORE STARTING. ONCE THE QUESTIONS HAVE BEEN CORRECTLY ANSWERED, AND IT IS ALSO NECESSARY TO SELECT A PARTICULAR UNIT FOR TEST (TYPICAL PROGRAM EXECUTION FROM ADDRESS 210), THE PROCESSOR MAY BE HALTED AND RESTARTED FROM ADDRESS 210. THE NEW PARAMETERS WILL NOT BE CHANGED UNLESS THE PROGRAM [S AGAIN RESTARTED FROM ADDRESS 204. IF ALL UNITS ARE TO BE CHECKED, THE PROCESSOR NEED NOT BE TOUCHED. THE PROGRAM WILL AUTOMATICALLY RESTART AT 200 AFTER RECEIVING THE NEW DEVICE PARAMETERS. 210 START ALL SWITCHES MUST BE DOWN FOR WORST CASE RUN. WITH THIS STARTING ADDRESS THE CONSOLE TELETYPE WILL ASK FOR THE UNIT NUMBER TO BE TESTED. FOR EACH PASS OF THEN ONLY THAT UNIT WILL BE THE PROGRAM. TESTED PROGRAM AND/OR OPERATOR ACTION — 4.2 . CZRJGC.PI MACY11 30A(1052) LOAD THE PROGRAM INTO MEMORY. 2. SET STARTING ADDRESS ON THE SWITCH REGISTER 3. PRESS 'LOAD ADDRESS''. 4 SET 'OPERATIONAL SWITCH SETTINGS'' (SEE SECTION 5.1) WORST CASE IS ALL SWITCHES DOWN. 5. PRESS "'START''. 6. FOR THE FIRST PASS EACH TEST WILL BE EXECUTED ONCE ON THE DRIVES PRESENT OR DRIVE SELECTED BEFORE ‘END PASS'' IS PRINTED. THE FIRST PASS WILL REQUIRE OPERATOR cZl czi F CZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.P1T 26-JUL-78 10:10 12:41 27-JUL-78 MACY11 30A(1052) 1 PAGE 7 INTERVENTION IF THE PROGRAM IS NOT RUN UNDER AN "‘ACT-11"" MONITOR. THE SECOND AND SUBSEQUENT PASSES WILL EXECUTE EACH TEST FOUR TIMES ON EACH DRIVES PRESENT OR DRIVE SELECTED BEFORE 'END PASS'' IS PRINTED. THE SECOND AND SUBSEQUENT PASSES DO NOT NEED ANY OPERATOR INTERVENTION. 5.0 OPERATING PROCEDURE 5.1 OPERATIONAL SWITCH SETTINGS IF THE PROGRAM IS BEING RUN ON A SWITCHLESS PROCESSOR (I. E. 1T WILL DETERMINE THAT A HARDWARE SWTICH REGISTER IS NOT PRESENT, AND WILL USE A "‘SOFTWARE'' SWITCH REGISTER. AN 11/34) THE SETTINGS OF THE '‘SOFTWARE'' SWITCHES ARE CONTROLLED THROUGAH A KEYBOARD ROUTINE WHICH IS CALLED BY TYPING A *CONTROL G'. THE PROGRAM WILL RECOGNIZE A 'CONTROL G' AT ANY TIME EXCEPT WHEN IT IS AT A HIGHER PRIORITY PROCESSIHG A RP0&4/5/6 INTERRUPT. THE ''SOFTWARE'' SWITCH VALUEA ARE ENTERED AS AN OCTAL NUMBER IN RESPONSE TO A PROMPT FROM THE SWITCH ENTRY ROUTINE: ‘SWR = NNNNNN NEW =' EACH TIME SWITCH SETTINGS ARE ENTERED, THE ENTIRE SWITCH REGISTER IMAGE MUST BE ENTERED. LEADING ZEROS ARE NOT REQUIRED. ‘'RUBOUT' AND °'CONTROL U' FUNCTIONS MAY BE USED TO CORRECT TYPING ERRORS DURING SWITCH ENTRY. ON PROCESSORS WITH HARDWARE SWITCH REGISTERS, THE '‘SOF TWARE'' SWITCH REGISTER MAY ALSO BE USED. 16 SWITCHES IN THE 'UP' IF THE PROGRAM FINDS ALL POSITION WHEN IT IS STARTED, ALL SWITCH REGISTER REFERENCES WILL BE TO THE ''SOF TWARE'' REGISTER AND THE PROCEDURES DESCRIBED ABOVE MUST BE FOLLOWED. SWITCH DEFINITIONS ARE GIVEN IN SECTION 9 ''OPERATIONAL SgégCH SETTINGS'® HOWEVER THE DETAIL DESCRIPTION ARE GIVEN H . SWITCH i5 - HALT ON ERROR WHEN THIS SWITCH IS SET, IF THE PROGRAM FINDS AN ERROR THEN THE APPROPIATE INFORMATION WILL BE PRINTED OUT AND THEN THE PROGRAM WILL HALT. AFTER THIS HALT, PRESSING "'CONTINUE'® WILL CONTINUE WITH THE PROGRAM TILL THE NEXT ERROR IS FOUND WHEN THE SAME THING WILL HAPPEN. SWITCH 14 - LOOP ON TEST WHEN THIS SWITCH IS SET THE PROGRAM WILL BEGIN TO LOOP ON THE CURRENT TEST BEING EXECUTED. FOR EXAMPLE IF THIS SWITCH IS SET WHEN THE PROGRAM IS IN TEST 10 THEN THE PROGRAM WILL KEEP EXECUTING ALL OF TEST 10 REPEATEDLY. ONE WAY TO BE SURE THAT THE PROGRAM 1S IN THE EXPECTED TEST IS TO SET THIS SWITCH DURING AN ERROR PRINTOUT OR DURING A PROGRAM HALT. SEQ 0006 SEQ 0005 CZF CZF CZRJIGCO,RPO4/S/6 DSKLS CTRLR1 CZRJGC.PT 26-JuL-78 10:10 MACY11 30A(1052) 27-JuUL-78 G 12:41 1 PAGE 8 SWITCH 13 - INHIBIT ERROR TYPEOQUTS WHEN THIS SWITCH IS SET FURTHER ERROR PRINTOUTS WILL CEASE, HOWEVER OPERATOR INSTRUCTIONS SUCH AS ''STOP DRIVE X'’ WIL. CONTINUE. AT THE END OF PASS '‘TOTAL NUMBER OF ERRORS ON THIS PASS ON DRIVE X'' WILL BE TRUE, THAT IS, ALTHOUGH PRINTOUTS WERE INHIBITED IT WILL SAY SO. IF THAT PASS FOUND 6 ERRORS, SWITCH 12 - RH70 CONTROFLLER SELECT THIS SWICH MUST BE SET AT THE START OF THE PROGRAM WHEN THE DISK DRIVES TO BE TESTED ARE CONNECTED TO AN RH70 CONTROLLER. IT MUST NOT BE SET WHEN DISK DRIVES TO BE TESTED ARE CONNECTED TO AN RH11 CONTROLLER. SWITCH 11 - INHIBIT ITERATIONS WHEN THIS SWITCH IS SET THE PROGRAM ON SECOND PASS WILL NOT REPEAT EACH TEST FOUR TIMES BUT WILL DO EACH TEST ONCE ONLY. SWITCH 10 - BELL ON ERROR WHEN THIS SWITCH IS SET, IF THE PROGRAM fINDS AN ERROR THE 'BELL'' OR '‘ALARM'‘ WILL BE SOUNDED. THIS SWITCH IS USEFUL WHEN SWITCH 11 IS SET YET INFORMATION IS NEEDED WHEN ANY ERROR IS DETECTED. TAKE THE EXAMPLE OF A PROGRAM LOOPING ON A TEST WITH SWITCH 11 SET TO HELP SCOPING. THEN IF THIS SWITCH IS SET AND THE BELL OR ALARM SOUNDS IT MEANS THAT THE ERROR IS PRESENT BUT IF THE BELL OR ALARM STOPS IT MEANS THAT THE ERROR IS NOT PRESENT. SWITCH 9 - LOOP ON ERROR WHEN THIS SWITCH IS SET, IF THE PROGRAM FINDS AN ERROR THEN GENERALLY THE PROGRAM WILL LOOP BACK TO THE LAST EXECUTED '‘SCOPE’'' STATEMENT. IF ON THE SECOND TIME THROUGH AN ERROR IS FOUND IT WILL AGAIN LOOP BACK TO THAT ‘'SCOPE’'’ STATEMENT. THIS LOOPING WILL CONTINUE AS LONG AS THE ERROR ]S PRESENT AND THIS SWITCH IS SET. HOWEVER IF THE ERROR IS NOT PRESENT AT ANY TIME THEN IT WILL CONTINUE NORMALLY WITH THE PROGRAM. EACH TIME THE ERROR IS ENCOUNTERED PRINTOUT WILL TAKE PLACE UNLESS SWITCH 11 IS ALSO SET. THAT SWITCH 11 DURING BEGUG, USING A SCOPE, IS ALSO SET. IT IS RECOMMENDED NOTE: ALSO SEE SECTION 8.3 SWITCH 8 - LOOP ON TEST IN SWR <7:0> THIS IS A SPECIAL SWITCH. WHEN SET SWITCHES O THRU 7 HAVE ONE MEANING AND WHEN RESET SWITCHES O THRU 7 HAVE ANOTHER MEANING. THIS MEANS THAT ANY SETTING OF SWITCH 0O THRU 7 MUST BE DONE WITH SWITCH 8 IN THE APPROPIATE POSITION. WHEN THIS SWITCH IS SET THEN SWITCHES O THRU 7 GIVE THE TEST NUMBER TO BE LOOPED ON. FOR EXAMPLE WITH SWITCH 8 SET AND SWITCH 3 SET THE PROGRAM WILL LOOP SEQ 0007 SEQ 0006 CZR CZR CZRJGCO,RPO4/S5/6 DSKLS CTRLRT CZRJGC.PN 26-JuL~-78 10:10 MACY11 30A(1052) 27-JuL-78 H 12:41 1 PAGE 9 ON TEST 10. HOWEVER THIS SETTING MUST BE DONE AT THE BEGINNING OF THE PROGRAM THEN ALL THE TESTS FROM 1 T0 10 WILL BE EXECUTED AND THEN TEST 10 WILL BE REPEATED OVER AND OVER AGAIN. WHEN THIS SWITCH IS NOT SET THEN SWITCHES 0 THRU 7 HAVE THE MEAING ITS NAME INDICATES. FOR EXAMPLE SWITCH 7 IS ''STOP FURTHER COMPARES: THAT IS IF SWITCH 8 IS NOT SET AND SW]TCH 7 IS SET THEN WHEN A DATA ERROR IS DETECTED NO FURTHER COMPARES WILL BE DONE. FOR EXAMPLE IN A 256 WORD BUFFER IF ALL THE WORDS ARE IN ERROR THEN AFTER SEEING THE PRINTOUT FOR THE FIRST FEW WORDS SETTING SWITCH 7 ONLY WILL STOP FURTHER PRINTOUTS OF THIS ERROR AND GO ON WITH THE TEST RATHER THAN PRINT HOWEVER IF THIS WAS DONE WITH SWITCH 11 ALL THE 256 WORDS. THEN THE NEXT ERROR THAT THE PROGRAM DETECTS IN A SUB- SEQUENT TEST WILL ALSO BE LOST. BUT WITH SWITCH 7, ONLY THIS GROUP OF DATA ERRORS ARE NOT PRINTED OUT. ANOTHER EXAMPLE OF SWITCH 8 BEING LOW IS WITH SWITCH 6, WHICH THAT IS IF SWITCH IS “ECC TEST-COMPARE END RESULT ONLY''. 8 IS NOT SET AND SWITCH 6 IS SET THEN ON ECC TESTS (TEST 120 THRU TEST 134) INSTEAD OF COMPARING CONTENTS OF THE POSITION REGISTER AND PATTERN REGISTER AFTER EVERY CLOCK, COMPARES WILL ONLY BE DONE AT THE END OF ALL THE CLOCKS. NOTE: ALSO SEE SECTION 8.3 SWITCH 7 - STOP FURTHER COMPARES IF SW0O8 IS LOW. IF SWITCH 8 1S SET AND THIS SWITCH IS ALSO SET THEN THIS SWITCH GIVES THE TEST NUMBER TO BE LOOPED ON AS INDICATED IN THE DESCRIPTION OF SWITCH 8. IF SWITCH 8 IS NOT SET AND THIS SWITCH IS SET THEN THE PROGRAM WILL DO AS THE NAME INDICATES. FOR EXAMPLE IN A 256 WORD BUFFER IF ALL THE WORDS ARE IN ERROR THEN AFTER SEEING THE ERROR PRINTOUTS FOR THE FIRST FEW WORDS THEN SETTING SWITCH 7 WITH SWIT(H 8 NOT SET WILL STOP THE PRINTOUT OF ALL 256 WORDS BUT WILL NOT STOP THE PRINTOUT OF ANOTHER ERROR IN ANY SUBSEQUENT TEST. IT IS EXPECTED THAT SWITCH 7 AFTER BEING SET FOR A WHILE TO STOP PRINTING ALL THE 256 WORDS WILL BE RESET AGAIN TO ENABLE THE PRINTING OF OTHER DATA ERRORS. SWITCH 6 - ECC TEST-COMPARE END RESULTS ONLY IF SWO8 IS LOW IF SWITCH 8 IS SET AND THIS SWITCH IS ALSO SET THEN THIS SWITCH GIVES THE TEST NUMBER TO BE LOOPED ON AS INDICATED IN THE DESCRIPTION OF SWITCH 8. IF SWITCH 8 IS NOT SET AND THIS SWITCH IS SET THEN ON ECC TESTS (TEST 120 THRU TEST 134) INSTEAD OF COMPARING CONTENTS OF THE POSITION AND PATTERN REGISTERS AFTER EVERY CLOCK, COMPARES WwiILL BE DONE ONLY AT THE END OF ALL THE CLOCKS. 5.2 SUB-ROUTINE ABSTRA(CTS SEE SECTION 9 ''SUBROUTINES'’ SEQ 0008 SEQ 0007 CZR CZR CZRJGCO,RPO4/S5/6 DSKLS CTRLR1 26-JUL-78 10:10 €.0 27-JuUL-78 I 12:41 1 PAGE 10 SEQ 0009 SEQ 0008 CZR CZR ERRORS ERROR PRINTOUTS CONTAIN THE ERROR ADDRESS AND OTHER PERTINENT INFORMATION CONCERNING THE PARTICULAR FAILURE. THIS INFORMATION MAY BE THE CONTENTS OF RELEVANT RP04/5/6 REGISTERS OR GOOD/RECEIVED DATA. IF THE ERROR OCCURRED IN A SUBROUTINE, THE ADDRESS OF THE SUBROUTINE CALL IS ALSO REFER TO THE PROGRAM LISTING AT THE STATED GIVEN. ADDRESS TO DETERMINE THE CAUSE OF THE ERROR. 6.1 'FATAL' ERRORS IN THE EVENT THAT THE DISK DRIVE BECOMES UNAVAILABLE TO THE CONTROLLER, POWERS DOWN, OR CERTAIN CRITICAL STATUS BITS CANNOT BE CLEARED PRIOR TO THE START OF A TEST SEQUENCE - THIS IN INFORMATION WILL BE COMMUNICATED TO THE OPERATOR. ADDITION THE TTY BELL WILL RING AND THE PROGRAM WILL HALT. IT IS SUGGESTED THAT IF THIS HAPPENS THE OPERATOR LOAD ADDRESS 200 (210) AND RESTART THE PROGRAM AS A FIRST ATTEMPT TO SOLVE THE PROBLEM. IF THE FAILURE CONTINUES TO OCCUR, LOOK IN THE TEST LISTING FOR THE ‘'HALT' INSTRUCTION AND REPLACE IT PLUS THE TWO WORDS (‘TYPE ,CPHALT'') ABOVE WITH 'NOP'S. WITH TTY ERROR PRINTOUTS INHIBITED A SCOPE LOOP CAN BE INITIATED FOR THE TEST IN QUESTION. IT IS ALSO POSSIBLE TO CONTINUE FROM THE HALT POINT, BUT IT IS NOT RECOMMENDED AS ALL FOLLOWING TESTS WILL EXHIBIT THE SAME SYMPTOMS AND GIVE MISLEADING ERROR PRINTOUTS. SETTINGS IS NOT OPERABLE WHEN IN CHAIN MODE. 8.0 MISCELLANEOUS 8.1 EXECUTION TIME THE FIRST PASS OF THE PROGRAM WILL TAKE 30 SECONDS PER DRIVE. SUBSEQUENT PASSES WILL TAKE 1 MINUTE. 8.2 STACK POINTER THE STACK IS INITIALLY SET TO 1000 b ) —d b b wd wd md D SOF TWARE SWITCH REGISTER FEATURE WHILE RUNNING ON AN RH70. THIS 1S BECAUSE THE ROUTINE WHICH GETS ‘'SOF TWARE'' SWTICH d BECAUSE OF THE REQUIREMENT FOR IT TO BE SET WHEN USING AN RH70. THE PROGRAM CANNOT BE RUN IN CHAIN MODE WHEN USING THE D and wmd SWITCH 12 MUST BE SET WHEN RUNNING ON AN RH70 CONTROLLER AND IT MUST NOT BE SET WHEN RUNNING ON AN RH11 CONTROLLER. b TO THE MDbLI MUST BE PROPERLY TERMINATED. D THE DCL ) BUT NEVER LEAVE IT IN THE PROGRAMMABLE STATE. IF THERE IS NO DRIVE CONNECTED THEN THE CABLE NORMALLY GOING FROM d e IF THERE IS A DRIVE CONNECTED THEN THE OPERATOR MUST HAVE THE DRIVE PORT SWITCH LOCKED EITHER ON PORT A OR PORT B ) ——d —d RESTRICTIONS d 7.0 — CZRJGC.P1I MACY11 30A(1052) 26-JuL-78 10:10 27-JuL-78 J 12:41 1 PAGE 11 SEQ 0010 SEQ 0009 CZR. CZR. HERE IS A DETAILED EXPLAINATION OF HOW THE LOOP ON ERROR WORKS. FOR INSTRUCTIONS REGARDING USAGE OF THIS TECHNIQUE, HIT “C ANY TIME WHILE THE PROGRAM IS RUNNING. ON HITTING AN ERROR IF THE -—d LOOP ON ERROR SWIT(H IS SET, THE PROGRAM GOES BACK = USUALLY BACK TO THE BEGINNING OF THE TEST. wd cad d OPERATOR SELECTABLE SCOPE LOOPS ) ced o 8.3 d d CZRJGC.PIT MACY11 30A(1052) P Y Y Y V) CZRJGCO,RPO4/5/6 DSKLS CTRLR1 WHEN THIS OPERATOR SELECTABLE SCOPE LOOP IS USED THEN THE POINT THE PROGRAM GOES BACK TO CAN BE CHANGED. THE RESTRICTIONS TO THE POINT WHERE THE PROGRAM CAN GO ARE: 1. IT MUST BE WITHIN THE TEST UNDER CONSIDERATION - LOOP ON ERROR SWITCH MUST BE SET 2. 3. THE ERROR MUST OCCUR WITHIN THE TEST UNDER CONSIDERATION IF THE ERROR DOES NOT OCCUR WITHIN THE TEST UNDER CONSIDERATION THE PROGRAM WILL REVERT TO NORMAL OPERATION. HOWEVER, IF LOOP ON TEST SWITCH IS SET AND THIS OPERATOR SELECTABLE SCOPE LOOP IS USED THEN THE PROGRAM WILL LOOP B8ACK TO THE SELECTED POINT WHEN IT COMES TO THE END OF THE TEST UNDER CONSIDERATION. AFTER LOOPING FOR SOME TIME IF THE LOOP SWITCH IS PUT DOWN THEN ;*DRIVE MUST BE LOCKED ON PORT A OR PORT 8 ;*INTERNAL PROGRAM MACROS BEGIN HERE T o o 4 EXTERNAL SYSMAC.SML SYSTEM MACRO PACKAGE WHICH MUST BE MADE AVAILABLE TO THE SOURCE PROGRAM AT ASSEMBLY TIME. D ) —d wd —d b ;*NOTE: MACROS BEGINNING WITH °°.$'' ARE SUPPLIED BY AN D 't b b .'t*t*t*ttt*tttt*itttttttttttt'ttfit*t b ITEM WILL BE FOUND. b wd cmd d e THAT d wd =D THE LEFT MOST COLUMN IS THE LINE NUMBER WITHIN THE LISTING gHERE D THE FOLLOWING SECTIONS DESCRIBE EACH TEST AND SUBROUTINES IN DETAIL AND CAN ALSO BE USED AS AN INDEX TO THE LISTING. b emd PROGRAM DESCRIPTION d 9.0 b PROGRAM RFVISION HISTORY b 8.4 b —d NORMAL OPERATION WILL CONTINUE. CZRJIGCO ,RPO4/5/6 DSKLS CTRLR] CZRJGC.PN 26=-JuL~-78 10:10 MACY11 30A(1052) 27-JUL-78 BASIC DEFINITIONS K 12:41 1 PAGE 12 SEQ 0011 SEQ 0010 —d wd wnd ad b wd D ) b b e wd D D b o d ) D nd wd d D b D wd =D cnd D D wd b b =D 502 041406 020000 000200 000210 000200 000137 000137 000137 .WORD WORD $ENDAD .WORD 004240 046244 004230 ~ ;. SOF TWARE DISPLAY REGISTER ;. SOFTWARE SWITCH REGISTER 20000 ;:1)SET LOC.46 TO ADDRESS OF S$ENDAD IN .$EOP ;;2)SET LOC.52 TO 20000 STARTING ADDRESS .=200 RA: JMP a#BEGIN JMP WHBEGINZ JMP CZR CZR 0 O .SBTTL ADDMOD: SEQ 0012 SEQ 0011 a#BASE CH sNORMAL START ;MODIFY ADDRESSES ;SELECT DRIVE START ;*=STARTING ADDRESS 200 FOR NORMAL STARTS ;**THIS WILL TEST ALL DRIVES ON THE SYSTEM A SINGLE DRIVE AT A TIME ;**STARTING ADDRESS 204 FOR PARAMETER MODIFICATION, ;**RESTART AUTOMATICALLY FROM 200 AFTER PARAMETER MODIFICATION. ;**STARTING ADDRESS 210 WILL TEST ONLY ONE SPECIFIED DRIVE a 000046 000052 DISPREG: SWREG: 1 PAGE 13 _aA_ A 000000 000000 TRAP CATCHER L 12:41 d ) 516 517 518 519 520 521 522 523 524 000174 000176 27-JuL-78 A_A 503 504 505 506 507 508 509 510 S11 512 513 514 515 MACY11 30A(1052) -l—l-‘-fl—i—l-—l-fl—h_fi-—l-—.-‘d-l—‘—l—‘-l-‘-l—l—l—l-‘—l—l-l—l—l-l-l—l—‘—l—‘—l—l-l—l—b-l—l-l—l—l—d—‘-—l-—h—l—‘ b (ZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.P1 26-JUL-78 10:10 a A d i A A ) wd N D ed e _a A ) emd d ? - ; b wd D wd b wd wd b wd .=1110 CZR. CZR. b wd ad b 001110 SEQ 0013 SEQ 0012 b e 525 526 M1 MACY11 30A(1052) 27-JUL-78 12:41 PAGE 14 MEMORY MANAGEMENT DEF INITIONS b wb CZRJGCO,RPO4/5/6 DSKLS CTRLR1 26-JUL-78 10:10 CZRJGC.P1T $ERRP(C: $GDADR: $8DADR: $GDDAT: $8DDAT: 001124 $SAUTOB: $INTAG: . ;RESERVED=--NOT TO BE USED .Bg;g $TMPO: .WORD $TMP1: _WORD $TMP2: .WORD $TMP3: . WORD $TMP4: _WORD $TMOS: _WORD $TIMES: O $ESCAPE:0 .ASCIZ $BELL: $QUES: L.ASCII $CRLF: .ASCII $LF: JASCIZ 0 0 8 DSWR DDISF 0 P4 12 0 O 0 O O O 0 O 0 O 0 0 O 0 ::CONTAINS PC OF LAST ERROR INSTRUCTION :;CONTAINS ADDRESS OF °'GOOD' DATA ::CONTAINS ADDRESS OF ‘'BAD' DATA :;CONTAINS 'GOOD* DATA :;CONTAINS 'BAD' DATA ;;cAUTOMATIC MODE INDICATOR ;2 INTERRUPT MODE INDICATOR :;ADDRESS OF SWITCH REGISTER ;:ADDPESS OF DISPLAY REGISTER ;:TTY KBD STATUS ;:TTY KBD BUFFER ;:TTY PRINTER STATUS REG. ADDRESS ;:TTY PRINTER BUFFER REG. ADDRESS ::CONTAINS NULL CHARACTER FOR FILLS :2CONTAINS # OF FILLER CHARACTERS REQUIRED ;2 INSERT FILL CHARS. AFTER A "LINE FEED'' ;2 'TERMINAL AVAILABLE'' FLAG (BIT<07>=0=YES) ::CONTAINS THE ADDRESS FROM : :CONTAINS ((SREGAD)+0) :;CONTAINS ((SREGAD)+2) ::CONTAINS ((SREGAD)+4) : ;CONTAINS ((SREGAD)+6) ::CONTAINS ((SREGAD)+10) :;CONTAINS ((SREGAD)+12) :JUSER DEF INED :;USER DEF INED : :USER DEF INED ; 2USER DEF INED :;USER DEF INED ;sUSER DEF INED ;:MAX. NUMBER OF ITERATIONS ::ESCAPE ON ERROR ADDRESS <207><377><377> ;:CODF FOR BELL 7/ <15 12> ;:QUESTION MARK ;;CARRIAGE RETURN ;:LINE FEED P o b 0 .WORD .BYTE 0 0 0 0 0 b .WORD .WORD .WORD .WORD .WORD .WORD D and PASS COUNT THE TEST NUMBER ERROR FLAG SUBTEST ITERATION (COUNT SCOPE LOOP ADDRESS SCOPE RETURN FOR ERRORS TOTAL ERRORS DETECTED ITEM CONTROL BYTE MAX. ERRORS PER TEST :;CONTAINS ;CONTAINS ;sCONTAINS ;;CONTAINS :;CONTAINS ;;CONTAINS ::CONTAINS ::CONTAINS ; ;CONTAINS CZRJ ad SEQ 0013 - coed e SEQ 0014 O O 0 O 0 0 0 0 1 $SFILLS: .BYTE $FILLC: .BYTE $TPFLG: .BYTE $REGAD: .WORD $REGO: .WORD $REG1: .WORD $REG2: .WORD $REG3: .WORD $REG4: .WORD $REGS: .WORD 000012 1 PAGE 15 .WORD .BYTE .BYTE .WORD .WORD .WORD .WORD .BYTE .BYTE . WORD SWR: DISPLAY: .WORD $TKS: 177560 $TKB: 177562 $TPS: 177564 $TP8: 177566 $NULL: .BYTE 000377 N 12:41 AWAGBAININIAIA A NN—‘—'-—'—'—lg nNOoOoONWNSNO b b h h b ad b e COMMON TAGS $PASS: $TSTNM: $ERFLG: $ICNT: $LPADR: $LPERR: $SERTTL: $SITEMB: $ERMAX: 000000 27=-JUL-78 (@l ~N CZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.P11 26~JUL-78 10:10 MACY11 30A(1052) CZRJGCO,RP04/S5/6 DSKLS CTRLR1 CZRJGC.P1T 26=-JUL-78 10:10 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 001226 001230 057460 062733 001232 001234 067312 070030 591 gg% 001236 057543 594 595 001240 066070 MACY11 30A(1052) 27-JuL-78 ERROR POINTER TABLE S TEMY J*ITEM2 EMi DH1 ;ERROR ON DH33 :PC :PC OF JSR 609 610 067672 070200 001246 057543 001250 065645 DT33 DF33 ;«]TEM3 ;ERROR ON DH32 :PC ;PC OF JSR ;BAD DATA 615 616 :CONTENTS OF RHCS1 ;CONTENTS OF RHDS1 g%z ;CONTENTS OF RHER1 001256 057543 626 627 628 629 001260 065442 630 DATA COMMAND ;WORD NO. :GOOD DATA 252 ] TEM4 1 1 ] :$ERRPC ,PCJSR,$TSTNM, ERWORD ,$GDDAT,(S1,DS1,ER1 ;0,0,0,1,0,0,0,0 EM2 614 622 623 ;CONTENTS OF RHER1 ;TEST NO 067646 070167 1 } 1 612 613 001252 001254 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ! :GOOD DATA ;CONTENTS OF RHCS1 ;CONTENTS OF RHDS1 001242 001244 CZR CZk ! 1 JWORD NO. 611 619 259 DATA COMMND :TEST NO 605 606 28; SEQ 0015 SEQ 0014 EM2 598 599 600 604 PAGE 16 DT DF1 597 602 603 2 :WRONG DATA [N READING OR WRITING HARDWARE REGISTER JPC JREG. ADDR. ;GOOD DATA ;RECEIVED DATA :$ERRPC ,REGADR,$GDDAT ,$8DDAT ;0,0,0,0,0 596 €01 8 12:41 D132 DF32 :$ERRPC ,PCJSR,STSTNM,ERWORD , $GDDAT , $8DDAT ,CS1,DS1,ER1 ;0,0,0,1,0,0,0,0,0, EM2 ;ERROR ON DH31 :PC ;TEST NO ;WORD NO. :GOOD DATA ;BAD DATA DATA COMMAND ERROR PO INTER TABLE ¢ 12:41 2 PAGE 17 SEQ 0016 SEQ 0015 ;CONTENTS OF RHCS1 ;CONTENTS OF RHDS1 ;CONTENTS OF RHER1 001262 001264 067624 070157 001266 001270 001272 001274 000000 000000 067624 070157 001276 057572 001300 065645 DT DF 31 RD1,DS1,ER1 ,$8DDAT,(CS M,ERWO , $GDDAT SERRPC,$TSTN :0.0.1 :Oootonoool ;] TEMS DT31 31 DF ;] TEM6 ;SERRPC,$TSTNM,ERwORD,$GDDAT,$BDDAT,CS1.DS1,ER1 ;0,0,1,0,0,0,0,0, EM6 ;ERROR ON WRITE HEADER AND DATA DH32 :PC ;PC OF JSR ;TEST NO JWORD NO. ;GOOD DATA ;BAD DATA ;CONTENTS OF RHCS1 :CONTENTS OF RHDS1 ;CONTENTS OF RHER1 001302 001304 067646 070167 001306 001310 057572 063056 s*ITEM7 DT32 DF32 ;$ERRPC ,PCJSR,$TSTNM_ ERWORD,$GDDAT ,$8DDAT,(S1,DS1,ER? :0,0:0:1 001010'0005 EM6 DHZ :g?ROR ON WRITE HEADER AND DATA sTEST NO ;WORD NO. 001312 001314 067340 070041 001316 001320 001322 001324 000000 000000 001326 001330 057631 063201 DT3 DF3 J*ITEM10 067340 070041 S ITEMN 0 0 DT3 DF3 EM11 DH11 ;GOOD DATA ;BAD DATA :3E8R7C6$85TNM.ERWORD,SGDDAT,$BDDAT “$ERRPC,$TSTNM, ERWORD , SGDDAT , SBDDAT :010'1 ’oflol :g?NTROLLER OR DRIVE STATUS “TEST NO CZR CZR b v vd D cad D e nd ad b oD D rd b d b D b ) 631 632 633 634 635 27-JUL-78 MACYT1 30A(1052) —b nd oo v and mmd d vad b e CZRJGCC .RPO4/5/6 DSKLS CTRLR1 11 CZRJGC.¢+ 26-JUL-78 10:10 DH1 :PC 001342 001344 067312 070030 DT1 DF1 001346 001350 001352 001354 000000 000000 067312 070030 001340 703 704 705 706 001356 001360 057404 043361 ;*]TEM13 ;REG.ADDR ;GOOD DATA ;RECEIVED DATA , $BDDAT $GDDATDR, s $ERRP( ,REGA ;0,0,0,0 DT DF1 ;$ERRPC ,TSTNM,REGADR,$GDDAT ,$BCDAT ;0,0,0,0,0 EM14 ;REGISTER FAILED DH14 :PC SFAILING REG. ADDR ;CONTENTS OF FAILING REG. ;CONTENTS OF RHCS1 ;CONTENTS OF RHCS?2 HN 057704 001370 063561 DH15 001372 001374 067416 070065 DT15 DF15 001376 001400 057755 063612 —r - (=X} WLy 001366 33 [o YN DT14 DF14 LVE7374 072055 Jx]JTEMTS ;*]TEM16 D ;0,0,0,0,0,0 8 Jx]TEMIS ) D 062733 699 Jx]TEMI2 D d d D ) D D :WRONG DATA FROM SILO 057631 DF 1 070046 EM15 gM}g H ;CONTENTS OF RHDS1 ;CONTENTS OF RHER1 :$ERRPC ,$8DADR, $8DDAT,(CS1,CS2,DS1,ER1 ;0,0,0,0,0,0,0 JSPECIFIED REG. NON EXISTANT SO ABORT ; PROGRAM ;PC ;ADDR. OF REG :$ERRPC, TEMP ;0,0 ;g?IT LOOP FAILED M :WAT PC ;BIT WANTED ;REG. ;REG. ADR. CONT, b d amd ead b ond d ed D and e d ad =D and D D nd D D nd med D EM11 001336 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 CZR CZR md b d o and e DT11 697 700 701 702 SEQ 0017 SEQ 0016 PAGE 18 ;CONTENTS OF RHCS2 ;CONTENTS OF RHDS1 ;CONTENTS OF RHER1 :SERRPC ,$TSTNM,$8DADR,(S1,CS2.DS1,ER 067354 698 2 JFAILING REG. ADDR ;CONTENTS OF RHCS1 001332 001334 696 D 12:41 N 687 688 689 690 6N 692 693 694 695 MACY11 30A(1052) 27-JUL-78 ERROR POINTER TABLE ) D e CZRJGCO,RPOL/S /6 DSKLS CTRLRI CZRJGC.P11 26-JUL-78 10:10 768 769 770 771 772 773 776 775 776 057776 063755 :*]TEM17 :0,0,0,0 EM17 DH17 JWRITE CHECK FAILING ;PC 791 795 796 ;TEST NO ;CONTENTS OF RHBA ;CONTENTS OF RHDB ;CONTENTS OF RHWC ;CONTENTS OF RH(CS1 001412 001414 067444 070075 001416 001420 060022 064140 Dr17 DF17 ;*]1TEM20 EM20 DH20 ;CONTENTS OF RHCS? :$ERRPC,$TSTNM, $8A,DB,W(,(S1,CS2 :0,0,0,0,0,0.,0 JREGISTER FAILING :PC :TST NO ;CONTENTS OF RHER1 001422 001424 067464 070104 D720 DF 20 ;CONTENTS OF RHERZ ;CONTENTS OF RHER3 ;CONTENTS OF RHAS ;CONTENTS OF RHDS1 :$ERRPC,TSTNM ER1,ERZ2,ER3,AS,DS1 ;0,0,0,0,0,0,0 EM21 DH21 ;INTERRUPT FAILING :PC s TEM21 001426 001430 060043 064323 ;TEST NO ;CONTENTS OF RHCS1 777 778 779 780 781 782 783 784 785 786 787 :SERRP(C,$TMP3,$TMP1 ,$TMPO,SBDDAT DF16 ;CONTENTS OF RHAS 001432 001434 067504 070113 001436 060065 J*ITEM2?2 ;CONTENTS OF RHDS1 DT21 DF 21 :$ERRPC,TSTNM,(S1,AS,DST ;0,0,0,0,0 EM2 ;ERROR IN DRIVE PRESENT -~ ;LOOKING AT RHAS AND RHCS2-NED(BIT#12) ;DRIVES PRESENT DO NOT AGREE 001440 001442 001444 064443 067520 070120 DH2?2 D122 DF22 ;NOTE: ON DUAL PORT SYSTEM :DRIVE ON OTHER PORT WiILL NOT GIVE NED JHENCE THERE WILL BE A M]ISSMAT(H :PC ;TEST NO :RHAS UNIT (RHER1 BITS SET) ;RHCSZ2 UNIT (°NED' BIT TEST) JSERRPC,TSTNM ;0.0 d D D 001406 001410 DT16 CZR CZR d D b e 067426 070070 SEQ 0018 SEQ 0017 ) d D d b D e 001402 001404 2 PAGE 19 b b ) b ) i 763 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 26=-JuL~78 10:10 E 12:41 D d D =D D d =D b d o ed e CZRJGC.PIT MACY11 30A(1052) 27-JUL-78 ERROR POINTER TABLE b e ed b e ad e i CZRJIGCO,RPO4L/S /6 DSKLS CTRLRI CZRJGC.P11 26=JuUL-78 10:10 MACY11 30A(1052) 27-JuL=-78 ERROR POINTER TABLE ;*]TEM23 OOOO CZRJIGCO,RPO4/5/6 DSKLS CTRLR1 001446 001450 001452 001454 000000 000000 000000 000000 001456 060545 JITEM 24 EM24 001460 064546 DH24 F 12:41 2 SEQ 0019 SEQ 0018 PAGE 20 ;NO LONGER USED DUE TO SPECIAL JTEST TABLE TYPE OUT ROUTINE 'NED’ ;LOOK AHEAD REGISTER AT THE ;BEGINNING OF A SECTOR IS IN ;ERROR ;PC JRHDST ;BAD RHLA ;GOOD RHLA ;SECTOR NO 001472 001474 067526 070124 001476 057631 001500 064731 J*ITEM26 DT24 DF 24 ;PC ;RHDST ;BAD RHLA ;GOOD RHLA :SECTOR NO ;SECTOR CLOCK :SERRPC ,DST,$BDDAT,$TMP1,$TMP2,$TMP3 ;0,0,0,0,0 EMN ;CONTROLLER OR DRIVE STATUS DH26 :PC ;PC OF JSR ;FAILING REGISTER ADDRESS ;CONTENTS OF RHCS1 :CONTENTS OF RHCS? ;CONTENTS OF RHDS1 ;CONTENTS OF RHER1 067546 070133 :$ERRPC ,PCJSR,$8DADR,(S1,(S2.DS1.,ERT DT26 DF 26 ;0,0,0,0,0,0, EM1 ;ERROR IN READING OR WRITING HARDWARE REGISTER DH27 :PC 001510 065134 ;PC OF JSR :TEST NUMBER ;FAILING REGISTER ;GOOD DATA b md 057460 b 001506 JITEMZ7 b wd mad amd e D D 001502 001504 b =D wad DHZ24 b o 064546 b 001470 ;LOOK AHEAD REGISTER IS . IN ERROR b J*]TEM 25 EM25 ) 060640 ) wwd d 001466 ;0,0,0,0.0 ) DT24 DF 24 d D wd D wnd 067526 070124 b and b 001462 001464 ;SECTOR CLOCK ;SERRPC,DST ,$8DDAT,$TMP1 ,$TMP2,$TMP3 CZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC P11 26=-JUL~78 10:10 PAGE 21 SEQ 0020 SEQ 0019 JRECEIVED DATA 067570 070143 001516 001520 060700 065277 ;«ITEM30 DT27 DF27 , $GDDAT, $BDDAT ;$ERRPC ,PCJSR, TSTNM,REGADR :0,0,0,0,0.,0 EM30 DH30 ;gganewr CYLINDER DOES NOT REFLECT DESIRED CYLINDER REG. ‘PC OF JSR "REGISTER ADDRESS 1GOOD DATA BAD DATA 001522 001524 067606 070151 001526 061021 001530 066273 JITEM31 DT30 DF 30 AT ,$BDDAT :$ERRPC ,PCJSR,REGADR,$GDD ;0,0,0,0,0 EM31 JECC GENERATED IS INCORRECT DH34 ;PC ;TEST NUMBER ;EVERY WORD IN THIS SECTOR IS GIVEN IN ‘DATA USED' 067714 DT34 :$ERRPC,TSTNM,GECC1,GECC2,WECCT ,WECC2,DISK 001534 070210 DF 34 ;0,0,0,0,0,0,0 001536 061144 EM32 ;ON READ COMMAND AFTER DATA AND ECC HAVE BEEN READ JECC REGISTER OR RHER1 IS IN ERROR JONLY LOWER 11 BITS OF PATTERN REGISTER s CAN BE READ 2THIS SHUOLD MATCH LOWER 11 BITS OF ECC1 001540 066456 DH35 ;PC ;TEST NUMBER ;600D ECCY ;GOOD ECC2 ;PATTERN REGISTER JRHERT 001542 067734 DT35 ;$SERRPC,TSTNM,GECC1,GECC2,EC2,ERY 001544 070217 DF 35 ;0,0,0,0,0.0 D d ;«ITEM3? ) d 001532 D ;G00OD ECC ;GO0OD EC2C JWRITTEN ECCY :WRITTEN ECC2 ;DATA USED ) e 865 2 — 855 856 857 858 859 860 861 862 863 MACY11 30A(1052) 27-JUL-78 ERROR POINTER TABLE C(ZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.P11 26~JUL-78 10:10 27-JUL-78 ERROR POINTER TABLE SEQ 0021 SEQ 0020 PAGE 22 D136 NM MR ,ECT,EC? :$ERRPC ,PCJSR,TST 001554 070227 DF 36 ;0,0,0,0,0,0 001556 061505 EM34 ;ZERO DETECT BIT NOT HIGH WHEN THE ;32 BIT ECC REGISTER HAS ITS 21 BITS ;OF ZEROS JERROR PRINTOUT WILL CONTINUE TILL ;PC OF JSR ;TEST NUMBER ;RHMR ;POSITION REG. JPATTERN REGISTER 067756 DT36 NM, MR ECT,EC2 ;$ERRPC ,PCJSR,TST 001564 070227 DF 36 ;0,0,0,0,0,0 001566 061600 EM35 ;POSITION REGISTER OR 11 BITS OF ;PATTERN REGISTER INCORRECT JLOWER 11 BITS OF PATTERN REGISTER ;SHOULD MATCH LOWER 11 BITS OF GOOD ECCI ;DATA ENVELOPE AND N-CODE ZCROS ARE IN DECIMAL 001570 067020 DH37 b D d D d e ;*]TEM3S Rl el 001562 ;PC :TEST NUMBER JECC POSITION ;GOOD POSITION ;G00D ECCT ;GOOD ECC2 ;ECC PATTERN :DATA ENVELOPE ;N-CODE ZEROS 001572 067774 D137 ;SERRPC,TSTNM,EC1,POSITI,GECC1,GECC2,EC2,DATENV,ZCODE 001574 070235 DF 37 :0,0,0,0,0.0,0,0,0 e DH36 066661 ;gERO DETECT BIT IS HIGH b d d d d 001560 ;*ITEM34 b b 067756 b D b ed b b b ) —d ad cnd i 001552 D d ;PATTERN REGISTER b D d D d e :RHMR ;POSITION REG. d =D e ;TEST NUMBER e AalAIAIARLALALALALALALALALALALALALALALALALALALALAWNNALA P ;PC OF JSR e ;HIGH COUNT BIT NO1 HIGH AFTER 38859 CLOCKS mimiEmimimimimimiAlial 066661 EM33 DH36 M ;*]1TEM33 et e 061433 - 001546 001550 . 935 936 937 938 939 ‘40 2 1§ 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 H 12:41 —d ad ed b e 91 912 913 914 915 MACY1T 30A(1052) 001600 066456 ;*]TEM36 EM36 DH35 973 ;PATTERN REGISTER 976 977 978 979 980 981 982 983 984 985 986 987 588 989 990 991 992 993 994 995 996 997 998 999 1000 1001 ;RHER1 ;POSITION REGISTER 001602 067734 DT35 ;$ERRPC,TSTNM,GECC1,GECC2,EC2,ECT,ERT 001604 070217 DF 35 ;0.0,0,0.0,0.0 EM37 ;PGE ERROR 001606 001619 062210 063201 ;] TEM37 DH11 :PC :TEST NO ;FAILING REG. ADDR ;CONTENTS OF RHCS1 :CONTENTS OF RHCS? ;CONTENTS OF RHDS1 001612 001614 067354 001616 062345 001620 067236 001622 001624 DT ;CONTENTS OF RHER1 ;SERRPC ,$TSTNM_SBDADR,(S1,(S2,DS1,ERT EM4LO ;RHWC DID NOT = O AFTER A READ OR DF11 070046 s« ] TEMGO DH40 DT40 DF40 070020 070246 ;0,0,0,0,0,0 :WRITE HEADER AND DATA .PC :TEST NO ;CONTENTS OF RHWC :SERRPC,TSTNM, $B8DDAT ;0,0,0 o33 aan 3 ;*WORD COUNT REGISTER (RHW(C) ;*EACH BIT IS CALLED BY BIT NUMBER NOWVSA WO 2 P Y N I eleleolelolelelo] gy :*RH11/RH70 REGISTERS ;*BUS ADDRESS REGISTER (RHBA) ;*EACH BIT IS CALLED BY BIT NUMBER ;*CONTROL AND STATUS REGISTER 2 (RH(CS2) 000001 000002 000004 000010 usi= us2= USé= BAI= 1 2 4 10 G ;TEST NUMBER ;PC 974 975 ~ JON A READ COMMAND WITH NON CORRECTABLE JERROR INSERTED DCK AND ECH SHOULD BE SET ;GO0OD ECC1 ;GO0OD ECC2 972 CZRJ po) SEQ 0022 SEQ 0021 PAGE 23 ALRLALALALAWMAWAWWALALALALALALAVAWIVILALWAWVILA LTI NN 062077 ERROR POINTER TABLE 12:41 D 001576 27-JUL-78 b i o D e wd b e D v D D e b e b b D o D e b D and b d d 367 968 969 970 971 MACY11 30A(1052) 2 o CZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.P1 26-JUL-78 10:10 I JUNIT SELFCT JUNIT SELECT JUNIT SELECT ;BUS ADDRESS (BI1 #0) (BIT #1) (BIT #2) INCREMENT INHIBIT (BIT #3) 1¢ 100000 ;*DATA BUFFER REGISTER (RHDB) ;*EACH BIT IS CALLED BY BIT NUMBER ) b —b -— b b d d ;OUTPUT READY (BIT #7) ;MASS BUS PARITY ERROR (BIT #8) JMISSED TRANSFER ERROR (BIT #9) ;PROGRAM ERROR (BIT #10) JNON EXISTANT MEMORY (BIT #11) ;NON EXISTANT DRIVE (BIT #12) ;UNIBUS PARITY ERROR (BIT #13) JWRITE CHECK ERROR (BIT #14) ;DATA LATE (BIT #15) b i :CLEAR (BIT #5) s INPUT READY (BIT #6) CZRJ CZRJ D e ; INVERT PARITY ON MASS BUS TO EVEN (BIT #4) PAT= CLR= IR= OR= MPE = = MXF PGE= NEM= NED= UPE= WCE= DLT= SEQ 0023 SEQ 0022 PAGE 24 e 100000 2 b eid e 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 000020 J 12:41 b 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 27-JUL-78 MACY11 30A(1052) ERROR POINTER TABLE o0 O ONONONONOONONON [0 Yo} (ZRJGCO,RPO4/5/6 DSKLS CTRLR1 26-JUL-78 10:10 CZRJGC.P11 16 ;*RP0O4 REGISTERS ;*CONTROL AND STATUS 1 REGISTER. (#00) 000001 000100 000200 000400 001000 002000 004000 020000 040000 100000 GO= IE= RDY= A16= A17= PSEL= DVA= MCPE= TRE= SC= 1 100 200 400 1000 2000 4000 20000 40000 100000 ;60 (BIT #40) ; INTERRUPT ENABLE (BIT #6) ;READY (BIT #7) JHIGH ORDER UNIBUS BITS (BIT #8) ;HIGH ORDER UNIBUS BITS (BIT #%) ;PORT SELECT (BIT #410) ;DEVICE AVAILABLE (BIT #11) ;MASSBUSS PARITY ERROR (BIT #13) ; TRANSFER ERROR (BIT #14) JSPECIAL CONDITION (BIT #15) :*STATUS REGISTER (RHDS1) (#01) 000001 000002 000004 000010 000020 000040 000100 000200 000400 001000 DF 5= DFF20= D1GB= GRV= DL64= DE1= vv= DRY= DPR= 1 2 4 10 20 40 100 200 400 LST= 2000 PROG= WRL= MOL= PIP- ERR= ATA= 000001 1000 4000 10000 20000 40000 100000 ;DRIVE FORWAPD 5'/SEC. (BIT #0) (BIT #1) ;DRIVE FORWARD 20''/SEC. (BIT #2) BAND GAVRD INWER TO :DRIVE #3) (BIT RSE REVE ;GO :DIFFERENCE LESS THAN 64 (BIT #4) ;DIFFERENCE EQUALS 1 (BIT #5) ;VOLUME VALID (BIT #6) ;DRIVE READY (BIT #7) ;DRIVE PRESENT (BIT #8) ;PROGRAMABLE (BIT #9) JLAST SECTOR TRANSFERRED (BIT #10) JWRITE LOCK (BIT #11) ;MEDIUM ON-LINE (BIT #12) ;POSITIONING OPERATION IN PROGRESS (BIT #13) ;COMPOSIT ERROR. (BIT #14) ;ATTENTION ACTIVE (BIT #15) . *ERROR ?EGISTER #01 (RHER") (#02) ILF= ;ILLEGAL FUNCTION (BIT 40) CZR.ACO.RP04/5/6 DSKLS CTRLRT CZRJGL.P11 26=~JUL~78 10:10 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 }ggz 000002 000004 000010 000020 000040 00010 00020 000400 001000 002000 004000 010000 020000 040000 100000 }83@ 1097 1098 1099 1100 1101 1102 1103 1104 1}82 000001 000002 000004 000010 000020 000040 000200 000400 001000 }}8§ 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 000001 000002 000004 000010 000020 000040 000100 000200 MACY11 30A(1052) 27-JUL-78 ERROR POINTER TABLE ILR= RMR= PAR= FER= WCF= ECH= HCE= HCRC= AOE = 1AE= WLE= DTE= OPI= UNS= DCK= 2 A 10 20 40 100 200 400 1000 2000 4000 10000 20000 40000 100000 K 12:41 2 PAGE 25 SEQ 0024 SEQ 0023 CZRJ CZRJ ;ILLEGAL REGISTER (BIT #1) *REGISTER MODIFICATION REFUSED (BIT #2) “PARITY ERROR (BIT #3) :FORMAT ERROR (BIT #4) SWRITE CLOCK FAIL (BIT #5) :ECC HARD ERROR (BIT #6) *HEADER COMPARE ERROR (BIT #7) :HEADER CRC ERROR (BIT #8) :ADDRESS OVERFLOW ERROR (BIT #9) :INVALID ADDRESS ERROR (BIT #10) :WRITE LOCK ERROR (BIT #11) :DRIVE TIMING ERROR (BIT #12) :OPERATION INCOMPLETE (BIT #13) :DRIVE UNSAFE (BIT #14) :DATA CHECK ERROR (BIT 15) 16 16 16 16 16 16 16 16 16 16 16 16 16 16 }g ;*MAINTAINABILITY REGISTER (RHMR) (#03) }g DMD= MCLK= MINX= MSTCK= MRD= MWR= DENVL= 2ER= DTSY= 16 16 16 16 16 16 16 16 ] 2 & 10 20 40 200 400 1000 :DIAGINOSTIC MODE (BIT #0) SMAINTAINABILITY CLOCK (BIT #1) *MAINTAINABILITY INDEX (BIT #2) SMAINTAINABILITY SECTOR CLOCK (BIT #3) *MAINTAINABILITY READ (BIT #4) *MAINTAINABILITY WRITE (BIT #S) :DATA ENVELOPE (BIT #7) :ZERO DETECT (BIT #8) *MAINTAINABILITY SYNC DETECTED (BIT #9) }g :+ATTENTION SUMMARY PSEUDO-REGISTER (RHAS) (#04) }g ATO= AT1= AT2= AT3= AT4= ATS= AT6= AT7= 1€ 16 1€ 1€ 16 16 17 17 17 17 17 17 17 17 17 17 17 1i 17 1 17 1 2 4 10 20 40 100 200 :DEVICE 0 (BIT #0) SDEVICE 1 (BIT #1) :DEVICE 2 (BIT #2) :DEVICE 3 (BIT #3) :DEVICE & (BIT #4) :DEVICE 5 (BIT #5) :DEVICE 6 (BIT #6) :DEVICE 7 (BIT #7) ;*DESIRED SECTOR/TRACK ADDRESS REGISTER (RHDST) (#1) :«EACH BIT IS CALLED BY BIT NUMBER :*«DRIVE TYPE REGISTER (RHDT) (#06) 1i ;*EACH BIT IS CALLED BY BIT NUMBER P 17 13 1 1 CZRJGCO,RPO4/S/6 DSKLS CTRLRT CZRJGC.P1 26~JUL~78 10:10 1135 }}%9 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 }}22 000001 000002 000004 000010 000020 000040 000100 000200 000400 001000 002000 004000 010000 020000 040000 100000 1}22 MACY11 30A(1052) 27-JUL-78 ERROR POINTER TABLE TRK2= TRK4= TRK10= TRK20= }}gg 10000 20000 40000 100000 SEXTENSION 1 (BIT #0) CEXTENSION 2 (BIT #1) EXTENSION 3 (BIT #2) EXTENSION & (BIT #3) :EXTENSION S (BIT #4) EXTENSION 6 (BIT #5) SECTOR COUNT FIELD O (BIT #6) :SECTOR COUNT FIELD 1 (BIT #7) SECTOR COUNT FIELD 2 (BIT #8) :SECTOR COUNT FIELD 3 (BIT #9) :SECTOR COUNT FIELD & (BIT #10) :TRACK FIELD 1 (BIT #11) :TRACK :TRACK :TRACK :TRACK (BIT #12) (BIT #13) (BIT #14) (BIT #15) ] 2 :WRITE CURRENT UNSAFE (BIT #0) :CURRENT SINK FAILURE (BIT #1) 10 20 40 100 200 400 1000 2000 4000 10000 ;CURRENT SWITCH UNSAFE (BIT #3) :MOTOR SEQUENCE ERROR (BIT #4) TRANSITIONS DETECTOR FAILURE (BIT #5) :TRANSITIONS UNSAFE (BIT #6) :FAILSAFE ENABLED (BIT #7) :WRITE READY UNSAFE (BIT #8) :MULTIPLE HEAD SELECT (BIT #9) :NO HEAD SELECTION (BIT #10) :INDEX ERROR (BIT #11) :30VOLT UNSAFE (BIT #12) wWSU= 4 PLU= ACU= 20000 100000 WRITE SELECT UNSAFE (BIT #2) ;PLO UNSAFE (BIT #13) :ACUNSAFE (BIT #15) :*RP05/6 ERROR REGISTER #2 (RHER2) 000001 000002 000004 000010 000020 000040 000100 000200 000400 001000 002000 004000 020000 FIELD 2 FIELD 3 FIELD &4 FIELD S (#10) CSu= MSE= TDF = TUF = FEN= WRU= MHS= NHS= IXE= vu30= 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 }}gg 1 2 4 10 20 40 100 200 400 1000 2000 4000 :*RP04 ERROR REGISTER #2 (RHER2) 000010 000020 000040 000100 000200 000400 001000 002000 004000 010000 }};z CZRJ CZRJ 17 17 17 17 17 17 17 17 17 17 17 17 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 020000 100000 SEQ 0025 SEQ 0024 EXT1= EXT2= EXT4= EXT10= EXT20= EXT40= SC1= SC2= SC4= SC10= $C20= TRK1= WCU= CSF= 1170 }};} PAGE 26 L34 }; 000001 000002 000004 12:41 2 :*LOOK-AHEAD REGISTER .RHLA) (#07) 1157 1158 1159 L WCU= CSF= wSU= CSu= RAW= TDF = TUF = ABS= WRU= MHS= NHS= IXE= PLU= 1 2 4 10 20 40 100 200 400 1000 2000 4000 20000 :*«OFFSET REGISTER (RHOF) (#11) (#10) ;WRITE CURENT UNSAFE :CURRENT SINK FAILURE :CURENT SELECT UNSAFE :CURRENT SWITCH UNSAFE :READ AND WRITE :TRANSITIONS DETECTOR FAILURE :TRANSITIONS UNSAFE :ABNORMAL STOP :WRITE READY UNSAFE :MULTIPLE HEAD SELECT :NO HEAD SELECTION : INDEX ERROR :PLO UNSAFE —d ) wd 010000 0F25= OF50= 0F100= 0F200= 0F400= OF800= 1 2 4 10 20 40 ;OFFSET 25 MICRO INCHES (BIT #0) ;OFFSET 50 MICRO INCHES (BIT #1) ;OFFSET 100 MICRO INCHES (BIT #2) ;OFFSET 200 MICRO INCHES (BIT #3) ;OFFSET 400 MICRO INCHES (BIT #4) ;OFFSET 800 MICRO INCHES (BIT #5) OFREV= HCI= ECI= 200 2000 4000 ;OFFSET NEGATIVE (REVERSE) (BIT #47) JHEADER COMPARE INHIBIT (BIT #10) ;ERROR CORRECTION CODE INHIBIT (BIT #11) FMT22= 10000 ;FORMAT BIT (BIT #12 o} b e oD b S ;*CURRENT CYLINDER ADDRESS (RHCC) (413) b md b P o ;*EACH BIT IS CALLED BY BIT NUMBER ;*SERIAL NUMBER REGISTER (RHSN) (#14) ;*EACH IS CALLED BY BIT NUMBER ;*ERROR REGISTER #03 (RHER3) (415) PSU= VUF = UWR= PRE= 100000 ACL= DCL= SK1= ocyL= 1 2 10 20 40 100 40000 100000 ;PACK SPEED UNSAFE (BIT #0) JVELOCITY UNSAFE (BIT #1) JANY UNSAFE EXCEPT READ/WRITE (BIT #3) ;DISK PACK ROTATION ERROR (BIT #4) ;AC LOW (BIT #5) ;DC LOW (BIT #6) ;SEEK INCOMPLETE (BIT #14) ;OFF CYLINDER (BIT #15) ;*ECC POSITION REGISTER (RHEC1) (#16) ;*EACH BIT IS CALLED BY BIT NUMBER SEQ 0026 SEQ 0025 17 eVN d d b D D N N VY] PAGE 27 ;*EACH BIT IS CALLED BY BIT NUMBER. VOONOANEBWN=O Y G 2 ;*DESIRED CYLINDER ADDRESS (RHCA) (#12) 1209 RN RN ERROR POINTER TABLE m 12:41 N D ad wnd NIN) b = ad b e b 2 D SEEBIRAR 1191 1192 1193 27-JUL-78 MACY11 30A(1052) b b b ey be b md b Se Pi S d T vN wmd P b vnd b h b d DNb TetY Ternd Tb ND TN) ND N b N d LD N e TNd L DN N TN e wd e b d e D D b D d d gy ey N N N N T N T N RN NN LWL VL N N NE N CZRJGCO,RPO4/5/6 DSKLS CTRLR1 26-JUL-78 10:10 CZRJGC.P11 1254 ;*ECC PATTERN REGISTER (RHEC2) (#17) ;*EACH BIT IS CALLED BY BIT NUMBER CZRJ G SEQ 0027 SEQ 0026 2 PAGE 28 MMM DON000000000000000000000 A0 N N N NNV IYNNY 1%23 2 —l_‘dd_‘—l—l—h—b—l-j-‘—l_‘d-fl—l—l-‘d—fl-‘—l—h-l—l-d—l-dd-b-‘-fl_fl—l—l-&—l_l—b—l—d—d.—i 1252 N 12:41 AMARAAAMMORAA MDA 1247 1248 1249 1250 1251 MACY11 30A(1052) 27-JuL-78 ERROR POINTER TABLE 'a) CZRJGCO,RPO4/5/6 DSKLS CTRLRT CZRJGC.P11 26=-JuUL~-78 10:10 CZR b e REGISTER ADDREGSES D e D .SBTTL 254 D RPVEC: ;JRP0O4 VECTOR ADDRESS ed o 000254 erd d e 001626 b ;*RP04 VECTOR ADDRESS ;*RPQ4/5/6 DISK 1/0 REGISTERS LOCATED IN THE RH11 CONTROLLER J*NOTE: THE CONTENTS OF THESE LOCATIONS WILL BE DIFFRENT 001630 001632 001634 001636 176722 176702 176704 176710 i i* IF THE ''CHANGE BASE ADDRESS'' ROUTINE IS USED. THIS ROUTINE STARTS AT LOCATION TAGED 'BASECH" RHDB: RHW( : RHBA : RHCS2: 176722 176702 176704 176710 ;DATA BUFFER SEE NOTE ABOVE ;WORD COUNT SEE NOTE ABOVE ;BUS ADDRESS SEE NOTE ABOVE ;CONTROL AND STATUS 2 SEE NOTE ABOVE ;*RP04/5/6 DISK 1/0 REGISTERS LOCATED IN THE DEVICE CONTROL LOGIC s*NOTE: THE CONTENTS OF THESE LOCATIONS WILL BE DIFFERENT IF THE '‘CHANGE BASE ADDRESS ROUTINE IS USED. o 176700 176714 176706 176740 176732 176734 176742 176716 176724 176712 1294 SeEREEYYS SEQ 0028 SEQ 0027 ~N n 3 PAGE 29 [ 8 12:41 176726 176730 176744 176746 176720 176736 176750 176752 (DCL) i* THIS ROUTINE STARTS AT LOCATION TAGED ‘BASECH' RHCST1: RHER1: 176700 176714 ;CONTROL AND STATUS 1 SEE NOTE ABOVE JERROR #1 SEE NOTE ABOVE 176726 176730 176744 176746 176720 176736 ;DRIVE TYPE SEE NOTE ABOVE ;SERIAL NUMBER SEE NOTE ABOVE ;ECC POSITION SEE NOTE ABOVE JECC PATTERN SEE NOTE ABOVE ;LOOK-AHEAD SEE NOTE ABOVE ;CURRENT CYLINDER ADDRESS SEE NOTE ABOVE RHDST: RHER2: RHOF: RHCA: RHER3: RHAS: RHMR: RHDS1: RHDT: RHSN: RHECT: RHEC2: RHLA: RHCC: 176706 176740 176732 176734 176742 176716 176724 176712 ;DESIRED SECTOR/TRACK ADDRESS SEE NOTE ABOVE ;ERROR #2 SEE NOTE ABOVE ;OFFSET SEE NOTE ABOVE ;DESIRED CYLINDER ADDRESS SEE NOTE ABOVE JERROR #3 SEE NOTE ABOVE ;ATTENTION SUMMARY SEE NOTE ABOVE JMAINTAINABILITY SEE NOTE ABOVE ;DRIVE STATUS SEE NOTE ABOVE ;*ADDITIONAL REGISTERS LOCATED IN THE RH70 CONTROLLER LOGIC 001700 001702 — e 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 MACY11 30A(1052) 27-JUL-78 ERROR POINTER TABLE ) (ZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.P11 26-JuL-78 10:10 RHBAE: RHCS3: 176750 176752 ;BUS ADDRESS EXTENSION REGISTER ;CONTROL AND STATUS REGISTER #3 CZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.P1 26=JUL~78 10:10 1306 1307 1308 1309 1310 }g}; 1313 001704 000000 1314 001706 000000 1315 001710 000000 }g}g 001712 000000 1318 1319 001714 000000 1320 001716 000000 1321 001720 000000 1322 001722 000000 1323 001724 000000 1324 001726 000000 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 001730 001732 001734 001736 001740 001742 001744 001746 001750 001752 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 MACY11 30A(1052) 27-JuL-78 REGISTER ADDRESSES C 12:41 3 PAGE 30 ;«THE FOLLOWING LOCATIONS ARE RESERVED FOR REGISTER SAVES S«ANY TIMC THERE IS AN ERROR ALL THESE WILL BE FILLED ~«ONLY SOME MAY BE PRINTED BUT ALL WILL BE FILLED TRUE L«FOR THE TIME JUST AFTER THE 'ERROR’‘ ERROR COMMAND D8: 0 :DATA BUFFER WC: 0 sWORD COUNT BA: 0 *BUS ADDRESS €S2: 0 SCONTROL AND STATUS 2 €s1: ER1: DST: ER2: OF : CA: ER3: AS: MR: DS1: DT: SN: ECT: EC2: LA: cC: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ;CONTROL AND STATUS 1 :ERROR #1 *DESIRED SECTOR/TRACK ADDRESS :ERROR #2 ;OFFSET :DESIRED CYLINDER ADDRESS *ERROR #3 SATTENTION SUMMARY SMAINTAINABILITY :DRIVE STATUS :DRIVE TYPE :SERIAL NUMBER SECC POSITION :ECC PATTERN :LOOK-AHEAD :CURRENT CYLINDER ADDRESS SEQ 0029 SEQ 0028 CZR CZR 1 1 ] ] 1 } ] ] 1 } 1 ) i 1 ) 1 1 1 1 1 1 1 1 1 1 1 1 } 3 3 3 ] 3 ] CZRJIGCO,RPOL/5/6 DSKLS CTRLRT 26~JUL-78 10:10 CZRJGC.P11 1335 1§§g MACY11 30A(1052) 27-JUL-78 REGISTER ADDRESSES D 12:41 3 PAGE 31 SEQ 0030 SEQ 0029 1 } ;*FLAGS & INTERNAL PROGRAM CONTROL WORDS 1338 1339 1340 1341 1342 1343 1344 }%22 001754 001774 001776 000010 000000 000000 UNITS: .BLkwWw UNIT: .WORD NOUNIT: .WORD 8. O O 002000 000000 NUNIT: .WORD O 002002 002004 000000 000000 SELECT: .WORD UNITSI: .WORD O O }gzg 002006 000000 1349 1350 1351 1352 1353 002010 002012 CZR CZR :TABLE OF DRIVES PRESENT TO TEST :UNIT UNDER TEST :NUMBER OF UNITS PRESENT ;USED TO KEEP TRACK OF UNIT UNDER TEST :USED TO DETERMINE IF THERE IS MORE :THAN ONE UNIT :ALL ONES INDICATE UNIT TO BE SELECTED JUNIT NO. SELECTED 1 1 1 1 1 1 1 } ERFLGS: O ;ERROR FLAG } 000000 SAVDT: 0 000000 SAVSN: 0 :SAVE DRIVE TYPE REGISTER :FOR COMPARISON IN DRIVE CLEAR TEST :AND RH INIT TEST :SAVE SERIAL NUMBER REGISTER :FOR COMPARISON IN DRIVE CLEAR TEST 1 1 1 1 1 :SAVE PC OF JSR WHICH GAVE THE ERROR } }%22 :AND RH INIT TEST }%gg 002014 000000 PCJSR: 1358 }%23 002016 002020 000000 000000 ATTENT: O TOTALAT: 0 ATTENTION BIT FOR PRESENT UNIT :TATAL ATTENTION BITS 1 } ;%g} 002022 000000 TMPILL: O :TEMPORARY ILLEGAL FUNCTION } 1363 002024 000C00 TSECC: ;FLAG TO SAY IF ECC TEST OR NOT 1 WHEN =0IT IS NOT AN ECC TEST } 1364 O } O 1%22 1367 1368 002026 000000 1371 002030 000000 ;g;g 002032 TESDTE: O }%93 WHEN =177777 IT IS AN ECC TEST :FLAG TO SAY IF DRIVE TIMING ERROR OR NOT WHEN = 177777 IT IS A DTE TEST 1 1 IT IS NOT A DTE TEST 1 TAGDTE: 0 :TEMPORARY TAG USED IN DRIVE TIMING :ERROR TEST | 1 000000 TSTNM: 0 :TEST NUMBER ; }g;g 002034 000000 FIRST: O :1F 2ERO WILL TYPE HEADER } ;%;g 002036 000000 RPO6: O :IF 0 PROGRAM WILL TREAT DRIVE AS RPO4 : 1380 1381 002040 000000 RH70: 0 :IF 1 PROGRAM IS RUNNING ON RH70 :IF 0 PROGRAM IS ON AN RH11 ) 1 lggg JWHEN = 0 1 CZRJIGCO,RPO4L/5/6 DSKLS CTRLR1 CZRJGC.P11 26=JUL-78 10:10 MACY11 30A(1052) 27-JUL-78 REGISTER ADDRESSES 1382 1383 1384 E 12:41 3 PAGE 32 SEQ 0031 SEQ 0030 FUTABL: NOPERA: UNLOAD: RECALI: 000000 000002 000006 000010 000012 000030 000059 000052 000060 000062 000070 000072 000004 000014 000016 000022 000020 000000 THEN ''GO'" BIT HAS TO BE SET JNO OPERATION JUNLOAD (STAND BY) JRECALIBRATE ;DRIVE CLEAR DCLEAR: JRELEASE (DUAL-PORT OPERATION) RELEAS: SERCH: : WRCHEK T: WRCHD WRIDAT: WRIFOR: READAT: REFOR: SEECOM: OFSETC: RETCL: ; SEARCH COMMAND JWRITE CHECK DATA JWRITE (HECK HEADER AND DATA JWRITE DATA JWRITE HEADER AND DATA (FORMAT) ;READ DATA ;READ HEADER AND DATA ; SEEK COMMAND ;OFFSET COMMAND JRETURNTO CENTERL INE ;PACK ACKNOWLEDGE PKACK: READIN: JREAD IN ;COMPUTED ILLEGAL FUNCTION ILLEGL: ;*DATA BUFFERS FOR READ WRITE 002110 003154 000422 000422 WRFROM: REINTO: .BLKW .BLKW 274. 274. JWRITE FROM THIS BUFFER JREAD INTO THIS BUFFER ;*TABLE FOR ATTENTION BITS ;*ATTENTION TABLE 004220 004223 004226 001 010 100 002 020 200 004 040 ATABLE: .BYTE 1,2,4.,10,20,40,100,200 - ad e d d d d b D ;*TABLE OF FUNCTICNS FOR RHCS1, b =D :*FUNCTION EQUATES CZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.P11 26-JuL-78 10:10 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434, 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 MACY11 30A(1052) 27-JUL-78 REGISTER ADDRESSES 004244 004244 004246 004252 004254 004260 004262 004266 004274 004302 004310 004316 004324 004332 004340 004346 004352 004356 004364 004372 012737 000402 005037 000005 012706 005026 022706 001374 012706 012737 012737 012737 012737 012737 012737 012737 012737 005037 005037 004412 004420 004426 004434 004436 004440 004444 004446 004454 004462 112737 012737 012737 013746 012737 012737 012737 022777 001012 000403 012716 000002 012737 012737 012637 004466 004474 004502 004506 004512 004514 004516 004522 004400 004404 177777 002002 «x*DJAGNOSTIC CODEw«+ .SBTTL SETUP TESTS BEGINZ: MoV BEGIN: 002002 START: 001100 BR CLR RESET #-1,3#4SELECT START o#SELECT #SCMTAG ,R6 (R6) + #SWR,R6 001140 001000 054220 000340 056436 000340 057206 000340 057276 000340 001212 001214 000001 004364 004372 000004 004440 177570 177570 177777 3 PAGE 33 .SBTTL .SBTTL .SBTTL 004230 004236 004240 F 12:41 ; ;DONE? JSELECT UNIT ;DO NOT SELECT UNIT ;NORMAL RUN :;FIRST LOCATION TO BE CLEARED ::CLEAR MEMORY LOCATION ;:LO0P BACK IF NO =6 #STACK,SP :;SETUP THE STACK POINTER #SSCOPE ,a#IOTVEC ;10T VECTOR FOR SCOPE ROUTINE #3460 HIOTVEC+2 ;;LEVEL 7 H#SERROR ,a#EMTVEC ;:EMT VECTOR FOk ERROR ROUTINE #3640, 3#EMTVEC+2 ;;LEVEL 7 A#STRAF ,a# TRAPVEC ;;TRAP VECTOR FOR TRAP (ALLS #340, 34 TRAPVEC+2; LEVEL 7 #SPWRDN ,a#PWRVEC ;.;POWER FAILURE VECTOR #340,a#PWRVEC+2 ;;LEVEL 7 $TIMES ;o INITIALIZE NUMBER OF ITERATIONS 000020 000022 000030 000032 000034 000036 000024 000026 $ESCAPE #1, SERMAX #.,8LPADR #.,8LPERR @¥ERRVEC,-(SP) ;;CLEAR THE ESCAPE ON ERROR ADDRESS ;;ALLOW ONE ERROR PER TEST ;;INITIALIZE THE LOOP ADDRESS FOR SCOPE ;,SETUP THE ERROR LOOP ADDRESS ;;SAVE ERROR VECTOR #DSWR, SWR #DDISP,DISPLAY ;:SETUP FOR A HARDWARE SWICH REGISTER ;.AND A HARDWARE DISPLAY REGISTER #64$ ,QNERRVEC #-1,3SWR 174504 64%: 00444¢€ SEQ 0032 SEQ 0031 MOV RT1 MoV MOV MOV 000176 00C174 000004 001140 001142 65%: 012737 012777 004737 005737 001001 000402 000000 054136 055176 002034 177776 175124 STARTA: MOV 000137 005326 66%: MOV JSR TST BNE BR JMP ;;SET UP ERROR VECTOR ;:TRY TO REFERENCE HARDWARE SWR 66% 65% ;;BRANCH [F NO TIMEOUT TRAP OCCURRED ;;BRANCH IF NO TIMEOUT #SWREG, SWR ;;POINT (SP)+ ,d#ERRVEC ;,RESTORE ERROR VECTOR #0,PS ;StT PROCESSOR STATUS TO O a#F IRST ;1S THIS FIRST TIME ROUND ? #65%, (SP) #D]SPREG.DISPLAY #RPVECT ,aRPVEC PC,a#$TKINT 1% 2% d#SND1 :;SET UP FOR TRAP RETURN TO SOF TWARE SWR ,THIS IS FOR UNTIMELY DRIVE INTERRUPTS JINITIALIZE THE TTY KEYBOARD ;SKIP HEADER IF NOT ;DO HEADER IF SO ;SKIP OVERALL PROGRAM HEADER N 2OV NN NN = d d ed e D = e — e WALV LV LV, AV, RV, QW RV LV, LRV, LV, ] PNONON) = = D b b b D D d e 004626 104401 004672 104401 000427 004766 004664 004670 004760 004764 005044 005050 005132 005136 005172 000433 104401 005052 104401 005140 104401 005200 000430 000415 005176 005260 005264 000430 104401 000420 005266 005326 012737 177777 005334 005340 005342 005350 005352 005354 005356 005737 001006 023727 001005 000042 112737 005364 005372 005374 005402 005406 005410 005414 005462 005464 005470 005474 001140 ,67% 66% ;. TYPE ASCIZ STRING ;.GET OVER THE ASCIZ TYPE BR TYPE BR TYPE ,69% ;s TYPE ASCIZ STRING 002034 SND1: 000176 000001 001134 64%: 032777 001403 012737 (10000 173546 RH70CK: BIT 005737 001434 002002 104401 000422 104412 042716 011637 012637 005416 177770 001774 002004 718 70% .73% 72% 76% .79% ’8% GTSWR 000001 68$ ,75% 74% /7% 104406 000403 TYPE BR MOvVB BF - 002040 MOV 3%: TST BEQ TYPE RDOCT BIC MOV MoV ::GET OVER THE ASCIZ ;o TYPE ASCIZ STRING ;:GET OVER THE ASCIZ ;s TYPE ASCIZ STRING :;GET OVER THE ASCIZ ;sTYPE ASCIZ STRING ::GET OVER THE ASCI2Z ::TYPE ASCIZ STRING :;GET OVER THE ASCIZ ;:TYPE ASCIZ STRING ::GET OVER THE ASCIZ #=1,a#4F IRST ;JNEXT TIME DO NOT GIVE HEADER a4l 648 SWR,#SWREG 65% ;;ARE WE RUNNING UNDER XXDP/A(T? ;;BRANCH [F YES ;;SOF TWARE SWITCH REG SELECTED? ; ;BRANCH IF NO ;:GET SOFT-SWR SETTINGS 65% #1.$AUTOB ;. SET AUTO-MODE INDICATOR #SW12,3SWR 3% ;LOOK TO SEE IF USING RH70 #1,3#RH70 JIF SW12 = 0, SKIP NEXT JIF SW12 = 1, CU IS AN RH70 S#SELECT ST ;200 START? ;SKIP NEXT IF STARTING FROM 200 -=========--- ) ,65% 64% 8177770, (SP) (SP) ,a#UNIT (SP)+ a#UNITSL ;:TYPE ASCIZ STRING ::GET OVER THE ASCIZ JONLY KEEP LAST 3 BITS ;SAVE UNIT TO BE TESTED JSAVE UNIT TO BE TESTED ) 104407 ;. TYPE ASCIZ STRING ;.GET OVER THE ASCIZ b 000417 ,65% CZRJ CZRJ ) e wrd D e} 004620 004624 64% TYPE BR SEQ 0032 md D 004530 SEQ 0033 A D DD DD OO O O W 104401 000434 3 PAGE 34 d D e 004522 004526 6 30A(1052) 27-JUL-78 12:41 INITIALIZE THE COMMON TAGS WA WD 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 MACY11 — (ZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.P 26-JuL-78 10:10 1$ CZRJGCO,RPO4/5/6 DSKLS CTRLR1 26~JuL-78 10:10 CZRJGC.P11 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 H 005500 005502 005510 005514 000004 012737 012706 012737 000001 001000 000001 001212 005522 012737 005530 005536 005542 005546 005550 005552 005554 005556 005564 005566 005574 005576 005604 012737 012700 012701 013102 005300 001375 000454 012737 022626 016137 005606 005612 000427 005672 005676 002032 056446 000030 MOV #REGSA1T ,a#EMTVEC;ERROR VECTOR SO THAT 005556 000024 001630 000004 MoV #2$ ,¥ERRVEC 1%: 000004 104015 032777 001036 177776 001200 020000 173334 104401 005614 012746 000204 2%: 000137 041320 005706 005714 005720 005724 012737 005037 005777 005237 005766 002040 173754 002040 005736 104401 006024 000413 012737 006032 012737 1% ;BRANCH IF 24 NOT DONE 33 ;BRANCH IF 24 DONE HERRVEC+2 ,a#ERRVEC ;RESTORE TRAP CATC(HER CMP MOV ERROR BIT BNE #RHDB ,R1 @(R1)+,R2 RO 000004 BR .65% 648 2;TYPE ASCIZ STRING MoV #ADDMOD , - (SP) ;GET READY TO TYPE STARTING ADDRESS 000004 ;OF "'CHANGE OF BASE ADDRESS'' ROUTINE ;FORCE THE RESTART! a#SEOP ;GO TO END OF PROGRAM —~====—==ce——-- > 3$: MOV CLR HTRP ,a#4 RH70 INC aRHBAE RH70 JINITIALIZE VECTOR JINIT RH INDICATOR ++ C.W ;ADDRESS RPBAE (RH11/RH70?} .67% 2. TYPE ASCIZ STRING TRP: 000006 :.GET OVER THE ASCIZ JMP BR 000030 ;CLEAN STACK ;STORE FAILING REG ADDR 4%: TYPE 056436 FIRST REG. JREGISTER NON EXISTANT JINHIBIT ERROR PRINTOUT ? ;BRANCH IF YES TST 005776 ;R1 NOW HAS ADDR OF ADDR OF JREAD HARDWARE REG. ;COUNT DOWN (SP)+,(SP)+ -2(R1), $TMP1 15 #SW13,aSWR 4% HALT 005702 ;SET UP FOR BUS TIMEOUT :THERE ARE 24 REG TO TEST BNE BR MOV TYPE 104402 sNO REGISTERS ARE SAVED #264 RO MOV MoV DEC SEQ 0034 SEQ 0033 ;.00 1 ITERATION ;SET UP STACK POINTER ;THIS SAVES TEST NUMBER MOV TYPOC 000000 000413 000417 022626 SCOPE H1,STIMES #STACK, SP HTTNO,I#TSTNM 005700 005730 005734 005764 005766 005770 005774 TST1: MOV MOV MoV 000006 104401 3 MACY11 30A(1052) 27-JuUL-78 12:41 PAGE 35 GET VALUE FOR SOFTWARE SWITCH REGISTER RTN: BR CMP TYPE 66$ RTN (SP)+,(SP)+ .65% JFOUND AN RH70-SET MASK ;.GET OVER THE ASCIZ ;ADJUST THE STACK ;. TYPE ASCIZ STRING BR 648 MOV ALRRVEC+2 ,a#ERRVEC ;RESTORE TRAP CATCHER MOV :.GET OVER THE ASCIZ #SERROR ,a#EMTVEC;RESTORE ERROR VECTOR ;SO THAT REGISTERS ARE SAVED (ZRJIGCO,RPO4/S5/6 DSKLS CTRLR1 CZRJIGC.P1N 26-JUL-78 10:10 MACYT 3??(1052) 27-JuL-78 I 3 12:41 PAGE REFERENCE EACH REGISTER SEQ 0035 SEQ 0034 36 1570 1571 1572 1573 1574 1575 1576 1577 1578 006040 006042 006050 006054 006062 000004 012737 012706 012737 005737 001402 000137 000001 001000 000002 002040 001212 BEQ JMP 006124 006070 013737 013737 004537 1586 1587 006074 006102 006110 006114 006116 006120 006122 006124 006126 000004 012737 000001 001212 006134 012737 000003 002032 006142 013701 012711 001656 177777 001126 001126 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 006146 006152 006156 006162 006164 006170 006174 0000900 010742 001636 042272 006114 006116 MOV MOV JSR .WORD .WORD ERROR 000000 104001 000207 011137 105737 001405 005037 010137 104001 SCOPE MOV MOV TST 002032 1579 1580 1531 1582 1583 1584 1585 TST2: RTS 001124 042270 TST3: SCOPE #1,STIMES #STACK,SP #TTNO,a#TSTNM SNRH70 30% TST3 BFPRCS2+12,a#UN IMRHCS2 ,ANUN+2 ;:D0 1 ITERATION RESET STACK :THIS SAVES TEST NUMBER TEST FLAG FOR RH70 CONTROLLER :IF FLAG = 1, THIS TEST 1S SKIPPED SJUMP TO NEXT TEST ==m-emomcomooooooe- SS.Q#BITST JTEST BITS IN REGISTER 0 ;ADDRESS OF 1 PC ;ONLY THESE BITS TESTED FOR READ/WRITE REG. BEING TESTED ;IN CORRECT DATA RECEIVED ;RETURN TO BLT3 ROUTINE ITERATION MoV #1,$TIMES ;:D0 1 MoV HTTNO,a#TSTNM 2THIS SAVES TEST NUMBER MOV MOV MoV TSTB BEQ R1 a#RHAS JR1 HAS ADDRESS OF RHAS ;TEST DATA MOV aR1,a#$BDDAT a#$BDDAT TST4 #$GDDAT ?1.3#REGADR CLR ERROR #-1,3R1 ;THIS CLEARS RHAS (SURPRISED.) ;BRANCH IF GOOD .GOOD DATA JFAILING REG. RHAS sRHAS DOES NOT CLEAR ;BY WRITING ONES IN ik d b b b b o 0O ~NO NS WA= PN g G (o Yo Yo Yo Yo Yo Xo Yo CZRJGCO,RPOL/5/6 DSKLS CTRLR1 CZRJGC.P11 26-JuL-78 10:10 006176 006200 000004 012737 006206 006210 006216 006222 006230 000005 012737 004737 032777 001147 000004 055176 020000 006232 006236 006320 006324 006404 006410 006464 006470 104401 006240 104401 006326 104401 000425 104401 006412 006550 006554 006560 006562 006566 006572 006576 006600 006602 013701 013702 005012 012700 013704 012714 005212 005300 001273 001656 001636 006604 111137 002020 006610 105037 105711 002021 006614 006616 1650 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 000430 000001 000427 000427 006624 006632 006634 032777 001402 000137 020000 104401 000421 104401 006646 104401 007004 104401 007072 000137 041320 007166 000430 000430 000436 001212 TST4: 002032 PARTIAL SCOPE J 12:41 3 PAGE 37 TEST OF RHAS FOR UNIT NUMBERS PRESENT MoV #1,8TIMES RESET MOV #TTNO,I#TSTNM ,65% ;:TYPE ASCIZ STRING .71% 70% 1%: ;:TYPE ASCIZ STRING ::GET OVER THE ASCI2 ;s TYPE ASCIZ STRING ::GET OVER THE ASCIZ aR? 2 INCREMENT UNIT NO. (RHCSZ2) ;COUNT DOWN DRIVE COUNTER #-1,3R4 ;LOAD R2 WITH ADDR. OF RH(CS2 ;CLEAR RH(CS2 (ADDRESS UNIT #0) JINITIALIZE DRIVE COUNTER ;LOAD R4 WITH ADDR. OF RHER1 ;MOVE ERRORS INTO RHER1 OF UNIT ADDRESSED RO 1% ;TEST AND DO NEXT UNIT IF 8 NOT DONE ;SAVE ALL RESULTING ATTENTION BITS s (USED IN DRIVE CLEAR TEST) ;CLEAR UPPER BYTE aR1 ;TEST RHAS FOR ANY DRIVES PRESENT #SW13,aSWR 3$ SELTST ;INHIBIT ERROR TYPE OUT? :TYPE ‘WO DRIVES'' MESSAGE IF NO ;JCHECK FOR SELECTED UNIT START AND LOAD .73% 72% .75% 74% /7% 76% .79% /8% ;;TYPE ASCIZ STRING ;:GET OVER THE ASCIZ 2:;TYPE ASCIZ STRING ;:GET OVER THE ASCIZ ;;TYPE ASCIZ STRING ;;GET OVER THE ASCIZ 2% XE2 3%: ::;GET OVER THE ASCIZ ;LOAD R1 WITH ADDR. OF RHAS a#TOTALAT+1 007530 :;GET OVER THE ASCIZ ;:TYPE ASCIZ STRING @#RHAS ,R1 dH#RHCSZ ,R2 aR?2 #8..RO @#RHER1T,R4 aR1,a#TOTALAT 172306 ;START WITH AN INIT 2THIS SAVES TEST NUMBER JINITILIZE TTY KEYBOARD ;INHIBIT ERROR TYPEOUT? ;BRANCH IF YES 66$ .69% 68% 4%: :.D0 1 ITERATION PC,a#STKINT #SW13,aSWR 43 648 ,67% 007172 006716 27-JUL-78 JSR 172710 000010 001642 177777 006620 006710 006714 006776 007002 007064 007070 T3 006472 001402 000137 006640 006640 006644 MACY11 30A(1052) AN $EOP J*SET UP DRIVES PRESENT ;NONE RESPONDING - TYPE THE MESSAGE JSOME THERE - GO FILL "UNITS'' TABLE ;"UNITS'' TABLE WITH DESIRED DRIVE IF SO ;< TYPE ASCIZ STRING ::;GET QVER THE ASCIZ SEQ 0036 SEQ 0035 (ZRJIGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC P11 26-JUL-78 10:10 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 MACY11 30A(1052) T4 K 3 PAGE 38 27-JUL-78 12:41 TEST FOR DRIVES PRESENT USING RHAS AND RH(CSZ2 XE2: 007172 2%: 007172 007176 007202 007206 007210 012700 012703 012723 005300 001374 000010 001754 177777 007212 012703 005005 005037 012700 011137 006037 001754 010577 022777 001503 022777 001477 172370 024020 172410 020020 172400 022777 001473 022777 001467 024021 172370 020021 172360 022777 001463 022777 024022 172350 020022 172340 103120 001457 3%: 10%: 001776 000010 001176 001176 4%: 11%: #8. RO SUNITS ,R3 JLOAD "UNITS'' TABLE COUNTER JLOAD 'UNITS'' TABLE POINTER DEC BNE RO . COUNT DOWN MoV #UNITS,R3 RS DINOUNIT #8..RO JRELOAD THE TABLE POINTER JINITIALIZE UNIT NO. TO O ;NO. OF UNITS PRESENT R5,aRHCS? g£4020.annor s INSERT UNIT NO. INTO RHCSZ2 UNIT ADDR. #20020,3RHDT 6% JREAD RHDT - IS IT A SINGLE PORT RPO4 ? MOV MOV MOV CLR CLR MOV MOV ROR BCC MOV (MP BEQ cMP BEQ #-1.(R%)+ 38 aR1,a4#$TMPO NS TMPO 5% JPRESET 1ST TABLE BLOCK TO ALL ONES JPRESET NEXT BLOCK IF 8 NOT DONE JRELOAD THE TABLE COUNTER ;ADDR OF RHAS INTO TEMPORARY STORAGE ;SET CARRY IF 0 BIT = 1 (UNIT ATTEN.) ;CHECK NEXT UNIT IF ONE NOT IN BIT O JREAD RHDT - IS IT A DUAL PORT RPO4 ? JYES...TYPE THE UNIT NO. JYES...TYPE THE UNIT NO. CMP BEQ CMP BEQ g£4021.8RHDT ;DUAL PORT RPO5 ? #20021,aRHDT ;SINGLE PORT RPOS ? cMP 8EQ CMP BEQ zgkOZZ.SRHDT JREAD RHDT = IS IT A DUAL PORT RPO6 ? JYES...TYPE THE UNIT NO. 6% #20022 ,aRHDT 6% sJTYPE UNIT NO. ;TYPE NO. IF IF SO SO ;JREAD RHDT - IS IT A SINGLE PORT RPO6 ? JYES...TYPE THE UNIT NO. ;*NO...IT'S NOT AN RPO4/RPOS/RP0O6 DEVICE SO TYPE ;*0UT THE DEVICE TYPE 3 D —d = e b b oD VO NONSWN=O —_d eh b )k d —d b NN SN NN NNNSNNYN Dk —d = 007326 007332 007354 007356 007360 007402 007406 007410 007414 007462 007464 007466 007472 007474 104401 000410 007334 000406 017746 104402 104401 000422 000407 010523 104401 010546 104405 ,65% 64% 2. TYPE ASCIZ STRING MOV TYPDS TYPE BR MOV TYPOC TYPE BR R5,=(SP) ;PUT THE UNIT NUMBER ON STACK ;TYPE IT ::TYPE ASCIZ STRING MOV TYPE MOV TYPDS RS, (R3)+ :%gfi) TABLE POSITION AND INCR IT RS5,-(SP) "PUT UNIT NO. ON THT STACK BR 010546 104405 104401 TYPE 007366 172256 007476 BR 001223 6%: ,67% 66% (SP) = T, @RHD .69% 68% 5% LSCRLF ;:GET OVER THE ASCiZ :2GET OVER THE ASCIZ ;PUT RHDT ON THE STACK :TYPE IT ;:TYPE ASCIZ STRING ::GET OVER THE ASCI2Z JUNIT NOT AN RPO4/RPOS/RP0O6 SO TEST NEXT ONE “TYPE THE UNIT NO. SEQ 0037 SEQ 0036 CZRJGCO,RP0O4/5/6 DSKLS CTRLRI CZRJGC PN 26~JUL-78 10:10 007476 005237 1722 1723 1724 1725 007502 007504 007506 005205 005300 001252 007510 007516 007524 013737 013737 005337 001754 001776 002000 007530 007534 007536 005737 001403 013737 002002 1726 1727 1728 1729 1730 1731 1732 1733 1734 30A(1052) T4 001776 1720 1721 MACYTT 5%: L INC SINOUNI T ;INCR THE TOTAL NO. OF UNITS INC DEC RS RO ;'RHCS2' UNIT ADDRESS sDRIVE COUNTER DOWN ONE MOV SHUNITS,@#UNIT :SET UNIT NO. TO FIRST ONE FOUND/OR 0 DEC A#NUNIT JIF NUNIT = O THEN ONLY ONE UNIT cIF NUNIT > O THEN MORE THAN ONE UNIT Q#SELECT ;STARTING ADDRESS 200 ? BNE 002004 001774 002000 12%: SELTST: 001774 3 27-JUL-78 12:41 PAGE 39 TEST FOR DRIVES PRESENT USING RHAS AND RH(CSZ MOV TST BEQ MOV 48 SJTEST AND DO NEXT UNIT IF 8 NOT DONE S#NOUNIT ,@#NUNIT ;SAVE NO. OF UNITS TSTS ;BRANCH IF STARTING FROM 200 SNUNITSL,QNUNIT ;CHANGE UNIT NUMBER TO SELECTED ONE SEQ 0038 SEQ 0037 CZRJGCO,RPO4/5/6 DSKLS CTRLR1 26-JuL-78 10:10 CZRJGC.P11 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 MACY11 30A(1052) T4 007544 007546 007554 000004 012737 012737 000901 010272 001212 001106 007562 007570 007574 012737 004737 005037 000005 042620 002016 002032 TSTS: M 3 27-JUL-78 12:41 PAGE 40 TEST FOR DRIVES PRESENT USING RHAS AND RHCSZ SCOPE MoV MOV #1,STIMES #1$ ,SLPADR ;.00 1 ITERATION ;.SET SCOPE LOOP ADDRESS MOV JSR CLR #TTNO,a#TSTNM PC,a#CLDISK BNATTENT ;THIS SAVES TEST NUMBER JFILL UNIT NO. ;CLEAR ;*TEST FOR UNIT #0 007600 007604 007606 007612 007616 007620 005737 001022 012700 122710 001015 005737 007624 001012 TST BNE MOV 001774 000041 000011 CMP8B BNE 002002 a#UNIT 10% #41,RO TST #11, (RO) 10$ SHSELECT BNE 108 ;IS UNIT #0 NEXT IN THE UNITS TABLE ? JIF NOT, TEST THIS UNIT ;IF SO, CHECK THE LOAD MEDIA LOCATION JWAS IT AN RP04/5/6 ? sNO...GO AHEAD WITH TESTING UNIT #0 JWAS UNIT #0 SELECTED ? ;(IE. WAS IT A 210 START ?) ;IF SO...TEST IT ;*INCREMENT THE UNITS TABLE TO NEXT DRIVE (IF ANY) ;*8& DECREMENT THE ‘NOUNITS'' PRESENT (TO BE TESTED) 007626 007632 012700 005720 001754 MOV TST #UNITS RO (RO) + 007634 007640 007642 007646 007652 022710 001404 011037 005337 013700 177777 cMp BEQ MOV DEC #-1,(RO) ;LOAD THE UNITS TABLE POINTER JSELECT THE NEXT UNIT IN THE TABLE ; (DOUBLE INCREMENT THE POINTER, RO) ;IS THERE ANOTHER TABLE ENTRY PRESENT ? ANUNIT RO JRO CONTAINS UNIT NO. 001774 001776 001774 10%: MoV 108 (RO) ,@#UNIT @NOUNITS JIF NOT (LOC = =1)...MUST USE UNIT #0 ;SET UP TO BE THE UNIT UNDER TEST ;DECREMENT BECAUSE UNIT # O WONT'T BE TESTED ;*SET UP THE PROPER DEVICE TYPE FLAG 007656 007662 007674 007676 007704 007706 007710 010077 005037 022777 001405 022777 001401 000403 012737 MoV 171754 002036 024022 171770 020022 171760 177777 002036 2%: CLR MP BEQ cMP BEQ B8R MoV RO,aRHCS2 RPO6 #24022 ,aRHDT 2% #20027 ,@RHDT 2% 3% A-1,a#RPO6 007716 116037 004220 007724 007730 007762 007766 007770 007774 010016 104401 000414 013776 104405 104401 000410 007732 017746 001774 007776 171644 002016 SSET IT JASSUME THE NEXT UNIT IS AN RPO4 3s: 007716 ;SET UP UNIT ADDRESS ;CLEAR RPO6 DEVICE TYPE FLAG ;DUAL PORT RPQO6 ? JYES...SET THE FLAG ;SINGLE PORT RPO6 ? JYES..SET FLAG ;NO...DON'T SET RPO6 FLAG MovB ATABLE (RO) ,@#ATT{NT ;SET APPROPRIATE ATTENTION BIT TYPE ,65% ;. TYPE ASCIZ STRING SHUNIT,~(SP) JUNIT NO. TO STACK ;TYPE DRIVE NO. 2. TYPE ASCIZ STRING BR MOV TYPDS TYPE BR MOV 648 ,67% 66% aRHSN, = (SP) ;.GET OVER THE ASCIZ ;.GET OVER THE ASCIZ ;. SAVE @RHSN FOR TYPEQUT SEQ 0039 SEQ 0038 CZRJGCO,RP0O4/5/6 DSKLS CTRLRI CZRJGC.PI1 26-JUL~78 10:10 oo~ ) NN — NO\WDN md — Gt Pt ot st ot P putr o W G U S U U T O 00 00 0o 00 0o 0o 00 0o NOWNESsWNNN=O D d el —t 0 nd e e e 3 ed b ze 222 §008§§3o§ 333 1791 1792 1818 N 3 27-JUL=-78 12:41 PAGE 41 MACY11 30A(1052) TYPE SERIAL NUMBER AND DRIVE TYPE TS5 TYPOC TYPE BR MOV TYPOC 010022 010024 010030 010052 010056 104402 104401 000410 017746 171606 010060 010066 010070 010076 022777 001425 022777 001421 024020 171576 020020 171566 010100 010106 010110 010116 022777 001453 022777 001447 024021 171556 020021 171546 010120 010126 010130 010136 010140 022777 024022 171536 020022 171526 104402 001424 022777 001420 000454 010032 MP ,69% 68% ORHDT ,-(SP) ;.60 TYPE-~OCTAL ASCII(ALL DIGITS) ;. TYPE ASCIZ STRING ;.GET OVER THE ASCIZ ;;SAVE @RHDT FOR TYPEOUT ::G0 TYPE--OCTAL ASCII(ALL DIGITS) BEQ #24020,aRHDT 43 #20020,aRHDT 4% CMP #264021 ,aRHDT CMP #20021 ,aRHDT CMP #26022 ,aRHDT ;DUAL PORT RPO6 ? cMP BEQ #20022 ,aRHDT 5% ;SINGLE PORT RPO6 ? ;TYPE MSG BEQ CMP BEQ BEQ 8EQ B8R ;DUAL PORT RPO4 ? ;TYPE ASCII MSG OuT :SINGLE PORT RPQO4 ? ;TYPE THE MESSAGE :TYPE MSG 6$ :TYPE MSG 1% * ;DUAL PORT RPO5 ? 6% 5% SEQ 0040 SEQ 0039 ;SINGLE PORT RPOS ? :TYPE MSG ;DRIVE [S NOT AN RPQ4/RPQS/RPO6 ;DON'T TYPE THE ASCII MESSAGE - SO ;=SHOULD NEVER HAPPEN AT THIS POINT JUNLESS DRIVE GOT SICK WHILE TESTING 010142 010142 010146 010176 010200 010200 010204 010234 010236 010236 010242 010272 010276 010302 010310 104401 000413 000435 4% 010150 5%: 010206 TYPE BR BR TYPE B8R 6%: 104401 000413 005777 005777 017737 017737 ;WAS 1%: 002012 002010 BR TYPE IN PROGRESS 718 ;. TYPE ASCIZ STRING .73% ;. TYPE ASCIZ STRING 1% ;SKIP NEXT 70% 1% 72% ;.GET OVER THE ASCIZ ;SKIP NEXT MESSAGE ;.GET OVER THE ASCIZ BR 74% .75% ;. TYPE ASCIZ STRING TST TST aRHSN aRHDT ;READ SERIAL NO. AND DRIVE TYPE ;THESE TWO ARE TO HELP SCOPE LOOPS MOV MOV ARHSN,A#SAVSN aRHDT ,a#SAVDT ;;GET OVER THE ASCIZ ;SAVE TO CHECK IF CLR RHCS2 BIT 5 CLEARS ANY BITS ;SAVE TO CHECK IF CLR RHCS2 BIT 5 CLEARS ANY BITS 1847 1848 1849 1850 010466 010472 010554 010560 010562 010566 012737 004737 032713 001551 104401 000421 104401 000424 104401 000430 032713 001375 104401 000435 000006 042620 010000 002032 TST6: #TTNO,Q#TSTNM ;THIS SAVES TEST NUMBER BEQ TST17 :BRANCH IF MOL LOW BR 649 ::GET OVER THE ASCIZ B8R 66% BR 68% ::GET OVER THE ASCIZ L71% :3TYPE ASCI1Z STRING TYPE TYPE 010416 TYPE 010474 010570 MOV JSR BIT 010346 010000 SCOPE 1%: PC,a#CLDISK #MOL ,aR3 ,65% ,67% ,69% BIT B8NE #MOL ,aR3 1% BR 70% TYPE (ZR CZR NN 000004 SEQ 0C41 SEQ 0040 JGIVE INITILIZE ;CHECK MOL IN RHDS1 ;;TYPE ASCIZ STRING ::TYPE ASCIZ STRING :;GET OVER THE ASCIZ ;:TYPE ASCIZ STRING ;CHECK MOL IN RHDS1 ;BRANCH IF MOL IS HIGH ::GET OVER THE ASCIZ AI AN AN PO A AN AN AN N NI NN 1840 1841 1842 1843 1844 1845 1846 010316 010320 010326 010332 010336 010340 010344 010410 010414 B & 30A(1052) 27-JUL-78 12:41 PAGE 42 TYPE SERIAL NUMBER AND DRIVE TYPE TS TN A A AN 1835 1836 1837 1838 1839 MACY11 A AR A A LA LR AAARAIAIALIACAIAIALIA IR IAIAIAIAIAIAIARIRAINIAIRINIAIA CZRJGCO,RPO4/5/6 DSKLS CTRLRI CZRJGC.PI 26-JuL-78 10:10 1851 1852 1853 1854 1855 1856 1857 1858 }gzg 010662 010664 010672 010676 010700 010704 000004 012737 005737 001402 000137 004737 1861 1862 1863 1864 1865 1866 1867 1868 010710 010714 010722 010730 010736 010742 010744 010746 012706 012737 013737 013777 004537 020017 176710 104001 }ggg 010750 000007 002040 001000 000007 001636 001774 042272 011006 }ggg 011002 004537 011010 176700 011012 011014 001476 104001 000207 042272 002032 010744 170700 PRCS2: TST10: 002032 011010 170634 PRCS1: CZR ~ SEQ 0042 SEQ 0041 Pe 4 2 2 2 2 2 2 2 2 % .SBTTL REGISTLR TESTS SCOPE MOV TST BEQ JMP JSR #TTNO,3#TSTNM a¥RH70 308 TST10 PC,a#CLDISK MOV MOV MOV MOV JSR .WORD .WORD ERROR #STACK,SP :RESET STACK #TTNO,I#TSTNM :THIS SAVES TEST NUMBER SHRHCS2 ,a#PRCS2+14 :GET REGISTER ADDRESS QHUNIT.IRHCS2 :MOVE UNIT NO. UNDER TEST RS,BITST ;TEST BITS IN REGISTER 20017 ONLY THESE BITS ARE TESTED FOR READ/WRITE 176710 :ADDRESS OF REG. BEING TESTED 1 ~INCORRECT DATA RECEIVED 2 2 2 2 2 2 2 2 SCOPE MOV MOV MOV MOV #STACK, SP ;RESET STACK #TTNO,I#TSTNM - THIS SAVES TEST NUMBER HRHCS1,a#PRCST1+14 :GET REGISTER ADDRESS SYUNIT.BRHCS2 :MOVE UNIT NO. UNDER TEST 2 2 2 22 2 2 2 2 2 .WORD 1476 SONLY THESE BITS ARE TESTED FOR READ/WRITE 2 1 S INCORRECT DATA RECEIVED 2 RTS 1882 1883 TST?7: 000207 010752 000004 010754 012706 001000 010760 012737 000010 010766 013737 001640 010774 013777 001774 188¢ 002032 010752 0462620 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 C MACr:Y 2)A(7)52) 27-JUL-78 12:41 PAGE 43 T6 CHECK MOL TO BE LOW o CZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.P11 26-JUL-78 10:10 JSR .WORD ERROR RTS PC RS ,BITST 176700 PC ;THIS SAVES TEST NUMBER STEST FLAG FOR RH70 CONTROLLER :IF FLAG = 1, THIS TEST IS SKIPPED JUMP TO NEXT TEST ==mm=m—m—meeceeaca- ) :GIVE INITIALIZE ;RETURN TO BLT3 ROUTINE ;TEST BITS IN REGISTER :ADDRESS OF REG. BEING TESTED :RETURN TO BLT3 ROUTINE 5 : é ¢ < . E g 5 E E g g ¢ 5 < E < 5 4 1_1 E g 5 ['4 D & 110 27-JUL-78 12:41 PAGE 44 RHCS1 - CONTROL AND STATUS 1 REGISTER TST11: SCOPE MACY11 30A(1052) SEQ 0043 SEQ 0042 1887 011016 000004 011020 012706 012737 004737 011024 011032 001000 000011 042620 011036 052777 000020 011044 005077 170572 MOV #STACK,SP JRESET STACK JSR PC,a3#CLDISK JINIT AND SET UNIT NUMBER AND DEVICE ;CPU REG. CORRESPONDENCE (R1-R4) MoV 002032 #TTNO,a#TSTNM ;THIS SAVES TEST NUMBER ;*SET FORCED PARITY ERROR 'PAT' 170572 BIS #PAT ,aRHCS2 CLR aRHER sSET 'PAT' TO INVERT PARITY ; GENERATED JWRITE DCL REGISTER USING BAD CONTROL PARITY ;*WITH THIS PARITY ERROR NOTHING WILL BE READ TILL ;*CLEARED 011137 022737 001406 012737 010137 104001 b FERTEIR2 oo MO (o Yo 3V, 1V, B XV S ONO O b b b d e e —ted emd s e —_,d wd —ad b e wd wd e ) b wd — b ed il elolelololele o] b a-a OO el el —ma3a b 104200 001126 104200 042270 001124 MOV 0, o BEQ MOV MOV ERROR ;RHCS1 --=> $BDDAT aR1,a4$BDDAT #SC!DVA_RDY,a#$8DDAT ;COMPARE RH(CS1 AFTER PARITY :ERROR 1% ;BRANCH IF SC!DVA!RDY=1 #SC!DVA!RDY,a#$GDDAT ,GOOD DATA R1,3#REGADR ;REGISTER ADDRESS RHCS1 1 ;SETTING PAT AND JWRITING DCL REGISTER RHCS1 ;DID NOT SET SC!DVA!RDY OOO00O NV b WN=O D b b d D d d b D d 2 o d b 000 OOV OO0 3 1908 001126 IT IS 011166 013746 052716 012637 011237 023737 001403 010237 104001 001774 000120 001124 001126 001124 001126 001126 000010 001406 012737 010437 000010 042270 2%: cMP S#SGDDAT ,a#$BDDAT ; COMPARE RHCSZ2 2% ;0K - SC!DVA!RDY ARE HIGH BIS MOV MOV MOV CMP BEQ MOV 001124 MOV ERROR 3% 'PAT' BIT HIGH ASUNIT ,-(SP) ERROR 001126 ;WITH MOV BEQ MOV 042270 011437 022737 104001 1%: #PAT! IR, (SP) (SP)+ _a#$GDDAT aR2,a#$BDDAT R2,3#REGADR 1 R4 ,a#SBDDAT HPAR,a#$BDDAT 3% #PAR,a#$GDDAT R4 ,a#REGADR 1 ;GET UNIT NUMBER ;INCLUDE PAT AND IR ;PUT ON STACK ;RH(S2 =-=> $BDDAT JREGISTER ADDRESS ;READING DCL REGISTER RHCS2 DID NOT ;SHOW UNIT#!PAT!IR BITS HIGH ;RHER1 ---> $BDDAT ;ERROR REGISTER RHER1 SHOULD JHAVE °'PAR' SET ;A - OK, IT DOES ;GOOD DATA ;FAILING REGISTER RHER1 ;PARITY ERROR DID NOT JSET 'PAR' AR IR AR N PRI AL RN AL RO NU AN AU A NN NN AN AU N AN N NN AN A NI AN NN N NI N (ZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.PI1T 26-JuL~-78 10:10 011232 011234 011240 011246 011254 011262 011266 011270 011272 011274 001000 000012 001632 001774 042272 MACYT 3?A(1052) 1" TST12: 002032 011224 170420 PRWC(: 000207 000004 012706 012737 013737 013777 004537 177776 176704 104001 000207 E SCOPE MOV MOV MOV MOV JSR .WORD .WORD ERROR RTS 001000 000013 001634 001774 042272 TST13: 002032 011270 170354 PRBA: 4 PAGE 45 27-JUL-78 12:41 RHCS1 - BIT # 13 - MCPE SCOPE MOV MOV MOV MOV JSR .WORD .WORD ERROR RTS #STACK , SP ATTNO,3#TSTNM ;RESET STACK -THIS SAVES TEST NUMBER RS,BITST STEST BITS IN REGISTER 1 *INCORRECT DATA RECEIVED SEQ 0044 SEQ 0043 SHRHWC , 3NPRWC +14 :GET REGISTER ADDRESS :MOVE UNIT NO. UNDER TEST SNUNIT.IRHCS2 177777 176702 PC SONLY THESE BITS ARE TESTED FOR READ/WRITE “ADDRESS OF REG. BEING TESTED *RETURN TO BLT3 ROUTINE #STACK, SP #TTNO,3#TSTNM SRESET STACK - THIS SAVES TEST NUMBER RS,BITST STEST BITS IN REGISTER 176704 1 *ADDRESS OF REG. BEING TESTED “INCORRECT DATA RECEIVED SHRHBA , a#PRBA+14 :GET REGISTER ADDRESS :MOVE UNIT NO. UNDER TEST SIUNIT.@RHCS2 177776 PC “ONLY THESE BITS ARE TESTED FOR READ/WRITE “RETURN TO BLT3 ROUTINE AORUAU RS AR AU AN R N AL AL RNV RV AL NN AN AU NN AN NL RN AN AL NI NN NI AL NI NI RN N NI NN NN WNININ) = =2 O NN OSSNV ONS~OO D b b Puar Gar Puur Qs PONIPNONINININ) — = =2 e —_ phurPar Qe Puar Ghusr S 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 (ololeloleololololale) CZRJGCO,RPO4/S/6 DSKLS CTRLR1 26-JuL~78 10:10 CZRJGC.P11 CZRIGCO,RPO4/5/6 DSKLS CTRLR1 26-JUL~78 10:10 CZRJGC.P11 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 011276 011300 011304 011312 011320 011326 011332 011334 011336 011340 000004 012706 012737 013737 013777 004537 177777 176714 104001 000207 001000 000014 001642 001774 042272 MACY1 3$?§1052) TST14: 002032 011334 170310 PRER1: F 4 27-JUL-78 12:41 PAGE 46 RHBA - UNIJBUS ADDRESS REGISTER SCOPE mMov MoV MOV MOV JSR .WORD .WORD ERROR RTS #STACK,SP JRESET STACK #TTNO,I#TSTNM ;THIS SAVES TEST NUMBER S#RHER1,a#PRERT+14 :GET REGISTER ADDRESS SHUNIT,aRHCSZ2 R5,BITST 177777 176714 1 PC ;MOVE UNIT NO. UNDER TEST ;TEST BITS IN REGISTER JONLY THESE BITS ARE TESTED FOR READ/WRITE ;ADDRESS OF REG. BEING TESTED ;INCORRECT DATA RECEIVED JRETURN TO BLT3 ROUTINE SEQ 0045 SEQ 0044 (ZRJIGCO ,RPO4/5/6 DSKLS CTRLRI CZRJGC.P11 26-JuUL-78 10:10 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 011342 000004 011344 911352 011356 011362 012737 004737 013700 012701 012702 012710 050110 010146 052716 011422 011426 011430 011432 011434 011440 011444 011446 011637 022610 001405 v11037 010037 104001 000241 006101 052701 042701 005302 001351 000015 042620 001660 000001 000005 000001 4 PAGE 47 RHER1 - ERROR REGISTER #i TST1S: SCOPE 002032 1%: 000401 001124 001126 042270 27~-JUL-78 MOV JSR MOV MOV MoV MOV BIS MoV BIS MOV (MP BEQ MOV MOV ERROR 2%: 000400 001000 CLC ROL BIS BIC DEC BNE 2007 2008 SEQ 0046 #TTNO,Q#TSTNM PC,a#CLD]ISK IFRHMR, RO #1.R1 #5,R2 #DMD ,aR0 R1,3R0 R1,-(SP) #DMD ! 400, (SP) (SP) ,a#$GDDAT (SP)+,aR0 2% aR0,$BDDAT ?O.Q#REGADR SEQ 0045 ;THIS SAVES TEST NUMBER sSET UNIT NUMBER AND INIT ;RO HAS MAINTENANCE REG. ADR. ;R1 HAS DATA ;R2 HAS COUNT OF NUMBER OF BITS ;SET DIAGNOSTIC MODE BIT ;SET DATA IN RHMR ;SAVE DATA FOR COMPARES ;INCLUDE BIT O ;SAVE FOR ERROR PRINTOUT :COMPARE DATA ;BRANCH IF GOOD ;BAD DATA JFAILING REG. ADR. JMAINTENANCE REGISTER JFAILED TO SET INDICATED JBITS R1 #4600 ,R1 #BIT09,R1 R2 1% ;CLEAR CARRY ;GET NEXT DATA sSET UNUSED BITS ;CLEAR READ ONLY BIT s COUNT JBRANCH IF 5 BITS NOT DONE ;*NOW FLOAT A 0 011450 011454 011460 011464 011466 012701 012702 012710 050110 020110 001407 010137 011037 010037 b b b 104001 —t md ad 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 G 12:41 T4 MACY11 30A(1052) 000261 006101 042701 052701 005302 001354 000435 000005 000001 3%: 001124 001126 042270 000400 BIS CMP BEQ MOV MOV MOV ERROR 4% 001340 MOV MOV MOV SEC ROL BIC BIS DEC BNE #4635 ,R1 #5.R2 #DMD ,aRO R1,aR0 R1,aR0 4% R1,a#$GDDAT aR0,a#$BDDAT ?O.Q#REGADR R1 ;R1 HAS DATA ;R2 HAS COUNT BITS JSET DIAGNOSTIC MODE BITS ;SET DATA IN RHMR :COMPARE DATA ;BRANCH IF GOOD :GO0OD DATA ;BAD DATA JFAILING REG. ADR. RHMR IMAINTENANCE REGISTER :DOES NOT ALLOW WRITING ; ZEROS ;SET CARRY :GET NEXT DATA #81T0S'BIT06!BITO7BITO9,R1 #1708 ,R1 R2 3% :CLEAR READ ONLY BIT :SET BIT ZEROED BY ROL ;COUNT IF S BITS DONE ;BRANCH IF INCOMPLETE (ZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.P11 26=JuUL~78 10:10 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 011530 000004 011532 011536 011544 011552 011560 011564 012706 012737 013737 013777 004537 017437 011566 011570 011572 001000 000016 001644 001774 042272 MACY11 30A(1052) 002032 011566 170056 27-JUL-78 H 12:41 T15 RHMR - MAINTENANCE TST16: SCOPE PRDST: MOV MOV MOV MoV 176706 104001 000207 JSR .WORD . WORD ERROR RTS &4 PAGE 48 REGISTER #STACK, SP ATTNO,a#TSTNM JRESET STACK " THIS SAVES TEST NUMBER RS,BITST JTEST BITS IN REGISTER 176706 1 ;ADDRESS OF REG. BEING TESTED s INCORRECT DATA RECEIVED #STACK,SP HTTNO,a#TSTNM SJRESET STACK THIS SAVES TEST NUMBER R5,BITST JTEST BITS IN REGISTER @NRHDST ,a#PRDST+14 ;GET REGISTER ADDRESS @FUNIT ,aRHCS2 ;MOVE UNIT NO. UNDER TEST 17437 PC ;JONLY THESE BITS ARE TESTED FOR READ/WRITE ;RETURN TO BLT3 ROUTINE 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 011574 000004 011576 011602 011610 012706 012737 013737 013777 004537 011616 011624 011630 011632 011634 011636 177777 176740 104001 000207 TST17: 001009 000017 001646 001774 042272 002032 011632 170012 PRERZ: SCOPE MOV MOV MOV MOV JSR .WORD .WORD ERROR RTS Q¥RHERZ ,a#PRER2+14 ;GET REGISTER ADDRESS SFUNIT ,aRHCS2 ;MOVE UNIT NO. UNDER TEST 177777 176740 1 PC JONLY THESE BITS ARE TESTED FOR READ/WRITE ;ADDRESS OF REG. BEING TESTED s INCORRECT DATA RECEIVED ;RETURN TO BLT3 ROUTINE SEQ 0047 SEQ 0046 CZRJIGCO,RPO4/S/6 DSKLS CTRLR1 CZRJGC P11 26-JUL-78 10:10 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 011640 011642 011646 011654 011662 011670 011674 011676 011700 011702 00000< 012706 012737 013737 013777 004537 016277 011704 011706 011712 011720 011726 011734 011740 011742 011744 011746 000004 012706 012737 013737 013777 004537 001777 001009 000020 001650 001774 042272 MACY11 002032 011676 167746 30A(1052) SCOPE MOV MOV MOV MOV JSR : PROF 000207 TST21: 167702 PRCA: SCOPE MOV MOV MOV MOV JSR .WORD .WORD EFROR RTS SEQ 0048 SEQ 0047 PAGE 49 1ST20: .WORD . WORD ERROR 002032 011742 & RHERZ - ERROR REGISTER #2 RTS 001000 000021 001652 001774 042272 I 12:41 17 176732 104001 000207 176734 104001 27=-JUL-78 #STACK,SP #TTNO,a#TSTNM S/RHOF ,3#PROF +14 SHUNIT ,IRHCS2 R5,BITST 16277 }76732 PC JRESET STACK sTHIS SAVES TEST NUMBER GET REGISTER ADDRESS sMOVE UNIT NO. UNDER TEST JTEST BITS IN REGISTER JONLY THESE BITS ARE TESTED FOR READ/WRITE ;ADDRESS OF REG. BEING TESTED s INCORRECT DATA RECEIVED JRETURN TO BLT3 ROUTINE #STACK,SP HTTNO,a#TSTNM JRESET STACK RS ,BITST 1777 }76734 ;TEST BITS IN REGISTER JONLY THESE BITS ARE TESTED FOR READ/WRITE ;ADDRESS OF REG. BEIMG TESTED s INCORRECT DATA RECEIVED sTHIS SAVES TEST NUMBER NRHCA ,a#PRCA+14 ;GET REGISTER ADDRESS NO. UNDER TEST IHUNIT ,QRHCS?2 UNIT ;JMOVE PC JRETURN TO BLT3 ROUTINE CZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.P1N 26-JuL-78 10:10 MACY11 3?A(1052) 21 27-JUL-78 J 12:41 4 PAGE 50 RHCA - DESIRED CYLINDER REGISTER SEQ 0049 SEQ 0048 2093 012000 012004 012006 012010 012012 000004 012706 012737 013737 013777 004537 177777 176742 104001 000207 001000 000022 00165¢ 001774 042272 TST22: 002032 012006 167636 PRER3: SCOPE MOV MOV MOV MOV JSR WORD WORD ERROR RTS H#STACK,SP JRESET STA(CK THIS SAVES TEST NUMBER #TTNO,a#TSTNM ANRHER3,a#PRER3+14 GET REGISTER ADDRESS SNUNIT,IRHCSZ ;MOVE UNIT NO. UNDER TEST sTEST BITS IN REGISTER RS,BITST 177777 176742 1 PC JONLY THESE BITS ARE TESTED FOR READ/WRITE ;ADDRESS OF REG. BEING TESTED s INCORRECT DATA RECEIVED JRETURN TO BLT3 ROUTINE ;**OF THE TWENTY REGISTERS (4 IN RH11, 16 IN RPO4) ONLY 12 ARE ;*«CHECKED IN THE ABOVE TESTS ;**TWO ARE ALREADY TESTED (SERIAL NO. AND DRIVE TYPE) ;**THE OTHER 7 WHICH ARE RHDS1, RHLA, RHCC, RHEC1, RHEC1, RHE(2 ;**ARE READ ONLY REGISTERS. ONE OR ZERO CANNOT BE WRITTEN N NANENENENLNE W) 2100 2101 2102 2103 2104 011750 011752 011756 011764 011772 YA N ENE 2095 2096 2097 2098 2099 rororRPNNNNDNNON 2094 CZRJGCO,RPO4/5/6 DSKLS CTRLR1 26-JUL~-78 10:10 CZRJGC P 012014 012016 012022 000004 012706 012737 001000 000023 012030 004737 042620 MACY11 30A(1052) 122 TST23: 002032 K 4 SEQ 0050 SEQ 0049 27-JUL=-78 12:41 PAGE_51 RHER3 - ERROR REGISTER #3 SCOPE MoV MOV #STACK,SP #TTNO,Q#TSTNM SJRESET STACK ;THIS SAVES TEST NUMBER JSR PC,a#CLDISK JHERE IT IS USED TO SETUP HARDWARE/ ;CPU REGISTER CORRESPONDENCE ;R1=RH(CS1 sR2=RH(CS2 sR3=RHDS1 012034 005037 CLR 002006 @FERFLGS sR4=RHER1 cCLEAR ERROR FLAG ;*SIMULATED DISK AREA WILL BE USED AS A TEMPORARY ;*STORAGE T*BLE FOR DRIVES PRESENT DETERMINED FROM 'NED' = 0 IN RH(CS? 005012 012700 012701 005714 032712 001415 005300 001454 1%: MOV MoV #D1SK,R1 #8..R0 cLOAD TABLE POINTER ;LOAD TABLE LOCATION COUNTER CLR aR?2 SSELECT UNIT NO.O (U2!U1!U0=0) MOV #DISK,R1 BIT BEQ DEC BEQ #NED ,aR2 3% RO 3 3 MOV DEC BNE MoV 000010 051422 #8..RO SFILL 8 LOCATIONS WITH =1 ;COUNT DUWN ONE LOCATION ;BRANCH IF 8 NOT DONE JRELOAD TABLE LOCATION COUNTER JRELOAD THE TABLE POINTER aRé SJREAD A DRIVE REGISTER (RHER1) 001640 MOV BIC INC MOV aR2,-(SP) #*C7,(SP) (SP) a#RHCST,R3 ;PUT RHCSZ2 ON THE STACK JMASK ALL BUT THE UNIT NUMBER ;INCREMENT THE UNIT NUMBER ;GET RHCS1 ADDRESS 000100 MOVB #100,aR3 ;ADDRESS UPPER BYTE OF RHCS1 ;SET 'TRE' IN RHCS1 2%: 010000 7%: 10%: TST #-1,(R1)+ RO 1% ;NON EXISTENT DRIVE BIT = 0 ? JYES...DRIVE PRESENT, CHECK THE TYPE SNO...DECREMENT DRIVE COUNT ;CHECK RESULTS IF 8 DRIVES DONE 012124 011246 042716 005216 013703 005203 112713 012130 012612 MOV (SP) +,3R2 JRHCS2 HAS THE INCREMENTED UNIT 012132 000757 BR 2% sTEST FOR NEXT DRIVE 177770 INC R3 ;*CHECK THE UNIT TYPE AND BUILD 012134 012142 012144 012152 022777 001425 022777 001421 024020 167522 020020 167512 012154 012162 012164 012172 022777 001415 022777 001411 024022 167502 020022 167472 3%: ;WITHOUT ADDRESSING DRIVE ;JWITH "NED' CLEARED °'NED' DERIVED UNITS TABLE cMP #24020,3RHDT ;IS THIS A DUAL PORT RPO4 ? MP #20020,3RHDT ;1S THIS A SINGLE PORT RPO4 ? MP #24022 ,aRHDT 8$ #20022,3RHDT BEQ BEQ BEQ (MP BEQ 8% 8% 8% JENTER IN TABLE IF SO JENTER IN TABLE IF SO ;1S THIS A DUAL PORT RPQO6 ? JENTER IN TABLE IF SO ;IS THIS A SINGLE PORT RPO6 ? JENTER IN TABLE IF SO 2/ NN 012060 012062 051422 000010 177777 LAY N N NL N NLNE W] 012701 012700 012721 005300 001374 rorLUNONLND 012040 012044 012050 012054 012056 CZRJGCO,RPO4L/5/6 DSKLS CTRLR1 CZRJGC.P1M 26-JUL-78 10:10 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 L 2211 2212 2213 2214 2215 2216 2217 2218 ;1S THIS A DUAL PORT RP0O5 ? 420021 ,aRHDT ;1S THIS A SINGLE PORT RPO5 ? BR 7% ;NO RPO4& FOUND SO CHECK NEXT UNIT MOV #8..-(SP) RO, (SP) (SP)+,(R1)+ ;LOAD MAX NO. OF DRIVES 012214 000732 012216 012222 012224 012746 012621 MOV 012226 012230 012232 012234 005300 001402 005212 000716 DEC BEQ INC BR 024021 167462 020021 167452 8%: 000010 SUB ;*COMPARE 012236 012242 012244 012246 012250 012252 012254 004037 001754 051422 000010 012256 012304 012422 043514 4%: 8% RO 4% aR?2 2% SJENTER IN TABLE IF SO JENTER IN TABLE IF SO ; (SP) NOW HAS THE PRESENT DRIVE NO. ;LOAD TABLE, INCR TABLE LOCATION & JRESTORE THE STACK TO WHERE IT WAS ;DECREMENT THE DRIVE COUNT JCHECK RESULTS IF 8 UNITS CHECKED sSELECT NEXT UNIT .GO TEST IT °NED’ DERIVED UNITS TABLE WITH THAT DERIVED USING RHAS IN T4 DISK . COMPARE RESULTS .PHER1/RHAS DERIVED DATA J'NED' TEST DATA 13% JRETURN FOR ERROR HEADER JRETURN FOR ERROR DATA JRETURN FOR GOOD COMPARISON (NEXT TEST) JSR UNITS RO, a#COMPAR ;NO.OF WORDS TO COMPARE 8. 5% 6% 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 ggéOZl.aRHDT 022777 001405 022777 160016 SEQ 0051 SEQ 0050 CMP BEQ CMP BEQ 012174 012202 012204 012212 001401 4 PAGE 52 27-JUL-78 12:41 MACY11 30A(1052) 123 CONTROL AND STATUS 2 (RHCS 2) = 'NED’ ;~SPECJAL °'NED'/°'RHAS' TABLE TYPE QUT ROUTINE (BYPASSES .$ERRTYP AND ;*HENCE IGNORES INHIBIT ERROR TYPEOUT SWITCH) 5%: 012256 012260 012264 012270 012274 104022 012703 012701 012702 012137 012300 012237 001126 012304 012312 012314 012322 012324 012330 012334 012340 012342 012343 012344 012350 032777 001043 022737 001413 104401 104401 013746 104403 006 000 020000 166626 177777 001124 104401 062730 012352 104401 062722 000406 000010 001754 051422 001124 14%: 6%: ERROR 22 Mov #8. ,R3 HUNITS ,R1 #DISK,R2 (R1)+,a#$GDDAT MoV (R2) + ,a#$BDDAT BIT #SW13,3SWR 13% #-1,a#$GDDAT 118 JINHIBIT ERROR TYPE OUTS ? JYES...EXIT ;COES RHAS UNIT TABLE LOCATION - =1 ? o#$GDDAT ,-(SP) ;. SAVE a#$GDDAT FOR TYPEOUT ;G0 TYPE--OCTAL ASCII ;;TYPE 6 DIGITS .SPACES8 .SPACES8 062722 062722 001124 6 0 TYPE ;ADDRESS OF RHAS/RHER1 UNITS TABLE ;ADDRESS OF °'NED' RHCS2 UNITS TABLE ;LOAD RHAS UNIT NO.INTO '‘$GDDAT'' AND ;INCREMENT THE TABLE LOCATION ;LOAD 'NED' UNIT NO. INTO ‘‘$BODAT'’ ;8 INCR TABLE LOCATION JYES...DON'T TYPE IT - CHECK °'NED' TABLE ;NO...TAB OVER PC COLUMN ;TAB OVER THE TEST NO. COLUMN ;. SUPPRESS LEADING ZERQS 12% ;SPACE OVER TO THE NEXT COLUMN ;CHECK THE °'NED' UNIT TABLE .SPACES8 ;TAB OVER THE PC ,SPACE?2 118: ;LENGTH OF BOTH UNIT TABLES MOV MOV MoV COMUMN C(ZRJGCO,RPO4/5/6 DSKLS CTRLR1 26-JuL-78 10:10 CZRJGC.P11 2228 2229 2230 012356 012362 104401 104401 062722 062722 012366 012374 012376 012402 012404 012405 022737 177777 012406 012412 012414 012416 012422 001404 013746 104403 006 000 104401 005303 001327 062706 MACY11 3$3§1052) 001126 12%: 001126 001223 9%: 27-JUL-78 12:41 4 SEQ 0052 PAGE 53 SEQ 0051 CONTROL AND STATUS 2 (RHCS 2) - 'NED’ TYPE TYPE .SPACES cMP #-1,3#88DDAT BEQ MOV TYPOS BYTE .BYTE TYPE DEC BNE ADD 000014 M .SPACES8 ;TAB OVER THE TEST NO. COLUMN ;TAB OVER THE RHAS UNIT COLUMN ;DOES 'NED' UNIT TABLE LOCATION - 17 6 O JYES...DON'T TYPE IT ;,SAVE a#$BDDAT FOR TYPEOUT ;.60 TYPE--OCTAL ASCII ;.TYPE 6 DIGITS ;. SUPPRESS LEADING ZEROS .SCRLF R3 14% ;FOR THE NEXT LINE IN BOTH TABLES ;COUNT DOWN 2 TABLES LOCATION COUNTER ;IF NOT = O TYPE OUT NEXT 2 LOCATIONS 9% SHSBDDAT,~(SP) #14,SP ;ADJUST STACK FOR NO ‘POP'' & RTS FROM '‘COMPAR"’ 13%: ;=IN THE ABOVE TEST BITS 0,1,2, AND BIT 12 ARE TESTED :*]F THE 'DRIVES PRESENT'' TYPE OUT DOES NOT AGREE WITH WHAT WAS ;*FOUND USING RHER1 & RHAS, THEN THE ERROR IS IN THE LOGIC J*FOR BIT12(NED), OR UNIT SELECT(BIT O TO 2), OR RHER1, OR RHAS ;*IT IS NOT POSSIBLE BY PROGRAM TO CHECK IF A NON-EXISTENT ;*DRIVE IS REALLY STANDING THERE OR NOT ;*MANUALLY LOAD LOCATION "ERUNIT'' WITH A UNIT NUMBER ;*AND RESTART AT LOCATION 'ERSTAR'' THIS WILL LOOP FOR ;*EVER DOING EXACTLY AS TEST ON THAT ONE UNIT ;*TO GET BACK TO MAIN DIAGNOSTIC HIT HALT SWITCH AND ;*RESTART PROGRAM IN NORMAL MANNER CZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC P11 26~JUL-78 10:10 N & MACY11 30A(1052) 27-JuL-78 12:41 PAGE 54 123 CONTROL AND STATUS 2 (RHCS 2) - °'NED' SEQ 0053 SEQ 0052 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 012422 000004 012424 012430 004737 005037 TST24: SCOPE JSR 042620 002006 CLR PC,a#CLDISK a#ERFLGS ;SE1 REGISTERS AND CLEAR ;CLEAR ANY ERRORS ;*FILL ALL POSSIBLE BITS WITH ONES 012434 012442 012450 012456 012464 012472 012500 012506 012514 012522 012530 012536 012544 012777 012777 012777 052777 012777 012777 012777 012777 012777 012777 012777 012777 012777 012552 012556 012562 052712 013712 012700 177777 177777 177777 157010 001476 177777 017437 177777 016277 177777 177777 000001 177777 167166 167162 167156 167152 167146 167142 167136 167132 167126 167122 167116 167114 167106 MOV MOV MOV BIS #177777.3RHDB #177777.3RHWC #177777.3RHBA #157010 . 8RHCS2 #1476, RHCS1 :RUS ADDRESS REGISTER GETS 177777 :WORD COUNT REGISTER GETS 177777 :3US ADDRESS REGISTER GETS 177777 -CONTROL AND STATUS 2 GETS 157010 _CONTROL AND STATUS REGISTER/GETS 1476 #17437 ,8RHDST :DESIRED SECTOR TRACK #177777.3RHER1 #177777 ,@RHER2 #16277 ,3RHOF MOV MOV MOV 000040 001774 001630 BIS MOV MoV #177777 ,aRHCA #177777.3RHER3 #DMD , 3RHMR #177777 ,3RHMR :ERROR REGISTER1 GETS 177777 :ERROR REGISTER 2 :OFFSET REGISTER :DESIRED CYLINDER :ERROR REGISTER 3 *MAINTENANCE REGISTER MAINTENANCE REGISTER #CLR, aR2 ;CLEAR ALL POSSIBLE BITS #RHDB, RO ;RO CONTAINS ADDR. SHUNIT ,aR2 SREINSTATE UNIT NO. OF ADDR. OF REG. :*DATA BUFFER REGISTER 177777 042270 001126 001124 012566 012574 012600 012604 012612 012614 012737 011037 013037 023737 001401 012616 052712 000040 012622 013712 001774 001124 MOV MOV MoV 001126 CMP BEQ ERROR 104001 2%: #177777 ,a#8GDDAT;GOOD DATA FOR ERROR 3RO, a#REGADR JREGISTER ADDRESS a(RO) +,a#$BDDAT ;TEST DATA a#SGDDAT ,a#$BDDAT; COMPARE GOOD WITH TEST DATA 2% sBRANCH IF GOOD 1 ;JRHDB DID NOT HAVE ALL ONES SAFTER A CLR IN RH(CSZ2 BIS #CLR,3R2 ;SET CLEAR AGAIN BECAUSE [0} A#UNIT,aR2 SREINSTATE UNIT NO. ;READING RHDB AFTER CLEARING JSET DLT SC AND TRE WILL ;*WORD COUNT REGISTER 012626 012634 012640 012646 012650 012737 013037 022737 001402 004737 177777 001126 177777 001124 3s: 001126 MOV MoV CMP BEQ JSR 013434 R177777 ,aN#8GDDAT ;GO0OD DATA FOR ERROR TYPEOUT 8177777 ,aSBDDAT : COMPARE DATA 2(RO)+,3#$8DDAT ;TEST DATA 48 PC ,a#ERCS2C :BRANCH IF GOOD :JUMP TO ERROR FOR CLR (BIT 5) ;*BUS ADDRESS REGISTER 012654 012662 012737 013037 000000 001126 001124 4%: MOV MOV #0,a#$GDDAT ;GO0OD DATA FOR ERROR TYPEOUT a(RO) +,a#$BDDAT ;TEST DATA (ZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC P 26=-JuUL-78 10:10 2323 2324 2325 2326 2327 2328 2329 2330 233 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 012666 012674 012676 022737 001402 004737 000000 MACY11 30A(1052) 8 5 27-JUL-78 12:41 PAGE 55 CONTROL AND STATUS 2 (RHCSZ) = 'CLR’ 001126 CMP #0,a#$BDDAT JSR PC.,a#ERCS2C T24 BEQ 013434 5% : COMPARE DATA ;BRANCH IF GOOD ;JUMP TO ERROR FOR CLR (BIT 5) ;*CONTROL AND STATUS 2 REGISTER 012702 012706 012712 012716 012722 012730 012732 012746 053716 012637 013037 023737 001402 004737 000100 001774 001124 001126 001124 5%: 001126 013434 MoV #100,~(SP) s INCLUDE JSR PC,a#ERCS2C ;JUMP TO ERROR FOR CLR (BIT 5) BIS MOV MOV CMP BEQ IR SFUNIT, (SP) ;SET UNIT NO. (SP) +,a#8GDDAT ;GOOD DATA FOR TYPE OUT a(RO) +,a#$BDDAT ,TEST DATA #$GDDAT ,a#$BDDAT ; COMPARE DATA 6% ;BRANCH IF GOOD ;*CONTROL AND STATUS 1 REGISTER 012736 012744 012750 012756 012760 012737 013037 022737 001402 004737 004276 001126 004276 001124 6%: 001126 MoV #4276 ,3#8GDDAT cMP BEQ #4276 ,3#88DDAT ; COMPARE DATA 7% ;BRANCH IF GOOD MOV JSR 013434 ;GOOD DATA FOR ERROR TYPEOUT d(RO) +,a#8BDDAT ;TEST DATA PC,a#ERCS2C ;JUMP TO ERROR FOR CLR (BIT 5) ;*ERROR 1 REGISTER 012764 012772 012776 013004 013006 012737 013037 022737 001402 004737 000000 001126 000000 001124 7%: 001126 MoV MOV CMP BEQ JSR 013434 #0,3#$GDDAT @ (RO) +,a#$BDDAT #0,a#$8DDAT 108 PC,a#ERCS2C ;GOOD DATA FOR ERROR TYPEQUT ;TEST DATA ; COMPARE DATA ;BRANCH IF GOOD ;JUMP TO ERROR FOR CLR (BIT 5) ;*DESIRED SECTOR/TRACK REGISTER 013012 013020 013024 015032 013034 012737 013037 022737 001402 004737 017437 001126 017437 001124 10%: MOV MoV CMP 001126 BEQ JSR 013434 #17437 ,3#8GDDAT :GOOD DATA FOR ERROR TYPEOUT @ (RO)+,a#$BDDAT ;TEST DATA #17437 ,3#$BDDAT ; COMPARE DATA 11% PC,a#ERCS2C ;BRANCH IF GOOD ;JUMP TO ERROR FOR CLR (BIT 5) ;*ERROR 2 REGISTER 013040 013046 013052 013060 013062 012737 013037 022737 001402 004737 000000 001126 000000 001124 11%: 001126 MOV ;GOOD DATA FOR ERROR TYPEOUT 12% ;BRANCH IF GOOD a(RO) +,a#$BDDAT ;TEST DATA ; COMPARE DATA #0,a#88DDAT JSR PC,a#ERCS2C BEQ 013434 #0,a#$GDDAT MOV cMP ;JUMP TO ERROR FOR CLR (BIT 5) s*OFFSET REGISTER 013066 013074 013100 013106 013110 012737 013037 022737 001402 004737 116000 001126 116000 013434 001124 001126 12%: MOV #116000,a#8GDDAT TM BeQ #116000,a#$8DDAT . COMPARE DATA 13$ ;BRANCH IF GOOD MoV JSR ;GOOD DATA FOR ERROR TYPEOUT a(R0)+,a#SBDDAT ;TEST DATA PC,a#ERCS2C ;JUMP TO ERROR FOR (LR (BIT 5) ;*DESIRED CYLINDER ADDRESS REGISTER SEQ 0054 SEQ 0053 cz czl CZRJIGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.P11 2379 2380 2381 2382 g%gz 26=JuUL-7% 10:10 013114 013122 013126 013134 013135 012737 073037 922737 001402 004737 001777 00112% 001777 MACY11 30A(1052) 001124 sgg% 13%: MOV MOV CMF BEQ 001126 013434 JSR 013142 013150 013154 013162 013164 012737 013037 022737 001402 004737 000000 001126 000000 001124 14%: 00112% 001126 2399 013212 004737 013434 013174 013202 013210 012737 123737 001402 000000 001124 001124 001126 15%: 2401 013216 013224 013230 013236 013240 012737 013037 022737 001402 004737 000400 001126 000400 001124 16S$: 001126 013434 2419 013244 013252 013254 013260 013264 013270 013272 012737 013046 011637 042716 022726 001402 004737 000600 001124 17%: 001126 001100 000600 013434 2634 ;JUMP TO ERROR FOR CLR (BIT 5) @2(RO) +,a#$BDDAT :GET RHAS CONTENTS JSR PC.,a#ERCS2C :JUMP TO ERROR FOR (LR (BIT 5) MOV CMPB BEQ MOV MOV CMP BEQ MOV MOV MOV BIC CMP BEQ JSR #0,a48GDDAT S¥$GDDAT ,a#$BDDAT 16% :GOOD DATA FOR ERROR TYPE OUT :COMPARE FOR RHAS :BRANCH IF GOOD :IN RHCS?2 #400,3#$GDDAT a(R0O) +,a#$BDDAT #400,3#88BDDAT 173 PC.,a#ER(CS2C ;GOOD DATA FOR ERROR TYPEOUT ;TEST DATA ;COMPARE DATA :BRANCH IF GOOD :JUMP TO ERROR FOR CLR (BIT 5) #600,a#$GDDAT a(RO) +,-(SP) (SP) ,a#$8DDAT #VV'PROG, (SP) #600, (SP) + 20% PC.,a#ERCS2C ;GOOD DATA FOR ERROR TYPEOQUT :GET RHDS1 ;TEST DATA ;CLEAR VV AND PROG : COMPARE DATA ;BRANCH IF GOOD :JUMP TO ERROR FOR CLR (BIT 5) JIN RHCSZ2 :*DRIVE TYPE 013276 013304 013310 013316 013320 013737 013037 023737 001402 004737 002010 001126 002010 001124 20$: 001126 013434 24629 2432 2433 PC.,a4ERCS2C :GOOD DATA FOR ERROR TYPEOUT ;TEST DATA :COMPARE DATA :BRANCH IF GOOD :*DRIVE STATUS REGISTER 24620 szs; 2623 2624 2425 2626 gzgg #0,348GDDAT a(RO)+,a#$BDDAT #0,34$8DDAT 15% MOV JSR 52}? 2418 :JUMP TO ERROR FOR CLR (BIT 5) ;*MAINTAINASILITY REGISTER gzg% 2612 2613 2614 2615 2416 2417 PC.,a#ERCS2C :«ATTENTION SUMMARY REGISTER 013037 Szgg MOV MOV (MP BEQ JSR 013434 013170 2604 2605 2606 26407 #1777 ,a#8GDDAT ;GOOD DATA FOR ERROR TYPEOQUT 2 (R0O) +,a#sBDDAT ;TEST DATA #1777 ,a#88DDAT ; COMPARE DATA 148 :BRANCH IF GOOD :*ERROR 3 REGISTER 2395 2400 PAGE 56 COMTROL AND STATUS 2 (RH(CS2) - 'CLR' gggz 2396 2397 2398 12:41 124 %ggz 2387 2382 2359 290 27-JUL-78 (o MOV MOV CMP BEQ JSR SMSAVDT ,a#SGDDAT :GOOD DATA FOR ERROR TYPEOUT a(RO)+,a#8BDDAT ;TEST DATA SHSAVDT ,a#SBDDAT ; COMPARE DATA 21% :BRANCH IF GOOD PC,a#ERCS2C :JUMP TO ERROR FOR CLR (BIT 5) :*SERJAL NUMBER REGISTER 013324 013332 013336 013737 013037 023737 002012 001126 002012 001124 001126 21%: MOV MOV cTMMP A#SAVSN,a#SGDDAT :GOOD DATA FOR ERROR TYPEQUT a(R0) +,a#88DDAT ;TEST DATA SN SAVSN,aNSBDDAT : COMPARE DATA SEQ 0055 SEQ 0054 c2l 2 , : ‘ 2449 2450 2457 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 BEQ JSR 013434 22% PC.,a#ENRCS2C ;BRANCH IF GOOD ;JUMP TO ERRUR FOR CLR (BIT 5) ;*«ECCT1 POSITION 013352 013360 013364 013372 013374 012737 013037 022737 001402 004737 000000 001126 000000 001124 22%: 001126 MOV MOV CMP BEQ JSR 013434 #0,3#$GDDAT 9(RO) +,a#%BDDAT #0,a#$BDDAT 23% PC,a#ERCS2C ;GOOD DATA FOR ERROR TYPEOUT ;TEST DATA ; COMPARE DATA ;BRANCH IF GOOD ;JUMP TO ERROR FOR CLR (BIT 5) ;*ECC2 PATTERN 013400 013406 013412 013420 013422 012737 013037 022737 001402 004737 000000 001126 000000 001124 23%: MoV MOV #0,a#$GDDAT ;GOOD DATA FOR ERROR TYPEOUT a(RO)+ ,a#$BDDAT ;TEST DATA BEQ 248 CMP 001126 JSR 013434 #0,a#$8DDAT ;COMPARE DATA PC.a#ERCS2C ;JUMP TO ERROR FOR CLR (BIT 5) ;BRANCH IF GOOD ; *LOOK-AHEAD REGISTER 013426 24%: 005720 TST (RO) + ;AS THE LOOK-AHEAD REG. JAFTER AN INIT IT CANNOT BE PREDICTED IS NOT CHECKED ;*CURRENT CYLINDER ADDRESS REGISTER 013430 005720 013432 013432 000405 25%: TST (RO)+ ;AS THE CURRENT REG. CANNOT BE PREDICTED JAFTER A INIT IT IS NOT CHECKED BR TST25 ;BRANCH OVER JSR -(RO), Q#REGADR ;FAILING REGISTER ADDRESS ~N be o CZk mrAarAaraZAIALARAIAITAITRIAVCAITAIACNRIIAYA A LAIAIAIAIAIAAINAIAIAIAY 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 001402 004737 SEQ 0056 SEQ 0055 m 2437 2438 013344 013346 D 5 PAGE 57 27-JUL-78 12:41 30A(1052) CONTROL AND STATUS 2 (RHCSZ) = 'CLR' T24 013434 013440 014037 013442 013444 005720 000207 104001 26%: 042270 a 2435 2436 MACY11 A CZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC PN 26-JuUL-78 10:10 ERCSZC: MOV ERROR TST RTS 1 (RO)+ PC ;CLR (BIT 5) IN RHCS2 DID ;NOT CLEAR APPROPIATE BITS ;OR CLEARED EXTRA BITS JUNDO -(RO) FOR BAD DATA JRETURN TO TEST ABOVE 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 251 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 013446 013450 013454 000004 012706 012737 001300 000025 013462 004737 042620 013466 013474 012777 013777 000001 002100 013502 013506 013510 013512 004037 001632 003154 000023 043312 013514 052777 000001 013522 052737 TST25: 002032 166164 SCOPE MoV MOV #STACK,SP #TTNO,a#TSTNM JRESET STA(CK ;THIS SAVES TEST NUMBER JSR PC,a#CLDISK JINIT AND SET UP GENERAL CPU/DEVICE MOV #DMD , aRHMR Mov 166136 QPKACK,38RHCST JREGISTER CORRESPONDENCE AND UNIT NO. ;SET DIAGNOSTIC MODE :LOAD 'PACK ACKNOWLEDGE COMMAND'’ INTO RH(CS1 ;*SAVE REGISTERS FOR COMPARISON AFTER 'GO' IS ISSUED JSR RHW( REINTO RO,a#SAVER 19. 000100 s SAVE ;FROM .70 sNUMBER OF REGISTERS SAVED #GO,aRHCS1 ;ISSUE 'GO* TO PACK ACKNOWLEDGE COMMAND 166116 BIS 003204 ; *CHANGE SAVED REGISTERS TO EXPECTED VALUES BIS #VV ,a4REINTO+30 ;SAVED RHDST ;*AFTER GO HAS BEEN GIVEN TO PACK ACKNOWLEDGE COMMAND :*géVgOzEGISTERS AGAIN SO THAT COMPARISONS CAN 3 013530 013534 013536 013540 013542 004037 001€32 002110 000023 113737 JSR 0433512 RHWC WRFROM RO.,a#SAVER 19. 003201 ; SAVE ;FROM ;NUMBER OF REGISTERS SAVED ;*AS UPPER BYTE OF RHAS CAN BE CHANGING IN A DUAL PORT ;*OPERATION THE UPPER BYTE OF RHAS WILL BE SAVED AS IS ;%SO THAT THE COMPARES ARE ONLY VALID FOR THE LOWER BYTE mMovB SFREINTO+25 ,a#WRFROM+25; SAVE UPPER RHAS 002135 ;*COMPARE REGISTERS BEFORE PACK ACKNOWLEDGE COMMAND ;*WITH AFTER GO 013550 013554 013556 013560 013562 013564 013566 004037 003154 002110 000023 013570 013570 013610 043514 013570 013574 013576 013705 060505 016537 047624 013604 104001 JSR REINTO WRFROM 19. 1% 1% RO.a#COMPAR MOV ADD MOV 4ERWORD RS ;GETTING READY TO INDEX R5.R5 -DOUBLE ERROR WORD RHWC-2 (R5) ,a#REGADR ;FAILING REGISTER ADDRESS ERROR 1 ;NUMBER JRETURN FOR ERROR s SAME 2% 001630 1%: 042270 ; COMPARE .GOOD BUFFER ;TEST BUFFER JRETURN FOR GOOD COMPARISON ; IMPROPER REGISTER CHANGE JAFTER PACK ACKNOWLEDGE JWITH GO IS GIVEN COMMAND CZR ~N po) SEQ 0057 SEQ 0056 AR LA LA IAYALIAIAIAIAIAIAIAIAIAIAIAIAIAIAIAINIAIAIAIAIAIAIADIAINAINI AN NN NN N A 2476 2677 2478 E 5 PAGE 58 27-JUL-78 12:41 MACY11 3$Af1052) CONTROL AND STATUS 2 (RH(CSZ2) = 'CLR’ 24 o CZRJGCO,RPO4/5/6 DSKLS CTRLR] CZRJGC P11 26-JUL-78 10:10 013606 253 013610 T25 000207 PAGE 59 PACK ACKNOWLEDGE COMMAND TEST RTS 2%: 5 PC ;RETURN TO COMPARISON SCONTINUE WITH THE NEXT TEST SEQ 0058 SEQ 0057 W AN N AN gg%g 26~JuL-78 10:10 F 12:41 AT LN AN U CZRJGC.PI1 27-JUL-78 Calt al CAlUA LA U AL ad§ ad Ul Uad LA UATUAL LA LA U U CZRJGCO,RPO4/5/6 DSKLS CTRLRYT MACY11 30A(1052) 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 013610 013612 013616 013624 000004 012706 012737 004737 001000 000026 042620 125 TST26: 002032 G 5 27-JUL-78 12:41 PAGE 60 PACK ACKNOWLEDGE COMMAND TEST SCOPE MOV MOV JSR #STACK,SP #TTNO,a#TSTNM PC.,a#CLDISK JRESET STA(CK ;THIS SAVES TEST NUMBER JINIT AND SET UP GENERAL CPU/DEVICE JREGISTER CORRESPONDENCE ;*FILL ALL POSSIBLE REGISTER BITS WITH ONES 013630 013636 013644 013652 013724 013732 013740 013744 013746 013750 013752 013754 013760 013766 013772 013776 014002 014006 014014 014020 014024 014032 014036 014042 012777 012777 052777 012777 012777 012777 012777 012777 012777 012777 012777 012777 004037 001632 003154 000021 000005 004737 053777 005037 013746 052716 012637 012737 005037 005037 012737 005037 177777 177777 157010 001476 177777 017437 177777 016277 000777 177777 000001 177777 #17437 ,3RHDST :WORD COUNT REGISTER GETS 177777 -BUS ADDRESS RFGISTER GETS 177777 :CONTROL AND STATUS 2 GETS 177430 *CONTROL AND STATUS REGISTER 1 GETS 21476 -ERROR REGISTER1 GETS 177777 -DESIRED SECTOR TRACK MOV MOV MOV #16277 ,aRHOF 4777 ,aRHCA #177777 ,@RHER3 *OFFSET REGISTER ;DESIRED CYLINDER ;ERROR REGISTER 3 MOV #177777 ,8RHMR ;MAINTENANCE REGISTER MOV MOV BIS MOV MOV MOV MOV MOV 165726 165720 #177777.,aRHWC 8177777 .3RHBA #157010.8RHCS2 #1476 ,@RHCS1 #177777 ,aRHER1 #177777 ,3RHER2 #DMD , 3RHMR :ERROR REGISTER 2 JMAINTENANCE REGISTER ;*BEFORE RESET SAVE REGISTERS IN READ INTO BUFFER JSR 043312 RHW( REINTO 17. RO,a#SAVER s SAVE ;FROM .10 ;NUMBER a;gé¥f RESET AND REINSTATE UNIT NUMBER 055176 001774 003156 001774 000100 003160 004276 003164 003170 116000 105037 012737 003176 003200 000400 014050 014054 014060 013746 042716 052716 003204 176777 000700 014064 014070 014074 012637 005037 005037 003204 003212 003214 JSR BIS 165650 PC,a#STKINT IHUNIT ,aRHCS?2 JINITIALIZE TK ; *CHANGE ORIGINAL SAVED REGISTERS TO EXPECTED VALUES AFTER RESET ;CLEAR SAVED RHBA AH#REINTO+2 CLR MOV A#UNIT ,-(SP) JGET UNIT NUMBER FRO SAVED RH(CSZ2 BIS #IR, (SP) MOV #116000,a#REINTO+16 ;SAVED RHOF MoV MOV CLR CLR 0C3162 003172 CLR CLRB MOV 003202 s INCLUDE IR (SP)+ ,@#REINTO+4 SAVED RHCS2 #DVA'!RDY!76,@#REINTO+6 ;SAVED RHCS1 s SAVED RHER1 @MREINTO+10 SHREINTO+14 ;SAVED RHER? a#REINTO+22 ;SAVED RHER3 SNREINTO+24 s SAVED RHAS #400,3#REINTO+26; SAVED RHMR ;*CHANGE RHDS1 WITHOUT CHANGING PROG BIT MOV 8IC 4%: S¥REINTO+30,-(SP) ;GET RHDS1 #~CPROG, (SP) ;CLEAR EVERYTHING EXCEPT PROG ;SET EXPECTED BITS - 'DPR', °'DRY' & ‘'WV' 8IS #700, (SP) MOV CLR (LR (SP)+ ,3#REINTO+30; SAVED RHDS1 aAREINTO+36 ;SAVED RHEC1 SHREINTO+40 ;SAVED RHECZ2 SEQ 0059 SEQ 0058 NN AN N AN NN (N 2535 2536 2537 2538 2539 2540 25461 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 MACY11 30A(1052) LA LA LA LA AN LN LN N N AN LN N N N AN N N NN CZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.P11 26-JuUL~78 10:10 C(ZRJGCO,RPO4/S/6 DSKLS CTRLR1 26-JuL-78 10:10 CZRJIGC.PI 2591 2592 2593 2594 2595 2596 2597 004037 001632 002110 000021 MACY11 30A(1052) 126 27-JuL-78 UNIBUS INIT H 1 2:4 1 TE ST 5 SEQ 0060 SEQ 0059 P AGE 61 ;*AFTER RESET, SAVE REGISTERS FOR COMPARISONS TO BE DONE JSR RO,a#SAVER ; SAVE 043312 RHW( WRFROM ;FROM ;10 ;NUMBER 17. ;*AS UPPER BYTE OF RHAS CAN BE CHANGING IN A DUAL PORT 014120 014124 014126 014130 014132 014134 014136 004037 003154 002110 000021 014140 014140 014160 043514 014140 014144 014146 014154 013705 060505 016537 047624 014156 014160 104001 000207 MOVB 002135 BNREINTO+25 ,a#WRFROM+25; SAVE UPPER RHAS ;*COMPARE REGISTERS BEFORE RESET WITH REGISTERS AFTER RESET JSR REINTO WRFROM RO, a#COMPAR 17. ;NUMBER 1% JRETURN FOR ERROR 1$ ; SAME 2% 001630 1%: 042270 2% ; COMPARE :GOOD BUFFER sTEST BUFFER JRETURN FOR GOOD COMPARISON MOV a#ERWORD ,RS ;GETTING READY TO INDEX ERROR 1 JREGISTER CONTENTS AFTER ADD MOV RTS R5,R5 .DOUBLE ERROR WORD RHWC=-2(RS) ,a#REGADR ,FAILING REGISTER ADDRESS PC ;A RESET THAT IS AN JUNIBUS INITIALIZE CAUSED ;AN IMPROPER REGISTER CHANGE JRETURN TO COMPARISON JRETURN TO POINT ON GOOD COMPARISON NN NN N NN WNAN N 003201 A N N N N N N N AN NN N 113737 LN N AN N N A 014112 ;*OPERATION THE UPPER BYTE OF RHAS WILL BE SAVED AS IS ;%SO THAT THE COMPARES ARE ONLY VALID FOR THE LOWER BYTE 012737 005737 0014602 000137 004737 013746 052716 004737 022637 001403 010237 001000 000027 002040 022737 144200 014254 014256 014262 001403 010137 001122 014264 012711 040000 014270 014274 004737 022737 042224 004200 014302 014304 014310 001403 010137 104011 001122 013746 052716 022637 001403 010237 104011 JSR MOV MOV 001774 014246 014312 014316 014322 014326 014330 014334 JMP 165412 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 100100 BIS JSR CMP BEQ 042224 001712 001122 001774 000100 001712 001122 SCOPE MOV MOV TST BEQ 042620 014216 014222 014226 014232 014236 014240 014244 104011 002032 014336 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 104011 TST127: MOV ERROR 001714 1%: 2%: 001714 SEQ 0060 SILO TCSTS #STACK,SP #TTNO,a#TSTNM JRESET STA(K ;THIS SAVES TEST NUMBER PC,CLDISK ;CLEAR DISK AND LOAD R'S S¥RH70 30% TST30 ;TEST FLAG FOR RH70 CONTROLLER ;IF FLAG = 1, THIS TEST IS SKIPPED JJUMP TO NEXT TEST ====-=esscecccoo—-- ) @RHDB,RO adUNIT ,-(SP) #DLT!IR, (SP) FC,a#PUTREG JREAD FROM EMPTY SILO ;JGET UNIT NO. IN 1% ;1F (SP)+,a#(S?2 RZ,a#$BDADR 1M ;GET DATA LATE BIT AND ;SAVE REGISTERS [R ;1S DATA LATE BIT UP? YES BRANCH ;IF NOT STORE FAILING REG. JRHCSZ DID NOT HAVE DLT JRHCS2 SHOULD HAVE ONLY ;DLT AND UNIT NUMBER (BIT 0-2) JALL OTHER BITS SHOULD ;BE 0 CMP #SC.TRE.RDY.DVA,a#(CS1 MOV BEQ ERROR 2% R1,a#$BDADR 11 MOV #TRE ,aR1 JSR CMP PC.,a#PUTREG #RDY 'DVA,a#(CS1 JONE INTO TRE IN RH(CS1 ;SAVE REGISTERS ;SELOBITS BUT RDY AND DVA SHOULD BEQ 3% R1,a#$8DADR 11 ;BRAN"H IF YES JSTORE FAILING ADDRESS JAFTER A ONE IN TRE ONLY MOV ERROR 3%: SEQ 0061 MoV BIS (MP BEQ MOV ERROR a#UNIT,-(SP) #IR, (SP) (SP) +,a#(CS?2 TST730 R2.a#$BDADR 1 ;IS SPECIAL CONDITION, ;AND READY UP? TRANSFER ERROR ;IF YES BRANCH ;1F NOT STORE FAILING REG. JRHCST DID NOT HAVE SC, DVA ;TRE AND RDY. AFTER A JREAD FROM EMPTY SILO ONLY ;THESE BITS SHOULD BE UP JALL OTHERS SHOULD BE 0 ;CLEAR ERROR BITS BY MOVING :READY AND DVA SHOULD BE SET IN JRHCS1 JRHCSZ2 SHOULD HAVE IR AND UNIT ONLY ;BRANCH IF YES :STORE FAILING ADDR JAFTER A ONE IN TRE ONLY O N N N N A A 000004 012706 5 PAGE 62 N A 014160 014162 014166 014174 014200 016202 014206 I 12:4 1 UNIBUS INIT TEST .SBTTL 632 014212 017700 | 2633 2644 126 27=-JUL-78 N N N N AN N N AN NN N A N O 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 MACY11 30A(1052) A LA A N N N U LA A N N N L (ZRJIGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.P 26-JuUL-78 10:10 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 014336 014340 014344 0146352 014356 014360 014364 000004 012706 012737 005737 001402 000137 004737 014370 014374 014400 014404 014410 014412 014416 013746 052716 004737 022637 001403 010237 014420 014424 014432 014440 014442 014444 014446 014452 014456 014462 014466 014470 014474 104011 005077 012777 013737 104415 000000 000200 013746 052716 004737 022€37 001403 010237 104011 001200 000030 002040 TST30: 002032 001774 000100 042224 001712 MOV 001122 165204 177777 001636 SCOPE MOV MOV TST BEQ JMP JSR 014564 042620 165176 014442 1%: 3%: J 12:41 a¥RH70 30% TST31 ;TEST FLAG FOR RH70 CONTROLLER ;IF FLAG = 1, THIS TEST IS SKIPPED JJUMP TO NEXT TEST ==--—eeececccco——-- PC,CLDISK IR MoV WAT .WORD OR MOV BIS JSR CMP BEQ MOV ERROR ;THIS SAVES TEST NUMBER ;CLEAR REGISTERS LOAD R'S @HUNIT,~(SP) ERROR CLR SEQ 0062 SEQ 0061 JRESET STACK #TTNO,d#TSTNM #IR,(SP) MOV 5 PAGE 63 H#STACK,SP BIS JSR MP BEQ MOV 2%: P(C,a#PUTREG %iP)*.SICSZ ;SAVE REGISTERS ;IR SHOULD BE SET 'OR'' RESET R2,a#$8BDADR sFAILING REGISTER RH(CS2 aRHDB #-1,aRHDB a#RHCS2, 328 JRHCS2 DOES NOT HAVE IR sSET, UNIT NO. SET AND JALL OTHER BITS O ;LOAD DATA BUFFER (SILO) WITH 0 ;LOAD SILO WITH ALL ONES ;ADDRESS OF RHCSZ2 ;WAIT TRAP ;ADDRESS OF RH(CSZ2 SHUNIT - (5P) : R2,a#$B8DADR " 001124 CMP BEQ CLR aRHDB,RO aRHDB,R5 #0.RO 5% a#$GDDAT :SAVE RHCS2 ADDR. FAILING REG. ;"OR"' IN RH(CS2 SHOULD BE ;SET TOGETHER WITH IR AND JUNIT NO. ;SAVE SILO DATA SHOULD BE 0 ;SAVE SILO DATA SHOULD BE ALL 1 MOV MoV RO, a#$BDDAT ;BAD DATA CMP BEQ #-1,RS ;SECOND WORD ALL ONES? #-1_a#SGDDAT .GOOD DATA 001774 000300 042224 001712 001122 165126 165122 014476 014502 014506 014512 014514 017700 017705 022700 001410 005037 014520 014524 014532 010037 013737 104001 001126 001630 014534 014540 014542 014550 014554 014562 022705 001411 012737 010537 013737 177777 104001 27-JUL-78 MACY11 30A(1052) SILO TST 1 127 4%: 000000 177777 001126 001630 042270 ERROR 5%: 001124 042270 MOV MOV MOV MOV MoV ERROR #OR'!IR,(SP) PC.,a#PUTREG £§P>+.a#csz ;IR AND 'OR"’ ;SAVE REGISTERS ;IR AND 'OR'‘' SHOULD BE SET ;FIRST WORD 0? XYZ DO MORE TEST JBRANCH IF YES .GOOD DATA a#RHDB,3#REGADR ;SAVE RHDB FAILING REG. 1 ;SILO DID NOT HAVE THE FIRST WORD ;'0"" WHEN 'OR'‘ WAS SET TST31 sBRANCH IF YES RS ,a#$BDDAT ;BAD DATA a#RHDB, d#REGADR ;SAVE RHDB FAILING REG. 1 ;SILO DID NOT HAVE THE SECOND JWORD OF ALL ONES WHEN ‘DR JWAS SET CZR. CZR. N O U U TON TUN U TUNTURTUR ORI UNTUNTONTUN O [OXTUNTUN TV TUNTONTON OO OO LU U [P VRV TV IV IO IV LWV IV VTV TV TV VLWL T T SVl SV d L L L V) (ZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.P11 26-JUL-78 10:1C CZRJGCO,RPO4/S5/6 DSKLS CTRLR1 CZRJGC.P1T 26-JUL-78 10:10 2723 2724 2725 2726 2727 2728 S;%g 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 014564 000004 014566 014574 014600 014602 012737 005737 001402 000137 000931 002040 014606 014612 014616 014620 014622 014624 014630 014632 014636 014642 014644 014646 014650 014654 014660 014664 014670 014672 014676 014700 014704 014710 014714 014720 014722 014724 014730 014734 014736 014740 014742 014746 014752 014760 014764 014766 014770 014772 012700 012705 005020 005305 001375 004737 005000 012705 010077 005200 005305 001373 013746 052716 004737 022637 001405 010237 104011 005037 012700 012705 017720 005305 001374 012700 012705 005046 021620 001425 014037 011637 013737 005737 001002 104012 000401 104013 MACY1 30A(1052) T30 TST31: 27-JUL-78 SiLO TEST 2 SCOPE K 12:41 5 PAGE 64 SEQ 0063 SEQ 0062 MOV TST ;THIS SAVES TEST NUMBER ;TEST FLAG FOR RH70 CONTROLLER 015024 BEQ JMP #TTNO,a#TSTNM @#RH70 051422 000103 MOV MOV #S1LOTB,RO #67.,RS ;TABLE POINTER s COUNTER RS 1% ; COUNT ;BRANCH IF NOT COMPLETELY CLEAR MOV RO #66. RS s COUNT INC RO 002032 1%: 042620 000102 164766 2%: CLR DEC BNE JSR CLR MoV DEC 001774 000200 042224 001712 002006 051422 000102 164710 3%: 4% 051422 000102 5%: 001126 001124 001630 002006 042270 6%: (RO) + PC.a#(CLDISK RO, aRHDB RS BNE MOV BIS JSR 2% @#UNIT,=(SP) #0R, (SP) PC.a#PUTREG BEQ MOV ERROR CLR 3% R2,a#$BDADR 11 a#ERFLGS ;JIF FLAG = 1, THIS TEST IS SKIPPED sJUMP TO NEXT TEST ==e=-=e-ee—ccocoo-- ;CLEAR TOTAL TABLE ;CLEAR ALL REG. ;LOAD SILO WITH COUNT FROM O TO 65 sNEXT COUNT ;1S 66 LOADS DONE? ;BRANCH IF NOT. ;SAVE REGISTERS (SP) +,a#(CS2 ;"OR’* SHOULD BE SET IR RESET MOV #SI1LOTB,RO ;POINTER BNE MOV 4% #SILOTB,RO CMP 001122 30% TST32 MOV MoV DEC MOV CLR CMP BEQ MOV MOV MoV TST BNE ERROR BR ERROR #66. ,R5 aRHDB, (RO) + RS #66. RS ~(SP) (SP), (RO) + 7% -(RO) ,a#$8DDAT (SP) ,a#$GDDAT ~ a#RHDB,J#REGADR a#ERFLGS 6% 12 648 13 cBRANCH IF YES ;SAVE RHCSZ2 ADR. FAILING REG. :2'OR'' WAS NOT SET, IR WAS NOT JRESET AFTER SILO WAS FULL ; COUNTER sREAD SILO s COUNT ;BRANCH IF 66 NOT DONE ;POINTER ;BRANCH IF GOOD ;BAD DATA ;GOOD DATA ;FAILING REG. RHDB ;IS THIS FIRST ERROR? ;IF NOT BRANCH ;THESE TWO ERROR CALLS ARE FOR ;BRANCH TO AVOID PRINTING NEXT ERROR ;THE SAME TYPEOUT. SILO JHAD A COUNT WRITTEN IN. ;ON READ OUT AN ERROR WAS ;DETECTED. THE TOTAL SILO sREADOUT IS IN LOCATION ;J"'SILOTB'' TO THE NEXT 65 014774 005720 014776 015002 017746 042716 64%: 164136 177577 TST (RO) + MOV dSWR, = (SP) BIC sWORDS. ; INCREMENT (RO) ;ARE FURTHER COMPARES TO ;BE DONE #~(CSWO7!SWO8, (SP) ;ONLY KEEP SW7 AND Sw8 CZRJGCO,RPO4/5/6 DSKLS CTRLR1 26=JUL~-78 10:10 CZRJGC P11 2779 2780 2781 2782 2783 2784 015006 015012 015014 015016 015020 015022 022726 001403 005216 005305 001346 005726 000200 MACY11 30A(1052) 31 27-JUL~78 SILO TEST 3 (MP BEQ INC DEC BNE TST #8U07,(SP)¢ 5 PAGE 65 JTEST SWO7 ;IF NO MORE COMPARE THEN BRANCH sNEXT GOOD WORD ;BRANCH IF 66 NOT COMPLETE JPOP STACK SEQ 0064 SEQ 0063 CZRJIGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC P11 26-JuL-78 10:10 MACY11 30A(1052) 27-JUL~-78 SILO TEST 3 31 m 12:41 S PAGE 66 SEQ 0065 SEQ 0064 2785 002032 TST32: 1%: 164546 000103 2%: 042224 032737 001003 010237 104011 017737 012737 023737 001404 013737 104012 100000 001712 0011.2¢ 164510 000001 001124 001126 001124 001126 001630 042270 #TTNO,a#TSTNM HRH70 308 TST33 PC,a#CLDISK ;TEST FLAG FOR RH70 CONTROLLER JIF FLAG = 1, THIS TEST IS SKIPPED JJUMP TO NEXT TEST ======s-eeeco——o--;CLEAR DISK REG. CLR INC RO RO ;CLEAR RO JADD 1 cMP BEQ BR JSR #67.,R0 2% 1% PC,a#PUTREG 267 DONE? JBRANCH IF YES sNO SO BRANCH ;SAVE REGISTERS BIT BNE MOV ADLT,anCS2 3% R2,3#$BDADR MOV MOV CMP BEQ MOV ERROR aRHDB,a#$BDDAT ; INPUT TO SILO #1,343GDDAT . GOOD DATA a#SGDDAT ,a#$8DDAT ; COMPARE TST33 ;BRANCH IF GOOD a#RHDB,a#REGADR ;FAJLING REG. RHDB 12 ;WORD IN RHDB CHANGED JAFTER THE 67TH INPUT. TST BEQ JMP JSR 015150 042620 015052 SCOPE MOV 3%: MOV ERROR RO,aRHDB 11 ;THIS SAVES TEST NUMBER sLOAD SILO JDLT SET? ;BRANCH IF YES JFAILING ADDRESS RH(CS?Z ;DATA LATE DID NOT SET AT 67TH. 1 aft as 000032 002040 [N T) 015024 015026 015034 015040 015042 015046 NN N NN N N AN 2786 2787 2788 2789 (ZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.P1 26-JuUL-78 10:10 2814 2815 2816 2817 2818 015159 000004 2819 2820 2821 2822 2823 015152 015160 015164 015166 015172 012737 005737 001402 000137 004737 000033 002040 2825 2826 2827 2828 2829 2830 2831 V15176 015202 015206 015212 015216 015220 015224 013746 001774 2833 2834 2835 015226 015232 015234 013700 005001 010110 2837 2838 2839 2840 2841 2842 2843 2844 2845 2846 2847 2848 2849 2850 2851 015236 015240 015244 015246 015254 015256 015269 015252 015266 015272 015276 015302 015306 015310 015314 005201 022701 103373 004737 013746 052716 004737 022637 001403 010237 042620 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 015316 015322 015326 015330 015332 015334 015336 015342 015344 015350 015352 001630 0C0004 2866 015370 013700 012710 011201 011005 011003 011204 032701 001424 022705 001410 010037 012737 010537 2868 015372 132 27~JUL-78 SILO TEST4 TST33: SCOPE MACY11 30A(1052) 002032 000100 042224 001712 104415 000000 000200 104011 104001 005703 PC,a#CLDISK ;CLEAR DISK MoV BIS JSR SHUNIT ,-(SP) #IR, (SP) PC,a#PUTREG ;GET UNIT NO. sSET INPUT READY ;SAVE REGISTERS BEQ 1% ;BRANCH IF GOOD (SP) +,a#CS2 ;JR SHOULD BE SET 'OR'' CLEARED 1%: MOV a#RHDB,RO 2%: MoV R1,aR0 R1 #4 ,R1 2% avRHCS? a4 3% 3s: INC CMP BHIS MoV WA T Wwone OR JSR MOV BIS JSR BEQ 4% ;BRANCH IF GOOD MOV MOV MOV MOV a#RHDB, RO #4 ,aR0 JLOAD & IN SILO 015256 001774 000100 042224 001712 CLR cMP MOV ERROR 001122 4% MOV MOV BIT 000200 BEQ 000004 042270 000004 001126 JSR JTEST FLAG FOR RH70 CONTROLLER JIF FLAG = 1, THIS TEST IS SKIPPED JJUMP TO NEXT TEST ===s-cscmccmcescee- R2.a#$8DADR 11 000004 001636 ;THIS SAVES TEST NUMBER MRH70 30% 1ST34 MOV ERROR 001122 013737 SEQ 0066 SEQ 0065 #TTNO,a#TSTNM CMP 001630 5 PAGE 67 MoV TST BEQ JMP 015450 042620 N 12:41 001124 0 PC,a#CLDISK SHUNIT ,-(SP) #IR, (SP) PC,a#PUTREG (SP)+,a#(CS2 R2,a#$BDADR 11 aR2,R1 @RO,R5 aR0O,R3 aR2,R& #OR,R1 6% JAND ALL OTHER BITS 0 ;RO HAS RHDB ADDRESS ;DATA ;0, THEN 1 ;IN RHDB THEN 2 THEN 3 ; INCREMENT DATA ;1S 4 DONE :BRANCH IF NOT ; ;WAIT FOR 'OR"' JRHCS2 ADDRESS ;WAIT ON OR. ;CLR IN RH(CS2 JUNIT NO. ;SAVE REGISTERS ;IR SHOULD BE SET '0'"-0 ;FAJILING REGISTER RHCS? JRHCS2 DOES NOT HAVE IR SET JAND ALL OTHER BITS 0 ;RO HAS RHDB ADDRESS ;SAVE RH(CSZ JREAD THE 4 IN SILO JREAD SILO TO GET DLT ;SAVE RHCS2 ;TEST FOR OR IN RHCS? ;IF OR IS NOT SET BRANCH g?z gg.RS ;SILO 4 IS NOW COMPARED MOV MOV RO,a#REGADR 44,4 $GDDAT ;SILO ADDRESS 2GOOD DATA TST R3 ;JPUT IN AFTER "OR'' WAS UP ;IS IT ZERO BECAUSE SILO MOV ERROR 5%: R1 JFAILING REGISTER RHCS2 JRHCS2 DOES NOT HAVE IR SET RS5,a#$BDDAT 1 ;BAD DATA ;SILO DID NOT CONTAIN WORD ;1S DESTRUCTIVE READ (ZRJGCO,RPO4/5/6 DSKLS CTRLR1 26-JUL~78 10:10 CZRJGC.P1 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 015374 015376 015402 015406 015412 015414 015420 015422 015426 015432 015436 015442 015446 001407 010037 005037 010337 104001 100000 010237 001774 100300 001124 001126 042270 104001 733 27-JuL-78 SILO TEST 5 BEQ MOV CLR MOV ERROR 042270 001124 001126 032704 001013 013746 052716 012637 010437 MACY11 30A(1052) 6%: B 12:41 6 PAGE 68 63 RO, a#RCGADR SHSGDDAT R3,a#$BDDAT 1 BIT #DLT R4 MOV BIS MOV MOV MOV ERROR QFUNIT,-(SP) #DLT!OR!IR,(SP) (SP)+,a#%GDDAT R4, a#$BDDAT R2,¥REGADR 1 BNE TST34 JBRANCH [F GOOD ;SILO ADDRESS ;GOOD DATA ;BAD DATA ;SILO SHOULD BE ZERO JAFTER THE ONE WORD PUT SEQ 0067 SEQ 0066 IN ;HAS BEEN TAKEN OUT AS ;SILO IS A DESTRUCTIVE READ H ;JBRANCH IF DLT SET ;GET UNIT NO ; ;GOOD DATA :BAD DATA ;RHCS2 ADDRESS ;DATA LATE ERROR 2 €z (ZRJIGCO,RPO4/5/6 DSKLS CTRLRI CZRJGC.P1 26-JuL-78 10:10 2886 2887 2888 2889 2890 2891 2892 2893 015450 000004 015452 015460 015464 012737 005737 001402 000137 012706 004737 000034 002040 012711 010146 005216 112736 011137 022737 001406 012737 010137 003566 015466 015472 015476 015502 015506 015510 015512 015516 015522 015530 015532 015540 015544 015546 015552 015556 015564 015566 015574 015600 015602 104001 112711 011137 022737 001460 012737 010137 104001 000137 MACY11 30A(1052) 27-JUL-78 133 SILO TEST 5 .SBTTL MORE REGISTER TESTS TST34: SCOPE 002032 006766 042270 000032 001126 006632 006632 042270 015726 MOV TST35 K#STACK,SP MOV MOV INC mMovB MOV CMP BEQ 001124 MOV MOV 1%: 001126 001124 SEQ 0068 SEQ 0067 PAGE 69 #TTNO,a#TSTNM JSR 001126 6 MOV TST BEQ JMP 015606 001000 042620 000005 001126 006766 c 12:41 ;THIS SAVES TEST NUMBER a¥RH70 30% JTEST FLAG FOR RH70 CONTROLLER JIF FLAG = 1, THIS TEST IS SKIPPED PC.CLDISK ;CLEAR DISK REG. JJUMP TO NEXT TEST ==c=cev—ec——————--JRESET STA(CK #3566,aR1 ;LOAD RHCS1 WITH ANY NUMBER R1,-(SP) ;GETTING READY TO FORM ODD BYTE (SP) ;SP NOW HAS ODD BYTE FOR RHCS1 #5,3(SP)+ sMOVE 5 INTO ODD BYTE FOR RH(CS1 aR1,a#$BDDAT ;TEST DATA #2566!DVA!RDY,a#$BDDAT ;RHCS1 SHOULD HAVE 6766 18 ;BRANCH IF GOOD #2566 !DVA'RDY,a#$GDDAT ,GOOD DATA ERROR R1,34REGADR 1 MOVB MOV #32,aR1 aR1,a#SBDDAT ;MOVE INTO EVEN BYTE ;. TEST DATA MOV MOV #2432 !DVA!RDY ,a#$GDDAT TST36 ;DO NEXT RH11 TEST IF GOOD ~==============m R1,34REGADR ;FAILING REGISTER RHCS1 CMP BEQ ERROR JMP sFAILING REGISTER RH(CS1 sMOVING A NUMBER INTO ;0DD BYTE OF RHCS1 GAVE ;WRONG RESULTS #2632 'DVA!RDY,a#$BDDAT ;RHCS1 SHOULD HAVE 6632 1 *ST36 ,GOOD DATA :MOVING A NUMBER INTO EVEN :BYTE OF RHCS1 GAVE WRONG SRESULT :SKIP RH70 TEST ====m===eeemmmememe—eee cz! czi CZRJGCO,RPO4L/S5/7€ DSKLS CTRLR1 CZRJGC.P11 26=JuUL-7 8 10:10 2925 2926 2927 2928 2929 2930 2931 2932 2933 2934 2635 2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 2953 2954 2955 2956 D 6 PAGE 70 27-JUL~78 12:41 MACY11 30A(1052) TEST ODD BYTE INSTRUCTION ON RH(CS1 = RH1 T34 TST35: 015606 000004 015610 015616 015622 012737 012706 004737 000035 001000 042620 015626 015632 015634 015636 015642 012711 010146 005216 003566 112736 000005 001126 015646 015654 015656 015664 015670 022737 001406 012737 010137 004766 001126 004766 042270 001124 011137 104001 002032 SCOPE MOV (0} #TTNO,I#TSTNM ;THIS SAVES TEST NUMBER JSR #STACK, SP PC,CLDISK MoV MoV #3566,aR1 R1,-(SP) ;LOAD RHCS1 WITH ANY NUMBER ;GETTING READY TO FORM 0ODD BYTE INC MovB MoV CMP BEQ MOV MOV ERROR (SP) #5,9(SP)+ aR1,a#$BDDAT JRESET STA(CK ;CLEAR DISK REG. ;SP NOW HAS ODD BYTE FOR RHCS1 ;MOVE 5 INTO ODD BYTE FOR RH(CS1 ;TEST DATA #566!DVA!RDY ,a#$BDDAT ;RHCST SHOULD HAVE 4766 1% .BRANCH IF GOOD #566'DVA!RDY ,a#$GDDAT ;GOOD DATA R1,3#REGADR 1 sFAILING REGISTER RHCS1 ;MOVING A NUMBER INTO ;0DD BYTE OF RHCS1 GAVE ;WRONG RESULTS 015672 015676 015702 015710 015712 015720 015724 112711 011137 022737 001406 012737 010137 104C01 000032 001126 004632 004632 042270 1%: 001126 001124 MOVB MOV CMP BEQ MOV MOV ERROR #32,3R1 aR],a#$BDDAT ;MOVE INTO EVEN BYTE ;TEST DATA #6432 DVAIRDY ,a#$BDDAT ;RHCS1 SHOULD HAVE 4632 TST36 . ;BRANCH IF GOOD #4632 'DVA'RDY ,a#$GDDAT R1.,a4REGADR 1 ;GOOD DATA JFAILING REGISTER RH(CS1 :MOVING A NUMBER INTO EVEN ;BYTE OF RHCS1 GAVE WRONG JRESULTS SEQ 0069 SEQ 0068 CZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC PN 26=-JuUL-78 10:10 015726 000004 015730 015736 015742 015744 015750 012737 005737 000036 002040 004737 015754 015760 015762 015764 015766 015772 015776 016002 052712 010246 005216 105036 013746 052716 011237 022637 016006 016010 016016 016024 016030 001411 013737 052737 010237 016032 016036 016042 013746 052716 052712 016046 016050 016054 016060 016064 016070 112612 013746 052716 011637 011237 022637 01774 020110 001124 001126 001126 016074 016076 016102 001403 010237 042270 104001 104001 MACY11 T35 E 6 PAGE 71 27-JUL-78 12:41 TEST ODD BYTE INSTRUCTION ON RHCS1 = RH70 TST36: SCOPE 30A(1052) #TTNO, a#TSTNM 016104 042620 MOV TST BEQ JMP JSR 177000 BIS #177000, (R2) R2,-(SP) :LOAD RHCS2 ‘GETTING READY FOR ODPD BYTE SFUNIT, -(SP) #IR, (SP) -GET UNIT NO. LINPUT READY AS IT 002032 MOV INC CLRB 001774 000100 MOV 001126 MP BIS 001126 001774 000100 042270 001774 000010 020000 MoV BEQ 001124 001124 1%: PC,a#CLDISK ‘GIVE 30% TST37 (SP) a(SP)+ aR2,aN#SBDDAT (SP) + ,a#$BDDAT 18 IR, R2, 1 a#$GDDAT MOV MOV SFUNIT, #BAL, -(SP) (SP) BIS BIS MovB MOV BIS MOV MOV 0 o BEQ MOV ERROR TEST NUMBER aRH70 SNUNIT, a#SGDDAT ERROR SAVES ‘TEST FLAG FOR RH70 CONTROLLER MOV BIS ;THIS SEQ 0070 SEQ 0069 #UPE ,aR?2 (SP)+, “IF FLAG = 1, THIS TEST IS SKIPPED TJUMP TO NEXT TEST =-ce-mcetcmmmcamaaINIT & SETUP REGISTER CORRES “SP NOW HAS ODD BYTE FOR RHCS2 *CLERR RHCS2 ODD BYTE ;TEST DATA ;COMPARE TO SEE IS SET THAT ;"'CLRB'" DID CLEAR ;GOOD DATA @¥REGADR ;FAILING REGISTER RH(S? ;CLEARING ODD BYTE OF RHCS? ;GAVE WRONG RESULTS oaR?2 SHUNIT, =(SP) ;HAVE UPE AND MPE IN RH(S? ;BESIDES UNIT SELECT ;MOVE INTO EVEN BYTE OF RH(CS? #UPE ! IR!BAI, (SP) (SP), a#$GDDAT ;GOOD DATA sTEST DATA aR2,aNSBDDAT (SP)+,a#$BDDAT ;COMPARE TO SEE 1ST37 R2,3¥REGADR 1 THAT MOVB DID JMOVE EVEN BYTE ONLY ; ;BRANCH IF GOOD ;FAILING REGISTER RHCS? JMOVING A NUMBER INTO EVEN ;BYTE Of RH(CSZ2 GAVE WRONG JRESULTS Czt czt CZRJIGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.P11 26=JUL-78 10:10 2999 3000 %88} 016104 000004 3003 3004 3005 016106 016114 016120 012737 012706 004737 3008 016134 010446 3006 3007 3009 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3021 3022 3023 3024 016124 016130 016136 016140 016144 016150 016156 016160 016166 016172 016174 016200 016204 016212 016214 016222 016226 013704 012714 005216 112736 011437 022737 001406 012737 010437 104001 112714 011437 022737 001406 012737 010437 104001 F TST37: 000037 001000 042620 002032 001632 025252 177652 042270 000123 001126 177523 177523 042270 001124 1$: 001126 001124 CZF CZF MoV MOV JSR #TTNO,a#TSTNM #STACK,SP PC,CLDISK ;THIS SAVES TEST NUMRER JRESET STA(K ;CLEAR DISK REGISTERS : : : MOV R4, ;GETTING READY TO FGRM 0ODD BYTE : INC mMovB MoV CMP BEQ MOV MOV ERROR 001126 SEQ 0071 SEQ 0070 : : ; SCOPE MOV MOV 000377 001126 177652 6 MA(CY11 3$A(1052) 27-JUL-78 12:41 PAGE 72 36 TEST ODD BYTE INSTRUCTION ON RHCS?2 MOVB MoV CMP BEQ MOV MOV ERROR AMRHWC, R4 #25252, aR4 -(SP} ;R4 NOW IS WORD COUNT REGISTER ;LOAD RHW(C (SP) ;SP NOW HAS ODD BYTE FOR RHW( #377, a@(SP)+ ;MOVE 377 INTO ODD BYTE OF RHW(C R4, a#SBDDAT ;TEST DATA #177652,a#%8DDAT; COMPARE TO SEE IF MOVB DID OK 1% ;BRANCH IF GOOD #177652.,3#$GDDAT ;GOOD DATA R&, @#REGADR ;REGISTER FAILING RHW(C 1 ;JMOVING INTO ODD BYTE OF RHW( ;GAVE WRONG RESULTS #4123, a3R4 ;MOVE INTO EVEN BYTE OF RHW( R4 ,a¥SBDDAT ;TEST DATA #177523 ,a#488DDAT TST40 ;;BRANCH IF GOOD #417752%,a#8GDDAT ;GOOD DATA R4, @#REGADR ;REGISTER FAILING RHWC 1 : ‘ 000125 001126 011437 022737 001406 012737 010437 104001 177652 001126 177652 042270 001124 001126 177524 042270 001124 MOV 10} #STACK,SP #TTNO,a#TSTNM MOV MOV a#RHBA, R4 #25253, aR4 R4, -(SP) (SP) JSR PC,CLDISK #377, a(SP)+ aR4 , a¥SBDDAT JRESET STA(CK ;THIS SAVES TEST NUMBER ;R4 HAS ADDRESS OF RHBA ;LOAD RHBA ;JGETTING READY FOR ODD BYTE ;SP HAS ODD BYTE ADR. OF RHBA :LOAD ODD BYTE OF *TEST DATA RHBA #177652,a#$BDDAT : COMPARE MOVB RESULTS 13 “BRANCH IF GOOD #177652 ,a#$GDDAT: GOOD DATA R4, a#REGADR ;FAILING REGISTER RHBA 1 :MOVING INTO ODD BYTE OF 1%: 177524 0 0 alal N N N N 112714 016320 016324 016330 016336 016340 016346 016352 104001 000377 001126 002032 *RHBA GAVE WRONG RESULTS #125, QR4 ;TEST DATA aR4 , a#$BDDAT #177524 ,a#88DDAT TST41 ; ;BRANCH IF GOOD #177524 ,a#8GDDAT; GOOD DATA R4, Q#REGADR ;FAILING REGISTER RHBA 1 ;JMOVING INTO EVEN BYTE OF ;RHBA GAVE WRONG RESULTS N O 001000 000040 042620 001634 025253 A LN O 012706 012737 004737 013704 012714 010446 005216 112736 011437 022737 001406 012737 010437 it adl Al aid adt att adlalt ait alt all adt alt alt alt al Caltadtad Uad € ad 1 ad UN AN LA LA LA LAL Cad L 016232 016236 016244 016250 SCOPE abl adt att alit 000004 SEQ 0072 SEQ 0071 adt TST40: 016230 016254 016260 016262 016264 016270 016274 016302 016304 016312 016316 G 6 PAGE 73 30A(1052) 27-JUL-78 12:41 0DD BYTE TEST ON RHWC 137 A At 3025 3026 3027 MACY11 ~NN (ZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.P11 26-JUL-78 10:10 012706 012737 004737 012777 005037 012700 012705 023720 001004 062737 000765 005305 016436 016440 016446 01645C 016456 001367 032737 001077 013737 062737 016464 016470 016476 016502 016510 004737 012777 013711 012737 004737 005737 001403 010437 016514 016520 016522 016526 104011 001000 000041 042620 000001 002022 002042 000021 002022 000002 S xe R3=RHDS1 DRIVE STATUS 1 cww sew WHENEVER ANY OTHER USE 1S MADE OF APPROPJATE SAVING MUST BE DONE R [T s ERROR REGISTER #01 (RHER1) TEST BIT #1 (ILLEGAL REGISTER) CANNOT BE TESTED ON PDP11 THIS BIT IS FOR PDP10 USE ONLY TST41: SCOPE 1%: 2%: 002022 3$: 002022 000002 002104 002022 042620 000001 002104 016464 042224 001716 001122 163162 001110 R4(=RHFR1 ERROR REGISTER1 MOV MOV 163256 002022 R1=RHCS1 CONTROL AND STATUS? R2=RHCS2 CONTROL AND STATUS?2 JSR MOV CLR MOV MOV CMp BNE #STACK,SP #TTNO,a#TSTNM JRESET STACK ;THIS SAVES TEST NUMBER #FUTABL ,RO #17.,R5 ;LOAD FUNCTION CODE TABLE START ;COUNTER (16 GOOD FUNCTIONS) PC,a#CLDISK #DMD , aRHMR a¥TMPILL ;CLEAR REGISTERS ;SET DIAGNOSTIC MODE ;GET READY TO MAKE ILLEGAL FUNCTION HTMPILL,(RO)+ 3% ;IS THIS A LEGAL FUNCTION CODE? ;NO - DECR. FUNCT. CODE CTR 1% JTEST NEXT FUNCTION CODE ADD H2,AMTMPILL DEC R5 BNE BIT BNE MOV 2% #100,a#TMPILL ALL BITS UP TO BIT #5 COMPARED? JYES = EXIT ======= > 12% S¥TMPILL ,@#ILLEGL;NC - PEST THE ILLEGAL FUNCTION JSR PC,a#(CLDISK MoV AHILLEGL,aR1 BR ADD 4%: THESE REGISTERS MOV MOV JSR TST BEQ MOV ERROR #2,3NTMPILL ;YES MAKE NEXT FUNCTION CODE ;MAKE NEXT CODE IF 1ST 16 sLEGAL FUNCTIONS NOT DONE ;BRANCH IF 16 NOT COMPLETE ;TEST NEW FUNCTION CODE NEXT TIME #DMD , aRHMR 2SET DIAGNOSTIC MODE H4S ,BXSLPERR PC,a#PUTREG aER1 ;ERROR RETURN POINT s SAVE REGISTERS ;THERE SHOULD NOT BE ANY ERROR YET 5% R4, a#$3DADR N JILLEGAL FUNCTION -==> RHCS1 ;CONTINUE IF RHER1 STILL = 0 ;FAILING REGISTER ADDRESS RHER1 JALTHOUGH AN ILLEGAL FUNCTION ;HAS BEEN MOVED INTO RH(S! ;NO ERRORS SHOULD SHOW TILL o FOUR GENERAL REGISTERS WILL BE RESERVED FOR HARLCWARE ~ R ’ NN NN DCL COMMAND TESTS NN WV N N N N N NN .SBTTL 002032 000100 INSTRUCTION ON RHBA CZR N NN NN NN N 016356 016362 016370 016374 016402 016406 016412 016416 016422 016424 016432 016434 SEQ 0073 SEQ 007¢ PAGE 74 TEST ODD BYTE 2T 000004 6 140 Dxw sew 016354 H 12:41 NN AN 3061 3062 3063 3064 3065 3066 3067 3068 3069 3070 3071 3072 3073 3074 3075 3076 3077 3078 27-JUL-78 AT LAT LA U LN U 3053 3054 3055 3056 3057 3058 3059 3060 30A(1052) Catt alCAlUAIL all adt alt alt alUall abUAIL adt ad b ad £ ad Uad LAL LA WA LA U MACY11 o (ZRJGCO,RPO4/5/6 DSKLS CTRLR1 26-JUL-78 10:10 CZRJGC P11 TEST I 6 SEQ 0074 12:41 PAGE 75 ILF BIT #0 IN REG. RHER1 SEQ 0073 ;GO IS SET RKER1 SHOULD BE ;ALL ZEROS 016530 016534 016540 016546 016550 016554 052711 004737 022737 001403 010437 016556 016562 016566 013746 042716 022726 016572 016574 016602 104011 001404 013737 104011 000901 042224 000001 5%: 001716 BEQ 001122 MOV ERROR 6%: 001736 001000 140700 001662 BIS JSR MOV BIC CMP BEQ 001122 MOV ERROR #GO,aR1 PC,a#PUTREG #ILF ,a#ERT 6% R4, a#$BDADR M a#DS1,-(SP) #PROG, (SP) ;GO IN RHCS1 ;SAVE REGISTERS ;ILLEGAL FUNCTION BIT SHOULD BE SET JIT IS = CONTINUE JFAILING REGISTER ADDRESS RHER1 sJLLEGAL FUNCTIOM DID NOT ;SET ON AN ILLEGAL FUNCTION JEXECUTION, THE ILLEGAL FUNCTION ;BEING EXECUTED IS IN RHCS1 ;GET RHDS1 :MASK PROG HATA!'ERR!VV.DPR!DRY, (SP)+ SATTENTION (BIT 15) 7% ;VOLUME VALID (BIT 6) ;COMPOSIT ERROR (BIT 14) ;DEVICE READY (BIT 7) SHOULD ;BE SET ON RHDS1 ;THEY ARE = CONTINUE A#RHDS1,a#$BDADR ;FAILING REGISTER ADDRESS RHDS1 1 ;FOLLOWING BITS SHOULD BE SET ;WITH AN ILLEGAL FUNCTION JATTENTION (BIT 15) ;COMPOSIT ERROR (BIT 14) JMEDIUM ON LINE (BIT 12) ;DEVICE READY (BIT 7) 016604 004737 045060 7%: JSR PC.,a#MIDDLE ;GIVE A WRITE HEADER AND ;DATA COMMAND WITHOUT ;CLEARING THE ERRORS JUSING ‘MIDDLE'' SO THAT 21T WILL COME BACK BEFORE sTHE END TO FIND OUT 3163 010237 016610 016614 016616 016620 016622 000000 001000 004737 042224 016626 032737 040000 016634 016636 016642 001003 010137 016644 000660 016646 000240 104415 104011 ITS R2,a#10% ;STATE ;MOVE RHCS2 ADDRESS 0 ;ADDRESS OF RH(CSZ2 JSR PC.,a#PUTREG sSAVE REGISTERS BIT #TRE ,a#(S1 ;TRANSFER ERROR (BIT 14) RH(CS1 - 'TRE' BNE ERROR 13% R1,a#$BDADR M 1T IS < CONTINUE JFAILING REGISTER RHCS1 ;TRANSFER ERROR (BIT 14) RHCS1 13%: BR 1% 129%: NOP 016616 MOV 10%: 11%: 001714 001122 WAT .WORD MXF MOV ;WAIT FOR 'MXF' BIT ;SHOULD SET DUE TO °'MXF' ;SHOULD BE SET DUE TO ‘'MXF' ;LOCAL SCOPE RETURN POINT -~ 'TRE’ ;GO BACK & TEST NEXT FUNCTION CODE AT LA AN LA AL UAT AN AN N AN N N U N N LA (N N AN N N N A AN NN N N AN N NN N NN N N N WN NN T41 27-JUL~78 LA Ul LA ad Ual AU AL AL UL U LA (ZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC P11 26-JuL-78 10:10 MACY11 30A(1052) CZRJGCO,RPO4L/5/6 DSKLS CTRLR1 CZRJGC.P11 26=-JuL~-78 10:10 3164 3165 3166 3167 3168 3169 3170 317 3172 3173 3174 3175 3176 3177 3178 3179 3180 3181 3182 3183 016650 016652 016656 000004 012706 012737 001000 000042 016664 004737 042620 012777 012777 012777 012777 012777 012746 053716 012677 012777 004037 001632 003154 000021 043312 3188 016750 016754 016756 016760 3190 3N 016762 052777 000001 016770 016774 005037 042737 003166 016000 017002 017010 052737 005037 000100 003174 3187 3189 3192 3193 3194 3195 3196 3197 3198 3199 3200 3201 3202 3203 3204 3205 3206 3207 3208 3209 3210 3211 3212 3213 3214 3215 3216 3217 3218 3219 3$A (1052) 41 TST4L2: 002032 J 6 27-JUL-78 12:41 PAGE 76 TEST ILF BIT #0 IN REG. RHER1 SCOPE MOV #STACK,SP JRESET STA(CK MOV HTTNO,Q#TSTNM ;THIS SAVES TEST NUMBER JSR PC,a#CLDISK JINIT AND SET GENERAL REGISTERS J*FILL ALL POSSIBLE BITS WITH ONES 016670 016676 016704 016712 016720 016726 016732 016736 016742 3184 3185 3186 MACY11 177777 177777 017437 016377 000777 001400 002102 162676 000001 162734 162730 162732 162730 162724 162710 MOV MOV MOV MOV MOV MOV 8IS MOV MoV #177777 ,8RHWC #177777 ,8RHBA #17437 ,8RHDST #16377 ,aRHOF #777 ,aRHCA ;WORD COUNT REGISTER GETS 177777 ;BUS ADDRESS REGISTER GETS 177/77 ;DESIRED SECTOR TRACK GETS 17437 JOFFSET REGISTER GETS 16277 ;DESIRED CYLINDER GETS 777 (SP)+,@RH(S1 JFILL READ IN PRESET IN RHCS1 #A16!A17,-(SP) @#READIN, (SP) #DMD , aRHMR :GET BIT 9 AND 8 ;SET DIAGNOSTIC MODE :*THE REGISTERS WILL BE SAVED IN REINTO BUFFER JSR RHW( REINTO RO,3#SAVER 17. 162650 s SAVE :FROM ;10 ;NUMBER SAVED :*GIVE READ IN PRESET COMMAND #GO,3RHCS1 ;INCLUDE GO TO READ IN PRESET BIS . *NOW SAVED REGISTERS WILL BE CHANGED TO EXPECTED VALUE CLR 003172 8IC 003172 8IS CLR :CLEAR SAVED RHDST SNREINTO+12 AFMT22'HCI'ECI,@#REINTO+16 ;CLEAR FMT22,HCI,ECI IN ; SAVED RHOF #VV,NREINTO+16 ;SET VV IN SAVED RHOF ;CLEAR SAVED RHCA REINTO+20 ;*AFTER A READ IN PRESET COMMAND ;*SAVE REGISTERS AGAIN SO THAT COMPARES CAN BE DONE 017014 017020 017022 017024 017026 004037 001632 002110 000021 113737 043312 JSR RHWC RO, a#SAVER WRFROM 17. 003201 002135 s SAVE s FROM ;70 ;NUMBER OF REGISTERS SAVED ;*AS UPPER BYTE OF RHAS CAN BE CHANGING IN A DUAL PORT ;*OPERATION THE UPPER BYTE OF RHAS WILL BE SAVED AS IS ;%SO THAT THE (OMPARES ARE ONLY VALID FOR THE LOWER BYTE movBe SNREINTO+25,a#WRFROM+25; SAVE UPPER RHAS ;*COMPARE REGISTERS BEFORE READ IN PRESET COMMAND ;*WITH AFTER COMMAND 017034 017040 017042 017044 004037 003154 002110 000021 043514 JSR REINTO WRFROM 17. RO,a#COMPAR ; COMPARE ;GOOD BUFFER ;TEST BUFFER ;NUMBER OF REGISTERS SEQ 0075 SEQ 0074 017054 017054 017074 3224 3225 017054 017060 013705 060505 3227 3228 3229 3230 017070 104001 3226 3231 3232 017062 017072 017074 016537 ;RETURN FOR ERROR . SAME ;RETURN FOR GOOD COMPAR]ISON 1% 1% 2% 047624 001630 1%: 042270 000207 28: PAGE 77 MOV ADD MoV ERROR 3#ERWORD RS JGETTING READY TO INDEX R5,R5 -DOUBLE ERROR WORD RHWC=2(RS) ,0#REGADR ;FAILING REG. ADDRESS 1 ;READ IN PRESET CAUSED IMPROPER RTS PC JREGISTER CHANGE JRETURN FOR FURTHER COMPARISONS ;NO ERRORS SEQ 0076 SEQ 0075 C¢R CZR NN N NN N AN NN NN 017046 017050 017052 6 N WA N N (N N N WA N N N N N W 3220 3221 %g%% K MACY11 30A(1052) 27-JUL-78 12:41 READ IN PRESET 742 LA AN N N U CZRJGCO,RPO4/5/6 DSKLS CTRLRT CZRJGC.P11 26-JUL-78 10:10 017174 000200 052711 104415 042620 000001 002042 001632 001706 000021 001662 017172 000001 TST43: HTTNO,Q#TSTNM ;THIS SAVES TEST NUMBER ;*START WITH CLR IN RHCSZ2 (BITS) JSR PC,a#CLDISK ;CLEAR ALL POSSIBLE BITS 162542 MOV #DMD , aRHMR 2SET DIAGNOSTIC MODE MoV #RHWC RO ;STARTING ADDRESS OF REG MOV 1%: 017164 2%: 3%: 000000 SCOPE MOV MOV MOV MoV DEC BNE MOV MOV BIS WAT .WORD DRY WAT .WORD A#NOPERA ,aR1 ;PUT NOP OPERATION=0 IN RH(CS1 #iC R3 :STARTING ADDRESS OF WHERE SAVED HRHEC2-RHWC+2/2,R2 ;NUMBER OF REGISTERS (RO +,(R3)+ ;SAVE HARDWARE REG s COUNT R2 1% ;BRANCH IF NOT COMPLETE SHRHDS 1, anl$ ;GET ADDRESS OF DRIVE STATUS R1,a#3% ;GET ADDRESS OF RHCS1 #GO,aR1 ;GO TO RHCS1 ;WAIT FOR DRY IN RHDS1 O ;ADDRESS OF DRIVE STATUS RHDS1 ;DRY WILL BE WAITED ON ;WAIT FOR RDY IN RHCS1 ;ADDRESS OF RHCS1 PUT HERE BY AN ;EARLIER MOV 0 RDY JRDY WILL BE WAITED ON ;J*AFTER A NO OP COMMAND ;*SAVE REGISTERS AGAIN SO THAT COMPARES CAN BE DONE 017176 017202 017204 017206 017210 004037 001632 0021190 000021 113737 JSR RHW(C 043312 RO,a#SAVER WRFROM ;70 17. 001733 s SAVE ;FROM ;NUMBER OF REGISTERS SAVED ;*AS UPPER BYTE OF RHAS CAN BE CHANGING IN A DUAL PORT ;*OPERATJON THE UPPER BYTE OF RHAS WILL BE SAVED AS IS ;%SO THAT THE COMPARES ARE ONLY VALID FOR THE LOWER BYTE mMovB 002135 ANAS+1 ,aMWRFROM+25; SAVE UPPER RHAS ;*COMPARE REGISTERS BEFORE ;*WITH AFTER COMMAND 017216 017222 017224 017226 017230 017232 017234 004037 001706 002110 000021 017236 017236 017256 043514 017236 017242 017244 017252 013705 060505 016537 047624 104001 JSR w( WRFROM 17. 4 4% 5% 001630 4% 042270 MOV ADD MOV ERROR RO,a#COMPAR NO OP COMMAND ; COMPARE :GOOD BUFFER JTEST BUFFER ;NUMBER OF REGISTERS JRETURN FOR ERROR . SAME :RETURN FOR GOOD COMPARISON a#ERWORD RS ;GETTING READY TO INDEX R5,RS ;DOUBLE ERROR WORD RHWC=-2(RS) ,8#REGADR ;FAILING REG. ADDRESS ;NO OP COMMAND CAUSED IMPROPER 1 tREGISTER CHANGE N AN SN AN G OGN AN AN W 004737 012777 013711 012700 012703 012702 013023 005302 001375 013737 010137 002032 CZR. CZR. NG 017104 017110 017116 017122 017126 017132 017136 017140 017142 017144 017152 017156 017162 017164 017166 017170 017172 000043 SEQ 0077 SEQ 0076 PAGE 78 A N N N N N N N A A N A N N A N UGN N O O OO G SN O G O 000004 012737 READ IN PRESET 6 AN A N N A 017074 017076 L 12:41 N N A LA 3233 3234 3235 3236 3237 3238 3239 3240 3241 3242 3243 3244 3245 3246 3247 3248 3249 3250 3251 3252 3253 3254 3255 3256 3257 3258 3259 3260 3261 3262 3263 3264 3265 3266 3267 3268 3269 3270 3271 3272 3273 3274 3275 3276 3277 3278 3279 3280 3281 3282 3283 3284 3285 3286 3287 3288 142 27-JUL-78 LN SN N CZRJIGCO ,RPO4/5/6 DSKLS CTRLRI CZRJGC.P11 26-JUL-78 10:10 MACY11 30A(1052) CZRJGCO,RPO4/5/6 DSKLS CTRLRI CZRJGC.P1T 26-JUL-78 10:10 3289 3290 3291 3292 3293 3294 3295 3296 017254 M6 PAGE 79 27-JUL-78 MACY11 30A(1052) NO OPERATION FUNCTION TEST T43 12:41 RTS 000207 012737 004737 012777 017264 042620 000001 001110 162362 14%: JRETURN FOR FURTHER COMPARISONS ;NO ERRORS 5%: 017256 017256 017264 017270 PC MoV JSR MoV #1648 I#SLPERR PC,a#CLDISK #DMD , aRHMR ;SET SCOPE LOOP TO 14% JINIT LAST ALL ZERO TEST ;SET DIAGNOSTIC MODE ;*NOW START WITH ALL ONES IN ALL POSSIBLE REGISTERS 017276 017302 017306 017312 017320 017322 017324 017330 017334 017340 017344 017346 017350 017352 012700 012705 012730 013777 005305 001371 013711 012700 012703 012702 013023 005302 001375 013737 010137 052711 104415 000000 000200 001632 000021 177676 001774 162316 001632 001706 000021 001662 017400 000001 #RHWC ,RO ;ADDRESS OF FIRST REGISTER #RHEC2-RHWC+2/2,R5 ;NO. OF REGISTERS #177676,a(RO)+ FILL WITH ALL ONES ;REINSTATE UNIT NUMBER UNDER TEST BNUNIT,aRHCS2 DEC BNE R5 6% MOV MOV 002042 7%: 017372 : 108 104415 11%: 000000 017402 6%: MoV MoV MOV Mov MOV MOV MOV DEC BNE MoV MOV BIS WAT .WORD DRY WAT .WORD RDY 000200 ;KEEP INTERRUPT DISABLED : COUNT ;BRANCH IF INCOMPLETE S#NOPERA ,aR1 ;PUT NOP OPERATION =0 IN RHCS1 H#RHWC ,RO ;STARTING ADDRESS OF REG #C R3 ;STARTING ADDRESS OF WHERE SAVED ARHEC2-RHW(C+2/2 ,R2 ;NUMBER OF REGISTERS d(RO)+,(R3)+ ;SAVE HARDWARE REG R2 s COUNT 7% ;BRANCH IF NOT COMPLETE a#RHDS1,a#108 ;GET ADDRESS OF DRIVE STATUS R1,a#11% :GET ADDRESS OF RHCS1 #G0,aR1 :GO TO RHCS1 ;WAIT FOR DRY IN RHDS1 0 ;ADDRESS OF DRIVE STATUS RHDS1 ;DRY WILL BE WAITED ON ;WAIT FOR RDY IN RHCS1 0 ;ADDRESS OF RHCS1 PUT HERE BY AN ;EARLIER MOV. JRDY WILL BE WAITED ON J*AFTER A NO OP COMMAND ;*SAVE REGISTERS AGAIN SO THAT COMPARES CAN BE DONE 017404 017410 017412 017414 017416 004037 001632 002110 000021 113737 043312 JSR RHW(C RO,a#SAVER WRFROM ;10 17. 001733 002135 s SAVE ;FROM sNUMBER OF REGISTERS SAVED ;*AS UPPER BYTE OF RHAS CAN BE CHANGING IN A DUAL PORT ;*OPERATION THE UPPER BYTE OF RHAS WILL BE SAVED AS IS ;*SO THAT THE COMPARES ARE ONLY VALID FOR THE LOWER BYTE MOvB SNAS+1,IMRFROM+25; SAVE UPPER RHAS ;*COMPARE REGISTERS BEFORE NO OP COMMAND J*WITH AFTER COMMAND 017424 004037 043514 JSR RO, a#COMPAR ; COMPARE SEQ 0078 SEQ 0077 CZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.PI1 26-JuUL-78 10:10 3345 3346 3347 3348 3349 %%g? 017430 017432 017434 017436 017440 017442 001706 002110 000021 017444 017444 017464 3352 3353 3354 3355 017444 017450 017452 017460 013705 060505 016537 104001 %%gg 017462 000207 3359 017464 3356 MACY11 30A(1052) T43 27-JuUL-78 001630 12%: 042270 13%: 6 PAGE 80 NO OPERATION FUNCTION TEST W(C WRFROM 17. 12% 12% 13% 047624 N 12.41 ;GOOD BUFFER ;TEST BUFFER ;NUMBER OF REGISTERS JRETURN FOR ERROR : SAME JRETURN FOR GOOD COMPARISON MoV ADD MOV ERROR SMERWORD ,RS ;GETTING READY TO INDEX R5,R5 .DOUBLE ERROR WORD RHWC=-2 (RS) ,@#REGADR ;FAILING REG. ADDRESS 1 ;NO OP COMMAND CAUSED IMPROPER RTS PC JREGISTER CHANGE JRETURN FOR FURTHER COMPARISONS ;NO ERRORS SEQ 0079 SEQ 0078 (ZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC PN 26-JuUL-78 10:10 017464 017466 017472 017500 000004 012706 012737 004737 001000 000044 042620 MACY11 30A(1052) 743 TST44: 002032 B 7 SEQ 0080 SEQ 0079 12:41 PAGE 81 NO OPERATION FUNCTION TEST 27-JuL-78 SCOPE MOV MOV JSR K#STACK,SP HTTNO,3#TSTNM PC.a#CLDISK JRESET STACK ;THIS SAVES TEST NUMBER ;SET REGISTERS AND CLEAR ;*FILL ALL POSSIBLE BITS WITH ONES 017504 017512 017520 017526 017534 017542 017550 017556 017564 017572 017600 017606 017614 012777 012777 012777 052777 012777 012777 012777 012777 012777 012777 012777 012777 012777 177777 MOV MOV MOV 177777 177777 157010 001476 177777 BIS MOV MoV MOV MOV MOV MOV MOV MOV Mov 017637 177777 016277 177777 1727777 000001 177777 162036 #177777 ,aRHDB H177777 ,3RHWC #177777 ,3RIHBA #157010,8RHCS? #1476,3RHCS1 #177777 ,aRHER1 #17437 ,aRHDST #177777 ,aRHER2 216277, aRHOF ;BUS ADDRESS REGISTER GETS 177777 ;WORD COUNT REGISTER GETS 177777 ;BUS ADDRESS REGISTER GETS 177777 ;CONTROL AND STATUS 2 GETS 157010 ;CONTROL AND STATUS REGISTER/GETS 1476 ;ERROR REGISTER1 GETS 177777 ¢DESIRED SECTOR TRA(CK ;ERROR REGISTER 2 JOFFSET REGISTER 2177777 ,aRHCA ;DESIRED CYLINDER #DMD , aRHMR JMAINTENANCE REGISTER #177777 ,8RHER3 #177777 ,3RHMR ;ERROR REGISTER 3 JMAINTENANCE REGISTER :*THIS SETS BITS FOR ALL PRESENT DRIVES RO a4 TOTALAT aR2 ;GET DRIVE PRESENT 318 ;BRANCH IF NO UNIT ON THIS BIT 017622 017626 017630 017634 017636 017640 017644 017646 017650 017652 017654 017660 017664 013700 005012 012705 006000 002020 MOV 000010 MOV ROR #8..R5 RO 012714 005212 005305 001401 000770 013746 052716 012612 177777 B8CC MoV INC #-1,3R4 017666 017674 017700 017704 012777 013711 052711 012700 103002 CLR 30%: 31%: 001774 27%: 157010 000001 002050 000001 001630 161764 DEC BEQ BR MoV BIS MOV MOV MOV BIS MOV ;CLEAR RH(CS2 AND CARRY BIT ;COUNTER ;GET BIT INTO CARRY ;MOVE aR2 RS 27% 30% HUNIT ,-(SP) INTO ERROR REGISTER TO SET ATA s INCREMENT RHCSZ2 = UNIT NO. s COUNT ;BRANCH IF 8 DONE ;CONTINUE THIS ROUTINE #157010, (SP) (SP)+,aR2 JREINSTATE SET BITS , 3RHMR #DMD ;SET DMD #G0,aR1 #RHDB, ;GO ;RO CONTAINS ADDR. OF ADDR. OF REG. a#DCLEAR,QR1 RO ;DRIVE CLEAR = 10 INTO RHCS1 ;*DATA BUFFER REGISTER 017710 017716 017722 017730 017732 012737 013037 022737 001402 004737 177777 001126 177777 020570 001124 001126 28%: MOV MOV CMP 8EQ JSR #177777 ,a#SGDDAT .GOOD DATA FOR ERROR TYPEOUT a(RO)+,a#%BDDAT ;TEST DATA 177777 ,a#$8DDAT 3% PC,a4ERCLFC . COMPARE DATA ;BRANCH If GOOD ;JUMP TO ERROR FOR CLR (BIT 5) czl cz! C(ZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC. P11 26=-JUL-78 10:10 MACY11 30A(1052) T44 27-JUL-78 DRIVE CLEAR c 12:41 7 PAGE 82 SEQ 0081 SEQ 0080 ;*WORD COUNT REGISTER 017736 017744 017750 017756 017760 012737 013037 022737 001402 004737 177777 001126 177777 001124 3%: MOV MOV #177777 ,a#$GDDAT :GOOD DATA FOR ERROR TYPEOUT a(RO)+,a#$BDDAT ;TEST DATA BEQ 4 CMP 001126 JSR 020570 #177777,348BDDAT’ PC,a#ERCLFC : COMPARE DATA ;BRANCH IF GOOD *JUMP TO ERROR FOR CLR (BIT 5) ;*BUS ADDRESS REGISTER 017764 017772 017776 020004 020006 012737 013037 022737 177776 001126 177776 004737 020570 001402 001124 'A ¥ 001126 MoV MOV CMP BEQ JSR #177776,a#8GDDAT .GOOD DATA FOR ERROR TYPEOUT 9(R0O) + ,a#8BDDAT ;TEST DATA 177776 ,a#$8DDAT . COMPARE DATA 5% ;BRANCH 1F GOOD PC.a#ERCLFC ;JUMP TO ERROR FOR CLR (BIT 5) ;*CONTROL AND STATUS 2 REGISTER 020012 020016 020022 020026 020032 020040 020042 012746 053716 012637 013037 023737 001402 004737 000110 001774 001124 001126 001124 5%: 001126 MOV 8IS MOV MOV CMP BEQ JSR 020570 #110,-(SP) JINLLUDE IR a#UNIT, (SP) :SET UNIT NO. (SP)+ ,a#$GDDAT ;GOOD DATA FOR TYPE OUT @ .R0O)+ a#$BDDAT ;TEST DATA a#SGDDAT ,a#$BDDAT,; COMPARE DATA 6% ;BRANCH IF GOOD PC,a#ERCLFC ;JUMP TO ERROR FOR CLR (BIT 5) ;*CONTROL AND STATUS 1 REGISTER 020046 020052 020054 020062 020064 020072 005737 001404 012737 000403 012737 013037 002000 020076 020104 020106 023737 001402 004737 6%: 104210 001124 004210 001126 001124 001124 001126 32%: 33s: 020570 BEQ ggv TST @NUNIT ;JBRANCH IF ONLY ONE UNIT 32% §%24210,8#$GDDAT:GOOD DATA JARE THERE MORE THAN ONE UNIT MOV #4210,a#$GDDAT ;GOOD DATA CMP B8EQ JSR aNSGDDAT ,a#S8DDAT ; COMPARE DATA MoV a(R0O)+,3#$BDDAT :TEST DATA 7% PC,a#ERCLFC ;BRANCH IF GOOD ;JUMP TO ERROR FOR CLR BIT 5 :IN RHCS? ;*ERROR 1 REGISTER 020112 020120 020124 020132 020134 012737 013037 022737 001402 004737 000000 001126 000000 001124 7%: 001126 MOV #0,a#$GDDAT ;GOOD DATA FOR ERROR TYPEOUT cMP BEQ #0,a#$BDDAT 108 ; COMPARE DATA JBRANCH IF GOOD MOV JSR 020570 a(R0O) +,a#$BDDAT ;TEST DATA PC,a#ERCLFC ;JUMP TO ERROR FOR CLR (BIT 5) ;*DESIRED SECTOR/TRACK REGISTER 020140 020146 012737 013037 017437 001126 001124 10%: MOV MOV #17437 ,a#GDDAT .GOOD DATA FOR ERROR TYPEQUT a(RO) +,a#$BDDAT ;TEST DATA CZl €2 3502 3503 3504 3505 5506 3507 3508 3509 3510 351 3512 3513 3514 3515 3516 3517 3518 3519 3520 3521 3522 3523 3524 3525 3526 3527 020152 020160 020162 022737 001402 004737 017437 JSR 020570 SEQ 0082 SEQ 0081 #17437 ,a#8BDDAT ; COMPARE DATA 118 ;BRANCH [F GOOD PC,a#ERCLFC ;JUMP TO ERROR FOR ('R (BIT 5) ;*ERROR 2 REGISTER 020166 020174 020200 020206 020210 012737 013037 022737 001402 004737 000000 001126 000000 001124 11%: 001126 MOV MoV cMP BEQ JSR 020570 #0,3#8GDDAT a(RO) +,a#$BDDAT #0,a#$BDDAT 12% PC.,a#ERCLFC ;GOOD DATA FOR ERROR TYPEQUT ;TEST DATA : COMPARE DATA ;BRANCH IF GOOD ;JUMP TO ERROR FOR CLR (BIT 5) ;*OFFSET REGISTER 020214 020222 020226 020234 020236 012737 013037 022737 001402 004737 116000 001126 116000 001124 12%: 001126 MOV #116000,a#$GDDAT CMP BEQ #116000,a#$BDDAT . COMPARE DATA 13$ ;BRANCH IF GOOD MOV JSR 020570 .GOOD DATA FOR ERROR TYPEOUT a(RO) +,a#$BDDAT ;TEST DATA PC,a#ERCLFC ;JUMP TO ERROR FOR CLR (BIT 5) 001126 CMP BEQ JSR 020570 #1777 ,a#$GDDAT a(RO)+,a#$BDDAT #1777 ,a4#$8DDAT 14% PC.a#ERCLFC A A MOV MOV ;GOOD DATA FOR ERROR TYPEOUT ;TEST DATA ;COMPARE DATA ;BRANCH [F GOOD A 13%: A 001124 A 001777 001126 001777 A 012737 013037 022737 001402 004737 A ;*DESIRED CYLINDER ADDRESS REGISTER 020242 020250 020254 020262 020264 ;JUMP TO ERROR FOR CLR (BIT 5) ; *ERROR 3 REGISTER 020270 020276 020302 020310 020312 012737 013037 022737 001402 004737 000000 001126 000000 001124 14%: 001126 020570 MoV MOV CMP BEQ JSR #0,a#$GDDAT ;GOOD DATA FOR ERROR TYPEOUT DATA ;TEST +,a#$BDDAT @ (R0O) #0,a#$BDDAT ;COMPARE DATA PC,a#ERCLFC ;JUMP TO ERROR FOR CLR (BIT 5) 15% ;BRANCH IF GOOD J*ATTENTION SUMMARY REGISTER 020316 020324 020332 020336 020344 020346 013737 043737 013037 123737 001402 004737 002020 002016 001126 001124 001124 001124 15%: 001126 MGV CMPB @#TOTALAT ,a#$GDDAT,SET ALL BITS OF DRIVE PRESENT IN RHAS QNATTENT ,a#SGDDAT ;CLEAR ONLY WORKING DRIVE BIT ;GET RHAS d(RO) +,a#SBDDAT ; COMPARE DATA a#SGDDAT ,a#$8DDAT JSR PC,a#ERCLFC MOV BIC BEQ 020570 16% ;BRANCH IF GOOD ;JUMP TO ERROR FOR CLR (BIT 5) J*MAINTAINABILITY REGISTER 020352 012737 020374 022737 001402 004737 013037 000400 001126 000400 001724 16%: 001126 MOV MOV cMP BEQ JSR 020570 #400,a#8GDDAT .GOOD DATA FOR ERROR TYPEOUT #400,3#88DDAT 17% ,COMPARE DATA ;BRANCH IF GOOD a(RO) + ,a#$BDDAT ;TEST DATA PC,a#ERCLFC ;JUMP TO ERKOR FOR CLR (BIT 5) ;*DRIVE STATUS REGISTER 020400 012737 000700 001124 17%: MOV #700,3#8GDDAT CZF n CMP BEQ 7 PAGE 83 o 001126 T44 D 12:41 ~N 27-JUL-78 DRIVE CLEAR A 3472 3473 3474 3475 3476 3477 3478 3479 3480 3481 3482 3483 3484 3485 3486 3487 3488 3489 3490 3491 3492 3493 3494 3495 3496 3497 3498 3499 3500 3501 MACY11 30A(1052) RMMARAMRAMAMAMMAMAAMDNAMAMAMMMEAEANDANAN CZRJGCO,RPO4/5/6 DSKLS CTRLR1 26-JUL-78 10:10 CZRJGC P11 ;GOOD DATA FOR PRINTOUT IN RHCSZ CZRJGCO,RPOL/S5/6 DSKLS CTRLRT CZRJGC.P11 26=JUL-78 10:10 3528 3529 3530 3531 3532 gggz 020406 020410 020414 020420 0204264 020426 013046 011637 042716 022726 001402 004737 MACY11 30A(1052) 27-JUL-78 T44 DRIVE CLEAR 001126 001000 000700 gggg 3537 3538 3539 3540 ggzg 020432 020440 020444 020452 020454 013737 013037 023737 001402 004737 002010 001126 002010 001124 20%: 001126 020570 3546 3547 3548 3549 gggg 020460 020466 020472 020500 020502 013737 013037 023737 001402 004737 002012 001126 002012 001124 218: 001126 020570 3554 3555 020506 020514 012737 013037 3557 %ggg 020526 020530 001402 004737 3556 020520 022737 000000 001126 000000 001124 22%: 001126 020534 012737 3565 %ggg 020554 020556 001402 004737 020570 020542 020546 013037 022737 000000 001126 000000 001124 23%: 001126 020570 3568 %2?8 3571 %2;% %g;g 3579 020562 005720 24$: 020564 020566 005720 020566 000413 3582 020570 014037 020574 104001 25%: 26%: 042270 SEQ 0083 SEQ 0082 [ CZR C2F ¢ 4 4 4 ¢ 2 :*DRIVE TYPE 2 MOV MOV CMP BEQ L L ¢ L @#SAVDT ,a#SGDDAT ;GOOD DATA FOR ERROR TYPEOUT @(RO) +,3#8BDDAT ;TEST DATA :COMPARE DATA SHSAVDT ,anSBDDAT 218 :BRANCH IF GOOD PC.,a#ERCLFC :JUMP TO ERROR FOR CLR (BIT 5) f :*SERJAL NUMBER REGISTER L MOV MOV CMP BEQ L ¢ L { SHSAVSN,a#SGDDAT :GOOD DATA FOR ERROR TYPEOUT @(RO)+,3#8BDDAT :TEST DATA M SAVSN, a#$SBDDAT :COMPARE DATA 22% ;BRANCH IF GOOD PC.,@#ERCLFC :JUMP TO ERROR FOR CLR (BIT 5) : :*ECCT1 POSITION j MOV MOV #0,a#SGDDAT :GOOD DATA FOR ERROR TYPEOUT a(RO)+,a#$BDDAT ;TEST DATA BEQ JSR 238 PC,a#ERCLFC [ ¢ l #0,348BDDAT :COMPARE DATA :BRANCH IF GOOD ;JUMP TO ERROR FOR CLR (BIT 5) MOV #0.,a#SGDDAT :GOOD DATA FOR ERROR TYPEOUT BEQ JSR 24$ PC.a#ERCLFC :BRANCH IF GOOD :JUMP TO ERROR FOR CLR (BIT 5) MOV cMP TST @(RO)+,3#$BDDAT ;TEST DATA #0,34$BDDAT :COMPARE DATA (RO) + :AS THE LOOK-AHEAD REG. CANNOT BE PREDICTED :IT IS NOT CHECKED AFTER AN INIT ;AS THE CURRENT CYL REG. CANNOT BE PREDICTED B8R TST4S :BRANCH OVER JSR -(RO), @#REGADR ;FAILING REGISTER ADDRESS 1 ‘ ( [ (RQ) + ERROR ‘ [ [ ‘ TST ERCLFC: MOV 4 : : :*CURRENT CYLINDER ADDRESS REGISTER %gg? 3583 ;JUMP TO ERROR FOR DRIVE CLEAR :TEST DATA :CLEAR PROG BIT :COMPARE DATA :BRANCH IF GOOD : %L OOK-AHEAD REGISTER gg;g 3576 PC.,a#ERCLFC (SP) ,a/$BDDAT #PROG, (SP) #700, (SP) + 20% ;*ECC2 PATTERN 3562 3563 3564 JSR cTMMP §§g? D :GET RHDS1 JSR ggg% PAGE 84 a(RO)+,~-(SP) JSR 3543 12:41 MOV MOV BIC cMP BEQ 020570 E 7 ;AFTER AN INIT IT IS NOT CHECKED sCLR FUNCTION = 10 IN RHCS1 DID ‘ ‘ ‘ 4 ‘ ‘ ‘ (ZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.P11 26=JUL-78 10:10 3584 3585 3586 3587 3588 3589 3590 3591 3592 3593 020576 020600 005720 000207 020602 020604 020610 020614 005720 004737 104401 000000 MACYT1 30A(1052) T44 27-JuUL-78 DRIVE TST 042654 062450 CLEAR 12:41 + (RO) RTS PC TST JSR (RO) + PC,a#CHECKT TYPE HALT LCPHALT 7 PAGE 85 SEQ 0084 SEQ 0083 ;NOT CLEAR APPROPIATE BITS ;OR CLEARED EXTRA BITS ;UNDO -(R0O) FOR ERROR JRETURN TO ABOVE PROGRAM ;OR CLEARED EXTRA BITS JUNDO -(RO) FOR BAD DATA ;CHECK THAT DVA,RDY,DPR,DRY JAND THAT NO OTHERS ;STOP THE TEST 1. 1 CANNOT CON-~ A AN A AMALMAMARMAMAMAMRAAMRANAMAAMAMAMAMNARNRARAARADNLANRAMALARNNEANDLNANANNLNDNDNDNDNIDDIDIDSEDNDSIDIDNESDNDDDDD0001 F 7 SEQ 0085 SEQ 0084 000004 012706 012737 004737 001000 000045 042620 020636 012777 000001 020644 020650 026456 005077 013777 017746 160774 002072 161014 TST4LS: SCOPE 002032 MOV MOV #STACK, SP HTTNO,a#TSTNM JRESET STACK ;THIS SAVES TEST NUMBER 161014 MOV #DMD , aRHMR ;SET DIAGNOSTIC MODE BIT JSR CLR Mov MOV 160762 PC.,a#CLDISK dRHDST @#SEECOM,aRHCS1 @RHCC,-(SP) JINIT AND SET UP GENERAL REG. CORRES. JAND UNIT NUMBER ;THIS ENABLES COMMANDS WITHOUT MOL JAND HOLDS RHLA FROM MOVING ;JMAKE DESIRED SECTOR TRACK LEGAL ;LOAD SEEK COMMAND INTO CONTROLLER ;GET CURRENT CYLINDER ;*«FOLLOWING ARE TWO BLOCKS OF CODE TO LOAD RHCA WITH THE PROPER ;*ADDRESS DEPENDING UPON WHETHER THE DRIVE IS AN RPO6 OR RPO4 020662 020666 020679 020674 020676 020704 020706 020714 020722 020724 020730 020732 020740 020742 020750 005737 001416 022726 001404 002C36 TST a#RP06 (MP 4814.,(SP)+ MOV #814. ,a#8TMPS MoV MOV BR #813. ,a#8TMPS A#STMPS5 ,.aRHCA 14% CMP BEQ MCv #4610, ,(SP)+ 12% #410.,3#8TMPS MOV MoV #409. ,a#8TMPS a#S$TMPS ,ARHCA BEQ 001456 012737 000403 012737 013777 000415 001456 001210 001455 001210 001210 160730 022726 001404 012737 000403 012737 013777 000632 BEQ BR ?Oi: 118: 000632 001210 000631 001210 001210 160674 12%: 13%: BR 11% ;MOVE DRIVE TYPE FLAG TO ITSELF TO TEST ;TREAT THE DRIVE AS AN RPQ4 9% :TREAT THE DRIVE AS AN RPO6 ;1S CURRENT CYLINDER SAME AS 814. ? ;BRANCH IF YES TO MAKE RHCA = 813. 108 ;FILL RHCA '3s ;GET READY TO MAKE RHCA = 814, ;GET READY TO MAKE RHCA - 813. ;MAKE DESIRED CYLINDER 814., OR 813, ;SAVE REGISTERS ;TREAT THE DRIVE AS AN RPO4 ;1S CURRENT CYLINDER SAME AS 410. ? ;BRANCH IF YES TO MAKE RHCA = 409. ;GET READY TO MAKE RHCA = 410. sFILL RHCA ;GET READY TO MAKE RHCA = 409. ;MAKE DESIRED CYLINDER 410., OR 409. ;*SAVE REGISTERS FOR COMPARISON AFTER GO 020756 020762 020764 020766 004077 001632 003154 000023 043312 020770 052777 000001 14%: JSR RHW( REINTO RO, a#SAVER 19. 160642 s SAVE ;FROM ;70 ;NUMBER OF REGISTERS SAVED ;*GIVE GO TO COMMAND BIS #GO,aRHCS1 ;GO TO COMMAND ;*CHANGE SAVED REGISTERS TO EXPECTED VALUES 020776 021004 021012 052737 052737 042737 000001 020000 000200 003162 003204 003204 BIS BIS BIC #GO,a#RE INTO+6_ ;SAVED RHCS1 #P1P,#REINTO+30 ;SAVED RHDSI #DRY ,@#REINTO+30 ;SAVED RHDS1 MR ol o 020616 V20620 020624 020632 2R X 2R Y 3 PAGE 86 NN G 12:41 alal T44 27-JUL-78 DRIVE CLEAR [aR O 3594 3595 3596 3597 3598 3599 MACY11 30A(1052) pol ) CZRJIGCO ,RPO4/5/6 DSKLS CTRLR1 26~JuUL-78 10:10 CZRJGC.P11 CZRJGCO,RPO4L/5/6 DSKLS CTRLR1 CZRJGC.P11 26-JuUL-78 10:10 H 27-JUL-78 12:41 MACY11 30A(1052) T45 SEEK COMMAND TEST SEQ 0086 SEQ 0085 ;*AFTER GO HAS BEEN GIVEN FOR SEEK COMMAND :'gévgozEGISTERS AGAIN SO THAT COMPARISONS (AN 3650 3651 . % 021020 021024 021026 021030 004037 001632 002110 000023 JSR 043312 RHWC RO ,a#SAVER WRFROM 19. : SAVE s FROM ;T0 :NUMBER OF REGISTERS SAVED ;*AS UPPER BYTE OF RHAS CAN BE CHANGING IN A DUAL PORT ;*OPERATION THE UPPER BYTE OF RHAS WILL BE SAVED AS IS ;%SO THAT THE COMPARES AKE ONLY VALID FOR THE LOWER BYTE 021032 113737 603201 MOvVB 002135 SFREINTO+25 ,a#WRFROM+25; SAVE UPPER RHAS ;»COMPARE REGISTERS BEFORE SEEK COMMAND ;*WITH CONTENTS AFTER GO IS ISSUED MOV ADD Mov a#ERWORD ,RS JGETTING READY TO INDEX RS,R5 .DOUBLE ERROR WORD RHWC-2(RS) ,a#REGADR ;FAILING REGISTER ADDRESS 104001 ERROR 1 000207 RTS PC 001630 1%: 042270 ; IMPROPER REGISTER CHANGE JAFTER SEEK COMMAND ;WITH GO IS GIVEN :RETURN TO COMPARISON ;*NOW GIVE INIT AND GET GO AND PIP DOWN 052712 01371 012777 000040 001774 000001 2%: 160542 BIS MOV MOV #CLR,aR2 S#UNIT ,aR2 #DMD , aRHMR JRH INITILIZE JREINSTATE UNIT NUMSER ;SET DIAGNOSTIC MODE BIT ;THIS ENABLES COMMANDS WITHOUT MOL ;AND HOLDS RHLA FROM MOVING ;*CHANGE REGISTERS TO EXPECTED VALUE 021116 021124 021132 021140 021146 042737 042737 052737 017737 013737 000001 020000 000200 160530 001210 003162 003204 003204 003216 003220 8IC BIC BIS MOV MOV #GO,d#REINTO+6_ ;SAVED RHCS1 #P1P ,I#REINTO+30 ;SAVED RHDSI #DRY ,a#REINTO+30 ;SAVED RHDS1 aRHLA, @#RE INTO+42. SAVED RHLA I#STMPS ,@#REINTO+44 ; SAVED RHCC JYAFTER INITILIZE SAVE REGISTERS SO THAT ; *COMPARES (AN BE DONE R o 021076 JRETURN FOR GOOD COMPARISON AR R O 021074 ;GOOD BUFFER sTEST BUFFER sNUMBER JRETURN FOR ERROR . SAME R 047624 2% ; COMPARE X 2P 2R AP AW S O SR O O 013705 060505 016537 RO, a#COMPAR N 021060 021064 021066 JSR REINTO WRF ROM 19. 1% 1% W 2 2 S S S 043514 N 004037 003154 002110 000023 021060 021060 021100 NN N 021040 021044 021046 021050 021052 021054 021056 N N N 3653 7 PAGE 87 (ZRJGCO,RPO4/5/6 DSKL'S CTRLR1 CZRJGC.P11 26=-JuUL-78 10:10 004037 001632 002110 000023 SEEK COMMAND TEST JSR 063372 I 1¢:41 RHW( WRFROM 7 PAGE 88 RO,a#SAVER 19. ;FROM .10 JNUMBER OF REGISTERS SAVED ;*OPERATION THE UPPER BYTE OF RHAS WILL BE SAVED AS IS :+SO THAT THE COMPARES ARE ONLY VALID FOR THE LOWER BYTE 021166 113737 003201 MOVB 002135 SNRE INTO+25 ,a#WRFROM+25; SAVE UPPER RHAS 021214 021214 021234 021214 021220 021222 021230 013705 060505 016537 021232 000207 104001 REINTO WRFROM RO, a#COMPAR 19, ; COMPARED ;RETURN POINT FOR ERROR ; SAME (A 3 001630 3%: 042270 021234 JRETURN POINT FOR GOOD COMPARISON Mov ADD MOV ERROR Q#ERWORD RS GETTING READY TO INDEX RS.R5 ;DOUBLE ERROR WORD RHWC-2 (RS) ,a#REGADR ;FAILING REGISTER ADDRESS . IMPROPER REGISTER 1 RTS PC 004737 042620 021240 012777 000001 021246 021254 013777 005077 002072 160372 021260 021264 021266 021270 021272 004037 001632 003154 000023 043312 052777 000001 ;CONTENTS AFTER GIVING AN JINITILIZE FOLLOWING A ;SEEK COMMAND JRETURN TO COMPARISON ;GOOD COMPARISON 4%: 021234 ;600D BUFFER ;TEST BUFFER ;NUMBER OF REGISTERS TO BE 3% 3% 047624 ; COMPARE JSR PC,a#CLDISK 160412 MOV #DMD , 3RHMR JINIT AND SET UP GENERAL REG. JAND UNIT NUMBER ;SET DIAGNOSTIC MODE BIT 160364 MOV CLR A#SEECOM,QRHCST aRHCA ;LOAD SEEK COMMAND INTO RHC ;DESIRED CYLINDER ADDRESS ;THIS ENABLES COMMANDS WITHOUT MOL ;AND HOLDS RHLA FROM MOVING ;*SAVE REGISTERS FOR COMPARISON AFTER GO JSR RHW( REINTO RO, a#SAVER 19. 160340 s SAVE ;FROM ;10 ;NUMBER OF REGISTERS SAVED :*GIVE GO TO SEEK COMMAND BIS #GO,3RHCS1 ;GO TO SEEK COMMAND ;*CHANGE SAVED REGISTERS TO EXPECTED VALUES 021300 052737 000001 003162 BIS #GO,a¥REINTO+6 ;SAVED RH(CSI Tt r Y 021206 021210 021212 JSR 043514 e N S R R o S O S 004037 003154 002110 000023 S S S 021174 021200 021202 021204 Y P Y ;*COMPARE REGISTERS AFTER INITIALIZE T W S N A A 3737 3738 3739 3740 3741 3742 3743 3744 3745 3746 3747 3748 3749 3750 3751 3752 3753 3754 3755 3756 3757 3758 3759 3760 3761 s SAVE ;*AS UPPER BYTE OF RHAS CAN BE CHANGING IN A DUAL PORT 3735 3736 SEQ 0087 SEQ 0086 T 3734 021154 021160 021162 021164 145 27-JUL-78 N N N N N N N N N N 3706 3707 3708 3709 3710 3711 3712 3713 3714 3715 3716 3717 3718 3719 3720 3721 3722 3723 3724 3725 3726 3727 3728 3729 3730 3731 3732 3733 MACY11 30A(1052) CZRJIGCO,RPO4/5/6 DSKLS CTRLRI CZRJGC P11 26~JuL-78 10:10 3762 3763 3764 3765 3766 3767 3768 3769 3770 3771 3772 3773 021306 021314 052737 042737 020000 000200 MACY1T 30A(1052) J 27-JUL-78 12:41 SEEK COMMAND TEST 003204 003204 BIS 8IC T45 7 PAGE 89 #PIP ,3#REINTO+30 ;SAVED RHDSI #DRY ,a~REINTO+3C ;SAVED RHDS1 ;*AFTER GO HAS BEEN GIVEN TO SEEK COMMAND 021322 021326 021330 021332 021334 004037 001632 002110 000023 113737 ;*SAVE REGISTERS AGAIN SO THAT (OMPARISONS (AN ;»BE DONE JSR RO, a#SAVER . SAVE RHW(C JFROM 043312 WRFROM ;10 19. 003201 ;NUMBER OF REGISTERS SAVED ;*AS UPPER BYTE OF RHAS CAN BE CHANGING IN A DUAL PORT ;*OPERATION THE UPPER BYTE OF RHAS WILL BE SAVED AS IS :*SO THAT THE COMPARES ARE ONLY VALID FOR THE LOWER BYTE movs 002135 DIRE INTO+25 ,a#WRFROM+25; SAVE UPPER RHAS ;*COMPARE REGISTERS BEFORE COMMAND ;*WITH CONTENTS AFTER GO IS GIVEN 021342 021346 021350 021352 021354 021356 021360 021362 021366 021370 021376 021400 004037 003154 002110 000023 021362 021362 021402 013705 060505 016537 104001 043514 5¢: 047624 001630 JSR RO, a#(COMPAR ; COMPARE 6% MOV a#ERWORD ,RS JRETURN FOR GOOD COMPARISON ;GETTING READY TO INDEX MOV ERROR RHWC-2(RS) ,a#REGADR ,FAILING REGISTER ADDRESS 1 ; IMPROPER REGISTER CHANGE REINTO WRFROM 19. 5% 5% 042270 ADD RTS 000207 RS5,R5 ;GOOD BUFFER ;TEST BUFFER ;NUMBER JRETURN FOR ERROR . SAME .O0UBLG ERROR WORD ;AFTER COMMAND PC ;WITH GO IS GIVEN JRETURN TO COMPARISON ;*NOW GIVE INIT AND GET GO AND PIP DOWN 021402 021406 021412 052712 013712 012777 000040 001774 000001 6%: 160240 BIS MOV MOV #CLR,aR? ANUNIT ,aR2 #DMD ,aRHMR JRH INJTILIZE JREINSTATE UNIT NUMBER ;SET DIAGNOSTIC MODe BIT ;THIS ENABLES COMMANDS WITHOUT MOL ;AND HOLDS RHLA FROM MOVING ;*CHANGE REGISTERS TO EXPECTED VALUE 021420 021426 021434 021442 021450 042737 042737 052737 017737 005037 000001 020000 000200 160226 003220 003162 003204 003204 003216 8IC BIC BIS MoV CLR #GO,a#REINTO+6_ ;SAVED RHCS1 #PIP ,3#REINTO+30 ;SAVED RHDS1 #DRY ,@#RE INTO+30 ;SAVED RHDS1 aRHLA,a#RE INTO+42,; SAVED RHLA A¥REINTO+44 sSAVED RHCC J*AFTER INITIALIZE SAVE REGISTERS SO THAT . *COMPARES CAN BE DONE SEQ@ 0088 SEQ 0087 CZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.P1T 26-JuL-78 10:10 021454 021460 021462 021464 004037 001632 002110 000023 JSR 043312 RHW(C RO, a#S.\VER WRFROM 7 PAGE 90 SEQ 0089 SEQ 0088 s SAVE JFROM ;10 19. JNUMBER OF REGISTERS SAVED ;*AS UPPER BYTE OF RHAS CAN BE CHANGING IN A DUAL PORT ;*OPERATION THE UPPER BYTE OF RHAS WILL BE SAVED AS IS 021466 113737 003201 ;%SO THAT THE COMPARES ARE ONLY VALID FOR THE LOWER BYTE movs DYRE INTO+25 ,a#WRFROM+25; SAVE UPPER RHAS 002135 ;*COMPARE REGISTERS AFTER INITALIZE 013705 060505 016537 021532 021534 000207 104001 JRETURN POINT FOR ERROR ; SAME 8% 001630 7%: 042270 8%: ;GOOD BUFFER ;TEST BUFFER JNUMBER OF REGISTERS TO BE ; COMPARED 7% 7% 047624 ; COMPARE JRETURN POINT FOR GOOD COMPARISON MOV a#ERWORD ,R5 ;GETTING READY TO INDEX ERROR 1 ;# CONTENTS AFTER GIVING AN COMMAND . ADD MOV RTS R5,R5 :DOUBLE ERROR WORD RHWC=2(RS) ,a#REGADR ;FAILING REGISTER ADDRESS PC JRETURN TO COMPARISON ;6GO0OD COMPARISON O 2E P b 021514 021520 021522 021530 RO, a#(OMPAR R o o F o F P AP 021514 021514 021534 REINTO WRFROM 19. AL aT T 021506 021510 021512 JSR 043514 O S 004037 003154 002110 000023 Al R At AR R o o 021474 021500 021502 021504 O 3818 K 27-JUL-78 12:41 MACY11 30A(1052) T45 SEEK COMMAND TEST C(ZRJGCO,RPO4/5/6 DSKLS CTRLR1 26-JUL~78 10:10 CZRJGC.P11 3848 3849 3850 3851 3852 3853 3854 3855 3856 3857 3858 MACY11 30A(1052) 27-JUL-78 L 12:41 7 PAGE N T45 SEEK COMMAND TEST TST46: #STACK,SP #TTNO,I#TSTNM 012737 004737 001000 000046 042620 002032 SCOPE MOV MOV 021554 012777 000001 160076 MoV #DMD , 3RHMR JINIT AND SET UP GENERAL REG. JAND UNIT NUMBER ;SET DIAGNOSTIC MODE BIT ;THIS ENABLES COMMANDS WITHOUT MOL SAND HOLDS RHLA FROM MOVING 021562 013777 002044 160050 MoV SH#UNLOAD ,aRHCS® ;LOAD UNLOAD COMMAND INTO RH 021534 021536 021542 021550 000004 012706 JSR PC.,a#(CLDISK JRESET STACK ;THIS SAVES TEST NUMBER ;*SAVE REGISTERS FOR CCMPARISON AFTER GO 021570 021574 021576 021600 004037 001632 021602 052777 000001 021632 021636 021640 001100 021646 005737 001053 032777 001047 021650 021654 104401 000441 021656 021760 021764 013746 001774 021624 104405 RO,a#SAVER 19. 000001 020000 000200 021616 RHW( REINTO 003154 000023 052737 052737 042737 021610 JSR 043312 020000 ; SAVE ;FROM ;70 JNUMBER OF REGISTERS SAVED :*GIVE GO TO UNLOAD COMMAND BIS 160030 #GO,aRHCS1 ;GO TO UNLOAD COMMAND :*CHANGE SAVED REGISTERS TO EXPECTED VALUES 003162 003204 003204 BIS BIS 8IC #GO,a#REINTO+6_ ;SAVED RH(CS1 #P1P,a#REINTO+30 ;SAVED RHDS1 #DRY ,a#REINTO+30 ;SAVED RHDS1 TST a#SPASS ;1S THIS FIRST PASS BNE 5% ;BRANCH IF SW13 HIGH BNE BIT 157272 TYPE 5% #SW13,aSWR :BRANCH IF NOT FIRST PASS ;INHIBIT ERROR PRINT HIGH? B8R ,65% 649 ;:TYPE ASCIZ STRING MOV AHUNIT,=-(SP) JUNIT UNDER TEST TYPDS ::GET OVER THE ASCIZ ;*AFTER GO HAS BEEN GIVEN TO UNLOAD COMMAND :*gévggNgEGISTERS AGAIN SO THAT COMPARISONS CAN b 021766 021772 021774 021776 022000 004037 001632 002110 000023 113737 5%: 043312 { JSR RHW( WRFROM RO,Q#SAVER 19. 003201 002135 s SAVE ;FROM :T0 sNUMBER OF REGISTERS SAVED ;*AS UPPER BYTE OF RHAS CAN BE CHANGING IN A DUAL PORT ;*OPERATION THE UPPER BYTE OF RHAS WILL BE SAVED AS IS ;*SO THAT THE COMPARES ARE ONLY VALID FOR THE LOWER BYTE mMovB SNREINTO+25,a#WRFROM+25; SAVE UPPER RHAS :*COMPARE REGISTERS BEFORE UNLOAD COMMAND J*WITH AFTER GO SEQ 0090 SEQ 0089 CZRJGCO,RPO4/5/6 DSKLS CTRLR1 26-JUL-78 10:10 CZRJGC.P1 MACY11 30A(1052) T46 043514 27-JUL-78 M 12:41 UNLOAD COMMAND TEST 7 PAGE 92 JSR RO,a#COMPAR 2% MoV ADD MOV JRETURN FOR GOOD COMPARISON INERWORD ,RS JGETTING READY TO INDEX R5,R5 .DOUBLE ERROR WORD RHW(C-2(RS) ,a#REGADR ;FAILING REGISTER ADDRESS 104001 ERROR 1 022044 000207 RTS PC 022046 022052 022056 052712 013712 012777 022006 022012 022014 022016 022020 022022 022024 022026 022032 022034 004037 00315+ 002110 000023 022026 022026 022046 013705 060505 016537 022042 REINTO WRFROM 19. 1% 1% 1%: 047624 001630 000040 001774 000001 042270 2%: 157574 . COMPARE .GOOD BUFFER sTEST BUFFER ;NUMBER JRETURN FOR ERROR ; SAME ; IMPROPER REGISTER CHANGE JAFTER UNLOAD COMMAND ;WITH GO IS GIVEN JRETURN TO COMPARISON ;*NOW GIVE INIT AND GET ALL GO AND PIP DOWN BIS #CLR,aR?2 JRH INITILIZE MOV MOV AFUNIT ,aR2 #DMD , aRHMR JREINSTATE UNIT NUMBER ;SET DIAGNOSTIC MODE BIT ;THIS ENABLES COMMANDS WITHOUT MOL ;AND HOLDS RHLA FROM MOVING 022064 022072 022100 022106 042737 042737 052737 017737 000001 020000 000200 157562 :*CHANGE REGISTERS TO EXPECTED VALUE #GO,a#REINTO+6_ ;SAVED RHCS1 W#PIP,a#REINTO+30 ;SAVED RHDS1 #DRY ,a#REINTO+30 ;SAVED RHDS? 8IC BIC BIS Mov 003162 003204 003204 003216 @RHLA, a#RE INTO+42; SAVED RHLA ;*AFTER INITIALIZE SAVE REGISTERS SO THAT : *COMPARES CAN BE DONE 022114 022120 022122 022124 004037 001632 002110 000023 043312 JSR RHWC WRFROM RO,a#SAVER 19. 022126 113737 003201 022134 022140 022142 022144 004037 003154 002110 000023 043514 022146 022150 022152 022154 022154 022174 022154 022160 013705 060505 ;FROM .70 JNUMBER OF REGISTERS SAVED ;*COMPARE REGISTERS AFTER INITIALIZE ;*AS UPPER BYTE OF RHAS CAN BE CHANGING IN A DUAL PORT ;*OPERATION THE UPPER BYTE OF RHAS WILL BE SAVED AS IS ;%SO THAT THE COMPARES ARE ONLY VALID FOR THE LOWER BYTE mMovB SNREINTO+25 ,a#WRFROM+25; SAVE UPPER RHAS 002135 JSR REINTO WRFROM 19. RO, a#COMPAR 3%: MOV ADD ; COMPARE .GOOD BUFFER :TEST BUFFER ;NUMBER OF REGISTERS T0 BE ; COMPARED 3% 3% A 3 047624 ; SAVE :RETURN POINT FOR ERROR ; SAME :RETURN POINT FOR GOOD COMPAR]SON a#ERWORD RS RS.,RS ;GETTING READY TO INDEX ;DOUBLE ERROR WORD SEQ 0091 SEQ 0090 CZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.P11 26-JUL~-78 10:10 3960 3961 3962 3963 3964 3965 3966 022162 022170 016537 022172 022174 000207 104001 001630 MACY11 30A(1052) N 7 27-JUL-78 12:41 PAGE 93 UNLOAD COMMAND TEST 042270 MOV T46 A ¥ ERROR RHWC=-2(RS) ,9#REGACR ;FAILING REGISTER ADDRESS 1 ; IMPROPER REGISTER RTS PC JCONTENTS AFTER GIVING AN ;UNLOAD COMMAND JRETURN TO COMPARISON ;GOOD COMPARISON SEQ 0092 SEQ 0091 CZRJGCO,RPO4/5/6 DSKLS CTRLRI 26~JuUL-78 10:10 CZRJGC.P11 3967 3968 3969 3970 2971 3972 3973 3974 3975 3976 3977 3978 3979 3680 3981 3982 3983 3984 3985 3986 3987 3988 3989 3990 3991 3992 3993 3994 3995 3996 3997 3998 3999 4,000 4001 4002 4003 4004 4005 4006 4007 4008 4009 4010 4011 4012 4013 L4014 4015 4016 4017 4018 4019 4020 4021 4022 MACY11 30A(1052) T46 B BIT BEQ JMP 022174 022202 022204 022210 032777 001402 000137 022210 022212 022216 022224 000004 012706 012737 004737 001000 000047 042620 002032 022230 012777 000001 157422 MOV 022236 022244 052777 042777 000004 000004 157414 157406 BIS BIC 000020 156736 023162 6%: TST47: 8 SEQ 0093 SEQ 0092 27-JUL-78 12:41 PAGE 94 UNLOAD COMMAND TEST SCOPE MOV MOV JSR #SW4 ,a5WR 6% TST51 JTEST FOR NO OFFSET OR RTC( JIF = 0, DO THE NEXT TWO TESTS JSKIP THE NEXT TWO TESTS =~====-==w===-- ) ;CONTINUE WITH NEXT TWO TESTS #STACK,SP HTTNO,I#TSTNM JRESET STACK ;THIS SAVES TEST NUMBER PC.,a#CLDISK #DMD , 3RHMR JINIT AND SET UP GENERAL REG. JAND UNIT NUMBER JSET DIAGNOSTIC MODE BIT ;THIS ENABLES COMMANDS WITHOUT MOL JAND HOLDS RHLA FROM MOVING ;*GIVE ONE INDEX PULSE TO CLEAR RHLA BEFORE THE START OF THIS TEST #MINX , SRHMR AMINX , 3RHMR ;SET INDEX PULSE ;CLEAR INDEX ;*TO ENABLE LOOP ON THIS TEST THE POSITIONER HAS TO ;*BE BROUGHT TO CENTER LINE 022252 022260 022264 017777 013711 00521 1574620 002072 022266 022272 022300 022306 022310 012700 012777 012777 005300 001370 000004 000011 000001 022312 004737 042620 022316 012777 000001 MOV MOV INC 157372 @RHCC ,aRHCA a#SEECOM, aR1 aR1 ;SET DESIRED CYLINDER TO RHCC ;SEEK COMMAND TO RHCS1 ;GO TO SEEK COMMAND ;*FOUR SECTOR CLOCKS ARE GIVEN TO TAKE POSITIONER OFF OFFSET POSITION 157360 157352 5%: MoV #4 RO ;COUNTER MOV DEC #DMD , 3RHMR RO JRESET SECTOR CLOCK s COUNT JSR PC,a#CLDISK JINIT AND SET UP GENERAL REG. Mov #DMD , aRHMR MOV BNE 157334 A#MSTCK ! DMD ,aRHMR 5% :SET SECTOR CLOCK ;BRANCH IF NOT COMPLETE JAND UNIT NUMBER ;SET DIAGNOSTIC MODE BIT ;THIS ENABLES COMMANDS WITHOUT MOL JAND HOLDS RHLA FROM MOVING 022324 022332 013777 012777 002074 000001 022340 022344 022346 022350 004037 001632 003154 000023 043312 022352 n52777 000001 157260 8IS 022360 022366 052737 052737 000001 020000 003162 003204 BIS BIS "57306 157310 MOV MoV ANOF SETC,aRHCST #OF 25 ,aRHOF ;LOAD AN OFFSET BIT ;SET AN OFFSET BIT ;*SAVE REGISTERS FOR COMPARISON AFTER GO JSR RHW( REINTO RO,a#SAVER 19. s SAVE ;FROM ;10 ;NUMBER OF REGISTERS SAVED :*GIVE GO TO OFFSET COMMAND #GO,aRHCS1 ;GO TO OFFSET COMMAND :*CHANGE SAVED REGISTERS TO EXPECTED VALUES #GO,@#REINTO+6_ ;SAVED RH(S1 #P1P,@#RE INTO+30 ;SAVED RHDS1 CZRJGCO,RPO4L/5/6 DSKLS CTRLR1 CZRJIGC.P11 26~JUL~78 10:10 4023 4024 4025 4026 4027 4028 4029 4030 4031 4032 4033 4034 4035 4036 4037 4038 4039 4040 4041 4042 4043 4044 4045 4046 4047 4048 4049 4050 4051 4052 4053 4054 4055 4056 4057 022374 042737 000200 MACY11 30A(1052) c 8 PAGE 95 27-JUL-78 12:41 OFFSET COMMAND TEST 003204 BIC 147 #DRY ,a#REINTO+30 ;SAVED RHDS1 ;*AFTER GO HAS BEEN GIVEN TO OFFSET COMMAND ;*SAVE REGISTERS AGAIN SO THAT COMPARISONS CAN ;*BE DONE 022402 022406 022410 022412 004037 001632 002110 000023 JSR 043312 RHW( WRFROM RO,a#SAVER 19. ; SAVE ;FROM ;70 sNUMBER OF REGISTERS SAVED ;*AS UPPER BYTE OF RHAS (AN BE CHANGING IN A DUAL PORT 022414 113737 003201 ;*OPERATION THE UPPER BYTE OF RHAS WILL BE SAVED AS IS ;%SO THAT THE COMPARES ARE ONLY VALID FOR THE LOWER BYTE movs BHREINTO+25 ,3#WRFROM+25; SAVE UPPER RHAS 002135 ;*COMPARE REGISTERS BEFORE OFFSET COMMAND ;*WITH AFTER GO 004037 003154 002110 000023 022442 022442 022462 043514 022442 022446 022450 022456 013705 060505 047624 022460 00207 022422 022426 022430 022432 022434 022436 022440 016537 104001 JSR REINTO WRFROM 19. RO, a#COMPAR 1% 1% 2% 001630 1%: 042270 ; COMPARE ;6GO0D BUFFER sTEST BUFFER sNUMBER JRETURN FOR ERROR ; SAME JRETURN FOR GOOD COMPARISON MOV ADD MOV ERROR @#ERWORD RS ;GETTING READY TO INDEX R5,R5 .DOUBLE ERROR WORD RHWC=-2(R5) ,@#REGADR ;FAILING REGISTER ADDRESS 1 ; IMPROPER REGISTER CHANGE RTS PC JAFTER OFFSET COMMAND JWITH GO IS GIVEN JRE.URN TO COMPARISON ;*NOW GIVE INIT AND GET ALL GO AND PIP DOWN 022462 022466 022472 052712 013712 012777 000040 001774 000001 2%: 157160 BIS MoV MoV #CLR,aR2 SHUNIT ,aR2 #DMD ,aRHMR sJRH INITILIZE SJREINSTATE UNIT NUMBER ;SET DIAGNOSTIC MODE BIT ;THIS ENABLES COMMANDS WITHOUT MOL ;AND HOLDS RHLA FROM MOVING 022500 022506 022514 022522 022530 042737 042737 042737 052737 017737 000001 000001 020000 000200 157140 003162 003172 003204 003204 003216 ;*CHANGE REGISTERS TO EXPECTED VALUE #GO,a#REINTO+6 ;SAVED RHCS1 8IC 8IC BIC BIS Mov #OF 25 ,0#RE INTO+16.; SAVED RHOF #PIP,a#REINTO+30 ;SAVED RHDS1 #DRY ,a#RE INTO+30 .SAVED RHDS1 SRHLA,a#REINTO+42;SAVED RHLA J*AFTER INITIALIZE SAVE REGISTERS SO THAT ; *COMPARES CAN BE DONE 4078 022536 022542 004037 001632 043312 JSP RHW( RO, a#SAVER s SAVE :FROM SEQ 0094 SEQ 0093 04 04 4084 4085 4086 4087 4088 4089 4090 4091 4092 4093 409% 4095 4096 4097 4098 4099 4100 4101 4102 4103 4104 4105 4106 :*AS UPPER BYTE OF RHAS CAN BE CHANGING IN A DUAL PORT 022550 113737 022556 022562 022564 022566 004037 003154 002110 000023 022570 022572 022574 022576 022576 022616 022576 022602 022604 022612 013705 060505 016537 022614 000207 022616 104001 003201 ;*OPERATION THE UPPER BYTE OF RHAS WILL BE SAVED AS IS ;*SO THAT THE COMPARES ARE ONLY VALID FOR THE LOWER BYTE mMovs SHREINTO+25 ,a#WRFROM+25; SAVE UPPER RHAS 002135 ;*(COMPARE REGISTERS AFTER INITIALIZE JSR 043514 REINTO WRFROM 19. RO ,a#COMPAR 3% 4% 3%: 001630 042270 : SAME JRETURN POINT FOR GOCD COMPARISON MOV @#ERWORD ,RS MOV ERROR RHW(C-2(RS) ,a#REGADR ,FAILING REGISTER ADDRESS ; IMPROPER REGISTER 1 ADD RTS (% . GOOD BUFFER JTEST BUFFER ;NUMBER OF REGISTERS TO BE ; COMPARED ;RETURN POINT FOR ERROR 33 047624 ; COMPARE R5,R5 PC JGETTING READY TO INDEX ;DOUBLE ERROR WORD ;CONTENTS AFTER GIVING AN JINITIALIZE FOLLOWING A ;JOFFSET COMMAND JRETURN TO COMPARISON .GOOD COMPARISON . ;NUMBER OF REGISTERS SAVED = ;70 19. CZ! 4 A WRFROM 002110 000023 SEQ 0095 SEQ 0094 a 022544 022546 147 & 4079 4080 4081 4082 4083 MACY11 D 8 27-JUL-78 12:41 PAGE 96 OFFSET COMMAND TEST - (ZRJGCO,RPO4/5/6 DSKLS CTRLR] CZRJGC.P11 26=-JUL-78 10:10 30A(1052) CZRJIGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.P11 26=JUL-78 10:10 4107 4108 4109 4110 AN 6112 4113 4114 4115 4116 4117 4118 4119 4120 621 4122 4123 4124 4125 4126 4127 4128 4129 4130 613 4132 4133 4134 4135 4136 6137 4138 4139 4140 4141 4142 4143 6144 4145 4146 4147 4148 4149 4150 4151 4152 4153 4154 4155 4156 4157 4158 4159 4160 4161 4162 022616 022620 022624 022632 000004 012706 012737 004737 001000 000050 042620 022636 012777 000001" MACY11 30A(1052) 147 TSTS0: E 8 27-JUL-78 12:41 PAGE 97 OFFSET COMMAND TEST SCOPE 002032 MOV MOV JSR #STACK,SP #TTNO,a#TSTNM PC,a#CLDISK 157014 MOV #DMD , aRHMR JRESET STACK ;THIS SAVES TEST NUMBER JINIT AND SET UP GENERAL REG. JAND UNIT NUMBER ;SET DIAGNOSTIC MODE BIT sTHIS ENABLES COMMANDS WITHOUT MOL ;AND HOLDS RHLA fFROM MOVING ;*GIVE ONE INDEX PULSE TO CLEAR RHLA BEFORE THE START OF THIS TEST 022644 022652 052777 042777 000004 000004 157006 157000 8IS BIC AMINX , dRHMR #MINX , aRHMR ;SET INDEX PULSE ;CLEAR INDEX 022660 013777 002076 156752 MOV SHRETCL,aRHCST :LOAD RETURN TO CENTER LINE COMMAND INTO RH(CS1 022666 022672 022674 022676 004037 001632 003154 000023 043312 022700 052777 000001 022706 022712 022720 022726 022730 012700 012777 012777 005300 001370 000004 000011 000001 022732 022740 022746 052737 052737 042737 000001 020000 000200 :*SAVE REGISTERS FOR COMPARISON AFTER GO JSR RHW(C RO,a#SAVER REINTO ; SAVE :FROM :TO0 19. JNUMBER OF REGISTERS SAVED :*GIVE GO TO RETURN TO CENTER LINE COMMAND 156732 BIS 156740 156732 MOV MOV MOV DEC #GO,aRHCS1 ;GO TO RETURN TO CENTER COMMAND :*FOUR SECTOR CLOCKS ARE GIVEN TO TAKE POSITIONER TO CENTER LINE 5%: BNE 003162 003204 003204 #4 RO ;COUNTER MMSTCK!DMD ,aRHMR; SET SECTOR CLOCK #DMD , aRHMR JRESET SECTOR CLOCK ; COUNT RO 5% ;BRANCH IF NOT COMPLETE ;*CHANGE SAVED REGISTERS TO EXPECTED VALUES #GO,a¥REINTO+6_ ;SAVED RHCS1 APIP ,8#REINTO+30 ;SAVED RHDS] #DRY ,a#REINTO+30 ;SAVED RHDS1 BIS BIS BIC ;*AFTER GO HAS BEEN GIVEN TO RETURN TO CENTER LIN- (OMMAND ;*SAVE REG.STERS AGAIN SO THAT (COMPARIGONS (AN 022754 022760 022762 022764 022766 004037 001632 002110 000023 113737 . *BE DONE 043312 JSR RHWC WRFROM 19. 003201 002135 RJ,a#SAVER : SAVE ;FROM ;70 NUMBER OF REGISTERS SAVED ;*AS UPPER BYTE OF RHAS CAN BE CHANGING IN A DUAL PORT ;*OPERATION THE UPPER BYTE OF RHAS WILL BE SAVED AS IS ;*S0O THAT THE COMPARES ARE ONLY VALID FOR THE LOWER BYTE MovB DNRE INTO+25 ,a#WRFROM+25; SAVE UPPER RHAS ;*COMPARE REGISTERS BEFORE RETURN TO CENTER LINE COMMAND SEQ 0096 SEQ 0095 CZRJGCO,RP0O4/5/76 DSKLS CTRLR1 CZRJGC.P11 26-JUL-78 10:10 (163 4164 6165 4166 4167 4168 4169 2};? 4172 4173 41764 4175 4176 4177 21;3 022774 023000 023002 023004 023006 023010 023012 004037 003154 002110 000023 023014 023014 023034 043514 023014 023020 023022 023030 013705 060505 016537 104001 047624 023032 000207 001630 F MACY11 30A(1052) 27-JUL=-78 12:41 PAGE 98 150 RETURN TO CENTER LINE COMMAND TEST :«WITH AFTER GO JSR RO, a#COMPAR REINTO WRFROM 19. 1% 1% 2% 1%: 042270 4184 4185 023034 023040 023044 052712 013712 012777 MOV ADD MOV ERROR RTS 213? 4182 4183 000040 001774 000001 8 2%: 156606 A#ERWORD ,RS :GETTING READY TO INDEX RS.RS :DOUBLE ERROR WORD RHWC=2(RS) ,a#REGADR :FAILING REGISTER ADDRESS 1 : IMPROPER REGISTER CHANGE AFTER RETURN TO CENTER LINE COMMAND :WITH GO IS GIVEN PC JRETURN TO COMPAR]SON 4194 4195 4796 4197 4198 2;88 4201 4202 4203 258? 023102 023106 023110 023112 023114 042737 042737 052737 017737 004037 001632 002110 000023 113737 4206 4207 4208 4209 023122 023126 004037 003154 4212 4213 4214 4215 023134 023136 023140 023142 023142 023162 023142 013705 4210 4211 4218 023130 023132 000001 020000 000200 156574 043312 003201 :RH INITILIZE JREINSTATE UNIT NUMBER ¢ { :THIS ENABLES COMMANDS WITHOUT MOL 4 #CLR,aR2 SSUNIT ,aR2 #DMD , 3RHMR :SET DIAGNOSTIC MODE BIT 002110 000023 ;*AFTER INITIALIZE SAVE :*COMPARES CAN BE DONE JSR RO, a#SAVER RHW( WRFROM 19. ¢ 4 l L L j WRFROM 19. REGISTERS SO THAT : SAVE :FROM :T0 :NUMBER OF REGISTERS SAVED ;TEST BUFFER :NUMBER OF REGISTERS TO BE : COMPARED :RETURN POINT FOR ERROR : SAME :RETURN POINT FOR GOOD COMPAR]SON 3$ 3% 43 047624 3%: 2 4 L [/ L f :«COMPARE REGISTERS AFTER INITIALIZE JSR RO, a#COMPAR : COMPARE REINTO :GOOD BUFFER 043514 “ :*CHANGE REGISTERS TO EXPECTED VALUE BIC #GO,a#RE INTO+6 ;SAVED RHCS1 BIC #PIP ,a#REINTO+30 :SAVED RHDS1 BIS #DRY ,3#RE INTO+30 ;SAVED RHDS1 MOV BRHLA , 3#RE INTO+42; SAVED RHLA :*AS UPPER BYTE OF RHAS CAN BE CHANGING IN A DUAL PORT :*OPERATION THE UPPER BYTE OF RHAS WILL BE SAVED AS IS ;%SO THAT THE COMPARES ARE ONLY VALID FOR THE LOWER BYTE MOVR QHREINTO+2S ., a#WRFROM+25 ; SAVE UPPER RHAS 002135 4 4 4 ¢ 4 4 2 BIS MOV MOV 003162 003204 003204 003216 4 4 A 4 [ 4 4 2 2 ;AND HOLDS RHLA FROM MOVING 023052 023060 023066 023074 (IR CZR ;«NOW GIVE INIT AND GET ALL GO AND PIP DOWN z}gg 4188 4189 4190 4191 2}3% : COMPARE ;GOOD BUFFER :TEST BUFFER ;NUMBER ;RETURN FOR ERROR : SAME :RETURN FOR GOOD COMPAR]SON SEQ 0097 SEQ 0096 MOV a#ERWORD ,RS :GETTING READY TO INDEX { ¢ ¢ : ¢ ¢ ¢ ¢ ¢ ¢ 6219 6220 6221 4222 6223 4224 023146 023150 023156 2552 023160 4227 023162 4228 060505 016537 104001 001630 ADD MOV ERROR 042270 000207 RTS 4%: RS.RS .DOUBLE ERROR WORD RHW(C=2 .R5) ,8#REGADR ;FAILING REGISTER ADDRESS 1 ; IMPROPER REGISTER ;CONTENTS AFTER GIVING AN PC JINITIALIZE FOLLOWING A RETURN TO ;CENTER LINE COMMAND JRETURN TO COMPARISON ;GOOD COMPARISON SEQ 0098 SEQ 0097 pol o] MACY11 30A(1052) 27-JUL=-78 12:41 PAGE 99 750 RETURN TO CENTER LINE COMMAND TEST [gh] -~ 8 NN CZRJIGCO,RPO4/5/76 DSKLS CTRLR1 CZRJGC.P11 26~-JUL-78 10:10 G 023202 012777 000001 156450 #STACK,SP JSR PC.,a#CLDISK MOV MOV #TTNO,a#TSTNM #DMD , IRHMR [ THIS SAVES TEST NUMBER JINIT AND SET UP GENERAL REG. JAND UNIT NUMBER ;SET DIAGNOSTIC MODE BIT ;THIS ENABLES COMMANDS WITHOUT MOL ;AND HOLDS RHLA FROM MOVING 023224 013777 002046 156406 MOV a#RECAL].aRHCST ;LOAD RECALIBRATE COMMAND INTO RH(CS1 023232 023236 023240 023242 004037 001632 003154 000023 043312 023244 052777 000001 023252 023256 023264 023272 023274 012700 012777 012777 005300 001370 023276 023304 023312 052737 052737 042737 :*SAVE REGISTERS fOR COMPARISON AFTER GO JSR RHW( REINTO RO,a#SAVER 19. ; SAVE <FROM ;70 ;NUMBER OF REGISTERS SAVED :*GIVE GO TO RECALIBRATE COMMAND BIS #G0,aRH(CST ;GO TO RECALIBRATE COMMAND 000004 000011 000001 156374 156366 MOV MOV MOV 000001 020000 000200 003162 003204 003204 023332 113737 JSR RHW( WRFROM 19. 002135 RO,a#SAVER s SAVE ;FROM ;T0 JNUMBER OF REGISTERS SAVED ;*AS UPPER BYTE OF RHAS CAN BE CHANGING IN A DUAL PORT ;*OPERATION THE UPPER BYTE OF RHAS WILL BE SAVED AS IS ;%SO THAT THE COMPARES ARE ONLY VALID FOR THE LOWER BYTE MOVB QNREINTO+25 , a#WRFROM+25; SAVE UPPER RHAS A N N N S N Y Y Y Y S ; *CHANGE SAVED REGISTERS TO EXPECTED VALUES #GO,a#REINTO+6 ;SAVED RHCS1 AP]P ,34#REINTO+30 ;SAVED RHDS1 #DRY ,a#RE INTO+30 ;SAVED RHDS1 BIS BIS BIC S s COUNT ;BRANCH IF NOT COMPLETE :*AFTER GO HAS BEEN GIVEN TO RECALIBRATE COMMAND ;*SAVE REGISTERS AGAIN SO THAT COMPARISONS (AN s *BE DONE 043312 003201 RO 5% O DEC BNE #4 RO s COUNTER AMSTCK !DMD,aRHMR; SET SECTOR CLOCK #DMD ,aRHMR JRESET SECTOR CLOCK O 023330 004037 001632 002110 000023 5%: S 023320 023324 023326 ;*FOUR SECTOR CLOCKS ARE GIVEN TO TAKE POSITIONER TO CYLINDER O N N 156366 o S JSET INDEX PULSE :CLEAR INDEX W AP 2 F 2P 2 F 2 #MINX , aRHMR AMINX , aRHMR N BIS 8IC S 156442 156434 N 000004 000004 N 052777 042777 N 023210 023216 N ;*GIVE ONE INDEX PULSE TO CLEAR RHLA BEFORE THE START OF THIS TEST W 3 4239 JRESET STACK 2R 002032 SCOPE MOV R 001000 000051 042620 O 000004 012706 012737 004737 W o TST51: 023162 023164 023170 023176 4240 4241 L2642 4243 4244 4245 4246 4247 4248 4249 4250 4251 4252 4253 4254 «255 4256 4257 4258 4259 4260 4261 4262 4263 4264 4265 4266 4267 4268 4269 4270 4271 4272 4273 4274 4275 4276 4277 4278 4279 4280 4281 4282 4283 4284 SEQ 0099 SEQ 0098 S 4235 4236 4237 4238 30A (1052) 27-JUL-78 12:41 PAGE 100 RETURN TO CENTER LINE COMMAND TEST T 50 N 4229 4230 4231 4232 4233 4234 MACY11 8 o o (ZRJIGCO,RPO4L/5/6 DSKLS CTRLR] CZRJGC P11 26-JUL-78 10:°0 H (ZRJIGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.PIT 26-JuL-78 10:10 MACY11 8 I 30A(1052) 27-JUL-78 12:41 PAGE 101 RECALIBRATE COMMAND TEST T51 ;*COMPARE REGISTERS BEFORE RECALIBRATE (OMMAND 4285 023340 023344 023346 023350 023352 023354 023356 004037 003154 002110 000023 023360 023360 023400 043514 023360 023364 013705 060505 016537 047624 023366 023374 023376 104001 ;*WITH AFTER GO JSR REINTO WRFROM 19. 1% 18 RO.,a#COMPAR 001630 042270 MOV a#ERWORD RS :GETTING READY TO INDEX ERROR 1 s IMPROPER REGISTER CHANGE ADD MOV RTS 000207 ;GOOD BUFFER ;TEST BUFFER ;NUMBER JRETURN FOR ERROR ; SAME J;RETURN FOR GOOD COMPARISON 2% 1%: ; COMPARE R5,RS ;DOUBLE ERROR WORD RHWC=2 (R5) ,a#REGADR ;FAILING REGISTER ADDRESS PC JAFTER RECALIBRATE COMMAND JWITH GO IS GIVEN JRETURN TO COMPARISON ;*NOW GIVE INIT AND GET ALL GO AND PIP DOWN 023400 023404 023410 052712 013712 012777 000040 001774 000001 2%: 156242 BIS MOV MOV #CLR,aR2 SFUNIT ,aR2 #DMD , 3RHMR JRH INITILIZE JREINSTATE UNIT NUMBER ;SET DIAGNOSTIC MODE BIT ;THIS ENABLES COMMANDS WITHOUT MOL ;AND HOLDS RHLA FROM MOVING JSR RHW(C 043312 RO,a#SAVER WRF &OM ;70 19. 023460 113737 003201 023466 023472 023474 023476 004037 003154 002110 043514 023500 023502 023504 023506 023506 023526 023506 013705 ;NUMBER OF REGISTERS SAVED ;*AS UPPER BYTE OF RHAS CAN BE CHANGING IN A DUAL PORT ;*OPERATION THE UPPER BYTE OF RHAS WILL BE SAVED AS IS ;*S0O THAT THE COMPARES ARE ONLY VALID FOR THE LOWER BYTE Movs 002135 SNREINTO+25 ,a#WRFROM+25; SAVE UPPER RHAS ;*COMPARE REGISTERS AFTER INITIALIZE JSR REINTO WRFROM RO, a#COMPAR 19. 000023 3%: MOV . COMPARE ;GOOD BUFFER sTEST BUFFER sNUMBER OF REGISTERS TO BE ; COMPARED JRETURN POINT FOR ERROR ; SAME JRETURN POINT FOR GOOD COMPARISON 3% 3% 33 047624 s SAVE ;FROM A#ERWORD ,RS ;GETTING READY TO INDEX O aR AP O R AR AR O O O J*AFTER INITIALIZE SAVE REGISTERS SO THAT . *COMPARES CAN BE DONE X #GO,a#REINTO+6_ . SAVED RH(S1 APIP ,@#REINTO+30 ;SAVED RHDS1 #DRY ,a#RE INTO+30 ;SAVED RHDS1 ARHLA ,3#RE INTO+42; SAVED RHLA T 020000 000200 156230 ;*CHANGE REGISTERS TO EXPECTED VALUE BIC BIC BIS MOV 003162 003204 003204 003216 N 004037 001632 002110 000023 000001 O 023446 023452 023454 023456 042737 042737 052737 017737 A 2 2 F o SR Ol W Sl S O 023416 023424 023432 023440 Il S 4286 4287 4288 4289 4290 2N 4292 4293 4294 4295 4296 4297 4298 4299 SEQ 0100 SEQ 0099 023526 6%: 2GOOD COMPARISON a X AR AR AR P o 4349 RTS RS,RS -DOUBLE ERROR WORD RHWC=2 .RS5) ,a#REGADR ;FAILING REGISTER ADDRESS 1 . IMPROPER REGISTER ;CONTENTS AFTER GIVING AN JINITIALIZE FOLLOWING A ;RECAL IBRATE COMMAND PC JRETURN TO COMPARISON O 000207 ADD MOV ERROR 042270 o 023524 001630 S 060505 016537 104001 SEQ 0101 S€e 0100 2B LW S 023512 023514 023522 MA(CY11 3CT)A(1052) 27-JUL-78 12:41 PAGE 102 51 RECALIBRATE COMMAND TEST 2B 2 F ¥ 43461 6342 4343 L3464 4345 4346 2%2; 8 FaF W S CZRJIGCO,RPO4/5/6 DSKLS CTRLR1 CZRJIGC P11 26=JUL-78 10:10 J (ZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.P11 26=JuUL-78 10:10 4350 4351 4352 4353 4354 4355 4356 4357 4358 4359 4360 4361 4362 4363 4364 4365 4366 4367 4368 4369 4370 4371 4372 4373 4374 4375 4376 4377 MACY11 30A(1052) 27-JUL-78 K 12:41 8 PAGE 103 751 RECAL IBRATE COMMAND TEST TSTS2: #STACK,SP #TTNO,Q#TSTNM , aRHMR #DMD 023526 023530 023534 023542 000004 012706 012737 004737 001000 000052 042620 002032 SCOPE MOV MOV 023546 012777 000001 156104 MOV JSR PC.a#(CLDISK JRESET STA(CK ;THIS SAVES TEST NUMBER JINIT AND SET UP GENERAL REG. JAND UNIT NUMBER ;SET DIAGNOSTIC MODE BIT ;THIS ENABLES COMMANDS WITHOUT MOL JAND HOLDS RHLA FROM MOVING 023554 013777 002052 023562 023566 023570 023572 004037 001632 003154 000023 043312 023574 023602 052777 052777 000001 000001 MOV 156056 QHRELEASE ,dRHCST ;LOAD RELEASE COMMAND INTO RH(CS1 ;*SAVE REGISTERS FOR COMPARISON AFTER GO JSR RHW( REINTO RO,a#SAVER 19. s SAVE ;FROM ;70 ;NUMBER OF REGISTERS SAVED .*GIVE GO TO RELEASE COMMAND BIS 8IS 156036 156050 #GO,3RHCS1 #DMD ,3RHMR ;GO TO RELEASE COMMAND ;SET DMD TO HOLD RHLA ;*CHANGE SAVED REGISTERS TO EXPECTED VALUES 023610 023616 023624 023630 023632 023634 052737 017737 004037 001632 002110 000023 000001 156052 ;*AFTER GO HAS BEEN GI 'EN TO RELEASE COMMAND BIS MoV 003202 003216 #DMD ,3#RE INTO+26,; SAVED RHMR @RHLA, a#RE INTO+42; SAVED RHLA :*SAVE REGISTERS AGAIN SO THAT (OMPARISONS CAN ;*BE DONE JSR 043312 RHWC RO, a#SAVER WRFROM ; SAVE ;FROM ;10 19. ;NUMBER OF REGISTERS SAVED ;*AS UPPER BYTE OF RHAS CAN BE CHANGING IN A DUAL PORT ;*OPERATION THE UPPER BYTE OF RHAS WILL BE SAVED AS IS 023636 4405 113737 003201 004037 003154 002110 000023 023664 023664 023704 043514 013705 060505 016537 047624 104001 ;%SO THAT THE COMPARES ARE ONLY VALID FOR THE LOWER BYTE movs SHREINTO+25 ,a#WRFROM+25; SAVE UPPER RHAS 002135 ;*COMPARE REGISTERS BEFORE RELEASE COMMAND ;*WITH AFTER GO . COMPARE RO, a#COMPAR JSR REINTO WRFROM 19. 1% 1% ;GO0D BUFFER ;TEST BUFFER :NUMBER RETURN FOR ERROR ; SAME fid 3 001630 1%: 042270 ;RETURN FOR GOOD COMPARI]SON MOV Q#ERWORD ,R5S :GETTING REAYD TO INDEX ERROR 1 ; IMPROPER REGISTER CHANGE ADD MOV R5,R5 :DOUBLE ERROR WORD RHWC~-2(RS) ,d#REGADR ,FAILING REGISTER ADDRESS SEQ 0102 SEQ 0101 023702 023704 000207 2%: RTS PC 104 SEQ 0103 SEQ 0102 JAFTER RELEASE COMMAND JWITH GO IS GIVEN JRETURN TO COMPARISON o S 4406 44607 4408 4409 4410 52 8 L 12:41 PAGE RELEASE COMMAND TEST 27-JUL-78 (WX, IV, 1YLV, LY, TV, TV, IV, IV, TV TV SV TV, TU YU W P LI S o S S o N R o (ZRJGCO,RPO4/5/6 DSKLS CTRLRI CZRJGC.P1 26-JuUL-78 10:10 MACY1T 3?A (1052) C(ZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.P11 26-JUL-78 10:10 MACY11 M 8 PAGE 105 27-JUL-78 30A (1052) RELEASE COMMAND TEST 152 SEQ 0104 SEQ 0103 12:41 4411 4612 4613 4614 4615 4416 4617 4618 4419 4420 4621 4422 4423 4624 4425 4426 4627 4428 4429 4430 4431 4432 4433 4434 4435 4436 4437 4438 4439 4440 4441 4442 4443 4444 4445 023704 023706 023712 023720 023724 023732 023736 001000 000053 042620 000001 045172 023740 023742 023746 023754 TST53: 002032 155726 0 TST54: SCOPE #STACK,SP #TTNO,a#TSTNM PC,a#CLDISK #DMD ,aRHMR KO, R#MAKECYL JRESET STACK ;THIS SAVES TEST NUMBER JINIT DRIVE ;SET DIAGNOSTIC MODE ;SUBROUTINE TO GIVE A SEEK #STACK,SP HTTNO,Q#TSTNM JRESET STACK ;THIS SAVES TEST NUMBER 001000 000054 042620 002032 MOV MoV 023760 012777 000025 155656 MoV #21. ,3RHDST 023766 023772 024000 005077 012777 013711 155660 010000 002054 155650 MOV CLR aRHCA HFMT22 , 3RHOF ¥SERCH,aR1 024004 004037 043312 024010 024012 024014 001632 003154 000023 024016 024022 024026 004737 104401 000000 JSR PC,a#CLDISK ;CHANGE RHCC TO 0 JINIT AND SET UP GENERAL REGISTERS ;*THESE ARE REGULAR SET UPS FOR SEARCH COMMAND MOV ;DESIRED SECTOR/TRACK REGISTER JTRACK 0 SECTOR 21 ;DESIRED CYLINDER =0 ;FORMAT BIT=1 (16 BITS PER WORD) JFILL SEARCH COMMAND IN RHCS! ;*NOW SAVE REGISTERS STARTING FROM RHWC IN WRITE FROM BUFFER JSR RO, a#SAVER RHW(C REINTO 19. JSR 042654 062450 TYPE HALT ;SAVE REGISTERS FOR COMPARISON ;AT THE END OF THE SEARCH ;START SAVING FROM RHW( ;SAVE INTO REINTO JNUMBER OF REGISTERS SAVED PC,a#CHECKT LCPHALT ;CHECK THAT DVA,RDY,DPR,DRY = 1 JAND THAT NO OTHERS = 1. ;STOP THE TEST CANNOT CON- ;*NOW THE DJAGNOSTIC MODE BIT WILL BE SET ;%*AND THE SEARCH OPERATION STARTED 444b 4447 4448 4449 4450 4451 4452 4453 4454 4455 4456 4457 4458 4459 4460 4461 4462 4463 4464 4465 44666 SCOPE MOV MOV JSR MOV JSR 024030 005037 001200 CLR as$TMP1 ;THIS WILL HAVE THE EXPECTED 024034 024040 024044 024050 024054 024060 024066 024072 024076 024100 024104 024110 024112 024116 024122 013700 017703 042703 010337 012710 052777 052710 042710 000240 052710 042710 000240 052710 012710 005703 001660 MOV MOV a#RHMR RO aRHDST ,R3 ;NOW RO HAS MAINTENANCE REG. ADDR. sGET DESIRED SECTOR/TRACK REG. MoV MOV R3,a#SECTR #DMD , 3RO ;DUPLICATE SECTOR ;S 155600 177400 053550 000001 000001 000010 0000°0 000010 000010 00.014 000001 BIC 155552 BIS BIS 8IC NOP 8IS BIC NOP BIS MoV TST #177400,R3 #GO,a3RHCS1 AMSTCK , 3RO AMSTCK,aRO sJVALUE OF RHLA REGISTER JGET SECTOR ONLY ;GO ;SET SECTOR CLOCK ;CLEAR SECTOR CLOCK ;ALLOW TIME BETWEEN SECTOR CLOCKS AMST (K ,aR0 JSET SECTOR CLOCK MMSTCK,aRO ;CLEAR SECTOR CLOCK ;ALLOW TIME BETWEEN SECTOR CLOCKS AMINX!MSTCK ,aR0 ;SET INDEX AND SECTOR CLOCK #DMD , 3RO JRESET INDEX AND SECTOR CLOCK R3 ;IF SECTOR REQUIRED JuMpP QUT CZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.P11 26-JUL-78 10:10 4467 4468 4469 4470 4471 4472 4473 4474 4475 4476 477 4478 4479 4480 4481 4482 4483 4484 4485 4486 4487 4488 4489 4490 4491 4492 4493 4494 4495 4496 4497 4498 4499 4500 4501 4502 4503 4504 4505 4506 4507 4508 4509 4510 4511 4512 4513 4514 024124 4522 154 N 8 27-JUL-78 12:41 PAGE 106 REGISTER AHEAD LOOK BEQ 001555 118 SEQ 0105 SEQ 0104 ;BRANCH OF SECTOR ZERO REQUIRED ;»AFTER THE INDEX PULSE RHLA WILL BE CHECKED TO BE ZERO 024126 024134 024142 024150 024156 024160 024166 024172 024176 024202 024206 012737 017737 017737 023737 001414 013737 160337 012746 163716 012637 104024 001140 157534 155476 0012¢0 053550 001202 001140 001206 001204 001206 001126 001720 001126 1%: ;*AND $TMP4 WILL BE SET UP TO COUNT BYTES MOV #608. ,a#8TMP4L MOV MP @RHDST ,a#DST ;SAVE DESIRED SECTOR TRA(CK a¥STMP1 ,a#SBDDAT ;RHLA SHOULD BE HAVE EXTENSION MOV BEQ MoV 001202 SRHLA ,a#$BDDAT ;THERE ARE 608 BYTES PER SECTOR ;SAVE RHLA JFIELD EQUAL TO ZERO 2% ;BRANCH 1F GOOD QMSECTR,NSTMP2 ;GET SECTOR SOUGHT SuB R3,a¥$TMP?2 :$TMP2 NOW HAS PRESENT SECTOR suB NS TMPSL, (SP) ; (SP)HAS PRESENT BYTE NUMBER MOV MOV ERROR #608.,-(SP) (SP)+,a#8TMP3 24 ;NUMBER OF BYTES PER SECTOR ;PRESENT BYTE NUMBER ;LOOK AHEAD REGISTER AT THE BEGINING OF A ;SECTOR IS IN ERROR ;*NOW THE 304 WORDS WILL START ;*FOR FIRST BYTE CLOCK WILL BE INDEPENDENT OF J*SECTOR CLOCK THEN IT WILL COINCIDE FOREVER TILL ;*THE BEGINNING OF NEXT SECTOR ;*ONE WORD ONLY THAT IS TWO BYTES 024210 024214 024220 024222 024226 024232 024236 024242 024244 024246 024252 024256 024260 012702 012705 000404 052710 042710 052710 042710 005302 001372 005337 012702 005305 001360 000010 000002 2%: 000012 000012 000002 000002 3%: 001206 000007 4%. MOV MOV BR #8. ,R2 #2 ,R5 43 ;BYTE :BYTES PER WORD AMCLK ,aR0 R2 ;s CLEAR CLOCK ;BYTE COUNTER S TMPS #7 ,R2 RS 3% ;BYTE COUNT DOWN ;SETUP FOR SECOND BYTE ;1S WORD COMPLETE? JBRENCH IF NOT COMPLETE BIS 81C BIS H#MSTCK!MCLK,aR0O ;SET SECTOR AND CLOCK AMSTCK !MCLK ,aR0 ;CLEAR SECTOR AND CLOCK #MCLK ,aR0 sSET CLOCK BNE 4% BIC DEC DEC MOV DEC BNE ;BRANCH IF BYTE NOT COMPLETE ;TO GIVE SECTOR CLOCK AND (CLOCK ;*NOW 303 WORDS ARE LEFT ALL ARE IDENTICAL ;*THAT IS 606 IDENTICAL BYTES WILL BE GIVEN J*RHLA WILL BE CHECKED STAR TO COUNT AFTER ;*BEGINNING OF SECTOR PULSE ;*AFTER_128 BYTES (2 BYTES ARE ALREADY GIVEN) ;%S0 127 MORE ;*THEN RHLA WILL BE CHECKED AFTER 128 MORE BYTES ;*THEN RHLA WILL BE CHECKED AFTER 256 MORE BYTES 4515 4516 4517 4518 4519 4520 4521 MACY11 30A(1052) ;*THEN THE TOTAL OF 608 BYTES WILL BE COMPLETED J*AND RHLA WILL BE MADE READY FOR NEXT SECTOR J*AND RHLA WILL BE CHECKED 024262 012705 000100 MOV #64. RS ;RS WILL KEEP TRACK WHEN 024266 012701 000177 Mov #127. ,R1 JFIRST TIME CHECK EXTENSION FIELD JEXTENSION FIELD IS TO BE C(HECKED (ZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.P11 26~JUL~-78 10:10 4554 4555 4556 4557 4558 4559 4560 4561 4562 4563 4564 4565 4566 4567 4568 4569 4570 4571 4572 4573 4574 4575 4576 4577 4578 024332 001357 S$: 000007 000012 0009012 6%: 001206 024334 024342 062737 017737 024350 024356 024 364 024366 024374 024400 024404 024410 024414 017737 023737 001414 013737 160337 012746 163716 012637 024416 060505 010501 000723 024424 024432 024436 024442 024444 024450 062737 024454 024456 005303 001223 024420 024422 104025 052710 042710 000240 052710 042710 SEQ 0106 SEQ 0105 MoV BIS BIC BIS BIC DEC BNE DEC BEQ DEC #7 ,R2 MMSTCK!MCLK ,aR0 AMSTCK !MCLK ,aR0 AMCLK , 3RO AMCLK ,aR0 R2 6% NS TMPS 10% R1 JAFTER 127 MORE BYTES ;CLOCKS PER BYTE COUNTER ;SET SECTOR CLOCK AND CLOCK ;CLEAR SECTOR CLOCK AND CLOCK JSET CLOCK JRESET CLOCK ;COUNT DOWN CLOCKS PER BYTE ;BRANCH IF BYTE NOT COMPLETE ;COUNT DOWN BYTES ;BRANCHOUT IF 608 BYTES DONE ;COUNT DOWN NUMBER OF BYTES BNE 5% ;BRANCH IF EXTENSION FIELD NOT ;TO CHECK EXTENSION FIELD .TO BE CHECKED YET ;*NOW THE EXTENSION FIELD OF ;*WILL BE CHECKED THE LOOK AHEAD REGISTER 000020 155326 001200 001126 ADD MOV #20,a43TMP1 aRHLA ,a#$BDDAT 155270 001720 001126 053550 001202 001140 001206 001202 MoV CMP 8EQ MoV aRHDST ,a#DST ;SAVE DESIRED SECTOR TRA(K a#S$TMP1 ,a#8BDDAT ;CHECK VALUE OF RHLA ’$ ;BRANCH IF GOOD Q4SECTR, I#8TMP2 ;GET SECTOR SOUGHT MOV #608. ,- (SP) 001200 SUB SUB MoV ERROR 001204 000020 000010 000010 001200 ;$TMP2 NOW HAS PRESENT SECTOR A#STMPS, (SP) (SP)+,a#%TMP3 25 . (SP) HAS PRESENT BYTE NUMBER ;PRESENT BYTE NUMBER ;LOOK AHEAD ERROR IN THE MIDDLE ADD MOV BR RS,RS R5.R1 5% 10%: ADD #20,a48TMP1 BIS Lic ;NUMBER OF BYTES PER SECTOR ;OF A SECTOR IS IN ERROR JGET NEXT STEP TO CHECK EXTENSION FIELD ;PUT IN COUNTER JBRANCH BACK SECTOR ;1S NOT COMPLETE AMST(K ,aR0 AMSTCK , QRO ;THESE TWO INSTRUCTIONS GIVE ;ONE SECTOR CLOCK EXTRA BIS AMSTCK ,aRO ;THESE TWO INSTRUCTIONS GIVE DEC BNE R3 1% NOP 000010 000010 JOET TO THE NEXT EXTENSION ;GET RHLA FOR COMPARISON R3,a#$TMP2 7%: BIC HMST(CK,aRO JALLOW TIME BETWEEN SECTOR CLOCK JONE SECTOR CLOCK EARLY ;BEFORE THE NEXT SECTOR ;1S REQUIRED NO OF SECTORS COMPLETE ;BRANCH IF NOT ;*NOW THE REQUIRED SECTOR IS REACHED ;*ONE SECTOR CLOCK WILL BE GIVEN TO GET SECTOR PULSE ;*DOWN AND HENCE ATA UP 024460 024464 024470 024474 024476 024500 012702 052710 042710 005302 001372 052710 000010 000002 000002 000012 — 4553 024330 012702 052710 042710 052710 042710 005302 001372 005337 001436 005301 024272 024276 024302 n) — LX) 4523 4524 4525 4526 4527 4528 4529 4530 4531 4532 4533 4534 4535 4536 4537 4538 4539 4540 4541 4542 4543 45644 4545 4546 4547 4548 4549 4550 4551 4552 B 9 PAGE 107 MACY11 30A(1052) 27-JUL-78 12:41 754 LOOK AHEAD REGISTER MOV BIS BIC DEC #8. .R2 #MCLK , aR0 #MCLK ,aRO R2 BIS H#MSTCK 'MCLK,aR0O ;SET SECTOR AND (CLOCK BNE 12% ;8 CLOCKS sSET CLOCK ;CLEAR CLOCKS s COUND DOWN ;BRANCH IF 8 NOT DONE Czi 2 (ZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.PIT 26-JuL-78 10:10 4579 4580 4581 4582 4583 4584 4585 4586 4587 4588 4589 4590 459 4592 4593 4594 4595 4596 4597 4598 4599 4600 4601 4602 4603 4604 4605 4606 4607 4608 4609 4610 4611 4612 4613 4614 4615 4616 4617 4618 4619 4620 4621 4622 024504 042710 MACY11 30A(1052) 154 c 9 27-JUL-78 12:41 PAGE 108 LOOK AHEAD REGISTER BIC 000012 SEQ 0107 SEQ 0106 H#MSTCK !MCLK,aRO ;CLEAR SECTOR AND CLOCK ;*NOW ALL REGISTERS WILL BE COMPARED ;%SO FILL EXPECTED VALUE INTO SAVED LOCATIONS 024510 024516 052737 053737 024524 024532 024540 052737 052737 013737 100000 003162 003200 BIS BIS 000001 003202 003204 003216 BIS BIS MOV 002016 100000 001200 #SC,aNREINTO+6 ;INCLUDE SC IN SAVED RH(S!1 QNATTENT ,I#REINTO+24 ;FILL APPROPIATE ATTENTION ;IN SAVED RHAS #DMD ,a#REINTO+26 ;SET DMD IN RHMR SAVED HATA,@#REINTO+30 ;SET ATA IN RHDS1 SAVED SNSTMP1 ,a#REINTO+42 ;MOVE EXPECTED VALUE 2 INTO RHLA SAVED ;*AFTER SEARCH COMMAND ;*SAVE REGISTERS AGAIN SO THAT (COMPARES CAN BE DONE 024546 024552 024554 024556 024560 004037 001632 002110 000023 113737 JSR 043312 RHW( WRFROM RO,a#SAVER 19. 003201 s SAVE ;FROM ;10 s NUMBER ;*AS UPPER BYTE OF RHAS CAN BE CHANGING IN A DUAL PORT ;*OPERATION THE UPPER BYTE OF RHAS WILL BE SAVED AS IS ;%SO THAT THE COMPARES ARE ONLY VALID FOR THE LOWER BYTE movs 002135 Q#RE INTO+25,3#WRFROM+25; SAVE UPPER RHAS ;*COMPARE REGISTERS BEFORE SEARCH WITH AFTER 024566 024572 004037 003154 024574 024576 024600 024602 024604 024606 024612 024614 024622 024624 024626 002110 000022 024606 024606 024626 013705 060505 016537 104001 000207 JSR REINTO 043514 RO, a#COMPAR WRFROM 18. 13% 13% 14% 13%: 047624 001630 042270 14%: MOV ADD MOV ERROR RTS ; COMPAR ;GO BUFFER ;TEST BUFFER sNUMBER JRETURN FOR ERROR ; SAME JRETURN FOR GOOD COMPARISON S#ERWORD RS JGETTING READY TO INDEX R5,R5 .DOUBLE ERROR WORD RHWC=2(R5) ,@#REGADR ;FAILING REG. ADDRESS ;CONTENTS OF REGISTER 1 PC ;CHANGED AT END OF s SEARCH czf czt MOV JSR JSR 0 JRESET STACK . THIS SAVES TEST NUMBER JINIT DRIVE ;SET DIAGNOSTIC MODE ;SUBROUTINE TO GIVE A SEEK s CHANGE RHCC TO 0 AL RLRALALALAIALALALALALALALALALALALALALALALALALN LA LA NA LA W 155004 #STACK,SP HTTNO.a#TSTNM PC,a#CLDISK #DMD , 3RHMR RO, 3#MAKECYL CZR CZR ML ALRAL 002032 SEQ 0108 SEQ 0107 mimimLi R SCOPE MOV MOV PAGE 109 e TSTSS: LOOK AHEAD REGISTER 9 e 001000 000055 042620 000001 045172 0D 12:41 e 000004 012706 012737 004737 012777 004037 000000 154 27=-JUL-78 mim 024626 024630 024634 0246642 024646 024654 024660 30A(1052) m 4623 6624 4625 4626 4627 4628 4629 4630 MACY11 - (ZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.P11 26-JUL-78 10:10 4638 4639 4640 4641 4642 4643 4644 4645 4646 Lou? 4648 4649 4650 4651 4652 4653 4654 4655 024662 024664 024670 000004 012706 024676 024702 024706 024712 024714 024716 012700 012701 012720 005301 001374 004737 012737 001000 000056 .SBTTL READ/WRITE ADDRESSING VIA RHMR TSTS6: 002032 051324 000460 177777 1%: 042620 SCOPE SEQ 0109 SEQ 0108 MOV MoV #STACK,SP #TTNO,a#TSTNM JRESET STACK ;THIS SAVES TEST NUMBER MOV MOV MOV #SECGAP RO ;POINTER s " DEC BNE JSR #304. ,R1 #-1,(RO)+ PC,CLDISK s COUNTER ;CLEAR 'DISK'' AREA TO ALL ONES STHIS IS USED TO SET UP GENERAL JREGISTER CORRESPONDENCE s *THESE ARE TO SET UP FOR DISKLESS USE ONLY 024722 012737 010000 024730 024734 024740 024744 024752 024756 024760 005037 005037 005037 012737 004537 052642 052¢52 052644 052646 052650 000400 044026 052642 052702 MoV HFMT22 ,aWCYL JFORMAT 22-16 BIT WORDS AND CLR CLR CLR a#WSECTR NWKEYT :TRACK=0, SECTOR-0 JKEY1=0 MOV JSR wWCYL GCRC AMWKEY?2 #256. ,@#FNWORD RS, a#CRC ;CYLINDER O sKEYZ2=0 ;256 DATAWORDS ;GO TO CALCULATE (RC ;*THESE ARE REGULAR SETUPS FOR RH11 024762 024770 024774 025000 025004 012777 012700 010077 012705 012720 025010 025012 025014 025016 005020 005305 001375 005077 025022 025026 025032 004737 1044601 042654 062450 025034 013711 025040 005037 012777 005077 004737 025044 025052 025056 000000 & 'WRFROM'' QUTPUT BUFFER MOV MOV MOV MOV Mov #-260. ,aRHWC ;256 DATA WORDS 4 HEADER WORDS RO, 3RHBA :BUFFER ‘WRFROM'' CLR DEC BNE CLR (RO) + RS 2% aRHDST JSR PC.,a#CHECKT LCPHALT :AND THAT NO OTHERS = 1. :STOP THE TEST 0020064 MOV ANWRIFOR,aR1 :GET READY FOR WRITE HEADER 002006 010000 154574 052466 CLR SNERFLGS #FMT22 , aRHOF :CLEAR ERROR FLAG ;FORMAT BIT=1 16 BIT WORDS 177374 002110 154634 000403 010000 154642 2%: 154622 TYPE HALT 154576 MOV CLR JSR #WRFROM, RO #259. ,RS #FMT22,(RO) + aRHCA PC,a#COMWHD :BUS ADDRESS TO BE :COUNTER :FORMAT =16 BIT WORD ;SECTOR=0, TRACK=0,KEYS-0, ALL DATA=0 ;& CYLINDER=0....SO CLEAR ALL 'WRFROM'' ;CONTINUE IF ALL 259 NOT COMPLETE :TRACK=0, SECTOR=0 :CHECK THAT DVA,RDY,DPR,DRY 1 CANNOT CON- :AND DATA WITH 62 IN RK(S1 :CYLINDER 0 :WRITE HEADER AND DATA FROM 'WRFROM'' JINTO THE RHMR REGISTER AND BACK INTO ;CORE 'DISK'’ AREA CZR CZR W TV IV IV, [V, TV TV, IV, IV, [V, V, IV YV, IV, IV, IV ] 4631 4632 4633 4634 4635 4636 4637 155 E 9 PAGE 110 27-JuL~78 12:41 MAKE CURRENT CYLINDER = 0 MACY11 30A(1052) (O RV CZRJIGCO,RPO4/5/6 DSKLS CTRLRI CZRJGC.P11 26-JUL-78 10:10 4705 4706 4707 <708 4709 4710 4711 4712 4713 4714 4715 4716 6“7 4718 4719 4720 4721 4722 4723 4724 4725 4726 6727 4728 4729 4730 4731 4732 4733 4734 4735 30A(1052; 756 27=-JUL-78 F 12:41 9 SEQ 0110 SEQ 0109 PAGE 1M WRITE HEADER AND DATA 1 M COMES BACK HERE WITHOUT ERROR :*]F THE PROGR/ ;*PRINT OUTS FROM THE '‘COMWHD'' ROUTINE THAT MEANS ;*ALL HEADER ON DISK IS GOOD IE. ONLY DATA [S ;+T0 BE CHECKED TO SEE IF IT IS ZERO ;*AND WRITE DATA GAP AND TOLERANCE GAP TO SEE IF THEY ;*ARE ALL ZFROS (ECC1 AND ECC2 MAY NOT BE 0) AS WELL AS ;*(HECKING RHWC FOR ZERO 025062 025070 025072 017737 001401 154544 025074 025100 025102 025106 025112 025114 025120 005737 001034 004737 002006 001126 000000 005037 005037 aRHWC , $BDDAT BEQ 104040 104401 MOV 5¢: ERROR 40 . SHOULD HAVE COUNTED UP TO ZERO TST BNE AX¥ERFLGS 1STS7 JHAVE ANY ERRORS OCCURED? ;;BRANCH IF YES LCPHALT :CANNOT CONTINUE TESTING IF JSR 043044 062450 TYPE HALT (LR 052622 052424 ;:MOVE WORD COUNTER INTO BAD DATA 5% (LR PC.,a#CHECKE SMWECCT SHWECC? JRHWC DID NOT = O AFTER A WRITE JHEADER AND DATA :CHECK THAT BITS - 1 ;STOP THE TEST ;CLEAR ECC THEY DON'T :*REINTO BUFFER IS FILLED WITH EXPECTED DATA OF ALL 0'S JSR RO,a#CLAREA :CLEAR "REINTO'’ 025124 025130 025132 025134 025136 004037 003154 006214 000000 005037 042536 002006 CLR 025142 025146 025150 004037 003154 051422 000421 025162 025166 025172 043514 ;*COMPARE 'REINTO'' BUFFER WITH 'DISK'® BUFFER s CHECK RO.,a#(OMPAR JSR 025152 025154 025156 025160 025162 025164 025166 :FROM REINTO+<272.%2> ;70 .WORD S#ERFLGS REINTO DISK 3% 104010 L% WITH ZEROS JNUMBER OF WORDS CHECXED JRETURN POINT FOR ERROR HEADER 43 TSTS57 ERROR RTS ERROR JFILL ;CLEAR ERROR FLAG ;GO0D BUFFER sTEST BUFFER 273. 3s 104007 000207 REINTO o L687 4,688 L6859 4690 4691 4692 4693 4694 4695 4696 4697 4698 4699 4700 4701 4702 4703 4704 MACY11 JRETURN POINT FOR ERROR DATA 7 PC 10 JRETURN FOR GOOD COMPAR]SON JREAD ERROR10 NEXT ;RETURN TO '‘COMPAR'’ JWORD NOS 1 TO 256 ARE ;DATA WORDS ;257 AND 258 ARE ECC s ZEROED OUT 025170 000207 RTS PC ;259 TO 273 TOLERANCE GAP CZR CZR AL AL AL AL ALALALALALALALALALALALALALALALA LA U LA LA LA LA LA LA WA VLU U U D VT N DA VDN N N A NN AN (VI] (ZRJIGCO,RPO4/5/6 DSKLS CTRLR) CZRJGC P11 26-JuL-78 10:10 4764 4745 4746 4767 4768 4749 4750 4751 4752 4753 4754 4755 4756 4757 4758 4759 4760 4761 4762 4763 4764 4765 4766 4767 4768 4769 4770 4771 4772 4773 4774 4775 4776 4777 4778 4779 4780 4781 4782 4,783 (784 4785 4786 4787 4788 4789 4790 4791 025172 025174 025200 000004 012706 012737 001000 000057 025206 025212 025216 025220 025222 025224 012700 012701 005020 005301 001375 004737 051324 000460 TST57: SCOPE MOV #STACK,SP JRESET STA(K MOV MOV #SE CGAP RO #304. R JPOINTER ;COUNTER DEC BNE R1 19 MOV 002032 $: 042620 (LR SEQ 0111 SEQ 0110 H#TINO,a#TSTNM ;THIS SAVES TEST NUMBER (RO)+ ;CLEAR SIMULATED 'DISK'® AREA IN (CORE JSR PC,a#CLDISK ;THIS 1S USED TO SET GENERAL REGISTERS :*THESE ARE TO BE SETUP FOR DISKLESS USE ONLY 025230 012737 010000 052642 MOV NFMT22 .aMwW( YL 025236 025244 025250 025254 025262 025266 025270 012737 005037 005037 012737 004537 0526462 052652 000001 052646 052650 000400 044026 052644 MOV (LR #1,aMWSECTR AMIKEYT 052702 MOV JSR CLR WwCYL GCRC : : SMWKEY?2 #256. ,9#FNWORD RS,a#CRC ;FORMAT 22 = 16 BIT WORDS AND ;CYLINDER O :TRACK=0, SECTOR=1 :KEY1=0 ;JKEY2=0 ;256 DATA WORDS ;GO TO CALCULATE CRC :*THESE ARE REGULAR SETUPS FOR THE RH11 AND ‘WRFROM'' BUFFER MOV MOV MOV #-260. ,aRHW( #WRFROM RO RO,aRHBA MOV HFMT2?2, (RO) + MOV (LR #1,(R0)+ (RO)+ MOV ggg #256. RS ;;1.(R0)* B8ME MOV 3% #1,8RHDST :BRANCH IF DATA NOT COMPLETE :TRACK=0 SECTOR=1 042654 062450 JSR PC.,a#CHECKT ;CHECK THAT DVA,RDY,DPR,DRY - 1 01371 002064 MOV a#WRIFOR ,aR1 005037 012777 005077 004737 002006 010000 CLR MOV A#ERFLGS HFMT 22, aRHOF 025272 025300 012777 012700 010077 177374 002110 154324 025310 012720 010000 025314 025320 025322 025324 025330 025334 025336 025340 012720 005020 005020 012705 012720 0C<305 001374 012777 000001 025346 025352 025356 004737 104401 025360 025364 025370 025376 025402 025304 000000 154332 2%: CLR 000400 zr777 000001 154250 052466 3% 154276 TYPE HALT 154252 CLR JSR (RO)+ LCPHALT oRHCA PC.,a#COMWHD ;256 DATA WORDS &4 HEADER WORDS JTHESE TWO INSTRUCTIONS GETS :ADDR. OF WRFROM INTO RO AND ;BUS ADDRESS REGISTER ;FORMAT=16 BIT WORDS ;CYLINDER=0 :TRACK=0, SECTOR-1, KEYS=0 JKEY1=0 ;KEY2=0 JCOUNTER ;MOVE ALL ONES FOR DATA JAND THAT NO OTHERS = 1. ;STOP THE TEST CANNOT (CON- ;GET READY FOR WRITE HEADER AND ;DATA WITH 62 IN RH(CS1 ;CLEAR ERROR FLAG ;FORMAT BIT=1 (16 BIT WORDS) ;CYLINDER =0 :WRITE HEADER AND DATA INTO 'DISK'' AREA ;*]F THE PROGRAM (OMES BACK HERE WITHOUT ERROR PRINTOUTS ;*FROM THE ''COMWHD'‘ ROUTINE THAT MEANS ALL THE HEADER ON 'DISK' ;*1S GOOD IE. ONLY THE DATA IS TO BE CHECKED TO SEE IF IT IS J*ALL ONES AND WRITE DATA GAP AND TOLERANCE GAP TO SEE IF VARV RV IV TV, [V, XV, XV, TV TV, XV, SV TV, XV IV RV V. IV RN > o} I &7% 4737 4738 4739 4740 4761 4762 4743 26-JUL-78 10:10 9 G 12:41 PAGE 112 AND DATA 1 3?A (1052 27-JuUL=78 56 WRITE HEADER oM JZRJGC.PY MACYTT ~ N (2RJIGCO,RPO4/5/76 DSKLS CTRLRI CZRJGCO,RPO4/5/6 DSKLS CTRLRT CZRJGC.P1N 4796 4797 4798 4799 4800 4801 4802 4803 4804 4805 4806 4807 4808 4809 4810 0256406 025414 025416 017737 001401 001126 104040 025420 025426 005737 001041 025436 025440 025444 000000 005027 005037 025426 025432 1564220 004737 104401 002006 6%: SEQ 0112 SEQ 0111 PAGE 113 WRITE HEADER AND DATA 2 AND ECCZ ARE NOT (HECKED. ;*RHWC IS CHECKED TO BE = 0 MOV BEQ ERROR aRHW(C , $BDDAT 6% 40 ;LOAD WORD COUNTER JUST IN CASE JSHOULD BE = 0 JRHWC DOES NOT = 0 AFTER A WRITE TST a#ERFLGS ;HAVE ANY ERRORS OC URRED? 043064 062450 B8NE JSR TYPE 052422 0524264 CLR HALT CLR TST60 PC,a#CHECKE ,CPHALT HWECCT AFWECC?2 ;HEADER AND DATA ]S COMPLETED ; :BRANCH [F YES :CHECK THAT BITS -1 ;CANNOT CONTINUE TESTING IF ;STOP THE TEST JCLEAR ECC THEY DON'T ;CLEAR ECC J*FILL "REINTO' BUFFER WITH EXPECTED DATA OF ALL 1°'S 025450 025454 0256456 025460 025462 025466 025470 025472 004037 003154 004152 177777 004037 004154 004214 000000 042536 4820 025474 005C37 002006 4823 4824 4825 4826 4827 4828 4829 4830 4831 4832 4833 4834 4835 4836 4837 4838 4839 4840 4841 4842 4843 4844 4845 12:41 9 ;*THEY ARE ALL ZEROS, - ECCY 4811 4812 4813 4814 4815 4816 4817 Zg}g 4821 4822 27-JuL-78 H JSR RO,a#CLAREA . WORD REINTO+<255.+2> ;70 ;DATA -1 JSR 042536 REINTO RO,a#(C! AREA REINT0+<256.+2> REINTO+<272.%2> 0 CLR AHERFLGS JFILL REINTO BUFFER ;FROM JFILL REST JFROM .10 :DATA ;CLEAR ERROR FLAG ;*NOW COMPARE 'DISK'' BUFFER WITH "REINTO'' BUFFER IN CORE 025500 025504 025506 025510 025512 025514 025516 025520 025522 025524 004037 003154 051422 000421 025520 025524 025530 104007 000207 104010 JSR 043514 REINTO DISK ¥ A 273. 4% 5% TST60 ERROR RO, a#COMPAR 7 s CHECK .GOOD BUFFER sTEST BUFFER JNUMBER JRETURN JRETURN JRETURN OF WORDS CHECKED POINT FOR ERROR HEADER POINT FOR ERROR DATA FOR GOOD COMPAR]SON ;READ ERROR 10 NEXT JRETURN TO COMPARE ;WORD NOS 1 TO 256 ARE 5%: :DATA WORDS JWORD NOS 257 AND 258 JARE ECC WHICH HAVE BEEN s ZEROED ;WORD NOS 259 ;1S DATA GAP JWORD NOS 260 10 273 025526 000207 RTS PC sARE TOLERANCE GAP JRETURN TO (OMPARE (WX, TV, IV IV AV TV NV TV TV, IV RV LV RV TV, LV TV, RV, RV, RV RV SV, RV, LV, [V, LV RV RV, T, LV, LV, LV, 4792 4793 4794 4795 26-JuL-78 10:10 MA(CY11 3??;1052) 4848 4849 4850 4851 4852 4853 4854 4855 4856 4857 4858 4859 4860 4861 4862 4863 4864 4865 4866 4867 4868 4869 4870 4871 4872 4873 4874 4875 4876 025530 025532 025536 000004 012706 012737 025544 025550 025554 025560 025562 025564 012700 012701 012720 005301 001374 004737 001000 000060 TST60: 002032 051324 000460 200377 1%: 042620 SCOPE MOV MOV #STACK,SP #TTNO,a#TSTNM ;RESET STACK :THIS SAVES TEST NUMBER MOV MOV MOV DEC #SECGAP RO #304. R :POINTER ;COUNTER BNE JSR R 13 PC,CLDISK H ;*«THESE ARE fi???.(RO)* :LOAD SIMULATED 'DISK'’® AREA WITH 377 : ;THIS IS USED TO SET UP GENERAL JREGISTER CORRESPONDENCE TO BE SETUP FOR DISKLESS USE ONLY 025570 012737 010000 052642 MOV NFMT22,aMWCYL ;FORMAT 22=16 BIT WORDS AND 025576 025604 025610 025614 025622 025626 025630 012737 005037 005037 012737 004537 052642 52652 000401 052646 052650 000400 044026 052644 MOV CLR 052702 MOV #6071 ,a#4WSECTR FWKE Y1 DFWKEY2 ;TRACK=1, SECTOR-1 SKEY1=0 sKEY2=0 CLR JSR wlyYL GCRC #256. ,a#FNWORD R5,a#CRC :«THESE ARE JCYLINDER O ;256 DATA WORDS ;GO TO CALCULATE CRC REGULAR SETUPS FOR RH11 AND 'WRFROM'' BUFFER MOV MOV #-260. ,aRHW( MWRFROM,RO 153764 MOV RO, aRHBA 012720 010000 MOV H#FMT22, (RO)+ 012720 005020 005020 012705 012720 005305 001374 012777 000401 2%: MOV 000400 052525 3%: MOV MoV DEC #4017, (RO)+ (RO)+ (RO)+ ;FORMAT=16 BIT WORDS ;CYLINDER=0 :TRACK=1, SECTOR=1, KEYS O ;KEY1=0 :KEY2=0 3% ;JBRANCH IF DATA NOT COMPLETE 025706 025712 025716 004737 025720 025724 025730 025736 025742 025632 025640 012777 012700 177374 002110 025644 010077 025650 025654 025660 153772 CLR CLR BNE #256. ,RS #052525,(RO)+ RS ;256 DATA WORDS 4 HEADER WORDS sTHESE TWO INSTRUCTIONS GET JADDR. OF WRFROM INTO RO ;AND BUS ADDRESS REGISTER ;COUNTER ;MOVE ALTERNATE ONES FOR DATA s COUNT MOV #401,aRHDST 042654 062450 JSR PC,a#CHECKT 013711 002064 MOV aAWRIFOR,aR1 ;GET READY FOR WRITE HEADER 005037 012777 005077 004737 002006 010000 153710 CLR a¥ERFLGS #FMT22 ,aRHOF ;CLEAR ERROR FLAG ;FORMAT BIT=1(16 BIT WORDS 104401 000000 000401 052466 153736 TYPE HALT 153712 MoV CLR JSR ;«]F LCPHALT aRHCA PC,a#COMWHD ; TRACK=1 SECTOR=1 ;CHECK THAT DVA,RDY,DPR,DRY = 1 JAND THAT NO OTHERS = 1. ;STOP THE TEST CANNOT CON- JAND DATA WITH 62 IN RHCS1 s CYLINDER=0 JWRITE HEADER AND DATA INTO 'DISK'' CCRE THE PROGRAM (OMES BACK HERE WITHOUT ERROR PRINTOUTS ;*FROM THE '‘COMWHD'' ROUTINE THAT MEANS ALL HEADER IN ~NN SEQ 0113 SEQ 0112 114 FENIVVIVIVIVIVIE R P 4846 4847 MACY11 9 o (ZRJIGCO,RPO4/5/6 DSKLS CTRLRI CZRJIGC.P11 26-JuL-78 10:10 I PAGE 30A(1052) 27=-JUL-78 12:41 WRITE HEADER AND DATA ? 157 4902 4903 4904 4905 4906 4907 4908 4909 4910 LN 4912 4913 4914 495 4916 4917 4918 4919 4920 4921 4922 4923 4924 495 4926 4927 4928 4929 4930 4931 4932 4933 4934 4935 4936 4937 4938 4939 4940 4941 4942 4943 4944 4945 4946 4947 4948 4949 4950 4951 4952 4953 4954 4955 4956 4957 SEQ 0113 ;*'DISK'" IS GOOD. DATA IS TO BE CHECKED TO SEE ;*IF IT IS ALL 052525 AND WRITE DATA GAP AND ;~TOLERANCE GAP TO SEE IF THEY ARE ALL ZEROS. ;*RHWC ]S CHECKED TO BE = 0 025746 025754 025756 017737 001401 153660 MOV 001126 BEQ ERROR 104040 dRHWC , $BDDAT 6% 40 JLOAD AND TEST FOR ZERO JRHWC SHOULD = 0 JRHWC DID NOT = O AFTER A WRITE JHEADER AND DATA WAS COMPLETED ;*ONLY ECC1 AND ECC2 ARE NOT CHECKED 025760 025764 025766 025772 025776 026000 026004 005737 001041 004737 104401 000000 005037 005037 002006 6%: TST 8NE a#ERFLGS TST61 JHAVE ANY ERRORS OCCURED? ;JBRANCH IF YES TYPE JCPHALT ;CANNOT CONTINUE TESTING IF JSR 043044 062450 HALT CLR 052422 052424 CLR PC.,a#CHECKE SMECCT aMWECC?2 ;CHECK THAT BITS =1 ;STOP THE cCLEAR ECC TEST THEY DON'T JCLEAR ECC J*FILL 'REINTO'' BUFFER WITH EXPECTED DATA 026010 026014 026016 026020 026022 026026 026030 026032 026034 004037 003154 004152 052525 004037 004154 004214 000000 005037 JSR 042536 REINTO RO,a#CLAREA REINTO+<255.%2> 52525 .WORD RO,a#CL*REA JSR REINTO+<256.%2> REINTO+<272. %2> O .WORD CLR S#ERFLGS 042536 002066 JFILL REINTO BUFFER ;FROM :T0 :DATA JFILL REST ;FROM ;10 :DATA ;CLEAR ERROR fLAG ;*NOW COMPARE 'DISK'' BUFFER WITH '‘REINTO'" BUFFER IN CORE 026040 026044 026046 026050 026052 026054 026056 026060 026062 026064 026066 004037 003154 051422 000421 026060 026064 026070 104007 000207 104010 000207 JSR 043514 REINTO DISK RO, a#COMPAR 273, ¥ A 5%: 4% 5% TST61 ERROR RTS ERROR RTS s CHECK .GO0OD BUFFER sTEST BUFFER ;NUMBER OF WORDS CHECKED 7 PC 10 PC JRETURN POINT FOR ERROR HEADER JRETURN POINT FOR ERROR DATA JRETURN FOR GOOD COMPARISON ;READ ERROR 10 NEXT JRETURN TO COMPARE JWORD NOS 1 TO 256 ARE ;DATA WORDS JWORD NOS 257 AND 258 JARE ECC WHICH HAVE BEEN . ZEROED ;WORD NOS 259 ;1S DATA GAP ;WORD NOS 260 TO 273 sARE TOLERANCE GAP JRETURN TO COMPARE CZR. P SEQ 0114 ~ 160 J 9 PAGE 115 12:41 27-JUL-78 WRITE HEADER AND DATA 3 (e C(2ZRJIGCO,RPO4L/5/6 DSKLS CTRLR1 CZRJGC.P1I 26-JuL-78 10:10 MACY11 30A(1052) ~ o CZR. vV NIAN N AN NN U SEQ 0115 SEQ 0114 VARV, AV AV, RV, RV, RV RV, RV, MACY11 30A(1052) 27-JuL-78 12:41 PAGE 116 160 WRITE HEADER AND DATA 3 ARV IV RV, RV, TV, TV, LV TV 4958 4959 9 o CZRJIGCO,RPO4/S5/6 DSKLS CTRLR1 CZRJGC.P11 26=JuL-78 10:10 K (ZRIGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC P11 26-JUL-78 10:10 4974 4975 4976 4977 4978 4979 4980 4981 4982 4983 4984 026070 026072 026076 000004 012706 012737 026104 026110 026114 026120 026122 026124 012700 012701 012720 005301 001374 004737 001000 000061 160 TST61: 002032 051324 000460 177777 1%: 042620 L 012737 010000 026136 026142 026146 026152 026160 026164 026166 005037 005037 005037 012737 004537 052642 052652 052644 052646 052650 000400 044026 052642 052702 SEQ 0116 SEQ 0115 SCOPE MOV MoV #STACK,SP #TTNO,I#TSTNM JRESET STA(K MOV MOV MOV #SECGAP RO #304. R #-1,(RO)+ R1 1% PC.CLDISK sPOINTER s COUNTER DEC BNE JSR ;*THESE ARE 026130 9 PAGE 117 27-JuL-78 12:41 WRITE HEADER AND DATA 3 HFMT22 ,aWCYL CLR CLR CLR AHWSECTR ] SHWKEY JSR WCYL GCRC ;CLEAR DISK AREA TO ALL ONES. * “THIS IS USED TO SET GENERAL *REGISTERS TO SET UP FOR DISKLESS USE ONLY MoV MOV s THIS SAVES TEST NUMBER MWKEY?2 #256. ,d#F NWORD R5,a#(CRC :FORMAT 22=16 BITWORDS AND JCYLINDER O ;TRACK=0, :KEY1=0 SECTOR-0 JKEY2=0 ;256 DATAWORDS ;GO TO CALCULATE CRC ;*THESE ARE REGULAR SETUPS 026170 026176 026202 0262” ¢ 012777 012700 010077 012705 012720 026216 026220 026222 026224 005020 005305 001375 005077 026230 026234 004737 026240 104401 000000 026242 013711 002064 026246 026252 002006 010000 153366 000001 000001 026302 005037 012777 005077 012777 052777 000240 052777 000001 153330 026310 026314 026322 026324 004737 032737 001404 013737 042224 002000 001714 001636 001122 02¢ 177374 002110 153426 000403 010000 153434 2%: 153414 042654 062450 #-260. ,aRHWC MOV MOV MOV MOV MoV H#WRFROM RO RO, aRHBA #259. ,R5 HFMT22, (RO) + CLR DEC BNE CLR aRHDST JSR PC.a#CHECKT TYPE HALT LCPHALT MoV S#WRIFOR,aR1 CLR a#ERFLGS HFMT22 ,aRHOF 153370 MOV 153366 153340 MOV BIS CLR NOP BIS JSR BIT BEQ MoV ;256 DATA WORDS 4 HEADER WORDS ;FROM BUFFER 'WRFROM'' :IN BUS ADDRESS s COUNTER ;FORMAT =16 BIT WORD s CYLINDER=0 :SECTOR=0, TRACK=0,KEYS-O, ALL DATA=0 s COUNT JBRANCH IF ALL 259 NOT COMPLETE ;TRACK=0, SECTOR=0 ;CHECK THAT DVA,RDY,DPR,DRY - 1 JAND THAT NO OTHERS = 1. :STOP THE TEST ;GET RcADY FOR WRITE HEADER JAND DATA WITH 62 IN RHCS1 sCLEAR ERROR FLAG ;FORMAT BIT=1 16 BIT WORDS aRHCA #DMD , dRHMR #GO,a3RHCS JCYLINDER O :gST DIAGNOSTIC MODt #GO,3RHCS1 ;THIS GO SHOULD SET PGE PC,a#PUTREG #265.8#(51 ;SAVE REGISTERS ;1S PGE SET ;BRANCH IF GOOD 3 HRH(S2 ,a#$BDADR CANNOT CON- S ARVARVL RV A LU VALV AP LRV RV, VARV, 4960 4961 4962 4963 4964 4965 4966 4967 4968 4969 4970 497N 4972 4973 MACY11 30A(1052) CZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.P11 26=JUL~78 10:10 5016 5017 5018 026332 026334 MACY11 30A(1052) T61 104037 M 9 PAGE 12:41 PROGRAM FRROR RH(SZ2 #10 27-JuL-78 ERROR 3%: 37 SEQ 0117 SEQ 0116 118 ;PGE DID NOT SET WHEN A WRITE JWAS ATTEMPTED WITH ONE IN PROGRESS (ZRJIGCO,RPO4L/5/6 DSKLS CTRLR1 CZRJGC.P1T 26-JUL-78 10:10 5019 5020 5021 5022 5023 5024 5025 5026 5027 5028 5029 5030 5031 5032 5033 5034 5035 5036 5037 5038 30A(1052) 161 M2 *R& . .3 . b . A s W . 2 1 . A] . * A% . * Wk [ c kR . Ai . 81 . * kN . A N 9 PAGE 119 27-JUL-78 12:41 PROGRAM ERROR RHCS2 #10 SeQ 0118 SEQ 0117 THESE TESTS ARL THROUGH THE MAINTAINABILITY REGISTER - RHMR THE SECTOR GAP AND SYNC BYTE ARE ALWAYS READ AS ZEROS AND 144000 NO MATTER WHAT IS IN THE SIMULATED DISK AREA TAGGED SECGAP: AND WSSYNC: THE HEADER CONSISTING OF CYLINDER ADDRESS, TRACK AND THE KEYS ARE READ FROM LOCATION SECTOR, CYL:, SECTOR:, KEY1:, AND KEY2 AND NOT FROM HEADER: ON SIMULATED DISK CRC IS READ FROM SIMULATED DISK LOCATION WCRC: HEADER GAP IS ALWAYS READ AS ZEROS NO MATTER WHAT IS ON THE SIMULATED DISK AREA THE DATA SYNC IS READ ON SIMULATED DISK FROM HDWSYN: ALL DATA IS READ FROM SIMULATED DISK DISK: 112737 112737 012737 012737 012737 005037 004537 047504 051404 004737 012777 012777 MOV MOV 1%: 000021 010000 000000 000000 000000 000000 000400 047514 044026 042620 177374 112746 112766 2%: 047504 047507 047506 047510 047512 047564 104040 005737 001046 004737 104401 000000 012700 012720 112746 112766 012620 002006 20%: 043044 062450 002i10 010000 000000 000000 CLR JSR RS .a#CRC cyL WCRC 001126 000001 ;DATA TO BE READ s COUNTER ;START OF SIMULATED DISK DATA ;MOVE IN DATA ON TO SIMULATED DISK ;COUNT JBRANCH IF 256 NOT COMPLETE JUNDO -(SP) ;2 ECC WORDS ;CLEAR ECC, DATA GAP, AND . TOLERANCE GAP 2% ;BRANCH IF NOT COMPLETE RO'FMT22.,a#CYL ;16 BITS PER WORD MOV MoV 153132 153126 #C,~-(SP) #256. ,RS #D]ISK,RO (SP),(R0O)+ RS 1% (SP)+ #17..RS5 (RO)+ RS #0,34#SECOTR+1 #0,a#SECOTR #0,aKEY #0,a#KEY2 MOvVB 153116 002070 002006 047344 153042 TST MoV CLR DEC movB MOV 104401 000000 013711 005037 004737 017737 001401 DEC MOV 000001 012677 012777 005077 004737 MOV MOV JRESET STA(CK ;THIS SAVES TEST NUMBER JSR MOV MOV MOVB Movs MOV MoV CLR JSR TYPE HALT MoV CLR JSR MOV BEQ ERROR TST BNE JSR TYPE HALT MoV MOV MOVB MOVB MOV #256. ,3#DAWORD asx JTRACK O ;SECTOR O ;JKEY1=0 ;KEY2=0 :NO. OF DATA WORDS ;THIS IS A READ COMMAND .GO TO CALCULATE CRC PC,a#CLDISK ;SETUP GENERAL REGISTERS #REINTO,aRHBA ;STARTING ADDRESS OF READ BUFFER 2256. DATA 4 HEADER WORDS #0,-(SP) ;IN LOWER BYTE GET SECTOR #0,1(SP) ;GET TRACK IN HIGHER BYTE (SP) +,3RHDST sTRACK/SECTOR IN RHDST NMFMT22'ECI,ARHOF ;16 BITS PER WORD aRHCA ;CYLINDER O PC,a#CHECKT LCPHALT a#REFOR,aR1 a#ERFLGS PC ,a#COMHD aRHWC , $BDDAT 208 40 A#ERFLGS 7ST63 PC,a#CHECKE LCPHALT ;CHECK THAT DVA,RDY,DPR,DRY =1 ;AND THAT NO OTHERS = 1. (CANNOT CON;STOP THE TEST ;READ HEADER AND DATA=7? .CLEAR ERROR FLAG READ HEADER AND DATA ;LOAD AND TEST RHW(C JSHOULD = 0 ;RHWC DOES NOT = 0 AFTER A READ ;ANY ERRORS ALREADY THERE ;BRANCH ]F YES ;CHECK THAT BITS =1 sCANNOT CONTINUE TESTING IF THEY DON'T ;STOP THE TEST ;GETTING READY TO FILL EXPECTED DATA #WRFROM, RO #0!FMT22 (RO),+ sCYLINDER O #0,-(SP) ;IN LOWER BYTE GET SECTOR #0,1(SP) ;GET TRACK IN HIGHER BYTE (SP)+,(RO)+ ;GET TRACK/SECTOR IN BUFFER o AL ALALALAWNA LA 000000 000400 051422 MOV #STACK,SP #TTNO,aN#TSTNM ALANI 002032 SCOPE MOV AL AWUMNML AL 012746 012705 012700 011620 005305 001375 005726 012705 005020 005305 001375 012737 TSTA2: CZR ALAVALM AL 026350 026354 026360 026364 026366 026370 026372 026374 026400 026402 026404 026406 026414 026422 026430 026436 026444 026452 026456 026462 026464 026466 026472 026500 026506 026512 026520 026524 026532 026536 026542 026546 026550 026554 026560 026564 026572 026574 026576 026602 026604 026610 026614 026616 026622 026626 026632 026640 001000 000062 SEQ 0119 SEQ 0118 ALALAL AL 000004 012706 012737 8 10 PAGE 120 30A(1052) 27=JuL-78 12:41 PROGRAM ERROR RH(SZ2 #10 761 tMIALRIALALALALALALRAILALALIALALALALALAIALALALALALALALALALA LALLM 026334 026336 026342 MACY1T ~ CZRJGCO,RPO4L/5/6 DSKLS CTRLR] CZRIGC.P11 26-JuL-78 10:10 043514 WRFROM REINTO #0,R? RZ,(RO)+ R1 3% RO, a#COMPAR 4+256. JKEYT IN BUFFER :KEY2 IN BUFFER ;DATA WORD COUNTER ;DATA ;DATA INTO BUFFER ; COUNT ;BRANCH IF 256 NOT DONE . CHECK ;GO0OD BUFFER JTEST BUFFER ;NUMBER OF WORDS CHECKED :RETURN POINT FOR ERROR HEADER JRETURN POINT FOR ERROR DATA JRETURN FOR GOOD COMPARISON 4%: 104005 5%: 000207 DEC SNE JSR #0,(R0O)+ #0,(RO. + #256. ,R1 PC PC ;READ NEXT ERROR ;RETURN TO '‘COMPAR'’ JWORD NOS 1 TO 4 ARE JRETURN TO ''COMPAR'' (e] ~ b ] 3%: MOV MOV MOV MOV MOV CZR RLALA L ALALALALALIALRIALALALALALALALALALALAVALALA READ HEADER AND DATA 1 104004 000207 026716 162 SEQ 0120 SEQ 0119 ML 000404 026710 026714 026720 000000 000000 000400 000000 ¢ 10 PAGE 121 12:41 e o mifa o oam o miRimLmRLALALTRIALAL 012720 012720 012701 012702 010220 005301 001375 004037 002110 003154 27-JUL-78 m iy i S 026642 026646 026652 026656 3&< ~ [0 XV, ¥ YUV NP VoY b i S D D md S — (YR IV S e S rd W, LV, IV, LV, [V, IV, IV, ] 5095 MACY11 30A(1052) P (ZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC P11 26-JUL-78 10:10 — d VIV d b e b ek b VWAL 30A(1052) 762 D 10 PAGE READ HEADER AND DA TA 1 27=-JUL=78 12:41 SEQ 0121 SEQ 0120 122 CZR CZR 026734 026740 026744 026750 026752 026754 026756 026760 026764 026766 026770 026772 027000 027006 027014 027022 027G30 027036 027042 027046 027050 027052 027056 027064 027072 027076 027104 027110 027116 027122 027126 027132 027134 027140 027144 027150 027156 027160 027162 027166 027170 027174 027200 027202 027206 027212 027216 027224 027226 027232 027236 012746 012705 012700 011620 005305 001375 005726 012705 005020 005305 001375 012737 112737 012706 012737 172727 012737 012737 012737 005037 004537 047504 051404 004737 012777 012777 112746 112766 012677 012777 005077 004737 104401 000000 013711 005037 004737 017737 001401 104040 005737 001046 004737 104401 000000 012700 012720 112746 112766 012620 012720 012720 012701 001000 000063 TST63: 002032 177777 000400 051422 1%: 000021 010000 000000 000001 000000 000000 000400 047514 044026 042620 177374 003154 000001 000000 152534 014000 152530 2s: 047504 047507 047506 047510 047512 047564 JRESET STACK ;THIS SAVES TEST NUMBER MOV MOV MOV MOV #-1,-(SP) #256. ,R5 #DISK RO (SP),(RO)+ ;:DATA TO BE READ ;COUNTER DEC BNE TST MOV :START OF ;TRACK O ;SECTOR 1 ;KEY1=0 :KEY2=0 #0,aNKEY? #256. , a#DAWORD :NO. OF DATA WORDS ;THIS IS A READ COMMAND ;GO TO CALCULATE CRC a#X PC,a#CLDISK ;SETUP GENERAL REGISTERS #REINTO,aRHBA #,-(SP) ;STARTING ADDRESS OF READ BUFFER ;IN LOWER BYTE GET SECTOR JGET TRACK IN HIGHER BYTE JTRACK/SECTOR IN RHDST 3RHCA PC,a#CHECKT JCYLINDER O 1 ;CHECK THAT DVA,RDY,DPR,DRY CANNOT (CON:AND THAT NO OTHERS = 1. ;STOP THE TEST #-256.-4. ,@RHWC ;256. 152542 #0,1(SP) (SP) + ,@RHDST HFMT22'ECI ,@RHOF 000001 152532 LCPHALT a#REFOR,aR1 SHERFLGS :READ HEADER AND DATA=7?2 40 a#ERFLGS ;RHWC DOES NOT = O AFTER A READ ;ANY ERRORS ALREADY THERE TST64 PC.,a#CHECKE LCPHALT #WRFROM , RO #0'FMT22, (RO)+ 000001 ;16 BITS PER WORD , $BDDAT aRHWC 20% 20%: DATA 4 HEADER WORDS ;CLEAR ERROR FLAG ;READ HEADER AND DATA ;LOAD AND TEST RHW(C PC,a#COMHD 001126 SIMULATED DISK DATA :MOVE IN DATA ON TO SIMULATED DISK ;s COUNT :BRANCH IF 256 NOT COMPLETE JUNDO ~(SP) ;2 ECC WORDS ;CLEAR ECC, DATA GAP, AND s TOLERANCE GAP S ;BRANCH IF NOT COMPLETE #Q!FMT22 ,a#CYL ;16 BITS PER WORD #1,a#SECOTR #0,a#KEY] 152546 043044 062450 000000 000000 000400 #STACK,SP #TTNO,a#TSTNM RS ,a#CRC 002006 002170 010000 000001 000000 MOV MOV #0,a#SECOTR+1 042654 062450 002070 002006 047344 152456 SCOPE IV 000004 #1,-(SP) #0,1(SP) (SP)+, (RO) + #0,(R0O)+ #0,(R0O)+ #256. .R1 :SHOULD = 0 ;BRANCH IF YES :CHECK THAT BITS =1 ;CANNOT CONTINUE TESTING IF THEY DON'T ;STOP THE TEST :GETTING READY TO FILL EXPECTED DATA ;CYLINDER O :IN LOWER BYTE GET SECTOR ;GET TRACK IN HIGHER BYTE ;GET TRACK/SECTOR IN BUFFER JKEY1 IN BUFFER JKEYZ2 IN BUFFER :DATA WORD COUNTER IV IV 026720 026722 026726 [V IV, IV 5117 5118 5119 5120 5121 5122 5123 5124 5125 5126 5127 5128 5129 5130 5131 5132 5133 MACY11 IV. CZRJGCO,RPO4/5/6 DSKLS CTRLRI CZRJGC P11 26=-JUL-78 10:10 5173 5174 5175 5176 5177 5178 5179 5180 5181 5182 5183 5184 5185 5186 5187 5188 5189 51 027242 027246 027250 027252 027254 027260 027262 027264 027266 027270 027272 027274 027276 027300 027302 012702 010220 005301 001375 004037 002110 003154 000404 027274 027300 027304 127777 MACY11 E 10 30A(1052) 27-JUL=78 12:41 PAGE READ HEADER AND DATA 2 763 3%: BNE JSR 043514 3 RO, a#COMPAR 44256, 4%: 104005 5%: 000207 #-1,R2 R2.(RO. ¢ R1 WRFROM REINTO 104004 000207 MOV MOV DEC 123 SEQ 0122 SEQ 0121 ;DATA :DATA INTO BUFFER s COUNT JBRANCH [F 256 NOT DONE s CHECK ;GOOD BUFFER ;TEST BUFFER :NUMBER OF WORDS (HECKED PC JRETURN POINT FOR ERROR HEADER J;RETURN POINT FOR ERROR DATA ;RETURN FOR GOOD COMPARISON JREAD NEXT ERROR JRETURN TO '‘COMPAR"' PL JRETURN TO '‘COMPAR'’ JWORD NOS 1 TO &4 ARE CZR CZR CALALALALALALALALALALALALALALALALALALALALALAVILALALALALALAUTLLALALALALA LA AVIVIAA AN UAAAVIWN N NAVVWANIULLA CZRJGCO,RPO4L/5/6 DSKLS CTRLRY CZRJGC.P11 26=-JUL-78 10:10 CZRJIGCO.RPO4/5/6 DSKLS CTRLR1 CZRJGC.P11 26~JUL-78 10:°0 5191 5192 5193 g}gg 027304 027306 027312 000004 012706 012737 5196 5197 5198 5199 5200 5201 5202 5203 5204 5205 5206 5207 5208 5209 5210 5211 5212 5213 5214 5215 5216 5217 5218 5219 5220 §221 5222 5223 52264 5225 5226 5227 5228 5229 5230 5231 5232 5233 5234 5235 5236 5237 5238 5239 5240 52641 5242 5243 5244 5245 52646 027320 027324 027330 02733 027336 027340 027342 027344 027350 027352 027354 027356 027364 027372 027400 0276406 027614 0276422 027426 027432 027434 027436 027442 027450 027456 027462 027470 027474 027502 027506 027512 027516 027520 027524 027530 02753 027542 0275464 027546 027552 027554 027560 027564 027566 027572 027576 027602 027610 027612 027616 027622 012746 012705 012700 011620 005305 001375 005726 012705 005020 005305 001375 012737 112737 112737 012737 012737 012737 005037 004537 047504 051604 004737 012777 012777 112746 112766 012677 012777 005077 004737 104401 000000 013711 005037 004737 017737 001401 104040 005737 001046 004737 104401 000000 012700 012720 112746 112766 012620 012720 012720 012701 001000 00024 F 10 MACY11 30A(1052) 27-JUL-78 12:41 PAGE 124 163 READ HEADER AND DATA 2 TST64: 002032 052525 000400 051422 1$: 000021 010000 000001 000001 000000 000000 000400 047514 044026 042620 177374 003154 000001 000001 152150 014000 152144 042654 062450 002070 002006 047344 152072 2%: 047504 047507 047506 047510 047512 047566 152162 152156 000001 152146 001126 002006 208 : 043044 062450 0021°0 010000 000001 000001 000000 000000 000400 000001 SCOPE MOV MOV MOV MOV MOV MOV DEC BNE TST MOV CLR DEC BNE MOV MOVR MOVR MOV MOV MOV CLR JSR cyL WCRC JSR MOV MOV MOVB MOVAR MOV MOV CLR JSR TYPE HALT MOV CLR JSR MOV BEQ ERROR TST BNE JSR TYPE HALT MOV MOV MOVR MOVR MOV MOV MOV MOV #STACK,SP #TTINO,a#TSTNM ;RESET STACK :THIS SAVES TEST NUMBER #052525,-(SP) :DATA TO BE READ #256. ,RS :COUNTER #D1SK,RO :START OF SIMULATED DISK DATA (SP), (RO)+ :MOVE IN DATA ON TO SIMULATED DISK RS :COUNT 18 :BRANCH IF 256 NOT COMPLETE (SP)+ :UNDO =(SP) #17..RS ;2 ECC WORDS (RO) + :CLEAR ECC., DATA GAP, AND RS :TOLERANCE GAP 23 :BRANCH IF NOT COMPLETE #0'FMT22,a#CYL ;16 BITS PER WORD #1.¥SECOTR+1 :TRACK 1 #1,¥SECOTR :SECTOR 1 #0 ., ¥KE Y1 ;KEY1=0 #0,NKEY? :KEY2=0 #256. ,3#DAWORD :NO. OF DATA WORDS X :THIS IS A READ COMMAND RS, a#CRC :GO TO CALCULATE CRC PC.,a#CLDISK :SETUP GENERAL REGISTERS #-256.~4. ,aRHWC :256. DATA 4 HEADER WORDS #REINTO,aRHBA :STARTING ADDRESS OF READ BUFFER #1,-(SP) :IN LOWER BYTE GET SECTOR #1,1(SP) ;GET TRACK IN HIGHER BYTE (SP)+,aRHDST :TRACK/SECTOR IN RHDST #FMT22'EC].,aRHOF ;16 BITS PER WORD ARHCA :CYLINDER O PC.,a#CHECKT :CHECK THAT DVA,RDY,DPR,DRY 1 LCPHALT :AND THAT NO OTHERS = 1. (CANNOT CON:STOP THE TEST SNREFOR,aR1 :READ HEADER AND DATA=7? ANERFLGS :CLEAR ERROR FLAG PC, a#COMHD :READ HEADER AND DATA BRHWC , SBDDAT :LOAD AND TEST RHWC 208 ;SHOULD = 0 40 :RHWC DOES NOT = O AFTER A READ SNERFLGS :ANY ERRORS ALREADY THERE TST6S :BRANCH IF YES PC ., a#CHECKE ;CHECK THAT BITS = 1 LCPHALT :CANNOT CONTINUE TESTING IF THEY DON'T :STOP THE TEST #WRFROM RO :GETTING READY TO FILL EXPECTED DATA #0'FMT22,(RO)+ :CYLINDER O #1,-(SP) :IN LOWER BYTE GET SECTOR #1,1(SP) :GET TRACK IN HIGHER BYTE (SP)+, (RO) + :GET TRACK/SECTOR IN BUFFER #0,(R0O)+ ;KEY1 IN BUFFER #0,(R0)+ SKEY2 IN BUFFER #256. .R1 :DATA WORD COUNTER 560 0123 SEQ 0122 CIR CIR S S S g S S S S S 5 5 S 5 5 5 5 5 S 5 S 5 S 5 5 S 5 5 S 5 S S 5 p) S p) S 5 5 S 5 5 S S 5 S S 5 5 p S < p p p p 012702 010220 005301 001375 004037 002110 003154 000404 027660 027664 027670 052525 b3 ¥ 043514 MOV MOV DEC BNE JSR WRFROM REINTO (+256. 43 0% 104005 000207 5%: #052525 ,R2 R2,(RO » R1 33 RO, a#(OMPAR .DATA :DATA [NTO BUFFER s COUNT ;JBRANCH [F 256 NOT DONE ;CHECK ;G00D BUFFER ;TEST BUFFER JNUMBER OF WORDS CHECKED JRETURN POINT FOR ERROR HEADER TST65 ERROR :RETURN POINT FOR ERROR DATA JRETURN FOR GOOD COMPARISON JREAD NEXT ERROR ERROR JWORD NOS 1 5% 104004 000207 READ HEADER AND DATA 3 RTS RTS JRETURN TO '‘COMPAR"’ TO & ARE JRETURN TO ''COMPAR"’ SEQ 0124 SEQ 0123 IGIS IV VIV IV IV IV IV 027626 027632 027634 027636 027640 027644 027646 027650 027652 027654 027656 027660 027662 027664 027666 T64 G 10 PAGE 125 12:41 ~— 5247 5248 5249 5250 5251 5252 5253 5254 5255 5256 5257 5258 5259 5260 5261 5262 5263 5264 MACYTT1 27-JUL-78 N (ZRJGCO,RPO4/5/6 DSKLS CTRLRI1 (ZRJGC P 26-JUL-78 10:10 30A(1052) 027700 027704 027712 027716 027720 027722 027724 027732 027740 027746 027752 027756 027764 027772 027776 030000 030002 030006 030010 030012 030014 030020 030026 030034 030040 030046 030052 012706 012737 001000 000065 042536 030060 030066 030072 030076 030100 030104 030110 030114 030120 030124 030126 030132 030136 030142 030150 030152 030154 030160 030164 030170 030174 030176 030200 030202 004037 051422 052446 000000 012737 112737 112737 005037 005037 012737 012737 004537 047504 051404 004037 002110 003110 000377 004737 012777 012777 012746 112766 012677 012777 012777 004737 104401 000000 013711 005037 004737 004737 005737 001041 012700 012701 012702 012737 020021 001424 010037 014137 160237 005737 001002 010000 000000 000000 047510 047512 000400 000001 044026 SCOPE 002032 002032 177400 002110 000000 000000 151572 010000 000000 042654 062450 104005 ;THIS MOV #STACK, SP #TTNO,a#TSTNM ;RESET STACK 047504 0467507 047506 MOV MovB MOVB CLR CLR 047552 047514 MOV MOV JSR cyL WCRC JSR WRFROM 60LGAP*16 RO,a#CLAREA PC,a#CLDISK #WRFROM , 3RHBA #0,-(SP) #0,1(SP) 000001 (SP)+ ,aRHDST NFMT22 , ARHOF #0,aRHCA PC,a#CHECKT LCPHALT 151570 151564 BHWRIDAT ,8R1 a¥ERFLGS PC ., a#COMHD PC,a#PUTREG 047624 1%: 001124 001126 047624 002006 MOV MOV MOV (MP BEQ MOV MOV suB TST 2%: BNE ERROR BR ERROR ;THIS SAVES TEST NUMBER TEST NUMBER ;CLEAR SIMULATED DISK ;FROM :T0 ;FILL WRITE BUFFER WITH 377 JFROM LOCATION .TO LOCATION ;DATA ;SETUP GENERAL REGISTERS ;256. DATA WORDS ;STARTING ADDRESS OF WRITE BUFFER ;SECTOR O :TRACK O :SECTOR O TRACK O :16 BITS PER WORD FORMAT ;CYLINDER O ;CHECK THAT DVA,RDY,DPR.DRY - 1 :AND THAT NO OTHERS - 1. :STOP THE TEST CANNOT CON- JWRITE DATA=60 .CLEAR ERROR FLAG JWRITE DATA ;SAVE REGISTERS JHAVE ANY ERRORS OCCURED? TST66 ;BRANCH IF YES #377.R0O :GOOD DATA #D]1SK ,R1 :DATA WRITTEN INTO ‘DISK'’ #256. ,R2 ;COUNTER #256.+1 ,#ERWORD ;FOR ERROR WORD RO, (R1)+ ;COMPARE GOOD DATA WITH DATA ON DISK AHERFLGS MOV SAVES :DATA #O!'FMT22,3#CYL,;CYLINDER O #0,a#SECOTR+1; TRACK O #0,a#SECOTR ;SECTOR O :KEYT 0 a#KEY1 SIKEY? JKEYZ2 O #256. , #NOWORD ;NO OF DATA WORDS WRITE DATA #1,34X R5,a#CR( ;GO TO CALCULATE CRC #-256. ,8RHWC 151604 151600 002062 002006 047344 042224 002006 000377 051422 000400 000401 RO,a#CLAREA DISK WRFROM+<256. %2> 377 104004 000401 #TTNO,3#TSTNM MOV JSR .WORD .WORD .WORD 042536 042620 MOV 3% RO,a#$GDDAT -(R1) ,a#$BDDAT R2,3#ERWORD ANERFLGS 2% 4 64% 5 ;BRANCH IF GOOD . GOOD DATA ;BAD DATA ;ERROR WORD NO ;ANY ERRORS ALREADY THERE? ;BRANCH IF YES ;ERROR ON WRITE DATA COMMAND ;BRANCH TO AVOID PRINTING NEXT FRROR ;WORD NO GIVES WORD IN ERROR A LD 5300 5301 5302 5303 000065 TST6S: L A A AT AV 5296 5297 5298 5299 012737 T64 T A 5295 027672 SEQ 0125 SEQ 0124 PAGE 126 T O 5276 5277 5278 5279 5280 5281 5282 5283 5284 5285 5286 5287 5288 5289 5290 5291 5292 5293 5294 000004 12:41 A 5275 027670 27-JUL-78 READ HEADER AND DATA 3 N oAV 5265 5266 5267 5268 5269 5270 5¢71 5272 5273 5274 MACY11 30A(1052) WV oA (ZRJIGCO,RPOL/5/6 DSKLS CTRLR] CZRJGC.PI1 26-JuL-78 10:°0 H 10 000200 3%: TST MOV 8IC CMP BEQ DE( BNE (R1)+ JUNDO -(R1) 8177177, (SP) #SW07, (SP) ¢ T1ST66 R2 1% JKEEP ONLY SWITCH 7 AND 8 ;1S 7 SET AND 8 RESET ;BRANCH OUT [F YES ;IF NOT COUNT 256 WORDS ;BRANCH IF 256. NOT DONE dSWR,=.SP) FOR BAD DATA JGET SWITCH SETTING P ~ CZR A N N NN NN N AN N N N NN N TYWVTWN 150726 177177 64%: SEQ 0126 SEQ 0125 T 005721 017746 042716 022726 001402 005302 001345 I 10 PAGE 127 12:41 U LD U U VD D 030204 030206 030212 030216 030222 030224 03022¢ 30A(1052) 27-JUL-78 WRITE DATA 765 WU U LA LA LA LA LA LA LA LA U LA LA LA LA LA LT 5321 5322 5323 5324 5325 5326 5327 5328 5329 5330 MACY11 @l (ZRJIGCO ,RPOL/S5/76 DSKLS CTRLRI (ZRJGC P 26-JJL~78 10:10 CZRJGC.P1 5331 5332 5333 26-JuUL-78 10:10 030230 030232 000004 012706 030236 030244 030250 030252 030254 012737 004037 051422 052420 000066 042536 030256 030262 030264 030266 004037 003154 004152 000000 042536 MACY11 30A(1052) 001000 002032 27-JUL-78 T65 WRITE DATA TST66: SCOPE MOV #STACK,SP JRESET STACK (017 A#TTNO,a#TSTNM ;THIS SAVES TEST NUMBER .WORC DISK JFRUM 177400 ;DATA JSR RO,a#CLAREA ;CLEAR READ INTQ BUFFER .WORD REINTO0+776 ;710 JSR .WORD .WORD 177400 .WORD .WORD RO.,a#CLAREA DISK+776 REINTO 0 ;*THESE ARE 030270 030276 030302 030310 030314 030320 030326 030332 030336 030340 012737 105037 112737 005037 005037 012737 005037 004537 047504 051404 010000 047507 000001 047510 047512 000012 047514 044026 047504 047506 047564 J 10 12:41 PAGE 128 SEQ 1.7 SEJ ;CLEAR SIMULATED DISK ;70 :FROM :DATA TO SETUP FOR DISKLESS USE ONLY MOV HFMT22 ,a#(CYL ;CYLINDER O 16 BITS PER WORD FORMAT MOV CLR #10. ,a#DAWORD a# X :NO. OF DATA WORDS :THIS IS A READ COMMAND CLRB MOVB (LR CLR éSR YL a#SECOTR+1 #1,a34#SECOTR a#KEY1 aKEY2 R5.,a#CRC ;TRACK 0 ;SECTOR 1 JKEY1=0 :KEY2=0 ;GO TO CALCULATE CRC WCR(C ;*THESE ARE REGULAR SETUPS 030342 030346 030352 030360 004737 013711 012777 012777 112746 112766 012677 012777 005077 004737 104401 000000 005037 004737 042620 002066 177766 003154 000001 000000 151240 014000 151234 042654 062450 002006 047344 151252 151246 000001 151236 JSR MOV PC,a#CLDISK ;SETUP GENERAL REGISTERS MOVB MOV MOV #-10. ,aRHWC #REINTO,aRHBA #1,~(SP) ;10 DATA WORDS :STARTING ADDRESS OF READ BUFFER :IN LOWER BYTE GET SECTOR 1 CLR JSR #0,1(SP) JGET TRACKO IN UPPER BYTE (SP) + ,aRHDST ;TRACK/SECTOR [N RHDST HFMT22'ECI ,aRHOF ;16 BITS PER WORD ;ECC CORRECTION INHIBIT BECAUSE JECC IS NOT CHECKED HERE aRHCA ;CYLINDER O PC.,a#CHECKT ;CHECK THAT DVA,RDY,DPR,DRY =1 CLR JSR SWNERFLGS PC.,a#COMHD MOV MOV MOVB TYPE HALT a#READAT ,aR1 JCPHALT ;READ DATA INTO RH(CS1=70 ;AND THAT NO OTHERS = 1. :STOP THE TEST CANNOT CON- :CLEAR ERROR FLAG ;READ DATA ;*]F THE PROGRAM COMES BACK HERE WITHOUT ERROR PRINTOUT ;*FROM ‘'COMHD'* ROUTINE IN MEANS DATA IS TO BE CHECKED ;*NOW THE DATA READ INTO ‘REINTO'’ BUFFER WILL ;*BE CHECKED, ONLY 10 WORDS SHOULD BE CHANGED s*ALL OTHER WORDS SHOULD REMAIN UNCHANGED ;*THE 'WRFROM'' BUFFER IS FILLED WITH EXPECTED DATA AND (KECKED 030440 005737 002006 TST SHERFLGS 10 JHAVE ANY ERRORS OCCURED? VIV IV IV, TV, VL TV TV R NV, TV, TV TV TV RV RV RV RV, TV, TV, TV TV, RV TV SV, [V, RV, RV, RV, RV LV, LV, RV VL RV, L RV RV RV, R AR (ZRJGCO,RPO4L/5/6 DSKLS CTRLR] CZRJGCO,RPO4L/5/6 DSKLS CTRLR} CZRJGC.P11 26-JUL-78 10:10 5387 5388 5389 S390 ggg; 030444 030446 030452 030454 030456 002110 5393 030460 004037 5395 gggg 030466 030470 002132 177400 5394 030464 001053 004037 MACY11 30A(1052) T66 WRFROM 042536 012700 012701 9212702 012737 022021 001424 014037 014137 002110 003154 000400 000401 5409 5410 5411 030534 030540 030542 005737 001002 104004 002006 030546 104005 5413 5414 TSTE? RO,3#CLAREA JSR WRF ROM RO, a#CLAREA ::BRANCH IF YES ;CLEAR BUFFER ;FROM :T0 :DATA :FILL EXPECTED DATA :FROM ;710 :DATA :*NOW READ DATA BUFFER IS CHECKED 030472 030476 030502 030506 030514 030516 030520 030524 56412 PAGE 129 WRFROM+22 177400 5400 5401 5602 5403 5404 5405 5406 5407 5408 K 10 12:41 WRFROM+776 0 sggg S READ DATA BNE JSR 042536 003106 000000 002110 27-JUL-78 030530 030544 160237 047624 1%: 001124 001126 047624 000401 MOV MOV MOV MOV CMP BEQ MOV MOV #WRFROM, RO #RE INTO,R1 #256. .R2 #257. .3#ERWORD (RO)+, (R1)+ 23 ~(RO) ,a#$GDDAT -(R1) ,a#$3DDAT :GOOD DATA :DATA READ :COUNTER ;FOR ERROR WORD NO :COMPARE GOOD WITH READ BUFFER :BRANCH IF GOOD :GOOD DATA :BAD DATA TST BNE ERROR ERFLGS 3s 4 :ANY ERRORS ALREADY THERE ;IF YES BRANCH DO NOT TYPE HEADER ERROR ON READ DATA SuB 3% BR ERROR R2,a/ERWORD IA 3 S :ERROR WORD NO :BRANCH TO AVOID PRINTING NEXT ERROR :WORD NO 1-10 ARE DATA :WORDS 5415 5416 READ AND BUFFER SHOULD BE ;WORD NOS 11-256 HAVE NOT BEEN 5418 5419 :WRONG NUMBER OF WORDS HAVE :BEEN READ [N THE DISK NOW 5417 :2ERO IF OTHER THAN ZERO 5420 5421 :CONTAINS 177400 ALL 256 :WORDS BUT ONLY 10 WORDS gzgg 5424 5425 5426 5427 5428 5429 223? 5432 5433 :SHOULD BE READ IN 030550 030552 030556 030562 030566 030570 030572 022021 017746 042716 022726 001402 005302 001345 150362 4% : 177177 000200 2% : CMP MOV BIC CMP BEQ DEC BNE (RO)+,(R1)+ 3SWR,-(SP) #177177,(SP) #SW07, (SP) + TST67 R2 1% :UNDO -(RO) AND ~(R1) FOR ERROR :GET SWITCH SETTING :KEEP ONLY SWITCH 7 AND 8 ;1S 7 SET AND 8 RESET ;BRANCH OUT IF YES s COUNT :BRANCH IF NOT COMPLETE SEQ 0128 SEQ 0127 CZRJGCO,RPO4/5/6 DSKLS CTRLR1T CZRJGC.PV 26-JUL-78 10:10 5434 5435 5436 gzgg MACY11 30A(1052) 27-JuL-78 166 READ DATA 030574 000004 5440 5441 ga«% 030576 030602 012706 012737 001000 000067 5447 5448 5449 5450 5451 5452 5453 5454 5455 gzgg 030610 030614 030620 030624 030626 030630 030634 030636 030640 012701 012721 012721 005021 005021 004037 003164 003232 070707 003154 010600 000401 5458 5459 030642 030646 012700 012701 177776 003234 5660 56462 2222 030652 030654 030656 030660 5465 5466 5467 030662 030666 030670 gzgg T1ST67: SCOPE I% DATA TABLE i D% B 5444 gzzg 5461 030672 010021 1%: 006100 103774 004037 003274 004152 042536 MOV SEC ROL BCS .WORD ;RESET STACK :THIS SAVES TEST NUMBER #177776 ,R0O ;GETTING READY TO FLOAT O #REINTO+<24.%2> ,R1:STARTING ADDRESS WHERE 177776 GOES RO, (R1)+ RO 1% ;MOVE IN FLOATING O ;SET CARRY JGET O ONE BIT LEFT :BRANCH IF 16 NOT DONE RO,a#CLAREA REINTO+<40,.%2> REINTO+776 JFILL THE REST OF BUFFER WITH O ;FROM ;70 O :DATA :*SET UP SIMULATED DISK WITH WHAT IS TO BE READ 030674 004037 5474 22;2 030702 030704 051470 070707 5477 030706 012700 5480 5481 gzg% 030720 030722 030724 000261 006100 103774 5484 030726 004037 042536 5480 030740 004737 043344 5485 5486 gzgg MoV MOV JSR .WORD .WORD 000000 5472 5478 5479 #STACK,SP #TTNO,a#TSTNM :«SET UP "REINTO'' FOR WHAT IS TO BE READ MOV #REINTO,R1 ;STARTING ADDRESS MOV HFMT22,(R1)+ ;CYLINDER O FORMAT 16 BIT WORDS MOV #401,(R1)+ :TRACK=1, SECTOR=1 CLR (R1)+ ;KEY1=0 CLR (R1)+ ;KEY2=0 JSR RO,a#CLAREA :FILL "REINTO'' BUFFER .WORD REINTO+<42> ;FROM .WORD REINTO+<23.%2> ;T0 .WORD 070707 :DATA 042536 000261 20 WORDS OF 070707 THEN 16 WORDS WITH ZERO FLOATING FROM RIGHT TO LEFT (EG. 177776,177775,177773 ETC) MOV MOV 002032 gz;g 5473 PAGE 130 s 5439 TAA L 10 12:41 030700 030712 030716 030732 030734 030736 051422 012701 010021 051532 052420 177777 042536 177776 051472 JSR RO,a#CLAREA JFILL 'DISK'' BUFFER .WORD .WORD DISK+<19_ %2> 070707 ;70 :DATA MOV #177776 ,RO SEC ROL B8CS RO 2% :SET CARRY JGET O ONE BIT LEFT ;BRANCH IF 16 NOT DONE JSR RO,a#CLAREA sFILL THE REST OF BUFFER WITH 177777 JSR PC.3#WRCHHD JWRITE CHECK HEADER AND DATA .WORD 2%: MOV MOV .WORD .WORD .WORD DISK :FROM :GETTING READY TO FLOAT ZEROS #DISK+<20.%2>,R1;STARTING ADDRESS WHERE 177776 GOES RO, (R1)+ :MOVE IN FLOATING O DISK+<36.%2> DISK+776 177777 :FROM ;10 :DATA SEQ 0129 SEQ 0128 M 10 30A(1052) 27-JUL-78 12:41 PAGE 131 WRITE CHECK HEADER AND DATA T67 SEQ 0130 THE PROGRAM COMES BACK HERE J*HAS BEEN COMPLETED NOW WRITE 030744 030750 030754 030760 030776 013746 052716 004737 022637 001406 032712 001402 001774 MOV 000100 042224 001712 BIS JSR (MP BEQ BIT 8tQ ERROR BR 040000 1046017 000401 ANUN]T,-(SP) #IR, (SP) PC,a#PUTREG (SP)+,a#(S?2 THEN WRITE CHECK CHECK ERROR BIT sGET UNIT NUMBER JONLY BIT 6 SHOULD BE sSAVE REGISTERS ; COMPARE RH(CSZ2 17 3 3 RHDB CONTAINS FAILING WORD ;RHBA (ONTAINS ADDRESS+2 33 3s: ERROR ;BRANCH IF ERROR NOT DUE TO ‘WC(E'' ;OF 17 JWCE THE WORD IN MEMORY FROM DISK THAT DID NOT COMPARE CORRECTLY WAS NOT SET BUT SET DUE ;BITS OTHER THAN IR JAND UNIT NO. WAS SET ;*NOW CHECK MEMORY TO SEE "WRFROM'' WITH WHAT SHOULD BE MOV #WRFROM, RO :STARTING ADDRESS MOV (LR CLR #401,(RO)+ (RO)+ (RO) + ;TRACK=1, SKEY1=0 JKEY2=0 JFILL "WRFROM'' BUFFER ;FROM :T0 :DATA 002110 010000 000401 031022 031026 031030 031032 004037 002120 002166 070707 042536 JSR .WORD .WORD .WORD RO,a#CLAREA WRFROM+<42> WRFROM+<23.+2> 070707 031034 031040 031044 031046 031050 031052 012700 012701 010021 000261 006100 177776 002170 MOV MOV MOV #177776,R0 <GETTING READY TO FLOAT 0 NMWRFROM+<24 . +2> ,R1 ;STARTING ADDRESS WHERE RO, (R1)+ JMOVE IN FLOATING O 031054 004037 002230 003106 000000 042536 JSR .WORD .WORD .WORD 031066 005037 002006 CLR SVERFLGS ;CLEAR ERROR FLAG 031072 031076 031100 031102 031104 004037 002110 002154 000400 031112 043514 JSR RO, a#(OMPAR s CHECK 103774 5%: SEC ROL 8(CS #EMT22, (RO) ¢ ;CYLINDER SECTOR-1 177776 GOES RO ;SET CARRY JGET O ONE BIT LEFT RO,a#CLAREA WRFROM+<40.%*2> WRFROM+776 O JFILL THE REST OF BUFFER WITH O FROM ;10 ;DAIA 5% BRANCH IF 16 NOT DONE . *NOW THE READ BUFFER WILL BE C(HECKED WRFROM REINTO 256. 6% SOME IN ‘REINTO'' THEN CHECK 012700 012720 012720 005020 005020 MOV TO IF NOTHING GOT DESTROYED J*FILL 031002 031006 031012 031016 031020 A Y TESTED SET ;BRANCH IF GOOD JWRITE CHECK ERROR HIGH? ;L?E AND SC WILL BE 104017 TO BE 43 MICE ,aR2 ;THE 031000 IS . GOOD BUFFER JTEST BUFFER JNUMBER OF WORDS C(HECKED JRETURN POINT FOR ERROR HEADER RPN ;*]F SECTOR 1 R AR RN TRACK 1, ;CYLINDER 0, R RRN PR RARRRARRARRRRRARNENRRNRRIARARRAARR SEQ 0129 PR 5690 5491 5492 5493 5494 5495 5496 5497 5498 5499 MACY11 | CZRJGCO,RPO4L/5/6 DSKLS CTRLRI CZRJGC PN 26-JUL-78 10:10 (ZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.PN 26-JUL-78 10:10 5546 5547 5548 5549 5550 5551 5552 5553 5554 5555 5556 5557 MACY11 30A(1052) 27-JUL=-78 167 WRITE 104004 6%: 1046005 7%: 7% 1ST70 ERROR RTS ERROR 031116 031124 000207 N 10 12:461 PAGE 132 (CHECK HEADER AND DATA JRETURN POINT FOR ERROR DATA JRETURN FOR GOOD COMPARISON JREAD NEXT ERROR 5 JRETURN TO COMPARISON SUBROUTINE ;DATA IN REINTO BUFFER GOT ;CHANGED AFTER A WRITE ;CHECK HEADER AND DATA COMMAND ;WORD NO CONTAINS THE WORD 031120 000207 031122 000240 RTS 10%: NOP PC JNUMBER THAT GOT CHANGED JRETURN TO COMPARISON SUBROUT INE JONLY A BRANCH POINT SEQ 0131 SEQ 0130 5573 5574 5575 5576 5577 5578 5579 5580 5581 Czf czs SCOPE Y TST70: 000004 W 031124 :*DATA TABLE 001000 000070 MOV MOV 002032 #STACK,SP #TTNO,a#TSTNM JRESET STA(K [ THIS SAVES TEST NUMBER Y 012706 012737 S 031126 031132 N N W W N, W ;*TOTAL OF 32 WORDS CONSISTING OF ;%16 WORDS OF FLOATING ONES (EG. 1, 2, 4, 10) ;%16 WORDS OF FLOATING ZEROS (EG. 17 7776, 177775) ;*SET UP "REINTO’' FOR WHAT IS TO BE READ 031140 031144 031150 031152 031154 031156 031162 031166 031170 031172 031174 012700 012701 010021 006100 103375 012700 012701 010021 000261 006100 103774 000001 003154 031176 031202 031204 031206 004037 003254 004152 000001 042536 177776 003214 1%: 2%: MOV MOV MOv ROL BCC MOV MOV MOV SEC ROL BCS #1,R0O RO 2% ;SET CARRY ;GET O ONE BIT LEFT ;JBRANCH IF 16 NOT DONE JSR .WORD .WORD .WORD RO,a#CLAREA REINTO+<32.%2> REINTO+776 1 JFILL REST OF BUFFER WITH 1 FROM :T0 ;WITH DATA #REINTO,R1 RO, (R1)+ RO 1% ;GETTING READY TO FLOAT 1 ;STARTING ADDRESS WHERE 1 ;MOVE FLOATING 1 ;GET 1 ONE BIT LEFT JBRANCH IF 16 NOT DONE GOES #177776,R0O ;GETTING READY TO FLOAT 0 HREINTO+<16.%2>,R1 ;STARTING ADDRESS WHERE 177776 GOES RO, (R1)+ ;MOVE IN FLOATING O ;*SET UP SIMULATED DISK WITH WHAT IS TO BE READ 031210 031214 031220 031222 031224 012700 012701 010021 006100 103375 000001 051422 031226 031232 031236 031240 031242 031244 012700 012701 010021 000261 006100 177776 051462 031246 031252 031254 031256 004037 051522 052420 000000 042536 031260 004737 043656 103774 3%: 4%: MOV MOV MOV ROL #1,RO BCC #DI1SK,R1 RO, (R1)+ RO 3% MOV MOV MOV ¥177776,R0 ;GETTING READY TO FLOAT O #DISK+<16.%2>,R1 ;STARTING ADDRESS WHERE 177776 GOES RO, (R1)+ ;MOVE FLOATING O BCS RO 4% oGET O ONE BIT LEFT ;BRANCH IF 16 NOT DONE JSR .WORD .WORD .WORD RO,a#CLAREA DISK+<32.+2> DISK+776 ;FILL REST OF QUFFER WITH O ;FROM ;10 JSR PC,a#WR(HDA JWRITE SEC ROL P 5571 5572 SEQ 0132 SEQ 0131 P 5558 5559 5560 5561 5562 5563 5564 5565 5566 5567 5568 5569 5570 8 1 27-JUL-78 12:41 PAGE 133 MACY11 30A(1052) WRITE CHECK HEADER AND DATA 167 TN (ZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.PI1 26-JUL-78 10:10 0 ;GETTING READY TO FLGAT 1 ;STARTING ADDRESS WHERE 1 ;MOVE FLOATING 1 ;GET 1 ONE BIT LEFT ;BRANCH [F 16 NOT DONE GOES ;SET CARRY ;WITH DATA CHECK DATA JCYLINDER O, TRACK 1, SECTOR 1 JKEYS 0, 32 WORDS. ;*IF THE PROGRAM (OMES BACK HERE THEN WRITE CHECK 5644 5645 5646 5647 5648 5649 5650 5651 5652 5653 5654 5655 5656 5657 5658 5659 5660 5661 5662 5663 5664 5665 5666 5667 5668 5669 cNn PAGE 134 iZ:4 1 SEQ 0133 SEQ 0132 WRITE CHECK DATA CZF CZF 17 002006 000001 002110 031346 031352 031356 031360 031362 031364 012700 012701 010021 177776 002150 031366 031372 031374 031376 004037 002210 003106 000001 7%: 103375 10%: 042536 004037 002110 003154 000400 031420 031424 031416 031432 031420 031422 031424 104004 11%: 104005 12%: 000207 043514 W W, W ;WCE WAS CORRECTLY NOT SET ;BUT SOME BITS OTHER THAN ;IR AND UNIT NO. WERE SET IN REINTO THEN CHECK ;CLEAR ERROR FLAG ;GETTING READY TO FLOAT 1 ;START ADDRESS WHERE 1 GOES MOV MOV Mov #177776,R0 :GETTING READY TO FLOAT O ROL BCS RO 10% JGET O ONE BIT LEFT :BRANCH ]F CARRY SET JSR .WORD .WORD .WORD WRFROM+<32.%2> WRFROM+776 1 RO,a#CLAREA JFILL REST OF BUFFER WITH 1 MOV MOV ROL SEC RO, (R1)+ RO 7% IT JMOVE FLOATING 1 ;GET 1 ONE BIT LEFT ;BRANCH IF 16 NOT DONE HWRFROM+<16.%2> ,R1 :STARTING ADDRESS WHERE 177776 GOES RO, (R1)+ :MOVE IN FLOAT! 0 :SET CARRY ;FROM ;70 ;WITH DATA ;*NOW THE READ BUFFER WILL BE CHECKED 031400 031404 031406 031410 031412 031414 W ;TRE AND SC WILL BE SET DUE TO WCE ANERFLGS #1.R0 #WRFROM,R1 CLR MoV BCC 000261 006100 103774 W ;OF THE WORD IN MEMORY FROM ;THE DISK THAT DID NOT COMPARE Y 6%: N JRHBA CONTAINS ADDRESS+? ;*FILL "WRFROM'' WITH WHAT SHOULD BE 005037 012700 012701 010021 006100 N JRHDB CONTAINS FAILING WORD ;*NOW CHECK MEMORY TO SEE IF ANYTHING GOT DESTROYED 031324 031330 031334 031340 031342 031344 L ;JWRITE CHECK ERROR HIGH? ;BRANCH IF ERROR NOT DUE TO "WCE'' N 17 6% ;BRANCH IF GOOD N AWCE ,a#(CS2 5% NN 6% SET N ERROR ;SAVE REGISTERS s COMPARE RHCS?2 ;ONLY BIT 6 SHOULD BE N 5%: PC.,a#PUTREG (SP)+,a#(S2 N FRROR BR JGET UNIT NUMBER #IR, (SP) N 001712 SHUNIT ,-(SP) JSR WRFROM REINTO RO,a#COMPAR 256. 11% 12% ERROR ERROR ;GOOD BUFFER ;TEST BUFFER ;NUMBER OF WORDS CHECKED JRETURN PCINT FOR ERROR HEADER JRETURN POINT FOR ERROR DATA JRETURN FOR GOOD COMPARISON TST71 RTS s CHECK 4 PC 5 JREAD NEXT ERROR 5 JRETURN TO COMPARISON SUBROUTINE ;DATA IN REINTO BUFFER GOT ;CHANGED AFTER A WRITE ;CHECK DATA COMMAND W 104017 040000 MOV 8IS JSR (MP BEQ BIT BEQ N 031322 001774 000100 062224 001712 R 013746 N 031264 031270 031274 031300 031304 031306 031314 031316 031320 W W W ;*HAS BEEN COMPLETED NOW WRITE CHECK ERROR BIT IS TESTED PSR 5641 5642 5643 170 27=JUL-78 P 5614 5615 5616 5617 5618 5619 5620 5621 5622 5623 5624 5625 5626 5627 5628 5629 5630 5631 5632 5633 5634 5635 5636 5637 5638 5639 5640 MACY11 30A(1052) N CZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.P11Y 26-JuL-78 10:10 000240 13%: NOP PC JRETURN TO COMPARISON SUBROUTINE ;ONLY A BRANCH POINT Ve Ve Ve Ve Ve Ve Vo Ve Va Ve Yo Yo Vo Vo Ve V2. Y2 .90.50.5°.Y0.Y2.50.Y0 Y2 5 031430 RTS Ve Y 000207 THE WORD ;NUMBER THAT GOT CHANGED CZR CZR e ;WORD NO CONTAINS 031426 SEQ 0134 SEQ 0133 135 W +AGE N IR 12:41 WRITE CHECK DATA N 170 27-JUL-78 S 5670 5671 5672 5673 5674 5675 5676 MACY11 30A(1052) S (ZRJIGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.PTT 26-JUL-78 10:10 5700 5701 5702 5703 5704 5705 5706 5707 5708 5709 5710 5711 5712 5713 5714 5715 5716 5717 5718 5719 5720 5721 5722 5723 5724 5725 5726 5727 5728 5729 5730 5731 5732 031432 000004 031434 031440 031446 031452 031456 031462 012706 012737 004737 004737 104401 001000 000071 042620 042654 062450 031464 012700 031470 031474 031500 031504 031510 031514 031520 031524 031530 031536 30A(1052) 27-JUL-78 EN 12:41 PAGE 136 170 WRITE CHECK DATA .SBTTL ERROR BIT FUNCTIONAL TESTS TIST71: SCOPE SEQ 0135 SEQ 0134 JRESET STA(CK ;THIS SAVES TEST NUMBER JSR #STACK ,SP #TTNO,a#TSTNM PC,a#CLDISK PC,a#CHECKT TYPE HALT . CPHALT ;CLEAR DISK REGISTERS ;CHECK THAT DVA,RDY,DPR,DRY = 1 003154 MOV #RE INTO,RO ;BUFFER STARTING FOR 3 ERROR 013720 012720 013720 012720 013720 012720 001642 000000 001646 000000 001654 000000 MOV MOV a#RHER1, (RO) + JRHER? MOV MOV MOV #0,(RO)+ 013704 013705 012737 001656 002016 031556 R4 a#RHAS 001110 MOV MOV MOV 012737 000003 003154 001200 MOV 000000 031544 012700 031550 031552 031556 031564 031572 031574 031600 012002 012701 052777 013777 010112 004737 120537 031604 031606 001401 000001 000040 001774 MOV MOV JSR 002032 MOV 150052 150044 MOV 1%: MOV 2%: BIS MOV MOV JSR cMP8 042224 071732 BEQ ERROR 104020 #0,.(RO)+ (RO) + a#RHERZ, + RZ, aH#RHE(RO) #0,(RO)+ RS ANATTENT #2% ,aNSLPERR #3,348TMP1 #REINTO,RO (RO)+ ,R2 #ITO,R1 #CLR,aRH(CS?2 SHUNIT ,adRH(CS? R1,aR?2 PC,a#PUTREG RS ,a#AS 3% 20 JAND THAT NO OTHERS = ;STOP THE TEST JREGISTERS STORED 1. (CANNOT (ON- IN REINTO ;BITS NOT TO BE CHECKED IN RHER1 JRHER2 STORED IN REINTO+4 ;BITS NOT TO BE CHECKED IN RHER? ;RHER3 STORED IN REINTO+10 ;BITS NOT TO BE CHECKED IN RHER3 ;R4 HAS RHAS ;R5 HAS ATA BIT IN RHAS ;THAT SHOULD SET WITH ERROR JRETURN POINT TO ERROR ;ERROR REGISTER COUNTER JREGISTER BUFFER POINTER :R2 HAS ADDRESS OF ERROR REG JR1T WILL HAVE BIT UNDER TEST ;CLEAR RH(CS?Z JREINSTATE UNIT NO. :SET ERROR BIT ;READ AND SAVE REGISTERS ;ONLY THE BIT IN RS SHOULD BE ;SET IN RHAS ;LOOK @ RHDS1 IF GOOD :WITH THE SETTING OF ONE JERROR BIT IN AN ERROR ;REGISTER, THE CORRESPOND ING ;RHAS BIT DID NOT SET 031610 031614 031620 031624 031626 013746 042716 022726 001401 104020 001736 001100 140600 3%: MOV BIC (MP BEQ ERROR 4DS1,-(SP) #VV'!PROG, (SP) ;GET RHDS1 JREMOVE VV AND PROG #ATA _ERR.DPR!DRY, (SP)+;THESE BITS PLUS VV SHOULD BE 4% 20 JCHECK 'GO' NEXT, IF THIS WAS OK ;JWITH THE SETTING OF ONE JERROR BIT, COMPOSITE ERROR ;OR_ATTENTION ACTIVE, OR ;ONE OF THE OTHER ;PERMANENT BITS DID NOT SET CZR CZR Yo Vo .Ye Yo Yo Yo Yo Yo Y0 .0 Yo Yo, NN 5677 5678 5679 5680 5681 5682 5683 5684 5685 5686 5687 5688 5689 5690 56N 5692 5693 5694 5695 5696 5697 5698 5699 MACY11 Y e Ve Ve Ve Na Ve Yo Vs Yo Ve Yo Ve Ve Yo Ve Yo Na.Y0.% CZRJGCO,RP0O4/5/76 DSKLS CTRLR1 CZRJGC.P1T 26-JuL-78 10:170 IN RHDSI 013746 042716 022726 001401 ATTENTION WITH ERROR TEST 150002 4%: MOV JSR #GO,aRICST PC.a#PUTREG .GIVE NO-OP ;SAVE REGISTERS MOV MOV MOV R2,#REGADR R1,a4$GDDAT sFAILING REGISTER . GOOD DATA (MP BEQ 001126 001736 160600 104020 J*THIS 031706 031710 031712 031714 031716 006301 031720 031722 031726 005720 005337 7%: 103403 001310 10%: 001200 5769 5770 5771 5772 5773 5774 5775 5776 5777 5778 5779 5780 5781 5782 5783 5784 5785 5786 5787 5788 MOV a4DS1,-(SP) ;GET RHDS1 (MP BEQ ERROR 79 ;CHECK NEXT ERROR BIT BIC IS THE ASL TST DEC BNE ;ERROR REGISTER #VV!PROG, (SP) ;CLEAR VV AND PROG #ATA'ERR.DPR.DRY, (SP)+;C0 SHOULD NOT ;''GO"* WITH NO-OP SHOULD NOT CLEAR 20 MAIN BIT CLEAR ANY BITS [F A-OK ;ATA AND/OR ERR TESTING CONTROL LOuwIC R1 10% ;GET NEXT BIT TO THE LEFT ;GO ON TO NEXT REGISTER IF 2% ;IF (RO) ,R1 73 (RQ) + ¥ TMP] 1% ;1S THIS BIT TO BE TESTED 2JIF NOT, GET NEXT ONE TO BE TESTED, ? GO DO IT DONE ! ;ADVANCE RO TO NEXT ERROR REG. JREGISTER COUNTER ;DO NEXT ONE, IF 3 NOT COMPLETE ;*NOW AFTER SETTING ATA [N RHDS1 '1"" IN RHAS AT THE ;*DRIVE POSITION SHOULD CLEAR ATA IN RHDS1 766 767 5768 ;BAD DATA ;''60"" WITH NO-OP CHANGED 8CS BIT BNE BR 031001 001374 000717 a#(S2,a#SBDDAT ;GO0 SHOULD NOT CLEAR ERROR JFURTHER CHECK OF 'GO' FUNCTIONALITY 1 ERROR 5%: 001100 R1,aR?2 5% 031730 031734 031742 031746 031754 031760 031764 031766 004737 012737 012714 013777 004737 105737 001401 042620 031730 177777 002016 042224 001732 001110 11¢: JSR MOV PC,a#CLD]SK ;CLEAR MOV JSR TSTR #-1,3R4 QNATTENT ,8RHAS ;SET BIT IN RHAS AND ATA IN RHDS1 P(C,a#PUTREG ?525 ;SAVE REGISTERS ;THIS SHOULD BE ZERO MOV 147702 BEQ ERROR 104020 #4118 ,SLPERR 20 JERROR RETURN ;WRITE 1 INTO DRIVE BIT POSITION JMOVING A '"1'" INTO RHAS ;AT THE DRIVE BIT POSITION ;DID NOT CLEAR IT 031770 031774 032000 032004 032006 013746 042716 022726 001401 104020 001736 001000 040700 12%: MOV BIC (MP BEQ ERROR a#DS1,-(SP) #PROG, (SP) :GET RHDS1 sMASK PROGRAMABLE #ERR!VV.DPR!DRY, (SP) + JRHDST 13% 20 SHOULD HAVE THESE BITS ;BUT ATA SHOULD BE CLEARED ;CHECK RHER1 ONONOCON"OC"O"O OO OO OrOOrO"OrOrOrOrOrOOROrOrOrO 042270 001124 071712 031656 031664 031666 031672 031676 031702 031704 000001 042226 SEQ 0136 SEQ 0135 PAGE 137 TM7 NN OANR AN 5764 5765 012777 1 AN AN AR AR AR R A 5738 5739 5740 5761 5742 5743 57464 5745 5746 5747 5748 5749 5750 5751 5752 5753 5754 5755 5756 5757 5758 5759 5760 5761 5762 5763 71630 031636 031642 031644 031646 031652 F 12:41 30A(1052) MR 5733 5734 5735 5736 5737 27-JUL-78 MACY11 IF GOOD JMOVING '"1'" INTO RHAS AT THE ;DRIVE BIT POSITION DID NOT ;CLEAR ATA IN RHDS1 AR ENA (2ZRJIGCO,RPO4/S/6 DSKLS CTRLR1 CZRJGC.P11 26-JuL-78 10:10 S795 5796 5797 5798 5799 5800 032010 022737 032016 032020 001401 104020 177777 001716 27-JuL-78 6 N 12:41 PAGE 138 71 ATTENTION WITH ERROR TEST 13%: MP BEQ ERROR #-1,38CR1 1ST172 20 SEQ 0137 SEQ 0136 JRHER1 SHOULD NOT CHANGE ;BY CLEARING RHAS BRANCH [F GOOD ;RHER1 WAS (HANGED BY CLEARING JRHAS BY MOVING """ INTO ;THE DRIVE BIT POSITION CZR. o 30A(7052) TRLLPLRQPANCRORAOFRORROONCONOO 5789 5790 5791 5792 5793 S794 MACY11 o ~N (ZRJIGCO,RPO4/5/6 DSKLS CTRLRI CZRJGC.P1 26-JuUL~78 10:10 042536 032050 032054 032056 032060 #STACK,SP JRESET STACK MOV JSR #TTNO,a#TSTNM RO,a#CLAREA ;THIS SAVES TEST NUMBER ;CLEAR SIMULATED DISK .WORD .WORD DISK+776 177400 ;70 ;DATA .WORD 177400 003154 004152 000000 SCOPE MOV DISK LA %y 004037 032042 032044 032046 002032 T1ST72: ;FROM JSR RO,a#CLAREA ;CLEAR READ INTO BUFFER .WORD REINTO+776 ;70 .WORD .WORD REINTO ;FROM O :DATA ;*THESE ARE TO SETUP FOR DISKLESS USE ONLY 032062 032070 032074 032102 032106 032112 032120 032124 032130 032132 012737 105037 112737 005037 005037 012737 005037 004537 047504 051404 010000 047507 000001 047510 047512 000012 047514 044026 047504 MOV #FMT22 ,a#CYL ;CYLINDER O 16 BITS PER WORD FORMAT 047506 MOvVB #1,a#SECOTR ;SECTOR 1 047564 MOV CLR éSR CLRB CLR CLR YL ¥SECOTR+1 ;TRACK O a#KEY1 AHKEY? JKEY1-0 ;KEY2=0 #10. ,a#DAWORD a4X R5,a#(RC ;NO. OF DATA WORDS sTHIS IS A READ COMMAND 2GO TO CALCULATE CRC WCRC ;*THESE ARE REGULAR SETUPS 032134 032140 032144 032152 032160 032164 032172 032176 032204 032210 032214 032220 032222 032230 032234 004737 013711 012777 012777 112746 112766 012677 012777 005077 004737 104401 000000 052777 005037 004737 042620 002066 177766 003154 000001 000000 147446 014000 147460 1474654 000001 147444 PC,a#CLDISK @#READAT ,aR1 ;SETUP GENERAL REGISTERS MovB MovB MOV #1,-(SP) #0,1(SP) (SP) + ,aRHDST ;IN LOWER BYTE GET SECTOR 1 :GET TRACKO IN UPPER BYTE ;TRACK/SECTOR IN RHDST MOV CLR JSR 147642 042654 062450 000010 002006 047344 JSR MOV MOV MoV TYPE 147406 HALT JREAD DATA INTO RH(CS1=70 #-10. ,aRHWC #REINTO,aRHBA 210 DATA WORDS ;STARTING ADDRESS OF READ BUFFER H#FMT22'ECI,aRHOF aRHCA PC,a#CHECKT LCPHALT ;16 BITS PER WORD JECC CORRECTION INHIBIT BECAUSE JECC IS NOT CHECKED HERE ;CYLINDER O ;CHECK THAT DVA,RDY,DPR,DRY = 1 JAND THAT NO OTHERS = 1. ;STOP THE TEST BIS #BA],3RHCS2 ;SET BUS ADDRESS INHIBIT JSR PC,a#(COMHD JREAD DATA CLR Q¥ERFLGS CANNOT (CON- ;CLEAR ERROR FLAG ;*]F THE PROGRAM (OMES BACK HERE WITHOUT ERROR PRINTOUT ;*«FROM ''COMHD'' ROUTINE CZR. CZR. L 000072 042536 ATTENTION WITH ERROR TEST L * L 012737 004037 051422 052420 SEQ 0138 SEQ 0137 PAGE 139 TM7 L A 032030 032036 001000 H1 12:41 X 000004 012706 27-JUL-78 L 032022 032026 30A(1052) Yo o Yo Lo b Aol 5801 5802 5803 5804 5805 5806 5807 5808 5809 5810 5811 5812 5813 5814 5815 5816 5817 5818 5819 5820 5821 5822 5823 5824 5825 5826 5827 5828 5829 5830 5831 5832 5833 5834 5835 5836 5837 5838 5839 5840 5841 5842 5843 5844 5845 5846 5847 5848 5849 5850 5851 5852 5853 5854 5855 5856 MACY11 IN MEANS DATA IS TO BE CHECKED ;*NOW THE DATA READ INTO 'REINTO'' BUFFER WILL ;*BE CHECKED, ONLY ONE WORD SHOULD BE CHANGED ;*ALL OTHER WORDS SHOULD REMAIN UNCHANGED J*THE "WRFROM'' BUFFER IS FILLED WITH EXPECTED DATA AND CHECKED 1o X0 Yo Yo Yo Xo o Yo o No Yo Xo Yo Xo Yo No Yo Xo Yo oL (ZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.P1 26-JUL-78 10:10 032256 012737 177400 CLR JSR WRFROM SNERFLGS RO.,a#CLAREA WRFROM+776 0 ;CLEAR FLAG ;CLEAR BUFFER JFROM ;10 :DATA ;=EXPECTED _DATA IS 177400 IN FIRST LOCATION ONLY MOV 002110 JEXPECTED DATA #177 500, 3#WRFROM :*NOW READ DATA BUFFER IS CHECKED 032264 032270 032274 032300 032306 032310 032312 032316 032322 032326 032332 032334 032336 032340 012700 012701 012702 012737 022021 001424 014037 014137 160237 005737 001002 002110 003154 000400 000401 047624 1%: 001124 001126 047624 002006 MOV MOV #WRFROM RO #REINTO,R1 .GOOD DATA MOV #257. ,3#ERWORD ;FOR ERROR WORD NO MOV MOV -(R0O) ,a#SGDDAT -(R1) ,a#$BDDAT CMP BEQ SuUR 1ST BNE ERROR 104004 000401 104005 3%: BR ERROR (RO)+,(R1)+ 2% R2 ,a3#ERWORD QNERFLGS 3% 4 4% 5 :DATA READ s COUNTER ;COMPARE GOOD WITH READ BUFFER ;BRANCH IF GOOD . GOOD DATA ;BAD DATA ;ERROR WORD NO ;ANY ERRORS ALREADY THERE ;IF YES BRANCH DO NOT TYPE HEADER ;ERROR ON READ DATA ;BRANCH TO AVOID PRINTING NEXT ERROR ;WORD NO 1-10 ARE DATA ;WORDS JWORD NOS 11-256 HAVE NOT BEEN ;READ AND BUFFER SHOULD BE ;ZERO IF OTHER THAN ZERO ;WRONG NUMBER OF WORDS HAVE ;BEEN READ IN THE DISK NOW ;CONTAINS 177400 ALL 256 ;WORDS BUT ONLY 10 WORDS :SHOULD BE READ IN 032342 032344 032350 032354 032360 032362 032364 022021 017746 042716 022726 001402 005302 001345 146570 177177 4% 000200 2%: CMP MOV BIC (MP BEQ PEC B8NE (RO)+,(R1)+ ASWR, - (SP) #177177,(SP) #SWO7, (SP) + TST73 R2 1% ;UNDO -(RO) AND =(R1) FOR ERROR JGET SWITCH SETTING :KEEP ONLY SWITCH 7 AND 8 ;1S 7 SET AND 8 RESET ;BRANCH OUT IF YES s COUNT ;JBRANCH IF NOT COMPLETE ~ P CZR. P L °g 002006 042536 SEu 0139 SEQ 0138 BUS ADDRESS INHIBIT 0o X% X% aX*ak oL aX* a* aX* " Al ak * L’ al b al* ol L 005037 004037 002110 003106 000000 IN 12:41 PAGE 140 Yo Yo Yo Yo Yo Yo X0 X0 T o 0 70 T 032240 032244 032250 032252 032254 172 27-JUL-78 fo 30 Yo Yo o 5857 5858 5859 5860 5861 5862 5863 5864 5865 5866 5867 5868 5869 5870 5871 5872 5873 5874 5875 5876 5877 5878 5879 5880 5881 5882 5883 5884 5885 5886 5887 5888 5889 5890 5891 5892 5893 5894 5895 5896 5897 5898 5899 5900 5901 5902 5903 30A(1052) @) C(ZRJIGCO,RPO4/5/6 DSKLS CTRLRI CZRJIGC.P11 26-JuL-78 10:10 MACY11 CZRJGCO,RPO4/5/6 DSKLS CTRLRT CZRJGC.P11 26=-JUL-78 10:10 5904 5905 5906 5907 5908 5909 23}? 032366 032370 032374 032402 032406 032410 000004 012706 012737 005737 001402 000137 5912 5913 5914 5915 5916 5917 gg}g 032414 032420 032422 032424 004037 051422 052420 177400 5920 5921 5922 5923 5924 5925 5926 5927 5928 5929 5930 gg%} 032426 032434 032440 032446 032452 032456 032464 032470 032474 032476 5933 5934 032500 032504 004737 013711 042620 002066 5937 032524 052711 001400 5935 5936 5938 5939 5040 5941 5942 5943 001000 000073 002040 J 1 MACY11 30A(1052) 27-JuL=78 12:41 PAGE 141 172 BUS ADDRESS INHIBIT TST73: 002032 032732 042536 #STACK,SP #TTNO,INTSTNM SHRH70 308 TST74 ;RESET STACK :THIS SAVES TEST NUMBER :TEST FLAG FOR RH70 CONTROLLER ;IF FLAG = 1, THIS TEST IS SKIPPED ;JUMP TO NEXT TEST ====ec=cmeccececaes ) JSR .WORD .WORD .WORD RO,3#CLAREA DISK DISK+776 177400 ;CLEAR SIMULATED DISK :FROM :T0 ;DATA :*THESE ARE TO SETUP FOR DISKLESS USE ONLY 032510 032516 032530 032534 032542 032546 012737 105037 112737 005037 005037 012737 005037 004537 047504 051404 012777 012777 112746 112766 012677 012777 010000 (47507 000001 047510 047512 000001 047514 044026 177777 160000 000001 000000 147076 014000 047504 047564 147114 1471190 147074 005077 004737 104401 000000 052777 005037 004737 147072 062654 062450 5952 5953 gggg 032610 011137 001126 5956 5957 032614 032622 022737 001406 145670 001126 5959 032632 010137 042270 144270 001124 (032624 012737 147036 1$: NEMT22 ,a#CYL SNSECOTR+1 #1,3#SECOTR asKEYT DIKEY?2 #1.,3#DAWCRD X RS.a#CRC sCYLINDER 0, 16 BITS PER WORD FORMAT :TRACK 0 :SECTOR 1 ;KEY1=0 :KEY2=0 :NO. OF DATA WORDS :THIS IS A RFAD COMMAND ;GO TO CALCULATE CRC CZR. CZR. & 64 & & o 6 g & o o o 6 6 g :*THESE ARE REGULAR SETUPS 6 6 6 6 6 6 6 6 6 6 6 2 JSR MOV PC.,a#CLDISK AW¥READAT,aR1 :SETUP GENERAL REGISTERS :READ DATA INTO RHCS1=70 6 6 #A16'A17.,aR1 ;1S 760000 6 MoV MoV #-1. ,3RHWC #160000,3RHBA MOVB MOVB MOV MOV #1,-(SP) :IN LOWER BYTE GET SECTOR 1 #0.1(SP) :GET TRACKO IN UPPER BYTE (SP)+,3RHDST :TRACK/SECTOR IN RHDST #FMT22'EC] ,aRHOF ;16 BITS PER WORD :ECC CORRECTION INHIBIT BECAUSE BIS 000001 032554 032560 032564 032570 032572 032600 032604 000010 002006 047344 MOV CLRB MOVB CLR CLR MOV CLR JSR cyL WCRC 047506 5944 5945 5946 5947 5048 5049 ggg? 5958 SCOPE MOV MOV TST BEQ JMP SEQ 0140 SEQ 0139 :10 DATA WORDS :STARTING ADDRESS OF READ BUFFER CLR JSR TYPE HALT BIS CLR JSR SRHCA PC,a#CHECKT LCPHALT #BA],aRHCS2 SHERFLGS PC,a#COMHD :ECC IS NOT CHECKED HERE :CYLINDER 0 :CHECK THAT DVA,RDY,DPR,DRY = 1 :AND THAT NO OTHERS = 1. CANNOT CON:STOP THE TEST :SET BUS ADDRESS INHIBIT :CLEAR ERROR FLAG ;READ DATA MoV aR1,a#$BDDAT :TEST DATA BEQ CMP #SC'TRE'DVA'A16'A17!RDY!70.3#88DDAT ;COMPARE RH(S1 23 -BRANCH IF GOOD MOV R1,3#REGADR MOV #SC!TRE 'DVA'RDY!7( a#SGDDAT ;GOOD DATA :REGISTER RH(S! 6 6 KN 27=-JUL-78 12:41 PAGE 142 MACY11 30A(1052) RHCS2 = BIT # 11 ~ NEM 173 104001 032640 032644 032650 032654 032660 032666 032670 032674 013746 052716 012637 011237 023737 001403 010237 104001 001774 004110 001124 001126 001124 032676 017737 146732 001126 032704 032712 032714 032722 032730 022737 001407 012737 013737 160000 001126 160000 001124 042270 032732 104001 2%: 001126 001634 1 MOV AHUNIT,~(SP) MOV MOV CMP aR2,a4#$BDDAT sTEST DATA MOV ERROR R2 ,’4REGADR 1 sREGISTER ADDRESS sREFRENCING NONEXISTANT MEMORY MoV adRHBA,a#$BDDAT (MP BEQ #160000,a#$B8DDAT BIS BEQ 042270 3s: SEQ 0141 SEQ 0140 ERROR MOV MOV ERROR sREFERENCE NON EXISTANT ¢MEMORY DID NOT SET sREQUIRED BITS sGET UNIT NUMBER ANEM!IR!BAI, (SP) (SP)+,a#$GDDAT ; s INCLUDE NEM BAI AND IR Q4 SGDDAT ,a#$BDDAT; COMPARE RHCSZ2 38 s CAUSED AN ERROR SHOULD SET NEM ;TEST DATA + COMPARE RHBA 4% ¢BRANCH IF GOOD #160000,2#$GDDAT;GOOD DATA a#RHBA ,d#REGADR ;REGISTER ADDRESS RHBA 1 sAFTER A NON EXISTANT MEMORY ERROR ;RHBA DOES NOT HAVE 160002 4%: s 032636 e XA mx" CZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.PN 26-JuL~78 10:10 (ZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJIGC.P11 26-JuUL-78 10:10 5988 5989 5990 5991 5992 032732 MACY11 LM 30A(1052) 27-JUL-78 12:41 PAGE 143 RHCS2 - BIT # 11 - NEM 173 TST74: 000004 ;*DATA TABLE ;*«TOTAL OF 32 WORDS CONSISTING OF :*16 WORDS OF FLOATING ONES (EG. 1, 2, &4, 10) ;*16 WORDS OF FLOATING ZEROS (EG. 177776, 177775) 5993 5994 5995 5996 5997 SCOPE 032734 032740 032746 012706 012737 004737 001000 000074 042620 MOV MOV 002032 JSR #STACK,SP #TTNO,a#TSTNM PC.a#CLDISK JRESET STACK ;THIS SAVES TEST NUMBER JINIT AND SET UP GENERAL REGISTERS ;*SET UP "REINTO'' FOR WHAT IS TO BE READ 032752 032756 032762 032764 032766 032770 032774 033000 033002 033004 033006 012700 012701 010021 006100 103375 012700 012701 010021 000261 006100 103774 000001 003154 033010 033014 033016 033020 004037 003254 004152 000001 042536 177776 003214 1%: 2%: MOV MoV MOV ROL BCC #1,R0 #REINTO,R1 RO, (R1)+ RO 1% ;GETTING READY TO FLOAT 1 ;STARTING ADDRESS WHERE 1 GOES ;MOVE FLOATING 1 ;GET 1 ONE BIT LEFT ;BRANCH IF 16 NOT DONE SEC ROL RO :SET CARRY ;GET O ONE BIT LEFT RO,a#CLAREA REINTO+<32.%2> REINTO+776 ;FILL REST OF BUFFER WITH 1 ;FROM :T0 MOV MOV MOV BCS JSR .WORD .WORD .WORD #177776 ,R0O :GETTING READY TO FLOAT O #REINTO+<16.%2>,R1 ;STARTING ADDRESS WHERE 177776 GOES RO, (R1)+ :MOVE IN FLOATING O 2% 1 ;BRANCH IF 16 NOT DONE ;WITH DATA ;*SET UP SIMULATED DISK WITH WHAT IS TO BE READ 033022 033026 033032 033034 033036 012700 012701 010021 006100 103375 033040 033044 033050 033052 033054 012700 012701 010021 000261 006100 033060 033064 033066 033070 004037 051522 052420 000000 033056 000001 051422 3% 177776 051462 103774 A MOV MOV MOV ROL 8(CC 3s :GETTING READY TO FLOAT 1 ;STARTING ADDRESS WHERE 1 GOES JMOVE FLOATING 1 JGET 1 ONE 81T LEFT :BRANCH IF 16 NOT DONE Mov MOV MOV #177776 R0 :GETTING READY TO FLOAT O #DISK+<16.+2>,R1 ;STARTING ADDRESS WHERE 177776 GOES RO, (R1)+ :MOVE FLOATING O ROL RO JSR .WORD .WORD .WORD RO,a#CLAREA DISK+<32.%*2> DISK+776 0 SEC 8CS 042536 #1,R0 #DISK,R1 RO, (R1)+ RO 4% ;SET CARRY ;GET O ONE BIT LEFT JBRANCH IF 16 NOT DONE ;FILL REST OF BUFFER WITH O ;FROM :T0 ;WITH DATA ;*CHANGE FIFTH WORD TO O ON DISK 033072 033076 005037 005037 051432 002006 CLR CLR a#DISK+10 a#ERFLGS JCLEAR FIFTH WORD ON DISK ;CLEAR ERROR FLAG SEQ 0142 SEQ 0141 (ZRJGCO,RPO4L/5/6 DSKLS CTRLR1 26-JuUL-78 10:10 CZRJGC.P11 033102 004737 174 27-JUL-78 JSR 043656 12:41 WRITE CHECK ERROR ;*IF PAGE 144 PC.,3#WR(CHDA SEQ 0143 SEQ 0142 JWRITE CHECK DATA ;CYLINDER O, TRACK 1, SECTOR 1 JKEYS 0, 32 WORDS. THE PROGRAM (OMES BACK HERE THEN WRITE (HE(K ;*HAS BEEN COMPLETED, NOW WRITE CHECK ERROR BIT IS TESTED ;*ALONG WITH RHWC FOR PROPER WORD COUNT AND RHBA 7#OR ADDRESS 033106 033112 033116 033122 033126 033130 033136 033140 033142 033144 013746 052716 004737 022637 001407 032737 001002 001774 040300 042224 001712 040000 MOV 8IS JSR AMUNIT - (SP) #IR!OR'WwCE,(SP) PC,a#PUTREG JGET UNIT NUMBER ;ONLY BIT 6 SHOULD BE SET ;SAVE REGISTERS BEQ 6% ;BRANCH IF GOOD BNE 5% cMP BIT 001712 ERROR 104017 000401 BR 5%: 104017 ERROR (SP)+,a#(S2 MICE ,an(S2 17 6% 17 ; COMPARE RH(CSZ JWRITE CHECK ERROR HIGH? ;BRANCH IF ERROR NOT DUE TO "WCE"' JRHDB CONTAINS FAILING WORD JRHBA CONTAINS ADDRESS+Z2 :OF THE WORD IN MEMORY FROM :THE DISK THAT DID NOT COMPARE ;TRE AND SC WILL BE SET DUE TO WCE ;WCE WAS CORRECTLY NOT SET ;JBUT SOME BITS OTHER THAN JIR AND UNIT NO. WERE SET TST BEQ aWRH70 16% ;TEST FOR RH70 CONTROLLER ;SKIP RH70 CODE AND DO RH11 MP #-26. ,anu( . COMPARE RHWC AFTER A FORCED 001402 104017 8tQ ERROR 178 17 JWRITE CHECK ERROR ;CHECK RHBA IF GOOD ;WORD COUNT REGISTER IN ERROR AFTER A 033166 000421 BR 15% ;BRANCH TO CONTINUE TEST 033170 022737 q, o #RE INTO+<8.+2> ,a#BA ;COMPARE RHBA AFTER A FORCED 033176 033200 001415 BEQ 158 033202 000413 B8R 158 033204 022737 cMP #=-27. a0 033212 033214 001402 104017 8tQ ERROR 14% 17 ;COMPARE RHW(C AFTER A FORCED JWRITE CHECK ERROR ;CHECK RHBA IF GOOD JWORD COUNT REGISTER IN ERROR AFTER A 033216 000405 BR 158 ;BRANCH TO CONTINUE TEST 033220 022737 mP WREINTO+<5.+2> a#BA; COMPARE RHBA AFTER FORCED 033226 033230 001401 104017 8tQ 15% 033146 033152 005737 0014614 002040 033154 022737 177750 033162 033164 003174 63%: 001706 001710 17%: ERROR 104017 177745 003166 001706 001710 16$: 148: ERROR 17 17 JFORCED WRITE [F NOT CHECX £RROR ON FIFTH WORD JWRITE CHECK ERROR IN FIFTH WORD ;CONTINUE IF GOOD ;BUS ADDRESS REGISTER IN ERROR AFTER JFORCED WRITE CHECK ERROR ON FIFTH WORD ;SKIP RH11 CODE AND CONTINUE WITH TEST JFORCED WRITE CHECK ERROR ON FIFTH WORD JWRITE CHECK ERROR IN FIFTH WORD ;CONTINUE IF GOOD ;BUS ADDRESS REGISTER IN ERROR AFTER ;FORCED WRITE CHECK ERROR ON FIFTH WORD ;*NOW (HECK MEMORY TO SEE IF ANYTHING GOT DESTROYED JeFILL "WRFROM'' WITH WHAT SHOULD BE IN REINTO THEN (HECK TTTAXLLXLLLLLALILRLL L O 6044 6045 6046 60647 6048 6049 6050 6051 6052 6053 6054 6055 6056 6057 6058 6059 6060 6061 6062 6063 6064 6065 6066 6067 6068 6069 6070 6071 6072 6073 6074 6075 6076 6077 MACY11 30A(1052) MmN 6106 6107 6108 6109 6110 61N 6112 6113 6114 6115 6116 6117 6118 6119 6120 6121 6122 6123 6124 6125 6126 6127 6128 6129 6130 6131 6132 6133 6134 6135 6136 6137 6138 6139 6140 6141 6142 6143 005037 012700 012701 010021 006100 002006 009001 002110 033254 033260 033264 033266 033270 033272 012700 012701 010021 000261 006100 177776 002150 033274 033300 033302 033304 004037 002210 042536 033232 033236 033242 033246 033250 033252 15%: 7%: CLR #1,R0 #WRFROM R RO, (R1)+ RO 14 3 MOV MOV MOV #177776,R0 ROL RO 108 JSR .WORD .WORD .WORD RO,a#CLAREA WRFROM+<32. %2> #RFROM*??b 8c( 103375 : 108 SEC BCS 103774 003106 000001 SNERFLGS MOV MOV MOV ROL ;CLEAR ERROR FLAG JGETTING READY TO FLOAT 1 ;START ADDRESS WHERE 1 GOES ;MOVE FLOATING 1 JGET 1 ONE BIT LEFT JBRANCH IF 16 NOT DONE ;GETTING READY TO FLOAT 0 MJRFROM+<16.%2> ,R1 ;STARTING ADDRESS WHERE 177776 GOES RO, (R1)+ :MOVE IN FLOATING O ;SET CARRY ;GET O ONE BIT LEFT ;JBRANCH IF CARRY SET ;FILL REST OF BUFFER WITH 1 <FROM ;10 ;WITH DATA ;*NOW THE READ BUFFER WILL BE CHECKED 043514 256. s CHECK .GOOD BUFFER JTEST BUFFER ;NUMBER OF WORDS CHECKED TST75 JRETURN FOR GOOD COMPARISON ERROR RTS ERROR JREAD NEXT ERROR 5 JRETURN TO COMPARISON SUBROUTINE JSR 033306 033312 033314 033316 033320 033322 004037 002110 003154 000400 033326 033332 033324 033340 033326 033330 033332 104004 000207 11%: 104005 12%: 033334 000207 033336 000240 WRFROM REINTO RO, a#COMPAR JRETURN POINT FOR ERROR HEADER JRETURN POINT FOR ERROR DATA 1% 12% RTS 13%: NOP PC ;DATA IN REINTO BUFFER GOT ;CHANGED AFTER A WRITE ;CHECK DATA COMMAND ;WORD NO CONTAINS THE WORD ;NUMBER THAT GOT CHANGED JRETURN TO COMPARISON SUBROUTINE JONLY A BRANCH POINT SEQ 0144 SEQ 0143 (ZRJ P4 CHECK ERROR PAGE 145 [& WRITE N 12:41 s 174 27-JUL-78 0D OO OCCTTTIRTOPIRPITIRDDD DD DO ONONONON N ONON N N ON QN O O O O O O8O O~ O O8O 8 6100 6101 6102 6103 6104 6105 MACY11 30A(1052) ~ (ZRJGCO,RPO4L/5/6 DSKLS CTRLRI CZRJGC.P1T 26~-JuL-78 10:10 TST75: SCOPE SEQ 0145 27-JuL-78 SEQ 0144 CzZF cz¢ 000004 033342 012706 001000 6150 6151 6152 6153 6154 6155 6156 6157 6158 6159 6160 6161 6162 6163 6164 6165 6166 6167 6168 6169 6170 6171 6172 6173 6174 6175 6176 6177 6178 6179 6180 6181 6182 6183 6184 6185 6186 6187 6188 6189 6190 6191 6192 6193 6194 6195 6196 6197 6198 6199 033346 033354 033360 033364 033370 033372 033374 033376 033400 033404 033406 033410 033412 033420 033426 033434 033442 033450 033456 033462 033466 033470 033472 033476 033504 033512 033516 033524 033530 033536 033542 033546 033552 033554 033560 033564 033570 033576 033600 033602 033606 033610 033614 033620 033622 033626 033632 033636 033644 033646 012737 012746 012705 012700 011620 005305 001375 005726 012705 005020 005305 001375 012737 112737 112737 012737 012737 012737 005037 004537 047504 051404 004737 012777 012777 112746 112766 012677 012777 005077 004737 104401 000000 013711 005037 004737 017737 001401 104040 005737 001055 004737 104401 000000 012700 012720 112746 112766 012620 012720 000075 125252 000400 051422 W W 033340 042620 177770 003154 000000 000001 146114 014000 146110 042654 062450 002070 002006 047344 146036 2%: 047504 047507 047506 047510 047512 047564 DEC MOV CLR DEC BNE MOV MOV CLR JSR cyL WCRC JSR MoV MOV MovB mMovBe MOV 146112 001126 20%: MOV CLR JSR TYPE HALT MoV CLR JSR MOV BEQ ERROR TST BNE JSR 000001 TYPE HALT MOV MOV MovB MOvB MOV MoV #17..,R5 (RO)+ RS 2% ;2 ECC WORDS :CLEAR ECC, DATA GAP, AND :TOLERANCE GAP ;BRANCH IF NOT COMPLETE #0'0,a#CYL ;16 BITS PER WORD #1.,3#SECOTR+1 ;TRACK 1 #0 ,a#SECOTR #0,34KEY1 #0,4KEY2 ;SECTOR O ;KEY1=0 ;KEY2=0 X ;THIS #4 . ,N¥DAWORD RS ,a#CR(C JCYLINDER O ;CHECK THAT DVA,RDY,DPR,DRY = 1 ;AND THAT NO OTHERS = 1. CANNOT (ON- ;STOP THE TEST :READ HEADER AND DATA=7? PC,a#COMHD ;READ HEADER AND DATA aRHWC , SBDDAT 20% 40 SHERFLGS T1ST176 PC.,a#CHECKE ;CLEAR ERROR FLAG ;LOAD AND TEST RHW(C ;SHOULD = 0 ;RHWC DOES NOT = Q0 AFTER A READ ;ANY ERRORS ALREADY THERE JBRANCH IF YES ;CHECK THAT BITS = 1 LCPHALT ;CANNOT CONTINUE TESTING IF THEY DON'T #WRFROM RO #0,(RO)+ #0,-(SP) #1,1(SP) :GETTING READY TO FILL EXPECTED DATA ;CYLINDER O :IN LOWER BYTE GET SECTOR ;GET TRACK IN HIGHER BYTE (SP)+,(R0O)+ #0,(R0O)+ N N IS A READ COMMAND ;GO TO CALCULATE CRC S#REFOR,aR1 a#ERFLGS W :NO. OF DATA WORDS PC,a#CLDISK ;SETUP GENERAL REGISTERS #-4.-4 . ,RHWC ;4. DATA 4 HEADER WORDS #RE INTO ,aRHBA ;STARTING ADDRESS OF READ BUFFER #0,-(SP) ;IN LOWER BYTE GET SECTOR #1,1(SP) :GET TRACK IN HIGHER BYTE (SP)+,aRHDST JTRACK/SECTOR IN RHDST #FMT22'EC] ,aRHOF ;16 BITS PER WORD SRHCA PC,a#CHECKT LCPHALT N SIMULATED DISK DATA ;MOVE IN DATA ON TO SIMULATED DISK ; COUNT :BRANCH IF 256 NOT COMPLETE ;UNDO =(SP) S ;START OF (SPY, (RO + R5 1% (SP)+ ;DATA TO BE READ ;COUNTER P #D1SK,RO MOV MOV MOV #125252,-(SP) #256. RS N ;THIS SAVES TEST NUMBER MOvVB MovB MoV 000001 043044 062450 000000 #TTNO,a#TSTNM MOV 146126 146122 002006 002110 000000 000000 000001 MOV MOV BNE TST 000021 000000 000001 000000 000000 000000 000004 047514 044026 JRESET STACK S 1%: #STACK,SP e 002032 MOV W W 6146 6147 2}23 :STOP THE TEST :GET TRACK/SECTOR IN BUFFER ;KEY1 IN BUFFER P 6144 6145 174 8 12 PAGE 146 12:41 WRITE CHECK ERRCR MACY11 30A(1052) N C(ZRJGCO,RP04/5/6 DSKLS CTRLRI CZRIGC.PI1 26-JUL-78 10:10 CZRJIGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.P11 26-JuL-78 10:10 6200 6201 6202 6203 6204 6205 6206 6207 6208 6209 6210 6217 6212 6213 62146 6215 2%}9 033652 033656 033662 033666 033670 033672 033674 033700 033702 033704 033706 033710 033712 033714 033716 033720 033722 012720 012701 012702 010220 005301 001375 004037 002110 003154 000010 033714 033720 033724 104004 000207 104005 000207 MA(CY11 3?9§1052) 000000 000400 125252 3$: 043514 6%: 5%: 2%13 gs%? 033724 004737 042224 6222 6223 6224 6225 6226 6227 6228 6229 6230 6231 6232 033730 033736 033740 022737 001401 104020 100020 6233 6%: 001716 ¢ 12 27-JUL-78 12:41 PAGE 147 ERROR REGISTER #1-BIT 4 -FORMAT ERROR MoV MOV MOV MoV DEC BNE JSR WRFRCM REINTO 4+4, 4% 5% 6% ERROR RTS ERROR RTS #0, (RO) + #256.,M #125252.R2 R2,(RO)+ R1 3% RO, 3#COMPAR 4 PC 5 PC ;KEY2 IN BUFFER ;DATA WORD COUNTER :DATA ;DATA INTO BUFFER s COUNT ;BRANCH IF 256 NOT DONE s CHECK ;GOOD BUFFER sTEST BUFFER JNUMBER OF WORDS CHECKED JRETURN POINT FOR ERROR HEADER JRETURN POINT FOR ERROR DATA ;RETURN FOR GOOD COMPARISON JREAD NEXT ERROR JRETURN TO ‘'COMPAR'’ ;JWORD NOS 1 TO 4 ARE JRETURN TO ''COMPAR"’ SEQ 0146 SEQ 0145 CZF C2F ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ ¢ fi ;*NOW SEE THAT FORMAT ERROR BIT GOT SET : JSR PC.a#PUTREG ;SAVE REGISTERS : CMP BEQ ERROR #FER!DCK,a#ERT 1ST76 20 ;FORMAT ERROR SHOULD BE SET ;BRANCH [F GOOD ;A 16 BIT PER WORD READ WAS ATTEMPTED ;WHEN THE DISK HAD ;THE FORMAT BIT=0= 18 BITS PER ;WORD THE READ WAS ;COMPLETED BUT ERROR REG ;WAS NOT RIGHT ;NOTE DCK WILL BE SET BECAUCE JECC HAS NOT BEEN GENERATED ( ¢ ( ( ( ( ¢ ( ( ( : ] { { ( ( ( { { ( ( ( 6234 6235 6236 6237 6238 6239 6240 6261 6242 6243 6244 6245 6246 6247 6248 6249 6250 6251 6252 6253 6254 6255 6256 6257 6258 6259 6260 6261 6262 6263 6264 6265 6266 6267 6268 6269 6270 6271 6272 6273 6274 6275 6276 6277 6278 6279 6280 6281 6282 6283 6284 6285 6286 6287 6288 6289 033742 MACYTT 000004 30A(1052) 175 T1ST76: D 12 27-JUL=78 12:41 PAGE 148 ERROR REGISTER #1-BIT 4 -FORMAT ERROR SEQ 0147 SEQ 0146 SCOPE s*NOW A WRITE DATA WILL BE ATTEMPTED WITH ;*WRONG FORMAT BIT 033744 012706 001000 033750 012737 000076 033756 012737 177777 033764 033770 033772 033774 004037 051422 052446 000000 042536 005037 047504 047507 047506 047510 047512 000004 000001 044026 033776 034002 034006 034012 034016 034022 034030 034036 034042 034044 034046 034052 034054 034056 034060 034064 034072 034100 034104 034112 034116 034122 034126 034130 034134 034140 105037 105037 005037 005037 012737 012737 004537 052642 052652 004037 002110 002116 125252 004737 012777 012777 005077 012777 005077 004737 104401 000000 013711 005037 004737 MOV #STACK,SP JRESET STACK 002032 MOV ATTINO,a#TSTNM ;THIS SAVES TEST NUMBER 047620 MOV #=1,34NCSYNC JSR RO,3#CLAREA JSET FLAG SO THAT DATA SYNC ;AND DATA IS NOT READ .WORD .WORD TOLGAP+16 0 FRMAT: .WORD :*THESE ARE CLR CLRB CLRB CLR cFROM .10 ;DATA SETUP FOR DISKLESS USE ONLY CLR 047552 047514 ;CLEAR SIMULATED DISK DISK MOV MoV JSR wCYL a#CYL a#SECOTR+1 a#SECOTR a¥KEY ;CYLINDER O, ;TRACK O JSECTOR O JKEYT O #4 , IINOWORD 21, a4X :NO OF DATA WORDS ;WRITE DATA a¥KEY?2 ;KEY2 0 RS5,a#CRC .GO TO CALCULATE CRC GCRC 042536 042620 177774 002110 145540 010000 145534 042654 062450 002062 002006 047344 ;*«THESE AER REGULAR JSR RO,a#CLAREA WRFROM WRFROM+6 125252 JSR SETUPS PC.a#CLDISK SFILL WRITE FROM BUFFER WITH 125252 ;FROM .10 ;DATA . SETUP GENERAL REGISTFRS 145540 145534 MOV #-4 ,aRHW( 145536 MOV CLR HFMT22 , 3RHOF aRHCA ;STARTING ADDRESS OF WRITE BUFFER ; TRACK=0 SECTOR=0 ;16 BITS PER WORD FORMAT ;CYLINDER O LCPHALT JAND MOV CLR JSR TYPE #WRFROM,3RHBA aRHDST PC,a#CHECKT HALT ;256 DATA WORDS ;CHECK THAT DVA,RDY,DPR,DRY THAT ;STOP THE HEADER CRC, 042224 002006 0000G0 051422 000004 = 1. ;*DATA IS TO BE CHECKED JSR PC,a#PUTREG TST SHERFLGS #0,RO 44 ,R2 s COUNTER 4% MOV 4D1SK,R1 MOV GONE BY s SAVE REGISTERS sHAS ANY ERRORS OCCURED? ;BRANCH IF YES .GOOD DATA BNE MOV HAVE ;DATA WRITTEN INTO 'DISK'' 1 CANNOT TEST HEADER GAP AND SYNC BYTE :*AND SYNCS WERE CORRECTLY DETECTED 004737 005737 001041 012700 012701 012702 NO OTHERS MOV a#WRIDAT ,3R1 JWRITE DATA=60 CLR a¥ERFLGS ;CLEAR ERROR FLAG JSR PC,a#COMHD JWRITE DATA ;*]F THE PROGRAM (COMES BACK HERE WITHOUT ERROR PRINTOUTS ;*FROM THE ''COMHD’’' ROUTINE IT MEANS SECTOR GAP, SYN(C BYTE s *HEADER, 034144 034150 034154 034156 034162 034166 FORMAT 18 BIT WORDS CON- CZR CZR ONOANOANOANOANONNNANOANONANANONAR AN ONANNOANAROANORNNONONONONONONONON NN CZRJGCO,RPO4/5/6 DSKLS CTRLR 1 CZRJGC.P11 26-JuL-78 10:10 144676 177177 BR ERROR 3%: JANY ERRORS ALREADY THERE? ;BRAMCH [F YES ;ERROR ON WRITE DATA COMMAND ;ON A WRITE DATA WITH ;WRONG FORMAT NO DATA ;SHOULD BE WRITTEN ;WORD NO GIVES WORD IN ERROR JBRANCH TO AVOID PRINTING NEXT ERROR TST MOV (R1)+ aSWR,=(SP) JUNDO -(R1) FOR BAD DATA JGET SWITCH SETTING BEQ 48 JBRANCH IF BIC CMP 000200 5% 5 ;ERROR WORD NO DEC BNE 8177177 ,(SP) #SW07, (SP) + R2 1% JKEEP ONLY SWITCH 7 AND 8 ;IS 7 SET AND 8 RESET. YES ;IF NOT COUNT 256 WORDS ;JBRANCH IF 256 NOT DONE ;*NOW CHECK TO SEE THAT FORMAT ERROR BIT GOT SET 022737 001401 104020 000020 001716 4%: cMP BEQ ERROR #FER,A#ERT 1S177 20 ;FORMAT ERROR SHOULD BE SET ;BRANCH IF GOOD ;A 16 BIT PER WORD WRITE DATA JWAS ATTEMPTED WHEN THE DISK ;HAD THE FORMAT BIT =0=18 ;BITS PER WORD THE WRITE ;WAS 6323 CORRECTLY ABORTED ;BUT ERROR REG. 1 WAS WRONG 20 V. Vo Ve Ve Vo Vo Ve Ve Vo Vo Ve Vo Vo Vo Vo Yo Vo Xe.¥0 Y2 Yo.Y2 Yo . Yo.70.50 Yo Yo Yo Yo Yo Yo Yo Yo Xo X0 X0 X0 Yo 2%: 5%: 104005 2% 4 ;BAD DATA VW 000401 a#ERFLGS ;BRANCH [F GOOD .GOOD DATA o BNE ERROR RO, a#$GDDAT -(R1) ,a#$BDDAT RZ, 3#ERWORD ;FOR ERROR WORD . COMPARE GOOD DATA WITH DATA ON DISK W TST #5,34ERWORD RO, (R1.+ 3% W MOV MOV SuB 001124 001126 047624 002606 104004 005721 017746 042716 022726 001402 005302 001345 CMP BEQ W MOV O 1%: W 012737 020021 001424 010037 016137 160237 005737 001002 P 047€¢24 036172 SEQ 0148 SEQ 0147 P 000005 6290 6291 17 6 E 12 PAGE 149 27-JUL-78 12:41 ERROR REGISTER #1-BIT 4 -FORMAT ERROR 30A (1052 alal MACY11 NN C2ZRJIGCO,RPO4/5/6 DSKLS CTRLR1 CZRJIGC.P11 26-JuL-78 10:10 012706 012737 004737 004737 104401 000000 012700 012005 052777 013777 001900 000077 042620 042654 062450 002032 001652 000040 001774 145276 165270 MOV MOV #STACK,SP #TTNO,3#TSTNM HALT MOV MOV #RHCA RO (RO) +,RS JSR JSR TYPE BIS MOV PC,a#CLDISK PC,a#CHECKT LCPHALT #CLR,3RHCS?2 SHUNIT ,aRHCS2 JRESET STACK :THIS SAVES TEST NUMBER ;CLEAR DISK ;CHECK THAT DVA,RDY,DPR,DRY 1 ;AND THAT NO OTHERS = 1. CANNOT CON;STOP THE TEST ;R5 HAS ADDRESS OF REG. UNDER TEST JREINSTATE UNIT NO. :*SET UP FOR AN OPERATION (WRITE HEADER AND DATA) 034346 013777 002064 145264 MOV S#WRIFOR,aRHCST 034354 034362 034370 034376 034404 034412 012777 012777 012777 052777 012777 005077 177766 002110 000010 000010 010000 145234 145250 145244 145246 145232 145236 MOV #-10. ,3RHWC MOV #10,3KHDST MOV 8IS [ 101Y) CLR #JRFROM , aRHBA #BA] ,aRH(CS?2 #FMT 22 ,8RHOF aRHCA ;WRITE HEADER AND DATA-62 ;IN RHCST ;10 WORDS ;BUS ADDRESS = WRFROM ;DESIRED TRACK=0, SECTOR-10 ;BUS ADDRESS INCREMENT INHIBIT ;FORMAT 16 BIT WORDS ;CYLINDER =0 ;~SAVE REGISTERS 034416 034422 034424 034426 004037 001€40 003154 000016 JSR 043372 RHCS? RO,a#SAVER REINTOQ 14. ; SAVE <FROM ;10 ;NUMBER OF REGISTERS SAVED ;*NOW THE COMMAND IS GIVES TO ;*WRITE HEADER AND DATA FOR (YL=0, SECTOR=10 ;*TRACK=0 IT COMES BACK AFTER ONE SECTOR ;*HAS PASSED 034430 034436 034442 012777 005277 012715 000001 145176 177672 145222 MoV #DMD , aRHMR 034446 034454 034462 034470 034476 034504 052737 052737 042737 052737 052737 042737 000001 000004 000200 040000 000001 000200 003174 003156 003176 003176 003154 003154 BIS BIS 8IC 8IS BIS #DMD ,a#RE INTO+20 :SET DMD IN SAVED REGISTER RHMR #RMR ,a#REINTO+2 ;SET RMR [N SAVED REG. RHER1 #DRY ,I#REINTO+22 :CLEAR DRY IN RHDS1 #ERR,S#REINTO+22 ;SET ERR IN RHDS1 #GO,a#REINTO :SET GO IN SAVED REG. RHCS1 INC MoV 8IC aRHCS1 177672 ,3RS #RDY ,a#RE INTO sSET DIAGNOSTIC MODE ;GO TO RHCS1 WITH 62 ;TRY WRITING ALL BITS EXCEPT ;GO, RMR, IE ;CLEAR RDY BIT 0 SCOPE Ve Vo Vo Vo Vo Vo Ve Vo Vo Vo Vo Vo .¥o No.Ve YoNo Yo Xo No . No. Vo . X0, F0 o0 Yo Yo Yo Yo X0 X0 Yo Yo X o Yo Yo Yo Yo Ko Yo Yo Yo Yo Yo 00 T 3 034274 034300 034306 034372 034316 034322 034324 034330 034332 034340 TS177: SEQ 0149 SEQ 0148 s 6353 6354 6355 6356 6357 6358 6359 6360 6361 6362 6363 6364 6365 6366 6367 6368 6369 6370 6371 6372 6373 6374 6375 6376 6377 6378 6379 000004 27-JUL-78 12:41 PAGE 150 ERROR REGISTER #1-BIT 4 -FORMAT ERROR J*AFTER AN ATTEMPT TO WRITE INTO A REGISTER ;*SAVE REGISTERS AGAIN SO THAT COMPARES CAN BE DONE 034512 034516 034520 034522 004037 001640 002110 000016 043312 JSR RHCS1 WRFROM 14. RO,a#SAVER P e o 6352 034272 176 30A(1052) ; SAVE .FROM ;10 ;NUMBEK P 6324 6325 6326 6327 6328 6329 6330 6331 6332 6333 6334 6335 6336 6337 6338 6339 6340 6341 6342 6343 6344 6345 6346 6347 6348 6349 6350 6351 MACY11 'alal NN CZRJIGCO,RPO4/5/6 DSKLS CTRLRI CZRJGC P11 26-JuL-78 10:10 F 12 CZRJGCO,RPO4/5/6 DSKLS CTRLRY CZRJIGC.P11 26=JuL~78 10:10 :*AS UPPER BYTE OF 034524 003173 CHANGING IN A DUAL PORT ;*OPERATION THC UPPER BYTE OF RHAS WILL BE SAVED AS ]S ;*SO THAT THE COMPARES ARE ONLY VALID FOR THE LOWER BYTE 002127 MOVB AFREINTO+17 ,a#WRFROM+17; SAVE UPPER RHAS 004037 003154 002110 000016 034552 034552 034572 013705 043514 047624 001636 JSR RO, a#COMPAR 14, 4% 4% 5% MOV ADD MOV ERROR ;NUMBER JRETURN FOR ERROR ; SAME JRETURN FOR GOOD COMPARISON @#ERWORD ,RS ;GETTING READY TO INDEX R5,R5 .DOUBLE ERROR WORD RHCS1-2(R5) ,a#REGADR ;FAILING REG. ADDRESS 1 ;CONTENTS OF REGISTER REINTO WRFROM 4%: 042270 000207 RTS ;*THE . 034572 004737 042620 5%: % JSR PC FOLLOWING ; COMPAR . GO BUFFER ;TEST BUFFER ;CHANGED WITH ;AN ATTEMPT TO WRITE ;DURING AN OPERATION CLEAR MAY PC.a#CLDISK SET THE ATA BIT BECAUSE :CLEAR DISK GO IS HIGH OO OONOFONONOrOOOOOOrOrOrOrOrOrOOOOOAOONOONOFOONOROMO NN 6404 6405 6406 113737 RHAS (AN BE SEQ 0150 SEQ 0149 ;*COMPARE REGISTERS BEFORE ATTEMPTED WRITE WiTH AFTER 6400 6401 6402 6403 G 12 30A(1052) 27-JUL-78 12:41 PAGE 151 177 RHER1 - BIT #2 -~ REG. MCDIFICATION REFUSED oo 6380 6381 6382 6383 6384 6385 6386 6387 6388 6389 6390 6391 6392 6393 6394 6395 6396 6397 6398 6399 MACY!1 CZRJIGCO,RPO4L/S5/6 DSKLS CTRLRI CZRJGC.P11 26-JuL-78 10:10 6407 6408 6409 6410 6411 6412 6413 6414 6415 64616 64617 6418 6419 6420 6421 6422 6423 6424 6425 6426 6427 6428 6429 6430 6431 6432 6433 6434 6435 6436 6437 6438 6439 6440 6441 6442 6443 6444 6445 6446 6447 034576 034600 034604 034612 034616 034624 034630 000004 012706 034632 000004 034634 034640 012706 012737 005037 004737 004037 003154 004154 000000 012700 012720 012720 012720 012720 004037 001000 000101 047620 044302 042536 004037 044430 034646 034652 034656 034662 034664 034666 034670 034674 034700 034704 034710 034714 034720 034722 034724 034726 034732 034734 034736 034740 034742 034744 034746 034750 034752 012737 004737 012777 004037 000001 001200 000100 042620 000001 045172 MACY11 30A(1052) 177 002032 145034 27-JuUL-78 RHER1 TST100: SCOPE MOV MOV JSR MOV #SR TST10: #STACK,SP #TTNO,@¥TSTNM PC,a#CLDISK , ARHMR #DMD RO, a#MAKECYL JRESET STA(CK #STACK,SP #TTNO,a#TSTNM a#NOSYNC PC,a#SETDSK RO,a#CLAREA JRESET STACK ;THIS SAVES sINIT DRIVE TEST NUMEER ;SET DIAGNOSTIC MODE ;SUBROUTINE TO GIVE A SEEK s CHANGE RHCC TO 1 ;THIS SAVES TEST NUMBER 851NT04<256.~2> ;SET FLAG SO THAT DATA SYNC( ;SET UP SIMULATED DISK ;FILL REINTO BUFFER ;FROM LOCATION .TO LOCATION MOov MOV MOV MOV ;10000 INTO WRFROM ;601=TRACK1,SECTOR? ;1 INTO WRFROM+ REINTO 002110 010000 000401 000001 000001 042536 PAGE 152 - BIT #2 - REG. MODIFICATION REFUSED SCOPE MOV MOV (LR JSR JSR 002032 H 12 12:41 MOV MIRFROM RO #FMT22, (RO) + #4071, (R0O) + #21,(RO)+ 21,(R0O)+ RO,a#(LAREA JSR WRFROM+10 %2> WRFROM+<256. 17700 JSR RO,a#HCCRCE . DATA ;1 INTO WRFROM+6 JFILL WRFROM ;FROM ;10 .DATA ;READ HEADER AND DATA . CYLINDER JSECTOR ;. TRACK ;WORD COUNT ;RHBA BUFFER 000240 JREAD ;HEADER 1%: COMPARE JRETURN POINT FROM HCCRCE SEQ 0151 SEQ 0150 6464 6465 000004 012706 012737 004737 012777 004037 000000 035010 000004 035012 035016 035024 035030 035034 035040 035042 035044 035046 035052 025056 035062 012706 012737 005037 004737 004037 003154 004154 000000 012700 012720 012720 012720 012720 004037 002120 003110 177400 004037 000072 000000 000001 000000 035130 177400 003154 000000 000001 000240 001000 000102 042620 000001 045172 10 TST102: 002032 164656 SCOPE MOV MoV JSR MOV JSR 0 TST103: 001000 000103 047620 044302 042536 I 12 PAGE 153 27-JUL=-78 12:41 ERROR REG1 - BIT #7 - HEADER (OMPARE ERROR JRESET STA(K ;THIS SAVES TEST NUMBER #STACK,SP #TTNO,a#TSTNM a#NOSYNC PC,a#SETDSK JRESET STA(CK ;THIS SAVES TEST NUMBER RO, 3#MAKECYL JSR REINTO RO,a#CLAREA SEINTO+<256.*2> MOV 002110 010000 000401 000001 000001 042536 (01" MOV MOV #WRFROM RO #FEMT22, (RO) + #4601, (RO) + #1,(RO)Y+ MOV #1,(RO)+ JSR RO,a#CLAREA WRFROM+10 WRFROM+<256. %2> 177400 JSR RO ,a#HCCRCE 72 0 044430 1 0 -256. REINTO 1%: ;INIT DRIVE ;SET DIAGNOSTIC MODE ;SUBROUTINE TO GIVE A SEEK ;CHANGE RHCC TO O SCOPE MOV MOV CLR JSR 002032 #STACK, SP HTTNO,a#TSTNM PC,a#(CLDISK #DMD , RHMR 0 1 NOP ;SET FLAG SO THAT DATA SYNC ;SET UP SIMULATED DISK ;FILL REINTO BUFFER ;FROM LOCATION ;TO LOCATION ;DATA ;10000 INTO WRFROM :601=TRACK1,SECTOR1 :1 INTO WRFROM+ ;1 INTO WRFROM+6 ;FILL WRFROM :FROM :T0 :DATA ;READ HEADER AND DATA ;CYLINDER ;SECTOR : TRACK :WORD COUNT JRHBA BUFFER :READ ;HEADER COMPARE ;RETURN POINT FROM MCCRCE SEQ 0152 SEQ 0151 OO OOV O 034754 034756 034762 034770 034774 035002 035006 30A(1052) NN Voo 6448 6449 6450 6451 6452 6453 6454 6455 6456 6457 6458 6459 6460 6461 6462 6463 MACY11 I~ ~U SIS S U S SIS SIS SN N S SN SN N N SN N NN SN SN SN SN SN NN N YN YN N CZRJGCO,RPO4/5/6 DSKLS CTRLR] CZRJGC.P11 26-JUL-78 10:10 6488 6489 €490 6491 6492 6493 6494 6495 6496 6497 6498 6499 6500 6501 6502 6503 6504 6505 6506 6507 6508 6509 6510 6511 6512 6513 6514 6515 6516 6517 6518 €519 6520 6521 035132 035160 0351€4 000004 012706 012737 004737 012777 004037 CG0001 035166 000004 035179 035174 035202 035210 035214 035220 035222 035224 035226 035232 035234 035236 035240 035244 035246 035250 035252 035254 035256 035260 035262 035264 012706 012737 012737 004737 004037 002110 003110 001000 000105 177777 044302 042536 004037 003154 004154 042536 125252 177400 004037 000060 000001 000001 000001 177400 002110 000001 000001 000240 001000 000104 0642620 000001 045172 MACY11 30A(1052) 7103 TST104: J 12 PAGE 154 27-JUL=-78 12:41 ERROR REG1 - BIT #7 - HEADER (OMPARE ERROR 002032 SCOPE MOV MOV #STACK,SP HTTNO,a#TSTNM 144500 MOV #DMD , aRHMR JSR {SR TST105: RO, a#MAKECYL #STACK,SP HTTNO,a#TSTNM #=1,3#NOSYNC PC.,a#SETDSK RO,a#CLAREA %2> M+< 256, WRFRO 125252 JSR REINTO RO,a#CLAREA REINT0+<256.%2> 177409 JSR RO ,a#HCCRCE 044430 JRESET STA(CK ;THIS SAVES TEST NUMBER JINIT DRIVE ;SET DIAGNOSTIC MODE ;SUBROUTINE TN GIVE A SEEK s CHANGE RHCC T0 1 SCOPE Mov MOV MOV JSR JSR WRFROM 002032 04762C PC,a#CLD]SK JRESET STACK :THIS SAVES TEST NUMBER ;SET FLAG SO THAT DATA SYNC JSETUP SIMULATED DISK JFILL WRFROM BUFFER ;FROM LOCATION ;TO LOCATION ;DATA JFILL REINTO BUFFER :fiROM LOCATION ;WRITE DATA JCYLINDER ;SECTOR ; TRACK ;WORD COUNT ;RHBA BUFFER JWRITE 1%: SEQ 0153 SEQ 0152 JHEADER COMPARE JRETURN POINT FROM HCCRCE SN NN N N N N N NN N N ENENENENENVENEN CZRJGCO,RPO4/5/6 DSKLS € TRLR1 CZRJIGC.P11 26-JUL-78 10:10 6522 6523 6524 6525 6526 6527 6528 6529 6530 6531 6532 6533 6534 6535 6536 6537 6538 6539 6540 6541 6542 6543 6544 6545 6546 6547 6548 6549 6550 6551 6552 6553 6554 6555 6556 6557 035266 035270 035274 035302 035306 035314 035320 000004 035322 000004 035324 035330 035336 035344 035350 035354 035356 035360 012706 012737 012737 004737 004037 002110 003110 035416 035420 012706 012737 004737 012777 004037 000000 125252 004037 003154 004154 177400 004037 000060 000C00 000001 000000 177400 002110 000001 000001 000240 001000 000106 042620 000001 045172 7105 TST106: 002032 144344 SCOPE MOV Mov JSR MOV 6SR TST107: 001000 000107 177777 044302 042536 K 12 PAGE 155 27-JUuL-78 12: 41 ERROR REG.1 - BIT #7 - HEADER COMPARE ERROR JRESET STACK #STACK,SP HTTNO,a#T STNM #=1,a4NOS YNC PC,a#SETD SK JRESET STACK MOV JSR JSR WRFROM RO,a#CLAR EA %2> WRFROM+<256. 125252 JSR 042536 REINTO RO.a#CLAR EA %2> REINTO+<256. 1774600 RO, a#HCCR CE JSR 60 0 044430 1 0 -256. #RFROM 1 1%: . THIS SAVES TEST NUMBER SINIT DRIVE JSET DIAGNOSTIC MODE ;SUBROUTINE TO GIVE A SEEK s CHANGE RHCC TO 0 SCOPE MOV MOV 002032 047620 #STACK,SP #TTNO,a#T STNM PC,a#CLD] SK #DMD , aRHM R RO, I#MAKE cyL SEQ 0154 SEQ 0153 NOP [ THIS SAVES TEST NUMBER ;SET FLAG SO THAT DATA SYNC ;SETUP SIMULATED DISK ;JFILL WRFROM BUFFER ;FROM LOCATION ;TO LOCATION ;DATA JFILL REINTO BUFFER :§SOM LOCATION ;WRITE DATA s CYLINDER ;SECTOR . TRACK JWORD COUNT ;JRHBA BUFFER JWRITE JHEADER COMPARE JRETURN POINT FROM HCCRCE NN N N N N N N N N N N N N N NN N N NN S NN N NN N NN Y NN NN N YN NN Y C(ZRJGCO,RPO4L/5/6 DSKLS CTRLR1 CZRJGC.P1 26-JUL-78 10:10 MACY11 30A(1052) 6558 6559 6560 6561 6562 6563 6564 6565 6566 6567 6568 6569 6570 6571 6572 6573 6574 6575 6576 6577 6578 6579 6580 6581 6582 6583 6584 6585 6586 6587 6588 6589 6590 035422 000004 035424 035430 035436 035442 035446 035452 035456 035460 035462 035464 035470 035474 035500 035504 035510 035514 035516 035520 035522 035526 035530 035532 035534 035536 035540 035542 035544 035546 012706 012737 005037 004737 005137 004037 003154 MACY11 L 12 PAGE 156 30A(1052) 27-JUL-78 12:41 1107 ERROR REG.1 ~ BIT #7 - HEADER COMPARE ERROR TST110: 001000 000110 047620 044302 051404 042536 SCOPE MOV MOV CLR JSR cOM JSR 002032 REINTO #STACK,SP #TTNO,a#TSTNM A#NOSYNC PC,a#SETDSK a#WCRC RO,a#CLAREA 8E1NTO+<256.*2> MOV MOV MOV MOV MoV 002110 010000 000401 000001 000001 042536 #WRFROM,RO HFMT22, (RO) + #6401, (RO) + #1,((R0O)+ #1,(RO)+ RO,a#CLAREA JSR WRFROM+10 WRFROM+<256, %2> 177400 JSR 044430 72 000000 0C001 000001 0 003154 000000 000000 000240 REINTO 1 1 =256. 177400 1%: SEQ 0155 SEQ 0154 0 0 NOP RO ,a#HCCRCE JRESET STACK ;THIS SAVES TEST NUMBER JSET1 FLAG SO THAT DATA SYNC JSET UP SIMULATED DISK ;CHANCE CRC TO GIVE HCRC JFILL REINTO BUFFER ;FROM LOCATION ;TO LOCATION :DATA ;10000 INTO WRFROM ;401=TRACK1,SECTOR1 ;1 INTO WRFROM+ :1 INTO WRFROM+6 JFILL WRFROM ;FROM ;10 .DATA ;READ HEADER AND DATA JCYLINDER ;SECTOR : TRACK ;WORD COUNT ;RHBA BUFFER sREAD ;CRC ERROR ;RETURN POINT FROM HCCRCE NNNVNNNNNNNY NN C2ZRJIGCO,RPO4L/5/6 DSKLS CTRLR] CZRJGC.P11 26=-JUL-78 10:10 (ZRJGCO,RPO4L/5/6 DSKLS CTRLRI CZRJIGC.P1T 26-JuL-78 10:10 6591 6592 6593 6596 6595 6596 6597 6598 6599 6618 MACYT 035550 035552 035556 035564 035572 035576 035602 035606 035610 035612 035614 035620 035622 035624 035626 035632 035634 035636 035640 035642 035644 035646 035650 035652 001000 000111 177777 044302 051404 042536 3? A(1052) 27=-JUL-78 110 RHER1 TST111: SCOPE MOV MOV MOV JSR com JSR 002032 047620 WRFROM M1 12:41 PAGE 157 -~ BIT #8 -~ CRC ERROR #STACK,SP #TINO,a#TSTNM #-1,a#NOSYNC PC,a#SETDSK aMWCRC RO,a#CLAREA WRFROM+<256. %2> 125252 JSR RO,a#CLAREA 042536 REINTO 044430 ;FROM LOCATION :TO LOCATION ;DATA JFILL REINTO BUFFER cFROM LOCATION JWRITE DATA sCYLINDER ~256. ;WORD COUNT WRFROM 1 1%: JRESET STACK JTHIS SAVES TEST NUMBER ;SEYT FLAG SO THAT DATA SYNC JSETUP SIMULATED DISK . CHANGE CRC TO GIVE HCRC JFILL WRFROM BUFFER REINT0+<256.%2> 1776400 JSR RO,a#HCCRCE 60 0 1 1 0 NOP SEQ 0156 SEQ 0155 (READING) ;10 ;SECTOR ; TRACK JRHBA BUFFER JWRITE . CRC ERROR JRETURN POINT FROM H(CRCE (ZRJGCO.RPO4L/5/6 DSKLS CTRLR1 CZRJGC.P11 26-JuL-78 10:10 MACY11 30 A(1052) Tm 27=-JUL-78 RHER1 N 12 12:41 PAGE 158 - BIT 8 = CRC ERROR SEQ 0157 SEQ 0156 (WRITING) ;*SET UP FOR THE TWO LAST SECTOR TRANSFERRED TESTS FOLLOWING 002036 035654 2%: 3%: 036340 035670 035670 035672 035676 035704 035710 035716 035722 001000 000112 042620 000001 045172 035724 000004 035726 035732 035740 035744 035746 035750 035752 035760 035766 035774 036000 036004 036012 036020 036024 036026 012706 012737 004037 051422 052446 000000 012737 112737 112737 005037 005037 012737 012737 004537 047504 051404 004037 002110 003110 000377 004737 012777 012777 012746 112766 012677 012777 012777 004737 104401 000000 TST112: 011456 000022 000025 047510 047512 000400 000001 044026 177400 002110 000025 000022 143544 010000 001456 0462654 062450 SCOPE MOV #STACK,SP JRESET STACK JSR PC.,a#CLDISK JINIT DRIVE MOV 163742 JSR 814. 002032 047504 047507 047506 047552 047514 23 3s a#D0G :MOVE RPO6 FLAG TO ITSELF ATTNO,a#TSTNM #DMD , aRHMR RO, a#MAKECYL ;SUBROUTINE TO GIVE A SEEK ;CHANGE RHCC TO 814. JRESET STACK .WORD DISK ;FROM #256. ,3#NOWORD A, a8X ;NO OF DATA WORDS ;WRITE DATA RO,a#CLAREA :FILL WRITE BUFFER WITH 377 A#TTNO,a#TSTNM RO,a#CLAREA ;THIS SAVES TEST NUMBER ;CLEAR SIMULATED DISK . WORD .WORD MOV Move MovB CLR CLR TOLGAP+16 ;10 0 :DATA #8114, 'FMT22.,a#CYL;CYLINDER 814, #18. ,a#SECOTR+1;TRACK 18. #21. ,a#SECOTR JSECTOR 21. a¥KEY JKEY1 0 aHKEY2 KEY2 0 éSR RS.,a#CRC MOV MOV JSR WRFROM+<256. %2> 377 143542 143536 ;SET DIAGNOSTIC MODE #STACK,SP MOV JSR WRFROM 000001 ;THIS SAVES TEST NUMBER MOV WCR(C 143556 143552 TO TEST ;IF = 0 TREAT DRIVE AS RPO4 ;TREAT AS RP06 - DO NEAT "MAKECL'' & TEST ;DO SECOND FOLLOWING ‘MAKECL'' AND TEST SCOPE YL 042536 042620 a#RPO6 Mov 002032 TST113: 001000 000113 042536 TST 8EQ B8R JMP JSR MOV MoV MOV MOVB MOV MOV MOV JSR TYPE HALT PC,a#CLD]ISK #=256. ,aRHW( MJRFROM,aRHBA #21.,-(SP) #18.,1(SP) (SP) + ,aRHDST HFMT2?2 ,ARHOF #8164, ,aRHCA PC.,a#CHECKT LCPHALT ;G0 TO CALCULATE CRC ;FROM LOCATION ;TO LOCATION ;DATA JSETUP GENERAL REGISTERS :256. DATA WORDS :STARTING ADDRESS OF WRITE BUFFER JSECTOR 21, :TRACK 18. ;SECTOR 21. TRACK 18, ;16 BITS PER WORD FORMAT ;CYLINDER 814, ;CHECK THAT DVA,RDY.DPR,DRY = 1 JAND THAT NO OTHERS ;STOP THE TEST 1. (ANNOT (ON- C(ZRyGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.P1 26-JuL-78 10:10 6675 6676 6677 6678 036126 036132 036136 036142 036146 036152 036154 036160 036164 036170 036176 036200 036202 036206 036212 036216 036222 036224 036226 036230 036232 036234 036240 036244 036250 036252 036254 6710 6711 6712 6713 6714 6715 6716 6717 6718 6719 6720 6721 036256 036262 036266 036272 036274 036302 036310 036316 013711 005037 004737 004737 005737 001062 012700 012701 012702 012737 020021 001424 010037 014137 160237 005737 001002 104004 000401 104005 005721 017746 042716 022726 001402 005302 001345 013746 042716 022726 001412 013737 012737 013737 104001 MACY11 B 13 PAGE 159 3? A(1052) 27=JUL~-78 12:41 113 RHDS1 (BIT #10) - LAST SECTOR TRANSFERRED, NWRIDAT ,a3R1 JWRITE DATA=60 PC,a#COMHD PC ,a#PUTREG a#ERFLGS JWRITE DATA ;SAVE REGISTERS JHAVE ANY ERRORS OCCURED? 002062 002006 047344 042224 002006 MOV CLR o#ERFLGS 000377 051422 000400 000401 MoV MOv MOV MOV #377 ,RC JSR JSR TST BNE 047624 1%: 001124 001126 047624 002006 MOV MOV 2%: 64%: 142700 177177 000200 3%: (%: 001736 001000 002700 001662 002700 001736 CMP BEQ SuB TST BNE ERROR BR ERROR TST MOV BIC Mp BEQ DEC BNE MOV BIC CMP BEQ 042270 MOV MOV MOV 001124 001126 ERROR 5% #DISK,R1 SEQ 0158 SEQ 0157 'LST' ;CLEAR ERROR FLAG JBRANCH IF .GOOD DATA YES ;DATA WRITTEN INTO 'DISK"' #256. ,R2 ;COUNTER #256.+1 ,a#ERWORD; FOR ERROR WORD RO, (R1)+ ;COMPARE GOOD DATA WITH DATA ON DISK 3% :BRANCH IF GOOD RO,a#$GDDAT . GOOD DATA -(R1) ,a#$BDDAT ;BAD CATA R2,a#ERWORD ;ERROR WORD NO A#ERFLGS 2% ;ANY ERRORS ALREADY THERE? ;BRANCH IF YES 649 5 (R1)+ aSWR,=(SP) #177177,(SP) ;BRANCH TO AVOID PRINTING NEXT ERROR ;WORD NO GIVES WORD IN ERROR JUNDO -(R1) FOR BAD DATA JGET SWITCH SETTING JKEEP ONLY SWITCH 7 AND 8 4 #SW07, (SP)+ 4% R2 1% JERROR ON WRITE DATA COMMAND ;1S 7 SET AND 8 RESET JBRANCH OUT IF YES ;IF NOT COUNT 256 WORDS ;BRANCH IF 256. NOT DONE a#DS1,-(SP) ;GET RHDS1 #PROG, (SP) ;CLEAR PROG #LST!DPR!DRY!VV,(SP)+;IS °'LST' HIGH ? 5% ;BRANCH IF GOOD a4RHCS1,3#REGADR ;FAILING REG. ADDRESS #LST!DPR'DRY'VV,a#$GDDAT ;GOOD DATA a#DS1,a#8BDDAT :BAD DATA 1 :'LST® DID NOT SET AFTER ;LAST SECTOR ON LAST TRA(CK :ON LAST CYLINDER WAS SWRITTEN 036320 036326 036330 036332 013737 104415 000000 060200 001640 036334 000137 037004 036330 5%: 6%: MOV wAT A#RHCST,an6$ ;RHCS1 ADDRESS JWAIT FOR READY RDY JMP :VV BIT #6 MAY OR MAY NOT BE HIGH :SET UP "WAT'' SUBROUT INE a#CAT ;DON'T DO THE RPQO4 °'LST' TEST FOLLOWING C(ZRJGCO,RPO4/5/6 DSKLS CTRLRI CZRJGC.PI1 26-JUL-78 10:10 6722 6723 6724 6725 6726 6727 6728 6729 6730 6731 6732 6733 001000 000114 042620 000001 045172 ¢ 13 PAGE 160 27-JuL-78 1 §:41 MACYTT 3??( 1 052) 13 RHDS1 (BIT #10 - LAST SECTOR TRANSFERRED, D0G: TST114: SCOPE MOV MOV JSR MOV JSR 410. 002032 143272 #STACK,SP #TTNO,a#TSTNM PC.,a#CLDISK , JRHMR #DMD RO, a#MAKECYL °‘LST' JRESET STACK ;THIS SAVES TEST NUMBER ;INIT DRIVE 2SET DIAGNOSTIC MODE ;SUBROUTINE TO GIVE A SEEK ;CHANGE RHCC TO 410. 6734 6735 6736 6737 6738 6739 6740 6741 6742 6743 6744 6745 6746 6747 6748 6749 6750 6751 6752 6753 6754 6755 6756 6757 6758 6759 6760 6761 6762 6763 6764 6765 6766 6767 6768 6769 6770 6771 6772 6773 6774 6775 6776 6777 TST115: 000004 012706 012737 004037 051422 052446 000000 012737 112737 112737 005037 005037 012737 012737 004537 047504 051404 004037 002110 003110 000377 004737 012777 012777 012746 112766 012677 012777 012777 004737 104401 000000 013711 005037 004737 004737 005737 001062 012700 012701 012702 001000 000115 042536 010632 000022 000025 047510 047512 000400 000001 044026 002032 047504 047507 047506 047552 047514 000632 042654 062450 002062 002006 047344 042224 002006 000377 051422 000400 #STACK,SP A#TTNO,a#TSTNM .WORD .WORD MOVB ;FROM DISK :T0 TOLGAP+16 0 ; DATA H610.'FMT22.a#CYL; CYLINDER 410. #18. ,a#SECOTR+1:TRACK 18. CLR aNKEY JSR .WORD MOV 000001 143072 143066 RO,a#CLAREA ;CLEAR SIMULATcD DISK CLR MOV MOV JSR asKEY2 #256. , I#NOWORD #1,axX R5,a#CRC :SECTOR 21. :KEY1 0 (KEY2 0 :NO OF DATA WORDS WRITE DATA ;GO TO CALCULATE CRC JSR RO,a#CLAREA JFILL WRITE BUFFER WITH 377 MOVB WRFROM 143106 143102 JRESET STA(CK ;THIS SAVES TEST NUMBER MOV MOV CYL WCRC 042536 042620 177400 002110 000025 000022 143074 010000 SCOPE #21. ,a#SECOTR %2> WRFROM+<256. 377 JSR PC.,a#CLDISK MOV #-256. ,3RHWC MOV #WURFROM, aRHBA MOV #21.,-(SP) MOVB #18.,1(SP) MOV JSR (SP)+ ,aRHDST RFMT22 , 3RHOF #610. ,aRHCA PC.,a#CHECKT MOV CLR JSR JSR HWRIDAT ,aR1 a#ERFLGS PC.,a#COMHD PC,a#PUTREG BNE MoV 5% #377 R0 MOV #256. ,R2 MOV MOV TYPE HALT TST MOV JCPHALT a#ERFLGS #D]SK ,R1 ;FROM LOCATION ;TO LOCATION :DATA ;SETUP GENERAL REGISTERS :256. DATA WORDS ;STARTING ADDRESS OF WRITE BUFFER ;SECTOR 21. ;TRACK 18, ;SECTOR 21. TRACK 18. 216 BITS PER WORD FORMAT sCYLINDER 410. ;CHECK THAT DVA,RDY,DPR,DRY = 1 JAND THAT NO OTHERS = 1. CANNOT CON;STOP THE TEST ;WRITE DATA=60 ;CLEAR ERROR FLAG ;WRITE DATA ;SAVE REGISTERS sHAVE ANY ERRORS OCCURED? ;BRANCH IF YES 2GOOD DATA ;DATA WRITTEN INTO 'DISK' s COUNTER SEQ 015% SEQ 0158 czl czl CZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.P11 26-JuUL~78 10:10 6778 6779 6780 6781 6782 6783 6784 6785 6786 6787 6788 6789 6790 6791 6792 6793 6794 6795 6796 6797 6798 6799 6800 6801 6802 6803 6805 036666 036672 012737 020021 001424 010037 014137 160237 005737 001002 036702 036704 036710 036714 036720 036722 036724 000401 104005 005721 017746 042716 022726 001402 005302 001345 036640 036646 036650 036652 036656 036662 036674 036676 036700 036726 036732 036736 036742 036744 036752 036760 036766 000403 D13 MACY11 30A(1052) 1115 27-JUL-78 12:41 PAGE 161 RHDS1 (BIT #10) - LAST SECTOR TRANSFERRED, 'LST’ 047624 1%: MOV 001124 001126 047624 002006 CMP BEQ MOV MOV 104004 013746 042716 022726 001412 013737 012737 013737 104001 2%: 64%: 142230 177177 000200 3%: 001662 002700 001736 2 ;IF NOT COUNT 256 WORDS a4DS1,~(SP) ;GET RHDS1 5% ;WAIT FOR 'RDY' 1% 4% 001736 001000 002700 #256.+1 ,a#ERWORD; FOR ERROR WORD RO, (R1.+ ; COMPARE GOOD DATA WITH DATA ON DISK 3% ;BRANCH IF GOOD RO, a#$GDDAT .GOOD DATA -(R1) ,a#$8DDAT ;BAD DATA R2, I#ERWORD .FRROR WORD NO a#ERFLGS JANY ERRORS ALREADY THERE? 2% JBRANCH IF YES 4 ;ERROR ON WRITE DATA COMMAND 649 ;JBRANCH TO AVOID PRINTING NEXT ERROR 5 ;WORD NO GIVES WORD IN ERROR (R1)+ JUNDO -(R1) FOR BAD DATA aSWR,-(SP) JGET SWITCH SETTING #177177,(SP) JKEEP ONLY SWITCH 7 AND 8 #SW07, (SP) + 2IS 7 SET AND 8 RESET 48 ;BRANCH OUT IF YES ;BRANCH IF 256. NOT DONE #PROG, (SP) . CLEAR PROG BIT H#LST!DPR!DRY!VV,(SP)+ ;IS °'LST® o#RHDS1 ,a#REGADR ;FAILING REG. 042270 001124 001126 #LST!DPR!DRY!VV,3#$GDDAT a#DS1,a#$8DDAT 1 HIGH ? IF GOOD ADDRESS :GOOD DATA ;BAD DATA ;'LST' DID NOT SET AFTER ;LAST SECTOR ON LAST TRACK ON LAST ;CYLINDER WAS WRITTEN - °'VvV' BIT #6 ;MAY OR MAY NOT BE HIGH 036770 036776 037000 037002 013737 104415 000000 000200 001640 037000 5%: 6%: Mov WAT RDY a¥RHCS1,an6$ ;SET UP "WAT'' SUBROUT INE ;RHCS1 ADDRESS ;JWAIT FOR °‘RDY' BIT SEQ 0160 SEQ 0159 CzZf czf C(ZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.P1 26-JUL-78 10:10 6813 6814 6815 6816 6817 6818 6819 6820 6821 6822 6823 6824 6825 6826 6827 6828 6829 6830 6831 6832 6833 6834 6835 037004 037004 037006 037012 037020 037024 037030 037032 037034 000004 012706 012737 004737 004037 051422 052446 000000 001000 000116 042620 042536 MACY11 3?A(1052) 115 CAT: TST116: E 13 PAGE 162 27-JuL-78 1 2:4 1 RHDS1 (BIT #10 ) = LAST SECTOR TRANSFERRED, SCOPE MoV MOV JSR JSR 002032 .WORD .WORD .WORD #STACK,SP A#TINO,a#TSTNM PC,a#CLDISK RO,a#CLAREA DISK TOLGAP+16 0 ;*THESE ARE SEQ 0161 SEQ 0160 'LST® JRESET STACK ;THIS SAVES TEST NUMBER JINIT AND SET UP GENERAL REG. ;CLEAR SIMULATED DISK CORRES. ;FROM ;10 ;DATA TO SETUP FOR DISKLESS USE ONLY :*AND WILL HANDLE RPO4 OR RPO6 DRIVES 037036 037042 005737 002036 037044 037052 012737 000403 011456 047504 037054 012737 010632 047504 037062 037070 037076 037102 037106 037114 112737 112737 000022 000025 047507 047506 037122 037126 037130 001404 005037 005037 012737 012737 004537 047504 051404 047510 047512 000400 000001 044026 TST a#RP06 MOV BR #814. 'FMT22,a#CYL;CYLINDER 814., 16 BITS PER WORD 11% ;: TREAT DRIVE AS RPO6 10%: MOV #6710, 'FMT22.,a#CYL;CYLINDER 410., 16 BITS PER WORD :TREAT DRIVE AS RPO4 11%: MOVB MOVR CLR CLR MOV #18. .3#SECOTR+1 #21. ,a#SECOTR aNKEYT KEY2 #256. ,a#NOWORD ;TRACK 18. ;SECTOR 21. JKEY1 O ;KEY2 O ;NO OF DATA WORDS JSR R5,a#CRC ;GO TO CALCULATE CRC BEQ 047552 047514 MOV CyL WCR(C 10% #1, :MOVE RPO6 FLAG TO ITSELF TO TEST :TREAT DRIVE AS RPO4 IF = 0 X ;WRITE DATA ;*THESE ARE REGULAR SETUPS 037132 037136 037140 037142 037144 037150 037156 037164 037170 037176 037202 004037 002110 003110 000377 004737 012777 012777 012746 112766 012677 012777 JSR 042536 042620 177272 002110 000025 000022 142442 010000 WRFROM RO,a#CLAREA ;FILL WRITE BUFFER WITH 377 ;FROM WRFROM+<256. x2> 277 ;10 .DATA 000001 MOV MOV MOV MOVB :326. DATA WORDS ;STARTING ADDRESS OF WRITE BUFFER :SECTOR 21. :TRACK 18. 142440 MOV JSR 142454 142450 MOV PC.,a#CLDISK #-326. ,3RHWC #WRFROM ,aRHBA #21.,-(SP) #18..1(5P) (SP) + _aRHDST #FMT22 ,aRHOF :SETUP GENERAL REGISTERS ;SECTOR 21. TRACK 18. :16 BITS PER WORD FORMAT ;*CHECK TO SEE WHAT TYPE OF DRIVE IS BEING TESTED ;*AND LOAD CYLINDER ADDRESS REGISTER WITH THE PROPER NUMBER 037210 037214 037216 037224 037226 005737 001404 012777 000403 012777 002036 001456 142426 000632 142416 TST a#RPO6 MOV #814. ,dRHCA BEQ 12%: BR MoV 12% :MOVE FLAG TO ITSELF 13% #4610. ,aRHCA TO TEST :TREAT AS RPO4 IF = 0 ;CYLINDER 814. :TREAT AS RPQ6 ;CYLINDER 410, cz! czi CZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJIGC.PT 26-JUL-78 10:10 6869 6870 6871 6872 6873 6874 6875 6876 6877 6878 6879 MACY11 T116 F 13 27-JUL-78 12:41 PAGE 163 ERROR REGISTER 1 - BIT #9 ADE SEQ 0162 SEQ 0161 13%: 037234 037234 0372490 037244 037246 037252 30A(1052) 004737 104401 000000 013711 005037 042654 062450 JSR PC,a#CHECKT ;CHECK THAT DVA,RDY,DPR,DRY - 1 MOV CLR aFWRIDAT ,aR1 SHERFLGS JWRITE DATA=60 :CLEAR ERROR FLAG TYPE HALT 002062 002006 LCPHALT JAND THAT NO OTHERS = ;STOP ME TEST 1. CANNOT (ON- ;~THE REGISTERS WILL BE SAVED IN REIN1J BUFFER 037256 037262 037264 037266 004037 001632 003154 000023 JSR 043312 RHW( REINTO 19. RO,a#SAVER s SAVE ;FROM .T0 JNUMBER SAVED ;*GIVE WRITE DATA COMMAND 037270 004737 JSR 047344 PC.,a#COMHD ;WRITE DATA COMMAND ;*CHANGE SAVED REGISTERS TO EXPECTED VALUES 037274 037300 005737 001407 002040 037302 037310 012737 012737 177702 003130 037316 000406 037320 037326 012737 012737 037334 037342 037350 037356 037364 052737 042737 052737 012737 017737 177774 003314 000200 000100 140000 001000 142254 003154 003156 003154 003156 003160 003160 003162 003164 003166 8%: 9%: TST BEQ a4RH70 8% MOV MOV #-76,3#REINTO ;SAVED RHWC SHOULD BE = 76 (OCTAL) HWRFROM+<2%256.>+<2+8.> ,a#REINTO+2 BR 9% :SAVED RHBA SHOULD BE WRFROM+256+8 ;SKIP NEXT RH11 CODE L 01Y) #-4 ,NREINTO ;SAVED RHWC SHOULD BE = 4 MOV BIS BIC BIS MOV MoV ;CHECK FOR RH70 CONTROLLER ;SKIP RH70 CODE AND DO RH11 IF NOT MIRFROM+<2%256.>+<2%66.> ,a#REINTO+2 ;SAVED RHBA SHOULD BE WRFROM+256+66 #OR,a#RE INTO+4 ;SAVED RHCS2 #IR, Q#REINTO+4 ;SAVED RHCS?Z #SC!TRE ,@#RE INTO+6,; SAVED RHCS1 SHOULD HAVE 'SC' & 'TRE' #AOE ,a#REINTO+10 ;SAVED RHER1 SHOULD HAVE 'AOE' dRHDST ,a#REINTO+12;SAVED RHDST SHOULD HAVE= JRHDST IS UNDEF INED ;*CHECK TO SEE WHAT TYPE OF DRIVE IS BEING TESTED ;J*AND SET UP CYLINDER ADDRESS ACCCRDINGLY 037372 037376 037400 037406 037410 005737 001404 012737 000403 012737 002036 037416 037424 037432 013737 052737 052737 001457 003174 000633 003174 14%: 002016 000001 142000 003200 003202 15%: 103204 TST a#RPO6 MOV #815. ,a#REINTO+20,; SAVED DESIRED CYLINDER ADDRESS MOV BIS BIS QNATTENT ,I#REINTO+24 ;SAVED RHAS SHOULD HAVE APPRO. BIT #DMD , a#RE INTO+26; SAVED RHMR #ATA'ERR!LST,a#REINTO+30 ;SAVED RHDS1 BEQ BR MoV 14% :MOVE RPO6 FLAG TO ITSELF TO TEST ;TREAT AS RPO4 IF - 0 15% : TREAT AS RPO6 #4171, ,a#REINTO+20; SAVED DESIRED CYLINDER ADDRESS ;*AFTER A WRITE DATA COMMAND WITH 'AQE' ERROR ;*SAVE REGISTERS AGAIN SO THAT (OMPARES (AN BE DONE 4 cz 6944 6945 6946 6947 6948 6949 6950 6951 6952 6953 6954 6955 6956 6957 000021 RO,a#SAVER NN} RHW( WRFROM 17. : SAVE ;FROM .10 ;NUMBER OF REGISTERS SAVED ;*AS UPPER BYTE OF RHAS CAN BE CHANGING IN A DUAL PORT ;*OPERATION THE UPPER BYTE OF RHAS WILL BE SAVED AS IS ;%SO THAT THF (COMPARES ARE ONLY VALID FOR THE LOWER BYTE 037452 113737 003201 002135 MOvB DFREINTO+25 ,a#WRFROM+25; SAVE UPPER RHAS ;*COMPARE REGISTERS BEFORE WRITE DATA COMMAND ;*WITH AFTER COMMAND 037460 037464 037466 037470 037472 037474 037476 004037 003154 002110 000021 037500 037500 037520 043514 037500 037504 037506 037514 013705 047624 037516 000207 037520 005037 060505 016537 104001 JSR RO, a#(OMPAR REINTO WRFROM 17. 1% 1% ;TEST BUFFER :NUMBER OF REGISTERS ;RETURN FOR ERROR . SAME JRETURN FOR GOOD COMPARISON 2% 001630 1% 042270 2%: 002006 MOV ADD MOV ; COMPARE . GO0OD BUFFER ,RS SHERWORD JGETTING READY TO INDEX ERROR R5,R5 .DOUBLE ERROR WORD RHWC=-2(RS) ,a#REGADR FAILING REG. ADDRESS ;FORCED AOE ERROR CAUSED IMPROPER RTS PC CLR a#ERFLGS 1 JREGISTER CHANGE JRETURN FOR FURTHER COMPARISONS ;NO ERRORS ;CLEAR ERROR FLAG ;*DATA IS TO BE CHECKED HERE 037524 037530 037534 037540 037544 037552 037554 037556 037562 037566 037572 037624 004737 012700 012701 012702 012737 020021 001424 010037 014137 160237 005737 001002 104004 000401 104005 005721 017746 042716 022726 001402 037626 005302 037576 037600 062224 000377 051422 000400 000400 JSR 047624 3%: 001124 001126 0467624 002006 141324 177177 000200 4%: 5%: 6$: PC.,a#PUTREG MOV MoV MOV MOV #377 .RO MoV MOV SuB RO,a#$GDDAT -(R1) ,a#$8DDAT R2,a#ERWORD AXERFLGS 4% cMP BEQ TST BNE ERROR BR ERROR TST MOV BIC CMP BEQ DEC #D]ISK,R1 #256. ,R2 #256. ,a#ERWORD RO, (R1)+ 6% A 5% 5 (R1)+ aSWR,=(SP) #177177,(SP) #SWO7, (SP)+ ;SAVE REGISTERS . GOOD DATA :DATA WRITTEN INTO 'DISK"’ ; COUNTER ;FOR ERROR WORD :COMPARE GOOD DATA WITH DATA ON DISK ;BRANCH IF GOOD ;GOOD DATA ;BAD DATA ;ERROR WORD NO ;ANY ERRORS ALREADY THERE? ;BRANCH IF YES CERROR ON WRITE DATA COMMAND WITH FORCED 'AOE' :BRANCH TO AVOID PRINTING NEXT ERROR :WORD NO. GIVES WORD IN ERROR ;UNDO -(R1) FOR BAD DATA ;GET SWITCH SETTING JKEEP ONLY SWITCH 7 AND 8 ;IS 7 SET AND 8 RESET 7% ;BRANCH OUT IF YES =====cc——eceee——ea=- > R2 :IF NOT COUNT 256 WORDS NE NEVE NNV JSR 043312 SEQ 0163 SEQ 0162 [alnl NN o G 13 PAGE 164 27-JUL-78 12:41 ERROR REGISTER 1 - BIT #9 AOt NENE SR NE VN 6 052) N NN ENENE N 6943 004037 001632 002110 1 1 N PN 6940 6941 6942 037440 037444 037446 037450 3$A N O 6925 6926 6927 6928 6929 6930 6931 6932 6933 6934 6935 6936 6937 6938 6939 MACY11 — (ZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJIGC.P11 26-JUL~-78 10:10 VE V] N E NV NE VENE WL N W PPN E NN ENE N E S P NENENE N ;BRANCH IF 256. NOT DONE P PP 33 CZR CZR gy PRy R BNE SEQ 0163 Py Py gy ERROR REGISTER 1 - BIT #9 AOE SEQ 0164 Py PI PAGE 165 S 037632 001345 12:41 Sy PR P 6983 037630 T116 27-JUL-78 S 6981 6982 MACY11 30A(1052) [ (ZRJIGCO,RPOL/5/6 DSKLS CTRLR1 CZRJGC.PT 26-JuL-78 10:10 H 13 (ZRJGCO,RPO4/5/6 DSKLS CTRLRI CZRJGC.P11 26-JuL-78 10:10 6984 6985 6986 6987 6988 6989 6990 6991 6992 6993 6994 6995 6996 6997 6998 6999 7000 7001 7002 7003 7004 7005 7006 7007 7008 7009 7010 7011 7012 7013 7014 7015 7016 7017 7018 7019 7020 7021 7022 7023 7024 7025 7026 7027 7028 7029 7030 7031 7032 7033 7034 7035 7036 7037 7038 7039 037632 037634 037640 037646 037652 037660 037664 012706 012737 004737 012777 004037 037666 037670 037674 037702 000004 012706 012737 004737 037706 037714 037722 012777 052777 042777 000004 000000 001000 000117 042620 000001 045172 MACY11 3?A(1052) 116 TST117: 002032 142000 002032 000001 000004 000004 161744 141736 141730 SEQ 0165 SEQ 0164 SCOPE MoV MOV JSR MOV #STACK,SP HTTNO,a#TSTNM PC,a#CLDISK #DMD , 3RHMR JRESET STACK ;THIS SAVES TEST NUMBER JINIT DRIVE JSET DIAGNOSTIC MODE SCOPE MOV MOV JSR #STACK,SP HTTNO,a#TSTNM PC.a#CLDISK JRESET STA(K [ THIS SAVES TEST NUMBER ;CLEAR REGISTERS AND SET UNIT NO. JSR 0 TST120: 001000 000120 042620 [ 13 27-JUL-78 12:41 PAGE 166 ERROR REGISTER 1 - BIT #9 AOE RC, @#MAKECYL s*GIVE INDEX PULSE MOV BIS BIC #DMD , 3RHMR AMINX ,dRHMR AMINX , IRHMR ;SUBROUTINE TO GIVE A SEEK s CHANGE RHCC 10 O ;SET DIAGNOSTIC MODE 2SET INDEX ;CLEAR INDEX ;*THESE ARE REGULAR SETUPS MOV MOV #-256. ,aRHWC HREINTO,RO 010000 MOV HFMT22, (RO) + 012720 005020 005020 012705 012720 005305 001374 012777 012000 MoV #12000, (RO) + MOV Mgg #256. RS #g?,(RO)+ BNE MOV 1% #12000,aRHDST 040004 040010 040014 004737 104401 042654 062450 +SR PC,a#CHECKT ;CHECK THAT DVA,RDY,DPR,DRY - 1 040016 013711 002070 MOV ®#REFOR,aR1 ;GET READY FOR WRITE HEADER AND 040022 040026 040034 005037 012777 005077 002006 010000 CLR Mov S#ERFLGS KFMT22 ,aRHOF ;CLEAR ERROR FLAG ;FORMAT BIT=1 (16 BIT WORDS) 040040 040044 040046 040050 004037 001632 003154 000023 043312 037730 037736 037742 012777 012700 010077 177400 003154 037746 012720 037752 037756 037760 037762 037766 037772 037774 037776 000000 161674 MoV 141666 CLR CLR 000400 177777 012000 141612 1%: 141640 D TYPE HALT 141614 CLR RO, aRHBA (RO + (RO)+ R LCPHALT aRHCA ;256 DATA WORDS 4 HEADER WORDS ;THESE TWO INSTRUCTIONS GETS ;JADDR, OF WRFROM INTO RO AND ;BUS ADDRESS REGISTER ;FORMAT=16 BIT WORDS ;CYLINDER=0 ; TRACK=20 SECTOR=0 KEYS=0 SKEY1=0 ;KEY2=0 s COUNTER JMOVE ALL ONES FOR DATA ;BRANCH IF DATA NOT COMPLETE ; TRACK=20 SECTOR=0 JAND THAT NO OTHERS = 1. ;STOP THE TEST ;DATA WITH 62 IN RHCS1 ;CYLINDER =0 :*THE REGISTERS WILL BE SAVED IN REINTO BUFFER JSR RHW( REINTO 195. RO,a#SAVER :SAVE ;FROM ;T0 ;NUMBER SAVED ;*GO TO WRITE HEADER AND DATA CANNOT CON- CZR CZR BIS BIS QFATTENT ,a#REINTO+24 SAVED RHAS #DMD ,a#RE INTO+26 ;SAVED RHMR #ATA!'ERR,a#REINTO+30 ;SAVED RHDS1 ;*SAVE REGISTERS AGAIN SO THAT COMPARES CAN BE DONE RO.,a#SAVER ; SAVE 19. 003201 JNUMBER OF OF RHAS CAN BE REGISTERS SAVED (HANGING IN A DUAL PORT ;*OPERATION THE UPPER BYTE OF RHAS WILL BE SAVED AS IS ;*S0 THAT THE COMPARES ARE ONLY VALID FOR THE LOWER BYTE 002135 MOvB SFREINTO+25 ,34WRFROM+25; SAVE UPPER RHAS ;*COMPARE REGISTERS BEFORE READ IN PRESET COMMAND 040154 040160 040162 040164 0460166 040170 040172 004037 003154 002110 000021 040174 040174 040214 043514 040174 040200 040202 040210 013705 060505 016537 047624 040212 000207 104001 ;*WITH AFTER JSR REINTO WRFROM COMMAND RO, a#COMPAR 17. ; SAME 3% 042270 REGISTERS JRETURN FOR ERROR 2% 2$: ; COMPARE .GOOD BUFFER ;TEST BUFFER NUMBER OF 2% 001630 JRETURN FOR GOOD COMPARISON MOV ADD MOV S#ERWORD ,RS ;GETTING READY TC INDEX RS,RS ;DOUBLE ERROR WORD RHWC=2(RS) ,@#REGADR FAILING REG. ADDRESS 1 ;FORCED RTS PC JRETURN FOR FURTHER ERROR ]JAE CAUSED ;REGISTER CHANGE .NO ERRORS 040214 004737 042620 VENE VL VW] P N JFROM ;70 N RHWC WRFROM N JSR 043312 N 113737 VN #12007 ,3#REINTO+12;SAVED RHDST VL N MOV NN MOV #SC!TRE ,a#REINTO+6 ,SAVED RHCS1 #]AE ,a#REINTO+10 ;SAVED RHER N 8IS MOV N :*CHANGE SAVED REGISTERS TO EXPECTED VALUE 003162 003764 003166 003200 003202 003204 ;*AS UPPER BYTE 040146 .60 N #GO,3RH(S1 N 040140 040142 040144 000001 140000 BIS N 004037 001632 002110 000023 002000 012001 002016 141550 ;NOW RO WAS MAINTENANCE REG. ADDR. ;SET DIAGNOSTIC MODE #DMD ,ano0 N 040134 140000 @#RHMR ,RO MOV N 052737 012737 012737 013737 052737 052737 MOV N 040070 040076 0460104 040112 040120 040126 052777 001660 000001 000001 CZR 3%: JSR PC,a#CLDISK ;CLEAR GO BIT NENE N 7045 2046 7047 7048 7049 7050 705 7052 7053 7054 7055 7056 7057 013700 012710 SEQ 0166 SEQ 0165 VENENENENE N 7044 040052 040056 040062 J 13 30A(1052) 27-JUL-78 12:41 PAGE 167 7120 ERROR REGISTER 1 - BIT 410 'IAE’ IMPROPER COMPAR]SONS ENRNE N 7040 7041 7042 7043 MACY11 ~ n CZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.P1M 26-JUL-78 10:10 7085 7086 7087 7088 7089 7090 7091 7092 7093 7094 7095 7096 7097 7098 7099 7100 7101 7102 7103 7104 7105 7106 7107 7108 7109 7110 2111 7112 7113 7114 7115 7116 7117 7118 7119 7120 7121 7122 7123 7124 7125 7126 7127 7128 7129 7130 7131 7132 7133 7134 7135 7136 7137 7138 7139 7140 MACY11 040220 040222 040226 040234 000004 012706 012737 004737 001000 000121 042620 002032 040240 040246 040254 012777 052777 042777 000001 000004 000004 1416412 1414064 141376 30A(1052) 27-JUL-78 K13 12:41 PAGE 168 1120 ERROR REGISTER 1 TST121: SCOPE MOV MOV JSR - BIT 410 #STACK,SP HTTNO,Q#TSTNM PC,a#CLDISK ;*GIVE INDEX PULSE MOV #DMD , 3RHMR ;*THESE ARE MOV #-256. ,aRHWC BIS BIC SJRESET STA(K . THIS SAVES TEST NUMBER ;CLEAR REGISTERS AND SET UNIT NO. ;SET DIAGNOSTIC MODE AMINX , dRHMR #MINX ,3RHMR REGULAR SEQ 0167 SEQ 0166 'IAE’ sSET INDEX ;CLEAR INDEX SET JPS 040262 040270 040274 012777 012700 010077 177400 002110 1641334 040300 012720 010000 Mov HFMT22, (RO) + 040304 040310 040312 040314 040320 040324 040326 040330 012720 005020 000026 012705 012720 005305 001374 012777 000400 177777 MCvV CLR CLR MOV #22.,(RO)+ (RO) + (RO) + #256. ,RS BNE [ 0)% 1% #22. ,3RHDST ;BRANCH IF DATA NOT COMPLETE ; TRACK=0 SECTOR=22 040336 040342 040346 004737 062654 062450 JSR PC,a#CHECKT s CHECK THAT DVA,RDY,DPR,DRY = 040350 013711 002064 040354 040360 040366 00s5C37 012777 005077 002006 010000 141260 005020 104401 000000 000026 141342 MOV MOV 1%: 161306 ng TYPE #WRFROM,RO RO,aRHBA gg1,(R0)+ LCPHALT HALT 141262 ;256 DATA WORDS 4 HEADER WORDS ;THESE TWO INSTRUCTIONS GETS ;ADDR. OF WRFROM INTO RO AND ;BUS ADDRESS REGISTER ;FORMAT=16 BIT WORDS ;CYLINDER=0 ;TRACK=0, ;KEY1=0 JKEY2=0 : COUNTER ;MOVE ALL ONES FOR DATA JAND THAT NO OTHERS ;STOP THE Mov SHWRIFOR,aR1 CLR MoV CLR a#ERFLGS HFMT22 ,aRHOF aRHCA SECTOR=22. KEYS-0 = 1. 1 CANNOT C(ON- TEST ;GET READY FOR WRITE HEADER AND ;DATA WITH 62 IN RHCS1 ;CLEAR ERROR FLAG JFORMA BIT=1 (16 BIT WORDS) ;CYLINDER =0 ;*AS EXCEPTION IS ASSERTED BEFORE RUN IS s*LATCHED RHWC,RHBA,RH(S1,RHCS2 CANNOT BE CHECKED ;*BECAUSE RHWC WILL VARY DEPENDING UPON GATE DELAYS ;*ON DIFFERENT UNITS 040372 040376 040400 040402 004037 001642 003154 000015 043312 ;*THE REGISTERS WILL BE SAVED RHER1 REINTO ;FROM .10 JSR RO, a#SAVER 13. s SAVE IN REINTO BUFFER ;NUMBER SAVED ;%GO TO WRITE HEADER AND DATA 040404 040410 040414 013700 012710 052777 0016€0 000001 000001 141216 MOV MOV 8IS SHRHMR RO #DMD , R0 #GO,a3RHCS1 sNOW RO HAS MAINTENANCE REG. ;SET DIAGNOSTIC MODE ;60 ; *CHANGE SAVED REGISTERS TO EXPECTED VALUE ADDR. NNN NN NN NNN NN NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNY CZRJIGCO,RPO4L/S5/6 DSKLS CTRLRI CZRJIGC.P11 26=JUL-78 10:10 7176 72177 7178 7179 7180 040460 0460464 040466 040470 004037 001642 002110 000015 140000 003154 003156 003170 003172 003174 MOV MOV MOV BIS BIS :SAVED RHER1 #]AE ,a#REINTO ; RHDST SAVED ,a~REINTO+2 #23. Q#ATTENT ,a#REINTO+14 ;SAVED RHAS #DMD ,a#REINTO+16 ;SAVED RHMR #ATA'ERR,3#REINTO+20 ;SAVED RHDS1 ;*SAVE REGISTERS AGAIN SO THAT COMPARES (AN BE DONE JSR 043312 RHER1 WRFROM RO,a#SAVER 13. s SAVE ;FROM ;70 ;NUMBER OF REGISTERS SAVED ;*AS UPPER BYTE OF RHAS CAN BE CHANGING IN A DUAL PORT ;*OPERATION THE UPPER BYTE OF RHAS WILL BE SAVED AS IS 040472 113737 003171 ;%SO THAT THE COMPARES ARE ONLY VALID FOR THE LOWER BYTE movB 002125 IFREINTO+15 ,a#WRFROM+15; SAVE UPPER RHAS ;*COMPARE REGISTERS BEFORE READ IN PRESET COMMAND 040500 040504 040506 040510 040512 040514 040516 004037 003154 002110 000015 040520 040520 040540 043514 040520 040524 040526 040534 013705 060505 016537 047624 040536 000207 104001 ;*WITH AFTER COMMAND JSR REINTO WRFROM RO, a#COMPAR 13. 2% ;NUMBER OF REGISTERS JRETURN FOR ERROR 2% 3% 001640 2%: 042270 ; COMPARE ;GO0D BUFFER ;TEST BUFFER . SAME JRETURN FOR GOOD COMPARISON MoV ADD MOV ERROR S#ERWORD RS ;GETTING READY TO INDEX RS.RS ;DOUBLE ERROR WORD RHER1-2(RS5) ,a#REGADR ;FAILING REG. ADDRESS ;FORCED IAE CAUSED IMPROPER 1 RTS PC ;REGISTER CHANGE :RETURN FOR FURTHER COMPARISONS :NO ERRORS 040540 004737 042620 3% JSR PC.,a#CLDISK ;CLEAR GO BIT IS SN N N NN N NN N NN N NN NN NN NN N 040452 002000 000027 002016 000901 SN S S S S S SISO SIS S SN N Ty 7172 7173 7174 7175 040444 012737 012737 013737 052737 052737 SEQ 0168 SEQ 0167 S 717 040422 040430 040436 T121 L 13 PAGE 169 27-JUL-78 12:41 ERROR REGISTER 1- BIT #10 'lAE’ U U U 7141 7142 7143 7144 7145 7146 7147 7148 7149 7150 7151 7152 7153 7154 7155 7156 7157 7158 7159 7160 7161 7162 7163 7164 7165 7166 7167 7168 7169 7170 MACY11 30A(1052) U S (ZRJGCO,RPO4/5/6 DSKLS CTRLR1Y CZRJGC.P11 26-JUL-78 10:10 7181 7182 7183 7184 7185 7186 7187 7188 7189 7190 7191 7192 7193 7194 7195 7196 7197 7198 7199 040544 040546 040552 040560 000004 012706 012737 004737 001000 000122 042620 040564 040572 040600 012777 052777 042777 000001 000004 000004 MACY11 30A(1052) T2 TST122: 002032 M3 27-JUL-78 12:41 PAGE 170 ERROR REGISTER 1- BIT #10 ‘JAE’ SCOPE MOV MOV JSR #STACK,SP #TTNO,@#TSTNM PC,a#CLDISK s*GIVE INDEX PULSE MOV BIS BIC 161066 161060 141052 #DMD , 3RHMR #MINX, SRHMR #MINX , IRHMR SEQ 0169 SEQ 0168 SJRESET STA(K ;THIS SAVES TEST NUMBER ;CLEAR REGISTERS AND SET UNIT NO. JSET DIAGNOSTIC MODE sSET INDEX ;CLEAR INDEX ;*THESE ARE REGULAR SETUPS 040606 040614 040620 012777 012700 010077 177400 002110 1641016 141010 012705 012720 005305 001374 012777 000400 004737 104401 042654 062450 013711 002062 00503" 012777 002006 010000 005737 001404 002036 012777 000403 001457 140740 012777 000633 140730 000000 177777 000000 1%: 1640776 MOV MOV MOV #-256. ,aRHW( MWRFROM,RO RO, aRHBA MOV ngv #256. RS 3;1.(R0)* BNE MOV 1% #0. ,3RHDST JBRANCH [F DATA NOT COMPLETE :TRACK=0 SECTOR=0 JSR PC,a#CHECKT ;CHECK THAT DVA_RDY,DPR,DRY = 1 MOV a#WRIDAT ,aR1 ;GET READY FOR WRITE DEC TYPE HALT CLR 140752 LCPHALT A#ERFLGS JMOVE ALL ONES FOR DATA JAND THAT NO OTHERS = 1. ;STOP THE TEST CANNOT CON- ;DATA WITH 60 IN RHCS1 ;CLEAR ERROR FLAG sFORMA BIT=1 (16 BIT WORDS) MoV NFMT22 , aRHOF TST a#RPO6 MOV B8R #815. ,aRHCA 5% ;CYLINDER = 815 (ONE TOO MANY) :TREAT DRIVE AS RPO6 MOV #6171, ,IRHCA SCYLINDER = 411 BEQ 4$: R ;256 DATA WORDS & HEADER WORDS JTHESE TWO INSTRUCTIONS GETS ;ADDR. OF WRFROM INTO RO AND ;BUS ADDRESS REGISTER s COUNTER 43 ;MOVE FLAG TO ITSELF TO TEST ;TREAT DRIVE AS RPO4 IF FLAG - O (ONE TOO MANY) ;TREAT DRIVE AS RPO4 ;*AS EXCEPTION IS ASSERTED BEFORE RUN IS ;*LATCHED RHW(C ,RHBA,RH(CS1,RHCSZ CANNOT BE CHECKED ;*BECAUSE RHWC WILL VARY DEPENDING UPON GATE DELAYS ;*ON DIFFERENT UNITS 040722 040726 040730 040732 004037 001642 003154 000015 043312 5%: ;*THE REGISTERS WILL BE SAVED IN REINTO BUFFER JSR RHER1 REINTO RO,a#SAVER 13. . SAVE ;FROM ;70 ;NUMBER SAVED ;*GO TO WRITE HEADER AND DATA 040734 040740 013700 012710 001660 000001 MOV MOV NRHMR RO #DMD , 3RO :NOW RO HAS MAINTENANCE REG. ADDR. ;SET DIAGNOSTIC MODE N NNNNNNNNNNNNN CZRJIGCO,RPO4L/5/6 DSKLS CTRLR1 CZRJGC.P1 26-JuUL-78 10:10 7249 7250 7251 725¢ 7253 7254 7255 7256 7257 7258 7259 7260 7261 7262 7263 7264 7265 7266 7267 7268 7269 7270 7271 7272 7273 7274 7275 7276 7277 040744 052777 000001 140666 BIS 040752 040760 040766 040774 041002 012737 012737 013737 052737 052737 002200 000001 002016 000001 003154 003156 003170 003172 003174 MOV 041010 041014 041016 041020 004037 001642 002110 000015 140000 #G0,3RHCS . GO :*CHANGE SAVED REGISTERS TO EXPECTED VALUE MOV MoV BIS BIS #]AE ,a#REINTO s SAVED RHER1 #1. @NREINTO+2; SAVED RHDST a#ATTENT ,@#REINTO+14 ;SAVED RHAS #DMD , A#RE INTO+16 ;SAVED RHMR WATA'!ERR,I#REINTO+20 ;SAVED RHDS1 ;*SAVE REGISTERS AGAIN SO THAT COMPARES (AN BE DONE JSR 043312 RHER1 WRFROM RO,a#SAVER 13. : SAVE FROM 10 NUMBER OF REGISTERS SAVED ;*AS UPPER BYTE OF RHAS CAN BE CHANGING IN A DUAL PORT ;~OPERATION THE UPPER BYTE OF RHAS WILL BE SAVED AS IS 041022 113737 003171 ;%SO THAT THE COMPARES ARE ONLY VALID FOR THE LOWER BYTF MOVB 002125 SNREINTO+15,a#WRFROM+15; SAVE UPPER RHAS ;*COMPARE REGISTERS BEFORE READ IN PRESET COMMAND 041030 041034 041036 041040 041042 041044 041046 004037 003154 002110 000015 041050 041050 041070 043514 041050 041054 041056 041064 013705 060505 016537 047624 041066 000207 104001 001640 ;*WITH AFTER COMMAND JSR RO, a#COMPAR MOV ADD MOV #ERWORD RS ;GETTING READY TO INDEX RS ,R5 .DOUBLE ERROR WORD RHER1-2(RS) ,a#REGADR ;FAILING REG. ADDRESS RTS PC REINTO WRFROM 13. 2% 2% 3s 2%: 042270 ERROR 1 ; COMPARE ;GO0OD BUFFER JTEST BUFFER ;NUMBER OF REGISTERS RETURN FOR ERROR ; SAME ;RETURN FOR GOOD COMPARISON ;FORCED JAE CAUSED IMPROPER JREGISTER CHANGE JRETURN FOR FURTHER COMPAR]SONS ;NO ERRORS 041070 004737 042620 3$: JSR PC,a#CLDISK ;CLEAR GO BIT SEQ 0170 SEQ 0169 e U S S = S S S S S S S SN S S S N S SN NI N N N NN N N NN NN NN SN NN NN NN N NN N 7238 7239 7240 7241 7242 7243 7244 7245 7246 7247 7248 T122 U S S U S S S 7237 N 13 PAGE 171 12:41 27-JUL~-78 ERROR REGISTER 1- BIT #10 ‘IAE’ s~~~ CZRJIGCO RPO4/5/6 DSKLS CTRLR1 CZRJGC.P11 26-JUL-78 10:10 MACY11 30A(1052) C(ZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.P1 26-JuUL-78 10:10 7278 7279 7280 7281 7282 7283 7284 7285 7286 7287 7288 7289 7290 7291 7292 7293 7294 7295 7296 7297 7298 7299 7300 7301 7302 7303 7304 7305 7306 7307 7308 7309 7310 731 7312 7313 7314 7315 7316 7317 041074 041076 041104 041112 041116 041172 041176 041200 041204 041212 041216 041220 041224 041230 000004 012737 012737 041234 001413 041236 041242 041246 041252 041254 041260 005237 041264 041270 041272 041276 041302 041304 041306 041310 041314 7318 7319 7320 7321 041320 041322 041326 041332 7323 7324 7325 7326 041344 041346 041350 041352 7328 7329 7330 041356 041360 041364 7322 7327 7331 7332 7333 041336 041354 041370 041372 041376 104401 000425 013746 104405 104401 000402 013746 104405 005037 005037 005737 104401 013746 104405 104401 000137 005337 001413 013700 012701 022100 001401 000775 011137 000132 000004 005037 005037 005237 042737 005327 000001 00,000 041120 104401 013746 104405 104401 013700 001212 B8 14 PAGE 172 30A(1052) 27-JUL~78 12:41 T123 END OF DRIVE TST123: 177776 041206 001112 001112 001102 002002 3%: 001776 001774 001754 1%: 001774 007544 2%: 001100 $EOPCT: 041425 001100 041422 000042 L67% 66% a#SERTTL,-(SP) ;:TYPE ASCIZ STRING ::GET OVER THE ASCIZ :GET READY TO TYPE NUMBER OF ERRORS CLR CLR ANSERTTL NSTSTNM ;CLEAR TOTAL NUMBER OF ERRORS ;CLEAR TEST NUMBER BEQ 33 INC AN SPASS ;TEST NEXT DRIVE IF NOT ;CONTINUE ON THIS ONE [F ; INCREASE PASS COUNT DEC BEQ MOV MOV CMP B8EQ BR ,65% 649 ;:D0 1 ITERATION SREINSTATE PS TO O AMUNIT,~-(SP) TYPE MOV TYPDS TYPE JMP 041422 007544 #1, $TINES #0,PS SEQ 0171 SEQ 0170 ::TYPE ASCIZ STRING ::GET OVER THE ASCIZ :GET READY TO TYPE UNIT NUMBER TST 001100 041425 001100 001102 001212 001100 100000 SCOPE MOV Mov TYPE B8R MOV TYPDS TYPE BR MoV TYPDS 001774 003022 012737 041346 MACY11 a#SELECT ., SENDMC SHBPASS ,~-(SP) LSENULL ;STARTING FROM 210 ? TYPE END PASS # a#TSTS :DO NEXT TESTS ==——cccccwconcceccnccnax > SINOUNITS $EOP a#UNIT,RO AUNITS . R1 (R1)+,R0 2% :NO. OF UNITS PRESENT DECREMENTED ;BRANCH IF ALL DRIVES COMPLETE JUNIT UNDER TEST ;TABLE ;1S THIS UNIT JUST TESTED ;BRANCH IF YES MOV 1% (R1) ,@AUNIT a#TSTS .SBTTL .SBTTL .SBTTL *xx SUBROUT INES* = JMP SCOPE CLR CLR INC BIC DEC .WORD 86T MOV $ENDCT: .WORD $EOPCT TYPE MOV TYPDS TYPE $GET42: MOV SO ;BRANCH [F NO ;THIS IS NEXT UNIT :GO FOR NEXT TESTS =—~=mcccccmcccana—- > $TSTNM $TIMES $PASS #100000, $PASS ;:ZERO THE TEST NUMBER ::ZERO THE NUMBER OF ITERATIONS :: INCREMENT THE PASS NUMBER ;:DON'T ALLOW A NEG. NUMBER $DOAGN %PC)*.G(PC)* ;:YES ;:RESTORE COUNTER . SENDMG ::TYPE "END PASS #°' LSENULL a#6?2 RO ::G0 TYPE~-DECIMAL ASCII WITH SIGN :;TYPE A NULL CHARACTER ::GET MON]ITOR ADDRESS %PC)* $PASS ,-(SP) ;;LOOP? :;SAVE SPASS FOR TYPEOQUT CZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.P11 26-JUL-78 10:10 7334 7335 7336 7337 7338 7339 7340 7341 7342 7343 7344 7345 7346 7347 7348 7349 7350 7351 7352 7353 7354 7355 041402 041404 0461406 041410 041412 0461414 041416 041420 041422 041425 04614632 041440 MACY11 001405 000005 004710 000240 015 050040 000043 000 0462116 020123 PAGE 173 SEQ 0172 SEQ 0171 $DOAGN ;:BRANCH IF NO MONITOR $ENDAD: JSR PC,(RO) ;G0 TO MONITOR NOP JMP $RTNAD: .WORD $ENULL: .BYTE a(PC)+ TST1 -1.-1.0 NOP NOP 377 042612 051501 C 14 12:41 BEQ RESET 000240 000240 000137 005500 377 30A(1052) 27-JUL-78 END OF PASS ROUTINE SENDMG: .ASCIZ ::CLEAR THE WORLD ::SAVE ROOM ;:FOR JIACTNM 2 sRETURN ::NULL CHARACTER STRING <15><12>/END PASS #/ ;**HERE ]S A DETAILED EXPLAINATION OF HOW THE LOOP ON ERROR WORKS. ;**ON HITTING AN ERROR IF THE LOOP ON ERROR SWITCH IS SET, THE ;**PROGRAM GOES BACK - USUALLY BACK TO THE BEGINNING OF THE TEST. ;**WHEN THIS OPERATOR SELECTABLE SCOPE LOOP IS USED THEN THE POINT . ; **THE PROGRAM GOES BACK TO CAN BE [ CHANGED. ;#«THE RESTRICTIONS TO THE POINT WHERE THE PROGRAM CAN GO ARE: ;*%1_. IT MUST BE WITHIN THE TEST UNDER CONSIDERATION ;*x2, LOOP ON ERROR SWITCH MUST BE SET ;#*3_ THE ERROR MUST OCCUR WITHIN THE TEST UNDER CONSIDERATION . . [ [] ;*«]F THE ERROR DOES NOT OCCUR WITHIN THE TEST UNDER CONSIDERATION 4 ;**THE PROGRAM WILL REVERT TO NORMAL OPERATION. HOWEVER, IF LOOP ON ;*«TEST SWITCH IS SET AND THIS OPERATOR SELECTABLE SCOPE LOOP IS USED 4 . ;**THEN THE PROGRAM WILL LOOP BACK TO THE SELECTED POINT WHEN IT ;*«COMES TO THE END OF THE TEST UNDER CONSIDERATION. R :+«AFTER LOOPING FOR SOME TIME IF THE LOOP SWITCH IS PUT DOWN THEN **NORMAL OPERATION WILL 041442 041444 041444 041450 041456 041520 041524 041526 041532 041564 041570 041572 041576 041602 041670 041752 041756 042024 042026 042032 TESTAD: 000000 005037 104401 000421 013746 104402 104401 000414 013746 104402 104401 104401 000430 177776 041456 002032 041534 CLR PS :MAKE PROCESSOR STATUS ZERO BR MOV 648 4TSTNM.-(SP) " GET OVER THE ASCIZ -GET READY TO TYPE TEST TYPE TYPOC TYPE .65 *:TYPE ASCIZ STRING ,67% *NUMBER ::TYPE ASCIZ STRING 001223 041604 TYPE TYPE ,S$CRLF “69% ;:TYPE ASCIZ STRING 73s SSTYPE ASCIZ STRING 041760 062716 012637 TEST 66% a#SLPERR.-(SP) 104401 104412 :FIRST ADDRESS OF BR MOV 041672 000422 0 001110 104401 000430 : OPERSEL CONTINUE. 000002 001106 TYPOC B8R TYPE B8R é8$ ,71% 708 B8R 728 ADD #2,(SP) TYPE RDOCT MOV (SP)+,a#8LPADR "GET OVER THE ASCIZ -GET READY TO TYPE LOOP BACK PC “ GET OVER THE ASCIZ SSTYPE ASCIZ STRING " GET OVER THE ASCIZ “:GET OVER THE ASCIZ :GET LPADR CZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.P11 26-JuL-78 10:10 7390 7391 7392 7393 7394 7395 7396 7397 7398 7399 7400 104401 042044 104401 042110 000417 000440 104412 042222 012637 013746 000002 END OF PASS ROUTINE TYPE BR TYPE BR RDOCT 001110 001106 7401 7402 7403 7404 7405 7406 76407 7408 7409 7410 7411 7412 7413 7414 7415 7416 7417 7418 7419 7420 7421 7422 7423 7424 7425 7426 7427 7428 7429 7430 7431 7432 7433 7434 7435 7436 7437 7438 7439 7440 7441 7442 7443 7444 7445 27-JuL-78 MACY11 30A(1052) D 14 12: 41 PAGE 174 SEQ 0173 SEQ 0172 ;:TYPE ASCIZ STRING ::GET OVER THE ASCIZ . 75% 748 778 76$ ;:TYPE ASCIZ STRING ::GET OVER THE ASCIZ MOV MOV RTI (SP)+ a#$LPERR a#SLPADR .~ (SP) ;GET LPERR .SBTTL S*VE REGISTERS ROUTINE ;*THIS SAVES THE CONTENTS OF ALL HARDWARE REGISTERS ;*IN MEMORY LOCATIONS TAGED FROM ‘W(C'' TO 'EC2" . % . % ;*THIS IS DONE SO THAT COMPARES ARE DONE WITH SAVED LOCATIONS ;*AND NOT THE REGISTERS THEMSELVES. THIS WILL MAKE ;*ERROR PRINTOUTS FOR GOOD AND BAD DATA ALWAYS DIFFRENT 042224 042224 042226 042230 042232 042236 042242 042246 010046 010146 010246 012700 012701 012702 013021 062252 042254 042256 042260 042262 012601 012600 000207 042250 PUTREG: 001632 001706 000023 005302 001375 012602 MoV MOV MOV MOV MOV 10%: MOV MOV DEC BNE MOV MOV MOV RTS .SBTTL ::PUSH RO ON STACK ;:PUSH R1 ON STACK RO,~(SP) R1,-(SP) R2,-(SP) ARHWC ,RO ::PUSH R2 ON STACK :STARTING ADDRESS OF REG ;STARTING ADDRESS OF WERE SAVED MIC R #RH(C-RH W(+2/2,R2 a3(RO)+,( R1)+ R2 10% (SP)+,R2 (SP)+ ,R1 (SP)+,R0 ;NUMBER OF REG. INTO RZ2 ;SAVE HARDWARE REG. ;;POP STACK INTO R2 ;.POP STACK INTO R1 ;.POP STACK INTO RO PC FLOAT 1 AND O ;*FLOAT A ONE AND A ZERO THRU A DESIGNATED REGISTER ;*ABSOLUTE ADDRESS OF REG. UNDER TEST IS IN Re 042264 042266 042270 000000 000000 000000 042272 012537 012504 010437 010537 062705 042310 MASK : 0 REGADR: 0 LERR: 042264 042270 042266 000004 BITST: ;BITS UNDER TEST JERROR HLT ADDRESS 0 MOV MOV MOV MOV ADD (R5)+, (RS)+, R4, RS, #4, MASK R4 JFETCH DATA MASK ;GET ADDRESS OF REG. LERR RS ;GET ERROR RETURN ADDR. ;MODIFY RETURN ADDR. TO JUMP OVER RTS REGADR UNDER TEST CZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.PI 26-JUL-78 10:10 27-JUL-78 AND O 1, PC, ROL TST g% sSHIFT PATTERN BLTI RS R3 o#LAD #BLT3, #SW09,3aSWR ;BRANCA [F NOT COMPLETE JRETURN TO TEST ;COMPLEMENT PATTERN ;SET SCOPE LOOP .LOOP ON ERROR SNUNIT BRHCSZ2 PC.,a#STKINT ;START WITH AN INIT ;SET UNIT NUMBER UNDER TEST JINITILIZE TK JSR cLC BNE 042352 001000 042600 136560 BLTZ: BLT3: 001103 001774 055176 001124 042264 042264 042264 001124 001126 042264 042264 042264 001124 RESET MOV JSR 137236 (%: 001124 001126 001126 001124 2%: 3%: MOV COM BIC coM MoV MOV COM 8IC COM CMP BEQ MOV cMP BNE BIS BR cMP BNE MOV BIC 8IS BLTZ2 JINITIALIZE DATA PATTERN ;OUTPUT FLOATING ZERO ;OUTPUT FLOATING ONE 3 JBRANCH IF NO a#SERFLG - ANY ERRORS 4% ;BRANCH IF NO R3,a#$GDDAT SH#MASK JINIT FOR SCOPING LOOPS ;STORE GOOD DATA JAND MASK WITH PATTERN IFMASK, IFSGDDAT ;CLEAR THE REST SAMASK ;Rc STORE MASK a#$GDDAT, (R4) ;OUTPUT TO REGISTER (R4) ,a#$BDDAT ; INFUT FROM REGISTER SHMASK @#MASK ,aW#$BDDAT ;AND MASK OUT RECEIVED DATA ANMASK ;RESTORE MASK a#$GDDAT ,a#$BDDAT 1% (R4) ,a#$BDDAT @¥RHCST,RS ;1S DATA CORRECT ;BRANCH IF GOOD ;REGISTER UNDER TEST RHCS1? ;BRANCH IF NOT 2% ggDY!DVA.QJSGDDAT;SET RDY AND DVA HRHCS2 R4 ;REGISTER UNDER TEST RH(CSZ2? 3% ;BRANCH IF NOT JSR #~C<IR!OR>,(SP) (SP)+,a#$GDDAT PC. alLERR ;KEEP IR AND OR BIT ;SET IR OR BITS IF NEEDED ;GO TO REPORT ERROR RTS PC .SBTTL CLEAR MEMORY ROUTINE NOP R4, ~(SP) ;GET RH(CS2 JREPLACE BY 104420 FOR LOCAL THIS CLEARS ANY BLOCK OF MEMORY FILLING IT WITH ANY DATA B B XX 1%: % 177477 001124 177534 BIT 8EQ BEQ 001640 001636 coM MOV TSTB 001126 004200 RTS PC, R3 BLTZ SEQ 0174 SEQ 0173 MOV JSR CALL JSR % 010337 005137 043737 005137 013714 011437 005137 043737 005137 023737 001424 011437 023704 001004 052737 000410 023704 001005 011446 042716 052637 004777 000240 000207 BLT1: DR Y 000241 006103 005703 001370 000205 005103 012737 032777 001411 105737 001406 000095 013777 004737 000001 042342 042342 1 X % 012703 004737 004737 FLOAT Y z . . 042314 042320 0423264 042330 042332 042334 042336 042340 042342 30A(1052) » 76446 76447 7448 7449 7450 7451 7452 7453 7454 7455 7456 76457 7458 7459 7460 7461 7462 7463 7464 7465 7466 7467 7468 7469 7470 7471 7472 7473 7474 7475 7476 7477 7478 7479 7480 7481 7482 7483 7484 7485 7486 7487 7488 7489 7490 7491 7492 7493 7494 7495 7466 7497 7498 7499 7500 7501 MACY1T E 14 PAGE 175 12:41 RO, CLAREA ;STARTING ADDRESS OF BLOCK :DATA TO BE FILLED $*R1 WILL HAVE STARTINC ADDRESS OF BLCCK TO BE FILLED ;*R2 AFTER SUBTRACTION WILL HAVE TWICE NUMBER OF LOCATIONS SCOPE LOOP CZ 4 (ZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJIGC.PT 26-JuL-78 10:30 7502 7503 7504 7505 7506 7507 7508 7509 7510 7511 7512 7513 7514 7515 7516 7517 7518 7519 7520 7521 7522 MACY11 30A(1052) 27-JuL-78 CLEAR MEMORY ROUTINE ;*R3 WILL HAVE F 14 12:41 PAGE 176 DATA T0 BE ;*TO AVOID DIVIDE ROUTINE 042536 042536 042540 042542 042544 042546 042550 04c 552 042554 042560 042562 042564 042566 042570 042572 042574 042576 (LAREA: 010146 010246 010346 012001 012002 012003 160102 062702 010321 005302 005302 001374 012603 012602 012601 000200 000002 1%: MOV MOV MOV MoV MOV MOV SuB ADD MOV R1,-(SP) R2,=(SP) R3,-(SP) (RO)+ R (RO)+,R2 MOV MOV MoV RTS (SP)+ ,R3 (SP) +,R2 DEC DEC BNE (RO)+,R3 R1.R2 (SP)+,R1 RO SEQ 0175 SEQ 0174 FILLED TWO DECREMENT R2 WILL BE USED ;sPUSH R1 ON STACK ;:PUSH R2 ON STACK ::PUSH R3 ON STACK ;FROM ;70 :DATA ;NO. OF LOCATIONS MINUS TwWO JGET TWICE NO OF LOCATIONS ;MOVE IN DATA ;RRANCH IF NOT COMPLETE :;POP STACK :;POP STACK INTO R3 INTO RZ ;;POP STACK INTO R1 ;RETURN czi 2 (ZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.P11 26-JuL-78 10:10 7523 7524 7525 7526 7527 7528 7529 7530 7531 7532 7533 7534 7535 7536 7537 7538 7539 7540 7541 7562 7543 7544 7545 7546 7547 7548 7549 7550 042600 000000 042602 042610 042612 042616 032777 001402 013716 000002 LOCAL TRAPS LAD: 001300 042600 27-JuL-78 MACY11 30A(1052) 136330 6SBTTL T1.SCOP: BIT 8EQ 1%: MOV RTI 6 14 12:41 PAGE 177 SEQ 0176 SEQ 0175 LOCAL TRAPS #SW09, 1% a#LAD, aSwR (SP) :*EXAMPLE OF THE USE OF THE ABOVE ;*THIS WILL LOOP BETWEEN X: AND SCOP1 PROVIDED THERE IS NO "NEWTST'' ; =MOV :tx: X, -—-— c W - - - - % e a#LAD o SCOP1 .SBTTL CLEAR DISK ROUTINE MOV BRHCST, 042620 042624 042630 042634 013701 013702 013703 013704 001440 001662 001642 MOV MOV MoV 042640 042644 042650 042652 012712 013712 005011 000207 000040 001774 MOV MOV #CLR,aR2 RTS PC 001636 CLDISK: CLR RHCS?, a#RUDST, a4 AcR1, SFUNIT , aR2 aR1 R1 R2 R3 Ré ;R1 WILL BE CONTROL AND STATUS1 ;JR2 WILL BE CONTROL AND STATUSZ JR3 WILL BE DISK STATUS REGISTER1? ;R4 WILL BE ER~OR REGISTER #1 .CLEAR ALL REG. JREINSTATE UNIT NO. JCLEAR FUNCTION BITS czl czl 7601 7602 7603 7604 7605 7606 =1 104026 1%: 001122 2%: 001122 BIT #DVA,a#(S1 ;BAD SO TEST DEVICE AVAILABLE BR 3$ 1% R1,a#$8DADR 26 BIT #RDY ,a#(CS1 BR MOV ERROR 3$ R1,a#$8DADR 26 BNE MOV ERROR 2% R1,a#$BDADR 26 ;BRANCH [F DVA THERE ;ADDRESS OF BAD REGISTER (RH(S1) JRHCST1 DID NOT HAVE DEVICE JAVAILABLE AT START OF TEST ;BRANCH TO NEXT COMPARE ;TEST READY :1F RDY THERE BRANCH ;ADDRESS OF BAD REGISTER (RHCS1) JRHCS1 DID NOT HAVE READY sJRIGHT AT START OF TEST ;BRANCH TO NEXT COMPARE ;ADDRESS OF BAD REGISTER (RHCS1) ;JRHCS1 HAD SOME BITS OTHER ;THAN DVA AND RDY SET 001736 001100 000600 042766 042774 042776 043002 032737 001004 010337 000400 043032 104026 000413 032737 001004 010337 104026 000403 010337 104026 043034 000207 043036 043042 062716 000207 3%: 001736 4$%: 001736 5%: 001122 001122 000006 a#DS1,-(SP) CMP H#DPR.DRY, (SP)+;RHDS1 BIC BEQ 001122 000200 MOV 6%: #VV.PROG, (SP) JGET RHDS1 ;CLEAR VV AND PROGRAMABLE BIT SHOULD HAVE THESE SET 8% ;BRANCH IF BIT BNE MOV ERROR #DPR ,a#DS1 5% R3,a#$BDADR 26 ;TEST DRIVE PRESENT ;CONTINUE IF THERE ;ADDRESS OF BAD REGISTER (RHDS1) ;RHDS1 DOES NOT HAVE DPR MOV ERROR BR MOV ERROR R3,a#$8DADR 26 7% R3,a#$8DADR 26 ;ADDRESS OF BAD ;RHDS1 DOES NOT ;BRANCH OUT ;ADDRESS OF BAD JRHDS1 HAS SOME 8R 8IT BNE 7$ #DRY ,a#DS1 6% 7%: RTS PC 8%: ADD #6, (SP) RTS PC THEY ARE " ~N N oy e e S 013746 042716 022726 0071424 Saa Sam P ;ALL OTHER BITS SHOULD BE 0 042750 042754 042760 042764 sBRANCH OUT ;TEST DRIVE READY ;IF DPR WAS THERE, BRANCH [F GOOD :THAN MOL, DRY, REGISTER (RHDS1) HAVE DRY REGISTER (RHDS1) BITS OTHER DPR, A AR P 3$ A 000403 010137 001714 BEQ ;RH(CS1 SHOULD HAVE DEVICE AVAILABLE ;AND BE READY ;BRANCH IF GOOD Fan PR PR Fan PYA 042740 042742 042746 104026 000200 H#DVA!RDY ,a#(S1 BNE MOV ERROR 001122 :SAVE REGISTERS CMP ;GET PC OF JSR P 000413 032737 001003 010137 001714 PC,a#PUTREG P 042720 042722 042730 042732 042736 104026 004000 ;SAVE PC OF JSR+4 #4 ,d#PCJSR JSR 001714 (SP) ,a#P(CJSR SUB SET ;ALL OTHER BITS SHOULD BE 0 JRETURN TO TEST AND HALT ;JADJUST STACK TO GET OVER HALT IN TEST JRETURN TO TEST AND CONTINUE P 032737 001004 010137 CHECKT: MOV P 042702 042710 042712 042716 002014 P 001423 004737 022737 002014 000004 042224 004200 Faa FWA P 042700 162737 S 011637 P 042654 042660 042666 042672 IR PR O ;*IT ALSO CHE(CKS THAT NO OTHER BITS IN THESE REGISTERS = 1 00 DN A0 O N RH(S1 P (DVA) AND READY (RDY) ;*AND CHECKS THAT DEVICE PRESENT (DPR), DEVICE READY (DRY) IN RHDS1 = TESTING e PAR PR Pam Sae ;*THIS CHECKS THAT DEVICE AVAILABLE PR P (HECK DISK STATUS ROUTINES e S 7568 7569 7570 7571 7572 7573 7574 7575 7576 7577 7578 7579 7580 7581 7582 7583 7584 7585 7586 7587 7588 7589 7590 7591 7592 7593 7594 7595 7596 7597 7598 7599 7600 .SBTTL e v 7567 SEQ 0177 SEQ 0176 PAGE 178 e 7563 7564 7565 7566 H 14 12:41 e #ha M 7562 30A(1052) 27-JUL-78 CLEAR DISK ROUTINE e 7551 7552 7553 7554 7555 7556 7557 7558 7559 7560 7561 MACY11 N A (ZRJIGCO,RPO4L/5/6 DSKLS CTRLR] CZRJGC P11 26-JuUL-78 10:10 s S S o PR P P P, S Do o P, Pt Fom P P P e P Foen. czf czt e SEQ 0178 SEQ 0177 . 179 B 14 PAGE e 7607 [ 27-JUL=78 12:41 MACY11 30A(1052) CHECK DISK STATUS ROUTINES e CZRJIGCO,RPO4/5/6 DSKLS CTRLR! CZRJGC.PT1 26~JuL-78 10:10 o ~ " CZF 000207 043162 043166 062716 000207 032737 001004 010237 104026 000400 001736 3%: 001122 5%: JRHCS1 IS IN ERROR 3% 26 ;RHDS1 R3,a#$8DADR ;FAILING REGISTER RHDSI R3,a4%$8DADR JFAILING REGISTER RHDS1 DOES NOT HAVE DPR,DRY ;BRANCH OuUT sRHDS1 SHOULD HAVE DPR,DRY JBRANCH OUT AND CONTINUE IF BNE 4% #DPR,a#DS1 5% ERROR 26 ;JRHDS1 DOES NOT HAVE DPR,DRY RTS PC JRETURN ADD #6, (SP) PC ;ADJUST STACK TO GET OVER HALT IN TEST BIT MOV 4% 000006 BNE [01Y) ERROR B8R SHOULD HAVE DEVICE AVAILABLE ;AND BE READY ;BRANCH IF GOOD ;FAILING REGISTER ;DOES NOT HAVE DVA, RDY ;BRANCH OUT JRHDS1 SHOULD HAVE DPR,DRY ;BRANCH IF THERE 4% #DRY ,a#DS1 RTS JRETURN TO TO THERE TEST AND HALT TEST AND 0N An An D0 0N £ 043160 104026 000407 BR 8IT 0 00N N0 00 001122 2%: On On O 010337 001004 001736 JRHCS1 O 000200 26 RDY O 000417 032737 ERROR 2% R1,3a4#$BDADR ;BRANCH OUT O 043120 043122 043130 043132 043136 043140 043142 043150 043152 043156 104026 BNE MOV IS IN ERROR :DOES NOT HAVE DVA, O 001122 1%: 4% A#DVA,a# (51 ;FAILING REGISTER JRHCST1 £ 001004 010137 001714 BR B8IT 26 O 043110 043112 043116 ERROR O 004000 MOV O 000427 032737 001122 O 043100 043102 104026 SAND BE READY ;BRANCH IF GOOD AN O 1% R1,a#$BDADR JREAD & SAVE REGISTERS JRHCST1 SHOULD HAVE DEVICE AVAI_ABLE CONTINUE AW AR AW O BNE JSR+4 ;GET PC OF JSR A 001004 010137 i O 043070 043072 043076 001714 = OO 004737 032737 043062 ;SAVE PC OF = TESTING OWA O (SP) ,a#PCJSR #4 ,aHPCJSR PC,a3#PUTREG #RDY ,a#(S1 [N RHDS1 O MOV SuB JSR BIT [N RHCS1 WA O CHECKE: (DRY) A PN 043056 002014 (RDY) 0 002014 000004 042224 000200 AND READY DEVICE READY WA P 162737 (DVA) (DPR), YA WA 011637 AVAILABLE Por 043044 043050 THAT DEV.CE THAT DEVICE PRESENT P CHECKS s*AND CHECKS P ;*THIS P 7629 7630 7631 7632 7633 7634 7635 7636 7637 7638 7639 7640 7641 7642 SeEaQ 0179 SEQ 0178 180 Prn PV PR P 7626 7627 7628 27-JUL-78 VA P 7623 7624 7625 J 14 PAGE 12:41 (HECK DISK STATUS ROUTINES 30A(1052) Pom P 7608 7609 7610 7611 7612 7613 7614 7615 7616 7617 7618 7619 7620 7621 7622 MACY11 A CZRJGCO,RPO4/S5/6 DSKLS CTRLR? CZRJIGC P11 26-JuL-78 10:10 7679 7680 7681 7682 7683 7684 7685 28 S#STMP1 .@8$TMPO ;IS REQUIRED BIT THERE? 2% ;BRANCH IF YES s COUNT NSTMP? ;JBRANCH IF NOT TIME UP 1% S TIMCNT ,a#$TMP2 : TEMPORARY COUNT #$TMP1 ,a8TMPO ;IS REQUIRED BIT THERE? 2% ;BRANCH IF YES ; COUNT arSTMP2 3$ ;BRANCH IF NOT TIME UP a$TMPO ,a#$BDDAT ;REGISTER CONTENTS 16 JWAITED ON BIT FAILED TO SET o CALL FOR THE ABOVE WAITLOOP IS i ;* MOV - :'. - 1%: 001202 135706 3$: SNTIMCNT ,a48TMP?2 . TEMPORARY COUNT (@ ~ bo) a7 :72 .72 : ke - Yo', e e MOV JRESTORE RETURN ON STA(K JRESTORE RO W 2 Y2 1 Y2 178 172 172 178 272 270 1 Ve oXn 2038 178 2 Va1 0a 170 s X0 oY 152 1%a : Y2 JWAIT REGISTER ADDRESS ;WAIT ON BIT BIT BNE DEC BNE MOV BIT BNE DEC BNE MOV S$TOR 135732 001126 (RO) +,a#$TMPO (RO) +,aN$TMP1 RO,2(SP) (SP)+,R0 001202 135672 ;SAVE RO ;GET ADRESS OF REG. ADDERSS JWAT PC+2 IN $TMP3 ;WAT PC FOR TYPEOUT MOV MOV 001202 043170 001200 ;WAITING COUNT X ] o ® JeXS: M oTM - WA, XS - - WAT 0 .WORD 0 - ;A _CONTAINS REGISTER ADDRESS :HENCE X$ WILL HAVE ABSOLUTE REG. ADR. - S 000002 001202 MOV MOV RO,-(SP) 2(SP) ,RO RO,a#$TMP3 #2,348TMP3 R 104016 043170 001200 001204 TIMCNT: 177777 WAIT.T: MOV MOV MOV suB U 7678 WITH CORE ERROR IS INDICATED AFTER ABOUT 650 MILLISEC (MIN) ;ABSOLUTE REG. ADDRESS UNDER WAIT ;BIT WAITED FOR s CONT INUE I 7667 7668 7669 7670 7671 7672 7673 7674 7675 7676 7677 it ONE LOOP OR ONE COUNT = 5.15 MICROSEC WITH BIPOLAR MEMORY (MIN) ONE LOOP OR ONE COUNT = 11.86 MICROSEC WITH CORE (MIN) S 7666 WAIT LOOP CZF R 7665 000002 001204 000002 001176 001290 000002 SEQ 0179 S 7664 01660C 010037 162737 012037 012037 010066 012600 013737 033777 001021 005337 001371 013737 033777 001007 005337 001371 017737 SEQ 0180 S 7652 7653 7654 7655 7656 7657 7658 7659 7660 7661 7662 7663 PAGE 181 o o o 177777 010046 K 14 12:41 (HECK DISK STATUS ROUTINES 7643 7644 7645 7646 7647 7648 7649 7650 7631 27-JuL-78 N MACY11 30A(1052) PR C2RJGCO,RPO4/5/6 DSKLS CTRLRI CZRJGC P11 26-JUL-78 10:10 7707 7708 7709 7710 7711 7712 7713 7714 7715 SAVE ROUTINE :*THIS IS A SUBROUTINE TO SAVE REGISTERS :«IN THE REGISTER TABLE ;*THE ;*JSR :=FROM ;«T0 CALL IS TO ANY LOCATION RO.a#SAVER :*NUMBER OF WORDS SAVED 043312 043312 043314 043316 043320 043322 043326 043326 043330 043332 043334 043336 043340 043342 SAVER: 010146 010246 010346 012001 012002 012003 013122 005303 001375 012603 012602 012601 000200 MoV MOV MOV R1,-(SP) RZ.-(SP) R3,-(SP) ;;PUSH R1 ON STA(K ;.PUSH R2 ON STACK ;.PUSH R3 ON STACK MOV MOV MOV DEC BNE (RO) +,R2 (RO)+,R3 d(R1)+,(R2)+ R3 1% .10 :NUMBER ;SAVE REGISTER CONTENTS s COUNT JBRANCH IF NOT DONE RTS R .SBTTL WRITE CHECK ROUTINE MOV 1%: MOV MOV MOV 7716 (RO)+,R1 (SP)+,R3 (SP)+,R2 ((S)P)*,R1 ;FROM ;;POP STACK INTO R3 ;.POP STACK INTO R2 ;.POP STACK INTO R1 ;*THIS IS A SUBROUTINE TO DO WRITE CHECK HEADER AND DATA ;*CYLINDER O, TRACK 1, SECTOR 1, KEYS O 7717 043344 043352 043360 043372 043376 043410 043414 043416 012737 112737 112737 005027 005037 012737 005037 004537 047504 010000 000001 000001 047510 047512 000044 047514 044026 047504 047507 047506 047564 ;*THESE ARE WRCHHD: MOV mMovs MovB CLR CLR MOV CLR éSR YL 051404 TO SET UP FOR DISKLESS USE ONLY KHFMT22 ,a#CYL #1,3#SECOTR+1 #1,a#SECOTR asKEY] aFKEY2 #36. ,DAWORD a#x R5.,a#(CRC ;CYLINDER O FORMAT 16 BIT WORDS : TRACK=1 ;SECTOR=1 JKEY1=0 ;KEY2=0 ;NO OF DATA WORDS ;THIS IS A READ OPERATION ;GO TO CALCULATE CRC WCRC( ;*THESE ARE REGULAR SETUPS 043420 004737 042620 043424 043432 043440 043444 043452 043456 012777 012777 177730 112746 112766 012677 012777 003154 000001 000001 136166 014000 136200 136174 000001 136164 JSR PC.a#CLDISK MOV #-40. ,aRHW(C MOV MOVB MOVB MOV MOV #REINTO,aRHBA #1,-(SP) #1.1(SP) (SP)+.aRHDST ;SET UP GENERAL REGISTERS JAND CLEAR DISK REGISTERS ;36 DATA WORDS 4 HEADER WORDS ;STARTING ADDRESS OF READ BUFFER s SECTOR=1 *TRACK=1 IN UPPER BYTE -TRACK=1, SECTOR=1 IN RHDSI NFMT22'ECI.@RHOF ;16 BIT WORDS p-] P P A AN N A A O O O O 0N 00 An O An 0 An On 00 M On 00 On On 00 O 00 00 00 00 00 00 00 (o 00 0o 0o Oo 00 00 00 00 0o 00 00 00 00 00 00 00 00 00 OC M 7706 .SBTTL CZR £ 7686 7687 7688 7689 7690 7691 7692 7693 7694 7695 7696 7697 7698 7699 7700 7701 7702 7703 7704 7705 SEQ 0181 SEQ 0180 [al ~N CZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.P11 26=JUL-78 10:10 L 14 MACY11 30A(1052) 27-JUL-78 12:41 PAGE 182 CHECK DISK STATUS ROUTINES PC JRETURN TO WRITE CHECK TEST Yo :Xo Yo :Xo :Xa -2 -Fo ‘Yo ) RTS ;SAME AS READ HEADER AND DATA s PC,a#COMHD JINTO RHCS! JWRITE CHECK HEADER AND DATA N8 :Ta Xa 0o Na:Ya JSR JWRITE CHECK HEADER AND DATA=52 N . Wa Y2 X8 047344 CANNOT (ON- e AR SMWRCHDT JAND THAT NO OTHERS = 1. ;STOP THE TEST O 002060 TYPE HALT MOV ;CHECK THAT DVA,RDY,DPR,DRY = 1 A LCPHALT s CYLINDER=0 O 000207 PC,a#CHECKT R 043512 aRH(CA SRR 004737 000000 013711 0425654 062450 CLR JSR ;ECC CORRECTION INMIBIT BECAUSE JECC LOGIC IS NOT CHECKED YET CZR CZR SR 043506 104401 136162 SEQ 0182 SEQ 0181 183 U 005077 004737 CHECK ROUTINE PAGE I 7754 7755 043464 043470 043474 043500 043502 WRITE 27-JuL-78 SR 77462 7743 7744 7745 7746 7747 7748 7749 7750 7751 7752 7753 MACY11 30A(1052) PP CZRJGCO,RPOL/576 DSKLS CTRLRY CZRJGC.P11 26-JuL-78 10:10 M4 12:41 C(ZRJIGCO,RPO4/S5/6 DSKLS CTRLR1 CZRJGC.P11 26=-JUL-78 10:10 7756 7757 7758 7759 7760 7761 7762 7763 7764 7765 7766 7767 7768 7769 7770 777 7772 7773 7774 7775 7776 777 7778 7779 7780 7781 7782 7783 7784 7785 7786 7787 7788 7789 7790 7791 MACY11 30A(1052% WRITE 27-JUL-78 CHECK ROUTINE .SBTTL N 14 12:41 SEQ 0183 SEQ 0182 PAGE 184 COMPARE ROUTINE ;*THIS IS A SUBROUTINE TO COMPARE TWO BLOCKS I[N MEMORY ;*R1 HAS GOOD DATA BUFFER ADDRESS ;*R2 HAS TEST DATA BUFFER ADDRESS ;*$TMPO HAS ADDRESS OF RETURN ON ERROR TO PRINT HEADER ;*$TMP1 HAS ADDRESS OF RETURN ON ERROR TO PRINT DATA ;*R3 HAS NUMBER OF WORDS TO BE COMPARED ;*R4 YAS ONE MORE THAN NUMBER OF WORDS TO BE 010146 010246 010346 010446 010546 012001 012002 012003 012037 012037 011000 010304 005204 010437 022122 001426 014137 014237 160337 005737 001003 004777 000402 004777 022122 017746 042716 022726 001402 005303 001344 012605 012604 012603 012602 012601 000200 COMPAR: 001176 001200 MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV 047624 1%: 001124 001126 047624 002006 MOV MOV 135366 135362 135314 177177 000200 INC MoV cMP BEQ 2%: 5%: 3%: 49%: SUB TST BNE JSR B8R JSR CMP MOV BIC CMP BEQ DEC BNE MOV MOV MOV MOV MOV RTS COMPARED R1,-(SP) R2,=(SP) R3,-(SP) R4 ,-(SP) R5,=(SP) (RO)+,R1 (RO)+,R2 (RO)+,R3 (RO)+,$TMPO (RO)+,$TMP1 (RO) RO R3,Ré R& R4 ,a#ERWORD (R1)+,(R2)+ 3% ::PUSH R1 ON STACK =(R1) ,a#SGDDAT ~-(R2) ,a#$BDDAT R3, I#ERWORD SH#ERFLGS 2% PC,a$TMPO 5% PC .38 TMP1 (R1)+,(R2)+ aSWR,-(SP) #4C600, (SP) #SWO7, (SP) + ;GOOD DATA ;BAD DATA cERROR WORD NO. ;ANY ERRORS ALREAY THERE ;BRANCH [IF YES ;RETURN TO PRINT HEADER :BRANCH TO AVOID PRINTING NEXT ERROR :;PUSH R2 ON STACK ::PUSH R3 ON STACK ;:PUSH R4 ON STACK ;:PUSH R5 ON STACK ;ADDRESS OF GOOD DATA BUFFER ;ADDRESS OF TEST DATA BUFFER :NO OF WORDS TO BE COMPARED ;RETURN ON ERROR TO PRINT HEADER ;RETURN ON ERROR TO PRINT DATA ;RETURN ON NO ERROR ;NO OF WORDS TO BE COMPARED .FOR ERROR WORD NO ;COMPARE GOOD WITH TEST DATA ;BRANCH IF GOOD RETURN TO PRINT DATA 1% JUNDO ~(R1) AND -(R2) FOR ERRORS ;GET SWITCH SETTING :KEEP ONLY SWITCH 7 AND 8 ;1S 7 SET AND 8 RESET JBRANCH OUT IF YES JCOUNT ;BRANCH IF ALL NOT DEVICE (SP)+ RS ::POP STACK INTO RS (SP)+ ,R3 (SP)+,R2 (SP)+ ,R1 RO ;;POP STACK INTO R3 ;:POP STACK INTO R? ::POP STACK INTO R1 43 R3 + R4 (SP) ;:POP STACK INTO R4 JRETURN TO MAIN PROGRAM CZRJIGCO,RPO4/S5/6 DSKLS CTRLR CZRJGC.PIT 26=-JuL-78 10:10 7812 7813 7814 7815 7816 7817 7818 7819 7820 7821 7822 MACY 11 B 15 12:41 PAGE 185 30A(1052) 27-JUL-78 COMPARE ROUTINE SEQ 0184 SEQ 0183 s*THIS IS A SUBROUTINE TO DO wRITE CHECK DATA ;*CYLINDER O, TRACK 1, SECTOR 1, KEYS O s*THESE ARE TO SET UP FOR DISKLESS USE ONLY 043656 043664 043672 043700 043704 043710 043716 012737 0463722 043726 043730 004537 047504 051404 112737 112737 005037 005037 012737 005037 010000 000001 000001 047510 047512 000040 047514 047504 047507 067506 047564 044026 WRCHDA: MOV MOvB mMovB CLR CLR NFMT22 ,aNCYL #1,a#SECOTR+1 ;CYLINDER O FORMAT 16 BIT WORDS s TRACK=1 SMKEY] SKEY1=0 #1,a#SECOTR KEY?2 MOV CLR #32. ,a#DAWORD X éSR R5,a#CRC YL 043732 004737 042620 043736 043744 043752 043756 043764 043770 012777 012777 177740 003154 000001 000001 135654 014000 043776 044002 044006 044012 044014 044020 005077 004737 044024 000207 012777 104401 0000G0 013711 004737 ;KEY2=0 ;NO OF DATA WORDS ;THIS IS A READ OPERATION ;GO TO CALCULATE CRC WCRC ;*THESE ARE 112746 112766 012677 ;SECTOR=1 135650 042654 062450 002056 047344 REGULAR SETUPS JSR PC.a#CLDISK sSET UP GENERAL REGISTERS 135666 135662 MOV #-32. ,aRHWC ;36 DATA WORDS 4 HEADER WORDS 000001 MOovB MCVB MOV #1,-(SP) sSECTOR=1 135652 MOV MoV CLR JSR TYPE HALT MOV JSR RTS #REINTO,dRHBA #1,1(SP) (SP)+,3RHDST WFMT22'!ECI ,3RHOF aRHCA PC,a#CHECKT LCPHALT SHWRCHEK ,aR1 PC.a#COMHD PC sAND CLEAR DISK REGISTERS ;STARTING ADDRESS OF READ BUFFER ;TRACK=1 IN UPPER BYTE ;TRACK=1, SECTOR=1 IN RHDST .16 BIT WORDS ;ECC CORRECTION INHIBIT BECAUSE JECC LOGIC IS NOT CHECKED YET ;CYLINDER=0 ;CHECK THAT DVA,RDY,DPR,DRY = 1 JAND THAT NO OTHERS :STOP THE TEST = 1. CANNOT JWRITE CHECK DATA=50 INTO RH(CS1 ;JWRITE CHECK HEADER AND DATA ;SAME AS READ HEADER AND DATA JRETURN TO WRITE CHECK TEST (ON- € €l CZRJIGCO,RPO4/5/76 DSKLS CTRLR1 CZRJGC.P11 26-JUL-78 10:10 MACY11 30A(1052) 27-JUL-78 COMPARE ROUTINE 7852 7853 7854 .SBTTL 7855 7856 7857 7858 7859 c15 12:41 PAGE 186 SEQ 0185 SEQ 0184 CRC GENERATION ROUTINE ;*THIS IS A SUBROUTINE TO CALCULATE CRC FOR THE FOUR ;*HEADER WORDS AND STORE THEM IN ‘W(CRC'' AND '‘GCRC'’ ;*R1 - REGISTER FOR CRC, INCREMENTED CRC VALUE IS HERE ;*R2 = THIS HAS BIT POSITION 2 VALUE ( ;*R3 - THIS HAS BIT POSITION 16 I1.E. OUTPUT BIT VALUE B ;*R4 - THIS HAS BIT POSITION 15 VALUE E 7860 7861 7862 7863 7864 7865 7866 7867 7868 7869 7870 ;*$TMPO - NUMBER OF WORDS ;*$TMP2 - NUMBER OF BITS PER WORD = 16 ;*$TMP3 - TEMPORARY REG. ;*$TMP4L - TEMPORARY REG TO TRANSFER CARRY ;*$TMP5 - THIS HAS DATA BIT VALUE D ;*FETCH DATA BIT D nnuun D XOR 16 . *B B XOR 2 ;«C B XOR 15 ;*E :*ROTATE RIGHT ONE POSITION ;*B GOES TO POSITION 1 7871 7872 7873 7874 7875 ;*( GOES TO POSITION 3 ;*E GOES TO POSITION 16 ;*REPET 64 044026 044030 044032 044034 0449036 044040 044042 044044 044050 044056 044062 044070 044076 044102 044106 044112 044114 044120 044122 044124 044130 044124 044136 044142 044144 010046 012500 010146 010246 010346 010446 005001 CRC: RS, a#CRC JSR i*Y ;PUT CRC IN WCRC FOR READ GCRC FOR WRITE MOV RO,-(SP) :;PUSH RO ON STACK MOV MOV CLR CLR MOV MOV MOV R3,-(SP) R4 ,-(SP) R1 NSTMPS #4 , a8 TMPO ;;PUSH R3 ON STACK ;.PUSH R4 ON STACK ;CLEAR WORKING LOCATION ROR ROR asSTMP3 NS TMPS ;X 044026 TIMES ;*CALL MOV MOV MOV sFIRST LOCATION AT (R5)+,R0 R1,-(SP) R2,=(SP) 005037 012737 012037 012737 013737 006037 006037 032701 001403 012703 001210 000004 001204 000020 001204 001204 001210 000001 063703 001210 ADD 032701 001403 012702 000401 005002 040000 BIT BEQ MoV #BIT14,RY 3% #3I1T15,R2 CLR R2 000401 005003 001176 001202 001206 16%: 15%: MOV 3%: ;WORD COUNT ; TEMPORARY WORD STORAGE ;BIT COUNT ; TEMPORARY WORD STORAGE BIT BEQ #81T0,R1 1% ;1S POSITION 15 HIGH ;BRANCH IF POSITION 16 LOW BR 2% CLR 100000 wu. a¥STMP3 aNSTMPS MOV 100000 (RO)+,a#$TMP3 #16.,8TMP2 ;GET POINTER TO CYL ;;PUSH R1 ON STACK ;;PUSH R2 ON STACK BR #B1T15,R3 R3 IASTMPS R3 49 ;GET LSB INTO ''C"' ;GET ABOVE '‘C'' INTO $TMPS ;GET POSITION 16 ;GET POSITION 16 ;XOR POSITION 16 WITH D ;70 GIVE B ;1S POSITION 2 HIGH ;BRANCH IF POSITION 2 LOW ;GET POSITION 2 ;GET POSITION 2 CZRJIGCO ,RPO4/5/6 DSKLS CTRLR) CZRJGC.P11 26-JuL-78 10:10 7925 7926 7927 7928 7929 7930 91 7932 7933 7934 7935 7936 7937 032701 001403 012704 000401 005004 060304 000002 006037 006001 005703 001206 042701 000402 052701 005702 100000 044164 044166 044170 044174 044176 044200 044202 044206 044210 044214 044216 044220 044224 044226 044232 044234 044236 044242 0464244 044250 044254 044256 044262 044264 044266 044270 044272 044274 044276 044300 100403 100403 042701 000402 052701 005704 100403 042701 000402 052701 005337 001310 005237 001275 100000 5%: 6%: 100000 7%: 000001 000001 001202 R3,Pc BIT BEQ #3171 ,R1 ;XOR B WITH POSITION 2 MOV BR 56 R4 MITIS 6% ADD R3.R4 CLR R4 13%: 14%: 001176 01013S BR BIS TST #IT15,.R1 #BIT13,R1 12% #BIT13,R1 R4 TST 8M] BIC BR BIS 012604 012603 012602 012601 012600 000205 ;SET B IN POSITION 1 STEST C ;BRANCH IF (=1 ;GET C IN POSITION 3 ;GET C IN POSITION 3 STEST E ;BRANCH IF E=1 #1T0,R1 NS TMP?2 15% s TMPO ;GET E IN POSITION 16 ;BIT COUNTER ;BRANCH IF 16 NOT DONE ;GET E IN POSITION 16 ;WORD COUNTER 16% R1,a(R5)+ MOV MOV 10)% MoV MOV MoV RTS ;GE1 POSITION 15 ;XOR POSITION 15 WITH B 138 #BITO,.R1 148 DEC BNE DEC BNE ;1S POSITION 15 HIGH ;BRANCH IF POSITION 15 LOW ;GET POSITION 15 ;TO GIVE E ;GET LSB INTO 'C"’ ;GET ABOVE C INTO R1 TEST B ;BRANCH IF B=1 ;SET B IN POSITION 1 R?2 1% BM] BIC BR 8IS SEQ 0186 SEQ 0185 ;70 GIVE € BMI BIC 020000 020000 ADD ROR ROR TST — 7922 7923 7924 044150 044154 044156 044162 4%: A 7921 060302 —_ 7912 7913 7914 7915 7916 7917 7918 7919 7920 044146 ~n 7908 7909 7910 oM D15 PAGE 187 27-JUL-78 12:4 1 MACY11 30A(1052) CRC GENERATION ROUTINE (SP)+ ,R4 (SP)+,R3 (SP)+,R2 (SP)+ ,R1 ;BRANCH IF 4 NOT DONE ;PUT CRC WHERE DESIRED ;.POP STACK INTO R4 ;;POP STACK INTO R3 ;;POP STACK INTO R2 ;.POP STACK INTO R1 ;.POP STACK INTO RO (SP)+,RO RS ;*THIS IS A SUBROUTINE TO SET UP THE SIMULATOR DISK fFOR s*CYLINDER O (16 BITS PER WORD) ;*TRACK 1, SECTOR 1 J*KEY1 1 J*KEY2 1 ;*CRC THROUGH THE JSR R5,a#(RC ;%256 WORDS OF 177400 044302 044302 0464304 044306 044310 010046 010146 010246 012700 SETDSK: 177400 P C.,a#SETDSK s *CALL JSR MOV MOV MOV MOV RO,-(SP) R1,~(SP) R2,=-(SP) #177400,R 0 ::PUSH RO ON STACK ;:PUSH R1 ON STACK ;;PUSH R2 ON STACK :DATA IN THE DISK CZRJIGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.P11 26-JuL-78 10:10 7964 7965 7966 7967 7968 7969 7970 7971 7972 7973 7974 7975 044314 044320 044324 044326 044330 044332 012701 012702 010022 005301 001375 012701 044336 005022 044340 064342 005301 001375 MACY11 30A(1052) 7989 7990 E 15 12:41 PAGE 188 SEQ 0187 5EQ 0186 CRC GENERATION ROUTINE 000400 051422 1%: MOV #256. ,R1 ; COUNTER MOV RO, (R2)+ JMOVE MOV DEC BNE MOV 000021 2%: #DISK, N2 R1 1% #7.,R1 CLR (R2) + DEC BNE R1 2% ;START OF SIMULATOR DISK IN DATA ;COUNT FOR 255 ;BRANCH IF 256 NOT COMPLETE :2 ECC WORDS, ;14 1 DATA GAP TOLERANCE GAP ;CLEAR ECC.DATA GAP AND : TOLERANCE GAP ;COUNT :BRANCH [F NOT COMPLETE :*NOW SET UP FOR DISKLESS USE 7976 7977 7978 7979 7980 7981 7982 7983 7984 7985 7986 7987 7988 27-JUL-78 044344 044352 044360 044366 044374 044402 044410 044414 0464416 044420 044422 044424 0464426 010000 000001 000001 000001 000001 000400 044026 047504 047507 047506 047510 047512 047564 MOV MOVB NFMT22 ,an(YL #1,3#SECOTR+1 :CYLINDER O (16 BIT WORDS) ;TRACK=1 MOV MOV MOV JSR cyL #1,34KEY #1,34KEY2 256..,3#DAWORD RS,a#CRC ;KEY1=1 :KEY2=1 ;NO. OF DATA WORDS ;GO TO CALCULATE CRC :FIRST CRC WORD MOV MOV MOV (SP)+,R2 (SP)+ ,R1 (SP)+.RO MOvVB WCRC 000207 RTS #1,a4SECOTR PC :SECTOR=1 ;PUT CALCULATED CRC ::POP STACK INTO R2 ::POP STACK INTO R1 ;:POP STACK INTO RO CZRJGCO,RPO4/5/6 DSKLS CTRLRI CZRJGC.P11 26-JuUL-78 10:10 F 15 MACY11 30A(1052) 27-JUL-78 12:41 CRC GENERATION ROUTINE 7991 7992 7993 7994 7995 7996 7997 7998 ;*THIS 8015 8016 8017 8018 8019 8020 8021 8022 8023 8024 8025 8026 8027 8028 8029 8030 8031 8032 8033 8034 8035 8036 8037 8038 8039 8040 8041 8042 IS A SUBROUTINE TO CHECK HEADER COMPARE ERROR ;*(BIT #7) AND CRC ERROR (BIT #8) ;*CALL JSR RO,a3#HCCRCE 7999 8000 8001 8002 8003 8004 8005 8006 8007 8008 8009 8010 8011 8012 8013 8014 SEQ 0188 SEQ 0187 PAGE 189 com .* . C S ;CYLINDER ;SECTOR i o -N. 8 X H ;WORD COUNT JRHBA BUFFER START ;1=WRITE DATA O=READ ;H=1 HEADER CHECK, H=0 CRC CHECK RO,a#PCJSR JSAVE PC OF JSR+4 LCPHALT MOV (RO) ,a#$TMPS (RO) +,aR1 (RO) +,aRHCA JAND THAT NO OTHERS = 1. ;STOP THE TEST ; SAVE COMMAND ; COMMAND ;CYLINDER TSTB MOVB TSTB MOV (RO)+ (RO)+,1(SP) (RO)+ (SP) +,aRHDST ;UP DATE RO ; TRACK ;UPDATE RO :TRACK SECTOR i o* I 044430 044434 0464442 044446 044452 044456 044460 0464464 044466 044472 044474 0464476 044502 044504 044510 010037 162737 004737 044514 044520 012077 012037 047514 044524 012777 014000 044532 044536 005037 004737 002006 047344 004737 104401 000009 011037 012011 012077 112046 105720 112066 105720 012677 €12077 002014 000004 042620 042654 002014 : MOV HCCRCE SuUB JSR JSR TYPE HALT MOV 062450 001210 MOV 135160 mMovB 000001 135134 MoV 135116 135114 135116 ; COMMAND-READ HEADER AND DATA ;¥ T #4 ,a4PCJISR PC.,a#CLDISK PC,a#CHECKT (RO)+,-(SP) (RO) +,aRHW( MOV MOV (RO) +,aRHBA (RO) +, 34X MOV #FMT22'ECI,aRHOF CLR JSR S#ERFLGS PC,a#COMHD =WRITE DATA ; s TRACK ;GET PC OF JSR JINIT AND SETUP GENERAL REG. ;CHECK THAT DVA,RDY,DPR,DRY - 1 CANNOT (ON- ;SECTOR ;sNO. OF DATA WORDS +4 HEADER ;IF A READ HEADER AND DATA ;STARTING ADDRESS OF BUFFER :X=0 READ HEADER AND DATA :X=1 WRITE DATA ;16 BITS PER WORD JECC CORRECTION INHIBIT ;CLEAR ERROR FLAG ; COMMAND ;*]F THE PROGRAM COMES BACK HERE WITHOUT ERROR PRINTOUTS ;*FROM THE ''COMHD'' ROUTINE THAT MEANS SECTOR GAP, ;*FJRST SYNC, HEADER, HEADER CRC, HEADER GAP AND ;*SYNC BYTE HAVE GONE BY AND SYNCS WERE CORRECTLY s*DETECTED :*HEADER AND DATA ARE TO BE CHECKED. 044542 044546 044552 044554 044560 004737 005737 001034 005737 001015 042224 002006 047514 JSR PC,a#PUTREG ;SAVE REGISTERS TST a# X ;1S TST BNE BNE a4ERFLGS 108 3% ;ANY ERRORS ALREADY THERE ;BRANCH IF YES JIF THIS A READ A WRITE DATA BRANCH CZRJGCO,RPO4L/5/6 DSKLS CTRLRI CZRJGC P11 26-JUL~78 10:10 MACY11 G 15 30A(1052) 27-JUL-78 12:41 PAGE TRC GENERATION ROUTINE 8043 8044 8045 8046 8047 8048 8049 8050 8051 8052 8053 8054 8055 SEQ 0189 SEQ 0188 190 ;*NOW THE READ BUFFER WILL BE (HECKED ;*HEADER SHOULD BE COMPLETELY READ AS WRITTEN ;*NO DATA WORDS SHOULD BE READ ;*REINTO BUFFER HAS BEEN FILLED WITH O ;*WRFROM BUFFER HAS BEEN FILLED WITH EXPECTED DATA 044562 044566 044570 064572 044574 044576 044600 044602 044604 044606 004037 002110 003154 000400 044602 044606 044644 043514 JSR WRFROM REINTC RO, a#COMPAR ;4 HEADER 252 DATA 256. 104004 1%: 104005 2%: 000207 1% 2% 10% ERROR RTS ERROR s CHECK ;GOOD DATA sTEST BUFFER 4 PC 5 JRETURN POINT FOR ERROR HEADER JRETURN POINT FOR ERROR DATA JRETURN FOR GOOD COMPARISON JREAD NEXT ERROR 5 JRETURN TO COMPARISON SUBROUTINE JWORD NO 1 THRU 4 ARE JHEADER WORDS AND HENCE ;SHOULD BE READ AS WRITTEN ON :DISK, WORD NOS. 5 ONWARDS ;SHOULD NOT BE READ AND HENCE 044610 000207 RTS PC 044612 000414 BR 10% ;*NOW THE DISK WILL BE JREAD INTO BUFFER ;SHOULD BE UNCHANGED JRETURN TO COMPARISON JJUMP OUT CHECKED ;*NO DATA SHOULD BE WRITTEN ;*REINTO BUFFER HAS BEEN FILLED WITH EXPECTED DATA ;*DISK HAS BEEN FILLED WITH 177400 ;*WRFROM HAS BEEN FILLED WITH 125252 044614 044620 044622 044624 044626 044630 044632 0464634 044636 044640 004037 003154 051422 000400 044634 044640 044644 043514 3%: RO,a#COMPAR 4% 104004 A ¥ 104005 5%: 044642 044644 044646 044650 044656 044660 044666 000207 005720 10%: 0464674 044676 001470 013737 000207 001442 022737 001417 017737 022737 JSR REINTO B%ZK 000072 001210 134756 000200 001126 001126 001642 042270 5% 108 ERROR RTS ERROR s CHECK ;GO0OD DATA BUFFER ;TEST BUFFER JRETURN POINT FOR ERROR HEADER 4 JRETURN POINT FOR ERROR DATA JRETURN POINT FOR _GOOD COMPARISON JREAD NEXT ERROR 5 PC 5 JRETURN TO COMPARISON SUBROUTINE ;WORD NO ARE ALL DATA RTS TST 8EQ PC (RO) + 6% JRETURN TO COMPARISON SUBROUTINE ;1S THIS A HCRC ON HCE CHECK? JBRANCH IF HCRC MOV Mp aRHER1 ,a#$BDDAT #HCE ,a#$BDDAT CMP BEQ BEQ MOV #72,aNSTMPS 11% 14 ;WORDS THE SHOULD NOT JHAVE BEEN CHANGED BY THE ;WRITE COMMAND ;IS THIS A READ COMMAND ;BRANCH IF YES ;TEST DATA ;ONLY HEADER COMPARE BIT? ;SHOULD BE SET ;BRANCH IF GOOD A#RHERT ,a#REGADR ;REGISTER ADDRESS RHER (ZRJGCO,RPO4/5/6 DSKLS CTRLRI] CZRJGC.PI 26=-JuL~78 10:10 8099 044704 044712 012737 8102 8103 044714 044716 0464716 044724 000460 8100 8101 8104 8105 8106 8107 8108 8109 8110 8111 8112 8113 8114 8115 8116 8117 8118 8119 8120 8121 8122 8123 8124 8125 8126 8127 8128 8129 8130 8131 8132 8133 8134 8135 8136 8137 8138 8139 8140 8141 8142 8143 8144 8145 8146 8147 8148 8149 8150 8151 8152 8153 8154 104027 000200 H 15 MACY11 30A(1052) 27-JuL-78 12:41 PAGE 191 CRC GENERATION ROUTINE 001124 017737 022737 134720 100200 001126 001126 044732 044734 044742 044750 001451 013737 012737 001642 042270 001124 044752 044754 044762 044764 044772 045000 045002 045010 045016 000441 022737 0014617 045020 045022 000416 017737 134614 001126 045030 022737 100400 045036 045040 045046 045054 001407 012737 013737 100400 001642 045056 104027 017737 022737 001426 013737 012737 104027 104027 100200 000072 001210 134652 001126 001126 000400 001642 000400 11%: MOV ERROR #HCE ,a#$GDDAT 27 ;GOOD DATA JAFTER AN ERROR ON THE BR 78 .BE SET MoV MP aRHER1,a#$BDDAT ;TESTM DATA #DCK'HCE ,a#$8DDAT ;ONLY HEADER COMPARE BIT? BEQ MOV 7% @#RHERT ,a#REGADR ;REGISTER ADDRESS RHER1 ADCK .HCE ,a#$GDDAT . GOOD DATA MOV ERROR 6%: B8R CMP BEQ MOV CMP BEQ 042270 001124 SEQ 0190 SEQ 0189 SJHEADER ONLY HCE SHOULD ;SHOULD BE SET ;DCK IS SET BECAUSE ECC IS NOT READ :BRANCH IF GOOD 27 7% H72,NSTMPS 12% JAFTER AN ERROR ON THE JHEADER ONLY HCE SHOULD ;BE SET ;1S THIS A READ COMMAND? ;BRANCH IF A READ aRHER1 ,a#$BDDAT ;TEST DATA ;gCRC,GISBDDAT JONLY CRC ERROR SHOULD BE MOV #RHER1 ,3#REGADR ;REG. ADDR = RHERI ERROR 27 MOV B8R #HCRC,a#$GDDAT 7% THERE ;GOOD DATA ;AFTER A CRC ERROR ONLY CRC ;SHOULD BE SET sBRANCH OUT MOV aRHER1,a#$BDDAT 001126 cMP #DCK!'HCRC,a#$BDDAT;HCRC AND DCK SHOULD BE SET 001124 042270 BEQ MOV MOV ERROR ’$ -BRANCH IF GOOD #DCK .HCR(C ,a#$GDDAT;GOOD DATA RTS RO 12%: 7%: 000200 TEST DATA :DCK IS SET BECAUSE ECC IS NOT READ SRHERY ,3#REGADR; FAILING REGISTER RHER1 27 JAFTER A CRC ERROR ON A READ ;:DCK AND HCRC SHOULD BE SET ;DCK IS SET BECAUSE ECC IS NCT READ JRETURN TO MAIN TEST ;*THIS IS A SUBROUTINE TO LEAVE AT ;*A WRITE HEADER AND DATA COMMAND THE MIDDLE OF ;*IT TRYS TO GET SECTOR 10, TRACK O, CYLINDER O ;*BUT COMES OUT AFTER ONE SECTOR ;*THE c*BAl 010046 010146 013777 012777 012777 012777 052777 012777 MIDDLE:: 002064 134546 177766 134532 002110 000010 000010 010000 134526 134530 134514 134520 COMMAND OS JSR PC,a#MIDDLE IS SET MOV MOV RO,-(SP) R1,-(SP) MOV MOV #-10. ,3RHWC H#WRFROM,aRHBA MoV MOV BIS MOV SNWRIFOR,3RHCST #10,3RHDST #BA] ,aRHCS2 #FMT22 ,aRHOF ;;PUSH RO ON STACK ;;PUSH R1 ON STA(K ;WRITE HEADER AND DATA=62 ;IN RHCST ;10 WORDS ;BUS ADDRESS=WRFROM ;DESIRED TRACK=0 SECTOR=10 ;BUS ADDRESS INCREMENT INHIBIT ;FORMAT 16 BIT WORDS CZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.P11 26=-JuL-78 10:10 8155 8156 8157 8158 8159 8160 8161 8162 8163 8164 8165 8166 8167 8168 8169 8170 8171 8172 8173 8174 8175 8176 8177 8178 8179 8180 8181 8182 8183 8184 8185 8186 8187 8188 8189 8190 8191 8192 8193 8194 8195 8196 8197 8198 8199 8200 8201 8202 8203 8204 8205 8206 8207 8208 8209 8210 045130 045134 045142 045150 045156 045162 045164 045166 045170 005077 012737 012777 052777 004137 000000 134516 000001 000001 000001 053552 115 27-JUL-78 12:41 PAGE 192 MACY11 30A(1052) CRC GENERATION ROUTINE (LR Mav 045162 134510 134462 MOV MID: 012601 012600 000207 BIS JSR WORD MOV g?g SEQ 0191 SEQ 0190 aRHCA 2CYLINDER=0 #DMD ,aRHMR sMIDDLE OF AN OPERATION sLOOKING FOR SECTOR 10 ;SET DIAGNOSTIC MODE #1,34MD #GO,aRHCS1 R1,3#SEARCH . O . (SP)+ ,R1 égP)+.R0 sSECTOR IS SET TO 1 SO THAT sWE CAN GET QUT AT THE ;GO TO RHCS1 WITH 62 :SECTOR s :POP STACK INTO R1 ;sPOP STACK INTO RO o k4 = .SBTTL JAM CURRENT CYLINDER ROUTINE ;*THIS SUBROUTINE WILL CHANGE THE CURRENT CYLINDER REGISTER :=THIS 1 S DONE BY GIVING A SEEK COMMAND THEN AN INIT 2*WHICH WILL LOAD THE CURRENT CYLINDER WITH THE DESIRED CYLINDER VALUE ° % txCALL I S t«JSR 2*XC 045172 045172 045174 045200 045206 045210 045214 045220 045226 045234 045242 045244 045246 045304 045306 045306 045310 010546 010037 162737 012005 : MAKECYL 002014 000004 002014 010577 005077 013777 012777 052777 000240 134436 134424 002072 000001 000001 134412 134424 134376 004737 017737 020537 001406 010537 013737 104030 042620 134414 001126 000240 000240 000240 012605 000200 001124 001676 RO, #MAKECYL ;DESIRED VALUE OF CURRENT CYLINDER MOV MOV suB MOV MOV R5,=(SP) RO,a#PCJSR #4 ,HPCJSR (RO) +,R5 R5,3RHCA ::PUSH R5 ON STACK ;PC OF JSR+4 sSAVE PC OF JSR :GETTING READY TO FILL DESIRED CYLINDER sFILL DESIRED CYLINDER REGISTER MOV Q#SEECOM,QRHCST ;FILL SEEK COMMAND CLR MOV BIS NOP NOP NOP NOP JSR MoV CMP BEQ MOV MoV ERROR 001126 042270 1%: £ MOV aARHDST o4 sMAKE SURE DESIRED SECTOR TRACK IS NOT ILLEGAL . 2SET DIAGNOSTIC MODL TM" ;GO TO SEEK sALLOW TIME FOR SEEK TO HANG UP ;ALLOW TIME FOR SEEK TO HANG UP ;ALLOW TIME FOR SEEK TO HANG UP ;sALLOW TIME FOR SEEK TO HANG UP PC,a#CLDISK sGIVE INIT aRHCC,a#$BDDAT ;TEST DATA RS ,a#$BDDAT s COMPARE CURRENT CYLINDER 1$ ,"sBRANCH IF GOOD RS ,a#$GDDAT :GOOD VALUE OF RHCC a#RHCC ,a#REGADR ;FAILING REGISTER ADDRESS 30 sCURRENT CYLINDER DOES NOT MATCH DESIRED CYLINDER ;REGISTER AFTER A SEEK AND AN INIT #DMD ,aRHMR #G0,3RHCST (SP)+,R5 :;POP STACK INTO RS RTS RO .SBTTL ECC GENERATION AND COMPARISON ROUTINE czl W4 CZRJIGCO,RPO4/S5/6 DSKLS CTRLR1 CZRJGC.P11 26-JUL-78 10:10 81 8212 8213 8214 8215 8216 8217 8218 8219 8220 8221 8222 8223 8224 8225 8226 8227 8228 8229 8230 8231 8232 8233 8234 8235 8236 8237 8238 8239 8240 8241 8242 8243 8244 8245 8246 8247 8248 8249 8250 8251 8252 8253 8254 8255 8256 8257 8258 8259 8260 8261 8262 8263 8265 8266 MACY11 J 15 12:41 PAGE 193 30A(1052) 27-JUL-78 ECC GENERATION AND COMPARISON ROUTINE ;*THIS SUBROUTINE GENERATES AND JSR PCECTEST cwCALL 100000 040000 020000 010000 004000 002000 001000 000400 000200 000100 000040 000020 000010 000004 000002 000001 100000 040000 020C00 010000 004000 002000 001000 000400 000200 000100 000040 000020 000010 000004 000002 000001 PIET PI1EZ2 =100000 =40000 PIE3 PIES PIES PIE6 PIE7 PIES PIE9 PIE10 PIET PIE12 PIE13 PIE1S PIE1S PIE16 =20000 =10000 =4000 =2000 =1000 =400 =200 =100 =40 =20 =10 = = =1 PIE18 PIET9 =40000 =20000 PIE2] =4000 PIE26 PIE2? PIEZ8 =100 =40 =20 PIET1?7 PIEZ20 PIEZ22 PI1E23 PIE2S4 PI1EZ2S5 PIEZ29 PIE30 PIEZ PIE3? TESTS ECC =100000 =10000 =2000 =1000 =400 =200 =10 = = =1 045312 000000 ECDATA: O ;DATA BIT FOR ECC 045314 000000 GECC1: O :ng ORDER ECC WORD TO BE GENERATED HERE 045316 000000 GECCZ2: O ;HASH ORDER ECC WORD TO BE GENERATED HERE 045320 000000 TSECCG: O ;IF =177777 GENERATE AND TEST ECC FOR THIS BIT ;IF -0 DO NOT GENERATE AND TEST ECC FOR THIS BIT ;1F ALL ONES THEN CURRENT BIT IS A ONE ;IF ZERO THEN CURRENT BIT IS A ZtRO SEQ 0192 SEQ 0191 (ZRJGCO,RPO4L/5/6 DSKLS CTRLR1 CZRIGC.P11 26-JUL-78 10:30 8267 8268 8269 8270 8271 8272 8273 045322 045324 045326 045330 045332 K 15 PAGE 194 12:41 MACY11 30A(1052) 27-JUL-78 ECC GENERATION AND COMPARISON ROUTINE NCODE: 113713 000000 000000 010041 NCOUNT: POSITI: HARDER: 38859. :N=-CODE WORD O O 4129. : TEMPORARY N CODE ;POSITION REGISTER :HARD ERROR COUNT :TRUE COUNT S 4128 BUT AS (OMPARES ARE :DONE ONE STAGE LATER SO 4129 :DATA ENVELOPE FOR TYPE OUT :MAX FOR WRITE IS 4096 DATENV: O 000000 000000 JCODE: 045336 045340 045342 045344 045346 000000 000000 000000 000000 000000 HéDTMP: 8 045350 045350 045352 045354 045356 045360 045362 045364 045370 045374 045400 010046 010146 010246 010346 010446 010546 013701 013702 005737 001406 P3: P12: p2e: P24 : ECTEST: : TEMPORARY HARD ERROR COUNT 0 0 0 MOV MOV RO,-(SP) R1,-(SP) ;:PUSH RO ON STACK ;:PUSH R1 ON STACK MOV R4 ,-(SP) ;:PUSH R4 ON STACK MOV MOV MOV MOV MOV TST 045314 045316 045312 ;MAX FOR READ IS 4128 :LEADING ZEROS ENVELOPE FOR TYPE OUT :THIS IS SHUT OFF WHEN POSITION COUNTER ; IN ENABLED :MAX COUNT S 38859 O 045334 BEQ R2.-(SP) R3,-(SP) RS ,-(SP) a#GECCT R Q¥GECC2.R2 a#ECDATA 2% ::PUSH R2 ON STACK ;:PUSH R3 ON STACK ;:;PUSH R5 ON STACK ;ECCT WORD JECC2 WORD ;1S CURRENT BIT A ONE ;«]F CARRY IS NCT ZERO THEN D=1 ;*INVERT X32 TO GIVE RO 045402 045404 045410 045412 045414 8322 010103 052703 005103 010300 000404 045416 045420 045424 010103 042703 010300 045426 045430 045432 000241 006000 006000 177776 1%: MOV R1,R3 MoV R3.RO 81S coM BR 177776 2%: 3%: SEQ 0193 SEQ 0192 #°CPIE32,R3 R3 3% ;*]F CARRY IS ZERO THEN D=0 ;*xX32 BECOMES RO MOV BIC MOV cLc ROR ROR R1,R3 #~CPIE32.R3 R3.RO RO RO ;BRANCH IF CURRENT DATA D=0 czi czl 8353 8354 8355 8356 8357 8358 8359 8360 8361 8362 137777 045340 045340 8373 8374 8375 8376 8377 8378 ASR P AR P NP3 P R2,R3 #~CPIE2,R3 R3 R3,a#P3 ;*INVERT Xx21 010103 052703 005103 010337 006237 173777 045344 045344 MOV BIS coM MOV ASR R1,R3 #~CPIE21,R3 R3 R3,a#P22 P22 S S B A e 045500 045502 045506 045510 045514 s M R3,a#P12 P12 e MOV ASR RZ,R3 #~CPIE11,R3 R3 s 045342 045342 MOV BIS oM e 177737 e 010203 052703 005103 010337 006237 e 045460 045462 045466 045470 045474 S S s*INVERT X1 ;*INVERT X23 045520 045522 045526 045530 045534 010103 052703 005103 010337 006237 176777 045346 045346 MOV BIS COM MOV ASR R1,R3 ,R3 #~CPIE23 R3 R3,a#P24 P24 :'NOU THAT RO FOR POSITION 1 ; P3 FOR POSITION 3 3' i P P12 FOR POSITION 12 P22 FOR POSITION 22 P24 FOR POSITION 24 ;*ARE KNOWN THE ROTATE WILL BE DONE AND ;*THESE BITS JAMED IN 8363 8364 8365 8366 8367 8368 8369 8370 8371 8372 MOV BIS coM MOV ;BRANCH IF RO=0 i, P, P, Save. P 010203 052703 005103 010337 006237 RO S, 045440 045442 045446 045450 045454 TST BEQ 108 s *INVERT X2 CZF czt S 005700 001462 SEQ 0193 045540 045542 045544 045550 045554 045560 006002 006001 053700 053700 042702 050002 005000 053700 053700 042701 050001 000404 ROR ROR R2 R1 CLR RO 045340 045342 BIS BIS BIC 8IS 045344 045346 002400 8IS 8IS BIC BIS BR 120020 MP3,R0 a4P12,RO #PIETTPIE3!IPIE12.R2 RO,R2 a#P22 R0 P24 RO R #PIE22!PIE24L RO,R1 12% e 8345 8346 8347 8348 8349 8350 8351 8352 045434 045436 SEQ 0194 A 8323 8324 8325 8326 8327 8328 8329 8330 8331 8332 8333 8334 8335 8336 8337 8338 8339 8340 8341 8342 8343 8344 L 15 PAGE 195 27-JUL-78 12:41 MACY11 30A(1052) ECC GENERATION AND COMPARISON ROUTINE S CZRJIGCO ,RPO4/5/6 DSKLS CTRLR1 CZRJGC P11 26=-JUL-78 10:10 (2RJIGCO,RPO4/S/6 DSKLS CTRLR 1 CZRJGC.P11 26-JUL-78 10:1 0 MACY11 8379 8380 8381 8382 8383 8384 8385 8386 8387 8388 8389 8390 83N 8392 8393 8394 8395 8396 8397 8398 8399 8400 8401 8402 8403 8404 8405 8406 8407 8408 8409 8410 8411 8412 8413 8414 8415 ) 15 ;*THE PROGRAM [OMES HERE IF RO=0 :*SO AFTER ROTATE RO GETS PUT INTO POSITION ° 045604 045610 045614 045620 045624 006002 006001 062702 010137 010237 005737 045630 001632 045632 045640 045642 045650 045652 032777 001005 032777 001401 000421 108 : 100000 045314 045316 045320 TST 000400 133300 000100 133270 010146 0462716 022677 001404 174000 134004 045670 045674 045676 045700 045706 004737 042224 045710 045714 004737 104035 000407 023777 001403 BIC MOV MOV BEQ 045654 0465656 045662 045666 104035 12%: ROR ROR 045326 s *(HECK HARDWARE a#TSECCG 148 BIT ASW6,aSWR BEQ B8R 13%: R2,a#GEC(?2 #SW8,aSWR 15% 15% 14% R1,=-(SP) MOV #1764000, (SP) BIC MP (SP)+ ,aRHE(C?2 138 BEQ ;»TO SAVE TIME ;SAVE ECC2 ;1S HARDWARE TO BE CHECKED JIF =1777777 TEST HARDWARE :IF = 0 DO NOT TEST HARDWARE JBRANCH [F HARDWARE NOT TO BE JSWITCH 6 IS SET THEN ;DO NOT DO COMPARES ;GOOD PATTERN REGISTER ;GET ONLY PATTERN BITS ;COMPARE PATTERN REGISTER ;BRANCH IF GOOD ;SAVE REGISTERS B8R 148 ;BRANCH OUT ,aRHECT a#POSIT] ;COMPARE POISTION REGISTER P BEQ 35 JSR ERROR (HECKED ;IS SWITCH 8 SET JBRANCH [F SW8 [S SET ;1S SWITCH 6 SET sJBRANCH [F Swé IS NOT SET JIF SWITCH 8 IS NOT SET AND PC,a#PUTREG JPATTERN REGISTER IN 11 BITS IN ERROR 149 ;BRANCH IF GOOD PC.,a#PUTREG ;SAVE REGISTERS JPOSITION REGISTER IN ERROR ;"DATA ENVLOP'' GIVES NUMBER OF (CLOCK ;JPULSES FROM BEGINING OF COMMAND ;=TO SAVE TIME 042224 ;SAVE ECCH JSR ERROR 133762 #PIET,R2 R1,a#GECC) 8IT BNE 15%: R2 R1 35 8416 8417 8418 8419 8420 8421 8422 8423 8424 8425 8426 8427 8428 8429 8430 8431 8432 8433 8434 SEQ 0195 SEQ 0194 PAGE 196 27=-JUL-78 12:41 ECC GENERATION AND COMPARISON ROUTINE 30A(1052) ;THAT IS THE CLOCKS IN THE R/W DATA FIELD ENVELOPE "IN A WRITE THERE ARE 10000 OCTAL CLOCKS "IN A READ THERE ARE 10040 OCTAL CLOCKS L'N~-CODE ZEROS'' GIVE THE NUMBER OF CLOCKS * GIVEN FOR THE LEADING ZEROS FIELD *MAX COUNT IS 113713 OCTAL 1'GOOD POSITION'® GIVES NUMBER OF CLOCKS :gfgfg AFTER LEADING ZEROS WHICH IS FOR THE DATA 'MAX COUNT IS 10040 OR 10041 OCTAL 04645716 045716 012605 14%: MOV (SP)+,RS ;;POP STACK INTO RS CZF CZF 8435 8436 8437 8438 8439 8440 045720 045722 045724 045726 045730 045732 012604 012603 012602 012601 012600 000207 N 15 PAGE 197 12:41 2) -78 30A(105 27-JUL= MACY11 ECC GENERATION AND COMPARISON ROUTINE MOV y10)% MOV MOV MOV RTS (SP)+ R4 N3 (SP)+, (SP)+,R?2 (SP)+,R1 (SP)+,R0 PC ::POP STACK ;. JPOP STACK SEQ 0196 SEQ 0195 INTO R4 INTO R3 .. POP STACK INTO R2 . .POP STACK INTO R1 . sPOP STACK INTO RO -1¢h*"“cafiunl!lr'Rt_—-xC\’"“cjrwu:z:Br'flc.—-zcnflumcjrwuzz:3r‘xc_—-z¢n~wncprwuLz:lr'flc_—qzcwflrncyrun (ZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.P1 26=JuUL-78 10:170 CZRJIGCC,RPO4/5/6 DSKLS CTRLRI CZRJIGC P11 26-JuL-78 10:10 B 16 8441 8442 ;*THIS SUBROUTINE WILL CONTROL THE £CC GENERATION ROUTINE 8443 8444 8445 8446 8447 8448 8449 8450 8451 8452 8453 8454 8455 8456 8457 8458 8459 8460 8461 8462 8463 8464 8465 8466 8467 8468 8469 8470 8471 8472 8473 8474 8475 8476 8477 8478 8479 8480 8481 8482 8483 8484 8485 8486 8487 8488 8489 8490 8491 8492 8493 8494 8495 8496 SEQ 0197 SEQ 0196 MACY11 30A(1052) 27-JuL-78 12:41 PAGE 198 ECC GENERATION AND COMPARISON ROUTINE ;*FOR ERROR (ORRECTION PROCESS ERPOS: O ECGRR: MOV SuB RO,a#PCJSR ¥4 ,a¥PCJSR MOV CLR A#DMD ,aR1 a#ECDATA 000000 045736 045742 045750 045754 045756 045762 045766 010037 045772 045776 046000 046004 046006 046010 046014 005737 001007 005337 000403 005237 000420 045334 6%: 046016 046022 046030 046032 005237 023737 045326 045734 045326 2%: 045336 045326 046040 046042 046046 001415 032711 001016 000400 046050 046054 004737 042224 046056 046062 046066 046072 052711 042711 004737 000737 012037 010146 013701 012711 005037 001001 103012 023737 104034 002014 000004 045734 002014 MOV MOV MOV 001660 000001 045312 1$: 045326 045324 000002 000002 045350 PC.,a#ECORR JEXPECTED POSITION REGiSTER WHEN CORRECTION IS COMPLETE XP 045734 162737 JSR, ;*CALL ; ;POSITION REG. WHEN CORRECTION IS COMPLETE (RO)+ a#tRPOS R1,=(S¢ aRHMR , R1 ;GET POSITION REG. WHEN CORRECTION IS COMPLETE ;:PUSH R1 ON STA(CK JMAIMTENANCE REGISTER TST a#POSITI ;1S INC a#P0SIT] BEQ BIT BNE 5% #ZER,aR1 4% ;THAT IS HAVE 4128 MORE CLOCKS BEEN GIVEN :BRANCH IF YES ;CHECK ZERO DETECT BIT IN RHMR ;BRANCH IS ZER SET JSR ERROR PC.,a#PUTREG 24 ;SAVE REGISTERS ;ZERO DETECT BIT NOT HIGH BIS BIC JSR BR AMCLK ,aR1 AMCLK ,aR1 PC,a#ECTEST 1% ;SET CLOCK ;CLEAR (LOCK ;GO TO GENERATE AND TEST ECC ; CONT INUE BNE DEC BNE 8R INC BR CMP BHIS MP 2% a#NCOUNT 53 2% a#ZCODE 3% ;SET DIAGNOSTIC MODE BIT ;ECC DATA IS ZERO SOFTWARE POSITION NON ZERO JBRANCH IF N-CODE S COMPLETE :DECREMENT N-CODE ;BRANCH IF N-CODE IS NOT COMPLETE ;BRANCH AS N-CODE IS COMPLETE ; INCREMENT CLOCKS GIVEN FOR LEADING ZEROS ;BRANCH AS N-CODE IS NOT COMPLETE ;GO TO GIVE CLOCK AND TEST ECC ; INCREMENT SOF TWARE POSITION SHERPOS ,a#POSIT] ;HAVE ENOUGH CLOCKS BEEN GIVEN TO DETECT ERROR 3% ;BRANCH IF MORE CLOCKS TO BE GIVEN A#HADTMP ,a#POSITI HAVE ENOUGH CLOCKS BEEN GIVEN FOR HARD ERROR ;*TO SAVE 3%: JSAVE PC OF JSR + & ;SAVE PC OF JSR TIME :WHEN 21 BITS IN ECC 32 BIT REGISTER IS ;*THIS EXTRA CLOCK IS TO BRING ECH HIGH ;*AFTER THIS CLOCK POSITION REGISTER MAY BE 10040 OR 10041 OCTAL 046074 046100 052711 042711 00000 000002 5%: BIS BIC #MCLK ,aR1 AMCLK,aR1 JSET CLOCK ;CLEAR CLOCK O CZRJIGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.P11 26-JuL~78 10:70 8497 8498 8499 8500 8501 8502 8503 8504 8505 8506 8507 8508 8509 8510 8511 8512 8513 8514 8515 8516 8517 8518 8519 8520 8521 8522 8523 8524 8525 8526 8527 8528 8529 8530 8531 8532 8533 8534 8535 8536 8537 8538 8539 8540 8541 8542 8543 8544 8545 8546 8547 8548 8549 8550 8551 8552 046104 046104 046106 MACY11 C 16 PAGE 199 12:41 30A(1052) 27-JUL-78 ECC GENERATION AND COMPARISON ROUTINE (%: 012601 000200 MOV RTS (SP)+.,M1 RO SEQ 0198 SEQ 0197 ::POP STACK INTO R1 ;*THIS SUBROUTINE GENERATES THE ECC FOR WHAT IS ON DISK AND INSERTS THEM ;*ON LOCATIONS "DISK+1000°* AND 'DISK+1002"’ 046110 046110 046112 046114 046116 046120 046122 046124 046130 046134 046140 046144 046150 046154 046156 046160 046162 046170 046172 046176 046202 046204 046206 046210 046212 046220 046226 046230 046232 046234 046236 046240 046242 010046 010146 010246 010346 010446 010546 005037 005037 005037 012701 012702 012703 012104 006004 103004 012737 000402 005037 004737 005303 001364 005302 001357 013737 013737 012605 012604 012603 012602 FILLEC: MOov RO,~-(SP) :;PUSH RO ON STACK MOV MOV MOV R3,~-(SP) R4 ,~-(SP) RS5,-(SP) ;:PUSH R3 ON STACK ::PUSH R4 ON STACK ;2PUSH RS ON STACK MOV MOV 045326 045314 045316 051422 000400 000020 177777 CLR CLR CLR MOV 9% : 045314 045316 10%: MOV ROR 11%: 12%: CLR JSR 045312 045312 045350 MOV MOV BCC MOV BR DEC BNE DEC BNE MOV MOV MOV MOV 052422 052424 M S a#POSITI a#GECCT a#GECC?2 #D]ISK ,R1 #256. ,R2 #16. ,R3 (R1)+,R4 R4 11% #-1,a#ECDATA 12% a#ECDATA PC,a#ECTEST R3 108 ;:PUSH R1 ON STACK :2PUSH R2 ON STACK ;CLEAR POSITION ;CLEAR GECCI ;CLEAR ;POINTER TO DATA FOR ECC GENERATION ;COUNTER FOR NUMBER OF DATA WORDS :COUNTER FOR NUMBER OF BITS PER WORD ;DATA IN R4 ;GET ONE DATA BIT IN CARRY ;BRANCH IF DATA BIT IS ZERO JECC DATA BIT IS A ONE ;BRANCH TO GENERATE ECC JECC DATA BIT IS A ZERO ;GO TO GENERATE ECC :DECREMENT BIT COUNT ;BRANCH IF 16 BITS NOT DONE R?2 ;DECREMENT WORD COUNT 9 :BRANCH IF 256 WORDS NOT DONE A#GECCT ,aoDISK+<256.%2>; INSERT ECC1 ON DISK GHGECC2,aNDISK+<257.%2>; INSERT ECC2 ON DISK (SP)+,R5 ;;POP STACK INTO RS MOV MOV g?g (SP)+ R4 (SP)+,R3 (SP)+,R2 (SP)+ ,R1 égP)*,RO .SBTTL RH BASE ADDRESS CHANGE ROUTINE Mov 012601 012600 000207 R1,-(SP) R2,-(SP) ;.POP :;POP ;;POP ;;POP :;POP STACK STACK STACK STACK STACK INTO INTO INTO INTO INTO R4 R3 R2 R1 RO THIS ROUTINE WILL ALLOW THE CHANGE OF THE BASE ADDRESS FROM 176700 TO ANY TYPED VALUE C(ZRJIGCO,RPO4/S5/6 DSKLS CTRLRY CZRJGC.PT1 26-4uUL~-78 10:10 8553 8554 8555 8556 8557 8558 046244 066244 046250 0a6324 046330 046332 046336 046412 046416 046420 046424 046430 046436 046442 046444 046450 046454 046456 046460 046462 046462 046466 046526 046532 046534 046540 046540 046642 046646 046652 046710 046714 046716 046722 046760 046764 046766 046772 047032 047036 047044 047050 047122 047126 047204 047210 047212 047216 047224 047230 047230 047234 047306 047310 104401 000425 013746 104402 104401 000425 004737 104412 012700 012701 012737 021637 001407 005776 163716 061620 000417 013746 104402 104401 000437 104412 012€37 104401 000416 013746 104402 104401 000416 013746 104402 104401 000417 001640 000000 001640 1%: ADD DEC BNE ::TYPE ASCIZ STRING ;;GET OVER THE ASCIZ CINITIALIZE THE TTY KEYBOARD PC,a#STKINT #RHDB ,RO #22. ,R1 #ADTIMO,a#é dSP,#RHCS1T 18 a0 (SP) @#RHCS1,aSP aSP, (RO) + R1 2% ;GET STARTING ADDRESS OF REGISTERS JNUMBER OF REGISTERS ;JSET UP TO CHECK NEW ADDRESS ;NEW (SR? sNO-SKIP NEXT ;JACCESS THE NEW ADDRESS ;GET THE ADDRESS OFFSET JAND PLUG IT IN ;DONE ALL OF THEM YET? JNOT YET, SO DO MORE 046542 .71% 70% ;:TYPE ASCIZ STRING ;:GET OVER THE ASCIZ 001626 046654 (SP)+ ,#RPVE( :SETUP VECTOR ADDRESS ::TYPE ASCIZ STRING .73% 72% a#RHCS1,-~(SP) 001640 046724 001626 046774 047130 104401 000424 022626 000137 2%: CMP BEQ TST SuB 663 :;GET OVER THE ASCIZ :GET READY TC TYPE OLD BASE a#RPVEC,-(SP) 104401 000402 000137 MOV 2 TYPE ASCIZ STRING 001626 047052 104402 104401 000004 ,65% 648 @¥RHCST,=(5P) ;:TYPE ASCIZ STRING ;.GET OVER THE ASCIZ ;GET READY TO TYPE OLD VECTOR ADDRESS 104401 000426 012746 RDOCT MoV MOV sfa 0199 SEQ 0198 12:41 .69% 68$ 046470 047040 000424 TYPE BR MOV JSR 055176 001630 000026 047230 001640 27-JuL-78 TYPOC TYPE BR 046340 104401 000402 D 16 PAGE 200 RH BASE ADDRESS CHANGE ROUTINE 30A(1052) BASE(CH: 045252 005301 001375 104401 MACY11 047236 046244 ;:TYPE ASCIZ STRING ;;GET OVER THE ASCIZ /7% 76% .79% ::TYPE ASCIZ STRING .83% 82% #RA,=(SP) 047220 004240 .75 74% S¥RPVEC ,~(SP) 78% .81% 80% 000200 ADTIMO: ::GET OVER THE ASCIZ ;:GET OVER THE ASCIZ ;s TYPE ASCIZ STRING ;:GET OVER THE ASCIZ :;TYPE ASCIZ STRING ::GET OVER THE AST]2 ;:TYPE ASCIZ STRING :;GET OVER THE ASCIZ .85% 84S a#BEGIN ;s TYPE ASCIZ STRING ::GET OVER THE ASCIZ ;0K, NOW START OVER WITH NEW ADDRESS ,65% ;. TYPE ASCIZ STRING (SP)+,(SP)+ CH SHMRASE JRESTORE THE STACK JAND DO IT AGAIN. 648 :.GET OVER THE ASCIZ CZRJIGCO ,RPO4/5/6 DSKLS CTRLRI CZRJGC.P11 26-JuUL-78 10:10 MACY11 30A(1052) 27-JUL-78 E 16 12-41 FPAGE 201 SEQ 0200 SEQ 0199 RH BASE ADDRESS MHANGE ROUTINE 8609 8610 8611 8612 8613 8614 8615 8616 8617 8618 8619 8620 8621 8622 8623 R624 ;*THIS IS A LITTLE ROUTINE THAT TESTS NED BIT 11 ;*THIS LOOPS HERE FOR EVER IN RH(CSZ ;*T0 BE USED ONLY IF DRIVES PRESENT LOOKING AT NED DOES NOT AGREE 047314 047316 047322 047326 047330 047334 047336 047340 000000 004737 013712 005714 032712 001401 000773 000772 ;*WITH WHAT 042620 047314 010000 ERUNIT: O ERSTART:USR 1%: 2%: MOV TST BIT BEQ BR BR [S REALY THERE PC,a#CLDISK S¥ERUNIT ,aR2 R4 #NED ,aR2 2% 1% 1% JUNIT UNDER MANUAL TEST ;SET GENERAL REG. sSELECT UNIT ;TEST RHER1 sTEST NED ;BRANCH [F GOOD JNED NCT JNED SET SET SEQ 0201 SEQ 0200 PAGE 202 ;*WCLY=WITH CYLINDER TO BE ON DISK THE FOLLOWING ;*WSECTR=WITH SECTOR AND TRACK TO BE ON DISK ;J*WKEY1= WITH KEY1 TC BE ON DISK ;*WKEY2= WITH KEYZ2 TO BE ON D]SK ;*FNWORD= NO OF DATA WORDS TO BE WRITTEN ON DISK ;*THE COMMAND THEN IS JSR PC,COMWHD * bl i bR ;*IN A WRITE DATA COMMAND FILL THE FOLLOWING ;*CYL=WITH CYLINDER TO BE FOUND ON D]SK ;*SECOTR= WITH SECTOR AND TRACK TO BE FOUND ON DISK J*KEY1= WITH KEY1 TO BE FOUND ON DISK ;*KEY2= WITH KEY2 TO BE FOUND ON DISK MUST BE ONE ;*X= 1 ;*NOWORD= WITH NUMBER OF DATA WORDS TO BE WRITTEN ;*THE COMMAND THEN IS JSR PC,COMHD * » * % » . ) 4 ;*IN A READ HEADER AND DATA COMMAND FILL THE FOLLOWING ;+CYL= WITH CYLINDER TO BE FOUND ON DISK ;*SECOTR= WITH SECTOR AND TRACK TO BE FOUND ON DISK ;*KEY1= WITH KEY1 TO BE FOUND ON DISK ;*KEY2=WITH KEY2 TO BE FOUND ON DISK ;*DAWORD= WITH NUMBER OF WORDS TO BE FOUND ON DISK ;*;X=0 MUST BE ZERO BB % X% TR IS JSR PC,COMHD X N THEN B I I COMMAND % AT ;*THE B 8640 8641 8642 8643 8644 16 DISK SIMULATION .SBTTL ;*IN A WRITE HEADER AND DATA COMMAND FILL I 8632 8633 8634 8635 8636 8637 8638 8639 12:41 ® 8630 8631 F 27-JuL-78 RH BASE ADDPESS CHANGE ROUTINE R 8625 8626 8627 8628 8629 MACY11 30A(1052) %* C(ZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.P11 26-JUL~78 10:10 ;*IN A READ DATA COMMAND FILL THE FOLLOWING ;*CYL= WITH CYLINDER TO BE FOUND ON DISK ;*SECOTR= WITH SECTOR AND TRACK TO BE FOUND ON DISK ;*KEY1= WITH KEY1 TO BE FOUND ON D]SK ;*KEY2=WITH KEY2 TO BE FOUND ON DISK ;*DAWORD= WITH NUMBER OF WORDS TO BE FOUND ON DISK ;%X 0 MUST BE ZERO ;*THE 1 COMMAND THEN IS JSR PC,COMHD CZRJIGCN ,RPOL/S5/6 DSKLS CTRLRI CZRJGC.P11 26-JuL-78 10:10 MACY11 30A(1052) G 16 27-JUL~78 12:41 DISK SIMULATION SEQ 0202 SEQ 0201 PAGE 203 8679 8¢80 8681 8682 8683 8684 8685 ;*WRITE DATA COMMAND ;*OR READ (OMMAND I.E DATA ONLY OR HEADER AND DATA ;**THIS SUBROUTINE IS THE FIRST IN A SERIES OF NESTED SUBROUTINES ;**]T ISSURE DIAGNOSTIC MODE, AN EXTRA DIAGNOSTIC INDEX, AND THE ;**'GO’ 8IT ;**]T THEN CALL THREE OTHER SUBROUTINES, WHICH IN TURN CALL OTHER ;**SUBROUTINES. * NN . . RUNCTR: : COMHD MOV . [ . 2 R 2 4 047342 047344 047350 047356 047360 047362 047364 047366 047370 000000 011637 162737 010046 010146 010246 010346 010446 010546 047372 047400 047406 047414 012777 052777 042777 052777 000001 000004 000004 000001 132260 132252 132244 132216 MOV 047422 012737 000113 047342 : MOV RUNWAT #75. ,8#RUNCTP 047430 0676434 001375 005337 047342 1%: a#RUNCTR 013746 042716 012657 004137 047506 0467436 8734 ARE: SEARCH RDHEAD WRDATA REDATA * AN THESE 047442 047446 047452 002014 000004 002014 . WORD SUB MOV MOV MoV MOV MOV MOV 177740 047456 053552 BIS BIC BIS DEC BNE MOV BI1C 10} JSR 0 (SP) ,a#PCJSR :SAVE PC OF RO,~(SP) R1,-(SP) R2,-(SP) ;:PUSH RO ON STACK ;:PUSH R1 ON STACK ;sPUSH R2 ON STACK #, ,a#PCJSR R3.-(SP) R4 ,-(SP) RS5.,~-(SP) #DMD ,aRHMR #MINX, 3R MR MMINX , 3RHMR #GO,aRH(ST 1% SECOTR, -(SP) 8177740, (SP) (SP)+, a#TRK R1,a#SEARCH ;SAVE PC OF JSR + & JSR :;PUSH R3 ON STACK ;:PUSH R4 ON STACK ;;PUSH RS ON STACK ;SET DIAGNOSTIC MODE JSET DIAGNOSTIC INDEX ;CLEAR DIAGNOSTIC INDEX ;ISSUE °'GO' BIT & STALL ‘TILL 'RUN’ J(FUNCTION CODE IS ISSUED BY THE TEST) :LOAD STALL COUNT = APPROX. 450uUS ;FOR 11/50 CPU WITH CORE MEMORY ;COUNT DOWN ONE sCONTINUE UNTIL = 0 ;GET DESIRED SECTOR/TRA(CK JMAKE ONLY SECTOR ;SAVE SECTOR JISSUE SECTOR CLOCKS C===============- C(ZRJGCO,RPOL/S5/6 DSKLS CTRLR! CZRJGC.PI1 26-JuUL-78 10:70 8741 8742 8743 8744 8745 8746 8747 8748 8749 8750 8751 8752 8753 8754 8755 8756 8757 8758 8759 8760 8761 8762 8763 047456 047460 047464 047470 047474 047500 000000 012701 010137 010137 010137 004137 30A(1052) 27-JuL-78 DISK SIMULATION TRK: 000¢40 047516 047520 047522 047626 .WORD MOV MOV MOV MOV JSR H 16 12:41 0 SEQ 0203 SEQ 0202 PAGE 204 #+NOP, N1 :GOING TO MOVE R1,a#HEDGAP R1,’#HEDSYN ;NOP INTO HEDGAP NOP INTO HEDSYN R1,a4#SSYN R1,a#RDHEAD ;JNOP INTO SSYN NOPS s *DUMMY ERROR CALL LOCATIONS FOR THE READ HEADER OPERATION 047504 047506 047510 047512 047514 000000 000000 000000 000000 000000 047516 00024C cyL: SFCOTR: X: .WORD .WORD .WORD .WORD .WORD SSYN: NOP KEY1: KEY2: OOOOO 8735 8736 8737 8738 8739 8740 MACY11 ;CYLINDER ADDRESS ;SECTOR/TRACK ADDRESS ;KEY1 WORD ;KEYZ WORD ;X=1 WRITE COMMAND :X=0 READ COMMAND ;IF "ERROR 2°'' INSERTED BY RDHEAD ;SUBROUTINE THEN THE FIRST SYNC. NO BAD DATA ;1S NOT DETECTED. ;1S GIVEN BECAUSE SYN(C=144000 WORD NO ;CANNOT BE READ. ;IS ""1°" BECAUSE THIS IS THE FIRST ;wORD 047520 000240 HEDGAP: TESTED ;IF "ERROR 3'' INSERTED BY NOP ;RDHEAD SUBROUTINE THEN THE JHEADER GAP 0'S WERE NOT JWRITTEN RIGHT. 8764 ;1F 8766 JWORD OF A 5 WORD HEADER 8767 8768 8769 8770 8771 8772 8773 8774 8775 8776 8777 8778 8779 8780 8781 8782 8783 8784 8785 8786 8787 8788 8789 8790 "WORD NO'' CONTAINS, ;3(8), 8765 SAY THEN IT IS THE THIRD ;GAP THAT IS WRONG ."BAD DATA'' CONTAINS WHAT S ;GOING ON THE DISK 047522 000240 HEDSYN: :IF "ERROR 3'' INSERTED BY RDHEAD NOP :SUBROUTINE THEN THE HEADER SYNC. :GENERATED BY DCL IS WRONG ;OR THE LAST BYTE :OF THE HEADER GAP 0°'S IS WRONG :IN EITHER CASE WORD NO=6 ;RIGHT BYTE IS HEADER 0 SLEFT BYTE IS SYNC ;'BAD DATA'' HAS WHAT IS GOING :ON DISK 047524 047530 047532 047536 047540 047544 005737 001017 005737 001410 005737 001011 002006 047514 047620 TST BNE TST BEQ TST BNE A#ERFLGS ouT a4 X DAREAD a#NOSYNC out ;ARE ANY ERRORS DETECTED JIF YES, EX]T ==mese—ce—ce—eee——- > ;IS IT A DATA WRITE ? sNO...THEN DO A DATA READ ;1S THIS FORCED HEADER ERROR COMMAND ;1IF YES NOSYNC=-1 THEN WRITE OR READ ;1S SHUT OFF SO BRANCH OUT sIF NOSYNC O THEN CONTINUE JEXIT IF SET =eseeeccecmeenemee—ee > (ZRJGCO,RPO4/5/6 DSKLS CTRLR] CZRJGC P11 26-JuL-78 10:°0 8791 879¢ 8793 8794 8795 8796 8797 8798 8799 047546 004137 047552 047554 047556 000000 000000 000404 047560 047564 047566 047570 047570 047572 047574 067576 047600 004137 000000 000000 0467602 047604 012605 012604 012603 012602 012601 012600 000207 MACY11 30A(1052) 27=JUL=78 DISK SIMULATION 051072 : NOWORD Y: 054026 [ 16 12:41 PAGE 205 JSR R1,a#WIDATA JWRITE DATA < .WORD .WORD BR 0 0 ourt cNO OF WORDS TO BE WRITTEN R1,a#REDATA ;READ DATA (o==mmem=cmmceccceeaaan ;NO OF WORDS TO BE READ MOV MOV MOV MOV MOV MOV (SP) + RS : :POP STACK RTS PC DAREAD: JSR DAWORD: -WORD .WORD ouT: 0 0 (SP)+ R4 (SP)+ ,R3 (SP)+,R2 (SP)+ R1 (SP)+ RO INTO RS . . POP STACK [NTO R4 ;. POP STACK INTO k3 . ;POP STACK INTO R2 ;POP STACK INTO R1 : ;POP STACK INTO RO JEXIT ROUT INE SEQ 0204 SEQ 0203 (ZRJGCO,RPOL/5/6 DSKLS CTRLR] CZRJGC.P1T 26-0UL-78 10:70 8809 8810 8811 8812 8813 8814 8815 8816 8817 8818 8819 8820 8821 8822 8823 8824 8825 8826 8827 88.8 8829 8830 8831 8832 MACYT1 30A(1052) 27-JUL-78 DISK SIMULATION ;*THE DISK SECTOR J 16 12:41 1S DCVIDED AS ;*19 WORDS OF O, ONE WORD 144000 FOLLOWS ;*THESE MAKE 39 BYTES FOR SECTOR GAP AND ONE 04760€ 047610 047612 047614 0647616 014400 000000 000000 0C0000 000000 RSYNC: RCYL: RSETR: RKEY1: RKEYZ: SEQ 0205 SEQ 0204 PAGE 206 SYNC. BYTE 1 0 O O O ;%5 WORDS OF 0 ONE WORD 144000 ;*THESE MAKE 11 BYTES FOR HEADER GAP AND ONE ;*THESE ARE DCL GENERATED ;*THERE ARE 256 WORDS OF DATA SYNC. ;*THERE ARE 2 WORDS FOR ECC GENERATED BY DCL ;=15 WORDS OF O FOR DATA GAP AND TOLERANCE GAP BYTE CZRJGCO,RPO4/5/6 DSKLS CTRLR] CZRJGC.P11 26-JuL-78 10:10 MACYT1 30A(1052) 27-JUuL-78 DISK SIMULATION K 16 12:41 SEQ 0206 SEQ 0205 PAGE 207 8833 ; *READ DISK HEADER 000000 : NOSYNC( 047622 047624 000000 000000 TY: 047626 04763 047636 047642 047646 047652 047654 047660 047664 047670 047674 047700 047704 047706 047712 047716 047722 047726 012137 012137 012137 012137 012137 010146 013700 012705 012710 052710 052710 042710 000404 012710 042710 012702 052710 042710 047732 047734 047736 047740 047742 047746 047752 047756 047760 047762 047770 047774 050000 050002 050010 050016 050024 050026 050034 050040 005302 001372 005305 001362 012702 005037 004737 005302 001372 013737 004737 032710 001012 012737 013737 012737 000571 013737 004737 013737 ERWORD: :FORCED HEADER ERROR - =1 RDHEAD: MOV MOV MOV MOV 047610 047612 047614 047616 050416 MOV MOV MOV MOV MOV 001660 000002 000001 000010 000002 000012 000013 000012 000007 1%: 2%: 3%: 000002 000002 000022 050414 050420 4% 047606 050420 001000 050414 000001 047606 104002 047624 001124 047516 047610 050420 047612 050414 050414 BIS BIS BIC BR MOV 81C MOV BIS 8IC DEC BNE DEC BNE MoV CLR JSR DEC MOV JSR BIT 5%: JNORMAL = 0 ;ERROR TYPE NO. (@Y )] 047620 MOV MOV MoV BR MOV JSR MOV ;ERROR WORD NO. (R1)+, (R1)+, (R1)+, (R1)+, a#RCYL ;STORE CYLINDER ADDRESS Qa#RSETR ;STORE SECTOR AND TRACK ADDRESS a#RKEY] ;STORE KEY1 a#RKEYZ2 ;STORE KEY2 (R1)+, a#COMPA ;STORE (OMPARE OR NOT R1,-(SP) ;.PUSH R1 ON STA(CK ;RO CONTAINS MAINTANENCE REG. MRHMR, RO #e, RS ;RS IS A COUNTER FOR WORDS #DMD, aRO :DIAG. MODE AMSTCK ,aR0 ;SET SECTOR FOR FIRST WORD #MCLK ,aR0 ;SET CLOCK FOR FIRST WORD SQSTCK!MCLK.BRO SJRESET SECTOR AND CLOCK :BRANCH OVER GIVING SECTOR FOR FIRST TIME AMSTCK !MCLK !DMD,3R0; SET SECTOR, CLOCK, DIAG. MODE, RESET AMSTCK 'MCLK,aR0 JRESET SECTOR, CLOCK #7, R2 ;R2 IS A COUNTER FOR BYTES #MCLK, aRO :SET CLOCK #MCLK, aRO JRESET CLOCK R2 ;BYTE COUNTER 3$ :BRANCH IF BYTE NOT COMPLETE RS ;WORD COUNTER 1% #18., R2 a#WORD PC, AN#READ R2 4% S#RSYNC, a#WORD PC, a#READ #CTSY, QRO 5% ", #104002,a#SSYN a#RCYL, PC, :READ 0 ;GO TO READ ; COUNT JSYNC. WORD :SYNC. BYTE DETECTED? :BRANCH IF_SYNC DETECTED a#ERWORD ;ERROR WORD NO SHRSYNC ,a#SGDDAT 138 ;BRANCH IF WORD NOT COMPLETE ;NO OF WORDS OF ZEROS a#WORD a#READ A#RSETR, aNMWORD : INSERT ; SYNC WORD “ERROR 2'* IN SSYN :BRANCH OUT SETUP CYLINDER :READ :SETUP SECTOR/TRACK INDEX CZRJIGCO,RPO4/5/6 DSKLS CTRLRI1 CZRJGC.P11 8889 8890 8891 8892 8893 8894 8895 8896 8897 8898 8899 8900 8901 8902 8903 8944 26-JUL-78 10:10 050046 050052 050060 050064 050072 050076 050104 004737 013737 050110 050114 050116 050122 050124 DISK SIMULATION 050414 050414 051406 000005 000006 050652 050650 047624 001124 050650 104003 005737 001406 005737 001420 005037 000403 013737 013737 012737 012737 000443 001126 047520 7%: 013725 050650 050310 050314 050320 050324 050326 050330 050336 050342 050346 050350 050354 012702 005037 004737 005302 001372 013737 004737 005737 001404 032710 001415 000005 050414 050420 000440 047606 050420 047620 001000 BNE 13$ 050650 PC,a#READ AWTESDTE ?:gOMPA ;READ ;1S THIS A DRIVE ;IS THIS A READ OR WRITE 8EQ 7% ;BRANCH IF GOOD THAT IS O IMWWORD R2, a#ERWORD ;WORD NO IN ERROR CLR MOV MOV BR a#$GDDAT $B8DDAT aMWAWORD, #104003,a#HEDGAP ;BRANCH 133 DEC R2 MOV AHWWORD, (R5)+ :GOOD WORD SHOULD BE O ;BAD DATA :"ERROR 2'' GOES IN HEDGAP OUT ;SAVE HEADER GAP 63 PC, A#WRITE ;WRITE HEADER (DATA) GAP SYN(C a#RSYNC , 3#WWORD 10% a#NOSYNC ;IS THIS FORCED HEADER ERROR COMMAND ;IF YES NOSYN(=-1 THEN WRITE OR READ ;1S SHUT OFF SO BRANCH OUT 2 IF NO NOSYNC=0 THEN CONTINUE 14% ;BRANCH IF aAWWORD : TRUE ERROR 15%: 10%: MOV BR MOV #104003,3#HEDSYN ;BRANCH OUT 13% ?g:UORD,(RS)* ;SAVE DATA SYNC. JSR DEC BNE PC, R2 12% READ JSR PC, READ BEQ BIT BEQ 16% #DTSY,aR0 138 MOV 10% ;BRANCH [F GOOD a#$GDDAT 21T SHOULD BE ZERO 15% ;BRANCH TO TYPE ERROR S#RSYNC ,a#SGDDAT .GOOD DATA F4WWORD ,a#$BDDAT ;BAD DATA H6, a#ERWORD BR ;. *READ COMMAND START FROM HERE 11%: MOV 45, R2 12%: CLR WORD MOV TST COMMAND JTEST WRITTEN WORD BEQ CLR BR MOV MOV 14%: TIMING ERROR JBRANCH OUT IF YES ;POINTER FOR HEADER GAP ;NO OF WORDS OF ZEROS ;ERROR WORD NO SET ;FOR HEADER GAP TST 050414 sREAD #HEGAP, RS A5, R2 #6 ,IHERWORD PC,a#WRITE BEQ 001124 001126 047624 047522 PC .a9#READ MOV MOV MOV JSR BNE JSR (MP BEQ TST 001124 104003 ;SETUP CRC suB 050650 047606 050650 000006 aW#WCRC,a#MORD TST 047620 050232 050234 050240 050242 050246 050250 050256 050264 050272 050300 050302 050306 MOV ng 050650 050652 047606 ;READ ;SETUP KEY1 ;READ ;SETUP KEY? JSR TST 6%: SEQ 0207 SEQ 0206 PC,a#READ SFRKEY" ,afWORD PC,a#READ QNRKEY2,a#WORD 8 0467624 L 16 12:41 PAGE 208 JSR MOV JSR MOV JSR 050414 050416 050130 050134 050142 050146 050152 050154 050160 050164 050172 050200 050202 050206 050210 050212 050216 050224 050226 050420 047614 050420 047616 050420 051404 050420 002026 27-JUL-78 MACY11 30A(1052) S#RSYNC ,a#WORD a#NOSYNC ;READ HEADER GAP ;1S 5 HEADER GAP ZEROS COMPLETE ;IF NOT BRANCH ;SYNC WORD ;READ HEADER (DATA) SYNO) ;IF NOT ERROR COMMAND BRANCH JSYNC. DETECTED s IF ZERO BRANCH OUT (ZRJGCO,RPO4/S5/6 DSKLS CTRLRI CZRJIGC PN 26-JuUL-78 10:10 8945 8946 8947 8948 8949 8950 8951 8952 8753 8954 8955 050356 050360 050364 050366 050374 050402 050410 050410 050412 000403 032710 001011 012737 013737 012737 012601 000201 MACYT1 001000 000006 047606 1064002 30A(1052) 27-JUL=~78 DISK SIMULATION 16%: 047624 001124 047522 17%: 13%: B8R BIT BNE MOV MOV MOV MOV RTS M 16 12:41 17¢% #DTSY, 13% aRO SEQ 0208 SEQ 0207 PAGE 209 ;IF NOT ZERO BRAN(CH TO ERROR JSYNC. DETECTED? ;BRANCH [F YES #6, a#ERWORD :ERROR WORD NO. AN#RSYNC ,a#8GDDAT ; SYNC WORD #106002 ,a#HEDSYN (?P}*,R1 R J;POP STACK INTO R1 CZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJIGC P11 26-JuL-78 10:10 8956 8957 8958 8959 8960 8961 8962 8963 8964 8965 8966 8967 8968 8969 8970 MACY11 30A(1052) 27-JUL-78 DISK SIMULATION 8 12:41 1 SEQ 0209 SEQ 0208 PAGE 210 :*READ ONE WORD IN "WORD'' 050414 050416 WORD: COMPA: 000000 000000 0 0 8971 8972 8973 8974 8975 8976 8977 8978 8979 8980 8981 8982 8983 8984 8985 8986 8587 050420 010246 012705 012710 006037 103002 052710 012702 052710 005737 001411 032710 001404 012737 000402 005037 012746 006037 103002 012716 012610 005737 : READ 000002 000001 050414 000020 000007 000012 045320 1%: 000020 177777 045312 5%: 6%: 045312 000001 050414 2%: 045320 3s: 045320 000020 000021 045320 BIS MOV BIS TST BEQ BIT BEQ #MRD, 3RO N7, R2 MMSTCK !MCLK, HTSECCG BR CLR MOV 6% 63 #MRD ,3R0 5% #-1,a#ECDATA a#ECDATA #DMD, -(SP) MOV MOV TST BEQ INC 045332 045350 000002 045312 R2,~(SP) He, RS #DMD, aRO 8CC 000021 177777 MOV MOV MOV ROR BCC 045312 7%: 8%: 4%: JSR 8IS TST BEQ BIT BEQ MOV B8R CLR ROR BCC MOV ST a#DATENV PC,a#ECTEST A#MCLK, S#TSECCG aR0O 8% #MRD , 3RO 7% #-1,a#ECDATA 8% a#ECDATA #DMD, -(SP) a#WORD 4% #MRD !DMD, (SP) (SP)+, aR0 SHTSECCG :;PUSH R2 ON STACK sWORD COUNTER :SET DIAG. MCDE ;CHECKING IF THERE IS A ONE ;IF NO ONE BRANCH ;SET BIT & IF DATA HAS ONE ;BYTE COUNTER aR0 ;SET CLOCK,DATA IF ANY, SECTOR (SP) :KEEP DATA AND DIAG. MODE ;1S THIS BIT TO GENERATE AND TEST ECC ;BRANCH IF NO ;1S DATA BIT A ONE ;BRANCH IF DATA BIT IS 0 ;ECC DATA BIT IS A ONE :BRANCH JECC DATA BIT IS A O sKEEP ONLY DIAG. MODE sCHECKING IF THERE IS A ONE . IF NO ONE BRANCH ;PUT IN DATA RESET CLOCK, SECTOR ;IS ECC TO BE GENERATED FOR THIS BIT ;BRANCH IF NO JNUMBER OF CLOCKS GIVEN FOR DATA ENVELOPE ;GO TO GENERATE AND TEST ECC sSET _CLOCK ;1S THIS BIT TO GENERATE ECC sBRANCH IF NO :1S DATA BIT A ONE ;BRANCH IF DATA BIT IS =0 JECC DATA BIT IS A ONE sBRANCH JECC DATA BIT IS = 0 ;KEEP DIAG. MODE sCHECKING IF THERE IS A ONE sBRANCH IF NO ONE ;KEEP DIAG. MODE AND DATA ;SET DATA, DIAG. MODE, CLEAR CLOCK ;IS THIS BIT TO GENERATE ECC (ZRJIGCO,RPO4/5/6 DSKLS CTRLR1 CZRJIGC PN 26-JuL-78 10:10 9012 9013 9014 9015 9016 9017 9018 9019 9020 9021 9022 050622 050624 050630 050634 050636 050640 050642 050644 050646 001404 005237 004737 005302 001341 005305 001300 012602 000207 045332 045350 MACY11 30A(1052) 27-JUL-78 DISK SIMULATION 9%: 8EQ INC JSR DEC BNE DEC BNE MOV RTS ¢ 12:41 9% SHDATENV PC,a#ECTEST R2 3% RS 1% (SP)+,R2 PC 1 PAGE 211 :BRANCH IF NO :NUMBER OF CLOCKS GIVEN FOR DATA ENVELOPE ;GO TO GENERATE AND TEST ECC ;JBYTE COUNTER ;BRANCH IF ONE BYTE NOT COMPLETE ;WORD COUNTER ;BRANCH IF ONE WORD NOT COMPLETE ;;POP STACK INTO RZ SEQ 0210 SEQ 0209 CZRJIGCO,RPO4/5/6 DSKLS CTRLRI CZRJIGC P11 26-JuL~-78 10:10 27=-JuL=-78 MACY11 30A(1052) DiSK SIMULATION D 12:41 1 PAGE 212 ;*WRITE ONE WORD WHICH COMES BACK IN 'WWORD'' 050650 WWORD: 000000 010046 010246 010346 010546 012705 012710 012702 012710 032710 001406 012737 000261 WRITE: 000002 000001 000007 000013 000040 177777 1%: 045312 006003 000404 005037 000241 006003 012710 005737 2%: 045312 3%: 000001 045320 045332 045350 000002 000040 177777 A 045312 0 MOV MOV MOV MOV MOV mMov RO,-(SP) R2,=(SP) R3,-(SP) R5,-(SP) #2,R5 #1,3R0 MOV MOV #7 ,R2 005302 6%: 045332 045350 7%: AMSTCK !MCLK !DMD,aR0;SET SECTOR AND (CLOCK ROR R3 ;CHECK WRITE BIT IN MAINT. REG. ;BRANCH IF ZERO JECC DATA BIT IS A ONE :SET CARRY ;MOVE 1 FORWARD CLR CLC a#ECDATA ;ECC DATA BIT IS = 0 ROR MOV TST BEQ INC JSR BIS BIT BEQ SEC 000001 045320 ;WORD COUNTER ;SET DIAG. MODE ;RO HAS RHMR ADDRESS IN IT ;BYTE COUNTER #MWR , 3RO ROR 5%: ::PUSH R5 ON STACK BIT BEQ MOV SEC MOV 045312 ::PUSH RO ON STACK ;;PUSH R2 ON STACK ::PUSH R3 ON STACK CLR CLC ROR MOV TST BEQ INC JSR DEC 2% #-1,a4ECDATA 3% R3 #DMD ,aR0 a#TSECCG 43 a#DATENV PC,a#ECTEST AMCLK ,aR0 #MWR , 3RO 5% #-1,a4ECDATA R3 6% a#ECDATA R3 #DMD, &R0 a#TSECCG 7% a#DATENV PC,a#ECTEST R :CLEAR CARRY :MOVE O FOR WWORD ;CLEAR SECTOR AND CLOCK ;IS THIS BIT TO GENERATE ECC ;BRANCH IF NO JNUMBER OF CLOCKS GIVEN FOR DATA ENVELOPE ;GO TO GENERATE AND TEST ECC sSET CLOCK IN RHMR ;CHECK WRITE BIT IN RHMR sBRANCH IF ZERO JECC DATA BIT IS A ONE ;SET CARRY ;MOVE 1 FOR WMWORD JECC DATA BIT IS ZERO ;CLEAR CARRY :MOVE 0 FOR WWORD sCLEAR CLOCK ;IS THIS BIT TO GENERATE ECC ;BRANCH IF NO ;NUMBER OF CLOCKS GIVEN FOR DATA ENVELOPE ;GO TO GENERATE AND TEST ECC ;COUNT FOR BYTE END SEQ 0211 SEQ 0210 051040 051042 051044 001346 005305 001312 9083 051046 010337 9085 051052 051054 012605 012603 012602 012600 000207 9079 9080 9081 9082 9084 9086 9087 9088 9089 9090 9091 051056 051060 05106¢ 050650 MACY11 30A(1052) 27-JuL-78 DISK SIMULATION 12:41 ] SEQ 0212 SEQ 0211 PAGE 213 BNE DEC BNE 4% RS 1% ;IF NOT BYTE END BRANCH ;COUNT FOR WORD END MoV R3,a#WWORD ;STORE MOV (SP)+ RS (SP)+ ,R3 (SP)+ ,R2 (SP)+,R0O :;POP STACK INTO RS MOV MOV MOV RTS PC ;IF NOT WORD END BRAN(CH THE WORD :2POP STACK INTC R3 ;;POP STACK INTO R2 ;;POP STACK INTO RO oo C2RIGCO,RPO4L/S/6 DSKLS CTRLRI CZRJGC P11 26-JuL~78 10:10 € CZRJIGCO ,RPO4L/S5/6 DSKLS CTRLR1 CZRJGC P11 26-JUL-78 10:10 MACY11 30A(1052) 27=-JUL=78 DISK SIMULATION Fo1 12:41 SEQ 0213 SEQ 0212 PAGE 214 9092 9093 9094 9095 9096 :*WRITE DATA = PUT DATA INTO ‘DISK'' AREA FROM ‘WWORD'' ;*ONE WORD AT A TIME 9067 9098 9099 9100 9101 9102 9103 9104 9106 b b b FORMAT. ZWORDS: WRDATA: 051064 (R1) ,a#COUNTD (R1)+,R2 (R1) +,a#COMPA 050476 b 010046 010146 010246 010346 010446 — e b P b P P P4 - 011137 012102 012137 b 00V V 000 0 9107 9108 9109 oo P COUNTD: 000000 000400 0000C0 9105 012701 012703 012723 005301 001374 013700 013746 163716 011637 012604 005737 001403 012737 051254 013723 005304 001372 005037 012701 004737 013723 005301 000016 052430 177777 OF WORDS TO BE WRITTEN ;COMPARE OR NOT ;;PUSH RO ON STACK 2;PUSH R1 ON STACK r14, R ;NO. OF TOLERANCE GAP WORDS :START OF TOLERANCE GAP TABLE sMAKE IT 177777 ;1S 14 COMPLETED :IF NO BRANCH ;RO CONTAINS MAINTANENCE REG. R1 1% a#RHMR, RO a#F ORMAT ,~(SP) a#COUNTD (SP) 001660 051066 051064 051070 :SAME IN R? RO,=(SP) R1,-(SP) R2,-(SP) R3,-(SP) R&,~(SP) #TOLGAP ,R3 #-1,(R3)+ 1%: :STORE NO. ;;PUSH R2 ON STA(CK :;PUSH R3 ON STACK ;;PUSH R4 ON STACK ;NO. OF ZERO WORDS TO BE WRITTEN 7%: 2%: (SP) ,a#ZWORDS (SP)+ R4 a#TSECC 7% #-1,a#TSECCG #D]ISK,R3 PC,a#WRITE 050652 050650 3%: PC,a#WRITE ;WRITE ZEROS INTO 'WWORD'' ;STORE INTO 'DISK' €45320 000002 050652 050650 AN 002024 177777 051422 050652 050650 045320 (R3) + SHWWORD, (R3) + SHWWORD, R& 3% a4TSECCG #2.R1 PC,WRITE 5¢%: DEC 81UQORD,(R3)+ R ;IS THIS AN ECC TEST ? :BRANCH IF NO ;THESE BITS ARE TO GENERATE ECC ;ADDRESS THE 'DISK'' AREA JWRITE INTO 'WWORD'' ;STORE ON SIMULATED DISK s COUNT DOWN ;CONTINUE IF ALL WORDS NOT WRITTEN JANY ZEROS TO BE WRITTEN ? JBRANCH IF NONE TO BE WRITTEN ;NO MORE ECC TO BE GENERATED ;WRITE ECC1 AND ECCZ2 ON SIMULATED DISK ;STORE ON WEEC1 AND WEEC? (ZRJGCO,RPO4/5/6 DSKLS CTRLRI CZRJIGC.P1T 26-JUL-78 10:10 9148 9149 9150 9151 9152 9153 9154 9155 9156 9157 9158 9159 9160 9161 9162 9163 9164 9165 051256 051260 051264 051270 051274 051300 051304 051306 001372 004737 013723 012701 004737 013723 005301 001372 051310 051312 051314 051316 051320 051322 050652 050650 000016 050652 050650 MACY11 30A(1052) 27-JUL-78 DISK SIMULATION G 12:41 5% BNE JSR PC.WRITE JSR #14. ,R1 PC,a34WRITE MoV MoV 1 SEQ 0214 PAGE 215 + RD , (R3) MWWO SEQ 0213 ;WRITE DATA GAP INTO 'WWORD'' ;STORE INTO "DISK’ MOV DEC (R3) + QHWWORD, BNE R1 6% ;WRITE TOLERANCE GAP ZEROS JSTORE INTO "DIsSK' 012604 012603 012602 012601 012600 Mov MoV MOV MOV MOv + R4 (SP) (SP) +,R3 (SP)+ ,R2 (SP)+ ,R1 (SP})+,RO J:POP STACK INTO R3 ;3POP STACK INTO R2 ;2T 0P STACK INTO R1 ;;POP STACK INTO RO 000201 RTS R1 6%: ;JPOP STACK INTO R4 CZRJGCO,RPO4/5/6 DSKLS CTRLR1 26-JuL~-78 10:10 CZRJGC.PTN MACY11 30A(1052) 27-JuL-78 DISK SIMULATION H 12:41 1 PAGE 216 9166 9167 9168 9169 9170 9171 9172 9173 :*WRITE HEADER AND DATA o® 9175 9176 ;*THIS 1S THE SIMULATED DISK :*ONLY ONE SECTOR OF SPACE 13 ALLOWED 9174 9177 9178 9179 9180 9181 9182 9183 I 9184 9185 9186 051324 051372 051374 000023 000001 000004 SECGAP: .BLKW WSSYNC: .BLKW HEADER: .BLKW 19. 1 4 9188 9189 9190 051406 051420 051422 000005 000001 HEGAP: .BLKW HDWSYN: .BLKW SILOTR: 5 1 9194 g}gg 052426 052430 000001 000016 9187 9191 9192 9193 9197 051404 051422 052422 052424 000001 000400 000001 000001 WCRC: BLKW DISK: WECCT: WECC2: .BLKW .BLKW .BLKW DTAGAP: .BLKW TOLGAP: .BLKW 1 256. 1 1 1 14, :SECTOR GAP 38 BYTES OF 0 :SECTOR GAP 1 BYTE OF QO ONE SYNC BYTE :HEADER = CYL, SECTOR/TRACK, KEY1, KEY?2 :CRC ;HEADER GAP 10 BYTES OF O ;HEADER GAP 1 BYTE OF O ONE SYNC. BYTL :USED IN SILO TEST AS SILO TABLE :DATA SPACE JECCT JECC? ;DATA GAP 2 BYTES OF 0 ;TOLERANCE GAP 28 BYTES OF O SEQ 0215 SEQ 0214 CZRJIGCO,RPO4/S5/6 DSKLS CTRLR1 CZRJGC.PI1 26-JUL-78 10:10 MACYTT 9198 9199 9200 9201 9202 9203 30A(1052) 27-JUL-78 DISK SIMULATION I 12:41 1 PAGE 217 SEQ 0216 SEQ 0215 ;*WRITE HEADER AND DATA ;**THIS SUBROUTINE IS THE FIRST IN A SERIES OF NESTED SUBROUTINES ;o=]T iSSUES DIAGNOSTIC MODE, AN EXTRA DIAGNOSTIC INDEX, AND THE ;ax'GO’ BaT ;«=]T THEN CALL THREE OTHER SUBROUTINES, WHICH IN TURN CALL OTHER THESE ARE: . **SUBROUTINES. c &k . b . 8 4 R . SEARCH WRHEAD WRDATA RNCTR1: . WORD COMWHD: MOV suB 0 (SP) ,a#PCJSR #4 ,a#PCJSR RO,-(SP) R1,-(SP) ;"RUN' LINE STALL COUNTER 052464 052466 052472 052500 052502 052504 052506 052510 052512 000000 011€37 162737 010046 010146 010246 010346 010446 010546 052514 052522 000001 000004 000004 000001 127136 127130 127122 127074 MOV 052530 052536 012777 052777 042777 052777 052544 012737 000113 052464 : MOV RNWAT #75.,a4RNCTR1 :LOAD STALL COUNTER = APPROX. 450US 052552 052556 005337 001375 052464 1%: DEC BNE a¥RNCTR1 1% ;COUNT DOWN 1 TIME ;CONTINUE UNTIL O 052560 052564 052570 013746 042716 012637 052644 177740 052600 MOV BIC MoV a#WSECTR,~(SP) #17774C, (SP) (SP)+ ,aMTRK JMAKE ONLY SECTOR ;SAVE SECTOR 052574 052600 004137 000000 053552 JSR .WORD 81.8#SEARCH ;ISSUE SECTOR CLOCKS <~=========== > sSECTOR NO. 052602 052606 012701 010137 000240 052654 MOV MoV #+NOP R1 R1,a4#SEGPER ;GOING TO MOVE NOPS sNOP INTO SEGAP 002014 000004 002014 MOV MOV MOV MOV MOV 101 BIS BIC BIS WTRK: RZ,=(SP) R3,-(SP) R4 ,-(SP) RS, -(SP) #DMD , 3RHMR AMINX , aRHMR MMINX, 3RHMR #GO,aRHCS1 :SAVE PC OF JSR + 4 ;SAVE PC OF JSR ::PUSH RO ON STACK ::PUSH R1 ON STACK ;;PUSH R2 ON STACK ::PUSH R3 ON STACK :2PUSH R4 ON STACK :;PUSH RS ON STACK ;SET DIAGNOSTIC MODE ;SET DIAGNOSTIC INDEX ;CLEAR IT JSET *'GO* BIT & STALL °TILL 'RUN' ;FOR 11/50 CPU WITH CORE MEMORY JGET DESIRED SECTOR/TRACK CZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.PT 9254 9255 26-UL~78 10:10 052612 010137 ;NOP INTP FSYNER 052662 052664 052666 MOV MOV mMov R1,a#ERCRC R1,a#ERHDGP R1,a#HDESYN ;NOP INTO ERCRC sNOP INTO ERHDGAP ;NOP INTO HDESYN 9256 9257 gggg 052622 052626 052632 9260 9261 9262 9263 9264 gggg 052636 052642 052644 052646 052650 052652 004137 000000 000000 000000 000000 000000 052736 MOV wlyL: WSECTR: WKEYI: WKEY2: GCRC: JSR 0 0 O O O 052654 000240 SEGPER: NOP 9272 9273 9274 052656 000240 FSYNER: NOP ;ERROR. 9286 9287 9288 9289 9290 ;WORD NO. CONTAINS 20 JRIGHT BYTE IS SECTOR GAP JLEFT BYTE IS SYNC. BYTE ;BAD WORD IS WHAT IS GOING ON ;DISK. 052660 000240 ERHEAD: NOP 9297 9298 9299 9300 9301 9302 9303 9306 9307 9308 JWRHEAD SUBROUTINE THEN JAFTER SECTOR GAP IS IN 9285 9304 9305 ;IF "ERROR 6'' INSERTED BY ;THE LAST O BYTE OF SECTOR ;GAP, OR FIRST SYNC. BYTE 9284 9294 9295 9296 ;IF "ERROR 6'' INSERTED BY ;WRHEAD SUBROUTINE THEN ;BAD WORD IS GOING ON DISK 9282 9283 9293 JWRITE THE HEADER <========w—-===--;CYLINDER ;SECTOR AND TRACK JKEY JKEY? 2GOOD CRC JWORD NO. CONTAINS WHICH JWORD IS WRONG, THAT IS sFIRST OF TENTH OR WHAT EVER NO. 35;3 9291 9292 R1,a4WRHEAD ;NOP INTO ERHEAD ;SECTOR GAP GOING ON DISK ;1S NOT RIGHT. 9275 9276 9277 9281 R1,a#ENRHEAD ;*DUMMY ERROR CALL LOCATIONS FOR THE WRITE HEADER OPERATION 3%2; 9280 SEQ 0217 SEQ 0216 PAGE 218 R1,a4F SYNER 052660 9269 12:41 MOV 010137 9270 9271 27-JUL-78 DISK SIMULATION 1 052656 052616 010137 010137 010137 MACY11 30A(1052) J :IF "ERROR 6'' INSERTED BY ;WRHEAD SUBROUTINE THEN JHEADER GOING ON DISK ;1S WRONG. sWORD NO 1 = JWORD NO 2 = JWORD NO 3 = ;WORD NO &4 = ;BAD WORD IS ;DISK 052662 000240 ERCRC: NOP CYLINDER NO SECTOR/TRACK KEY] KEYZ2 WHAT IS GOING ON ;IF "ERROR 6'' INSERTED BY ;WRHEAD SUBROUTINE THEN CRC WRITTEN JON DISK IS IN ERROR. C(ZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.PN 26=-JUL~-78 10:10 9310 9311 9312 9313 9314 9315 9316 9317 9318 9319 9320 9321 9322 9323 9324 9325 9326 9327 9328 9329 9330 9331 9332 9333 9334 9355 052664 MACY11 30A(1052) 27-JUL-78 DISK SIMULATION K 12:41 SEQ 0218 SEQ 0217 ;GOOD DATA IS WHAT SHOULD BE ON DISK ;BAD DATA IS WHAT IS GOING ON DISK JWORD NO IS 5. ERHDGP: NOP 000240 1 PAGE 219 ;IF "ERROR 6'' INSERTED BY ;WRHEAD SUBROUTINE THEN HEADER ;GAP GOING ON DISK IS WRONG. JWORD NO. GIVES WHICH OF :THE HEADER GAP WORDS JARE WRONG. FOR EXAMPLE: ;WORD NO 1 = FIRST HEADER GAP WORD : ;BAD WORD IS WHAT IS GOING ON DISK 052666 000240 HDESYN: NOP ;IF "ERROR 6'' INSERTED BY ;WRHEAD SUBROUTINE THEN LAST JHEADER GAP BYTE OR HEADER ;SYNC BYTE GOING ON DISK IS WRONG. JWORD NO = 5 ;BAD DATA IS WHAT IS GOING ;ON DISK, RIGHT BYTE IS HEADER ;GAP 0 BYTE, LEFT BYTE IS HEADER ;GAP SYNC. 052670 052674 005737 001004 002006 052676 052702 052704 004137 000000 000000 051072 052706 052706 052710 052712 052714 052716 052720 012605 012604 012603 012602 012601 012600 052722 000207 : FNWORD FOUT: ;JARE ANY ERRORS DETECTED TST AHERFLGS FOUT ;IF —— -—> JSR .WORD .WORD R1,3a4WRDATA -— ;WRITE THE DATA <=~ ;FORMAT COMMAND NO. OF DATA > MOV MoV MOV (SP)+,R5 (SP)+ R4 ::POP STACK ;;POP STACK ;;POP STACK ::POP STACK ::POP STACK BNE 0 0 MOV Mov MOV (SP)+,R3 (SP)+ ,R2 + ,R1 (SP) (SP)+,R0O RTS PC YES EXIT INTO RS INTO R4 INTO R3 INTO R2 INTO R1 ;:POP STACK INTO RO (ZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC P11 26-JUL-78 10:10 9355 9356 9357 9358 9359 9360 9361 9362 9363 9364 9365 9366 9367 9368 9369 9370 9371 9372 9373 9374 9375 9376 9377 9378 9379 9380 9381 9382 9383 9384 9385 27-JUL-78 MACY11 30A(1052) DISK SIMULATION L 12:41 1 PAGE 220 ;*WRITE HEADER ;%R0 :*R1 :*R2 :*R3 :*RS 0 SSECTR: 0 C SKEY1: 0 SKEY?Z: 0 SCRC: 000000 000000 000000 000000 000000 052736 052742 052746 052752 052756 052762 052764 052770 052774 012137 012137 012137 012137 012137 052724 052726 052730 052732 052734 012701 051324 013700 012710 012705 052710 012710 032710 001403 001660 000001 000002 000010 000013 000040 WRHEAD: MOV MOV MOV MOV MOV R1,-(SP) #SECGAP ,R1 a¥RHMR RO ;:PUSH R1 ON STACK ;SIMULATED DISK INDICATOR ;RO NOW HAS MAINT. REG. ADDR. 8IS #MMSTCK ,aR0 :SET SECTOR FOR FIRST BYTE MOV MOV 1%: 2$: 000001 000007 000002 000040 3%: 4%: MOV 8IT BEQ SEC 000001 001342 BR cLC ROR MOV MOV 8IS 8IT BEQ SEC 5%: 6%: (R1)+,a#SCYL (R1)+,a#SSECTR (R1)+,a#SKEY1 (R1)+ ,a#SKEY2 (R1)+,a#SCRC MOV MOV MOV ROR 053070 053074 053076 053100 053102 ; : : : : SCyL: 052724 052726 052730 052732 052734 010146 MAINT REG. SIMULATED DISK BYTE COUNT WRITE WORD WORD COUNT RNR BR cLC ROR MOV DEC BNE DEC BNE #DMD ,aR0 #2 RS :SET DIAG. MODE IN RHMR ;WORD COUNTER AMSTCK !MCLK !DMD ,@R0,;SET SECTOR, CLOCK, DIAG. MODE, RESET INDEX #MUR , IR0 ;CHECK WRITE BIT IN MAINT. REG. 23 :SET CARRY R3 33 :MOVE ONE FORWARD R3 : ;CLEAR CARRY ;MOVE ZERO FORWARD #7 .R2 MMCLK ,3R0 ;BYTE COUNTER ;SET CLOCK #DMD ,a3R0 ;CLEAR CLOCK, SECTOR #MWR ,aR0 ;CHECK WRITE BIT IN MAINT.REG. R3 6% ;MOVE ONE FORWARD 5% R3 #DMD , aR0 R2 43 R5 1% ;BRANCH IF ZERO ;SET CARRY ;SET DIAG. MODE AGAIN IN RHMR ; CONT INUE SEQ 0219 SEQ 0218 CZRJGCO,RP0O4/5/6 DSKLS CTRLR CZRJGC.PN 26-JUL~78 10:10 9411 9412 010321 005703 001414 012737 0059237 010337 012737 000137 9413 9414 9415 %16 9417 9418 9419 9420 9421 9422 053142 053146 053154 053160 053164 053166 053172 053176 053204 053212 053214 053216 000001 001124 001126 104006 053544 012702 012737 004737 013721 001413 27-JUL-78 DISK SIMULATION MACY11 30A(1052) 052654 047624 160237 005037 013737 012737 000554 7$: 108: R3,(R1.+ CLR MOV MOV JMP a¥$GDDAT R3,a#$BDDAT R3 ’$ #1,a#ERWORD #104006,a#SEGPER JBRANCH OUT =======-=swscco-o——o=x > an’s NO. OF SECTOR GAP TO GIVE ERROR WORD SECTOR GAP SECTOR GAP WORD #18..R2 #20. ,@#ERWORD PC,a#WRITE ?:gHORD,(Rl)* ;COUNT ;COUNT JWRITE ;STORE Su8 CLR R2 ,a#ERWORD a#$GDDAT ;IF NOT GET ERROR WORD NO. :GO0D WORD MOV STORE 'ERROR 6'' IN SEGPER #106006,3#SEGPER; 178 :BRANCH OUT ==========m=mmmmmmmoeee > DEC R2 ;HAVE 18 WORDS OF ZEROS BEEN WRITTEN ? BR 11%: SEQ 0220 SEQ 0219 PAGE 221 MOV MOV JSR ggg MOV 001126 052654 V05302 001353 MOV TST 8EQ MOV 047624 M1 12:41 BNE a#WWORD ,a#$BDDAT ;BAD WORD 108 :IF NOT DO SO ;AT THIS POINT THE SECTOR FOUND FLOP SHOULD SO THAT THE HEADER SYNC BYTE CAN BE GIVEN ;*BE HIGH. ;*HOWEVER IN THE DRIVE TIMING ERROR TEST THE REST OF THE ROUTINE ;*IS ABORTED - HEADER SYNC BYTE IS NOT GIVEN 053220 053224 053226 005737 001147 004737 002026 053232 013711 023721 001414 012737 013737 014137 012737 000524 050650 047606 012702 012703 012737 004737 013711 022321 001412 000004 052724 000005 050652 050650 160237 014337 014137 012737 000475 047624 001124 001126 104006 053236 053242 053244 053252 053260 053264 053272 053274 053300 053304 053312 053316 053322 053324 053326 053350 050652 000024 047606 001126 104006 TST S¥TESDTE ;1S THIS A DRIVE TIMING ERROR JSR PC,a#MRITE MOV cMP @MMORD, (R1) @MRSYNC.(R1)+ SJWRITE ONE SECTOR GAP O BYTE = 230 JAND ONE SYNC. BYTE sSAVE 0 BYTE AND SYNC BYTE :IF SYNC. BYTE RIGHT BNE 047624 001124 12%: 047624 052660 13%: ;BRANCH OUT IF YES BEQ MOV MOV MOV 12% ;IF YES BRANCH #20. ,a#ERWORD ;IF NOT GET READY FOR ERROR @HRSYNC ,a#SGDDAT; GOOD WORD -(R1) ,a#$BDDAT :BAD WORD BR 178 :BRANCH OUT MOV MOV MOV #4 R2 #SCYL ,R3 #5,a#ERWORD ;FOUR HEADER WORDS ;POINTER FOR HEADER TABLE ;ERROR WORD NO SET MOV cMP BEQ aMWORD, (R1) (R3)+, (R1)+ 148 ;STORE WRITTEN WORD 21S 1T RIGHT? 2 IF GOOD CONTINUE MOV 052656 17% JSP #104006, 3#F SYNER: INSERT ‘ERROR 6'' IN FSYNER PC.aMWRITE JWRITE & HEADER WORDS :IF NOT GET READY FOR PRINT suB MOV R2,aNERWORD -(R3),a#$GDDAT MOV #104006, 3#ERHEAD: INSERT ' ERROR 6'* MOV B8R -(R1) ,a#$BDDAT 17% > ¢WORD NO :GOOD DATA :BAD DATA JBRANCH QUT =====c<sc—ccscsceccsonaaan > CZRJGCO,RPO4/5/6 DSKLS CTRLR1 26-JUL-78 10:10 CZRJGC P11 053352 053354 053356 053362 14%: 050652 050650 052652 012737 104006 001124 047624 052662 000005 000006 047624 050652 050650 047624 001124 001126 104006 053450 053454 053460 053464 053472 053474 053476 053500 053504 053510 053514 053516 053524 053530 DISK SIMULATION 005302 001126 052652 000005 MOV MOV BR 20%: 15%: 012737 053544 053544 012601 053546 000201 MOV MOV JSR MOV BEQ sus CLR MOV MOV 052664 BR 050652 050650 047606 053536 DEC BNE JSR MOV cMP BEQ MOV MOV 16%: 000005 001126 047606 104006 27-JUL-78 MACY11 30A(1052) 047624 DEC BNE JSR MoV MP BEQ MOV MOV MOV MoV 001124 052666 17%: N 12:41 1 SEQ 0221 SEQ 0220 PAGE 222 R 13$ PC.a#WRITE @#WWORD, (R1) (R1)+,3#GCRC 20% -(R1) ,3#$8DDATA #GCRC ,a#$GDDAT #5,a¥ERWORD 1;24006.306RCRC #5,R2 #6, I¥ERWORD PC,a#WRITE ;JARE 4 HEADER WORDS DONE? ;IF NOT DO THEM JWRITE CRC ;STORE CRC ; COMPARE GOOD CR(C ;BRANCH IF GOOD :BAD CRC WRITTEN 2GOOD CRC JERROR WORD NO JINSERT ERROR 6 JEXIT —> ;NO OF HEADER GAP ;ERROR WORD NO SET :WRITE HEADER GAP ;STORE @FWWORD, (R1) + 16% ;IF GOOD BRANCH R2 ,a#ERWORD ;ERROR WORD NO A#SGDDAT ;GOOD DATA =(R1) ,a#$BDDAT ;BAD DATA :;24006.8#ERHDGP ;STORE ‘ERROR 6'' :BRANCH QUT =====ec—ccec—cecccccncas > R2 15% PC.a#WRITE (R1) , RD @HWWO (R1) + BHRSYNC, 17% #5 ,a#ERWORD -(R1) ,a#$BDDAT ;ARE 5 HEADER GAP ZEROS 2 IF NOT BRANCH S¥RSYNC ,a#$GDDAT #104006,a#HDESYN MOV (SP)+ ,R1 RTS R1 ;.POP STACK INTC R1 DONE CZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.P1T 26-JUL-78 10:10 9508 9509 9510 9511 9512 9513 9514 9515 9516 9517 9518 9519 9520 9521 9522 9523 9524 9525 9526 9527 9528 9529 9530 9531 9532 9533 9534 9535 9536 9537 9538 9539 9540 MACY11 30A(1052) 27-JUL-78 DISK SIMULATION B 12:41 2 PAGE 223 ;*SEARCH SECTOR S® o o® ox S¥ RO=RHMR ADDRESS R1=PASSED ARGUMENT (SECTOR SEARCHED FOR) R2=CLOCK COUNT (PER BYTE) R3=SECTOR COUNTER FROM R1 R5=BYTES PER WORD COUNT ;«BEBORE INDEX IS GIVEN TWO SECTOR CLOCKS ARE GIVEN TO RESET L L XY s*SECTOR PULSE IN CASE IT IS SET ;*AT BEGINNING OF EACH SECTOR ONE SECTOR CLOCK HAS TO RISE *8EFORE CLOCK THEN EVERY EIGHT CLOCKS ONE SECTOR CLOCK IS s*IDENTICAL WITH CLOCK ;*NUMBERING THE SECTOR CLOCKS AS FOLLOWS *THE SECTOR CLOCK UNDER INDEX - 0 s*THE NEXT - 1 ;*THE NEXT =2 s*ETC. ;*THEN THE LAST SECTOR CLOCK IN ONE SECTOR HAS NUMBER - 608 ;*THE NEXT SECTOR THEN HAS 608 SECTOR CLOCKS ;*THE NEXT SECTOR THEN HAS ANOTHER 608 3ECTOR CLOCKS :*AND SO ON 053550 000000 053552 053556 053560 053562 053564 053566 053570 053572 053576 053602 053606 053612 053616 053622 012137 053626 053632 010046 010146 010246 010346 010446 010546 013700 013703 012710 052710 042710 052710 042710 052710 012710 SECTR: 053550 001660 053550 000014 000001 0 SEARCH: MOV ;SECTOR SEARCHED FOR (R1)+, Q#SECTR ;SAVE SECTOR SEARCHED FOR MOV MOV MOV MOV MOV MOV MOV MOV MOV BIS 8IC BIS BIC RO,-(SP) R1,<(SP) R2,-(SP) R3,-(SP) R4 ,-(SP) R5,=(SP) aFRHMR, RO SMSECTR,R3 #DMD, aRO AMSTCK, aR0O #MSTCK, aRO #MSTCK, aRO AMSTCK, 3RO BIS ;RESETING SECTOR PULSE sIN CASE IT STARTS SET AMINX!MSTCK,aRO ;SET INDEX AND SECTOR CLOCK MOV #DMD, 3RO ;cPUSH RO ON STACK ;;PUSH R1 ON STACK ;:PUSH R2 ON STACK :;PUSH R3 ON STACK :;PUSH R4 ON STACK ;;PUSH RS ON STACK ;NOW RO HAS MAINTENANCE REG. ADR. ;SECTOR COUNTER ;SET DIAGNOSTIC MODE ;SET SECTOR CLOCK ;CLEAR SECTOR CLOCK ;SET SECTOR CLOCK ;CLEAR SECTOR CLOCK ;THE ABOVE TWO SECTOR CLOCKS ARE GIVEN FOR JRESET INDEX AND SECTOR CLOCK SEQ 0222 SEQ 0221 CZRJIGCO,RPO4/5/6 DSKLS CTRLR]} CZRJGC.P11 26-JuL-78 10:10 9564 9565 9566 9567 9568 9569 9570 9571 9572 9573 9574 9575 9576 9577 9578 053636 053640 27-JUL-78 MACY11 30A(1052) DISK SIMULATION TST BEQ 005703 001461 ¢ 12:41 2 PAGE 224 R3 7$ SEQ 0223 SEQ 0222 ;IF SECTOR REQUIRED JUMP QUT ;BRANCH OF SECTOR ZERO REQUIRED ;*NOW THE 304 WORDS WILL START ;*FOR FIRST BYTE SECTOR CLOCK WILL GO HIGH THEN CLOCK WILL GO HIGH ;*BOTH WILL COME DOWN TOGETHER THEN SEVEN CLOCKS WILL BE GIVEN ;%:;FOR SECOND BYTE AND ALL OTHER BYTES TILL NEXT SECTOR SECTOR CLOCK ;s«WILL BE IDENTICAL WITH ONE CLOCK ;*ONE WORD ONLY 9580 9581 9582 9583 053710 053714 053716 012702 012705 052710 052710 000402 052710 042710 052710 042710 005302 001372 012702 005305 001362 1%: 2%: 8%: 000007 MOV MOV 8IS BIS BR 8IS BIC BIS BIC DEC BNE MOV DEC BNE #8., R2 a2, RS AMSTCK ,aR0 #MCLK ,IRO 38 #MSTCK !MCLK,aR0 MMSTCK!MCLK,aR0 aRO #MCLK, #MCLK, aRO R2 8$ #7, R2 RS 2% ;BYTE COUNTER ;BYTES PER WORD ;SET SECTOR CLOCK ;SET CLOCK ;BRANCH TO CLEAR SECTOR AND CLOCK ;SET SECTOR AND CLOCK ;CLEAR SECTOR AND (CLOCK sSET CLOCK :CLEAR CLOCK ;BYTE COUNTER ;BRANCH IF BYTE NOT COMPLETE ;SETUP FOR SECOND BYTE ;1S WORD COMPLETE? ;BRANCH IF NOT COMPLETE ;TO GIVE SECTOR CLOCK AND CLOCK ;*NOW 303 WORDS ARE LEFT AND ALL ARE IDENTICAL 053720 053724 053730 053734 053740 053744 053750 053754 053756 053760 053762 053764 053766 053770 053774 054000 054002 054004 054004 054006 054010 054012 012701 012705 012702 052710 042710 052710 (% 5%: 6%: J00010 000010 MOV MOV #303., K2, BIS 81C DEC BNE DEC BNE DEC BNE BIS BIC DEC #MCLK, 3RO #MCLK, aRO R2 63 R5 5% R1 3 AMSTCK, 3RO AMSTCK ,aRO R3 sSET CLOCK JRESET CLOCK ;1S BYTE COMPLETE? JBRANCH IF NOT COMPLETE ;1S WORD COMPLETE? ;BRANCH IF NOT ;1S SECTOR COMPLETE ;BRANCH IF NOT JSET SECTOR ;CLEAR SECTOR ;1S REQUIRED NO OF SECTORS COMPLETE (SP)+,RS (SP) + ,R4 (SP)+,R3 (SP)+,R2 :;POP ;;POP ;;POP :;POP MOV BIS 8IC BNE 012605 012604 012603 012602 7%: MOV MOV MOV MOV R1 RS ;WORDS PER SECTOR COUNTER ;BYTES PER WORD COUNTER 7, R2 ;BYTE COUNTER (CLOCK COUNTER) #MSTCK!'MCLK,aR0 ;SET SECTOR CLOCK AND CLOCK MMSTCK'MCLK,aR0 ;CLEAR SECTOR CLOCK AND CLOCK 1% ;BRANCH [F NOT STACK STACK STACK STACK INTO INTO INTO INTO RS Ré R3 R2 CZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.P1Y 26-JUL-78 10:10 9620 9621 9622 054014 054016 054020 MACY11 27-JUL-78 30A(1082) DISK SIMULATION MOV MOV 012601 012600 000201 RTS D 12:41 2 PAGE 225 (SP)+,R1 (SP)+,R0 R1 ::POP STACK INTO R1 ;:POP STACK INTO RO :*READ ONE SECTOR OF DATA RNO: RCOM: 054022 054024 000000 000000 054026 054032 054036 054040 054044 012137 012137 010146 005737 001403 012737 012702 054022 054024 012703 012337 004737 005302 001372 005737 001012 005037 012702 012337 004737 051422 050414 050420 054046 054054 054060 054064 054070 054074 054076 054100 054104 054106 054112 054116 054122 054126 054130 054132 054132 054134 005302 001372 012601 000201 002024 177777 000402 ;EXTRA STORAGE #15. ,R2 (R3) + ,a#WORD ;SAVE NO. OF WORDS ONLY FOR INFORMATION JEXTRA WORD ONLY FOR INFORMATION :;PUSH R1 ON STACK ;1S THIS AN ECC TEST ;BRANCH IF NO ;THESE BITS ARE TO GENERATE ECC ;256 WORDS PER SECTOR sPLUS 2 ECC WORDS LPOINTE TC DISK SIMULATION JREADY TO READ CONTENTS :READ ;1S 256 WORDS DONE? : IF NOT BRANCH ;1S THIS AN ECC TEST sBRANCH OUT IF YES ;JNO MORE ECC BITS ARE TO BE GENERATED ;ONE DATA GAP, 14 TOLERANCE GAP JREADY TO READ CONTENTS OF WORD R2 3s s COUNT ;BRANCH IF 14 NOT DONE REDATA: MOV MOV MOV (R1) +,a#RNO (R1)+,a#RCOM R1,-(SP) BEQ MOV MOV 1% #-1,3#TSECCG MOV MOV #DISK,R3 (R3) +,aMiORD TST 045320 2%: 3s: A ¥ QNTSECC #258. .R2 JSR PC.a#READ TST a#TSECC DEC BNE 002024 045320 000017 050414 050420 :NO. OF WORDS READ 0 0 BNE CLR MOV MOV JSR DEC BNE Mov RTS R2 2% 43 TSECCG PC.a#READ (SP)+ ,R1 R1 ;READ ;.POP STACK INTO R1 ;RETURN SEQ 0224 SEQ 0223 CZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.P1T 26-JUL-78 10:10 054136 054136 054142 054206 054210 054216 1064401 000421 104402 012777 000000 MACY11 30A(1052) DISK SIMULATION RPVECT: 054144 054136 27-JUL-78 125410 TYPE BR TYPOC MOV HALT E 12:41 2 PAGE 226 ,65% 64% #RPVECT ,aRPVEC SEQ 0225 SEQ 0224 ;. TYPE ASCIZ STRING ;cGET OVER THE ASCIZ ;TYPE FROM P( JRESTORE TRAP RPO4 VECTOR ;CHANGE TO CONTINUE 054400 054406 054410 054414 054416 054422 054430 054432 054440 054446 054452 054456 054462 054466 054474 054502 054506 054510 0011 000416 013746 012737 005737 012637 000463 022626 012637 000423 032777 001404 127737 001462 105737 001421 123737 101015 032777 001404 013737 000443 105037 005037 000415 032777 001011 005737 001406 005237 023737 002021 012737 013737 105237 011637 011637 005037 112737 013777 013716 000002 000004 047620 002024 045320 002026 040000 000004 054300 177060 000004 124670 124614 5%: 124622 001102 2%: 001115 001103 001000 124564 001106 001103 001212 004000 MOV MOV TST MoV 000004 001103 001110 CLR CLR CLR CLR 1%: BIT BNE R: BR $XTST 7%: 4%: 124532 3%: 001100 001104 001212 000001 054510 001102 001106 001110 001214 000001 001102 001106 001104 001104 001212 001115 124440 1%: $SVLAD: BR CMP MOV BR BIT BEQ (MPB BEQ T1STB BEQ CMPB BHI BIT BEQ MOV 8R CLRB CLR BR BIT BNE TST BEQ INC cMP BGE Mov MoV INCB MoV MoV CLR $OVER: SMXCNT: MovB MoV MoV RTI 4 @NOSYNC a#TSECC a#TSECCO a#TESDTE 81714 ,a5WR $OVER 6% OHERRVEC ,-(SP) #5% ,a#ERRVEC a#177060 (SP)+ a#ERRVEC $SVLAD + (SP)+,(SP) ;gP)*.&#ERRVEC #B1T08,aSWR 2% ASWR,STSTNM $OVER $ERFLG 3% SERMAX, SERFLG 3$ #81T709,aSWR 43 $LPERR, $LPADR $OVER $ERFLG $TIMES i$ #81711,aSWR 1% $PASS 1% $ICNT $TIMES,$I1CNT $OVER #1,SICNT a ;:TEST FOR CHANGE IN SOFT-SWR ;CLEAR FLAG FOR HEADER ERROR COMMANDS ;CLEAR FLAG FOR ECC TEST JEVEN IN AN ECC TEST EVERY CLOCK :DRIVE ~ "MING ERROR TEST ::LOOP UN PRESENT TEST? ..YES IF SW14=1 ;1F RUNNING ON THE 'XOR'' TESTER CHANGE ..SAVE THE CONTENTS OF THE ERROR VECTOR ::SET FOR TIMEOUT ;s TIME OUT ON XOR? ;cRESTORE THE ERROR VECTOR 2:G0 TO THE NEXT TEST :;CLEAR THE STACK AFTER A TIME OUT ;RESTORE THE ERROR VECTOR :;LO0P ON THE PRESENT TEST ..LOOP ON SPEC. TEST? BR IF NO ;ON THE RIGHT TEST? :BR IF YES SWR<7:0> ::HAS AN ERROR OCCURRED? ;:BR IF NO ::MAX. ERRORS FOR THIS TEST OCCURRED? ;;BR IF NO ;LOOP ON ERROR? BR IF NO ,,SET LOOP ADDRESS TO LAST SCOPE ;s ZERO THE ERROR FLAG ;:CLEAR THE NUMBER OF ITERATIONS TO MAKE :.ESCAPE TO THE NEXT TEST ;o INHIBIT ITERATIONS? ;:BR IF YES :'IF FIRST PASS OF PROGRAM INHIBIT ITERATIONS ;e *INCREMENT ITERATION COUNT $CHECK THE NUMBER OF ITERATIONS MADE Br IF MORE ITERATION REQUIRED JREINITIALIZE THE ITERATION COUNTER ..SET NUMBER OF ITERATIONS TO DO ;. COUNT TEST NUMBERS ;. SAVE SCOPE LOOP ADDRESS ;. SAVE ERROR LOCP ADDRESS ;;CLEAR THE ESCAPE FROM ERROR ADDRESS #1, SERMAX ;;ONLY ALLOW ONE(1) ERROR ON NEXT TEST $TSTNM,aDISPLAY ; ;DISPLAY TEST NUMBER $LPADR, (SP) ;.FUDGE RETURN ADDRESS s FIXES PS ;;MAX. NUMBER OF ITERATIONS SMXCNT ,STIMES $TSTNM (SP) ,$LPADR (SP) ,SLPERR $ESCAPE A—A CKSWR 000004 000400 SYSMA(C LIBRARY ROUTINES A A_A 104407 005037 005037 005037 005037 032777 SEQ 0225 B .SBTTL 054220 054222 054226 054232 054236 054242 054250 054252 054254 054260 054266 054272 054276 054300 054302 054306 054310 054316 054320 054326 054330 054334 054336 054344 054346 054354 054356 054364 054366 054372 054376 SEQ 0226 «a CZRJIGCO,RPO4/5/6 DSKLS CTRLR1 26-JUL-78 10:10 CZRJGC.P11 Fo2 pAGE 227 27-JUL-78 12:4 1 MACY11 30A(1052) ROUTINES SYSMAC LIBRARY 054534 054536 054540 054546 054550 054554 054560 054562 054566 054570 054572 054574 054576 054600 054602 054604 054606 054610 054612 054614 054622 054626 054632 054634 054636 054642 054644 054646 054650 054652 054654 054656 054664 054666 054670 054672 054674 054676 054700 054704 054712 054714 054716 054720 054722 054724 005405 112766 005000 012703 112723 000001 054726 000040 1%: 2%: 054716 3%: AN CLR MOV MovB CLR MOV SuB BLT INC BR ADD TST BNE 5%: 000001 000060 000040 177777 7%: 000010 T1ST8B BMI ASLB 8CC Movs BIS ::PUSH R3 ON STACK RS ,-(SP) #20200,-(SP) 20(SP) ,RS J:GET THE INPUT NUMBER #'~-,1(SP) ;;MAKE THE ASCI] NUMBER NEG. 1% RS RO #8DBLK ,R3 #' ,(R3)+ R2 $DTBL (RO) R R1.,RS 48 177777 177776 9%: 000144 000012 ::BR IF DONE ;:ADD BACK THE CONSTANT 7% (SP) ;sBR IF ;;MSD? R2 5% (SP) 6% 1(SP) .-1(R3) #'0,R2 #' R2 R2.(R3)+ (RO)+ RO,410 ;;CHECK IF BCD DIGIT=0 :sFALL THROUGH IF O ;:STILL DOING LEADING 0°'S? YES ;:BR IF NO ;:YES==SET THE SIGN ;;MAKE THE BCD DIGIT ASCII ;;MAKE IT A SPACE IF NOT ALREADY A DIGIT :;PUT THIS CHARACTER IN THE OUTPUT BUFFER ;2 JUST INCREMENTING :;CHECK THE TABLE INDEX pé 3 ::GO DO THE NEXT DIGIT RS5.R2 ;:GET THE LSD 6% (SP) + 9% -1(SP) ,=2(R3) (R3) (SP)+ RS (SP)+,R3 (SP)+ ,R2 . SDBLK 2(SP) ,4(SP) (SP)+, (SP) : $DTRL :2FORM THIS BCD DIGIT R1.RS (SP)+,R0O 000004 ;2ZERO THE CONSTANTS INDEX ;:SETUP THE OUTPUT POINTER ;2SET THE FIRST CHARACTER TO A BLANK ::CLEAR THE BCD NUMBER :;GET THE CONSTANT :: INCREASE THE BCD DIGIT BY 1 (SP)+ R 054726 000002 ::BR IF INPUT IS POS. ; ;MAKE THE BINARY NUMBER POS. gg 8% 8%: ;sPUSH RS ON STACK ::SET BLANK SWITCH AND SIGN ;G0 TO EXIT ;:G0O CHANGE TO ASCI!I ::WAS THE LSD THE F]RST NON-ZERO? ;:BR IF NO J2YES=-=SET THE SIGN FOR TYPING ::SET THE TERMINATOR ;:POP STACK INTO RS ::POP STACK INTO R3 ::POP STACK INTO R? ;:POP STACK INTO R} ::POP STACK INTO RO ;:NOW TYPE THE NUMBER :JADJUST THE STACK ;;RETURN TO USER S R3,-(SP) :;PUSH R1 ON STACK ;:PUSH R2 ON STACK Y ;;PUSH RO ON STACK Y RO,-(SP) R1,-(SP) R2.~(SP) SEQ 0226 Y YU MOV MOV MOV MOV MOV MOV MOV BPL NEG movBe SEQ 0227 Y 020200 000020 000055 PAGE 228 Y 010246 100004 2 CONVERT BINARY TO DECIMAL AND TYPE ROUTINE 010046 010146 010346 010546 012746 016605 G 12:41 YR 054512 054514 054516 054520 054522 054524 054530 27=-J4UL-78 Y 9717 9718 9719 9720 9721 9722 9723 9724 9725 9726 9727 9728 9729 9730 9731 9732 9733 9734 9735 9736 9737 9738 9739 9740 9741 9742 9743 9744 9745 9746 9747 9748 9749 9750 9751 9752 9753 9754 9755 9756 9757 9758 9759 9760 9761 9762 9763 9764 9765 9766 9767 9768 9769 MACY11 30A(1052) P CZRJGCO,RP04/5/6 DSKLS CTRLR CZRJGC.P11 26-JUL~-78 10:10 122716 001006 005726 104401 001223 105037 000755 004737 055036 055042 055046 055050 055054 055060 055062 055066 055072 055100 055102 055104 055106 055112 055114 055122 055130 055132 055136 055140 055146 055150 055152 055154 123726 001350 013746 105366 002770 004737 105337 000770 112716 004737 132737 001372 005726 000724 105777 100375 116677 122766 001003 105037 000406 122766 001402 105227 60%: 3%: 000011 A ¥ 000200 055152 055106 001156 5%: 6%: 001154 000001 7%: 055106 055152 000040 055106 000007 8%: 055152 124036 000002 000015 9% : $TYPEC: 124030 000002 MOV ADD RTI CMPR BEQ CMPB BNE TST TYPE $CRLF CLRB B8R JSR CMPB BNE MOV DECB BLT JSR DECB BR MOVB JSR BITB BNE TST BR 7STB B8PL 055152 000012 000002 1%: CMPB BEQ INCB $CHARCNT : . WORD $TYPEX: RTS #2,(SP) #HT , (SP) 8% #CRLF , (SP) 5% + (SP) $CHARCNT 2% PC,.STYPEC $;1LLC.(SP)* 2 $NULL ,~(SP) 1(SP) 6% PC,STYPEC $CHARCNT 7% #' ,(SP) PC,STYPEC #7 ,$CHARCNT 9% (SP)+ 2% as$TPS $TYPEC Z\SP) ,as8TPB #CR,2(SP) 1% $CHARCNI $TYPEX #LF ,2(SP) $TYPEX (PC)+ 0 PC ;JBRANCH IF <HT> ;sBRANCH IF NOT <CRLF> J:POP <CR><LF> EQUIV ;:TYPE A CR AND LF :;CLEAR CHARACTER COUNT ;:GET NEXT CHARACTER ;;G0 TYPE THIS CHARACTER :;1S IT TIME FOR FILLER CHARS.? ;:IF NO GO GET NEXT CHAR. ;;GET # OF FILLER CHARS. NEEDED ;;DOES A NULL NEED TO BE TYPED? ;:BR IF NO--GO POP THE NULL OFF OF STACK 2:G0 TYPE A NULL 2.DO NOT COUNT AS A COUNT ;;LOOP ;-REPLACE TAB WITH SPACE ;. TYPE A SPACE ; ;BRANCH IF NOT AT ;. TAB STOP ;.POP SPACE OFF STACK ;;GET NEXV CHARACTER ;JWAIT UNTIL PRINTER IS READY ::LOAD CHAR TO BE TYPED INTO DATA REG. ::1S CHARACTER A CARRIAGE RETURN? ::BRANCH IF NO ::gi?;-CLEAR CHARACTER COUNT ::1S CHARACTER A LINE FEED? ;;BRANCH IF YES ;3COUNT THE CHARACTER ;s CHARACTER COUNT STORAGE i i (X A eed med D e 2 D (RO)+,~(SP) 43 (SP)+ (SP)+,RO d BNE TST a2(SP) ,RO d e 000002 MOVB o 2%: 3% RO,-(SP) ::1S THERE A TERMINAL? ;;BR IF YES ;;HALT HERE IF NO TERMINAL . sLEAVE ;:SAVE RO ;;GET ADDRESS OF ASCIZ STRING ::PUSH CHARACTER TO BE TYPED ONTO STA(K ;:BR IF IT ISN'T THE TERMINATOR IF TERMINATOR POP IT OFF THE STA(CK ;o ;;RESTORE RO 2 sADJUST RETURN PC ;:RETURN eh e 122716 001430 000002 $TPFLG 1% n 001005 005726 012600 062716 000002 1%: TSTB BPL HALT BR MOV MoV DA 112046 $TYPE: _A_ BN __ A 000000 000407 010046 017600 001157 SEQ 0228 SEQ 0227 PAGE 229 A 055000 105737 100002 2 A 054736 054742 054744 054746 054750 054752 054756 054760 054762 054764 054766 054772 054774 TYPE ROUTINE H 12:41 “ 9770 9771 9772 9773 9774 9775 9776 9777 9778 9779 9780 9781 9782 9783 26-JUL-78 10:10 27-JuUL-78 A CZRJGC.PN MACY11 30A(1052) 2 CZRJGCO,RPO4/5/6 DSKLS CTRLRI] 9842 9843 9844 9845 9846 9847 9848 9849 9850 9851 9852 9853 9854 9855 9856 056235 055176 TYPE 0461444 000007 1%: 000176 001140 000011 055156 001216 000023 3%: 123572 31s: 123564 123560 177600 000021 000100 32%: 000175 000040 177520 4% 055160 055175 055164 055160 000176 001140 123444 5%: $CKSWR: 1 ;218 IT A CONTROL C? ;JBRANCH IF NO JSCONTLC ;:TYPE A CONTROL-C (~C) 2% ;;BRANCH IF NO PC,STKINT (SP)+ OPERSEL (SP) ,#7 LSBELL ;:RING THE TTY BELL BNE CLR TST 32% as$TkKS ::BRANCH IF NO ::DISABLE TTY KEYBOARD INTERRUPTS cMwP 7S18B BPL MOVB BIC CMP MOV RTI INC CMP BLT cMP BGT BIC MOVB INC (MP BNE MOV RT1 CMP BNE TSTB BPL #SWREG, SWR 63 #9. ,$TKCNT is (SP)+ 5% (SP) 423 (SP)+ a3TKS 218 a$TKB,~-(SP) ;INIT THE KEYBOARD JsCLEAN UP STACK :2CONTROL C RESTART ;:1S IT A CONTROL G? ;1S SOFT-SWR SELECTED? ;:G0 TO SWR CHANGE ;oIS THE QUEUE FULL? ;;BRANCH ]F NO :;CLEAN CHARACTER OFF OF STACK JsEXIT ;:1S IT A CONTROL-S? ;;CLEAN CHAR OFF STACK J:WAIT FOR A CHAR 2:L00P UNTIL ITS THERE ;:GET THE CHARACTER #~C177.(SP) (SP)+ 421 31% ;:MAKE IT 7-BIT ASCII ;218 IT A CONTROL-Q? ;:BRANCH IF NO $TKCNT (SP) ,#140 4% (SP) , 175 43 N M ;;COUNT THIS CHARACTER ::1S IT UPPER CASE? ;;BRANCH IF YES ;:1S IT A SPECIAL CHAR? :;BRANCH IF YES #100,3$TKS #40, (SP) (SP)+,a8TKQIN $TKQIN $TKQIN,#$TKQEND 5% :::EEGSBLE TTY KEYBOARD INTERRUPTS ;sMAKE IT UPPER CASE J;AND PUT IT IN QUEUE :;UPDATE THE POINTER ;GO OFF THE END? ;;BRANCH IF NO #$TKQSRT ,$TKQIN ;;RESET THE POINTER ; sRETURN H#SWREG, SWR 15% a$TKS 158 ;1S THE SOFT-SWR SELECTED JsEXIT IF NOT ::1S A CHAR WAITING? IF NOT, EXIT ;o i ot [ala) SR Y Y W YN Y YUY WIES Y YUY Y W L STRIP THE JUNK Y (SP) 43 N #-C177,(SP) JSR TST JMP CMP BNE CMP BEGC (MP BNE TYPE TST BR BNE 123536 055156 000140 055160 RTS MOVB BIC CMP BNE PO $TKSRY: ;;INITIALIZE THE KEYBOARD VECTOR ;;'BR'’ LEVEL 4 ;;CLEAR DONE FLAG :;ENABLE TTY KEYBOARD INTERRUPT J:RETURN TO CALLER ;:PICKUP THE CHARACTER XA _%__N__a 123674 177600 000003 ;cQUEUE INTO THE INPUT & OUTPUT POINTERS. _ 123700 $TKQIN,$TKQOUT N#STKSRV,a#TKVEC #200,3#TKVEC+2 a$TKB #100,98TKS PC o$TKB, - (SP) ;;NUMBER OF ITEMS IN QUEUE 2. INPUT POINTER 2 :0UTPUT POINTER ;;CLEAR COUNT OF ITEMS IN QUEUE ;;MOVE THE STARTING ADDRESS OF THE A MOV MOV MOV TST MOV 0 0 0 $TKCNT #$TKQSRT ,$TKQIN _ 055160 055162 000060 000062 SEQ 0229 SEQ 0228 PAGE 230 & 9836 9837 9838 9839 9840 9841 055156 055164 055160 055246 000200 123710 000100 $TKCNT: .WORD $TKQIN: .WORD $TKQOUT: .WORD $TKINT: CLR MOV 2 _ 9827 9828 9829 9830 9831 9832 9833 9834 9835 000000 000000 000000 005037 012737 013737 012737 TTY INPUT ROUTINE I 12:41 A 9826 055156 055160 055162 055176 055202 055210 055216 055224 27-JuL-78 2 9818 9819 9820 9821 9822 9823 9824 9825 MACY11 30A(1052) A (ZRJGCO,RP0O4/5/6 DSKLS CTRLR1 CZRJGC.PI 26-JUL-78 10:10 C2ZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.P1 26-JUL~78 10:10 9874 055502 117746 MACY11 30A(1052) TTY INPUT ROUTINE MovB 123440 177600 000007 001134 055176 123402 000001 056247 056254 000176 27-JUL-78 000001 #1 SAUTOB. 2% 6%: + (SP) PC,$TKINT asTks #1.$INTAG L$CNTLG $GTSWR: “SMSWR = (SP) SWREG, . SMNEW -(SP) -(SP) a$TKS 7$ 19%: 7%: 123342 (SP) $TK-B, #4C177,(SP) (SP) 43 9% 123336 177600 000003 056235 000006 001135 000100 041444 000025 as$TKB,~(SP) #-C177,(SP) (SP) &7 3 001135 056265 J 12:41 LSCNTLC #6,SP #1 $INTAG, 8% 000001 #100,98TKS OPERSEL 123274 98: 056242 000006 20%: 000015 10%: (SP) 425 108 LSCNTLU #6,SP 19% (SP) ,#15 000004 2(SP) ,aSWR #6,SP 123222 000002 000006 001223 001135 000001 000100 123200 .SCRLF 000060 000002 TST BEQ ASL J:YES ;:MAKE IT 7-BIT ASCII 2:1S IT A CONTROL=-G? ;:21F NOT, PUT IT IN THE TTY QUEUE ;;ARE WE RUNNING IN AUTO-MODE? ::BRANCH [F YES ::CLEAR CONTROL=-G OFF STACK ::FLUSH THE TTY INPUT QUEUE ::DISABLE TTY KEYBOARD INTERRUPTS ::SET INTERRUPT MODE INDICATOR ;;ECHO THE CONTROL-G (*G) ::TYPE CURRENT CONTENTS ;¢SAVE SWREG FOR TYPEOUT ::G0 TYPE--OCTAL ASCII(ALL DIGITS) ::PROMPT FOR NEW SWR ;sCLEAR COUNTER ;:THE NEW SWR ::CHAR THERE? 2:IF NOT TRY AGAIN ;:PICK UP CHAR ::MAKE IT 7-BIT ASCII ;oIS IT A CONTROL=-C? :JBRANCH IF NOT JeYES, ECHO CONTROL-C (*O) ;:CLEAN UP STACK :2REENABLE TTY KEYBOARD INTERRUPTS? ;JBRANCH IF NO ;;ALLOW TTY KEYBOARD INTERRUPTS ;cCONTROL-C RESTART ;1S IT A CONTROL=-U? ; ;BRANCH 1F NOT ::YES, ECHO CONTROL-U (*W) ::IGNORE PREVIOUS INPUT ::LET'S TRY IT AGAIN J0IS IT A <CR>? ;;BRANCH IF NO :YES, IS IT THE FIRST (CHAR? :JBRANCH IF YES :;SAVE NEW SWR ;:CLEAR UP STACK ;:ECHO <CR> AND <LF> :RE-ENABLE TTY KBD INTERRUPTS? :;BRANCH [F NOT :;RE-ENABLE TTY KBD INTERRUPTS PC,STYPEC (SP) ,#60 18% ;;CHAR < 0? :;BRANCH IF YES %SP),#b? 8$ 000067 SEQ 0230 SEQ 0229 PAGE 231 15% #100,3$TKS S$INTAG,#1 055106 000060 2 #60, (SP)+ 2(SP) 17% (SP) (SP) (SP) ; sRETURN ;;ECHO CHAR ;:CHAR > 7? ;JBRANCH IF YES ::STRIP-OFF ASCII ::1S THIS THE FIRST CHAR ;;BRANCH IF YES ::NO, J: M SHIFT PRESENT CHAR OVER TO MAKE ROOM FOR NEW ONE. ; :DECREMENT THE COUNTER :2SAVE R3 (MPB 001222 A ¥ BNE TYPE #177,(R3) 056222 056222 000015 3%: BR MOVB 13 000002 000004 000 047040 000040 43 33 .SQUES ;iSKIP IF NOT :cTYPE A '2° (R3),9% ;JECHO THE CHARACTER .98 ;1S IT A RUBOUT ;:CLEAR THE BUFFER AND LOOP TYPE LSLF ;;TYPE A LINE FEED MOV 4L(SP),2(SP) S O O /~C/<15><12> <15><12>/SWR = / 000012 000 000012 020122 SCNTLC: SMSWR: .ASCIZ 053505 SMNEW: .ASCIZ .ASCIZ LASCIZ -1(R3) (SP)+ ,R3 (SP) ,-(SP) #STTYIN,4L(SP) /*U/<15><12> /*G/<15><12> / :;CLEAR RETURN (THE 15) ;RESTORE R3 ..ADJUST THE STACK AND PUT ADDRESS OF THE FIRST ASCI]1 CHARACTER ON IT : ;RETURN ;:STORAGE FOR ASCII CHAR. ..TERMINATOR ;CONTROL 'T" ..CONTROL ‘U ;CONTROL ''G"’ NEW = ;FROM THE P [alal and (SP)+,(R3) ::BR IF YES ::GO READ ONE CHARACTER FROM THE TTY ::GET CHARAC(CTER ;:CHECK FOR RETURN ::LOOP IF NOT RETURN MOV RTI ) end e ed e ;:GET ADDRESS J:BUFFER FULL? #15,(R3)+ 2% BYTE BYTE .ASCIZ $CNTLU: $CNTLG: a$TKQOUT,4(SP) ;:GET ONE CHARACTER $TKQOUT :;UPDATE THE POINTER $TKQOUT ,#$TKQEND ;:DID IT GO OFF OF THE END? 2% ;;BRANCH IF NO #STKQSRT ,$TKQOUT ;,RESET THE POINTER ; RETURN CMPB BNE MOV MOV 9% : ¢.~503 005015 006507 053523 TYPE CLRB 177777 001224 000004 056224 BLOS RDCHR MOVB ) e 10%: $RDLIN: MOV 056224 056235 emd 000177 055162 055175 e R3,-(SP) A#STTYIN,R3 #STTYIN+9, ,R3 055164 DEC STACK ) e MOV CMP V0004 ::PUT NEW PC ON e 1%: 2%: 177072 055162 055162 ;:THE PS ed e 2s: MOVB INC CMP BNE MOV RTI 055156 A $TKCNT 1%: ) —d ?;KCNT ;;POP NEW PC AND PS ;:WAIT ON A CHARACTER #6438 ,-(SP) RTI égg 055155 056247 056254 056262 056265 056272 ::GET READY FOR A CHARACTER :sPUT NEW PS ON STACK S e MOV 056052 4(SP) -(SP) 4(SP) ,2(SP) d ed CLR CLR d MOV h e 000002 ;;KEEP COUNT OF CHAR ;:SET IN NEW CHAR :;GET THE NEXT ONE ;2 TYPE ?2<CR><LF> ;sSIMULATE CONTROL-U ::PUSH DOWN THE PC AND D 000004 (00004 2(SP) ~2(SP), (SP) 7% . SQUES 20% (SP) ,-(SP) A 001222 INC BIS BR TYPE 18%: BR $RDCHR: MOV D 17%: 005002 177776 SEQ 0231 SEQ 0230 PAGE 232 TTY __»a 005266 056616 000667 104401 000720 011646 016666 005066 005046 012746 2 % 056006 056012 056016 056020 056024 056026 056030 056036 056042 K 12:41 30A(1052) 27-JUL-78 TT' INPUT ROUTINE %__ 9930 9931 9932 9933 9934 9935 MACY1] 2" _A_ CZRJGCO,RPO4/5/6 DSKLS CTRLR1 26-JuL-78 10:10 CZRJIGC.PIN TO TYPE 000060 000067 ;;CLEAR DATA WORD ;:PICKUP THIS CHARACTER ;:IF ZERO GET OUT :sMAKE SURE THIS CHARACTER ;1S AN OCTAL DIGIT AL R2 #°C7,(SP) (SP)+,R1 177770 G Pour Ger Gy G NVONOWVESWN=0O 838383333 Do Qe fhar Qe G P N W U i e 10009 000012 056434 3%: AN 001222 5%: $HIOCT: TST MOV MOV MOV MOV MOV RT] TST CLRB TYPE .WORD TYPE B8R .WORD 2% + (SP) R1,12(SP) R2,$HIOCT (SP)+ ,R2 (SP)+ ,R1 (SP)+,R0 (SP)+ (RO) 0 ;%8 ;;STRIP THE ASCII JUNK :;ADD IN THIS DIGIT ;.LOOP ;;CLEAN TERMINATOR FROM STACK ;sSAVE THE RESULT ;POP STACK INTO R2 ;.POP STACK INTO R1 :;POP STACK INTO RO ; RETURN ;. CLEAN PARTIAL FROM STACK ;:SET A TERMINATOR ;:TYPE UP THRU THE BAD (HAR. . SQUES ;:l.?'l 0 ;;HIGH ORDER BITS GO HERE 1% Py - [alal A b D oh e e 2B oo e J.%2 2 ed ed ed e ;.GET ADDRESS OF 1ST CHARA(TER ;oAND SAVE IT D e rJvB ;;READ AN ASCIZ LINE e 2%: (SP)+,R0O RO.5% R1 R2 (RO) +,-(SP) $ #°'0,(SP) 43 #'7,(SP) ) e 056424 R1,-(SP) R2,-(SP) ;;PROVIDE SPACE FOR THE ;¢ INPUT NUMBER ;cPUSH RO ON STACK ;:PUSH R1 ON STACK :;PUSH R2 ON STACK .ICRIOz ;:TRY AGAIN llF.l N__ BA_A_A_Nn RDLIN (SP) ,~(SP) 4(SP) ,2(SP) RO,-(SP) _ 1%: 104411 012600 010037 000002 MOV MoV MOV A 000004 $RDOCT: MOV A 011646 016666 010046 010146 010246 » 9985 056276 056300 056306 056310 056312 056314 056316 056320 SEQ 0232 SEQ 0231 _a 9981 9982 9983 9984 L 2 PAGE 233 27-JuL=78 12:41 MACY11 30A(1052) READ AN OCTAL NUMBER FROM THE TTY N CZRJIGCO,RPO4/5/6 DSKLS CTRLRI] CZRJGC.PN 26~JuL-78 10:10 001214 BEQ MOV RT! 221709.GSUR $LPERR, (SP) $ESCAPE 5% $ESCAPE, (SP) ; JRETURN ~E S [ala) ) ) =d b ) e D el D D ) b o oD ol e e e ::SKIP IF CONTINUE ;sHALT ON ERROR! ::TEST FOR CHANGE IN SOFT-SWR ;;LO0P ON ERROR SWITCH SET? .:BR IF NO ::FUDGE RETURN FOR LOOPING ::CHECK FOR AN ESCAPE ADDRESS ;:BR IF NONE ::FUDGE RETURN ADDRESS FOR ESCAPE 8 eed e MOV TST 3% D 4%: BEQ ;sHALT ON ERROR .SCRLF ) ed 122356 aSWR ) 001110 001214 3s: 2%: PC,SERRTYP d 001000 TYPE TST BPL HALT CKSWR BIT ;:;STRIP AND SAVE THE ERROR ITEM CODE ;o SKIP TYPEOUT IF SET ;:SKIP TYPEOUTS :.G0 TO USER ERROR ROUTINE #81T13,aSWR 20$ D JSR :;COUNT THE NUMBER OF ERRORS :;GET ADDRESS OF ERROR INSTRUCTION B o h BNE 056604 001223 122372 L SBELL SERTTL (SP) ,$ERRPC #2,SERRPC a$ERRPC,SITEMB ;sBELL ON ERROR? ;sNO - SKIP ;sRING BELL ¥ BIT qur1o.asun Y 122376 020000 7% :;DON'T LET THE FLAG GO TO ZERO $TSTNM,aDISPLAY ;:DISPLAY TEST NUMBER AND ERROR FLAG YN 1%: MOV BIT BEQ TYPE INC MOV suB MovB :SET ERROR FLAG ;;SET THE ERROR FLAG YU 001402 013716 000002 001216 001112 001116 000002 INCB BEQ :;TEST FOR CHANGE IN SOFT-SWR W 104407 032777 001402 013716 005737 122460 122450 7%: #-1,3#CRFLGS $ERFLG YU 104401 005777 100002 000000 001102 002000 001103 CKSWR MOV YN 056506 056514 056522 056530 056532 056536 056542 056546 056550 056552 056554 056562 056564 056570 056574 056576 056602 104401 005237 011637 162737 117737 032777 001004 004737 002006 U 056470 056472 056476 056502 177777 SEQ 0233 SEQ 0232 N 056462 104407 012737 105237 001775 013777 032777 001402 PAGE 234 PO 056436 056440 056446 056452 056454 2 _a CZRJIGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.PW 26-JUL-78 10:10 M 27-JUL-78 12:41 MACY11 30A(1052) ERROR HANDLER ROUTINE CZRJGCO,RPO4/5/6 DSKLS CTRLR] CZRJGC.PT 26-JuUL~78 10:10 056604 056610 056612 056614 104401 N 2 PAGE 235 27-JuL=78 12:41 MACY11 30A(1052) ERROR MESSAGE TYPEOUT ROUTINE TYPE 001223 001116 001226 056656 001223 BNE MOV 1% $ERRPC,-(SP) TYPOC 1%: 001223 056674 RO,~-(SP) RO B8ISB 001114 BR DEC ASL ASL ASL ADD MOV BEQ 2%: 3%: A 5%: 6%: TYPE 056754 001223 056754 020040 000 11%: 10% RO ;;PICKUP THE ITEM INDEX :;1F ITEM NUMBER IS ZERO, JUST ;. SAVE SERRPC FOR TYPEOUT ::GO TYPE--OCTAL ASCII(ALL DIGITS) JGET our RO RO RO #$ERRTB,RO (RO)+,2% 3s ..ADJUST THE INDEX SO THAT IT WILL WORK FOR THE ERROR TABLE M ;. :FORM TABLE POINTER ..PICKUP "ERROR MESSAGE'' POINTER sSKIP TYPEOUT IF NO POINTER ..TYPE THE 'ERROR MESSAGE'’ :"ERROR MESSAGE’' POINTER GOES HERE :.'tARRIAGE RETURN'®' & "LINE FEED'' ;;PICKUP ‘DATA HEADER'' POINTER ::SKIP TYPEOUT IF 0 ::TYPE THE ‘DATA HEADER'' ::'DATA HEADER'' POINTER GOES HERE :2"'CARRIAGE RETURN'' & ‘LINE FEED'' ;:SAVE R1 :;PICKUP 'DATA TABLE'' POINTER ::BR IF NO DATA TO BE TYPED ;:PICKUP DATA FORMAT'' POINTER ..'DCTAL" ‘DECIMAL’’ 0 MOV BEQ (RO)+,4% 5% .WORD 0 MOV MOV BEQ Mov TSTB BNE MoV R1.-(SP) (RO)+,R1 9% (RO)+ R0 (RO) + 7% a(R1)+,-(SP) BR MOV 8s a(R1)+,-(SP) TST BEQ (R1) 9s ;sBR IF NO BR 6% --LOOP MOV (SP)+,R0O TYPE TYPE TYPDS TYPE 9%: 108 : a#SITEMB.RO & 'LINE FEED" ;:"'CARRIAGE RETURN'' ;s SAVE RO .WORD TYPE TYPOC 8%: LSCRLF MOV CLR MOV TYPE RTS JASCIZ .SCRLF .SCRLF L1118 (SP)+ ,R1 .SCRLF PC /7 / LBR IF DECIMAL ..SAVE a(R1)+ FOR TYPEOUT ::G0 TYPE=-=OCTAL ASCIICALL DIGITS) ;.SAVE a(R1)+ FOR TYPEOUT ;:G0 TYPE-~DECIMAL ASCII WITH SIGN :.1S THERE ANOTHER NUMBER? ::TYPE TWO(2) SPACES ;RESTORE R1 .,RESTORE RO ;' 'CARRJAGE &ETURN'' & "LINE FEED'' RETURN :;TUO(Z) SPACES SEQ 0234 SEQ 0233 10090 10091 10092 10093 10094 10095 10096 10097 10098 10099 ) b Gy G G Qe G G G o Qo [ D D b b d d e N S G S ololololelololalelols] 10 Sour Qs Qo 10100 056760 056764 056772 056776 017646 116637 112637 062716 000406 112737 112737 112737 010346 010446 010546 113704 005404 062704 110437 113704 016605 005003 006105 000404 006105 006105 000000 000001 057205 000002 000001 000006 000005 057203 057203 057205 057202 $TYPOS: MOV MOVB MOVB ADD BR $TYPOC: MOVB MOVB $TYPON: MOVB MoV MOV MOV 057205 000006 057204 057203 000012 1%: 2s: 3s: 057204 177770 'A 000060 000040 057200 057200 057202 5%: 7%: 6%: 00000¢ MOVB NEG ADD MOVB MOVB MOV CLR ROL BR 8%: $OCNT: ;;PICKUP THE MODE :;LOAD ZERO FILL SWITCH ;:NUMBER OF DIGITS TO TYPE ; ;ADJUST RETURN ADDRESS R3,-(SP) ;sSAVE R3 #1,80FILL #6,SOMODE +1 #5,80CNT ;:SET THE ZERO FILL SWITCH ::SET FOR SIX(6) DIGITS 2;SET THE ITERATION COUNT R4 ,-(SP) RS,-(SP) ::SAVE R4 2 :SAVE RS ::GET THE NUMBER OF DIGITS TO TYPE $OMODE +1,R4 R4 #6 .Ré4 R4, $OMODE R4 $OFILL 12(SP) ,R5 ::SUBTRACT IT FOR MAX. ALLOWED ;:SAVE IT FOR USE ;:;GET THE ZERO FILL SWITCH :;PICKUP THE INPUT NUMBER ::CLEAR THE OUTPUT WORD :2ROTATE MSB INTO '‘C*’ ROL ;:G0 DO MSB ;:FORM THIS DIGIT ROL ::GET LSB OF THIS DIGIT ROL ROL MOV ;;TYPE DECB 8PL BIC BNE TST BEQ ;:TEST FOR O ::SUPPRESS THIS 0? :;BR IF YES ::DON'T SUPPRESS ANYMORE 0'S ;*MAKE THIS DIGIT ASCII ;sMAKE ASCI] IF NOT ALREADY BIS BIS MOVB TYPE DECB BGT BLT INC BR MOV MOV MOV RTI BYTE .BYTE $OFILL: .BYTE $OMODE: .WORD THIS DIGIT? ;:BR IF NO ::GET RID OF JUNK INC MOV MOV 000004 (SP)+,RS (SP)+,R4 (SP)+ ,R3 2(SP) ,4(SP) (SP)+,(SP) ;:SAVE FOR TYPING ;GO TYPE THIS DIGIT ;s COUNT BY 1 ;:BR IF MORE TO DO ;:BR IF DONE ;s INSURE LAST DIGIT ISN'T A BLANK ;:GO DO THE LAST DIGIT :;RESTORE RS ;;RESTORE R4 :;RESTORE R3 ;:SET THE STACK FOR RETURNING ; ;RETURN 2 ;STORAGE FOR ASCII DIGIT ;. TERMINATOR FOR TYPE ROUTINE :cO0CTAL DIGIT COUNTER ;. ZERO FILL SWITCH ;sNUMBER OF DIGITS TO TYPE ala] SEQ 0235 SEQ 0234 a(SP) ,-(SP) 1(SP) ,SOFILL (SP) +,$0MODE +1 #2,(SP) $TYPON elelelels CZRJIGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC P11 26~JUL-78 10:10 8 3 27-JuL-78 12:41 PAGE 236 MACY11 30A(1052) BINARY TO OCTAL (ASCII) AND TYPE CZRJGCO,RP04/5/6 DSKLS CTRLRI1 CZRJGC.PN 26~JuL~78 10:10 10142 10143 10144 10145 10146 10147 10148 10149 10150 10151 10152 10153 10154 10155 10156 10157 10158 10159 10160 10161 10162 10163 10164 10165 057206 057210 057214 057216 057220 057222 057226 057230 057232 057240 057242 057244 057246 057250 057252 057254 057256 057260 057262 057264 057266 057270 057272 057274 010046 016600 005740 111000 006300 016000 000200 011646 016663 00000 057230 054736 057004 056760 057020 054512 055554 055464 056026 056116 056276 042602 042654 043172 MACY11 30A(1052) TRAP DECODER $TRAP: 000002 057242 000004 27-JUL-78 000002 MOV MOV TST mMOvB ASL MOV RTS $TRAP?Z: MOV MoV RTI $TRPAD: .WORD $TYPE $TYPOC $TYPOS $TYPON $TYPDS $GTSWR $CKSWR $RDCHR $RDLIN $RDOCT T.SCOP CHECKT WAIT.T c 12:41 3 RO,-(SP) 2(SP) RO -(R0O) (RO) ,RO R0 $TRPAD (RO) ,RO RO (SP) ,-(SP) 4(SP),2(SP) STRAP? ;s CALL=TYPE ;s CALL=TYPOC ;s CALL=TYPOS s CALL=TYPON ;s CALL=TYPDS :sCALL=GTSWR ;s CALL=CKSWR 2 s CALL=RDCHR csCALL=RDLIN ;:CALL=RDOCT ;s CALL=SCOP SEQ 0236 PAGE 237 ;. CALL=CHECKD ;o CALL=WAT SEQ 0235 ;:SAVE RO ;:GET TRAP ADDRESS ;;BACKUP BY 2 :;GET RIGHT BYTE OF TRAP ;;POSITION FOR INDEXING ;s INDEX TO TABLE ::G0 TO ROUTINE :JMOVE THE PC DOWN ;:MOVE THE PSW DOWN ;:RESTORE THE PSW TRAP+1(104401) TTY TYPEOUT ROUTINE TRAP+6(104406) TRAP+7(104407) GET SOFT-SWR SETTING TEST FOR CHANGE IN SOF T-SWR TRAP+2(104402) TRAP+3(104403) TRAP+4(104404) TRAP+5(104405) TYPE TYPE TYPE TYPE OCTAL NUMBER (WITH LEADING ZEROS) OCTAL NUMBER (NO LEADING ZEROS) OCTAL NUMBER (AS PER LAST (ALL) DECIMAL NUMBER (WITH SIGN) TRAP+10(104410) TTY TYPEIN CHARACTER ROUTINE TRAP+11(104411) TTY TYPEIN STRING ROUTINE TRAP+12(104412) READ AN OCTAL NUMBER FROM TTY TRAP+13(104413) My LOCAL SCOPES TRAP+14(104414) CHECK DVA,RDY,DPR,DRY TRAP+15(104415) WAIT LOOP CZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.PN 26~-JuL~78 10:10 10166 10167 10168 10169 10170 10171 10172 10173 10174 10175 10176 10177 10178 10179 10180 10181 10182 10183 10184 10185 10186 10187 10188 10189 10190 10191 10192 10193 10194 10195 10196 10197 10198 10199 10200 10201 10202 057276 012737 012737 010046 010146 010246 010346 010446 010546 017746 010637 012737 000000 000776 012737 013706 005037 005237 001375 012677 012605 012604 012603 012602 012601 012600 012737 012737 104401 057442 000340 121606 057446 057350 057442 057446 057446 057446 000024 000026 000024 000024 121540 $PWRDN: MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV HALT BR $SPWRUP: MOV MOV CLR 1%: INC BNE MoV MOV MOV MOV MOV MOV 057276 000340 MOV MOV MOV 000024 000026 $PWRMG: $PWRAD: $SILLUP: 047520 0 12:41 POWER DOWN AND UP ROUTINES 057450 012716 004240 057456 27-JUL-78 MACY11 30A(1052) 042527 $SAVR6: $POWER: TYPE .WORD MoV .WORD RTI HALT B8R O .ASCIZ 3 SEQ 0237 SEQ 0236 PAGE 238 #SILLUP,O#PWRVEC ;,;SET FOR FAST UP #340,3~PWRVEC+2 RO,~(SP) R1,-(SP) R2,-(SP) :;PRIO:7 J:PUSH RO ON STACK ;:PUSH R1 ON STACK J:PUSH R2 ON STACK aSWR,-(SP) SP,$SAVR6 ;PUSH aSWR ON STACK ;:SAVE SP .~2 ;JHANG UP $SAVR6,SP $SAVR6 $SAVR6 ;:GET SP :;WAIT LOOP FOR THE TTY J:WAIT FOR THE INC (SP) +,aSWR ;;POP STACK INTO aSWwR R3,~-(SP) R4 ,=-(SP) RS5.,-(SP) ::PUSH R3 ON STACK ::PUSH R4 ON STACK ::PUSH RS ON STACK #SPWRUP ,a#PWRVEC ;:SET UP VECTOR ASILLUP ,a#PWRVEC 18 (SP)+ RS (SP)+ R4 (SP)+,R3 (SP)+,R2 (SP)+ ,R1 (SP)+ RO ;.SET FOR FAST DOWN ::0F WORD ::POP STACK INTO RS ::POP STACK INTO R4 :;POP :;POP ::POP ::POP STACK STACK STACK STACK INTO INTO INTO INTO R3 R2 R1 RO #SPWRDN ,a#PWRVEC ;;SET UP THE POWER DOWN VECTOR #340,34#PWRVEC+2 ;;PRIO:7 $POWER (PC)+,(SP) BEGIN .~2 <15><12>'POWER'’ ;REPORT THE POWER FAILURE ;;POWER FAIL MESSAGE POINTER :;RESTART AT BEGIN ; ;RESTART ADDRESS ;. THE POWER UP SEQUENCE WAS STARTED ;; BEFORE THE POWER DOWN WAS (DMPLETE ;.;PUT THE SP HERE CZRJGCO,RPO4/5/6 DSKLS CTRLRI CZRJGC.P1 26-JUL-78 10:10 10203 10204 10205 10206 10207 10208 10209 10210 10211 10212 10213 10214 10215 10216 10217 10218 10219 10220 10221 10222 10223 10224 10225 10226 10227 10228 10229 10230 10231 E 27-JUL-78 12:41 POWER DOWN AND UP ROUTINES 30A(1052) 3 SEQ 0238 SEQ 0237 PAGE 239 ;tttt'tttttittt‘**tttt"tQttttfittttttttttttttttttitttttt'ttttttt'**'ttt * "+ERROR AND MESSAGE TABLE CONDIMENTS . % [ ;t'ttittttttifittt*ttttt'tttt*tttttttt*'t*tttttttttttitttifittt*tttfi.fittt' 057460 057466 057474 057502 057510 057516 057524 057532 057540 057543 057550 057556 051127 040504 020116 047111 053440 043516 053504 042522 051105 105 047440 052101 046515 10232 10233 10234 10235 10236 10237 10238 10239 10240 10241 10242 10243 10244 10245 10246 10247 10248 10249 10250 10251 10252 10253 10254 10255 10256 10257 10258 MACY1T 020107 044440 042101 051117 044524 051101 020105 052123 EM1: .ASCIZ /WRONG DATA [N READING OR WRITING HARDWARE REGISTER/ 051122 020116 020101 047101 051117 042040 047503 EM2: .ASCI1Z /ERROR ON EM6: .ASCIZ /ERROR ON WRITE HEADER AND DATA/ 047117 042514 042040 051440 000123 044507 043040 000104 020116 042524 043505 026122 043517 041101 027104 044501 050117 042514 052111 051124 EM11: .ASCIZ /CONTROLLER OR DRIVE STATUS/ 052123 044501 EMI4: .ASCIZ /REGISTER FAILED/ 054105 052116 05151 020040 040522 051117 000 020124 043040 000104 020105 020113 047111 EM1S5: .ASCIZ /NON EXISTENT REGISTER, EM16: LASCIZ /WAIT LOOP FAILED/ EM17: .ASCIZ /WRITE 044507 043040 043516 052116 052120 044514 052123 044501 000 051105 EM20: LASCIZ /REGISTER FAILING/ EM21: LASCIZ /INTERRUPT FAILING/ 047117 040524 042522 020107 044522 044040 051101 044507 000 047522 053440 044040 020122 040504 041505 046171 052522 044501 000104 020122 044522 040505 047101 040524 020122 044522 040524 043040 043516 DATA (OMMAND/ CHECK FAILING/ PROGRAM ABORTED./ CZRJGCO,RPO4/5/6 DSKLS CTRLR1 26-JUL-78 10:10 CZRJGC.PIN 10259 10260 10261 10262 10263 10264 10265 10266 10267 10268 10269 10270 10271 10272 10273 10274 10275 10276 10277 10278 10279 10280 10281 10282 10283 10284 10285 10286 10287 10288 10289 10290 10291 10292 10293 10294 10295 10296 060064 060065 060072 060100 060106 060114 060120 000 105 047440 05311 042522 026440 044124 05211 020123 043440 044122 051505 051505 042510 044124 044527 020105 052130 044522 114 3 SEQ 0239 SEQ 0238 PAGE 240 LASCII /ERROR ON DRIVES PRESENT =-/<15><12> 047125 023517 047125 051440 043516 020123 020107 LASCII /THE UNIT NO'S FOUND BY SETTING RHAS USING RHER1/<15><12> 032124 047040 051107 052111 020105 047040 047506 020051 052117 042505 020110 047125 023517 047125 LASCI1 /(T4) DO NOT AGREE WITH THE UNIT NO'S FOUND/<15><12> 020131 047111 020122 020047 047111 031123 020124 005015 042524 042040 047520 051531 040440 042526 052117 047520 046111 047514 020107 047047 020075 051040 024040 LASCII /BY LODKING FOR ‘'NED' = O IN RHCS2 (BIT #12)/<15><12><15><12> LASCII /NOTE: ON DUAL PORT SYSTEM, A DRIVE ON OTHER PORT WILL /<15><12> 020124 023440 020054 044527 053111 051501 047520 005075 041516 051105 046114 047101 040522 042526 047517 044507 042516 052502 046114 020105 051040 051516 LASCII /NOT GIVE 020105 020105 041040 042440 042040 000 020113 .ASCIZ /HENCE LASCIZ /LO0OK AHEAD REGISTER AT THE BEGINNING OF 051122 020116 051505 042523 005015 020105 047040 047506 054502 044524 040510 047111 051105 012 024462 047516 047117 020114 051440 026115 044522 020116 020122 053440 005015 047516 042526 023504 020124 F MACY11 30A(1052) 27-JUL-78 12:41 POWER DOWN AND UP ROUTINES 051117 051104 050040 052116 EM22: 006461 030443 005015 020072 040525 052122 042524 042040 047440 042510 052122 020114 EM24: 'NED', BUT WILL GIVE RHAS RESPONSES/<15><12> THERE WILL BE AN EXTRA DRIVE/ SECTOR IS IN ERROR/ ¢ 10315 10316 10317 10318 10319 10320 10321 10322 10323 10324 10325 10326 10327 10328 10329 10330 10331 10332 10333 10334 060552 960560 060566 060574 060602 060610 060616 060624 060632 060640 060646 060654 060662 060670 060676 060700 044107 042522 051105 044124 044507 020107 041505 051511 051105 047514 042510 043505 020122 060706 060714 060722 060730 060736 060744 060752 MACY11 30A(1052) 020104 052123 020124 042502 047111 051440 020122 020116 000122 040440 051040 042524 044440 047522 051122 054503 051105 020123 040515 042504 020104 042116 047105 044514 042040 047516 041524 044523 054503 051105 05151 061244 051522 047440 IN ERROR/ EM30: .ASCII /CURRENT CYLINDER DCES NOT MATCH DESIRED CYLINDER REGISTER/<15><12> LASCIZ /AFTER A SEEK AND .ASCII /ECC GENERATED IS INCORRECT/<15><12> LASCIZ /EVERY WORD ON THIS SECTOR IS THAT GIVEN IN 'DATA USED'”/ .ASCII /ON READ COMMAND, AFTER DATA AND ECC HAVE BEEN READ,/<15><12> LASCII /ECC REGISTERS OR RHER1 ARE IN ERROR/<15><12> EM31: 012 054522 020104 044510 052103 020123 043440 044440 052101 042105 040505 046515 040440 042040 047101 020103 041040 042522 012 051040 042524 020122 SEQ 0240 SEQ 0239 /LO0OK AHEAD REGISTER IS 042505 043440 052101 020123 051122 PAGE 241 .ASCIZ 012 020104 000 3 EM2S: 051105 051040 047503 026104 051105 020101 041505 042526 G 12:41 POWER DOWN AND UP ROUTINES 040505 044507 040440 020105 047116 043117 047524 044440 047522 045517 042101 051511 051511 051105 042042 051525 27-JUL=78 EM32: INIT/ O CZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.P11 26=-JUL-78 10:10 CZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.PN 26=JUL-78 10:10 N N I S G -t RRRRR RRRRRRRRR RR - P b o b [aS 1)1 N1, 81,§) AN —d b —d b b s = e) WIS NN = OV ~NO WV WN bl =) 10371 10372 10373 10374 10375 10376 10377 10378 10379 10380 10381 10382 10383 10384 10385 10386 10387 10388 10389 10390 103N 10392 10393 10394 10395 10396 10397 10398 10399 10400 10401 10402 10403 10404 10405 10406 10407 10408 10409 10426 061252 061260 061266 061274 061276 044122 051101 0462640 005015 047117 053517 020061 047640 052124 042522 047101 042522 044124 047510 040515 047514 030461 020123 047517 030503 110 047503 044502 020124 043101 034063 046103 000 132 042504 041040 052117 020110 031440 020124 042522 051501 042532 047520 047117 051511 051117 044502 020106 051105 044507 044440 042522 047514 030461 020123 052101 051040 042524 052517 052101 H MACY11 30A(1052) 27-JUL-78 12:41 POWER DOWN AND UP ROUTINES 051105 020105 051122 020061 047111 051117 056514 051105 044502 020106 051105 027107 041040 042101 051511 046125 041524 042527 041040 043117 020104 000 046040 030440 051524 040520 020116 041440 020105 005015 051440 020104 020110 020122 052111 043440 041505 3 PAGE 242 LASCI] /ONLY LOWER 11 BITS OF PATTERN REG. CAN BE READ/<15><12> .ASCIZ /THIS SHOULD MAT(CH LOWER 11 BITS OF GOOD ECC1/ SEQ 0241 SEQ 0240 043511 047125 020124 042523 020110 020124 047516 020124 020122 020071 051513 EM33: LASCIZ /HIGH COUNT BIT NOT SET AFTER 38859 CLOCKS/ 051105 042524 052111 044040 044127 020062 041505 027107 031040 020117 052103 047040 043511 047105 044502 020103 044040 020061 000123 044524 043505 020122 020061 047440 052124 042522 051105 051117 005015 020122 052111 050040 047122 051511 044123 046440 046040 EM34: LASCIZ /ZERO DETECT BIT NOT HIGH WHEN 32 BIT ECC REG. HAS 21 ZEROS/ EM35: LASCII /POSITION REGISTER OR 11 BITS OF PATTERN REGISTER INCORRECT/<15><12> LASCI] /LOWER 11 BITS OF PATTERN REGISTER SHOULD MATCH LOWER/<15><12> 042524 032470 041517 020122 042114 044103 10427 10428 10429 10430 10431 10432 10433 10434 10435 10436 10437 10438 10439 10440 10441 10442 10443 10444 10445 061754 061762 061770 061776 062004 062010 053517 051105 041040 043117 020104 005015 020124 050117 020104 044524 042116 042117 047522 020105 052103 005015 0521 043440 041505 020116 041440 042116 020110 047503 042522 046517 053440 047516 051122 046102 047522 045503 020104 020047 042114 042523 040522 020105 043517 051105 10459 10463 10465 10481 10482 051440 050040 047511 044507 036440 020060 030060 052111 047507 051517 020116 052123 030061 051117 030464 044440 042117 053510 020104 020075 047117 046120 020116 040505 020103 047516 020060 041440 052105 043117 006504 020122 020105 051127 042510 041510 042111 SEQ 0242 SEQ 0241 LASCII /11 BITMS OF GOOD ECC1/<15><12> .ASCIZ /DAT ENVLOP GOOD POSITION AND N-CODE ZEROS ARE IN OCTAL/ EM36: .ASCIZ /ON READ COMMAND WITH NON-CORRECTABLE ERROR 'DCK' AND °'ECH' SHOULD BE SE EM37: .ASCI]1 /PROGRAM ERROR BIT #10 IN RHCS2 DID NOT SET/<15><12> LASCIZ /1F POSITION REGISTER =10040 OR 10041, IT IS GOOD/ LASCII /RHWC DID NOT = O UPON COMPLETION OF READ/<15><12> LASCIZ /OR WRITE HEADER AND DATA/ 047105 043440 047520 047117 047040 020105 020123 04711 046101 047522 020124 047111 031123 047040 052105 044502 020060 3 PAGE 243 EM4O: OODD (o oXoeRookoodvolooRookooRoo o oReodoodooRooooRoodooRooRosRoeooQooookookoo], ) CZRJGCO,RPO4/5/6 DSKLS CTRLRI CZRJGC.P1 26-JUL-78 10:10 I 27-JUL=-78 12:41 POWER DOWN AND UP ROUTINES MACY11 30A(1052) [ Xen BN o Yo) SEQ 0243 SEQ 0242 aOMey 051105 042040 PAGE 244 OO 042101 042116 000101 POWER DOWN AND UP ROUTINES 3 OYO TMM 040440 052101 062432 0626440 062446 26-JuL-78 10:10 J 12:41 oy 10483 10484 10485 CZRJGC.P11 27-JuL-78 (e MACY11 30A(1052) lwlvivivwivivivivivivlvie] CZRJGCO,RPO4/S/6 DSKLS CTRLR1 062450 062456 062464 062472 062500 062506 062514 062522 062530 062536 040506 051105 020055 047504 052116 044524 006440 177607 044124 020105 047440 044526 051501 020105 047111 051517 042503 043440 043117 026105 006524 103777 047522 K 12:41 POWER DOWN AND UP ROUTINES 020114 020122 020105 042515 051511 005015 177777 177777 047503 040524 047522 042523 052503 046040 043516 103412 27-JUL=-78 CPHALT: 046114 020122 3 PAGE 245 SEQ 0244 SEQ 0243 LASCII /FATAL ERROR - SEE DOCUMENT LISTING/<15><12> LASCII / 7<15><12><207><377><377><207><377><377><207><377><377> LASCII /THE CONTROLLER OR DEVICE HAS GONE OFFLINE, LOST/<15><12> 042522 020054 042515 040526 042514 044040 040524 044502 042101 042502 052440 046111 020054 051501 052524 051524 LASCII /'READY', BECOME UNAVAILABLE, OR HAS STATUS BITS/<15><12> 041511 047116 020105 042522 020110 052117 046103 000104 LASCIZ /WHICH CANNOT BE 020040 020040 020040 000 020040 SPACES: SPACE2: LASCII .ASCIZ / /7 120 020103 052040 020040 020056 047517 051040 042526 020040 051505 051040 020040 020104 041505 006504 DH1: .ASCI1 /PC TEST REG. GOOD RECEIVED/<15><12> LASCIZ / NO ADDR. DATA DATA / LASCII /PC TEST WORD GOOD BAD /<15><12> 042117 020040 020117 040440 020040 020101 052101 000040 020040 052123 047527 020040 020040 041101 051117 051440 020123 005015 044127 040503 041040 040505 020040 020124 043505 DHZ: CLEARED/ / lvlvivielviviolw) 10486 10487 10488 10489 10490 10491 10492 10493 MACY11 30A(1052) lvlvlviv]ie)] CZRJIGCO,RPO4/5/6 DSKLS CTRLR] CZRJGC.PTT 26-JuUL~78 10:10 CZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.PN 26-JuUL-78 10:10 10542 10543 10544 10545 10546 10547 10548 10549 10550 10551 10552 040502 063114 063122 063130 063136 063144 063152 063160 020040 020040 047516 020040 020040 040524 10553 10554 10555 10556 10557 10558 10559 10560 10561 10562 10563 10564 10565 10566 051040 042510 020103 052040 020040 044514 047117 041440 020040 020040 020124 043505 020040 031123 042110 051040 000 020103 052040 020040 040440 27-JuL-78 L 12:41 POWER DOWN AND UP ROUTINES MACY11 30A(1052) 3 SEQ 0245 SEQ 0244 PAGE 246 020104 005015 020040 020040 047516 020040 020040 040526 000 020040 051505 043040 043516 027124 047117 041440 020040 027124 012 020040 020117 051040 051104 030523 041510 051040 020040 030522 020040 051505 LASCIZ DH11: LASCII /PC .ASCIZ DH14: LASCII /PC NO NO DATA DATA TEST FAILING CONT. CONT. CONT. CONT. NO REG ADR RHCS1 RHCS?2 RHDS1 RHER1/ TEST FAILING CONT. CONT. CONT. CONT. (CONT. NO REG ADR BAD REG RH(S1 RHCS?2 RHDS1 RHER1/ TEST REG ADR / /<15><12> 043040 043516 027124 047117 041440 020040 027124 047117 006440 020040 020117 051040 051104 051040 041510 051040 020040 030523 042510 020040 051505 051040 051104 .ASCIZ DH15: LASCIZ /PC /<1551 052123 DH16: .ASCI11 /PC SEQ 0246 SEQ 0245 REG /7<15><12> TEST WAIT BIT REG 020040 020040 041520 020040 042105 051104 047503 020040 NO PC WANTED ADDRESS CONT. / DH17: 012 020040 /PC .ASCI2 020117 051040 020040 020102 053510 051040 020040 031123 020040 052123 LASCII TEST CONT. CONT. CONT. CONT. CONT. /<15><12> NO RHBA RHDB RHW(C RHCS1 RHCS? / TEST CONT CONT CONT CONT CONT /<15><12> NO RHER1 RHER?Z RHER3 RHAS RHDS1 / m 052040 020040 051505 041440 020040 027124 047117 041440 020040 027124 LASCIZ DHZ20: LASCII /PC 047503 020040 020040 052116 047503 020040 020040 020040 020040 051105 044122 mMMmMmMMmMMmMMmMMMMMMMMMMMMm 020040 PAGE 247 MM POWER DOWN AND UP ROUTINES .ASCIZ mmMmmmmMmmmm VRN M3 12:41 020040 WVNEBUWN=0O R&-Jg—l-fl—l—l-fl—l—)—l R RRRRRS 27-JUL-78 aal 020040 042524 & 10598 10599 10600 10601 10602 10603 10604 10605 10606 10607 MACY11 30A(1052) R alnalnabnalnalazlansinalnzlnsinslaslas CZRJIGCO,RPO4/5/6 DSKLS CTRLRI] CZRJGC.P1Y 26~-JUL~78 10:10 020040 051504 000 020103 052040 N 12:41 POWER DOWN AND UP ROUTINES 3 SEQ 0247 SEQ 0246 PAGE 248 020040 020061 020040 051505 041440 020040 020124 047117 006440 DH21: /PC TEST CONT ASCIZ / NO RHCS1 LASCII /PC TEST ASCIZ /7 NO LASCII /PC TEST RHDST ASCIZ / NO CONT. LASCII /PC TEST PC OF /<15><12> Q 020040 020117 051040 020040 020123 042110 LASCII 020040 051505 020040 051501 044122 012 020040 020117 020040 052111 DH2Z2: 020040 052123 044122 DH24 : RHCS2/<15><12> 047125 SECTOR 020040 051505 050040 043040 043516 041440 020040 044514 047117 XK XKr 020040 020040 047503 020040 020040 040514 047516 020040 020113 /<15><12> e 020040 051117 SECTOR e =T IIIILIIIIITIIITIIONO 051501 044122 020040 120 020040 020124 047117 27-JUL-78 DH26: FAILING CONT. KEREKREKRERKER 10654 MACY11 30A(1052) r CZRJIGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.P11 26-JuL~-78 10:10 10733 10734 10735 10736 10737 10738 10739 10740 10741 10742 10743 10744 10745 10746 10747 10748 020040 027124 047117 041440 020049 041440 020040 027124 047117 006440 020040 047040 020040 020117 020040 053111 041510 051040 020040 030523 042510 000040 020040 052123 041520 020040 047111 042117 042522 042105 020040 047516 020040 020040 020107 040504 020040 020040 020103 DH27: 020040 020040 051512 020040 020040 040524 040504 020040 020040 051505 050040 020040 020056 047517 041040 020040 020101 020040 020117 045040 020040 042522 052101 042040 020040 020040 042524 020040 020040 052123 047527 DH30: DH31: SEQ 0248 SEQ 0247 PAGE 249 RHDS1 RHER1 CASCIZ / NO JSR REG ADD RHCS1 RHCSZ2 LASCII /PC TEST PC OF FAILING GOOD RECEIVED/<15><12> LASCIZ / NO JSR REG DATA DATA / LASCII /PC TEST PC OF REG. GOOD BAD /<15><12> LASCIZ / NO JSR ADDRESS DATA DATA / LASCII /PC TEST WORD GOOD CONT. CONT. BAD OO POWER DOWN AND UP ROU Tl NE S 4 RIBr-r-r i XXXXXXXRXEXRXX 10719 10720 10721 10722 10723 10724 10725 10726 10727 10728 10729 10730 10731 10732 B 12 04 1 2T 10717 10718 027124 047117 041440 27-JUL-78 Z2TIITZTIT 10710 10711 10712 10713 10714 10715 10716 MACY1T 30A(1052) CONT /<15><1 lelalaleolololnloleolo ey 2l & & &l drdds & ] CZRJIGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.PN 26-JUL-78 10:10 | 10781 10782 10783 10784 10785 10786 10787 10788 10789 10790 107N 10792 10793 10794 020040 020040 020104 047503 020040 020056 052116 005015 020040 020040 047516 27-JUL-78 LASCIZ DH3Z: LASCII /PC & PAGE 250 SEQ 0249 SEQ 0248 DATA DATA RHCS1 RHDS1 RHERT / WORD GOOD BAD CONT. CONT. CONT. JSR MO DATA DATA RHCS1 RHDS1 RHER1 PC OF WORD GOOD CONT. CONT. CONT. /<15><1 NO NO TEST PC NO TEST OF 020040 020104 047517 041040 020040 027124 047117 041440 020040 10795 10796 10797 10798 020040 020117 045040 020040 020040 052101 10799 10800 10801 10802 10803 .ASCIZ X . T 020101 041510 051040 020040 030522 ek-Rrhrhcheh:heherhoehehehoe oo heheheeeelnelnelnclnelnelneine ol BEhe elIolo o NN10 020040 0642117 040502 020040 020056 052116 047503 10766 10767 10768 10769 10770 10771 10772 10773 10774 10775 10776 10777 10778 10779 10780 cC 12:41 POWER DOWN AND UP ROUTINES MACY11 30A(1052) DH33: .ASCI1 /PC 020056 052116 047503 020040 047503 020040 020056 052116 005015 P e 020040 042524 020040 020106 by CZRJIGCO,RP04/5/6 DSKLS CTRLR1 CZRJGC.P1) 26-JuL-78 10:10 020040 020040 051512 020040 020040 040524 044122 020040 020061 051105 000 020040 051505 043440 020040 020104 044522 053440 047105 020101 012 020040 020117 042440 020040 020062 041503 042440 020040 020104 020040 052123 047507 020040 020040 052124 047520 020116 020040 051105 005015 020040 020124 DH34: RHER1 / / NO JSER NO DATA LASCI] /PC TEST GOOD GOOD WRITTEN WRITTEN DATA /7<15><12> NO ECCT ECC2 ECCt / TEST GOOD GOOD PATTERN POSITON GOOD NO ECCT ECC2 REG.REG. TEST PC RHMR POSITON PATTERN /<15><12> .ASCII /PC .ASCIZ DH36: RHDS1 .ASCIZ LASCIZ DH35: SEQ 0250 SEQ 0249 .ASCII /PC OF RHCS1 ECC2 USED RHER1 FOSITON REG. o~ | 020040 POWER DOWN AND UP ROUTINES 4 PAGE 251 YUV UVVVOVUUDOVOOVOUDD 020040 D 12:41 DD ODDDDODDOVILVIOTDO 10822 10823 10824 10825 27-JUL-78 /7<15><1 / TTIODDODDDIDOHT CZRJGCO,RP04/5/6 DSKLS CTRLR1 CZRJGC.P1 26-JuL-78 10:10 MACY11 30A(1052) E CZRJGCO,RPO4/S5/6 DSKLS CTRLRT CZRJGC.P11 26~-JUL-78 10:10 MACY11 30A(1052) 27-JUL-78 12:41 POWER DOWN AND UP ROUTINES 10878 10879 10880 10881 10882 10883 066702 066710 066716 066726 066732 066740 020103 051040 020040 052111 052101 006440 043117 046510 050040 047117 042526 012 020040 020122 051517 050040 047122 10885 10886 10887 10888 10889 10890 10891 066750 066756 066764 066772 067000 067006 067014 020040 020040 051123 0461440 020040 020056 043505 047040 020040 020040 047117 051040 020040 000056 020117 045040 020040 027124 043505 051040 067026 067034 067042 O - 050 067056 067064 067072 067100 067106 020040 020040 044523 047520 020116 020040 042117 040520 020116 10893 1089 10895 10896 10897 10898 10899 10900 10901 10902 10903 10904 067114 067122 067130 067136 067144 041520 020040 047503 020040 020040 020040 020040 020040 020040 020040 026516 042524 020040 047524 044523 047507 020040 020040 052126 040504 042504 020040 047516 020040 052123 047520 020116 047526 042117 047507 020040 051105 040524 LASCIZ 7/ NO JSR CONT. REG. REG./ .ASCII /PC TEST POSITON POSITON GOOD GOOD PATTERN DATA LASCIZ / NO ECC Ecce ECC .ASCII /PC TEST CONT./<15><12> LASCIZ / NO RHWC/ DOV 020040 DOH37: N-CODE/ 005015 020040 020040 041505 GOOD ECCY ENVLOPE ZEROS/ 067216 067224 020040 050117 047105 020105 046126 042532 10917 067236 041520 020040 020040 052123 047503 012 020040 020117 051040 10925 }8359 DH4O0: T 042526 020040 006456 020040 047040 020040 T 020040 020040 052116 040 020040 020040 .EVEN 10928 10929 10930 067312 067320 067326 001116 0011246 001116 002032 001126 002032 042270 000000 047624 DOT1: .WORD DT2: .WORD 10932 10933 067340 067346 001116 0011246 002032 001126 047624 000000 DT3: .WORD 10931 - 067244 067252 267260 067265 067272 067300 067334 001124 000000 SERRP(,TSTNM_ REGADR,S$GDDAT,$BDDAT,0 $ERRP(,TSTNM,ERWORD,$GDDAT,0 $ERRPC,TSTNM_ ERWORD,$GDDAT,$BDDAT,0 b 2B o ] 10918 10919 10920 10921 10922 10923 TM T 10913 10914 TM b s B> o ] 10905 10906 067020 040 SEQ 0251 SEQ 0250 polyo) 10892 066743 PAGE 252 D 10884 4 $ERRPC,TSTNM, $BDADR,(S1,(CS2,DS1,ERT,0 000000 002032 001714 001716 002032 001122 001712 000000 001200 DT14: .WORD $ERRP(, TSTNM, $BDADR, $BDDAT,(S1,(S2,DS1,ER1,0 DT15: .WORD SERRPC,TSTNM,$TMP1,0 002032 001176 001204 001126 DT16: .WORD $ERRPC,TSTNM,$TMP3 ,$TMP1, $TMPO, $BDDAT, 0 002032 001706 000000 001710 001714 DT17: .WORD $ERRPC,TSTNM,BA,DB,W(C,(S1,(S2,0 002032 001730 001716 001732 DT120: .WORD $ERRPC,TSTNM,ER1,ER2,ER3,AS,DS1,0 001714 000000 000000 001720 001202 DT21: .WORD $ERRPC,TSTNM,(CS1,AS,DS1.0 DT22: DT24: .WORD .WORD $ERRPC,TSTNM, 0 002014 001712 000000 002014 DT26: .WORD $ERRPC,TSTNM,PCJSR,$BDADR,(S1,CS2,DS1,ER1,0 DT27: .WORD $ERRPC, TSTNM,PCJSR,REGADR, $SGDDAT , $8DDAT, 0 002032 001124 002014 001126 DT30: .WORD $ERRPC, TSTNM,PCJSR,REGADR, $GDDAT ,$8DDAT, 0 002032 001126 001716 002032 001124 001736 047624 001714 000000 002014 001126 001716 DT31: .WORD $ERRPC, TSTNM, ERWORD, SGDDAT , $BDDAT,(CS1,DS1,ER1,0 DT32: .WORD $ERRP(C, TSTNM,PCJSR,ERWORD, $GDDAT , $BDDAT,(S1,DS1,ER1,0 002032 001124 001716 002032 052422 000000 002032 001746 001716 002032 001744 002014 001714 000000 045314 052424 DT33: .WORD $ERRP(, TSTNM,PCJSR,ERWORD , $GDDAT ,CS1,DS1,ERY,0 DT34: .WORD $ERRPC,TSTNM,GECC1,GECC2,WECCT ,WECC2,DISK,O 045314 001744 000000 002014 001746 DT35: .WORD $ERRP(C,TSTNM,GECC1,GECC2,EC2,ECT,POSITI ERT,0 DT36: .WORD $ERRPC, TSTNM_PCJSR MR EC1,EC2,0 002032 045314 001744 045316 DT37: .WORD $ERRPC,TSTNM, EC1,POSITI,GECCY,GECC2,EC2,DATENV,ZCODE,O NNDDDDDXDDODDIVDVDDOD (§3920723728%20%28Y2 X V2092002 X0, X2 X72] $ERRPC,TSTNM,DST,$BDDAT,$TMP1 ,$TMP2,$TMP3,0 At ntnahnwhunin 001126 X .WORD SEQ 0252 SEQ 0251 O POWER DOWN AND UP ROUTINES PAGE 253 DT11: 001200 000000 002032 001714 001716 002032 001124 001116 045326 Fo4 12:41 001122 001736 002032 001712 10941 10942 10943 10944 10945 10946 10947 10948 27-JUL-78 nmiAaAtn 10934 10935 10936 10937 10938 10939 10940 MACYT1 30A(1052) "N CZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.P11 26-JuUL-78 10:10 CZRJIGCO,RPO4/5/6 DSKLS CTRLR1 CZRJIGC.PI 26-JuUL~78 10:10 MACY11 RRRRRR ololelololelololelolololo]ololololole) SOOOOOOOOOO SRS W20 VIS WN=O VOO NRA N d ad el nd wd — b o) b d D e b e b e D b e b nd o h =D d b d b d d d o e b o d b md o e b b o e D e eh D b o b b e b < b e o e b b b D md =D b md b b ah b d b b e bk md o 00 NONWNENWN =2 OV ~NONEWN=O d D e b b b o b d d b ek b d d D 10999 070010 070016 000000 001746 045332 045334 070020 070026 001116 000000 002032 001126 070030 070033 070035 070040 070041 070044 000 000 000 000 000 000 000 000 000 070046 070051 070054 070055 070060 070063 070065 070070 070073 070075 070100 070103 070104 070107 070112 30A(1052) 27-JUL-78 G 12:41 POWER DOWN AND UP ROUTINES 4 PAGE 254 DT40: .WORD $SERRPC,TSTNM,$BDDAT 0 000 DF1: .BYTE 0.0,0,0.,0 001 DF2: .BYTE 0.0.1.0 000 000 001 DF3: .BYTE 0.0,1,0,0 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 DF11: .BYTE 0.0.0.0.0.0,0 000 000 000 000 000 000 000 000 000 000 DF14: .BYTE 0.0,0,0,0,0,0,0 000 000 DF15: DF16: .BYTE .BYTE 0,0.0 0.0,0,0.0 000 000 DF17: .BYTE 0.0,0.0.0,0.,0 000 000 000 000 000 000 DF20: .BYTE 0,0,0,0,0,0.0 070113 070116 070120 070123 070124 070127 070132 070133 070136 070141 070143 070146 DF21: .BYTE 0.0,0,0.0 DF22: .BYTE 0.0.0.0 DF24: .BYTE 0,0,0,0,0,0,0 DF26: .BYTE 0.0.0,0,0.0,0.0 DF27: BYTE 0.0,0.0.,0,0 070151 070154 070157 070162 070165 070167 070172 070175 070200 070203 070206 070210 070213 070216 DF30: .BYTE 0.,0,0,0.0,0 DF31: .BYTE 0.0,1,0,0,0,0.,0 DF32: .BYTE 0.0,0,1.,0,0,0.0.0 DF 33: .BYTE 0.0,0,1,0,0.0.0 DF 34: .BYTE 0.,0.0,0,0,0.0 SEQ 0253 SEQ 0252 DF35: .BY¢ 0,0,0,0,0.0.0,0 000 000 000 000 000 DF37: .BYTE 0,0,0,0,0.0,0,0,0 000 DF40: .BYTE 0,0,0 000 000 000 .EVEN -END = = = —f = — — 000 000 000 200 000 000 000 000 SEQ 0254 SEQ 0253 o 000001 PAGE 255 ——f el 000 070252 POWER DOWN AND UP ROUTINES 4 e 070246 H 12:41 e o 11056 11057 11058 070217 070222 070225 070227 070232 070235 070240 070243 27-JUL-78 e e e 11046 11047 11048 11049 11050 11051 11052 11053 11054 11055 MACY11 30A(1052) e e o CZRJGCO,RP0O4/5/6 DSKLS CTRLR1 CZRJGC.P1N 26~JUL-78 10:10 BLTZ2 BLT3 042342 042352 BPTVEC= 000014 2024 2024 2024 2025 2003 7910 10950 10953 7050 7145 7244 1782+« 3511 4585 5704 5772 6918 7048 7143 7242 5937 5937 6092 2988 8607 8602 5956 5956 10946 5845 5948 5964 6345 8153 1881 7896 1942 7931 1957 7933 1972 2039 2056 2072 2088 2100 9684 2024 9692 10040 6920 10196 10025 9699 7926 7903 7928 9673 7452 7448 74564 74544 7898 7905 10032 7912 OO A A A A A A A A A A A A A A A AAAAA Ay 5774 5746 A 14314 1865 5711 5716 5726 7921 7923 74414 A~ A A A A A A A 3179 3179 6078 2983 85544 14334 3338 4588 A d —d — b d b b NLNNV!—'O% R R IRN LR BA 001710 BAl = 000010 BASECH 046244 004240 BEGIN BEGIN2 004230 BITST 042272 BITO = 000001 BITOO = 000001 BITO1 = 000002 BIT02 = 000004 BITO3 = 000010 BITO4 = 000020 BITOS = 000040 BITO6 = 000100 BITO7 = 000200 BITOB = 000400 BITO9 = 001000 BIT1 = 000002 BIT10 = 002000 BIT11 = 004000 BIT12 = 010000 BIT13 = 020000 BIT14 = 040000 BIT15 = 100000 BITZ2 = 000004 BIT3 = 000010 BIT4 = 000020 BITS = 000040 BIT6 = 000100 BIT7 = 000200 BIT8 = 000400 BIT9 = 001000 BLT1 042320 —d 100000 004220 002016 000001 000002 000004 000010 000020 000040 000100 000200 000400 001000 b e ATA = ATABLE ATTENT ATO = AT1 = AT2 = AT3 = AT4 = ATS = AT6 = AT7 = A16 = A17 = d 001732 = 001000 cd e AS AOE 11824 12354 11714 5134 8565 10874 13264 10754 — 000200 000040 100000 000204 047230 NNOIWO O =3 —d i b b e b (N &~ -— AN\ \ NN b D D 2 2 ON VNEHWN=O VOO ABS = ACL = ACU = ADDMOD ADTIMO SEQ 0255 SEQ 0254 4 A A A A A A A A A A A CZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.P1 26-0UL-78 10:10 4 PAGE 257 27-JUL-78 MACY11 30A(1052) CROSS REFERENCE TABLE -~ USER SYMBOLS I 12:41 COMPA 050416 COMPAR 043514 COMWHD COUNTD CPHALT 052466 051064 062450 CR CRC = 000015 044026 CRLF CSF Csu st = 000200 = 000002 = 000010 001714 €S2 001712 cyL 047504 DAREAD 047560 DATENV DAWORD DB = OCK = OCL DCLEAR DDISP = DENVL = 045332 047564 001704 100000 000100 002050 177570 000200 = 000040 DE1 DFF20 = 000002 070030 DF1 5081 7848 8855« 2192 4088 5541 4684 9105# 3591 5226 6872 5024 4657 6657 5024 11584 11604 13194 10953 13164 6055 5058« 5928 7818+ 8785 82734 5063« 13134 10934 12364 13924 5024 11034 10654 10614 585 3801 5376 3922 5847 5341 5393 5912 6544 5453 6015 6567 5465 6035 6576 2678 3239 2736 3296 2793 3365 5933 6758 8009 6335 6771 5999 6819 8196 7547 6886 5811 6508 75064 3344 3668 4608 7066 3721 4720 7161 4824 7260 4804 4890 5946 8011 4918 6181 104874 4999 7205 4778 5689 7746 6192 6331 4981 7728 7826 5065 5140 78814 5214 7984 5283 5355 3152 10972 10976 5013 7563 7567 7573 7615 2746 10959 5215 6658 2803 2828 7985 2698 10946 5207% 6650 87454 5276« 6744 9061« 9076+ 10988 6167+ 8110 8126 8129 4705 5373 7178 3276 4331 6388 7185 4394 6939 5843 7845 4355 5687 6633 4627 4646 4746 6172 6853 8618 7750 3949 5177 8076 4043 5251 6673 5152 5163 6767 5927 6169 6257 7622 10935 10938 10946 2848 5498 5619 5621 5740 5284 6752 5348« 6831« 5356 6834 6844 5826 5920+ 7729 7726 7823+ 7983« 87994 3905 5102 8050 3784 5088 gy -y 5336 5806 6504 6849 2482 3081 5950 9111 3216 4287 6206 92264 7023 9809 4756 6751 9784 11764 11784 5842 7844 75424 4182 6185 3688 5303 5237 5688 7745 4061 2965 4002 5217 5656 4786 9109+ 4443 5372 75608 2541 3098 4417 5769 6664 7734 4305 6278 3741 4164 5286 5649 6473 6820 2273 3032 4234 5361 6528 7277 5225 7113 CC —t—t— 10244 6452 6754 2122 3005 4112 5290 6492 1984 4970 6329 6997 2292 5156 8029 8898 2517 5604 6464 5151 7022 ol aull el eull el ek ol ol o CLR = 000040 047344 COMHD 6267 6988 6433 6740 5272 76124 <k < 4856 4929 5584 6766 6191 5076 6871 2645 10959 2683 2637 6057 5066 6162+ 10938 5141 6250* 7827 87984 8996+ 5138« 10946 6222 5353« 5823« 5925+ 5818« 7721 < 2823 3600 101594 5236 4998 = 1742 10039 4815 5521 6263 6646 1859 6273 6330 5162 4889 6672 2 5472 6115 6600 5087 4777 ol ol =R = 9668 4712 4917 4675 3B =f 3590 5945 8010 4803 4442 6180 10164 10020 4811 5484 6245 6604 1838 2844 ull ull = 042620 1016644 4704 68154 i CLDISK 6720 13344 SEQ 0256 SEQ 0255 3402 547 il (KSWR = 104407 CLAREA 042536 13244 4 [ i 001726 037004 001752 104414 043044 042654 J PAGE 258 12:41 CROSS REFERENCE TABLE -- USER SYMBOLS 27-JUL-78 = CA CAT cC CHECKD= CHECKE CHECKT MACY11 30A(1052) 704 [ak 109964 - CZRJIGCO,RPO4L/5/6 DSKLS CTRLRI CZRJIGC.P11 26-JUL~78 10:10 063056 064140 064323 064443 064546 064731 065134 065277 065442 065645 DH35 DH36 DH37 DH40 DIGB 066456 066661 067020 067236 = 000004 DH33 DH34 DISK DISPLA 066070 066273 051422 001142 DISPRE 000174 DLT = 100000 DL64 = 000020 oMD = 000001 667 762 775 791 810 834 850 864 626 609 594 879 899 914 951 997 10624 2133 5338 5914 6821 547K 5034 10344 10644 1097# 3401 £€CE £ 110344 110374 110464 110494 110554 699 984 105714 105944 105224 105514 105994 106174 105374 106374 106574 106724 823 107044 107274 107454 107634 650 108114 10833« 106844 107854 970 931 10892# 109174 108534 108754 2141 5473 6023 6961 2194 5474 6029 7965 2208 5478 6036 8078 9713% 10024+ 2803 2878 2881 1991 3690 2012 3743 2289 3803 1459+ 1466 2635 1988 3602 o | DH2 DH20 DH21 DH22 DH24 DH26 DH27 DH30 DH31 DH32 110004 EL£ELELELLL 063612 063755 062733 063201 063361 063561 110234 x DH16 DH17 DH1 DH11 DH14 DH15 110164 11015# 110214 830 110264 110294 680 110324 644 661 110404 110434 980 940 110514 110034 PONNN<X 070246 = 000001 603 889 908 923 963 1001 10604 580 685 716 730 738 749 992 110064 110094 110104 110124 [) DF40 DFS 693 724 733 7446 757 109984 770 781 796 817 843 858 673 871 636 620 SEQ 0257 SEQ 0256 1466% 4722 5485 6037 8521 4826 5486 6042+ 8535+ 4939 5592 6153 8536* 5049 5598 6246 9132 5124 5605 6288 91914 5198 5606 6647 9640 5273 5807 6682 10979 5308 5808 6741 5337 5913 6776 2484 3855 2556 3924 3082 3980 3099 3997 3182 3998 3240 4004 3297 4063 3380 6114 A 070055 070065 070070 070075 070035 070104 070113 070120 070124 070133 070143 070041 070151 070157 070167 070200 070210 070217 070227 070235 4 A 070046 DF11 DF14 DF15 DF16 DF17 DF 2 DF 20 DF 21 DF 22 DF 24 DF 26 DF27 DF3 DF 30 DF 31 DF 32 DF 33 DF 34 DF 35 DF 36 DF 37 K MACY11 30A(1052) 27-JUL-78 12:41 PAGE 259 CROSS REFERENCE TABLE =-- USER SYMBOLS o CZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.PT 26-JuL-78 10:10 DST DSWR DS 001720 = 177570 001736 OT DTAGAP DTE = DTSY = 0T 0T DT14 DT15 DT16 0T17 D12 DT20 D121 DT22 DT24 D126 D127 DT3 DT30 D731 D132 DT33 D734 DT35 D136 D137 D140 DVA 001740 052426 010000 001000 067312 067354 067374 067416 067426 067444 067326 067464 067504 067520 067526 067546 067570 067340 067606 067624 067646 067672 067714 067734 067756 067774 070020 = 004000 EC] 4375 6634 8160 9073 4456 6919 8459 9385 4465 6989 8720 9388 5782 3647 5746 6705 3698 5782 6708 3763 6367 6799 3811 6705 6802 3874 6708 7586 3931 6799 7589 4023 6802 7634 4071 7586 4146 7594 5780 10953 6703 6797 10972 6803 10976 7584 7589 7594 7629 10959 6709 10969 2645 2657 gzgg 2907 2915 2917 2939 2941 2949 8988+« 9003~ 9005+ 9051« 9055+ 9066+ 9070« 5941 6178 7741 7840 8026 4260 6365 7137 8992 4261 5726 3253 6314 5746 3321 5726 L5644+ 1458 10956 5724 10938 5744 10950 8943 8946 109284 109354 6413 6730 8190 9235 109504 109534 109554 829 109594 109624 109564 109324 MO 109694 109724 109824 109854 1908 5958 8460 2575 5074 5149 5223 5368 5838 8997 9014 9062 9077 8530 10985 10985 1446+ 102124 832 001744 001746 000030 057460 057631 057664 057704 057755 437 6529 7243 9058 4236 6361 7092 8989 9563 710 ECDATA 045312 = 000100 ECH = 004000 ECI 045736 ECORR ECTEST 045350 EC2 EMTVEC= EM1 EM1 EM14 EM15 EM16 4357 6493 7236 9048 4418 7144 9006 4307 6453 7188 9009 4184 5007 7049 8976 9554 PR AVIARS 036340 = 000400 = 000200 4138 4628 7041 8864 9406 PAPAPPOPARPRPRARY DOG DPR DRY SEQ 0258 SEQ 0257 PANAPAAAA 4137 4587 7000 4 102464 7478 8527x 10988 10988 1530« 102314 7563 8529+ 1566+ 7567 8986+ A AN MR AAAAAN N CZRJGCO,RPO4/5/6 DSKLS CTRLR1 26~-JUL-78 10:10 CZRJGC.P11 L PAGE 260 27-JUL-78 12:41 MACY11 30A(1052) CROSS REFERENCE TABLE -~ USER SYMBOLS | MACY11 30A(1052) 27-JUL-78 12:41 PAGE 261 CROSS REFERENCE TABLE -- USER SYMBOLS Em17 EM2 102454 607 102534 102564 102604 103144 103244 103304 ERCRC ERCS2C 052662 013434 ERFLGS 002006 EM24 EM25 EM30 EM31 EM32 EM33 EM34 EM3S EM36 EM37 ERHDGP ERHEAD ERPOS 103444 103594 103914 103994 104094 104424 104554 104734 001722 001730 000001 000010 000002 000020 000004 000040 000200 FER = FILLEC FIRST FMT22 = 000020 046110 002034 010000 3457 3566 3466 35824 3474 3482 3490 3498 3506 3515 3523 2335 2444 2274+ 2343 2453 2750« 5085 2351 24704 2764 5155« 2359 2367 2375 2383 23N 2399 2408 2418 4681« 5160 4702 5229+ 5949+ 4716% 5234 6043+ 6875« 4783 5302« 6101+ 6954+ 4801 5305 6184+ 6969 4820+ 4895+ 4915 7028+ 7119« 6285 7210+ 9679+ 9682+ 3912 5408« 3558 5871« 4097 6290+ 7783« 9462+ 5726 1457« 047314 047624 ER2 ER3 = EXT1 EXT10 = EXT2 = EXT20 = EXT4 = EXT40 = FEN = 3443 3558 8473 045734 001716 3431 5080+ 5635« 6679 8039 9488+ 9465+ 052664 052660 ER1 102254 3550 9477+ ERR = 040000 ERRVEC= 000004 ERSTAR 047316 ERUNIT ERWORD 102214 3224 4295 6684* 8882+ 9485« 3114 5846 6690 8782 5857« 6770 9339 5877 6773 10021+ 6784 5316 6189 5375« 6277 5746 1467 5782 6368 1539+ 6920 7050 9676 7145 9677« 3284 3352 4402 3676 4616 6783 8928+ 10932 3730 5310~ 6947 8948~ 10969 10935 3791 5315« 6963« 9415+ 10972 10938 3841 5403« 6968+ 9422« 10976 10950 7074 9426+ 7169 9448+ 4051 5876% 7268 9456+ 10959 10969 10972 10976 4682 4750 5149 5920 4766 5166 5941 4784 5207 €178 4861 5223 6271 4878 5240 6346 4896 5276 6429 4975 5296 6469 4340 6689+ 8902+ 9497% 5790 1532« 6778 8906+ 10930 6222 6315 1568+ 7244 6222 1474 3195 5005 5368 4651 5074 5516 4667 5091 5818 5133 5838 AANAPIANAPRPAARAVPOVNPRPARPPARPANPAPRP EM40 EM6 ERCLFC 060022 060043 060065 060545 060640 060700 061021 061144 061433 061505 061600 062077 062210 062345 057572 020570 624 PAAAEE EM20 EM21 EM22 057776 057543 SEQ 0259 SEQ 0258 PPrw CZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.P1 26-JuUL-78 10:10 oo L 6650 7741 4755+ 9125 93464 GRV GTSWR 93264 HOWSYN HEADER HEDGAP HEDSYN HEGAP 6764 4869 8386+ 8387« 1485 1625 1824 7387 8602 10163 3112 3929 5010 4983 8519« 8520+ 1488 1627 1828 7392 8606 10164 31N 4018 5734 6259 6512 8099 8120 9500+ 7818 4866+ 87604 87714 91884 ILF ILLEGL ILR 10TVEC IR 3114 3095« 3100 1443« 1915 5617 11864 5136* 7981« 5137« 7982+« KIPARO= KIPAK1= K ]PARZ2= KIPAR3= K IPAR4G= 172350 KIPARS= 172352 K IPAR6= 172354 KIPAR?7= 172356 5254 7102 7120 7211 1498 1705 3883 8580 10156 1517 1710 7283 1548 ¥714 7287 1562 1786 1566 10157 10158 3641 4144 7237 3645 4189 8161 3696 4255 8191 6859 92654 9472 10982 10982 1494 1657 1347 9475 10988 10988 1496 1659 1851 10154 10155 1444« 8535 8536 1490 1653 1843 7394 9663 10165 3250 10979 10979 6369 7042 1492 1655 1845 8557 10153 8561 3403 4132 6548 8105 6580 8110 6608 80074 8126 8129 7240 9818 7141 KEY?2 7029 6834 8154 8026 4068 8950 9782 7046 IXE KEY1 7011 6831 4021 8909+ 8929+ HT 1AE 7840 4980+ 7978 93434 9451 9254 13884 4659 82584 82614 503 1621 1794 7383 8596 10161 HAD TMP HARDER HCCRCE HCE HCI HCRC HDESYN 6744 6670 3318 7138 8576 8584 7374 8592 10159 7378 8594 10160 4267 8723 3757 3761 4312 9238 4370 8588 3809 2573 2635 6053 2665 6903 2681 7483 2696 2826 2846 2881 2972 2978 2988 5210« 87474 5211« 87484 5279« 5351« 5821« 5923x 6165« 6253 6653 6747 6839+ 7724% 5280« 5352« 5822« 5924% 6166% 6254 6654 6748 6840« 7725« 5964 o | LA 84 444 CROSS REFERENCE TABLE -~ USER SYMBOLS APAAANAAANRAN 62454 GECC1 GECC2 GNS 7721 4556« 91064 0340 SEQ 0260 SEQ 0259 PAGE 262 AAANR FORMAY FOUT FRMATY FSYNER FUTABL GCRC 052702 12:41 P FNWORD 27-JUL-78 AN 6572 MACY11 30A(1052) 4 A AAAANAA AN CZRJGCO,RPO4/5/6 DSKLS CTRLRI CZRJGC.®=11 26-JuUL~-78 10:10 N KIPDRO= 172300 KIPDR1= 172302 KIPDR2= 172304 KIPDR3= 172306 KIPDR4= 172310 KIPDRS= 172312 KIPDR6= 172314 KIPDR7= 172316 LA 001750 LAD 042600 042266 LERR LF = 000012 LST = 002000 MAKECY 045172 MASK MCLK 042264 = 000002 MCPE = MHS = M.D MIDDLE MINX = 020000 001000 045162 045060 000004 MMVEC MOL MPE MR MRD MSE MST(K = 000250 = 010000 = 000400 001734 = 000020 = 000020 = 000010 MR MxF = 000040 = 001000 NCODE NCOUNT NED NEM = NHS = NOPERA NOSYNC NOUNIT NOWORD NUNIT ocyL = OF OFREV = OFSETC OF100 = 045322 045324 010000 004000 002000 002042 047620 001776 047552 002000 100000 001724 000200 002074 0F200 = 000010 0OF25 = 000001 0F400 = 000020 OF50 = 000002 OF800 = 000040 OPERSE 041444 SEQ 0261 SEQ 0260 525# 525# 525# 5254 5254 5254 S5oS# SSS# 13334 7528 7485 9818 7455» 74384 S02# 10704 4419 74374 10984 8486 9063 10544 6708 6414 7465% 4497 8494 9398 6799 6454 7466 4498 9581 6802 6494 7467 4499 8861 9583 6920 6530 6120 9237 4243 9562 7470+ 6525 8862 9584 7471 4526 8864 6990 81824 4528 8867 9600 4574 8868 4575 9585 7472« 4527 8865 9586 4244 4464 7001 6635 6731 8981 9602 4578 8998 9603 4579 9048 7002 7093 7094 7189 4496 8865 9600 4497 8981 9601 4525 9048 9610 4526 9387 8917 8941 9669+ 9601 11664 8156+ 3139 10994 7190 3986 8722 10724 1027# 13274 11014 11614 11004 4560 9388 11024 1028# 82674 1847 5254 3149 82684 10314 10304 8466+ 6243+ 6422* > 1674 6255+ 1727+ 11674 1389# 13404 e 5 8 PAGE 263 27-JUL~78 12:41 MACY11 30A(1052) CROSS REFERENCE TABLE =-- USER SYMBOLS c AP CZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.P11 26-JuL-78 10:10 11854 8984 8692 9001 9009 4137 4563 9556 9064 4260 4564 9557 9389 4458 4578 9558 9399 4459 4579 9562 4461 8860 9580 6462 8862 9583 4464 6502+ 1727 6749 3448 6538+ 6564* 7302+ 87944 6597+ 8786 88434 8864 9584 8621 3309 6462* 1720« 6655+ 1728+ <008 4009 4069 9836 9902 1765 6841« 9611 CZRJGCO,RPO4/5/6 DSKLS CTRLR1 26-JUL-78 10:10 CZRJGC.P11 oPI OR ouT = 020000 = 000200 047570 PAR = 000010 PAT = 000020 PCJSR 002014 10914 10264 8783 10814 10234 c 2694 8790 1925 1897 7560* 9227+ PGE = 002000 5013 8370 PIE1T PIE12 PIE13 PIE14 = = = = 8337 8370 PIET = 100000 PIE10 = 000100 000040 000020 000010 000004 5 SEQ 0262 SEQ 0261 PAGE 264 27-JUL=-78 12:41 MACY11 30A(1052) CROSS REFERENCE TABLE ~- USER SYMBOLS 2696 8796 1928 1915 7561« 10959 2744 2843 2859 2881 6053 6902 7483 7612« 10962 7613+ 10966 8007+« 10972 8008+ 10976 8184+* 10985 8185+ 8454+ 8455+ 8711« 8712« 4145 4190 4268 4313 88014 8385 PIE1S = 000002 PIE16 = 000001 PIE17 = 100000 PIE18 = 040000 PIE19 = 020000 PIE2 PIE20 PIE21 PIE22 PIE23 PIE24 PIEZ2S PIE26 PIE27 PIE2B = = = = = = = = = = 040000 010000 004000 002000 001000 000400 000200 000100 000040 000020 PIEZ29 = 000010 PIE3 = 020000 PIE30 = 000004 PIE31 = 000002 PIE32 = 000001 PIE4 = 010000 PIES = 004000 PIE6 = 002000 PIE7 = 001000 PIE8 = 000400 PIE9 = 000200 PIP = 020000 PIRQ = 177772 PIRQVE= 000240 PKACK 002100 PLU = 020000 POSITI PRBA PRCA PRCS1 PRCS2 PRDST PRE = PRERT PRERZ PRER3 PROF 045326 011254 011726 010774 010730 011552 000020 011320 011616 011772 011662 8328 8345 8376 8353 8376 8370 8309 8317 3646 3697 3762 3810 3873 3930 4022 4070 8464 8472« 8473 8475 8518+ 10982 10988 2485 1187# 8410 19564 20874 18804 1863« 20384 19714 20554 20994 20714 18644 D 5 CZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.PN 26-JuL-78 10:10 MACY11 30A(1052) 27-JUL=-78 12:41 PAGE 265 CROSS REFERENCE TABLE =-- USER SYMBOLS PROG = 001000 10694 2415 2585 3123 PRO PR1 PR2 PR3 PR PRS PR6 PR7 = = = = = = = = 5024 502# 5024 5024 5024 PSEL = 002000 1471« 7280% 7371« 2636 5497 2656 5618 2682 5715 S02# 1449+ 1450 PRW(C PS 011210 000000 000040 000100 000140 000200 000240 000300 000340 = 177776 PSU PSW PUTREG = 000001 = 177776 042224 PWRVEC= 000024 P12 P22 P24 P3 RA RAW RCOM 1940« 5024 5024 5024 5024 10524 5024 7614 82854 82864 82874 82844 5124 11794 96284 RDOCT = 104412 RDY = 000200 1517 10494 READ 047610 104410 047626 104411 050420 READAT READIN RECALI REDATA REFOR 002066 002102 002046 054026 002070 REGSA1 056446 REGADR REINTO 042270 003154 3530 5725 5745 5781 6704 6798 7585 2697 5735 2745 5773 2801 6054 2827 6220 2847 6284 3102 6678 3113 6772 3150 6959 5012 74128 5304 7562 10166+ 10167+« 10176* 10179+ 10191« 10192+ 7394 1908 8562 2575 8580 2645 101624 2657 5934 2907 68172 8936 2915 7478 8940 2917 7563 89734 2939 7573 9642 2941 7615 9650 2949 5832 2905 6718 8895 12314 045342 045344 045346 045340 000200 = 000020 054024 RCYL RDCHR = RDHEAD RDLIN = 19414 SEQ 0263 SEQ 0262 8038 B339+ 8347+« B355+« 8330+« 8598 9633+ 8407 8340+ B348+ 8356+ 8331« 88164 9954 8740 9986 8851+ 101604 88514 101614 8886 2951 8875 3257 8879 3325 8887 13994 14054 13914 8798 164004 1605* 2811« 3050+ L174% 6949% 10966 1530 164134 2580 3211 3716 3827 3950 4089 4251 4375« 4714 5104 7387 1905 5362 3180 4246 96324 5079 1909« 2863x 3226* 4220% 7076x 100224 2490 2581« 3217 3722 3833 4014 4128 4267 4376+ 4721 5145 5154 8413 8369 8374 8375 8368 5956 8889 8481 5958 8891 6370 8893 1920« 2871+ 3286% 4297* 7171x 5228 1929+ 2884* 3354« 43462%x 7270% 6183 1996 2908+ 3582« 4404 74394 2018x 2918x 3678+« 4L618x 7443« 7026 2299% 2942« 3732« 5738« 8098+ 2470% 2952% 3793« 5959+ 8109+ 2527+ 2979+ 3843+ 5969x 8119« 2614x 2994+ 3914« 5977+ 8130+ 2711« 3015+ 3960% 6397+« 8201+ 2718+ 3023+ 4053+ 6707+ 10928 2763+ 3042+ 4099+ 6801« 10962 2497« 2584 3637 3753 3865 4021% 6144 4L2068% 4389 4812 5179 2511 2588+ 3645« 3761« 3872« 4022+ 4145+ 4269+ 4395 4813 5219 2518 2589x 3646% 3762« 3873« 4023+ 4146% 4282 4439 4816 5253 2562 2590x 3647+ 3763+ 3874« 4037 4159 4288 4584 4817 5342 2571% 2601 3663 3778 3899 4044 4165 4312« 4585+ 4825 5343 2574 2605 3669 3785 3906 4068+ 4189 4313« 4587« 4926 5364 2575« 3187 3696 3809« 3929« 4069+ 4190 4314% 4588+ 4927 54601 2576 3194% 3697% 3810+ 3930+ 4070% 4191+ 4315+ 4589+ 4930 5448 2577+ 3195+ 3698+ 3811+ 3931+ 4071x 4192+ 4327 4603 4931 5454 2578 3197+ 3699+ 3812+ 3932+ 4072« 4204 4332 4609 4938 5455 2579« 3198« 3700+ 3813« 3946 4085 4209 4366 4713 5070 5459 RHCC 001676 001640 RHCS1 RHCSZ2 001636 RHCS3 RHDB 001702 001630 RHDST 001644 RHDT 001662 001664 RHEC1 RHEC?2 RHER1 001670 001672 001642 RHERZ2 RHER3 001646 001654 001674 001660 RHDS1 RHLA RHMR 3757~ 5010« 7542 12764 2055 5713« 1305# 12734 2763 12874 4887x 6763% 12944 12954 1802 12974 12984 12864 7270 1288# 12914 12994 12934 3381« 4004 * 4307% 6730% RHOF 001650 RHSN RHW( 001666 001632 7235 9552 12894 5149+« 7120« 12964 12744 3204 2086 5006« 6765% 3607 1879 3859« 5734 8148« 1582 2071« 5845+ 1534 2797% 2037 4996% 6858+ 3131 1681 1804 8410 3244 1632 7545 2054 2098 3699 1985 3401 4063 4357« 6989+ 8160* 2070 5223« 7211« 1790 1940 3226 8077 7047% 7162 S578 6017 6383 6569 6906 5585 6078 6389 6586 6914+ 7230 7048% 5694 5586 6092 6425 6605 6916+ 7240% 7050+ 7241+ 5658 6124 6426 6606 6918+ 7061 7242% 6174 6443 6881 6919+ 7067 7243+ 7049« 5708 6208 6465 6893« 5812 6353 6920+ 6466 6894~ 6934 7131 7244 71461x 7255 5834 5813 6365+ 6483 6898+ 6940 6256* 6509 6899+ 7142« 7261 7008 7143+ 7737 1628 2280+ 5364~ 7196+ 5703 2547 5834« 7737+ 5772+ 3033 5936« 7836« 3175= 5972 8023« 3371~ 5977 8151+ 4665+ 4764* 4L876% 4989+ 6666* 5070+ 6760+ 5145~ 6855+ 2287+ 5075 6866+ 3991 2151 3869+ 6340« 8161+ 1629 2087« 2554« 5150~ 6868+ 3178 5224* 3378« 5297« 3622+ 5371« 3631« 3748+ 5944« 4431+ 4683+ 4785+ 8201 2494x 4123« 6376 8557 2549+ 4132« 6397 8566 3181« 3373« 4361~ 3606+ 4370% 3747 5008+ 2099« 6335« 2281x 6336% 2548« 6345+ 2568« 6715 8569 1880+ 2691 3191« 4255+ 6809 8584 1897+« 2840 7543 3641+ 6352 8189« 8197 2485% 4018« 6362 8191« 3991« 6179« 7843« 2278« 2807 * 2284 5073« 6906 3248 1683 2294 2811 2551« 5148« 2633 2689+ 2690* 3369« 2704 3404 2705 1807 1688 1809 3303 3312 2285+ 2288« 3812 2289 2552« 2555+ 3932 2290« 3690« 5948+ 1899+ 8094 3602 4114« 4371« 7000« 8190+ 2286+ 9296* 7741 1829 2279+ 3242 7418 2282+* 4008+ 1680 7030 1771« 2833 3176 7121« 1863 2853 3375« 5222« 7111= 6707 1690 1830 5295x 7202% 6801 1693 1832 8404 2283x 8104 3376 3379« 4072 2550« 8109 5698 5700 4192 4119+ 4418~ 7001 » 4120% 4452 7002« 8720x 4137« 4628* 7040 8721« 2553« 5368« 3177 5838« 8026* 3377« 5941« 8154x 2504 3263 2527 3286 7020~ 3316 1970 8098 8458 7840+ 1831 2489 3244 2484 3743« 2556« 3803« 7216« 1864 7461« 61742 5841« 7219« 4246* 6269* 7744 6343+ 7042+ 8723« 1941« 6272~ 8015« 7138+ 9238+ 1956+ 6333 8155« 4457~ 7237+ 6347« 8187« 7476 3372« 1971~ 5015 2038~ 271 2718 2739+ 2753 5837+ 4473 6177+ 4544 8152+ 6270+ 8188+ 4672+ 7839+ 4453 5940+ 8020~ 6344~ 4775« £L40+ 1710 1773 1775 1794 1797 1799 7480 8563 3305+ 8153+ 5712« 3605* 5367« 7740% 7544 1695 4429+ 2163 2165 2168 2170 2173 2175 3374 5696 8119 7130 7149 laka 7229 7248 4315 4376 3082« 3924« 4184» 3240~ 3986+ 3297+ 3997+ 3380+ 3998+« 8116 2557% 3855+ 4138+ 5007+« 7092+ 8722+ 6361~ 8124 8130 4472 4542 3099+ 3980« 4236+ 6413+ 7093« 7094+ 9124 4009+ 6178~ 4432+ 6271« 4682+ 2546+ 3302 2561 3303 2594 3310 8857 6346+ 3182+ 3985« 4243 6453 7136 4244 4260 4261 7188+ 7189+ 7190+ 9384 6493+ 6529 6634+ 9235+ 9236+ 9237+ 4784 4896+ 6764 S005+ 6859+ 5074+ 3006 3335 3174+ 3354 3186 6670 b 001700 001652 7046+ 7156 5573 6016 6370+ 6568 6905+ —d RHBAE RHCA 4123 1599 1955 5292+ 7100+ 1558 5543 6009 6369+ 6546 6904+ ASF o 002052 RESVEC= 000010 RETCL 002076 RHAS 001656 RHBA 001634 RELEAS 7144+ 7836 13934 5024 14034 12924 12754 5219+ 7009+ 13044 12904 4897 6671« 13004 1285# 5467 6004 6368+ 6545 6903~ 7045 7145+ 8052 4361 SEQ 0264 SEQ 0263 WO 5466 5869 6367« 6510 6902« 7035 5 E PAGE 266 27-JUL-78 12:41 MACY11 30A(1052) CROSS REFERENCE TABLE =~- USER SYMBOLS V12 CZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.P11 26-JUL-78 10:10 7029+ 3370+ CZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.PT1 26-JuUL-78 10:10 3636 3938 RH70 002040 RH70CK RKEY1 RKEY2 RMR = RNCTR1 RNO RNWAT1 RPVEC RPVECT RPO6 RSETR RSYNC RTN RUNCTR RUNWAT SAVDT SAVER 005364 047614 047616 000004 052464 054022 052544 001626 054136 002036 047612 047606 006024 047342 047422 002010 043312 SAVSN SC SCOP1 SCRC SCyL sC1 SC10 SC2 S$C20 sC4 002012 = 100000 = 104413 052734 052724 = 000100 = 001000 = 000200 = 002000 = 000400 SEARCH 053552 SECGAP 051324 SECOTR 047506 SECTR SEECOM SEGPER SELECT 053550 002072 (052654 002002 SELTST 007530 002054 SERCH SETDSK 044302 SILOTB 051422 SKEY1 052730 SKEY2 052732 = 040000 SKI SN 001742 SND1 005326 F 3655 3960 4275 4796 5935« 7054 1380# 5908 4297 4873+ 88184 88194 8853+ 8854« 6366 1509# 1080# 6173 7076 » 1511 6068 3678 8581+ 8588 9664+ 3613 6622 8915 2423 2560 3891 4436 2425 2593 3937 4595 2432 1908 2434 2645 6890 8576 9664 88174 88154 1562 87104 87254 8852+ 8878 13454 4364 7247 1352# 10564 101634 9374H 93704 11444 11474 11454 11484 11464 8162 4641 5059« 5922+« 7819% 4455« 14014 9253« 13444 1647 13944 6423 2731 93724 93734 12374 13304 1478 SEQ 0265 SEQ 0264 1832« 2503 3863 4381 76974 1831« 1905 9381« 9377« 8733 4741 5060+ 6163+ 7820+ 4477 3606 92704 1431« 17314 4433 6463 2751 9379+ 9380« 14994 4030 4342 4987+ 6268+ 3770 4099 4404 5144~ 3793 6127 4438 5157 3820 4152 4596 5218+ 2628 7736+ 6854+ 7835+ 2675 6828 6864 6912 7213 8926 8939 8949 9446 9449 3537 3185 3539 3203 6759 6880 8021« 2727 3843 6174 4618 5231 6926 8150« 2790 3864 3892 3914 4197 4663 5291 4220 4697 4250 4762+ 7007« 7034 2820 2894 2962 6949 5363 5833« 8890 8892 1472+ 96604 1772« 2488 3819 3752 7194 1559« 9242+ 15664 8725« 3732 4053 4078 4382 5082 6665+ 7618 1856 9240 9632+ 3707 4365 5069+ 6342+ 7416 1577 4013 4320 4908 6186 7098+ 1557« 92254 96274 92404 12634 1472 1378% 5 27-JUL-78 12:41 PAGE 267 MACY11 20A(1052) CROSS REFERENCE TABLE =-- USER SYMBOLS 1778+ 8888 8883 9495 9499 8727% 3262 3330 3635 4012 4029 4077 4126 6925 6151 7033 3546 4584 3548 5956 5958 6904 7045 91844 5208+ 6252+ 8730 9545+ 8189 9383 5209= 6651« 87464 9553 5277 6652+ 5278~ 6745« 5349« 6746% 173 1752 7291 6565 6598 79594 6351 6375 6879 3654 3769 4196 7053 4249 7129 3706 3751 4274 7148 4319 7228 5350 6837« 5819« 6838+ 5820+ 7722+ 5921+ 7723~ 9455 9249 4851 5134 6164~ 7979+ 4547 3747 9418+ 1433% 6503 2756 95454 4965 5135« 6251« 7980+ 95434 3992 9429« 1513 6539 91904 CZRJGCO,RPO4/5/6 DSKI.S CTRLR1 CZRJGC.P1 26~JUl -78 10:10 SPACE2 062730 SPACE8 062722 = 177577 SRO = SR1 SR = SRy = SSECTR SSYN STACK = START STARTA STKLMY= SWR SWREG SwO SWO00 Sw01 SwO2 Sw03 SWO4 Sw05 Swo6 Sw07 Sw08 Sw09 Sw1 Swi0 SW11 swi2 Sw13 = = = = = = = = = = = = = = = = = = = = Sw14 Sw15 Sw2 sw3 Sw4 = SwS = swé = Sw7 = Sw8 = Sw9 = TAGDTE TBITVE= TDF = TESDTE TESTAD TIMCNT TKVEC = TMPILL 177574 177576 172516 052726 047516 001000 0042644 004466 177774 001140 000176 000001 000001 000002 000004 000010 000020 000040 000100 000200 000400 001000 000002 002000 004000 010000 020000 040000 100000 000004 000010 000020 000040 000100 000200 000400 001000 002030 000014 000040 002026 041442 043170 000060 002022 2224 2218 525# 5254 525# S2S# 937214 8737« S04 2084 3363 4962 6239 6644 1432 14714 5024 SL6n 3968 9673 10184+ S044 S04 S02# 5024 SO# 5024 SO2# 5024 5024 5024 5024 5024 S04 SO 5024 502# 5024 S02# SO2# S02# 5024 502# 5024 S502# 5024 S02# 5024 1374 5024 11624 13674 73684 76504 5024 13614 6 5 PAGE 268 27-JUL=-78 12:41 MACY11 30A(1052) CROSS REFERENCE TABLE == USER SYMBOLS 105194 2219 9378+ 87524 1442 2096 3598 5044 6327 6727 14364 1440 2227 * 8884 1527 2119 3851 5119 6410 6738 1458« 2228 2229 105184 1575 2479 1861 2539 1877 2626 2035 3030 4638 3976 5193 6420 6817 4110 5270 6450 6986 4232 5333 6460 6995 4353 5444 6490 4415 5567 6500 1460 5893 1465« 6306 1503 6696 1509 6790 9870 1543 6975 9912« 1616 7456 10025 1645 7526 10032 7796 10036 6308 6698 6792 6977 7798 5322 5425 9686 9692 1465 1503 9839 9870 9886 2778 2778 2779 5324 5627 5895 2214 3878 3093 3095 7456 7526 1509 1543 1616 1645 11804 8896 9441 9672+ 7659 7664 9699 9839 1891 2673 7087 3968 8397 8395 9825+ 3086 1968 1953 2930 4424 5685 6526 9684 9824+ 3083« SEQ 0266 SEQ 0265 3088+ 3096+ 1938 2897 7183 3004 6625 5803 6536 5906 6562 2214 2052 3079 2068 3167 4738 5997 6595 4848 6148 2777 8395 3878 8397 10040 6631 10174 CZRJIGCO,RPO4/S/6 DSKLS CTRLR1 CZRJGC.P1 26-JUL-78 10:10 052430 002020 TRK1 N TRK?2 TRK20 TRK4 woaa TOLGAP TOTALA TPVEC TRAPVE TRE TRK TRK10 000064 000034 040000 047456 004000 040000 010000 5274 13594 H 5 12:41 PAGE 269 27-JUL-78 MACY11 30A(1052) CROSS REFERENCE TABLE =-- USER SYMBOLS 6247 1638+ 1447« 2645 87354 ST T1ST110 TST111 TST112 TST113 TST114 TST115 T1ST116 T1ST117 TST12 1ST120 TST121 TST122 TST123 TST13 TST14 TST15 T1ST16 TST17 TST2 1ST20 1ST121 6822 3510 9120 91954 2654 3152 5956 5958 6904 7045 9635 8982 1576+ 9645 8994 1597+ 9670 8999 1614« 9011 9059 1837« 9074 5445+« 6491+ 7088+ 10955 5568% 6501» 7184~ 10956 1640+ 1448+ 15634 9129 8388 1528+ 1983+ 2819+ 4111» TST10 TST100 TST101 TST102 TST103 TST104 TST105 TST106 1ST707 67462 3386 6648 100000 020000 005766 = 000014 002024 TSECCG 045320 TSTNM 002032 TSN SEQ 0267 SEQ 0266 005500 010752 034576 034632 034754 035010 035132 035166 035266 035322 011016 035422 035550 035670 035724 036340 036374 037004 037632 011166 037666 040220 040544 041074 011232 011276 011342 011530 011574 006040 011640 011704 5268+ 6421+ 6818+ 10946 10985 15254 18764 2036+ 2893+ 4233+ 5271« 6451+ 6987+« 10950 10988 7341 2053+ 2929% 4354 5335« 6461+ 6996+ 10953 10993 2069 2961« 4416% 1741 2085+ 3003« 4425« 2097« 3031« 4626* 5686+ 6527« 7374 10959 1855« 2120+ 3080+ 4639~ 5805+« 6537+ 10928 10962 9131+ 1862+ 9143« 9637% 4739« 5907+ 2540+ 3236+ 4849+ 5998+ 6596+ 10932 10969 2627+ 3364 2480+ 3168+ 6563+ 10930 10966 1878+ 1892+ 4963« 6150* 6632« 10935 10972 9647 1939+« 2674 3599+ 5045+ 6241« 6645* 10938 10976 9671« 1954+ 2726* 3852+ 5120+ 6328+ 6728* 10941 10679 CZRJIGCO ,RPO4/S5/6 DSKLS CTRLR1 CZRJGC.P11 26-JUL-78 10:10 1ST22 1ST23 T1ST24 TST2S TST26 TST27 TST13 011750 012014 012422 013446 013610 014160 006124 TST30 014336 TST31 014564 TST32 015024 TST33 015150 TST34 015450 TST35 015606 T1ST36 015726 T1ST37 016104 TST4 006176 TST40 016230 IST41 016354 TST42 016650 TST43 017074 TST44 017464 TST45 020616 TST46 021534 022210 TST47 TSTS 007544 TST50 022616 ISTS1 023162 TST52 023526 TST53 023704 TST54 023740 TSTSS 024626 TST56 024662 TST57 025172 TST6 010316 TST60 025530 TST61 026070 TST62 026334 TST63 026720 TST64 027304 TST65 027670 T1ST66 030230 030574 1ST67 1ST7 010662 TST70 031124 TST71 031432 TST72 032022 TST73 032366 1ST74 032732 1ST75 033340 T1ST76 033742 T1ST77 034272 TINO = 000122 2095# 2118» 22714 2467 2538+ 26254 1579 2630 2677 2729 2792 2822 2896 2916 2964 1603 3021 3048 31664 32354 33624 3580 38504 39754 1732 L1094 3970 43524 L414M 44234 LO624M 46374 4703 18364 4802 4916 50434 5086 5161 5235 5306 5387 1840 5547 5663 5792 5896 5910 6129 6190 6316 15284 19834 28794 L1114 52684 5 I 12:41 PAGE 270 27-JUL-78 MACY11 30A(1052) CROSS REFERENCE TABLE -- USER SYMBOLS SEQ 0268 SEQ 0267 24784 15944 2667 2715 27884 2810 2879 29274 2923 2993 16104 26724 27254 28174 28914 2950 30014 29594 7300 7310 30284 30774 35974 17374 42314 6726 47374 4830 4943 LBLTH 49614 5108 5183 5257 5325 5428 18544 SS5594 56834 58024 59054 59894 5118# 51924 52664 53324 54374 61454 6223 63254 62354 20364 28934 20534 29294 15764 42334 52714 15974 43544 53354 16144 20694 29614 L4164 54454 17414 20854 30034 L4254 55684 18374 20974 30314 L6264 56864 18554 21204 30804 L6394 58054 18624 24804 31684 L7394 59074 18784 25404 32364 484N 59584 18924 26274 33644 49634 61504 19394 26744 35994 50454 62414 19654 39774 51944 (AR CZRJIGCO,RPO4L/S5/6 DSKLS CTRLRI CZRJGC.P1 26~-JuL-78 10:10 TUF = 000100 Ty 047622 TYPDS = 104405 TYPE = 104401 64214 68184 11634 88454 1707 1480 1621 1792 2229 5088 6331 7372 TYPOC = 104402 TYPON = 104404 TYPOS = T.SCOP UN UNIT UNITS UNITSL UNLOAD UNS = UPE = = us1 use = us4 = UWR = VUF = wu30 = vV = 104403 042602 006114 001774 001754 002004 002044 040000 020000 000001 000002 000004 000010 000002 010000 000100 WAIT.T 043172 WAT = 104415 wC 001706 WCE WCF WCRC = 040000 = 000040 051404 = 000001 wCU WwCYL 052642 WECCT 052422 052424 WECC2 WKEYT 052646 WKEYZ2 052650 WLE = 004000 050414 WORD WRCHDA WRCHDT 043656 002660 J 5 SEQ 0269 SEQ 0268 MACY11 30A(1052) 27-JuL-78 12:41 PAGE 271 CROSS REFERENCE TABLE -- USER SYMBOLS 64514 69874 11814 1719 1483 1623 1818 2238 5152 6673 7376 64614 69964 1787 1486 1625 1822 3591 5163 6767 8578 9843 10027 1711 10077 2234 10163 1582+ 1519+ 2038 2695 3802 7304 1667 1520+ 3859 101544 64914 65014 65274 65374 65634 65964 66324 3885 7284 1490 1653 1841 4443 7288 1492 1655 1843 4676 7298 1494 1657 1845 4705 7205 7390 8594 9905 10067 10080 1515 1708 2218 4804 5843 7285 7746 8600 9933 10083 8585 10157# 1546 7114 7385 8592 9897 10064 7379 7331 1496 1703 1849 4778 5689 7281 7392 70884 1488 1651 1826 3881 5226 6872 7381 8586 9885 10047 1795 71844 5237 5299 5373 8558 8596 9914 10069 8577 1712 2219 4890 5946 7296 7845 8604 9958 10087 8589 15844 1726+ 2055 2743 3884 7309~ 1672 1733 1733« 1747 2087 2845 1764* 2099 2880 1766 2293 2971 1880 1786 7461 1726 4062 7548 1759 4183 4306 2309 2977 5495 2193 2207 7305 2071 2825 3923 1564 1784 2227 1619 1788 8011 8555 7299 9661 9961 10125 8599 4999 6192 7329 2228 5077 6274 7332 8559 9787 10015 9762 9965 10153# 9663 10193 9887 1941 1956 5963 3438 6336 6799 6802 7585 6659 6753 6845 8977« 8990+ 9007« 3124 3197 5725 5745 5782 6705 6708 2841 3243 5500 3147 3277 5621 3251 331 6053 3254 3345 6057 3319 6071 3322 6085 6716 7417 10946 6810 101654 5142 5216 7986 5285 8894 5357 91874 5827 5929 6171 6566+ 6599+ 4750+ 4920 4921« 4864+ 4865+ 4757 91924 91934 4978+ 4979% 4861% 10979 10979 92634 92644 4868 4975 4982 6258 92614 8886+ 8888+ 8890« 8892« 8894« 8935« 8939« 89674 78184 1914 2634 3396 6052 2497 7748 1560 1717 2224 4918 6181 2572 3305 2415 8878+ 9649+ 6044 6739 2568 2987 5713 2988 7828 11754 4658 4806+ 4807« 4753« 4754+ 67284 101554 2984 10165 66454 CZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.PN 26-JUL-78 10:10 WRCHEK WRCHHD 002056 043344 WRFROM 002110 WRDATA WRHEAD WRIDAT WRIFOR WRL 8792 052736 9260 93774 050652 gzgg 8914 = 004000 = 000400 WRU WSECTR 052644 WSSYNC wSU WTRK 051372 = 000004 WWORD 052600 050650 X 047514 XE2 007172 ZCODE 045334 Y ZER ZWORDS SAUTOB $8DADR $8DDAT 16124 3332 3827+ 4090 4383 5178 5523 5868 6383+ 6554 6850 7156« 13974 13984 10714 11654 4653% 91854 11594 91084 9342 7163 7195 2505 3338« 3834 4153 6389« 5239 5527 6103 6390 6571 6851 2595 3663~ 3907 4198 4603+ 5288 5542 6117 6435 6601 6899 2601x 3670 3939 4204% 4611 5292 5637 6123 6468 6602 6927 2606 3708 3946« 4210 4664 5389 5643 6194 6474 6614 6934+ 3205 3716~ 3951 4276 4763 5390 5650 6207 6475 6661 6941 5301 4679 6276 4781 6675 4893 6769 5002 6874 6340 7208 7117 8148 11834 4752+« 4B63x 4977« 9245 92624 8911 8915 8922 8927 5354+ 5824% 9424 9133 7255« 9139 7262 9145 3218 3771 4037« 4289 4988 5395 5657 6265 6506 6666 7061« 3264 3778« 4045 4321 5090 5400 5859 6269 6518 6755 7068 3270 3786 4079 4327« 5103 5515 5860 6343 6541 6756 7099 3278 3821 4085+ 4333 5165 5522 5864* 6377 6542 6760 7150 9152 9423 9443 9457 9470 9482 8931 90344 9083+ 9134 9140 9146 9150 5926% 6168x 6256* 6656* 6750 6842+ 7727 8051 9149 8151 8908 5139x 9428 5213+ 9445 5282+« 9483 9494 82764 8469+ 10988 051070 001134 91074 5434 9127« 1507« 9878 9980 2660% 7569« 2668+« 7575x 2685+ 7579« 2700« 7591 2748+ 7596+ 2805+ 7599% 2830+ 7618+ 2850% 7625% 3105+ 7631x 3116+ 7636% 001126 540 2233 2356+ 2406 2807+ 2973+ 3411 3479+ 3538« 1601+ 2300+ 2357 2614% 2809 2974 3419« 3480 1602 2301 2364 2424% 2865+ 2990+ 3420 3487« 3547« 1904 2314 2365 2425 2873x 2991 3428% 3488 3548 1905 2315 2372« 26433x 2883% 3011 3429 3495« 3555« 1917« 2322+ 2373 2434 2904x 3012 3440+ 3496 3556 1918 2323 2380+ 2441x 2905 3019« 3441 3503« 3563« 1924+ 2332« 2381 2442 2914* 3020 3453« 3504 3564 1925 2333 2388« 2450% 2915 3038« 3455 3512« 4472 1995« 2340+ 2389 2451 2937« 3039 3463 3513 4474 2017+ 2341 2395+ 2710% 2939 3046 3464 3520+ 2211+ 2348+ 2397 2717« 2948+ 3047 3471 3521 2231 2349 2405« 2761« 2949 3410w 3472 3529+ 10962 10966 10969 10972 10993 10047 98164 001122 11044 5384 3131« 001216 055152 055464 5714 9789« 98704 8478 2639 3155« 3539 4908+ 5974 7788+ 9417x 9843 9798« 10159 2648* 5015% 5082+« 6186% 8094+ 9428+ 9973 9802 5157+ 6294x 8095 9450% 10027 9811« 8/84 9471 8041 = 000400 87454 9458 8024* 16644 047554 7824+ 1643 87954 9039% 7249 3211« 3723 4031 4282« 4874 5394 5651 6264 6505 6662 7055 1177# 9153 5064* SEQ 0270 SEQ 0269 2519 3656 3899« 4166 4597 5287 5535 6116 6434 6578 6894 92504 8904 S 2511~ 3346 3893 4159 4396 5252 5534 6109 6428 6577 6855 9247+ 4796 5972« 7669+ 8927* $BELL $CHARC $CKSWR 7847 77214 051072 002062 002064 WRITE 13954 5489 K MACY11 30A(1052) 27-JuL-78 12:41 PAGE 272 CROSS REFERENCE TABLE -~ USER SYMBOLS 5231« 6688+ 8104+ 9464r 5314% 6709+ 8105 9474x 5407+ 6782+ 8116 9487+ 5740+ 6803r 8117 9498+« 5875« 6967+ 8124+ 10928 5954+ 7469* 8126 10932 4542« 5956 7471 8197« 10938 4545 5966 7473 8198 10943 4697+ 5967 7475 8908« 10956 CZRJGCO,RPO4/5/6 DSKLS CTRLR1 26~JUL-78 10:10 CZRJGC.P11 $CMTAG M1 $CM2 $CM3 $CM4 $CNTLC $CNTLG $CNTLU $CRLF 001100 000006 000014 000006 000006 056235 056247 056242 001223 $DBLK $DOAGN 054726 0461416 054716 041406 041354 061425 041422 041320 041346 001103 001115 056436 $DTBL $ENDAD SENDCT SENDMG SENULL $EOP SEOPCT $ERFLG $ERMAX $ERROR $SERRPC $ERRTB $ERRTY SERTTL $ESCAP $SFILLC $FILLS $GDADR $GDDAT 001116 001226 056604 001112 001214 001156 001155 001120 001124 5274 SS7H SS7H S56# S63n 9833 9884 9905 S73a 10087 9728 7325 9731 506 73274 7296 7299 1554 73244 5294 S354 1445 536w 10946 10985 5754 10034 5334 5704 S544 5534 5374 5394 2313« 2404 2882+ 3418+ 3510+ 5958+ 7473 8949+ 041376 055554 $HD = 000000 $HIOCT 056434 $ICNT 001104 SILLUP 057442 $INTAG 001135 $ITEMB 001114 $LF 5 L PAGE 273 27-JUL-78 12:41 MACYT1 30A(1052) CROSS REFERENCE TABLE -=- USER SYMBOLS 1438 5584 5584 557 S64LN 9897 99754 9974 1717 1452 S614 5614 5624 5624 5634 5634 S654 99734 5664 S674 5684 5694 2321« 2412% 2907« 3427+ 3511 5965 7478« 9416+ 10972 $LPADR $LPERR SMAIL = 22288 SMNEW 056265 056254 $MSWR 100194 9703+ 10179 9883+ 10031« 9818 1454+ 1455+ 1503 99784 99764 10064 10069 10932 10969 10935 10972 10938 10976 10941 10979 10943 10982 2209+ 2371« 2762« 3014« 3470« 3562 6802+ 2220 2387« 2809 3041« 3486« 5406+ 2298+ 2396+ 2864* 3049% 3494+ 5739+ 2301 2397 2872~ 3409+ 3502« 5874+ 8200« 10928 2216 2379+ 2808« 3022+ 3478~ 5313« 6966+ 8883« 10930 8907+ 10932 8924* 10962 10966 9716 9694 9710+ 9716 10042 9914 9973 10020 9688 9712 9690 9717 9696~ 9717 10022% 10047 10031 10955 10047 10956 10052 10959 10928 10962 10966 10930 7289+ 9711« 9818 10028+ 10043 10047 10045 10047 1908+ 1916+ 1918 1928« 2355« 2708+ 2978« 3455 3546 6708+ 8120+ 9486+ 2016+ 2363« 2716» 2989+ 3462% 3554« 6781« 8129+ 9499« 9709+ 7378 9714 7395+ 73434 73424 7303 1604+ 10047 9818 7329 7332 1660 7328 7458 1453+ 1566 10029+ 10950 10988 10059 100474 7287 1452« 9792 9818 10035 9788 2238 97704 10158 1468 14651 5604 5604 9762 7334 97664 73364 $GET42 $GTSWR 9888 9885 1445 S594 5594 SEQ 0271 SEQ 0270 7380 73404 9668 9690 100204 10030+ 10953 10993 2331« 24623+ 2917x 3439« 3513 5967 7484+ 9427 10976 73184 7787+ 9449+ 2339« 2440x 2951x 3450 3527« 6293« 8099+ 9463x 9706+ 9716 9915 10050 9980 2333 2432+ 2941+ 3441 3519+ 5976w 9973 9709 7389+ 32 95+ 9776 10020 7396 5705« 10036 2347+ 2449x 2977% 3452« 3537« 6687« 8110« 9475« 10047 9694» S770« 1992+ 7464 7466% 7468 8926+ CZRJGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.P11 26-JUL-78 10:10 SMXCNT 054510 SNULL 001154 SNWTST= 000001 AARRER ANRRAE $SAVR6 057446 $SCOPE 054220 $SETUP= 000117 $551 $STUP $SVLAD $SVPC $SWR = $SWRMK $TIMES $7KB $TKCNT 000000 177777 054446 000200 167770 000000 001212 001146 055156 41094 52664 64494 42314 53324 64584 69944 10126+ 10096+ 69854 S27A cC $REGS 97164 9794 15734 10097+« 10092+ 9674 1 8 2.8 8 2 1 056116 056276 000011 001160 001162 001164 001166 001170 001172 001174 041420 9707 5524 15254 2033+ 28174 057202 057204 054474 001100 057450 057436 057276 057432 057350 001222 056026 M 5 PAGE 274 27-JUL-78 12:41 MACY11 30A(1052) CROSS REFERENCE TABLE -~ USER SYMBOLS 10194 101964 1449 101944 10176 S72# 99354 10163 99504 99814 99504 5564 SS7a 5584 SSo¥ 5604 5614 5624 73414 10163 10163 10175= 1443 14374 9870 14694 14374 9680 5064 4864 1738 2096 3002 4424 5684 6526 7279 9690 10197 502 S69# 54N 98184 20504 28914 9818 15944 20674 29274 3876 43524 54374 64894 70864 101394 10101 9695 7295+ 101664 10191 102014 101794 16104 20834 29594 17374 20954 30014 18364 21184 30284 L624N 58024 65344 18544 SEQ 0272 SEQ 0271 18764 48474 9701 9717 1501 7319 71824 10104+ 9705 7297 10115+ 97134 7321« 101414 7322« 7330 7342 9933 9958 9973 10017 10020 10047 10181+ 10182+ 102004 1445 10020 1447 10039 1449 10046 1451 1452 1454 1451 1938 1452 1953 55594 64984 61454 66304 1455 1982 49614 62354 66424 1526 9713 9716 10020 10025 2034 2818 4110 5267 6450 6986 9684 10032 1611+ 9874 9893 1738« 7279+ 7320 9697 2789 3976 5193 6419 6817 2673 3598 5044 6326 1574+ 9829 9858« 19374 26254 33624 L6374 59054 65604 L423M 56834 65254 72784 4414M 18894 25384 32354 24784 31664 L7374 59894 65934 22714 30774 9943« 6727 9668 9683 19524 19674 19814 26724 35974 50434 63254 27254 38504 51184 67264 64094 67364 5192# 64184 68164 9668 9837 9841 9707+ 9716 27884 39754 1574 2051 2892 4232 5333 6459 6995 9685 10036 9704 CZRJGCO,RP0O4/S5/6 DSKLS CTRLRI CZRJGC.PN 26-JUL-78 10:10 $TKINT $TKQEN= $TKQIN $TKQOU $TKQSR $TKS $TKSRV $TMPO $TMP1 1473 98214 98154 055164 001144 055246 001176 001200 001202 001204 001206 001210 $TMP2 $TMP3 $TMP4 $TMPS $TN 055176 055175 055160 055162 N 1615 9866 9822+ 9823+ 9822 9818 98294 1676x* 1541« 7794 4477 4481« L471% 3619« 1514 = 000124 S SEQ 0273 SEQ 0272 MACY11 30A(1052) 27-JUL-78 12:41 PAGE 275 CROSS REFERENCE TABLE -- USER SYMBOLS 16114 1876 2567 7462 9823 9864« 9945+ 9948 9848+ 9946 9944 9868 9827« 8561 98214 9834 9946 9865« 9866 9948+ 9868« 7850 9856+ 9872 9891 9901+ 7669 4559+ 7792 5707+ 7890+ 5762+ 10943 7660 9881 1677« 4449 10941 4478« 4551« 4480 3621« 7655+« 4474 10943 L4547 7653 4502+ 7660 4541 10956 4548« 7654« 4531« 7665 4545 7659« 7891« 4550 7667« 10943 7892+ 10956 10956 3630+ 7889« 7895+ 8013« 1525 1614 18774 1969 15264 1732 1878 1528 173/ 1573 17384 18904 1983 1579 18374 19384 2036 2118 1594 1840 1939 1597 18554 3622 3628+ 1981 26264 27894 2923 3021 3362 3977 4423 4739 5045 5266 5445 5896 6223 6421 001152 001157 001150 057206 $TPB $TPFLG $TPS $TRAP $TRAP? $TRP 057230 2050 21194 2627 2792 2927 3028 33634 65264 6632 6985 72794 = 000016 101544 101554 101564 101574 101584 101594 101604 101614 101624 057242 001102 056224 101524 7290+ 9952 7319 9969 9668 99734 9686 9708+ 9713 9717 10024 10047 98064 9807 9919 $TRPAD $TSTNM $TTYIN $TYPBN= $TYPDS $TYPE $TYPEC $TYPEX $TYPOC $TYPON $TYPOS L4422 4 054512 054736 055106 055154 057004 057020 056760 10157 10152 9797 9814 10154 100904 100974 10155 101634 101644 7665 CZRJIGCO,RPO4/5/6 DSKLS CTRLR1 CZRJGC.PN 26-JuL-78 10:10 8 6 12:41 PAGE 276 ) 27-JUL-78 MACY11 30A(1052 CROSS REFERENCE TABLE -- USER SYMBOLS $XTSTR $$GET4= $OF ILL $L0CAT= . = 10095+« 10034 S06# 10105 17144 73924 91944 10199 17864 85764 91954 110564 . ABS. 054252 000000 057203 srener 070252 070252 ERRORS DETECTED: 96754 73354 10091« 9673 5034 1454 17104 73834 91934 10178 1455 S07# 14824 SEQ 0274 SEQ 0273 101404 5084 14854 18204 85924 9716 5114 164924 18244 8598# 9717 5254 14944 18284 91844 97704 5274 15624 18434 91854 9818 575 15664 18454 91864 98214 000 O CZRJIGC ,DSKW: CZRIGC . SEQ/SOL/NL : TOC :MC :ME : CND=SYSMA(C . SMLL[400,10661,CZRIGC.P11[400,16424] RUN-TIME: 37 42 2 SECONDS RUN-TIME RATIO: 469/82=5.6 CORE USED: 38k DOCUMENT PAGES: (75 PAGES) 274 13384 16214 18514 91874 99734 14114 16534 38834 91884 9980 14124 1655# 72874 91894 10020 14134 16594 7342 91914 10047 1441 17054 7346 91924 100904
Home
Privacy and Data
Site structure and layout ©2025 Majenko Technologies