Digital PDFs
Documents
Guest
Register
Log In
AH-B001C-MC
March 1979
309 pages
Original
155MB
view
download
OCR Version
203MB
view
download
Document:
CZRMDC0 RM02,RM03 FCTNL TST 2 MAR 1979 bw
Order Number:
AH-B001C-MC
Revision:
000
Pages:
309
Original Filename:
CZRMDC0__RM02,RM03__FCTNL_TST_2__AH-B001C-MC__MAR_1979_gray.pdf
OCR Text
RMO2,RMO3 czrmoco corie s IO FICHE1 OF 2 MADE IN USA AH-B001C-MC 9 77-7 T* RIGH COPY e O ?C BM C? i 3 0 M R , Z O M R .~ FICHE20F2 MADEINUSA FCTNLTST2 MACYTT 30A(1052) 04=JAN-79 11:23 8 1 PAGE 1 SEQ 0001 \ -REM N VNE NN =O 000 NN NN — CZRMDCO RMO3/2 FCTINL TST 2 12-DEC-78 08:24 CZRMDC.P1 I0ENTIFLCATION 20 PRODUCT CODE : AC-B00OC-MC PRODUCT NAME : CZRMDCO RMO3/2 FCTNL TST 2 DATE CREATED: FEB 1979 MAINTAINER: DIAGNOSTIC GROUP AUTHOR: DOUG R1IKONEN | THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY CIGITAL EQUIPMENT CORPORATION. DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY FOR ANY ERRORS THAT MAY APPEAR IN THIS MANUAL. THE SOF TWARE DESCRIBED IN THIS DOCUMENT IS FURNISHED TO THE PURSHASER UNDER A LICENSE FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (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 g?c?gklkfllLllv OF 1TS SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY L. COPYRIGHT () 1977,1979 DIGITAL EQUIPMENT CORPORATION CIRMDCO RMO3/2 FCINL TST 2 CZRMOC.P11 12-DEC-78 08:24 52 MACY11 30A(1052) O04=JAN-79 11:23 c 1 PAGE 2 .PAGE 56 60 CONTENTS 1. INTRODUCTION 62 1. ABSTRACT 64 2. UNIT UNDER TEST 67 2. OPERATING REQUIREMENTS 69 1. HARDWARE REQUIREMENTS 4 2. MEDIA REQUIREMENTS 73 3. PREREQUISITE GIAGNOSTIC PROGRAMS 89 4. SWITCH OPTIONS . LOADING . STARTING L HALTING 1. PROGRAM ].D. CONSOLE D1ALOGUE PROGRESS REPORTS . N PROGRAM HALTS ERROR REPORTS . . o P PERFORMANCE REPORTS o ~ 0 QEIRER28E 5. RESTARTING OPERATOR INTERFACE . 91 1. WS e N ~N Oo 78 OPERATING PROCEDURE ~N 3. w 76 ENVIRONMENTAL SUPPORT 1. PROCESSOR COMPATIBILITY SEQ 0002 CIRRDCO RMO3/2 FCTINL TST 2 CZRMDC.P1Y 12-DEC-78 08:24 108 MACYTT 30A(1052) 04=JAN-79 2. 11:23 D 1 PAGE 3 DUAL PORT CONF IGURATIONS SEQ 0003 MACY11 30A(1052) 04=JAN=79 11:23 E 1 PAGE & SEQ 0004 W MEMORY PARITY HARDWARE MEMORY MANAGEMENT HARDWARE ' O wvw O~ ‘" - O ~N W= PAGE 2 B P WO OONO NP W=D s B B el B B . el s il il POPOPOIRNIN b b ot el it e s i o A 3 CZRMDCO RMO3/2 FCTNL TST 2 CZRMOC.P11 12-DEC-78 08:24 TEST ACT,APT COMPATIBILITY XXDP COMPATIBILITY OPERATING SYSTEM COMPATIBILITY DESCRIPTION CZRMDCO RMO3/2 FCTINL TST 2 CZRMDC.P11 12-DEC-78 08:24 125 126 127 MACY11 30A(1052) 04=JAN-79 F 11:23 1 PAGE S SEQ 0005 PAGE 3 }%8 1.0 INTRODUCTION }g? 1.1 ABSTRACT 132 133 }gg THE RMO3 SUBSYSTEM FUNCTIONAL TEST IS A STAND ALONE PROGRAM WHICH USES FUNCTIONAL MEANS TO VERIFY THE OPERABILITY OF THE RMO3 DISK SUBSYSTEM. IN PARTICULAR, THE PROGRAM SERVES THE FOLLOWING PURPOSES: 136 137 DISK TO EXPLICITLY ESTABLISH CONFIDENCE IN THE BASIC OPERATIONS OF THE ~ DRIVE, INCLUDING MECHANICAL POSITIONING AND DATA TRANSFER 140 TO IMPLICITLY ESTABLISH ELECTRICAL INTERFACE; — e s . el OPERATIONS; s8000r NO VSN - ;gg — ot - —d b3 A S 34 A 22 s —a D WNINNNNNN N OOV YO N W el s B el D il D il 00000000 ol e — D s -l — WV LV IV IV TV IV IV il s — Iw s OO NO NN — o0 148 CONFIDENCE TO VERIFY THE FUNCTIONALITY OF IN THE THE RMO3 SUBSYSTEM, MASSBUS CONTROLLER, MASSBUS ADAPTER AND THE DISK DRIVE. DRIVE/ADAPTER INCLUDING THE THE TEST 1S COMPRISED OF 3 PARTS, WHICH WOULD NORMALLY BE RUN IN SEQUENCE, STARTING WITH PART 1., BRIEFLY, PART 1 TESTS HOUSEKEEPING AND MECHANICAL POSITIONING OPERATIONS; WRITE CHECK OPERATIONS USING PART 2 TESTS WRITE, HEADER AND DATA; READ AND WRITE CHECK OPERATIONS USING DATA. 1.2 READ AND PART 3 TESTS WRITE, UNIT UNDER TEST THE UNIT UNDER TEST (UUT) IS THE RMO3 DISK SUBSYSTEM WHICH CONSISTS OF THE RHXX MASSBUS CONTROLLER ,THE RMO3 MASSBUS ADAPTER , AND THE STORAGE MODULE DISK DRIVE. NOTE THAT A DISK PACK IS REQUIRED Bg? ETESHNG AND IS CONSIDERED AN INTEGRAL OF THE STORAGE MODULE DISK v . 2.0 OPERATING REQUIREMENTS 2.1 HARDWARE REQUIREMENTS THE FOLLOWING OPERATIONAL, IS FUNCTIONAL TEST: MINIMUM REQUIRED PDP=11 PROCESSOR 16K MEMORY KWil=L OR KW11=-P CLOCK PROGRAM LOADING DEVICE TERMINAL RH11 OR RH70 CONTROLLER UNIT UNDER TEST, HARDWARE TO LOAD CONFIGURATION, AND EXECUTE ASSUMED T0O BE THE RMO3 SUBSYSTEM CIZRMDCO RMO3/2 FCINL TST 2 CIRMDC.PT 12-DEC-78 08:24 181 182 MACY11 30A(1052) 04=JAN-79 11:23 6 1 SEQ 0006 PAGE 6 WHERE THE UNIT UNDER TEST CONSISTS OF DRIVES AND DISK PACKS. ONE TO EIGHT RMO3 ADAPTERS, DISK CIRMDCO RMO3/2 FCTINL TST 2 CZRMDC.P1 12-DEC-78 08:2¢4 MACYTT 30A(1052) 04-JAN-79 11:23 H PAGE 7 SEQ 0007 PAGE & 2.2 MEDIA REQUIREMENTS EACH UNIT BEING TESTED MUST BE LOADED WITH A SCRATCH DISK PACK BEFORE TESTING BEGINS ON THAT UNIT. THE PACK MAY BE FORMATTED OR UNFORMATTED, BUT MUST NOT CONTAIN NEEDED INFORMATION BECAUSE THE PACK WILL BE WRITTEN DURING THE TEST. NOTE WHEN THE PROGRAM 1S LOADED VIA THE RMO3, DRIVE 0 IS NOT TESTED UNLESS THE OPERATOR SPECIFICALLY ENTERS THE NUMBER DURING CONSOLE DIALOGUE. 2.3 PREREQUISITE DIAGNOSTIC PROGRAMS N_‘_‘_‘—.—.-‘_.d—. OOV YO N N — RMO3 DISKLESS D!AGNOSTIC, oo N DRIVE 3.0 OPERATING PROCEDURE 3.1 LOADING CZRMJ-B THE PROGRAM MAY BE LOADED BY EITHER OF . THE FOLLOWING MEDIA: PAPER TAPE, US'NG THE STANDARD PAPER TAPE LOADING PROCEDURE; .XXDP MEDIA, USING THE APPROPRIATE LOADING DEVICE. NOTE WHEN THE PROGRAM 1S LOADED VIA THE RMO3, DRIVE 0 IS NOT TESTED UNLESS OPERATOR SPECIFICALLY ENTERS THE NUMBER DURING CONSOLE DIALOGUE. THE DRIVE T 3.2 OF SWITCH OPTIONS THE FOLLOWING SWITCH OPTIONS ARE PROVIDED TO ENMANCE THE THE PROGRAM. UTILITY CZRMDCO RMO3/2 FCINL TST 2 CZRMDC.P1 12-DEC-78 08:24 239 240 MACYTT 30A(1052) SW15 SW14 04=JAN-79 % ._-3_ 11:23 PAGE 8 HALT ON ERROR LOOP ON TEST (CURRENTLY BEING EXECUTED) SEQ 0008 CZRMDCO RMO3/2 FCTNL TST 2 CZRMDC.P11 12-DEC-78 08:2¢4 261 26? 263 264 265 246 267 MACYT1 30A(1052) 04=JAN-79 11:23 J 1 PAGE 9 SEQ 0009 PAGE 5 SwW13 INHIBIT ERROR TYPEOUTS Sw12 sWil Sw10 sw09 Sw08 UNUSED INHIBIT BELL ON LOOP ON LOOP ON TEST ITERATIONS ERROR ERROR TEST IN SWO7-00 THE LOW ORDER 8 SWITCHES (SWO7-SW00), ARE USED IN CONJUNCTION WITH Sggg OLO SPECIFY THE OCTAL NUMBER OF THE TEST WHICH THE PROGRAM WILL L 3.3 . STARTING THE PROGRAM STARTS AT LOCATION 200, WHICH PROVIDES WORST CASE TEST CONDITIONS IF RUNNING IN AN AUTOMATIC ENVIRONMENT. IF RUNNING IN A STAND-ALONE ENVIRONMENT, THE PROGRAM USES CONSOLE DIALOGUE TO ALLOW THE OPERATOR TO CONTROL TEST CONDITIONS. 3.4 HALTING THE PROGRAM CAN BE HALTED BY 3.5 TYPING CONTROL C FROM THE CONSOLE. RESTARTING THE PROGRAM CAN BE RESTARTED AT ADDRESS 200. 4.0 OPERATOR INTERFACE 4.1 PROGRAM 1D THE PROGRAM TYPES I1TS TITLE AND MAINDEC NUMBER THE FIRST TIME 11 IS STARTED AFTER BEING LOADED. PROGRAM IDENTIFICATION DOES NOT OCCUR IF THE PROGRAM S RESTARTED. 4.2 CONSOLE DIALOGUE WHEN THE PROGRAM 1S RUNNING IN STAND ALONE MODE, CONSOLE DIALOGUE SEQNENCE AFTER TYPING THE PROGRAM ].D.. IT ENTERS A THE FIRST QUESTION TYPED OUT IS: '‘TYPE HELP TEXT (Y OR N)??", IF THE OPERATOR RESPONDS WITH A Y, THE PROGRAM WILL TYPE A BRIEF HELP MESSAGE WHCIM WILL LIST SWITCH OPTIONS, ETC. CIRMDCO RMO3/2 FCINL TST 2 CZIRMDC.P11 12-DEC-78 08:2¢4 MACY11 30A(1052) 04=JAN-79 11:23 K 1 PAGE 10 SEQ 0010 PAGE 6 THE SECOND QUESTION TYPED OUT IS, "‘CHANGE RMO3 UNIBUS ADDRESS OR VECTOR ADDRESS (Y OR N)??"°. IF THE UNIBUS ADDRESS OF THE RMO3 IS NON STANDARD, THE OPERATOR SHOULD RESPOND Y, THEN ANSWER SUBSEQUENT YO NS WN =D OOV OR OEPRATOR il TESTED. OTHERWISE, THE CAN TYPE THE NUMBER(S) OF THE DEVICE(S) HME WANTS TESTED, AND TERMINATE HIS INPUT WITH A CARRIAGE RETURN. SAME IF THE PROGRAM 1S RESTARTED, THE FIRST QUESTION TYPED 1S, ‘'USE DEVICES (Y OR N)??"'. IF THE OPERATOR TYPES Y, THE TEST IS 4.3 PROGRESS REPORTS FOR AN END OF PASS REPORT OCCURS EACH TIME THE PROGRAM IS EXECUTED ALL DEVICES IN THE TEST GUE. THE END OF PASS REPORT INCLUDES A 4.4 PERFORMANCE REPORT RESTARTED USING THE SAME DEVICES AS THE LAST TIME, OTHERWISE, THE TEST ?ESEARYS THE DIALOGUE AS IF THE PROGRAM WERE STARTED FOR THE. FIRST D el e D el THE THIRD QUESTION TYPED OUT IS, '‘TYPE (A) TO TEST ALL DEVICES, TYPE DEVICE NUMBER(S). TERMINATE INPUT WITH CARRIAGE RETURN''. IF THE OPERATOR TYPES A, ALL POSSIBLE DEVICES ARE D D e ol L LY IV TV LV [V TP T b 38 QUESTIONS TO SPECIFY THE UNIBUS ADDRESS, VECTOR ADDRESS AND INTERRUPT PRIORITY. IF THE OPERATOR DOES NOT RESPOND WITH A Y, THE PROGRAM SKIPS TO THE THIRD QUESTION. MESSAGE AND AN ERROR SUMMARY. NO PERFORMANCE REPORTS ARE GIVEN PROGRAM, 4.5 DURING THE EXECUTION UNIT THE PROGRAM HALTS THERE ARE NO SCHEDULED HALTS DURING THE EXECUTION OF PROCESSUR HALTS ARE DUE TO THE TRAP CATCHER. 4.6 OF THE PROGRAM. ERROR REPORTS THE FIRST LINE OF THE ERROR REPORT CONTAINS Tht NUMBER OF THE BEING TESTED, THE TEST NUMBER, THE ERRUR NUMBER AND THE VALUE OF THE PROGRAM COUNTER WHERE THE ERROR WAS CALLED. THIS LINE 1S FOLLOWED BY THE ERROR MESSAGE: ONE OR MORE LINES OF TEXT WHICH GIVE A BRIEF, YET COMPREHENSIVE DESCRIPTION OF THE ERROR. THE ERROR MESSAGE 1S NORMALLY FOLLOWED BY ONE OR MORE PAIRS OF LINES CONTAINING DATA HEADERS AND DATA PERTININENT TO THE ERROR, INCLUDING EXPECTED AND ACTUAL TEST RESULTS. CZRMDCO RMO3/2 FCTINL TST 2 CZRRDC.P11 12-DEC-78 08:2¢4 MACYT1 30A(1052) 04=JAN-79 11:23 L1 PAGE 11 353 354 355 gg? 5.0 ENVIRONMENTAL SUPPORT ggg 5.1 PROCESSOR COMPATIBILITY 360 361 362 SEa 0011 PAGE 7 ;22 THE RMO3 SUBSYSTEM FUNCTIONAL TEST IS EXECUTABLE ON ANY PDP-11 PROCESSOR, PROVIDING PREVIOUSLY MEN. UNED HARDWARE PEQUIREMENTS ARE MET, AND PROVIDING THAT DATA THRO!U. 'PuT ON THE SYSTEM '3 SUFFICIENT TO SUSTAIN DATA TRANSFER OPERATIONS. 365 366 gg; 5.2 369 370 371 g;g THE RMO3 SUBSYSTEM FUNCTIONAL TEST DOES NOT SPEC!-ICALLY TEST DUAL PORT LOGIC IN THE RMO3 ADAPTER BUT IS EXECL ABLE ON RMO3 SUBSYSTEMS HAVING THE DUA! PORT OPTION PROVIDING THE DUAL “u .T SWITCH 1S SET TO THE APPROPRIATE ® RT (A OR B). 374 375 %;? t7p 3/9 380 381 382 ggz ' DUAL PORT CONFIGURATIONS 5.3 MEMORY PARITY HARDWARE MEMORY PARITY HARDWARE IS NOT USED DunING THE RMO3 SUSBYSTEM FUNCTIONAL TEST. 5.4 EXECUTION OF THE MEMORY MANAGEMENT HARDWARE 385 gg? MEMORY MANAGEMENT HARDWARE IS NOT USED DURING THE RMO3 FImCTIONAL TEST. CAPABILITIES OF THE MASSBUS CONTROLLEK 388 389 ggg 5.5 SUSBYSTEM ACT11, APT11 COMPATIBILIT 392 393 394 39% 396 397 398 538 THE RMO3 SUSBYSTEM FUNCTIONAL TEST IS COMPATIBLE WITH ACT11 AND APT11 IN BOTH DUMP AND AUTOMATIC MODES. ¢ ".THER, THE PROGRAM WILL EXECUTE A QUICK PASS DURING THE FIRST PASS IN SUPPORT OF QUICK VERIFY MODE. 401 402 403 THE RMO3 SUSBYSTEM FUNCTIONAL TEST IS COMPATIBLE WITH XXDP IN DUMP AND CHAIN MODES, AND PROVIDES MEDIA PROTECTION IN THE CASE WHERE THE °MO3 'S THE XXDP LOADING DEVi .c 'A 5.6 XXDP COMPATIBILITY CIRMDCO RMO3/2 FCTINL TST 2 CZ?%0C.P11 12-DEC-78 08:2¢ 404 405 406 28; 409 MACYTT 30A(1052) 04=./N-79 11:23 N PAGE 12 SEQ 0012 "AGE 8 5.7 OPERATING SYSTEM COMOATIBIL'TY THE PROGRAM 1S NCT COMPATIBLE WITH ANY SOFTWAPTTM IPERATING SYSTEM. CIRMDCO RMO3/2 FCTNL TST 2 CZRMDC.PY 12-DEC-78 08:2¢4 MACY1T1 3CA(1052) 04=-JAN-79 11:23 N1 PAGE 13 SEQ 0013 410 PAGE 9 (AR 612 413 L4 6.0 TEST DESCRIPTION 415 A1) L7 418 419 620 21 622 W23 624 425 626 627 428 429 430 43 632 433 4% 435 3% 637 4«38 439 (ONTROLLER ACCESS TEST L4 DEVICE AVAILABLE TEST PURPOSE: TO VERIFY ".'AT THE UNIBUS ADDRESS OF CORRECT, AS DEFIn" ' AT LOCATION S$BASE. USING ALONE THe EST TRIES TO ACCESS ALL SBASE ADDRESS. MASSBUS IS CONTROLLER REGISTERS REGISTER CONTENTS ARE IGNORED DURING A BUS TIMEOUT OCCURS FOR ANY IF THE TEST FAILS AND THE PROGRAr. IS RUNNING IN A STAND ENVIRONMENT, 1.E., LOCATIC" «? ', 0, THE PROGRAM WILL JUMP TO LOCATION 204 WHICH ALLOWS THL ~Ek~IOR ADDRESS VIA CONSOLE DIALOGU'E. 07 'ERWISE, THE END OF PASS HANDLER. TO CHANGE THE $BASE THE PROGRAM ESCAPES TO : PURPOSE Y 7 448 449 450 451 652 453 T0 VERIFY THATM THE UNIT UNDER TEST 1S AVAILABLE FOR TESTING, AND IS NOT LOCKED UR PROGRAMMED TO THE ALTERNATE PORT. PROCEDURE: THIS TEST SELECTS THE DEV..E AND Rc. 0S CONTROL STATUS REGISTERS 1 AND 2 TO VERIFY THAT iF SEL"ZIFD EVICE IS AVAILABLE FOR TESTING, AS INDICATED BY DVA S Al''S 31+ ! OF RMCS1 AND NED ?BATgsg BIT 12 OF RM(CS2. THE RESULI. U7 HE TEST CAN VARY AS 454 455 456 457 464 THE THE TEST, AND THE TEST FAILS IF REGISTER TRANSFER. 445 465 SUBSYSTEM PROCEDURE : 460 441 6462 0463 458 459 460 461 462 463 THE RMO3 LLOWS: - NONEXISTANT DEVICE - THE DEVICE 1S NONEXISTENT OR IS LOCKED ON THE ALTERNATE PORT AND IS THEREFORE NOT AVAILABLE FOR TESTING; .DEVICE NOT AVAILABLE - THE DEVICE EXISTS BUT 17 SEIZED BY .BUS TIMEOUT = THE MASSBUS CONTROLLER DETECT A THE ALTERNATE PORT AND IS NOT AVAILABLE FOR TESTING; FAILED TO = CZRMDCO RMO3/2 FCTINL TST 2 CIZRMDC.P1Y 12-DEC-78 08:24 466 - MACYTT 30A(1052) 04=JAN=T79 11:23 NONEXISTENT DEVICE; 8 2 PAGE 14 SEQ 0014 CIRMDCO RMO3/2 FCTNL TST 2 CZRMDC.P1 12-Dc(~78 08:24 MACY11 30A(1052) 04=JAN-79 11:23 ¢ 2 PAGE 15 SEQ 0015 467 468 PAGE 469 :;? .DEVICE AVAILABLE - THE DEVICE IS AVAILABLE FOR TESTING. 6472 THE PROGRAM JUMPS TO THE SUBPASS HANDLER WHICH 2;2 475 476 477 478 479 4«80 NEXT DRIVE TO BE TESTED IF DRIVE THE TYPE TEST PURPOSE : 483 :gg TO VERIFY THAT THE UNIT UNDER TEST DUAL PORT SUBSYSTEM. zg? PROCEDURE : 489 490 9N 692 493 494 495 496 497 agg SELECTS THE DEVICE IS NOT AVAILABLE. 23} 4«88 10 THIS TEST READS THE DRIVE TYPE 1S AN RMO3 SINGLE PORT OR REGISTER, RMDT, OF THE SELECTED DEVICE AND VERIFIES THAT THE DEVICE IS A SiNGLE PORT OR DUAL PORT RMO3 SUBSYSTER. IF THE SELECTED DEVICE 1S NOT AN RMO3, THE PROGRAM JUMPS TO THE SUBPASS HANDLER WHICH WILL SELECT THE NEXT DEVICE FOR TESTING. WRITE/READ HEADER AND DATA (FORMAT) TESTS & 28? PURPOSE : 502 503 L 50% 506 gg; TO TEST WRITE HEADER AND DATA AND READ MEADER AND DATA FUNCTIONALITY OF THE RMO3 SUBSYSTEM USING A SET OF VARIABLES WHICH INCLUDE WORD COUNT, HEAD MOTION, MEAD SWITCHING AND ERROR CONDITIONS. 509 510 ALTHOUGH EACH GENERAL PROCEDURE 511 512 513 514 515 516 517 518 519 520 521 522 PROCEDURE : TEST EXERCISES A OF EACH TEST 1S INITIALIZED AND RECALIBRATED IF 'PIP' DIFFERENT VARIABLE, THE THE SAME. THE DRIVE 1S CR ''SK1'* ARE ACTIVE SO THAT THERE ARE NO ERRORS WHEN A TEST BEGINS. FOLLOWING THAT, THE TEST PERFORMS ANY EXPLICIT SEEKS REQUIRED FOR TME CONDITIONS OF THE TEST. REGISTERS ARE PRESET AND THE WRITE MEADER AND DATA COMMAND 1S EXECUTED. WHEN THE WRITE COMMAND 1S COMPLETE, THE TEST STORES ALL SUBSYSTEM STATUS AND CHECKS FOR PRIMARY ERRORS WHICH PRECLUDE OTHER STATUS CHMECKS. IF THERE ARE NO PRIMARY ERRORS, THE TEST VERIFIES THE RESULTS OF THE WRITE COMMAND AND THEN CHECKS FOR SECONDARY ERRORS. LOOP ADDRESSES ARE MODIFIED FOLLOWING THE SUCCESSFUL COMPLETION OF THE WRITE COMMAND IN ORDER TO SHORTEN EXECUTION TIMES AND ENMANCE SCOPING LOOPS, THEN THE PROGRAM EXECUTES THE READ HEADER AND DATA PORTION OF THE TEST, VERIFYING CZRMDCO RMO3/2 FCTNL TST 2 CZRMDC.P1 12-DEC-78 08:2¢4 g%z IV IV IV IV IV I IV LERFUKR LSS 525 526 527 MACY11 30A(1052) 04=JAN-79 11:23 b 2 PAGE 16 SEQ 0016 THE SAME TYPE OF ERRORS AS IN iHE WRITE COMMAND. NOTE THAT THE SECTOR USED DURING A TEST MAY DIFFER FROM THE PROGRAM LISTING BECAUSE THE PROGRAM SUBSTITUTES A GOOD SECTOR IF THE ONE SELECTED IS LISTED IN THE BAD BLOCK TRACK. UNLESS SECTOR) FORMAT, FORMAT ZEROS - TABLE OF THE SPECIFIED OTHERWISE, ALL TESTS ARE IN 16 BIT 18 LAST (32 CZRMDCO RMO3/2 FCTINL TST 2 CZRMDC.P 12-DEC-78 08:24 538 539 540 561 562 563 ik 565 22? MACYTT 30A(1052) 04=JAN-79 11:23 E 2 PAGE 17 SEQ 0017 PAGE 29 THE TEST SEEKS TO CYLINDER O, THEN WRITES HEADER AND DATA ON SECTOR O IN 18 BIT FORMAT. THE HEADER AND DATA FIELDS ARE ALL ZEROS, CAUSING TME DEVICE TO USE NORMAL WRITE GATE. THE HEADER AND DATA ARE READ AND COMPARED WITH THE WRITE BUFFER. THE INITIAL SEEK POSITIONS THE HEAD SUCH THAT THERE IS NO IMPLIED SEEK. 552 FORMAT ZEROS - 16 555 556 THIS TEST IS THE SAME AS THE PREVIOUS TEST, EXCEPT THAT DATA IS WRITTEN IN 16 BIT FORMAT. 562 ZERO FILL TEST 564 565 566 567 568 569 THE TEST EXECUTES A SEEK TO CYLINDER O TO INSURE THAT THERE IS NO HEAD MOTION DURING DATA TRANSFER. THIS IS FOLLOWED BY A WRITE HEADER AND DATA COMMAND WITH THE WORD COUNT EQUAL TO THE SIZE OF THE HEADER WHICH CAUSES THE RH70 TO ZERO FILL THE DATA FIELD. THE READ HEADER AND DATA COMMAND THAT FOLLOWS READS A FULL SECTOR AND VERIFIES THAT DATA WAS ZERO FILLED. FORMAT CHECK ZEROS 79 580 THE TEST WRITES WEADER AND AN ALL ZEROS DATA FIELD, THEN PERFORMS A WRITE CHECK WEADER AND DATA COMMAND AND VERIFIES THERE ARE NO ERRORS. 586 FORMAT CHECK ZEROS W/ WCE ERROR 589 590 THE TEST WRITES HEADER AND AN ALL ZEROS DATA FIELD. AFTER COMPLEMENTING THE LAST WORD OF THE WRITE BUFFER, THE TEST 591 592 PERFORMS A WRITE CHECK HEADER AND DATA COMMAND AND VERIFIES THE CORRECT WRITE CHECK ERROR 1S DETECTED. THAT CZRMDCO RMO3/2 FCINL TST 2 CZRMDC.P1 12-DEC-78 08:2¢4 MACY11 30A(1052) 04=-JAN-79 11:23 PA%E 18 SEQ 0018 F 593 594 595 596 597 598 599 600 601 gg% THE TEST WRITES HEADER AND AN ALL ONES DATA FIELD, THEN READS THE HEADER AND DATA, VERIFYING THE READ BUFFER WITH THE WRITE BUFFER. THE ALL ONES FIELD IS A CONSTANT FREQUENCY, AND THE DRIVE SHOULD USE NORMAL WRITE GATE. 604 605 606 607 608 FORMAT CHECK ONES o1 611 612 613 614 615 616 617 618 619 o3t PAGE 30 FORMAT ONES ) THE TEST FORMATS AN ALL ONES DATA FIELD, THE PERFORMS A WRITE CHECK HEADER AND DATA COMMAND, VERIFYING THAT THERE ARE NO ERRORS. FORMAT CHECK ONES W/ WCE ERROR 622 623 624 625 626 627 628 629 THE TEST FORMATS AN ALL ONES DATA FIILD, THEN COMPLEMENTS THE LAST WORD OF THE WRITE BUFFER. A WRITE CHECK HEADER AND DATA COMMAND IS EXECUTED, AND THE TEST VERIFIES THAT THE CORRECT WRITE CHECK ERROR IS DETECTED. : gg} FORMAT MULTIPLE SECTORS 633 634 635 636 2%; THE TEST SEEKS TO CYLINDER O TO INSURE THERE 1S NO HEAD MOTION DURING DATA TRANSFER. THE WRITE HEADER AND DATA COMMAND FOLLOWS, WITH THE WORD COUNT EQUAL TO MULTIPLE SECTORS. THE WORD COUNT DURING THE READ HEADER AND DATA PORTION OF THE TEST IS SET FOR ALL OF THE FIRST SECTOR AND THE HEADER OF THE SECOND SECTOR. 639 640 641 642 643 FORMAT WITH HEAD SWITCHING 645 646 647 648 THE TEST SEEXKS TO CYLINDER O TO INSURE THERE 1S NO HEAD MOTION DURING DATA TRANSFER. THE WRITE HEADER AND DATA COMMAND STARTS WITH CYLINDER O, TRACK O, SECTOR 31, THE WORD COUNT IS EQUAL TO MULTIPLE SECTORS WHICH CAUSES THE SUBSYSTEM TO SWITCH 630 e CZRMDCO RMO3/2 FCTNL TST 2 CZRMDC.P1 12-DEC-78 08:24 649 650 MACY11 30A(1052) 04=-JAN-79 11:23 6 2 PAGE 19 FROM TRACK O TO TRACK 1 AFTER THE FIRST READ HEADER AND DATA (COMMAND USES SEQ 0019 SECTOR IS THE SAME WRITTEN. THE WORD COUNT AND CZRMDCO RMO3/2 FCTINL TST 2 CZRMDC.P11 12-DEC-78 08:24 MACY11 30A(1052) 04=JAN-79 11:23 PA%E 20 SEQ 0020 H 651 652 653 654 655 PAGE 31 STARTING SECTOR. 660 FORMAT WITH IMPLIED SEEK 662 663 AND THIS TEST SEEKS TO THE LAST CY' 'n)cR PRIOR TO WRITING HEADER DATA ON CYLINDER O. THE EY"LILiT SEEK INSURES THAT THERE 664 WILL BE MAXIMUM HEAD MOTION DURING THE 666 REPEATED FOR READ HEADER AND DATA. 672 FORMAT WITH MIDTRANSFER SEEK 674 675 676 677 THIS TEST WhITES MULTIPLE SECTORS STARTING WITH CYLINDER O, TRACK &, SECTOR 31, CAUSING A MIDTRANSFER SEEK AFTER THE FIRST SECTOR IS WRITTEN. THE SAME SECTORS ARE READ WITH READ HEADER AND DATA COMMAND. 665 683 COMMAND. " THE SAME OPERATION, IMPLIED SEEK OF INCLUDING THE WRITE THE EXPLICIT SEEK IS FORMAT EACH SECTOR ADDRESS 685 686 HEADERS AND DATA OF EACH SECTOR ON CYLINDER O, TRACK 0 ARE FORMATTED AND READ WITH THE PROGRAM VERIFYING HEADERS AND DATA. 692 FORMAT EACH TRACK ADDRESS 694 695 READS EACH SECTOR WITH THE PROGRAM VERIFYING HEADERS AND DATA, 701 FORMAT PRIME CYLINDERS 703 THIS TEST FORMATS AND READS SECTO R O, TRACK 0 ON EACH CYLINDER, 1.E., CYLINDERS 1,2,4.8,...,512. 704 THIS TEST FORMATS SECTOR O OF EACH TRACK ON CYLINDER 0O AND PRIME CZRMDCO RMO3/2 FCINL TST 2 CZRMDC.P1 12-DEC-78 08:24 MACY11 30A(1052) 04=JAN-79 11:23 lPA%E 21 SEQ 0021 705 708 710 ;}; PAGE 32 FORMAT LAST SECTOR THIS TEST READS HEADER AND DATA CN THE §E%§"°E' 822, TRACK LAST SECTOR, 1.E &, SECTOR 31, AND VERIFIES THAT LBT STATUS FOR W/ AOE ERROR 720 721 THIS TEST READS MULTIPLE SECTORS STARTING SECTOR AND VERIFIES THAT AOE STATUS SETS. WITH THE LAST 727 FORMAT 729 730 THIS TEST USES AN ILLEGAL SECTOR ADDRESS AND IAE STATUS SETS. VERIFIES THAT 736 FORMAT 738 739 THIS TEST USES AN ILLEGAL TRACK ADDRESS IAE STATUS SETS. VERIFIES THAT 745 FORMAT 747 748 THIS TEST USES AN ILLEGAL CYLINDER ADDRESS AND VERIFIES THAT IAE STATUS SETS. 754 FORMAT AT OFFSET 756 ;gg gs;: INVALID SECTOR ADDRESS INVALID TRACK ADDRESS AND INVALID CYLINDER ADDRESS THE PROGRAM SETS OFFSET MODE AND EXECUTES A WRITE HEADER AND gOHHAND. VERIFYING THAT OFFSET MODE IS RESET BY THE WRITE AND. CZRMDCO RMO3/2 FCINL TST 2 CZRMDC.P1 12-DEC-78 08:2¢4 759 760 761 MACY11 30A(1052) 04=JAN-79 11:23 J 2 PAGE 22 SEQ 0022 PAGE 33 . ;g% IVC FORMAT TEST 764 765 766 767 VOLUME VALID IS RESET BY SETTING AND RESETTING DIAGNOSTIC MODE. THE TEST THEN EXECUTES A WRITE HEADER AND DATA COMMAND AND VERIFIES THAT INVALID COMMAND STATUS SETS. THE TEST IS REPEATED FOR READ HEADER AND DATA COMMAND. 773 FORMAT ERROR TEST(18 AND 16) 775 776 77 778 779 A SINGLE SECTOR IS FORMATTED WITH THE OFFSET REGISTER SET FOR 16 BIT FORMAT AFTER WHICH THE SAME SECTOR 1S READ IN 18 BIT FORMAT WITH THE PROGRAM VERIFYING THAT FORMAT ERROR STATUS IS SET. THE SAME PROCEDURE IS REPEATED WITH THE SECTOR WRITTEN IN 18 BIT FORMAT AND READ IN 16 BIT FORMAT. 785 FORMAT HCE 788 789 790 791 792 . (FIRST AND SECOND HEADER WORDS) THESE TWO TESTS WRITE AN INCORRECT HEADER THEN READ THE HEADER AND VERIFY THAT THE CORRECT HEADER ERROR 1S DETECTED. THE TESTS SETUP THE CORRECT HEADER, THEN COMPLEMENT BIT O AND USE THE MODIFIED BUFFER TO WRITE THE HEADER. THE PROCESS IS REPEATED UNTIL EACH BIT POSITION HAS BEEN SEPARATELY TESTED. CZRMDCO RMO3/2 FCINL TST 2 CZRMDC.PN 798 12-DEC-78 08:2¢4 MACY11 30A(1052) \ 04=JAN-79 11:23 K 2 PAGE 23 SEQ 0023 CZIRMDCO RMO3/2 FCTINL TST 2 CZRMOC.P11 12-DEC-78 08:24 MACY1. 30AC1052) O04=JAN=T79 11:23 L 2 PAGE 24 ;gg :PROGRAM REVISIG. #501 801 802 803 883 .TITLE CZRMDCO RMO3/2 FCTNL TST 2 :*COPYRIGHT (C) 1977 :*DIGITAL EQUIPMENT CORP. "HAVNARD MASS. 01754 88? -parsann BY DOUG R1IKONEN 808 -Inls PROGRAM WAS ASS"M3LED USING THE pop-11 HAINDE( SYSMAC g?g 811 g}g ;*PACKAGE 000001 N1 .SBTTL (WAINDEC- ' DIQAC-C3), JAN 19, OPERATIONAL SWITCH SETTINGS 'l 814 815 816 817 818 819 820 821 822 823 824 325 826 827 828 829 i ;* i i ‘e i i i M i te i i . i ;e 831 i 830 . ggg 834 835 836 "SBTTL 001100 ggg 839 840 841 842 843 844 845 SWITCH eeeeee 15 14 Conot N i Ch0L > NG o) 7 USE eccccccccccccccccces HALT ON ERROR LOOP ON TEST 13 12 1" 10 9 § 7 & B 4 3 2 INHIBIT ERROR TYPEOUTS ENABLE EXTENDED STATUS INKIBIT ITERATIONS BELL ON ERROR LOOP ON ERROR LOOP ON TEST IN SWR<7:0> TN128 TNG64 TN32 TN16 N8 TNG 0 TM1 1 TN BASIC DEFINITIONS ;*INITIAL ADDRESS OF THE STACK POINTER s« 1100 w#+ STACK= 1100 JEQUIV EMT,ERROR ;:BASIC DEFINITION OF ERROR CALL JEQUIV 10T.SCOPE 1:BASIC DEFINITION OF SCOPE CALL :*MISCELLANEOLS DEF INITIONS H1= 1 ::CODE FOR HORIZONTAL TAB F=z 12 CRLF= PS= LEQUIV 15 200 177776 PS,PSW 177772 177570 177570 ::CODE FOR CARRIAGE RETURN ::CODE FOR CARRIAGE RETURN-LINE FEED : :PROCESSOR STATUS WORD 846 177774 177772 177570 177570 PIRQ= DSWR= DDISP= 851 852 853 854 000000 000001 000002 : «GENERAL PURPOSE REGISTER DEFINITIONS RO= 10 : sGENERAL REGISTER 1= 31 : :GENERAL REGISTER R2= 12 : *GENERAL REGISTER 847 848 2?3 STKLMT= 177774 ::CODE FOR LINE FEED :3STACK LIMIT REGISTER ::PROGRAM INTERRUPT REQUEST REGISTER : 'HAROWARE SWITCH REGISTER : 'HARDWARE DISPLAY REGISTER SEQ 0024 CZRMDCO RMO3/2 FCTINL TST 2 CZRMDC.PY 12-DEC-78 08:2¢4 000003 000004 000005 000006 000007 000006 000007 MACY11 30A(1052) 04=JAN-79 11:23 PA%E 25 n SEQ 0025 BASIC DEFIN ITIONS R4= RS= R6= R7= SP= PC= 1 {3 15 16 X7 16 X7 . FNF< . REGISTER : 'rni'AL REGISTER ..GENGRAL REGISTER s sGENERAL REGISTER :sSTACK POINTER : sPROGRAM COUNTER s*PRIORITY _EVEL DEFINITIONS PRO= 0 ;:PRIORITY LEVEL O PR2= PR3= PR4= PRS= PR6= PR7= 100 140 200 240 300 340 ::PRIORITY ::PRIORITY ::PRIORITY ::PRIORITY ssPRIORITY ::PRIORITY PR1= 4«0 ::PRIORITY LEVEL 1 LEVEL LEVEL LEVEL LEVEL LEVEL LEVEL "<UITCH REGISTER'' SWITCH DEFINIT'ORE SUo 100000 SU1440000 20000 swi3= 10002 swi2= Swit= 4000 sSwil2000 Swi5= 1000 SW(! <00 SWw0/7-= "0 «° 20 10 & LEQUI' LEQUIV LEQUlY LEQUIY .EQUIV LEQUIV LEQUIV .EQUIV LEQUIV SWOO SW9 SW0?,Sw8 SWO7,Sw7 SW06,SWwé SWO0S,SWS SWO04,SWé SWO03,Sw3 SW02,Sw2 SwO1,Swi SWw00= . 100000 QUlv i Sw00,Sw0 ,*wATA BIT DEFINITIONS (BITOO TO BIT15) 8I1Ti5= 100000 BIT14= 40000 8IT13= 20000 BIT12= 10000 RIT11= 000200 ¢00 Swo6= SW05= SW04= Sw03= Sw02= swo1= 21710= BI1109= BIT08= BI1107= 4000 2000 1000 400 200 2 3 & S 6 7 CZRMDCO RMO3/2 FCTINL TST 2 CZRMDC.P11 12-DEC-78 08:24 MACYT1 30A(1052) 04=JAN-79 BASIC DEFINITIONS N 2 PAGE 26 .EQulv O N R VO —_ NN O O O e I e e e =S~ NWS VWO N s e s BIT CD OO 0D GO T .EQUlv B < = [= Ll = — m TM [~} < - 01§ — Bt Bt Bt Bt Bt Bt Bt 912 913 914 4 DDDDDDD =N & =N —s OOOS m 11:23 B1700,B170 ;*BASIC *'CPU'" TRAP + CTOR ADDRESSES ::TIME OUT AND OTHER ERRORS ::g%gs:gso AND ILLEGAL INSTRUCTIONS EXFrviC= & RESVEC= 10 TBITVEC=14 TRTVEC= 14 BPTVEC= 14 :sTRACE TRAP : ;BREAKPOINT TRAP (BPT) ;s INPUT/0UTPUT TRAP (10T) =«SCOPEe** :;POWER FAIL :;EMULATOR TRAP (EMT) #+ERROR*+ 10TVEC= 20 PURVEC= 24 EMTVEC= 30 TRAPVEC=34 TKVEC= TPVEC= ::""TRAP'' TRAP ;:TTY KEYBOARD VECTOR ::TTY PRINTER VECTOR : sPROGRAM INTERRUPT REQUEST VECTOR 60 64 PIRQVE(C=240 .SBTTL RMO3 REGISTER BIT DEFINITIONS ;RMCST CONTROL STATUS REGISTER ;DEVICE AVAILABLE-READ ONLY ;FUNCTION CODE :FUNCTION CODE ;FUNCTION CODE - 004000 000040 ;FUNCTION CODE :FUNCTION CODE ;G0 BIT ;FUNCTION CODE MASK 000001 000077 (BITS 01-05 OF RMCS1) O T T U LU D — o o o < T I T ] 000000 000020 :NOP_COMMAND : ILLEGAL COMMAND : SEEK COMMAND sRECALIBRATE COMMAND ;DRIVE CLEAR COMMAND ;RELEASE COMMAND ;OFFSET COMMAND ;RETURN TO CENTERLINE COMMAND ;READ IN PRESET COMMAND SEQ 0026 ———— - o CIRTMDCO RMO3/2 FCTNL TST 2 CIRIOC.P1Y 12-DEC-78 08:2¢4 MACYTT1 30AC1052) 000022 000022 000024 PAKACK PACACK ILF26 975 976 000036 000040 ILF36 ILF&0 977 978 979 980 981 982 983 984 985 986 987 988 989 990 g; 000026 000030 000030 000032 000034 000042 000044 200046 000050 000052 000054 000056 000060 000062 000064 000066 000070 000072 000074 000076 gg‘.': 995 996 997 998 999 1000 1001 }%g 002000 001000 000400 000020 000010 000004 000002 000001 }88‘; 1006 }%g 1018 1019 1020 }85; 04=JAN-79 11:23 = = = 000022 PAKACK 000024 003400 000037 100000 040000 020000 010000 004000 002000 001000 000+00 000200 000100 000001 8 3 PAGE 27 = = 000036 000040 ;PALK ACKNOWLEDGE COMMAND : ILLEGAL COMMAND : ILLEGAL COMMAND s SEARCH COMMAND : ILLEGAL COMMAND s ILLEGAL COMMAND : ILLEGAL COMMAND : ILLEGAL COMMAND : ILLEGAL COMMAND s JLLEGAL COr AND ; ILLEGAL COMMAND ; ILLEGAL COMMAND ;WRITE CHECK DATA COMMAND ;WRITE CHECK HEADER AND DATA : ILLEGAL COMMAND ; ILLEGAL COMMAND ;WRITE DATA COMMAND ;WRITE HEADER AND DATA COMMAND ; ILLEGAL COMMAND ; ILLEGAL COMMAND sREAD DATA COMMAND sREAD HEADER AND DATA COMMAND ; ILLEGAL COMMAND ; ILLEGAL COMMAND ILF26 SEARCH ILF30 ILF32 ILF36 = = = = = 000026 000030 000030 000032 000034 ILF42 ILF&4 ILFG6 wiD WCH ILF5% ILF56 WD WH ILF64 ILF66 RD RH ILF764 ILF76 = = = : = = = = = = = = = ;RMDA DISK ADDRESS REGISTER TA4 TA2 TAl SA16 SA8 SA&L SA2 SA1 B = = = = = = = 000042 000044 000046 000050 000052 000054 000056 000060 000062 000064 000066 000070 000072 000074 000076 8IT10 81109 81108 B1704 81703 81102 B1101 81100 ;TRACK ,SECTON MASKS }8(‘)8 1011 1012 1013 1014 1015 1016 1017 — 2 RMO3 REGISTER BIT DEFINITIONS 97 968 %9 )70 7 972 973 974 . : TRACK ADDRESS & : TRACK ADDRESS 2 : TRACK ADDRESS 1 ;SECTOR ADDRESS 16 ;SECTOR ADDRESS 8 sSECTOR ADDRESS & ;:SECTOR ADDRESS 2 ;:SECTOR ADDRESS 1 - TADMSK = ;RMDS DRIVE STATUS REGISTER ATA ERR PIP MOL WRL LBT PGM = = = = = B SADMSK DPR DRY vv oM = = B = z 003400 000037 BIT15 BIT14 BIT13 BIT12 BITI BIT10 BIT09 81708 81107 81106 BIT00 : TRACK ADDRESS MASK :SECTOR ADDRESS MASK ;ATTENTION ACTIVE ;COMPOSITE ERROR ;POSITIONING IN PROGRESS ;MEDIUM ON LINE ;WRITE LOCK :LAST BLOCK TRANSFERRED : PROGRAMMABLE :DRIVE PRESENT ;:DRIVE READY :VOLUME VALID ;OFFSET MODE ACTIVE B F SEC 0027 CZRMDCO RMO3/2 FCINL TST 2 CIRMDC.P1 12-DEC-78 08:24 }8%2 1025 1026 1027 1028 1029 1030 1031 1032 1033 100000 040000 020000 010000 004000 002000 001000 ¢ 3 MACY1T 30A(1052) 04=JAN-79 11:23 PAGE 28 RMO3S REGISTER BIT DEFINITIONS :RMERT ERROR REGISTER M DCK UNS 0Pl DTE s = = = BIT1S BIT14 BIT13 BIT12 ;DATA CHECK ERROR sDRIVE UNSAFE sOPERAYTiON INCOMPLETE ;DRIVE TIRING ERROR = = = = 81110 81109 81108 81107 s INVALID ADDRESS ERROR sADDRESS OVERFLOW ERROR sHEADER CRC ERROR ;HEADER COMPARE ERROR WLE = ECH =z 000400 000200 1AE AOE HCRC HCE BITI 1034 000100 000040 000020 0000:0 000004 000002 000001 WCF FER PAR RAR ILR ILF z = s =z s = BIT0S BI104 81103 81102 B1TO1 81700 1042 115760 NDTMSK = DCK'DTE'WLE 'AOE 'MCRC'MCE 'ECH'WCF 'FER 1035 1036 1037 1038 1039 }8:? 1043 }822 sECC "MARD'® ERROR sWRITE CLOCK FAILURE ;FORMAT ERROR :PARITY ERROR sREGISTER MODIFICATION REFUSED sILLEGAL REGISTER sILLEGAL FUNCTION J'NDTMSK'' 1S USED TO MASK ERROR REGISTER 1 DURING NON = DATA ;COMMANDS, 1.E., HOUSEKEEPING AND POSITIONING COMMANDS }823 1823 B1106 JURITE LOCK ERROR 000377 ;RMAS ATTENTION SUMMARY REGISTER ATNMSK = :RMLA LOOK AMEAD REGISTER 377 ;MASK FOR ATTENTION BITS | }82? 1052 1053 002000 001000 SCé4 SC3 s s 81710 BIT09 1055 000200 SC1 s BI1107 003700 SCTMSK = }82? ;RMMR MAINTENANCE REGISTER }82% 3 WRITE ONLY BITS DBCK DBEN DEBL D10 MCLK MRD z H z H s =z 1054 }82? }823 1064 1065 1066 1067 1068 1069 1070 107 1072 1073 1074 1075 1076 1077 1078 000400 000100 100000 040000 020000 010000 004000 002000 001000 000400 000200 000100 000040 000010 000004 000002 000001 SC2 SCO MUR MOC MSER MDF MS MwP M] MSC DMD = = s z s s z s = = = ;SECTOR COUNT = 16 ;SECTOR COUNT = 8 81108 sSECTOR COUNT = & B1106 sSECTOR COUNT = 1 003700 BIT1S BIT14 BIT13 BIT12 BITI BIT10 BIT09 81708 B1107 81106 B1105 BIT03 B1102 81101 BIT00 sSECTOR COUNT = 2 ;SECTOR COUNT MASK ;DEBUG CLOCK :DEBUG CLOCK ENABLE sDIAGNOSTIC END OF BLOCK sDIAGNOSTIC TIMEOUT JMAINTENANCE CLOCK sREAD DATA :UNIT READY sON CYLINDER ;SEEK ERROR sDRIVE FAULT sSECTOR PULSE ;WRITE PROTECT s INDEX PULSE sSECTOR COMPARE ;DIAGNOSTIC MODE SEQ 0028 CZRMDCO RMO3/2 FCTNL TST 2 CIRMDC.P11 12-DEC-78 08:24 1079 }83? 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 }88; 100000 040000 020000 010000 004000 002000 001000 10400 000200 000100 000040 000020 000010 000004 000002 000001 BIT15 BITi4 BIT13 BITN SNGPRT = 020024 ;RMOF OFFSET REGISTER FMT16 ECl HCI OFD = = = ;RMDC DESIRED CYLINDER ADDRESS REGISTER ;RMMR2 MAINTENANCE REGISTER #2 100000 040000 : RQA RQB READ ONLY BITS = BIT15 BIT14 :PORT A REQUEST ;PORT B REQUEST 000400 000200 8808 8807 = = 81708 81107 : TAG BUS : TAG BUS 024024 010000 004000 002000 000200 001777 }}g? 1123 1124 1125 1126 1127 1128 1129 020000 010000 004000 002000 001000 1152 1133 1134 000100 000040 000020 1130 " DULPRT CYLMSK TAG ST g CH 8809 BB806 BB05 8804 = = = = = = = = = = = BIT14 BIT13 BIT12 BITI BIT10 81109 81108 81107 81106 81105 81104 81103 81102 81101 81100 024024 BIT12 BIT1 BIT10 81107 1777 BIT13 BIT12 BIT1 BIT10 BIT09 B1106 BIT05 B1104 SEQ 0029 ;OCCUPIED = = = = }}?g 1122 BIT15 NSA TAP MOH DRQ 020024 }}}g = DRIVE TYPE REGISTER 1106 1116 1117 occ ;RMDT 100000 040000 020000 004000 }}}g READ ONLY BITS = = = B = = B = = = = = = = 1101 1102 1103 }}82 1 1112 1113 : RG EBL REX ESRC PLFS ECRC PDA PHA CONT W EECC MWD LS LST DMD }?gg }}8; D 3 MACYTT 30A(1052) 04=-JAN-79 11:23 PAGE 29 RMO3 REGISTER BIT DEFINITIONS :RUN AND GO :END OF BLOCK ;EXCEPTION :ENABLE SEARCH :LOOKING FOR SYNC ;ENABLE CRC OUuT sDATA AREA sHEADER AREA s CONTINUE sWORD CLOCK sENABLE ECC OuT ;WRITE DATA BIT :LAST SECTOR ;LAST SECTOR AND TRACK ;DIAGNOSTIC MODE ;NOT SECTOR ADDRESSED=0 ;:TAPE DRIVE = 0 ;MOVING HEAD = 1 ;DRIVE REQUEST REQUIRED ;SINGLE PORT DRIVE TYPE ;DUAL PORT DRIVE TYPE ;16 BIT WORD FORMAT ;ECC INMIBITY ;HEADER COMPARE INMIBIT ;OFFSET FORWARD ;MASK FOR CYLINDER ADDRESS :TAG CONTROL : COMMAND SEQUENCE TEST BIT ;CONTROL OR CYLINDER TAG :CONTROL OR HEAD TAG :TAG BUS : TAG BUS : TAG BUS : TAG BUS 1190 (=Tl V) @ @ nnnumn OO s il il it WNO =MW W e ] R B B B B 0 CD OO OO D O O TM St Gt Pt Gt Gt Pt Gt Gt ] T T BIT14 USE 3 PAGE 30 ILRG6S ILRG66 ILRG70 ILRG72 ILRG74 ILRG76 1DXMSK [ T I L I L T [ LU L AL L OO L O LI L &~ » L LU LI ILRG50 ILRGS?2 ILRGS54 ILRG56 ILRG60 ILRG62 T RMMR?2 RMER?2 RMECT RMEC2 :BAD SECTOR ERROR sSEEK INCOMPLETE ;OPERATOR PLUG ERROR : INVALID COMMAND ERROR ;LOSS OF SYSTER CLOCK ;LOSS OF BIT CLOCK ;DEVICE CHECK ;DATA PARITY ERROR sMANUFACTURING DETECTED SECTOR ERROR ;USER DETECTED SECTOR ERROR sATTENTION SUMMARY REGISTER LI RMER1 RMAS RMLA RMMR1 RMDT RMSN RMOF RMDC RMCC :TAG BUS :TAG BUS :TAG BUS ;CONTROL STATUS REGISTER :DISK ADDRESS REGISTER ;DRIVE STATUS REGISTER ;ERROR REGISTER 1 I RMDA RMDS :TAu BUS RMO3 REGISTER INDEX VALUES N RMCS| R BIT1S MSE ~ ~ 000077 T PROGRAM MNEMONICS U 000016 000020 000024 000026 000030 000032 000034 000036 000040 000042 000044 000046 000050 000052 000054 000056 000060 000062 000064 0000 000070 000072 000074 000076 T .SBTTL .SBTTL 000000 000006 000012 000014 I DPE LU OPE Iv( LSC LBC DvC I SK1 T 100000 040000 E ERROR REGISTER 2 LI 1163 1164 1165 1166 1167 1168 1169 1170 nn 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 004000 002000 000200 000010 BSE 81103 170 170 170 T 1162 8803 8802 8801 8800 T 1147 1148 1149 1150 1151 1152 1152 1154 1155 1156 1157 1158 1159 1160 1161 11:23 RMO3 REGISTER BIT DEFINITIONS sRMER? 100000 040000 020000 010000 04=JAN-79 LU 1141 1142 1143 1144 1145 1146 000010 000004 000002 000001 30A(1052) LU 1135 1136 1137 1138 1139 1140 MACYT1 1 CZRMDCO RMO3/2 FCINL TST 2 CZRMDC.P1 12-DEC-78 08:2¢4 :LOOK AHEAD REGISTER sMAINTENANCE REGISTER :DRIVE TYPE REGISTER ;SERIAL NUMBER REGISTER ;OFFSET REGISTER ;:DESIRED CYLINDER REGISTER : CURRENT CYLINDER REGISTER sMAINTENANCE REGISTER 2 ;ERROR REGISTER 2 ;ECC POSITION REGISTER ;ECC_PATTERN REGISTER s ILLEGAL REGISTER 50 s ILLEGAL REGISTER s ILLEGAL REGISTER s ILLEGAL REGISTER s ILLEGAL REGISTER s ILLEGAL REGISTER s ILLEGAL REGISTER s ILLEGAL REGISTER s ILLEGAL REGISTER s ILLEGAL REGISTER s ILLEGAL REGISTER s ILLEGAL REGISTER ;MASK FOR REGISTER INDEX NUMBER SEQ 0030 CZRMDCO RMO3/2 FCINL TST 2 CZRMOC.P1 12-DEC-78 08:2¢ F 3 MACY11 30AC1052) 04=JAN-79 11:23 PAGE 31 RH CONTROLLER REGISTER BIT DEFINITIONS }}35 .SBTTL RH CONTROLLER REGISTER BIT DEFINITIONS }}gz ;RMCST CONTROL STATUS REGISTER #1 100000 040000 020000 SC TRE MCPE z s s BIT1S BIT14 BIT13 002000 PSEL s BIT10 :SPECIAL CONDITION-READ ONLY ;TRANSFER ERROR :MASSBUS CONTROL BUS PARITY ;ERROR=READ ONLY ;PORT B SELECT 000200 000100 RDY 1€ s s BI1107 BITO06 :READY=READ ONLY ; INTERRUPT ENABLE 1195 1196 1197 1198 1199 1200 1201 1202 }ggz 001000 000400 }ng 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 }g%g 1226 }55; 1229 1230 1231 12%2 1232 1234 1235 1236 1237 1238 1239 1240 354; z s 81109 81108 :ADDRESS EXTENSION ;ADDRESS EXTENSION ;RMCS2 RH CONTROL STATUS REGISTER #2 100000 040000 020000 010000 004000 002000 001000 000400 DLT wCE UPE NED NEM PGE MXF MDPE z s z s z s s s BIT1S BIT14 BIT13 BIT12 BITN BIT10 81109 BIT08 000200 OR z 81107 000040 000020 000010 CLR PAT BAl s = = 81105 B1104 B1T03 ;CONTROLLER CLEAR :PARITY TEST 000004 000002 000001 v u vo = z s BIT02 BIT01 BIT00 JUNIT SELECT ;UNIT SELECT ;UNIT SELECT 000007 ;UNIT SELECT MASK UNTMSK = 4 100000 040000 ;RMCS3 APE DPEH]I 000004 000002 IPCK2 IPCK1 000100 020000 010000 004000 002000 000100 000010 000001 'A 1243 1244 1245 1246 A7 A6 000000 000002 000004 000010 IR = BI1106 ;DATA LATE=READ ONLY ;WRITE CHECK ERROR-READ ONLY ;UNIBUS PARITY ERROR :NONEXISTANT DRIVE=-READ ONLY sNONEXISTANT MEMORY=-READ ONLY :PROGRAM ERROR-READ ONLY ;MISSED TRANSFER ;MASSBUS DATA BUS PARITY ;ERROR=-READ ONLY ;OUTPUT READY=READ ONLY : INPUT READY=READ ONLY ;UNIBUS ADDRESS INCREMENT ;INHIBIT ;UNIT SELECT MASK DPELO WCEH] WCELD DBL 3 IPCK3 RH70 CONTROL STATUS REGISTER #3 ‘ s BIT1S :ADDRESS PARITY ERROR = BIT14 :DATA PARITY ERROR HIGM WORD = BIT13 ;DATA PARITY ERROR LOW WORD = BIT12 ;WRITE CHECK ERROR HIGH WORD = BITN ;WRITE CHECK ERROR LOW WORD = BIT10 ;:DOUBLE WORD TRANSFER z BIT06 : INTERRUPT ENABLE = B1103 :INVERT PARITY CHECK IPCKO LSBTTL RW CONTROLLER REGISTER INDEX VALUES RMCS1 RMW( RMBA RM(S2 = s z = = = = BI1102 817101 BIT00 00 02 04 10 : INVERT PARITY CHECK :INVERT PARITY CHECK : INVERT PARITY CHECK ;:CONTROL, STATUS REGISTER :WORD COUNT REGISTER ;BUS ADDRESS REGISTER :CONTROLLER STATUS REGISTER SEQ 0031 (ZIHDCOPRHOS/Z FCINL TST 2 CZRMDC.P1N 12-DEC-78 08:2¢4 12647 6 3 MACY11 30A(1052) 04=JAN-79 11:23 PAGE 32 RH CONTROLLER REGISTER INDEX VALUES SEQ 0032 1248 }%gg 000022 000050 000052 RMDB = 22 sDATA BUFFER 1251 }ggg 176700 120254 ABASE AVECT1 = = 176700 120254 sUNIBUS ADDRESS sUNIBUS VECTOR ADDRESS AND PRIORITY .SBTTL TRAP CATCHER 1254 1255 1256 1257 1258 1259 1260 1261 1262 }ng RMBAE RMCS3 000000 000174 000176 = = 000174 000000 000000 LSBTTL 1268 AR A R A A 000046 000052 1280 }Sg} 000200 1283 }%gg 001100 R R A R el ;SAVE PC $SENDAD .=52 .WORD O .=$SVP( .SBTTL 000200 000137 ACT11 HOOKS ;HOOKS REQUIRED BY ACTT $SVPC=, =46 000200 000046 033156 000052 000000 000200 }%;g 1279 sBUS ADDRESS EXTENSION ;CONTROL STATUS REGISTER #3 .=0 s*ALL UNUSED LOCATIONS FROM & = 776 CONTAIN A "",42 HALT" s*SEQUENCE TO CATCH ILLEGAL TRAPS AND INTERRUPTS s*LOCATION O CONTAINS O TO CATCH IMPROPERLY LOADED VECTORS =174 DISPREG: .WORD 0 ;s SOFTWARE DISPLAY REGISTER SWREG: .WORD O s SOFTWARE SWITCH REGISTER 1265 }%gg 1269 1270 1271 1272 1273 1274 }S;Z 50 52 ;s1)SET LOC.46 TO ADDRESS OF SENDAD IN .SEOP ;:2)SET LOC.52 TO ZERO s RESTORE PC STARTING ADDRESS ;THE PROGRAM STARTS AT LOCATION 200 005324 . =z JMP .=1100 .SBTTL 200 START ;JUMP TO START OF PROGRAM APT PARAMETER BLOCK 1286 RR R R R R ey 1287 sSET LOCATIONS 24 AND && AS REQUIRED FOR APT 1288 N 1289 1290 1291 1292 1293 1294 001100 000024 000044 1295 1296 1297 1298 1299 1300 1301 1302 000024 000200 000044 001100 001100 N $X=, R L =24 200 .=h4 SAPTHDR .=, 9% R R N R TR N R R R R R R RN RN AR R RN RN RN RN E RN ORY :sSAVE CURRENT LOCATION :sSET POWER FAIL TO POINT TO START OF PROGRAM ssFOR APT START UP ssPOINT TO APT INDIRECT ADDRESS PNTR. ,;POINT TO APT HEADER BLOCK ;;RESET LOCATION COUNTER R ey :SETUP APT PARAMETER BLOCK AS DEFINED IN THE APT=-PDP11 DIAGNOSTIC sINTERFACE SPEC. 001100 001100 001102 001104 000000 001222 000001 SAPTHD: $SHIBTS: .WORD $MBADR: .WORD $TSTM: _WORD O SMAIL 1 ;:TW0 HIGH BITS OF 18 BIT MAILBOX ADDR. ;;ADDRESS OF APT MAILBOX (BITS 0-15) :sRUN TIM OF LONGEST TEST CZRMDCO RMO3/2 FCTNL TST 2 CZRMDC.P 12-DEC-78 08:2¢4 1303 1306 00 MACY11 30A(1052) APT PARAMETER BLOCK SPASTM: SUNITM: 001114 O04=JAN-79 TAGADR _WORD _WORD .WORD = 2 2 11:23 H 3 PAGE 33 SEQ 0033 :sRUN TIME N SECS. OF 1ST PASS ON 1 UNIT (QUICK VERIFY) ;;ADDITIONAL RUN TIME (SECS) OF A PASS FOR EACH ADDITIONAL UNIT SETEND-SMAIL/2 ;;LENGTH MAILBOX-ETABLE (WORDS) CZRMDCO RMO3/2 FCTINL TST 2 CZRMOC.PIN 12-DEC-78 08:2¢4 MACY11 30A(1052) 624-JAN-79 COMMON TA }ggg LSBTTL 1309 R 1310 1325 1326 1327 1328 1329 1330 1331 1332 1335 1334 1335 1336 1337 1338 1339 130 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 135¢ 3 PAGE 34 SEQ 0034 COMMON TAGS R e R R R Y ;*USED IN THE PROGRAM. 001114 001114 001116 001117 001120 001122 001124 001126 001130 001131 001132 001134 001136 001140 001142 001144 001146 001150 001151 001152 001154 001156 001160 001162 001164 001166 001170 001171 001172 001173 001174 001176 001200 001202 001204 001206 001210 001212 001216 001217 001220 001114 SCMTAG: .=TAGADR LWORD $TSTNM: .BYTE SERFLG: .BYTE SICNT: .WORD SLPADR: .WORD SLPERR: .WORD SERTTL: .WORD SITEMB: .BYTE SERMAX: .BYTE SERRPC: .WORD $GDADR: $BDADR: $GDDAT: $BDDAT: 000000 000000 000 000 000000 177570 177570 177560 177562 177564 177566 000 002 012 000 000000 000000 000000 000000 000000 000000 000000 177607 077 015 000012 $SAUTOB: SINTAG: 000377 .WORD .WORD .WORD .WORD LWORD WORD .BYIE .BYTE LWORD .WORD SWR: DISPLAY: .WOPD $TKS: 177560 $TKB: 177562 $TPS: 177564 $TPB: 177566 $NULL: .BYTE SFILLS: .BYTE $FILLC: .BYTE $TPFLG: .BYTE $TMPO: .WORD $TMP1: .WORD $TMP2: .WORD $TMPS: _WORD $TMP4(: _WORD STIMES: 0 SESCAPE:0 ssSTART OF COMMON TAGS O 0 O O O O O 0 1 O ssCONTAINS :;CONTAINS s sCONTAINS ;;CONTAINS s sCONTAINS s sCONTAINS s sCONTAINS s sCONTAINS s sCONTAINS O 0 O O O ssAUTOMATIC MODE INDICATOR ;s INTERRUPT MODE INDiCATOR 0 2 12 O O O O O O .ASCIZ .ASCII LASCII ASCIZ };29 LSBTTL APT MAILBOX-ETABLE 1358 B 1359 1360 1361 1362 LNLIST ME : 3 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 PC OF LAST ERROR INSTRUCTION ;sCONTAINS ADDRESS OF °'GOOD' DATA s ;CONTAINS ADDRESS OF 'BAD' DATA ;;CONTAINS 'GOOD' DATA ;;CONTAINS °'BAD' DATA : sRESERVED--NOT TO BE USED O 0 O O DSWR DDISP $BELL: $QUES: $CRLF: SLF: 1355 1 ;*THIS TABLE CONTAINS VARIOUS COMMON STORAGE LOCATIONS }g}; 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1325 13264 11:23 <207><377><377> 7%/ <15 Q1 s sADDRESS OF SWITCH REGISTER ; ADDRESS OF DISPLAY REGISTER ::TTY KBD STATUS ;:TTY KBD BUFFER ssTTY PRINTER STATUS REG. ADDRESS ;:TTY PRINTER BUFFER REG. ADDRESS ;s CONTAINS NULL CHARACTER FOR FILLS s ;CONTAINS # OF FILLER CHARACTERS REQUIRED s INSERT FILL CHARS. AFTER A ‘'LINE FEED' s :"'TERMINAL AVAILABLE'® FLAG (B1T<07>=0=YES) s sUSER DEF INED s sUSER DEF INED s sUSER DEF INED s sUSER DEF INED s sUSER DEF INED s sMAX. NUMBER OF ITERATIONS ;;ESCAPE ON ERROR ADDRESS ;,CODE FOR BELL ;;QUESTION MARK s sCARRIAGE RETURN ;:LINE FEED L e ey R Ry CZRMDCO RMO3/2 FCTINL TST 2 CZRMDC.PY 1363 12-DEC-78 13:24 001222 001222 001224 001226 001230 001232 001234 001236 001240 000000 000000 000000 000000 000000 000000 000000 000000 1374 1375 1376 1377 1378 1379 1330 001242 001243 001244 001246 001250 000 000 000000 000000 000000 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 3 & 5 6 7 8 04=JAN-79 APT MAILBOX-ETABLE 11:23 .EVEN 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 001242 MACY11 30A(1052) $MAJL : SMSGTY: SFATAL: STESTN: SPASS: SDEVCT: SUNIT: SMSGAD: S$MSGLG: SETABLE : SENV: SENVA: $SWREG: SUSWR: $CPUOP: ;v e .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD AMSGTY AFATAL ATESTN APASS ADEVCT AUNIT AMSGAD AMSGLG .BYTE .BYTE .WORD .WORD .WORD AENV AENVA ASWREG AUSWR ACPUOP ;e v 001252 001255 000 000 001254 000000 001256 001257 001260 001262 000 000 000000 000 001263 001264 001266 001267 001270 001272 001274 001276 001300 001302 001304 001306 001310 001312 001314 001316 001320 001322 001324 001326 001326 000 000000 000 120256 000000 176700 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 ie v $MAMS1: SMTYP1: e e e v $MADR1: ;v $MAMS2: SMTYP2: SMADRZ: SMAMS3: STYP3: SMADR3: SMAMSG: STYP4: SMADRG: SVECT1: SVECT2: SBASE: SDEVM: $COW1: $CDW2: $DDW0: $ODW1: $ODW2: $ODW3: $ODW4: $ODWS: $ODW6: $00W7: SETEND: CJMEX]T CTLF6: J 3 PAGE v 35 ::APT MAILBOX ::MESSAGE TYPE CODE ::FATAL ERROR NUMBER ::TEST NUMBER ::PASS COUNT ::DEVICE COUNT ::1/0 UNIT NUMBER ::MESSAGE ADDRESS ::MESSAGE LENGTH ::APT ENVIRONMENT TABLE ::ENVIRONMENT BYTE ::ENVIRONMENT MODE BITS ::APT SWITCH REGISTER ::USER SWITCMES ::CPU_ TYPE,OPTIONS BiTS 15-11=CPU_TYPE 11/04=01,11/05=02, 11/2003,11/40=04, 11745205 11/70=06.PDa=07,0+1 BIT 10=REAL_TIME CLOCK .BYTE .BYTE AMAMS] AMTYP1 .WORP AMADR1 .BYTE .BYTE .WORD .BYTE AMAMS2 AMTYP? AMADRZ AMAMS3 .BYTE AMTYP4 .BYTE .WORD .BYTE .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD AMTYP3 AMADRS AMAMS4 AMADR4 AVECT1 AVECT2 ABASE ADEVA ACOW1 ACDW2 ADDWO ADDW1 ADDW2 ADDWS ADDW4 ADDWS ADDWS ADDW7 0 SEQ BIT 9=FLOATING POINT PROCESSOR BIT 8=MEMORY MANAGEMENT ::HIGH ADDRESS,M.S. BYTE ::MEM. TYPE,BLKAI MEM.TYPE BYTE == (MIGH BYTE) 900 NSEC CORE=001 300 NSEC BIPOLAR=002 500 NSEC MOS=003 ;:HWIGH ADDRESS,BLKA MEM.LAST ADDR.=3 BYTES,THIS WORD AND LOW OF "‘TYPE'* ABOVE ::HWIGH ADDRESS M.S. BYTE ::MEM.TYPE,BLKA? ::MEM.LAST ADDRESS,BLKN2 ::HIGH ADDRESS,M.S.BYTE ::MEM.TYPE,BLKAS ::MEM.LAST ADDRESS,BLKN3 ::WIGH_ADDRESS,M.S.BYTE ::MEM.TYPE,BLKA4 ::MEM.LAST ADDRESS,BLKA% ::INTERRUPT VECTORA1,BUS PRIORITYA! ;:INTERRUPT VECTOR#2BUS PRIORITYA2 ::BASE ADDRESS OF EQUIPMENT UNDER TEST ::DEVICE MAP ::CONTROLLER DESCRIPTION WORDA1 ::CONTROLLER DESCRIPTION WORDA2 ::DEVICE DESCRIPTOR WORDAO ::DEVICE DESCRIPTOR WORDA ::DEVICE ::DEVICE ::DEVICE ::DEVICE ::DEVICE ;:DEVICE DESCRIPTOR WORDA2 DESCRIPTOR WORDA3 DESCRIPTOR WORDA4 DESCRIPTOR WORDAS DESCRIPTOR WORD® DESCRIPTOR WORDA7 : CONTROL=C FLAG % 0035 CZRMDCO RMO3/2 FCTNL TST 2 12-DEC-78 08:24 CZRMDC.P1Y 1419 1620 MACY11 30A(1052) 04=JAN-79 APT MAILBOX-ETABLE 11:23 K 3 PAGE 36 :THE REGISTER INPUT BUFFER 1S USED FOR ;:STORING DRIVE STATUS GETBUF: ;REGISTER INPUT BUFFER RMCS11: .WORD RMWCI: .WORD RMBA]: .WORD RMDAl: .WORD ;CONTROL,STATUS REGISTER :WORD COUNT REGISTER ;BUS ADDRESS REGISTER :D1SK ADDRESS REGISTER RMDS]: .WORD RMER1I: .WORD RMAS]: .WORD RMLAL: .WORD RMDBI: .WORD RMMR1]: .WORD RMDTI: .WORD RMSN]: .WORD RMOF1: .WORD RMDCI: .WORD ;DRIVE STATUS REGISTER ;ERROR REGISTER 1 ;ATTENTION SUMMARY REGISTER ;LOOK AMEAD REGISTER :DATA BUFFER sMAINTENANCE REGISTER # :DRIVE TYPE REGISTER ;SERIAL NUMBER REGISTER ;OFFSET REGISTER sDESIRED CYLINDER REGISTER RMMR2]: RMER2]: RMEC11: RMEC2]: sMAINTENANCE REGISTER #2 ;ERROR REGISTER 2 ;ECC POSITION REGISTER ;ECC PATTERN REGISTER RMCS2]: RMCCI: .WORD .WORD .WORD .WORD .WORD .WORD ;CONTROLLER STATUS REGISTER : CURRENT CYLINDER REGISTER ;THE REGISTEP OUTPUT BUFFER 1S USED FOR sASSEMBLING DATA GOING TO REGISTER PUTBUF: sREGISTER OUTPUT BUFFER RMCS10: .WORD RMWCO: .WORD RMBAO: .WORD RMDAO: .WORD RMCS20: .WORD RMDSO: .WORD 1458 150 tac 16469 1471 1472 1473 1474 000000 000000 000000 RMER10: .WORD RMASO: .WORD RMLAO: .WORD RMDBO: .WORD RMMR10: .WORD RMDTO: .WORD RMSNO: .WORD RMOFO: .WORD RMDCO: .WORD RMCCO: .WORD RMMR20: .WORD RMER20: .WORD RMEC10: .WORD RMEC20: .WORD :CONTROL,STATUS REGISTER sWORD COUNT REGISTER sBUS ADDRESS REGISTER :DISK ADDRESS REGISTER sCONTROLLER STATUS REGISTER sDRIVE STATUS REGISTER sERROR REGISTER 1 JATTENTION SUMMARY REGISTER sLOOK AMEAD REGISTER sDATA BUFFER sMAINTENANCE REGISTER M sDRIVE TYPE REGISTER sSERIAL NUMBER REGISTER sOFFSET REGISTER sDESIRED CYLINDER REGISTER sCURRENT CYLINDER REGISTER sMAINTENANCE REGISTER #2 ;ERROR REGISTER 2 ;ECC POSITION REGISTER +ECC PATTERN REGISTER ;EACH WORD OF THE TEST QUE CONTAINS THE DEVICE NUMBER IN SEQ 0036 CZRMDCO RMO3/2 FCTNL TST 2 12-DEC-78 08:24 CZRMDC.P11 1475 1476 1477 1478 1479 1480 1481 1482 MACY11 30AC1052) O04=JAN-79 APT MAILBOX-ETABLE 11:23 L 3 PAGE 37 SEQ 0037 :THE LOW BYTE AND THE ATTENTION BIT IN THE HIGH BYTE. A ZERO ;WORD IS A BLANK AND REPRESENTS THE END OF THE QUE. 001450 000012 000000 000000 000000 000000 000000 001506 000027 TSTQUE: .BLkw 10. sTEST QUE ;MEDIA ENABLE IS SET IF THE BAD SECTOR FILES HAVE BEEN RECOVERED ;FOR THE UNIT UNDER TEST, OTHERWISE IT IS ZERO. MEDENB: .WORD sMEDIA ENABLE ;LOCATIONS ‘'ASNDC'' AND °‘‘ASNDC'® CONTAIN THE CYLINDER, TRACK AND SECTOR ;ADDRESS ASSIGNED BY THE BAD SECTOR MODULE. ASNDC: ASNDA: CLKADR: CLKVCT: .WORD ,WORD sASSIGNED DESIRED CYLINDER sASSIGNED TRACK, AND SECTOR .WORD .WORD ;UNIBUS ADDRESS OF kw1l CLOCK :VECTOR ADDRESS OF kW11 CLOCK sTHE GET INDEX TABLE CONTAINS A BYTE LIST OF REGISTERS WHICH sARE READ BY THE GET SUBROUTINE. THE LIST IS TERMINATED BY BYTE. NEGATIVE :A GETINX: .BLKB 23. ;GET INDEX TABLE sTHE PUT INDEX TABLE ICONTAINS A BYTE LIST OF REGISTERS WHICH :ARE WRITTEN BY THE PUT SUBROUTINE. THE LIST IS TERMINATED BY 001535 000027 ;A NEGATIVE BYTE. PUTINX: .BLKB ;PUT TAGS HERE 23. ;PUT INDEX TABLE CIRMDCO RMO3/2 FCTNL TST 2 CIRMDC.P11 12-DEC-78 08:24 MACII1 30A(1052) 04=JAN-79 ERROR POINTER TABLE 11:23 n3 PAGE 38 }282 .SBTTL 1505 1506 1507 1508 :*THIS TABLE CONTAINS THE INFORMATION FOR EACH ERROR THAT CAN OCCUR. :*THE INFORMATION 1S OBTAINED BY USING THE INDEX NUMBER FOUND IN ;*LOCATION SITEMB. THIS NUMBER INDICATES WHICH ITEM IN THE TABLE IS PERTINENT. ;*NOTE: IF SITEMB IS O THE ONLY PERTINENT DATA IS (SERRPC). " 1512 1513 :® H 3® }g?g ;*NOTE2: }g}g 1516 1517 1518 1519 ERROR POINTER TABLE e 001564 $ERRTB: EACH ITEM IN THE TABLE CONTAINS & POINTERS EXPLAINED AS FOLLOWS: EM DH 01 DFf :;POINTS TO THE ERROR MESSAGE ::POINTS TO THE DATA HEADER ::POINTS TO THE DATA :;POINTS TO THE DATA FORMAT SEQ 0038 CZIRMDCO RMO3/2 FCINL TST 2 CZRMOC.P11 12-DEC-78 08:24 1520 1521 1522 1523 1526 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1561 1542 15643 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 001564 001566 001570 001572 065430 071522 071646 071736 001574 001576 001600 001602 065434 071522 071646 071736 001606 001606 001610 001612 065442 071522 071646 071736 001614 001616 001620 001622 065450 071522 071646 071736 001626 001626 001630 001632 065456 071522 071646 071736 001634 001636 001640 001642 065464 071522 071646 071736 001644 001646 001650 001652 065472 000000 000000 000000- 001654 001656 001660 001662 065500 071522 071646 071736 MACYTT 30A(1052) 04=JAN-79 ERROR POINTER TABLE 11:23 N 3 PAGE 39 SEQ 0039 ;ERROR 1 EMT] EWTI EDTI EFT1 WRONG UNIT SELECTED ;ERROR 2 EMT2 ENT EDTI EFTY DEVICE WENT UNAVAILABLE ;:ERROR 3 EMT3 ENTI EDTI EFTY DEVICE WENT NONEXISTENT ;ERROR & EMT4 EHTI EDTI EFTT CONTROLLER NOT READY ;ETO0R S EMTS ENTI EDT EFT1 DRIVE NOT READY AND GO NOT RESET ;ERROR 6 UNEXPECTED VALUE FOR "'ATA' STATUS ;ERROR 7 EMT7 0 0 0 BUS TIMEQUT TRYING TO READ OR WRITE REGISTER ;ERROR 10 DRIVE NOT READY BUT GO IS RESET EMTO ENTI EDTI EFTI EMTI10 ENTI] EDT1 EFTI . ———— CIRMDCO RMO3/2 FCTNL TST 2 CZRMOC.P11 12-DEC-78 08:24 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 001664 001666 001670° 001672 065504 071522 071646 071736 001674 001676 001700 001702 065510 071522 071646 071736 001704 001706 001710 001712 065516 071522 071646 071736 001714 001716 001720 001722 065530 071522 071646 071736 001726 001726 001730 001732 065536 071522 071646 071736 001734 001736 001740 001742 065544 (71522 071646 071736 001744 001746 001750 001752 065554 071522 071646 071736 001754 001756 001760 001762 065564 071522 071646 071736 MACY11 30A(1052) 04=JAN-T9 ERROR POINTER TABLE 11:23 8 & PAGE 40 ;ERROR 11 ERTI ENTI EDTI EFTI GO NOT RESET BUT DRiVE IS READY ;ERROR 12 EMT12 ENTI EDTI EFT1 INCORRECT FUNCTION CODE ;ERROR 13 EMT13 EWT] EDTY EFT1 PARITY ERROR READING REMOTE REGISTERS ;ERROR 14 EMT14 ENT EDTI EFTY TRANSFER ERROR ;ERROR 15 EMTI15 EHTI EDT] EFT INCORRECT WORD COUNT 16 INCORRECT BUS ADDRESS ;ERROR 17 EMT17 ENT] EDTI EFTI INCORRECT LBT STATUS ;ERROR 20 EMT20 EHT] EDTI EFTI INCORRECT AOE ;ERROR . EMT16 EHT] EDTI EFT1 IS INCORRECT SEQ 0040 065644 071522 071646 071736 065654 071522 071646 071736 ;ERROR 23 EMT23 EHTI] EDT] EFT INCORRECT WLE STATUS ;ERROR 24 EMT24 EXTI EDTI EFT INCORRECT UPE STATUS ;ERROR 25 EMT25 ENTI EDTI EFTI INCORRECT WCF ;ERROR 26 EMT26 EWT EDT] EFT INCORRECT WCE STATUS ;ERROR ;ERROR s N 065634 071522 071646 071736 INCORRECT CYLINDER ADDRESS p—— 065624 071522 071646 071736 22 EMT22 ENT EDTY EFTT R 002012 ;ERROR STATUS INCORRECT MDPE STATUS — et 065614 071522 071646 071736 INCORRECT DISK ADDRESS "TOIXIT RN 002004 002006 & PAGE 41 21 EMT21 ENT EDTI EFTY 0 - 065604 071522 071646 071736 C ;ERROR — 001774 001776 002000 002002 11:23 mmmmn 065574 071522 071646 071736 30A(1052) 04=JAN=79 ERROR POINTER TABLE —_——t—— 001764 001766 001770 001772 MACY11 mmmmMmus "TOIXI RO CZRADCO RMO3/2 FCTINL TST 2 12-DEC-78 08:2¢4 CZRRDC.P INCORRECT DCK STATUS SEQ 0041 CZRMDCO RMO3/2 FCINL TST 2 CZRMODC.PY 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1706 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1723 1722 1723 1726 1725 1726 1727 1728 1729 1730 1731 1732 1735 1734 173 1757 1738 1739 1740 1741 1742 1743 12-DEC-78 08:24 002064 002066 002070 002072 065674 071522 071646 071736 002076 002076 002100 002102 065704 071522 071646 071736 002104 002106 002110 002112 065714 071522 071646 071736 002114 002116 002120 002122 065724 071522 071646 071736 002126 002126 002130 002132 065734 071522 071646 071736 002134 002136 002140 002142 065744 071522 071646 071736 002146 002150 002152 002144 065754 071522 071646 071736 002154 002156 002160 002162 065764 071522 071646 071736 MACY11 30A(1052) O04=JAN-T79 ERROR FOINTER TABLE 11:23 D & PAGE 42 ;ERROR 31 EMT3N ENTI EDTI EFTI INCORRECT ECH STATUS ;ERROR 32 EMT32 EWT EDT! EFTI DLT SHOULD NOT BE SET ;ERROR 33 EMT33 ENTI EDTI EFTY MXF ;ERROR 34 EMT34 ENT] EDTI EFT1 DTE SHOULD NOT BE SET ;ERROR 35 EMT35 EHT] EDTI EFTI INCORRECT HCRC STATUS ;ERROR 36 EMT36 EWT EDTI EFTI INCORRECT HCE STATUS ;ERROR 37 INCORRECT FER STATUS 40 EMT40 EHT EDT! EFTI DPE SHOULD NOT BE SET (NOT A DATA COMMAND) ;ERROR EMT37 EHT] EDT! EFTI SHOULD NOT BE SET SEQ 0042 CZRMDCO RMO3/2 FCTNL TST 2 CZRMOC.P 12-DEC-78 08:24 066002 071522 071646 071736 1759 1760 1761 1762 002204 002206 002210 002212 066014 071522 071646 071736 1766 1767 1768 1769 002214 002216 002220 002222 066024 071522 071646 071736 1773 1774 1775 1776 002224 002226 002230 002232 066034 071522 071646 071736 1780 1781 1782 1785 002234 002236 002240 002242 066044 071522 071646 071736 1787 788 89 002244 002246 002250 002252 066054 071522 071646 071736 794 795 1796 1797 002254 002256 002260 002262 066062 071522 071646 071736 W : ERROR 11:23 E & PAGE 43 &1 EMT4 LOST "MOL"" DURING PACK ACKNOWLEDGE ;ERROR 42 UNSAFE ERROR DURING PACK ACKNOWLEDGE :ERROR 43 EMT4S EHT] EDTI EFT1 "'OP1'* ERROR DURING PACK ACKNOWLEDGE ;ERROR L "RMR'* ERROR DURING PACK ACKNOWLEDGE ;ERROR 65 "ILR"" ERROR DURING PACK ACKNOWLEDGE 46 "ILF"" ERROR DURING PACK ACKNOWLEDGE ENT EDT EFT EMT42 EXT] EDTI EFT B EMT4S ENT] EDTI EFTI EMT4LE EWTI EDTI EFT :ERROR &7 COMPOSITE ERROR STATUS IS INCORRECT ;ERROR PARITY ERROR WRITING REMOTE REGISTERS EMT4L7 EHT] EDTI EFTI — 0 M150 5 ] — H 1 0 1 f 1 — 90 ;ERROR EMT44 EHT EDT EFT1 mmmmun it s i i i — 52 53 gN o8 002174 002176 S 065772 071522 071646 071736 NNNNNNNY b WA 002164 002166 002170 002172 88 NN 1744 17645 17646 17647 1748 MACYT11 30A(1052) 04=JAN-79 ERROR POINTER TABLE SEQ 0043 ' 2 CZRMDCO RMO3/2 FCINL TST 2 CZRROC.P 12-DEC-78 08:2¢4 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 H 002264 002266 002270 002272 066072 071522 071646 071736 002274 002276 002300 002302 066104 071522 071646 071736 1814 1815 1816 1817 1818 1819 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 18 1838 1840 1841 002304 002306 002310 002312 066122 071522 071646 071736 002314 002316 002320 002322 066140 071522 071646 071736 002326 002326 002330 066150 071522 071646 002332 066162 002340 002342 071646 071736 071522 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 18564 1855 002344 002346 002350 002352 002356 002356 002360 002362 :ERROR 066200 071522 071646 071736 066210 071522 071646 071736 2;151 11:23 F & PAGE 44 SEQ 0044 INCORRECT I1AE STATUS DURING SEEK COMMAND ENTT EDT] EFTT ;ERROR 52 EMT52 ENTY EDTI EFT1 OP1 ERROR DURING SEEK = MEDIUM IS NOT ON LINE ’ ;ERROR 53 OP1 ERROR DURING SEEK - MEDIUM IS ON LINE, ASSUME : EMTS3 ENT] EDTI EFTI ON CYLINDER LATCH DIDN'T RESET ;ERROR 54 EMT54 ENTI EDTI EFT1 SEEK INCOMPLETE ERROR DURING SEEK COMMAND ;ERROR 55 EMTSS EWT] EDT DEVICE CHECK DURING SEEK COMMAND 071736 002334 002336 MACYTT 30A(1052) 0&4=JAN-79 ERROR POINTER TABLE EFTI ;ERROR ‘ 56 EMT56 EWTI EDTI EFTI _ PIP IS STILL SET AFTER SEEK = SKI IS RESET § ;ERROR 57 EMTS? ENTI EDT EFTY ATA DID NOT SET DURING SEEK COMMAND ;ERROR : 60 IVC ERROR DURING SEEK COMMAND = LOST VOLUME VALID EMT60 EHT] EDT! EFTY ‘ CZRMDCO RMO3/2 FCINL TST 2 12-DEC-78 08:24 CZRRDC.P1 $EESEFELEE NNNNNNNN ~ ~ VN WV wWN — o OO NO VW i) — Q5 0o Op OO OB 0o O O o I e I Ry — il D il clh il VONOWw il il s D W - 3 00;00000 2 33373 SEES — B D e el el s — ©0 Co 0o 0o Oo OO OO OO oo oo i i D i i il i il el 1856 1857 1858 1859 002364 002370 002372 066246 071522 071646 071736 002404 002406 002410 002412 000000 000000 000000 000000 002414 002416 002420 002422 066264 071522 071646 071736 002424 002426 002430 002432 066304 071522 071646 071736 002434 002436 002440 002442 066324 071522 071646 071736 -— et r e 002454 002456 30A(1052) 04=JAN-79 ERROR POINTER TABLE 11:23 6 & PAGE &5 SEQ 0045 ;ERROR ERRONEOUS 1VC ERROR DURING SEEK COMMAND - ; ERROR MOL IS ZERO, BUT OPI WAS NOT REPORTED DURING SEEK COMMAND ;ERROR UNUSED ;ERROR DRIVE DID NOT DETECT "'IvC'" ERROR DURING SEEK ;ERROR DRIVE EXECUTED A SEEK WITH ERROR SET ;ERROR UNEXPECTED ERROR SET IN RMER1 ;ERROR UNEXPECTED ERROR SET IN RMERZ ;ERROR ERRONEOUS "'IAE'" ERROR DURING RECALIBRATE 066226 071522 071646 071736 002374 002376 002400 002402 002444 002446 002450 002452 MACY11 VOLUME VALID IS STIL SET CZRMDCO RMO3/2 FCTINL TST 2 CZRMDC.P11 12-DEC-78 08:24 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 19264 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 19640 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1956 1955 195¢ 1957 1958 1959 002460 002462 071646 071736 002464 002466 002470 002472 066360 071522 071646 071736 002474 002476 002500 002502 066370 071522 071646 071736 002504 002506 002510 002512 066406 071522 071646 071736 002514 002516 002520 002522 066424 071522 071646 071736 002526 002526 002530 002532 066434 071522 071646 071736 002534 002536 002540 002542 066454 071522 071646 071736 196C 1961 1962 1963 002544 002546 002550 002552 066464 071522 071646 071736 1966 1967 002554 066476 1965 MACYTT 30A(1052) 04=JAN-79 ERROR POINTER TABLE 11:23 H & PAGE 46 £0T1 Hak ;ERROR 71 EMT7 ENTI EDTI EFTI "ILF'" ERROR DURING RECALIBRATE ;ERROR 77 EMT72 EHTI EDTI EFT1 "'OP1'* ERROR DURING RECALIBRATE DUE TO 'MOL'' = 0 ;ERROR : 73 "'OP1'* ERROR DURING RECALIBRATE BECAUSE ON CYLINDER DIDNT DROP EMT73 ENTI EDT1 EFTY ;ERROR 74 EMT74 ENT EDT] EFTI "IvC"" ERROR DURING RECALIBRATE - "'wv'' = 0 ;ERROR 75 EMT7S EHT] EDTI EFTI ERRONEO'S "'IVC'* ERROR DURING RECALIBRATE = ''w'' = 1 ;ERROR 76 EMT76 ENT] EDT EFT "'SK1'" ERROR DURING RECALIBRATE ;ERROR 77 EMT77 EHT] ' "DvC'" OCCURRED DURING RECALIBRATE EDTI EFTY ;ERROR 100 EMT100 LOST "MC."" DURING RECALIBRATE - "'OPI'' = 0 SEQ 0046 CZRMDCO RMO3/2 FCTNL T1ST 2 12-DEC-78 08:2¢4 CZRRDC.P 1968 1969 MACYTT 30A(1052) 04=JAN=79 ERROR POINTER TABLE 071522 071646 071736 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 066514 071522 071646 071736 1 & PAGE 47 ENTI EDTI EFN 101 LOST ""vV'' DURING RECALIBRATE = "Iv('" = 0 ;ERROR 102 EMT102 ENT EDTI EFTY “ATA"" DID NOT SET DURING RECALIBRATE :ERROR 103 EMT103 EHT] EDT] EFT "'OM'* DID NOT RESET DURING RECALIBRATE :ERROR 1982 1983 071736 066554 071522 071646 071736 11:23 EMT101 EWT - EDTI EFT1 :ERROR “PIP"" IS STIL SET AFTER RECALIBRATE ;ERROR UNEXPECTED ''ILR'" ERROR DURING RECALIBRATE :ERROR UNEXPECTED ''RMR'* ERROR DURING RECALIBRATE ;ERROR "UNS'' ERROR DURING RECALIBRATE = AC POWER IS LOW 002642 002644 002646 002650 002652 002654 ;ERROR 110 EMT110 CANNOT ACCESS MASSBUS CONTROLLER VIA UNIBUS SEQ 0047 MACY11 30A(1052) ERROR POINTER TABLE 002656 002660 002662 002754 J & PAGE 48 I e N e DEVICE NOT AVAILABLE — —_— 2 s et —d — NONEXISTENT DEVICE el 8 s —t el 4 o —d TOIXIT R D ; ERROR bt b e : ERROR MMM 002674 11:23 EH1110 EDT110 EFT110 mmMmmMmm . 002664 002666 002670 002672 04=JAN-79 "TOXIR— CZRADCO RIOSIZ FCINL 1ST 2 12-DEC-78 08:2¢4 CIZRMOC.P11 :ERROR BUS TIMEOUT-NED STATUS FAILURE :ERROR DEVICE NOT AN RMO3 ;ERROR RMCST NOT ; ERROR RMBA NOT ;ERROR RMCS2 NOT INITIALIZED BY UNIBUS ;ERROR RMERT INITIALIZED BY UNIBUS NOT INITIALIZED BY UNIBUS INITIALIZED BY UNIBUS SEQ 0048 30A(1052) 04=JAN-79 ERROR POINTER TABLE 071522 ;ERROR == & PAGE 49 ; ERROR 1 1121 INITIALIZED BY UNIBUS 122 EMTI122 EHTI EDT1 EFT RMMR1 INITIALIZED BY UNIBUS 123 RMDS NOT 1 1 1 —® RMAS NOT EMT123 ENTI NOT INITIALIZED BY UNIBUS EDT EFT1 003054 RMEC2 NOT INITIALIZED BY UNIBUS ;ERROR 125 EMT125 EHTI EDTI EFT1 RMMR2 NOT INITIALIZED BY UNIBUS : ERROR 126 EMT126 ENTI EDTI EFT1 RMCS1 ;ERROR RMBA NOT CLEARED BY CONTROLLER CLEAR ;ERROR 130 o NOT CLEARED BY CONTROLLER CLEAR —, — e WM LI D 067012 071522 071646 071736 124 EMT124 EH. EDTI EFT1 R —— NN NN NP NN N = D b D o 067002 071522 071646 071736 sERROR —OoxTEN D s =t = e b - i - il Y=l 066772 071522 071646 071736 MMMMm - D e il NN NN NDNDRDNDNDNND DN NN NN 2102 K —t ;ERROR 066762 071522 071646 071736 11:23 ENTI EDT] EFT1 "TOXITE®N MACYT1 MMM CZRMDCO RMO3/2 FCTNL TST 2 12-DEC-78 08:24 CZRMOC.P11 EMT130 RMCS2 NOT CLEARED BY CONTROLLER CLEAR SEQ 0049 CZRMDCO RMO3/2 FCTINL ST 2 CZRMDC.P11 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 12-DEC-78 08:24 003056 003060 003062 071522 071646 071736 003064 003066 003070 003072 067050 071522 071646 071736 0030764 003076 003100 003102 067062 071522 071646 071736 0031064 003106 003110 003112 067074 071522 071646 071736 003114 003116 003120 003122 067106 071522 071646 071736 003126 003126 003130 003132 067120 071522 071646 071736 003134 003136 003140 003142 067132 071522 071646 071736 2184 2185 2186 2187 003144 003146 003150 003152 067144 071522 071646 071736 2190 2191 003154 067154 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2176 2177 2178 2179 2180 2181 2182 2183 MACYT1 30A(1052) 04=JAN-79 ERROR POINTER TABLE 11:23 L & PAGE 50 EWT] EDT] EFT1 ;ERROR 131 EMTI31 ENT EDT EFTY RMER1 NOT CLEARED BY CONTROLLER CLEAR ;ERROR 132 EMT132 ENT EDTI EFTI RMAS NOT CLEARED BY CONTROLLER CLEAR ;:ERROR 133 EMT133 ENTI EDTI EFTY RMMR1 NOT CLEARED BY CONTROLLER CLEAR *RROR 134 EMT13¢4 EHTI EDTI EFT1 RMDS NOT CLEARED BY CONTROLLER CLEAR .€RROR 135 EMT135 EWTI EDTI EFT1 RMEC2 NOT CLEARED BY CONTROLLER CLEAR ;ERROR 136 EMT136 ENTI EDTI EFTY RMMR2 NOT CLEARED BY CONTROLLER CLEAR ;ERROR 137 EMT137 EWTI EDT! EFTY RMCS1 NOT CLEARED BY ERROR CLEAR ;ERROR 140 EMT140 RMCS2 NOT CLEARED BY ERROR CLEAR @ 005 . MACY11 30A(1052) 04=JAN-79 ERROR POINTER TABLE 11:23 L) PAGE 51 SEQ 0051 071522 ;ERROR RMCST1 NOT CLEARED BY DRIVE CLEAR ;ERROR RMDS NOT CLEARED BY DRIVE CLEAR ;ERROR RMERT NOT CLEARED BY DRIVE CLEAR ; ERROR RMAS NOT CLEARED BY DRIVE ;ERROR RMMR1 ;ERROR RMMR2 NOT CLEARED BY DRIVE CLEAR ;ERROR RMER2 NOT CLEARED BY DRIVE CLEAR ;ERROR RMEC2 NOT CLEARED BY DRIVE CLEAR PN o e e o i o - S8LLRAR wnrn 0O NN ~N CZRMDCO RMO3/2 FCTNL TST 2 12-DEC-78 08:24 CZRMDC.P11 067174 071522 071646 071736 067204 071522 071646 071736 067214 003254 CLEAR NOT CLEARED BY DRIVE CLEAR CIRMDCO RMO3/2 FCTNL TST 2 CIRMDC. P11 12-DEC-78 08:24 00325¢ 003260 003262 RACY11 30A(1052) 04=JAN-T9 ERROR POINTER TABLE 071522 071646 071736 067264 071522 071646 071736 11:23 N & PAGE 52 SEQ 0052 ENT] EDTI EFTT ; ERROR MEDIUM NOT ON LINE ;ERROR DRIVE FAULT ;ERROR UNSAFE SHOULD BE SET BECAUSE DVC IS SET 071736 UNSAFE SHOULD NOT BE SET, AC IS LOW 155 EMT155 EHT EDT EFT1 VOLUME VALID NOT SET BY PACK ACK :ERROR 156 EMT156 EHTI EDTI EFT1 OFFSET MODE NOT SET BY OFFSET COMMAND ;ERROR OFFSET MODE NOT RESET BY RTC COMMAND ;ERROR 0 EMT160 o — 003352 b ;ERROR et =Y CEFT 1522 003354 154 EMT154 ""TOIXTEW 067344 ;ERROR MMMM - 067326 071522 071646 071736 RMOF NOT RESET BY RIP COMMAND r ———— CZRMDCO RMO3/2 FCTNL TST CIRMOC.P1Y Zgg‘ 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 23335 2334 2335 ‘ 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 235 2% 0 2357 2358 2359 12'0((‘73 OS:ZQ 003356 003360 003362 071522 071646 071736 003364 003366 003370 003372 067412 071522 071646 071736 003374 003376 003400 003402 067426 071522 071646 071736 003404 003406 003410 003412 071316 071604 071702 071772 003414 003416 003420 003422 067446 071522 071646 071736 003426 003426 003430 003432 067654 071522 071646 071736 003434 003436 003440 003442 067462 071522 071646 071736 003444 003446 003450 003452 067470 071522 071646 071736 e - MACY11 30AC1052) 04=JAN-79 ERROR POINTER TABLE ‘_—r—r-oh-——«-. 11:23 PAGE 53 ENTI EDTI EFT SEQ 0053 4 ;ERROR 161 EMT161 ENTI EDTI EFT1 RMDA NOT RESET BY RIP COMMAND ;ERROR 162 EMTI162 ENTI EDT EFT RMDC NOT RESET BY RIP COMMAND ;ERROR 163 H EMT336 ENT336 EDT336 EFT1336 DATA WAS ECC CORRECTED BUT DOES NOT COMPARE WITH WRITE BUFFER ;ERROR 164 EMT164 ENT EDTI EFT OP1 SHOULD NOT BE SET JERROR 165 EMTI165 EWTI EDT1 EFT IvC SHOULD NOT BE SET ;ERROR 166 EMT166 EMT EDT EFTI IAE SHOULD NOT BE SET ;ERROR 167 EMT167 EMTI EDT! EFTY NEM SHOULD NOT BE SET ;ERROR 170 . UNUSED CZRMDCO RMO3/2 FCTNL TST 2 CIZRMOC.P11 12-DEC-78 08:24 MACY1Y 30A(1052) 04=JAN-79 ERROR POINTER TABLE 2360 2361 003454 003456 000000 000000 0 0 2363 2364 2365 003462 000000 0 2367 2368 2369 <370 23N 2372 2373 2374 2375 2376 2377 2378 2379 003464 003466 00347C 003472 067506 071522 071646 071736 003474 003476 003500 003502 067516 071522 071646 071736 003504 003506 003510 003512 067526 071522 071646 071736 003514 003516 003520 003522 067536 071522 071646 071736 0035264 003526 003530 003532 067550 071522 071646 071736 2362 2366 2380 2381 2382 2383 2384 2385 60 000000 2386 2387 2388 2389 2390 2391 2392 2393 2396 2395 2396 2397 2398 2399 2400 2401 2602 2603 2606 2«05 3609 2408 2609 2610 2611 26412 2613 2614 2615 353¢ 003536 003540 00352 067556 071522 071646 071736 003544 003546 003550 003552 067564 071522 071646 071736 11:23 (. PAGE 54 0 ;ERROR ;ERROR ;ERROR 17 “ATA"" NOT SET DURING RETURN TO CENTERLINE 172 EMT172 EHTI EDTI EFT “ATA"* NOT SET BY OFFSET COMMAND 173 RMER2 NOT INITIALIZED BY UNIBUS INIT EMTIT ENTI EDTI EFTI EMT173 EHTI EDTI EFT : :ERROR 174 RMER2 NOT INITIALIZED BY CONTROLLER CLEAR ;ERROR 175 EMT17S ENTI EDTI EFTI SELECTED DEVICE IS IN WRITE PROTECT ;ERROR 176 EMT176 EHTI EDTI EFTI CANNOT SET DIAGNOSTIC MODE ;ERROR 177 EMT177 EWTI EDTI EFT1 INCORRECT "MOL'* STATUS DURING DIAGNOSTIC MODE ;ERROR 200 INCORRECT "PIP'* STATUS DURING DIAGNOSTIC MODE EMT174 ENTI EOT! EFTY . SEQ B 0054 CZRMDCO RMO3/2 FCTNL TST 2 CZIRMDC.P11 2616 2617 2618 2619 2622 2623 2626 2625 2626 2627 2628 2629 2630 2631 2432 2633 2636 2637 2438 26439 2440 2641 2442 2443 2644 2445 2446 2447 2448 2449 2450 2651 2452 2453 2454 2455 2456 2457 2458 2459 26460 2461 2464 2665 2466 2467 2468 2669 2470 2671 12-DEC-78 08:24 003556 003556 003560 003562 067576 071522 071646 071736 003564 003566 003570 003572 067610 071522 071646 071736 003574 003576 003600 003602 067622 071522 071646 071736 . 003604 003606 003610 003612 067634 071522 071646 071736 003614 003616 003620 003622 067646 071522 071646 071736 003626 003626 003630 003632 067664 071522 071646 071736 003634 003636 003640 003642 067674 071522 071646 071736 003644 003646 003650 003652 067704 071522 071646 071736 MACYT1 30A(1052) 04=JAN-79 ERROR POINTER TABLE 11:23 D 5 PAGE 55 EMT1200 ENTI EDTI EFTI ;ERROR 201 EMT201 ENTI EDTI EFTY INCORRECT "WRL'® STATUS DURING DIAGNOSTIC MODE ;ERROR 202 EMT202 ENTI EDTI EFTI INCORRECT *'SK1'* STATUS DURING DIAGNOSTIC MODE ;ERROR 203 EMT203 ENTI EDT EFTI INCORRECT "DVC'" STATUS DURING DIAGNOSTIC MODE ;ERROR 204 EMT204 ENTI EDTI EFTY "'WV'' WAS NOT RESET BY MAINTENANCE UNIT READY ;ERROR 205 EMT205 ENTI EDTI EFTI SELECTED DEVICE HAS A PERSISTENT ''SKI'" ERROR ;ERROR 206 EMT206 EHTI EDTI EFT1 “LBC'" DID NOT SET DURING DIAGNOSTIC MODE ;ERROR 207 EMT207 EWTI EDT! EFTI UNEXPECTED LOSS OF "MOL'' = MEDIUM IS OFF LINE ;ERROR 210 UNEXPECTED LOSS OF VOLUME VALID = "'w'' = 0 SEQ 0055 067716 070004 071534 071656 071746 003734 — — s (N — — 4 it —_— ) ) D e et N — — TOIXI R UNEXPECTED DEVICE FAULT = "Dv('" = 1 ;ERROR UNEXPECTED SEEK INCOMPLETE ERROR - ''SK]' = 1 ;ERROR 214 EMT214 EHT2 EDT2 EFT2 DRIVE EXECUTED A RECALIBRATE WITH ERROR SET ;ERROR 215 EMT215 EHT2 EDT2 EFT2 DRIVE DID NOT DETECT "IvC'' ERROR DURING RECALIBRATE ;ERROR 216 EMT216 EHTI EnT1 EFTY INCORRECT "'IvC'" STATUS ;ERROR INCORRECT "'IAE"" STATUS ;ERROR 220 INCORRECT "WLE' STATUS 003740 003742 003744 003746 003750 003752 "TOXI R mmmmng ;ERROR UNEXPECTED MECHANICAL MOTION - "PIP' = 1 — — el wt [N NN A WA UNAA VRN NV PNONININONONORON) = s it s =t it NOWVWES W= O O0O®NO VS WN - RN NN NN NN N 067764 071534 071656 071746 5 PAGE 56 — ) ~g — et N) 067754 071522 071646 071736 . ERROR mmmmnrn 067740 071522 071646 071736 E EMT210 ENTI EDT EFTI 071522 071646 071736 067724 071522 071646 071736 11:23 mmmmrn "TOIXIT R~ 003654 003656 00 3660 003662 30A(1052) 04=JAN-79 ERROR POINTER TABLE TOIXIT R 2672 2673 24674 2475 MACYT1 mmmmrn CZRMDCO RMO3/2 FCTNL TST 2 C IRMOC.P11 12-DEC-78 08:24 SEQ 0056 CZRMDCO RMO3/2 FCINL TST 2 CZRMOC.P11 12-DEC-78 08:24 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 25642 2563 2546 2545 3341 2548 2549 2550 2551 2552 2553 25564 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 003754 003756 003760 003762 070036 071522 071646 071736 003764 003766 003770 003772 070046 071522 071646 071736 003774 003776 004000 004002 070056 071522 071646 071736 004004 070066 004006 004010 004012 071560 071672 071762 004014 000000 004016 004020 004022 000000 000000 000000 004024 (04026 004030 004032 000000 000000 000000 000000 004034 004036 004040 004042 000 000000 000000 000000 004044 004046 004050 004052 000000 000000 000000 000000 MACY11 30A(1052) 04=JAN-79 ERROR POINTER TABLE 11:23 F 5 PAGE 57 EMT220 ENTI EDTI EFTI ;ERROR 221 EMT221 EHT EDT EFTI INCORRECT "'OP1'" STATUS ;ERROR 222 EmMT1222 ENTI EDTI EFTI RMO3 DID NOT DETECT RMR ERROR - ;ERROR 223 EMT223 ENT223 EDT223 EFT223 RMO3 DID NOT DETECT PARITY ERROR ON MASSEUS CONTROL BUS ;ERROR 224 0 UNUSED ;ERROR 225 0 0 0 0 UNUSED ;ERROR 226 0 0 0 0 UNUSED ;ERROR 227 0 0 0 0 UNUSED ;ERROR 230 UNUSED 0 0 0 SEQ 0057 CZRMDCO RMO3/2 FCTINL TST 2 CZRMDC.P11 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 004054 12-DEC-78 08:24 000000 000000 000000 004064 004066 004070 004072 000000 000000 000000 000000 004074 004076 004100 004102 000000 000000 000000 000000 004104 004106 004110 004112 000000 000000 000000 000000 004114 004116 004120 004122 000000 000000 000000 000000 004124 004126 000000 000000 004134 000000 004144 004146 004150 004152 000000 000000 000000 000000 004136 004140 004142 04=JAN-79 ERROR POINTER TABLE 000000 005056 004060 004062 004130 004132 MACYTT 30A(1052) 11:23 0 0 C 0 ;ERROR 231 0 0 0 0 UNUSED ;ERROR 232 0 0 0 0 UNUSED ;ERROR 233 0 0 0 0 UNUSED ;ERROR 234 0 0 0 0 UNUSED ;ERROR 235 0 0 0 0 UNUSED 236 UNUSED 000000 000000 ;ERROR 000000 000000 000000 0 0 0 0 - ;ERROR 237 0 0 0 0 UNUSED ;ERROR 240 UNUSED 6 5 PAGE 58 @ 005 —s ey CZRMDCO RMO3/2 FCTNL TST 2 CZRMDC.P1 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2656 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 sggg 2695 004156 004156 004160 004162 12-DEC-78 08:24 000000 000000 000000 000000 004174 004176 200 004202 000000 000000 000000 000000 004210 004212 004214 004216 004220 004222 000000 000000 000000 000000 004224 004226 004230 004232 000000 000000 000000 000000 004234 004236 004240 006242 070142 071522 071646 071736 004244 004246 004250 004252 070152 071522 071646 071736 11:23 H S PAGE 59 0 0 0 0 000000 000000 000000 000000 04=JAN-79 ERROR POINTER TABLE 000000 000000 000000 000000 004164 004166 004170 004172 004204 004206 MACY11 30AC1052) ;ERROR 241 0 0 0 0 UNUSED ;ERROR 242 0 0 0 0 UNUSED ;ERROR 243 0 UNUSED 0 0 r ;ERROR 244 0 0 0 0 UNUSED ;ERROR 245 0 0 0 0 UNUSED ;ERROR 246 EMT246 ENTI EDT) EFTI “ATA" NOT RESET BY GO WHEN 'ERR'' = 0 ;ERROR 247 EMT247 ENTI EDTI EFT1 "ATA"" NOT RESET BY WRITING RMAS ;ERROR 250 “ATA"" WAS RESET BY GO WHEN 'ERR'' = 1 SEQ 0059 CZRMDCO RMO3/2 FCINL ST 2 CZRMOC.P1Y 12-DEC-78 08:24 2696 2697 2698 2699 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 és 2716 2717 2718 2719 2720 2721 2722 2723 27264 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 006254 004256 004260 004262 070164 071522 071646 071736 004264 004266 004270 004272 070200 071534 071656 071746 004274 004276 004300 004302 070206 071534 071656 071746 004304 004306 004310 004312 070214 071522 071646 071736 004314 004316 004320 006322 070232 071522 071646 071736 004324 004326 004330 004332 070242 071522 071646 071736 2738 2739 2740 27641 004334 004336 004340 004342 070252 071572 071672 071762 2744 2745 2746 2747 2748 004344 0064346 004350 004352 070262 071522 071646 071736 §es 2751 MACYT1 30A(1052) 04=JAN-79 ERROR POINTER TABLE 11:23 1 5 PAGE 60 EMT250 ENTI EDT EFT1 ;ERROR 251 EMT251 ENT2 EDT2 EFT2 PROGRAM INTERRUPT WAS NOT GENERATED :ERROR 252 EMT252 ENT2 EDT2 EFT2 PROGRAM INTERRUPT SHOULD NOT HMAVE BEEN GENERATED ;ERROR 253 OFFSET MODE WAS NOT RESET BY WRITING RMDC :ERROR 254 EMT2%¢ EWTY EDTY EFTY INCORRECT ""ILF'* STATUS CERROR 255 EMT125% EWT EDTY EFTY INCORRECT ""ATA' STATUS ;ERROR 256 INCORRECT ""ILR"" STATUS :ERROR 257 EMT2S7 EMT EDTI EFT INVALID IAE STATUS DURING SEARCH COMMAND ;ERROR 260 “IvC"" WAS NOT DETECTED DURING SEARCH COMMAND : EMT253 EWTI EDTI EFTY EMT256 ENT256 EDT223 EF1223 SEQ 0060 CIZRMDCO RMO3/2 FCTINL TST 2 CZRMDC.P11 12-DEC-78 08:24 2752 2753 2756 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 277 2772 2773 27764 2775 2776 2777 2778 2779 2780 2781 2782 2783 3785 2786 2787 2788 2789 2790 2N 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 5382 004356 004356 004360 004362 070274 071522 071646 071736 004364 004366 00437C 004372 070306 071522 071646 071736 004374 004376 004400 070326 071522 071646 004402 071736 004404 004406 004410 004412 070336 071522 071646 071736 004414 004416 004420 004422 070346 071522 071646 071736 004424 004426 004430 004432 070366 071522 071646 071736 004434 004436 004440 004442 070406 071522 071646 071736 004444 004446 004450 004452 070420 071522 071646 071736 MACY11 30A(1052) 04=JAN-79 ERROR POINTER TABLE 11:23 J 5 PAGE 61 EMT260 ENT] EDTI EFT1 ;ERROR 261 EMT261 EHT] EDTI EFTI DRIVE EXECUTED SEARCH WITH ERROR SET ;ERROR 262 EMT262 EHTT EDT "LBC"" ERROR NOT SET DURING DIAGNOSTIC MODE ;ERROR 263 EMT263 EHTI EDTI EFTY "'SK1'* ERROR DURING SEARCH COMMAND ;ERROR 264 EMT264 EHTI EDTI EFTY "IVC'" ERROR DURING SEARCH = LOST VOLUME VALID ;ERROR 265 EMT265 ENTI EDTI EFTY ERRONEOUS 1VC ERROR DURING SEARCH = VOLUME IS VALID ;ERROR 266 EMT266 EWTI EDTI EFT1 DEVICE FAULT (DVC) DURING SEARCH ;ERROR : © 267 SK1 SHOULD HAVE BEEN SET BECAUSE CYLINDER ADDRESS IS TOO LARGE EFT1 EMT267 EHTI EDT! EFTI SEQ 0061 CZRMDCO RMO3/2 FCTNL TST 2 CZRMOC.P11 2808 809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2826 2825 2826 2827 2828 2829 2830 2831 2832 2833 283, 2835 2836 2837 2838 2839 2840 2841 2842 3844 2845 2846 2847 2848 2849 2850 004454 004456 004460 004462 12-DEC-78 08:24 070436 071522 071646 071736 004464 004466 004470 004472 070452 071522 071646 071736 004474 004476 004500 004502 070470 071522 071646 071736 004504 004506 004510 004512 070506 071522 071646 071736 004514 004516 004520 004522 004526 004526 004530 004532 070524 071522 071646 071736 070542 071522 071646 071736 S8 2855 004534 070554 2856 2857 2858 2859 2“0 2861 20,2 2805 004536 004540 004562 MACY11 30A(1052) 04=JAN-79 11:23 ERROR POINTER TABLE K P 5 = 62 ;ERROR 270 _ EMT270 EHT) EDT] EFT OP1 ERROR DURING SEARCH BECAUSE MOL = 0 :ERROR : 271 OP1 ERROR DURING SEARCH BECAUSE ON CYLINDER DIDN'T DROP EMT271 EMT EDTI EFT :ERROR 272 EMT272 EHT EDTI EFT LOST MOL DURING SEARCH, OP1 1S NOT SET ;ERROR 273 EMT273 EHTI EDTI EFT PIP STIL SET AFTER SEARCH ;ERROR ; 274 PARITY ERROR OCCURRED WHILE WRITING REMOTE REGISTERS BUT MXF DID NOT SET ;ERROR : EMT274 EHT EDT EFTT 275 EMT275 EMTI EDTI EFT MXF ERROR - COMPOSITE ERROR OCCURRED BEFORE DATA COMMAND STARTED ;ERROR 276 "'OPI" ERROR DURING DATA TRANSFER BECAUSE "MOLTM* WAS ;ERROR : "'OP1'' ERROR DURING DATA TRANSFER BECAUSE 1) ON CYLINDER DIDN'T DROP OR 2) SEARCH TIMED OUT OR EMT276 ENTI EDT1 EFT 071522 071646 071736 : 277 , " 3) RUN TIMED OUT Q b 2 CZRMDCO RMO3/2 FCTINL TST 2 12-DEC-78 08:2¢4 CZRMOC.P11 MACY1] 32 A(1052) RROR POINTER TABLE 070570 071522 071646 071736 5 PAGE 63 EFT 300 EMT300 EHT EDTI EFT ;ERROR 070626 071522 071646 071736 070674 L EMT277 070606 071522 071646 071736 070662 071522 071646 071736 11:23 EMI} : ERROR 070650 071522 071646 071736 04=JAN-79 301 EMT301 EWT] EDTI EFT1 "'IVC"" ERROR DURING DATA TRANSFER BECAUSE VOLUME WAS NOT VALID ERRONEOUS “'IVC'* ERROR DURING DATA TRANSFER - VOLUME IS VALID ;ERROR 302 EMT302 EHTI EDT EFT1 “ILR"* ERROR DURING DATA TRANSFER ;ERROR 303 EMT303 EWT EDTI EFT1 “ILF'" ERROR DURING DATA TRANSFER ;ERROR "RMR'* ERROR DURING DATA TRANSFER :ERROR INCORRECT "'IAE'" STATUS DURING DATA TRANSFER ;ERROR "'SK1'" ERROR DURING DATA TRANSFER SEG 0063 CZRMDCO RMO3/2 FCTINL TST 2 CZRMDC.P11 12-DEC-78 08:24 20 21 2922 2923 2926 2925 2926 2927 2928 2929 2930 2931 2932 2933 2934 2935 2936 2937 2938 2939 961 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 2955 3935 2956 2957 2958 2959 2960 2961 2962 2963 2964 2965 2966 2967 2968 2969 2970 2971 2972 2973 2974 004644 004646 004650 004652 070730 071522 071646 071736 004654 004656 004660 004662 070750 071522 071646 071736 004664 004666 004670 004672 070762 071522 071646 071736 004674 004676 004700 004702 070774 071522 071646 071736 004704 004706 004710 004712 071006 071522 071646 071736 004714 004716 004720 004722 071026 071522 071646 071736 004724 004726 004730 004732 071040 071522 071646 071736 004734 004736 004740 004742 071052 071522 071646 071736 MACY11 30A(1052) 04=JAN=79 ERROR POINTER TABLE 11:23 NS PAGE 64 ;:ERROR 307 EMT307 ENTI EDT EFTI DRIVE DID NOT DETECT SKI ERROF LUE TO CYLINDER ;ERROR 310 EMT310 ENTI EDTI EFTI DEVICE FAULT DURING DATA TRANSFER ;ERROR 311 LOSS OF BIT CLOCK DURING DATA TRANSFER ;ERROR 312 EMT312 EHT] EDT EFT1 LOSS OF SYSTEM CLOCK DURING DATA TRANSFER ;ERROR 313 EMT313 ENTI EDTI UNSAFE ERROR DURING DATA TRANSFER (DvVC = 0) ;ERROR 314 EMT314 EHTI EDTI EFTY DRIVE TIMING ERROR DURING DATA TRANSFER ;ERROR 315 EMT315 EHT] EDTI EFT1 WRITE LOCK ERROR ;ERROR 316 EMT316 ENTI EDTI EFT1 ERRONEOUS WRITE LOCK ERROR EMT31 ENT EDTI EFT EFT1 SEQ 0064 CZRMDCO RMO3/2 FCINL TST 2 CZRMDC.P11 2977 2978 2979 2980 2935 %332 2985 2986 2987 2988 2989 2990 2991 2992 2993 2994 2995 2996 2997 2998 2999 3000 3001 3002 3003 3004 3005 3006 3007 3008 3009 Al 12-DEC-78 08:26 004744 004746 004750 004752 071064 071522 071646 071736 004754 004756 004760 004762 071074 071522 071646 071736 004764 004766 004770 004772 071104 071522 071646 071736 004776 004776 005000 005002 071114 071522 071646 071736 005004 005006 005010 005012 071122 071522 071646 071736 3012 3013 3014 3015 3016 005014 005016 005020 005022 071132 071522 071646 071736 3019 3020 3021 3022 3023 005024 005026 005030 005032 071144 071522 071646 071736 3026 3027 3028 3029 3030 005034« 005036 005040 005042 071156 071522 071646 071736 3018 ERROR POINTER ThBLE ' o0 MACY11 30AC1052) ;ERROR O4-JAN-79 317 EMT317 ENTT EDTY EFTY 11:23 NS PAGE SEa 0 0065 TheE® 65 HEADER CRC ERROR DURING DATA TRANSFER ERROR 320 FORMAT ERROR DURING DATA TRANSFER ;:ERROR 321 EMT321 ENTY EDT EFTY HEADER COMPARE ERROR DURING DATA TRANSFER :ERROR 322 EMT322 ENTY EDTY EFT1 HEADER ERRORS SHOULD NOT BE SET :ERROR 323 EMT323 EHTY EDT EFTY DATA CHECK ERROR DURING DATA TRANSFER :ERROR 324 EMT324 ENTY EDTY EFTY CORRECTABLE DATA CHECK ERROR DURING DATA TRANSFER :ERROR 325 EMT325 ENTI EDTY EFTI UNCORRECTABLE DATA CHECK ERROR DURING DATA TRANSFER ;ERROR 326 EMT326 ENT EDTI EFTY DATA PARITY ERROR DURING READ COMMMAND : . EMT320 ENTY EDT EFTY L ——— | ‘ CZRMOCO RMO3/2 FCTNL TST CIRROC.P11 ;ggf 12-9((-73 oi:z:. 3034 3035 3036 3037 3038 3039 005044 005046 005050 005052 071174 071522 071646 071736 30641 3062 30643 3044 3045 3046 3047 3048 3049 3050 3051 3052 3053 3054 3055 3056 3057 3058 3059 3060 3061 3062 3063 3064 3065 3066 3067 3068 3069 3070 3071 3072 005054 005056 005060 005062 071206 071522 071646 071736 005064 005066 005070 005072 071216 071522 071646 071736 005076 005076 005100 005102 071230 071522 071646 071736 0051064 005106 005110 005112 071242 071522 071646 071736 005114 005116 005120 005122 071260 071522 071646 071736 005124 005126 005130 005132 071276 071522 071646 071736 005134 005136 005140 005142 071316 071604 071702 071772 3040 re So 3075 3076 3077 3078 3079 so!13!1n 3082 3832 3085 s}gg? s MACY11 30A(1052) 04=JAN=79 ERROR POINTER TABLE 11:23 —— 6 PAGE 66 :ERROR 327 OFFSET MODE NOT RESET BY WRITE COMMAND ;ERROR 330 EMT330 ENTI EDT1 EFTI DATA PARITY ERROR DURING WRITE COMMAND :ERROR 331 EMT331 EMTI EDT1 EFTI WRITE CLOCK FALURE DURING WRITE (OMMAND :ERROR 332 EMT332 ENTI EDTI EFT1 DATA LATE ERRCR DURING DATA TRANSFER :ERROR 333 EMT333 ENTI EDT1 EFTI PIP STIL SET AFTER DATA TRANSFER - SK]I =0 :ERROR 334 EMT334 ENTI EDT1 EFTI LOST MOL DURING DATA TRANSFER = OP1 = 0 :ERROR 335 EMT335 ENTI EDTI EFTI LOST VOLUME VALID DURING DATA TRANSFER = IVC ;ERROR 36 EMT336 ENT336 EDT336 EFT336 DATA READ DOES NCT COMPARE WITH DATA WRITTEN EMT327 ENTI EDT1 EFT1 : =0 - ' SEQ 0066 CZRMOCO RMO3/2 FCINL TST 2 CZRMDC.P11 12-DEC-78 08:24 3088 3089 3090 3091 3092 3093 3094 3095 3096 3097 3098 3099 3100 3101 3102 3103 31064 3105 3106 3107 3108 3109 3110 3111 3112 3113 3114 his 3117 3118 3119 3120 3121 3124 005144 005146 005150 005152 071326 071616 071712 072002 005156 005156 005160 005162 071336 071604 071702 071772 005164 005166 005170 005172 071350 071604 071702 071772 005176 005176 005200 005202 071356 071522 071646 071736 005204 005206 005210 005212 071370 071522 071646 071736 3125 3126 3127 3128 005214 005216 005220 005222 071402 071630 071722 072012 3131 3132 3133 3134 3135 005224 005226 005230 005232 071414 071522 071646 071736 005234 005236 071424 071522 e 5138 3139 3140 3141 g}:g 005240 0052642 071646 071736 MACYTT 30A(1052) 04-JAN-79 ERROR POINTER TABLE 11:23 C 6 PAGE 67 ;ERROR 337 EMT337 EMT337 ED1337 EFT337 WRITE CHECK ERROR NOT DETECTED ;ERROR 340 EMT340 ENT336 EDT336 EFT336 WRITE CHECK ERROP AT UNEXPECTED ADDRESS ;ERROR 341 EMT 341 EHT336 EDT1336 EFT1336 INCORRECT DATA DURING WRITE CHECK ERROR ;ERROR 342 EMT342 ENTI EDTI EFTY “IvC'" ERROR NOT DETECTED DURING DATA TRANSFER ;ERROR 343 EMT343 ENTI EDTI EFT1 "FER'* NOT DETECTED DURING DATA TRANSFER ;ERROR 344 "MCE'" NOT DETECTED DURING DATA TRANSFER 345 EMT345 ENT] EDT! EFT1 "BSE'’ NOT DETECTED DURING DATA TRANSFER 346 HEADER ERROR WAS DETECTED W/ HCI SET ;ERROR ;ERROR EMT 344 EHT 344 EDT 344 EF 1344 EMT346 ENTI EDTI EFT1 ’ SEQ 0067 CZRMDCO RMO3/2 FCTNL TST 2 CIRMDC.P11 3144 3145 3146 3147 3148 3149 1t 3152 3153 3154 3155 3156 3157 3158 3159 3160 3161 3162 3163 3164 3165 3166 3167 3168 3169 3170 N7 3172 3173 3174 3175 3176 3177 3178 3179 3180 3181 3182 3183 3184 3185 3186 3187 g}gg 12-DEC-72 08:24 005244 005246 005250 005252 071440 071522 071646 071736 005254 005256 005260 005262 071452 071522 071646 071736 005264 005266 005270 005272 071470 071522 071646 071736 00527« 005276 005300 005302 071500 000000 000000 000000 005304 005306 005310 005312 071504 071642 071734 072022 005314 005316 005320 005322 071514 071522 071646 071736 MACY11 ' 30A(1052) 04-JAN-79 ERROR POINTER TABLE 11:23 D 6 PAGE 68 ;ERROR 347 EMT347 ENTI EDT EFTI DATA TRANSFER NOT ABORTED W/ COMP ERROR SET ;ERROR 350 EMT350 EHTI EDTI EFT1 LOST VOLUME VALID DURING SEARCH = *‘IvC'' = 0 ;ERROR 351 EMT351 EXTY EDTI EFTI “ATA"" DID NOT SET DURING SEARCH :ERROR 352 EMT352 0 0 0 PROGRAM TIMEOUT WHILE TESTING RMLA ;ERROR 353 EMT353 EHT3S53 EDT353 EFT353 LOOK AHEAD TEST FAILS :ERROR 354 EMT354 EHTI EDTI EFT BSE SHOULD NOT BE SET ;PUT ERROR TABLE HERE .SBTTL ERROR TABLE USAGE 3190 ;THE ERROR TABLE ABOVE CONSISTS OF 3193 3194 3195 g}g? : 3 3 : 3198 3199 ;THE EMT ENTRY IS THE ADDRESS OF THE TABLE OF ERROR MESSAGE STRINGS ;FOR THE PARTICULAR ERROR, EACH ERROR MESSAGE TABLE LISTS THE ADDRESS ;}g; ;NUMBER, 1.E., EMT EHT EDT EFT = = = = ERROR ERROR ERROR ERROR FOUR WORD ENTRIES FOR EACH ERROR MESSAGE TABLE ADDRESS HMEADER TABLE ADDRESS DATA TABLE ADDRESS FORMAT TABLE ADDRESS SEQ . CIZRMDCO RMO3/2 FCINL TST 2 12-DEC-78 08:24 CZRMDC.P11 MACYTT 30A(1052) 04=JAN-79 ERROR TABLE USAGE 11:23 E 6 PAGE 69 :OF ONE OR MORE ERROR MESSAGE STRINGS WHICH ARE TO BE FORMATTED AND ;TYPED BY THE ERROR TYPE SUBROUTINE. IF THE EMT ENTRY IS ZERO, THERE 1S 'NO MESSAGE TO BE TYPED FOR THE ERROR. :SIMILARLY, THE ENT, EDT, AND EFT ENTRIES ARE ADDRESSES OF TABLES :OF HEADER, DATA AND FORMAT INFORMATION FOR A GIVEN ERROR. EACH ENTRY :IN_THE ERROR WEADER TABLE MAY OR MAY NOT WAVE AN ASSOCIATED LINE OF :DATA, HOWEVER, EACH DATA LINE MUST MAVE AN ASSOCIATED FORMAT AND HEADER. THAT IS, A WEADER LINE MAY BE PRINTED WITHOUT ANY DATA, ;BUT A DATA LINE IS NOT PRINTED WITHOUT A HEADER, AND EACH DATA LINE ;MUST ALSO HAVE A FORMAT. *IN SUMMARY, OF ' EACH NONZERO ENTRY IS THE ADDRESS OF A TABLE, EACH TABLE 1S A LIST OF ADDRESSES WHICH DEFINFS THE LOCATIONS MESSAGE STRINGS, HEADERS, DATA OR FORMAT. SEQ 0069 CZR*DCO RMO3/2 FCTINL TST 2 12-DEC-78 08:24 CZRMDC.P11 MACY1T 30A(1052) 04=JAN-79 START OF PROGRAM .SBTTL 11:23 F 6 PAGE 70 SEQ 0070 START OF PROGRAM START: sCLEAR A:gPSElUP FOR TEST EXECUTION 000240 013746 012746 000002 RESET 000300 005342 MOV MOV RTI 64%: LSBTTL — 001100 D d e o el e e 0000 000022 000030 000032 000034 000036 e 000024 000026 033014 NNNNOOW Wi NWNN WO W - O\ ot — =W NN z [ NNNNNO P gy O0OO000O0 a1t LV 1 N 1V 001124 005570 005574 005602 005604 005612 STACK ::POP NEW PC AND PS 000004 001154 001156 173416 005550 00130 000200 001243 001244 001154 .6 #STACK,SP CLR $STIMES [ []" #.,.5LPADR MOV ;:LOOP BACK IF NO :sSETUP THE STACK POINTER ssINITIALIZE NUMBER OF ITERATIONS SESCAPE #1,3ERMAX ssCLEAR THE ESCAPE ON ERROR ADDRESS ssALLOW ONE ERROR PER TEST #.,5LPERR :sSETUP THE ERROR LOOP ADDRESS ssINITIALIZE THE LOOP ADDRESS FOR SCOPE ;3SIZE FOR A HARDWARE SWITCH REGISTER. IF NOT FOUND OR IT IS ;:EQUAL TO A ""=1'", SETUP FOR A SOFTWARE SWITCH REGISTER. [ []" SFERRVEC,-(SP) ;;SAVE ERROR VECTOR Mmov #65% ,97ERRVEC ;;SET UP ERROR VECTOR MOV MOV CMP #DSWR, SWR #ODISP,DISPLAY #-1,35WR :sSETUP FOR A HMARDWARE SWICH REGISTER ;;AND A HARDWARE DISPLAY REGISTER ssTRY TO REFERENCE HARDWARE SWR BR :?Y 66% ¥66%, (SP) :sBRANCH IF NO TIMEOUT :3SET UP FOR TRAP RETURN MOV MOV MOV #SWREG, SWR ;sPOINT TO SOF TWARE SWR #DISPREG,DISPLAY (SP)+ ,@#ERRVEC ;;RESTORE ERROR VECTOR CLR $PASS ;sCLEAR PASS COUNT MOV #SSWREG,SWR :sNO,USE APT SWITCH REGISTER 113 65%: 001154 001156 (R6)+ :sCLEAR MEMORY LOCATION #SWR,R6 ;;DONE? BNE MoV CLR MOvB 001122 000176 000174 000004 ;:PUT NEW PC ON soINITIALIZE A FEW VECTORS MoV #$SCOPE ,8#10TVEC ;;10T VECTOR FOR SCOPE ROUTINE MoV #340,9710TVEC+2 ;:LEVEL 7 MOV #SERROR ,@PENTVEC ;;EMT VECTOR FOR ERROR ROUTINE L[] #3540,9MENTVEC+2 ;;LEVEL 7 MoV #STRAP,SFTRAPVEC ;:TRAP VECTOR FOR TRAP CALLS MOV #340,97TRAPVEC+2;LEVEL 7 Mov #SPURDN ,@#PURVEC ; ;POWER FAILURE VECTOR MOV #340,9/PURVEC+2 ;;LEVEL 7 MoV SENDCTY,SEOPCT ;;SETUP END-OF -PROGRAM COUNTER 001131 005556 005564 ::PUT NEW PS ON STACK INITIALIZE THE COMMON TAGS CLR CHP 001154 177777 1643 ,-(SP) sINITIALIZE THE SYSTEM ;sCLEAR THE COMMON TAGS (SCMTAG) AREA MoV #SCATAG,. RO ;sFIRST LOCATION TO BE CLEARED 001114 060556 PR6,~-(SP) 66%: 67%: 68$%: s BI1TB BEQ 67% #APTSIZE,SENVM 68% s sBRANCH 1F NO TIMEOUT TRAP OCCURRED ssAND THE MWARDWARE SWR IS NOT = -1 ;;TEST USER SIZE UNDER APT :sYES,USE NON=-APT SWITCH CIRMDCO RMO3/2 FCTINL TST 2 CZRMOC.P1Y 12-DEC-78 08:2¢4 3275 3276 3277 3278 3279 3280 g%g; 3283 3284 3285 3286 3287 3288 3289 3290 3291 3292 3293 3294 3295 3296 3297 3298 3299 3300 3301 3302 3303 3304 3305 3306 3307 3308 3309 3310 3311 3312 3313 3314 3315 3316 3317 3318 3319 3320 3321 3322 3325 33264 3325 3326 3327 3328 3329 3330 005612 005616 005620 005626 005630 005227 001061 022737 001455 104401 005634 005640 005642 005650 005652 005660 005662 005664 005666 005674 005674 005737 001012 123727 001406 023727 001005 104407 000403 112737 MACY1 177777 033156 000042 005676 000042 001242 000001 001154 000176 000001 001150 000432 005762 005762 005770 005772 005776 006000 006000 006004 006006 006012 006014 006014 006022 006026 006032 006036 006040 006044 006050 006056 006062 006066 006072 006074 006100 006106 006106 006112 006114 006114 006120 122737 001003 104401 000077 005737 001003 105737 001454 000042 132737 1046 012737 005037 005001 012704 013700 012760 010160 016003 032703 001010 016003 032703 001403 050437 000405 104401 010146 000041 064560 000377 001300 001300 000010 6 PAGE 71 SEa 007 SBTTL GET VALUE FOR SOF TWARE SWITCH REGISTER 181 e ssARE WE RUNNING UNDER XXDP/ACT? BWE OF THE PROGRAM IF FIRST PASS -1 :sFIRST TIME? 69% :sBRANCH 1F NO FSENDAD 8862 ssACT=11? 69% :sBRANCH IF YES L1708 ssTYPE ASCIZ STRING 71% : sBRANCH IF YES 71% SWR,#SWREG 72% : sBRANCH IF YES ::SOFTWARE SWITCH REG SELECTED? : sBRANCH IF NO CMPB SENV. M g;sua ros BEQ CHP BNE :sARE WE RUNNING UNDER APT? ::GET SOFT=-SWR SETTINGS ;;:: MOVB #1,8AUT08 éézos: B& LASCIZ 69% ::GET OVER THE ASCIZ <CRLF>3CZRMDB - RMO3/RM02 SUBSYS FUNCTIONAL TEST,PART 2 @<CRLF> ::SET AUTO-MODE INDICATOR ;FIND OUT IF PROGRAM IS RUNNING IN STANDALONE MODE CMPB 77,3041 sLOAD FROM XXDP MEDIM ? BNE 5% ;BRANCH IF NOT TYPE HALT ,XDPMG 1s1 &2 1518 SENV BEQ sTYPE THE MESSAGE ;1S LOC 42 ZERO ?? 10% sNO = NOT IN STANDALONE STANDALONE ;sYES = PROGRAM IN STANDALONE ;1S APT ENVIRONMENT ZERO ?? :PROGRAM NOT RUNNING IN STANDALONE - SEE XS1Z: 158: BITB #BIT7,SENVM CLR $DEVAM BNE MOV CLR MOV MOV MOV MOV MOV BIT BNE MOV 000000 004000 064645 6 TYPE PROGRAM NAME ;:TYPE THE NAME INC BNE CHP BEQ TYPE - 001243 11:23 .SBTTL BNE 000200 001300 04=JAN-79 TYPE PROGRAR NAME 5%: 001242 000001 001276 000040 000010 000010 010000 30A(1052) = BIT BEQ BIS BR TYPE MOV IF SIZING IS ALLOWED 20% #377,$DEVM :S1ZING ALLOWED 2? ;NO SYES - SET DEVICE MAP FOR ALL DEVICES R #8110,R4 $BASE ,RO #CLR,RMCS2(RO) R1,RMCS2(RO) RMCS2(RO),R3 :START FROM THE DRIVE 0 :BIT MAP :LOAD BASE ADDRESS :MASS BUS CLEAR :LOAD THE DRIVE ADDRESS :READ DRIVE STATUS TO SEE NED BIT RMCS1(RO),R3 :CHECK THE DVA BIT #NED,R3 168 :CLEAR THE BIT MAP :NED BIT SET ? :BRANCH IF SO #DVA,R3 16% R&, SDEVM :DRIVE AVAILABLE ? :BRANCH 1F NOT ;SET THE BIT MAP ,NOTEX :NOT EXIST DRIVE 17% R1,=(5P) :NOT TYPE THE NONE-EXIST MESG :DRIVE NUMBER CZRMDCO RMO3/2 FCTNL TST 2 CIRMDC.P11 12-DEC-78 08:2¢ 3331 3332 3333 333, 3335 333 006122 006124 006125 006126 006130 006132 gg;g 006140 3337 3340 331 006136 006140 104403 006 000 005201 006304 022701 103344 000137 H 6 MACYT1 30A(1052) 04=JAN-79 11:23 PAGE 72 GET VALUE FOR SOF TWARE SWITCH REGISTER 17%: 000007 20%: 006772 TYPOS BYTE .BYTE INC ASL cmp BHIS 6 O R1 R4 7R 15§ :60 TO COMMON START CODE JMP CANSTART : INCREMENT THE DRIVE ADDRESS :SET UP BIT MAP sALL DRIVE CHECKED ? :BRANCH IF NOT SEQ 0072 006144 006144 006150 006154 004737 061376 005327 000001 100024 1 6 30A(1052) 04=JAN-79 11:23 PAGE 73 GET VALUE FOR SOF TWARE SWITCH REGISTER STANDALONE: JSR :SEE §s: 001176 001176 001176 000131 007124 001176 000116 68: 104401 064126 001276 001176 20%: VIVYe c = FRERRET ordoo S8 S 0e00505s SLESEEEEES 0 ~ Lt e L L e Lt Lt L Lt Lt L At W L W :YES RESPONSE?? INO'! BEQ 208 :GET NEW PARAMETERS JMP CMPB BR READY STMP1,#'N QS TKK §g ,HELPQST MOV (SP)+,$THP1 CMPB BNE STMP1,#'Y 20% TYPE MoV TYPE RDCHR TS7 000131 CMPB Rilld JHELP :KEEP PREVIOUS PARAMETERS :NO RESPONSE?? :NOT YES OR NO, :RETRY TYPE '"2* :WANT HELP 27 :GET RESPONSE :SAVE AND ECHO RESPONSE sWAS 1T A YES RESPONSE ?? :NO = DONT TYPE HELP sYES = TYPE HELP TEXT BNE ,UBUSQST (SP)+,$TMP1 L3TMP1 ;WANT TO CHANGE ADDRESS ?? sGET RESPONSE sSAVE AND ECHO RESPONSE (SP)+ sREAD ONE MORE CHARACTER :CLEAR OFF THE STACK 90% sNO !! STMP1 ., 2'Y sWAS IT A YES RESPONSE ?? DIALOGUE TO CHANGE THE UNIBUS ADDRESS, AND INTERRUPT VECTOR TYPE ,CNSLO1 ;TYPE CURRENT BUS ADDRESS MOV SBASE -(SP) ..SAVE $BASE FOR TYPEOUT TYPOC TYPE RDOCT 063570 MOV 001176 BEQ cMp BLOS 001176 064153 001176 :GET RESPONSE :ECHO RESPONSE $TMP1,#'Y 68 TYPE RDCHR 30%: 160000 (SP)+,$THP1 ,$Tmpi ;MAINTAIN PREVIOUS PARAMETERS?? ;SEE IF USER WANTS TO CHANGE RMO3 UNIBUS ADDRESS 3384 013746 104402 104401 104413 012637 001412 022737 101403 104401 000756 013737 ,CNSLOO CMPB BNE TYPE 000131 063770 001176 001176 TYPE RDCHR MOV TYPE TYPE RDCHR 103564 012637 104401 104411 005726 123727 001137 ;INITIALIZE CONSOLE THE USER WANTS TO KEEP SAME DEVICES FOR TESTING :SEE IF OPERATOR WANTS HELP FILE 063601 104401 104411 IF TYPE 10%: 001176 001176 001176 PC,STKINT SEQ 0073 ;SEE IF THIS IS THE FIRST START AFTER PROGRAM WAS LOADED DEC " ;FIRST START ?? BPL 108 sVES !! 063577 8: NN MACY11 064067 -0V T WA w FEF vy AV 3342 A 35 rum-ooawg CZRMDCO RMO3/2 FCTNL TST 2 12-DEC-78 08:24 CZRMOC.P11 001276 408%: TYPE 21 MOV L,CLSPRN (SP)+,$THP1 50% #160000,8TMP1 40% CNSLO2 0% $TMP1,$BASE ::60 TYPE==OCTAL ASCIICALL DIGITS) sGET NEW BUS ADDRESS sCARRIAGE RETURN?? sYES=SKIP TO NEXT ENTRY BASE ADDRESS IN 1/0 PAGE?? JYES IVPF WARNING MESSAGE REIRV :STORE NEW BUS ADDRESS CZRMDCO RMO3/2 FCTNL TST 2 CIRMOC.P11 12-DEC-78 08:24 3398 006364 3,00 006376 3,02 3,03 3,04 3,05 3,06 3,07 3,08 3,09 3,10 3411 006406 006410 006411 006412 006416 006420 006426 006426 006434 006436 104403 003 000 104401 104413 012637 001412 022737 101003 106401 313 3,14 3,15 3,16 3,17 3,18 3,19 3,20 3,21 3,22 3,23 3024 3,25 3,26 3,27 328 34,29 3,30 3431 3,32 00644k 006452 006460 006464 006470 006476 006500 006504 006510 006514 006520 006522 006523 006526 006530 006532 006536 006540 006546 006550 113737 113737 006237 006237 006237 006237 006237 105037 104401 013746 104403 001 000 104401 104413 012637 001424 023727 002403 106401 33 3,35 3,36 3,37 3,38 3,39 3,40 g::; 006556 006556 006562 006566 006572 006576 006602 006610 006337 006337 006337 006337 006337 113737 001176 001176 001176 001176 001176 001176 3443 3644 3445 3446 006610 006614 006620 005037 104401 1064401 001300 064421 063573 3448 006626 012637 001176 3399 3,01 006372 006402 113737 001272 104401 064234 105037 013746 3,12 006442 000750 3,33 00655¢ 000736 3647 006626 106411 001177 J 6 MACYT1 30A(1052) 04=JAN-79 11:23 PAGE 74 GET VALUE FOR SOF TWARE SWITCH REGISTER 001176 001176 001176 064264 001176 001273 001176 001176 00117¢ 001176 001176 001177 064340 001176 001272 001176 006652 012737 60S: 708: 063570 \ 001176 001176 , 064374 000007 : 808 : 001273 000377 908 : SVECT1,$TMP1 CLRB STAP1+{ MOV $THPT,=(SP) 1YPOS .BYTE BYTE TYPE RDOCT MoV BEQ CHP BMI TYPE 063570 001000 MOVB TYPE 001176 B8R CNSLO3 3 0 ,CLSPRN (SP)+,$THP 708 #1000, $THP1 608 CNSLO& §0s MOVB MOVB ASR ASR ASR ASR ASR CLRB TYPE MOV TYPOS .BYTE BYTE TYPE RDOCT MOV BEQ CHP BLT TYPE (SP)+,$THP 908 STHP1,87 80 CNSLO® ASL ASL ASL ASL ASL MOVE $THP1 $THP1 $THPI $TMP1 $THP1 STMP1,SVECTi+1 BR STMP1,SVECT1 SVECTi+1,$TMP1 $THP1 $THP1 $THP1 STHP1 STAPI STMP1+1 ,CNSLOS $THP1,=(SP) 1 0 ,CLSPRN 708 :TYPE CURRENT VECTOR ADDRESS ::SAVE STMP1 FOR TYPEOUT ::60 TYPE--OCTAL ASCII S:TYPE 3 DIGIT(S) : :SUPPRESS LEADING ZEROS :GET NEW VECTOR ADDRESS :CARRIAGE RETURN? SYES=SKIP TO NEXT ENTRY :VECTOR ADDRESS < 10002? SYES!! STYPE WARNING MESSAGE RETRY :STORE NEW VECTOR ADDRESS :TYPE CURRENT PRIORITY ::SAVE STMP1 FOR TYPEOUT 1160 TYPE=--OCTAL ASCII SSTYPE 1 DIGIT(S) : *SUPPRESS LEADING ZEROS :GET NEW PRIORITY :CARRIAGE RETURN?? SYES=SKIP TO NEXT ENTRY :LEGAL PRIORITY?? SYES!! :TYPE WARNING MESSAGE RETRY :STORE NEW PRIORITY :DIALOGUE TO INPUT DEVICE NUMBERS CLR $DEVM ;CLEAR DEVICE MAP TYPE ,CNSLO7 STYPE INPUT INSTRUCTIONS TYPE ,PROMPT :TYPE PROMPTING CHARACTER RDCHR 3649 006632 104401 001176 3,50 006636 023727 001176 000101 3451 006644 001021 3452 006646 000137 006014 3,53 SO0$: " 001300 MOV TYPE CHP BNE JWP MOV (SP)+,53THP sTHPi $THP1,#'A 1108 X112 #377,$0EVM :GET RESPONSE ‘ECHO RESPONSE ;TEST ALL DRIVES?? NO SAUTO SIZE STEST ALL DEVICES SEQ 0074 REESElr2.2 8 CZRADCO RMO3/2 FCTNL TST 2 12-DEC-78 08:2¢4 94 RROC.P 000444 104401 104411 MACY11 30A(1052) 063573 : 1008 001176 000060 3463 3464 3465 001176 000067 063577 : 1208 3467 001176 177770 064772 177400 001300 000377 130%: g5 000015 101334 11:23 K 6 PAGE 75 SEQ 0075 GET VALUE FOR SOF TWARE SWITCH REGISTER 001176 001176 001176 3469 3470 34671 3472 3473 3476 3475 04=JAN=79 BR TYPE RDCHR MOV TYPE 4,1 1108: BEQ CHp BLT CHP BLE TYPE BR MOV BIC MOVB BIC BIS gnqe 001300 140%: H 1408 ;SKiP TO NEXT ENTRY (SP)+,$TMPI ;GET RESPONSE ;ECHO RESPONSE ,PROMPT sTapi $THP1, #CR 1408 $THP1,#°0 120% STAP1.8'7 1308 QS THRK 1008 $TAP1,R1 #4C7,R1 ATNTBL(R1),R2 #°C377.R2 R2,S$DEVM cs?r SDEVM :TYPE PROMPTING CHARACTER ;CARRIAGE RETURN?? NUHBGR < 0”7 "PE 0.,00 :RETRY :R1=DRIVE NUMBER sDECODE DEVICE NUMBER ;DONE ?? ;NO sCLEAR UNUSED BITS sSET DEVICE # IN MAP CZRADCO RMO3/2 FCTNL TST 2 CZRMDC.P11 12-DEC-78 08:2¢4 77 MACY11 006772 L 6 30A(1052) 04=JAN-79 11:23 PAGE 76 GET VALUE FOR SOF TWARE SWITCH REGISTER CANSTART: ;ASSEMBLE TEST QUE FROM DEVICE MAP MOV $DEVM, RO ;RO = DEVICE MAP MoV MoV MoV 108: 000001 208: 25¢: 40%: .SBTTL N=O VBN WS N - N 000042 0004 112737 000240 117737 005037 001242 000001 001154 000176 000001 001150 001326 061376 000300 007150 172274 001474 R2,RO 115 THIS DEVICE IN MAP 2? BEQ MOV MOVB ADD ASL 1STB BEQ INC BR CLR 208 IND !! R3, (R1) :YES - ENTER DEVICE NUMBER IN QUE ATNTBL(R3),1(R1):ENTER ATTENTION BIT IN QUE #2,R1 :ADVANCE ENTRY POINTER R2 :ADVANCE DEVICE POINTER R2 :DONE ALL DEVICES ?? 258 YES R3 :ADVANCE DEVICE NUMBER 108 *ENTER NEXT DEVICE (R1) :TERMINATE TEST QUE BR ERROR HALT BR PC,S12CLK 408$ :R3 = DEVICE NUMBER ;SEE IF CLOCK PRESENT TYES - CLOCK 1S PRESENT INO CLOCK 308 GET VALUE FOR SOFTWARE SWITCH REGISTER ST G2 :;ARE WE RUNNING UNDER XXDP/ACT? BNE CMPB BEQ CHP BNE g;sun 64$ SENV,#1 648 SWR, #SWREG 65% L ::BRANCH IF YES ::ARE WE RUNNING UNDER APT? ::BRANCH IF YES ::SOFTWARE SWITCH REG SELECTED? ;;BRANCH IF NO ::GET SOFT=SWR SETTINGS 22:‘ MOVB #1,$AUTOB :3SET AUTO=-MODE READY: NOP CLR JSR MOV wh 001234 :R1 = ADDRESS OF FIRST ENTRY IN QUE SINITIALIZE ENTRY POINTER :R2 = DEVICE POINTER R3 JSR 308: #TSTQUE+2,R1 R1,TSTQUE #1.R2 CLR BIT :S1ZE FOR CLOCK 040204 Lt A L Lt L L Lt A A4 U M WAV YU PN b e e e b e b SEQ 0076 MOV RTI MOVB CLR CTLFG PC,STKINT PR6,=(SP) #64$,-(SP) aTSTQUE,SUNIT MEDENB INDICATOR ;READY TO START TEST :CLEAR THE CONTROL-C FLAG SINITIALIZE TTY ::PUT NEW PS ON STACK ::PUT NEW PC ON STACK ::POP NEW PC AND PS :LOAD UNIT NUMBER :CLEAR MEDIA ENABLE CZRMDCO RMO3/2 FCTNL TST 2 CZRMDC.P1 12-DEC-78 08:24 n 6 MACY1] SQA(IOSZ) 04=JAN-79 11:23 PAGE 77 1 CONTROLLER ACCESS TEST 3523 LL Te T e e 3525 LR R R R YY 35264 ;*TEST 1 3526 3527 3528 3529 3530 3531 3532 3533 3536 3535 3536 3537 3538 gSS9 007162 007162 007164 007172 007200 007200 007204 007210 007214 007222 007224 0072 007234 0072642 012706 013700 013701 012737 005001 013746 013746 012737 012737 000004 000006 007326 000300 3541 3542 3543 3544 3545 3546 3547 007250 007254 007260 007264 007270 0072764 007300 110160 010160 016002 010160 016002 010160 016002 000001 000002 000002 000004 000004 000010 000010 3549 3550 3551 ;g;g 007310 007314 007320 007326 016002 012637 012637 000415 000022 000006 000004 3554 3555 3556 3557 3558 3559 3560 3561 ;ggg 007326 007330 007334 007340 007342 007346 007350 007354 007360 022626 012637 012637 104110 005737 001002 000137 000137 3548 007 000240 012737 012737 - 1ST1: 007200 007200 001100 001276 001450 000001 001122 001124 1%: 001226 000004 000006 010160 000022 NOP MOV MoV 718 ,SLPADR #13,SLPERR MOV MOV MoV MOV CLR MOV MOV MoV MOV #STACK,SP $BASE RO TSTQUE R #1,8TESTN R1 ERRVEC,=(5P) ERRVEC+2,-(SP) #3% ,ERRVEC #PR6 ,ERRVEC+2 sINITIALIZE STACK POINTER ;sRO=UNIBUS ADDRESS s(R1) = DEVICE BEING TESTED ssSET TEST NUMBER IN APT MAIL BOxX MOVB MOV MOV MOV [ [1]'] MOV MOV R1,RACS1+1(RO) R1,RMWC(RO) RMWC(RO) ,R2 R1,RMBA(RO) RMBA(RO) ,R2 R1,RACS2(RO) RMCS2(RO) ,R2 ;MOVE W] BYTE TO RMCS! ;MOVE WORD COUNT REGISTER MoV MOV MOV BR RMDB(RO) ,R2 (SP)+,ERRVEC+?2 (SP)+ ERRVEC 7% CHpP MOV MOV ERROR ST BNE JMP JMP (SP)+,(SP)+ (SP)+ ERRVEC+2 (SP)+ ,ERRVEC 110 &2 5% STARY SEOP MOV 3%: 000006 000004 000042 005324 032766 5%: 7%: CONTROLLER ACCESS TEST R1,RMDB(RO) ;START OF TEST s sPUSH ERRVEC ON STACK s sPUSH ERRVEC+2 ON STACK ;sMOVE BUS ADDRESS REGISTER sMOVE CONTROL STATUS REGISTER ;MOVE DATA BUFFER ;sPOP STACK INTO ERRVEC+?2 :sPOP STACK INTO ERRVEC sNO BUS TIMEOUT OCCURRED sADJUST STACK :sPOP STACK INTO ERRVEC+2 ::POP STACK INTO ERRVEC s CANNOT ACCESS MASSBUS CONTROLLER sSTAND ALONE MODE?? sNO!! sYES-GO GET $BASE ;G0 TO END OF PASS HANDLER 3564 T e e gggz J*TEST 2 3567 L R e 3568 3569 3570 3571 3572 3573 gg;g 007360 007360 007362 007364 007370 007374 007400 000004 000240 012706 013700 013701 012737 001100 001276 001450 000002 5576 007406 004737 046660 3577 3578 007412 007414 000404 000240 1S12: 001226 DEVICE AVAILABLE TEST SCOPE NOP MOV MOV MOV MOV #STACK,SP $BASE ,RO TSTQUE ,R1 #2,8TESTN JSR PC,CNTCLR BR NOP 2% ;sSCOPE CALL sSTART OF TEST sINITIALIZE STACK POINTER sRO=UNIBUS ADDRESS s(R1) = DEVICE BEING TESTED s:SET TEST NUMBER IN APT MAIL BOX ;G0 TO 2% IF NO ERROR sRETURN HERE IF ERROR SEQ 0077 CZRMDCO RMO3/2 FCINL TST 2 12-DEC-78 08:24 CZRMDC.P11 007524 000 000004 000006 000000 000010 000006 000004 10000 001176 001174 - s O OO~ N = NNy NWNNO 004000 001176 000006 000004 032732 N 6 04=JAN-79 11:23 PAGE 78 DEVICE AVAILABLE TEST ERROR 7% MoV MOV MOV MOV ERRVEC,=(SP) ERRVEC+2,=(SP) #58 ,ERRVEC PR6.ERRVEC+2 MOV MOV MOV RMCS1(RO),$TMP1 ;GET DVA STATUS RMCS2(RO) .$TMPO :GET NED STATUS (SP)+ ,ERRVEC+2 ::POP STACK INTO ERRVEC+2 BIT #NED, $THPO g:non ;11 BEQ :60 70 78 1F ERROR WAS FOUND ;:PUSH ERRVEC ON STACK ::PUSH ERRVEC+2 ON STACK (SP)¢.ERRVEC ;:POP STACK INTO ERRVEC 3% JNO!! *NONEXISTENT DEVICE?? *NONEXISTENT DEVICE 38: BIT BNE ERROR BR #DVA,STHPY ‘98 112 7% :DEVICE AVAILABLE?? SYES!! ‘DEVICE NOT AVAILABLE 5$: CHP MOV MOV (SP)+,(SP)+ (SP)+.ERRVEC+2 (SP)+.ERRVEC :ADJUST STACK ::POP STACK INTO-ERRVEC+2 ::POP STACK INTO ERRVEC 78: ERROR JMP 113 $EOSP :BUS TIMEOUT (04 TRAP) 9%: 3608 ;;""""'""""""""'C"'l"""'l"".l""'..'.."""" g ST EEEEe 33 SEEEEEEEEELE o =0 VO NO WS WN—-O RURZ8S WO Wr WIN DRIVE TYPE TEST SeTEST 3 ;:.'l""""""'""""""""'."'.'..'.'."'."'l"""'.'l T1ST13: 001100 001276 001450 000003 001226 046660 w 007722 037516 #STACK,SP ;SCOPE CALL :START OF TEST SINITIALIZE STACK POINTER MOV MOV TSTQUE ,R1 #3,$TESTN :(R1) = DEVICE BEING TESTED ::SET TEST NUMBER IN APT MAIL BOX JSR N 000026 SCOPE NOP MOV MOV 001506 001507 001356 B8R NOP ERROR 007652 001356 38 2% ;G0 TO 28 IF NO ERROR - :RETURN HERE IF ERROR ERROR NUMBER DEF INED BY SUB MOVB #RMDT,GETINX BR ERROR CHP BEQ :RO=UNIBUS ADDRESS PC,CNTCLR 48 NOP 020024 $BASE , RO JMP MOVE MOV JSR :60 T0 48 IF ERROR WAS FOUND #200,GETINX+1 #5$,RMDTI PC,GET 38 SEQ 0078 -ERROR NUMBER DEF INED BY SUB JMP MOV 001174 - NOO §?v £ N -~ oo 000004 000006 -+ - g PECRPTCAAEE o (==l o =000000 =000 NN —000 % ONN & NN =N NN N 007540 e 000137 N NN SNNNN 104000 o 3579 MACY1 393(1052) ;SETUP GET INDEX TABLE :RMDT INPUT BUFFER = 5% 60 GET DRIVE TYPE ;60 TO 38 IF NO ERROR #SNGPRT,RMDT]1 5% :RETURN HERE IF ERROR :ERROR NUMBER SPECIFIED BY GET :SINGLE PORT RM03?? LYES!! . 1 ——— St CZRMOCO RMOS/2 fCYIL 'i‘os CIRMOC.P11 12-DEC-78 08:24 35 007656 007662 022737 001421 007672 007676 007702 001415 022737 001411 3662 3643 gg:g 007712 007720 007722 012737 104114 000137 3646 007726 024026 - — 3641 “‘7 007704 012737 024025 020024 024026 001356 cnp BEQ . — 001176 001200 032732 ¢ B 8 7 - m—— — PAGE 79 #DULPRT,RMDTI 5$ ;DUAL PORT RMO3?? YES'! #SNGPRT'R1T0, nuoil MOV FSNGPRT ,$TAP1 MOV ERROR JWP 48: — (nP BEQ CHP 8EQ 001356 5% #DULPRT !B1T0,RADT] 5¢ #DULPRT .$THP2 114 $EOSP :NOT AN RMO3 160 TO SUBPASS HANDLER. 58: ::'.'..".""""'"""".""'"""'.""..'.'..'."'l."".' 3648 SeTEST & 3649 3650 3651 3652 3653 3654 3655 3656 ;:2; — MACY11 son(losz) 04=JAN=79' 11:23 13 DRIVE TYPE TEST 7 007664 022737 020025 001356 38 39 3640 o A FORMAT ZEROS - 18 A 007726 007726 007730 007732 007736 007762 0077646 007754 000004 000240 012706 013700 013701 012737 001100 001276 001450 000004 001226 00775 012737 000000 001434 3662 3663 007770 007776 012737 012737 000000 177376 001432 001402 mOV "M #0 . RMOF O #<A0<24256.>41> ,RMUCO 3665 010012 010020 012737 012737 000062 0651064 001400 001174 MoV MOV #WH,RACS10 #2EROS , $TMPO 010036 010040 004737 036620 JSR PC . GENBUF 0100640 010064 010046 010050 010052 01005¢ 010060 004737 154130 000404 000240 104000 000137 034000 010060 010066 010072 010076 010102 012737 012702 112722 112722 112722 000005 001535 000006 000034 000032 010112 010116 112722 004737 000200 037766 0101264 000240 3659 3661 1574: A 007762 012737 000000 001406 010006 012737 3671 3672 3675 367« 3675 3676 3677 gg;g 3681 3682 3683 3685 3687 3688 010106 112722 3689 010122 000404 3690 MmOV MmOV 001176 MOV 208: #0 . RMDAO #BUF ONE , RMBAO :TRACK = SECTOR = 0 118 BIT FORMAT 2 + 256 WORDS :DATA BUFFER ADDRESS ‘WRITE HEADER AND DATA :USE ALL ZEROS DATA PATTERN #1,8THP :60 GENERATE DATA BUFFER :PREPARE DEVICE FOR DATA TRANSFER JSR PC,TSTPRP :PREPARE DEVICE FOR TEST 010526 000000 #STACK, SP $BASE ,RO TSTQUE ,R1 95, 8TESTN ;SCOPE CALL SSTART OF TEST SINITIALIZE STACK POINTER *RO=UNIBUS ADDRESS S(R1) = DEVICE BEING TESTED 1:SET TEST NUMBER IN APT MAIL BOX ;SETUP PARAMETERS FOR GENERATING DATA BUFFER mov #0,RMDCO :CYLINDER = 0 103564 001404 3667 010026 012737 000001 3298 108: SCOPE NOP MoV MoV MOV MOV 308 : 001400 .WORD BR NOP ERROR JMP 154130 308 ;TASK DESCRIPTOR ;60 TO 308 IF NO ERROR :RETURN HERE IF ERROR :ERROR # DEFINED BY TSTPRP SUBROUTINE ;60 TO 1808 IF ERROR WAS FOUND 1808 ;SETUP PARAMETERS AND EXECUTE SEEK TO GET DRIVE ON CYLINDER MOV MOV MOVB MOVB MOVB #SEEK ' GO,RMCS10 SPUTINX,R2 #RMDA, (R2)+ #RMDC.(R2)+ WRMOF . (R2)+ MOVB JSR #200,(R2)+ PC,PUT MOVB BR NOP ;CHANGE COMMAND TO SEEK ‘WRITE REGISTER INDEX TABLE #RMCST, (R2)+ 40$ :6G0 WRITE REGISTERS VIA PUT SUB :60 10 408 1F NO ERROR :RETURN MERE IF ERROR CZRMDCO RMO3/2 FCTNL TST 2 CZRMOC.PI 12-DEC-78 08:2¢4 3691 010126 gggz 010134 3692 3695 104000 010130 000137 010526 3696 3697 3698 3699 3700 3701 0101364 010140 010144 004737 004737 037432 040326 010144 004737 037516 3703 3706 010152 010154 000240 104000 ;;8? 010162 3702 3705 010150 000404 010156 000137 010526 010162 010166 010170 010172 0101764 010176 010202 004737 000405 000240 104000 004736 000137 045420 010526 3719 3720 3721 3722 3723 37264 010202 010210 010214 010220 0102264 010230 010234 012737 012702 112722 112722 112722 112722 004737 000063 001540 000002 000004 000000 000200 037766 3726 3727 010242 010244 000240 104000 g;gg 010252 3731 3732 3733 010252 010256 004737 004737 3735 3736 010264 010266 000240 104000 g;gs 010274 3740 37641 010274 004737 3743 3744 3745 010302 010306 010306 000240 104000 004736 3708 3709 3710 3711 3712 3713 3714 ;;}2 3717 3718 3725 010240 000404 3728 010246 000137 010526 373, 010262 000404 040326 037516 3737 010270 000137 010526 3742 010300 000405 040512 3746 010310 000137 010526 MACY11 30A(1052) 04=JAN-79 11:23 14 FORMAT ZEROS - 18 ERROR 40%: JMP 1808 c 7 PAGE 80 SEQ 0080 -ERROR DEF INED BY PUT SUB ;GO TO 180% IF ERROR WAS FOUND ;SETUP FOR READING STATUS AND THEN WAIT FOR SEEK TO COMPLETE 508: JSR JSR PC,GETSTS PC.TIMOUT ;GO READ SEEK STATUS JSR PC,GET :GO READ REGISTERS VIA GET SUB BR 60$ ;60 T0 608 IF NO ERROR JMP 1808 :GO TO 180% IF ERROR WAS FOUND NOP ERROR 608 : :SETUP FOR STATUS ‘WAIT FOR SEEK TO COMPLETE :RETURN HERE IF ERROR ERROR DEFINED BY GET SUB ;VERIFY THE RESULTS OF THE SEEK COMMAND JSR PC,SEKSTS :GO VERIFY RESULTS OF SEEK OPERATION BR 708 ;60 TO 708 IF NO ERROR NOP :RETURN HERE IF ERROR ERROR :ERROR # DEFINED BY SEKSTS SUBROUTINE JSR PC,a(SP)+ 160 BACK FOR MORE ERROR CHECKS NP 180% :60 TO 1808 IF ERROR WAS FOUND 708 : 001400 :SETUP AND EXECUTE WRITE HEADER AND DATA COMMAND MoV #WH'GO,RNCS10 ;LOAD WRITE HEADER AND DATA MOV MOVB MOVB MOVB MOVB JSR BR NOP ERROR 80$: JMP #PUTINX+3,R2 #RMWC, (R2)+ #RMBA.(R2)+ FRMCS|,(R2)+ #200,(R2)+ PC,PUT SEXTEND REGISTER INDEX TABLE :GO WRITE REGISTERS VIA PUT SUB 80$ :60 TO 80$ IF NO ERROR 1808 ;GO TO 1808 IF ERROR WAS FOUND :RETURN HERE 1F ERROR ‘ERROR DEF INED BY PUT SUB :WAIT FOR WRITE COMMAND TO COMPLETE AND READ STATUS JSR PC,TIMOUT :WAIT FOR COMMAND TO COMPLETE JSR PC.GET :GO READ REGISTERS VIA GET SUB BR 90$ ;60 TO 908 IF NO ERROR JMP 1808 ;GO TO 1808 IF ERROR WAS FOUND NOP ERROR 908 : ;RETURN HERE IF ERROR “ERROR DEFINED BY GET SUB ;VERIFY RESULTS OF WRITE COMMAND JSR PC,PRIERR ;60 CHECK FOR PRIMARY ERRORS BR NOP ERROR JSR JMP 1008 PC,A(SP)+ 1808 ;60 T0 1008 IF NO ERROR :RETURN MERE IF ERROR :ERROR # DEFINED BY PRIERR SUBROUTINE 160 BACK FOR MORE ERROR CHECKS ;60 TO 1808 IF ERROR WAS FOUND c%zaggoRMO3/2 FCTNL TST 2 11 12-DEC-78 08:24 MACYT1 30A(1052) O04=JAN-79 11:23 14 FORMAT ZEROS - 18 3;2; 8‘8?12 004737 053016 3749 010320 000405 3753 010330 000137 010526 004737 041344 3750 3751 3752 010322 010326 010326 3754 3755 010334 010334 3757 3758 3759 3760 3761 3762 3763 3764 3765 3766 3767 010342 010344 010346 010350 010354 010354 010362 010370 3769 3770 010376 010400 g;;g 010406 3756 010340 000240 104000 004736 000405 000240 104000 004736 000137 010526 012737 012737 004737 000073 106570 037766 3768 010376 000404 3771 000137 010526 3776 010406 010612 004737 004737 040326 037516 3778 3779 010620 010422 000240 104000 3774 3775 010402 000240 104000 3777 010416 000404 3780 010426 g;g; 010430 000137 010526 3783 3784 010430 004737 1786 010436 000240 3785 010434 000405 3787 3788 010440 010442 040512 e 1108: 001400 001404 NOP ERROR JSR PC,a(SP)+ :RETURN MERE 1r ERROR :ERROR # DEFINED BY DTASTS SUBROUTINE :G0 BACK FOR MORE ERROR CMECKS JSR PC,SECERR ;60 CHECK FOI secoquav ERRORS PC,a(SP)+ 1808 ;RETURN HERE 1r ERROR :ERROR # DEFINED BY SECERR SUBROUTINE 160 BACK FOR MORE ERROR CHECKS ;G0 TO 1808 IF ERROR WAS FOUND JAP NOP ERROR JSR JMP MOV MOV JSR BR NOP ERROR 1308: JAP 3790 3791 3792 3793 3796 3795 010450 010450 010454 010456 010660 010462 004737 000405 000240 104000 004736 053016 798 010670 004737 041344 3800 3801 3802 010476 010500 010502 000240 104000 004736 S;gg 3}82?3 000137 010526 180s 1208 :60TO 1108 IF NO ERROR ;60 TO 1808 IF ERROR WAS FOUND ;60TO 1208 IF NO ERROR #RH'GO,RNCS10 #BUF TWO, RMBAO PC,PUT ;READ HEADER & DATA COMMAND :CHANGE BUS ADDRESS :6GO WRITE REGISTERS VIA PUT SUB 1308 ;60 TO 13508 IF NO ERROR 1808 ;GO TO 1808 IF ERROR WAS FOUND :RETURN HERE IF ERROR "ERROR DEF INED BY PUT SUB sWAIT FOR READ TO COMPLETE AND GET STATUS JSR PC,TIMOUT sWAIT FOR READ TO COMPLETE JSR BR NOP ERROR 1408 : JMP PC.GET ;60 READ REGISTERS VIA GET SUB 1408 ;G0 TO 1408 IF NO ERROR 1808 ;GO TO 1808 IF ERROR WAS FOUND ;RETURN HERE IF ERROR :ERROR DEFINED BY GET SuB :VERIFY THE RESULTS OF READ OPERATION JSR PC,PRIERR ;60 CHECK FOR annAav ERRORS BR 1508 ERROR JSR PC,a(SP)* NOP 3789 010444 000137 010526 1168 JREAD HEADER AND DATA FOR SECTOR JUST WRITTEN 104000 004736 3799 010474 000405 ;G0 VERIFY VERIF aesUL rs OFF DATA TRANSFER DA BR BR 1208: SEQ 0081 PC,DTASTS J SR 7 PAGE 81 1508: % JMP 1808 :60 TO 1508 IF NO ERROR ;RETURN HERE IF ERROR :ERROR # DEFINED BY PRIERR SUBROUTINE 160 BACK FOR MORE ERROR CHECKS ;60 TO 1808 IF ERROR WAS FOUND JSR BR NOP ERROR JSR PC,DTASTS 1608 PC,a(SP)+ ;60 VERIFY nesuurs OF DATA TRANSFER :60 T0 1608 IF NO ERROR :RETURN usne xr ERROR :ERROR # DEFINED BY DTASTS SUBROUTINE 160 BACK FOR MORE ERROR CHECKS JSR PC,SECERR ;60 CHECK FOR SECONDARY ERRORS PC,a(SP)+ :RETURN HERE IF ERROR :ERROR # DEFINED BY SECERR SUBROUTINE G0 BACK FOR MORE ERROR CMECKS JMP B8R NOP ERROR JSR 1808 1708 ;60 70 1808 IF ERROR WAS FOUND :60 T0 1708 IF NO ERROR CZW(OPRNSIZ FCINL TST 2 CZIRMOC.P11 12-DEC-78 08:24 3803 3804 3805 3806 3807 3808 3809 3810 3811 3812 010504 010510 000137 010526 010510 010514 010516 010520 010522 010526 004737 103564 104570 000402 000240 104000 037064 gg:z 010526 MACYT 3(1)2(1052) 1708 : JAP E 7 PAGE 82 1808 SEQ 0082 :60 TO 1808 IF ERROR WAS FOUND :VERIFY " ATA JSR PC, CMPBUF .WORD BUF ONE .WORD BUF TWO BR 1808 NOP ERROR 1808 : ”15 ;GO COMPARE WRITE, READ DATA BUFFERS :STARTING ADDRESS OF WRITE BUFFER :STARTING ADDDRESS OF READ BUFFER :60 T0 1808 IF NO ERROR :RETURN HERE IF ERROR :ERROR # DEFINED BY CMPBUF SUBROUT INE ; :'.""""'""""""""""""""""'.'."'Q".'.".I"' 3816 SHTEST S ”‘7 FORMAT ZEROS - 16 ; :'t"'."""'"""""'t't""'.""'.'l""".'Q"'lt'.'l."' 3818 3819 3820 3821 3822 3823 3824 ;ggg 010526 010526 010530 010532 010536 010542 010546 010554 000004 000240 012706 013700 013701 012737 001100 001276 001450 000005 3827 3828 3829 3830 3831 3832 3833 383. 3835 3836 010554 010562 010570 010576 010606 010612 010620 010626 010634 012737 012737 012737 012737 012737 012737 012737 012737 004737 000000 000000 010000 177376 103564 000062 0651064 000001 036620 3839 3840 3841 3842 3843 3866 3845 gg:g 010640 010646 010646 010650 010652 010656 010660 004737 154130 000404 000240 104000 000137 034000 3850 3851 3852 3853 010660 010666 010672 010676 010702 012737 012702 112722 112722 112722 000005 001535 000006 000034 000032 3855 3856 010712 010716 112722 004737 000200 037766 3858 01072¢ 000240 fifi 010640 3848 3849 04=JAN-79 11:23 FORMAT ZEROS - 18 1515: 001434 001406 001432 001402 001404 001400 001174 001176 108: FSTACK, SP $BASE ,R0 TSTQUE ,R1 #5,8TESTN :SCOPE CALL :START OF TEST SINITIALIZE STACK POINTER :RO=UNIBUS ADDRESS :(R1) = DEVICE BEING TESTED ::SET TEST NUMBER IN APT MAIL BOX ;SETUP PARAMETERS FOR GENERATING DATA BUFFER MoV #0,RMDCO ;CYLINDER = 0 MOV #0.RMDAO :TRACK = SECTOR = 0 MOV #FAT16,RMOFO 116 BIT FORMAT MOV #<AC<24256.>41> RMUCO ;2 + 256 WORDS MOV #BUF ONE , RMBAO :DATA BUFFER ADDRESS MOV #WH,RNCS10 :WRITE HEADER AND DATA MOV #1EROS,STAPO :USE ALL ZEROS DATA PATTERN MOV #1,$THP JSR PC . GENBUF ;60 GENERATE DATA BUFFER 208: ;PREPARE DEVICE JSR LWORD BR NOP ERROR JHP 308: 011326 385¢ 010706 112722 000000 3857 010722 000404 001226 SCOPE NOP MOV MOV MoV MOV 001400 FOR DATA TRANSFER PC,TSTPRP :PREPARE DEVICE FOR TEST 154130 ;TASK DESCRIPTOR 308 :60 TO 308 IF NO ERROR ;RETURN HERE IF ERROR :ERROR # DEFINED BY TSTPRP SUBROUTINE 1808 ;60 TO 1808 IF ERROR WAS FOUND- :SETUP PARAMETERS AND EXECUTE SEEK TO GET DRIVE ON CYLINDER MOV #SEEK ' GO,RMCS10 ;CHANGE COMMAND TO SEEK MOV MOVB MOVB MOVB PPUTINX,R2 #RMDA, (R2)+ #RMDC,(R2)+ #RMOF . (R2)+ MOVEB JSR #200,(R2)+ PC,PUT MOVB BR NOP ‘WRITE REGISTER INDEX TABLE #RMCST, (R2)+ 40% :GO WRITE REGISTERS VIA PUT SUB ;60 10 408 IF NO ERROR ;RETURN MERE IF ERROR CZRMDCO RMO3/2 FCTNL TST 2 CZRMOC.P11 3859 3860 010726 12-DEC-78 08:24 104000 010730 000137 011326 ggg; 010734 3863 3864 3865 31866 3867 3868 3869 010734 010740 010744 004737 004737 037432 040326 010744 004737 037516 3871 3872 010752 010754 000240 104000 3870 010750 000404 3873 010756 000137 011326 3876 3877 3878 3879 3880 3881 3882 ;ggz 010762 010766 010770 010772 010774 010776 011002 004737 000405 000240 104000 004736 000137 045420 gg;; 3885 3886 3887 3888 010762 3889 012737 012702 112722 112722 000063 001540 000002 000004 3891 3892 011030 011034 112722 004737 000200 037766 3894 3895 011042 011044 000240 104000 ;33; 011052 3899 3900 3901 011052 011056 004737 004737 3903 3904 011064 011066 000240 104000 ;ggg 011074 3908 3909 011074 004737 3911 3912 3913 011102 011106 011106 000240 104000 004736 112722 3893 011040 000404 040326 037516 3905 011070 000137 011326 3910 011100 000405 040512 3914 011110 000137 011326 04=JAN-79 408 : 11:23 FORMAT ZEROS - 16 ERROR JAP 1808 F 7 PAGE 83 SEQ -ERROR DEF INED BY PUT SUB ;GO 1O 180% IF ERROR WAS FOUND ;SETUP FOR READING STATUS AND THEN WAIT FOR SEEK TO COMPLETE JSR PC,GETSTS :SETUP FOR STATUS JSR PC.TIMOUT :WAIT FOR SEEK TO COMPLETE 508: ;G0 READ SEEK STATUS JSR PC,GET 608 : :GO READ REGISTERS VIA GET SUB BR 60% :60 T0 608 IF NO ERROR JMP 1808 ;GO TO 180% IF ERROR WAS FOUND NOP ERROR :RETURN HERE IF ERROR :ERROR DEFINED BY GET SuB sVERIFY THE RESULTS OF THE SEEX COMMAND JSR PC,SEKSTS ;60 VERIFY RESULTS OF SEEK OPERATION BR 708 ;60 TO 708 IF NO ERROR NOP :RETURN HERE IF ERROR ERROR :ERROR # DEFINED BY SEKSTS SUBROUTINE JSR PC,a(SP)+ ;G0 BACK FOR MORE ERROR CHECKS JMP 1808 ;60 TO 1808 IF ERROR WAS FOUND 708: 001400 ;SETUP AND EXECUTE WRITE HEADER AND DATA COMMAND MOV #WH'GO,RNCS10 ;LOAD WRITE HEADER AND DATA MOV SPUTINX+3,R2 CEXTEND REGISTER INDEX TABLE MOVB #RMWC,(R2)+ MOVE 000000 3896 011046 000137 011326 3902 011062 000404 5 011326 011002 011010 011014 011020 3890 011026 MACYTT 30A(1052) MOVB MOVB JSR BR NOP ERROR 80$: JMP #RMBA.(R2)+ FRMCST, (R2)+ #200, (R2)+ PC,PUT :GO WRITE REGISTERS VIA PUT SUB 80$ :60 T0 808 IF NO ERROR 1808 ;GO TO 180% IF ERROR WAS FOUND sRETURN HERE IF ERROR “ERROR DEF INED BY PUT SUB :WAIT FOR WRITE COMMAND TO COMPLETE AND READ STATUS JSR PC,TIMOUT sWAIT FOR COMMAND TO COMPLETE JSR PC,GET GO READ REGISTERS VIA GET SUB BR 90$ :60 T0 908 1F NO ERROR JMP 1808 ;60 TO 1808 IF ERROR WAS FOUND NOP ERROR 908 : :RETURN MERE IF ERROR "ERROR DEFINED BY GET SUB :VERIFY RESULTS OF WRITE COMMAND JSR PC,PRIERR :60 CHECK FOR PRIMARY ERRORS BR NOP ERROR JSR JMP 1008 PC,a(SP)+ 1808 ;60 T0 1008 IF NO ERROR :RETURN HERE IF ERROR “ERROR # DEFINED BY PRIERR SUBROUTINE 160 BACK FOR MORE ERROR CHECKS :60 TO 1808 IF ERROR WAS FOUND - 3 110%: 041344 PININ) = i s 001404 SRRSGRE NN 040326 037516 NOP ERROR JSR PC,a(SP)+ :ERROR # DEFINED RY DTASTS SUBROUTIN" ;60 BACK FOR MORE tERROR CHECKS JSR PC,SECERR JMP JMP FREJFVESRNSERE 040512 011326 053016 MOV JSR BR 130%: :WAIT ERROR JMP NNNN o sr0O0 041344 104000 004736 ;RETURN NERE IF _ERROR 1808 1208 G0 TO 1808 IF ERROR WAS FOUND Hy CNECK FOR SECONDARY ERRORS GO TO 1208 IF NO ERROR :RETURN HERE 1F _ERROR PC,a(SP)¢ 180% :ERROR # DEF INED BY SECERR SUBROUTINE :6GO BACK FOR MORE ERROR CHECKS ;60 TO 180% IF ERROR WAS FOUND JSR JSR BR ERROR 140%: #BUF TWO,RMBAOD PC,PUT : CHANGE BUS ADDRESS :60 WRITE REGISTERS VIA PUT SUB 1308 :60 TO 1308 IF NO ERROR 180% ;G0 TO 180% IF ERROR WAS FOUND ;RETURN HERE 1F ERROR : ERROR DEFINED BY PUT SuB FOR READ TO COMPLETE AND GET STATUS JMP PC, TIMOUT PC,GET :WAIT FOR READ TO COMPLETE 1408 ;GO READ REGISTERS VIA GET SuB ;60 TO 1408 IF NO ERROR 180% ;60 TO 1808 IF ERROR WAS FOUND ;RETURN HERE IF ERROR ;ERROR DEF INED BY GET SuB ;VERIFY THE RESULTS OF READ OPERATION PC,PRIERR JSR :G0 CHECK FOR PRIMARY ERRORS 150% BR :60 TO 1508 IF NO ERROR NOP ;RETURN HERE IF ERROR ERROR :ERROR # DEFINED BY PRIERR SUBROUTINE PC,a(SP)+ JSR ;G0 BACK FOR MORE ERROR CHECKS JMP 1808 ;60 TO 1808 IF ERROR WAS FOUND 150%: JSR BR NOP 011326 PC,DTASTS :READ HEQSER AND DATA FOR SECTOR JUST WRITTEN #RH!GO,RMCS10 sREAD HEADER & DATA COMMAND NOP 011326 SEQ 0084 ;60 VERlFY RESULTS OF DATA TRANSFER T0 1108 IF NO ERROR NOP 011326 7 PAGE 84 1108 JSR NOP ERROR JSR 120%: 1: 23 FORMAT ZEROS - BR 011326 104570 04=-JAN-79 BR 011326 037766 3?2(1052) : 1008 053016 Bes i sfOo00SNVO RACYTY 000073 001400 &R8INIXYK e 004737 000405 8828 s g338 orsrNOSS~ il D el o i i i D s e oo NN NN N 8 ~N o 4 i D D el el i e i i s D D s s e Sy - ® JEOR R B b S o o e — — —d b D o D D — — il — I p——— i cooo000o =lelelelelolelelelelelelolololodetele) o 2 A~ § D b el I OCOO0O0O0OO0O % e 0 ~ ~ w e e ) e O0O0O0O0O0O0O0O0O0O0O0O0O000O CZIRACCO RMO3/2 FCTNL T1ST 2 12-DEC-78 08:24 CZRMDC.P11 160%: PC,DTASTS 1608 ;GO VERIFY RESULTS OF DATA TRANSFER ;60 TO 1608 IF NO ERROR :RETURN HERE lF ERROR ;ERROR # DEFINED BY DTASTS SUBROUTINE ERROR JSR PC,a(SP)+ 180% :GO BACK FOR MORE ERROR CHECKS ;60 TO 1808 IF ERROR WAS FOUND JSR PC,SECERR ;60 CHECK FOR SECONDARV ERRORS JMP BR NOP ERROR JSR 1708 PC,a(SP)+ : 60 ;RETURN HERE 1708 1F NO ERROR IF ERROR ;ERROR # DEFINED BY SECERR SUBROUTINE ;GO BACK FOR MORE ERROR CHECKS CZRMDCO RMO3/2 FCTNL TST 2 12-DEC-78 08:24 CZRMDC.P11 3971 3972 3973 3974 3975 3976 3977 3978 3979 3980 3981 3982 3983 3984 3985 3986 3987 3988 3989 3990 3991 3992 3993 3994 3995 3996 3997 3998 3999 4000 4001 4002 4003 40064 4005 4006 4007 4008 4009 4010 4011 4012 4013 4014 4015 4016 4017 4018 4019 4020 4021 4022 4023 4024 025 4026 011304 011310 000137 011326 011310 011314 011316 011320 011322 011324 011326 004737 103564 104570 000402 000240 104000 037064 MACY11 30A(1052) 04=-JAN-T79 11;23 N { FORMAT ZEROS JAP 170%: :VERIFY DATA JSR LWORD "WORD BR NOP e H 7 PAGE 85 1808 SEQ 0085 :60 TO 1808 IF ERROR WAS FOUND PC, CMPBUF BUFONE BUF TWO 1808 ;GO COMPARE WRITE, READ DATA BUFFERS :STARTING ADDRESS OF WRITE BUFFER :STARTING ADDDRESS OF READ BUFFER :60 T0 1808 IF NO ERROR :RETURN HERE ERROR IF ERROR *ERROR # DEFINED BY CMPBUF SUBROUT INE ;;""."'.'l'.'"""'""'"""""""'.."'."'I.'.."'.."' SeTEST 6 ZERO FILL TEST ;:"""'Q."""""""'"0"."""'.'.'.'Q'O'"."".""Q..Q 011326 011326 011330 011332 011336 011322 011346 011354 T€76: 000004 000240 012706 013700 013701 012737 ' SCOPE NOP MOV 011356 011362 011370 011376 011406 011412 011420 011426 011434 011440 012737 012737 012737 012737 012737 012737 012737 012737 004737 011440 011444 011446 011450 011452 011456 011460 004737 154130 000404 000240 104000 000137 034000 011460 011466 011472 011476 011502 011506 011512 011516 011522 011524 012737 012702 112722 112722 112722 112722 112722 004737 000404 000240 000005 MOV MOV MOV #STACK,SP $BASE , RO TSTQUE ,R1 96, 8TESTN :START OF TEST SINITIALIZE STACK POINTER :RO=UNIBUS ADDRESS :(R1) = DEVICE BEING TESTED 1:SET TEST NUMBER IN APT MAIL BOX 001226 - 001434 001406 001432 :SETUP PARAMETERS FOR GENERATING DATA BUFFER MOV LRMDCO :CYLINDER = 0 MoV #0.RMDAO :TRACK = SECTOR = 0 MOV #EMT16,RNOFO 116 BIT FORMAT 001402 001404 001400 001174 001176 MOV = MoV MOV MOV MOV JSR < (<24256.241> RMUCO #BUF ONE , RMBAO #UH,RACS10 #1EROS , $TMPO #1,8THP1 PC . GENBUF :2 + 256 WORDS :DATA BUFFER ADDRESS :WRITE HEADER AND DATA :USE ALL ZEROS DATA PATTERN ;60 GENERATE DATA BUFFER :PREPARE DEVICE FOR DATA TRANSFER JSR LWORD BR NOP e 012142 001535 000006 000034 000032 000000 000200 037766 :SCOPE CALL 001400 ERROR JMP PC,TSTPRP 154130 308 :PREPARE DEVICE FOR TEST ;TASK DESCRIPTOR ;60 TO 308 IF NO ERROR :RETURN MERE IF ERROR "ERROR # DEFINED BY TSTPRP SUBROUTINE 1808 ;60 TO 1808 IF ERROR WAS FOUND ;SETUP PARAMETERS AND EXECUTE SEEK TO GET DRIVE ON CYLINDER MOV #SEEK !GO, RMCS10 :CHANGE COMMAND TO SEEK MOV #PUTINX,R2 ‘WRITE REGISTER INDEX TABLE MOVB #RMDA, (R2)+ MOVB #RMDC.(R2)+ MOVB #RMOF . (R2)+ MOVB MOVB JSR BR NOP #RMCST, (R2)+ #200,(R2)+ PC,PUT 0% .60 WRITE REGISTERS VIA PUT SUB :60 T0 408 1F NO ERROR :RETURN WERE IF ERROR CZRMDCO RMO3/2 FCTNL TST 2 CZRMDC.P11 12-DEC-78 08:24 4027 011526 :853 011534 4028 104000 011530 000137 012142 4031 4032 4033 4034 4035 4036 4037 011534 011540 011544 004737 004737 037432 040326 011544 004737 037516 4039 4040 011552 01155¢ 000240 104000 4038 011550 4061 011556 :8:‘.'% 011562 L0446 4045 4046 4047 4048 4049 4050 2823 000404 000137 004737 000405 000240 104000 004736 000137 045420 4057 4058 4059 4060 4061 011602 011610 011616 011622 011626 011632 011636 011642 012737 012737 012702 112722 112722 112722 112722 004737 177776 000063 001540 000002 000004 000000 000200 037766 4063 4064 011650 011652 000240 104000 4062 4065 011646 011656 :82? 011660 000404 012142 040326 037516 011660 011664 004737 004737 4072 4073 011672 011674 000240 104000 :8;2 011702 4077 4078 011702 004737 4080 4081 4082 011710 011712 011714 000240 104000 004736 4071 4074 011670 000404 011676 000137 012142 4079 011706 000405 408: 040512 JMP 1808 1 7 PAGE 86 SEQ 0086 :ERROR DEFINED BY PUT SuB ;GO TO 180% IF ERROR WAS FOUND sSETUP FOR READING STATUS AND THEN WAIT FOR SEEK TO COMPLETE JSR PC,GETSTS ;SETUP FOR STATUS JSR PC,TIMOUT :WAIT FOR SEEK TO COMPLETE 508: ;G0 READ SEEK STATUS JSR PC,GET 608 : :GO READ REGISTERS VIA GET SUB B8R 60% :60 70 608 1F NO ERROR JMP 1808 ;GO 10 1808 IF ERROR WAS FOUND NOP ERROR :RETURN MERE IF ERROR ERROR DEFINED BY GET SUB JVERIFY THE RESULTS OfF THE SEEK COMMAND 012142 000137 4068 4069 4070 ERROR 012142 011562 011566 011570 011572 011574 011576 011602 4053 4054 4055 4056 MACYT1 30A(1052) 04=JAN-79 11:23 16 ZERO FILL TEST 708: 001402 001400 JSR BR NOP ERROR JSR JMP PC,SEKSTS 708 PC,a(SP)+ 180% ;GO VERIFY RESULTS OF SEEK OPERATION :60 TO 708 IF NO ERROR :RETURN MERE IF ERROR :ERROR # DEFINED BY SEKSTS SUBROUTINE ;60 BACK FOR MORE ERROR CHECKS :60 TO 1808 IF ERROR WAS FOUND ;SETUP AND EXECUTE WRITE HEADER AND DATA COMMAND MOV #<*C241>,RMUCO ;FORMAT PARTIAL SECTOR MOV #VN'GO,RACS10 :LOAD WRITE HEADER AND DATA MOV FPUTINX+3,R2 :EXTEND REGISTER INDEX TABLE MOVB MOVB MOVB MOVE JSR BR NOP ERROR 808 : JMP FRMWC, (R2)+ #RMBA.(R2)+ #RMCST,(R2)+ #200,(R2)+ PC,PUT : :60 WRITE REGISTERS VIA PUT SuB 80% ;60 TO 808 IF NO ERROR 1808 ;GO TO 1808 IF ERROR WAS FOUND :RETURN MERE IF ERROR ‘ERROR DEF INED BY PUT SUB :WAIT FOR WRITE COMMAND TO COMPLETE AND READ STATUS JSR PC,TIMOUT sWAIT FOR COMMAND TO COMPLETE JSR PC,GET :GO READ REGISTERS VIA GET SUB BR 90% :60 T0 908 1F NO ERROR JMP 1808 ;GO TO 1808 IF ERROR WAS FOUND NOP ERROR 90$: :RETURN MERE 1F ERROR “ERROR DEFINED BY GET SUB ;VERIFY RESULTS OF WRITE COMMAND JSR PC,PRIERR ;60 CHECK FOR PRIMARY ERRORS BR NOP ERROR JSR 1008 PC.a(SP)+ :60 TO 1008 IF NO ERROR :RETURN HERE IF ERROR :ERROR # DEFINED 3Y PRIERR SUBROUTINE 160 BACK FOR MORE ERROR CHECKS B SIS = SRS 000137 NNNNNNYNY JMP 180% PC,SECERR 1208 PC,a(SP)+ 180% 120%: 001402 001400 001404 012142 053016 MOV MOV MOV JSR BR 130%: ERROR JWP 004737 000405 000240 041344 SEQ 0087 ;60 VERIFY RESULTS OF DATA TRANSFER ;60 TO 1108 IF NO ERROR ;RETURN HERE IF ERROR ;ERROR # DEFINED BY DTASTS SUBROUTINE ;G0 BACK FOR MORE ERROR CHECKS ;60 TO 180% IF ERROR WAS FOUND ;60 CHECK FOR SECONDARY ERRORS ;60 TO 1208 IF NO ERROR ;RETURN HERE IF ERROR ;ERROR # DEFINED BY SECERR SUBROUT!NE ;G0 BACK FOR MORE ERROR CHECKS ;60 TO 180% IF ERROR WAS FOUND #<*(<24256.>41> ,RMUCO sREAD A FULL SECTOR #RH'GO,RMCS10 sREAD HEADER & DATA COMMAND #BUF TWO,RMBAD s CHANGE BUS ADDRESS PC,PUT :60 WRITE REGISTERS VIA PUT SuB 1308 :60 T0 1508 IF NO ERROR 1808 ;G0 TO 1808 IF ERROR WAS FOUND ;RETURN HERE IF ERROR : ERROR DEF INED BY PUT SuB :WAIT FOR READ T O COMPLETE AND GET STATUS PC,TIMOUT JSR sWAIT FOR READ TO COMPLETE PC,GET JSR ;GO READ REGISTERS VIA GET SuB BR 1408 ;60 TO 1408 IF NO ERROR NOP ;RETURN HERE IF ERROR ERROR ;ERROR DEF INED BY GET SuB JWP 1808 :60 TO 1808 IF ERROR WAS FOUND 140%: :VERIFY THE RESULTS OF READ OPERATION PC,PRIERR JSR ;G0 CHECK FOR PRIMARY ERRORS 1508 BR :60 TO 1508 IF NO ERROR 150%: PC,a(SP)+ JSR PC,DTASTS JMP BR 160%: ;RETURN HERE NOP ERROR JSR NOP 012142 7 PAGE 87 sREAD HEADER AND DATA FOR SECTOR JUST WRITTEN g 040512 J ;60 TO 180% IF ERROR WAS FOUND 1808 PC,DTASTS 1108: o — o o ~N ZERO FILL TEST NOP 040326 037516 11:23 PC,(SP)* 012142 012142 ~oRR8 o — ~N 04=JAN-79 1108 041344 012142 (=l=1=] il et D W=D il il i : 1008 012142 000073 104570 037766 — 16 012142 177376 NV MACY11 30A(1052) 053016 O VAVIWASS &~ oSN OONN e i i A D e § e e o D D i O OO0O0O0O0O0O0O0O0O0O0O0OOO0O CIRMDCO RMO3/2 FCTNL TST 2 12-DEC-78 08:24 CZRROC.PN 1808 1608 ERROR JSR PC,a(SP)+ JSR PC,SECERR JMP BR NOP 1808 1708 IF ERROR ;ERROR # DEFINED BY PRIERR SUBROUTINE :60 BACK FOR MORE ERROR CHECKS ;60 TO 180% IF ERROR WAS FOUND .60 VERIFY RESULTS OF DATA TRANSFER ;60 TO 1608 IF NO ERROR ;RETURN HERE IF ERROR :ERROR # DEFINED BY DTASTS SUBROUTINE ;60 BACK FOR MORE ERROR CHECKS :60 TO 1808 IF ERROR WAS FOUND ;G0 CHECK FOR SECONDARY ERRORS ;60 TO 170% IF NO ERROR :RETURN MERE 1F ERROR CZRMDCO IHOSIZ FCINL TST 2 CZRMDC.P11 12-DEC-78 08:24 4139 4140 012114 012116 4162 6143 6144 4145 4146 41647 012120 012124 000137 012142 012126 012130 012132 004737 103564 104570 037064 4149 4150 :}23 012136 012140 012142 000240 104000 41641 104000 004736 RACY11 30A(1052) 04=JAN-79 11:23 16 ZERO FILL TEST : 012142 012142 012144 012146 012152 012156 012162 012170 001100 001276 001450 000007 4168 4169 4170 171 4172 4173 L1764 :};2 012170 012176 01220% 012212 012220 012226 01223 012242 012250 012254 012737 012737 012737 012737 012737 012737 012737 012737 004737 000000 000000 010000 177376 103564 000062 0651064 000001 036620 6177 4178 01225 004737 034000 4179 4180 4181 4182 4183 233? 4186 4187 4188 4189 4190 PC, CMPBUF BUFONE BUF TWO ;60 COMPARE WRITE, READ DATA BUFFERS :STARTING ADDRESS OF WRITE BUFFER :STARTING ADDDRESS OF READ BUFFER 012260 012262 012264 012266 012270 012274 012276 012302 012306 012312 4191 012316 4193 012326 4192 012322 154130 000404 000240 104000 000137 012737 012702 112722 112722 112722 001226 001434 001406 001432 001402 001404 001400 001174 001176 NOP ERROR 'VEST 7 000005 001535 000006 000034 000032 000200 4194 012332 004737 037766 180s 1808 ;60 70 1808 IF ERROR WAS FOUND ;60 TO 1808 IF NO ERROR :RETURN HERE IF ERROR :ERROR # DEFINED BY CMPBUF SUBROUT INE R R e Yy FORMAT CHECK ZEROS = 16 '"..C"Q'"""'t"'"""""""t."t'l..'!.""t't.tt.t"'. 108: SCOPE NOP MoV MOV MOV MOV #STACK, SP $BASE , RO TSTQUE ,R1 #7,8TESTN :SCOPE CALL JSTART OF TEST SINITIALIZE STACK POINTER :RO=UNIBUS ADDRESS :(R1) = DEVICE BEING TESTED ::SEI TEST NUMBER IN APT MAIL BOX sSETUP PARAMETERS FOR GENERATING DATA BUFFER MoV #0,RMDCO ;CYLINDER = 0 MOV #0.RMDAO :TRACK = SECTOR = 0 208: MOV MOV MoV MOV MoV MOV JSR #FRT16,RMOFO #<A(<24256.>41> ,RMWCO #BUF ONE , RMBAO #WH ,RRCS10 #1EROS , $TMPO #1,8TAP PC,GENBUF 116 BIT FORMAT :2 + 256 WORDS :DATA BUFFER ADDRESS :WRITE HEADER AND DATA :USE ALL ZEROS DATA PATTERN ;G0 GENERATE DATA BUFFER ;PREPARE DEVICE FOR DATA TRANSFER JSR PC,TSTPRP :PREPARE DEVICE FOR TEST 012716 112722 000000 112722 JAP R TST7 000004 000240 012706 013700 013701 012737 4165 4166 4167 :VERIFY DATA JSR .WORD .WORD A 6154 L4156 4157 6158 4159 4160 4161 6162 2:22 :ERROR # DEFINED BY SECERR SUBROUTINE 160 BACK FOR MORE ERROR CMECKS 1808 : ‘lss SEQ 0088 PC,a(SP)+ B8R 4153 7 PAGE 88 ERROR JSR 1708 : 4148 012136 000402 K 308 : 001400 LWORD BR NOP ERROR JMP 154130 308 ;TASK DESCRIPTOR 2608 ;60 TO 308 IF NO ERROR :RETURN HERE IF ERROR sERROR # DEFINED BY TSTPRP SUBROUTINE ;60 TO 2608 IF ERROR WAS FOUND ;SETUP PARAMETERS AND EXECUTE SEEK TO GET DRIVE ON CYLINDER MOV MOV MOVB MOVB #SEEK'GO,RMCS10 #PUTINX,R2 #RMDA, (R2)+ #RMDC.(R2)+ MOvB #RMCST, (R2)+ MOVB MOVB JSR :CHANGE COMMAND TO SEEK ‘WRITE REGISTER INDEX TABLE #RMOF . (R2)+ #200,(R2)+ PC,PUT ;60 WRITE REGISTERS VIA PUT SUB CZRMDCO RMO3/2 FCTNL TST 2 CIRMDC.P11 12-DEC-78 08:24 MACY1 3?;(1052) 4195 012336 000404 B8R 4196 4197 4198 :538 012340 012342 012344 0123<0 000240 104000 000137 012716 4201 4202 012350 004737 037432 4203 4204 4205 4206 012354 012360 004737 012360 004737 4209 4210 6211 :g;g 012366 012370 012372 012376 000240 104000 000137 4220 :55; 012376 012402 012406 012406 012410 0126412 012416 004737 000405 000240 104000 004736 000137 012716 4223 42264 4225 4226 4227 0126416 012426 012430 0126436 012737 012702 112722 112722 000063 001540 000002 000004 4229 4230 01244% 012450 112722 004737 000200 037766 4232 4233 423 :ggz 012456 012460 0126462 012466 000240 104000 000137 012716 040326 037516 4214 4215 4216 4217 4218 4219 012364 4228 012440 4231 4237 012454 000404 004737 004737 4241 4242 4243 2522 012500 012502 0125064 012510 000240 104000 000137 012716 4247 012510 004737 040512 4249 4250 012516 012520 000240 104000 4246 4248 012514 000405 NOP ERROR JAP 408 2608 JSR SEQ 0089 :60 TO 408 iF NO ERROR :RETURN WERE IF ERROR ‘ERROR DEF INED BY PUT SUB ;GO TO 2608 IF ERROR WAS FOUND PC.TIMOUT ;60 READ SEEK STATUS JSR PC,GET BR : 608 : NOP ERROR JMP 60$ 2608 :WAIT FOR SEEK TO COMPLETE :GO READ REGISTERS VIA GET SUB :60 T0 608 IF NO ERROR :RETURN HERE IF ERROR :ERROR DEFINED BY GET SUB ;G0 TO 2608 IF ERROR WAS FOUND :VERIFY THE RESULTS OF THE SEEK COMMAND JSR PC,SEKSTS :60 VERIFY RESULTS OF SEEK OPERATION BR 708 :60 TO 708 IF NO ERROR NOP :RETURN HERE IF ERROR ERROR :ERROR # DEFINED BY SEKSTS SUBROUTINE JSR PC,a(SP)+ 16O BACK FOR MORE ERROR CHECKS 045420 0126466 012472 4240 012476 000404 508: 012716 4238 4239 7 :SETUP FOR READING STATUS AND THEN WAIT FOR SEEK TO COMPLETE JSR PC,GETSTS :SETUP FOR STATUS 037516 112722 000000 000404 408: 040326 4207 4208 L 064=JAN-79 11:23 PAGE 89 FORMAT CHECK ZEROS - 16 708: 001400 JNP 2608 ;60 TO 2608 IF ERROR WAS FOUND ;SETUP AND EXECUTE WRITE HEADER AND DATA COMMAND MOV #YN'GO,RNCS10 :LOAD WRITE HEADER AND DATA MOV #PUTINX+3,R2 CEXTEND REGISTER INDEX TABLE MOVB WFRMWC,(R2)+ MOVB #RMBA.(R2)+ MOVB MOVB JSR BR 80$: #RMCST,(R2)+ - NOP ERROR JMP #200,(R2)+ PC,PUT 808 2608 :GO WRITE REGISTERS VIA PUT SUB :60 TO 80% IF NO ERROR :RETURN HERE IF ERROR *ERROR DEF INED BY PUT SUB ;GO TO 260 IF ERROR WAS FOUND :WAIT FOR WRITE COMMAND TO COMPLETE AND READ STATUS JSR JSR BR 908 : NOP ERROR JMP PC, TIMOUT PC.GET 90$ 2608 :60 T0 908 1F NO ERROR :RETURN HERE IF ERROR *ERROR DEFINED BY GET SUB ;GO TO 260 IF ERROR WAS FOUND :VERIFY RESULTS OF WRITE COMMAND JSR B8R NOP ERROR PC,PRIERR 1008 :WAIT FOR COMMAND TO COMPLETE :GO READ REGISTERS VIA GET SUB ;60 CHECK FOR PRIMARY ERRORS ;60 TO 1008 IF NO ERROR :RETURN HERE IF ERROR :ERROR # DEFINED BY PRIERR SUBROUTINE CZRMDCO RMO3/2 FCTNL TST 2 CIRMOC.P11 12-DEC-78 08:2¢ 4251 4252 012522 012526 004736 000137 n7 MACY11 30A(1052) 04=JAN-79 11:23 PAGE 90 17 FORMAT CHECK ZEROS - 16 012716 2522 83%238 004737 053016 4255 01253¢ 000405 012544 000137 012716 004737 000405 000240 104000 004736 041344 4256 4257 4258 012536 012540 012542 4260 4261 4262 4263 4264 4265 012550 012550 012554 012556 012560 012562 4267 4268 4269 4270 4271 4272 012570 4259 4266 012564 000240 104000 004736 000137 012737 004737 4276 4275 4276 012606 012606 012610 000240 104000 000137 012716 4279 4280 4281 012614 012620 004737 004737 040326 037516 4283 4284 4285 zgg? 012626 012630 012632 012636 000240 104000 000137 012716 4288 4289 012636 004737 040512 4291 4292 4293 012644 012646 012650 000240 104000 004736 4295 4296 012656 012656 004737 4298 4299 012664 012666 000240 104000 4301 012672 000137 012716 zg;g 4282 012602 012614 000404 012624 000404 4290 012642 000405 000053 037766 4294 012652 000137 012716 4297 012662 000405 4300 012670 053016 1108: 1208: 012676 012676 004737 4305 4306 0127064 012706 000240 104000 4306 012702 000405 PC,A(SP)¢ :60 BACK FOR MORE ERROR CHECKS SR PC,DTASTS ;60 v VERIF 'l ass UL TS OF DATA ] (RANSFER PC,a(SP)+ :RETURN nERE lF ERROR CERROR # DEFINED BY DTASTS SUBROUTINE 160 BACK FOR MORE ERROR CHECKS JMP J BR 001400 JAP JSR BR NOP ERROR JSR NP BR 1308 : NOP ERROR JAP. 1108 2608 PC,SECERR 1208 PC,a(SP)+ 2608 ;60 T0 2608 IF ERROR WAS FOUND 1108 IF NO ERROR ;60 T0 2608 IF ERROR WAS FOUND ;60 CHECK FOR SECONDARY ERRORS ;G0 T0 1208 IF NO ERROR :RETURN HERE IF ERROR :ERROR # DEFINED BY SECERR SUBROUTINE 160 BACK FOR MORE ERROR CHECKS ;60 TO 2608 IF ERROR WAS FOUND 1308 2608 :60 10 1308 IF NO ERROR :RETURN MERE IF ERROR *ERROR DEFINED BY PUT SUB ;GO TO 2608 IF ERROR WAS FOUND :WAIT FOR WRITE CHECK TO COMPLETE AND GET STATUS JSR PC, TIMOUT ;WAIT FOR READ TO COMPLETE JSR PC.GET :60 READ REGISTERS VIA GET SUB BR 1408 : NOP ERROR JMP 1408 2608 ;G0 TO 1408 IF NO ERROR :RETURN MERE I1F ERROR :ERROR DEFINED BY GET SUB :GO TO 260% IF ERROR WAS FOUND :VERIFY THE RESULTS OF WRITE CHECK OPERATION JSR PC,PRIERR ;60 CHECK FOR PRIMARY ERRORS BR 1508: :60 TO 1508 IF NO ERROR PC,a(SP)+ :RETURN HERE IF ERROR :ERROR # DEFINED BY PRIERR SUBROUTINE 160 BACK FOR MORE ERROR CMECKS JSR PC,DTASTS ;G0 VERIFY RESULTS OF DATA TRANSFER JMP BR 1608: 1508 NOP ERROR JSR NOP ERROR 041344 2608 ;WRITE CHECK MEADER AND DATA FOR SECTOR JUST WRITTEN MOV #WCH' GO,RMCS10 :WRITE CHECK COMMAND JSR PC,PUT -GO WRITE REGISTERS VIA PUT SUB 004736 4302 4303 JSR NOP ERROR JSR 012716 012570 012576 4273 ot SEQ 0090 2608 1608 JSR PC,a(SP)+ JSR PC,SECERR JMP BR NOP ERROR 2608 1708 ;60 TO 2608 1F ERROR WAS FOUND :60 T0 1608 IF NO ERROR :RETURN HERE I1F ERROR :ERROR # DEFINED BY DTASTS SUBROUTINE 160 BACK FOR MORE ERROR CMECKS ;G0 TO 2608 IF ERROR WAS FOUND ;60 CHECK FOR SECONDARY ERRORS :60 10 1708 IF NO ERROR :RETURN HERE 1F ERROR "ERROR # DEFINED BY SFCERR SUBROUTINE CZRMDCO RMO3/2 FCTNL TST 2 12-DEC-78 08:24 CZRMOC.PY 012710 012712 012716 004736 000137 MACYT 3?9(1052) b 012716 012716 04=JAN-79 11:23 N7 PAGE N SEQ 0091 FORMAT CHECK ZEROS - 16 JSR PC,a(SP)¢ JAP 2608 - :GO BACK FOR MORE ERROR CMECKS :60 TO 2608 IF ERROR WAS FOUND 260%: :;.'Q."""""""'"""""""""."'..Q"""".....'."'. SeTEST 10 FORMAT CWECK ZEROS W/ WCE ERROR LN == soonvorNnvoOo0 o 15110: 001434 001406 001432 001402 001404 001400 001174 001176 § L ks e el s ke et OO00000O0O0 b 001226 roroNNNNNN NNNNNNNNN L L Lt nd L L L d NNNNNNNNN b e e o D ol ek o ety OO0OO0O0O0O000O NN NN NNNNNNNN :;"""'"""'."""""""""'.'.""..'.'."""'."".." e SCOPE NOP MOV ;SETUP PARAMETERS FOR GENERATING DATA BUFFER MOV sroo0rN gp——t———. 4 SN NN O e p g ii‘:““ gt S 35&3!; b PNON) =t s s &~ e o - e o b b b b i D b b b b coococococoococoooo — N 001400 :DATA BUFFER ADDRESS :WRITE HEADER AND DATA #1EROS , STAPO 21, 8THP1 JSR LWORD BR - #BUF ONE , RMBAC #UH,RACS10 MOV MOV JSR 013636 :CYLINDER = 0 #0.RMDAO #FNT16,RNOFO #<A(<24256.>41> ,RMUCO MOV MOV = #0,RMDCO MOV MOV MOV NOP o $BASE ,RO 1STQUE , R #10,8TESTN ERROR JMP :TRACK = SECTOR = 0 116 BIT FORMAT :2 + 256 WORDS *USE ALL ONES DATA PATTERN , PC . GENBUF :PREPARE DEVICE 034000 000005 001535 #STACK,SP MOV MoV MOV ;SCOPE CALL . SSTART OF TEST SINITIALIZE STACK POINTER :RO=UNIBUS ADDRESS :(R1) = DEVICE BEING TESTED T:SET TEST NUMBER IN APT MAIL BOX ;60 GENERATE DATA BUFFER FOR DATA TRANSFER PC,TSTPRP 154130 308 :PREPARE DEVICE FOR TEST ;TASK DESCRIPTOR :60 TO 308 IF NO ERROR :RETURN HERE 1F ERROR *ERROR # DEFINED BY TSTPRP SUBROUTINE 2608 :60 T0 2608 IF ERROR WAS FOUND ;SETUP PARAMETERS AND EXECUTE SEEK TO GET DRIVE ON CYLINDER MOV #SEEK'GO,RMCS10 :CHANGE COMMAND TO SEEK MOV #PUTINX,R2 ‘WRITE REGISTER INDEX TABLE MOVB #RMDA, (R2)+ MOVB #RMDC.(R2)+ MOVB WRMOF . (R2)+ MOVB MOVB JSR 037766 BR NOP ERROR JMP #RMCST, (R2)+ #200, (R2)+ PC,PUT :GO WRITE REGISTERS VIA PUT SUB 40$ :60 T0 408 I1F NO ERROR 2608 ;GO TO 260% 1F ERROR WAS FOUND :RETURN MERE IF ERROR :ERROR DEFINED BY PUT SUB 013636 3 037432 :SETUP FOR READING STATUS AND THEN WAIT FOR SEEK TO COMPLETE JSR PC,GETSTS :SETUP FOR STATUS : w:.'._ft_— - - E-—- - — - ——————— ——— - - ce— - - — CZRMDCO RMOS/2 FCTML ;i'o‘ CIRMOC.P11 12-DEC: 24 433 &g‘ 4365 «366 4367 6369 4370 4371 :g;g 004737 040326 013134 004737 037516 :60 READ SEEK STATUS JSR PC,GET 013142 013144 013146 000240 104000 000137 013636 NOP ERROR JAP 4374 4375 4376 013152 013156 004737 000405 4377 4378 4379 4380 :;g; 4383 4384 013152 013160 013162 013164 013166 013172 013172 000240 104000 004736 000137 012737 50%: JSR B8R 608 : PC,TIMOUT 60$ 2608 SEQ 0092 :WAIT FOR SEEK TO COMPLETE READ REGISTERS VIA GET SUB :60 10 obs IF NO ERROR ;RETURN HERE IF ERROR :ERROR DEFINED BY GET SUB ;GO TO 2608 IF ERROR WAS FOUND ;VERIFY THE RESULTS OF THE SEEX COMMAND JSR P(,SEKSTS ;60 VERIFY RESULTS OF SEEK OPERATION BR 708 :60 TO 708 IF NO ERROR 045420 013636 000063 8 MACY11 30A(1052) 04=JAN=79 11:23 PAGE 92 110 FORMAT CHECK ZEROS W/ WCE ERROR 0 \;2 013 4368 013140 000404 8 T ;flfi 708 : 001400 NOP ERROR JSR JMP PC,a(SP)+ 2608 :RETURN HERE IF ERROR :ERROR # DEFINED BY SEKSTS SUBROUTINE 160 BACK FOR MORE ERROR CHECKS ;60 TO 2608 IF ERROR WAS FOUND ;SETUP AND EXECUTE WRITE HEADER AND DATA COMMAND MOV #WH'GO,RMCS10 :LOAD WRITE MEADER AND DATA CZRMDCO RMO3/2 FCTNL TST 2 CZRMOC.P11 12-DEC-78 08:24 MACYT1 20A(1052) 110 04=JAN-79 013200 013204 013210 012702 112722 112722 001540 000002 000004 MOV MOVB MOVB 4389 4390 013220 013224 112722 004737 000200 037766 MOVB JSR 4392 4393 4396 :ggz 013232 013234 013236 013242 000240 104000 000137 013636 4397 4398 4399 0132642 013246 004737 004737 040326 037516 401 4602 403 2:8? 013254 013256 013260 013264 000240 104000 000137 013264 013270 013272 013274 013276 013300 013304 013306 013310 013312 013314 013316 013320 013324 013326 004737 000405 000240 104000 004736 000137 4391 013214 013230 112722 000404 400 013252 000404 4406 4407 408 409 4610 4611 4612 4613 4614 415 416 417 418 4619 420 4621 4622 4623 4626 4625 4626 4627 4628 4429 44§? 013330 808 : 004737 041344 013344 005137 104566 4632 4433 4634 013350 012737 000053 4637 438 4639 46460 013364 013366 013370 013374 000240 104000 000137 037766 013636 NOP ERROR JMP B8R 908 : SEQ 0093 FPUTINX+3,R2 #RMWC,(R2)+ #RMBA. (R2)+ ;EXTEND REGISTER INDEX TABLE #RmCSi, (R2)+ #200,(R2)+ PC,PUT 80$ 2608 GO WRITE REGISTERS VIA PUT SUB ;60 T0 80$ 1F NO ERROR :RETURN MERE IF ERROR :ERROR DEFINED BY PUT SUB :GO TO 2608 IF ERROR WAS FOUND NOP ERROR JMP 90$ 2608 :60 T0 908 1F NO ERROR ;RETURN HERE IF ERROR :ERROR DEFINED BY GET SUB ;GO TO 260% IF ERROR WAS FOUND ;VERIFY RESULTS OF WRITE COMMAND JSR PC,PRIERR ;60 CHECK FOR PRIMARY ERRORS 1008 : 013636 013636 8 PAGE 93 :WAIT FOR WRITE COMMAND TO COMPLETE AND READ STATUS JSR PC,TIMOUT ;WAIT FOR COMMAND TO COMPLETE JSR PC.GET GO READ REGISTERS VIA GET SUB 013636 053016 4635 013356 004737 4636 013362 000404 BR 040512 004737 000405 000240 104000 004736 000137 000405 move 013636 000240 104000 004736 000137 Loy 013332 013334 013336 013340 013344 000000 c FORMAT CHECK ZEROS W/ WCE ERROR 4385 4386 4387 4388 11:23 1108: BR NOP ERROR JSR JMP PC,a(SP)+ 2608 PC,a(SP)+ 2608 ;G0 VERIFY RESULTS OF DATA TRANSFER :60 TO 1108 IF NO ERROR :RETURN HERE IF ERROR :ERROR # DEFINED BY DTASTS SUBROUTINE 160 BACK FOR MORE ERROR CHECKS :60 TO 2608 IF ERROR WAS FOUND JSR PC,SECERR ;G0 CHECK FOR SECONDARY ERRORS PC,a(SP)+ 2608 ;RETURN HERE IF ERROR :ERROR # DEFINED BY SECERR SUBROUTINE 160 BACK FOR MORE ERROR CHECKS ;60 TO 2608 IF ERROR WAS FOUND NOP ERROR JSR JWP PC,DTASTS 1108 1208 ;ALTER DATA BUFFER COM BUS TWO-2 001400 :60 T0 1008 IF NO ERROR :RETURN HERE IF ERROR :ERROR # DEFINED BY PRIERR SUBROUTINE 160 BACK FOR MORE ERROR CMECKS :60 TO 2608 IF ERROR WAS FOUND JSR BR NOP ERROR JSR JMP BR 1208 : 1008 :60 TO 1208 IF NO ERROR ;COMPLEMENT LAST DATA WORD :SETUP AND WRITE CHECK HEADZR AND DATA COMMAND MOV #WCH' GO,RMCS10 :LOAD COMMAND JSR BR 1808: NOP ERROR JMP PC,PUT 1808 2608 :60 WRITE REGISTERS VIA PUT SUB ;G0 TO 1808 IF NO ERROR :RETURN HERE 1F ERROR :ERROR DEFINED BY PUT SUB :GO TO 260% IF ERROR WAS FOUND CZRMDCO RMO3/2 FCTNL TST 2 CZRMDC.P11 12-DEC-78 08:2¢4 L64) 4462 6643 4ok 6645 4646 4647 468 4649 4450 44651 013374 013400 004737 004737 013406 013410 013412 013416 000240 104000 000137 013636 040512 013404 000404 6652 013416 004737 4654 4455 4656 013424 013426 013430 000240 104000 004736 4653 457 4658 6459 013422 013432 013436 000405 000137 040326 037516 013636 D 8 MACYT1 30A(1052) O04=JAN-79 11:23 PAGE 94 110 FORMAT CHECK ZEROS W/ WCE ERROR SEQ 0094 :WAIT FOR WRITE CHECK COMMAND TO COMPLETE AND READ STATUS JSR PC,TIMOUT :WAIT FOR COMMMAND TO COMPLETE JSR PC.GET -GO READ REGISTERS VIA GET SUB BR 1908: NOP ERROR JAP 1908 2608 ;60 TO 1908 IF NO ERROR :RETURN WERE IF ERROR :ERROR DEFINED BY GET SUB ;GO TO 260% IF ERROR WAS FOUND ;CHECK FOR PRIMARY ERRORS JSR BR NOP ERROR JSR 2008: JMP PC,PRIERR ;G0 CHECK FOR PRIMARY ERRORS PC,a(SP)+ ;RETURN HERE IF ERROR sERROR # DEFINED BY PRIERR SUBROUTINE ;G0 BACK FOR MORE ERROR CHECKS 2008 2608 :60 T0 2008 IF NO ERROR ;60 TO 2608 IF ERROR WAS FOUND CIZRMDCO RMO3/2 FCINL TST 2 CIRMOC.P11 12-DEC-78 08:24 6660 4661 4662 013436 013444 032737 001023 4ot 013452 000405 4468 013462 471 013502 040000 8 MACY1T 30A(1052) O04=JAN-79 11:23 EPAGE 95 110 001340 L6635 013446 004737 053016 4665 L666 L6467 469 470 4472 473 013454 013456 013460 000240 104000 004736 013466 013476 013737 052737 013510 013512 104337 000451 ::;g 013514 L4476 000137 013636 013737 001340 001340 040000 JSR 012737 013737 162737 104566 00133& 000002 001134 001136 001136 4481 4682 483 4684 013536 013544 013552 112737 112737 004737 000022 000200 037516 001506 001507 486 4487 46488 4489 490 491 4492 4493 6496 4495 4696 4497 4498 013560 013562 013564 013570 013576 013606 013610 013616 013620 013622 013626 013632 013634 000240 104000 000137 013737 013737 005137 023737 001402 104340 000405 023737 001601 106341 2233 013636 013636 001352 104566 001140 001134 001140 PC,DTASTS ;60 VEle' RESULTS OF DATA TRANSFER NOP ERROR JSR PC,a(SP)+ :RETURN WERE IF ERROR :ERROR # DEFINED BY DTASTS SUBROUTINE :60 BACK FOR MORE ERROR CHECKS MOV BIS RMCS21,SGDDAT #UCE ,SGDDAT JNP MOV 2108: 013514 013522 013530 013556 000404 2058: 001142 &677 4,78 2:;8 4485 sMAKE SURE THE WRITE CHECK ERROR WAS DETECTED BIT #UCE ,RMCS21 ;1S WRITE CHECK ERROR SET?? BNE 2108 YES!! BR 001140 001140 ERROR BR MOV MOV SUB 2608 RMCS21,SBDDAT 337 2608 :60 TO 2058 IF NO ERROR ;60 TO 2608 IF ERROR WAS FOUND :LOAD EXPECTED STATUS :LOAD RECEIVED STATUS ;WRITE CHECK ERROR NOT DETECTED #BUF TWO=-2,$GDADR RMBA]1,$BOADR #2,9BDADR ;LOAD EXPECTED ADDRESS :LOAD RECEIVED ADDRESS :DECREMENT RECEIVED ADDRESS ;GET WCE DATA AND VERIFY IT IS Ok MOVB #RMDB,GET INX ;SETUP FOR READING RMDB MOVB #200,GETINX+1 JSR PC GET :GO READ REGISTERS VIA GET SuB 230%: 001136 001142 2058 sVERIFY THE ADDRESS OF THE WRITE CHECK ERROR BR 001142 001140 SEQ 0095 FORMAT CHECK ZEROS W/ WCE ERROR 220%: 2608 : NOP ERROR JMP MOV MOV COM cHp BEQ ERROR BR CHP BEQ ERROR 2308 :60 1O 2308 IF NO ERROR :RETURN HERE IF ERROR :ERROR DEFINED BY GET SuB :G0 TO 260% I1F ERROR WAS FOUND 260% RMDB1,$BODAT BUF TWO-2,9GDDAT $GDDAT $GDADR,$BDADR 2208 340 2608 $GDDAT,$BDDAT 260% 341 :LOAD RECEIVED DATA WORD ;LOAD EXPECTED DATA WORD lS ADDRESS 0K?? “YES!! ADDRESS OF WCE INCORRECT 1s DATA WORD 0K?? ;YES! UNEXPECYED WCE DATA l.so‘ .':'t"l"t""'t"'t"""""'"l"t't'tl"".t!.""tt"t"tttt 4502 -YESI 1 ‘Sos 4504 4505 4506 4507 4508 4509 4510 6511 013636 013636 013640 013642 013646 013652 8}3656 15111 000004 000240 012706 013700 013701 012737 ~N~ [vivr NN —s — [=]e] (A% ],V LaYF ~NOo g —a — w [=1=] 6515 SCOPE NOP MOV MOV MOV MOV ;SCOPE CALL #STACK, SP $BASE , RO TSTQUE ,R1 #11,8TESTN ;START OF TEST SINITIALIZE STACK POINTER :RO=UNIBUS ADDRESS s(R1) = DEVICE BEING TESTED 1:SET TEST NUMBER IN APT MAIL BOX 001100 001276 001450 000011 001226 o8 000000 000000 001434 001406 ;SETUP PARAMETERS FOR GENERATING DATA BUFFER MOV #0,RMDCO ;CYLINDER = 0 MoV #0,RMDAO ;TRACK = SECTOR = 0 4512 2%}2 FORMAT ONES - 16 't'"ttt'"'""""""l'tl't"""t.!tl'ttl.ttltt!"tt"'l'lt CZRMDCO RMO3/2 FCINL TST 2 12-DEC-78 08:24 CZRROC.P1 6516 6517 6518 4519 4520 6521 6522 6523 010000 177376 103564 00006 MACY11 3??%1052) 001432 001402 001404 001400 001174 001176 04=JAN-79 F FORMAT ONES - 16 8 PAGE 96 MOV #FMT16,RNOFO MOV #BUF ONE , RMBAO MoV o 11:23 MOV MOV MOV JSR #<*(<24256.>41> RMWCO #UH,RACS10 #ONES , STHPO #1,8TAP SEQ 0096 :16 BIT FORMAT ;2 + 256 WORDS :DATA BUFFER ADDRESS ‘WRITE HEADER AND DATA :USE ALL ONES DATA PATTERN PC . GENBUF ;G0 GENERATE DATA BUFFER :PREPARE DEVICE FOR DATA TRANSFER JSR .WORD BR . 013770 001400 MOV MOV MOVB b MOVB MOVB MOVB MOVB e e — — cE5s 33888 014044 JAP 000000 000200 037766 JSR BR NOP 014436 014044 014050 014054 037432 040326 014054 037516 014436 045420 154130 308 :PREPARE DEVICE i TEST ;TASK DESCRIPTOR ;60 TO 308 IF NO ERROR ;RETURN HERE IF ERROR :ERROR # DEFINED BY TSTPRP SUBROUTINE 1808 :60 TO 1808 IF ERROR WAS FOUND ;SETUP PARAMETERS AND EXECUTE SEEK TO GET DRIVE ON CYLINDER d b b —t OO 013770 013776 NOP ERROR PC,TSTPRP - ERROR JHP #SEEK'GO,RMCS10 #PUTINX,R2 #RMDA, (R2)+ #RMDC.(R2)+ #RMOF . (R2)+ #RMCST,(R2)+ #200, (R2)+ PC,PUT 014436 :6GO WRITE REGISTERS VIA PUT SUB 408 ;G0 T0 408 IF NO ERROR 1808 ;GO TO 1808 IF ERROR WAS FOUND :RETURN MERE IF ERROR ‘ERROR DEF INED BY PUT SUB ;SETUP FOR READING STATUS AND THEN WAIT FOR SEEK TO COMPLETE = JSR JSR PC,GETSTS PC.TIMOUT ;60 READ SEEK STATUS JSR :SETUP FOR STATUS :WAIT FOR SEEK TO COMPLETE :GO READ REGISTERS VIA GET SUB BR 60% :60 T0 60 IF NO ERROR JMP 1808 ;GO TO 1808 IF ERROR WAS FOUND NOP ERROR 60%: PC,GET :RETURN MERE IF ERROR “ERROR DEFINED BY GET SUB :VERIFY THE RESULTS OF THE SEEK COMMAND JSR PC,SEKSTS ;60 VERIFY RESULTS OF SEEK OPERATION BR 708 :60 TO 708 IF NO ERROR NOP 004736 000137 :CHANGE COMMAND TO SEEK :WRITE REGISTER INDEX TABLE - ERROR JSR JMP ;RETURN MERE IF ERROR PC,a(SP)+ 1808 ‘ERROR # DEFINED BY SEKSTS SUBROUTINE 160 BACK FOR MORE ERROR CHECKS :60 TO 180$ IF ERROR WAS FOUND ;SETUP AND EXECUTE WRITE HEADER AND DATA COMMAND 014162 0146166 0146172 014174 0146176 014200 014204 014204 014210 014212 014214 016216 014220 014224 014224 014230 - w l‘?uNNNNO ~ NOOHNNNNNN o = — b e ead 014134 014140 014144 014150 014152 014154 014156 014162 ? 014112 014120 016124 0146130 NN ~ ON IS NNNNNN ~ w CZRMOCO RMO3/2 FCTNL TST 2 CZRMDC.P11 12-DEC-78 08:24 000063 001540 000002 000004 000000 000200 037766 MACYT 3??%1052) 001400 04=JAN-T9 MOV MOV MOVB MOVEB MOVB JSR BR NOP e ERROR JMP JSR JSR BR NOP -~ 014436 ERROR JMP JSR BR 014436 s 053016 NOP ERROR JSR JMP JSR BR 014232 014234 NOP 014436 0 041344 ERROR JSR JMP JSR BR NOP ERROR = ~ ~N o O 001400 001404 ot — — oo SEQ 0097 * ;LOAD WRITE HEADER AND DATA CEXTEND REGISTER INDEX TABLE #RMCST, (R2)+ #200,(R2)+ PC,PUT 80% 1808 GO WRITE REGISTERS VIA PUT SUB :60 T0 808 IF NO ERROR ;RETURN HERE IF ERROR ERROR DEF INED BY PUT SUB ;GO TO 1808 IF ERROR WAS FOUND PC,TIMOUT PC.GET 90% 1808 JSR JMP :WAIT FOR COMMAND TO COMPLETE :GO READ REGISTERS VIA GET SUB ;G0 TO 908 IF NO ERROR :RETURN HERE IF ERROR “ERROR DEF INED BY GET SUB ;GO TO 180% IF ERROR WAS FOUND PC,PRIERR 1008 PC,a(SP)+ 1808 PC,DTASTS 1108 :60 CHECK FOR PRIMARY ERRORS ;60 T0 1008 IF NO ERROR ;RETURN HERE IF ERROR :ERROR # DEFINED BY PRIERR SUBROUTINE :G0 BACK FOR MORE ERROR CHECKS ;60 TO 1808 IF ERROR WAS FOUND ;60 VERIFY RESULTS OF DATA TRANSFER ;60 TO 1108 IF NO ERROR :RETURN HERE IF ERROR PC,a(SP)+ 1808 :ERROR # DEFINED BY DTASTS SUBROUTINE :60 BACK FOR MORE ERROR CHECKS ;60 TO 1808 IF ERROR WAS FOUND PC,SECERR ;60 CHECK FOR SECONDARY ERRORS 1208 PC,a(SP)+ 1808 ;G0 TO 1208 IF NO ERROR ;RETURN HERE IF ERROR :ERROR # DEFINED BY SECERR SUBROUTINE :G0 BACK FOR MORE ERROR CHECKS ;60 TO 180$ IF ERROR WAS FOUND ;READ HEADER AND DATA FOR SECTOR JUST WRITTEN MOV #RH'GO,RMCS10 ;READ HEADER & DATA COMMAND MOV #BUF TWO,RMBAO :CHANGE BUS ADDRESS JSR PC,PUT :6G0 WRITE REGISTERS VIA PUT SUB BR NOP o o - VLV LV ) Pl O — b3 SEET 014436 [=lelelelelelela] #UN'GO,RACS10 #PUTINX+3,R2 #RMWC, (R2)+ #RMBA. (R2)+ :VERIFY RESULTS OF WRITE COMMAND 040512 014436 8 PAGE 97 :WAIT FOR WRITE COMMAND TO COMPLETE AND READ STATUS 040326 037516 000073 104570 037766 6 FORMAT ONES - 1 MOVB 014436 11323 e ERROR JMP 1308 ;60 1O 1308 IF NO ERROR 1808 ;GO TO 180% IF ERROR WAS FOUND :RETURN HERE IF ERROR ‘ERROR DEFINED BY PUT SUB CZRMDCO RMO3/2 FCTINL TST 2 12-DEC-78 08:2¢4 CZRMDC.P11 4628 4629 4630 014316 004737 004737 MACY11 30A (1052) 04=JAN-T9 11;23 mn 1 FORMAT ONES - 1 BR 1408 JMP 180% NOP ERROR 140%: JSR BR NOP 014436 150%: 053016 4669 467C 4671 4672 4673 4674 4675 4676 4677 4678 4679 4680 4681 4682 4683 ;60 TO 1408 IF NO ERROR ;RETURN HERE IF ERROR :ERROR DEF INED BY GET SuB ;60 T0 1808 IF ERROR WAS FOUND 160%: 041344 PC,DTASTS NOP ERROR JSR PC,a(SP)+ ;GO VERIFY RESULTS OF DATA TRANSFER ;60 TO 1608 1F NO ERROR ;RETURN HERE IF ERROR ;ERROR # DEFINED BY DTASTS SUBROUTINE ;60 BACK FOR MORE ERROR CHECKS JSR PC,SECERR ;60 CHECK FOR SECONDARY ERRORS PC,a(SP)+ 180% ;RETURN HERE IF ERROR ;ERROR # DEFINED BY SECERR SUBROUTINE ;G0 BACK FOR MORE EPROR CHECKS ;60 TO 180% IF ERROR WAS FOUND JMP ERROR JSR JMP JVERIFY DATA 037064 JSR .WORD .WORD BR 104000 180%: A iii ;60 CHECK FOR PRIMARY ERRORS ;60 TO 1508 IF NO ERROR ;RETURN HERE IF EPRROR ;ERROR # DEFINED BY PRIERR SUBROUTINE ;G0 BACK FOR MORE ERROR CHECKS ;60 TO 180% IF ERROR WAS FOUND JSR NOP 170%: 1508 PC,a(SP)+ JMP BR 014436 PC,PRIERR ERROR JSR BR 0146436 004737 103564 104570 000402 000240 SEQ 0098 sVERIFY THE RESULTS OF READ OPERATION 040512 014420 014424 014426 014430 014432 014434 014436 8 PAGE. 98 :WAIT FOR READ T 0 (OHPLE}E AND GET STATUS PC.TIMOU JSR sWAIT FOR READ TO COMPLETE JSR PC,GET ;GO READ REGISTERS VIA GET SuB 040326 037516 014436 014370 014372 014374 014400 014400 014404 014406 014410 014412 014414 014420 H NOP ERROR AR R TRTEST 12 180% 160% 180% 170% PC,CMPBUF BUF ONE BUFTWO 180% ARl ;GO TO 1808 IF ERROR WAS FOUND :60 TO 1708 IF NO ERROR ;GO COMPARE WRITE, READ DATA BUFFERS :STARTING ADDRESS OF WRITE BUFFER ;STARTING ADDDRESS OF READ BUFFER ;60 TO 1808 IF NO ERROR :RETURN HERE IF ERROR ;ERROR # DEFINED BY CMPBUF SUBROUTINE R 222002 2222202202000 ] FORMAT CHECK ONES - 16 ':""'l'""'"'""""'".""""""'.."'..."l'"l"""" 014436 014436 014440 014442 014446 014452 014456 014464 014464 014472 1ST112: SCOPE NOP MOV 001100 001276 001450 000012 001226 000000 000000 001434 001406 10%: MOV MOV MOV #STACK,SP $BASE ,RO R TSTQUE #12,8TESTN :SCOPE CALL ' ;START OF TEST ;INITIALIZE STACK POINTER :RO=UNIBUS ADDRESS :(R1) = DEVICE BEING TESTED ::SET TEST NUMBER IN APT MAIL BOX ;SETUP PARAMETERS FOR GENERATING DATA BUFFER MOV #0,RMDCO ;CYLINDER = 0 MOV #0,RMDAOD :TRACK = SECTOR = 0 NNNNNNN — i ol i 8388888 S NSRRI NN SNNNNNNN 1 8 PAGE 99 SEQ 0099 FORMAT CHECK ONES - 16 MOV FEAT16,RMOFO ;16 BIT FORMAT MoV #BUFONE ,RRBAO :DATA BUFFER ADDRESS MoV MOV MOV JSR JSR LWORD BR NOP R e e —— — -t OO [ g RN N 015212 00000% 001535 000006 000034 000032 000000 000200 037766 308: 001400 ERROR JMP #< (<24256.>41> RMUCO #UH ,RACS10 JONES ,$THPO 11,8TAP1 PC,GENBUF ;2 + 256 WORDS ;WRITE HEADER AND DATA ;USE ALL ONES DATA PATTERN ;GO GENERATE DATA BUFFER 015212 004737 037432 040326 037516 MOVB MOVB JSR BR <08 ERROR JMP 154130 30% : PREPARE DEVICE FOR TEST ;TASK DESCRIPTOR ) 260% :60 TO 308 IF NO ERROR sRETURN HERE IF ERROR ;ERROR # DEFINED BY TSTPRP SUBROUTINE ;60 TO 2608 IF ERROR WAS FOUND #RMCST,(R2)+ #200, (R2)+ PC,PUT :GO WRITE REGISTERS VIA PUT SUB 408 :60 T0 408 1F NO ERROR 260% :ERROR DEF INED BY PUT SUB ;60 TO 260% IF ERROR WAS FOUND :RETURN MERE IF ERROR ;SETUP FOR READING STATUS AND THEN WAIT FOR SEEK TO COMPLETE JSR PC,GETSTS ;SETUP FOR STATUS 50%: JSR PC,TIMOUT :60 READ SEEK STATUS JSR BR NOP 004737 000405 000240 104000 004736 000137 PC,TSTPRP ;SETUP PARAMETERS AND EXECUTE SEEK TO GET DRIVE ON CYLINDER MOV #SEEK'GO,RMCS10 ;CHANGE COMMAND T0 SEEK MOV PPUTINX,R2 :WRITE REGISTER INDEX TABLE MOVB #RMDA, (R2)+ MOVB FRMDC.(R2)+ MOVB FRMOF .(R2)+ NOP 014654 014660 014662 014664 014666 014672 014672 014676 014700 014702 014704 014706 014712 s B B B B g 014644 014650 014654 208 11:23 ;PREPARE DEVICE FOR DATA TRANSFER 014550 014554 014556 014560 014562 014564 014570 014570 014576 014602 014606 014612 014616 014622 014626 014632 014634 014636 014640 014644 04=JAN-79 MOV — Y~ [=l-l-ToleT ) 014544 014550 RACYT 3??31052) 1 [« -1%] F N 014500 014506 014514 P CZRMDCO RlOSIZlfti CZRRDC.PT ERROR JMP PC.GET sWAIT FOR SEEK TO COMPLETE :GO READ REGISTERS VIA GET SUB 60% ;60 T0 608 IF NO ERROR 2608 :ERROR DEFINED BY GET SUB ;GO TO 2608 1F ERROR WAS FOUND :RETURN HERE IF ERROR 015212 e 045420 ;VERIFY THE RESULTS OF THE SEEK COMMAND JSR PC,SEKSTS ;60 VERIFY RESULTS OF SEEX OPERATION BR 708 :60 TO 708 IF NO ERROR NOP 015212 ERROR JSR 70%: JMP :RETURN HERE IF ERROR PC,a(SP)+ 2608 :ERROR # DEFINED BY SEKSTS SUBROUTINE 160 BACK FOR MORE ERROR CHECKS :60 TO 2608 IF ERROR WAS FOUND ;SETUP AND EXECUTE WRITE HEADER AND DATA COMMAND CZRMDCO RMO3/2 FCTNL TST 2 12-DEC-78 08:24 CZRMOC.P11 w l‘?u‘NNNNOV‘ NOOSMNNNINNNN 000063 001540 001400 - g PL NN ON S NNNNNNN 4740 4741 6762 4743 Q744 4745 J 014762 014762 80%: ;WAIT 040326 N37516 MoV MOV MOV MOVB MOvVB MOVB JSR BR NOP ERROR JMP 015212 90%: 015212 1008: 053016 015212 110%: 061344 I 015212 120%: 001400 B :LOAD WRITE HEADER AND DATA CEXTEND REGISTER INDEX TABLE GO WRITE REGISTERS VIA PUT SUB 80$ :60 T0 808 IF NO ERROR 2608 ;GO TO 2608 1F ERROR WAS FOUND PC,GET JSR BR 90$ ERROR JMP 2608 JSR BR NOP ERROR JSR JMP :RETURN WERE IF ERROR :ERROR DEF INED BY PUT SUB :GO READ REGISTERS VIA GET SUB ;60 T0 908 1F NO ERROR :RETURN HERE IF ERROR :ERROR DEF INED BY GET SUB ;GO TO 2608 IF ERROR WAS FOUND PC,PRIERR 1008 PC,a(SP)+ 2608 JSR BR NOP ERROR JSR JMP PC,DTASTS JSR BR NOP ERROR JSR JMP PC,SECERR 1108 PC,a(SP)+ 260% 120% PC,a(SP)+ 2608 ;G0 CHECK FOR PRIMARY ERRORS ;60 TO 1008 IF NO ERROR sRETURN HERE IF ERROR ;ERROR # DEFINED BY PRIERR SUBROUTINE ;60 BACK FOR MORE ERROR CHECKS ;60 TO 2608 IF ERROR WAS FOUND ;60 VERIFY RESULTS OF DATA TRANSFER ;60 TO 1108 IF NO ERROR :RETURN HERE IF ERROR ;ERROR # DEFINED BY DTASTS SUBROUTINE ;60 BACK FOR MORE ERROR CHECKS ;60 TO 2608 IF ERROR WAS FOUND ;G0 CHECK FOR SECONDARY ERRORS ;60 TO 1208 IF NO ERROR :RETURN HERE IF ERROR :ERROR # DEFINED BY SECERR SUBROUTINE 160 BACK FOR MORE ERROR CMECKS ;60 TO 2608 IF ERROR WAS FOUND ;WRITE CHECK HEA DER AND DATA FOR SECTOR JUST WRITTEN #CH'GO,RMCS10 :WRITE CHECK COMMAND MOV P, PUT :G0 WRITE REGISTERS VIA PUT SUB JSR BR 1308 ERROR JMP 2608 NOP i sRACST, (R2)+ #200,(R2)+ PC,PUT sVERIFY RESULTS OF WRITE COMMAND 040512 015212 #UN'GO,RNCS10 SPUTINX+3,R2 PRMVC, (R2)+ SRMBA , (R2)+ SEQ 0100 FOR WRITE COMMAND TO COMPLETE AND READ STATUS PC,TIMOUT ;WAIT FOR COMMAND TO COMPLETE JSR NOP 000053 037766 8 MACY11 30A(1052) 04=JAN-79 11:23 PAGE 100 12 FORMAT CHECK ONES - 16 1308: ;60 10 1308 IF NO ERROR :RETURN MERE IF ERF R :ERROR DEFINED BY PUT SUB ;GO TO 2608 IF ERROR WAS FOUND ;WAIT FOR WRITE CHECK TO COMPLETE AND GET STATUS CZRMDCO RMO3/2 FCTNL TST 2 CIRMOC.P11 12-DEC-78 08:24 4796 4797 015110 015114 004737 004737 4799 4800 015122 015126 000240 104000 :ggg 015132 4804 4805 4807 4808 4809 4798 4801 4806 015120 015126 000404 040326 037516 000137 015212 015132 004737 040512 015140 015142 015144 000240 104000 004736 015136 000405 23}? 8‘3:?3 000137 015212 4812 4813 4814 4815 4816 015152 015156 015160 015162 015164 004737 000405 000240 104000 004736 053016 4818 4819 4820 4821 4822 4823 4826 4825 4826 2355 015172 015172 015176 015200 015202 015204 015206 015212 4817 015166 K 8 MACY11 30A(1052) 04=JAN-79 11:23 PAGE 101 T2 FORMAT CHECK ONES - 16 000137 015212 004737 000405 000240 104000 004736 000137 041344 JSR JSR BR NOP ERROR 1408 : JAP PC, TIMOUT PC GET SEa 0101 :WAIT FOR READ TO COMPLETE :60 READ REGISTERS VIA GET SUB 1408 :60 1O 1408 IF NO ERROR 2608 :GO TO 260% IF ERROR WAS FOUND :RETURN MERE IF ERROR *ERROR DEF INED BY GET SUB sVERIFY THE RESULTS OF WRITE CHECK OPERATION JSR PC,PRIERR ;60 CHECK FOR PRIMARY ERRORS BR e 1608: 015212 1708: 015212 NOP ERROR JSR JAP 1508 PC,A(SP)+ 2608 JSR BR NOP ERROR JSR PC,DTASTS 1608 JSR BR NOP ERROR JSR JMP PC,SECERR 1708 JAP PC,a(SP)+ 2608 PC,a(SP)+ 2608 :60 TO 1508 IF NO ERROR :RETURN MERE IF ERROR :ERROR # DEFINED BY PRIERR SUBROUTINE :60 BACK FOR MORE ERROR CHECKS ;60 TO 2608 IF ERROR WAS FOUND ;60 VER]FV IESULYS OF DATA TRANSFER 1608 IF NO ERROR ;RETURN nene 1r ERROR :ERROR # DEFINED BY DTASTS SUBROUTINE :60 BACK FOR MORE ERROR CMECKS ;60 TO 2608 IF ERROR WAS FOUND ;60 CHECK FOR SECONDARY ERRORS ;60 TO 1708 IF NO ERROR :RETURN HERE 1F ERROR :ERROR # DEFINED BY SECERR SUBROUTINE :6G0 BACK FOR MORE ERROR CHECKS :60 TO 2608 IF ERROR WAS FOUND 2608 : ‘829 ;:t't"i'tlt't""'0tt't't"t't"t"'tt'ltt.tt.t.'ttttt""ll'!" 4830 ;*TEST 13 ‘as‘ 4832 4833 483 4835 4836 4837 4838 zgzg 015212 015212 015214 015216 015222 015226 015232 015240 000004 000240 012706 013700 013701 012737 001100 001276 001450 000013 001226 4845 015240 015246 015254 015262 012737 012737 012737 012737 000000 000000 010000 177376 001434 001406 001432 001402 4847 4848 4849 4850 4851 015276 015304 015312 015320 015324 012737 012737 012737 004737 000062 065042 000001 036620 001400 001174 001176 4841 4842 4843 4846 FORMAT CHECK ONES W/ WCE ERRORS ::'t't'.""t"t't'tl""t"tt""'Q"t'tt't't"t'.lltt.'tt"'ttt 15113: 108: SCOPE NOP MOV MOV MOV MOV #STACK,SP $BASE , RO TSTQUE ,R1 #13,8TESTN ;SCOPE CALL :START OF TEST :INITIALIZE STACK POINTER :RO=UNIBUS ADDRESS :(R1) = DEVICE BEING TESTED ::SET TEST NUMBER IN APT MAIL BOX ;SETUP PARAMETERS FOR GENERATING DATA BUFFER MOV #0,RMDCO :CYLINDER = 0 MOV #0.RMDAO :TRACK = SECTOR = 0 MOV #FNT16,RMOFO :16 BIT FORMAT 4846 015270 012737 103564 001404 MOV #<C<24256.>41> ,RMWCO :2 + 256 WORDS MOV MOV MOV JSR #UH,RMCS10 FONES,$TMPO #,8THPI PC . GENBUF ‘WRITE HEADER AND DATA :USE ALL ONES DATA PATTERN MOV 208: #BUF ONE , RMBAOD :DATA BUFFER ADDRESS :60 GENERATE DATA BUFFER CZRMDCO RMO3/2 FCTNL ST 2 CZRMDC.P11 12-DEC-78 08:2¢4 4852 4853 485, 4855 4856 4857 4858 4859 232? 01532¢ 015330 015332 01533¢ 015336 01530 015344 004737 154130 000404 000240 104000 000137 L 8 MACY11 30A(1052) 04=JAN-79 11:23 PAGE 102 13 FORMAT CHECK ONES W/ WCE ERRORS sPREPARE DEVICE JSR LWORD BR NOP ERROR JMP 308 : 034000 016130 4862 4863 015344 012737 000005 001400 FOR DATA TRANSFER PC, 1STPRP :PREPARE DEVICE FOR TEST 154130 :TASK DESCRIPTOR 308 ;60 TO 308 IF NO ERROR :RETURN HERE IF ERROR SERROR # DEFINED BY TSTPRP SUBROUTINE 2608 ;60 TO 2608 IF ERROR WAS FOUND :SETUP PARAMETERS AND EXECUTE SEEK TO GET DRIVE ON CYLINDER MmOV #SEEK !GO, RMCS10 4864 4865 4866 4867 015352 015356 015362 015366 012702 112722 112722 112722 001535 000006 000034 000032 MOV MOVEB MOVB MOVB #PUTINX ,R2 FRMDA, (R2)+ #RMDC.(R2)+ #RMOF . (R2)+ 4869 4870 015376 0156402 112722 004737 000200 037766 MOVB JSR #200, (R2)+ PC,PUT 4872 4873 4874 :g;g 015410 015412 015414 015420 000240 104000 000137 016130 4868 015372 4871 015406 112722 000404 000000 MOVB BR 408: NOP ERROR JMP 408 260% 015420 015424 015430 004737 004737 037432 040326 015430 004737 037516 ;G0 READ SEEK STATUS JSR PC,GET 4885 4886 4887 015436 015440 015442 000240 104000 000137 016130 NOP ERROR JMP 4890 4891 4892 4893 489, 4895 015446 015452 015454 015456 015460 004737 000405 000240 104000 004736 2333 015634 015446 489 015462 233; 015466 4899 000404 012737 012702 112722 112722 000063 001540 000002 000004 4905 4906 015514 015520 112722 004737 000200 037766 4904 015510 BR 60$%: 112722 000000 4907 015526 000404 :6G0 WRITE REGISTERS VIA PUT SuB :60 10 408 1F NO ERROR :RETURN HERE IF ERROR *ERROR DEF INED BY PUT SUB :60 T0 260% IF ERROR WAS FOUND 60% 2608 :G0 READ REGISTERS VIA GET SUB ;60 TO 608 IF NO ERROR :RETURN MERE IF ERROR *ERROR DEFINED BY GET SUB ;GO TO 2608 IF ERROR WAS FOUND JVERIFY THE RESULTS OF THE SEEX COMMAND JSR PC,SEKSTS :60 VERIFY RESULTS OF SEEK OPERATION BR 70$ :60 TO 708 IF NO ERROR NOP ;RETURN HERE IF ERROR ERROR CERROR # DEFINED BY SEKSTS SUBROUTINE JSR PC,a(SP)+ ;G0 BACK FOR MORE ERROR CHECKS 000137 016130 015466 015476¢ 015500 015506 WRITE REGISTER INDEX TABLE sSETUP FOR READING STATUS AND THEN WAIT FOR SEEK TO COMPLETE JSR PC,GETSTS :SETUP FOR STATUS JSR PC,TIMOUT ;WAIT FOR SEEK TO COMPLcTE 508 : 045420 490C 4901 4902 4903 :CHANGE COMMAND TO SEEK WRACST, (R2)+ 4877 4878 4879 4880 4881 4882 4883 4884 SEQ 0102 708: 001400 JMP 2608 | ;60 TO 2608 IF ERROR WAS FOUND ;SETUP AND EXECUTE WRITE HEADER AND DATA COMMAND MOV MOV MOVB MOVB MOVB MOVB JSR BR #WH' GO, RMCS10 #PUTINX+3,R2 #RMWC,(R2)+ #RMBA.(R2)+ :LOAD WRITE HEADER AND DATA ‘EXTEND REGISTER INDEX TABLE #RMCST, (R2)+ #200,(R2)+ PC,PUT 80$ :GO WRITE REGISTERS VIA PUT SUB :60 10 808 IF NO ERROR CZRMDCO RMO3/2 FCTNL TST 2 CZRMOC.P11 12-DEC-78 08:24 4908 4909 4910 :g}; 015526 015530 015532 015536 000240 104000 000137 016130 4913 4914 4915 015536 015542 004737 004737 040326 037516 4917 4918 4919 015550 015552 015554 000240 104000 000137 016130 4922 4923 015560 004737 040512 015566 015570 015572 015574 015600 015600 015604 015606 015610 015612 015614 015620 015620 015624 015626 015630 015632 015634 015640 000240 104000 004736 000137 4916 015546 2359 015560 4924 4925 4926 4927 4928 4929 4930 4931 4932 4933 4934, 4935 493 4937 4938 4939 4940 4961 4942 4943 4944 (945 2329 015564 000404 000405 004737 000405 000240 104000 004736 000137 005137 104566 495C 4951 015644 015652 012737 004737 000053 037766 4953 4954 4955 zg;g 015660 015662 015664 015670 000240 104000 000137 016130 4959 4960 015670 015674 004737 004737 040326 037516 4962 4963 015702 015704 000240 104000 4958 4961 015700 000404 2608 SEQ 0103 :RETURN MERE IF ERROR :ERROR DEF INED BY PUT SUB ;GO TO 2608 IF ERROR WAS FOUND :WAIT FOR WRITE COMMAND TO COMPLETE AND READ STATUS JSR PC,TIMOUT :WAIT FOR COMMAND TO COMPLETE JSR PC,GET :GO READ REGISTERS VIA GET SUB BR . 908 : NOP ERROR JAP 90$ 2608 ;60 T0 908 IF NO ERROR :RETURN MERE IF ERROR :ERROR DEFINED BY GET SUB :GO TO 260% IF ERROR WAS FOUND JVERIFY RESULTS OF WRITE CCMMAND JSR PC,PRIERR ;60 CHECK FOR PRIMARY ERRORS BR 1008: 016130 015640 4952 015656 000404 ‘ 053016 041344 NOP ERROR JAP 808 : 016130 004737 000405 000240 104000 004736 000137 4948 4949 n8 MACYT1 30A(1052) 04=JAN-79 11:23 PAGE 103 113 FORMAT CHECK ONES W/ WCE ERRORS 1108: 016130 1208: NOP ERROR JSR JMP JSR BR NOP ERROR JSR JNP JSR BR NOP ERROR JSR JMP 1008 :60 T0 1008 IF NO ERROR PC,a(SP)+ 2008 PC.DTASTS 1108 PC.a(SP)+ 2608 PC,SECERR 1208 PC,a(SP)+ 2608 ;ALTER DATA BUFFER COM BUF TWO-2 001400 :RETURN HERE IF ERROR :ERROR # DEFINED BY PRIERR SUBROUTINE :G0 BACK FOR MORE ERROR CHECKS ;60 TO 2608 IF ERROR WAS FOUND ;60 VERIFY RESULTS OF DATA TRANSFER ;60 TO 1108 IF NO ERROR :RETURN MERE IF ERROR :ERROR # DEFINED BY DTASTS SUBROUTINE 160 BACK FOR MORE ERROR CHECKS ;60 TO 2608 1F ERROR WAS FOUND :60 CHECK FOR SECONDARY ERRORS ;60 70 1208 IF NO ERROR :RETURN MERE IF ERROR :ERROR # DEFINED BY SECERR SUBROUTINE 160 BACK FOR MORE ERROR CMECKS ;60 TO 2608 IF ERROR WAS FOUND :COMPLEMENT DATA WORD JSETUP AND WRITE CHECK HEADER AND DATA COMMAND MoV JSR BR 1808 : NOP ERROR JWP #UCH' GO, RMCS10 PC,PUT 1808 2608 :LOAD COMMAND .60 WRITE REGISTERS VIA PUT SUB :60 10 1808 IF NO ERROR :RETURN MERE I1F ERROR *ERROR DEFINED BY PUT SUB ;GO TO 260% IF ERROR WAS FOUND -WAIT FOR WRITE CHECK COMMAND TO COMPLETE AND READ STATUS JSR JSR BR NOP ERROR PC, TIMOUT PC.GET 1908 :WAIT FOR COMMMAND TO COMPLETE :GO READ REGISTERS VIA GET SUB :60 10 1908 IF NO ERROR :RETURN MERE IF ERROR *ERROR DEFINED BY GET SUB CZRMDCO RMO3/2 FCTNL TST 2 CZRMOC.PYY 12-DEC-78 08:2¢4 4964 4965 4966 6967 4968 015706 015712 000137 016130 015712 004737 040512 4970 4971 4972 015720 015722 015726 000240 104000 004736 :g;g 015732 4969 015716 4973 015726 000405 000137 016130 040000 4976 4977 4978 4979 015732 015740 015742 032737 001022 004737 4981 4982 4983 015750 015752 015756 000240 104000 004736 4985 4986 015762 015770 013737 052737 016004 016006 104337 4980 4984 4987 4988 2333 015746 015756 015776 000405 016130 013737 001340 016006 012737 :gg; 016022 162737 4993 016014 4996 001340 040000 112737 112737 004737 5001 5002 5005 5006 016052 016056 016056 016062 000240 104000 000137 013737 5006 $007 5008 5009 5010 5011 016076 016102 016110 016112 016114 016116 005137 023737 001402 104340 000405 5013 5014 28}5 0161264 016126 016130 001401 104341 S000 016050 000404 $005 016070 013737 2008 : 001340 5018 5019 JNP ¢60% NOP ERROR JSR 001140 001140 2058: 001142 000002 001136 001136 ‘ 001506 001507 001142 001140 001134 001136 104566 001140 JNP ;60 TO 260% 1F ERROR WAS FOUND ;60 CHECK FOR PRIMARY ERRORS 2008 :60 70 2008 IF NO ERROR :RETURN HERE IF ERROR “ERROR # DEFINED BY PRIERR SUBROUTINE ;60 BACK FOR MORE ERROR CHMECKS PC,a(SP)¢ 2608 ;60 10 2608 IF ERROR WAS FOUND 2058 :60 T0 2058 IF NO ERROR :RETURN HERE IF ERROR "ERROR # DEFINED BY DTASTS SUBROUTINE ;60 BACK FOR MORE ERROR CHECKS PC,a(SP)¢ 2608 MOV BIS RMCS21,8GDOAT #VCE, $GDDAT ERROR 337 MOV * RMCS21,$BDDAT ;60 TO 2608 IF ERROR WAS FOUND :LOAD EXPECTED STATUS :LOAD RECEIVED STATUS JMRITE CHECK ERROR NOT DETECTED VERIFY THE ADDRESS OF THE WRITE CHECK ERROR MOV #BUF TWO-2, SGDADR :LOAD EXPECTED ADDRESS MOV SUB RMBA] , SBOADR 2308: 2208: . 2608 : :LOAD RECEIVED ADDRESS #2,$BDADR :GET WCE DATA AND VERIFY IT \ 016130 001352 SEQ 0104 :MAKE SURE THE WRITE CHECK ERROR WAS DETECTED BIT #WCE ,RNCS2I . 215 WRITE CHECK ERROR SET?? BNE 2108 TYES!! JSR PC,DTASTS ;60 VERIFY RESULTS OF DATA TRANSFER BR 5012 016116 023737 001140 001142 so‘? NOP ERROR JSR | 001134 000022 000200 037516 016030 016036 016044 BR 104566 001334 JAP CHECK FOR PRiISARY ERRORS JSR PC,PRIERR 2108 : 013737 4997 4998 4999 N8 30A(1052) O04-JAN-79 11:23 PAGE 104 s FORMAT (HECK ONES W/ WCE ERRORS 1908: 053016 000137 4991 4992 MACYIT :DECREMENT RECEIVED ADDRESS 1S OK MOVB MOVB JSR #RMDB,GETINX #200,GETINX*1 PC,GET NOP ERROR JMP MOV :RETURN MERE IF ERROR *ERROR DEFINED BY GET SUB 2608 ;GO TO 260% IF ERROR WAS FOUND RMDB1,$B0DAT :LOAD RECEIVED DATA WORD BR MOV COM CHP BEQ ERROR BR CMP BEQ ERROR 2308 :SETUP FOR READING RMDB :GO READ REGISTERS VIA GET SUB ;GO 10 2308 IF NO ERROR BUF TWO=-2,SGDDAT $GDDAT $GDADR, SBDADR 2208 340 2608 $GDDAT,$SBDDAT 2608 341 :LOAD EXPECTED DATA WORD :1S ADDRESS OK?? SYES!! ;ADDRESS OF WCE INCORRECT :1S DATA WORD O0K?? TYES!! SUNEXPECTED WCE DATA ;;l.t."""'"'."""""t'l""""ttl'l"'.l.t"'t'lt't".t't SRTEST 14 FORMAT MULTIPLE SECTORS ::'."'l"'l""""""l'."""'l'.t.".'.'l'.'l"l't.'l'!"'!l e e e e e CZRMOCO RMO3/2 FCTNL TST 2 CIRMOC.P11 12-DEC-78 08:24 8 9 MACY11 30A(1052) 04=JAN-79 11:23 PAGE 105 114 FORMAT MULTIPLE SECTORS 3051 010130 000006 §022 5023 5024 5025 5026 38%3 016132 01613¢ 016140 016144 016150 016156 000240 012706 013700 013701 012737 STIe: core 001100 001276 001450 000014 001226 5029 $030 016156 012737 000000 001434 5031 016164 012737 000000 001406 $032 016172 012737 010000 001432 5033 016200 5034 5035 5036 $037SO38 ?823 016206 016214 016222 016230 016236 016242 5041 5042 50643 5064 5045 5046 5047 ;3:3 016242 016246 016250 016252 016254 016256 016262 5050 012737 103564 000062 0651064 000001 036620 004737 154130 000404 000240 104000 000137 034000 5051 5052 5053 5054 5055 5056 5057 5058 016262 016270 016276 016300 016304 016310 016314 016320 012737 012702 112722 112722 112722 112722 112722 004737 5060 5061 016326 016330 000240 104000 2822 016336 5059 01632¢ 176774 012737 012737 012737 012737 004737 000404 5062 016332 000137 016704 5065 5066 5067 5068 5069 5070 5071 016336 016342 016346 004737 004737 037432 040326 016346 004737 037516 016354 016356 000240 104000 5072 016352 000404 5073 5074 208 : 5075 016360 000137 016704 001400 PSTACK,SP $BASE , RO TSTQUE ,Ri #14,8TESTN CALL ;S SSTART OF TEST SINITIALIZE STACK POINTER *RO=UN!SUS ADDRESS *(R1) = DEVICE BEING TESTED ::SET TEST NUMBER IN APT MAIL BOX MOV nov MOV #0.RMDCO #0.RMDAO #FRT16,RNOFO ;CYLINDER =0 STRACK = SECTOR = 0 116 BI) FORMAT MoV MOV MOV MoV JSR #BUFONE ,RMBAO #UH,RACS10 #LEROS,$TAPO 21,8THP1 PC,GENBUF ;DATA BUFFER ADDRESS *WRITE HEADER AND DATA sUSE ALL ZEROS DATA PATTERN MoV 001404 001400 001174 001176 ; COPE NOP nov MOV MOV KOV sSETUP PARAMETERS FOR GENERATING DATA BUFFER 001402 016704 000005 001535 000006 000034 000032 000000 000200 037766 108: sEQ 0105 #< (<<24256.>¢2>41> ,RMICO; WORD COUNT FOR 2 SECTORS :PREPARE DEVICE JSR .WORD BR NOP ERROR JMP 308: ;G0 GENERATE DATA BUFFER FOR DATA TRANSFER PC,TISTPRP ;PREPARE DEVICE FOR TEST 1564130 ;TASK DESCRIPTOR 308 :60 TO 308 IF NO ERROR ;RETURN HERE IF ERROR ;ERROR # DEFINED BY TSTPRP SUBROUTINE 1808 ;60 TO 1808 IF ERROR WAS FOUND ;SETUP PARAMETERS AND EXECUTE SEEK TO GET DRIVE ON CYLINDER MOV MOV MOVB MOVB MOVB MOVB MOVB JSR BR NOP ERROR 40$%: JMP #SEEK'GO,RMCS10 ;CHANGE COMMAND TO SEEK #PUTINX ,R2 :WRITE REGISTER INDEX TABLE #RMDA, (R2)+ #RMDC.(R2)+ FRMOF . (R2)+ #RMCST,(R2)+ #200, (R2)+ PC,PUT ;60 WRITE REGISTERS VIA PUT SuB 40% ;60 TO 408 IF NO ERROR 1808 :GO TO 1808 IF ERROR WAS FOUND ;RETURN MERE IF ERROR :ERROR DEFINED BY PUT SUuB ;SETUP FOR READING STATUS AND THEN WAIT FOR SEEK TO COMPLETE JSR PC,GETSTS ;SETUP FOR STATUS 508: JSR PC.TIMOUT ;60 READ SEEK STATUS JSR PC,GET ‘WAIT FOR SEEK TO COMPLETE :GO READ REGISTERS VIA GET SUB BR 60% :60 T0 60 1F NO ERROR JMP 1808 ;GO TO 1808 IF ERROR WAS FOUND NOP ERROR :RETURN HERE IF ERROR 'ERROR DEFINED BY GET SUB CZRMDCO RMO3/2 FCTNL TST 2 12-DEC-78 08:2¢4 CZRMDC.P11 5076 5077 5078 5079 5080 5081 5082 5083 5084 5085 5086 5087 5088 5089 5090 5091 5092 5093 5094 5095 5096 5097 5098 5099 5100 5101 5102 5103 5106 5105 5106 5107 5108 5109 5110 5111 5112 5113 5114 5115 5116 5117 5118 5119 5120 5121 5122 5123 5124 5125 5126 5127 5128 5129 5130 5131 MACY1 016364 016364 016370 016372 016374 016376 016400 016404 016454 016460 016464 016466 016470 016472 016476 016476 016502 016504 016506 016510 016512 016516 016516 016522 016524 016526 016530 016532 016536 016536 016542 016544 016546 016550 016552 016556 SEQ 0106 60%: ;VERIFY THE RESULTS OF THE SEEK COMMAND 045420 JSR B8R NOP - 016704 016404 016412 016416 016422 016426 016432 016436 016442 016444 016446 016450 016454 c9 3?A (1052) 04=JAN-79 11:23 PAGE 106 14 FORMAT MULTIPLE SECTORS 001400 ERROR JSR JMP PC,SEKSTS 708 ;60 VERIFY RESULTS OF SEEK OPERATION :60 TO 708 IF NO ERROR :RETURN MERE PC,a(SP)+ 1808 IF ERROR :ERROR # DEFINED BY SEKSTS SUBROUTINE 160 BACK FOR MORE ERROR CMECKS :60 TO 1808 IF ERROR WAS FOUND ;SETUP AND EXECUTE WRITE HEADER AND DATA COMMAND MOV MOV MOVB MOVE move MOVB JSR BR 037766 NOP ERROR JMP #VH'GO,RNCS10 :LOAD WRITE HEADER AND DATA SPUTINX+3,R2 :EXTEND REGISTER INDEX TABLE #RMC, (R2)+ #RMBA.(R2)+ #RMCST,(R2)+ #200,(R2)+ PC,PUT :60 WRITE REGISTERS VIA PUT SUB 80$ :60 TO 808 IF NO ERROR ;RETURN HERE EQROR “ERROR DEF INED BY PUT SUB 016704 wike 040326 037516 ;WAIT FOR WRITE COMMAND TO COMPLETE AND READ STATUS JSR PC,T1MOUT ;WAIT FOR COMMAND TO COMPLETE PC.GET JSR :GO READ REGISTERS VIA GET SUB 040512 016704 053016 90$: 90% ;G0 T0 908 IF NO ERROR ERROR JMP 1808 ;GO TO 180% IF ERROR WAS FOUND 041344 100%: JSR BR NOP ERROR JSR JMP JSR BR 1108: 100% ;G0 CHECK FOR PRIMARY ERRORS ;GO TO 1008 IF NO ERROR ;RETURN HERE IF ERROR ;ERROR # DEFINED BY PRIERR SUBROUTINE PC,a(SP)+ ;G0 BACK FOR MORE ERROK CHECKS PC,DTASTS ;GO VERIFY RESULTS OF DATA TRANSFER 180% 1108 ;60 TO 180% IF ERROR WAS FOUND ;60 TO 1108 IF NO ERROR ;RETURN HERE IF ERROR PC,a(5P)+ :G0 BACK FOR MORE ERROR CHECKS JSR PC,SECERR 1208 ;60 CHECK FOR SECONDARY ERRORS :6G0 TO 1208 IF NO ERROR :6 PC,a(SP)+ 160 BACK FOR MORE ERROR CHECKS BR 1208: PC,PRIERR ERROR DEFINED BY GET SUB ERROR JSR JMP NOP 016704 :RETURN HERZ IF ERROR JVERIFY RESULTS OF WRITE COMMAND NOP 016704 ;GO TO 1808 IF ERROR WAS FOUND BR NOP 016704 1808 IF ERROR JSR JMP 1808 180$ :ERROR # DEFINED BY DTASTS SUBROUTINE :60 TO 1808 IF ERROR WAS FOUND ;RETURN HERE IF ERROR :ERROR # DEFINED BY SECERR SUBROUTINE ;60 TO 1808 IF ERROR WAS FOUND CZRMDCO RMO3/2 FCINL TST 2 CZRMDC.P 12-DEC-78 08:24 132 §133 §134 $135 5136 016556 016564 012737 004737 5138 §139 016572 016576 000240 104000 §137 016570 000404 000053 037766 §140 016576 000137 g}:g 016602 016704 §143 S146 §145 016602 016606 004737 004737 040326 037516 §147 $148 016614 016616 000240 104000 g};? 016624 5146 016612 000404 MACY11 30A(1052) - 04=JAN-79 114 001400 016626 016630 016632 016634 016636 016640 016644 016644 5154 §155 5156 §157 5158 5159 §160 5161 §162 5163 5164 5165 5166 5167 016652 016656 016656 016660 016664 016664 §169 5170 §171 §172 §173 g};g 016672 016674 016676 016700 016704 016704 016650 004737 000405 000240 104000 004736 000137 004737 041344 5168 016670 000405 000240 104000 004736 000137 BR 1308 ;60 10 1508 IF NO ERROR JMP 1808 :GO TO 1808 IF ERROR WAS FOUND 1408 ;60 TO 1408 IF NO ERROR JAP 1808 ;GO TO 1808 IF ERROR WAS FOUND NOP ERROR 1408 : 1508: 053016 BR NOP ERROR JSR JMP PC,a(SP)+ 1808 JSR BR PC,DTASTS 1608 JMP PC,a(SP)+ 180$ ;G0 VERIFY RESULTS OF DATA TRANSFER :60 TO 1608 IF NO ERROR :RETURN HERE IF ERROR :ERROR # DEFINED BY DTASTS SUBROUTINE :60 BACK FOR MORE ERROR CHECKS ;60 TO 1808 IF ERROR WAS FOUND JSR PC,SECERR :60 CHECK FOR SECONDARY ERRORS PC,a(SP)+ 180% :RETURN HERE IF ERROR :ERROR # DEFINED BY SECERR SUBROUTINE 160 BACK FOR MORE ERROR CHECKS :60 TO 1808 IF ERROR WAS FOUND NOP ERROR JSR 1608: BR 016704 1708 1808 : NOP ERROR JSR JMP 5177 SeTEST 15 §179 5180 5181 §182 016704 016704 016706 016710 15115: g}g? 016732 5178 I 016714 016720 016724 013700 013701 012737 001100 001276 001450 000015 ;RETURN HERE IF ERROR ERROR DEF INED BY GET SUB :VERIFY THE RESULTS OF WRITE CHECK OPERATION JSR PC,PRIERR ;60 CHECK FOR PRIMARY ERRORS A 5185 §184 5185 :RETURN HERE IF ERROR "ERROR DEF INED BY PUT SUB BR 5176 000004 000240 012706 SEQ 0107 :WAIT FOR WRITE CHECK TO COMPLETE AND GET STATUS JSR PC,TIMOUT :WAIT FOR WRITE CHECK TO FINISH JSR PC.GET :60 READ REGISTERS VIA GET SUB 016704 016704 9 PAGE 107 ;WRITE CHECK HEADER AND DATA FOR SECTORS JUST WRITTEN MOV #UCH' GO, RMCS10 :READ HEADER & DATA COMMAND JSR PC,PUT GO WRITE REGISTERS VIA PUT SUB 1308: 040512 004737 000405 000240 104000 004736 000137 D FORMAT MULTIPLE SECTORS NOP ERROR §149 016620 000137 016704 §152 5153 11:23 001226 108: SCOPE NOP MOV MOV MOV MOV 1508 ;60 TO 1508 IF NO ERROR ;RETURN MERE IF ERROR :ERROR # DEFINED BY PRIERR SUBROUTINE :G0 BACK FOR MORE ERROR CMECKS ;60 T0 1808 IF ERROR WAS FOUND 1708 R ;60 TO 1708 IF NO ERROR T R N RN R R RN R RN TR AR FORMAT W/ HEAD SWITCHING T NN T #STACK,SP $BASE ,RO TSTQUE ,R1 #15,8TESTN RN T R R R AN NN RRRRR OO RN RN RN :SCOPE CALL :START OF TEST :INITIALIZE STACK POINTER RRRR :RO=UNIBUS ADDRESS :(R1) = DEVICE BEING TESTED ::SET TEST NUMBER IN APT MAIL BOX CZRMDCO RMO3/2 FCINL TST 2 CZRMOC.P11 12-DEC-78 08:24 5188 016732 $191 016746 012737 O1 001432 MOV $193 §19¢ $195 $196 §197 ;}33 016762 016770 016776 017006 017012 017016 012737 012737 012737 012737 004737 103564 000062 065106 000001 036620 001404 001400 001174 001176 h MOV hY MOV JSR $200 $201 §202 §203 5204 §205 §206 017016 017022 01702¢ 017026 017030 017032 004737 154130 000404 000240 104000 000137 034000 017460 017036 017046 017050 017054 017060 012737 012702 112722 112722 112722 000005 001535 000006 000034 000032 017070 017074 112722 004737 000200 037766 §219 §220 017102 017106 000240 104000 ggg; 017112 §192 016740 016754 ;ggg 017036 §209 5210 5211 §212 §213 5214 5215 §216 §217 017064 012737 000037 012737 176774 112722 5218 017100 000404 §221 017460 5225 §226 §227 5228 5229 §230 017112 017116 017122 037432 040326 017122 004737 §232 §233 017130 017132 000240 104000 §231 004737 004737 017126 000404 001406 001402 ) 208: MOV #3{. RMOAO MOV #<C<<4256.>2>+1> ,RMICO; WORD COUNT FOR 2 SECTORS #inTi6,RMOFO #BUF ONE , RMBAO #VN,RACS10 #1EROS , STAPO 71, 8THP1 PC . GENBUF ;PREPARE DEVICE JSR LWORD BR NOP ERROR JAP 308 : 001400 :START AT LAST SECTOR 216 BIT FORMAT :DATA BUFFER ADDRESS :WRITE HEADER AND DATA :USE ALL ZEROS DATA PATTERN ;60 GENERATE DATA BUFFER FOR DATA TRANSFER PC,TSTPRP :PREPARE DEVICE FOR TEST 154130 ;TASK DESCRIPTOR 308 ;60 TO 308 IF NO ERROR :RETURN MERE IF ERROR :ERROR # DEFINED BY TSTPRP SUBROUTINE 1808 ;60 TO 1808 IF ERROR WAS FOUND ;SETUP PARAMETERS AND EXECUTE SEEK TO GET DRIVE ON CYLINDER MOV MOV MOVE MOVB MOVB 000000 017106 000137 §224 001434 SEQ 0108 :SETUP PARAMETERS FOR GENERATING DATA BUFFER 90 0,.RMDCO R :CYLINDER = 0 MOV 5189 $190 012737 E 9 MACY11 30A(1052) 04=JAN-79 11:23 PAGE 108 115 FORMAT W/ HEAD SWITCHING MOVB MOVB JSR BR NOP ERROR 408: JAP #SEEK'GO,RMCS10 #PUTINX,R2 #RMDA, (R2)+ #RMDC.(R2)+ WRMOF . (R2)+ :CHANGE COMMAND TO SEEK :WRITE REGISTER INDEX TABLE #RMCST, (R2)+ #200,(R2)+ PC,PUT : :GO WRITE REGISTERS VIA PUT SUB 408 ;60 T0 408 IF NO ERROR 1808 ;GO TO 1808 IF ERROR WAS FOUND ;RETURN HERE IF ERROR “ERROR DEF INED BY PUT SUB :SETUP FOR READING STATUS AND THEN WAIT FOR SEEK TO COMPLETE 508: JSR JSR PC,GETSTS PC.TIMOUT :60 READ SEEK STATUS JSR PC,GET 037516 ;SETUP FOR STATUS :WAIT FOR SEEK TO COMPLETE :GO READ REGISTERS VIA GET SUB BR 60$ :60 T0 608 IF NO ERROR JHP 1808 ;GO TO 1808 IF ERROR WAS FOUND NOP ERROR :RETURN MERE IF ERROR “ERROR DEFINED BY GET SUB 5234 017134 000137 017460 gggz 017140 608 : §237 5238 ;VERIFY THE RESULTS OF THE SEEK COMMAND JSR PC,SEKSTS ;60 VERIFY RESULTS OF SEEK OPERATION 5239 §240 §241 5262 017140 017144 017146 017150 017152 004737 000405 000240 104000 004736 045420 5243 01715¢ 000137 017460 : BR NOP ERROR JSR JMP 708 PC,a(SP)+ 1808 ;60 TO 708 IF NO ERROR ;RETURN HERE 1F ERROR ‘ERROR # DEFINED BY SEKSTS SUBROUTINE GO BACK FOR MORE ERROR CHECKS :60 TO 1808 IF ERROR WAS FOUND CZRMDCO RMO3/2 FCTNL TST 2 12-DEC-78 08:24 CZRMDC.P11 5268 5269 5270 5271 5272 5273 5274 5275 5276 5277 5278 5279 5280 5281 5282 5283 5284 5285 5286 5287 5288 5289 5290 5291 5292 5293 5294 5295 5296 5297 5298 5299 017160 bgu--ou ~NNNNNNSN 001400 SEQ 0109 ;SETUP AND EXECUTE WRITE HEADER AND DATA COMMAND MoV MOV MOVB MOVB MOVB MOVB JSR BR O NNSNNNNN — ee s b % NN w ~NO 017230 017234 017240 017262 017244 017246 017252 NOP e 017460 ERROR JAP JSR JSR BR = 017460 NOP ERROR JAP JSR BR NOP s 017460 053016 e 041344 80% 1808 :GO WRITE REGISTERS VIA PUT SUB :60 10 808 IF NO ERROR :RETURN HERE IF ERROR :ERROR DEF INED BY PUT SUB ;GO TO 1808 IF ERROR WAS FOUND PC,TIMOUT PC,GET 90$ ;60 T0 908 IF NO ERROR 1808 ;GO TO 1808 IF ERROR WAS FOUND :RETURN HERE IF ERROR *ERROR DEF INED BY GET SUB 120%: 001400 PC,PRIERR 1008 :60 CHECK FOR PRIMARY ERRORS ;60 TO 1008 IF NO ERROR ;RETURN HERE IF ERROR JSR PC,DTASTS ;60 VERIFY RESULTS OF DATA TRANSFER JMP 1808 1108 ;60 TO 1808 IF ERROR WAS FOUND :60 TO 1108 IF NO ERROR :RETURN MERE IF ERROR ERROR JSR JMP PC,a(SP)+ 1808 :ERROR # DEFINED BY DTASTS SUBROUTINE :GO BACK FOR MORE ERROR CHECKS ;60 TO 1808 IF ERROR WAS FOUND JSR PC,SECERR ;G0 CHECK FOR SECONDARY ERRORS BR 017460 :WAIT FOR COMMAND TO COMPLETE :GO READ REGISTERS VIA GET SUB :ERROR # DEFINED BY PRIERR SUBROUTINE 160 BACK FOR MORE ERROR CHECKS NOP ERROR JSR JMP 1208 ;60 TO 1208 IF NO ERROR :RETURN HERE IF ERROR PC,a(SP)+ 1808 *ERROR # DEFINED BY SECERR SUBROUTINE GO BACK FOR MORE ERROR CHECKS :60 TO 1808 IF ERROR WAS FOUND :WRITE CHECK HEADER AND DATA FOR SECTORS JUST WRITTEN MOV JSR BR NOP 017460 PC,PUT PC,a(SP)+ BR 017460 000053 037766 #200, (R2)+ ERROR JSR NOP 012737 004737 000404 000240 104000 000137 :LOAD WRITE HEADER AND DATA CEXTEND REGISTER INDEX TABLE #RMCST, (R2)+ :VERIFY RESULTS OF WRITE COMMAND 040512 017272 017272 017276 017300 017302 017304 017306 017312 017312 017316 017320 017322 017324 017326 017332 #UH' GO, RNCS10 SPUTINX+3,R2 #RMWC,(R2)+ #RMBA.(R2)+ :WAIT FOR WRITE COMMAND TO COMPLETE AND READ STATUS 040326 037516 017252 017256 017260 017262 017264 017266 017332 017340 017344 017346 017350 017352 000063 001540 000002 000004 000000 000200 037766 ? 017160 017166 017172 017176 017202 017206 017212 017216 017220 017222 017224 017230 9 70%: -ON 5264 5245 52646 5247 5268 5269 5250 5251 5252 5253 5254 5255 5256 5257 5258 5259 5260 5261 5262 5263 5264 5265 5266 5267 F MACY1T 30A(1052) 04=JAN-T79 11:23 PAGE 109 115 FORMAT W/ HEAD SWITCHING ERROR JMP #UCH'GO,RMCS10 :READ HEADER & DATA COMMAND PC,PUT 1308 :6GO WRITE REGISTERS VIA PUT SUB ;60 1O 13508 IF NO ERROR 1808 :GO TO 1808 IF ERROR WAS FOUND :RETURN HERE IF ERROR ‘ERROR DEF INED BY PUT SUB CZRMDCO RMO3/2 FCTHL TST 2 CZRRDC.P1 12-DEC-78 08:2¢4 ;;8? 017356 5302 5303 5304 017356 017362 004737 004737 5306 5307 017370 017372 000240 104000 5305 5308 ;g?g 017366 017374 017400 5311 5312 017400 5313 017404 5314 017406 5315 017410 5316 017412 5317 017414 5318 017420 5319 017420 5320 0174264 5321 017426 5322 017430 5323 017432 5324 017434 5325 017440 5326 017440 5327 017444 5328 017446 5329 017450 5330 017452 5331 ‘017454 5332 017460 5333 017460 5334 6 9 MACY11 30A(1052) 04=JAN-79 11:23 PAGE 110 115 FORMAT W/ HEAD SWITCHING SEa 0110 1308: 000404 000137 017460 004737 000405 000240 104000 004736 000137 040512 004737 000405 000240 104000 004736 000137 05301¢ 004737 000405 000240 104000 004736 000137 ;MAIT FOR WRITE CHECK TO COMPLETE AND GET STATUS JSR PC,TIMOUT sWAIT FOR WRITE CHECK TO FINISH JSR PC,GET ;GO READ REGISTERS VIA GET SuB 040326 037516 BR 1408 ;G0 10 1408 IF NO ERROR JWP 1808 ;GO TO 1808 IF ERROR WAS FOUND NOP ERROR 1408: sRETURN HERE IF ERROR :ERROR DEF INED BY GET SUB ;VERIFY THE RESULTS OF WRITE CHECK OPERATION 017460 1508 : 017460 1608: 041344 017460 1708: 180%: JSR BR NOP ERROR JSR JMP PC,PRIERR 1508 JSR BR NOP ERROR JSR JMP PC,DTASTS 1608 JSR BR NOP ERROR JSR JMP PC,SECERR 170% PC,a(SP)+ 180% PC,a(SP)+ 180% PC,a(SP)+ 180% ;G0 CHECK FOR PRIMARY ERRORS ;60 TO 1508 IF NO ERROR :RETURN HERE IF ERROR ;ERROR # DEFINED BY PRIERR SUBROUTINE ;G0 BACK FOR MORE ERROR CHECKS ;60 TO 180% IF ERROR WAS FOUND ;G0 VERIFY RESULTS OF DATA TRANSFER ;60 TO 160% IF NO ERROR :RETURN HERE IF ERROR :ERROR # DEFINED BY DTASTS SUBROUTINE ;G0 BACK FOR MORE ERROR CHECKS ;60 TO 180% IF ERROR WAS FOUND ;G0 CHECK FOR SECONDARY ERRORS ;60 TO 170% IF NO ERROR ;RETURN HERE IF ERROR ;ERROR # DEFINED BY SECERR SUBROUTINE ;GO BACK FOR MORE ERROR CHECKS ;GO TO 180% IF ERROR WAS FOUND 5335 Re e sy 5337 B e R R e ey 5336 ;*TEST 16 5338 5339 5340 5341 5342 5343 5344 2;22 017460 017460 017462 017464 017470 017474 017500 017506 000004 000240 012706 013700 013701 012737 1ST16: 001100 001276 001450 000016 001226 5347 5348 017506 012737 000000 001434 5350 017522 012737 010000 001432 5352 5353 5354 5355 017536 017544 017552 017560 012737 012737 012737 012737 103564 000062 0651064 000001 001404 001400 001174 001176 5349 017514 012737 002037 001406 5351 017530 012737 17677« 001402 108: SCOPE NOP MOV MoV MoV MoV FORMAT W/ MID TRANSFER SEEK #STACK,SP $BASE ,RO TSTQUE ,R1 #16,$TESTN : SCOPE CALL :START OF TEST sINITIALIZE STACK POINTER :RO=UNIBUS ADDRESS :(R1) = DEVICE BEING TESTED :sSET TEST NUMBER IN APT MAIL BOX ;SETUP PARAMETERS FOR GENERATING DATA BUFFER MOV #0,RMDCO ;CYLINDER = 0 MOV #002037 ,RMDAO MoV #<A(<c4256.>92>+1> ,RMUCO; WORD COUNT FOR 2 SECTORS MOV MOV MOV MOV Mov #ENT16,RMOFO #BUFONE ,RMBAO #WH,RACS10 #ZEROS ,$TMPO AL ;START AT LAST TRACK & SECTOR :16 BIT FORMAT :DATA BUFFER ADDRESS ;WRITE HEADER AND DATA ;USE ALL ZEROS DATA PATTERN CZRMDCO RMO3/2 FCTNL TST 2 CIRMDC.P11 12-DEC-78 08:24 $356 gggg §359 5360 §361 §362 $363 §364 5365 g;g? 5368 $369 §370 §371 §372 §373 5374 §375 5376 §377 5378 5379 5380 017566 004737 036620 017572 e 2X’°7 034000 017572 017576 017600 017602 017604 017606 017612 154, 0 0004us 000240 104000 000137 017612 017620 017626 017630 017634 017640 017644 017650 017656 017656 017660 012737 012702 112722 112722 112722 112722 112722 00737 000404 000240 104000 017662 ;gg; 017666 000137 000005 001535 000006 000034 000032 000000 000200 037766 004737 004737 037432 040326 017676 004737 037516 §391 §392 017706 017706 000240 104000 §393 017710 000137 g;gg 017714 5396 $397 $368 §399 5400 5401 017714 017720 017722 0177264 017726 2:82 017734 5405 5406 017734 004737 000405 000240 104000 004736 001400 §407 54,08 5409 017742 017746 017752 56411 017762 5410 01775 001540 000002 000004 112722 000200 112722 000000 FOR DATA TRANSFER PC,TSTPRP :PREPARE DEVICE FOR TEST 154130 308 ;TASK DESCRIPTOR :60 TO 308 IF NO ERROR ;RETURN HERE IF ERROR :ERROR # DEFINED BY TSTPRP SUBROUTINE :60 TO 1808 IF ERROR WAS FOUND 180% JMP 1808 ;G0 READ SEEK STATUS JSR PC,GET ;GO TO 1808 IF ERROR WAS FOUND 608 : :GO READ REGISTERS VIA GET SUB BR 60% :60 T0 608 IF NO ERROR JMP 1808 ;GO TO 1808 IF ERROR WAS FOUND NOP ERROR :RETURN MERE IF ERROR ‘ERROR DEF INED BY GET SUB :VERIFY THE RESULTS OF THE SEEK COMMAND 045420 012702 112722 112722 :60 GENERATE DATA BUFFER :SETUP FOR READING STATUS AND THEN WAIT FOR SEEK TO COMPLETE JSR PC,GETSTS ;SETUP FOR STATUS JSR PC.TIMOUT :WAIT FOR SEEK TO COMPLETE 508: 020234 000063 PC, GENBUF ' ;SETUP PARAMETERS AND EXECUTE SEEK TO GET DRIVE ON CYLINDER MOV #SEEK'GO,RMCS10 :CHANGE COMMAND TO SEEK MOV #PUTINX,R2 :WRITE REGISTER INDEX TABLE MOVB #RMDA, (R2)+ MOVE #RMDC.(R2)+ MOVB #RMOF . (R2)+ MOVB #RMCST,(R2)+ MOVB #200,(R2)+ JSR PC,PUT :60 WRITE REGISTERS VIA PUT SUB BR 40$ :60 TO 408 IF NO ERROR NOP :RETURN HERE IF ERROR ERROR “ERROR DEF INED BY PUT SUB 408: JSR BR NOP ERROR JSR §402 017730 000137 020234 012737 JSR :PREPARE DEVICE JSR .WORD BR NOP ERROR JAP 308 : 020234 017666 017672 017676 000404 208: 020234 5383 5384 5385 5386 5387 5388 5389 §390 017702 H9 MACY11 30A(1052) 04=-JAN-79 11:23 PAGE 111 116 FORMAT W/ MID TRANSFER SEEK 708 : . 001400 JMP PC,SEKSTS 708 PC,a(SP)+ 1808 : ;60 VERIFY RESULTS OF SEEK OPERATION ;60 TO 708 IF NO ERROR ;RETURN HERE IF ERROR :ERROR # DEFINED BY SEKSTS SUBROUTINE 160 BACK FOR MORE ERROR CHECKS :60 TO 180$ IF ERROR WAS FOUND :SETUP AND EXECUTE WRITE HEADER AND DATA COMMAND MOV #WH'GO,RMCS10 :LOAD WRITE HEADER AND DATA MOV MOVB MOVB MOVB MOVB #PUTINX+3,R2 #RMWC, (R2)+ #RMBA.(R2)+ #RMCST, (R2)+ #200, (R2)+ "EXTEND REGISTER INDEX TABLE SEQ 0111 CZRMDCO RMO3/2 FCTNL T1ST 2 12-DEC-78 08:24 CZRMOC.P11 5612 5613 514 5615 5616 5617 5618 5619 5620 5621 5622 5623 5624 017766 017772 017774 017776 020000 020004 004737 MACY1 3??;1052) 037766 19 04=JAN-T79 11:23 PAGE 112 FORMAT W/ MID TRANSFER SEEK JSR BR -, 020234 NOP ERROR JAP JSR JSR BR NOP - 020234 ERROR JMP JSR BR NOP 020234 . 053016 12 0461344 o 001400 5463 5464 5465 5467 004737 004737 000404 000240 104000 000137 1808 ;60 T0 908 IF NO ERROR :RETURN MERE IF ERROR -ERROR DEF INED BY GET SUB ;GO TO 1808 IF ERROR WAS FOUND PC.PRIERR 1008 :60 CHECK FOR PRIMARY ERRORS :60 TO 1008 IF NO ERROR :RETURN HERE IF ERROR PC.DTASTS ;60 VERIFY RESULTS OF DATA TRANSFER ERROR JSR JMP ERROR JSR JMP 1808 1108 :60 TO 1808 IF ERROR WAS FOUND ;60 TO 1108 IF NO ERROR :RETURN HERE IF ERROR PC,a(SP)+ "ERROR # DEFINED BY DTASTS SUBROUTINE GO BACK FOR MORE ERROR CHECKS PC,SECERR ;65 CHECK FOR SECONDARY ERRORS 1808 1208 ;60 TO 1808 IF ERROR WAS FOUND ;60 TO 1208 IF NO ERROR :RETURN HERE PC,a(SP)+ 1808 IF ERROR "ERROR # DEFINED BY SECERR SUBROUTINE 160 BACK FOR MORE ERROR CHECKS :60 TO 1808 IF ERROR WAS FOUND ;WRITE CHECK HEADER AND DATA FOR SECTORS JUST WRITTEN MOV JSR BR NOP ERROR 104000 020132 020136 020142 020144 020146 020150 90$ :WAIT FOR COMMAND TO COMPLETE :GO READ REGISTERS VIA GET SUB JSR JSR BR 020234 5461 5462 PC, TIMOUT PC.GET PC.a(SP)+ JMP NOP 020132 ;GO TO 1808 IF ERROR WAS FOUND :ERROR # DEFINED BY PRIERR SUBROUTINE 160 BACK FOR MORE ERROR CMECKS BR 020234 000137 1808 :RETURN MERE IF ERROR ‘ERROR DEF INED BY PUT SUB ERROR JSR NOP 5459 :60 T0 808 IF NO ERROR :VERIFY RESULTS OF WRITE COMMAND 040512 000053 037766 :GO WRITE REGISTERS VIA PUT SUB 80$ :WAIT FOR WRITE COMMAND TO COMPLETE AND READ STATUS 040326 037516 012737 004737 000404 000240 PC,PUT SEQ 0112 130%: JMP #WCH!GO,RMCS10 PC,PUT ;READ HEADER & DATA COMMAND -GO WRITE REGISTERS VIA PUT SUB 1308 ;60 TO 1308 IF NO ERROR 1808 ;GO TO 1808 IF ERROR WAS FOUND :RETURN MERE IF ERROR "ERROR DEF INED BY PUT SUB :WAIT FOR WRITE CHECK TO COMPLETE AND GET STATUS JSR JSR BR NOP ERROR JHP PC, TIMOUT PC.GET 1408 1808 ;WAIT FOR WRITE CHECK TO FINISH ;60 READ REGISTERS VIA GET SUB :60 TO 1408 IF NO ERROR :RETURN HERE IF ERROR ‘ERROR DEF INED BY GET SUB ;GO TO 1808 IF ERROR WAS FOUND CZRMDCO RMO3/2 FCINL 1ST 2 CIRRDC.P1Y 12-DEC-78 08:2¢ $468 $469 5¢70 S&71 020154 020154 004737 $473 $476 S475 020162 020164 020166 000240 104000 004736 $477 54«78 5479 5480 5481 5¢<82 5483 5484 5485 5486 5487 5¢88 5489 $490 5491 020174 02017& 020200 020202 020204 020206 020210 020214 020214 020220 020222 020224 020226 020230 020234 $472 5476 §492 5493 SEQ 0113 1408: 020160 000405 020170 “ J 9 MACY11 30A(1052) O4=-JAN-79 11:23 PAGE 113 116 FORMAT W/ MID TRANSFER SEEK VERIFY THE RESULTS OF WRITE CHECK OPERATION JSR PC,PRIERR ;G0 CHECK FOR PRIMARY ERRORS 040512 000137 020234 004737 000405 000240 104000 004736 000137 053016 004737 000405 000240 104000 004736 000137 041344 B8R NOP ERROR JSR 1508: 020234 1608 : 02023 1708: 1808: 020234 JAP JSR BR NOP ERROR JSR JMP JSR BR NOP ERROR JSR JMP 1508 :60 T0 1508 IF NO ERROR PC,a(SP)+ 180% PC,DTASTS 1608 PC,a(SP)+ 1808 . PC,SECERR 1708 PC,a(SP)+ 1808 :RETURN HERE IF ERROR *ERROR # DEFINED BY PRIERR SUBROUTINE ;60 BACK FOR MORE ERR." CHECKS :60 T0 180% 1. ERROR WAS FOUND ;G0 VERIFY RESULTS OF DATA TRANSFER ;60 TO 1608 IF NO ERROR :RETURN HERE IF ERROR ;ERROR # DEFINED BY DTASTS SUBROUTINE ;G0 BACK FOR MORE ERROR CHECKS :60 TO 1808 IF ERROR WAS FOUND ;60 CHECK FOR SECONDARY ERRORS ;60 ' 1708 1F NO ERROR ;RETURN HERE IF ERROR sERROR # DEFINED BY SECERR SUBROUTINE .60 BACK FOR MORE ERROR CHECKS :60 TO 1808 IF ERROR WAS FOUND 549‘ ;:'ttt'."."""""'""'""""'""'tl"l't't"'t""t'tt't' 5495 SeTEST 17 s‘% 5497 $498 5499 5500 §501 5502 5503 3?8? 5506 020234 020234 020236 020240 020244 020250 020254 020262 000004 000240 012706 013700 013701 012737 | 001100 001276 001450 000017 001226 $507 5508 §509 020262 020270 020276 012737 012737 012737 000000 000000 010000 001434 001406 001432 §511 §512 §513 §514 5515 ;g}g 020312 020320 020326 020334 020342 020346 012737 012737 012737 012737 004737 103564 000062 065104 000001 036620 001404 001400 001174 001176 5518 5519 §520 020346 020352 004737 154130 034000 §510 020 §521 §522 5523 FORMAT W/ IMPLIED SEEK ";t.""'l"'t""""""'"'."'"""""..'..t""'t'tl"t"' 020354 020356 020360 012737 000404 000240 104000 15117: 108: SCOPE NOP MOV MOV MOV MOV #STACK,SP $BASE , RO TSTQUE R #17,8TESTN :SCOPE CALL :START OF TEST sINITIALIZE STACK POINTER *RO=UNIBUS ADDRESS :(R1) = DEVICE BEING TESTED ;:SET TEST NUMBER IN APT MAIL BOX ;SETUP PARAMETERS FOR GENERATING DATA BUFFER 176774 001402 MOV MOV MOV #0,RMDCO #0.RMDAO #FAT16,RMOFO :CYLINDER = 0 :TRACK = SECTOR = 0 116 BIT FORMAT MOV MOV MOV MOV JSR #BUFONE ,RMBAO #WH,RNCS10 #1EROS , STMPO #1,8THP1 PC,GENBUF ;DATA BUFFER ADDRESS :WRITE HEADER AND DATA :USE ALL ZEROS DATA PATTERN MOV 208: #<A(<<24256.>¢2>41> ,RMWCO; WORD COUNT FOR 2 SECTORS ;60 GENERATE DATA BUFFER :PREPARE DEVICE FOR DATA TRANSFER JSR PC,TSTPRP :PREPARE DEVICE FOR TEST LWORD 154130 ;TASK DESCRIPTOR BR NOP ERROR 308 > :60 TO 308 IF NO ERROR :RETURN MERE IF ERROR sERROR # DEFINED BY TSTPRP SUBROUTINE CIRMDCO RMO3/2 FCTNL TST 2 CIRMOC.P11 12-DEC-78 08:24 $52¢ ;ggz 020362 020366 5527 $528 020 000137 021032 013737 001434 §529 §530 §531 §532 §533 §534, 020376 020402 020410 020414 020620 0206264 012737 012737 012702 112722 112722 112722 001466 000005 001535 000006 000034 000032 §536 $S537 020634 020440 112722 004737 000200 037766 5539 §540 02 020450 000240 104000 ;g:g 020456 §535 $538 §541 020430 020444 020452 112722 000404 000137 021032 020456 020462 020466 004737 004737 037432 040326 020466 004737 037516 5552 5553 020474 020476 000240 104000 ;g;z 020504 §55¢ 5557 5558 §559 §560 5561 5562 §563 gggg 5566 020472 020500 020504 020510 020512 020514 020516 020520 020524 000404 000137 021032 004737 000405 000240 045420 104000 004736 000137 021032 5567 5568 §569 §570 §571 020524 020532 020540 020544 020550 013737 012737 012702 112722 112722 021034 000063 001540 000002 000004 5573 §574 020560 020564 112722 004737 000200 037766 §576 §577 020572 020574 000240 104000 §579 020602 §572 020554 308: 021034 nov 001434 001400 §578 020576 000137 021032 1808 ;60 TO 1808 IF ERROR WAS FOUND #822. .RMOCO #SEEK {GO,RMCS10 #PUTINX,R2 FRMDA, (R2)+ FRMDC.(R2)+ #RMOF . (R2)+ MOVB JSR #200, (R2)+ PC,PUT BR NOP ERROR 408: RMDCO, 1908 MOV MOV MoV MOVB MOVB MOVB MOVB JMP :SAVE CYLINDER ADDRESS :SEEK TO LAST CYLINDER :CHANGE COMMAND TO SEEK ‘WRITE REGISTER INDEX TABLE #RMCST,(R2)+ :G0O WRITE REGISTERS VIA PUT SuB 408 :60 TO 408 IF NO ERROR 1808 :GO TO 1808 IF ERROR WAS FOUND sRETURN HERE IF ERROR :ERROR DEF INED BY PUT SUB sSETUP FOR READING STATUS AND THEN WAIT FOR SEEK TO COMPLETE JSR PC,GETSTS ;SETUP FOR STATUS JSR PC.,TIMOUT sWAIT FOR SEEK TO COMPLETE 508: ;G0 READ SEEK STATUS JSR PC,GET 608 : :GO READ REGISTERS VIA GET SuB BR 60$ :60 TO 608 IF NO ERROR JHP 1808 ;GO TO 1808 IF ERROR WAS FOUND NOP ERROR sRETURN HERE IF ERROR :ERROR DEFINED BY GET SuB JVERIFY THE RESULTS OF THE SEEK COMMAND JSR PC,SEKSTS ;60 VERIFY RESULTS OF SEEK OPERATION BR 70$ ;60 TO 708 IF NO ERROR NOP :RETURN HERE IF ERROR ERROR ;ERROR # DEFINED BY SEKSTS SUBROUTINE JSR PC,a(SP)+ ;60 BACK FOR MORE ERROR CHECKS JMP 1808 ;60 TO 1808 IF ERROR WAS FOUND 708: 001434 001400 ;SETUP AND EXECUTE WRITE HEADER AND DATA COMMAND MOV MOV MOV MOVB MOVB 112722 000000 §575 020570 000404 JAP SEQ 0114 sSETUP PARAMETERS AND EXECUTE SEEK TO GET DRIVE OFF CYLINDER 000000 5544 5545 5546 §547 5548 5549 5550 §551 K 9 MACY11 30A(1052) 04=JAN-79 11:23 PAGE 114 1"z FORMAT W/ IMPLIED SEEK MOVB MOVB JSR BR NOP ERROR 80$: JMP 1908 , RMDCO #UH'GO,RACS10 #PUTINX+3,R2 #RMWC,(R2)+ W#RMBA.(R2)+ :RESTORE DISK ADDRESS :LOAD WRITE HEADER AND DATA CEXTEND REGISTER INDEX TABLE #RMCST,(R2)+ #200, (R2)+ PC,PUT :6G0 WRITE REGISTERS VIA PUT SUB 80$ ;60 T0 80 1F NO ERROR 1808 ;GO TO 1808 IF ERROR WAS FOUND :RETURN HERE IF ERROR ‘ERROR DEFINED BY PUT SUB CZRMDCO RMO3/2 FCINL TST 2 CZRRDC.P11 12-DEC-78 08:24 5580 §581 $582 $583 020602 020606 004737 004737 §585 5586 020614 020616 000240 104000 g;gs 020624 $584 $587 020612 020620 000404 000137 021032 040512 020626 004737 §593 5594 §595 §596 $597 5598 020632 020634 020636 020640 020644 020644 000240 104000 004736 000137 021032 004737 053016 5600 5601 5602 020652 020654 020656 000240 104000 004736 020630 000405 $599 020650 000405 5603 5604 5605 5606 §607 5608 5609 §610 §611 BR 90$ :60 70 908 IF NO ERROR JMP 1808 :GO TO 1808 IF ERROR WAS FOUND NOP ERROR 908 : :RETURN WERE IF ERROR ERROR DEFINED BY GET SuB JVERIFY RESULTS OF WRITE COMMAND JSR PC,PRIERR ;60 CHECK FOR PRIMARY ERRORS BR 1008 1008 :60 T0 1008 IF NO ERROR NOP ERROR JSR JMP . PC,a(SP)+ 1808 ;RETURN HERE IF ERROR :ERROR # DEFINED BY PRIERR SUBROUTINE ;60 BACK FOR MORE ERROR CHECKS :60 TO 1808 IF ERROR WAS FOUND JSR PC,DTASTS ;GO VERIFY RESULTS OF DATA TRANSFER BR NOP ERROR JSR PC,a(SP)+ 1808 ;60 TO 1108 IF NO ERROR 004737 000405 000240 104000 004736 000137 041344 021032 5616 020704 020712 012737 004737 000053 037766 5618 §619 020720 020722 000240 104000 2253 020730 1308 : 5623 5626 §625 020730 020734 004737 004737 :WAIT FOR WRITE CHECK TO COMPLETE AND GET STATUS JSR PC, TIMOUT :WAIT FOR WRITE CHECK TO FINISH JSR PC.GET ;60 READ REGISTERS VIA GET SUB §627 5628 020742 020744 000240 104000 ;g;? 020752 5632 5633 020752 004737 5635 020760 000240 5614 $615 §617 020716 000404 §620 020726 000137 021032 §626 020740 000404 040326 037516 5629 020746 000137 021032 §634 020756 000405 040512 1208: 001400 JSR BR NOP ERROP JSR JMP PC,SECERR 1208 PC,a(SP)+ 1808 . :RETURN HERE IF ERROR sERROR # DEFINED BY DTASTS SUBROUTINE ;60 BACK FOR MORE ERROR CHECKS 021032 1108: JMP 1108 000137 2013 020660 020664 020664 020670 020672 020674 020676 020700 020704 SEQ 0115 :WAIT FOR WRITE COMMAND TO COMPLETE AND READ STATUS JSR PC, TIMOUT :WAIT FOR COMMAND TO COMPLETE JSR PC.GET :GO READ REGISTERS VIA GET SUB 040326 037516 5590 $591 §592 L 9 MACY11 30A(1052) 04=JAN-79 11:23 PAGE 115 17 FORMAT W/ IMPLIED SEEK ;60 TO 1808 IF ERROR WAS FOUND ;60 CHECK FOR SECONDARY ERRORS ;60 T0 1208 IF NO ERROR :RETURN MERE IF ERROR ;ERROR # DEFINED BY SECERR SUBROUTINE 160 BACK FOR MORE ERROR CMECKS ;60 TO 1808 IF ERROR WAS FOUND :WRITE CHECK HEADER AND DATA FOR SECTORS JUST WRITTEN MOV #UCH' GO,RMCS10 ;READ HEADER & DATA COMMAND JSR BR NOP ERROR JMP :6G0 WRITE REGISTERS VIA PUT SUB 1308 ;60 TO 1308 IF NO ERROR 1808 ;GO TO 1808 IF ERROR WAS FOUND :RETURN HERE IF ERROR ‘ERROR DEF INED BY PUT SUB BR 1408 :60 TO 1408 IF NO ERROR JMP 1808 ;GO TO 1808 IF ERROR WAS FOUND NOP ERROR 1408 : PC,PUT ;RETURN HERE IF ERROR ‘ERROR DEFINED BY GET SUB :VERIFY THE RESULTS OF WRITE CHECK OPERATION JSR PC,PRIERR ;60 CHECK FOR PRIMARY ERRORS BR NOP 1508 :60 TO 1508 IF NO ERROR ;RETURN HERE IF ERROR CZRMDCO RHOSIZ FCTNL TST 2 CIRMDC.P11 12-DEC-78 08:2¢4 020762 020764 MACY1 3??;1052) 104000 004736 000137 i 021032 053016 04=JAN-79 FORMAT W/ 041344 ;ERROR # DEFINED BY PRIERR SUBROUTINE 160 BACK FOR MORE ERROR CHECKS JSR PC,DTASTS ;60 VERIFY RESULTS OF DATA TRANSFER JWP s 180%: 190%: 200%: 1808 1608 :60 T0 1808 IF ERROR WAS FOUND :60 TO 1608 IF NO ERROR ;RETURN HERE IF ERROR ERROR JSR PC,a(SP)+ :ERROR # DEFINED BY DTASTS SUBROUTINE 160 BACK FOR MORE ERROR CHECKS JSR PC,SECERR ;60 CHECK FOR SECONDARY ERRORS NOP ERROR JSR PC,a(SP)+ :RETURN HERE IF ERROR "ERROR # DEFINED BY SECERR SUBROUTINE :GO BACK FOR MORE ERROR CHECKS BR 2008 JNP BR 021032 SEQ 0116 IMPLIED SEEK PC,A(SP)¢ NOP - n9 PAGE 116 ERROR JSR BR 021032 11:23 JMP .WORD 1808 1708 1808 - :60 TO 1808 IF ERROR WAS FOUND :60 T0 1708 IF NO ERROR ;60 TO 1808 IF ERROR WAS FOUND ;TEMPORARY STORAGE """""l"'.""""""t"')"'l"..""'l.'.'t'i"'tt.'t" SETEST 20 FORMAT EACH SECTOR ADDRESS ".'""""t"""Q'.'"'.'.""""..l".l""ll""...""l' t§120: NNNNNNNNN L pd L L NNNNNNNNYN — 8°°°°°°°° SN 000000 8?0000 0000 177376 103564 000062 001406 000001 036620 I - et b bt et = (O SFEENFEER 021064 — — 001100 001276 001450 000020 034000 001226 001434 001406 001432 001402 001404 001400 001174 001176 = SCOPE NO® MOV MOV MOV MOV $BASE , RO TSTQUE ,R1 #20,8TESTN :RO=UNIBUS ADDRESS :(R1) = DEVICE BEING TESTED ::SET TEST NUMBER IN APT MAIL BOX :SETUP PARAMETERS FOR GENERATING DATA BUFFER MOV #0,RMDCO :CYLINDER = 0 MOV #0.RMDAO :TRACK = SECTOR = 0 158: MOV #FMT16,RMOFO 116 BIT FORMAT MOV #<AC<24256.>41> ,RMWCO :2 + 256 WORDS MOV #RUF ONE , RMBAO :DATA BUFFER ADDRESS MOV MOV MOV 20%: JSR :PREPARE DEVICE JSR LWORD BR NOP 021562 #STACK,SP :SCOPE CALL :START OF TEST SINITIALIZE STACK POINTER - ERROR JMP #UH,RACS10 #RADAO, STHPO 9,8THP1 PC . GENBUF ‘WRITE HEADER AND DATA :USE SECTOR FOR DATA PATTERN :60 GENERATE DATA BUFFER FOR DATA TRANSFER PC,TSTPRP :PREPARE DEVICE FOR TEST 154130 ;TASK DESCRIPTOR 308 ;60 TO 308 IF NO ERROR :RETURN HERE IF ERROR 1908 JERROR # DEFINED BY TSTPRP SUBROUTINE :60 TO 1908 IF ERROR WAS FOUND - -_—-— NNNNNNNNNN WNONNNONNNO W NN N 000063 001535 MACYT 001400 2338 SR o =0y 20 037432 021260 021264 021270 021272 021274 021276 021302 040326 037516 N9 PAGE 117 FORMAT EACH SECTOR ADDRESS 06=JAN-79 MoV MOVE MOVB MOVEB MOVB MOVB PPUTINX,R2 FRMDA, (R2)+ #RMDC.(R2)+ FRMOF.(R2)+ FRMJC.(R2)+ FRMBA.(R2)+ MOVB JSR #200,(R2)+ PC,PUT MOVB NOP - ERROR JAP JSR BR e #RMCST,(R2)+ 80$ 1908 GO WRITE REGISTERS VIA PUT SUB :60 10 80% IF NO ERROR :RETURN MERE IF ERROR -ERROR DEF INED BY PUT SUB ;GO 10 1908 IF ERROR WAS FOUND PC,GETSTS ERROR JMP 90$ 1908 :60 70 90% 1F NO ERROR :RETURN HERE e 053016 PC.PRIERR BR 1008 ERROR JSR PC,a(SP)+ :ERROR # DEFINED BY PRIERR SUBROUTINE 160 BACK FOR MORE ERROR CHECKS JSR PC,DTASTS ;60 VERIFY RESULTS OF DATA TRANSFER JMP B8R NOP B 021562 041344 001404 ERRORS GO T0 100$ IF NO ERROR :RETURN HERE IF ERROR :60 TO 1908 IF ERROR WAS FOUND :60 TO 1108 If NO ERROR :RETURN HERE IF ERROR PC,a(SP)+ JSR PC,SECERR :60 CHECK FOR SECONDARY ERRORS JMP ERROR JSR 001400 1108 FOR PRIMARY :ERROR # DEFINED BY DTASTS SUBROUTINE G0 BACK FOR MORE ERROR CHECKS NOP 120%: 1908 ;G0 CHECK ERROR JSR BR 021562 ERROR ISR NOP 021562 IF "ERROR DEF INED BY GET SUB ;GO T0 1908 IF ERROR WAS FOUND ;VERIFY RESULTS OF WRITE COMMAND 040512 104570 ‘WRITE REGISTER INDEX TABLE ;WAIT FOR WRITE COMMAND TO COMPLETE AND READ STATUS JSR PC, TIMOUT :WAIT FOR COMMAND TO COMPLETE JSR PC.GET :GO READ REGISTERS VIA GET SUB 021562 000073 SEQ 0117 ;SETUP INPUT REGISTER BUFFER FOR READING STATUS NOP 004736 11:23 ;SETUP AND EXECUTE WRITE HEADER AND DATA COMMAND MOV #UN'GO,RACS10 ;MRITE HEADER AND DATA BR 021562 021254 SLFRRURZE VRN WVWS W NOWVE W =00 AV IV TV T AV TV LW AN TV W TV LV RV LW L LV IV TV LV LV L LV A i oLV IV TV TV IV YW W LV IV TV IV IV 1Y NNV NNNNNNNNNNNNNNN NNNNNNNNNNANNNNNNNNNNNNY &~ F okkX [k NNNNNNNNNN s o ¥ AV (W LW Ll 021254 S?A(IOSZ) . e ss888 — et ell b i B D s e B s il s b O 5692 NN NN N CZRMDCO RMO3/2 FCTNL TST 2 CIRRDC.PYY 12-DEC-78 08:24 JMP 1908 1208 PC,a(SP)+ 1908 ;60 TO 1908 IF ERROR WAS FOUND ;60 T0 120$ IF NO ERROR :RETURN HERE IF ERROR :ERROR # DEFINED BY SECERR SUBROUTINE :6G0 BACK FOR MORE ERROR CHECKS ;G0 TO 1908 IF ERROR WAS FOUND :READ HEADER AND DATA FOR SECTOR JUST WRITTEN MOV #RH'GO,RMCS10 ;READ HEADER & DATA COMMAND MOV #BUF TWO,RMBAOD :CHANGE BUS ADDRESS CZIRMDCO RMO3/2 FCTNL TST 2 CZRMDC.P11 12-DEC-78 08:2¢4 $7¢8 021376 004737 §750 §751 0214064 021406 000240 104000 g;;z 021414 §749 021402 000404 §752 021410 021562 040326 037516 021414 021420 004737 004737 §759 §760 021426 021430 000240 104000 §758 021424 000404 §761 037766 000137 €755 §756 §757 021432 000137 021562 5764 §765 021436 004737 040512 §767 5768 5769 021446 021446 021450 000240 104000 004736 5771 §772 5773 5774 §775 5776 §777 5778 §779 021456 021456 021462 021464 021466 021470 021472 021476 021476 5781 5782 5783 5784 5785 5786 5787 021504 021506 021510 021512 021516 §794 021534 ;;gg 021436 5766 §770 021442 021452 5780 021502 5788 5789 §79C §791 §792 5793 021516 021522 0215264 021526 021530 021532 ;;32 021540 §797 5798 5799 $800 5801 5802 021540 021546 021554 021556 021562 000405 000137 021562 004737 000405 000240 104000 004736 000137 053016 021562 004737 041344 000405 000240 104000 004736 000137 004737 103564 104570 000404 000240 104000 8 10 MACYT1 30A(1052) O04=JAN-T9 11:23 PAGE 118 120 FORMAT EACH SECTOR ADDRESS JSR B8R NOP ERROR 1308 : 062737 122737 103402 000137 000001 000037 021100 :60 10 1308 IF NO ERROR 1908 ;GO TO 1908 IF ERROR WAS FOUND " ;RETURN MERE IF ERROR -ERROR DEF INED BY PUT SUB . B8R 1408 ;60 10 1408 IF NO ERROR JMP 1908 ;GO TO 1908 IF ERROR WAS FOUND NOP ERROR 1408 : ;RETURN HERE IF ERROR ERROR DEF INED BY GET SUB :VERIFY THE RESULTS OF READ OPERATION JSR PC,PRIERR ;G0 CHECK FOR PRIMARY ERRORS BR NOP ERROR JSR 1508: 1608: JMP 1708: 1908 ;60 TO 1908 IF ERROR WAS FOUND PC,a(SP)+ 1908 ;60 VERIFY RESULTS OF DATA TRANSFER :60 TO 1608 IF NO ERROR ;RETURN HERE IF ERROR :ERROR # DEFINED BY DTASTS SUBROUTINE :G0 BACK FOR MORE ERROR CHECKS ;60 TO 1908 IF ERROR WAS FOUND JSR PC,SECERR ;60 CHECK FOR SECONDARY ERRORS PC,a(SP)+ 190$ ;RETURN HERE IF ERROR :ERROR # DEFINED BY SECERR SUBROUTINE :G0 BACK FOR MORE ERROR CHECKS ;60 TO 1908 IF ERROR WAS FOUND NOP ERROR JSR JMP JSR .WORD .WORD BR NOP ERROR 001406 001406 PC,a(SP)+ :60 TO 1508 1F NO ERROR :RETURN HERE IF ERROR :ERROR # DEFINED BY P:IERR SUBROUTINE 160 BACK FOR MORE ERROR CHECKS PC,DTASTS 1608 JVERIFY DATA 1808 : 1508 JSR BR NOP ERROR JSR JMP BR 037064 021562 -GO WRITE REGISTERS VIA PUT SUB 1308 ;WAIT FOR READ TO COMPLETE AND GET STATUS JSR PC, TIROUT :WAIT FOR READ TO COMPLETE JSR PC.GET :60 READ REGISTERS VIA GET SUB 021562 000137 JAP PC,PUT SEQ 0118 JMP 1708 PC,CMPBUF BUFONE BUFTWO 1808 1908 :60 TO 1708 IF NO ERROR ;GO COMPARE WRITE, READ DATA BUFFERS :STARTING ADDRESS OF WRITE BUFFER :STARTING ADDDRESS OF READ BUFFER ;60 TO 1808 IF NO ERROR ;RETURN HERE IF ERROR :ERROR # DEFINED BY CMPBUF SUBROUTINE ;60 TO 1908 IF ERROR WAS FOUND : INCREMENT ADDRESS AND FORMAT NEXT SECTOR ADD #1,RMDAO ;ADVANCE SECTOR COUNT CMPB #31.,RMDAO :DONE ALL SECTORS?? BLO 1908 TYES!! JAP 158 160 DO NEXT SECTOR 190%: CZRMDCO RMO3/2 FCTINL TS 2 CZRMDC P 12-DEC-78 08:24 MACYT] 5804 5805 30A(1052) 121 ML AR A 04=JAN-79 is121: 001100 001276 001450 000021 R NN 000000 000000 010000 177376 103564 000062 001406 000001 036620 021674 021700 021702 021704 021706 021710 021714 004737 024000 — e et e e o 021610 021616 021624 021632 021640 021646 021654 021662 021670 021674 OCOO0O0O0O0O0O0O 021610 022004 022010 SEQ 0119 AR A A A A A A A A A A A A R A R R R R e R R R R S L] FORMAT EACH TRACK ADDRESS ::"""""""'""""""""""".""Q"".""I..Q""." 021562 022000 c10 PAGE 119 FORMAT EACH TRACK ADDRESS TRTEST 21 154130 W RN NDNNDO W ~ NN N g b —b d D d b b b — NN NN 104000 000137 SCOPE NOP 00 226 001434 . MOV MOV MOV MOV 158: MOV MoV MOV s ,RMDCO #0.RMDAO PEMT16,RMOFO :CYLINDER = 0 :TRACK = SECTOR = 0 116 BIT FORMAT #BUF OVE , RMBAO #VH,RACS10 :DATA BUFFER ADDRESS ‘WRITE HEADER AND DATA :USE TRACK FOR DATA PATTERN PC . GENBUF ;60 GENERATE DATA BUFFER MOV MOV #RMDAO, $THPO #1,8THP1 JSR ;2 + 256 WORDS :PREPARE DEVICE FOR DATA TRANSFER JSR LWORD BR 022306 b 001400 ERROR JHP PC,TSTPRP 154130 308 :PREPARE DEVICE FOR TEST ;TASK DESCRIPTOR ;60 TO 308 IF NO ERROR :RETURN HERE IF ERROR :ERROR # DEFINED BY TSTPRP SUBROUTINE ;60 TO 1908 IF ERROR WAS FOUND 1908 ;SETUP AND EXECUTE WRITE HEADER AND DATA COMMAND MOV MoV MOVB MOVB MOVB MOVB MOVB MOVB MOVB 037766 JSR BR NOP 022306 TSTQUE , R #21,8TESTN TEST :INITIALIZE STACK POINTER :RO=UNIBUS ADDRESS :(R1) = DEVICE BEING TESTED ::SET TEST NUMBER IN APT MAIL BOX #<*(<24256.>41> RMUCO NOP 000063 001535 #STACK,SP $BASE , RO [ [1]'] MOV MOV 001176 :SCOPE CALL :START OF ;SETUP PARAMETERS FOR GENERATING DATA BUFFER 000404 000240 e el = L =] 021714 021722 021726 021732 021736 021742 021746 021752 021756 021762 021766 021770 021772 021774 022000 11:23 - ERROR JMP #WH'GO,RNCS10 #PUTINX,R2 #RMDA, (R2)+ #RMDC.(R2)+ :WRITE HEADER AND DATA ‘WRITE REGISTER INDEX TABLE #RMOF . (R2)+ #RMWC.(R2)+ #RMBA.(R2)+ N #RMCST,(R2)+ #200, (R2)+ PC,PUT 80$ 1908 :GO WRITE REGISTERS VIA PUT SUB ;60 TO 80% IF NO ERROR :RETURN HERE IF ERROR :ERROR DEFINED BY PUT SUB ;G0 TO 1908 IF ERROR WAS FOUND ;SETUP INPUT REGISTER BUFFER FOR READING STATUS JSR PC,GETSTS ;WAIT FOR WRITE COMMAND TO COMPLETE AND READ STATUS JSR JSR PC,TIMOUT PC,GET sWAIT FOR COMMAND TO COMPLETE ;60 READ REGISTERS VIA GET SuB CZRMDCO RMO3/2 FCTNL TST 2 CZRMOC.P11 12-DEC-78 08:24 5860 5861 5862 022014 022016 022020 2323 022026 5863 022022 000404 000240 104000 000137 022306 040512 5866 5867 022026 004737 5869 5870 5871 022034 022036 022040 000240 104000 004736 5868 5872 022032 0220642 000405 000137 022306 004737 053016 5873 5876 022046 022046 5876 5877 5878 5879 5880 5881 5882 5883 5884 5885 5886 5887 5888 5889 5890 5891 5892 5893 022054 022056 022060 022062 022066 022066 022072 022074 022076 022100 022102 022106 022106 022114 022122 012737 012737 004737 5895 5896 022130 022132 000240 104000 S875 5894 022052 5900 000240 104000 004736 000137 004737 000405 000240 104000 004736 000137 022126 000404 5897 022134 gggg 000405 022140 022140 022144 004737 004737 5904 5905 022152 022154 000240 104000 ggg; 022162 §903 022150 000404 5910 022162 004737 §912 5913 §914 022170 022172 022174 000240 104000 004736 §911 022166 000405 908 : BR 1008: 040326 037516 040512 5915 022176 000137 022306 1908 :60 TO 908 if NO ERROR :RETURN HERE IF ERROR ERROR DEFINED BY GET SUB ;G0 TO 1508 IF ERROR WAS FOUND 1108: 1208: 001400 001404 1008 :60 TO 1008 IF NO ERROR NOP ERROR JSR PC,a(SP)+ :RETURN HERE IF ERROR :ERROR # DEFINED BY PRIERR SUBROUTINE 160 BACK FOR MORE ERROR CHECKS JSR PC,DTASTS ;60 VERIFY RESULTS OF DATA TRANSFER PC,a(SP)+ 1908 :RETURN HERE IF ERROR :ERROR # DEFINED BY DTASTS SUBROUTINE 160 BACK FOR MORE ERROR CHECKS ;60 TO 1908 IF ERROR WAS FOUND JAP BR 022306 000073 104570 037766 JAP 908 SEQ 0120 ;VERIFY RESULTS OF WRITE COMMAND JSR PC,PRIERR ;60 CHECK FOR PRIMARY ERRORS 041344 §906 022156 000137 022306 $909 BR NOP ERROR 022306 000137 022306 5901 §902 D10 MACY11 30A(1052) 04=JAN-79 11:23 PAGE 120 121 FORMAT EACH TRACK ADDRESS NOP ERROR JSR JMP JSR BR NOP ERROR JSR JMP 1908 1108 PC,SECERR 1208 PC,a/SP)+ 1908 ;60 TO 1908 IF ERROR WAS FOUND ;60 TO 1108 IF NO ERROR ;60 CHECK FOR SECONDARY ERRORS :60 TO 1208 IF NO ERROR :RETURN HERE IF ERROR :ERROR # DEFINED BY SECERR SUBROUTINE ;G0 BACK FOR MORE ERROR CMECKS ;G0 T0 1908 IF ERROR WAS FOUND :READ HEADER AND DATA FOR SECTOR JUST WRITTEN MOV #RH'GO,RNCS10 :READ HEADER & DATA COMMAND MOV #BUF TWO , RMBAD :CHANGE BUS ADDRESS JSR PC,PUT :GO WRITE REGISTERS VIA PUT SUB BR 1308 ;60 TO 1308 IF NO ERROR JMP 1908 ;GO TO 1908 IF ERROR WAS FOUND NOP ERROR 1308 : ;RETURN HERE IF ERROR ‘ERROR DEF INED BY PUT SUB ;WAIT FOR READ TO COMPLETE AND GET STATUS JSR JSR BR NOP ERROR 1408 : JMP PC,TIMOUT PC.GET :WAIT FOR READ TO COMPLETE :60 READ REGISTERS VIA GET SUB 1408 :60 TO 1408 IF NO ERROR 1908 ;GO TO 1908 IF ERROR WAS FOUND :RETURN MERE IF ERROR ERROR DEFINED BY GET SUB :VERIFY THE RESULTS OF READ OPERATION JSR BR NOP ERROR JSR JMP PC,PRIERR :60 CHECK FOR PRIMARY ERRORS PC,a(SP)+ :RETURN HERE IF ERROR :ERROR # DEFINED BY PRIERR SUBROUTINE :60 BACK FOR MORE ERROR CHECKS 1508 1908 :60 T0 1508 1F NO ERROR ;60 TO 1908 IF ERROR WAS FOUND E 10 MACY11 30A(1052) 04=-JAN-79 11:23 PAGE 121 121 FORMAT EACH TRACK ADDRESS EZIHDCO RMO3/2 FCINL TST 2 IRMDC.PIN 12-DEC-78 08:24 $916 $917 022202 022202 $919 5920 5921 022210 022212 022214 $923 5924 022222 022222 §926 5927 5928 §929 $930 §931 5932 5933 5934 5935 5936 $937 5938 $939 ;gf? 022230 022232 022234 022236 022242 000240 104000 004736 000137 022242 022246 022250 022252 02225¢ 022256 022260 022264 004737 103564 104570 000404 000240 104000 000137 5942 5943 5944 §945 5946 ;gfg 022264 022272 022300 022302 022306 062737 022737 103402 000137 $918 §922 $925 004737 022206 000405 022216 000137 022306 022226 000405 004737 041344 000240 104000 004736 1508: 053016 PC,DTASTS ;G0 VERIFY RESULTS OF DATA TRANSFER NOP ERROR JSR PC,a(SP)+ :RETURN MERE IF ERROR sERROR # DEFINED BY DTASTS SUBROUTINE ;60 BACK FOR MORE ERROR CHECKS JSR PC,SECERR ;60 CHECK FOR SECONDARY ERRORS BR 1608: , JMP BR 022306 1708: NOP ERROR JSR JMP :VERIFY DATA JSR .WORD .WORD BR NOP ERROR JMP 1808 : 037064 022306 000400 002000 JSR 001406 001406 021624 SEQ 011 1608 :60 TO 160% IF NO ERROR 190% 1708 ;60 TO 1908 IF ERROR WAS FOUND : :60 T0 1708 IF NO ERROR PC,a(SP)+ 1908 "i'u'" HERE IF ERROR JERROR # DEFINED BY SECERR SUBROUTINE ;60 BACK FOR MORE ERROR CHECKS :60 TO 1908 IF ERROR WAS FOUND PC,CMPBUF BUFONE BUFTWO ;G0 COMPARE WRITE, READ DATA BUFFERS ;STARTING ADDRESS OF WRITE BUFFER sSTARTING ADDDRESS OF READ BUFFER 180% 1908 ;60 TO 180% IF NO ERROR ;RETURN MERE IF ERROR sERROR # DEFINED BY CMPBUF SUBROUTINE :60 TO 1908 IF ERROR WAS FOUND s INCREMENT ADDRESS AND FORMAT NEXT TRACK ADD #400,RMDAO ;ADVANCE TRACK COUNT CHP #2000, RMDAO :DONE ALL TRACKS?? BLO 190% SYES!! JHP 158 160 DO NEXT SECTOR 1908 : 59‘.9 . ttt.ttt""""'t"""""""""ttt""ttttt'l""'ttt'"'t' 5950 ;eTEST 22 5951 §952 $953 5954 5955 5956 §957 5958 ;ggg 5961 5962 5963 5965 5966 §967 5968 5969 5970 5971 FORMAT PRIME CYLINDERS '"t'!""""l't"""""t'""""l"."l't"tt'!""'tt"tt 022306 022306 022310 022312 022316 022322 022326 022334 022334 022342 022350 022356 022 022372 022400 022406 022414 022420 t§122: 000004 SCOPE :SCOPE CALL 000240 012706 001100 NOP MOV #STACK,SP :START OF TEST :INITIALIZE STACK POINTER 013701 012737 001450 000022 MOV MOV TSTQUE , R #22,8TESTN :(R1) = DEVICE BEING TESTED ::SET TEST NUMBER IN APT MAIL BOX 013700 012737 012737 012737 012737 012737 012737 012737 012737 004737 001276 000001 000000 010000 177376 103564 000082 001434 000001 036620 MOV 001226 001434 001406 001432 001402 001404 001400 001174 001176 108: $BASE ,RO :RO=UNIBUS ADDRESS sSETUP PARAMETERS FOR GENERATING DATA BUFFER MOV #1,RMDCO :CYLINDER = 0 MOV #0,RMDAO :TRACK = SECTOR = 0 15%: 20%: MOV MOV MOV MOV MOV MOV JSR #FAT16,RMOFO #<A(<24256.541> RMUCO #BUF ONE , RMBAO #UH,RACS10 #RMDCO, STMPO #1,8THP PC,GENBUF 116 BIT FORMAT :2 + 256 WORDS :DATA BUFFER ADDRESS ‘WRITE HEADER AND DATA :USE CYLINDER FOR DATA PATTERN ;G0 GENERATE DATA BUFFER CZRMDCO RMO3/2 FCTNL TST 2 CZRRDC.PT 12-DEC-78 08:2¢4 5972 2973 5974 §975 §976 §977 5978 §979 ggg? 022620 022624 0226426 022430 022432 022434 022440 004737 154130 000404 000240 104000 000137 034000 5989 022440 022446 022452 0226456 022462 022466 022472 012737 012702 112722 112722 112722 112722 112722 000063 001535 000006 000034 000032 000002 000004 §991 5992 §993 5994 5995 022502 022506 022512 022514 022516 112722 004737 000404 000240 104000 00020C 037766 ;ggg 022524 5982 5983 5984 5985 5986 5987 §996 022476 000000 023030 022524 004737 037432 6003 6004 022530 022534 004737 004737 040326 037516 6006 6007 022542 022544 000240 104000 28?3 022552 6002 6005 022540 000404 6008 022546 000137 6011 6012 022552 004737 6014 6015 6016 022560 022562 022564 000240 104000 004736 6018 6019 022572 022572 004737 6021 6022 6023 022600 022602 022604 000240 104000 004736 6025 6026 022612 022612 6013 022556 000405 023030 040512 6017 022566 000137 023030 6020 022576 000405 053016 6024 022606 000137 023030 004737 6027 022616 000405 :PREPARE DEVICE JSR .NORD BR NOP ERROR JAP 308 : 023030 000137 5999 288? 022520 112722 F 10 MACYT1 30A(1052) 04=-JAN-79 11:23 PAGE 122 122 FORMAT PRIME CYLINDERS 041344 001400 SEQ 0122 FOR DATA TRANSFER PC,TSTPRP :PREPARE DEVICE FOR TEST 154130 ;TASK DESCRIPTOR 308 ;60 TO 308 IF NO ERROR :RETURN HERE IF ERROR ;ERROR # DEFINED BY TSTPRP SUBROUTINE 1908 :60 TO 1908 IF ERROR WAS FOUND sSETUP AND EXECUTE WRITE HEADER AND DATA COMMAND MOV #WH'GO,RNCS10 ;WRITE HEADER AND DATA MOV #PUTINX ,R2 ;WRITE REGISTER INDEX TABLE MOVB FRMDA, (R2)+ MOVB #RMDC.(R2)+ MOVB #RMOF . (R2)+ MOVB #RMWC.(R2)+ MOVB WRMBA.(R2)+ MOVB MOVB JSR BR NOP ERROR 80$: JMP FRMCST,(R2)+ #200,(R2)+ PC,PUT ;60 WRITE REGISTERS VIA PUT SuB 80$ :60 TO 80% IF NO ERROR :RETURN HERE IF ERROR ;ERROR DEFINED BY PUT SuB 1908 . ;GO TO 1908 IF ERROR WAS FOUND ;SETUP INPUT REGISTER BUFFER FOR READING STATUS JSR PC,GETSTS sWAIT FOR WRITE COMMAND TO COMPLETE AND READ STATUS JSR JSR PC,TIMOUT PC,GET B8R NOP ERROR 908 : JMP - 90$ :60 T0 90% 1F NO ERROR 190% ;60 10 1§0$ I1F ERROR WAS FOUND :VERIFY RESULTS OF WRITE COFFAND JSR ;G0 CHECK FOR PRIMARY ERRORS NOP ERROR JSR PC,a(SP)+ sRETURN HERE IF ERROR ‘ERROR # DEFINED BY PRIERR SUBROUTINE :G0 BACK FOR MORE ERROR CHECKS JSR PC,DTASTS ;60 VERIFY RESULTS OF DATA TRANSFER NOP ERROR JSR PC,a(SP)+ :RETURN HERE IF ERROR *ERROR # DEFINED BY DTASTS SUBROUTINE 160 BACK FOR MORE ERROR CMECKS JSR PC,SECERR :60 CHECK FOR SECONDARY ERRORS JWP BR 1108: ;RETURN HERE IF ERROR :ERROR DEFINED BY GET SuB PC,PRIERR BR 1008: sWAIT FOR COMMAND TO COMPLETE :GO READ REGISTERS VIA GET SUB JMP BR 1008 190$ 1108 1908 1208 ;60 T0 1008 IF NO ERROR ;60 TO 1908 IF ERROR WAS FOUND :60 TO 1108 IF NO ERROR :60 T0 1908 IF ERROR WAS FOUND ;60 T0 1208 IF NO ERROR CZRMDCO RMO3/2 FCTINL TST 2 12-DEC-78 08:2¢4 CZRMDC.P11 6028 29 022620 610 MACY11 30A(1052) 04=JAN=79 11:23 PAGE 123 122 FORMAT PRIME CYLINDERS 000240 104000 NOP ERROR JSR 023030 022632 022632 022640 000073 104570 037766 023030 040326 037516 : 1208 001400 001404 JNP 040512 1908 053016 041344 022766 022772 022774 022776 023000 023002 023030 004737 037064 103564 104570 000404 000240 104000 ;GO TO 1908 IF ERROR WAS FOUND :60 T0 13508 IF NO ERROR JMP 190% :60 TO 1908 IF ERROR WAS FOUND 130%: ;RETURN HERE IF ERROR ; ERROR DEF INED BY PUT SuB ;WAIT FOR READ TO COMPLETE AND GET JSR JSR BR 16408: ERROR JMP 140% 190% STATUS sWAIT FOR READ TO COMPLETE ;GO READ REGISTERS VIA GET SuB ;60 TO 1408 IF NO ERROR ;RETURN HERE 1F ERROR PC,TIMOUT PC,GETY ; ERROR DEF INED BY GET SuB ;G0 T0 1908 IF ERROR WAS FOUND :VERIFY THE RESULTS OF READ OPERATION JSR PC,PRIERR ;GO CHECK FOR PRIMARY ERRORS 150% BR ;60 TO 1508 IF NO ERROR ERROR JSR 150%: JMP JSR BR ;RETURN HERE IF ERROR PC,DTASTS ;GO VERIFY RESULTS OF DATA TRANSFER 190% ;G0 TO 1908 IF ERROR WAS FOUND PC,a(SP)+ 190% JSR PC,SECERR ;60 CHECK FOR SECONDARY ERRORS BR ERROR JSR 170%: ;ERROR # DEFINED BY PRIERR SUBROUTINE ;G0 BACK FOR MORE ERROR CHECKS JMP ERROR JSR 160%: PC,a(SP)+ ;60 TO 1608 IF NO ERROR ;RETURN HERE IF ERROR ;ERROR # DEFINED BY DTASTS SUBROUTINE ;G0 BACK FOR MORE ERROR CHECKS ;60 TO 1908 IF ERROR WAS FOUND NOP 000137 :60 BACK FOR MORE ERROR CHECKS 1308 NOP ERROR NOP 023030 1F ERROR ;ERROR # DEFINED BY SECERR SUBRCUTINE BR NOP 023030 ;RETURN HERE JREAD HEADER AND DATA FOR SECTOR JUST WRITTEN MOV #RH!GO,RNCS10 sREAD HEADER & DATA COMMAND MoV #BUF TWO,RMBAO : CHANGE BUS ADDRESS JSR PC,PUT :60 WRITE REGISTERS VIA PUT SUB NOP 023030 : PC,a(SP)+ SEQ 0123 JMP :VERIFY DATA JSR .WORD .WORD BR NOP ERROR 160% 1708 ;60 T0 1708 IF NO ERROR ;RETURN HERE IF ERROR PC,a(SP)+ 1908 ;ERROR # DEFINED BY SECERR SUBROUTINE ;G0 BACK FOR MORE ERROR CHECKS ;G0 TO 1908 IF ERROR WAS FOUND PC,CMPBUf BUFONE BUF TWO :GO COMPARE WRITE, READ DATA BUFFERS :STARTING ADDRESS OF WRITE BUFFER :STARTING ADDDRESS OF READ BUFFER 180% ;60 TO 1808 IF NO ERROR ;RETURN HERE IF ERROR ;ERROR # DEFINED BY CMPBUF SUBROUTINE CZRMDCO RMO3/2 FCTINL TST 2 CIRMDC.P11 12-DEC-78 08:2¢4 6084 gggz 023006 023010 000137 023030 6087 6088 6089 6090 6091 023010 023014 023022 023024 006337 022737 103402 000137 001434 001466 283§ 023030 10 MACY11 30A(1052) 04=JAN-79 11:23 PAGE 126 122 FORMAT PRIME CYLINDERS 1808 : 001434 022350 JAP 190% SEQ 0124 :G0 TO 190% IF ERROR WAS FOUND s INCREMENT ADDRESS AND FORMAT NEXT PRIME CYLINDER ASL RMDCO ;ADVANCE CYLINDER COUNT CHpP #822.,RMOCO ;DONE ALL CYLINDERS?? BLO 1908 TYES!! JWP 158 160 DO NEXT CYLINDER 1908 : 609‘ :;'."""'""""""""""""".""'.".""'."""Q'.'.' 6096 .':"t.""'"""""""""t.t""'l'..t"'"t."""""l"'tl 6095 6097 6098 6099 6100 6101 6102 6103 2}8? 6106 6107 6108 6109 ;*TEST 23 023030 023030 023032 023034 023040 023044 023050 023056 000004 000240 012706 013700 013701 012737 1§123: 001100 001276 001450 000023 001226 108: FORMAT LAST SECTOR SCOPE NOP MOV #STACK,SP $BASE ,RO TSTQUE ,R1 #23,8TESTN MOV MOV MoV ;PREPARE DEVICE JSR LWORD BR FOR DATA TRANSFER PC,TISTPRP ;PREPARE DEVICE FOR TEST 154130 ;TASK DESCRIPTOR 308 ;60 TO 308 IF NO ERROR :RETURN HERE I1F ERROR ;ERROR # DEFINED BY TSTPRP SUBROUTINE 1908 :60 TO 1908 IF ERROR WAS FOUND 6110 6111 6112 2};2 023056 023062 023064 023066 023070 023072 023076 004737 154130 000404 000240 104000 000137 023326 6115 6116 6117 6118 6119 6120 023076 023104 023112 023120 023126 012737 012737 012737 012737 012737 001466 002037 010000 177376 104570 6123 61264 6125 6126 6127 6128 023142 023146 023152 023156 023162 023166 012702 112722 112722 112722 112722 112722 2};? 023176 112722 6132 2}%2 023202 1208 : 6135 6136 023202 004737 :READ HEADER AND DATA OF LAST SECTOR JSR PC,PUT ‘G0 WRITE REGISTERS VIA PUT SUB 6138 6139 023210 023212 000240 104000 g}%; 023134 6129 023172 012737 034000 :SCOPE CALL :START OF TEST SINITIALIZE STACK POINTER *RO=UNIBUS ADDRESS :(R1) = DEVICE BEING TESTED ;:SET TEST NUMBER IN APT MAIL BOX 000073 308 : 001434001406 001432 001402 001404 001400 ;SETUP PARAMETERS FOR READING LAST SECTOR MOV #822..RMDCO ;LAST CYLINDER MOV #2037 ,RMDAO :TRACK = & SECTOR = 31. MOV #EMT16,RMOFO 116 BIT FORMAT MOV #<A(<24256.>41> ,RMWCO :2 + 256 WORDS MOV #BUF TWO, RMBAO :DATA BUFFER ADDRESS MOV #RH'!GO,RMCS10 ;WRITE HEADER AND DATA 001535 000006 000034 000032 000004 000002 MOV MOVE MOVB MOVB MOVB MOVB #PUTINX,R2 #RMDA,(R2)+ #RMDC.(R2)+ #RMOF . (R2)+ W#RMBA.(R2)+ #RMWC . (R2)+ :WRITE REGISTER INDEX TABLE 000200 MOVB 112722 000000 6137 023206 000404 NOP ERROR JMP 037766 MOVB BR NOP ERROR #RMCST, (R2)+ #200, (R2)+ 1308 :60 TO 1508 IF NO ERROR CRETURN MERE IF ERROR ;ERROR DEFINED BY PUT SuB CZRMDCO RMO3/2 FCTNL TST 2 CZRMDC.P 12-DEC-78 08:2¢4 6140 6141 6142 6143 6144 6145 6146 6147 6148 6149 6150 6151 6152 6153 6156 6155 6156 6157 6158 6159 6160 6161 6162 6163 6164 6165 6166 6167 6168 6169 6170 6171 6172 6173 6174 6175 6176 6177 023214 023220 000137 023326 023220 004737 037432 023224 0 004737 004737 000404 000240 040326 037516 000137 023326 104000 023246 023246 023252 023254 023256 023260 023262 023266 023266 023272 MACYTT 3?3;1052) 130%: 04=JAN-79 11:23 FORMAT LAST SECTOR JWP PAGE 125 SEQ 0125 ;60 TO 1908 IF ERROR WAS FOUND ;SETUP INPUT REGISTER BUFFER FOR READING STATUS JSR PC,GETSTS JSR JSR PC, TIMOUT PC.GET :WAIT FOR READ TO COMPLETE AND GET STATUS B8R NOP ERROR : 1408 JMP :WAIT FOR READ TO COMPLETE :60 READ REGISTERS VIA GET SUB 1408 ;60 TO 1408 IF NO ERROR 1908 ;GO TO 1908 IF ERROR WAS FOUND :RETURN HERE IF ERROR ERROR DEF INED BY GET SUB :VERIFY THE RESULTS OF READ OPERATION 040512 JSR BR NOP 023326 e 053016 i 041344 . 023326 IF ERROR 1908 JSR PC,DTASTS ;G0 VERIFY RESULTS OF DATA TRANSFER NOP ERROR JSR PC,A(SP)+ :RETURN HERE IF ERROR :ERROR # DEFINED BY DTASTS SUBROUTINE :6G0 BACK FOR MORE ERROR CHECKS JSR PC,SECERR JMP BR JSR 170%: ;60 TO 1508 IF NO ERROR :RETURN HERE PC,a(SP)+ ERROR 023326 :6G0 CHECK FOR PRIMARY CORORS 1508 :ERROR # DEFINED BY PRIERR SUBROUTINE :G0 BACK FOR MORE ERROR CHECKS :60 TO 1908 IF ERROR WAS FOUND BR 023326 PC,PRIERR ERROR JSR JMP NOP 023326 190% 110 JMP 1608 1908 1708 ;60 TO 1608 IF NO ERROR ; ;60 TO 1908 IF ERROR WAS FOUND :60 CHECK FOR SECONDARY ERRORS :60 T0 1708 IF NO ERROR :RETURN HERE PC,alSP)+ 1908 IF ERROR :ERROR # DEFINED BY SECERR SUBROUTINE 160 BACK FOR MORE ERROR CHECKS :60 TO 1908 IF ERROR WAS FOUND 190%: :;'Qlt.tt"""""'l"""""""'" 1233222323333 SeTEST 24 32323332332222221 FORMAT W/ AOE ERROR ’ """'t.""""""i""'""""l"..'l""l'.l"""'."""' 023326 1S724: 001100 001276 001450 000024 023346 023354 023360 02 034000 104000 $COPE NOP MOV 001226 MOV MOV MOV :SCOPE CALL #STACK,SP $BASE ,RO TSTQUE,R1 #24,$TESTN :START OF TEST SINITIALIZE STACK POINTER :RO=UNIBUS ADDRESS :(R1) = DEVICE BEING TESTED ::SET TEST NUMBER IN APT MAIL BOX :PREPARE DEVICE FOR DATA TRANSFER JSR LWORD BR NOP ERROR PC,TSTPRP 154130 308 :PREPARE DEVICE FOR TEST ;TASK DESCRIPTOR ;60 TO 308 IF NO ERROR :RETURN HERE 1F ERROR :ERROR # DEFINED BY TSTPRP SUBROUTINE WVWNO O &S O~ NN~ U‘g b B D D D el d D et e e — NN NN NN SNNNNNNNNNNNNNSN WO SHr 023374 Fses 6200 MACY1] 023624 —_—— 000137 NN NN O NN N NN NNNNNNNN N NISN N N 023370 023374 d md 6196 6197 ettt 2 v OO OOOOO CZRMDCO RMO3/2 FCTNL TST 2 12-DEC-78 08:24 CZRMDC.P11 000000 000200 004737 000404 000240 104000 000137 023624 037766 04=JAN-79 023510 023512 023516 6225 023516 004737 037432 6228 6229 6230 6231 6232 6233 6234 023522 023526 023532 023534 023536 023540 023544 004737 004737 000404 000240 040326 037516 000137 023624 6237 6238 023544 023550 004737 040512 FORMAT W/ AOE ERROR - JNP 000137 023624 004737 041344 1908 SEQ 0126 :60 TO 1908 IF ERROR WAS FOUND #822. ,RMOCO #2037 . RMDAD #FNT16,RMOFO :START AT LAST CYLINDER :TRACK = & SECTOR = 31. 116 BIT FORMAT MOV MoV #BUF TWO, RMBAO #RA'GO,RNCS10 :DATA BUFFER ADDRESS :WRITE HEADER AND DATA #PUTINX,R2 FRMDA, (R2)+ SRMDC.(R2)+ FRMOF . (RZ2)+ #RMWC.(R2)+ SRMBA.(R2)+ MOVB #200,(R2)+ MOVB 80%: 125%: JSR BR i #< (<<24256.>92>+1> ,RMWCO MOV MOVB MOVB MOVB MOVB MOVB ERROR JHP :FORMAT 2 SECTORS :WRITE REGISTER INDEX TABLE FRACST,(R2)+ PC,PUT 1308 1908 :GO WRITE REGISTERS VIA PUT SUB ;G0 TO 1308 IF NO ERROR :RETURN MERE IF ERROR ERROR DEFINED BY PUT SUB ;GO TO 1908 IF ERROR WAS FOUND :SETUP INPUT REGISTER BUFFER FOR READING STATUS JSR PC,GETSTS ;WAIT FOR READ TO COMPLETE AND GET STATUS JSR PC, TIMOUT :WAIT FOR READ TO COMPLETE JSR PC,GET :60 READ REGISTERS VIA GET SUB B8R ERROR 1408%: JHP 1408 :60 TO 1408 IF NO ERROR 1908 ;GO TO 1908 IF ERROR WAS FOUND :RETURN MERE IF ERROR ‘ERROR DEF INED BY GET SUB :VERIFY THE RESULTS OF READ OPERATION JSR PC,PRIERR :60 CHECK FOR PRIMARY ERRORS NOP ERROR JSR PC,a(SP)+ ;RETURN HERE IF ERROR ‘ERROR # DEFINED BY PRIERR SUBROUTINE :60 BACK FOR MORE ERROR CMECKS JSR PC.DTASTS ;G0 VERIFY RESULTS OF DATA TRANSFER BR e JMP BR NOP 3604 023604 PAGE 126 MOV MOV MOV MOV 053016 6250 6251 J 10 ;SETUP PARAMETERS FOR READING 2 SECTORS STARTING WITH LAST SECTOR NOP 023624 11:23 24 NOP 6220 6221 6222 104000 001434 001406 001432 001402 001404 001400 3?A(1052) o 1508 1908 1608 ;60 T0 1508 IF NO ERROR ;60 TO 1908 IF ERROR WAS FOUND :60 TO 1608 IF NO ERROR :RETURN MERE IF ERROR ERROR JSR PC,a(SP)+ ‘ERROR # DEFINED BY DTASTS SUBROUTINE 160 BACK FOR MORE ERROR CHECKS JSR PC,SECERR ;60 CHECK FOR SECONDARY ERRORS JMP 190$ :60 TO 1908 IF ERROR WAS FOUND CZRMDCO RMO3/2 FCINL TST 2 CZRMDC.P11 12-DEC-78 08:24 6252 6253 6256 6255 023610 023612 023614 023616 6257 6258 6259 6260 023624 6256 023620 000405 000240 104000 004736 000137 kK10 MACY1T 30A(1052) O04=JAN-T79 11:23 PAGE 127 126 FORMAT W/ AOE ERROR BR NOP ERROR JSR 023624 1708: 023624 1708 PC,alSP)+ JAP 1908 SEQ 0127 :60 TO 1708 IF NO ERROR :RETURN HERE IF ERROR :ERROR # DEFINED BY SECERR SUBROUTINE 160 BACK FOR MORE ERROR CMECKS :60 TO 1908 IF ERROR WAS FOUND 1908: 626‘ :;"Q""""Q"""""""""""".l.."..'""'l.l""""'! 6262 :*TEST 25 6263 6264 6265 6266 6267 6268 6269 6270 25;3 6273 6276 023624 02362¢ 023626 023630 02363, 023640 023644 023652 000004 000240 012706 013700 013701 012737 18125: 001100 001276 001450 000025 001226 023652 012737 000000 001434 6276 6277 6278 023666 023674 023702 012737 012737 012737 000000 177376 103564 001432 001402 001404 6280 6281 6282 2532 023716 02372¢ 023732 023736 012737 012737 004737 001406 000001 036620 001174 001176 6285 6286 6287 6288 6289 6290 6291 gggg 023736 023742 023744 023746 023750 023752 023756 004737 154130 000404 000240 104000 000137 034000 6295 6296 6297 6298 6299 6300 6301 023756 023764 023770 023774 024000 024004 024010 012737 012702 112722 112722 112722 112722 112722 000063 001535 000006 000034 000032 000002 000004 6303 6304 024020 024024 112722 004737 000200 037766 6306 6307 024032 024034 000240 104000 6275 6279 629% FORMAT INVALID SECTOR ADDRESS :;"""Q"'l""'"""""".""'....""'.'l"'."'IQ.Q'."" 023660 012737 023710 6302 024014 012737 000036 000062 #STACK,SP $BASE , RO MoV MoV TSTQUE ,R1 #25,8TESTN 158: MOV :(R1) = DEVICE BEING TESTED ::SET TEST NUMBER IN APT MAIL BOX #30. ,RMDAO :TRACK = 0, SECTOR = 30 MOV MOV MOV #0,RMOFO #<AC24256.>41> ,RMUCO #BUF ONE ,RMBAD 118 BIT FORMAT 2 + 256 WORDS :DATA BUFFER ADDRESS MOV MOV JSR #RMDAO, $THPO #1,8THP PC . GENBUF ‘USE SECTOR FOR DATA PATTERN MOV 208: #WUH,RACST10 ;PREPARE DEVICE JSR .WORD BR NOP ERROR JMP 308 : 001400 :SCOPE CALL *START OF TEST sINITIALIZE STACK POINTER :RO=UNIBUS ADDRESS sSETUP PARAMETERS FOR GENERATING DATA BUFFER MoV #0,RMDCO :CYLINDER = 0 001400 024352 112722 000000 6305 024030 000404 001406 108: SCOPE NOP MOV MOV :WRITE HEADER AND DATA ;60 GENERATE DATA BUFFER FOR DATA TRANSFER PC,TSTPRP sPREPARE DEVICE FOR TEST 154130 ;TASK DESCRIPTOR 308 ;60 TO 308 IF NO ERROR ;RETURN HERE IF ERROR sERROR # DEFINED BY TSTPRP SUBROUTINE 1908 :60 TO 1908 IF ERROR WAS FOUND :SETUP AND EXECUTE WRITE HEADER AND DATA COMMAND MOV MOV MOVB MOVB MOVB MOVB MOVB #WH'GO,RMCS10 #PUTINX,R2 #RMDA, (R2)+ #RMDC.(R2)+ #RMOF . (R2)+ #RMWC . (R2)+ #RMBA.(R2)+ MOVB JSR #200, (R2)+ PC,PUT :WRITE HEADER AND DATA :WRITE REGISTER INDEX TABLE MOVB WRMCST, (R2)+ BR NOP ERROR 80$ :6G0 WRITE REGISTERS VIA PUT SUB ;60 T0 80% 1F NO ERROR :RETURN MERE IF ERROR ;ERROR DEFINED BY PUT SuB CZRMDCO RMO3/2 FCINL TST 2 12-DEC-78 08:24 CZRMDC.P11 6308 6309 6310 6311 024036 024042 000137 024352 024042 004737 037432 024046 024052 004737 004737 000404 000240 104000 000137 040326 037516 024070 024070 024074 004737 MACY11 L 10 30A(1052) 04=JAN-79 11:23 PAGE 128 125 FORMAT INVALID SECTCR ADDRESS 80%: JWP JSR 90%: JSR JSR BR NOP ERROR JMP JSR BR 024352 100%: 053016 024352 1108: 041344 ERROR JSR JMP JSR BR NOP ERROR JSR JMP JSR BR NOP 004737 154130 000404 000240 104000 000137 034000 024170 012737 000073 104570 037766 024352 120%: ERROR JSR JMP 000137 024352 024352 _ ;WAIT FOR COMMAND TO COMPLETE ;GO READ REGISTERS VIA GET SuB 90$ :60 T0 908 1F NO ERROR 1908 :GO TO 1908 IF ERROR WAS FOUND :RETURN MERE IF ERROR ERROR DEF INED BY GET SUB PC,PRIERR 100% PC,a(SP)+ 190% PC,DTASTS 1108 PC,a(SP)+ 190% PC,SECERR 120% PC,a(SP)+ 190% ;GO CHECK FOR PRIMARY ERRORS ;60 TO 1008 IF NO ERROR ;RETURN HERE IF ERROR ;ERROR # DEFINED BY PRIERR SUBROUTINE ;GO BACK FOR MORE ERROR CHECKS ;60 TO 1908 IF ERROR WAS FOUND ;60 VERIFY RESULTS OF DATA TRANSFER ;60 TO 1108 IF NO ERROR ;RETURN HERE 1F ERROR ;ERROR # DEFINED BY DTASTS SUBROUTINE ;GO BACK FOR MORE ERROR CHECKS ;GO TO 1908 IF ERROR WAS FOUND ;G0 CHECK FOR SECONDARY ERRORS ;60 TO 1208 IF NO ERROR ;RETURN HERE IF ERROR ;ERROR # DEFINED BY SECERR SUBROUTINE ;G0 BACK FOR MORE ERROR CHECKS ;60 TO 1908 IF ERROR WAS FOUND ;CLEAR ""IAE'" ERROR AND PREPARE DEVICE 125%: 001400 001404 JSR .WORD BR NOP ERROR JMP PC,TSTPRP :PREPARE DEVICE FOR TEST 1564130 ;TASK DESCRIPTOR 125% 1908 ;60 TO 1258 IF NO ERROR ;RETURN HERE IF ERROR ;ERROR # DEFINED BY TSTPRP SUBROUTINE :60 T0 1908 IF ERROR WAS FOUND :READ HEADER AND DATA FOR SECTOR JUST WRITTEN #RH'GO,RNCST0 ;READ HEADER & DATA COMMAND MOV #BUF TWO, RMBAO :CHANGE BUS ADDRESS MOV JSR BR NOP 024216 024222 PC,TIMOUT PC,GET :VERIFY RESULTS OF WRITE COMMAND NOP 024150 024154 024156 024160 024162 024164 024170 PC,GETSTS ;WAIT FOR WRITE COMMAND TO COMPLETE AND READ STATUS 040512 004736 000137 ;GO TO 1908 IF ERROR WAS FOUND ;SETUP INPUT REGISTER BUFFER FOR READING STATUS 024352 024142 024144 024150 1908 SEQ 0128 ERROR 1308: JMP PC,PUT .60 WRITE REGISTERS VIA PUT SUB 1308 ;G0 10 1%0% IF NO ERROR 1908 ;G0 10 1908 IF ERROR WAS FOUND :RETURN HERE IF ERROR ERROR DEFINED BY PUT SUB CZRMDCO RMO3/2 FCTINL TST 2 CZRMDC.P 12-DEC-78 08:24 n10 MACY11 30A(1052) 04=JAN-79 11:23 PAGE 129 125 FORMAT INVALID SECTOR ADDRESS SEQ 0129 6364 6365 2;29 024222 004737 037432 ;SETUP INPUT REGISTER BUFFER FOR READING STATUS JSR PC,GETSTS 6368 6369 6370 026226 024232 004737 004737 040326 037516 ;WAIT FOR READ TO COMPLETE AND GET STATUS JSR PC,TIMOUT :WAIT FOR READ TO COMPLETE JSR PC,GET :GO READ REGISTERS VIA GET SUB 6372 6373 026240 026242 000240 104000 2;;2 024250 6371 6376 024236 026244 6377 6378 024250 6379 024254 6380 024256 6381 024260 6382 026262 6383 026264 6384 026270 6385 024270 6386 0262764 6387 026276 6388 026300 6389 024302 6390 0243064 6391 024310 6392 026310 6393 026314 6394 026316 6395 024320 6396 026322 6397 026326 6398 024330 2283 024330 6401 6402 6403 6604 6405 228? 024330 024336 024344 024346 024352 000404 000137 024352 004737 000405 000240 104000 004736 000137 . 004737 000405 000240 104000 004736 000137 040512 004737 000405 000240 062737 022737 103402 000137 1408 : ;60 TO 1408 IF NO ERROR JMP 1908 :GO 1O 1908 IF ERROR WAS FOUND ;RETURN HERE IF ERROR -ERROR DEF INED BY GET SUB ;VERIFY THE RESULTS OF READ OPERATION JSR PC,PRIERR :G0 CHECK FOR PRIMARY ERRORS BR 1508 ;GO TO 1508 IF NO ERROR NOP :RETURN HERE IF ERROR ERROR :ERROR # DEFINED BY PRIERR SUBROUTINE JSR PC,a(SP)+ ;GO BACK FOR MORE ERROR CMECKS JMP 190% :6G0 TO 1908 IF ERROR WAS FOUND 1508: JSR PC,DTASTS :GO VERIFY RESULTS OF DATA TRANSFER BR 1608 ;GO TO 1608 1F NO ERROR NOP ;RETURN_HERE IF ERROR ERROR ;ERROR # DEFINED BY DTASTS SUBROUTINE JSR PC,alSP)+ ;GO BACK FOR MORE ERROR CMECKS JMP 190% ;60 T0 1908 IF ERROR WAS FOUND 1608: JSR PC,SECERR ;GO CHECK FOR SECONDARY ERRORS BR 170% ;G0 TO 1708 IF NO ERROR NOP :RETURN HERE IF ERROR ERROR ;ERROR # DEFINED BY SECERR SUBROUTINE JSR PC,a(SP)+ ;G0 BACK FOR MORE ERROR CMECKS JMP 1908 ;G0 TO 1908 IF ERROR WAS FOUND 1708: 1808 : _ 024352 053016 024352 041344 024352 000001 000037 1408 NOP ERROR 104000 004736 000137 BR 001406 001406 023666 :INCREMENT ADDRESS AND FORMAT NEXT SECTOR 1908 : ADD CMP BLO JMP #1,RMDAO #31. ,RMDAO 190% 15% ;ADVANCE SECTOR COUNT :DONE ALL SECTORS?? JYES!! :GO DO NEXT SECTOR Moa .',"t'"Q't"""'l""t'0"l"'"'""ll't""l"t"t'tt'.ttl"" 6409 ;*TEST 26 “10 6611 6412 024352 0264352 6614 6415 6616 6417 24;3 024356 024362 026366 024372 024400 6413 'A FORMAT INVALID TRACK ADDRESS ::"t'."'t't"'.'""'".'"""'"".'t".'l"t't"'t't""tt'. 024354 15126: 000004 000240 012706 013700 013701 012737 001100 001276 001450 000026 SCOPE - NOP 001226 108 : MOV MOV MOV MOV ;SCOPE CALL #STACK,SP $BASE ,RO TSTQUE ,R1 #26,$TESTN :START OF TEST :INITIALIZE STACK POINTER :RO=UNIBUS ADDRESS ;(R1) = DEVICE BEING TESTED ;:SET TEST NUMBER IN APT MAIL BOX NNNNNNNNN N e NNNNNNNNY s D e e D ) e o NON g 024400 024406 024414 024422 024430 024436 026444 024452 024460 024464 OCOO0O00O0O0O CIZRADCO RMO3/2 FCTNL TST 2 12-DEC-78 08:24 CIRMOC.P1N 001434 001406 001432 001402 001404 001400 001174 001176 N 10 3?A (1052) 04=JAN-79 11:23 PAGE 130 26 FORMAT INVALID TRACK ADDRESS 158: MOV #FNT16,RMOFO 116 BIT FORMAT MOV #BUF ONE ,RMBAO :DATA BUFFER ADDRESS JSR PC . GENBUF MoV . DEVICE .NORD BR NOP ~ W ~ el e e € (T e e et e e et i — — NN NN NN & 001400 ERROR JMP 024570 004737 037432 024574 024600 024604 024606 024610 024612 024616 004737 004737 000404 000240 040326 037516 000137 025100 024616 024622 024624 024626 024630 004737 000405 000240 040512 104000 104000 004736 :WRITE MEADER AND DATA SUSE SECTOR FOR DATA PATTERN :60 GENERATE DATA BUFFER FOR DATA TRANSFER PC,TSTPRP 154130 308 :PREPARE DEVICE ;TASK DESCRIPTOR FOR TEST :60 TO 308 IF NO ERROR :RETURN HERE IF ERROR "ERROR # DEFINED BY TSTPRP SUBROUTINE :60 TO 1908 IF ERROR WAS FOUND 1908 :SETUP AND EXECUTE WRITE HEADER AND DATA COMMAND MOV MOV MOVB MOVB MOVB MOVB MOVB MOVB MOVB JSR BR NOP 025100 #uH,RACS10 SRADAO, $TAPO 71,8TMP1 ;2 ¢ 256 WORDS 4 JSR 000063 001535 000006 000034 000032 000002 000004 000000 000200 037766 #<*(<24256.241> RMUCO MOV MOV MOV :PREPARE 025100 SEQ 0130 ;SETUP PARAMETERS FOR GENERATING DAiA BUFFER MOV / RRDCO :CYLINDER = 0 Y #2400, RMDAO STRACK = S,SECTOR = 0 & 024464 024470 024472 0246474 024476 024500 024504 024504 024512 024516 024522 024526 024532 024536 024542 024546 024552 024556 024560 024562 024564 024570 MACYI - ERROR JMP #WN ' GO,RNCS10 #PUTINX,R2 #RMDA, (R2)+ #RMDL.(R2)+ #RMOF . (R2)+ #RMWC . (R2)+ :WRITE HEADER AND DATA ‘WRITE REGISTER INDEX TABLE #RMBA. (R2)+ W#RMCST, (R2)+ #200,(R2)+ PC,PUT 80% 1908 :60 WRITE REGISTERS VIA PUT :60 TO 80 IF NO ERROR :RETURN HERE 1F SUB ERROR "ERROR DEF INED BY PUT SUB ;GO TO 1908 IF ERROR WAS FOUND ;SETUP INPUT REGISTER BUFFER FOR READING STATUS JSR PC,GETSTS :WAIT FOR WRITE COMMAND TO COMPLETE AND READ STATUS JSR. PC,TIMOUT :WAIT FOR COMMAND TO COMPLETE JSR PC.GET :GO READ REGISTERS VIA GET SUB BR 90$ :60 T0 908 IF NO ERROR JMP 1908 ;G0 10 1908 IF ERROR WAS FOUND NOP - ERROR 90%: SVERIFY RESULTS OF WRITE COMMAND JSR BR NOP ERROR JSR PC,PRIERR 1008 PC,a(SP)+ :RETURN MERE IF ERROR "ERROR DEFINED BY GET SUB :60 CHECX FOR PRIMARY ERRORS :60 T0 1008 IF NO ERROR :RETURN HERE IF ERROR :ERROR # DEFINED BY PRIERR SUBROUTINE 160 BACK FOR MORE ERROR CHECKS CIRMDCO RMO3/2 FCINL TST 2 CZRMDC.PII 12-DEC-78 08:24 6476 647 647 6479 026632 000137 8 11 MACYTT 30A(1052) 04=JAN=79 11:23 PAGE 131 126 FORMAT INVALID TRACK ADDRESS 025100 : 1008 053016 1908 JSR PC,DTASTS ;G0 VERIFY RESULTS OF DATA TRANSFER PC,a(SP)+ ;RETURN HERE IF ERROR ;ERROR # DEFINED BY DTASTS SUBROUTINE ;GO BACK FOR MORE ERROR CHECKS NOP ERROR JSR 110%: 041344 JMP JSR BR NOP 024670 024672 024676 37 ERROR JSR 025100 120%: JSR .WORD BR NOP ERROR 025100 024716 024724 024732 024736 024740 024742 024744 024750 012737 012737 004737 000404 000240 000073 104570 037766 000137 025100 024750 004737 037432 024754 024760 024764 024766 024770 024772 024776 004737 004737 000404 000240 040326 037516 000137 025100 024776 025002 025004 025006 025010 025012 025016 004737 040512 000137 025100 104000 104000 JNP 1108 1908 PC,SECERR 1208 PC,a(SP)+ 1908 ;60 TO 1108 IF NO ERROR ;60 TO 1908 IF ERROR WAS FOUND ;G0 CHECK FOR SECONDARY ERRORS ;60 70 1208 IF NO ERROR IF ERROR HERE ;RETURN ;ERROR # DEFINED BY SECERR SUBROUTINE :GO BACK FOR MORE ERROR CHECKS ;G0 TO 1908 IF ERROR WAS FOUND ;CLEAR "‘JAE"* ERROR AND PREPARE DEVICE 034000 024676 024702 024704 024706 024710 024712 024716 ;60 TO 1908 IF ERROR WAS FOUND JAP B8R 025100 SEQ 0131 125%: 001400 001404 JHP PC,TSTPRP 154130 125% :PREPARE DEVICE FOR TEST : TASK DESCRIPTOR ;60 TO 1258 IF NO ERROR sRETURN HERE 1F ERROR ;ERROR # DEFINED BY TSTPRP SUBROUTINE ;60 TO 1908 IF ERROR WAS FOUND 1908 :READ HEADER AND DATA FOR SECTOR JUST WRITTEN MOV #RH'GO,RMCSTO sREAD HEADER € DATA COMMAND MOV #BUF TWO,RMBAOD : CHANGE BUS ADDRESS PC,PUT JSR :60 WRITE REGISTERS VIA PUT SuB BR NOP ERROR 130%: JMP 1308 :60 T0 1308 IF NO ERROR 1908 ;60 TO 1908 IF ERROR WAS FOUND sRETURN HERE IF ERROR ;:ERROR DEFINED BY PUT SuB :SETUP INPUT REGISTER BUFFER FOR READING STATUS JSR PC,GETSTS :WAIT FOR READ TO COMPLETE AND GET STATUS PC,TIMOUT JSR ;WAIT FOR READ TO COMPLETE JSR PC,GET ;G0 READ REGISTERS VIA GET SuB 1408 BR ;GO TO 140% IF NO ERROR ;RETURN HERE IF ERROR NOP ERROR 140%: JMP 1908 :ERROR DEF INED BY GET SuB ;60 T0 1908 IF ERROR WAS FOUND :VERIFY THE RESULTS OF READ OPERATION PC,PRIERR JSR ;G0 CHECK FOR PRIMARY ERRORS 1503 BR ;60 TO 1508 IF NO ERROR NOP ;RETURN HERE IF ERROR ERROR ;ERROR # DEFINED BY PRIERR SUBROUTINE PC,a(SP)+ JSR ;60 BACK FOR MORE ERROR CHECKS 150%: JMP 190 ;60 TO 1908 IF ERROR WAS FOUND CZRMDCO RMO3/2 FCINL TST 2 CZRMDC.P11 12-DEC-78 08:24 025016 025022 025024 025026 025030 39521052) 053016 - 061344 A 025056 11:23 cn PAGE 132 SEQ 0132 FORMAT INVALID TRACK ADDRESS JSR PC,DTASTS ;60 VERIFY RESULTS OF DATA TRANSFER PC,a(SP)+ :RETURN MERE IF ERROR *ERROR # DEFINED BY DTASTS SUBROUTINE 160 BACK FOR MORE ERROR CHECKS PC,SECERR ;60 CHECK FOR SECONDARY ERRORS PC,a(SP)+ 1908 :RETURN HERE IF ERROR :ERROR # DEFINED BY SECERR SUBROUTINE :G0 BACK FOR MORE ERROR CHECKS :G0 TO 1908 IF ERROR WAS FOUND NOP ERROR JSR JAP JSR BR 025100 025056 025064 025072 025074 025100 04=JAN-79 BR 025100 NOP ERROR JSR JMP 1608 190$ 1708 :60 TO 1608 IF NO ERROR ;60 TO 1908 IF ERROR WAS FOUND ;60 T0 1708 If NO ERROR 180%: 062737 022737 103402 000137 000400 003400 001406 001406 024414 s INCREMENT ADDRESS AND FORMAT NEXT TRACK ADD #400,RMDAO ;ADVANCE TRACK COUNT CHP #3400, RMDAO :DONE ALL TRACKS?? BLO 1908 SYES!! JHP 158 160 DO NEXT TRACK 190%: ;:"lt't"'""'""'t."t""""""t'.'l'l'""".'..."""t' SeTEST 27 FORMAT INVALID CYLINDER ADDRESS :;"...."t"""""'tt""'Q"'t""'t't""l"'."".i'.""" 1S127: NNNNNNNNN NNNNNNNNN e e e e e e — (VT IV v v LV LV 001100 001276 001450 000027 8°°°°°°°° S oo N 6532 6533 6534 6535 6536 6537 6538 6539 MACYT 025212 025212 025216 025220 025222 025224 025226 025232 001467 000001 036620 004737 154130 000404 000240 034000 000137 025626 104000 001226 001434 001406 001432 001402 001404 001400 001174 001176 > $COPE NOP MOV MOV MOV MOV #STACK,SP $BASE , RO TSTQUE ,R1 #27,8TESTN :SCOPE CALL :START OF TEST :INITIALIZE STACK POINTER :RO=UNIBUS ADDRESS :(R1) = DEVICE BEING TESTED ::SET TEST NUMBER IN APT MAIL BOX ;SETUP PARAMETERS FOR GENERATING DATA BUFFER 158: . MOV MOV MOV #823. ,RMOCO #0,RMDAO #FAT16,RMOFO ;START AT LAST CYLINDER + 1 :TRACK = SECTOR = 0 116 BIT FORMAT MOV #BUF ONE ,RMBAOD :DATA BUFFER ADDRESS MOV MOV MOV MOV JSR #<A(<24256.>41> ,RMUCO #VH,RMCS10 #RMDCO,STMPO #1,$THPI PC . GENBUF ;2 + 256 WORDS :WRITE MEADER AND DATA :USE CYLINDER FOR DATA PATTERN :60 GENERATE DATA BUFFER :PREPARE DEVICE FOR DATA TRANSFER JSR LWORD BR - NOP ERROR JMP PC,TSTPRP 154130 308 1908 ;PREPARE DEVICE FOR TEST ;TASK DESCRIPTOR :60 TO 308 IF NO ERROR :RETURN HERE 1F ERROR *ERROR # DEFINED BY TSTPRP SUBROUTINE ;60 TO 1908 IF ERROR WAS FOUND MACYT 393;1052) 000062 §§ 025626 025316 004737 037432 025322 025326 025332 025334 025336 025340 025344 004737 004737 040326 037516 000137 025626 004737 040512 000137 025626 004737 053016 04=JAN-79 FORMAT MOV mOV MOVB MOVB MOVB MOVB MOVE MOVB MOVB JSR BR e NOP ERROR JMP 025424 025424 025430 025432 025626 004737 041344 000137 004737 154130 000404 025626 034000 onNn PAGE 133 SEQ 0133 INVALID CYLINDER ADDRESS #UN' GO, RNCS10 #PUTINX,R2 :WRITE HEADER AND DATA *WRITE REGISTER INDEX TABLE FRMDA,(R2)+ #RMDC.(R2)+ FRMOF . (R2)+ #RMWC. (R2)+ #RMBA.(R2)+ #RMCST, (R2)+ #200,(R2)+ PC,PUT GO WRITE REGISTERS VIA PUT SUB 80$ :60 T0 80% IF NO ERROR 1908 ;GO TO 1908 IF ERROR WAS FOUND :RETURN MERE IF ERROR ERROR DEF INED BY PUT SUB ;SETUP INPUT REGISTER BUFFER FOR READING STATUS JSR PC,GETSTS :WAIT FOR WRITE COMMAND TO COMPLETE AND READ STATUS JSR JSR - PC,TIMOUT PC,GET 90$ :60 TO 908 IF NO ERROR JMP 1908 ;GO TO 1908 IF ERROR WAS FOUND NOP ERROR :RETURN MERE IF ERROR *ERROR DEF INED BY GET SUB :VERIFY RESULTS OF WRITE COMMAND JSR BR e NOP ERROR JSR JMP JSR BR B PC,PRIERR 1008 PC,a(SP)+ 1908 PC,DTASTS 1108 ;60 CHECK FOR PRIMARY ERRORS :60 TO 1008 IF NO ERROR ;RETURN MERE IF ERROR :ERROR # DEFINED BY PRIERR SUBROUTINE 160 BACK FOR MORE ERROR CHECKS ;60 TO 1908 IF ERROR WAS FOUND ;60 VERIFY RESULTS OF DATA TRANSFER ;60 TO 1108 IF NO ERROR ;RETURN HERE IF ERROR ERROR JSR PC,a(SP)+ :ERROR # DEFINED BY DTASTS SUBROUTINE :GO BACK FOR MORE ERROR CHECKS JSR PC,SECERR ;60 CHECK FOR SECONDARY ERRORS PC,a(SP)+ ;RETURN HERE IF ERROR :ERROR # DEFINED BY SECERR SUBROUTINE :G0 BACK FOR MORE ERROR CHECKS JMP BR NOP ERROR JSR 120%: :WAIT FOR COMMAND TO COMPLETE :GO READ REGISTERS VIA GET SUB BR NOP 000137 11:23 ;SETUP AND EXECUTE WRITE WEADER AND DATA COMMAND 000000 000200 037766 000137 025344 001400 ~ WRNIN RPN O W EELYLNTNTNTNT NTND v e b d d e e ) i e — e e — i i LS LS LSS ST ST NI ST N NNNNNNNNNN 025232 i et & O CZRMDCO RMO3/2 FCTNL TST 2 12-DEC-78 08:24 CZRMDC.P11 JMP 1908 1208 1908 ;60 TO 1908 IF ERROR WAS FOUND ;60 T0 1208 IF NO ERROR :60 TO 1908 IF ERROR WAS FOUND :CLEAR "‘IAE'* ERROR AND PREPARE DEVICE JSR LWORD BR PC,TSTPRP 154130 125% :PREPARE DEVICE FOR TEST ;TASK DESCRIPTOR :60 TO 125% 1F NO ERROR CZRMOCO RMO3/2 FCTNL TST 2 CZRMOC.P1N 025444 12-DEC-78 08:24 000240 104000 000137 025444 025452 025460 025464 025466 025470 025472 025476 MACYT 025626 000073 104570 037766 b 001400 001404 037432 025502 025506 025512 025514 025516 025520 025524 040326 037516 FORMAT NOP ERROR JAP :60 TO 1908 IF ERROR WAS FOUND ;60 10 1508 IF NO ERROR 1908 :60 TO 1908 IF ERROR WAS FOUND JMP BR NOP ERROR 1640%: #BUF TWO, RMBAO PC,PUT ;READ HEADER & DATA COMMAND :CHANGE BUS ADDRESS GO WRITE REGISTERS VIA PUT SUB :RETURN MERE IF ERROR ERROR DEF INED BY PUT SUB PC,GETSTS JMP PC.TIMOUT PC.GET :WAIT FOR READ TO COMPLETE :60 READ REGISTERS VIA GET SUB 1408 ;6O TO 1408 IF NO ERROR 1908 :GO TO 1908 IF ERROR WAS FOUND ;RETURN HERE IF ERROR “ERROR DEFINED BY GET SUB :VERIFY THE RESULTS OF READ OPERATION JSR BR e, e 041344 JSR PC,DTASTS ;60 VERIFY RESULTS OF DATA TRANSFER 1608 :60 TO 1608 I1F NO ERROR ;RETURN HERE 1F ERROR ERROR JSR JWP PC,a(SP)+ 1908 :ERROR # DEFINED BY DTASTS SUBROUTINE 160 BACK FOR MORE ERROR CHECKS ;60 TO 1908 IF ERROR WAS FOUND JSR PC,SECERR :60 CHECK FOR SECONDARY ERRORS ERROR JSR 001434 001434 :60 T0 1508 IF NO ERROR ;RETURN HERE IF ERROR :ERROR # DEFINED BY PRIERR SUBROUTINE :60 BACK FOR MORE ERROR CHECKS :60 TO 1908 IF ERROR WAS FOUND NOP 170%: 1508 ;G0 CHECK FOR PRIMARY ERRORS PC,(SP)+ 1908 BR 025626 PC,PRIERR ERROR JSR JMP BR 025626 025626 1908 1308 NOP ERROR NOP 025142 :RETURN HERE IF ERROR CERROR # DEFINED BY TSTPRP SUBROUTINE BR JSR JSR 053016 103402 SEQ 0134 ;WAIT FOR READ TO COMPLETE AND GET STATUS 025626 000137 PAGE 134 INVALID CYLINDER ADDRESS #RH'GO,RNCSTO MOV JSR NOP 000001 001777 E N MOV JSR 040512 062737 022737 11:23 ;:SETUP INPUT REGISTER BUFFER FOR READING STATUS 025626 025524 04=uAN=79 ;READ HEADER AND DATA FOR SECTOR JUST WRITTEN — 025626 025476 5?3;1052) JWP 1708 PC,a(SP)+ 1908 ;60 T0 1708 IF NO ERROR :RETURN HERE IF ERROR :ERROR # DEFINED BY SECERR SUBROUTINE 160 BACK FOR MORE ERROR CMECKS :60 TO 1908 IF ERROR WAS FOUND : INCREMENT ADDRESS AND FORMAT NEXT CYLINDER ADD CHP ik BLO JHP 1,RMDC ;ADVANCE CYLINDER COUNT 1908 158 TYES!! 160 DO NEXT SECTOR #777,RMDCO :DONE ALL CYLINDERS?? (llflb(OPRHOSIZ FCTNL TST 2 CZRRDC.P1N 12-DEC-78 08:24 MACYT 393;1052) 6700 F1N 04=JAN-79 11:23 PAGE 135 FORMAT INVALID CYLINDER ADDRESS SEQ 0135 6701 ;;"""'00"""'00""""'"""""""".'Q'"."'t't'."t't 6702 ;*TEST 30 6703 6704 6705 6706 6707 6708 6709 6710 g;}; 025626 025626 025630 025632 025636 025642 025646 025654 6713 6714 6715 6716 6717 6718 6719 6720 6721 6722 2;52 6725 6726 6727 6728 6729 6730 15130: 000004 000240 012706 013700 013701 012737 001100 001276 001450 000030 025654 025662 025670 025676 025704 025712 025720 025726 025734 025740 012737 012737 012737 012737 012737 012737 012737 012737 004737 000000 000000 010000 177376 103564 000063 001406 000001 036620 0257640 025744 025746 025750 025752 004737 154130 000404 000240 104000 034000 6731 6732 6733 6734 6735 673 6737 6738 6739 67640 67641 67642 025754 025760 000137 026520 025760 025766 025772 025776 026002 026006 026012 026016 012737 012702 112722 112722 112722 112722 112712 004737 00001S 001535 000006 000034 000032 000000 000200 037766 67644 6745 026026 026026 000240 104000 2;:; 026034 6743 026022 000404 67646 026030 000137 6749 6750 FORMAT AT OFFSET ;;t'."t"""""""'"""'Q"""' S 2232222222223 222222222222 001434 001406 001432 001402 001404 001400 001174 001176 6751 6752 6753 012737 012702 112722 112722 000063 001535 000002 000004 6755 026062 112722 000200 112722 000000 108: #STACK,SP $BASE RO TSTQUE R #30,$TESTN 308 001400 PP FOR DATA TRANSFER PC,TSTPRP sPREPARE DEVICE FOR TEST 1564130 ;TASK DESCRIPTOR 308 ;60 TO 308 IF NO ERROR :RETURN HERE IF ERROR ;ERROR # DEFINED BY TSTPRP SUBROUTINE 1908 :60 TO 1908 IF ERROR WAS FOUND sOFFSEY DEVICE FOR WRITE iy #OFFSET!GO,RMCS10 MOV #PUTINX ,R2 MOVB #RMDA, (R2)+ MOVB W#RMDC.(R2)+ MOVB #RMOF ,(R2)+ MOVB #RMCST,(R2)+ MOVB #200, (R2) JSR BR NOP ERROR 358 001400 ;SCOPE CALL ;START OF TEST JINITIALIZE STACK POINTER :RO=UNIBUS ADDRESS :(R1) = DEVICE BEING TESTED ::SET TEST NUMBER IN APT MAIL BOX sSETUP PARAMETERS FOR GENERATING DATA BUFFER [ [0]'] #0,RADCO ;CYLINDER = 0 MOV #0,RMDAO :TRACK = SECTOR = 0 MOV #FAT16,RMOFO 116 BIT FORMAT MOV #<AC<24256.>41> RMUCO :2 + 256 WORDS MOV #BUFONE ,RMBAO ;DATA BUFFER ADDRESS MOV #WH'GO,RNCS10 :WRITE HEADER AND DATA MOV #RMDAO,$TMPO ;USE SECTOR FOR DATA PATTERN MOV #,8THP1 15%: JSR PC,GENBUF ;G0 GENERATE DATA BUFFER 208: sPREPARE DEVICE JSR .WORD ‘R NOP En./OR 026520 026034 026042 026046 026052 6754 026056 001226 SCOPE NOP MoV [ [1]'] MoV MOV JMP PC,PUT ;CHANGE TO OFFSET COMMAND ;WRITE PUT INDEX TABLE :TERMINATE TABLE G0 WRITE REGISTERS VIA PUT SuB 35 ;60 T0 35% IF NO ERROR 1908 ;GO TO 1908 IF ERROR WAS FOUND ;RETURN HERE IF ERROR :ERROR DEFINED BY PUT SUB ;SETUP AND EXECUTE WRITE HEADER AND DATA COMMAND AT OFFSET MOV #VH'GO,RMCS10 : WRITE HEADER AND DATA COMMAND MOV MOVB MOVB MOVB MOVE #PUTINX,R2 #RMWC, (R2)+ #RMBA.(R2)+ #RMCST, (R2)+ #200,(R2)+ ;WRITE REGISTER INDEX TABLE CZRMDCO RMO3/2 FCTNL TST 2 12-DEC-78 08:24 CZRMDC.P11 026066 026072 026074 026076 026100 026104 004737 000404 000240 037766 000137 026520 026104 004737 037432 026110 026114 026120 026122 026124 026126 026132 004737 004737 040326 037516 104000 04=JAN-79 JSR NOP - ERROR JAP JSR e — ERROR DEFINED BY PUT SUB PC,GETSTS ;60 TO 908 1F NO ERROR 1908 :GO TO 190% IF ERROR WAS FOUND ERROR JMP PC,GET b A 001400 :RETURN HERE IF ERROR ERROR DEF INED BY GET SUB PC,PRIERR 1008 :60 T0 1008 IF NO ERROR IF ERROR PC,a(SP)+ :ERROR # DEFINED BY PRIERR SUBROUTINE :G0 BACK FOR MORE ERROR CHECKS JSR PC,DTASTS ;60 VERIFY RESULTS OF DATA TRANSFER NOP ERROR JSR PC,a(SP)+ :RETURN HERE IF ERROR :ERROR # DEFINED BY DTASTS SUBROUT INE :60 BACK FOR MORE ERROR CHECKS JSR BR PC,SECERR 1208 ERROR JSR JWP PC,a(SP)+ 1908 JMP JWP MOV 1908 1108 1908 #PUTINX .R2 #RMDA, (R2)+ #RMDC. (R2)+ MOVB JSR #200,(R2)+ PC,PUT- BR NOP ERROR JMP ;60 TO 1908 IF ERROR WAS FOUND :60 TO 1108 IF NO ERROR :60 TO 1908 IF ERROR WAS FOUND :60 CHECK FOR SECONDARY ERRORS :60 T0 1208 IF NO ERROR :RETURN HERE IF ERROR :ERROR # DEFINED BY SECERR SUBROUTINE :G0 BACK FOR MORE ERROR CHECKS ;60 TO 1908 IF ERROR WAS FOUND #OFFSET'!GO,RMCS10 MOV MOVE MOVB MOVB MOVB ines ;60 CHECK FOR PRIMARY ERRORS :RETURN HERE :OFFSET DEVICE FOR READ 000032 000000 000200 037766 :WAIT FOR COMMAND TO COMPLETE GO READ REGISTERS VIA GET SUB ERROR JSR BR 026520 uoaguw--ou NOO S NNNNNNNN :G0 TO 1908 IF ERROR WAS FOUND IF ERROR 90$ NOP —_ON S NNNNNNNN 1908 :RETURN MERE BR JSR 041344 —— ittt © O :60 10 808 IF NO ERROR PC,TIMOUT BR 026520 §dfldddd—. oo N .GO WRITE REGISTERS VIA PUT SUB 80% :VERIFY RESULTS OF WRITE COMMAND 053016 ° 858 SEQ 0136 J JSR 026520 026520 PC,PUT PAGE 136 SWALT fORS:RlTE COMMAND TO COMPLETE AND READ STATUS NOP 000015 001535 000006 000034 61N ;SETUP INPUT REGISTER BUFFER FOR READING STATUS 040512 026172 026172 026176 026200 026202 026204 026206 026212 11:23 FORMAT AT OFFSET BR 026520 026132 026136 026140 026142 026144 026146 026152 026152 026156 026160 026162 026164 026166 026212 026220 026224 026230 026234 026240 026244 026250 3?261052) NOP O—O 6756 6757 6758 6759 6760 6761 6762 6763 6764 6765 6766 6767 6768 6769 6770 6771 6772 6773 6774 6775 6776 MACY1T :CHANGE TO OFFSET COMMAND :WRITE PUT INDEX TABLE #RMOF . (R2)+ #RMCST,(R2)+ :GO WRITE REGISTERS VIA PUT SUB 1268 :G60 1O 1258 IF NO ERROR 1908 :60 TO 1908 IF ERROR WAS FOUND ;RETURN HERE IF ERROR ‘ERROR DEFINED BY PUT SUB NN NN OO O e e - 000073 1064570 001535 MACY11 30A(1052) 04=JAN-79 11:23 130 FORMAT AT OFFSET MoV MOV MOV MOVB MOVB 000004 000000 000200 037766 mOVvB MOVEB JSR BR NOP ERROR ~N -~ 358 cges N~ V1V) 026520 130%: np JSR JSR BR NOP ERROR 026520 140%: JMP JSR BR NOP — 026520 053016 e 041344 3333 000137 026520 #RACST, (R2)+ #200,(R2)+ PC,PUT -GO WRITE REGISTERS VIA PUT SUB 1308 ;60 10 1308 IF NO ERROR 1908 ;GO TO 1908 IF ERROR WAS FOUND :RETURN HERE IF ERROR ERROR DEF INED BY PUT SUB PC,TIMOUT PC.GET 1408 1908 :WAIT FOR READ TO COMPLETE :G0 READ REGISTERS VIA GET SUB ;GO TO 1408 IF NO ERROR ;RETURN HERE IF ERROR ERROR DEF INED BY GET SUB ;GO TO 1908 IF ERROR WAS FOUND 1508 :G0 CHECK FOR PRIMARY ERRORS ;60 T0 1508 IF NO ERROR ;RETURN HERE IF ERROR JSR PC,DTASTS :60 VERIFY RESULTS OF DATA TRANSFER 1908 1608 ;60 TO 1908 IF ERROR WAS FOUND :60 TO 1608 IF NO ERROR :RETURN HERE IF ERROR ERROR JSR JMP PC,a(SP)+ 1908 :ERROR # DEFINED BY DTASTS SUBROUTINE :GO BACK FOR MORE ERROR CHECKS ;60 TO 1908 1F ERROR WAS FOUND JSR PC,SECERR :60 CHECK FOR SECONDARY ERRORS BR 1708 :60 T0 1708 1F NO ERROR ;RETURN HERE IF ERROR ERROR JSR PC,a(SP)+ :ERROR # DEFINED BY SECERR SUBROUTINE :G0 BACK FOR MORE ERROR CHECKS :VERIFY DATA JSR .WORD .WORD PC, CMPBUF BUFONE BUFTWO ;60 COMPARE WRITE, READ DATA BUFFERS :STARTING ADDRESS OF WRITE BUFFER :STARTING ADDDRESS OF READ BUFFER 170%: ~ PC,PRIERR PC.(SP)+ JMP NOP 104000 :WRITE PUT INDEX TABLE :ERROR # DEFINED BY PRIERR SUBROUTINE :G0 BACK FOR MORE ERROR CMECKS BR 026520 037064 #PUTINX .R2 #RMWC, (R2)+ #RMBA.(R2)+ ERROR JSR NOP 004737 103564 104570 000404 000240 ;READ HEADER & DATA COMMAND :CHANGE BUS ADDRESS :VERIFY THE RESULTS OF READ OPERATION 040512 026520 #RH!GO,RACS10 #BUF TWO, RMBAO SEQ 0137 :WAIT FOR READ TO COMPLETE AND GET STATUS 040326 037516 000137 H1N PAGE 137 :READ HEADER AND DATA AT OFFSET 001400 001404 Srss ss88% NN 026266 e I CZRMDCO RMO3/2 FCTNL TST 2 CZRMDC.PN 12-DEC-78 08:24 JMP BR NOP ERROR JMP 1908 1808 1908 ;60 TO 1908 IF ERROR WAS FOUND :60 TO 1808 IF NO ERROR ;RETURN HERE IF ERROR :ERROR # DEFINED BY CMPBUF SUBROUTINE :60 TO 1908 IF ERROR WAS FOUND CZRMDCO RMO3/2 FCTINL T1ST 2 CZRRDC.P1 12-DEC-78 08:24 MACYT1 30A(1052) 130 6869 6870 6871 026470 026470 026476 026500 032737 001010 052737 000200 001432 000200 001432 6873 026514 000137 025740 6872 gg;g 026506 026520 012737 103564 1808: 001404 04=JAN-79 FORMAT AT OFFSET BIT BNE BIS #0FD,RMOFO 1908 #0FD,RMOFO JAP 208 MOV 1908 : 11:23 In PAGE 138 #BUF ONE ,RMBAO Q0 :DONE BOTH OFFSETS?? SYES!! :SET FORWARD OFFSET :CHANGE DATA BUFFER “76 :;"t"""t"""".""t""'.'ttl'Q'"tt."tt"'..""'t.'tttt 6877 :*TEST 31 “78 6879 6880 6881 6882 6883 6884 6885 233? 026520 026520 026522 026524 026530 026534 026540 026546 000004 000240 012706 013700 013701 012737 15131: 001100 001276 001450 000031 6888 6889 6890 6891 6892 6893 6894 6895 6896 6897 3333 026546 026554 026562 026570 026576 026604 026612 026620 026626 026632 012737 012737 012737 012737 012737 012737 012737 012737 004737 000000 000000 010000 177376 103564 000062 001406 000001 036620 6900 6901 6902 6903 026632 026636 026640 004737 154130 000404 034000 6905 6906 238; 026644 026646 026652 104000 000137 027326 691C 6911 6912 6913 026652 026660 026666 026674 012737 112737 112737 004737 000001 000024 000200 037766 6915 6916 026702 026704 000240 104000 23}3 026712 001226 001434 001406 001432 001402 001404 001400 001174 001176 6914 026700 000404 308: 001424 001535 001536 6922 6923 026712 026720 026726 012737 012737 012702 000063 000000 001535 ERROR JMP FOR DATA TRANSFER PC,TSTPRP sPREPARE DEVICE FOR TEST 1564130 :TASK DESCRIPTOR 308 ;60 TO 308 IF NO ERROR ;RETURN HERE IF ERROR sERROR # DEFINED BY TSTPRP SUBROUTINE :60 TO 1908 IF ERROR WAS FOUND 190% :RESET VOLUME VALID BY SETTING AND RESETTING DIAGNOSTIC MODE MOV MOVB MOVEB JSR BR NOP ERROR 358 001400 001424 #STACK,SP $BASE RO TSTQUE ,R1 #31,8TESTN ;SCOPE CALL :START OF TEST sINITIALIZE STACK POINTER :RO=UNIBUS ADDRESS :(R1) = DEVICE BEING TESTED ::SET TEST NUMBER IN APT MAIL BOX sSETUP PARAMETERS FOR GENERATING DATA BUFFER MOV LRMDCO :CYLINDER = 0 MOV #0.RMDAO :TRACK = SECTOR = 0 MOV #FAT16,RNOFO :16 BIT FORMAT MOV #<AC<24256.>41> ,RMUCO :2 + 256 WORDS MOV #BUFONE ,RMBAO :DATA BUFFER ADDRESS MOV #WH,RACS10 :WRITE HEADER AND DATA MOV #RMDAO,$TMPO ;USE SECTOR FOR DATA PATTERN MOV #,8THP1 158: JSR PC . GENBUF ;60 GENERATE DATA BUFFER 208: NOP 6917 026706 000137 027326 6920 6921 108: SCOPE NOP MOV MoV MOV MOV ;PREPARE DEVICE JSR .WORD BR 6904 026642 000240 6909 IVC FORMAT TEST ;;l'.'"""'"'"""""""""""t""'."ttttl""t'll't"' JMP #DMD , RMMR10 #RMMR1,PUTINX #200,PUTINX+1 PC,PUT ;SET DIAGNOSTIC MODE . :WRITE REGISTER INDEX TABLE :6G0 WRITE REGISTERS VIA PUT SUB 35% :60 TO 358 IF NO ERROR 1908 ;GO TO 1908 IF ERROR WAS FOUND ;RETURN HERE 1F ERROR ERROR DEFINED BY PUT SUB :SETUP AND EXECUTE WRITE HEADER AND DATA COMMAND MOV #WH'GO,RMCS10 :WRITE HEADER AND DATA MOV MOV #0,RMMR10 #PUTINX,R2 TRESET DIAGNOSTIC MODE :WRITE REGISTER INDEX TABLE 1 1 12 CZRMDCO RMO3/2 FCTNL CZRMDC.P11 12-DEC-7 08:2¢4 12 722 12 722 12 722 12 722 12 722 12 722 12 722 12 722 004 737 0004 SR T 026732 00024 06 027010 027010 027014 027020 027024 027026 027030 027032 027036 027036 027042 027044 027046 027050 MACYIT 392%1052) FRMMR1, (R2)+ FRMDA, (R2)+ #RMDC.(R2)+ #RMOF.(R2)+ FRMC.(R2)+ #RMBA.(R2)+ MOVB #200,(R2)+ JSR BR NOP - 027326 ERROR JMP JSR ;WAIT 040326 037516 SEQ 0139 #RACST, (R2)+ PC,PUT 80$ 1908 :GO WRITE REGISTERS VIA PUT SUB ;60 TO 808 IF NO ERROR :RETURN MERE IF ERROR ERROR DEF INED BY PUT SUB ;GO TO 1908 IF ERROR WAS FOUND JSR JSR BR = 027326 PC,.GETSTS FOR WRITE COMMAND TO COMPLETE AND READ STATUS NOP ERROR JMP PC, TIMOUT PC,GET 90% 1908 JSR BR NOP 027326 wins 010000 001372 001372 001372 010000 001142 001140 001140 b :RETURN WERE IF ERROR -ERROR DEFINED BY GET SUB ;GO TO 1908 IF ERROR WAS FOUND PC,PRIERR 1008 ;60 CHECK FOR PRIMARY ERRORS :60 T0 1008 IF NO ERROR :RETURN HERE IF ERROR ERROR JSR PC,a(SP)* BIT BNE MOV MOV BIS ERROR #1VC,RMER2] 1108 RMER21,$BDDAT RMER21 .SGDDAT #1vC,SGDDAT 342 JSR PC,SECERR ;60 CHECK FOR SECONDARY ERRORS PC,a(SP)+ ;RETURN HERE IF ERROR :ERROR # DEFINED BY SECERR SUBROUTINE 60 BACK FOR MORE ERROR CHECKS JMP B8R NOP ERROR JSR 120%: :WAIT FOR COMMAND TO COMPLETE :GO READ REGISTERS VIA GET SUB :60 TO 90% 1F NO ERROR ;VERIFY RESULTS OF WRITE COMMAND 040512 034000 PAGE 139 ;SETUP INPUT REGISTER BUFFER FOR READING STATUS 037432 027326 J1n MOVB MOVB MOVB MOVB MOVB MOVB MOVB 200 037766 041344 027132 027136 027140 027142 027144 04=JAN-79 11:23 IVC FORMAT TEST JMP 1908 1208 1908 :CLEAR 1VC ERROR - JSR PC,TSTPRP LWORD BR NOP ERROR 040100 1258 CERROR # DEFINED BY PRIERR SUBROUTINE 160 BACK FOR MORE ERROR CHECKS :60 TO 1908 IF ERROR WAS FOUND ;1S IVC STATUS SET?? SYES!! :RECEIVED STATUS FOR TYPEOUT (EXFECTED STATUS ;1VC NOT SET DURING FORMAT ;60 T0 1208 IF NO ERROR :60 TO 1908 IF ERROR WAS FOUND :PREPARE DEVICE FOR TEST ;TASK DESCRIPTOR ;60 TO 125% IF NO ERROR :RETURN HERE IF ERROR *ERROR # DEFINED BY TSTPRP SUBROUTINE : 27326 000073 104570 037766 MACYTT 001400 001404 04=JAN-79 11:23 IVC FORMAT TEST e JAP 027210 027214 027220 027222 027224 027226 027232 1908 #RA'GO,RNCSTO0 JSR PC,PUT MOV . ERROR JAP #BUF TWO, RMBAO JSR :CHANGE BUS ADDRESS -GO WRITE REGISTERS VIA PUT SUB 1308 ;60 10 1308 IF NO ERROR 1908 ;60 TO 1908 IF ERROR WAS FOUND ;RETURN HERE IF ERROR ‘ERRCR DEF INED BY PUT SUB PC,GETSTS ;WAIT FOR READ TO COMPLETE AND GET STATUS JSR JSR BR NOP ERROR 027326 1640%: JMP PC.TIMOUT PC.GET 1408 1908 :WAIT FOR READ TO COMPLETE ;60 READ REGISTERS VIA GET SUB ;60 T0 1408 IF NO ERROR ;RETURN HERE IF ERROR ERROR DEFINED BY GET SUB :GO TO 190 IF ERROR WAS FOUND :VERIFY THE RESULTS OF READ OPERATION JSR PC,PRIERR ;G0 CHECK FOR PRIMARY ERRORS BR 1508 :60 TO 1508 IF NO ERROR 040512 NOP 027326 ke 010000 001372 001372 001372 010000 001142 001140 001140 i PC,a(SP)+ BIT BNE MOV #1VC,RMER2] 1608 RMER21,$BDDAT BIS #1VC,SGODAT JSR PC,SECERR JMP ERROR BR NOP . ;RETURN MERE ERROR JSR MOV 041344 027326 ;READ HEADER & DATA COMMAND ;SETUP INPUT REGISTER BUFFER FOR READING STATUS 040326 037516 013737 052737 104342 SEQ 0140 :60 TO 1908 IF ERROR WAS FOUND MOV NOP 027326 (3R] PAGE 140 :READ HEADER AND DATA FOR SECTOR JUST WRITTEN B8R 037432 027232 027236 027240 027242 027244 027246 027252 027252 027260 027262 3?2%1052) OO - W ~N O 4FSEU“flh~ NN~ 000137 SE — 82883 6980 6981 6982 6983 N NN~ CZRMDCO RMO3/2 FCINL TST 2 12-DEC-78 08:24 CZRMDC.P11 ERROR JSR JMP 1908 IF ERROR :ERROR # DEFINED BY PRIERR SUBROUTINE 160 BACK FOR MORE ERROR CHECKS ;60 TO 1908 IF ERROR WAS FOUND ;1S 1VC STATUS SET?? SYES!! :RECEIVED STATUS FOR TYPEOUT RMER2] .SGDDAT SEXPECTED STATUS 342 ;1VC NOT SET DURING FORMAT 1708 PC,a(SP)+ 1908 :60 CHECK FOR SECONDARY ERRORS :60 T0 1708 1F NO ERROR ;RETURN HERE IF ERROR CERROR # DEFINED BY SECERR SUBROUTINE 160 BACK FOR MORE ERROR CMECKS ;60 TO 1908 IF ERROR WAS FOUND 190%: 027326 ;;""l"'""'"""""""'"""'l"lt.'.""".'.""'l"'.' SeTEST 32 FORMAT ERROR TEST - 18 ::'t""""""l""""""'"'""".'.'."'t"'l."l"'.'"t! 027326 027332 000004 000240 012706 15132: 001100 SCOPE NOP MOV FSTACK,SP :SCOPE CALL :START OF TEST :INITIALIZE STACK POINTER (l:flb(O RMO3/2 FCINL TST 2 CIRMOC.P11 12-DEC-78 08:24 7036 027336 013700 001276 7037 7038 027342 027346 013701 012737 001450 000032 7041 7062 7063 7066 7065 7066 7047 7048 7049 7050 ;335 027354 027362 027370 027376 0276406 027412 0276420 027426 027434 027440 012737 012737 012737 012737 012737 012737 012737 012737 004737 000000 000000 000000 177376 103564 000062 065106 000001 036620 027440 004737 034000 ;823 7053 7054 7055 7056 7057 7058 7059 ;gg? 027354 027446 027446 027450 027452 02745¢ 027460 1564130 000404 000240 104000 000137 030050 7062 7063 7064 7065 7066 7067 7068 7069 7070 7071 7072 027460 027466 027472 027476 027502 027506 027512 027516 027522 027526 012737 012702 112722 112722 112722 112722 112722 112722 112722 004737 000063 001535 000006 00003& 000032 000002 000004 000000 000200 037766 7074 7075 027534 027536 000240 104000 ;8;g 027544 7073 027532 7076 027540 000404 LN MACYT] S?A(IOSZ) 04=JAN=79 11:23 PAGE 141 32 FORMAT ERROR TEST - 18 000137 030050 MmOV 001226 001434 001406 001432 001402 001404 001400 001174 001176 : 108: MOV MOV $BASE ,RO TSTQUE , R #32,8TESTN :RO=UNIBUS ADDRESS :(R1) = DEVICE BEING TESTED ::SET TEST NUMBER IN APT MAIL BOX sSETUP PARAMETERS FOR GENERATING DATA BUFFER MOV #0,RMDCO :CYLINDER = 0 MOV #0.RADAO :TRACK = SECTOR = 0 MOV #0.RMOFO 218 BIT FORMAT MOV #<A0<24256.>41> ,RMUCO ;2 + 256 WORDS MOV #BUF ONE , RMBAO :DATA BUFFER ADDRESS Mov #WH,RRCS10 :WRITE HEADER AND DATA MOV #1EROS, $TAPO :USE ALL ZEROS DATA PATTERN MOV #1,8THP1 JSR PC . GENBUF ;60 GENERATE DATA BUFFER 208: ;PREPARE DEVICE FOR DATA TRANSFER JSR 308 : 001400 .WORD BR NOP ERROR JAP PC,TISTPRP ;PREPARE DEVICE FOR TEST 1808 :60 TO 30% IF NO ERROR :RETURN HERE IF ERROR ;ERROR # DEFINED BY TSTPRP SUBROUTINE :60 TO 1808 IF ERROR WAS FOUND 154130 0% ;TASK DESCRIPTOR sSETUP AND EXECUTE WRITE HEADER AND DATA COMMAND MOV #WN'GO,RNCS10 ;WRITE HEADER AND DATA MoV #PUTINX R2 sWRITE REGISTER INDEX TABLE MOVB WRMDA, (R2)+ MOVB #RMDC.(R2)+ MOVB #RMOF.(R2)+ MOVB #RMWC.(R2)+ MOVB #RMBA.(R2)+ MOVB #RMCST, (R2)+ MOVB #200,(R2)+ JSR PC,PUT :GO WRITE REGISTERS VIA PUT SUB BR 80% ;60 TO 80% IF NO ERROR JMP 180% ;GO TO 180% IF ERROR WAS FOUND NOP ERROR 80%: JRETURN HERE IF ERROR ‘ERROR DEF INED BY PUT SUB 7079 ;83? 027544 004737 037432 ;SETUP INPUT REGISTER BUFFER FOR READING STATUS JSR PC,GETSTS 7082 7083 7084 027550 027554 004737 004737 040326 037516 :WAIT FOR WRITE COMMAND TO COMPLETE AND READ STATUS JSR PC,TIMOUT :WAIT FOR COMMAND TO COMPLETE JSR PC,GET :GO READ REGISTERS VIA GET SUB 7086 7087 027562 027564 000240 104000 ;833 027572 7085 027560 000404 7088 027566 000137 030050 7091 BR 90$ :60 T0 908 1F NO ERROR JHP 1808 ;GO TO 1808 IF ERROR WAS FOUND NOP ERROR 908 : ;VERIFY RESULTS OF WRITE COMMAND sRETURN HERE IF ERROR ‘ERROR DEFINED BY GET SUB SEQ 0141 CZRMDCO RMO3/2 FCTNL TST 2 12-DEC-78 08:24 CZRRDC.PY 7092 7093 027572 027576 MACY 3?;5‘052) 040512 04=JAN=79 JSR NOP hont 053016 3 S UN=OO®NO NI W=D v uruu DN&W wnr — — — — il el NNNNNNN Dl il - - - s D e il el il el POPOPNONIN = it it s = i s e e NNNNNNNNNNNNNNNN 041344 027652 010000 000073 104570 037766 027712 027716 027722 027724 027726 027730 027734 027750 027754 027754 027762 027764 001432 001400 001404 ;60 VERIFY RESULTS OF DATA TRANSFER 004737 000405 000240 104000 004736 000137 032737 001022 0047%7 IF ERROR PC,a(SP)+ JSR PC,SECERR :60 CHECK FOR SECONDARY ERRORS JMP ERROR JSR JMP 1808 1208 :60 TO 1808 IF ERROR WAS FOUND ;60 T0 1208 IF NO ERROR :RETURN HERE PC,a(SP)+ 1808 MOV MOV #FNT16,RMOFO #RH!GO,RACS10 JSR pC,PUT JMP IF ERROR :ERROR # DEFINED BY SECERR SUBROUT INE 160 BACK FOR MORE ERROR CHECKS :60 TO 1808 IF ERROR WAS FOUND JSR JSR NOP ERROR 140%: #BUF TWO,RMBAOD ;CHANGE TO 16 BIT FORMAT sREAD HEADER € DATA COMMAND :CHANGE BUS ADDRESS -GO WRITE REGISTERS VIA PUT SUB 1308 ;60 10 1308 IF NO ERROR 1808 ;GO 1O 1808 IF ERROR WAS FOUND ;RETURN HERE IF ERROR ‘ERROR DEF INED BY PUT SUB FOR READ TO COMPLETE AND GET STATUS BR JMP PC,TIMOUT PC.GET :WAIT FOR READ TO COMPLETE :60 READ REGISTERS VIA GET SUB 1408 :60 TO 1408 IF NO ERROR 1808 ;GO TO 1808 IF ERROR WAS FOUND ;RETURN HERE IF ERROR :ERROR DEFINED BY GET SUB :VERIFY THE RESULTS OF READ OPERATION JSR PC.PRIERR :6G0 CHECK FOR PRIMARY ERRORS BR NOP ERROR JSR 030050 053016 :60 TO 1108 IF NO ERROR :RETURN MERE *ERROR # DEFINED BY DTASTS SUBROUTINE :G0 BACK FOR MORE ERROR CMECKS MOV :WAIT 040512 000020 1108 ;60 TO 1808 IF ERROR WAS FOUND :READ HEADER AND DATA FOR SECTOR JUST WRITTEN AT 16 BIT FORMAT 130%: 030050 1808 ERROR JSR NOP ERROR 040326 037516 :60 TO 1008 IF NO ERROR :RETURN MERE IF ERROR PC,DTASTS BR 030050 027712 027734 027740 027742 027744 027746 - :60 CHECK FOR PRIMARY ERRORS JSR JMP BR 030050C 1008 :ERROR # DEFINED BY PRIERR SUBROUT INE :G0 BACK FOR MORE ERROR CHECKS NOP 027642 027644 027646 027652 PC,PRIERR PC,a(SP)+ NOP e SEQ 0142 ERROR JSR B8R 030050 LR PAGE 142 FORMAT ERROR TEST - 18 BR 030050 11:23 1508: 001344 JMP 1508 PC.a(SP)+ 1808 SVERIFY THAT FORMAT ERROR 1S SET BIT BNE JSR SFER,RMERT] 1608 PC,DTASTS ;60 T0 1508 IF NO ERROR :RETURN HERE IF ERROR :ERROR # DEFINED BY PRIERR SUBROUTINE :60 BACK FOR MORE ERROR CHECKS ;60 TO 1808 IF ERROR WAS FOUND ;1S FORMAT ERROR SET?? SYES!! ;60 VERIFY RESULTS OF DATA TRANSFER CIRMDCO RMO3/2 FCTNL TST 2 CZRRDC P11 12-DEC-78 08:24 &8 S Ow OWVN ~ 030050 001344 001344 000020 -— -~ 001142 001140 001140 1558: o~ 061344 g228 ~ IF g 7160 N1 04=JAN-79 11:23 PAGE FORMAT ERROR TEST - 18 B8R WNN~N~N —-O00 827776 3?;51052) 000405 000240 ?vt-n—2 NN rNNN-‘N (Vv IV 027770 027772 027774 mwmg 1. BT — R R PR T Al ol ol QW IW ~ SNNNNNNNN 7148 7149 7150 7151 MACYT PC,(SP)+ MOV MOV B1S RMER1],SBDDAT RMER1] ,SGDDAT #FER,SGODAT JSR P(,SECERR AP ERROR NOP e ERROR JSR JnP SEQ 01453 :60 T0 1558 IF NO ERROR NOP ERROR JSR BR 030050 1558 143 1808 :RETURN MERE IF ERROR “ERROR # DEFINED BY DTASTS SUBROUT INE 160 BACK FOR MORE ERROR CMECKS :60 T0 1808 IF ERROR WAS FOUND :BAD DATA FOR “TYPEOUT CEXPECTED DATA 343 1708 :FORMAT ERROR NOT SET ;60 CHECK FOR SECOMDARY ERRORS :60 T0 1708 IF NO ERROR :RETURN HERE PC,a(SP)+ 1808 IF ERROR "ERROR # DEFINED BY SECERR SUBROUT INE 160 BACK FOR MORE ERROR CHECKS :60 TO 180% IF ERROR WAS FOUND 180%: .':'.."""0'""""".""'""'0""".".""."."'.'."0... SeTEST 33 SRR 15133: R288 7203 NNNNNNNNN V) NNNNNNNNYN SS9 ‘fld‘d‘d;ddfl-‘dfl VOOVO0OOO0O o O o Qo O NNNN NNNNNNNNNNYNNNSN 7184 VAV LV LV RV AV LV AV 000000000 [ e SHrornornornornornornoNn 001100 001276 001450 000033 000000 000001 036620 RN RN SCOPE NOP 001226 001434 001406 001432 001402 001404 001400 001174 001176 e MOV MoV MOV MOV 030202 030210 030214 000063 . 00153 5 000006 #STACK,SP $BASE RO TSTQUE ,R1 #33,87ESTN CALL TEST JINITIALIZE STACK POINTER ;RO=UNIBUS ADDRESS s(R1) = DEVICE BEING TESTED J.SET TEST NUMBER IN APT MAIL BOX ;SETUP PARAMETERS FOR GENERATING DATA BUFFER MoV #0,RMDCO sCYLINDER = 0 MOV #0,RMDAO sTRACK = SECTOR = 0 MOV #FAT16,RNOFO ;16 BIT FORMAT MOV < (<24256.041> ,RMUCO ;2 ¢ 256 WORDS [ (] o MOV MOV MOV JSR JSR LWORD BH NOP 030572 ;SCOPE ;START OF #BUFONE ,RMBAOD :DATA BUFFER ADDRESS #WH,RNCS10 #EROS ,$TMPO £1,8TMP1 PC,GENBUF JWRITE HEADER AND DATA sUSE ALL ZEROS DATA PATITERN . ;GO GENERATE DATA BUFFER ;PREPARE DEVICE FOR DATA TRANSFER 034000 030176 030202 FORMAT ERROR TEST - 16 RN RN RN RRRRRRRIREROROORRROERRRRROREROERRRARCEOEROEROORORRORPOTOTYE ERROR 30%: 001400 JMP PC,TSTPRP 154130 30% ;PREPARE DEVICE FOR TEST ;TASK DESCRIPTOR 180% ;60 TO 308 IF NO ERROR sRETURN HERE IF ERROR ERROR # DEFINED BY TSTPRP SUBROUTINE ;GO TO 180% IF ERROR WAS FOUND ;SETUP AND EXECUTE WRITE HEADER AND DATA COMMAND MOV MOV MOvVB #WH!GO,RACS10 #PUTINX,R2 #RMDA, (R2) ¢ ;WRITE HEADER AND DATA ;WRITE REGISTER INDEX TABLE : CZRMOCO RMO3/2 FCTNL TST 2 CZRMOC.P1Y 12-DEC-78 08:24 7206 7205 7206 7207 030220 030224 030230 030234 7209 7210 MACY11 30A(1052) O0&=JAN=79 11:23 133 FORMAT ERROR TEST - 112722 112722 112722 112722 000034 000032 000002 000004 MOVB MOVB MOVB MOVBE 030244 030250 112722 004737 000200 037766 MOVB JSR 7212 7213 030256 030260 000240 104000 ;g}g 030266 7217 ;g}g 7208 7211 7216 030240 030254 000404 000000 mOvB SEQ 0144 FRMDC, (R2)+ FRMOF . (R2)+ FRMWC.(R2)+ FRMBA.(R2)+ #RACST, (R2)+ BR NOP ERROR GO WRITE REGISTERS VIA PUT SUB 80$ :60 T0 808 IF NO ERROR 1808 :GO TO 1808 IF ERROR WAS FOUND :RETURN WERE IF ERROR ERROR PEF INED BY PUT SUB 030572 030266 004737 037432 ;SETUP INPUT REGISTER BUFFER FOR READING STATUS JSR PC.GETSTS 7220 7221 7222 030272 030276 004737 004737 040326 037516 :WAIT FOR WRITE COMMAND TO COMPLETE AND READ STATUS JSR PC,TIMOUT :WAIT FOR COMMAND TO COMPLETE JSR PC.GET :GO READ REGISTERS VIA GET SUB 7224 7225 030306 030306 000240 104000 7226 ;ggg 7229 7230 7231 7232 7233 723, 7235 723 7237 7238 7239 7240 72641 7242 72643 72644 7245 7246 7247 7248 7249 7250 7253 030302 030310 030314 030314 030320 030322 030326 030326 030330 030334 030334 030340 030342 030344 030346 030350 0303564 030354 030360 030362 030364 030366 030370 030374 000404 000137 030572 004737 000405 000240 104000 004736 000137 040512 80$: 908 : 000000 000073 104570 037766 7254 7255 7256 7257 030376 030402 030410 030616 012737 012737 012737 004737 7259 0304264 000240 7258 030422 000404 90$ ;60 T0 908 IF NO ERROR JMP 1808 :GO 1O 1808 IF ERROR WAS FOUND ;VERIFY RESULTS JSR BR NOP ERROR JSR JMP 1008: 004737 053016 000405 000240. 104000 004736 000137 030572 041344 BR NOP ERROR 030572 004737 000405 000240 104000 004736 000137 JMP #200,(R2)+ PC,PUT 000137 7223 030262 112722 8 12 PAGE 144 16 1108: 030572 1208 : 001432 001400 001404 JSR BR NOP ERROR JSR JMP JSR BR NOP ERROR JSR JMP :RETURN HERE IF ERROR ERROR DEF INED BY GET SUB OF WRITE COMMAND PC.PRIEFR ;G0 CHECK FOR PRIMARY ERRORS 1008 ;60 TO 1008 IF NO ERROR ;RETURN HERE 1F ERROR :ERROR # DEFINED BY PRIERR SUBROUTINE PC,a(SP)+ 160 BACK FOR MORE ERROR CMECKS 1808 ;G0 TO 1808 IF ERROR WAS FOUND PC,DTASTS 1108 PC,a(SP)+ 1808 PC,SECERR 1208 PC,a(SP)+ 1808 ;60 VERIFY RESULTS OF DATA TRANSFER ;60 TO 1108 IF NO ERROR :RETURN HERE IF ERROR :ERROR # DEFINED BY DTASTS SUBROUTINE :GO BACK FOR MORE ERROR CHECKS :60 TO 1808 IF ERROR WAS FOUND ;G0 CHECK FOR SECONDARY ERRORS :60 TO 1208 IF NO ERROR :RETURN HERE IF ERROR ‘ERROR # DEFINED BY SECERR SUBROUTINE 60 BACK FOR MORE ERROR CHECKS ;60 TO 1808 IF ERROR WAS FOUND :READ HEADER AND DATA FOR SECTOR JUST WRITTEN AT 18 BIT FORMAT MOV MOV MOV JSR BR NOP #0,RMOFO #RH'GO,RMCS10 #BUF TWO,RMBAO PC,PUT 1308 ;SET FOR 18 BIT FORMAT :READ HEADER & DATA COMMAND :CHANGE BUS ADDRESS :6GO WRITE REGISTERS VIA PUT SUB :60 10 1508 IF NO ERROR ;RETURN HERE IF ERROR CZRMDCO RMO3/2 FCINL TST 2 CZRMDC.P11 12-DEC-78 08:2¢4 7260 030426 ;ggg 030434 7261 104000 030430 000137 030572 7264 7265 7266 030434 030440 004737 004737 040326 037516 7268 7269 030446 030450 000240 104000 7267 7270 030444 030452 ;g;omme 000404 000137 7273 7276 030456 004737 7276 7277 7278 7279 ;gg? 030464 030466 030470 030472 030476 000240 104000 004736 000137 030476 030506 030506 030512 030514 030516 030520 030522 030526 030534 030542 030550 030552 030552 030556 030560 030562 030564 030566 030572 030572 032737 001022 004737 000405 000240 104000 004736 000137 013737 013737 052737 104343 7275 7282 7283 7284 7285 7286 7287 7288 7289 7290 7291 7292 7263 7294 7295 7296 7297 7298 7299 7300 7301 7302 ;ggz 030462 000405 004737 000405 000240 104000 004736 000137 C 12 MACYTT 30A(1052) 0&4=JAN=79 11:23 PAGE 145 133 FORMAT ERROR TEST - 16 ERROR 1308 : -ERROR DEF INED BY PUT SUB ;GO TO 180% IF ERROR WAS FOUND BR 1408 ;G0 TO 1408 IF NO ERROR JMP 1808 :GO TO 180% IF ERROR WAS FOUND NOP ERROR 1408 : ;RETURN MERE IF ERROR :ERROR DEFINED BY GET SuB sVERIFY THE RESULTS OF READ OPERATION JSR PC,PRIERR ;G0 CHECK FOR PRIMARY ERRORS 040512 BR 030572 1508 : 001344 053016 030572 001344 001344 000020 1808 sWAIT FOR READ TO COMPLETE AND GET STATUS JSR PC,TINOUT sWAIT FOR READ TO COMPLETE JSR PC.GET :G0 READ RZGISTERS VIA GET SUB 030572 000020 JMP SEQ 0145 001142 001140 001140 030572 1508 PC,a(SP)+ 1808 ;60 T0 1508 IF NO ERROR :RETURN HMERE IF ERROR :ERROR # DEFINED BY PRIERR SUBROUTINE :G0 BACK FOR MORE ERROR CHECKS :60 TO 1808 IF ERROR WAS FOUND sVERIFY THAT FORMAT ERROR IS SET BIT #FER,RMERT] ;1S FORMAT ERROR SET?? BNE 160$ SYES!! JSR PC,DTASTS ;G0 VERIFY RESULTS OF DATA TRANSFER BR 155% :60 T0 1558 IF NO ERROR NOP sRETURN HERE IF ERROR ERROP :ERROR # DEFINED BY DTASTS SUBROUTINE JSR PC,a(SP)+ 160 BACK FOR MORE ERROR CHMECKS JMP 1808 :60 TO 1808 IF ERROR WAS FOUND 155%: 1608: 041344 NOP ERROR JSR JMP 1708: MoV MOV BIS ERROR JSR BR NOP ERROR JSR JAP RMER1]1,$BDDAT RMER11,SGDDAT #FER,SGDDAT 343 PC,SECERR 1708 PC,a(SP)+ 1808 ;RECEIVED STATUS FOR TYPEOUT ‘EXPECTED STATUS ;FORMAT ERROR NOT SET ;G0 CHECK FOR SECONDARY ERRORS ;G0 TO 1708 IF NO ERROR sRETURN HERE IF ERROR JERROR # DEFINED BY SECERR SUBROUTINE ;G0 BACK FOR MORE ERROR CHECKS :60 TO 1808 IF ERROR WAS FOUND 1808 : 7305 ;;.ttlt't"t"'"""""""'"t""t..""".'tl"ttt"'.t"tlt 7307 7308 7309 7310 7311 030572 030572 030574 030576 :.'t!."""'t""l""l"'t'"""""..""t.l!'.lt'ttl""l't" 15734: SCOPE ;SCOPE CALL NOP :START OF TEST MOV #STACK, SP :INITIALIZE STACK POINTER 7315 030620 012737 000001 7306 7312 7313 7314 ;*TEST 34 030602 030606 030612 000004 000240 012706 013700 013701 012737 001100 001276 001450 000034 001226 031576 MOV MOV MOV MOV FORMAT HCE, FIRST HEADER WORD $BASE , RO TSTQUE , R #34 $TESTN 01,1908 :RO=UNIBUS ADDRESS :(R1) = DEVICE BEING TESTED ::SET TEST NUMBER IN APT MAIL BOX SINIT BIT POSITION CZRADCO RMO3/2 FCINL TST 2 12-DEC-78 08:2¢4 CZRMODC. P MACYTY 030626 3?A(1052) 34 04=JAN-79 11:23 D12 PAGE 146 SEQ 0146 FORMAT HCE, FIRST HEADER WORD ;SETUP PARAMETERS FOR GENERATING DATA BUFFER MOV #0,RMDCO sCYLINDER = 0 NNNNNNNNSN NN N NN N NN N NNNNNNNNSN CO0OO0O0O0O0O0O0O ?.—o—.-n—-n_o—o-o NN 108: MoV #BUFONE ,RMBAO MOV MOV MOV JSR #<AC<24256.>41> RMWCO #UH ,RACS10 #1EROS ,$THPO f1,8THP1 PC,GENBUF ;TRACK = SECTOR = 0 ;16 BIT FORMAT ;2 + 256 WORDS ;DATA BUFFER ADDRESS ;WRITE HEADER AND DATA ;USE ALL ZEROS DATA PATTERN ;G0 GENERATE DATA BUFFER sPREPARE DEVICE FOR DATA TRANSFER 004737 154130 000404 000240 033737 001404 043737 000403 053737 #0,RADAO #FAT16,RA0FO MoV 20%: 104000 000137 MOV MOV JSR .WORD BR 031750 308 NOP ERROR JMP PC,TSTPRP 154130 308 ;PREPARE DEVICE FOR TEST ;TASK DESCRIPTOR ;60 TO 308 IF NO ERROR JRETURN HERE IF ERROR JLRROR # DEFINED BY TSTPRP SUBROUTINE 240% ;60 TO 240% IF ERROR WAS FOUND 031576 103564 031576 103564 ;s COMPLEMENT DATA BIT IN FIRST HEADER WORD BIT 190% ,BUFONE ;1S BIT IN HEADER ON?? BEQ 318 JNO!! g;( ;gg‘.BUfONE JRESET BIT IN HEADER 031576 103564 31%: BIS 190% ,BUFONE sSET BIT IN HEADER — b e o B i e e b b e s (D ok 328: 031040 031044 000137 031044 004737 031050 031054 031060 004737 004737 000404 000063 001535 000006 000034 000032 000002 000004 000000 000200 037766 031574 001400 sSETUP AND EXECUTE WRITE HEADER AND DATA COMMAND MoV #WH'!GO,RACS10 ;WRITE HEADER AND DATA MoV #PUTINX ,R2 :WRITE REGISTER INDEX TABLE MOVB MOVB #RMDA, (R2) + #RMDC, (R2) ¢ MOVB MOVB MOVB MOVB JSR #RMUC, (R2)+ #RMBA, (R2) ¢+ #RMCST, (R2)+ #200,(R2)+ PC,PUT MOvVB BR - NOP ERROR JMP #RMOF , (R2) + :GO WRITE REGISTERS VIA PUT SUB 80% ;60 TO 80% IF NO ERROR 1808 ;60 TO 1808 IF ERROR WAS FOUND :RETURN HERE IF ERROR -ERROR DEFINED BY PUT SUB ;SETUP INPUT REGISTER BUFFER FOR READING STATUS JSR PC,GETSTS :WAIT FOR WRITE COMMAND TO COMPLETE AND READ STATUS JSR JSR BR PC, TIMOUT PC.GET 90$ :WAIT FOR COMMAND TO COMPLETE :GO READ REGISTERS VIA GET SUB :60 10 908 IF NO ERROR CZRMDCO RMO3/2 FCTNL TST 2 12-DEC-78 08:24 CZIRMDC.P11 7372 7375 73764 7375 7376 1377 7378 7379 7380 7381 7382 7383 7384 7385 7386 7387 7388 7389 7390 7391 7392 7393 73964 7395 7396 7397 7398 7399 7400 7401 7602 76403 76404 76405 76406 7407 7408 76409 7410 7611 7412 7413 76414 7415 7416 7417 7418 7419 76420 76421 76422 76425 764264 7425 7426 76427 031062 031064 031066 031072 000240 104000 000137 031072 031076 031100 031102 031104 MACY1] - 031574 JMP i 031574 ol 041344 i 001400 001404 040326 037516 031574 040512 031574 ;GO 10 1808 IF ERROR WAS FOUND PC,a(SP)+ JSR BR PC,DTASTS 1108 ;GO VERIFY RESULTS OF DATA TRANSFER ;60 TO 1108 IF NO ERROR ERROR JSR PC,a(SP)+ :ERROR # DEFINED BY DTASTS SUBROUTINE :60 BACK FOR MORE ERROR CHECKS JSR PC,SECERR ;60 CHECK FOR SECONDARY ERRORS JMP JMP ERROR JSR JMP 1008 180% 180% 1208 ;G0 TO 1008 IF NO ERROR :60 TO 1808 IF ERROR WAS FOUND :RETURN HERE ;60 TO 1808 IF ERROR WAS FOUND :60 TO 1208 IF NO ERROR :RETURN HERE PC,a(SP)+ 1808 IF ERROR IF ERROR :ERROR # DEFINED BY SECERR SUBROUTINE :6G0 BACK FOR MORE ERROR CHECKS :60 TO 1808 IF ERROR WAS FOUND ;READ HEADER AND DATA FOR SECTOR JUST WRITTEN MOV #BUF TWO,RMBAO BR 1308 JSR ERROR 130%: #RH!GO,RNCS10 MOV JMP PC,PUT 1808 sREAD HEADER & DATA COMMAND :CHANGE BUS ADDRESS :G0 WRITE REGISTERS VIA PUT SUB ;G0 TO 1308 IF NO ERROR ;RETURN HERE IF ERROR ERROR DEF INED BY PUT SUB ;GO TO 180% IF ERROR WAS FOUND :WAIT FOR READ TO COMPLETE AND GET STATUS JSR JSR BR NOP ERROR 140%: JMP PC.TIMOUT PC.GET :WAIT FOR READ TO COMPLETE ;60 READ REGISTERS VIA GET SUB 1408 ;G0 TO 1408 IF NO ERROR 1808 :GO TO 180% IF ERROR WAS FOUND ;RETURN HERE IF ERROR ‘ERROR DEF INED BY GET SUB :VERIFY THE RESULTS OF READ OPERATION JSR BR NOP 004736 000137 ERROR :RETURN MERE IF ERROR :ERROR # DEFINED BY PRIERR SUBROUTINE :60 BACK FOR MORE ERROR CHECKS NOP 031574 1808 IF ERROR DEF INED BY GET SUB NOP ERROR JSR NOP 000073 104570 037766 :RETURN HERE ;60 CHECK FOR PRIMARY ERRORS B8R 031574 ‘ PAGE 147 PC,PRIERR NOP 031204 031210 031214 031216 031220 031222 031226 031226 031232 031234 031236 031240 031242 031246 EKROR JSR 053016 012737 012737 004737 000404 000240 104000 000137 E 12 FORMAT HCE, FIRST HEADER WORD BR 031574 031144 031146 031152 '1:23 ;VERIFY RESULTS OF WRITE COMMAND 031140 031142 031152 031160 031166 031172 031174 031176 031200 031204 04=JAN-79 NOP 060512 031106 031112 031112 031116 031120 031122 031124 031126 031132 031132 031136 3??21052) S ERROR JSR JMP PC,PRIERR 1508 PC,a(SP)+ 1808 :G0 CHECK FOR PRIMARY ERRORS ;G0 TO 1508 IF NO ERROR :RETURN MERE IF ERROR ‘ERROR # DEFINED BY PRIERR SUBROUTINE 160 BACK FOR MORE ERROR CMECKS ;60 TO 1808 IF ERROR WAS FOUND SEQ 0147 CZRMDCO RMO3/2 FCTNL TST 2 CZRMDC.P11 12-DEC-78 08:24 7428 7629 76430 7631 7632 7433 7634 76435 76436 76437 76438 76439 7640 7641 7642 7643 7644 7645 7446 7647 7448 76449 7450 76451 7452 76453 7454 7455 7456 7457 7458 7459 76460 7661 7462 7463 7464 7465 7466 7467 76468 7669 747C 7471 7472 7473 76474 7475 7476 7677 7478 7479 7480 7481 7482 7483 032737 032737 001122 004737 F 12 MACY11 30A(1052) 04=-JAN-79 11:23 PAGE 148 134 FORMAT HCE, FIRST WEADER WORD 1640000 031576 010000 031576 000020 001344 000514 100000 053016 001372 { 031574 031402 031410 031416 031424 031432 013737 013737 052737 013737 013737 013737 031440 031442 000455 031442 032737 001372 001372 100000 103564 104570 031576 SFER,RMERT] JSR PC,DTASTS BNE 151%: 053016 PC,a(SP)+ MoV MoV BIS anenll.saooAI RMER1].$GDDAT #FER, SGDDAT JMP MOV MOV BIS MOV MOV MOV ERROR BR 001142 001140 001140 001174 001176 001200 180% sVES !! ;1S THIS FER 27 No ll IESFER SET 22 ;GO VERIFY RESULTS OF DATA TRANSFER ;60 TO 1518 IF NO ERROR ;RETURN HERE IF ERROR :ERROR # DEFINED BY DTASTS SUBROUTINE ;G0 BACK FOR MORE ERROR CHECKS ;G0 TO 1808 IF ERROR WAS FOUND ;RECEIVED STATUS ;EXPECTED STATUS 343 1808 ;FORMAT ERROR NOT SET RMER21,$BDDAT RMERZ] . $GDDAT #BSE , SGDDAT BUF ONE , STMPO BUF TWO, $TP1 sRECEIVED STATUS ;EXPECTED STATUS 1908, $TMP2 345 1808 ;WRITTEN HEADER :READ HEADER WORD sFAILING BIT POSITION sFAILED TO DETECT BSE :SKIP REST OF TEST ;VERIFY THAT HEADER COMPARE ERROR IS SET BIT #HCE ,RMER1] lSs'NCE" SET?? 1608 BNE 3 JSR PC,DTASTS ;G0 VER]FV RESULTS OF DATA TRANSFER 1568 BR 1568 1F NO ERROR NOP ERROR 031574 001344 001344 000200 103564 104570 031576 15is ;1S THIS BSE ?? 152%: JVERIFY THAT BAD SECTOR ERROR 1S SET BIT #BSE ,RMER2] IESB§§ SET ?? BNE 1608 sy JSR PC,DTASTS ;60 VERIFY RESULTS OF DATA TRANSFER 1533 BR ;60 TO 1538 1F NO ERROR NOP ;RETURN HERE IF ERROR ERROR :ERROR # DEFINED BY DTASTS SUBROUTINE JSR PC,a(SP)+ ;GO BACK FOR MORE ERROR CHECKS JMP 1808 ;GO TO 1808 IF ERROR WAS FOUND 001142 001140 001140 001174 001176 001200 001344 1608 NOP ERROR JSR ERROR BR 155%: 000200 BIT BR 001142 001140 001140 #MSE 'USE, 1908 1528 #ENT16,1908 1558 ;VERIFY THAT FER 1S SET 053016 031574 001344 001344 000020 032737 BIT BNE BIT BEQ SEQ 0148 156%: sRETURN HERE lF ERROR JSR PC,a(SP)+ MOV MOV RMER11,$BDDAT RMER1],$GDDAT JMP BIS MOV MOV MOV ERROR 1808 , SGDDAT #HCE BUF ONE , STMPO BUF TWO,$TMP1 1908 ,$TMP2 344 ;ERROR # DEFINED BY DTASTS SUBROUTINE :GO BACK FOR MORE ERROR CHECKS ;GO TO 1808 IF ERROR WAS FOUND ;RECEIVED STATUS FOR TYPEOUT ;EXPECTED STATUS :WRITTEN HEADER sREAD HEADER WORD ;FAILING BIT POSITION :FORMAT ERROR NOT SET CIZRMDCO RMO3/2 FCINL TST 2 CIRMOC.P11 7684 7485 7486 7487 7488 76429 76490 76491 7492 7493 7696 7495 7496 7497 7498 7499 7500 7501 7502 7503 7506 7505 7506 7507 7508 7509 7510 7511 7512 7513 ;g}g 7516 7517 7518 7519 7520 7521 7522 7523 7524 7525 7526 7527 7528 7529 7530 7531 031540 12-DEC-78 08:2¢ 134 000415 004737 031550 031552 031554 031556 031562 000240 104000 004736 000137 031562 031566 031570 031574 031574 031576 031576 031600 031600 031606 031614 031622 000405 006337 001404 000137 BR 031574 1658 031576 030626 000465 000000 031630 004737 010000 177776 103564 000062 031634 031640 031642 031644 031646 004737 154130 000404 000240 104000 034000 031730 031732 031736 031740 031742 031746 031750 ;CHECK FOR OTHER ERRORS JSR PC,SECERR 041344 012737 012737 012737 012737 031650 031654 031662 031666 031672 031676 031702 031706 031712 031716 031722 1808 1608: 031542 031546 SEQ 0149 FORMAT HCE, FIRST MEADER WORD BR 031542 000137 012737 012702 112722 112722 112722 112722 112722 112722 112722 004737 7532 031726 000404 7533 753, 7535 7536 7537 7538 7539 1 MACY11 30A(1052) 04=JAN-79 11:23 6PA%E 149 000240 104000 000137 000240 004737 000240 036620 031654 000063 001535 000006 000034 000032 000002 000004 000000 000200 037766 031750 040326 001432 001402 001404 001400 001400 NOP ERROR JSR JMP 1658 PC.a(SP)+ 1808 :60 CHECK FOR SECONDARY ERRORS ;60 T0 1658 IF NO ERROR :RETURN HERE IF ERROR :ERROR # DEFINED BY SECERR SUBROUTINE 160 BACK FOR MORE ERROR CHECKS :60 TO 1808 IF ERROR WAS FOUND ;ADVANCE THE BIT POSITION AND FORMAT AGAIN IF NOT DONE ASL 1908 ;SHIFT TO NEXT BIT POSITION BEQ 2008 SEXIT IF DONE JWP 108 :60 DO NEXT SECTOR 1808: BR 2408 :JUMP OVER STORAGE 1908: .WORD :STORAGE FOR BIT POSITION 2008: ; MOV #0,RMDCO :REFORMAT THE SECTOR IN 16 BIT MODE : MOV #0.RMDAO ; MOV #FAT16,RMOFO : 16 BIT MODE MOV #-2,RMUCO CONLY TWO HEADER WORDS MOV #BUF ONE ,RMBAO :SELECT THE BUFFER MOV #WH,RMCS10 :WRITE HEAD AND DATA COMMAND 2108: JSR PC, GENBUF JSR LWORD BR NOP ERROR PC,TSTPRP ;PREPARE DEVICE FOR TEST 154130 ;TASK DESCRIPTOR 2108 ;60 TO 2108 IF NO ERROR :RETURN HERE IF ERROR :ERROR # DEFINED BY TSTPRP SUBROUTINE JMP MOV MOV MOVE MOVB MOVB MOVB MOVB MOVB MOVB JSR BR 2208: 2408%: NOP ERROR JMP NOP JSR NOP 2108 #WH'GO,RMCS10 #PUTINX,R2 #RMDA, (R2)+ #RMDC.(R2)+ #RMOF . (R2)+ #RMWC. (R2)+ #RMBA.(R2)+ #RMCSi,(R2)+ #200,(R2)+ PC,PUT zzés 2408 :GENERATE THE BUFFER PATTERN ;60 TO 2108 IF ERROR WAS FOUND :SET THE GO BIT :PUT THE REGISTER ADDRESS INTO TABLE ; ; : ; : : :TERMINATOR GO WRITE REGISTERS VIA PUT SUB ;60 TO 2208 IF NO ERROR ;RETURN HERE IF ERROR :ERROR DEFINED BY PUT SUB ;GO TO 2408 IF ERROR WAS FOUND PC,TIMOUT :WAOT UNTIL IT FINISH CZRMDCO RMO3/2 FCTNL IST 2 CIZRMDC.P11 12-DEC-78 08:2¢4 H 12 MACYTT 30A(1052) 04=JAN-79 11:23 PAGE 150 134 FORMAT HCE, FIRST HEADER WORD 7540 7561 7542 R R A :*TEST 35 FORMAT HCE, SECOND HEADER WORD 7543 75644 7545 75646 7547 7548 7549 7550 7551 R 031750 031750 031752 03175¢ 031760 031764 031770 031776 000004 000240 012706 013700 013701 012737 012737 001100 001276 001450 000035 000001 7555 7556 7557 7558 7559 7560 7561 7562 7563 032004 032012 032020 032026 032034 032042 032050 032056 032064 012737 012737 012737 012737 012737 012737 012737 012737 004737 000000 000000 010000 177376 103564 000062 065104 000001 036620 7566 7567 7568 7569 7570 7571 7572 ;;;2 032070 032074 032076 032100 032102 032104 004737 154130 000404 000240 104000 000137 034000 7575 7576 7577 7578 7579 032110 032116 032120 032126 033737 001404 043737 000403 ;23; 032136 ;22% 75564 ;ggg ;gg? 7584 7585 7586 032004 032070 032110 032130 7595 103566 032560 103566 032210 SCOPE NOP Mov MOV MOV MOV MOV R R #STACK,SP $BASE RO TSTQUE R #35,8TESTN #1,190% R R A T R R AT R T T sSCOPE CALL ;START OF TEST sINITIALIZE STACK POINTER sRO=UNIBUS ADDRESS s(R1) = DEVICE BEING TESTED ;:SET TEST NUMBER IN APT MAIL BOX sINIT BIT POSITION sSETUP PARARMETERS FOR GENERATING DATA BUFFER MoV MoV [ []" MOV MOV MOV MOV MOV JSR #0,RMDCO #0,RMDAO #FNT16,RNOFO #<A(<24256.>41> ,RMUCO #BUF ONE ,RMBAO #UH ,RACS10 #LEROS,STMPO (AL PC,GENBUF sCYLINDER = 0 sTRACK = SECTOR = 0 :16 BIT FORMAT ;2 + 256 WORDS sDATA BUFFER ADDRESS sWRITE HEADER AND DATA JUSE ALL ZEROS DATA PATTERN ;G0 GENERATE DATA BUFFER FOR DATA TRANSFER PC,TSTPRP ;PREPARE DEVICE FOR TEST 154130 ;TASK DESCRIPTOR 30% ;60 TO 308 IF NO ERROR sRETURN HERE IF ERROR sERROR # DEFINED BY TSTPRP SUBROUTINE 240% ;G0 TO 2408 IF ERROR WAS FOUND ;COMPLEMENT DATA BIT IN SECOND HEADER WORD BIT 190% ,BUFONE +2 ;1S BIT IN HEADER ON?? BEQ 318 ;NO!! BIC 190% ,BUFONE +2 sRESET BIT IN HEADER BR 32% 31%: BIS 190% ,BUFONE +2 ;SET BIT IN HEADER 328: 000032 032200 032204 L ;PREPARE DEVICE JSR .WORP BR NOP ERROR JMP 308: 032560 112722 7592 0321764 108: 20%: 103566 032160 032164 032170 001434 001406 001432 001402 001404 001400 001174 001176 032560 000063 001535 7590 7591 001226 032560 032732 012737 012702 032150 032154 7593 7594 053737 1S135: 032136 032144 7587 7588 7589 SEQ 0150 112722 112722 112722 112722 112722 112722 004737 000404 000006 000034 000002 000004 000000 000200 037766 001400 ;SETUP AND EXECUTE WRITE HEADER AND DATA COMMAND MOV MOV #UN'!GO,RNCS10 #PUTINX ,R2 MOvVB #RMOF , (R2)+ MOVB MOVB MOvB MOVB MOVvB MOVB JSR BR #RMDA, (R2)+ #RMDC, (R2)+ JWRITE HEADER AND DATA sWRITE REGISTER INDEX TABLE #RMWC, (R2)+ #RMBA, (R2)+ #RMCST, (R2)+ #200, (R2)+ PC,PUT 80% ;G0 WRITE REGISTERS VIA PUT SuB ;60 10 808 1F NO ERROR CZRMDCO RMO3/2 FCTNL TST 2 CZRMDC.P11 12-DEC-78 08:24 7596 7597 7598 7599 7600 7601 7602 7603 7604 7605 7606 7607 7608 7609 7611 032250 7614 7615 7616 7617 7618 7619 7620 7621 032250 032256 032256 032260 032262 032264 032270 032270 032212 032214 032216 032222 000137 032556 032222 004737 037432 032226 032232 032236 032240 032242 004737 004737 04 040326 037516 000240 104000 MACY1 3??;1052) 04=JAN-79 112 PAGE 151 " ERROR JMP JSR J JSR BR - ERROR :GO 70 180% IF ERROR WAS FOUND PC,GETSTS . NOP ERROR JMP PC,TIMOUT PC,GET JSR BR B 053016 :60 T0 908 IF NO ERROR 1808 ;GO TO 180% IF ERRCR WAS FOUND :RETURN MERE I1F ERROR “ERROR DEF INED BY GET SUB 041344 IF ERROR PC,DTASTS ;60 VERIFY RESULTS OF DATA TRANSFER 180$ 1108 ;60 TO 1808 IF ERROR WAS FOUND ;60 10 1108 IF NO ERROR :RETURN HERE IF ERROR ERROP JSR PC,a(SP)+ ‘ERROR # DEFINED BY DTASTS SUBROUTINE :G0 BACK FOR MORE ERROR CHECKS JSR PC,SECERR ;60 CHECK FOR SECONDARY ERRORS JMP ERROR JSR 001400 001404 ;60 TO 1008 IF NO ERROR :RETURN HERE JSR NOP 120%: :60 CHECK FOR PRIMARY ERRORS PC.a(SP)+ JMP BR 032556 1008 :ERROR # DEFINED BY PRIERR SUBROUTINE :G0 BACK FOR MORE ERROR CHECKS NOP - PC,PRIERR ERROR JSR BR 032556 :WAIT FOR COMMAND TO COMPLETE GO READ REGISTERS VIA GET SUB 90$ :VERIFY RESULTS OF WRITE COMMAND 032556 JMP 180% 1208 ;60 TO 1808 IF ERROR WAS FOUND :60 10 1208 IF NO ERROR :RETURN HERE PC.a(SP)+ 1808 IF ERROR :ERROR # DEFINED BY SECERR SUBROUTINE :G0 BACK FOR MORE ERROR CHECKS :60 TO 1808 IF ERROR WAS FOUND :READ HEADER AND DATA FOR SECTOR JUST WRITTEN MOV #RH'GO,RMCS10 JSR PC,PUT MOV BR NOP 040326 037516 1808 IF ERROR DEF INED BY PUT SUB JWALT FORS=R11£ COMMAND TO COMPLETE AND READ STATUS NOP 032556 :RETURN HERE ;SETUP INPUT REGISTER BUFFER FOR READING STATUS 040512 000073 104570 037766 SEQ 0151 FORMAT HCE, SECOND HEADER WORD NOP 032556 004737 004737 000404 000240 11:23 ERROR 130%: JMP #BUF TWO,RMBAOD ;READ HEADER & DATA COMMAND :CHANGE BUS ADDRESS :G0 WRITE REGISTERS VIA PUT SUB 1308 ;60 TO 1308 IF NO ERROR 1808 ;GO TO 180% IF ERROR WAS FOUND :RETURN MERE IF ERROR “ERROR DEFINED BY PUT SUB :WAIT FOR READ TO COMPLETE AND GET STATUS JSR JSR BR NOP PC,TIMOUT PC.GET 1408 :WAIT FOR READ TO COMPLETE :G0 READ REGISTERS VIA GET SUB :60 1O 1408 IF NO ERROR :RETURN HERE IF ERROR CZRMDCO RMO3/2 FCINL TST 2 12-DEC-78 08:2¢4 CZRRDC.P 032376 032624 032424 104000 000137 032556 004737 000405 000240 104000 004736 000137 040512 032556 032737 000200 3?;;1052) 140%: 032556 001344 001344 000200 103566 104572 032560 JMP JSR BR — 001344 ERROR JSR JMP PAGE 152 SEQ 0152 1808 -ERROR DEF INED BY GET SUB ;GO TO 180% IF ERROR WAS FOUND JSR 001142 001140 001140 001174 001176 001200 PC,PRIERR 1508 PC,A(SP)+ 1808 ;G0 CHECK FOR PRIMARY ERRORS :60 T0 1508 IF NO ERROR :RETURN HERE IF ERROR :ERROR # DEFINED BY PRIERR SUBROUTINE :G0 BACK FOR MORE ERROR CHECKS :60 TO 1808 IF ERROR WAS FOUND ;VERIFY THAT HEADER COMPARE ERROR IS SET BIT #HCE ,RMER1 ] ;1S "HCE'" SET?? BNE 1608 TYES!! BR 032524 1558: NOP ERROR JSR JMP MOV MOV BIS MOV MOV MOV ERROR BR PC,DTASTS 1558 PC,a(SP)+ 1808 RMER11,$BDDAT RMER11,$GDDAT #HCE , SGDDAT BUFONE+2,$TMPO BUF TW0+2,$THP1 1908, $TMP2 344 1808 ;60 VERIFY RESULTS OF DATA TRANSFER ;G0 TO 1558 IF NO ERROR :RETURN MERE IF ERROR :ERROR # DEFINED BY DTASTS SUBROUTINE :60 BACK FOR MORE ERROR CMECKS ;60 TO 1808 IF ERROR WAS FOUND :RECEIVED STATUS FOR TYPEOUT :EXPECTED STATUS :WRITTEN HEADER :READ HEADER WORD :FAILING BIT POSITION :FORMAT ERROR NOT SET 160%: :CHECK FOR OTHER ERRORS 041344 JSR BR NOP 032544 J 12 ;VERIFY THE RESULTS OF READ OPERATION 032522 032544 11:23 FORMAT HCE, SECOND HEADER WORD ERROR 053016 0325264 04=JAN-79 NOP ERROR JSR 032556 165%: ASL 032004 0000 7776 JMP PC,SECERR 1658 PC,a(SP)+ 180$ :60 CHECK FOR SECONDARY ERRORS ;60 TO 1658 IF NO ERROR :RETURN HERE IF ERROR :ERROR # DEFINED BY SECERR SUBROUTINE 160 BACK FOR MORE ERROR CHECKS ;60 TO 1808 IF ERROR WAS FOUND ;ADVANCE THE BIT POSITION AND FORMAT NEXT SECTOR IF NOT DONE 032560 —_ 7652 7653 7654 7655 7656 7657 7658 7659 MACYT] 001432 001402 190 2008 10$ ;SHIFT TO NEXT BIT POSITION e BEQ JWP L BR 2408 :JUMP OVER STORAGE o .WORD ; MOV MOV MOV MOV SEXIT IF DONE :60 DO NEXT SECTOR :STORAGE FOR BIT POSITION #0,RMDCO #0.RMDAO #EMT16,RMOFO #-2,RMUCO :REFORMAT THE SECTOR IN 16 BIT MODE :SECTOR O,TRACK 0, CYL 0 116 BIT MODE 12 HEADER WORDS ONLY — (=1 $588 33 T e g D NN NNNNNNNNNN=-ON WNONNNNNNO WO &~ NNNNNNNNNDNN NN S Y d OO Py 032576 604 — el i il e e 7708 7709 7710 [44). P NN - NN~ NN NN NNNN CZRMDCO RMO3/2 FCTNL TST 2 CIZRMDC.P11 12-DEC-78 08:24 032710 032712 032714 032716 032722 032724 032730 032732 000404 103564 000062 036620 034000 032636 001535 MACY11 K 12 30A(1052) O04=JAN-79 11:23 PAGE 153 135 FORMAT HCE, SECOND HEADER WORD 001404 001400 001400 MoV MoV JSR JSR 210%: 037766 .WORD BR NOP ERROR JAP MOV MoV MOvVB MOove MOvVB MOVB MOVB MOvVB MOvVB JSR BR NOP 032732 040326 220%: 240%: ERROR JMP NOP JSR NOP ;PUT NEWTEST #BUFONE ,RMBAO #WH RACS10 PC,GENBUF SEQ 0153 sBUFFER ADDRESS sWRITE HEAD AND DATA COMMAND :SET UP THE BUFFER PC,TISTPRP ;PREPARE DEVICE FOR TEST 154130 ;TASK DESCRIPTOR 2108 ;60 TO 2108 IF NO ERROR 2108 #VN'GO,RNCS10 #PUTINX,R2 #RMDA, (R2) + #RMDC, (R2) + #RMOF . (R2) + SRMBA . (R2) + SRMUC , (R2) + PRACST, (R2)+ #200, (R2) + PC,PUT 2208 2408 1SET GO BIT *TABLE ADDRESS ; ; : ; : ; STERMINATOR :GO WRITE REGISTERS VIA PUT SUB ;GO TO 2208 IF NO ERROR ;RETURN HERE IF ERROR *ERROR DEF INED BY PUT SUB :GO 1O 240% IF ERROR WAS FOUND PC,TIMOUT HERE ;RETURN HERE IF ERROR ;ERROR # DEFINED BY TSTPRP SUBROUT INE ;60 TO 2108 IF ERROR WAS FOUND ;WAIT FOR TIME OUT CZRMDCO RMO3/2 FCTNL TST 2 CZRRDC.P1N 12-DEC-78 08:24 7737 7738 032732 032732 7760 77641 032740 032744 062700 010037 7743 77644 77645 032752 032754 032760 001402 000137 012737 7739 7762 ;;z? 032734 032750 000240 013700 005710 L 12 MACY11 30A€1052) O04=JAN-79 11:23 PAGE 154 135 FORMAT HCE, SECOND HEADER WORD SEOSP: NOP 001450 MOV ADD MOV #2,R0 RO,TSTQUE 007124 001452 BEQ JMP MOV 1% READY #TISTQUE+2,TSTQUE 000002 001450 181 001450 1%: .SBTTL SEQ 0154 TSTQUE RO (RO) END OF PASS ROUTINE 7748 A 7749 7750 7751 7752 s*INCREMENT THE PASS NUMBER ($PASS) s*TYPE "END PASS #XXXXX TOTAL NUMBER OF ERRORS SINCE LAST REPORT yvyyy' s*WHERE XXXXX AND YYYYY ARE DECIMAL NUMBERS ;*IF THERES A MONITOR GO TO IT ;;gz 7755 7756 7757 7758 7759 7760 7761 7762 7763 7764 7765 7766 7767 7768 7769 7770 7771 7772 7773 77764 7775 7776 7777 7778 7779 7780 7781 7782 7783 7784 7785 7786 7787 7788 7789 7790 7791 7792 R R R R R e ey :*]F THERE ISN'T JUMP TO SHUT 032766 032766 000240 $EOP: 032770 032774 033000 033004 033012 033014 033016 033020 033022 033026 033026 033032 005037 005037 005237 042737 005327 000001 003063 012737 000001 033014 104401 000407 033052 033052 013746 001230 033056 033060 033064 104405 104401 000421 033066 033130 033130 013746 001126 033134 033136 033142 033146 033152 033154 104405 104401 005037 013700 001405 000005 033156 033160 033162 033164 033166 033166 033170 004710 000240 000240 000240 000137 057372 001116 001206 001230 100000 033034 001217 001126 000042 001230 NOP CLR CLR INC BIC DEC $EOPCT: .WORD BGT . MOV $ENDCT: .WORD $EOPCT TYPE BR ;:658: LASCIZ 648: MOV ;:67%: 66%: $STSTNM $TIMES $PASS 0100000 $PASS (PC)+ 1 $DOAGN (PC)+,3(PC)+ 1 ;s LERDO THE TEST NUMBER ;s LERO THE NUMBER OF ITERATIONS ;s INCREMENT THE PASS NUMBER ;;DON'T ALLOW A NEG. NUMBER : :LOOP? ;s YES ;sRESTORE COUNTER ,65% ..1VPE ASCIZ STRING 643 ;GET OVER THE ASCIZ <12><15>/END PASS #/ TYPDS TYPE BR _ASCIZ ;:SAVE SPASS FOR TYPEOUT ;s TYPE PASS NUMBER 3:60 TYPE~--DECIMAL ASCI] WITH SIGN ,67% ..TVPE ASCIZ STRING 669% :GET OVER THE ASCIZ / TOTAL ERRORS SlNCE LAST REPORT / MOV $SERTTL,-(SP) TYPDS TYPE CLR $GET42: MOV BEQ RESET $ENDAD: JSR NOP NOP NOP $DOAGN: JMP SRINAD: .WORD $PASS,-(SP) LOCRLF SERTTL ars2 RO $DOAGN PC,(RO) 9(PC)+ SHUT :sSAVE SERTTL FOR TYPEOUT ;s TOTAL NUMBER OF ERRORS 2:60 TYPE==DECIMAL ASCI] WITH SIGN s TYPE CARRIAGE RETURN, LINE FEED s sCLEAR ERROR TOTAL ::GET MONITOR ADDRESS s sBRANCH IF NO MONITOR :sCLEAR THE WORLD 2260 TO MONITOR ;s SAVE ROOM ;sFOR siACTN : ;RETURN CZRMDCO RMO3/2 FCTNL TST 2 CZRMDC.P1N 12-DEC-78 08:24 7793 7796 033172 377 033176 377 MACY11 000 30A(1052) 04=JAN-79 END OF PASS ROUTINE SENULL: .BYTE .EVEN 11:23 *1,-1.9 n12 PAGE 155 ;sNULL CHARACTER STRING SEQ 0155 CZRMDCO RMOS/72 FCTINL TST 2 12-DEC-78 08:2¢4 CIRMDC P11 MACYTT 7795 7796 30A(1052) 04=JAN-79 SUBROUTINES .SBTTL 7797 7798 1799 7800 7801 7802 7803 LI 11:23 N 12 PAGE 156 SEQ 0156 SUBROUTINES R RN RN SB!IL E R RN R R RO R RO R RRRROERRRRERRRRRRRRORRRRRORRRROROERERERTS ERROR TYPEOUT ROUTINE ;*THE ERROR TYPEOUT ROUTINE ASSEMBLES AND PRINTS INFORMATION :'REGARDING THE DETECTION OF AN ERROR AS FOLLOWS: -UNIT NUMBER, TEST NUMBER, ERROR NUMBER AND PROGRAM COUNTER ARE 'PRINIED ON THE FIRST LINE; i LERROR MESSAGE IS ASSEMBLED, FORMATTED AND PRINTED ON 033210 033214 033220 033224 033230 033232 033233 033234 033240 033246 033252 033256 033260 033261 [ 0 A o1 3 2 77 1 40 13 g8 033176 NSNS :*ONE OR MORE SUCCEEDING LINES: e .PAIRED LINES OF ERROR HEADERS AND ERROR DATA :«ARE PRINTED AFTER THE ERROR MESSAGE . 104401 104401 013746 ERRTYP: 020000 145746 03372¢ :TYPE 001217 033742 001234 is: 104403 003 009 005037 013737 104401 013746 104401 013746 033732 001226 033750 033732 033734 001130 TYPE MOV STESTN, TSTNMB LERTYOI 033734 001217 033740 TSTNMB,=(SP) 3 0 MOVE BEQ TYPE SITEMB.ERRNMB 28 LERTYO2 .BYTE BYTE TYPE MOV TYPOS 001 TSTNMB .BYTE BYTE 1YPOS 104403 006 .ERTYO00 $UNIT,=(SP) MOV TYPE MOV 2%: TEST NUMBER, L $CRLF 3 0 CLR 033760 033734 1% 218 .BYTE BYTE MOV 033734 #SW13,aSWR NUMBER, TYPE 1YPOS 003 000 1046401 013746 104401 105037 UNIT CLR 033732 104403 005737 001575 BEQ JWP 1YPOS 1064403 003 000 005037 113737 001406 SAVREG BIT ERRNMB ERRNMB,=(SP) 3 0 LERTYO3 $ERRPC,=(SP) :INHIBIT TYPEOUTS?? INO'! TYES!! ERROR NUMBER, AND PROGRAM COUNTER ;TYPE "UNT#" ::SAVE SUNIT FOR TYPEOUT s TYPE UNIT NUMBER ::60 TYPE=-OCTAL ASCII :sTYPE 3 DIGIT(S) : :SUPPRESS LEADING ZEROS :LOAD TEST NUMBER FOR STYPE ""TSTA" ::SAVE TSTNM8 FOR TYPEOUT ;s TYPE TEST NUMBER ::60 TYPE==OCTAL ASCII ::TYPE 3 DIGIT(S) : :SUPPRESS LEADING 2EROS :LOAD ERROR NUMBER FOR :TYPEOUT :SKIP 1F NO ERROR CALLED :TYPE "ERR#'’ :;SAVE ERRNMB FOR TYPEOUT ::TYPE ERROR NUMBER ::60 TYPE==OCTAL ASCI1I ::TYPE 3 DIGIT(S) : :SUPPRESS LEADING ZEROS :TYPE ‘PC="" ::SAVE SERRPC FOR TYPEOUT ::TYPE PROGRAM COUNTER ::60 TYPE==OCTAL ASCII BYTE 6 ::TYPE 6 DIGIT(S) Ts1 ERRNMB :WAS AN ERROR CALLED? TYPE (LRB ,SCRLF BOTFLG SYES=TYPE CRLF :CLEAR BOT FLAG BYTE 1 :TYPE LEADING ZEROS . GENERATE POINTER TO ERROR TABLE UNLESS ERROR NUMBER 1S 0 3s: BEQ 218 INO'! CZRROCO RMO3/2 FCTNL TST 2 CIRMOC.P 12-DEC-78 08:24 7851 7852 7853 785¢ 7855 7856 ;gg; 033344 033350 033354 033356 033360 033362 033366 105037 013700 006300 006300 006300 062700 011001 7859 7860 7861 7862 7863 7864 7865 7866 7867 7868 7869 7870 7871 033370 001507 033372 033376 033376 033402 033406 033410 033412 033416 033420 0334264 033426 012102 001505 010237 005037 112203 001454 122703 001003 105037 000770 122703 7873 7874 7875 7876 7877 7878 7879 7880 7881 7882 7883 7884 7885 7886 7887 7888 033434 033440 033442 033446 033454 033456 033460 033464 033470 033472 033476 033504 033506 033512 033514 033520 7872 7889 7890 7891 7892 7893 7894 7895 7896 7897 7898 7899 7900 7901 7902 7903 7904 7905 7906 033432 033524 033530 033532 033534 033542 033544 033546 033552 033554 033560 033564 033570 033574 03 033604 033606 033610 001765 122703 001007 105237 132737 001372 000407 105237 122703 001002 010237 122737 103340 013704 001007 104401 105037 013702 000726 105044 112737 104401 000000 30A(1052) CLRB MoV ASL ASL ASL ADD MoV 001554 : BEQ ;TYPE THE ERROR 4 MOV BEQ MoV CLR 5%: MOVB BEQ CMPB BNE CLRB BR 6%: CMPB 033544 033736 000015 033741 000012 BEQ 000011 033741 000007 033741 033741 000040 033736 000100 7%: 8$: 033741 9%: 033736 001217 033741 033544 177777 033740 013702 010237 112742 105722 000677 033736 033544 000040 O04=JAN-79 ERROR TYPEOUT ROUTINE 03374! 033734 105737 001707 104401 105037 105037 MACY11 033740 90%: 108: 11$%: 001217 033740 033741 CMPB B INCB BITB BNE Br INCB CMPB BNE MoV CMPB BHIS MOV BNE TYPE CLRB MOV HR CLRB MOVB TYPE .WORD 813 PAGE 157 CHRCNT ERRNMB , RO RO RO RO #SERRTB-8. RO (RO) R 138 MESSAGE (R1)+,R2 12% R2,11% BOTADR (R2)+,R3 108 #CR,R3 6% CHRCNT 5% #LF,R3 b33 #HT R3 8% CHRCNT #7,CHRCNT 7% 9% CHRCNT " ,R3 5% R2,BOTADR #64. ,CHRCNT 5% BOTADR,R& 90% JSCRLF CHRCNT 118,R2 5% =(R&) #-1,BOTFLG 1S18B BEQ BOTFLG 43 MOV MOV MOVB 1STB BR BOTADR,R2 R2,11% ¢ ,-(R2) (R2)+ 5% TYPE CLRB CLRB 12%: 11:23 LSCRLF BOTFLG CHRCNT SEQ 0157 sCLEAR CHARACTER COUNTER :RO POINTS TO FIRST OF sFOUR ENTRIES IN ERROR : TABLE ;?lngINIS TO ERROR MESSAGE s TABL ;BRANCH IF NO ERROR MESSAGE :R2=ADDRESS OF MESSAGE STRING sBRANCH IF END OF MESSAGE :LOAD ADDRESS OF STRING :CLEAR BOT ADDRESS Eno or STRING?? :YES! (ARR]AGE RETURN?? :NO!! SYES=CLEAR CHAR COUNT ;GET NEXT CHARACTER ;LINE FEED?? :YES=GET NEXT CHARACTER ;HORIZONTAL TAB?? :NO!! ;ADJUST CHARACTER COUNT ; INCREMENT CHARACTER COUNT :SPACE?? :NO!! ;SAVE ADDRESS OF SPACE Euo OF LINE?? :NO!! :GET ADDRESS OF LAST SPACE ;BRANCH IF SPACE DETECTED :IVPE CRLF :CLEAR "MARACTER COUNT ;SET UP R2 FOR TESTING sREPLACE SPACE ;SET BOT FLAG ;:TYPE ERROR MESSAGE STRING sSTRING ADDRESS GOES HERE sWAS STRING TRUNCATED?? :NO!'! ;YES=TYPE CRLF ;CLEAR BOT FLAG sCLEAR CHARACTER COUNT ;SETUP R2 FOR TESTING :SETUP 118 FOR TYPING ;RESTORE SPACE ;RESTORE R2 :TYPE REST OF STRING :TYPE ERROR HEADER AND ERROR DATA 13%: 000002 001217 000004 000006 033642 14%: 15%: 001217 16%: BEQ MOV MOV 1518 BMI BEQ 033742 033750 033756 033760 033766 033767 033774 033775 047125 R2 14% (R2)+ R4 (R3)+,RS (RS)+ 18% 17% a(R4)+,-(SP) :DATA WITH HEADER?? 19% d(RLY+ =(SP) (R4) 208 - LERTYO4 16% 20%: ERRNMB: BOTADR: BOTFLG: CHRCNT: SCRLF 14% sR& POINTS TO DATA ADDRESS sRS POINTS TO FORMAT sWHAT KIND OF sBINARY sOCTAL ;DECIMAL DATA?? ;MORE DATA?? ;NO!! ;YES=TYPE 2 SPACES s AND CONTINUE :TYPE ONE BLANK LINE ' ;BEFORE NEXT HEADER o . . . . 052111 0462524 000043 052123 ERTYO0: ERTYO1: 051105 021522 ERTYO2: 050040 036503 ERTYO3: . ERTYO4: . LEVEN .NOII 19% 18%: TSTNMB: 000040 sHEADER ADDRESS GOES HERE ,SCRLF . . P 000000 000000 000000 000 000 0 d(R4)+,~(SP) 21%: 033732 033734 033736 033740 033741 :R3 POINTS TO FORMAT TABLE :PUT HEADER ADDRESS FOR TYPE ;BRANCH IF END OF HEADERS : (ASSUME END OF DATA) 17%: 033775 033726 033730 SEQ 0158 :BRANCH IF NO HEADER : (ASSUME NO DATA) :R2 POINTS TO DATA ADDRESS TABLE BEQ TYPE .WORD TYPE 187 PAGE 158 :R1 POINTS TO ERROR HEADER TABLE MOV MoV MOv 19%: 001217 c13 MOV BEQ TYPE ooooo 12-DEC-78 08:24 PP CZRMDC PN MACY11 30A(1052) 04=JAN-79 11:23 ERROR TYPEOUT ROUTINE P CZRMDCO RMO3/2 FCTNL TST 2 :TEST NUMBER :ERROR NUMBER ;BEGINNING OF TEXT ADDRESS :BOT FLAG : CHARACTER COUNT CZRMDCO RMO3/2 FCTNL TST 2 CZRMDC.PN 12-DEC-78 08:2¢4 MACY11 30A(1052) 04=JAN-79 11:23 TEST PREPARATION MODULE ;823 7961 7962 7963 7964 7965 7966 7967 7968 7969 797C .SBTTL _ : ; ; ; : 7973 7974 7975 7976 7977 7978 7979 7980 7981 7982 7983 7984 7985 7986 7987 7988 7989 7990 : S : 3 : : 5 : : 3 : : ; N 034000 7993 7994 7995 7996 7997 034000 034006 034012 034016 017637 062716 105076 162716 000000 000006 000000 000004 034712 7999 8000 8001 034022 034030 032737 001414 100000 034712 8002 8003 8004 8005 8006 8007 8008 38?8 034032 034036 034040 034042 034044 034050 034056 034062 8013 8014 PC,TSTPRP TASK/VERIFY DESCRIPTOR RETURN HERE IF NO ERROR RETURN HERE IF ERROR 7 ERROR BIT 14 BIT 13 BIT 12 BIT 11 BIT 10 BIT 9 BIT 8 BIT 7 BIT6 BIT 5 BIT BIT BIT BIT BiT ERROR DEFINED BY MODULE 4 3 2 1 0 1S AVAILABLE CLEAR CONTROLLER AND SELECT DEVICE (RESERVED FOR DRIVE CLEAR) PACK ACKNOWLEDGE IF VOLUME NOT VALID RECALIBRATE IF POSITIONING IN PROGRESS = 1 = 1 = 1 =1 VERIFY CONTROLLER CLEAR OPERATION (RESERVED FOR DRIVE CLEAR) VERIFY PACK ACKNOWLEDGE VERIFY RECALIBRATION =1 =1 004737 000411 000401 000000 062716 113776 000137 sSTORE TASK DESCRIPTOR AND CLEAR USER'S ERROR CALL MOV a(SP),500% ;sSTORE DESCRIPTOR ADD #6,(SP) sMOVE SP TO USERS ERROR CALL CLRB a(SP) ;CLEAR ERROR CALL SuB #4,(SP) ;MOVE SP TO NO ERROR RETURN I 045206 000004 034042 034700 000000 032737 001453 040000 108: 208: 30%: 034712 R R N AN N AR R R R R NN AN RN RN RN AR R RO NRS SELECT DEVICE AND VERIFY DEVICE AVAILABLE IF BIT 15 SET IN TASK BIT #B81715,500% SELECT DEVICE?? R 034062 034070 JSR .WORD BR NOP TSTPRP: 8011 8012 TEST PREPARATION MODULE sTASK/VERIFY DESCRIPTOR : IT 15 =1 SELECT DEVICE AND VERIFY DEVICE . ;33; 7998 SEQ 0159 THIS MODULE PREPARES THE RMO3 SUBSYSTEM FOR THE EXECUTION OF A TEST, REPORTING AN ERROR TO THE USER IF AN ERROR IS DETECTED. THE USER SPECIFIES TASKS TO BE PERFORMED, WHICH THE MODULE EXECUTES USING SUBROUTINES. sCALL: : : H ;g;; D13 PAGE 159 BEQ JSR BR BR .WORD ADD MOVB JMP 308 PC,DEVSEL 30% 20% ¥, (SP) 108,38(SP) 400% sNO!! 60 SELECT DEVICE NO ERROR - CONTINUE ;ERROR NUMBER FROM DEVSEL s TRANSFER ERROR TO USER RR e it isd ;CLEAR CONTROLLER IF BIT 14 IS SET IN TASK BIT BEQ #B1714,500% 120% ;CLEAR CONTROLLER?? sNO!! CZRMDCO RMO3/2 FCTNL TST 2 CZRMDC.P11 12-DEC-78 08:2¢4 —_~~ NN — 000004 034102 034700 ~No o — winrno 3=% 30A(1052) JSR BR gErers 2888 §:8S§§ g WN=-=NOO -NN N NOOOO - NN O wn NN, V] - =8 -N~ 8 ~N wrhow ~N nNON —— - oU ~N &S0 ==l E ¥ rE FF SETERE o ¥ o 23 ® i) wnro o O (V. 000100 ADD MOVB JAP 60$%: 034712 A A AL A BIT BEQ 708 : 000000 AR A E 50% ;ERROR NUMBER FROM CNTCLR #6,(SP) 40%,3(SP) 400% AR AR SEQ 0160 ;60 CLEAR CONTROLLER ;CONTINUE - NO ERROR PC,CNTCLR 6 0% AR AR 13 PAGE 160 ;TRANSFER ERROR TO USER ARl Al :VERIFY CONTROLLER CLEAR IF BIT6 SET IN TASK 80%: 90%: 100%: 000004 034176 034700 .WORD 50%: 03743¢ 037516 000004 034146 034700 046776 B8R 40%: 000000 11:23 TEST PREPARATION MODULE AL A = 04=JAN-79 046660 § 004737 000411 000401 — ~N>oRR8 034072 034076 MACYT 110%: 000000 JSR JSR b B .WORD ADD MOvB JAP JSR PC,GETSTS PC,GET 90% 80% EE] 1108 187 (SP)+ BR .WORD #6,(SP) 708 ,8(SP) 4<00% PC,CLRSTS 120% ADD #4,(SP) JMP 400% MOVB 1208: #B8116,500% 1208 100%,3(SP) ARl Rd ) ;VERIFY?2? :NO!! ;SETUP INDEX TABLE ;60 GET STATUS :NO ERROR GETTING STATUS ;ERROR FROM GETTING STATUS : TRANSFER ERROR TO USER ;GO VERIFY STATUS CLEAR :NO ERROR IN CLEAR ;ERROR IN STATUS CLEAR ;STRIP RETURN ADDRESS TO : SUBROUTINE AND TRANSFER ;ERROR TO USER ':""'.""""""""'""""""".."l"l"'.'l'""""'I' SE::-““Q £ Ui‘i-‘g;(’-‘UlU!Ld-‘\n S NNNNO O = NN COO=0ONNNNNUWNNO OO == YNN—-N o v NN NNNWN o - éfig NN oo o SS§ S5388%8:888 §§=:8 elelelalelelealelale] ¥ ~N PRI AR RS EENas: SFEE or OO o NN N N~ ~N N (V1,8 FREFE ¥ oo WA 0 23333 §§ 2 % :EXECUTE PACK ACKNOWLEDGE 1f BIT12 SET IN TASK AND VOLUME IS 010000 034712 000012 000200 037516 001506 001507 000004 034254 034700 000100 001474 037766 000004 034342 000000 001342 sNOT VALID BIT BEQ MOvB MOVB JSR #81712,5008 240% #RMDS ,GET INX #200,GETINX+1 PC,GET sPACK ACKNOWLEDGE?? :NO ERROR GETTING RMDS 130$: 1208: .WORD ADD 1508 1408 95, (SP) : TRANSFER ERROR TO USER JMP 400% BNE CLR 240% MEDENB BR 1808 :NO ERROR LOADING REGISTER #4,(SP) :ERROR FROM PUT SuB : TRANSFER ERROR TO USER 1508: 001400 001535 001536 000000 BR BR Move BIT MOV MOVB MOVB JSR 1608: 170%: BR .WORD ADD MOVB 130%.a(sP) #VV,RMDS] :NO!! ;GET RMDS :1S_VOLUME VALID?? YES!! *CLEAR MEDIA ENABLE #PAKACK !GO, RMCS10 “LOAD PACK ACK COMMAND #RMCST,PUTINX ;SETUP REGISTER INDEX TABLE #200,PUTINX+1 PC,PUT ;60 WRITE COMMAND 1708 1608.3(SP) CZRMDCO RMO3/2 FCTNL TST 2 CZRMDC.P1Y 12-DEC-78 08:24 8071 gg;% 034356 034360 MACYT1 30A(1052) 04=JAN-79 11:23 TEST PREPARATION MODULE 000550 180%: 8074 034360 034366 034370 034376 032737 001431 004737 004737 8081 8082 8083 8084 8085 8086 8087 034402 034404 034406 034412 034420 034422 034426 000401 000000 062716 113776 000527 004737 000411 8088 8089 8090 8091 8092 8093 gggg 034400 034430 034432 034434 034436 0344e2 034450 034452 000000 047656 000004 034432 8100 8101 8102 8103 81064 8105 8106 8108 8109 8110 8111 8112 8113 8116 034522 034526 034532 034534 034542 034550 034556 000466 032737 001466 012737 112737 112737 004737 816 8117 034564 034566 000401 000000 8107 034514 220%: 230%: 000000 240%: 034570 8119 034574 034712 000012 000200 037516 001506 001507 000004 000000 020000 001342 000007 000000 000200 037766 001400 001535 001536 062716 034602 000436 g}%% 034610 004737 004737 037432 8125 B8R .WORD TS7 ADD mov8 BR 2108 200% #4,(SP) 1908 ,3(SP) 400% PC,ACKSTS 240% 2308 (SP)+ #4,(SP) 2208.a(sP) 4008 R MOVB 270%: 290%: 300%: 040326 R R e R P R R A R I :NO ERROR GETTING STATUS sERROR FROM GET SuB ;s TRANSFER ERROR TO USER ;60 CHECK ACKNOWLEDGE :NO ERROR sPACK ACKNOWLEDGE ERROR sSTRIP RETURN TO SUB AND s TRANSFER ERROR TO USER R R R R e ey JRECALIBRATE DRIVE IF BIT 11 SET IN TASK AND PIP IS ACTIVE BIT #B1711,500% sRECALIBRATE?? BEQ 4108 sNO!! MOvB #RMDS ,GETINX sLOAD REGISTER INDEX TABLE MOvB #200,GETINX+1 JSR PC,GET ;GO GET RMDS BR 270% sNO ERROR GETTING RMDS BR 2608 250%: .WORD sERROR FROM GET SuB 2608 : ADD #4,(SP) s TRANSFER ERROR TO USER 280%: 000004 8124 8126 BR .WORD ADD MOvB BR JSR BR 2508.a(sP) BR BIT BEQ MOV MOVB MOVB JSR 400% #PIP,RMDSI ;1S PIP ACTIVE?? 4108 sNO!! #RECAL'GO,RMCS10;LOAD RECALIBRATE COMMAND #RMCST,PUTINX sAND REGISTER INDEX #200,PUTINX+1 PC,PUT 260 ISSUE RECALIBRATE BR .WORD 290% move 280%.a(sP) BR 113776 034566 000000 8120 034604 R 113776 034506 8115 034562 000410 190%: 200%: 2108: 004000 R ;VERIFY PACK ACKNOWLEDGE IF #BI1T4 SET IN TASK BIT #8114,500% sVERIFY PACK ACKNOWLEDGE?? BEQ 240% sNO!! JSR PC,GETSTS sSETUP FOR STATUS JSR PC,GET ;60 GET STATUS BR ' 032737 001513 112737 112737 004737 000410 000401 000000 062716 8121 000004 034404 000401 000000 005726 062716 113776 000513 034452 034460 034462 034470 034476 034502 034504 034506 034510 8118 034712 037432 037516 000410 8096 8097 8098 000020 SEQ 0161 400% BRI 8075 8076 8077 8078 8079 8080 BR F13 PAGE 161 300 ADD #4,(SP) BR 400% JSR PC,TIMOUT JSR PC,GETSTS :NO ERROR ;ERROR IN REGISTER TRANSFER s TRANSFER ERROR TO USER sSETUP FOR STATUS JWALT FOR COMPLETION R R R R R 034614 032737 000010 034712 ;VERIFY RECALIBRATE IF BIT 3 SET IN TASK BIT #B8113,500% JVERIFY RECALIBRATE?? CZIRMDCO RMO3/2 FCTINL TST 2 12-DEC-78 08:24 CZRMOC.P1 034622 034624 034630 034632 & o o 000000 050452 000004 034662 000002 04=JAN-T9 11:23 TEST PREPARATION MODULE 037516 000004 034634 ' SEELFRRUKZ - i i D b and b ©D 0o 00 Co 0o OO OO o 0o OO 8127 8128 8129 8130 MACY11 30A(1052) 3108: : 3208 3308: 340%: : 3508 000000 BEQ JSR BR BR 4108 9, (SP) 3108,3(sP) 4008 613 PAGE 162 SEQ 0162 sNO:! ;G0 GET STATUS sNO ERROR GETTING STATUS sERROR FROM GET s TRANSFER ERROR TO USER 4108 ;60 CHECK RECAL IBRATE sNO ERROR DURING RECALIBRATE (SP)+ sERROR DURING RECALIBRATE sSTRIP RETURN TO SUB AND PC,RCLSTS 3508 #6,(SP) 3408 ,a(SP) s TRANSFER ERROR TG USER 400$: #2,(SP) ;MOVE SP BACK BEFORE ERROR 610%: PC sRETURN TO USER 500%: :TASK/VERIFY DESCRIPTOR CZRMDCO RMO3/2 FCTNL TST 2 12-DEC-78 08:24 CZRMDC.P1Y MACYT1 30A(1052) 04=JAN-79 BAD SECTOR MODULE .SBTTL 11:23 H13 PAGE 163 SEQ 0163 BAD SECTOR MODULE :THE BAD SECTOR MODULE PERFORMS TWO MAJOR FUNCTIONS, : 1.E., RECOVER THE BAD SECTOR FILE FROM THE LAST TRACK, AND, wn W APPROVE THE USAGE OF A SECTOR BASED ON INFORMATION IN :THE BAD SECTOR FILE OR ASSIGN A NEW SECTOR IF THE ONE ELECTED IS NO! AVAILABLE FOR USE. S lNFORHATlON REQUIRED BY THE MODULE INCLUDES .RADCO, THE DESIRED CYLINDER, -RMDAO, THE TRACK AND SECTOR ADDRESS, T .RMWCO, THE WORD COUNT, MODULE CALL IS AS FOLLOWS, R N I T T .RACS10, THE COMMAND. R IRL g SR LRRREN 28 BERFRRERZE S ;RETURN HERE IF THE BAD SECTOR FILE CANNOT BE RECOVERED THE MODULE DEFINES THE ERROR NUMBER ERROR LR il el e D il il el e D 034714 BADSCT: ;TEST "MEDIA ENABLE'' TO DETERMINE WHETHER OR NOT THE BAD SECTOR FILES D il :RETURN HERE IF NO ERROR ;S0 THAT A REFERENCE IS AVAILABLE TO THE TEST OUTSIDE OF THE PUT BUFFER. ;HAVE BEEN RECOVERED. il il s el il .MESSAGE mnm ;:SECTOR IN THE PUT BUFFER AND ALSO IN LOCATIONS ‘‘ASNDA'" AND “*ASNDC'' 034714 034720 034722 005737 001402 000137 001474 187 BEQ JMP 036140 MEDENB 10% 3008 :BAD SECTOR FILE 1S AVAILABLE """""""'l""""'""""'t".'l'."".".".'t.t"'l" D i TYPE :THE MODULE RETURNS TO THE CALLING TEST WITH THE APPROVED OR ASSIGNED 18§COVER THE BAD SECTOR FILE FROM THE LAST TRACK 034726 Dl 034726 034730 ;SAVE THE USER'S PUT BUFFER 010046 001400 000002 000046 103564 34752 000003 002000 001466 036606 001406 001434 ~ R o o 034732 034740 034744 034750 coo —h s D — — PC,BADSCT :THE MODULE IS INTENDED TO BE CALLED PRIOR TO CALLING THE BUFFER ;GENERATOR SUBROUTINE, AND PRESERVES THE ''PUT BUFFER'' SO THAT THE :83;;&?135E0 ONLY BE FILLED ONCE FOR THE EXECUTION OF A FORMAT il D O Go G GB Go G0 0O G GO Go 0D Co G GO Gd G 0O G GO G Go G Co O 0O o OO OB 00 o JSR BR 766 208: ?O: :8.~(SP) MOV ADD CHP BHIS PUTBUF (RO) ,BUFFER(RO) #”,R0 :ADVANCE TO NEXT BUFFER POSITION #46,R0 ;END OF BUFFER 20% iNO ! L :;PUSH RO ON STACK ;SET RETRY COUNT AND LOAD PUT BUFFER AND REGISTER INDEX TABLE MOV #3,5008 :RETRY COUNT MOV #822. ,RMDCO :DESIRED CYLINDER MOV #002000,RMDA0 :STARTING SECTOR ADDRESS SOOOOOOOS N~ NN NN QY OO N O NNNNNNNY NN 035056 001535 000006 000034 000002 000032 000004 000000 000200 e T Y 035016 035022 035026 035032 035036 177376 010000 101544 NN 035010 012737 Oedad e et D CZRMDCO RMO3/2 FCTNL TST 2 CZRMDC.P11 12-DEC-78 08:2¢4 035060 035064 037432 035064 035072 035076 035100 035102 00001 037766 035104 035110 000006 035102 035616 037516 MACY11 30A(1052) 04=JAN-79 BAD SECTOR MODULE 001402 001432 001404 MOV 035152 035156 035160 035162 052214 001400 000006 035162 035616 000000 40$%: 45%: 000000 55%: ;16 BIT FORMAT ;BUFFER ADDRESS MOV MOVB MOVB MOVB MOVB MOVBE #PUTINX RO #RMDA, (RO)+ #RMDC.(RO)+ SRMC.(RO)+ #RMOF . (RO)+ FRMBA.(RO)+ ;RO POINTS TO REGISTER INDEX TABLE MOVB #RMCST, (RO)+ MoV (SP)+,R0 #200, (RO)+ ::POP STACK INTO RO #6,(SP) :MOVE SP TO USERS ERROR CALL :MOVE ERROR NUMBER TO USER PC,GET ;GO GET STATUS ;RETURN HERE IF NO ERROR ;GET AROUND ERROR # ;ERROR # GOES HERE ¥6,(SP) :MOVE SP TO USERS ERROR CALL :MOVE ERROR # TO USERS ERROR CALL 35% ,3(SP) 215% 60% 55¢ 508,3(sP) 215% 60%: 70%: PC,DRVSTS ;GO VERIFY DRIVE CLEAR COMMAND ;RETURN HERE IF NO ERROR :GET AROUND ERROR ;ERROR # GOES HERE (SP)+ ¥6,(SP) ;STRIP RETURN TO SUBROUTINE ;MOVE SP TO USERS ERROR CALL sMOVE ERROR # TO USER CALL 75% 70% 65%,3(SP) 215% 000000 035204 035204 035212 035214 035222 035226 035230 ;WORD COUNT #FNT16,RMOFO #MFGFIL ,RMBAO ;CLEAR THE DEVICE USING DRIVE CLEAR COMMAND #ORVCLR!GO,RMCS10 :LOAD COMMAND IN PUT BUFFER PC,PUT ;OUTPUT COMMAND 45% ;RETURN HERE IF NO ERROR 40% sGET AROUND ERROR # 35%: ;ERROR # GOES HERE 65%: 035164 035166 035172 035200 #<*C258.41> ,RMUCO SEQ 0164 ;SET GET INDEX TABLE FOR READING STATUS PC,GETSTS JSR ;SETUP GET INDEX REGISTER FOR STATUS 308: 50%: 000006 035132 035616 113 PAGE 164 MOV MOV L [01:] 035132 035134 035140 035146 11:23 75%: 032737 001050 012737 004737 000411 000401 000100 001342 000023 037766 001400 : 1SSUE AB??C‘ ACKNOWLEDGE IF VOLUME VALID IS RESET #VV RMDS] +1S Vv RESET ?? *NO ! 120% BNE #PACACK'GO,RMCS10 MOV :LOAD COMMAND PC,PUT JSR ;GO PUT COMMAND TO DRIVE 90% BR ;RETURN HERE IF NO OUTPUT ERROR 85% BR :GET AROUND ERROR # SRS Vo oo NN~ ~N WL WY N -~ MACY1T 30A(1052) 04=JAN-79 BAD SECTOR MODULE 80%: [=]olel=] % 035234 035240 O = NN~ — -t NN O 035232 — 8260 8261 §§..8 CZRMDCO RMO3/2 FCTNL TIST 2 CZRMO C P11 12-DEC~78 08:24 000000 85%: 90%: & = 000000 047656 ADD MOVB JWP JSR PAGE 165 ;ERROR # GOES HERE 96, (SP) :MOVE SP TO USERS ERROR CALL ;MOVE ERROR # TO ERROR CALL PC,GET ;60 GET STATUS FOR PACK ACK ;RETURN HERE IF NO ERROR :GET AROUND ERROR # ;ERROR # GOES HERE 80%,3(SP) 215¢ 105$ 1008 1008: #6,(SP) ;MOVE SP TO USERS ERROR CALL :MOVE ERROR # TO CALL PC,ACKSTS ;GO VERIFY ACKNOWLEDGE STATUS ;RETURN HERE IF NO ERROR ;GET AROUND ERROR # ;ERROR # GOES HERE (SP)+ ;STRIP RETURN TO SUBROUTINE ;MOVE SP TO USERS ERROR CALL :MOVE ERROR # TO USERS ERROR CALL 958 ,a(sP) 215% 105%: 1208 115% 110%: 000006 035312 035616 J 13 .WORD 95%: 000006 035262 035616 11:23 115%: #6, (SP) 000000 110%,3(SP) 215% 1208: 020000 001342 000007 037766 001400 ;RECALIBRATE THE DRIVE If PIP IS SET #P1P RMDSI BIT ;1S PIP SET 7? 165% BEQ :NO ! 125%: 000006 035362 035616 000000 135%: L d e e ek VBN = O VIV IV VIV 33313 OO Cn On O Co G0 Co Co O» OO0 00 040326 037516 035416 : 1408 035420 035424 035432 000006 035416 035616 035436 035442 035444 035446 050452 035450 130%: 000000 MOV JSR BR BR .WORD ADD MOVB JMP IRECA%!GO.RHCSIO 6, (SP) 25%,3(sP) 158 sLOAD RECALIBRATE COMMAND ;PUT THE RECAL COMMAND ;RETURN HERE IF NO ERROR :GET AROUND ERROR # ;ERROR # GOES MERE ;MOVE SP TO USERS ERROR CALL :MOVE ERROR # TO USERS CALL :WAIT FOR RECALIBRATE TO COMPLETE ;GO GET RECAL STATUS ;RETURN HERE IF NO ERROR ;GET AROUND ERROR # ;ERROR # GOES HERE 145%: ;MOVE SP TO USERS ERROR CALL :MOVE ERROR TO USERS CALL 1508: 155%: ;60 VERIFY RECALIBRATE STATUS ;RETURN HERE I1F NO ERROR :GET AROUND ERROR # :ERROR # GOtS MERE 160%: ;:STRIP RETURN TO SUBROUTINE SEQ 0165 CZRMDCO RMO3/2 FCINL TST 2 12-DEC-78 08:24 CZRMOC.P1Y 035452 035456 035464 000006 035446 035616 MACY11 30A(1052) 04=JAN-T79 BAD SECTOR MODULE 000000 MOVB 035470 11:23 ADD 26, (SP) JAP 2158 K13 PAGE 166 1sSs a(sP) SEQ 0166 ;MOVE SP TO USERS ERROR CALL ;MOVE ERROR # TO USERS CALL 165%: ;READ THE SECTOR IDENTIFIED BY RMDAO, INCLUDING HEADER AND DATA 035470 035476 000073 037766 001400 MOV JSR #RH!GO,RNCS10 PC,PUT sLOAD READ HEADER AND DATA COMMAND :PUT COMMAND ;RETURN HERE IF NO ERROR :GET AROUND ERROR # ;ERROR # GOES HERE 1758: ADD MOVB JMP 26, (SP) 170%.3(SP) it :MOVE SP TO USERS ERROR CALL :MOVE ERROR # TO USERS ERROR CALL 1808: JSR ISR PC.TIMOUT PC.GET BR .WORD 1908 ;WAIT FOR READ OPERATION TO COMPLETE ;GO GET STATUS FOR READ OPERATION ;RETURN HERE IF NO ERROR :GET AROUND ERROR # ;ERROR # GOES HERE ADD 96, (SP) JSR PC.DTASTS 1708: 035510 035514 035522 000006 035506 035616 035526 035532 035536 035540 035542 040326 037516 035544 035550 035556 000006 035562 035566 035570 035572 053016 000000 BR 1858: 035542 035616 000000 1908: 1958: 2008 : 035574 035576 035602 035610 000006 035572 035616 BR BR .WORD 2058: 000000 MOVB JMP BR BR .WORD TST 2108: 035616 215%: 195$ 1858.a(SP) 2158 2108 2058 (SP)+ ADD 96, (SP) JMP 2158 MOVB 035614 1808 1758 BR 2008.3(SP) :MOVE SP TO USERS ERROR CALL ;MOVE ERROR # TO CALL :GO VERIFY RESULTS OF READ OPERATION ;RETURN HERE IF NO ERROR :GET AROUND ERROR # :ERROR # GOES HERE :STRIP RETURN ADDRESS TO SUBROUTINE ;MOVE SP TO USERS ERROR CALL :MOVE ERROR # TO USERS CALL 2408 o Co OO ;AN ERROR HAS BEEN DETECTED IN TRYING TO READ THE BAD SECTOR FILE. ;:THE SECTOR WILL BE RETRIED IF POSSIBLE. —-O 0 N N Qo Qo Oo 02 G 3333 8365 035616 035624 032737 001446 010000 035626 035632 005337 100037 036606 013746 042716 032737 001402 001344 035634 035640 035644 035652 100720 000010 001342 001372 BIT #MOL ,RMDS | 230% ;1S MEDIUM ON LINE ?? £s !! DEC RPL 500% 225% ;DECREMENT RETRY COUNT ;RETRY IF COUNT NOT NEG BEQ :THE RETRY COUNT HAS EXPIRED - SEE IF THE ERROR IS MEDIA RELATED RMER11,=(SP) MOV ;GET ER1 #OCK!HCRC!HCE'FER'ECH, (SP) BIC #OPE ,RMER2] BIT ::35.!HER A DATA PARITY ERROR ?? BEQ 220% CZRMDCO RMO3/2 FCINL TST 2 CZRROC.PN 12-DEC-78 08:24 8372 8373 8376 035654 035660 035662 042716 005726 001027 MACY11 30A(1052) 04=JAN-79 BAD SECTOR MODULE 000010 220%: 8375 035664 013746 001372 8376 gg;g 035670 035674 042726 001022 100010 035676 062737 8385 035712 035714 035722 035724 035732 035736 001413 122737 001407 012737 162716 000137 8387 8389 ggg? 035704 8392 8393 8394 8395 ggg? 035742 gggg 035752 035742 035746 122737 000002 001406 000040 001406 000003 000006 035064 036606 000012 001406 MmOV RMER21,-(SP) :YES = CLEAR PAR (SP)+ 2308 :ARE THERE ANY ERRORS NOT DUE TO MEDIA ? TYES ! #BSE'DPE,(SP)+ 230% ;CLEAR MEDIA ERRORS :BRANCH ]F NONMEDIA ERRORS DETECTED -GET ER2 ADD #2 ,RADAO BEQ CMPB BEQ MOV SUB JMP 230% #32..RADAO 2308 #3,500% #6,(SP) 30% CMPB 225%: llé..RlDAO :ADVANCE SECTOR ADDRESS ;QUIT IF ALL MFG SECTORS MAVE BEEN STRIED :QUIT IF ALL USER SECTORS HAVE BEEN TRIED JREINSTATE RETRY COUNT FOR THIS SECTOR ;MOVE SP BACK TO NO ERROR *RETRY THE READ OPERATION 2308: 162716 000137 sTHE BAD SECTOR FILE CANNOT BE READ SUB #6,(SP) ;MOVE SP TO ERROR RETURN JMP 4108 160 TO MODULE EXIT 000004 036602 2408: 8400 8401 sTHE SECTOR WAS RECOVERED WITHOUT ERROR 3 READ THE USER FILE IF THIS IS THE MFG FILE g:gg 8404 3283 #PAR, (SP) 181 BNE sTHE ERRORS DETECTED WHILE TRYING TO RECOVER THE BAD SECTOR FILE ARE ;DUE TO THE MEDIA. SEE IF THE BAD SECTOR FILE CAN BE RECOVERED FROM sANOTHER AREA ON THE LAST TRACK 8383 8384 L 13 PAGE 167 BIC BIC BNE 8379 8380 ggg; 11:23 3 035752 035760 122737 103451 000011 001406 8407 8408 8409 32}? 035762 035770 032737 001410 140000 101544 8412 8413 8414 035772 036000 036006 012737 012737 000137 002012 000003 035064 001406 036606 8417 8418 8419 036012 036014 010046 010146 8422 8423 8626 8425 8426 8427 036026 036034 036042 036046 036050 036052 012760 012760 062700 005301 001366 012701 32}2 036012 84,20 036016 012701 000374 8421 036022 012700 000014 177777 177777 000002 000006 OR ELSE DONE CMPB BLO s1F 3 #9.,RMDAD 260% 1644 1S IMPLEMENTED THEN READ THE USER FILE ELSE DUMMY THE BAD SECTOR FILE BIT #NSE'USE,MFGFIL ;ARE THE BAD SECTOR FLAGS OFF ?? BEQ 2508 *YES - 144 1S DISABLED 2508 : MOV MOV JMP #002012,RMDAO #3,500% 308 ;DUMMY THE BAD SECTOR FILES MOV RO,=(SP) MOV R1,=-(SP) 101544 102554 :WAS THE USER FILE READ 2? 1YES - READ 1S COMPLETE 255%: MOV MOV MOV MOV ADD DEC BNE MOV 9282, R1 #4,R0 #=1 MFGFIL(RO) #-1.USRFIL(RO) #2,R0 R1 255% #6. .R1 :READ THE USER FILE sRELOAD THE RETRY COUNT FOR THIS SECTOR 16O READ THE USER FILE ;sPUSH RO ON STACK ::PUSH R1 ON STACK :R1 = NUMBER OF ENTRIES IN FILES :RO = ADDRESS INDEX TO FILE STORAGE ;ENTER ALL ONES IN MFG FILE :ENTER ALL ONES IN USER FILE :ADVANCE ADDRESS :DECREMENT COUNT :CONTINUE IF NOT DONE :CLEAR 1D, SERIAL NUMBER ETC SEQ 0167 CZRRDCO RMO3/2 FCTINL TST 2 CZRROC.P 12-DEC-78 08:24 '3 PR STELFRRUR R R R R eee LSS 8428 005301 001370 MACY11 101544 102554 000002 256%: 010046 005000 01606 06270 02270C 103370 8.43 RO MFGFIL(RO) USRF 1L (RO) BNE 256% MoV (SP)+ R (SP)+ RO 2608: 177777 103564 100« 12 007145 001474 001400 n13 PAGE 168 SEQ 0168 ;%.RO ;:POP STACK INTO R} ::POP STACK INTO RO :SET MEDIA ENABLE AND RESTORE THE USERS PUT BUFFER (] #-1,MEDENB MOV RO,~-(SP) ::PUSH RO ON STACK ADD #2,R0 :ADVANCE RO CLR MOV 265%: CMP BHIS 012600 11:23 CLR (LR CLR ADD DEC 012601 012600 012737 30A(1052) 04=JAN-79 BAD SECTOR MODULE 270%: RO RO 1S REGISTER INDEX BUFFER(RO) ,PUTBUF (RO) #46,R0 265% ;DONE ?? (SP)+,RO ::POP STACK INTO RO 300%: 036140 AR A A A AR AR AR AR AR AR AA AR AR AR ARl ddldRd) R gRdss g8 b b -h 001434 001406 001476 001500 ;LOAD INITIAL VARIABLES AND COMPUTE THE NUMBER OF SECTORS MOV RO,=(SP) ::PUSH RO ON STACK MOV R1,-(SP) ::PUSH R1 ON STACK MOV R2,=(SP) : ;PUSH R2 ON STACK MOV MOV CLR MOV DEC COM MOV BIT 000400 000002 000402 s1 RO 3158 §¥ss TYES ! INCREHENT FOR PARTIAL SECTOR 3108: SUB -égc R1,R0 §5ss :SUBTRACT ONE SECTOR FROM WORD COUNT :INCREMENT SECTOR COUNT 3158: MOv R2,500% :SAVE SECTOR COUNT BEQ 3058: 005202 010237 036606 :LOAD REQUESTED CYLINDER, TRACK, ;AND SECTOR ADDRESS IN ASSIGNED STORAGE CMP 001400 MOV BLOS BEQ égc 3 RMDCO,ASNDC RMDAO,ASNDA R2 RMWCO,RO RO RO #256..R1 lBl;l.RHCSlO 305 #258. ,R1 R1.RO 001402 —_n - N == NN NN s~ =t NG NN—(=11 wWwo N = SoR28328828 No -~ ~N~NN Wi~ NN e wb O0O00O0O sVERIFY THAT THE DESIRED SECTOR IS NOT IN THE MFG BAD SECTOR FILE sAND NOT IN THE USERS BAD SECTOR FILE. ASSIGN A NEW SECTOR IF THE ;SECTOR IS IN EITHER FILE. 3108 :R2 = NUMBER OF SECTORS RO = WORD COUNT :CONVERT FROM 2'S COMPLEMENT :R1 = NUMBER OF WORDS PER SECTOR 18rnxs A HEADER AND DATA COMMAND ?? annee WORDS PER SECTOR ;1S THERE A FULL SECTOR ?? ves 1S ao ZERO 2? CZRMDCO RMO3/2 FCTNL TST 2 12-DEC-78 08:24 CZRMOC.P11 8484 8485 8486 8487 8488 8489 8490 MALYTY 036242 50A(1052) 04=-JAN-79 BAD SECTOR MODULE 11:23 N13 PAGE 169 SEQ 0169 316%: :LOAD PARAMETERS AND SEARCH THE MFG AND USER BAD SECTOR FILES FOR :;SEEA¥SASNS=£SEC1OR AND ADJACENT SECTORS IF THE SECTOR COUNT IS 101560 036616 001476 001500 036606 036612 036614 036610 3208: MOV PMEGFIL+14,5408 ;MOVE THE STARTING ADDRESS OF MFG MOV MOV ASNDC, 5208 ASNDA . 5308 MOV 500%,5108 SFILE TO BASE ADDRESS STORAGE :LOAD COMPARING CYLINDER ADDRESS :LOAD COMPARING TRACK, SECTOR ADDRESS :LOAD NUMBER OF SECTORS TO CONFIRM ;SETUP FOR A BINARY SEARCH OF THE CURRENT FILE FOR THE COMPARING :CYLINDER, TRACK AND SECTOR ADDRESS 036616 000376 $258: 036612 3308: 335%: mov 5408 ,RO ;LOAD THE BASE ADDRESS IN RO ADD o<<1ér *%>/2> R R1,RO0 (aé) 5208 :START BINARY DIVIDE AT CENTER oggsTABLE ENTRY = COMPARING CYLINDER ? BHI 340: :BRANCH IF ENTRY > COMPARING CYLINDER MOV ggg :R1= LENGTH OF FILE sFILE ENTRY 1S LESS THAN COMPARING CYLINDER (OR TRACK AND SECTOR), SO ADD DISPLACEMENT TO CURRENT POSITION ADD : 3408 ik R1,RO 350% ;FILE ENTRY 1S GREATER THAN COMPARING CYLINDER SO SUBTRACT DISPLACEMENT :FROM CURRENT 160100 SUB 000406 026037 001413 101371 000766 345%: 000002 o Qo OO Gd Go G0 O R1,RO 3508 sFILE ENTRY EQUALS COMPARING CYLINDER. SEE IF THE NEXT ENTRY EQUALS ;THE COMPARING TRACK, AND SECTOR. CMP 2(R0),530% :ARE THEY EQUAL ?? BEQ 3608 sVES ¢! BHI 3408 :BRANCH IF HIGHER BR 335% :BRANCH IF LOWER 350%: :THE POINTER (RO) HAS BEEN ADJUSTED, HALVE THE DISPLACEMENT AND ;CONTINUE THE SEARCH IF DISPLACEMENT NOT ZERO 005701 001440 (W LW A LV TV LW TV 036614 BR POSITION TsT R ;1S DISPLACEMENT ZERQ ?? ASR R1 ‘HALVE THE DISLPACEMENT BEQ 000003 036616 000751 BIC CMP #3,R1 RO 5408 BR 3308 BLO : 3608 3708 3708 TYES ! ;1S THE NEW POINTER WITHIN BOUNDS ?? INO! cou11nus SEARCH :THE COMPARING CYLINDER, TRACK AND SECTOR IS IN THE BAD SECTOR FILE. 036362 105237 001500 ;ADVANCE THE ASSIGNED SECTOR AND START THE SEARCH ALL OVER. INCB ASNDA : INCREMENT SECTOR NTM *fl TNL 1 ST 2 CZRMDCO RMO3/2 CIRMOC.P11 12-DEC-78 08:2¢ 8540 8541 8542 8543 8564 036 036374 036376 036402 036406 122737 10302; 105037 105237 122737 8546 8547 8548 8549 8550 ggg; 036416 036422 036426 036436 036436 036442 005037 005237 022737 103002 005037 000677 gggz 036444 8545 036414 103012 MACY11 000037 001500 001500 001501 000006 001501 001500 001476 001466 001476 B 14 PAGE 170 #31.,ASNDA 3658 ASNDA AS''DA+1 #4,ASNDA+1 :SECTOR OK 2? SYES ! *CLEAR SECTOR AND ADVANCE TRACK CLR INC CHP BHIS CLR BR ASNDA ASNDC #822. ,ASNDC 3658 ASNDC 3168 :CLEAR TRACK AND SECTOR sINCREMENT CYLINDER :CYLINDER OK ?? SYES ! 3658 ;TRACK OK 27 SYES ! :REPEAT SEARCH 3708: sTHE COMPARING SECTOR IS NOT IN THE BAD SECTOR FILES. DECREMENT THE sNUMBER OF SECTORS TO COMPARE AND SEARCH THE NEXT SECTOR IF THE NUMBER ;1S NOT ZERO. 036444 036450 036452 036456 036464 005337 001432 105237 122737 103022 8567 036504 103012 8568 8569 8570 8571 8572 gg;z 11:23 CMPB BHIS CLRB INCB CMPB BHIS 3658: g;gg 8564 8565 8566 OQ-JANE79 BAD SECTOR MODUL 001476 8555 8556 8559 8560 8561 8562 8563 30A(1052) 036466 036472 036476 036506 036512 036516 036526 036526 036532 036610 036614 000037 105037 105237 122737 036614 036615 000004 005037 005237 022737 103002 005037 000137 036614 036612 001466 DEC BEQ INCB P8 BHIS 036614 036615 036612 036272 CLRB INCB CMPB 530% 530841 #4,5308+1 CLR INC CHP BHIS CLR JMP 530% 5208 #822.,5208 375% 5208 3258 BHIS 036612 3758: 510% 3808 530% #31.,5308 375% 3758 :DECREMENT NUMBER OF SECTORS TO COMPARE :DONE IF ZERO s INCREMENT THE COMPARING SECTOR :SECTOR OK 2? SYES ! sCLEAR SECTOR : INCREMENT TRACK STRACK OK 2? SYES ! sCLEAR SECTOR TRACK : INCREMENT CYLINDER :CYLINDER OK ?? SYES ') :CLEAR CYLINDER :SEARCH NEXT SECTOR gg;z 036536 3808 : 8577 8578 ;THE ASSIGNED SECTOR (AND REQUIRED ADJACENT SECTORS) ARE NOT IN “THE BAD SECTOR FILE JUST SEARCHED. SEARCH THE USER FILE 1F IT gg;g 8581 8582 8583 3232 ;HAS NOT YET BEEN SEARCHED, ELSE ASSIGN THE SECTOR AND RETURN TO USER. 036536 036544 036546 036554 022737 001405 012737 000137 102570 036616 102570 036616 036250 T 8586 ggg; 036560 8589 8590 8591 8592 8593 8594 8595 036560 036566 036574 036576 036600 036602 3908: CHP BEQ MOV JMP FUSRFIL+14,5408 ;TEST BASE ADDRESS 4008 :DONE IF BASE = USER FUSRFIL#14,540% ;LOAD BASE ADDRESS 3208 :SEARCH USER FILE 4008 : 013737 013737 012602 012601 012600 000240 001476 001500 001434 001406 :ASSIGN THE SECTOR AND RETURN TO LZFR MOV ASNDC ,RMOCO :LOAL CYLINDER MOV ASNDA ,RMDAO ;LOAD TRACK AND SECTOR MOV (SP)+.R2 ::POP STACK INTO R2 MOV (SP)+ R ;:POP STACK INTO R1 MOV (SP)+.RO ::POP STACK INTO RO 410%. NOP . SEQ 0170 CZRMDCO RMO3/2 FCINL TST 2 CZRMDC.P1 12-DEC-78 08:2¢4 ggg? 036604 30A(1052) 04=JAN-79 BAD SECTOR MODULE 000207 gggs 8600 8601 8602 8603 8604 MACYTY RTS 11:23 C 14 PAGE 1M1 PC :THE FOLLOWING ARE STORAGE LOCATIONS FOR THE MODULE 036606 036610 036612 036614 036616 000000 000000 000000 000000 000000 5008: 5108: 5208: 5308: 5608: .WORD .WORD .WORD .WORD .WORD ;RETRY COUNT/ NUMBER OF SECTORS REQUIRED ;NUMBER OF SECTORS TO COMPARE ;COMPARING CYLINDER ;COMPARING TRACK AND SECTOR ;BASE ADDRESS OF BAD SECTOR FILE BEING SEARCHED SEQ 017 CZRMDCO RHOSIZ FCINL TST 2 CZRMDC.P11 12-DEC-78 08:2¢4 D 14 MACYTT 30A(1052) 04=JAN-79 11:23 PAGE 172 BUFFER GENERATOR SUBROUTINE 8605 .SBTTL 8607 8608 8609 8610 8611 8612 8613 8614 8615 : : : : : ; 8618 8619 8620 8621 8622 8623 8626 8625 8626 8627 8628 8629 8630 8631 8632 8633 8634 8635 8636 8637 8638 8639 8640 8641 8642 8643 8644 8645 8646 8647 8648 8649 8650 8651 8652 8653 8654 8655 8656 8657 8658 8659 8660 THIS SUBROUTINE GENERATES A DATA BUFFER FOR WRITE COMMANDS. THE BUFFER STARTS AT RMBA AND IS RMWC WORDS LONG. THE BUFFER CONTAINS A REPETITIVE DATA PATTERN CONSISTING OF $TMP1 WORDS FROM THE DATA PATTERN TABLE, BEGINNING AT ADDRESS $TMPO. HEADER INFORMATION FOR THE BUFFER 1S EXTRACTED FROM RMDC, RMDA AND RMOF. sCALL: (1) gg}g s:(2) 036620 036620 036622 036624 036626 036630 036632 036636 036642 036650 036656 036664 036666 036672 036676 036702 036706 036714 036716 036722 036726 036730 036732 036736 036742 036744 036746 036752 0367564 036756 036760 036762 036766 036774 036776 037002 037 037012 037016 037022 037024 037026 037030 010046 010146 010246 010346 010446 013700 013701 013737 013737 032737 001450 013710 042710 052710 012702 032737 001404 052710 012702 005201 001444 062700 013720 005201 001436 012703 105213 120213 103013 105013 105263 122763 103004 105063 105237 012704 013702 013703 012220 005201 001405 005304 GENBUF: . 001404 001402 001434 001406 000002 037060 176000 140000 000035 010000 037060 037062 001400 10%: 001432 010000 000037 15%: 000002 037062 037062 000001 00000& 000001 037060 000400 001174 001176 BUFFER GENERATOR SUBROUTINE 000001 25%: 308: 40$%: JSR PC,GENBUF [0} MOV MOV MOV MOV MOV MOV MOV MOV BIT BEQ MOV BIC BIS MOV BIT BEQ BIS MOV INC BEQ ADD MOV INC BEQ MOV RO,~-(SP) R1,=-(SP) R2,-(SP) R3,=(SP) R4 ,-(SP) RMBAO,RO RMWCO,R1 RMDCO,60% RMDAO,65% #BIT1,RMCS10 25% 608, ‘RO) #*CCYLMSK, (RO) #MSE 'USE, (RO) #29..R2 #FMT16,RMOFO 15% #EMT16,(RO) #31.,R2 R1 50% #2,R0 65%, (RO)+ R1 50% 658 ,R3 2? INCB CMPB BHIS CLRB INCB CMPB BMIS CLRB INCB MOV MOV MOV MOV INC BEQ DEC (R3) R2,(R3) 25% (R3) 1(R3) #4,1(R3) 25% 1(R3) 60% l256..R4 $TMPO,R2 $TMP1,R3 (RZ)* (RO)+ 505 R4 RETURN HERE ::PUSH RO ON STACK ;:sPUSH R1 ON STACK ::PUSH R2 ON STACK ::PUSH R3 ON STACK ;:sPUSH R& ON STACK sLOAD DATA BUFFER ADDRESS :LOAD WORD COUNT sLOAD STARTING CYLINDER ADDRESS sLOAD STARTING TRACK,SECTOR ADDRESS ;WRITE HEADER & DATA?? :NO!'! ;WRITE HEADER WORD #1 ;SET (DISABLE) BAD SECTOR FLAGS :R2 = MAXIMUM SECTOR ADDRESS 16 BIT FORMAT?? NO!! :SEY FORMAT BIT IN HEADER ;sCHANGE MAXIMUM SECTOR ADDRESS s INCREMENT WORD COUNT ;EXIT IF DONE ;MOVE RO TO HEADER WORD #2 ;WRITE HEADER WORD #2 s INCREMENT WORD COUNT AND ;EXIT IF DONE sADVANCE SECTOR ADDRESS SECTOR OVERFLOW ?? :NO ! YES = CLEAR SECTOR ADDRESS ADVANCE TRACK ADDRESS :YRACK OVERFLOW ?? ;NO ! ;YES = CLEAR TRACK ADDRESS sADVANCE CYLINDER ADDRESS :LOAD SECTOR DATA COUNT ;LOAD PATTERN ADDRESS ;LOAD PATTERN COUNT sWRITE DATA PATTERN s INCREMENT WORD COUNT AND JEXIT IF DONE ;DECREMENT SECTOR COUNT SEQ 0172 CZRMDCO RMO3/2 FCTINL TST 2 CZRMDC.P1 12-DEC-78 08:24 8661 8662 8663 gggg 037032 037034 037036 037040 MACYT1 E 14 30A(1052) 04=JAN-79 11:23 PAGE 173 BUFFER GENERATOR SUBROUTINE 001711 005303 BEQ DEC 001765 000770 8666 8667 8668 8669 8670 8671 8672 gg;z 037042 037042 037044 037046 037050 037052 037054 037056 012604 012603 012602 012601 012600 000240 000207 8675 8676 037060 037062 000000 000000 BEQ BR 508: 60%: 65%: MOV MOV MOV MOV MOV NOP RTS .WORD .WORD SEQ 0173 108 R3 30% 40% ;START NEXT SECTOR IF 0 ;DECREMENT PATTERN COUNT (SP)+ R4 (SP)+ ,R3 (SP)+,R2 (SP)+ ,R1 (SP)+,RO ::POP ;:POP ::POP :;POP ::POP :RESTART PATTERN IF 0 ;CONTINUE DATA PATTERN STACK STACK STACK STACK STACK INTO INTO INTO INTO INTO R4 R3 RZ R1 RO PC :CYLINDER ADDRESS STORAGE :TRACK, SECTOR ADDRESS STORAGE - CZRMDCO RMO3/2 FCTNL TST 2 CZRMDC.P1 12-DEC-78 08:2¢4 MACY11 8677 8678 8679 30A(1052) 04=JAN=79 11:23 COMPARE BUFFER SUBROUTINE .SBTTL F 14 PAGE 174 SEQ 0174 COMPARE BUFFER SUBROUTINE 2 ;THIS SUBROUTINE COMPARES THE CONTENTS OF BUFONE AND BUF TWO, ;ASSUMING THAT BUFONE IS THE BUFFER FROM WHICH DATA WAS WRITTEN sAND BUFTWO IS THE BUFFER TO WHICH DATA WAS READ. ERRORS IN BUFFER : COMPARISON ARE REPORTED TO THME USER VIA THE USER'S ERROR CALL. 8681 8682 8683 8684 8685 sCALL: 2 :(1) :(2) 8687 8688 8689 8690 :(3) ;(4) :(5) :(6) : CMPBUF 037072 010046 010146 010246 010346 037074 005037 037430 037100 037106 037110 037116 037120 037126 037130 037136 032737 001465 032737 001061 033737 001055 032737 001451 100000 001344 000100 001344 004000 001362 010000 001362 037140 037144 037150 013700 013701 052737 001404 001374 100000 037156 022701 000020 000020 000002 010203 000001 037430 .WORD BR NOP ERROR m MOV MOV MOV MOV CLR :DETERMINE IF BIT BEQ BIT BNE BIT BNE B;T BEQ 012703 000013 RO,=(SP) R1,-(SP) R2,=(SP) R3,=-(sP) ;:PUSH RO ON STACK ;:PUSH R1 ON STACK :;PUSH R2 ON STACK :sPUSH R3 ON STACK 1508 ;CLEAR CORRECTION FLAG DATA SHOULD BE CORRECTED #DCK,RMER1] 808 #ECH,RMERT] 80$ ECI,RMOF1 80 #EMT16, RMOF | 80$ zss‘gneue A DATA CHECK ?? 11S 1T A HARD ERROR 7?7 TYES ! ;:ss'gcc CORRECTION ALLOWED ?? *1S THIS 16 BIT FORMAT 22 ‘NO ! BIS #BIT15.1508 :SET CORRECTION FLAG ;MOVE RO TO WORD BOUNDARY OF ERROR BURST 108: CHP BHIS SUB ADD #16. ,R1 208 #16. R1 #2.R0 lgBlT POSITION > 1 WORD SUBTRACT 1 WORDS WORTH ;ADVANCE BUFFER ADDRESS 1 WORD BR 10$ MOV #1,R2 BIT POINTER :RZ MOV R2,R3 R3 BIT NUMBER :MOVE R2 TO STARTING BIT OF ERROR BURST 20%: CMP BEQ ASL 037216 PC,CHPBUF WRITE BUFFER ADDRESS READ BUFFER ADDRESS RETURN HERE IF NO ERROR RETURN HERE IF ERROR ERROR DEFINED BY SUBROUTINE ;CORRECT DATA USING ECC lNFORHATlgg MOV RMBAO, STARTING BUFFER ADDRESS MOV RMEC1], R :R1 = ECC POSITION 308: 020301 JSR .WORD 35%: INC BR MOV R3,R1 35¢ R2 R3 SHIFT BlT POINTER : INCREMENT BIT NUMBER #1.,R3 :R3 = LENGTH OF ERROR BURST 308 ;CORRECT THE ERROR BURST lé RS SAME AS R1 ?? CZRMDCO RMO3/2 FCTNL TST 2 CZRMDC.P11 12-DEC-78 08:24 8733 8734 8735 8736 8737 8738 8739 8740 037222 030237 5 MACY1T 001376 30A(1052) 04-JAN-79 11:23 COMPARE BUFFER SUBROUTINE 408: 50$: 60%: 000001 000002 000010 000002 000010 000002 001332 001402 708: 000010 80$: 00J010 908: : 1008 000010 000010 000240 037426 012603 012602 012601 012600 000207 037430 000000 100000 037430 000163 000002 000010 000010 BIT BEQ BIT BEQ BIC BR BIS ASL BNE MOV ADD DEC BNE MOV ADD MOV 6 14 R2,RMEC21 60$ R2,(RO) 50$ R2,(RO) 60$ R2, (RO) R2 708 #,R2 #2.R0 R3 408 a10(SP) RO #2.,10(SP) 310(SP) ,R1 PAGE 175 SEQ 0175 ;1S THIS BIT SET IN ECC PATTERN ?? :NO - DO NOT CORRECT THIS BIT :&3 THE BIT PRESENTLY SET ?? ;RESET THE BIT ;SET THE BIT ;SHIFT TO NEXT BIT ;CONTINUE WITH FIRST BIT OF NEXT WORD ;END OF BURST ?? :NO !! ;RO = WRITE BUFFER ;MOVE SP TO READ ADDRESS :R1 = READ BUFFER :MOVE SP TO RETURN ADDRESS ADD MOV SUB CMP BNE DEC BNE BR 100 R2 908 1108 (RO)+,(R1)+ : COMPARE DATA WORDS SEXIT IF NOT EQUAL sDECREMENT WORD COUNT ;CONTINUE IF NOT DONE :DONE COMPARE - NO ERROR MOV MOV MOV MOV MOV ADD -(R0),$GDDAT =(R1),$BODAT RO, $GDADR R1,$BDADR R2.$TMPO #4.10(SP) :STORE GOOD DATA FOR TYPEOUT :STORE BAD DATA FOR TYPEOUT :STORE ADDRESS OF GOOD DATA :STORE ADDRESS OF BAD DATA ;STORE WORD COUNT OF ERROR :MOVE SP TO USER'S ERROR CALL ;WRITE ERROR NUMBER IN CALL move #2,10(SP) RMWCI,R2 :R2 = NUMBER OF WORDS TRANSFER RMWCO,R2 #336.310(sP) : CHANGE ERROR NUMBER IF ECC CORRECTION FAILED 1058: 110$%: BIT BEQ MOVB SUB NOP #2.,10(5P) MOV MOV MOV (SP)+,R3 (SP)+,R2 (SP)+.R1 RTS PC MOV 1508: #B1115,1508 105% #163,310(SP) .WORD (SP)+.R0 ::as'gcc CORRECTION USED ?? *ECC CORRECTION FAILED :MOVE SP TO RETURN If ERROR ;:POP ::POP ::POP ::POP STACK INTO R3 STACK INTO R2 STACK INTO R STACK INTO RO ;RETURN TO USER ;ECC CORRECTION FLAG CZRMDCO RMO3/2 FCINL TST 2 12-DEC-78 08:2¢4 CZRMDC P11 8780 8781 8782 8783 8784 8785 8786 8787 8788 8789 8790 8791 8792 8793 8794 8795 8796 8797 8798 MACY11 30A(1052) 04=JAN-79 11:23 GET STATUS SUBROUTINE .SBTTL H 14 PAGE 176 SEQ 0176 GET STATUS SUBROUTINE :THIS SUBROUTINE SETS UP THE "'GET INDEX TABLE'' AND THE '‘GET :BUFFER'' FOR READING ALL SUBSYSTEM REGISTERS VIA THE GET SUBROUTINE ;AND THEN RETURNS TO THE USER. ECALL: . 037432 037432 037434 037436 037440 037444 037450 037454 037456 037460 037464 037466 037472 037474 037476 037500 037504 037506 037510 037512 037514 JSR m GETSTS: 001506 001400 000046 000002 RO,=(SP) R1,-(SP) R2,=(SP) #GETINX,RO FRMEC2]1+2 R1 #RMEC2 ,R2 2%: R2,(RO)+ =(R1) #2,R2 3] 3s: 000022 000200 000240 000207 PC,GETSTS #RMDB,R2 2% =(R1) 3% 4%: NOP RTS #200, (RO) + (SP)+ ,R2 (SP)+ ,RY (SP)+,R0) PC RETURN HERE ;;PUSH RO ON STACK ::PUSH R1 ON STACK ; :PUSH R2 ON STACK :RO= ADDRESS OF INDEX TABLE :R1 = ADDRESS OF GET BUFFER :R2 = REGISTER INDE ;WRITE REGISTER INDEX IN TABLE ;CLEAR CORRESPONDING LOCATION ;DECREMENT TO NEXT INDEX .BRANCH OUT IF DONE ;DONT WRITE RMDB INDEX ;WRITE TERMINATOR ;:POP STACK ::POP STACK INTO R2 INTO R :;POP STACK INTO RO — 30A(1052) 04=JAN-79 GET SUBROUTINE .SBTTL s ol RRRR® MACY11 - OOVRNO VSN e CZRMDCO RMO3/2 FCTNL TST 2 12-DEC-78 08:24 CZRMDC.PN 11:23 1 14 PAGE 177 SEQ 0177 GET SUBROUTINE o i :THIS SUBROUTINE READS THE REGISTERS WHICH ARE LISTED IN THE :"'GET INDEX TABLE'' AND STORES THEIR VALUES IN THE CORRESPONDING ;LOCATION IN THE "‘GET REGISTER BUFFER''. FOR EXAMPLE, AN ;ENTRY OF 04 IN THE TABLE WILL CAUSE THE SUBROUTINE TO ;READ 'RMBA’* AND STORE 1TS CONTENTS AT THE LOCATION IN PN eR b :THE BUFFER _ASSIGNED TO THAT REGISTER. THE NUMBER OF ;REGISTERS TO BE READ 1S VARIABLE FROM 1 TO 22; THE INDEX ;TABLE MUST BE TERMINATED WITH A CONTROL BYTE (200) 'HH]CN SHOULD FOLLOW THE LAST ENTRY. :SUBROUTINE CALL: (1) 8824 : :(2) 000240 0627106 105076 162716 000004 000000 000004 BR NOP §§§0R JSR PC,GET 444 RETURN HERE IF NO ERROR FOUND RETURN HERE IF ANY ERROR FOUND SUB DEFINES ERROR NUMBER GET: NOP ADD CLRB SuB #4,(SP) a(SP) ¥4, (SP) ;CLEAR ERROR NUMBER IN USER'S ;ERROR CALL MOV R1,-(SP) o3=88 VO NN —-=N OO0 =00 = —— —O O :;PUSH RO ON STACK MOV MOV R2,=(SP) R3,=(SP) :;PUSH R2 ON STACK ::PUSH R3 ON STACK MOV #GE TBUF ,R2 MOV MoV 1$: MOV MOV MOV BIT BNE ADD 000016 000016 :gVB 3%: 177700 RO,=-(SP) MOV MOV MOV MOV 001174 001176 001176 (NOTE THAT : : : MOV 000004 000006 177700 "'GET INPUT BUFFER'' IS AVAILABLE FOR USE. UNUSED LOCATIONS, 1.E..ENTRIES IN BUFFER CORRESPONDING TO REGISTERS NOT READ, ARE NOT CHANGED.) 000004 000006 000004 000112 VALUES AND TERMINATED WITH A CONTROL BYTE : : ; (3) 037516 037520 037524 037530 037534 037536 037540 037542 037544 037546 037552 "'GET INDEX TABLE'' HWAS BEEN LOADED WITH REGISTER INDEX TSTB R4 ,-(SP) ERRVEC,-(SP) ERRVEC+2,-(SP) $BASE ,RO #GETINX R4 #58 , ERRVEC #PR6,ERRVEC+2 ::PUSH R1 ON STACK : :PUSH R4 ON STACK : :PUSH ERRVEC ON STACK :;PUSH ERRVEC+2 ON STACK ;SETUP FOR TIMEOUT RMCS2(RO),STMPO ;GET 'NED'' STATUS RMCST(RO) ,$TMP1 #OVA,STHPi 3% #6,16(5P) ;112.316(SP) (RG) ;GET "DVA'* STATUS DEVICE AVAILABLE?? sVES!! :WRITE ERROR NUMBER IN USER'S ;ERROR CALL :DONE?? BMI] 9% sYES!! MOVB (R4)+,R3 ;R3 = STORAGE ADDRESS FOR REGISTER MOVB BIC (R4) ,R1 JTCIDKASK.RT BIC #CIDXMSK,R3 mov (R, (R3) ADD R2,R3 :R1 = REGISTER ADDRESS ICLEAR ANY SIGN EXTENSION ;CLEAR ANY SIGN EXTENSION ~;READ REGISTER CZRMDCO RMO3/2 FCTINL TST 2 CZRMDC.P1 12-DEC-78 08:2¢4 8867 037676 000764 037700 037702 037710 037716 022626 062766 112776 162766 105714 037724 000004 000007 000002 MACY1T 000016 000016 000016 30A(1052) 04=JAN-79 GET SUBROUTINE 5%: 7%: 8%: BR 3% CHP (5P)+,(SP)+ #6,16(SP) ADD MOVB SUB 1ST18 BMI CLR MOvVB ADD 000771 037764 012637 012637 012604 012603 012602 012601 012600 000207 000006 000004 9%: 11:23 CLR BR MOV MOV MOV MOV MOv MOv MOv RTS J 14 PAGE 178 #7.316(5P) #2.16(SP) (R&) 98 R3 (R4)+,R3 R2,R3 SEQ 0178 ;RESTORE STACK ;WRITE ERROR NUMBER IN ;USER'S ERROR CALL ;DONE CLEARING?? *YES ! :CLEAR REMAINING STORAGE ;LOCATIONS (R3) 84 (SP)+ ERRVEC+2 (SP)+ ERRVEC (SP)+ R4 (SP)+ ,R3 (SP)+,R2 (SP)+ ,R1 (SP)+,RO PC ::POP STACK INTO ERRVEC+2 ;:POP STACK INTO ERRVEC :;POP STACK ::POP STACK ;:POP STACK ::POP STACK ::POP STACK sRETURN INTO R4 INTO INTO INTO INTO R3 R2 R1 RO CZRMDCO RMO3/2 FCINL TST 2 CZRMDC.P1 12-DEC-78 08:24 MACYT1 30A(1052) .SBTTL 04=JAN-79 11:23 K 14 PUT SUBROUTINE PAGE 179 SEQ 0179 PUT SUBROUTINE :THIS SUBROUTINE WRITES THE REGISTERS WHICH ARE LISTED IN THE :"PUT INDEX TABLE'' WITH THE CONTENTS OF THE CORRESPONDING ;LOCATION IN THE "PUT REGISTER BUFFER''. THE NUMBER Of ;REGISTERS WRITTEN IS VARIABLE; THE IKDEX TABLE MUST :BE TERMINATED WITH A CONTROL BYTE (200) WHICH SHOULD ;FOLLOW THE LAST ENTRY. SUBROUTINE CALL: T 12) 1(3) "PUT INDEX TABLE'' HAS BEEN LOADED WITH INDEX VALUES OF REGISTERS TO BE WRITTEN. "PUT REGISTER BUFFER'' CONTAINS CONTENTS GF EACH REGISTER TO BE WRITTEN. PC,PUT JSR mn BR RETURN HERE I1F NO ERROR FOUND NOP RETURN HERE ERROR m PUT: 000004 000006 001276 001400 001535 000004 000112 NOP MOV MOV MoV MOV MOV MOV MoV MOV 000004 000006 001174 001176 001176 1%: MOV MOV MOV MOV MOV MOV BIT BNE 000016 000016 3%: 177700 ADD MOvB BR 1STB BMI MOvB BIC ADD MOVB 177700 BIC ADD MOV BR 040144 040152 022626 062766 112776 162766 000004 000007 000002 000016 000016 000016 5%: CMP ADD MOVB sus IF ANY ERROR FOUND SUB DEFINES ERROR NUMBER RO,-(SP) R1.=-(SP) R2.=(SP) R3.=(SP) R&,=(SP) ERRVEC,=(SP) ERRVEC+2,=-(SP) $BASE , RO SPUTBUF ,R2 #PUTINX R4 ;sPUSH RO ON STACK ::PUSH R1 ON STACK :sPUSH R2 ON STACK :sPUSH R3 ON STACK ::PUSH R4 ON STACK s sPUSH ERRVEC ON STACK :sPUSH ERRVEC+2 ON STACK #58 ERRVEC #PR6, ERRVEC+2 ;SETUP FOR TIMEOUT RMCST(RO) .$TMP GET "DVA"* STATUS :esggge AVAILABLE?? RMCS2 (RO) , STHPO :GET "NED'* STATUS gQVA.stn91 #6,16(SP) #112,316(SP) 7% (R&) 9% (R4) ,R1 #*CIDXMSK,R1 RO,R1 (R4)+,R3 #*CIDXMSK RS ‘WRITE ERROR NUMBER IN TUSER'S ERROR CALL ;DONE?? ;88! :R1 = REGISTER ADDRESS ;CLEAR ANY SIGN EXTENSION :R3 = STORAGE ADDRESS ;CLEAR ANY SIGN EXTENSION ;WRITE REGISTER s ADJUST STACK :WRITE ERROR NUMBER IN ;USER'S ERROR CALL CZRMDCO RMO3/2 FCINL TST 2 CZRRDC.P1 12-DEC-78 08:24 8946 8947 8948 8949 8950 8951 8952 8953 895¢ 8955 040160 040160 040164 040170 040172 040174 040176 040200 040202 012637 012637 012604 012603 012602 012601 012600 000207 000006 000004 MACYT1 30A(1052) 9%: 04=JAN-79 11:23 PUT SUBROUT INE MOV MOV MOV MOV MOV MOV MOV RTS L 14 PAGE 180 (SP)+ ERRVEC+2 (SP)+ ERRVEC (SP)+,R& (SP)+,R3 (SP)+ ,R2 (SP)+,R1 (SP)+,RO PC ;:POP STACK INTO ERRVEC+? ::POP STACK INTO ERRVEC ::POP STACK INTO R4 ::POP STACK INTO R3 ::POP STACK INTO R2 ::POP STACK INTO R1 ::POP STACK INTO RO ;RETURN SEQ 0180 CZRMDCO RMO3/2 FCTNL TST 2 12-DEC-78 08:24 CZRMDC.P MACYT 30A(1052) 04=-JAN-79 11:23 SIZE CLOCK SUBROUTINE — » N == W ~N SIZCLK: -— NN N N N NN NN S S NNNNO =S NNNNNOO P perp—p—y ¥ SOOOO 8°°°°°° wvwNoNNN VNN NN NN .SBTTL 000004 000006 001502 001504 000004 001502 001504 000404 000004 040324 1%: 2%: 3%: LR L) PAGE 181 SIZE CLOCK SUBROUTINE MOV MOV MOV MOV MoV MoV 187 BR CHP MOV MoV MOV 1871 BR CMP ADD MOV MOV RTS ERRVEC,=(SP) ERRVEC+2,-(SP) : :PUSH ERRVEC ON STACK : :PUSH ERRVEC+2 ON STACK BUS TIMEOUT FOR UP ;SET 9177546, CLKADR ;LOAD ADDRESSES FOR KkW1l-L 918 ERRVEC #PR6, ERRVEC+2 #100,CLKVCT SCLKADR 38 (SP)+,(SP)+ #2% ,ERRVEC #178540,CLKADR #104, CLKVCT SCLKADR 3% (SP)+,(SP)+ #2,4(SP) (SP) ¢+ ,ERRVEC+2 éEP)‘.ERRVEC sTEST FOR KW11=L PRESENT ;YES = KW11=L IS PRESENT ;RESTORE SP :SET UP FOR BUS TIMEOUT :LOAD ADDRESSES FOR KkW11-P CLOCK ;TEST FOR KW11-P PRESENT ;YES = KW11=P 1S PRESENT ;RESTORE SP :MOVE RETURN TO ERROR ::POP STACK INTO ERRVEC+2 ::POP STACK INTO ERRVEC ;RETURN TO USER SEQ 0181 CZRMDCO RMO3/2 FCINL TST 2 CZRRDC.P 12-DEC-78 08:2¢4 PACY1T 30A(1052) 04=JAN-79 TIMEOUT SUBROUTINE 11:23 N 14 PAGE 182 ggg? .SBTTL 8982 :THIS SUBROUTINE WAITS FOR GO TO RESET OR FOR A TIMEOUT GREATER THAN 8985 8986 8987 8988 8989 8990 8991 8992 8993 899¢ 8995 8996 8997 ;CALL: : 040326 0403;8 0403 040332 0403 040340 040 040352 040 040 010046 010146 010246 013746 013746 012737 012737 013700 013701 8999 9000 9001 ggg% 040374 040400 040402 040410 020127 001003 012761 012711 9004 9005 9006 040414 040420 040426 016046 042716 022726 gggz 8998 9007 9008 9009 9010 9011 9012 9013 9014 9015 gg}? TIMEOUT SUBROUTINE ;500 MS, WHICH EVER OCCURRS FIRST, AND THEN RETURNS. 040370 012702 040430 040432 040436 040440 040442 040444 040446 040450 040456 040464 001420 032711 001766 005302 001354 000412 022626 062766 112776 162766 9018 - 040472 9019 040472 9020 040476 9021 040502 9022 040504 9023 040506 gggg 040510 012637 012637 012602 012601 012600 000207 TIMOUT: 000004 000006 040446 000300 001276 001502 000004 000006 000037 172540 000001 000005 1$: 000002 2%: 000000 177576 000200 3%: 000200 000004 000007 000002 000006 000004 - 000012 000012 000012 4$: 5%: JSR n PC,TIMOUT MOV MOV MoV MOV MOV MOV MOV MOV MoV RO,=(SP) R1,-(SP) R2,=(SP) ERRVEC,-(SP) ERRVEC+2,-(SP) #4685 ERRVEC #PR6 ,ERRVEC+2 $BASE ,RO CLKADR,R1 ::PUSH RC ON STACK ::PUSH R1 ON STACK ::PUSH R2 ON STACK : sPUSH ERRVEC ON STACK : :PUSH ERRVEC+2 ON STACK :SETUP FOR BUS TIMEOUT - 04 TRAP ’ :RO=RMO3 ADDRESS sR1=CLOCK ADDRESS CHP BNE MOV MoV R1,#172540 2% #1,2(R1) #BIT2!B1T0,(R1) ;KW11=P CLOCK?? :NO!! :SET COUNTER ;START COUNTER MOV BIC CHP RMCST1(RO),=(SP) ;GET STATUS #*C<RDY!GO>, (SP) #RDY, (SP)+ :RDY=1,60=0?? MOV #31, RS BEQ BIT BEQ DEC BNE BR CHP ADD MOVB suB 5% #B117,(R1) 3% R 1% 5% (SP)+,(5P)+ #6,12(SP) #7,312(SP) #2,12(SP) MoV MOV MOV MOV MOV RTS (SP)+ ERRVEC+2 (SP)+ ERRVEC (SP)+,R2 (SP)+,R1 (SP)+,RO PC RETURN HERE ;R2=NUMBER OF CLOCK CYCLES 3,338 :TIMER DONE?? :NO!! ;DEC NUMBER OF CYCLES :CONTINUE IF NOT DONE :ADJUST STACK ;MOVE SP TO USER'S CALL ;WRITE ERROR NUMBER . :sPOP STACK INTO ERRVEC+2 : :POP STACK INTO ERRVEC :;POP STACK INTO R2 ::POP STACK INTO R1 ::POP STACK INTO RO ;RETURN TO USER SEQ 0182 CIRMDCO RMO3/2 FCTNL TST 2 12-DEC-78 08:24 CZRRDC.PY B 15 MACYT1 30A(1052) 04=JAN-79 11:23 PAGE 183 PRIMARY ERROR CHECK SUBROUTINE .SBTTL SEQ 183 PRIMARY ERROR CHECK SUBROUT :NE :THE PURPOSE OF THIS SUBROUTINE IS TO VERIFY THAT STAUTS IS VALID AND :THAT FURTHMER ERROR AND STATUS CHECKING SHOULD BE PERFORMED. :FOLLOUING CHECKS ARE MADE: THE : -CURRECT UNIT 1S SELECTED, 1.E., THE UNIT SELECT BITS OF RM(CS2 : .SELECTED UNIT IS AVAILABLE, (BITS 0-2) EQUAL THE UNIT BEING TESTED: AND NED (BIT 12 OF RMCS2) 1S RESET: . DVA (BIT 11 OF RMCS1) IS SET .LAST COMMAND WAS COMPLETED, I1.E., THE MASSBUS CONTROLLER IS READY (BIT 7 OF RMCS1) AND THE GO BIT IS RESET (BIT O OF RMCS1) OR THE DRIVE READY BIT (BIT 7 OF RMDS) IS SET. .NO PARITY ERROR OCC''"RED WHEN READING REMOTE REGISTERS, .‘oEc. 'CPG - o : .NO PA%,TY ERROR OCCURRED WHEN WRITING REMOTE REGISTERS, :1.E., PAR = 0, OR, PAR= DPE = 1 *THE SUBROUTINE ASSUMES THAT: : .STATUS HAS BEEN STORED IN THE REGISTER INPUT BUFFER, :IN PARTICULAR, RMCS1, RMCS2 AND RMDS HAVE BEEN STORED IN THEIR : CORRESPONDING LOCATIONS OF THE '‘GET'' BUFFER. H .(SUNIT) CONTAINS THE DRIVE NUMBER ;THE SUBROUTINE 1S CALLED AS FOLLOWS: (1 : : : : : 040512 062716 040526 —=O000 NS = - NN == NNES N = et OOV WO W NNNNN NN NN NNNNN 105076 162716 _,O0 — OO 040564 040566 040572 PC,PRIERR m PC.a(SP)+ RETURN HERE IF NO ERROR RETURN HERE TO REPORT AN ERROR ERROR NUMBER DEFINED BY SuB GO BACK TO SUB FOR MORE ERROR CHECKS RETURN HERE IF NO MORE ERRORS PRIERR: 040512 040516 040522 040556 JSR BR NOP ERROR JSR " ;CLEAR USER'S ERROR CALL 000004 000000 000004 ADD CLRB sus ¥4, (SP) sMOVE (SP) TO ®RROR CALL ;CLEAR ERROR .. 'MBER ;MOVE (SP) TO ~O ERROR RETURN ;REPORT AN ERROR IF THE WRONG UNIT 1S SELECTED MOV BIC MOV BlC CMPB 001340 177770 001234 177770 001140 000004 000001 #4, (SP) a(SP) 000000 BEQ RMCS2] ,8BDDAT ;CORRECT UNIT SELECTED?? SK , $BDDAT #*CUNTA SUNIT,SGDDAT :GOOD .DATA FOR TYPEOUT , SGDDAT #*CUNTMSK $GDDAT ,$BODAT ;COMPARE EXPECTED AND RECEIVED ;:DRIVE NUMBERS 1% $VES!! MOvVB #,3(SP) ADD ¥o,(SP) ;ERROR 1 CZRMDCO RMO3/2 FCTINL TIST 2 CZRMDC.P1 12-DEC-78 08:2¢4 1627 16 0047 36 162716 000240 000137 MACY1 30A(1052) . 001140 001140 001142 2%: 3 s e —=OOVRNOWVSWN-O il il D i o D i 001330 001140 001140 001140 001142 i el 001330 = PO - i e e D i o b VOOVOOVOVOOVOOOVOO 000200 000000 —‘—‘OOOOS PPV LN W — [« Y « R S-S vt et - d b i b b b b VOOVOOVO0O00 MOVE BIT BEQ MOV MoV BIC MOVE SUB JSR BR 001330 000200 001342 001330 001140 001140 001142 000000 :RESTORE (SP) RMCST1,$BDDAT :RECEIVED STATUS #2.3(SP) #NED,RMCS21 2% RMCS21,8GDDAT RMCS21,$BDDAT INED, SGDDAT #3,a3(SP) #2.(SP) :ERROR #2 ‘WAS NED SET?? INO!! EXPECTED STATUS :RECEIVED STATUS 210, (SP) :RESTORE (SP) 95, (SP) PC.a(SP)+ 108 ADD MOVE #6,(SP) #4.3(SP) JSR PC.a(SP)+ SUB agg 000001 000002 :SKIP OTHER CHECKS 10, (sP) :YES = CHANGE ERROR NUMBER *MOVE SP TO RETURN FOR ERROR :REPORT DEVICE NOT AVAILABLE ;SKIP OTHER CHECKS ;REPORT AN ERROR IF MASSBUS COMTROLLER IS NOT READY i #RDY,RMCS 11 :CONTROLLER READY?? BNE 7% YES!! MOV RMCS11,8GDDAT :EXPECTED STATUS BIS #RDY, $GDDAT BIC #SC' TRE 'MCPE ! GO, $GDDAT MOV RMCS1]1,$80DAT ;RECEIVED STATUS " 041106 108 382 000010 9129 JMP ADD . 000002 :MOVE SP TO RETURN FOR ERROR *REPORT WRONG UNIT SELECTED MOV 000010 013737 052737 #2,(SP) PC.a(SP)+ ;REPORT AN ERROR IF THE DEVICE IS NOT AVAILABLE OR IFf :THE DEVICE 1S NONEX!STANT BIT SOVA,RACS1] :DEVICE AVAILABLE?? BNE 5¢ SYES!! MOV RMCS11,8GDDAT :EXPECTED STATUS BIS #DVA, SGDDAT 000000 001340 001140 001142 001140 000000 c15 PAGE 184 SUB JSR zgg 000010 041334 11:23 PRIMARY ERROR CHECK SUBROUTINE 000002 001330 032737 001030 04=-JAN-79 BR :ERROR #4 #2,(SP) ‘MOVE SP TO RETURN FOR ERROR 210, (SP) :RESTORE (SP) 108 :REPORT CONTROLLER NOT READY ;SKIP OTHER CHECKS :REPORT AN ERROR IF GO IS NOT ZERO AND DRY 1S NOT ONE BIT #GO,RMCS1] ;60O RESET?? BEQ 8% TYES!! BIT #DRY ,RMDS 1 *DRIVE READY?? BNE 8% SYES!! MOV RMCS11,8GDDAT :EXPECTED STATUS MOV ADD MOVB RMCS1]1,$B0DAT #4,(SP) #5.3(SP) ;RECEIVED STATUS BIC SuB #SC ' TRE 'NCPE ' GO, $GDDAT #2,(SP) :ERROR #5 :MOVE SP TO RETURN FOR ERROR SEQ 0184 CZRMDCO RMO3/2 FCINL TST 2 CZRMDC.P11 12-DEC-78 08:24 9138 9139 9140 9141 9142 9143 9144 9145 9146 9147 9148 9149 9150 9151 9152 9153 9154 9155 9156 9157 9158 9159 9160 9161 9162 9163 9164 9165 9166 9167 9168 9169 9170 9171 9172 9173 9174 9175 9176 9177 9178 9179 918C 9181 9182 9183 9184 9185 9186 g}gg 041112 041114 041120 041122 041124 004736 162716 000240 000504 041126 0641132 041134 041142 041150 041156 041162 041170 041174 041176 041202 041204 041206 072737 001425 013737 042737 013737 062716 112776 162716 004736 162716 000240 000453 041206 041214 041216 041226 041226 041234 041236 041240 0412644 041250 041252 041256 041256 041260 041262 041264 041272 041300 041306 041312 041320 041324 041326 041332 041334 041340 032737 001451 032737 001045 032737 001413 010046 012700 122710 001002 012600 000431 105720 100371 012600 013737 042737 013737 062716 112776 162716 004736 162716 000240 062716 000240 041342 000207 MACY1T 30AC1052) 001330 PAGE 185 PC,a(SP)+ BR 108 001140 910, (5P ;REPORT DRIVE NOT READY ;RESTORE (SP) 001140 001142 BIC MOV MmOV RMCS11,SGDDAT :EXPECTED STATUS #SC ' TRE 'NCPE ' GO, $GDDAT RACS11,$BDDAT sRECEIVED STATUS 000000 move #15,3(sm) ADD 000010 001344 000010 001372 000010 001414 001535 000014 (SP) #2,(SP) PC.a(SP)+ #10,(5P) B8R 108 :MOVE STACK TO USER'S ERROR sERROR #47 ;MOVE SP TO RETURN FOR ERROR sREPORT ERROR VIA USER sRESTORE STACK ;REPORT AN ERROR IF THE RMO3 DETECTED A CONTROL BUS PARITY ERROR BIT #PAR,RMER1] ::3§'TMERE A PARITY ERROR?? 18 BEQ BIT #OPE ,RMER2] IT THE CONTROL BUS?? *WAS 18 BNE *NOT SURE'! BIT #PAR,RMER10 DID TEST SET PAR 22 .“0. i 938 BEQ 918: 928: 001140 001140 001142 0, SUB JSR SUB NOP 9%: 938: 000000 MOV MOV CMPB BNE MOV BR 1STB BPL MOV MOV BIC 285 move SUB JSR 000010 000010 D 15 ;REPORT AN ERROR IF THE RH CONTROLLER DETECTED BAD ;PARITY ON THE MASSBUS CONTROL BUS BIT SACPE ,RWCS1] :PARITY ERROR ?? BEQ 98 :NO!! 000010 001344 000010 001344 000004 000050 000002 JSR SUB NOP 8%: 001330 160001 001330 000004 000013 000002 11:23 PRIMARY ERROR CHECK SUBROUTINE 000010 020000 04=JAN-79 SUB 108: 11$%: NOP ADD NOP RTS RO,=(SP) #PUTINX,RO #RMER1, (RO) 928 (SP)+,RO 118 (RO)+ 918 (SP)+,RO RMER11,SGODAT #PAR,$GDDAT RMER1],$BDDAT #4,(SP) #2,(SP) PC.a(SP)+ #10, (SP) PC RO POINTS TO INDEX TABLE *SEARCH TABLE FOR RMER1 ;:POP STACK INTO RO :PAR WAS SET BY TEST :END OF TABLE?? :NO!! :;POP STACK INTO RO sEXPECTED STATUS ;RECEIVED STATUS ;MOVE SP TO USER'S ERROR CALL #50,3(sP) 710, (SP) :PUSH RO ON STACK ;WRITE THE ERROR NUMBER sMOVE SP TO RETURN FOUR ERROR ;REPORT THE ERROR ;MOVE SP TO NO ERROR RETURN ;RETURN TO ERROR ;RETURN TO NO ERROR SEQ 0185 CZRMDCO RMO3/2 FCINL TST 2 12-DEC-78 08:24 CZRMDC.P1N MACY11 9189 9190 9191 9192 9193 9194 9195 9196 9197 SBTTL 9212 9213 9214 9215 9216 9217 9218 9219 9220 9221 9222 9223 9224 SEQ 0186 SECONDARY ERROR CHECK SUBROUTINE THE ERROR CHECK SUBROUTINE PROVIDES DETECT'ON OF SECONDARY ERRORS SUCH AS UNEXPECTED ERRORS AND UNEXPECTED RLGISTER CONTENTS. THESE ERRORS ARE DEEMED SECONDARY IN THAT THEY ARE NOT NECESSARILY ASSOCIATED WITH THE OPERATION BEING PERFORMED. WHEN THE SUBROUTINE IDENTIFIES SUCH AN ERROR, 1T MOVES THE _ERROR NUMBER TO THE ERROR CALL IN THE TEST ROUTINE AND THEN RETURNS TO THE TEST ROUTINE WHICH MAKES THE ERROR (ALL. AFTER THE TEST ROUTINE MAKES THE ERROR CALL, IT RETURNS TO THE SUEROUTINE WHICH THEN LOOKS FOR OTHER ERRORS. WHEN ALL ERRORS HAVE BEEN REORTED, THE SUBROUTINE 9198 9199 9200 9201 9202 9203 9204 9205 9206 9207 9208 9209 9210 9211 E 15 30A(1052) 04=JAN-79 11:23 PAGE 186 SECONDARY ERROR CHECK SUBROUTINE RETURNS TO THE ADDRESS FOLLOWING THE SUBROU INE CALL: JSR BR PC,SECERR m” RETURN HERE 1F NO ERROR ERROR JSR PC.a(SP)+ ERROR NUMBER DEF INED BY SuB GO BACK TO SUB FDR MORE ERROR CHECKS NOP 177 NOTE: CALL. RETURN HERE TO REPORT AN ERROR RETURN HERE IF NO MORE ERRORS THE SUBROUTINE ASSUMES THAT REGISTERS HAVE BEEN STORED AT INPUT REGISTER BUFFER. 061344 ) ECERR: M 041344 041352 041360 041364 041370 013737 062737 062716 105076 162716 001400 177701 000004 000000 000004 045204 045204 AL AR ARl iR 2222022002012 STORE FUNCTION CODE AND CLEAR USER'S ERROR NUMBER MOV BIC ADD CLRB SuB MAAL A AL AR AR RMCS10,515% :STORE FUNCTION CODE #AC<FO'F1'F2!F3!F4>,5158 #4,(SP) a(SP) ;MOVE (SP) TO ERROR CALL :CLEAR ERROR NUMBER #4,(SP) AR AR AR :MOVE (SP) ARl Rl TO NO ERROR RETURN iR iRttt ld CHECK SECONDARY ERRORS COMMON TO ALL COMMANDS 061374 041402 041404 0414612 041420 0414626 041432 041440 041444 041446 041452 061454 061462 041464 041472 041500 041504 032737 001024 013737 000200 001342 REPORT ERROR IF DRIVE BIT BNE 001142° 001142 001140 000002 #DRY, $GDDAT 94, (SP) :GOOD DATA FOR TYPEOUT SUB JSR #2,(5P) PC.a(SP)+ :MOVE SP TO RETURN FOR ERROR :REPORT NOT READY SUB 001330 001330 177776 001140 000004 001142 001142 #*CDRY, $BODAT #0,a(sp) 910, (5P) :REPORT ERROR If GO BIT 5y : DRY = 0 MOV ADD NOP 000001 IF RMDS1,$BODAT move 000010 I.E., :DRIYE READY?? TYES!! MOV BIC 000000 IS NOT READY, ggRY.RHDSl #GO,RMCS1] BIC #4CGO, $BODAT ADD #o, (SP) CLR 10$ RMCS11,S8BDDAT $GDDAT ;ERROR NUMBER :RESTORE (SP) TO ERROR N IS NOT RESET BIT BEQ MOV :BAD DATA FOR TYPEOUT ;60 BIT RESET?? TYES!! :BAD DATA FOR TYPEOUT :GOOD DATA FOR TYPEOUT ) THE PR — — SXNao 000011 000002 F 15 MACY11 30A(1052) 04=JAN-/) 11:23 PAGE 187 SECONDARY ERROR CH-CK SUBROUTINE 000000 Move SuB JSR SuB bt NN NN 000010 — N RRRRRRRRRZRY 3 RRRRR I RS R 3 CZRMDCO RMO3/2 FCINL TST 2 CZRMDC.P11 12-DEC-78 08:2¢4 NOP 000004 000012 000002 15%: 001403 052737 013737 042737 023737 001412 062716 112776 162716 004736 162716 001140 001344 001372 040000 001342 137777 001140 000004 000047 000002 10, (sP) ;ERROR NUMBER sMOVE SP TO RETURN FOR ERROR ;REPORT DEVICE NOT AVAILABLE sRESTORE (SP) :REPORT SSROR IF FUNCTION CODE READ FROM DEVICE IS NOT CORRECT 108: RMCST1,$BDDAT ;1S FUNCTION CODE CORRECT?? #°C76,$B0DAT B1C MOV 5158, $GDDAT ;EXPECTED FUNCTION CODE CMP $BODAT, $GDDAT 158 BEQ sVES! 001330 177701 065204 001142 000010 005037 005737 001003 005737 #11,3(SP) #2.(sP) PC.(SP)+ SEQ 0187 001140 001142 001142 001142 ADD MOVB suB JSR SuB NOP 0%, (SP) 912,3(5P) #2,(sP) ;ERROR NUMBER ;MOVE SP TO RETURN FOR ERROR 910, (SP) sRESTORE (SP) PC.a(SP)+ ;REPORT WRONG FUNCTION CODE ;REPORT AN ERROR IF COMPOSITE ERROR IS SET AND NO OTHER ;ERRORS ARE SET, OR IF COMPOSITE ERROR IS NOT SET AND :OTHER ERRORS ARE SET $GDDAT CLR ;EXPECT "'ERR''=0 187 RMER1] lS RHERl =0?? BNE 20% :NO!! RMER2] 187 lgSRHERZ =0?? 25% BEQ SERR ,SGDDAT 208: BIS :"ERRTM SOULD BE SET RMDSI,$BODAT 25%: MOV BIC CHP BEQ ADD MOVB 000000 SUB JSR sue 000010 #*CERR,SBODAT $GDDAT . $BUDAT 308 9%, (SP) #67,3(SP) #2,(sP) PC,&(SP)O 710, (SP) ;1S "ERR'" 0K?? sVES!! sMOVE SP TO USER'S ERROR sWRITE ERROR NUMBER sMOVE SP TO ERROR RETURN sREPORT INVALID COMP ERROR ;REPORT AN ERROR IF ''TRE'' IS SET AND NONE OF THE BITS WHICH SET ;TRE 001140 001340 000377 040000 001342 000030 045204 040000 001140 001142 001142 001142 001140 042004 . 000004 000014 000000 1S SET, OR IF ;SET TRE 1S SET 308: CLR MOV BIC BNE BIT BEQ cCHp BHIS 35%: BIS MOV 40%: BIC CMP BEQ ADD MOVB TRE IS NOT $GODAT RMCS21,=(SP) #377,(SP)+ 35% #ERR ,RMDS ! 40% #SEARCH,5158 408 #TRE, SGDDAT RMCST1,$BDDAT #*CTRE, $BODAT . $BDDAT $GDDAT 458 ¥, (SP) #14,3(SP) SET AND ONE OR MORE BITS WHICH ;EXPECT "‘'TRE'' =0 :WAS DLT, WCE, UPE, NED, NEM :PGE, HXF OR MDPE SET s YES! USS EXCEPTION RECEIVED?? HAS DATA TRANSFERRED?? ;NO!! :"“TRE'* SHOULD BE SET :BAD DATA FOR TYPEOUT IS "TRE" 0Kk?? s YES! :MOVE SP TO USER'S ERROR CALL :WRITE ERROR NUMBER CZRMDCO RMO3/2 FCINL TST 2 12-DEC-78 08:24 CZRMDC.P11 062024 0462026 162716 004736 162716 000240 6 15 30A(1052) 04=JAN=79 11:23 PAGE 188 SECONDARY ERROR CHECK SUBROUTINE 000002 SUB JSR #2,(5P) PC.a(SP)+ SUB 000010 45%: AR A AR A A A SEQ 0188 ;MOVE SP TO RETURN FOR ERROR ;REPORT TRE ERROR 910, (sP) NOP MALARASAAA sRESTORE (SP) A A a R A il s nts]) USING THE FUNCTION CODE TABLE, CHECK FOR THE FOLLOWING ERRORS: : : .STATUS BITS NOT SET THAT SHOULD BE SET, E.G., ATA AND ILF .STATUS BITS SET THAT SHOULD NOT BE SET, E.G., WCE AND ECH :NOTE THAT SOME ERROR BITS ARE CONDITIONAL ON THE COMMAND AND OTHER ;STATUS CONDITIONS, E.G., WRITE LOCK ERROR SHOULD ONLY BE SET IF :WRITE LOCK IS ON AND THE COMMAND IS A WRITE. 045204 064672 045176 040000 :GET AND STORE THE eurav FROM THE FUNCTION CODE TABLE MoV RO,-(SP ::PUSH RO ON STACK MoV 045176 001140 001342 100000- 001140 077777 001342 077777 001140 001140 001142 001142 001142 000004 000006 000002 000000 042146 042150 SUB = =2LN N 001344 177776 001140 000004 000254 000002 042240 #10, (SP) NOP IF ILF ADD 94, SUB #2.(SP) SUB 9110, (sP) Mmove JSR ;REPORT ERROR ;RESTORE SP 1S INCORRECT, ;WITH FUNCTION CODE TABLE MOV 5009 ,8GDDAT #*CILF,SGDDAT BIC MOV RMER1],$BDDAT #*CILF,SBDDAT BIC CMP $GDDAT,$BDDAT BEQ 608 N = 177776 PC.a(SP)+ JSR 55%: 045176 :RO = FUNCTION CODE FNCDTB(RO),5008 :STORE ENTRY (SP)+,RO ::POP STACK INTO RO ;REPORT AN ERROR IF AN UNEXPECTED ATTENTION OCCURRED OR IF sATA 1S NOT SET AND SHOULD BE SET. MOV 5008 ,$GDDAT ;GET EXPECTED ATA STATUS BIT #ERR,RMDS | :zg E?HPOSITE ERROR SET ?? BEQ 508 - BIS #ATA,SGDDAT ;EXPECT AN ATTENTION 508: BIC #*CATA,SGDDAT :STRIP DONT CARES MOV RMDS1,$BDDAT :GET RECEIVED ATA BIC #*CATA,SBDDAT :STRIP DONT CARES CMP $GDDAT ,$BDDAT ;1S ATA OK ?? BEQ 55% sVES !¢ ADD #4,(SP) :MOVE SP TO USERS ERROR CALL MOvB #6,3(SP) :LOAD ERROR # IN CALL #2.(SP) SUB :MOVE SP TO ERROR RETURN ;REPORT ERROR 042150 042156 5158, ao MOV MOV 000010 N = 9302 9303 9304 9305 9306 9307 MACY11 (SP) #254.a(sP) PC.a(SP)+ I.E., IF ILF DOES NOT COMPARE ;GET EXPECTED ILF ' ;CLEAR ALL OTHER BITS ;GET RECEIVED ILF ;CLEAR ALL OTHER BITS ;1S ILF OK 2% sVE8 i :MOVE SP TO USERS ERROR CALL ;WRITE ERROR NUMBER IN CALL :MOVE SP TO ERROR RETURN ;REPORT ERROR AND RETURN :MOVE SP TO NO ERROR ;CLEAR EXPECTED STATUS 000010 001140 60$: 045176 ;REPORT AN ERROR IF WCE IS SET AND SHOULD NOT BE SET MOV 5008, -(SP) :GET WCE STATUS ENABLE CLR $GDDAT CZRMDCO RMO3/2 FCTNL TST 2 12-DEC-78 08:24 CZRMOC.P11 137777 001340 001142 000004 000026 000002 MACY11 001142 90%: 157777 001344 001142 001142 000004 000164 000002 000000 042440 042444 NS PPN = NN NNNNNSON — b N = s N ococooonN N — N o Sa=8SR2R8aS N 000010 000004 000165 000002 MOVB SUB JSR #26,3(SP) #2,(SP) PC.A(SP)+ SUB #5,(SP) 910, (SP) 001342 001142 MOV BIS MOV BIC BEQ 5008 ,-(SP) #*COPI1, (SP) RMER11,$BDDAT (SP)+,$BODAT 100% MOVB suB JSR #164,3(SP) #2,(SP) PC,a(SP)+ ADD 100%: 010000 001372 001142 #*CWCE, (SP) RMCS21,SBDDAT (SP)+,$BODAT 90 SEQ 0189 ;SET_ALL OTHER BITS ;RECEIVED STATUS ;CLEAR WCE IF ENABLED :BRANCH 1F WCE OK ;MOVE SP TO USER'S ERROR CALL ;WRITE ERROR NUMBER ;MOVE SP TO ERROR RETURN ;REPORT ERROR ;RESTORE ERROR :REPORT ERROR IF OF, STATUS IS SET AND SHOULD NOT BE SET 045176 167777 BIS MOV BIC BEQ ADD 000000 000010 045176 000100 H 15 30A(1052) 064=JAN-79 11:23 PAGE 189 SECONDARY ERROR CHECK SUBROUTINE SUB 710, (SP) ;REPORT ERROR IF IvC 1S SET AND IS NOT ENASLED OR IF IVC IS ;:SET AND VvV IS NOT RESET MOV 5008 ,-(SP) ;GET IVC STATUS ENABLE BIT #VV,RMDSI1 ;1S vv SET 105% BEQ :NO !! 1056: BIC BiS RMER2],$BDDAT ADD #4,(SP) MOvB SuB JSR 110%: #1vC, (SP) #*CIvC, (SP) [ [0]" BIC BEO 000000 000010 ¥4, (SP) :GET OP1 STATUS ENABLE sSET ALL OTHER BITS :GET RECEIVED STATUS ;CLEAR OP] IF ENABLED ;BRANCH IF OP1 OK ;MOVE SP TO USER'S ERROR CALL ;WRITE ERROR NUMBER IN CALL ;MOVE SP TO ERROR RETURN :REPORT ERROR ;RESTORE SP SUB (SP)+ ,$BODAT 110% #165,3(SP) #2,(SP) PC,a(SP)+ #10,(SP) ;YES = IvC SHOULD BE 0 :SET ALL OTHER BITS ;GET RECEIVED STATUS ;CLEAR IVC IF ENABLED :BRANCH IF 1vC OK ;MOVE SP TO USERS ERROR CALL ;WRITE ERROR NUMBER IN CALL :MOVE SP TO ERROR RETURN :REPORT ERROR ;RESTORE SP TO NO ERROR . ;BIT 11 (WLE) OF THE FUNCTION CODE TABLE IS THE ENABLING BIT FOR ;: ALL WRITE ERRORS, I.E., RMER1 - WLE, WCF : RMER2 - DPE : 3 RMCS2 = UPE. :EACH OF THESE ERRORS 1S CHECKED T0 SEE IF AN ERROR IS SET WHEN THE ;WRITE ERROR ENABLE BIT IS RESET. ;REPORT AN ERROR IF WLE 1S SET AND WRITE ERRORS ARE NOT ENABLED, OR IF 042444 042450 042456 042460 042466 012746 032737 001404 032737 001002 177777 004000 045176 004000 001342 ;THE DRIVE 1S NOT WRITE PROTECTED ;ASSUME WRITE ERRORS ENABLED MOV #-1,-(SP) BIT BEQ #ULE,500% 115% BNE 120% BIT #WRL ,RMDSI ARE URlTE ERRORS ENABLED ?? :NO ! 1gsvn£ DRIVE WRITE PROTECTED ?? ' D (N e TN OO ONNNN 062470 062474 S b (e (U CZRMDCO RMO3/2 FCTNL TST 2 CZRMDC.P1 12-DEC-78 08:24 004000 001344 001142 000002 ) MACYT1 001142 000040 001344 001142 000004 000025 000002 001142 042750 042754 004736 162716 1258 1308: SUB JSR SUB #2,(SP) PC.a(SP)+ 710, (SP) SEQ 0190 sRESET WLE ENABLE ;GET RECEIVED STATUS ;CLEAR WLE IF ENABLED sBRANCH IF WLE OK sMOVE SP TO USERS ERROR CALL ;WRITE ERROR NUMBER IN CALL ;MOVE SP TO ERROR RETURN sREPORT ERROR AND RETURN ;RESTORE SP TO NO ERROR 1S SET AND WRITE ERRORS ARE NOT ENABLED IF WCF #-1,-(5P) ;ASSUME WRITE ERRORS ENABLED :c:g ??ITE ERRORS ENABLED ?? BIC MOV BIC #UCF, (SP) RMERT1, $BODAT (SP)+,$BODAT ;DISABLE WCF ERROR ADD 05, SUB #2,(SP) sGET RECEIVED STATUS ;RESET WCF IF ENABLED ;BRANCH IF WCF Ok ;MOVE SP TO USERS ERROR CALL ;WRITE ERROR NUMBER IN CALL ;MOVE SP TO ERROR RETURN SUB #10, (SP) ;RESTORE SP TO NO ERROR MOVB 135%: (SP) #25,3(sP) JSR 000000 #uLE 5008 1308 1358 (SP) #25,3(SP) PC.a(SP)+ ;REPORT ERROR :REPORT ERROR IF DPE IS SET AND WRITE ERRORS ARE NOT ENABLED MOV #-1,-(SP) ;ASSUME WRITE ERRORS ARE ENABLED BIT #uLE , 5008 :cgg ??ITE ERRORS ENABLED ?? BNE 1408 BiC #OPE, (SP) ;RESET DPE ENABLE 1408: MOV RMER2], $BODAT ;GET RECEIVED STATUS BIC (SP)+,$BODAT ;RESET DPE IF ENABLED BEQ 1458 ;BRANCH IF DPE OK ADD 4, (SP) sMOVE SP TO USERS ERROR CALL MOVB #40,3(SP) ;WRITE ERRCR NUMBER IN CALL #2,(SP) SUB :MOVE SP TO ERROR RETURN +REPORT ERROR PC.a(SP)+ JSR SUB #10, (SP) ;RESTORE SP TO NO ERROR 145%: :REPORT AN ERROR MOV 045176 020000 001340 001142 001142 000004 000024 000002 000000 000010 95, BIT BNE 000000 000004 000040 000002 004000 ADD BEQ 001142 177777 RMERT1,SBODAT (SP)+,$BODAT MOV 045176 000010 001372 001142 012746 032737 001002 042716 013737 042637 001412 062716 112776 162716 FULE, (SP) MmOV BIC :REPORT ERROR 045176 000010 BIC move 125%: 004000 162716 1208: 000000 000010 177777 1158: BEQ 000010 177777 004000 115 30A(1052) 04=JAN=79 11:23 PAGE 190 SECONDARY ERROR CHECK SUBROUTINE 1508: UPE 1S SET A ND WRITE ERRORS ARE NOT ENABLED BIT BNE BIC #uLE 5008 1508 #UPE, (SP) BIC BEQ (SP)+,$BDDAT 155% MOV ADD RMCS21, SBODAT 4, (SP) MOVB SUB #24,3(SP) #2,(SP) SUB #10, (SP) JSR 155%: IF #-1,-(SP) PC.a(SP)+ sASSUME WRITE ERRORS ARE ENABLED :Azg ??IYE ERRORS ENABLED ?? .Y Le ;DISABLE UPE ERROR sGET RECEIVED STATUS ;RESET UPE IF ENABLED ;BRANCH 1F UPE 0K ;MOVE SP TO USERS ERROR CALL ;WRITE ERROR NUMBER IN CALL sMOVE SP TO ERROR RETURN sREPORT ERROR AND RETURN +sMOVE SP TO NO ERROR CZRMDCO RMO3/2 FCTINL TST 2 CIRMOC.P11 12-DEC-78 08:24 9469 9470 042754 013746 045176 9472 9673 062764 042772 013737 042637 001344 001142 9671 062760 9476 9475 9476 9677 9678 042776 043000 043006 043012 063016 gtg? 063024 9479 043020 052716 001412 062716 112776 162716 004736 162716 175777 000004 000166 000002 J 15 MACY11 30A(1052) 04=JAN-79 11:23 PAGE 191 SECONDARY ERROR CHECK SUBROUTINE ;REPORT AN ERROR IF IAE 1S SET AND :S NOT ENABLED MOV 5008 , - (SP) :GET IAE ENABLE 001142 000000 1608 : 9488 :NOTE: : 9490 9491 9492 9493 323§ :SET ALL OTHER BITS BEQ ADD MOVB SUB JSR 1608 95, (SP) #166,a(SP) #2,(5P) PC.a(SP)+ :BRANCH IF IAE IS OK :MOVE SP TO USERS ERROR CALL :WRITE ERROR NUMBER :MOVE SP TO ERROR RETURN *REPORT ERROR AND RE TURN SUB RMER1I.$BODAT (SP)+, SBODAT 10, (SP) :GET RECEIVED STATUS :CLEAR IAE IF ENABLED :MOVE SP TO NO ERROR IS THE ENABLING BIT FOR : LBT IS NOT CHECKED BECAUSE IT ONLY RESETS WHEN THE DESIRED :CYLINDER REGISTER IS WRITTEN INOTE: : AOE CANNOT BE SET IF LBT IS NOT ALSO SET INOTE: : TRE 1S CHECKED AS A FUNCTION OF OTHER ERROR CONDITONS ABOVE 9496 9497 9498 9499 9500 9501 043024 043030 043036 063040 012746 032737 001002 042716 9503 9504 9505 9506 9507 9508 9509 gg}? 063052 043056 043060 043064 043072 043076 043100 043104 042637 001412 062716 112776 162716 004736 162716 043046 9512 9513 043104 013737 012746 177777 001000 100000 001142 000004 000032 000002 000000 001142 1658: 000010 177777 063110 043116 043120 032737 001002 042716 001000 9518 9519 9520 9521 9522 9523 063132 063136 043140 043144 043152 043156 042637 001412 062716 112776 162716 004736 001142 1708 : 045176 004000 000004 000167 000002 162716 000010 MOV BIC BEQ ADD MOVB SUB JSR SUB RMCS21,SBDDAT (SP)+,$BDDAT 1708 4, (SP) #32,3(SP) #2,(SP) PC.a(SP)+ #10, (SP) :GET RECEIVED STATUS :CLEAR DLT IF ENABLED :BRANCH IF DLT IS OK :MOVE SP TO USERS ERROR CALL :WRITE ERROR NUMBER IN CALL :MOVE SP TO ERROR RETURN *REPORT ERROR AND RETURN :MOVE SP TO NO ERROR ;REPORT ERROR IF NEM IS SET AND READ/WRITE ERRORS ARE NOT ENABLED 9517 043124 013737 001340 001142 043160 :REPORT AN EPROR IF DLT IS SET AND READ/WRITE ERRORS ARE NOT ENABLED MOV #-1,-(SP) ;ASSUME ERRORS ARE ENABLED BiT #AOE , 5008 :ARE ERRORS ENABLED ?? BNE 1658 SYES ! BIC #OLT, (SP) :RESET DLT ENABLE 045176 00i340 9514 9515 9516 9524 #*CIAE, (SP) ;BIT 09 (AOE) OF THE FUNCTION CODE TABLE ALL READ/WRITE ERRORS, 1.E.. : RMCS1 - TRE o RMCS2 = DLT,NEM,MXF : RMDS =~ LBT : RMER1 = AOE 94,89 9502 BIS MOV BIC 000010 9482 9483 9484 9485 9486 9487 SEQ 0191 MOV : 175%: 000000 . #-1,=-(SP) :ASSUME ERRORS ARE ENABLED RMCS21,$BDDAT :GET RECEIVED STATUS BIT BNE BIC #AOE , 5008 175% INEM, (SP) BIC BEQ ADD MOVB SUB JSR (SP)+,$B0DAT 180$ #4,(SP) #167.3(SP) #2,(SP) PC.alSP)+ MOV SUB 910, (sP) :ARE ERRORS ENABLED ?? TYES ! :DISABLE NEM :CLEAR NEM IF ENABLED :BRANCH IF NEM IS OK :MOVE SP TO USERS ERROR CALL :WRITE ERROR NUMBER IN CALL :MOVE SP TO ERROR RETURN *REPORT ERROR AND RETURN :MOVE SP TO NO ERROR CZRMDCO RMO3/2 FCTNL TST 2 12-DEC-78 08:24 CZRMDC.P11 04=JAN-79 11:23 K 15 PAGE 192 SECONDARY ERROR CHECK SUBROUTINE 043164 . 180%: 045176 001000 001340 001142 001142 000004 000033 000002 000000 #-1,-(SP) :ASSUME ERRORS ARE ENABLED BIC IAXF , (SP) :DISABLE MXF ERROR BIC BEQ (SP)+,$BODAT 1908 :CLEAR MXF IF ENABLED *BRANCH IF MXF IS OK #3%,3(sP) :WRITE ERROR NUMBER IN CALL BIT BNE 185%: MOV #AOE , 5008 1858 RMCS21,SBDDAT ADD 95, (SP) SUB #2,(SP) move 190%: SUB PC.a(SP)+ 710, (SP) *ARE DATA ERRORS ENABLED ?? TYES ! :GET RECEIVED STATUS :MOVE SP TO USERS ERROR CALL ‘MOVE SP TO ERROR RETURN ‘REPORT ERROR AND RETURN :MOVE SP TO NO ERROR ;REPORT ERROR I1F AOE IS SET AND DATA ERRORS ARE NOT ENABLED 002000 001342 001142 MoV #-1,-(SP) sASSUME DATA ERRORS ARE ENABLED BIT #LBT ,RMDSI ;1S LBT ALSO SET ?? BIT BEQ BNE L 1 045176 — 177777 001000 000004 000020 000002 MOV JSR 000010 001000 001344 001142 162716 sREPORT ERROR IF MXF 1S SET AND READ/WRITE ERRORS ARE NOT ENABLED OO ~N — 177777 001000 o 000010 #AOE, (SP) RMERT1,S$BDDAT (SP)+,$BODAT ADD 84, move SUB JSR 200%: 195% BIC MOV BIC BEQ 000000 #AOE,500% 191% SUB :ARE DATA ERRORS EANBLED ?? :NO !! ;YES !! *DISABLE AOE :GET RECEIVED STATUS :CLEAR AOE IF ENABLED 2008 *BRANCH IF AOE IS OK #20,3(sP) *WRITE ERROR NUMBER (SP) #2,(SP) PC.a(SP)+ 10, (sP) ‘MOVE SP TO USERS ERROR CALL *MOVE SP TO ERROR RETURN *REPORT ERROR AND RETURN :MOVE SP TO NO ERROR :BI1T 07 (HCE) OF THE FUNCTION CODE TABLE IS THE ENABLING BIT FOR sHEADER ERRORS, 1.E., RMER1 = HCRC,HCE,FER RMER2 - BSE NN = NN =N 9525 9526 MACY11 30A(1052) 002000 001362 000200 045176 177777 JRESET THE ENABLING BIT (HWCE) IF HEADER COMPARE INMIBIT 1S SET BIT #HCI,RMOF | ;1S HCI SET 2? BEQ 201% :NO !! BIC #HCE, 5008 :YES = DISABLE ALL HEADER ERRORS 201%: sREPORT AN ERROR IF HCRC 1S SET AND HEADER ERRORS ARE NOT ENABLED 000200 045176 000400 001344 001142 001142 000004 000035 000002 000000 205%: MOV #-1,-(SP) MOV RMERTI,SBODAT BIT BNE BIC BIC BEQ ADD move SUB #HCE, 5008 205$ FHCRC, (SP) :ASSUME ERRORS ENABLED (SP)+,$BDDAT 2108 ARE HEADER ERRORS ENABLED ?? TYES ! :DISABLE HCRC :GET RECEIVED STATUS :RESET WCRC IF ENABLED *BRANCH IF WCRC IS OK #35.,3(5P) ‘WRITE ERROR NUMBER IN CALL ¥4, (SP) #2.(SP) ‘MOVE SP TO USERS ERROR CALL “MOVE SP TO ERROR RETURN SEQ 0192 CZRMDCO RMO3/2 FCTNL TST 2 CIRMDC.P11 12-DEC-78 08:24 9581 9582 043426 043426 3;32 063432 004736 162716 000010 177777 000200 9585 9586 9587 9588 9589 043432 043436 043444 043446 012746 032737 001002 042716 9592 9593 959, 9595 9596 043464 043466 043472 043500 043504 001412 062716 112776 162716 004736 9590 9591 9597 043452 043460 043506 g;gg 063512 9600 013737 0462637 162716 9601 9602 9603 9606 9605 9606 9607 9608 063512 043516 043526 043526 063532 063540 043546 043546 012746 032737 001002 042716 013737 0462637 001412 062716 9610 9611 063560 043564 162716 004736 9609 9612 043552 043566 g:;z 043572 112776 000200 001344 001142 000004 000036 000002 177777 000200 000020 001346 001142 000004 000037 000002 162716 000010 043572 063576 043606 043606 012746 032737 001002 042716 177777 000200 9621 9622 9623 063620 063626 043626 042637 001412 062716 001142 9625 9626 043640 043644 9624 043632 9627 043646 3253 9630 9631 9632 9633 9634 9635 9636 043652 013737 112776 162716 004736 JSR 2108 : 045176 001142 100000 001372 000004 000354 000002 152716 000010 SUB PC,a(SP)+ 00, (sP) ;REPORT ERROR AND RETURN :MOVE SP TO NO ERROR ;REPORT ERROR IF HCE IS SET AND HEADER ERRORS ARE NOT ENABLED MOV #-1,-(SP) ;ASSUME ERRORS ENABLED BIT #HCE , 5008 :ARE ERRORS ENABLED ?7? BNE 2158 SYES ! BIC FHCE, (SP) :DISABLE MCE 2158: MOV BIC BEQ ADD MOVB SUB JSR 000000 000010 9615 9616 9617 9618 9619 9620 063612 L 15 MACY11 30A(1052) 04-JAN-79 11:23 PAGE 193 SECONDARY ERROR CHECK SUBROUTINE 2208 : SUB RMERTI,SBODAT (SP)+,$BODAT 2208 9, (SP) #36,3(SP) #2,(SP) PC,a(SP)+ 910, (SP) :GET RECEIVED STATUS :CLEAR HCE IF ENABLED :BRANCH IF MCE IS OK :MOVE SP TO USERS ERROR CALL :WRITE ERROR NUMBER IN CALL sMOVE SP TO ERROR RETURN ;REPORT ERROR AND RETURN :MOVE SP TO NO ERROR sREPORT ERROR IF FER IS SET AND HEADER ERRORS ARE NOT ENABLED 045176 001142 225%: 000000 001142 #-1,-(SP) #HCE, 5008 225% #FER, (SP) RMERTI,$BODAT (SP)+,$BODAT 2308 #5, (SP) SUB JSR #2,(SP) PC,a(SP)+ MOvVB 2308 : 045176 MOV BIT BNE BIC MOV BIC BEQ ADD SUB :ASSUME FER 1S ENABLED :ARE HEADER ERRORS ENABLED 7? SYES ! :DISABLE FER :GET RECEIVED STATUS :RESET FER IF ENABLED :BRANCH IF FER OK :MOVE SP TO USERS ERROR CALL #37,3(SP) :WRITE ERROR NUMBER IN CALL 10, (sP) :MOVE SP TO NO ERROR :MOVE SP TO ERROR RETURN :REPORT ERROR AND RETURN :REPORT ERROR 1F BSE IS SET AND HEADER ERRORS ARE NOT ENABLED MOV #-1,-(SP) ;ASSUME ERRORS ENABLED BIT #HCE, 5008 :ARE THEY ENABLED ?? BNE 2358 TYES ! BIC #BSE, (SP) :DISABLE BSE 235%: 000000 MOV RMER21,$BDDAT :GET RECEIVED STATUS move #354.a(sP) :WRITE ERROR NUMBER BIC BEQ ADD SUBJSR 2408: SUB (SP)+,$BODAT 2408 95, (SP) #2.(SP) PC,a(SP)+ 10, (5P) :;CLEAR BSE IF ENABLED :BRANCH IF BSE OK :MOVE SP TO USERS ERROR CALL :MOVE SP TO ERROR RETURN JREPORT ERROR AND RETURN :MOVE SP TO NO ERROR :BIT 06 OF THE FUNCTION CODE TABLE 1S THE ENABLING BIT FOR DATA :F1IELD ERRORS, 1.E., : RMCS2 = MOPE : RMERT = DCK,ECH ;NOTE: : ECH CANNOT SET UNLESS IT 1S ENABLED AND ECI IS RESET AND :DCK 1S SET. SEQ 0193 CZRMDCO RMO3/2 FCTNL TST 2 CZIRMOC.P11 12-DEC-78 08:24 gggg 9639 9640 9641 9642 9643 964 9645 9646 043652 063656 043664 043666 043672 043700 043704 043706 012746 032737 001002 062716 013737 042637 001412 062716 9648 9649 043720 0463724 162716 004736 322} 043732 9653 9656 9655 9656 9657 9658 9659 9660 9661 043732 043736 043744 043746 043752 043760 043764 043766 012746 032737 001002 042716 013737 042637 001412 062716 9663 9664 044000 044004 162716 004736 9647 043712 9650 043726 9662 9665 ggg? 9668 9669 9670 9671 9672 9673 9674 9675 9676 9677 9678 9679 043772 044006 0464012 044012 044016 044026 044026 044034 044036 044044 044046 112776 177777 000100 000400 001340 001142 000004 000027 000002 112776 162716 012746 032737 001410 032737 001004 032737 001002 042716 177777 000100 100000 001344 001142 000004 000030 000002 001142 001142 000000 001362 100000 001344 044060 044064 044066 042637 001412 062716 001142 9685 9686 044100 044104 162716 004736 000002 g:gs 046112 000004 112776 000031 162716 000010 001142 SUB JSR #2,(5P) PC,a(SP)+ SUB #27.a(sP) :ASSUME ENABLED *ARE DATA FIELD ERRORS ENABLED 77 TYES ! :DISBALE MDPE :GET RECEIVED STATUS :CLEAR MDPE IF ENABLED :BRANCH IF MDPE OK :MOVE SP TO USERS ERROR CALL 110, (sP) move #30,a(sP) suB 10, (sp) suB JSR :REPORT : : : 004000 #-1,-(SP) #ECH, 5008 2458 #MDPE , (SP) RMCS21,8B0DAT (SP)+,$BODAT 2508 94, (SP) sREPORT ERROR IF DCK IS SET AND MOV #-1,-(SP) BIT #ECH, 5008 BNE 2558 BIC #DCK, (SP) 255§: MOV RMER11,$BDCAT ' BIC (SP)+,$BODAT BEQ 2608 ADD #6,(SP) 2608: 045176 MOV BIT BNE BIC MOV BIC BEQ ADD move 2508 177777 000100 000100 2458: 000000 045176 SEQ 0194 REPORT E RROR IF f MOPE 1S SET AND IS NOT ENABLED 045176 000010 9681 9682 9683 9687 044106 ; 162716 000010 9680 044052 013737 001344 9684 044072 n15 MACYTT 30A(1052) 04=JAN-79 11:23 PAGE 194 SECONDARY ERROR CHECK SUBROUTINE 265%: 2708: 000000 :MOVE SP TO ERROR RETURN :REPORT ERROR AND RETURN :MOVE SP TO NO ERROR DATA FIELD ERRORS ARE NOT ENABLED :ASSUME ENABLED :ARE THEY ENABLED ?? SYES ! :DISABLE DCK ;GET RECEIVED STATUS ;CLEAR DCK IF ENABLED ;BRANCH IF DCK 1S OK ;MOVE SP TO USERS ERROR CALL ;WRITE ERROR NUMBER IN CALL ;MOVE SP TO ERROR RETURN :REPORT ERROR AND RETURN :MOVE SP TO NO ERROR ERROR IF ECH IS SET AND, DATA FIELD ERRORS ARE NOT ENABLED, OR ECI IS SET, OR DCK IS NOT SET. MOV #-1,-(SP) ;ASSUME ENABLED BIT BEQ BIT BNE BIT BNE BIC #ECH, 5008 265% #ECI,RMOF] 2659 #0CK ,RMER1] 270% #ECH, (SP) :ARE ERRORS ENABLED ?? :NO !} ;1S EC] SET ?? sVES 1! ;1S DCK ALSO SET ?? sYES !! :DISABLE ECH BIC BEQ ADD (SP)+,$BODAT 275% ¥4, (SP) ;CLEAR ECH IF ENABLED ;BRANCH IF ECH IS OK :MOVE SP TO USERS ERROR CALL #2,(SP) PC.a(SP)+ ;MOVE SP TO ERROR RETURN :REPORT ERROR AND RETURN MOV MOvVB suB JSR 275%: #2,(SP) PC,a(SP)+ :WRITE ERROR NUMBER IN CALL ss RMER{1,SBODAT #3i,3(5P) #10,(sP) :GET RECEIVED STATUS ;WRITE ERROR NUMBER IN CALL ;MOVE SP TO NO ERROR 9690 R 9691 ;PERFORM THE REMAINING ERROR CHECKS ONLY FOR DATA TRANSFER COMMANDS R R e sy CZRMDCO RMO3/2 FCTNL TST 2 CZRMDC.P 12-DEC-78 08:24 9693 9696 9695 9696 0644112 044120 044122 022737 103402 000137 000030 045150 N 15 MACY11 30A(1052) 04=JAN-79 11:23 PAGE 195 SECONDARY ERROR CHECK SUBROUTINE 045204 CHP BLO JMP #SEARCH,515% 280% 355% ;WAS DATA TRANSFERRED?? sVES:! SEQ 0195 CIRMDCO RMO3/2 FCTNL ST 2 12-DEC-78 08:24 CZRMOC.P1 B 16 MACY11 30A(1052) 06=JAN=79 11:23 PAGE 19¢ SECONDARY ERROR CHECK SUBROUTINE SEQ 0196 — ONOOWVN—=N —_ 'JY—' N S & - N N s NN ~N 33 044172 e ST INS NIV N = N\ == (N NNNONNONS~N o :THE FOLLOWING STATUS CHECKS ARE FOR DATA TRANSFER COMMANDS ONLY 001332 001142 040000 001330 000004 000015 001140 000002 005046 013746 064426 044432 044434 04bb2 Dbbloels 023727 103420 023727 103406 005237 RMWC 1, SBODAT 2858 #TRE,RACS1] zass 016 a(sP) (SP) $GDDAT 92, (SP) PC.(SP)+ 10, (sP) Uggb COUNT ZERO?? 1:2NSF£R ERROR DETECTED?? ;ERROR NUMBER :GOOD DADA FOR TYPEOUT ;MOVE SP TO RETURN FOR ERROR ;REPORT WORD COUNT NOT ZERO ;RESTORE (SP) NOP :REPORT ERROR IF RMBA IS NOT CORRECT 001140 001140 b, % 00u. 001140 001340 001404 001140 001140 001334 001334 000004 000016 000002 001142 CMP BEQ MOV 000000 MOVB 2858: MOV SUB ASL RMWC 1, SGODAT RMWCO, SGDDAT $GDDAT BIT BEQ #BA],RACS21 2908 ADD 2908: RMBAO, SGODAT MOV RMBAO, $GODAT ADD 96, (SP) $GDDAT ,RMBAI 2958 RMBA1, $BODAT SUB #16,3(SP) #2,(SP) SUB 910, (SP) JSR 000010 NOP PC.a(SP)+ :NUMBER OF WORDS TRANSFERRED sEXPECTED BUS ADDRESS ;WAS BAl SET ?? :NO !! sADDRESS SHOULD NOT HAVE CHANGED :BUS ADDRESS 0K?? sVES!! :BAD DATA FOR TYPEOUT ;ERROR NUMBER :MOVE SP TO RETURN FOR ERROR :REPORT UNEXPECTED ADDRESS ;RESTORE (SP) :COMPUTE NUMBER OF SECTORS TRANSFERRED 001332 001402 000400 000002 2958: 001400 3008: 022626 062637 CLR SUB JSR 001332 001402 000004 000002 044412 044420 ADD SUB 000402 013737 BEQ BIT BNE MOVB 000000 000010 71140 004736 162716 000240 :REPORT SSROR IF_ RMJC NOT ZERO AND TRE' IS ZERO 2808 : 001406 001406 001434 177740 045200 177770 045202 045202 045200 045176 045202 000040 045202 000240 045176 -(SP) SUB MOV BIT RMWCO, (SP) #256. .=(SP) #B1T1.RMCS10 RMWCI,=(SP) BEQ MOV INC SUB BGT 300% #258. ,(SP) 4(SP) (SP),2(SP) 3008 MOV 5108 sNUMBER OF SECTORS TRANSFERRED ;NUMBER OF WORDS TRANSFERRED ;NUMBER OF WORDS PER SECTOR ::SA?§R € DATA COMMAND ?? :YES = CHANGE WORDS PER SECTOR s INCREMENT SECTOR COUNT :SUBTRACT ONE SECTOR'S WORTH ;CONTINUE IF NOT DONE CMP (SP)+,(SP)+ ;STRIP 2 FROM STACK ; COMPUTE sxrecreo sec1oa TRACK AND CYLINDER ADDRESS FROM NUMBER OF MOV MOV 045200 045202 (LR MOV BIC SWAB BIC #437.5108 5058 #°07,505% CMP BLO CMP BLO INC 5108 ,#32. 3158 5108 ,#<5¢32.> 310% 5008 ADD 3058: anvo soss RMDCO. 5008 ;STORE ORIGINAL SECTOR :STORE ORIGINAL TRACK :STORE ORIGINAL CYLINDER (SP)+.,5108 SSCTOR OVEFLOWED?? 'CYLlNDERS WORTH?? :NO!! :YES INCREMENT CYLINDER SECTORS CZRMDCO RMO3/2 FCTNL TST 2 CZRRDC.P 12-DEC-78 08:2¢4 MACYT1 9753 9756 9755 9756 g;gg 044450 044456 044460 044464 044472 162737 000762 005237 162737 000754 000240 0465202 045200 000040 045202 9759 9760 9761 9762 g;gz 044476 044502 044506 044510 064516 023727 103406 005237 162737 000766 045200 000005 9765 9766 044520 044526 005037 022737 001140 001467 045176 9768 044534 032737 002000 001344 9770 9771 9772 9775 044544 044552 044560 044566 012737 013737 042737 023737 002000 001342 175777 001140 001140 001142 001142 001142 16 76 16 000004 000017 000002 000000 045176 000005 C 16 30A(1052) 04=JAN-79 11:23 PAGE 197 SECONDARY ERROR CHECK SUBROUTINE SuB 3108: 315%: 162716 000010 9782 9783 044626 (44630 005037 032737 001140 002000 001344 9785 9786 9787 9788 9789 9790 9791 9792 9793 9794 9795 9796 9797 9798 9799 9800 9801 9802 9803 9804 9805 9806 838; 044640 044646 044650 044654 044656 044662 044664 044672 044674 044700 044702 044710 044714 044722 044730 044736 044744 044746 044752 044760 044764 044766 044772 022737 101025 005737 001012 005737 001007 032737 001413 005737 001410 012737 005037 012737 013737 042737 023737 001413 062716 112776 162716 004736 162716 000240 001467 045176 BR $208: 325%: BHI BIT BNE MOV MOV BIC CHP BEQ 325% #1AE RMET ! 325% FLBT,SGDDAT RMDSI,$BODAT #~CLBT,$BODAT $GDDAT,$BDDAT 3308 ;1S LBT CORRECT?? SYES!! MOVB #17,3(SP) ;ERROR NUMBER SUB NOP :REPORT ERROP IF $308: (LR 045202 001142 001142 001142 000000 335%: 3408: (SP) #2,(SP) PC.alSP)+ 910, (SP) :NO!! ;WAS IAE SET ?? :YES = LBT SHOULD NOT BE SET :SET GOOD DATA FOR LBT=1 -BAD DATA FOR TYPEOUT ;MOVE SP TO RETURN FOR ERROR ;REPORT LBT IS WRONG sRESTORE (SP) "AOE'* 1S INCORRECT $GDDAT ;SET FOR AOE=0 ;WAS "'IAE'' DETECTED?? :YES="'AOE'' SHOULD BE ZERO : SHOULD AOE BE SET?? :NO!! BNE 335% s YES 505% 5108 s MAYBE BNE BIT BEQ 335% #F2,515% 3408 sYES !! ;WAS THIS READ OR WRITE CHECK ?? :NO !! BEQ MOV CLR MOV MOV BIC CMP BEQ 340% #AOE ,$GDDAT 505% #1,5108 ;EXPECT RMER1],$B0DAT #*CAOE , $BDDAT $GDDAT,$BDDAT 3458 3. B :SET FOR AOE=1 ;CLEAR EXPECTED TRACK SECTOR=1 ;BAD DATA FOR TYPEOUT #20,a(spP) ;ERROR NUMBER TST 001140 9%, :SET GOOD DATA FOR LBT=0 : SHOULD LBT BE SET?? #1AE ,RMERT] 3408 #823.,500% 3408 1ST 045204 #823.,500% BiT BNE CMP BHI 18T 001332 000010 :TRY AGAIN $GDDAT CMP SUB 045202 000004 000020 000002 3188 CLR ADD 045200 001344 176777 001140 505%,#5 ;TRACK OVERFLOWED?? :NO'! 3208 ;NO!! 5008 *INCREMENT CYLINDER #5,5058 ;ADJUST TRACK JSR 044616 001000 045200 000001 CmP BLO :TRY AGAIN s INCREMENT TRACK sADJUST SECTOR ;TRY AGAIN :REPORT ERROR IF '‘LBT'' 1S NOT CORRECT 9779 000010 ;ADJUST SECTOR 305% 505% #32.,5108 305% INC SUB 045200 #<5¢32.>,5108 BR INC SuB BR ADD move SUB JSR SUB NOP RMWCI ¥, (SP) #2,(SP) PC.alSP)+ 110, (sP) sWAS ALL DATA TRANSFERRED ?? ;1S AOE CORRECTY?? SYES!! :MOVE SP TO RETURN FOR ERROR :REPORT AOE IS WRONG ;RESTORE (SP) ;REPORT ERROR IF RMDA ]S NOT CORRECT SEQ 0197 g-w-a—uuuuu v NNN"NNNWN?N 001344 045200 001140 3458: BIT BNE MOV #1AE ,RMERT] 355¢ 505% , $GDOAT :WAS THERE AN IAE ERROR ?? sYES = DONT CHECK RMDA,RMDC ;SETUP EXPECTED DISK ADDRESS 001140 001142 001142 MOVB MOV CHP BEQ 510%,S3GDDAT RMDAT, $BODAT $GDDAT,SBDDAT ;SETUP RECEIVED DISK ADDRESS 000000 Move SUB #21.,3(sP) #2,(SP) SWAB b NN b 000022 000002 000010 JSR PC.(SP)+ 001142 001142 000000 :REPORT ERROR IF 3508: 3508 9%, (SP) NOP 001140 001140 SGDDAT ADD SUB 000010 000004 — D 16 MACY11 30A(1052) O04=JAN-79 11:23 PAGE 198 SECONDARY ERROR CHECK SUBROUTINE 002000 045176 176000 001364 001140 OO WNNNN CO—-Q000 b b SSR2R — o Py [« X NININ) == NN N NNNSNNNN b G NS NININ = NN O W —N) NN OO C O WNNNNNNN 8583 =g882=8282 CZRMDCO RMG3/2 FCTINL TST 2 12-DEC-78 08:24 CZRMDC.P11 MmOV BIC 10, (sP) RMDC ; COMPARE EXPECTED & RECEIVED :BRANCH 1F EQUAL ;ERROR NUMBER ;MOVE SP TO RETURN FOR ERROR ;REPORT BAD DISK ADDRESS ;RESTORE (SP) IS INCORRE T $,$GDDAT #°C1777,8GDDAT ;SETUP EXPECTED CYLINDER MOV CHP BEQ RMDC1,$BODAT $GDDAT, SBODAT 3558 ;SETUP RECEIVED CYLINDER : COMPARE CYLINDERS :BRANCH IF EQUAL MOVB #22,3(SP) :ERROR NUMBER ;MOVE SP TO RETURN FOR ERROR ;REPORT BAD CYLINDER ;RESTORE (SP) ADD SUB JSR SUB NOP 94, (SP) #2,(SP) PC.a(SP)+ #10,(SP) SEQ 0198 CZRMDCO RMO3/2 FCTNL TST 2 12-DEC-78 08:24 CZRMDC.P1 9835 9836 9837 9838 9839 9840 9841 9842 9843 9844 9845 9846 9847 045150 045154 045160 045162 045166 045170 045176 045176 045200 045202 0465204 062716 105776 000004 000000 MACY11 30A(1052) 355%: ADD 1S18 BEQ ADD 360%: 365%: : 5008 000000 11:23 E 16 PAGE 199 St CONDARY ERROR CHECK SUBROUTINE 000004 000004 04=-JAN-79 505%: 510%: 515%: BR SuB RTS .WORD .WORD .WORD .WORD #4,(SP) ;MOVE (SP) TO ERROR CALL ;WAS ERROR FOUND?? ;MOVE (SP) TO ERROR RETURN sMOVE (SP) TO NO ERROR RETURN ;CYLINDER ; TRACK ;SECTOR ;FUNCTION CODE SEQ 07199 CZRMDCO RMO3/2 FCINL TST 2 CZRMDC.P11 12-DEC-78 08:2¢4 MACYi1 30A(1052) 04=JAN-79 11:23 DEVICE SELECT SUBROUTINE 33?8 .SBTTL 9851 9852 9853 9854 9855 9856 9857 ; : 9860 9861 9862 : (&) 045206 045206 045212 045216 062716 105076 162716 045222 013746 9869 045232 010046 9870 9871 9872 9873 33;; 045226 045234 045236 013746 010146 012737 045244 045252 045256 012737 013700 013701 9877 9878 9879 045262 045266 045274 111160 016037 016037 9881 9882 9883 9884 9885 9886 9887 9888 9889 9890 9891 9892 9893 9894 9895 045310 045312 045320 045326 045330 045336 045340 045346 9876 9880 045302 9896 045354 045366 ggg; 045374 9899 s 9902 9903 9904 DEVICE SELECT SUBROUTINE JSR BR NOP PC,DEVSEL 77 ERROR RETURN IF NO ERROR RETURN IF ERROR ERROR DEFINED BY SUBROUTINE 000004 000407 . 000006 045356 000300 001276 001450 ADD ¥4, (SP) :MOVE SP TO USER'S ERROR CLRB a(SP) ;CLEAR LOW ORDER BYTE OF CALL SUB ¥4, (SP) ;MOVE SP BACK ;SAVE USER'S INFORMATION AND SETUP REGISTERS MOV ERRVEC,=(SP) ;:PUSH ERRVEC ON STACK [ 1]} ERRVEC+2,-(SP) MOV R1,-(SP) MOV 000004 MOV 000006 MOV MOV MOV : ;PUSH ERRVEC+2 ON STACK RO,=(SP) ::PUSH RO ON STACK #208 ,ERRVEC ;SETUP FOR BUS TIMEOUT #PR6,ERRVEC+2 $BASE RO TSTQUE ,R1 ::PUSH R1 ON STACK ;RO = UNIBUS ADDRESS ;R1 POINTS TO DEVICE NUMBER :SELECT DEVICE AND VERIFY THAT DEVICE 1S AVAILABLE 000010 000000 000010 001176 001174 000004 000111 000010 000010 004000 001176 000004 000112 000010 000010 032737 010000 001407 062766 112776 000422 032737 001021 062766 112776 :CLEAR USER'S ERROR CALL 000004 000000 000004 MOVB MOV MOV 001174 045356 045356 045360 SEQ 0200 DEVSEL: 9863 9864 9865 9866 9867 9868 PAGE 200 THIS SUBROUTINE SELECTS THE DEVICE, GETTING THE DEVICE NUMBER FROM THE TEST QUEUE. :CALL: (1) :(2) ;(3) gggg F 16 BIT 10$: BEQ ADD MOVB BR BIT BNE ADD MOVB BR (R1) ,RMCS2(RO) ;WRITE UNIT SELECT BITS RMCS1(RO),$TMP1 ;GET 'DVA'' STATUS RMCS2(R0) ,$TMPO ;GET ''NED'' STATUS #NED, STMPO 108 #4,10(SP) #111,310(SP) 308 #DVA,STHP1 35% #4,10(SP) #112,310(SP) 30% ;1S DEVICE NONEXISTENT?? :NO!! ;MOVE SP TO USERS ERROR CALL sWRITE ERROR NUMBER : ;1S DEVICE AVAILABLE?? sYES!! 208: 022626 062766 112776 000004 000113 000010 000010 ;HANDLE BUS TIMEOUT CMP (SP)+,(SP)+ ADD #4,10(SP) 162766 000002 000010 30%: MOVB SUB #113,310(SP) #2,10(sP) ;ADJUST SP ;MOVE SP TO RETURN IF ERROR 045402 35%: 045402 045404 :RESTORE USERS DATA AND RETURN TO ADDRESS ON STACK MOV (SP)+,R1 ::POP STACK INTO R Mov (SP)+,RO ::POP STACK INTO RO 012601 012600 CZRMDCO RMO3/2 FCINL TST 2 CZRMDC.P 12-DEC-78 08:2¢4 9905 9906 9907 045406 045412 045416 012637 012637 000207 000006 000004 MACY11 30A(1052) 04=JAN-79 11:23 DEVICE SELECT SUBROUTINE MOV MOV RTS 6 16 PAGE 201 (SP)+ ERRVE(+?2 égP)‘.ERRVE( SEQ 0201 ;:POP STACK INTO ERRVEC+2 ;éP?¥ STACK JEX INTO ERRVEC CZRMDCO RMO3/2 FCINL TST 2 CIRMDC.P1Y 12-DEC-78 08:24 H 16 MACYTT 30A(1052) 04=JAN-79 11:23 PAGE 202 SEEK STATUS CHECK SUBROUTINE SEQ@ 0202 9908 LSBTTL 9910 ;sTHIS SUBROUTINE VERIFIES THE RESULTS OF SEEK TESTS USING STATUS 9913 : gg}? ;OF THE CALLING ROUTINE. g;:; ;STORED IN THE GET BUFFER AND TEST PARAMETERS STORED IN THE PUT BUFFER. 9914 9915 sTHE SUBROUTINE RETURNS TO THE CALLING ROUTINE IF AN ERROR 1S DETECTED sAFTER HAVING LOADED THE APPROPRIATE ERROR NUMBER IN THE "ERROR'' TRAP 9918 sCALL: 9920 9921 9922 9923 3 3 : 3 9919 (1) » gg%g : 9926 9927 045420 9929 9930 9931 9932 gggz 045420 (56422 . 5626 045632 045436 9928 9935 9936 9937 9938 9939 000240 062716 105076 162716 005037 001142 112776 162716 004736 162716 000050 000002 995¢ 9957 9958 9959 9960 9961 9962 9963 045522 045530 045536 045544 045546 045554 045562 045564 045572 012737 052737 023727 101025 042737 123727 101016 123727 101404 :MOVE (SP) TO ERROR CALL ;CLEAR ERROR NUMBER sMOVE (SP) TG NO ERROR RETURN ;CLEAR ERROR FLAGS :REPORT REGISTER PARITY ERROR VIA USER'S ERROR CALL CLR $GDDAT JEXPECTED STATUS MOV RMER11,$BDDAT JRECEIVED STATUS 045500 045506 045512 045514 9955 #6,(SP) a(SP) 86, (SP) 300% 001372 9946 9947 9948 9949 000437 CALL 000010 001140 001344 9953 9954 RETURN HERE IF NO MORE ERRORS 001344 005037 013737 4 PC,a(SP)+ RETURN HERE IF NO ERROR RETURN HERE TO REPORT AN ERROR ERROR NUMBER DEFINED BY SuB GO BACK TO SUB FOR MORE ERROR CHECKS 000010 045462 045466 045520 77? sTEST FOR MASSBUS CONTROL BUS PARITY ERROR WHEN WRITING :LOCAL REGISTERS, I1.E., "PAR'" =1 AND 'DPE'' = 0 BIT #PAR ,RMER'] ;WAS PARITY ERROR DETECTED?? BEQ 1% :NO!! BIT #DPE ,RMER2] UAS IT DUE TO CONTROL BUS?? 9942 9943 9944 062716 NOP ADD CLRB SUB CLR 000004 000000 000004 046656 ggz? 995C 77 PC,SEKSTS sCLEAR USER'S ERROR 032737 001424 032737 001020 045474 JSR BR NOP ERROR JSR SEEK STATUS IS CHECKED AS FOLLOWS: SEKSTS: 045442 045450 045452 045460 9945 SEEK STATUS CHECK SUBROUTINE 000004 BNE 000000 002000 001149 040000 001406 046656 000037 001406 000035 040000 001434 04665¢ 001466 ADD ", (SP) BR 3% MOVB SUB JSR SUB 000010 1% . lS0.0(SP) #2,(SP) PC,a(SP)+ #10,(SP) sNOT SURE'! sMOVE STACK TO USER'S ERROR ;ERROR #50 sMOVE SP TO RETURN FOR ERROR sRESTORE STACK ;1AE SHOULD BE 2ERO ;:DETERMINE THE VALUE OF '"'IAE'' STATUS BASED ON TRACK,SECTOR AND sCYLINDER ADDRESS USED DURING SEEX OPERATION is: MOV BIS CMP BHI BIC CMPB BHI CMPB BLOS #1AE ,SGDDAT #5k1,300% RHDCO.IBZZ. 3% #5k1,300% RMDAO,#31. 3% RMDAO,#29. 2% ;SET UP FOR IAE =1 sSET SKI ERROR FLAG :CYLINDER > 82277 3.4 1 ;CLEAR SK] ERROR FLAG ;SECTOR > 31?7? VES" ;SECTOR > 29 72 sNO!! - CZRMDCO RMO3/2 FCTINL TST 2 CZRMDC.P1 12-DEC-78 08:24 9978 9979 9980 9981 9982 9983 9984 9985 9986 §2 — et b ed —d d e d d b 8388888888 V®NO VB WN—=O P e e e S MR 9987 9988 9989 9990 9991 9992 9993 9994 9995 9996 9997 9998 9999 10000 10001 10002 10003 10004 10005 10006 10007 0655764 045602 065606 045612 045614 032737 001406 123727 101002 005037 065620 065626 065634 0645642 045644 045652 013737 0462737 023737 001004 042737 000413 001344 175777 001140 001142 001142 001142 040000 066656 0656564 065660 065666 045672 045674 045700 045702 062716 112776 162716 004736 162716 000240 000004 000051 000002 010000 001432 001407 000004 116 30A(1052) 04=JAN-79 11:23 PAGE 203 SEEK STATUS CHECK SUBROUTINE 2%: 001140 045702 045710 045712 045716 0645726 30 SECTOR FORMAT?? RMDAO+1,#4. YES! 1RACK CLR $GDDAT :"IAETM SHOULD BE 0 BHI #FENT16,RMOFO SEQ 0203 BIT BEQ CMPB 3% 3% ;78S] 24?7 COHPARE"SXPEC1ED AND RECEIVED ""IAE' STATUS 3 BIC CHP BNE BIC BR RMER1]1,$BDDAT #*CIAE,SBDDAT $GDDAT,$BDDAT 35% #5k1,3008 5% ;1S 1AE 0K?? ;1AE IN ERROR ;CLEAR SKI FLAG ;60 CHECK NEXT ERROR 35%: ;REPORT INCORRECT '"IAE'* STATUS VIA USER'S ERROR CALL ADD 000000 000010 5%: Move SuB JSR SuB NOP sREPORT ANY 032737 001427 005037 013737 062716 010000 001372 001140 001372 000004 #4,(SP) #51,3(5P) #2,(SP) PC,a(SP)+ 710, (SP) ;ERROR 51 :MOVE SP TO RETURN FOR ERROR ;REPORT INCORRECT sRESTORE IAE (SP) IVC ERROR AS IVC ERROR WITH VOLUME VALID ZERO ERRONEOUS IVC ERROR, VOLUME VALID IS SET 001142 BIT BEQ CLR MOV #1VC,RMER2] 528 $GDDAT RMER21,$80DAT :1VC ERROR?? INO'! :EXPECTED STATUS .:RECEIVED STATUS 000060 000100 000000 001342 MOVB BIT #60,3(sP) #VV.RMDS] :ERROR 60 IF vV = 0 112776 000061 000000 MOVEB #61,3(SP) 045762 162716 000010 SUB 910, (SP) 045770 045776 046004 046012 013737 042737 013737 042737 00 13 04 13 001142 001142 001140 001140 046022 046030 046032 046036 032737 001032 062716 112776 162716 004736 162716 000443 040000 001142 000004 000267 000002 000000 045730 045736 045756 0646020 o » o o &S ~ 9964 9965 9966 9967 9968 9969 9970 9971 9972 9973 9974 9975 9976 9977 MACY11 046050 046052 046056 046060 112776 032737 162716 001417 000002 ADD BEQ 51%: SUB JSR NOP 52%: MOV BIC MOV BIC BEQ #4,(SP) 518 #2,(sP) PC.a(SP)+ RMER2]1,$BDDAT #*CSK1,8BDDAT 3008 ,$GDDAT #*CSK]1,8GDDAT 53% :MOVE SP TO USER'S ERROR ;ERROR 61 IF vv =1 sMOVE SP TO RETURN FOR ERROR ;REPORT ERROR VIA USER ;RESTORE SP ;RECEIVED STATUS ;CLEAR DONT CARES ;GET EXPECTED SKI STATUS ;CLEAR DONT CARES :BRANCH IF 0 EXPECTED ;REPORT ERROR IF SKI IS NOT SET (1AE WAS NOT DETECTED) BIT #SK1,$BDDAT :WAS SKI DETECTED ?? BNE 548 SYES ') ADD 44, (SP) :MOVE SP TO USERS ERROR CALL SUB #2,(5P) :MOVE SP TO ERROR RETURN MOVB JSR SUB 000010 53%: BR #267.3(SP) PC.a(SP)+ 910, (sP) 6% :WRITE ERROR NUMBER :REPORT ERROR AND RETURN ‘MOVE SP TO NO ERROR G0 TO NEXT ERROR CHECK ! CZRMDCO RMO3/2 FCINL TST 2 CZRMDC.P1 12-DEC-78 08:24 10020 10021 10022 10023 10026 10025 10026 10027 046060 046066 046070 046074 046102 032737 001413 062716 112776 162716 046106 004736 10028 046110 040000 001142 000004 000054 000002 000000 000240 000010 10030 10031 10032 046114 162716 046116 032737 000200 100364 10035 10036 10037 10038 046126 046132 046140 046144 046152 805037 013737 062716 112776 162716 001140 001372 000004 000055 000002 10040 046160 162716 000010 10029 MACYT1 J 16 30A(1052) 04=JAN-79 11:23 PAGE 204 SEEK STATUS CHECK SUBROUTINE :REPORT ERROR IF SKI IS SET BIT #SK1,$BDDAT BEQ 548 ADD #54,3(SP) #2,(SP) 38% 910, (SP) JSR 001372 94, (SP) MOVB SUB PC.a(SP)+ :REPORT ANY DEVICE CHECK 548: BIT #DVC, RMER2] SEQ 0204 ;1S SKI SET 22 INO - SKI IS OK SMOVE (SP) *REPORT SEEK ERROR *RESTORE (SP) ;WAS THERE DVC DURING SEEK?? 001142 BEQ CLR MOV 68 $GDDAT RMER2]1,$BODAT INO!! *EXPECTED STATUS :RECEIVED STATUS 000000 MOVB #55,3(SP) ;ERROR PC.a(SP)+ 710, (SP) ‘REPORT ERROR VIA USER RESTORE SP ADD SUB JSR 383 4, (SP) #2,(SP) #55 ‘MOVE SP TO RETURN FOR ERROR 046222 046230 066232 06624C 046244 066246 046252 032737 001427 005037 013737 062716 112776 032737 00 & 11 ;76 162716 7 004736 162716 000240 066254 046260 046264 046270 046272 013746 042716 022726 001002 000137 001342 047677 110100 046276 046304 046306 — O —m—guou geees =00 MW NNNNNN 888888 B T L e p——— g 358883388888 VWRONOWVSWN =000 ;REPORT ANY "'OP1'* ERROR AS OP] WITH MOL 046166 046174 046176 046202 0646210 066214 35 010000 001342 Z 020000 001344 7 7 7 001342 010000 001342 000004 000062 046314 046316 046324 046332 046340 046344 6 6 020000 001140 001344 000004 000052 001344 éEECAUSE ON CYLINDER LATCH DIDN'T RESET 201142 : 000000 010000 001342 000053 000000 000002 TO ERROR :LOAD ERROR NUMBER *MOVE SP TO RETURN FOR ERRUR : 7%: 000010 =0, OR BIT BEQ CLR #OP1 ,RMER1] 8s $GDDAT :*'OP1"" ERROR?? INO!! ‘EXPECTED STATUS ADD 94, IMOVE MOV MOVB BIT BEQ MOVB SUB JSR SUB NOP RMER11,$8DDAT (SP) #52,3(SP) #MOL , RMDS 1 . 7% #53,3(SP) #2,(sP) PC.a(SP)+ #10, (SP) OPI] :RECEIVED STATUS (SP) TO ERROR :LOAD ERROR NUMBER :WAS MEDIUM ON LINE?? INO!! SYES = CHANGE ERROR NUMBER :MOVE SP TO RETURN FOR ERROR :REPORT "'CPI'’ ERROR ‘RESTORE (SP) SSEE IF "PIPTM 1S 0, AND “‘ATA',"MOL"AND''VV'' =1 8s: MOV RMDSI,=(SP) BIC #AC<ATA'PIP!MOL'VV>, (SP) CMP FATA!MOL'VV, (SP)+ BNE 9% :ERROR IN RMDS JMP 148 :RMDS 1S OK 046626 :REPORT ERROR IF MOL = 0.AND OPI = 0 98: 001140 001140 001142 BIT BNE BIT BNE MOV BIS MOV #MOL ,RMDS 108 #OP1,RMER1] 10$ RMDS1,SGDDAT #MOL , $GDDAT RMDSI,$BODAT 000000 MOVB #62,3(SP) ADD ¥4, (SP) ;1S MOL RESET?? INO - MOL IS SET ‘WAS OP] SET :YES - DONT REPORT ERROR :EXPECTED STATUS ;RECEIVED STATUS CZRMDCO RMO3/2 FCINL TST 2 CZRMDC.P11 12-DEC-78 08:24 046352 066356 046360 046364 162716 004736 162716 000240 000002 046366 032737 001430 032737 020000 001342 040000 001372 001342 020000 001140 001142 001142 SUB d D eh D D d D d eV d el e D - e D e WHLANINI PN NI PNIROINININ) = e el D e D el D e e D e el it e e e e e it et = O O O D e D e Py = D el ) D il ;REPORT AN ERROR 108: 000000 001342 001342 110600 001342 000004 000057 000002 001140 001140 001142 046626 046630 0466634 046640 046642 #56,3(SP) #2,(SP) PC.a(SP)+ #10, (SP) 0, SUB JSR #2,(SP) PC.a(SP)+ NOP 001372 001342 000100 001342 000004 000064 000002 001140 001140 001142 0, (SP) ADD SUB 010000 046626 MOVB SUB JSR SUB MOVB 000010 001342 ;MOVE SP TO RETURN FOR ERROR *REPORT ERROR VIA USER NOT SET ;1S “PIP STILL SET?? INO!! *WAS "'SKI''SET?? *YES-DONT REPORT PIP :EXPECTED STATUS ;RECEIVED STATUS SMOVE (SP) TO ERROR :LOAD ERROR NUMBER :MOVE SP TO RETURN FOR ERROR :REPORT "PIP'' SET AFTER SEEK :RESTORE (SP) :REPORT AN ERROR IF '"ATA' IS NOT SET i118: BIT #ATA,RMDS] :WAS "ATA" SET 27 BNE 138 TYES!! MOV RMDS1,$GODAT :EXPECTED STATUS 8IS #ATA'MOL ' DPR!DRY . SGDDAT MOV RMDS!,$BODAT :RECEIVED STATUS 000000 000100 SEQ 0205 "'PIP"* IS STIL SET AND SKI #P1P,RMDS] 118 #SK1,PMER2] 1% RMDS1,$GODAT #P1P,$BDDAT RMDSI,$BODAT NOP 100000 If BIT BEQ BIT BNE MOV BIC MOV ADD (SP) #57.3(SP) 710, (SP) :MOVE (SP) TO ERROR :LOAD ERROR NUMBER :MOVE SP TO RETURN FOR ERROR :REPORT ATTENTION NOT SET DURING :SEEK TEST :RESTORE (SP) :REPORT ERROR IF VOLUME VALID IS RESET AND IVC IS ZERO 138: BIT #VV,RMDS] ;IS WY = 0 29 BNE 148 INO!! BIT #1VC,RMER2] 1S 1vVC ALSO 0 22 BNE 148 INO = IVC IS SET MOV RMDS1,SGODAT :EXPECTED STATUS BIS #VV,S$GDDAT MOV RMDS.,$BODAT :RECEIVED STATUS ADD 000000 MOVB SUB JSR SUB 000010 e d e D e e — e e Dl — ) Dl —h -l il s — i s il D Dl 162716 000240 910, (5P) NOP 000010 032737 001024 013737 052737 013737 062716 112776 162716 004736 #2,(5P) PC.a(SP)+ SUB 000010 000002 - elelelelalelelelelelolelololelolololeolololololololalotloto o Yoo — K 16 30A(1052) 04=JAN-79 11:23 PAGE 205 SEEK STATUS CHECK SUBROUTINE JSR P §3333323933RRARRER 28 10076 10077 10078 10079 MACYT1 14%: NOP #4,(SP) #64,3(SP) #2,(SP) PC.a(SP)+ :ERROR #64 ‘MOVE SP TO RETURN FOR ERROR "0, (sP) JMODIFY LSS RETURN ADDRESS IF AN ERROR WAS DETECTED 000004 000000 062716 000004 ADD 1518 ¥4, (SP) a(SP) sMOVE (SP) TO ERROR CALL sWAS ERROR CALLED?? ADD ¥6,(SP) ;sMOVE TO ERROR RETURN BEQ 15% sNO!! O~NOWNSWIN J T Y I — e ) D eB ) O0O00O0000o CZRMDCO RMO3/2 FCINL TST 2 12-DEC-78 08:24 CZRMDC.P11 046646 000402 046650 046654 000207 046656 000000 162716 000004 MACY11 L 16 30A(1052) 04=JAN-79 11:23 PAGE 206 SEEK STATUS CHECK SUBROUTINE SEQ 0206 BR 16% 15%: 16%: SuUB RTS #4,(SP) PC sMOVE (SP) sRETURN 300%: LMWORC O ;ERROR FLAGS TO NO ERROR RETURN CZRMDCO RMO3/2 FCTINL TST 2 CZRMDC.P 12-DEC-78 08:24 R 16 MACY11 30A(1052) 04=JAN-79 11:23 PAGE 207 CONTROLLER CLEAR SUBROUTINE SEQ 0207 }8}28 .SBTTL 10141 :THIS SUBROUTINE CLEARS THE MASSBUS CONTROLLER, MASSBUS ADAPTERS, 10144 10145 10146 10147 10148 10149 10150 10151 10152 sCALL: 3 : 3 }8}:; sAND DRIVES, THEN SELECTS THE DRIVE. 10153 046660 046660 046662 046664 10155 10156 10157 10158 10159 10160 10161 10162 10163 10164 10165 10166 10167 10168 10169 10170 10171 046676 046702 046710 046714 046722 046726 046732 0467364 046736 046744 046752 046760 046760 046764 046770 046772 046774 10154 CONTROLLER CLEAR SUBROUTINE 046670 010046 010146 013746 013746 012737 012737 013700 012760 013701 111160 000412 022626 062766 112776 162766 012637 012637 012601 012600 000207 CNTCLR: 000004 000006 046734 000300 001276 000040 001450 000010 000004 000006 000004 000010 000007 000002 000006 000004 PC,CNTCLR 27? MoV MoV MOV RO,=(SP) R1,=(SP) ERRVEC,=(SP) ;;PUSH RO ON STACK :;PUSH R1 ON STACK MOV MOV MOV MOV MoV MOVB BR CMP ADD MOVB SuB #108 ,ERRVEC #PR6,ERRVEC+2 $BASE ,RO #CLR,RMCS2(RO) TSTQUE ,R1 (R1) ,RMCS2(RO) 20% (SP)+,(SP)+ #4,10(SP) #7,310(SP) #2,10(SP) ;SETUP FOR BUS TIMEOUT . sRO=UNIBUS ADDRESS ;CLEAR MASSBUS MOV 000010 000010 000010 JSR BR NOP ERROR 77? 108: 208: MoV MOV MOV MOV RTS ERRVE(C+2,-(SP) (SP)+,ERRVEC+2 (SP)+,ERRVEC (SP)+,R1 (SP)+,RO PC RETURN HERE IF NO ERROR FOUND RETURN HERE IF ANY ERROR FOUND SUB DEF INES ERROR NUMBER :;PUSH ERRVEC ON STACK :;PUSH ERRVEC+2 ON STACK ;SELECT DEVICE ;ADJUST STACK ;MOVE SP TO USER'S ERROR CALL sWRITE THE ERROR NUMBER ::POP STACK INTO ERRVEC+2 ::POP STACK INTO ERRVEC ::POP STACK INTO RI1 ::POP STACK INTO RO CZRMDCO RMO3/2 FCTNL TST 2 CZRMDC.P 12-DEC-78 08:24 MACY11 30A(1052) 04=-JAN-79 11:23 8 1 PAGE 208 SEQ CONTROLLER CLEAR STATUS CHECK SUBROUTINE §8};2 .SBTTL 10175 10176 10177 ;THIS SUBROUTINE VERIFIES THMAT THE RMO3 SUBSYSTEM IS INITIALIZED BASED ON :STATUS STORED IN THE GET BUFFER. THIS SUBROUTINE SHOULD ONLY BE :USED FOLLOWING A CONTROLLER CLEAR OPERATION, I.E., WRITING A 1 IN BIT 10180 ;STATUS PERTINENT TO THE DEVICE IS NOT CHECKED. }8}%2 3 ATA ERR,P1P,MOL ,WRL ,LBT,PGM,VV,0M,UNS,SK],DVC 10185 10186 10187 10188 10189 10190 10191 s CALL: (1) : : : : JSR BR NOP ERROR JSR }8i;3 :S OF RMCS2, BECAUSE THE ERROR MESSAGES ARE BASED ON THAT CONDITION. }8333 :FOLLOWING STATUS BITS ARE NOT CHECKED: }8}3; 10194 10195 10196 10197 10198 10199 10200 10201 10202 : 046776 046776 047002 047006 062716 105076 162716 s 000004 000000 000004 047012 047020 013737 042737 001330 100000 047034 047042 047044 012737 023737 001413 062716 10208 10209 047056 047062 162716 004736 047070 000240 162716 000010 047072 047076 0471064 047106 005037 013737 001413 062716 001140 001334 10218 10219 047120 047126 162716 004736 000002 10221 10222 047132 000240 10224 10225 10226 10227 10228 047134 047142 047144 047146 047152 047154 013737 10210 10211 10212 10213 10214 10215 10216 047026 047050 047064 10217 047112 10220 047126 10223 77? PC,CLRSTS 277 PC,a(SP)+ IN PARTICULAR, THE RETURN HERE IF NO ERROR RETURN HERE TO REPORT AN ERROR ERROR NUMBER DEFINED BY SuB GO BACK TO SUB FOR MORE ERROR CHECKS RETURN HERE IF NO MORE ERRORS CLRSTS: 10203 102064 10205 10206 10207 CONTROLLER CLEAR STATUS CHECK SUBROUTINE 112776 112776 004200 001140 000004 000126 000002 000004 000127 ;CLEAR USER'S ERROR CALL ADD #4,(SP) CLRB a8(SP) SuB ¥4, (SP) 001142 001142 001140 (01142 000000 001340 001450 000100 MOV CMP BEQ ADD #DVA'RDY,$GODAT ;EXPECT DVA & RDY $GDDAT,SBDDAT : COMPARE EXPECTED, RECEIVED < :BRANCH IF EQUAL 94, (SP) :MOVE SP TO USER'S ERROR CALL SUB JSR #2,(SP) PC,a(SP)+ MOVB SUB 001142 000000 162716 000010 010146 005046 013701 111116 052716 ;MOVE SP TO ERROR sCLEAR ERROR NUMBER :MOVE SP BACK TO NO ERROR :REPORT ERROR IF RMCS1 NOT INITIALIZED &$: MOV RMCS11,8BDDAT ;VERIFY RMCS1 BIC #SC,SBODAT :1GNORE SPECIAL CONDITION 001142 #126,a(SP) :WITE ERROR NUMBER IN CALL 910, (sP) :MOVE SP BACK TO NO ERROR :MOVE SP TO RETURN FOR ERROR sREPORT ERROR VIA USER NOP sREPORT ERROR !F RMBA NOT RESETY §s: CLR $GODAT ;VERIFY RMBA IS ZERO MOV RMBA], $BODAT BEQ 7% ;BRANCH 1F ZERO ADD #4,(SP) sMOVE SP TO USER'S ERROR CALL MOVB #127.,3(SP) :WITE ERROR NUMBER IN CALL SUB 110, (sP) ‘MOVE SP BACK TO NO ERROR SUB JSR #2,(5P) PC.a(SP)+ :MOVE SP TO RETURN FOR ERROR :REPORT ERROR VIA USER NOP -REPORT ERROR IF RMCS2 NOT INITIALIZED 7$: MOV MOV CLR MOV MOVB BIS RMCS2]1,$BDDAT R1,=(SP) -($P) TSTQUE ,R1 (R1),($P) #IR,(SP) ;VERIFY RMCS2 ::PUSH R1 ON STACK (EXPECT IR & UNIT NUMBER ‘R1 = ADDRESS OF TEST QUE : 0208 CZRMDCO RMO3/2 FCTINL ST 2 CIRMDC.P11 12-DEC-78 08:24 10229 10230 10231 10232 10233 047160 047164 047166 047176 047176 012637 012601 023737 001413 062716 10235 10236 047210 047214 162716 004736 10238 10239 047222 000240 162716 000010 10240 102641 0472264 005037 001140 10262 047230 047236 042737 040000 10245 047252 10234 10237 102643 10246 047202 047216 112776 013737 001140 000004 000130 000002 001344 001413 062716 102646 10247 047260 047264 162716 004736 10249 10250 10251 10252 10253 10254 10255 10256 047272 000240 047276 047302 047310 047316 047326 047326 013737 042737 012737 023737 001413 062716 001354 000046 000010 001140 10258 10259 047340 047344 162716 004736 000002 10261 10262 10263 10264 10265 10266 047352 000240 162716 000010 047354 047360 047366 047370 005037 013737 001413 062716 001140 001376 10268 10269 047402 047406 162716 004736 000002 10271 10272 10273 047414 000240 047416 013737 10275 047432 012737 011777 10248 047266 10257 10260 047332 047346 10267 047374 000004 000131 000002 001142 000000 112776 000004 000133 000004 000135 047426 042737 001370 001142 001142 000000 001142 001142 001140 001142 000000 001142 000000 001140 10280 10281 047462 047466 162716 004736 000002 10283 10284 047474 000240 10279 047454 001142 001142 023737 001413 062716 000004 112776 000136 10282 047470 162716 000010 92, (5P) PC.a(SP)+ 98 #1%0.a(sp) ::POP STACK INTO R1 : COMPARE EXPECTED & RECEIVED :BRANCH IF EQUAL :MOVE SP TO USER'S ERROR CALL 910, (sP) :WITE ERROR NUMBER IN CALL :MOVE SP TO RETURN FOR ERROR :REPORT ERROR VIA USER :MOVE SP BACK TO NO ERROR CLR $GDDAT :VERIFY RMER1 BIC SUNS , SBDDAT : IGNORE UNSAFE #151.a(sp) :WITE ERROR NUMBER IN CALL MOV BEQ ADD move SUB JSR 001140 000000 RMER1],$BODAT 13% #4,(SP) #2,(SP) PC.a(SP)+ :BRANCH IF ZERO :MOVE SP TO USER'S ERROR CALL :MOVE SP TO RETURN FOR ERROR :REPORT ERROR VIA USER 910, (sP) :MOVE SP BACK TO NO ERROR #153,a(sP) :WITE ERROR NUMBER IN CALL 910, (sP) :MOVE SP BACK TO NO ERROR NOP :REPORT ERROR IF RMMR1 NOT INITIALIZED-IGNORE WC,LS,LST 138: MOV RMMR11,$BDDAT ;VERIFY RMMR BIC #UC'LSILST,SBODAT ; IGNORE WORD CLOCK, SCT, TRK MOV #MVD , SGDDAT :EXPECT WRITE DATA BIT CMP $GODAT,$BDDAT : COMPARE EXPECTED AND RECEIVED BEQ 178 :BRANCH IF 0 ADD #4,(SP) :MOVE SP TO USER'S ERROR CALL move SUB JSR SUB 001142 047440 047446 047450 SUB JSR move SUB 140000 10276 10277 10278 (SP)+,$GODAT (SP)+.R1 $GDDAT,$BDDAT 9s 96, (SP) SUB 10270 047410 162716 000010 10274 MoV MOV CHP BEQ ADD NOP :REPORT ERROR IF RMER1 NOT RESET-1GNORE UNS 162716 000010 112776 SEQ 0209 CONTROLLER CLEAR STATUS CHECK SUBROUTINE 001140 047244 0472646 112776 1 MACYT1 30A(1052) 04=JAN-79 11:23 cPAGE 209 #2,(SP) PC.a(SP)+ :MOVE SP TO RETURN FOR ERROR :REPORT ERROR VIA USER NOP :REPORT AN ERROR IF RMEC2 IS NOT RESET i7$: CLR $GDDAT ;EXPECT ZEROS MOV RMEC21,8BDDAT :VERIFY RMEC2=0 BEQ 198 ADD #4,(SP) :MOVE SP TO USER'S ERROR CALL move #135.a(sp) :WITE ERROR NUMBER IN CALL SUB 110, (5P) :MOVE SP BACK TO NO ERROR SUB JSR #2,(SP) PC.a(SP)+ :MOVE SP TO RETURN FOR ERROR :REPORT ERROR VIA USER NOP :REPORT ERROR IF RMMR2 NOT INITIALIZED-1GNORE RQA,RQB 19%: MOV RMMR2],$BDDAT ;VERIFY RMMR2 BIC #RQA'RQB, SBODAT CMP BEQ ADD $GODAT, $BODAT 218 #4, (SP) :MOVE SP TO USER'S ERROR CALL #2,(SP) PC.a(SP)+ :MOVE SP TO RETURN FOR ERROR :REPORT ERROR VIA USER MOV move SUB JSR SUB NOP #1STi177%,$GDDAT #1%6.a(sp) 10, (sP) ;EXPECT TEST BIT ON :WITE ERROR NUMBER IN CALL :MOVE SP BACK TO NO ERROR ;REPORT ERROR 1F RMER2 NOT RESET-1GNORE SKI,DvC CZRMDCO RMO3/2 FCTNL TST 2 CIRMOC.P11 12-DEC-78 08:24 10285 10286 10287 10288 10289 047476 047502 047510 047516 047520 005037 013737 042737 001413 062716 001140 001372 040200 10291 10292 047532 047536 162716 004736 000002 10294 047544 000240 162716 000010 10296 047546 013737 001342 10 067526 10293 047540 10295 10297 10298 10299 10300 10301 10302 047556 047562 047570 047576 047600 047604 10303 10306 10305 10306 10307 10308 10309 10310 047612 047616 047620 047626 047626 047632 047636 047640 10312 047646 10311 10313 10314 047644 047652 047656 112776 000004 000174 042737 012737 023737 001413 062716 177177 000600 001140 162716 004736 162716 000240 062716 105776 001403 062716 000002 112776 000402 162716 000240 000207 000004 000134 D 1 MACY11 30A(1052) 04=JAN-79 11:23 PAGE 210 CONTROLLER CLEAR STATUS CHECK SUBROUTINE 001142 001142 218: 000000 000000 ;EXPECT ALL ZEROS :VERIFY RMER2 : IGNORE DEVICE ERRORS :BRANCH IF OTHER BITS 0 :MOVE SP TO USER'S ERROR CALL SUB JSR #2,(SP) PC.a(SP)+ :MOVE SP TO RETURN FOR ERROR :REPORT ERROR VIA USER SUB NOP 001142 001142 001140 001142 #174,3(SP) 90, (sP) :WITE ERROR NUMBER IN CALL {MOVE SP BACK TO NO ERROR -REPORT ERROR IF RMDS NOT INITIALIZED 2158: 000000 MOV 228: 23$%: 248: RMDSI,SBODAT ;TEST DRIVE STATUS REGISTER BIC MOV CHP BEQ ADD #~C<DRY 'DPR>,$BDDAT #OPR'DRY,$GDDAT ;EXPECTED DRIVE STATUS $GDODAT,SBDDAT :COMPARE EXPECTED & RECEIVED 228 :BRANCH IF EQUAL 94, (SP) :MOVE SP TO USER'S ERROR CALL SUB JSR SUB NOP ADD TSTB BEQ ADD #2,($P) PC.a(SP)+ #10,(SP) :MOVE SP TO RETURN FOR ERROR *REPORT ERROR TO USER :MOVE SP BACK TO NO ERROR 4, (SP) :MOVE SP TO ERROR CALL #6,(SP) sYES = MOVE TO ERROR RETURN #4,(SP) ;MOVE SP TO NO ERROR RETURN move 000004 000004 $GODAT RMER21,$BDDAT #SK1'DVC,$BDDAT 2158 94, (SP) MOVB 000010 000004 (LR MOV BIC BEQ ADD BR SUB NOP RTS #13%4.a(spP) a(SP) 238 248 PC :WRITE ERROR NUMBER ‘WAS AN ERROE DETECTED?? INO!! SEQ 0210 MACY11 - OV NOW NN NN PON) =t it s W WL 30A(1052) 04=JAN-79 11:23 E 1 PAGE 211 SEQ 0211 PACK ACKNOWLEDGE STATUS CHECK .SBTTL PACK ACKNOWLEDGE STATUS CHELK ;THIS SUBROUTINE CHECKS THE RESULTS OF A PACK ACKNOWLEDGE :COMMAND USING THE STATUS STORED IN THE GET BUFFER. ERRORS ARE sREPORTED TO THE USER VIA THE USER'S ERROR CALL. sCALL: S(1) 22 : ; ; ; ; JSR BR NOP ERROR JSR 177 PC,ACKSTS 277 PC,a(SP)+ RETURN HERE IF NO ERROR RETURN HERE TO REPORT AN ERROR ERROR NUMBER DEFINED BY SUB G0 BACK TO SUB FOR MORE ERROR CHECKS RETURN HERE IF NO MORE ERRORS ACKSTS: ;CLEAR USER'S ERROR CALL 062716 105076 162716 ADD CLRB SUB 032737 001342 001140 001140 001142 000000 #6,(SP) @(SP) #6,(SP) :REPORT AN ERROR IF "W IS 0 BIT #VV,RMDS] BNE 13 MOV RMDS1,$GODAT BIS #VV,SGDDAT MOV RMDS1,$BODAT ADD 94, (SP) MOve SUB JSR 382 #155,a(sP) #2,(SP) PC.a(SP)+ #10, (SP) :MOVE SP TO ERROR CALL :CLEAR LOW ORDER BYTE :MOVE SP BACK :1S VOLUME VALID SET?? SYES!! :EXPECTED STATUS ;RECEIVED STATUS :MOVE SP TO ERROR CALL :WRITE NUMBER IN ERROR CALL :MOVE SP TO RETURN FOR ERROR :REPORT THE ERROR :MOVE SP BACK TO BRANCH 1%: o000 001342 SRE =& -\ — ==leloleleleTol D P P [alml (alal 35 0 RMO3/2 FCTNL TST 2 12-DEC-78 08:24 P11 :REPORT AN ERROR IF "MOL'' 1S 0 000000 060007 040000 - 001344 001344 #MOL ,RMDS ] ;1S MOL SET?? MOV ADD MOVB SUB JSR RMDS1,$BODAT 9, (SP) #41,3(SP) #2,(5P) PC.a(SP)+ ;RECEIVED STATUS :MOVE SP TO ERROR CALL :WRITE NUMBER OF ERROR IN CALL :MOVE SP TO RETURN FOR ERROR :REPORT TH ERROR BNE MOV BIS 001140 001140 001142 000010 BIT SUB NOP gé; 2% RMDS1,$GODAT #MOL , SGDDAT 110, (sP) ‘MOVE SP TO BRANCH ;2NS!0PI!RHR!1LR!ILF.RHERll ;REPORT AN ERROR IF "‘UNS'' IS SET BIT BEQ TYES!! EXPECTED STATUS #UNS ,RMER1] 3 :WAS UNS SET?? :NO!! f CZRMDCO RMO3/2 FCTNL TST 2 CZIRMOC.P11 12-DEC-78 08:24 10371 10372 10373 10376 050052 050060 050066 05007¢ 013737 013737 042737 062716 001344 001344 040000 000004 10376 10377 050106 050112 162716 004736 000002 050120 050122 000240 10375 10378 10379 10380 10381 10382 10383 10384 10385 050100 050114 112776 162716 10386 10387 10388 050122 050130 050132 050140 050146 0501564 032737 001424 013737 013737 042737 062716 10390 10391 050166 050172 162716 004736 10389 10392 050160 050174 112776 162716 10393 10396 10395 10396 10397 10398 10399 10400 050200 050202 000240 050202 050210 050212 050220 032737 001424 013737 013737 10602 050234 062716 1001 106403 10606 10605 050226 050260 0502646 050252 1006 050256 10607 042737 112776 162716 004736 162716 000042 F 1 MACY11 30A(1052) O04=JAN-T9 11:23 PAGE 212 PACK ACKNOWLEDGE STATUS CHECK 001142 001140 001140 000000 020000 001344 001344 001344 020000 000004 001142 001140 001140 48: 0000064 001344 001344 001344 0000064 000004 000044 000002 001142 001140 001140 000002 001344 001344 001344 000002 000004 001142 001140 001140 10618 10619 050326 050332 162716 004736 000002 10621 106422 10423 050340 050342 000240 10625 10626 050342 050350 032737 001424 10624 58: SUB JSR #2,(5P) PC,a(SP)+ NOP NOP ;REPORT ANY 000000 llé.(SP) 6%: :REPORT #RMR, $GDDAT ‘WRITE NUMBER OF ERROR IN CALL :MOVE SP TO NO ERROR RETURN :WAS OP] SET 22 INO'! :RECEIVED STATUS :EXPECTED STATUS :MOVE SP TO ERROR CALL :WRITE NUMBER OF ERROR IN CALL :MOVE SP TO RETURN FOR ERROR ;REPORT THE ERROR VIA USER :MOVE SP TO NO ERROR RETURN :WAS RMR SET?? INO'! :RECEIVED STATUS :EXPECTED STATUS #5,(SP) :MOVE SP TO ERROR CALL 910, (SP) :MOVE SP TO NO ERROR RETURN #44,9(SP) #2,(5P) PC,a(SP)+ ILR ERROR ;WRITE NUMBER OF ERROR IN CALL :MOVE SP TO RETURN FOR ERROR ;REPORT THE ERROR VIA USER #ILR,RMERT] 68 RMER1I,$BDDAT RMER1]1,$GDDAT #1LR,SGDDAT 94, ($P) ;WAS ILR SET?2? INO!! :RECEIVED STATUS ;EXPECTED STATUS SUB JSR #2,(SP) PC,a(SP)+ :MOVE SP TO RETURN FOR ERROR ;REPORT THE ERROR VIA USER SUB 001344 #48.3(sP) :MOVE SP TO ERROR CALL BIT BEQ MOV MOV BIC ADD move 162716 000010 000001 RMER1].SGODAT #OP]1,$GDDAT 94, (SP) SUB 032737 001424 013737 013737 042737 062716 00, (sP) noV BIC ADD BiC ADD MOVB SUB JSR 000000 050262 050270 050272 050300 050306 050314 10620 050334 NOP ;REPORT ANY RMR ERROR BIT SRMR, RMER1 ] BEQ 5% MoV RMER11,$BODAT mov RMER1]1.SGDDAT 000010 112776 000045 :MOVE SP TO RETURN FOR ERROR :REPORT THE ERROR VIA USER SuB 10611 10612 106413 106414 106415 10616 10617 050320 #2,(SP) PC.(SP)+ move 000010 000240 050262 SUB JSR #42,3(SP) ;REPORT ANY OPI ERROR BIT #OP1,RMER1] BEQ s MOV RMER1]1,$B0DAT 000000 050260 10608 10409 10410 ;RECEIVED STATUS :EXPECTED STATUS SUB 38: 000002 RMER11,$B0DAT RMER1]1.$GDDAT SUNS ,SGDDAT 95, ($P) MOVB 000010 000043 MoV MOV BIC ADD NOP ANY BIT BEQ #45.3(sP) 00, (sP) ILF ERROR #ILF,RMERT] 7% ;MOVE SP TO ERROR CALL :WRITE NUMBER OF ERROR IN CALL :MOVE SP TO NO ERROR RETURN :WAS ILF SET?? INO!! SEQ 0212 CZRMDCO RMO3/2 FCTNL TST 2 CZRRDC.PY 12-DEC-78 08:24 10627 10428 10429 106430 104%; 050352 050360 050366 050374 050400 013737 013737 042737 062716 112776 106433 050412 004736 050420 000240 050422 050426 050432 050434 050440 050442 050446 062716 105776 001403 062716 000402 162716 000240 104 10636 10435 }&g? 10438 106439 10440 10441 106442 10443 10446 10445 106446 104647 050406 050414 050422 050450 162716 001344 001344 000001 000004 000046 000002 162716 000010 000207 6 1 MACYT1 30A(1052) 04=JAN-T79 11:23 PAGE 213 PACK ACKNOWLEDGE STATUS CHECK 001142 001140 001140 000000 JSR PC,a(SP)+ SuB NOP #2,(SP) 70, (sp) ;RELEIVED STATUS EXPECTED STATUS ;MOVE SP TO ERROR CALL sWRITE NUMBER OF ERROR IN CALL sMOVE SP TO RETURN FOR ERROR sREPORT THE ERROR VIA USER ;MOVE SP TO NO ERROR RETURN sAUGMENT RETURN ADDRESS IF ERROR WAS FOUND 000004 000004 RMERTI,SBODAT RME" i1 ,SGDDAT #icF ,SGDDAT #6,(5P) #46,3(SP) suB 78: 000004 000000 MOV MOV 8IC ADD MOV 8%: 9%: ADD 1S18 BEQ ADD BR SuB NOP RTS #6,(SP) a(SP) 8s #6,(SP) 9s #6,(SP) PC ;MOVE SP TO ERROR CALL :WAS ERROR FOUND?? :NO!! ;:YES = MOVE TO ERROR RETURN ;MOVE SP TO NO ERROR RETURN SEQ 0213 CZRMDCO RMO3/2 FCTNL TST 2 CZRMDC.P1Y 12-DEC-78 08:2¢4 W1 MACY11 30A(1052) O04=JAN-79 11:23 PAGE 214 RECALIBRATE STATUS CHECK SUBROUTINE }8223 .SBTTL 10450 sTHIS SUBROUTINE CHECKS THE RESULTS OF A RECALIBRATE OPERATION 10453 :CALL: 10455 10456 10457 10458 10459 : (1) 3 : : : }8225 sUSING THE STATUS STORED IN THE GET BUFFER. 10454 : }822? 10662 10463 10464 10665 106466 }8:2; : 050452 106471 }82;% 050452 050456 050462 062716 105076 162716 000004 000000 000004 050466 032737 022011 10474 10475 106476 10477 106478 10479 10480 10681 106482 10483 050474 050476 050504 050506 050514 050516 050526 050532 050540 10684 050544 001553 032737 001430 032737 001024 001344 000010 001344 000010 001372 013737 042737 013737 062716 001344 000010 001344 000004 001140 001140 001142 000002 162716 004736 BIT BEQ 10488 10489 050564 050566 000240 10491 10492 10493 050566 050574 032737 001424 000001 001344 10495 050606 042737 001344 000001 001140 106496 050612 013737 001344 001142 013737 050620 062716 000004 10499 10500 050632 05 162716 004736 000)02 10502 10503 050644 050646 000240 10501 050640 112776 000071 :CLEAR USER'S ERROR CALL ;MOVE SP BACK TO BRANCH #OP]'PAR'ILF'1AE,RMERT] [ 3 JNONE ARE SET = GO TO NEXT CHECK MOV RMER1],SGDDAT :EXPECTED STATUS BIC #PAR, SGDDAT MOV RMER1]I,$BODAT ;RECEIVED STATUS ADD #4,(SP) :MOVE SP TO USER'S ERROR CALL move #50,3(sP) :WRITE ERROR NUMBER IN CALL SUB 10, (P) ‘MOVE SP BACK TO BRANCH SUB JSR 1$: 106497 106498 050626 RETURN HERE IF NO MORE ERRORS ;REPORT ANY MASSBUS CONTROL BUS PARITY ERROR, 1.E.. :"PAR'" = 1 AND 'DPE' = 0 BIT SPAR,RMER1] :WAS ‘PAR'* SET?? BEQ 1% ;NO!! Bil #DPE , RMER2] *WAS 'DPE'* SET?? BNE 1% sYES = NOT A REGISTER ERROR 10487 050560 162716 000010 050576 PC,a(SP)+ ;CALL SUBROUTINE RETURN HERE IF NO ERROR RETURN HERE TO REPORT AN ERROR ERROR NUMBER DEFINED BY SuB GO BACK TO SUB FOR MORE ERROR CHECKS sSEE IF "PAR' OR ''ILF'' OR ''OPI'* OR '"IAE'' 1S SET 112776 000050 000000 050552 050556 106494 & 4 PC,RCLSTS ek ;CLEAR USER'S ERROR NUMBER ADD #4,(SP) CLRB a(SP) SUB ¥4, (SP) 10485 10486 10490 JSR BR NOP ERROR JSR RCLSTS: 10469 10470 RECALIBRATE STATUS CHECK SUBROUTINE NOP #2,(SP) PC,a(SP)+ :REPORT ANY "‘ILF'' ERROR BIT #ILF,RMER1] REQ 2% 001140 RMER1]1,9GDDAT MOV RHERil.‘BODAT JRECEIVED STATUS l?‘.i(SP) ;WRITE ERROR NUMBER IN CALL ADD MOVB SUB JSR 162716 000010 SUB 2%: :WAS "ILF'* SET2? INO!! MOV BIC 000000 sMOVE SP TO RETURN FOR ERROR ;GO REPORT ERROR NOP #1LF ,$GDDAT #4,(SP) #2,(SP) PC,a(SP)+ 110, (5P) SEXPECTED STATUS sMOVE SP TO USER'S ERROR CALL ‘MOVE SP TO RETURN FOR ERROR ;REPORT ERROR VIA USER ‘MOVE SP BACK TO BRANCH SEQ 0214 CZRMDCO RMO3/2 FCTNL TST 2 CIRMOC.P11 12-DEC-78 08:24 11 MACYT1 30A(1052) 04=JAN-79 11:23 PAGE 215 RECALIBRATE STATUS CHECK SUBROUTINE 10504 10505 10506 10507 10508 10509 10510 10511 050646 050656 050656 050664 032737 001433 013737 042737 020000 001344 001344 020000 001140 001140 10513 050700 062716 000004 10512 105164 050672 050706 013737 112776 10515 10516 10517 10518 10519 050712 050720 050722 050730 050734 032737 001403 112776 162716 004736 10521 10522 10523 10524 10525 10526 10527 10528 10529 10530 050742 050744 000240 050744 050752 050754 050762 050770 050776 032737 001424 013737 042737 013737 062716 10532 10533 051010 051014 162716 004736 051022 051024 000240 051024 032737 10520 10531 10534 10535 10536 10537 10538 10539 }822? 10542 10543 10544 10545 10546 10547 10548 10549 050736 051002 051016 051032 051034 051042 0510644 051052 162716 112776 162716 001517 032737 001433 001344 000072 000000 000073 000002 000000 010000 318: 002000 001344 001344 002000 001344 000004 001140 001140 001142 000070 000002 48: 001372 001372 010000 001140 001140 000004 000074 000100 10559 051130 000240 000075 000002 162716 000010 #MOL ,RMDS | 38 #73,9(SP) #2,(SP) PC,a(SP)+ ‘WAS ‘MOL'' = 07?7 SYES!! :NO = CHANGE ERROR NUMBER :MOVE SP TO RETURN FOR ERROR ;REPORT ERROR VIA USER NOP 010, (SP) :WRITE ERROR NUMBER IN USER'S CALL :MOVE SP BACK TO BRANCM #1AE ,RMER1] 48 RMER11,$GDDAT #1AE ,SGDDAT RMER11,$BODAT 95, (SP) ;1S “IAE" SET?? INO!! :EXPECTED STATUS SUB JSR #2,(SP) PC,a(SP)+ :MOVE SP TO RETURN FOR ERROR :REPORT ERROR NOP #70,3(sP) llé.(SP) ;RECEIVED STATUS :MOVE SP TO ERROR CALL :WRITE ERROR NUMBER IN USER'S CALL :MOVE SP BACK TO NO ERROR RETURN ;SEE IF *'SKI'* OR ""IVC'* OR 'DVC" IS SET BIT #SK1'1vC'DVC,RMER2] BEQ 8% JNCNE OF THE BITS ARE SET :REPORT ANY ''IVC'' ERROR AS 3 LAVC WITH v = 0 : "ERRONEOUS 1VC ERROR BIT #1VC,RMER2] BEQ 68 001142 MOV BIC RMER2]1,$GDDAT #1VC,SGDDAT ADD MOVB BIT BEQ MOVB SUB JSR #4,(SP) #74,3(SP) #VV . RMDS] 5¢ #75.3(SP) #2,(5P) PC.a(SP)+ MOV 000000 001342 000000 #72,3(SP) BIT BEQ MOV BIC MOV ADD SUB 013737 042737 062716 112776 032737 001403 112776 162716 004736 BIT BEQ MOVB SUB JSR move 000010 050200 SMOVE SP TO USER'S ERROR CALL ;REPORT AN ERROR IF ''IAE'' IS SET 000000 ;RECEIVED STATUS #4, (SP) SUB 001372 051066 051072 051100 051106 051110 051116 051122 38: RMERT1,$BODAT ADD MOVB 001342 010000 10551 10552 10553 10554 10555 10556 10557 MOV 000010 10550 051060 013737 001372 10558 051126 001142 :REPORT ANY "‘OPI'* ERROR AS ; . OP1 DUE TO 'WOL** = 0 : . OP1 BECAUSE ON CYLINDER LATCH DIDN'T RESET BIT #OP1,RMERT] :WAS OP] SET?? BEQ 318 INO!! MOV RMER11,SGDDAT :EXPECTED STATUS BIC #0P1,$GDDAT 5%: SUB NOP :WAS 1VC SET?? INO!! :EXPECTED STATUS RMER21,$BODAT ;RECEIVED STATUS #10, (SP) :MOVE SP BACK TO BRANCH :MOVE SP TO USER'S ERROR CALL ::WRITE ERROR NUMBER IN CALL (WAS WV = 072 SYES!! :NO = CHANGE ERROR NUMBER :MOVE SP TO RETURN FOR ERROR :REPORT ERROR VIA USER SEQ 0215 CZRMDCO RMO3/2 FCTINL TST 2 CIRMDC.P11 12-DEC-78 08:24 10560 10561 10562 10563 10564 10565 10566 10567 10568 10569 10570 10571 J 1 MACY11 30A(1052) 04=JAN-79 11:23 PAGE 216 RECALIBRATE STATUS CHECK SUBROUTINE 051132 051132 051140 051142 051150 051156 051166 051170 051176 051202 10572 051206 68: 032737 001424 013737 042737 040000 001372 001372 040000 001140 001140 062716 112776 162716 004736 000004 000076 000002 013737 001372 001142 162716 000010 051210 051212 000240 051212 051220 051222 051230 032737 001424 013737 042737 000200 001372 001372 000200 001140 001140 10582 051244 062716 000004 051236 10583 051250 10584 10585 10586 10587 }8333 10590 051256 051262 051264 051270 051272 013737 78: 001372 001142 112776 000077 000000 162716 004736 162716 000240 000002 051272 013746 001342 10593 10594 10595 }823? 051302 051306 051310 022726 001002 000137 110100 10598 10599 10600 10601 10602 051724 85%: 010000 001342 10603 10606 10605 10606 10607 020000 001344 001342 010000 001342 000004 001140 001140 001142 10609 10610 051370 051374 162716 004736 000002 10612 10613 051402 051404 000240 10614 10615 051376 :MOVE SP TO BRANCH ;WAS "DVC'* SET?? INO!! :EXPECTED STATUS ;RECEIVED STATUS #77.,3(SP) :WRITE ERROR NUMBER 6, (SP) SUB JSR SUB #2,(SP) PC.aLSP)+ 00, (SP) NOP SMOVE SP TO USER'S ERROR CALL :WRITE ERROR NUMBER :MOVE SP TO RETURN FOR ERROR :REPORT ERROR VIA USER RMER2],$BODAT ADD :MOVE SP TO USER'S ERROR CALL :MOVE SP TO RETURN FOR ERROR *REPORT ERROR VIA USER :MOVE SP TO USER'S BRANCH MOV RMDSI,-(SP) CHP BNE JMP SATA'MOL' VY, (SP)+ 85$ 138 BIC 032737 001030 032737 00102 013737 052737 013737 062716 10611 910, (SP) 94, (SP) #76.3(SP) #2,(SP) PC.a(SP)+ ;SEE IF “'PIP" AND "'OM"* ARE 0, AND "ATA'',"MOL'’ AND *‘VV'* ARE 1 051314 051322 051324 051332 05133, 051342 051350 051356 10608 051362 SUB NOP MOVB 10592 051276 042716 047676 051314 ;RECEIVED STATUS MOV 8s: 10591 RMERS],SBDDAT :REPORT ANY "DVC'* ERROR BIT #OVC , RMER2] BEQ 1t MOV RMER2]1,$GDDAT BIC #OVC , SGDDAT 000010 :WAS SKI SET?? :NO!! ;EXPECTED STATUS MOV ADD MOVB SUB JSR 000000 10573 10574 10575 10576 10577 10578 10579 10580 10581 ;REPORT ANY "'SKI'* ERROR BIT #SK1,RMER2] BEQ 7 MOV RMER2]1,$GDDAT BIC #SK1,$GODAT ;PUT RMDS ON STACK #-C<PIP!MOL'VV'OM!ATA>, (SP) :REPORT AN ERROR IF MOL = O AND OP1 = 0, 1.E.., MEDIUM WENT OFF :LINE AFTER RECALIBRATE WAS INITIATED BIT #MOL ,RMDS | :DID MOL DROP?? BNE 9% INO!! BIT #OP1,RMER1] *WAS OP1 ERROR REPORTED?? 112776 000100 000000 BNE MOV BIS MOV ADD 98 SYES = DON'T REPORT MOL=0 RMDSI,$GODAT :EXPECTED STATUS #MOL , $GDDAT RMOSI,SBODAT ;RECEIVED STATUS #4,(SP) :MOVE SP TO USER'S ERROR CALL SUB JSR #2,(SP) PC.a(SP)+ move 162716 000010 SUB 98: NOP #100,a(sP) ;WRITE ERROR NUMBER 910, (5P) :MOVE SP BACK TO USER'S BRANCH :MOVE SP TO RETURN FOR ERROR :REPORT ERROR VIA USER :REPORT AN ERROR IF "'WV'' = 0 AND “IVC'" = 0 SEQ 0216 MACYT1 30A(1052) 10616 1061 000100 001342 010000 001372 051404 051412 051414 051622 051472 051474 051474 032737 001030 162716 004736 162716 000240 032737 D e D ) D el 000000 move ;MOVE SP TO USER'S ERROR CALL SUB JSR 92,(5P) PC.a(SP)+ ‘MOVE SP TO RETURN FOR ERROR 110, (sP) 000000 MOvE #102,3(sP) ADD SUB JSR SUB NOP :MOVE SP BACK TO USER'S BRANCH 9, (SP) #2,(SP) PC.a(SP)+ 910, SP) 3YES!? :EXPECTED STATUS ;RECEIVED STATUS :MOVE SP TO USER'S ERROR CALL :WRITE ERROR NUMBER IN CALL ;MOVE SP TO USER'S BRANCH 11%: ;REPORT AN ERROR IF ''OM'' IS NOT ZERO BECAUSE RECALIBRATE SHOULD 051554 001342 001140 001140 001142 AVP 4V | V] SRR :WRITE ERROR NUMBER IN CALL #6,(SP) :REPORT AN ERROR IF ATA 1S NOT SET gzz ng;a.nnosx ‘”22.?“ SET DURING RECALIBRATE?? 000000 SALWAYS CLEAR OFFSET MODE BIT #OM,RMDS BEQ 128 MOV RMDS1,SGODAT BIC #OM,SGDDAT MOV RMDSI,S$BODAT ADD #6, (SP) move #103,a(sP) JSR PC.a(SP)+ SUB - agg sl 24 gegEgeEases #101.a(sp) ADD RMDS1,SGODAT SATA, $GDDAT RMDS1,$BODAT 051554 #2,(SP) 910, (SP) ;WAS "'OM"* RESET?? SYES!! :EXPECTED STATUS ;RECEIVED STATUS :MOVE SP TO USER'S ERROR CALL :WRITE ERROR NUMBER :MOVE SP TO RETURN FOR ERROR :REPORT ERROR VIA USER :MOVE SP TO USER'S BRANCH D el i 12%: N-uuuuusu O NNNSTNON NN =N =N NNNNNONSN — 051702 — ) D ) o S2R28238 W Dl ;REPORT AN ERROR If "PIP'' IS SVIL ON, 1.E., DRIVE NOT ON ) 8 ;01D *'VV'* DROP?? INOYY :WAS THERE A IVC ERROR?? YES - DONT REPORT vv=0 :EXPECTED STATUS :RECEIVED STATUS MOV BIS MOV il D - 1 PAGE 217 #VV,RMDSI 108 #1VC,RMER2] 108 RMDS1,SGODAT RMDSI,.SBODAT #VV,SGODAT 001140 001140 001142 D ) 001140 001142 001140 BIT BNE BIT BNE MOV MoV BIS 001342 D D D ) - K RECALIBRATE STATUS CHECK SUBROUTINE -l - 11:23 108: 051540 051544 051546 051552 D — 04=JAN-79 agg el 3333555755548 #5F gEEarEETeaeFEREREElRRREEZRREZZE CZRMDCO RMO3/2 FCINL TST 2 12-DEC-78 08:24 CZRMDC.P11 020000 001342 040000 001372 001342 020000 001342 000004 000104 001140 001140 001142 000000 :CYLINDER BIT BEQ BIT BNE MOV #P1P,RMDS] 138 #SK1,RMER2] 138 RMDS1,$GODAT MOV ADD RMOST,$BODAT ;RECEIVED STATUS #4,(SP) ;MOVE SP'TO USER'S ERROR CALL BIC move #P1P,$GODAT #104.3(sP) ;1S DRIVE OFF CYLINDER?? iNO! :WAS ''SK1'* DETECTED?? :YES=DONT REPORT 'PIP" :EXPECTED STATUS :WRITE ERROR NUMBER SEQ 0217 CZRMDCO RMO3/2 FCINL TST 2 12-DEC-78 08:2¢4 CIRMOC.PIY 10672 36 1 000002 suB JSR 333 000010 #2,(SP) PC a(SP)+ 10, (sP) ;MOVE SP TO RETURN FOR ERROR :MOVE SP BACK TO USER'S BRANCH 138: 051724 051732 sSEE IF "ILR' OR "'RMR'* OR "'UNS'' 1S SET BIT #ILR!RMR'UNS ,RMERT] 16% BEQ 040006 001344 000002 001344 001344 000002 001344 000004 000105 000002 001140 001140 001142 MOV 000000 move sREPORT AN ERROR IF "ILR'' 1S SET 052014 14%: 052014 BIT BEQ MOV BIC #ILR,RMER1] 148 RMER11,$GDDAT #1LR, $GDDAT ADD #4,(SP) :MOVE SP TO USER'S ERROR CALL #105,a(sP) :WRITE ERROR.NUMBER IN CALL 333 910, (SP) PC.a(SP)+ ;REPORT 3?1ERR0R IF "RMR" 1S SET 001344 001140 001140 001142 BEQ MOV BIC MOV 000000 move :MOVE SP TO USER'S BRANCH #RMR,RMER1] 158 RMER1],$GDDAT #RMR, SGDDAT RMERT],$BDDAT :WAS RMR SET?2? INO!! ;EXPECTED STATUS ADD #5, (SP) ;RECEIVED STATUS :MOVE SP TO USER'S ERROR CALL SUB #2,(5P) :MOVE SP TO RETURN FOR ERROR 10, (5P) :MOVE SP TO USER'S BRANCH JSR 383 000010 :MOVE SP TO RETURN FOR ERROR ; 001344 000106 000002 ;RECEIVED STATUS #2,(SP) 000004 001344 ;WAS ILR SET DURING RECALIBRATE?? INO!! :EXPECTED STATUS RMERT1,$BODAT sUS JSR 000010 #106,a(sP) PC.a(SP)+ :WRITE ERROR NUMBER IN USER'S CALL :REPORT ERROR VIA USER g-fl—-uuumusu NINNNSTNON NN =N =N 000200 001372 001344 040000 001344 000004 000107 000002 0011490 001140 001142 000010 ;REPORT AN ERROR IF *'UNSTM IS SET AND 'DVC' 1S 0 BIT BEQ BIT BNE MOV BIC FUNS ,RMER1] 168 #OVC , RMER2] 16$ RMER1]1,8GDDAT #UNS , $GDDAT :WAS UNSAFE ON?? INO!! :WAS THERE A DEVICE CHECK?? SYES - DON'T REPORT UNSAFE ;EXPECTED STATUS ADD #4, (SP) :MOVE SP TO USER'S ERROR CALL MOV move 000000 SUB JSR 333 RMERT1,$BDDAT ;RECEIVED STATUS #107.a(sp) :WRITE ERROR NUMBER #2,(SP) PC.al(SP)+ 910, (sP) :MOVE SP TO RETURN FOR ERROR :REPORT ERROR VIA USER :MOVE SP BACK TO USER'S BRANCH & [~ OO0 -t 062716 ST gom\h\hb NNNNNNNNNONSN 001344 b3 QOO0 > =S2R28282 b =t — - — N ALKAU Un — NNV oo ~N —— OO0 O0O0O00O0O0O o 052104 040000 - 15%: W ~N 10697 162716 o 33388 g23gBegazzzes 10673 10674 10675 10676 10677 10678 }0679 L MACYT1 30A(1052) 04=JAN-79 11:23 PAGE 218 RECALIBRATE STATUS CHECK SUBROUTINE 16%: 000004 :AUGMENT THE RETURN ADDRESS IF ANY ERROR WAS DETECTED ADD #6,(SP) :MOVE SP TO USER'S ERROR CALL SEQ 0218 CZRMDCO RMO3/2 SCTNL TST 2 12-DEC-78 08:2¢4 CZRMDC.P11 052212 105776 001403 062716 000402 162716 000240 000207 MACY11 30A(1052) 11:23 n PAGE 219 SEQ 0219 RECALIBRATE STATUS CHECK SUBROUTINE 000000 1S18 BEQ 000004 000004 04=JAN-79 ADD 17%: 18%: BR SuB NOP RTS a(SP) 17% ggi(SP) #4,(SP) PC ;WAS AN ERROR REPORTED?? sNO!! sYES = AUGMENT SP RETURN ;NC ERROR = RETURN SP TO BRANCH sSTATUS CECK 1S COMPLETE CZRMDCO RMO3/2 FCINL TST 2 CIRMOC.P11 12-DEC-78 08:24 N1 MACY11 30A(1052) 04=JAN-79 11:23 PAGE 220 DRIVE CLEAR STATUS CHECK SUBROUTINE 10736 10737 10738 10739 10740 .SBTTL : : : : }8;2; 10743 10744 10745 10746 10747 10748 10749 10750 10751 10752 : 052214 062716 105076 162716 000004 000000 000004 052230 013737 001330 001142 052244 012737 004010 001140 052236 042737 10753 10756 10755 10756 10757 10758 052252 052260 052262 052266 052274 052300 023737 001443 062716 112776 162716 004736 10760 10761 052306 000240 10759 10762 052302 052310 173700 001142 000004 000141 000002 000000 162716 000010 013737 001362 052316 052326 052332 052340 052342 052346 052354 052360 042737 012737 023737 001413 062716 112776 162716 004736 10772 052366 000240 052370 0523764 052402 052404 0526410 052416 052422 005037 013737 001413 062716 112776 162716 004736 10782 10783 052430 000240 10784 10785 052432 013737 001346 10786 10787 10788 10789 10790 10791 052440 052442 052444 052450 052454 052460 052462 010246 013701 116102 042702 005102 040257 10773 10774 10775 10776 10777 10778 10779 10780 10781 052362 052426 001142 001140 10763 10764 10765 10766 10767 10768 10769 10770 10771 DRIVE CLEAR STATUS CHECK SUBROUTINE BR m RETURN HERE IF NO ERROR NOP RETURN HERE TO REPORT AN ERROR ERROR ERROR NUMBER DEF INED BY SUB JSR PC,a(SP)+ G0 BACK TO SUB FOR MORE ERROR CMECKS n? RETURN HERE IF NO MORE ERRORS DRVSTS: 0522164 052220 052226 001142 001142 001140 001142 000004 000142 000002 000000 ;CLEAR USER'S ERROR CALL ADD #6,(SP) sMOVE SP TO ERROR CALL CLRB 8(SP) sCLEAR ERROR CALL suB #6,(SP) ;MOVE SP TO USER'S BRANCH ;REPORT ERROR IF RMCS1 NOT INITIALIZED 4$: MoV RACS11,8B0DAT ;CHECK RMCS1 BIC MOV CHP BEQ ADD Move SuB JSR 58: 000004 000143 000002 SuB 000000 162716 000010 010146 001450 000001 177400 001142 MOV 8IC MOV CHP BEQ ADD MOVB suB JSR NOP 001142 001142 #~C<DVA'FNCASK> ,$BDDAT #OVA!DRVCLR,$GDDAT $GDDAT,$BODAT 6% #4,(SP) #141,3(SP) #2,(SP) PC,3(SP)+ 9, (sP) ;CLEAR DONT CARES sEXPECT DVA ;COMPARE EXPECTED & RECEIVED sBRANCH IF EQUAL sMOVE SP TO ERROR CALL ;WRITE NUMBER OF ERROR IN CALL sMOVE SP TO RETURN FOR ERROR ;REPORT THE ERROR VIA USER ;MOVE SP TO NO ERROR RETURN NOP ;REPORT ERROR IF RMDS NOT INITIALIZED 162716 000010 001140 001344 ' suB 021101 010600 001140 SEQ 0220 RMDS1,$BODAT ; CHECK RMDS 0, (sP) :MOVE SP TO NO ERROR RETURN #PGM!OM!VV!PIP,$BDDAT ;CLEAR DONT CARES #MOL !DPR:DRY,SGDDAT sEXPECT DRY & DPR $SGDDAT ,$BDDAT ;COMPARE EXPECTED & RECEIVED 6% sBRANCH IF EQUAL #6,(SP) sMOVE SP TO ERROR CALL #142,3(SP) ;WRITE NUMBER OF ERROR IN CALL #2,(SP) sMOVE SP TO RETURN FOR ERROR PC,3(SP)+ sREPORT THE ERROR VIA USER ;REPORT ERROR IF RMERY NOT INITIALIZED 6%: CLR $GDDAT ;EXPECT 0'S MOV RMER11,$BODAT ;CHECK RMER! BEQ 8s ;BRANCH IF EQUAL ADD #6,(SP) sMOVE SP TO ERROR CALL MOVB #143,3(SP) ;WRITE NUMBER OF ERROR IN CALL SuB #2,(SP) :MOVE SP TO RETURN FOR ERROR JSR PC,a(SP)+ sREPORT THE ERROR VIA USER SuB 10, (sP) :MOVE SP TO NO ERROR RETURN MOV RMAS] ,$BODAT sCHECK ATTENTION BIT MOV MOV MOvB BiC COM BIC R2,=(SP) TSTQUE ,R1 1(R1) ,R2 #*CATNMSK ,R2 R2 R2,$BDDAT ::PUSH R2 ON STACK NOP ;REPORT ERROR IF ATA NOT INITIALIZED 8$: MOV R1,=-(SP) ::PUSH R1 ON STACK CZRMDCO RMO3/2 FCTNL TST 2 CIRMOC.P11 10792 10793 10796 10795 10796 10797 10798 10799 10800 10801 10802 10803 052466 052470 052472 052476 052500 12-DEC-78 08:2¢ 012601 005737 001413 nov 001142 062716 000004 112776 162716 004736 052524 000240 162716 000010 052526 013737 001354 10813 052604 000240 162716 000010 052606 052614 013737 042737 001370 140000 001142 001142 001140 001142 10814 10815 10816 10817 052600 052622 012737 000046 000010 001140 001142 001140 001142 000004 000145 000002 000000 011777 10825 10826 052664 052666 000240 005037 10828 10829 10830 052672 052700 052702 013737 001413 062716 001376 10832 10833 052714 052720 162716 004736 000002 052726 000240 162716 000010 052730 (%2736 052740 013737 001413 062716 001372 001142 000004 000147 000002 000000 10827 10831 10834 10835 10836 10837 10838 10839 10840 10841 10842 052706 052722 052744 052752 052756 10843 052760 10844 10845 10846 10847 052764 052766 052766 162716 112776 162716 004736 11$: 000004 BIC MOV CHP BEQ ADD MOVB SUB JSR 158: 001142 "0, (sp) :MOVE SP TO NO ERROR RETURN RMMR1],$BDDAT ;CHECK RMMR #10, (SP) :MOVE SP TO NO ERROR RETURN #UC!LSILST,SBODAT :CLEAR DONT CARES #MD , SGDDAT ;EXPECT WRITE DATA ON $GODAT,$BODAT :COMPARE EXPECTED AND RECEIVED 118 :BRANCH IF ZERO #,(SP) :MOVE SP TO ERROR CALL #145,3(5P) :WRITE NUMBER OF ERROR IN CALL #2,(5P) :MOVE SP TO RETURN FOR ERROR PC,a(SP)+ :REPORT THE ERROR VIA USER MOV BIC RMMR2],$BDDAT ;CHECK RMMR2 #RQA'RQB,SBODAT ;CLEAR REQA, REQB CHP BEQ ADD MOVB SUB JSR $GDDAT,$BDDAT 158 9, (SP) #146,a(SP) #2,(5P) PC.a(SP)+ NOP CLR $GDDAT ;EXPECT ZEROS MOV BEQ ADD RMEC21,$BDDAT 178 4, (SP) ;CHECK RMEC2 :BRANCH 1F 0 :MOVE SP TO ERROR CALL SUB JSR #2,(SP) PC.a(SP)+ :MOVE SP TO RETURN FOR ERROR :REPORT THE ERROR VIA USER SUB #TSTi177%, $GDDAT 110, (P) 000000 move SUB #150,a(sp) "0, (sP) ;EXPECT TEST BIT ON : COMPARE EXPECTED & RECEIVED :BRANCH IF EQUAL :MOVE SP TO ERROR CALL :WRITE NUMBER OF ERROR IN CALL :MOVE SP TO RETURN FOR ERROR :REPORT THE ERROR VIA USER :REPORT ERROR 1F RMEC2 NOT RESET :MOVE SP TO NO ERROR RETURN :WRITE NUMBER OF ERROR IN CALL :MOVE SP TO NO ERROR RETURN NOP :REPORT ERROR IF RMER2 NOT RESET 178: MOV RMER21,SBODAT ;CHECK RMER2 BEQ 18% :BRANCH IF NO ERROR ADD #,(SP) ‘MOVE SP TO ERROR CALL MOVB SUB JSR 162716 000010 000240 MOV MOV 000000 001140 :MOVE SP TO ERROR CALL ;REPORT ERROR IF RMMR2 NOT INITIALIZED 000010 112776 000150 :WRITE NUMBER OF ERROR IN CALL :MOVE SP TO RETURN FOR ERROR :REPORT THE ERROR VIA USER #6,(SP) :REPORT ERROR IF RMMR1 NOT INITIALIZED 9s: 001140 023737 001413 062716 112776 162716 004736 052660 #144,a(SP) #2,(5P) PC.a(SP)+ SUB 052630 052636 052640 052644 052652 052656 10826 MOVB SUB JSR NOP 10818 10819 10820 10821 10822 10823 000004 000146 000002 1:POP STACK INTO R1 :1S ATTENTION CLEARED?? :BRANCH IF ATTENTION CLEARED SUB 052534 052542 052550 052556 052560 052564 052572 052576 ::POP STACK INTO R2 (SP)+.R1 $BDDAT 98 NOP 001142 (SP)+,R2 MOV ST BEQ ADD 000000 10806 10805 10806 10807 10808 10809 10810 10811 10812 042737 012737 023737 001413 062716 112776 162716 004736 00044 000002 SEQ 0221 DRIVE CLEAR STATUS CMECK SUBROUTINE 012602 052504 052512 052516 052520 RACY11 30A(1052) 04=JAN-79 11:23 8 PA%E 221 SUB 188: 198 NOP #147,3(SP) #2,(SP) PC.a(SP)+ 110, (sP) :WRITE NUMBER OF ERROR IN CALL :MOVE SP 1O RETURN FOR ERROR :REPORT THE ERROR VIA USER :MOVE SP TO NO ERROR RETURN 000004 000000 000004 000004 000207 04=JAN=79 11:23 c 2 PAGE 222 SEQ 0222 DRIVE CLEAR STATUS CHECK SUBROUTINE AUGHENYASSTURN ADDRESS IF 96, (SP) 1ST8 g{gp) BEQ ADD 02‘(59) L4 052766 052772 052776 053000 053004 053006 053012 053014 MACY11 30A(1052) ronro CZRMDCO RMO3/2 FCINL IST 2 12-DEC-78 08:2¢4 CZRMDC.P BR SUB NOP RTS 2 #4,(SP) PC ANY ERROR WAS FOUND :MOVE SP TO ERROR CALL :3; AN ERROR DETECTED?? ;MOVE SYES- MOVE SP TO ERROR RETURN SP BACK TO NO ERROR RETURN ;RETURN TO USER CZRMDCO RMO3/2 FCINL TST 2 CIRMDC.P11 12-DEC-78 08:24 - MACY11 30A(1052) O04=JAN-79 11:23 oPA%E 223 }8333 .SBTTL 10860 10861 10862 :THIS SUBROUTINE VERIFIES THE RESULTS OF ALL DATA TRANSFER COMMANDS :USING STATUS STORED IN THE GET BUFFER AND TEST PARAMETERS :STORED IN THE PUT BUFFER. ERRORS ARE REPORTED BY WRITING DATA TRANSFER COMMAND STATUS CHECK SUBROUTINE }8322 :THE ERROR NUMBER IN THE USERS ERROR CALL. 10865 10866 10867 10868 10869 10870 10871 10872 10873 1087& 10875 10876 10877 10878 10879 ;USER'S S(1) :(2) 2(3) 1(4) 1(5) ;(6) : 053016 062716 105076 162716 000004 000000 000004 032737 001422 013737 020000 10885 053036 053044 053046 001330 10887 10888 053062 053070 013737 062716 001330 000004 10890 10891 10892 }gggz 053102 053106 053110 053112 162716 004736 000466 000002 10882 10883 10884 10886 053056 10889 053076 005037 042737 056412 020000 112776 000013 CLR 001330 001140 001344 000010 001372 001344 000010 001140 001140 10904 053154 062716 000004 10906 10907 053166 053174 032737 001003 001000 001330 000274 000002 000000 10910 10911 10612 10913 053210 053212 053214 004736 000425 MOV ADD RMCS11,8BDDAT #5, (SP) ;RECEIVED STATUS :MOVE SP TO USER'S ERROR CALL SUB JSR BR #2,(SP) PC.a(SP)+ 308 :MOVE SP TO RETURN IF ERROR :REPORT ERROR AND RETURN 001142 #MCPE , $GODAT #135,3(sp) :WRITE ERROR NUMBER :REPORT ANY CONTROL BUS PARITY ERROR WHILE WRING REMOTE REGISTERS, :PAR=1 AND DPE = 0 BIT #PAR,RMER1] :WAS THERE A PARITY ERROR?? BEQ 208 INO!! BIT #DPE , RMER2] :WAS 1T DUE TO CONTROL BUS?? BNE 208 INO!! MOV RMER1]1,$GDDAT :EXPECTED STATUS BIC #PAR, SGDDAT MOV RMER{1,SBODAT move #50.a(sP) ADD 10905 053160 112776 000050 000000 112776 162716 ;EXPECTED STATUS move 108: 10903 053146 013737 001344 RMCS11,8GDDAT 000000 001142 000010 :CLEAR ERROR FLAGS MOV BIC 032737 001435 032737 001031 013737 042737 5008 sREPORT ANY CONTROL BUS PARITY ERROR WHILE READING REMOTE REGISTERS, 1.E., MCPE = 1 BIT #MCPE,RMCS1] :WAS THERE A PARITY ERROR?? BEQ 108 INO!! 001140 053112 053120 053122 053130 053132 053120 053176 053204 RETURN HERE IF NO DATA ERRORS RETURN HERE TO REPORT AN ERROR SUB WRITES ERROR NUMBER USER RETURNS FOR MORE CMECKS SUB RETURNS MERE AFTER ALL ERRORS ARE REPORTED sCLEAR USER'S ERROR CALL AND ERROR FLAGS ADD 96, (SP) :MOVE SP TO USER'S ERROR CLR8 a(SP) :CLEAR LOW ORDER BYTE OF TRAP SUB 95, (SP) :RESTORE SP TO NO ERROR 10895 10896 10897 10898 10899 1090C 10901 10902 10908 10909 SUBROUTINE CALL: USSR PC.DTASIS BR 27 NOP ERROR JSR PC,a(SP)+ i 4 DTASTS: 053016 053022 053026 }833? 053032 SEQ 0223 DATA TRANSFER COMMAND STATUS CHECK SUBROUTINE BIT BNE 158: 208: MOVB SUB JSR BR ;RECEIVED STATUS 96, (SP) :MOVE SP TO USER'S ERROR #AXF ,RMCS 1] 158 :DID MXF GET SET?? SYES!! #274,3(SP) #2,(5P) PC.a(SP)+ 30% :WRITE ERROR NUMBER :NO = CHANGE ERROR NUMBER :MOVE SP TO RETURN IF ERROR :REPORT ERROR AND RETURN 1.E.. CZRMDCO RMO3/2 FCTINL TST 2 CIRMDC.P11 12-DEC-78 08:24 MACY11 30A(1052) 04=JAN-79 11:23 3 PA%E 224 SEQ 0224 DATA TRANSFER COMMAND STATUS CHECK SUBROUTINE 10914 10915 :LOOK FOR ANY ERRORS WHICH MAY HAVE OCCURRED DURING COMMAND INITIATION OR 10918 10919 10920 10921 10922 10923 053214 053222 05322¢ 053232 032737 001425 013737 042737 001000 001340 001340 001000 001140 001140 ;FIRST TEST MXF WHICH WOULD INDICATE COMPOSITE ERROR SET WHEN FUNCTION :CODE AND GO BIT WERE LOADED BIT #AXF ,RACS2] :WAS 'MISSED TRANSFER'' SET?? BEQ 408 :NO!! MOV RMCS21,8GDDAT :EXPECTED STATUS BIC SAXF ,SGDDAT 10925 053246 062716 000004 }gg}g 10926 10926 *MECHANICAL POSITIONING 053240 053252 10927 053260 }gggg 053266 10928 013737 112776 162716 053264 004736 10932 053266 162716 }8322 053276 10931 }gggz 053272 000137 001340 000275 000002 001142 PC.a(SP)+ IMOVE SP TO USER'S ERROR CALL :WRITE ERROR NUMBER :MOVE SP TO RETURN IF ERROR :REPORT ERROR AND RETURN :RESTORE SP TO NO ERROR RETURN AND BYPASS FURMTER STATUS CHECKING 000010 SUB 056364 JMP #10, (SP) 380% :MOVE SP TO NO ERROR *SKIP TO END OF SUB :4:3 "‘MOL'' ARE SET, BUT *‘W'' IS RESET, INDICATING AN INTERMITTENT :. 10945 10946 1097 10948 10949 053330 053336 053340 053346 053350 032737 001404 032737 001013 062716 10951 10952 053362 053366 162716 004736 053322 10950 053354 10953 053370 013737 020000 001344 001344 020000 001140 001140 010000 001342 001344 000100 000004 112776 000276 162716 10954 053374 000413 000002 001142 000000 L.. BIT BEQ MOV BIC #OP1,RMER1] 608 RMER1]1,$GDDAT #OP1,$GDDAT BIT BEQ BIT BNE ADD #MOL ,RMDS | 45 #VV,RMDS1 508 6, (SP) *WAS MEDIUM OFF LINE?? TYES!! TWAS “MOL'* INTERMITTENT?? INO!! :MOVE SP TO USER'S ERROR CALL SUB JSR #2,(SP) PC.a(SP)+ :MOVE SP TO RETURN IF ERROR :REPORT ERROR AND RETURN MOV 001342 458: 000010 MOVB SUB 053376 508: 10957 B8R RMERTI,SBODAT #276,a(SP) 10, (sP) 608 ;1S "OPI'* SET?? INO!! :EXPECTED STATUS ;RECEIVED STATUS :WRITE ERROR NUMBER IN CALL :RESTORE SP TO NO ERROR ;REPORT "'OP1'* ERROR, WHICH IS DUE TO ''ON CYLINDER'' NOT DROPPING OR 10958 10959 053376 062716 000004 10961 10962 053410 053414 162716 004736 000002 10964 ;ooos 053422 053424 000240 053424 053432 032737 001432 10960 053402 10963 053416 10968 10969 JSR #2,(SP) ;RECEIVED STATUS ;REPORT AN ERROR If ''OP1'’* ERROR OCCURRED DUE TO 'MOL'’ = 0, OR IF '‘OPI" 032737 001447 013737 042737 10967 #2%5,a(spP) 95, (SP) 408 : 053276 053306 053306 053314 }8332 move SUB 308: }8323 10944 RMCSS1,$BDDAT ADD 000000 10937 10940 10941 10942 10943 MoV 112776 000277 000000 SURUN'' TIMEOUT (20 MS) OR SEARCH TIMEOUT (50 MS) ADD #4, (SP) ;MOVE SP TO USER'S ERROR CALL 608 : 001372 #277.3(sP) :WRITE ERROR NUMBER IN CALL SUB 110, (sP) :RESTORE SP TO NO ERROR SUB JSR 162716 000010 010000 MOVB NOP #2,(SP) PC.a(SP)+ :MOVE SP TO RETURN If ERROR :REPORT ERROR AND RETURN ;LOOK FOR “'IVC'* ERROR DURING COMMAND INITIATION BIT BEQ #1VC,RMER2] 708 :WAS THERE AN INO!! '‘1vC'' ERROR?? CZRMDCO RMO3/2 FCTNL TST 2 CIRMDC.P11 12-DEC-78 08:24 F 2 MACY11 30A(1052) 04=JAN-79 11:23 PAGE 225 DATA TRANSFER COMMAND STATUS CHECK SUBROUTINE 10970 10971 10972 001140 001140 053434 053442 013737 042737 05 062716 10973 053450 10975 053462 10974 10976 053470 10977 10978 10979 10980 053476 053500 053506 053512 10982 10983 10984 10985 10986 10987 10988 10989 10990 10991 053520 10981 053514 001372 010000 013737 001372 001142 112776 000300 000000 032737 001403 112776 162716 004736 000004 000100 000301 000002 000000 162716 000010 053520 053526 032737 001510 000007 001344 053530 053536 053540 053546 032737 001424 013737 042737 000002 001344 001344 000002 001140 001140 013737 001344 001142 10994 053566 112776 000302 000000 053562 062716 000004 10995 10996 10997 10998 10999 053574 05 053602 053606 053610 162716 004736 162716 000240 000002 11002 11003 11006 11005 11006 11007 053610 053616 053620 053626 053634 053642 032737 001424 013737 042737 013737 062716 000001 001344 001344 000001 001344 000004 001140 001140 001142 11009 11010 053656 053660 162716 004736 11012 }}g}z 053666 053670 000240 11015 11016 11017 11018 11019 053670 053676 053700 053706 032737 001424 013737 042737 000004 001344 001344 000004 001140 001140 11021 053722 062716 000004 11023 11024 053734 053740 162716 004736 000002 11000 11001 11008 053646 11011 053662 11022 053726 11025 053742 658: :;RECEIVED STATUS move #300,a(sP) :WRITE ERROR NUMBER IN CALL BEQ MOVB SUB JSR SUB #VV,RADS] 65 #301,a(sP) #2,(5P) PC,a(SP)+ 110, (sP) :MOVE SP TO USER'S ERROR :WAS VOLUME VALID?? INO!! :CHANGE ERROR NUMBER :MOVE SP TO RETURN IF ERROR :REPORT *"IVC'' ERROR AND RETURN :RESTORE SP TO NO ERROR MOV RMERTI,$BODAT ;RECEIVED STATUS move #302,a(sP) :WRITE ERROR NUMBER IN CALL ADD 808: SUB JSR SUB NOP 9, (SP) #2,(SP) PC,a(SP)+ 910, (SP) :REPORT AN ERROR IF "'ILF" 1S SET 112776 000303 000000 162716 000010 :MOVE SP TO RETURN IF ERROR ;REPORT ERROR AND RETURN :RESTORE SP TO NO ERROR #I1LF ,RMERT] 90% RMER1]1,8GDDAT #ILF,$GDDAT RMER1]1,$BODAT 94, (SP) :WAS "'ILF'' DETECTED?? :NO!! :EXPECTED STATUS SUB JSR #2,(SP) PC.a(SP)+ :MOVE SP TO RETURN If ERROR *REPORT ERORR AND RETURN SUB 908 : :MOVE SP TO USER'S ERROR CALL BIT BEQ MOV BIC MOV ADD MOvB 000002 001142 95, (SP) ;SEE IF "ILF" OR “RMR" IS SET BIT #ILR'ILF'RMR, RMER1I BEQ 1008 :NO ERRORS DETECTED sREPORT AN ERROR IF ''ILR' 1S SET BIT #1LR,RMER1] :WAS “'ILR"* DETECTED?? BEQ 80$ INO!! MOV RMER11,$GDDAT ;EXPECTED STATUS BIC #1LR, $GDDAT 000010 11020 053714 013737 001344 RMERS],SBDDAT BIT 708: 05355¢ MoV ADD 001342 10992 10993 :REPORT *'IVC"* ERROR DUE TO '‘VV"' = 0, OR REPORT ERRONEOUS '‘IVC'' ERROR nov RMER2],$GODAT ;EXPECTED STATUS BIC #1VC, SGDDAT NOP #303,a(sP) 110, (sP) ;RECEIVED STATUS :MOVE SP TO USER'S ERROR CALL :WRITE ERROR NUMBER IN CALL RESTORE SP TO NO ERROR ;REPORT AN ERROR IF "RMR'' IS SET BIT #RMR, RMER1] ;WAS "'RMR'* DETECTED?? BEQ 1008 INO!! MOV RMER11,SGDDAT :EXPECTED STATUS BIC #RMR , SGODAT MOV RMERT1,$BDODAT ;RECEIVED STATUS 112776 000304 000000 move #304.a(sP) :WRITE ERROR NUMBER IN CALL 162716 000010 SUB ADD SUB JSR ¥4, (SP) #2,($P) PC.a(SP)+ #10, (SP) :MOVE SP TO USER'S ERROR CALL ‘MOVE SP TO RETURN IF ERROR :REPORT ERROR AND RETURN :RESTORE SP TO NO ERROR SEQ 0225 CZRMDCO RMO3/2 FCTNL TST 2 CIRMOC.P11 12-DEC-78 08:24 6 2 MACYTT 30A(1052) (Q4=JAN-79 11:23 PAGE 226 DATA TRANSFER COMMAND STATUS CHECK SUBROUTINE 11026 11027 11028 11029 11030 11031 11032 11033 11036 053746 053750 000240 053750 053756 053764 053772 053774 054002 012737 052737 022737 103425 042737 122737 002000 040000 001466 001140 056412 001434 040000 000006 056412 001407 11036 054012 122737 000037 001406 000035 001406 010000 001432 11035 054010 103416 11037 11038 11039 11040 11041 11042 11063 11046 11045 11046 11047 11048 11049 054020 054022 054030 054032 054040 054062 054046 054054 0564062 054070 0564072 054100 054102 103412 122737 103004 032737 001402 005037 013737 042737 023737 001004 042737 000412 062716 11051 11052 11053 054114 054120 054122 162716 004736 162716 054126 054134 054142 054150 054156 054164 054166 054176 054176 013737 042737 013737 042737 032737 001417 032737 001032 062716 11050 054106 }}ggg 054126 11056 11057 11058 11059 11060 11061 11062 11063 11064 11065 112776 001140 001344 175777 001140 001142 001142 001142 040000 056412 000004 000305 000002 000000 000010 1008 : ;DETERMINE WHETHER OR NOT '‘IAE'* SHOULD BE SET AND CHECK FOR ERROR MOV #1AE , SGDDAT :SETUP FOR "'IAE" = 1 BIS #5K1.5008 SSET SKI FLAG CHP #822. ,RMOCO :1S CYLINDER > 82277 BLO 1108 TYES!! BIC #SK1,5008 SRESET SKI FLAG CMPB #4,RMDAO+1 11S TRACK > 477 BLO 1058: 1108: 1158: 1208 : TYES!! 1S SECTOR > 29?2 INO - IAE SHOULD BE ZERO :18 BIT FORMAT?? SYES!! :1AE SHOULD BE ZERO :GET RECEIVED STATUS SUB JSR SUB #2,(SP) PC.a(SP)+ #10,(SP) :MOVE SP TO RETURN IF ERROR :REPORT ERROR AND RETURN :MOVE SP TO NO ERROR move #305.a(spP) SUB #2,(SP) 112776 000306 000000 11068 056214 004736 }}3;? 054222 000417 }}8;§ 054226 11074 11075 056224 11081 0562646 054252 054254 Move JSR 162716 000010 SUB BR ;1S '"IAE'* STATUS OK?? INO!! S1AE OK - SKI SHOULD BE 0 ;MOVE SP TO USER'S ERROR CALL :WRITE ERROR NUMBER #306,a(sP) PC.a(SP)+ 116.(59) 50% ;RECEIVED STATUS ;EXPECTED STATUS ;WAS *'SK1'* SET?? INO!! :WAS SKI CAUSED BY IAE = 0?? SYES - DON'T REPORT SKI :MOVE SP TO USERS ERROR CALL :WRITE ERROR NUMBER :MOVE SP TO RETURN IF ERROR :REPORT ERROR AND RETURN ‘MOVE SP TO NO ERROR 1408 : 032737 001413 062716 040000 000004 056412 11078 054240 112776 000307 000000 11079 11080 115 SECTOR > 3122 :REPORT AN ERROR IF ''SKI'* IS SET AND '""IAE'' STATUS WAS 0K 11067 056210 162716 000002 054232 054234 056412 1108 #29.,RMDAO 1058 FEMT16,RMOFO 1108 $GDDAT RMER11,S$BDDAT #~CIAE . SBDDAT $GODAT.$BDDAT 1158 #SK1,5008 1208 95, (SP) 000004 11076 11077 040000 BLO CMPB BHIS BIT BEQ CLR MOV BIC CHP BNE BIC BR ADD RMER2],$BODAT #4CSK1,$BDDAT 5008, SGDDAT #~CSK],$GDDAT #SK1,RMER2] 1408 #SK1,5008 1508 #4, (SP) 11069 054216 001142 001142 001140 001140 001372 SYES!! #31.,RMDAO MOV BIC MOV BIC BIT BEQ BIT BNE ADD 11066 056202 001372 137777 056412 137777 040000 1108 CMPB 162716 004736 000002 162716 000010 :REPORT AN ERROR IF SKI = O AND 1AE WAS NOT DETECTED BIT #5k1,5008 ;SHOULD SKI BE SET?? BEQ ADD 1508 04, (SP) INO!! ‘MOVE SP TO USER'S ERROR CALL SUB JSR #2,(SP) PC.a(SP)+ :MOVE SP TO RETURN IF ERROR ‘REPORT ERROR AND RETURN move SUB #307,a(spP) 10, (sP) :WRITE ERROR NUMBER IN CALL :RESTORE SP TO NO ERROR SEQ 0226 CZRMDCO ?HOSIZ FCINL TST 2 CIRMDC.P11 12-DEC-78 08:24 11082 }}332 H 2 MACY11 30A(1052) 04=JAN-79 11:23 PAGE 227 DATA TRANSFER COMMAND STATUS CHECK SUBROUTINE 054260 054262 000240 }}83; 054262 054270 032737 001512 006200 001372 11089 11090 11091 11092 11093 054272 054300 056302 0564310 032737 001424 013737 042737 000200 001372 001372 000200 001140 001140 062716 000004 11085 11086 1508 : 11096 054316 013737 11096 054330 112776 000310 162716 000010 11095 11097 11098 11099 11100 }}}85 11103 11106 054324 054336 054342 162716 004736 054350 054352 000240 054344 001372 010000 001342 11109 056400 042737 002000 001372 001140 001372 000004 000311 000002 001142 11110 054406 013737 11111 11112 11113 111146 054414 054420 054426 054432 062716 112776 162716 004736 11116 054440 000240 11115 }}}}; 054434 054442 162716 001372 001372 004000 001140 001140 11125 054474 062716 000004 11127 054506 004736 11129 }}}gg 054514 054516 000240 11128 054510 11132 11133 1113, 11135 11136 11137 001142 #2,(5P) PC,a(SP)+ :MOVE SP TO RETURN IF ERROR :REPORT ERROR AND RETURN #LBC,RMERZ] BIC #LBC, SGDDAT ADD MOVB SUB JSR NOP :WRITE ERROR NUMBER IN CALL #10, (SP) 1708 #NMOL ,RMDS] 1708 MOV :RESTORE SP TO NO ERROR I.E.; "'LBC'" = 1, RMER2],$GDDAT RMER21,$BDDAT #5,(SP) #311,3(SP) #2,(SP) PC,9(SP)+ 910, (SP) RMER2],$BDDAT 112776 000312 000000 MOVE #312.a(sP) 162716 000010 SUB ADD JSR 1808 : 032737 001527 054000 001344 054526 054534 032737 001427 040000 001344 IF "MOL" = 1 ;1S LBC SET?? INO!! :WAS LBC ERROR BY MOL = 0 TYES!! :EXPECTED STATUS ;RECEIVED STATUS :MOVE SP TO USER'S ERROR CALL :WRITE ERROR NUMBER IN CALL :MOVE SP TO RETURN IF ERROR :REPORT ERROR AND RETURN :RESTORE SP TO NO ERROR :REPORT LOS OF SYSTEM CLOCK, 1.E., "'LSC' = 1 BIT #LSC,RMER2] ;18 "Lsct = 172 BEQ 1808 INO!! MOV RMER2]1,$GDDAT EXPECTED STATUS BIC #LSC,SGDDAT MOV 054516 054526 ;RECEIVED STATUS sMOVE SP TO USERS ERROR BEQ BIT BEQ SUB 004000 11126 054500 NOP MOV 1708 : 001372 #310.,a(sP) BIT 000010 032737 001422 013737 042737 056466 013737 move "DVC" = 1 ;1S "DVC' = 122 :NO!! :EXPECTED STATUS #4,(SP) ;REPORT LOSS OF BIT CLOCK, 000000 054442 054450 056452 054460 11126 RMER2]1,$BODAT SUB JSR 001140 11119 11120 11121 11122 11123 :NO ERRORS SET MOV ADD 1608 : 002000 1808 :REPORT ANY DEVICE FAULT, I.E., BIT #OVC , RMER2] BEQ 1608 MOV RMER21,8GDDAT BIC #OVC, SGDDAT SUB 001430 032737 001424 013737 BEQ 000000 054360 054362 054370 054372 032737 000002 001142 11105 11106 11107 11108 054352 001372 ;LOOK FOR "'LSC'* OR "LBC" OR "DVC" IN ERROR REGISTER #2 BIT #LSCLBC!DVC,RMER2] NOP ;RECEIVED STATUS 9, (SP) SMOVE SP TO USER'S ERROR CALL PC,a(SP)+ :REPORT ERROR AND RETURN 10, (sP) :WRITE ERROR NUMBER :RESTORE SP TO NO ERROR ;LOOK FOR "UNS' OR 'DTE'' OR 'WLE'' IN ERROR REGISTER #1 BIT #UNS'DTE'WLE ,RMER1] BEQ 2208 " INO BITS SET :REPORT "'UNS'* ERROR IF "DVC'' = 0 3 BIT SUNS , RMER1] ;1S "UNS'' SET?? BEQ 1908 INO!! SEQ 0227 CZRMDCO RMO3/2 FCTNL TST 2 CIRMDC.PIN 12-DEC-78 08:24 11138 11139 11140 11141 054536 054544 054546 0564556 032737 001023 013737 042737 000200 001372 001344 040000 001140 001140 054570 062716 000004 162716 0CL736 000002 11142 0564562 11144 054574 111643 11145 11146 11147 }}3:3 1 2 MACY11 30A(1052) 04=JAN-79 11:23 PAGE 228 DATA TRANSFER COMMAND STATUS CHMECK SUBROUTINE 054602 054606 054610 054614 013737 112776 001344 000313 001142 162716 000010 010000 001344 001344 010000 001344 000004 001140 001140 001142 054614 054622 054624 056632 054640 054646 032737 001423 013737 042737 013737 062716 11158 11159 054660 054664 162716 004736 11157 11160 }}:g; 054652 054666 054672 112776 162716 000314 000002 000000 000010 11164 11165 11166 054672 054700 032737 001441 004000 001344 001142 001140 001140 054702 054710 054716 054724 013737 013737 052737 062716 001344 001344 004000 000004 11172 11173 111764 11175 11176 11177 11178 11179 054736 054744 054746 054754 0564756 054764 054772 054776 032737 001404 032737 001406 112776 042737 162716 004736 004000 054730 }}}g$ 055000 112776 000315 000000 000010 001400 000316 004000 000000 001140 000002 :MOVE SP TO USERS ERROR CALL SUB JSR #2,(SP) PC,a(SP)+ :MOVE SP TO RETURN IF ERROR :REPORT ERROR AND RETURN SUB RMERT1,$BODAT #313,a(sp) llb.(SP) MOVB lSik.a(SP) SUB lIé,(SP) #2,(SP) PC,a(SP)+ ;RECEIVED STATUS :WRITE ERROR NUMBER ;RESTORE SP TO NO ERROR 1.E., 'DTE'" = 1 ;1S DTE SET?? INO!! sEXPECTED STATUS ;RECEIVED STATUS :MOVE SP TO USER'S ERROR CALL :WRITE ERROR NUMBER IN CALL :MOVE SP TO RETURN IF ERROR ;REPORT ERROR AND RETURN sMOVE SP TO NO ERROR SEE IF DRIVE 1S NOT ;WRITE PROTECTED, OR IF FUNCTION WAS NOT A WRITE BIT BEQ MOV MOV BIS ADD RMER1]1,$BDDAT RMER1],SGDDAT #ULE ,$GDDAT #4,(SP) BIT BEQ BIT BEQ MOVB BIC SUB JSR #WURL ,RMDS I 2058 #BIT3,RACS10 210% #316,3(SP) #ULE . SGDDAT #2,(SP) PC,a(SP)+ MOVB 001342 2058: 210%: #ULE ,RMERT] 2208 SUB #315,3(sP) 910, (sP) ;WAS 'MLE'' SET?? INO!! JRECEIVED STATUS JEXPECTED STATUS :MOVE SP TO USERS ERROR CALL :WRITE ERROR NUMBER IN CALL :WAS DRIVE WRITE PROTECTED?? INO!! ;WAS COMMAND A WRITE?? JYES!! :CHANGE ERROR NUMBER sMOVE SP TO RETURN IF ERROR sREPORT ERROR AND RETURN :MOVE SP TO NO ERROR 2208 : 11185 11186 11187 11188 055004 055010 055014 055016 062716 105776 001404 162716 000004 000000 }}}g? 055026 162716 000004 ;OMIT DATA ERROR CHECKS IF ANY PREVIOUS ERRORS HAVE BEEN DETECTED 000004 11189 055022 000137 056024 11192 11193 #4,(SP) SUB JSR 162716 000010 }}}gg 055004 11184 ADD ;REPORT AN ERROR IF WRITE LOCK ERROR IS SET. 11167 11168 11169 11170 11171 :WAS "'UNS'' CAUSED BY "Dv(''2? SYES!! :EXPECTED STATUS sREPORT ANY DRIVE TIMING ERROR, BIT #OTE ,RMERI ] BEQ 2008 MOV RMER1] ,SGDDAT BIC #DTE,SGDDAT MoV RMERT]1,$BDDAT ADD #4,(SP) 2008 : 11163 #OVC , RMER2] 1908 RMER11,SGDDAT SUNS ,SGDDAT move 1908 : ] 11150 11151 11152 11153 11156 11155 11156 BIT BNE MOV BIC MOV 000000 SEQ 0228 225%: ADD 1STB BEQ SUB #4,(SP) @(SP) 225% #4,(SP) :MOVE SP TO USER'S ERROR :WAS ERROR DETECTED?? :NO = DO DATA CHECKS ;RESTORE SP SUB 6, (SP) :RESTORE SP JWP 3408 :SKIP DATA CHECKS :CHECK HEADER ERRORS IF FUNCTION WAS NOT WRITE HEADER AND DATA, AND :1F HEADER COMPARE 1S NOT INHIBITED CO RMO3/2 FCTINL TST 2 C.P11 12-DEC-78 08:24 MACY11 30A(1052) 04=JAN-79 11:23 JPA%E 229 DATA TRANSFER COMMAND STATUS CHECK SUBROUTINE NN NN NN NN NN NN NN NN N NNRNNNNNNINN N NN NI NN o b b b b b 96 055032 013737 001400 056414 95 96 97 98 33 062737 055054 055056 055 001512 032737 001106 055046 022737 177700 000063 056414 002000 001362 02 82 055066 055076 032737 001533 000620 001344 05 06 07 08 055076 055104 055106 032737 001422 013737 000400 001344 001344 001140 10 11 055122 055130 013737 062716 001344 000004 001142 13 14 055142 055146 162716 004736 000002 09 0551164 12 112776 }? 055150 055152 000501 18 19 20 055152 032737 000400 000317 001140 001344 001140 001140 001422 013737 042737 001344 000020 26 055204 062716 000004 26 27 055216 055222 162716 004736 000002 gg 055226 3 32 33 3, 35 055226 055234 055236 055244 032737 001453 013737 042737 000200 001344 001344 000200 001140 001140 37 055260 062716 000004 39 40 055272 055276 162716 004736 000002 — il D - e el - il il - - -l e ) - ) ) D ) D 21 22 055160 055162 055170 23 055176 013737 25 055210 28 055224 001344 38 055264 41 42 43 4h 45 46 47 055302 055310 055312 032737 001425 013737 055326 013737 #HCRC ' FER'HCE ,RMER1] 2708 :NO ERRORS SET #HCRC, SGODAT ;RECEIVED STATUS :MOVE SP TO USERS ERROR SUB JSR #2,(SP) PC,a(SP)+ sMOVE SP TO RETURN IF ERROR JREPORT ERROR AND RETURN BR #3i7.a(sP) 2608 ;REPORT FORMAT ERROR IF SET BIT #FER,RMERT] BEQ 2408 MOV BIC RMER11,8GDDAT #FER,SGDDAT :WRITE ERROR NUMBER :WAS “FER'* SET?? INO!! :EXPECTED STATUS MOV RMERT],SBODAT ;RECEIVED STATUS MOVB #320,3(SP) :WRITE ERROR NUMBER ADD SUB JSR BR 94, (SP) #2,(5P) PC.a(SP)+ 2608 :REPORT HEADER COMPARE ERROR IF BIT #HCE ,RMER1] BEQ. 2708 MOV RMER1]1,8GDDAT BIC #HCE , SGDDAT :MOVE SP TO USERS ERROR :MOVE SP TO RETURN IF ERROR :REPORT ERROR AND RETURN SET :WAS "MCE'* SET?? (WO EXPECTED STATUS MOV RMERT1,$BDDAT ;RECEIVED STATUS MOVB #321,3(SP) :WRITE ERROR NUMBER ADD SUB JSR #4, (SP) #2,(SP) PC.a(SP)+ 2608 :MOVE SP TO USER'S ERROR :MOVE SP TO RETURN IF ERROR :REPORT ERROR AND RETURN ;THERE SHOULD BE NO HEADER ERRORS BECAUSE ; .COMMAND WAS WRITE HEADER AND DATA, OR A .HEADER COMPARE INWIBIT WAS SET 000620 001344 001344 001140 BEQ MOV 001346 001142 MOV 48 055320 062737 000620 001140 49 SYES - SKIP HEADER CHECKS ‘WAS HCI SET?? SYES - SKIP MEADER CHECKS RMERTI,$BDDAT 9%, (SP) BR : 250% #HC1,RMOF | 2508 ROV ADD move 000000 055300 000425 :WAS FUNCTION WRITE HEADER & DATA?? BIC 2408: 112776 000321 #un' 60,5108 :REPORT HEADER CRC ERROR IF SET BIT #HCRC,RMER1] ;WAS HCRC SET?? BEQ 2308 INO!! MOV RMER11,8GDDAT :EXPECTED STATUS 112776 000320 000000 36 055252 013737 001344 001142 CHP BIT BEQ 001142 000453 :STRIP AND STORE FUNCTION CODE #-CFNCASK,5108 ;SEE IF ANY HEADER ERRORS ARE SET, 1.E., "'FER" OR "MCRC'' OR "MCE" 2308: 000020 RMCS10,5108 BEQ BIT BNE 000000 D 15 055134 042737 MoV BIC 056414 ) D i D - e el D B D D D ) D d = = 01 055040 2508: BIT #HCE ' FER'NCRC,RMER1] BIC #HCE ' FER'HCRC, SGDDAT 2708 RMER11,8GDDAT :NO ERRORS WERE SET EXPECTED STATUS RMER1]1,$BDDAT ;RECEIVED STATUS SEQ 0229 CZRMDCO RMO3/2 FCTNL TST 2 CIRMDC.P11 12-DEC-78 08:24 11250 K 2 MACY11 SOA(IOS‘) 04=JAN-79 11:23 PAGE 230 DATA TRANSFER COMMAND STATUS CHECK SUBROUTINE SEQ 0230 055334 062716 000004 055 055352 162716 004736 000002 }}532 55 000137 }}ggg 055364 2708: 055364 055372 055374 055400 032737 001002 000137 000010 ;1F COMMAND WAS A WRITE COMMAND, GO DO WRITE ERROR CHECKS, OTHERWISE DO READ ERROR CHECKS BIT #B113,510% :WAS THIS A WRITE COMMAND? BNE 2758 INO!! JMP 310% :G0 DO WRITE STATUS CHECK 2758: 11267 055400 032737 100000 001344 11269 11270 055410 055416 013737 042737 001344 100000 001140 001140 11272 055432 062716 11276 11275 11276 11277 11278 11279 11280 11281 11282 055446 055452 055456 055462 055470 032737 001021 112776 032737 001007 055472 055500 055502 032737 001406 162716 11284 11285 11286 055510 055516 055522 112776 162716 004736 }}533 055530 11291 11292 11293 11294 055530 055536 055540 032737 001423 013737 000400 001340 001340 001140 11296 11297 055556 055562 013737 062716 001340 000004 001142 11299 11300 055576 055600 162716 004736 000002 11251 11252 11253 055340 11254 055354 11259 11260 11261 11262 11263 }}%2? 11266 112776 11273 055426 055436 056414 055612 001346 112776 000323 000004 000000 001362 000324 000100 000000 001344 000020 056414 000004 000325 000002 000000 055612 SUB JSR 92, (5P) PC.a(SP)+ :MOVE SP TO RETURN IF ERROR :REPORT ERROR AND RE TURN SUB IMP #322.,a3(SP) 910, (spP) 3408 :WRITE ERROR NUMBER :MOVE SP TO NO ERROR :OMIT FURTHER DATA CHECKS BIT #DCK ,RMER1] :DATA CHECK ERROR?? MOV BIC RMER11,8GDDAT #DCK , SGDDAT :EXPECTED STATUS MOV 290% INO!! _ RMERTI,SBDDAT ;RECEIVED STATUS MOVB #323,3(SP) :WRITE ERROR NUMBER BR 290s :SKIP ERROR - DATA WILL BE CORRECTED SUB 910, (sP) *RESTORE SP TO NO ERROR ADD #4, (SP) :MOVE SP TO USER'S ERROR 8IT #EC].RMOF ] :WAS ECC CORRECTION DISABLED?? BNE 2808 TYES!! MOVB #324,3(SP) :CHANGE TO RECOVERABLE ERROR BIT #ECH.RMER1] 1S ERROR RECOVERABLE?? BNE 276% IND ! :DO NOT REPORT RECOVERABLE ERROR IF READ COMMAND Bil #8114,5108 :WAS THIS A READ COMMAND ?? BEQ 2808 INO !V SUB 4, (SP) ‘RESTORE SP 276S: 2808: MOVB SUB JSR #325,3(SP) #2,(SP) PC.a(SP)+ *CHANGE TO NON RECOVERABLE :MOVE SP TO RETURN IF ERROR *REPORT ERROR AND RETURN 2908 : :REPORT DATA BUS PARITY ERROR IF SET, 1.E.., MDPE = 1 BIT #MDPE ,RMCS2] :PARITY ERROR SET?? BEQ 3008 INO! ! MOV RMCS21,8GDDAT :EXPECTED STATUS BIC #MDPE , $GODAT MOVB #326,a(SP) MOV ADD 112776 000326 000000 11301 055602 162716 000010 }}ggg 055606 000137 056024 11304 11305 ;MOVE SP TO USER'S ERROR CALL BEQ 162716 000010 11295 055546 042737 000400 001140 11298 055566 04, (SP) ;REPORT DATA CHECK IF SET 001142 004000 ADD MOVB 2608: 056024 013737 11283 055506 000410 }}gg; 055526 000000 162716 000010 11268 055406 001450 11271 000322 SUB JSR 3008: 3108 : SUB JMP RMCS21,8BDDAT 9%, (SP) ;RECEIVED STATUS :MOVE SP TO USER'S ERROR #2,(SP) PC.a(SP)+ :MOVE SP TO RETURN IF ERROR :REPORT ERROR AND RETURN 110, (5P) 3408 :WRITE ERROR NUMBER ‘MOVE SP TO NO ERROR :SKIP WRITE STATUS CHECK CZRMDCO RMO3/2 FCINL TST 2 CZRMDC.P1Y 12-DEC-78 08:24 MACY11 30A(1052) 055612 032737 000001 001342 11310 11311 11312 055630 055636 055644 042737 013737 062716 000001 001342 000004 001140 001142 11314 11315 055656 055662 162716 004736 000002 }}383 8322%? 8?%?%% 001362 001140 11316 ;}g}; 11319 11320 11321 11322 055650 055664 055670 112776 162716 000327 000010 001372 11323 032737 001423 013737 042737 001372 001140 11325 055722 062716 001372 000004 001142 112776 000330 162716 004736 000002 000000 0557164 11326 055726 11327 11328 055736 055740 }}ggg 055746 11332 11333 1133, 11335 11336 11337 11338 11329 001140 162716 000010 055746 055754 055756 055764 055772 056000 032737 001423 013737 042737 013737 06271¢ 000040 001344 001344 000040 001346 000004 001140 001140 001142 113.0 11341 056012 056016 162716 004736 }};22 056024 11345 11346 11347 11348 11349 056026 056032 056036 056042 032737 001423 013737 042737 100000 001340 001340 100000 001140 001140 11351 056056 062716 000004 11353 11356 056070 056074 162716 004736 000002 11356 11357 11358 11359 11360 11361 056102 11339 055742 013737 056004 11342 056020 112776 000331 000002 11355 056076 000000 162716 000010 056102 056106 056112 056116 013746 042716 022726 001522 001342 147677 010100 MOVB SUB JSR 2 PAGE 231 SUB RMDS1,SGODAT ’ #0M,SGODAT RMDOS1,$BODAT 95, (SP) #3%7.,a(sP) #2,(SP) PC.a(SP)+ 110, (sP) :goPEC!ED STATUS SEX v ;RECEIVED STATUS :MOVE SP TO USER'S ERROR CALL :WRITE ERROR NUMBER IN CALL :MOVE SP TO RETURN IF ERROR :REPORT ERROR AND RETURN :MOVE SP TO NO ERROR ;TEST FOR DATA BUS PARITY ERROR; REPORT ERROR IF 'DPE'’ = 1 BIT #DPE ,RMER2] :DATA PARITY ERROR?? BEQ 3308 INO!! MOV RMER2]1,$GDDAT :EXPECTED STATUS BIC #DPE ,$GDDAT ADD 9%, (SP) :MOVE SP TO USER'S ERROR CALL #2,(5P) PC.a(SP)+ :MOVE SP TO RETURN IF ERROR :REPORT ERROR AND RETURN MOV * move SUB JSR SUB ;TEST FOR WRITE BIT BEQ MOV BiC MOV ADD move SUB JSR 3408 : 112776 000332 000000 162716 000010 BIC MoV ADD 3308: 11350 056050 013737 001340 001142 11352 056062 =5°v 3208: 055670 055676 055700 055706 11326 L ;TEST TO SEE THAT OFFSET MODE WAS RESET; REPORT ERROR IF ‘OM = 1 81T #OM,RADS| :1S OFFSET ON?? 000000 000010 000010 11:23 DATA TRANSFER COMMAND STATUS CHECK SUBROUTINE 11306 11307 11313 04=JAN-79 SUB RMER2]I,$BODAT #3%0,a(sP) 10, (sP) ;RECEIVED STATUS :WRITE ERROR NUMBER :MOVE SP TO NO ERROR CLOCK FAILURE: REPORT ERROR IF "WCF'* = 1 #UCF ,RMERT] 1S "WCF'' SET?? 3408 INO!! RMER1]1,$GDDAT ;EXPECTED STATUS #UCF , $GDDAT RMER1]I,$BDDAT ;RECEIVED STATUS 06, (SP) :MOVE SP TO USERS ERROR CALL #3%1,a(sP) :WRITE ERROR NUMBER 10, (sP) :MOVE SP TO NO ERROR #2,(SP) PC.a(SP)+ :MOVE SP TO RETURN IF ERROR :REPORT ERROR AND RETURN :REPORT "DATA LATE' ERROR IF 'DLT" = 1 BIT #DLT,RMCS2] ;18 "DLT' SET?? BEQ 3508 INO!! MOV RMCS21,8GDDAT :EXPECTED STATUS BIC #DLT,SGDDAT MOV RMCSS]1,$BDDAT move #3%52,a(sP) ADD SUB JSR SUB ;RECEIVED STATUS 4, (SP) :MOVE SP TO USERS ERROR CALL #2,(SP) PC.a(SP)+ :MOVE SP TO RETURN IF ERROR :REPORT ERRCR AND RETURN 10, (sP) :WRITE ERROR NUMBER :MOVE SP TO NO ERROR 3508: :LOOK FOR UNEXPECTED CHANGES IN DRIVE STATUS MOV RMDSI ,=(SP) :STACK DRIVE STATUS BIC #*C<PIP'MOL'VV>,(SP) :CLEAR DONT CARES CHP #MOL'VV,(SP)¢ ;1S DRIVE STATUS OK?? BEQ 3808 TYES!! SEQ 0231 CZRMDCO RMO3/2 FCINL TST 2 CIRMDC.P1Y MACY11 30A(1052) O04=JAN-79 11:23 nPA%E 232 12-DEC-78 08:24 DATA TRANSFER COMMAND STATUS CHECK SUBROUT INE }}ig% :?E:OR;)EIRO? {;osz}Ilogllfi IN PROGRESS AND NO SEEK INCOMPLETE ERROR, " 11365 056120 032737 020000 001342 11367 11368 11369 056130 056136 056140 032737 001024 013737 040000 001372 001342 001140 11371 11372 05615¢ 056162 013737 062716 001342 000004 001142 11376 11375 056176 0562 162716 004736 000002 11377 }};;3 056206 056210 000240 11366 056126 001430 11370 056146 11373 056166 11376 056202 042737 112776 162716 11380 11381 11382 11383 11384 11385 11386 11387 056210 056216 056220 056226 056230 056236 032737 001027 032737 001023 013737 052737 11389 056252 11391 11392 056264 056270 }};3; 056276 020000 256 000333 11393 056272 020000 001344 001342 010000 001140 001140 062716 000004 ~ 162716 004736 000002 000334 032737 000100 001342 11400 11401 11402 11403 11404 116405 056306 056314 056316 0563264 056332 056340 032737 001033 013737 052737 013737 062716 010000 001372 001342 000100 001140 001140 11407 056352 112776 000335 162716 000002 000000 11406 056346 11408 056356 11409 056360 }}2}$ 11412 11413 11414 11415 11416 056364 364 056370 056374 056376 11417 056402 004736 001342 000004 062716 105776 001403 062716 402 #2,(5P) PC,a(SP)+ :MOVE SP TO RETURN IF ERROR :REPORT ERROR AND RETURN NOP #353,3(sP) 910, (5P) MoV RMDSI,$BODAT move #334.,a(sP) SUB 910, (SP) :WRITE ERROR NUMBER :MOVE SP TO NO ERROR ;RECEIVED STATUS #4,(SP) sMOVE SP TO USER'S ERROR #2,(SP) PC,a(SP)¢ :MOVE SP TO RETURN IF ERROR SREPORT ERROR AND RETURN :WRITE ERROR NUMBER :MOVE SP TO NO ERROR :REPORT ERROR I1F VOLUME 1S NOT VALID AND ''IVC'' ERROR WAS NOT :REPORTED, 1.E., W = IVC = 0 BIT #VV,RMDS] ;1S VOLUME VALID?? BNE #1VC,RMER2] 3908 RMDSI,SGODAT #VV, SGDDAT RMDSI,$BODAT #4,(SP) SUB #2,(SP) move 3808 : 3806 BIT BNE MOV BIS MOV ADD JSR SUB #355,3(sP) PC.a(SP)+ 010, (sP) TYES!! :WAS 1VC ERROR REPORTED?? SYES!! :EXPECTED STATUS ;RECEIVED STATUS sMOVE SP TO USERS ERROR CALL :WRITE ERROR NUMBER sMOVE SP TO RETURN IF ERROR :REPORT ERROR AND RETURN :MOVE SP TO NO ERROR ;AUGMENT THE RETURN ADDRESS IF ANY ERROR WAS FOUND 000004 000000 000004 #P1P,$GDDAT SUB JSR SUB JSR 001142 162716 000010 *WAS *'SKI'* ERROR REPORTED?? :YES-DONT REPORT PIP :EXPECTED STATUS INO!! ;RECEIVED STATUS :MOVE SP TO USERS ERROR CALL ADD 3708 : 056276 #SK1,RMER2] 3608 RMDSI,$GODAT 3608 JREPORT ERROR IF MEDIUM IS NOT ON LINE AND OP] ERROR WAS NOT sREPORTED, 1.E., MOL = OP] = 0 BIT #MOL ,RMDS | ;1S MEDIUM ON LINE?? BNE 3708 SYES!! Bl17 #OP1 ,RMERT] :WAS OP] ERROR REPORTED?? BNE 3708 SYES!! MOV RMDSI,SGODAT :EXPECTED STATUS BIS #MOL , $GDDAT 000000 162716 000010 ;1S "PIP" SET?? RMOSI,$BODAT #6,(SP) move 3608 #P1P,RMDS] MOV ADD SUB 001342 001027 BIC 000010 11396 11397 11398 11399 056 BIT BNE nov 000000 010000 112776 BEQ 001140 11388 056246 013737 001342 001142 11390 BIT A ADD 1ST8 BEQ ADD BR #4,(SP) @(5P) 3908 #4,(SP) 4008 sMOVE SP TO ERROR CALL :ANY ERROR?? INO!! sYES = MOVE SP TO ERROR RETURN SEQ 0232 CZRMDCO RMO3/2 FCINL TST 2 CZRMOC.P11 12-DEC-78 08:24 }‘2}3 056406 162716 }}25? 056410 11622 11423 056412. 056414 000004 N2 MACYT1 30A(1052) 04=JAN-79 11:23 PAGE 233 DATA TRANSFER COMMAND STATUS CHECK SUBROUTINE 3908: SsuB #,(SP) sMOVE SP TO NO ERROR RETURN 000207 4008: RTS PC ;RETURN TO USER 000000 000000 500%: 5108: .WORD .WORD ;ERROR FLAGS : TEMPORARY STORAGE SEQ 0233 CZRMDCO RMO3/2 FCTNL TST 2 12-DEC-78 08:24 CZRMOC.P11 8 i D e W D il e 3IAAIIIAAIAL D il el s il LW = :(1) : : : : : 056416 ASSUMED TO HWAVE BEEN SET 0, INDICATES THE DRIVE LOST VOLUME VALID PIP = 1, INDICATES THAT THE DRIVE 1S OFF CYLINDER .SK1 = 1. INDICATES THE DRIVE HAS AN UNEXPECTED SKI ERROR .DVC = 1. INDICATES AN UNEXPECTED DEVICE FAULT PC.STCDRVSTS 279 PC,a(SP)+ :CLEAR USER'S ERROR CALL 056432 056436 056442 056446 013746 042716 022726 001524 001342 147677 010100 056450 056456 056460 056466 032737 001030 032737 001024 010000 001342 020000 001344 001342 010000 001342 000004 000207 000002 001140 001140 001142 ~ (v 1v ] - AN — ~N~N 000004 000000 000004 NSO WIN WK 062716 105076 162716 (=l=1=] 056416 056422 056426 056470 056476 056504 056512 056516 056524 056530 056532 JSR BR NOP ERROR JSR 177 RETURN HERE IF NO ERROR RETURN HERE TO REPORT AN ERROR ERROR NUMBER DEFINED BY SUB GO BACK TO SUB FOR MORE ERROR CHECKS RETURN HERE IF NO MORE ERRORS STCDRVSTS: _.o-.-og 11474 : 1S :THE SUBROUTINE 1S CALLED AFTER STORING STATUS IN THE GET BUFFER. OO0 — 11470 11471 11472 11473 .MOL = 0, INDICATES DRIVE WENT OFFLINE, NOTE : : ; 5N Pbt >F S wirnv s 11464 11465 11466 11467 11468 11469 ; :THAT MOL i il 11463 ) :1F TRUE: e D i il i — D D e ;THE FOLLOWING CONDITIONS ARE TESTED AND REPORTED AS ERRORS D e el e el e D 11455 11456 11457 11458 11459 11460 11461 11462 STATIC DRIVE STATUS CHECK SUBROUTINE :THIS SUBROUTINE LOOKS FOR UNEXPECTED CHANGES IN DRIVE :STATUS, SUCH AS THE DRIVE LOSING VOLUME VALID. THE SUBROUTINE :CAN BE USED BY HOUSEKEEPING AND OTHER COMMANDS DURING WHICH THERE :SHOULD NOT BE ANY DRIVE ERRORS OR CHANGES IN STATE. 2k aF oF o il il D e .SBTTL 11445 11446 11447 11448 114649 11450 11451 11452 11453 114654 3 MACY11 30A(1052) 04=JAN-79 11:23 PAGE 234 STATIC DRIVE STATUS CHECK SUBROUTINE 000010 ADD CLRB SUB #4,(SP) a(SP) #4, (SP) :MOVE SP TO USER'S ERROR CALL :CLEAR ERROR NUMBER ‘MOVE SP BACK TO NO ERROR RETURN MoV BIC CMP RMDSI,-(SP) :PUT DRIVE STATUS ON STACK #AC<PIP!MOL!VV>, (SP) #MOL'VV,(SP)+ ;ARE MOL,VV AND PIP 0.K.2? SSEE IF *MOLTM = W' = 1, AND 'PiP" = 0 BEQ 000000 308 TYES!! :REPORT AN ERROR IF MOL = O AND "'OPI' = 0 BIT #MOL ,RMDS ] BIS #MOL , $GDDAT BNE BIT BNE MOV MOV ADD move SUB gag 10$ #OP1,RMER1] 108 RMDSI,$GODAT ;1S MOL ON ?2? SYES!! ‘WAS “'OPI'* SET?? :YES=DONT REPORT 'MOL'* = 0 :EXPECTED STATUS RMDSI,$BODAT 94, (SP) ;RECEIVED STATUS ‘MOVE SP TO USER'S ERROR CALL #2,(SP) :MOVE SP TO RETURN FOR ERROR #207.a(sP) PC.a(SP)+ #10, (sP) ‘WRITE ERROR NUMBER IN CALL ‘REPORT ERROR VIA USER :MOVE SP BACK TO NO ERROR RETURN SEQ 0234 CZRMDCO RMO3/2 FCINL TST 2 CIRMDC.PN 12-DEC-78 08:24 11475 }}2;'7’ 056536 056540 000240 11478 11479 11480 11481 11482 11483 11484 11485 11486 056540 056546 056550 056556 056560 056566 056576 056602 032737 001030 032737 001024 013737 052737 013737 062716 11488 11489 056614 056620 162716 004736 056626 000240 056630 056636 032737 001430 11487 11490 11491 056606 056622 }}:gg 056630 11494 11495 11496 11497 11498 11499 11500 11501 11502 11503 11504 11505 056640 056646 056650 056656 056664 112776 162716 032737 001024 013737 042737 013737 056672 056676 056704 056710 062716 112776 162716 004736 11507 11508 11509 11510 056716 056720 000240 11511 11512 11513 056720 }}g}g 056726 056730 013746 056732 11506 056712 162716 042726 001460 MACY11 30A(1052) O04=JAN-79 11:23 C PA%E 235 STATIC DRIVE STATUS CHECK SUBROUTINE 108: 000100 001342 010000 001372 001342 000100 001342 000004 001140 001342 001142 000210 000002 000000 SUB JSR 208 : 020000 001342 040000 001372 001342 020000 001342 000004 000211 000002 001140 001140 001142 BIT BEQ BIT BNE MOV BIC MoV ADD move SUB JSR 000010 SUB 308 : NOP MOV 137577 408: 000200 001372 001372 000200 001140 001140 11522 056764 062716 000004 11524 11525 056776 057002 162716 004736 000002 11527 11528 11529 11530 057010 057012 000240 112776 000212 :WRITE ERROR NUMBER IN CALL llé.(SP) :MOVE SP BACK TO NO ERROR #2,(SP) PC,a(SP)+ 001142 ;MOVE SP TO RETURN FOR ERROR :REPORT ERROR VIA USER #PIP,RMDSI] 308 :1S DRIVE OFF CYLINDER?? ;NO!! #4,(SP) #211.3(sP) #2,(SP) PC,a(SP)+ sRECEIVED STATUS :MOVE SP TO USER'S ERROR CALL ‘WRITE ERROR NUMBER IN USER'S CALL sMOVE SP TO RETURN FOR ERROR ;REPORT ERROR VIA USER #SK1,RMER2] 30% RMDS1,$GDDAT #P1P,$GDDAT RMDS1 ,SBODAT llé.(SP) ;SEE IF ''Sk1' = 'ovC'' = 0 001372 056756 013737 001372 NOP IZiO.C(SP) ;REPORT AN ERROR IF DRIVE IS OFF CYLINDER AND °''SKI'' = 0 000000 032737 001424 013737 042737 11526 057006 MOvB SUB 056732 056740 056742 056750 11523 056770 sREPORT AN ERROR IF VOLUME VALID IS NOW ZERO AND ‘‘IVC' = 0 BIT #VV,RADS] 18 W' = 022 BNE 208 INO!! BIT #1VC,RMER2] TWAS IVC'* SET?? BNE 208 SYES-DONT REPORT *WV'* = 0 MOV RMDSI,$GODAT :EXPECTED STATUS BIS #VV,RMDS] MOV RMDS]1,$BDDAT ;RECEIVED STATUS ADD #4,(SP) ;MOVE SP TO USER'S ERROR CALL 000010 11516 11517 11518 11519 11520 11521 NOP BIC BEQ RMERZ2] ,~-(SP) :WAS ''SK]'* SET?? :YES=DONT REPORT 'PIP' = 1 JEXPECTED STATUS sMOVE SP TO NO ERROR RETURN :PUT ERROR REG 2 ON STACK #AC<SKI'DVC>,(SP)+ 60% :BRANCH IF NO ERROR :REPORT AN ERROR IF THERE 1S A DEVICE FAULT BIT #OVC ,RMER2] ;ANY DEVICE FAULT?2? BEQ 508 INO!! MOV RMER21,SGDDAT :EXPECTED STATUS BIC #OVC, SGDDAT MOV RMER2],$BODAT ;RECEIVED STATUS MOvB #212.a(sp) ‘WRITE NUMBER OF ERROR IN CALL ADD 000000 SUB JSR 162716 000010 SUB 508: NOP #6,(SP) #2,(SP) PC,a(SP)+ 110, (sP) et :REPORT AN ERROR IF ''SkI'' = 1 :MOVE SP TO USEP'S CALL sMOVE SP TO RETURN FOR ERROR sREPORT ERROR VIA USER ‘MOVE SP BACK TO NO ERROR SEQ 0235 CZRADCO RMO3/2 FCTINL TST 2 CZIRMOC.P11 12-DEC-78 08:24 D 3 MACY11 30A(1052) 04=JAN-79 11:23 PAGE 236 STATIC DRIVE STATUS CMECK SUBROUTINE 11531 11532 11533 057012 057020 057022 032737 001424 013737 040000 001372 11535 057036 042737 013737 001372 040000 062716 001372 001140 001140 000004 11534 11sgo 11537 11538 11539 057030 057046 057050 057056 112776 162716 057062 004736 11541 }}gzg 057070 057072 000240 11544 11545 11546 11547 11548 11549 11550 11551 11552 057072 057076 057102 0571064 057110 057112 057116 057120 062716 105776 001403 062716 000402 162716 000240 000207 11540 057064 162716 000213 000002 000004 ;1S THERE A SEEK INCOMPLETE ERROR INO!! :EXPECTED STATUS MoV RMER2],$BDDAT ;RECEIVED STATUS #213.a(sp) *WRITE ERROR NUMBER IN USER'S ERROR CALL ADD 000000 move SUB JSR SUB 608 : 000004 #SK1,RMER2] 608 RMER21,8GDDAT BIC 001142 000010 000004 000000 BIT BEQ MOV NOP #5K1,$GDDAT 94, (SP) #2,(SP) PC.a(SP)+ 90, (sP) ‘MOVE SP TO USER'S ERROR CALL ‘MOVE SP TO RETURN FOR ERROR *REPORT ERROR VIA USER SMOVE SP BACK TO NO ERROR sAUGMENT THE RETURN ADDRESS IF ANY ERROR WAS DETECTED ADD #6,(SP) :MOVE SP TO USER'S ERROR CALL T1STB a(SP) :WAS AN ERROR DETECTED?? BEQ 708 INO!! ADD #4,(SP) :YES = MOVE SP TO USER'S ERROR RETURN BR 80$ 708: SUB #4,(SP) :NO - MOVE SP TO NO ERROR RETURN 80$: NOP RTS PC JRETURN TO USER SEQ 0236 CZRMDCO RMO3/2 FCTINL TST 2 12-DEC-78 08:2¢4 CZRMDC.P1Y E B o o SFGRZLE D i o e e 3 3 gO‘ D D D el el el i d e el B sCALL: (1) S 3 3 3 : 3 3 RLRRR wr — STEIEIRERZS d el D D e el i e D D ol i D 057122 22 JSR .WORD .WORD BR NOP ERROR JSR 77 PC,CMPERRSTS 77 PC,a(SP)+ MASK FOR ERROR REGISTER 1 MASK FOR ERROR REGISTER 2 RETURN HERE IF NO ERROR RETURN HERE TO REPORT AN ERROR ERROR NUMBER DEF INED BY SuB GO BACK TO SUB FOR MORE ERROR CMECKS RETURN HERE IF NO MORE ERRORS CMPERRSTS: 057122 057130 057136 057142 057150 013737 047637 062716 013737 047637 057156 057162 057166 062716 057172 001344 000000 000002 001372 000000 001176 001176 ;MASK AND STORE THE CONTENTS OF RMER1 MOV BIC ADD MOV BIC 001200 001200 ADD CLRB sus 105076 162716 AND RMERZ2 RMER11,$THP1 ;STORE RMER1 AT TEMP STORAGE #2,(SP) RMER2],$TMP2 a(SP) ,$THP2 :MOVE SP TO NEXT MASK ;STORE RMER2 AT TEMP STORAGE ;MASK RMER?2 a8(SP) ,$THP1 ;CLEAR USER'S ERROR CALL #6, (SP) 8(SP) #4,(SP) ;MASK RMER! ;MOVE SP TO USER'S ERROR CALL :CLEAR ERROR NUMBER ;LEAVE SP AT NO ERROR RETURN :SEE IF THERE WERE ANY ERRORS IN RMER1, I.E., STMPI 001176 001176 001140 00O D ) il -l ) - e s e - - - D el e D e - — D e VAN N NN AN AU d e s COMPOSITE ERROR CHECK SUBROUTINE sNOTE: BITS TO BE MASKED SHOULD BE ONE; BITS TO BE TESTED SHOULD ;BE ZERO ST $THPI ;ANY ERRORS TO REPORT?? ADD MOVB #6,(SP) #66,3(SP) :MOVE SP TO USER'S ERROR CALL :CORRECTABLE DATA CHECK ERROR # BEQ MOV CLR 001142 000000 SUB JSR 383 000010 5$ $TMP1,$BODAT $GDDAT #2,(5P) PC.a(SP)+ 910, (SP) INO !! :RECEIVED STATUS FOR TYPEOUT SEXPECTED STATUS FOR TYPEOUT :MOVE SP TO RETURN FOR ERROR :REPORT ERROR VIA USER :MOVE SP BACK TO BRANCH 5%: 057240 D e s -l —lh el D el e s Dl el — SEQ 0237 ;THIS SUBROUTINE CHECKS THE STORED CONTENTS OF RMER1 AND ;RMER2 AFTER MASKING EACH REGISTER WORD WITH THE USER'S STATUS sMASKS AND REPORTS AN ERROR IF ANY BITS ARE LEFT ON AFTER :THE MASKS ARE APPLIED. e ) D il D D il il .SBTTL 4 D e D il il il D D il il D il D il D i o el s D e e D d VAWV WA AN WAVAWA AN VA VWA VW AN AN WAWNLYWN NNNNNNNN N o ocoow VNN VNV N 0 co~woOw 11553 — 3 MACY11 30AC1052) 04=JAN-79 11:23 PAGE 237 COMPOSITE ERROR CHECK SUBROUTINE 057240 057244 001200 057246 057254 057260 001200 001140 000004 ;SEE IF THERE ARE ANY ERRORS TO REPORT IN RMER2 ($TMP2) 181 $TMP2 :ANY ERRORS IN RMERZ2? Mov CLR ADD $TMP2,$BDDAT $GDDAT #6,(SP) ;RECEIVED STATUS FOR TYPEOUT ;EXPECTED STATUS FOR TYPEOQUT ;MOVE SP TO USER'S ERROR CALL BEQ 001142 108 :NO!! CZRMDCO RMO3/2 FCTINL TST 2 CZRMOC.P11 12-DEC-78 08:24 MACYTT 30A(1052) 11609 11610 11611 11612 11613 11616 11615 057264 057272 057276 057300 0573064 057306 112776 162716 004736 162716 000240 000067 000002 000000 11617 11618 11619 11620 11621 11622 11623 11624 057306 057312 057316 057320 057324 057326 057332 062716 105776 001403 062716 000402 162716 000207 000004 000000 11616 11625 11:23 F 3 PAGE 238 COMPOSITE ERROR CHECK SUBROUTINE MOvB SuB JSR SuB 000010 108: NOP 267,3(SP) #2,(SP) PC.a(SP)+ 90, (sP) :WR1TE ERROR NUMBER IN USER'S CALL :MOVE SP TO RETURN FOR ERROR *REPORT ERROR VIA USER :MOVE SP TO NO ERROR RETURN :AUGHENTA;SE RETURN ADDRESS IF ANY ERROR WAS DETECTED 1S18 #4,(SP) 8(SP) sMOVE SP TO USER'S ERROR CALL :WAS THERE AN ERROR CALLED?? ADD ;86(SP) JYES = MOVE SP TO ERROR RETURN RTS ¥4, (SP) PC sMOVE SP TO NO ERROR RETURN ;RETURN TO USER BEQ 000004 000004 04=JAN=79 20%: 308: B8R SuB 20% :NO!! SEQ 0238 CZRMDCO RMO3/2 FCINL TST 2 CZRMDC.P11 12-DEC-78 08:2¢4 6 3 MACY11 30A(1052) 0&4=JAN-79 11:23 PAGE 239 STOP AND SHUTDOWN SUBROUTINES }}gg? }}g%g .SBTTL 057334 057350 0573564 057360 057362 012746 012746 000002 11642 057362 000207 11645 11646 11647 11648 11649 11650 11651 11652 11653 11656 11655 11656 11657 11658 11659 11660 057364 057372 057372 057376 057400 057406 057410 057414 057416 057422 057422 057426 057434 057442 057450 012737 177777 005737 001002 000137 104401 005737 001402 000137 001326 o STOP AND SHUTDOWN SUBROUTINES STOP: 11630 11631 11632 11633 11636 11635 11636 11637 11638 11639 }}22? 0573364 057340 057344 057346 057346 SEQ 0239 012746 012746 000002 ;:DROP PRIORITY TO ALLOW CONSOLE INTERRUPT MOV #PR3,~(SP) :;PUT NEW PS MOV 1643 ,-(SP) ::PUT NEW PC RTI : :POP NEW PC 64$: NOP ;RAISE PRIORITY TO INHIBIT INTERRUPT MOV #PR6 ,-(SP) ::PUT NEW PS MOV #65%,-(SP) ::PUT NEW PC RTI ::POP NEW PC 65%: 000140 057346 000240 000137 042526 051501 0425264 000 057452 000300 057362 001326 005324 052123 044040 006504 RTS PC : CONTINUE SHUT2: SHUT: MOV #-1,CTLFG :SET CONTROL=-C FLAG TST BNE JMP TYPE 18T BEQ JMP o¥(TLFG .+6 READY ,100% YA 10$ $EOP JHALT ? sBRANHC IF YES : CONTINUE :TYPE THE HALT MESSAGE ;RUNNING STANDALONE ?? JYES !! :NO = GO TO END OF PASS ASClZ START ;60 TO START ATEST WAS WALTED@<CR><LF><LF> 108: 053440 046101 005012 ON STACK ON STACK AND PS 108: 007124 057426 000042 032766 ON STACK ON STACK AND PS 1008: .EVEN Al CZRMDCO RMO3/2 FCTNL 1ST 2 12-DEC-78 08:24 CZRMDC.P1 33331 33 SAVREG B ;*UPON RETURN FROM $SAVREG THE STACK WILL LOOK LIKE: ' LeTOP-==(+16) SNNNNNSN ~=~ ~ & ONO VIS W ~N— (=] ococoocoo oo o p b ek e e D o b b — e e —— B e b b S38EEREEERRES b h -[ el — = ) - - D - D - B — —ld - - - ;v 42-==(+18) v 4h===RS ;s 4b6===R4 ;¢ 48---R3 s#410---R2 ;41 2-==R1 ;*414---R0 057452 057452 057454 057456 057460 057462 057464 057466 057472 057476 057502 057506 $SAVREG: 2 SIRIRER28 3= 2 b — - 2 NNNNNNNNYNNYNNNNYNYNY oVEswWNN—=O MOV MOV MOV MoV RO,=(SP) R1,-(SP) R2,=(SP) R3,=(SP) ;sPUSH RO ON STACK ;:PUSH R1 ON STACK :sPUSH R2 ON STACK ::PUSH R3 ON STACK MOV MOV MOV MOV R5,-(SP) 22(SP) ,=(SP) 22(SP) ,=(SP) 22(SP) ,=(SP) ssPUSH RS ON STACK :sSAVE PS OF MAIN FLOW ;sSAVE PC OF MAIN FLOW MOv 000022 000022 000022 000022 :?Y R4 ,-(SP) 22(SP) ,=(SP) ;:PUSH R& ON STACK ;:SAVE PS OF CALL :sSAVE PC OF CALL ;s*RESTORE RO-RS D —h —_— SAVE AND RESTORE RO-R5 ROUTiNES :*SAVE RO-RS S = -l D - D s -l —ld - ) —ld = ) - —h D il el ) D D il D el D ol il il —h D — Dl s s Dl Dl — — SEQ 0240 s*CALL: s*CALL: 699 3 ::""""""""""'"""""""""l."'."""'"t..""l' D ) D el el .SBTTL T D 11661 H MACY1T 30A(1052) 04=JAN-79 11:23 PAGE 240 SAVE AND RESTORE RO-RS ROUTINES . 057510 057510 057514 057520 057524 057530 057532 057534 000022 000022 000022 000022 SRESREG: RESREG MOV MOV MoV MOV MOV MOV MOV MOV MOV MOV 057536 057540 057542 057544 .SBTTL A A2 RTI1 (SP)+,22(SP) (SP)+,22(SP) (SP)+,22(SP) (SP)+,22(SP) (SP)+ RS (SP)+ R4 (SP)+ ,R3 (SP)+ ,R2 (SP)+ ,R1 (SP)+,RO :sRESTORE PC OF CALL ::RESTORE PS OF CALL ::RESTORE PC OF MAIN FLOW ;sRESTORE PS OF MAIN FLOW ::POP STACK INTO RS ::POP STACK INTO Ré ::POP ::POP ::POP ::POP STACK STACK STACK STACK INTO INTO INTO INTO R3 R2 R1 RO BINARY TO ASCII AND TYPE ROUTINE 22022000 2202 Rd0RRRRRRRRRRRRR 02 02 22202222 R D) :*THIS ROUTINE IS USED TO CHANGE A 16-BIT BINARY NUMBER TO A 16-BIT ;*BINARY=ASCI] NUMBER AND TYPE IT. s*CALL: . X 057546 057550 010146 016601 000006 MOV TYPBN $TYPBN: MOV MOV NUMBER,~=(SP) : sNUMBER TO BE TYPED R1,-(SP) ;sSAVE R1 ON THE STACK 6(SP) ,R1 sTYPE 1T ::GET THE INPUT NUMBER CZRMDCO RMO3/2 FCTNL TST 2 CZRMDC.P11 12-DEC-78 08:24 11717 11718 11719 11720 11721 11722 11723 11724 11725 11726 11727 11728 11729 11730 057554 057556 057564 057566 057570 057574 057600 057602 057604 057606 057614 057616 057620 000261 112737 006101 001406 105537 104401 000241 000765 012601 016666 012616 000002 000 000060 1 3 MACY11 30A(1052) 04=JAN-79 11:23 PAGE 241 BINARY TO ASCI1 AND TYPE ROUTINE 057620 13: 057620 057620 000002 000004 000 28: $BIN: .SBTTL SEC MOVB ROL BEQ ADCB TYPE cLe BR MOV MOV MOV RTI .BYTE CONVERT #°0,$BIN RI 28 SBIN ,$BIN 1 (SP)+,R 2(SP).4(SP) (SP)+.(SP) SEQ 0241 :3SET "'C"* SO CAN KEEP TRACK OF THE NUMBER OF BITS ::SET CHARACTER TO AN ASCII ‘0", :IGET THIS BIT : DONE? :INO==SET THE CHARACTER EQUAL TO THIS BIT ::60 TYPE THIS BIT :ICLEAR "'C"* SO CAN KEEP TRACK OF BITS ::60 DO THE NEXT BIT :iPOP THE STACK INTO R1 ::ADJUST THE STACK ;RETURN TO USER 0,0 ::STORAGE FOR ASCII CHAR. AND TERMINATOR BINARY TO DECIMAL AND TYPE ROUTINE 1‘732 3 :',".'"""".""""""'"""""'."."".."l."'.".."' 11733 1173 11735 11736 11737 11738 11739 :*THIS ROUTINE 1S USED TO CHANGE A 16-BIT BINARY NUMBER TO A 5-DIGIT :#SIGNED DECIMAL (ASCI1) NUMBER AND TYPE 1T. DEPENDING ON WHETHER THE :*NUMBER 1S POSITIVE OR NEGATIVE A SPACE OR A MINUS SIGN WILL BE TYPED :*BEFORE THE FIRST DIGIT OF THE NUMBER. LEADING ZEROS WILL ALWAYS BE : *REPLACED WITH SPACES. SeCALL: ie MOV NUM,=(SP) :;PUT THE BINARY NUMBER ON THE STACK 11740 11742 11743 11744 e 057622 057622 057624 11745 11746 11747 057626 057630 057632 010046 010146 010246 010346 010546 11749 11750 11751 057640 057644 057646 016605 100004 005405 11748 057634 11752 11753 11754 11755 11756 11757 11758 11759 11760 11761 11762 11763 11764 11765 11766 11767 11768 11769 057650 057656 057660 057664 057670 057672 057676 057700 057702 057704 057706 057710 057712 057714 057716 057720 057722 $TYPDS; | MOV MOy 012746 020200 112766 005000 012703 000055 112723 005002 016001 160105 002402 005202 057724 000774 060105 005702 001002 105716 100407 106316 103003 116663 057736 057742 052702 110223 000001 060036 000040 1$: 28: 060026 3%: 4: 58: 000001 000040 177777 6s: 7$: ::60 TO THE ROUTINE . MOV MOV MOV RO,-(SP) Ri.-(SP) R2.-(SP) R3.-(SP) RS,=(SP) :;PUSH ::PUSH ::PUSH ::PUSH ::PUSH MOV BPL NEG 20(SP),RS 18 RS ::GET THE INPUT NUMBER ::BR 1F_INPUT 1S POS. :iMAKE THE BINARY NUMBER POS. #' ,(R%)+ ::SET THE FIRST CHARACTER TO A BLANK MOV 000020 11770 057732 052702 000060 11771 11772 TYPDS MOVB CLR MOV move (LR MOV SUB BLT INC BR ADD 1ST BNE 1518 BNl ASLB BCC MOVB BIS BIS MOVB #20200,-(SP) #'-,1(SP) RO #SDBLK,R3 R2 SDTBL(RO),R1 RI1,RS 48 R2 3s RI,RS R2 58 (SP) 7% (SP) 68 1(SP),=1(R3) #'0,RS #' .RQ R2,(R3)+ RO ON STACK R1 ON STACK R2 ON STACK R3 ON STACK RS ON STACK ::SET BLANK SWITCH AND SIGN :iMAKE THE ASCI] NUMBER NEG. ::7ERO_THE CONSTANTS INDEX ::SETUP THE OUTPUT POINTER ::CLEAR THE BCD NUMBER ::GET THE CONSTANT ::FORM THIS BCD DIGIT :iBR 1F DONE :: INCREASE THE BCD DIGIT BY 1 ;;ADD BACK THE CONSTANT ::CHECK IF BCD DIGIT=0 :iFALL THROUGH IF 0 ::STILL DOING LEADING 0'S? :iBR IF YES :iMSD? :iBR_IF NO ::YES==SET THE SIGN :MAKE THE BCD DIGIT ASCII SiMAKE 1T A SPACE 1F NOT ALREADY A DIGIT :iPUT THIS CHARACTER IN THE OUTPUT BUFFER CZRMDCO RMO3/2 FCTNL TST 2 CZRMDC.P11 12-DEC-78 08:2¢4 VOO SNNN~N SNNNNNNNNN NNNNN:-‘-‘-‘_‘-‘-‘-“-‘-‘ 005720 020027 002746 NSNSNNNNNNNNY 187 000010 CHP 8%: 177777 — 883282283333 E@SFaIaS 057744 177776 MovB CLRB MOV 060036 000002 MOV MOV MOV TYPE 000004 MOV $DTBL: 000004 $DBLK: .SBTIL 3 MOV RTI SEQ 0242 (RO) ¢+ ::JUST INCREMENT ING 2% 8% RS.R2 6% (SP)+ 9% ::60 DO THE NEXT DIGIT ::60 TO EXIT ::GET THE LSD ::60 CHANGE TO ASCII s:WAS THE LSD THE FIRST NON-ZERO? ::BR IF NO RO,#10 =1(SP),=2(R3) (R3) (SP)+,RS (SP)+ ,R3 (SP)+,R2 (SP)+ R (SP)+,RO . SDBLK 2(SP) ,4(SP) (SP)+,(SP) ::CHECK THE TABLE INDEX ;:;YES==SET THE SIGN FOR TYPING ::SET THE TERMINATOR ::POP STACK INTO RS . ::POP STACK INTO R3 ::POP STACK INTO R2 ::POP STACK INTO R1 ::POP STACK INTO RO ssNOW TYPE THE NUMBER ::ADJUST THE STACK ;sRETURN TO USER 10000. 1000. 100. 10. .BLKW & BINARY TO OCTAL (ASCI1) AND TYPE ;:t"t."'.t"""""'t"""""""ttttt"'t't"'l!'tl't"l"' s*THIS ROUTINE 1S USED TO CHANGE A 16-BIT BINARY NUMBER TO A 6-DIGIT ;*OCTAL (ASCJ1) NUMBER AND TYPE 1T, :':IVPOS---ENIER HERE TO SETUP SUPPRESS ZEROS AND NUMBER OF DIGITS TO TYPE D s D -l D ) D J*CALL: i MOV NUM,=-(SP) : ;NUMBER TO BE TYPED i e L L .BYTE BYTE N M ::N=1 TO 6 FOR NUMBER OF DIGITS TO TYPE ::sM=1 0R 0 ::1=TYPE LEADING ZEROS ::0=SUPPRESS LEADING ZEROS Dl D il i TYPOS i ssCALL FOR TYPEOUT :*$TYPON====ENTER HERE TO TYPE OUT WITH THE SAME PARAMETERS AS THE LAST ;*$TYPOS OR S$TYPOC s*CALL: i MOV M b ] TYPON NUM,=(SP) :sNUMBER TO BE TYPED :sCALL FOR TYPEOUT :'EIYPOC---Eulea HERE FOR TYPEOUT OF A 16 BIT NUMBER s*CALL: L NUM,-(SP) : sNUMBER TO BE TYPED $TYPOS: MOV 8(SP),=(SP) ::P1CKUP THE MODE MOVB ADD BR S$TYPOC: MOVB MOVB (SP)+ ,SOMODE+1 #2,(SP) $TYPON #1,80FILL #6,90MODE +1 ; ;NUMBER OF DIGITS TO TYPE :sADJUST RETURN ADDRESS N o uug—-uub NN NN — NN — o —a g-.—.o it — WNO VS WN<LOOVDNO NS WNN—-O PNONININININIPNOIRIN = et et d s = e e = e il s D el i s D e D D il il T D el il D D o D - D il il D il Dl — — 9%: BLT BGT MoV BR 1STB BPL L[] il s D i il D D e s e il il D D D D D D D ) D ) D il D o D D D - D D D el D D ) B e D D b D i o 11773 176 75 J MACYTT 30A(1052) 04=JAN-79 11:23 PAGE 242 CONVERT BINARY TO DECIMAL AND TYPE ROUTINE 000000 060271 000002 000001 000006 060271 060273 MOV TYPOC MOvVB 1(SP),S0FILL :sCALL FOR TYPEOUT ssLOAD ZERO FILL SWITCH ssSET THE 2ERO FILL SWITCH ssSET FOR SIX(6) DIGITS CZRMDCO RMO3/2 FCINL TST 2 CIRMDC.P11 12-DEC-78 08:24 11829 11830 11831 11832 11833 11834 11835 11836 11837 11838 11839 11840 11841 11842 11843 11844. 11845 11846 11847 11848 11849 11850 11851 11852 11853 11854 11855 11856 11857 11858 11859 060106 060114 060116 060120 060122 060126 060130 060134 060140 060144 060150 060152 060154 060156 060160 060162 060164 060166 060170 060174 060176 060202 060204 060206 060210 060212 060216 060222 060226 060232 060236 11861 11862 11863 11864 11865 11866 11867 11868 060242 060244 060246 060250 060252 060254 060262 060264 11860 11869 11870 11871 11872 11873 :}g;g 060240 060266 060267 060270 060271 060272 112737 010346 010446 010546 113704 005404 062704 110437 113704 016605 005003 006105 000404 006105 006105 006105 010503 006103 105337 100016 042703 001002 005704 001403 005204 052703 052703 110337 104401 105337 003347 000005 K 3 MACY11 30A(1052) 04=JAN-T79 11:23 PAGE 243 BINARY TO OCTAL (ASCII) AND TYPE 060270 060273 000006 060272 060271 000012 060272 177770 000060 000040 060266 060266 060270 002402 005204 000744 012605 012604 012603 016666 012616 000002 000 000 000 000 000000 STYPON: MOVB MoV MoV MOV MOvB NEG ADD MOVB MOVB MOV CLR 1$: ROL BR 2%: ROL ROL ROL MOV 38: ROL DECB BPL BIC BNE ST BEQ 4%: INC BIS 5$: BIS MOVB TYPE 78: DECB BGT BLTY 68: 000002 000004 8$%: INC BR MOV MOV MOV MOV MOV RTI #5,30CNT R3,-(SP) R&,-(SP) RS,-(SP) SOMODE +1,R4 R #6,R4 R4, SOMODE SOFILL R4 12(SP) ,RS R3 RS 33 RS RS RS RS,R3 R3 $OMODE 7% #177770,R3 % & 5% R4 #'0,R3 " ,R3 R3,8% 8% SOCNT 2% 63 R4 2% (SP)+,RS (SP)+ R4 (SP)+,R3 2(SP) ,4(SP) (SP)+,(SP) .BYTE 0 BYTE 0 $SOCNT: .BYTE O $OFILL: .BYTE O $OMODE: .WORD O .SBTTL TYPE ROUTINE s:SET THE ITERATION COUNT :sSAVE R3 s :SAVE Ré ::SAVE RS s:GET THE NUMBER OF DIGITS TO TYPE ssSUBTRACT IT FOR MAX. ALLOWED ssSAVE IT FOR USE ;sGET THE ZERO FILL SWITCH :sPICKUP THE INPUT NUMBER s:CLEAR THE OUTPUT WORD : sROTATE MSB INTO °‘C*’ ::60 DO MSB ;:FORM THIS DIGIT ;:GET LSB OF THIS DIGIT s:TYPE THIS DIGIT? ::BR IF NO :;GET RID OF JUNK :;TEST FOR 0 : ;SUPPRESS THIS 0? ::BR IF YES ::DON'T SUPPRESS ANYMORE 0'S s sMAKE THIS DIGIT ASCII :sMAKE ASCI1 IF NOT ALREADY ::SAVE FOR TYPING ::60 TYPE THIS DIGIT ; ;COUNT BY 1 ::BR IF MORE TO DO ::BR IF DONE ;s INSURE LAST DIGIT ISN'T A BLANK ::60 DO THE LAST DIGIT ; ;RESTORE RS s ;RESTORE Ré& ; sRESTORE R3 s:SET THE STACK FOR RETURNING : sRETURN ::STORAGE FOR ASCII DIGIT : s TERMINATOR FOR TYPE ROUTINE :;OCTAL DIGIT COUNTER ;s LERO FILL SWITCH ; sNUMBER OF DIGITS TO TYPE 11876 Be e Y] 11877 11878 11879 11880 s*ROUTINE TO TYPE ASCIZ MESSAGE. MESSAGE MUST TERMINATE WITH A 0 BYTE. ;*THE ROUTINE WILL INSERT A NUMBER OF NULL CHARACTERS AFTER A LINE FEED. *NOTE1: SNULL CONTAINS THE CHARACTER TO BE USED AS THE FILLER CHARACTER. ;*NOTE2: $SFILLS CONTAINS THE NUMBER OF FILLER CHARACTERS REQUIRED. }}gg; 11883 11884 ;*NOTES3: ¥ s*CALL: $FILLC CONTAINS THE CHARACTER TO FILL AFTER. e1) USING A TRAP INSTRUCTION SEQ 0243 CZRMDCO RMO3/2 FCTINL TST 2 CZRMDC .P1Y 12-DEC~-78 08:24 MACY11 30A(1052) 04=JAN-79 TYPE ROUTINE }}ggz :'on TYPE 11887 11888 I T TYPE ME SADR $TYPE: TSTB BPL 11889 11890 11891 11892 11893 11896 11895 11896 11897 11898 11899 11900 11901 11902 11903 11904 11905 11906 11907 11908 11909 11910 11911 11912 11913 11914 11915 11916 11917 11918 11919 11920 11921 11922 11923 11924 11925 11926 11927 11928 11929 }}3;? . 060274 060300 105737 100002 060302 060304 306 060310 060314 060322 060326 060332 060334 000000 000430 010046 017600 122737 001011 132737 001405 010037 060344 060346 060354 060356 060360 000000 132737 001003 112046 001005 340 060362 004737 005726 001173 001242 000100 001243 060344 063220 _ 012600 062716 000002 122716 001430 122716 001006 005726 104401 001217 105037 000755 004737 123726 001350 013746 001170 060442 060446 060450 060454 105366 002770 004737 105337 000001 060460 000770 001243 618: 628: 28: 060364 060366 060372 060374 060400 060402 060406 060410 060412 060414 060416 060422 060426 060430 060434 060436 18: 000002 000001 000040 11:23 000002 608 : 3s: 000011 4$: 000200 060552 060506 001172 5%: 6%: HALT BR MOV MoV CMPB BNE 8118 BEQ MOV JSR WORD BITB BNE MOVB BNE 1ST1 060506 060552 }}3;% ;sMESADR IS FIRST ADDRESS OF AN ASCIZ STRING STPFLG 1% ::1S THERE A TERMINAL? ;:BR IF YES 7% * RO,=(SP) 82(SP),RO FAPTENV,SENV 62% #APTSPOOL , SENVM 62% RO,61% PC,SATY3 O WAPTCSUP,SENVM 608 (RO)+,-(SP) X3 (SP)+ SCHARCNT 2% PC,STYPEC $FILLC,(SP)+ 28 DECB BLT JSR DECB 1(5P) 6% PC,STYPEC SCHARCNT 1] 3 PAGE 244 JMESADR MOV ADD RT1 CMPB BEQ CMPB BNE ST TYPE $CRLF CLRB B JSR CMPB BNE MOV 78: L (SP)+,R0 #2,(5P) #HT, (SP) “% #CRLF, (SP) 5% (SP)+ $NULL,=(SP) 7% ::HALT HERE IF NO TERMINAL ;;LEAVE ::SAVE RO ::GET ADDRESS OF ASCIZ STRING : :RUNNING IN APT MODE ::NO,GO CHECK FOR APT CONSOLE ; ;SPOOL MESSAGE TO APT ::NO,GO CHECK FOR CONSOLE ::SETUP MESSAGE ADDRESS FOR APT ::SPOOL MESSAGE TO APT : sMESSAGE ADDRESS ;;APT CONSOLE SUPPRESSED ::YES,SKIP TYPE OUT ::PUSH CHARACTER TO BE TYPED ONTO STACK ::BR IF IT ISN'T THE TERMINATCR ::1F TERMINATOR POP IT OFF THE STACK ::RESTORE RO :;ADJUST RETURN PC : :RETURN :sBRANCH IF <HT> ::BRANCH IF NOT <CRLF> ::POP <CR><LF> EQUIV ::TYPE A CR AND LF ::CLEAR CHARACTER COUNT ::GET NEXT CHARACTER ::60 TYPE THIS CHARACTER ::1S IT TIME FOR FILLER CMARS.? ;:1F NO GO GET NEXT CHAR. ::GET # OF FILLER CHARS. NEEDED :;AND THE NULL CHAR. ::DOES A NULL NEED TO BE TYPED? ::BR IF NO--GO POP THE NULL OFF OF STACK ::60 TYPE A NULL ::D0 NOT COUNT AS A COUNT ;s LOOP :HORIZONTAL TAB PROCESSOR 11934 060462 112716 000040 11936 11937 11938 11939 11940 060472 060500 060502 060504 060506 132737 001372 005726 000724 105777 000007 11935 060666 004737 060506 120452 8s: 060552 98 : MOVB JSR BITB BNE 1s1 BR $TYPEC: TSTB " ,(SP) PC,STYPEC #7,$CHARCNT 2% (SP)+ 2% asTPs :;REPLACE TAB WITH SPACE ::TYPE A SPACE : ;BRANCH IF NOT AT ::TAB STOP :;POP SPACE OFF STACK ::GET NEXT CHARACTER ;:WAIT UNTIL PRINTER 1S READY SEQ 0244 CZRMDCO RMO3/2 FCTNL TST 2 CZRMOC.P11 12-DEC-78 08:24 11941 11942 119643 1194 11945 11946 11947 1198 11949 11950 }}gg; 060512 060514 060522 060530 060532 060536 060540 060546 060550 060552 0605564 100375 116677 122766 001003 105037 000406 122766 001402 105227 000000 000207 000002 000015 MACY11 30A(1052) 04=JAN-79 TYPE ROUTINE 120444 000002 060552 000012 000002 8PL MOVB CHPB BNE CLRB BR 1$%: CHPB BEQ INCB $CHARCNT: . WORD STYPEX: RTS 11:23 n3 PAGE 245 STYPEC 2(SP) ,3%1PB #CR,2(SP) 13 SCHARCNT STYPEX #LF , 2(SP) STYPEX (PC)+ O PC SEQ 0245 ssLOAD CHAR TO BE TYPED INTO DATA REG. 2:1S CHARACTER A CARRIAGE RETURN? ::BRANCH IF NO . ::YES==CLEAR CMARACTER COUNT SIEXIT :31S CHARACTER A LINE FEED? ::BRANCH IF YES ::COUNT THE CHARACTER :CHARACTER COUNT STORAGE }}3;2 .SBTTL 11955 A 11956 11957 11958 11959 11960 11961 11962 11963 11964 11965 11966 11967 11968 11969 11970 :*THIS ROUTINE CONTROLS THE LOOPING OF SUBTESTS. IT WILL INCREMENT ;*AND LOAD THE TEST NUMBER(STSTNM) INTO THE DISPLAY REG.(DISPLAY<7:0>) ;*AND LOAD THE ERROR FLAG (SERFLG) INTO DISPLAY<15:08> ;*THE SWITCH OPTIONS PROVIDED BY THIS ROUTINE ARE: seSWl4=1 LOOP ON TEST eSW11=1 INHIBIT ITERATIONS ; *SW09=1 LOOP ON ERROR ; *SW08=1 LOOP ON TEST IN SWR<7:0> :#CALL . SCOPE ; :SCOPE=10T 11971 11972 11973 11974 11975 11976 060556 060556 560 S6& 104410 004737 032777 060574 000416 060576 060602 013746 012737 000004 060622 060614 060620 060622 060626 060630 060632 060632 060640 060642 060646 060650 060652 012637 000500 022626 012637 000440 000004 000400 060656 060660 032777 001421 005046 117716 001414 022716 002411 011637 060666 060670 060676 060700 006316 062716 013637 000466 060572 001131 11977 060610 005737 11978 11979 11980 11981 11982 11983 11984 11985 11986 11987 11988 11989 11990 11991 11992 060664 w%u 11993 11996 11995 11996 SCOPE HANDLER ROUTINE R $SCOPE: 057334 040000 177060 000035 001116 061074 001122 PC,STOP #BIT14,38SWR ssTEST R R R e e eyys FOR CHANGE IN SOFT-SWR 120362 1%: 000004 SWANANSTART OF CODE FOR THE XOR TESTERANNAN $XTSTR: BR 6% ::1F RUNNING ON THE ''XOR'' TESTER CMHANGE :3THIS INSTRUCTION TO A "NOP'' (NOP=240) MOV OFERRVEC,=(SP) ::;SAVE THE CONTENTS OF THE ERROR VECTOR MOV #58 QMERRVEC ;:SET FOR TIMEOUT 000004 120304 CKSWR JSR BIT R 120314 BNE S$OVER ::LO00P ON PRESENT TEST? SIYES IF SW14=1 ST ar1 77060 ::TIME OUT ON XOR? BLT MOV 88 (SP),$TSTNM ::BRANCH IF TEST NUMBER IS OUT OF RANGE ::UPDATE THE TEST NUMBER ASL ADD MOV BR (SP) #SSWOBTBL, (SP) 3(SP)+,SLPADR $OVER ::SCALE THE TEST NUMBER AS AN INDEX ::FORM THE ADDRESS OF TEST POINTER ::SET LOOP ADDRESS TO DESIRED TEST 1160 LOOP ON THE TEST MoV (SP)+,3#ERRVEC ::RESTORE THE ERROR VECTOR BR $SVLAD 1360 TO THE NEXT TEST 58 CHP (SP)+,(SP)+ ::CLEAR THE STACK AFTER A TIME OUT MOV (SP)+.3#ERRVEC ::RESTORE THE ERROR VECTOR BR 7% ::LOOP ON THE PRESENT TEST 68:: MMMNSEND OF CODE FOR THE XOR TESTERMANAN BIT #B1T08,3SWR ;:LOOP ON SPEC. TEST? BEQ 2% ::BR IF NO CLR -(SP) ::CLEAR A TEMP. LOCATION MOVB @SWR,(SP) ::PICKUP THE DESIRED TEST NUMBER BEQ Be ::BRANCH IF BAD TEST NUMBER IN SWR CHP #35,(SP) ::CHECK THE NUMBER IN THE SWR DEC (SP) : :BACKUP BY ONE CZRMDCO RMO3/2 FCINL TST 2 CZRMDC.P11 11997 11998 11999 12000 12001 12002 12003 12006 12005 12006 12007 12008 12009 12010 12011 1%812 12013 12014 12015 12016 12017 12018 12019 12020 12021 12022 12023 12026 12025 12026 12027 12028 12029 12030 12031 12032 12033 12034 12035 12036 12037 12038 12039 12040 12041 12062 12043 12044 120645 12046 12047 120648 12049 12050 12051 12052 060702 060704 060710 060712 060720 060722 060730 060732 060740 060742 060746 060752 060754 060762 0607 060770 060772 060776 061004 061006 061014 061022 061026 061034 061040 061044 061050 061056 061064 061070 061072 061074 061074 061076 061100 061102 061104 061106 061110 061112 061114 061116 061120 061122 061126 061126 061130 061132 061134 061136 061140 061142 061144 061146 061150 061152 12-DEC-78 08:24 005726 105737 001421 123737 101015 032777 001624 013737 000446 105037 005037 000415 032777 001011 005737 001406 005237 023737 002024 012737 013737 105237 113737 011637 011637 005037 112737 013777 013716 000002 000012 007164 007362 007546 007730 010530 011330 012144 012720 013640 014440 015214 016132 016706 017462 020236 021040 021564 022310 023032 023330 023626 024354 025102 025630 MACY1T 30A€1052) O4=JAN-79 11:23 NPAéfi 246 8s: 2%: 001117 001131 001117 001000 120224 001126 001122 001117 001206 004000 120172 001230 001120 001206 000001 061072 001116 001116 001122 001124 001210 000001 001116 001122 SEQ 0246 SCOPE HANDLER ROUTINE 001120 001120 001206 001226 001131 120072 187 1518 BEQ CAPB BHI 817 BEQ 7%: MOV BR 48: CLRB CLR BR 38: BIT BNE 15 BEQ INC CHP BGE 18: MOV MOV $SVLAD: INCB MOvB MOV MOV CLR MOVB SOVER: MOV MOV RTI SMXCNT: 10, $SWOBTBL: LWORD .WORD .WORD WORD LWORD WORD LWORD .WORD LWORD LWORD LWORD LWORD LWORD LWORD LWORD LWORD .WORD .WORD LWORD LWORD LWORD LWORD LWORD .WORD (SP)+ SERFLG 3% SERMAX,SERFLG 3% #81709,3SwR 4% SLPERR,SLPADR SOVER SERFLG STIMES 1% #BIT11,3SWR 1% $PASS 1% $1CNT STIMES,SICNT SOVER #1,81CNT SMXCNT ,STIMES STSTNAM STSTNM STESTN (SP) ,SLPADR (SP) ,SLPERR S$ESCAPE #1,SERMAX STSTNM, SD1SPLAY SLPADR, (SP) TST142 TST2+42 TST3¢2 TST4+2 TST5¢2 TST6+2 TST7+42 TST10+2 TST1142 TST12+42 TST13+42 TST1442 TST15¢2 TST16+42 TST17+42 TST20+2 TSTZ21+42 TST22+42 TST23+2 TST2442 TST25+42 TST26+42 TST27+2 TST30+2 s sCLEAN THE BAD TEST NUMBER OFF OF THE STACK ::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 IERO _THE ERROR FLAG :sCLEAR THE NUMBER OF ITERATIONS TO MAKE s ;ESCAPE TO THE NEXT TEST ::INHIBIT ITERATIONS? ::BR IF YES :s1F FIRST PASS OF PROGRAM HH INHIBIT ITERATIONS s s INCREMENT ITERATION COUNT :;CHECK THE NUMBER OF ITERATIONS MADE s:BR IF MORE ITERATION REQUIRED ssREINITIALIZE THE ITERATION COUNTER ;;SET NUMBER OF ITERATIONS TO DO : ;COUNT TEST NUMBERS ;;SET TEST NUMBER IN APT MAILBOX ::SAVE SCOPE LOOP ADDRESS ::SAVE ERROR LOOP ADDRESS s sCLEAR THE ESCAPE FROM ERROR ADDRESS ;sONLY ALLOW ONE(1) ERROR ON NEXT TEST ;;DISPLAY TEST NUMBER : sFUDGE RETURN ADDRESS :sFIXES PS ;sMAX. NUMBER OF ITERATIONS : ;STARTING ADDRESS OF : :STARTING ADDRESS OF : ;STARTING ADDRESS OF ;;STARTING ADDRESS OF : ;STARTING ADDRESS OF ::STARTING ADDRESS OF : :STARTING ADDRESS OF :;STARTING ADDRESS OF : ;STARTING ADDRESS OF : ;STARTING ADDRESS OF :;STARTING ADDRESS OF ;s STARTING ADDRESS OF : ;STARTING ADDRESS OF : ;STARTING ADDRESS OF :sSTARTING ADDRESS OF :sSTARTING ADDRESS OF : ;STARTING ADDRESS OF :sSTARTING ADDRESS OF : :STARTING ADDRESS OF ;s STARTING ADDRESS OF ::STARTING ADDRESS OF ;s STARTING ADDRESS OF ::STARTING ADDRESS OF :;STARTING ADDRESS OF TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 264 25 26 27 30 P — . asd R R CZRMDCO RMO3/2 FCTNL TST 2 CZRMOC.P11 12-DEC-78 08:24 12053 12056 12055 12056 12057 }gggg 061154 061156 061160 061162 061164 R R R R R O R R R R R RO RO RO R R R O O MACYT1 30A(1052) 04=JAN-79 11:23 SCOPE HANDLER ROUTINE 026522 027330 030052 030574 031752 .SBTTL R OO B =R R R e TS ST TN S A A ;:STARTING ADDRESS OF :;STARTING ADDRESS OF :;STARTING ADDRESS OF :;STARTING ADDRESS OF : ;STARTING ADDRESS OF dddd i i TEST TEST TEST TEST TEST MMM ;*THIS ROUTINE WILL INCREMENT THE ERROR FLAG AND THE ERROR COUNT, ;*SAVE THE ERROR ITEM NUMBER AND THE ADDRESS OF THE ERROR CALL iRl 12063 12064 12065 12066 ;*AND GO TO ERRTYP ON ERROR :*THE SWITCH OPTIONS PROVIDED BY THIS ROUTINE ARE: ;*SW15=1 HALT ON ERROR ;*SW13=1 INHIBIT ERROR TYPEOUTS 12068 ; *SW09=1 12069 s*CALL }%8;? i 12072 12073 12076 12075 12076 061166 061166 061170 061174 061176 12079 061214 12077 12078 $ERROR: 104410 105237 001775 013777 001116 104401 001212 001117 061204 061212 032777 001402 12080 12081 12082 12083 12084 12085 061220 061226 061230 061236 061244 061252 005237 011637 162737 117737 032777 001004 001126 001132 000002 117670 020000 12087 12088 12089 12090 061260 061264 061264 061272 104401 001217 12092 12093 12094 12095 061302 061306 061307 061310 12086 12091 12096 12097 12098 12099 12100 12101 12102 12105 12106 }5}82 12107 12108 061254 061274 061312 061316 061320 061322 061326 061332 061334 061340 061344 82};23 061352 061360 002000 7%: 117752 117742 1$: 001132 001130 117702 004737 033176 122737 001007 000001 001242 004737 000 000 000777 001130 063230 061306 113737 005777 100002 000000 104410 032777 001402 013716 005737 001402 013716 022737 001001 22%: 2%: 117636 001000 117622 3%: 001124 001210 4%: 001210 " 033156 000042 TN TN D N N a i ddiddlddd) LOOP ON ERROR ERROR N CKSWR INCB BEQ MOV ;s TEST FOR CHANGE IN SOFT-SWR SERFLG :sSET THE ERROR FLAG 7% ;sDON'T LET THE FLAG GO TO ZERO STSTNM,SDISPLAY ;:DISPLAY TEST NUMBER AND ERROR FLAG : ;ERROR=EMT AND N=ERROR ITEM NUMBER BIT BEQ TYPE INC MoV SUB MOvB BIT BNE #BIT10,3SWR 1% ::BELL ON ERROR? ::NO = SKIP SERTTL (SP) ,SERRPC #2,8ERRPC @SERRPC,SITEMB #BIT13,3SWR 208 : sCOUNT THE NUMBER OF ERRORS ::GET ADDRESS OF ERROR INSTRUCTION TYPE +SCRLF ,SBELL PC,ERRTYP ::RING BELL ;;STRIP AND SAVE THE ERROR ITEM CODE ::SKIP TYPEOUT IF SET ::SKIP TYPEOUTS ::60 TO USER ERROR ROUTINE CMPB BNE FAPTENV,SENV 2% : RUNNING IN APT MODE :sNO,SKIP APT ERROR REPORT JSR .BYTE BYTE BR PC,SATYS 0 0 22% : REPORT FATAL ERROR TO APT MOVB 21%: AT BELL ON ERROR JSR 208: LN 31 32 33 34 35 12061 12062 ;*SW10=1 e SEQ 0247 12%0 12067 AT & PAGE 247 .WORD TST31+2 .WORD TST32+42 .WORD TST33+42 LWORD TST3442 .WORD TST35+42 ERROR WANDLER ROUTINE LA A A A A A A AR A AR A A RSO TST BPL HALT CKSWR BIT BEQ MOV 15 BEQ MOV CMP BNE $I1TEMB,21$ :sSET ITEM NUMBER AS ERROR NUMBER #B1T09,3SwR 3 SLPERR, (SP) $ESCAPE 5% : sAPT _ERROR LOOP :sHALT ON ERROR ::SKIP IF CONTINUE : sHALT ON ERROR! s TEST FOR CHANGE IN SOFT-SWR ::LOOP ON ERROR SWITCH SET? ::BR_IF NO : sFUDGE RETURN FOR LOOPING : sCHECK FOR AN ESCAPE ADDRESS : :BR_1F NONE #SENDAD 3442 6% ;sACT=11 AUTO-ACCEPT? : :BRANCH IF NO aSwWR 3% SESCAPE, (SP) : sFUDGE RETURN ADDRESS FOR ESCAPE { CZRMDCO RMO3/2 FCINL TST 2 CZRWDC.P11 12109 12110 12111 }%}}g 061362 061364 061364 12-DEC-78 08:24 ERROR WANDLER ROUTINE MACY1! 30AC1052) 000000 68 000002 LSBTTL 04=JAN-79 11:23 ¢ 4 PAGE ! 248 HALT ::YES RTI : :RETURN TTY INPUT ROUTINE 12‘ 1‘. :.'."""."""'Ql"'""'"""""'""'..""".l""tt"l"' 12115 12116 12117 12118 12119 12120 12121 12122 12123 12124 CENABL LSB $TKCNT: .WORD $TKQIN: .WORD $TKQOUT: .WORD $TKQSRT: .BLKB $TKQEND=. .EVEN 061366 061370 061372 0613764 000000 000000 000000 000001 061375 061376 ::NUMBER OF ITEMS IN QUEUE :: INPUT POINTER ::0UTPUT POINTER ::TTY KEYBOARD QUEUE ;*TK INITIALIZE ROUTINE :*THIS ROUTINE WILL INITIALIZE THE TTY KEYBOARD INPUT QUEUE }%}gg ;*SETUP THE INTERRUPT VECTOR AND TURN ON THE KEYBOARD INTERRUPT 12127 12128 }%}%g 12131 12132 12133 12134 12135 12136 12137 }g}gg O O 0 1 s*CALL: e JSR PC,STKINT $TKINT: CLR MOV MOV MOV MOV TS1 MOV RTS $TKCNT #STKQSRT,STKCIN $TKQIN,$TKQOUT #STKSRV,a#TKVEC #200,a#TKVEC+2 asTkB #100,387kS PC i 061376 061402 061410 061416 061426 061432 061436 061444 005037 012737 013737 012737 012737 005777 012777 000207 061366 061374 061370 061446 000200 117524 000100 061370 061372 000060 000062 117514 RETURN ::CLEAR COUNT OF ITEMS IN QUEUE ;:MOVE THE STARTING ADDRESS OF THE ::QUEUE INTO THE INPUT & OUTPUT POINTERS. ;:INITIALIZE THE KEYBOARD VECTOR ;:'BR" LEVEL & ::CLEAR DONE FLAG :ENABLE TTY KEYBOARD INTERRUPT ::RETURN TO CALLER 12140 12141 12142 ;*TK SERVICE ROUTINE :*THIS ROUTINE WILL SERVICE THE TTY KEYBOARD INTERRUPT :*BY READING THE CHARACTER FROM THE INPUT BUFFER AND PUTTING 12144 :«1F 12143 :«]T IN THE QUEUE. }%}22 :*UPON RETURN EXIT 1S MADE TO THE "‘CONTROL=C'' RESTART ADDRESS (SHUT2) 12147 061446 12150 12151 12152 12153 12154 12155 12156 12157 }gggg 061462 061464 061470 061474 061476 061502 061506 061510 061516 12160 12161 061520 061520 12148 061452 12149 061456 12162 12163 12164 THE CHARACTER IS A "‘CONTROL=C'* (“C) STKINT IS CALLED AND 061526 061530 061534 117746 042716 021627 001007 104401 004737 005726 000137 021627 001004 022737 001500 022737 001004 104401 005726 117510 177600 000003 $TKSRV: MOVB @$TKB,-(SP) ::P1CKUP THE CHARACTER BNE TYPE JSR 1s1 JMP CMP BNE CMP BEQ 1% ,SCNTLC PC,STKINT (SP)+ SHUT2 (SP),#7 28 #SWREG, SWR 13 ::BRANCH IF NO ::TYPE A CONTROL=C (*C) ::INIT THE KEYBOARD ::CLEAN UP STACK ::CONTROL C RESTART ::1S 1T A CONTROL 6? ::BRANCH IF NO 1315 SOFT=SWR SELECTED? ::60 TO SWR CHANGE CMP BNE TYPE 181 #1,8TKCNT BIC CMP 062562 061376 057364 000007 1$: 000176 001154 000001 061366 001212 2%: #°C177,(SP) (sP), 03 3% ,$BELL (SP)+ ::STRIP THE JUNK 2215 IT A CONTROL C? ;315 THE QUEUE FuLL? ::BRANCH IF NO ::RING THE TTY BELL ::CLEAN CHARACTER OFF OF STACK 0 02¢ kot & —_ 22822222822 000023 318: 1STB 32%: INC 6: MOve 5%: RTI 117352 061366 000140 000175 000040 177530 061370 061370 061375 061374 06137C e o = MAAAA A ek s et d o =D el e 000176 001154 117260 117254 177600 000007 8888 £8888% OOV NY — = = s NO WV b b et WLIN) - —a oo NN e el el el ol il T il — AR A AR A AR 000001 061376 117216 000001 001151 A AR ddd i #°C177, (SP) 07 (SP) BIC CMP BNE 001150 062574 062601 000176 A & PAGE 249 SEQ 0249 d i il il dd ittt ds]) ;*SOFTWARE SWITCH REGISTER CHANGE ROUTINE. ;*ROUTINE 1S ENTERED FROM THE TRAP HANDLER, AND WILL ;*SERVICE THE TEST FOR CHANGE IN SOFTWARE SWITCH REGISTER TRAP ;*CALL WHEN OPERATING IN TTY INTERRUPT MODE. $CKSWR: CMP #SWREG, SWR ::1S THE SOFT=-SWR SELECTED 15% BNE ssEXIT IF NOT 1STB a%7kKs$ ;1S A CHAR WAITING? 15% BPL ::IESNOT. EXIT MOove #%7kB,~(SP) 0" AR oo NN BNE 117374 177600 000021 000100 D ssEXIT ;1S 1T A CONTROL=-S? :sBRANCH IF NO asTKs ssDISABLE TTY KEYBOARD INTERRUPTS (SP)+ :sCLEAN CHAR OFF STACK 3STKS ssWALIT FOR A CHAR 31 ;sLOOP UNTIL ITS THERE 38TKB,-(SP) ssGET THE CMARACTER #°C177, (SP) :sMAKE IT 7-BIT ASCII (?P)O.IZI :s1S IT A CONTROL-Q? 31% s sBRANCH IF NO #100,381kS$ s sREENABLE TTY KEYBOARD INTERRUPTS :sRETURN $TKCNT :sCOUNT THIS CHARACTER (2?).'140 :31S 1T UPPER CASE? 4 :sBRANCH IF YES (SP),M75 :31S 1T A SPECIAL CHAR? 43 s sBRANCH IF YES #40,(SP) :sMAKE 1T UPPER CASE (SP)+,38TKQIN ssAND PUT IT IN QUEUE $TKQIN :sUPDATE THE POINTER gIKOIN.lillfliflb ::6G0 OFF THE END? s sBRANCH IF NO #STKQSRT,S$TKQIN :sRESET THE POINTER s sRETURN CAP 117406 11:23 5% (SP) ,#23 32% BR 3%: 117400 04=JAN-79 INPUT ROUTINE W g TTY s — MACY11 30A(1052) e e e e e ~ PN e ~— [=]=] — il ——h - —h —h - D el il D il ) - i D i D D il B il B D D e el D il il D il - NN IS L LS LS L LS L LS LS LS TN T N T NT ST NT ST NI NT N NT NI NTNT.N ~ VOO0 COOPP PR PBBRBBR I~ VS~ VNI VIO PP o 882 VS WBIN - ég<>8=*dsruhg!Uth-‘S;:BGI-id’\fil‘Uihu-‘c>1is:'diF W CZRMDCO RMO3/2 FCTNL ST 2 12-DEC-78 08:24 CZRMDC.P11 A A A A A 2% A A AR A AR R AR AR ;sMAKE 1T 7-BIT ASCII ::1S 1T A CONTROL=G? ;s1F NOT, PUT IT IN THE TTY QUEUE s sAND EXIT AR d R iRl ddddd) ;*CONTROL 1S PASSED TO THIS POINT FROM EITHER THE TTY INTERRUPT SERVICE ;*ROUTINE OR FROM THE SOFTWARE SWITCH REGISTER TRAP CALL, AS A RESULT OF A :*CONTROL=G BEING TYPED, AND THE SOFTWARE SWITCH REGISTER BEING SELECTED. $AUTOB,” 6%: CMPB :ARE WE RUNNING IN AUTO-MODE? 2% BEQ : ;BRANCH IF YES 181 (SP)+ : sCLEAR CONTROL-G OFF STACK PC,STKINT JSR ::FLUSH THE TTY INPUT QUEUE a%1ks$ CLR :;DISABLE TTY KEYBOARD INTERRUPTS MOovB #1,8INTAG :sSET INTERRUPT MODE INDICATOR $GTSWR: TYPE TYPE MOV TYPOC SCNTLG SMSUR SWREG,=(SP) : ;ECHO THE CONTROL-G (*G) : s TYPE CURRENT CONTENTS : sSAVE SWREG FOR TYPEOUT ::60 TYPE==OCTAL ASCII(ALL DIGITS) CO RMO3/2 FCTNL TST 2 c.P11 12-DEC-78 08:24 21 22 23 26 gg 061766 061772 061774 061776 062002 27 062006 062010 042716 30 31 32 33 3, 35 36 MACYT1 30A(1052) 04=JAN-79 TTY INPUT ROUTINE 104401 005046 005046 105777 100375 062612 117746 062014 062020 062022 062026 062032 062040 062062 021627 001015 106401 062706 123727 001003 012777 239 240 2641 262 2643 264 062054 062060 062062 062066 062072 021627 001005 104401 062706 000737 000025 98: 062567 000006 208: 2247 2248 2249 250 51 52 062074 062100 062102 062106 062110 062116 021627 001022 005766 001403 016677 062706 000015 108: 000002 000006 117036 56 062126 123727 001151 000001 000100 117014 53 g; P S3 5S 56 57 58 59 60 261 2262 2263 2264 2265 2266 2267 2268 2269 270 271 72 062050 062122 062134 062136 062144 062146 062152 062156 062160 062164 062166 062172 062176 062200 062202 0622064 062206 062212 062216 062220 000137 104401 001003 012777 000002 004737 021627 002420 021627 003015 042726 005766 001403 006316 006316 006316 005266 056616 000667 104401 ;2 0622264 000720 11:23 E & PAGE 250 TYPE CLR CLR TSTB BPL ,SMNEW <(SP) -(SP) a$TKS 7% : :PROMPT FOR NEW SWR ::CLEAR COUNTER ::THE NEW SWR P:CHAR THERE? S:IF NOT TRY AGAIN 117152 MOVB a$TKB,-(SP) ;:PICK UP CHAR 000003 CHpP BNE TYPE ADD CMPB BNE MOV (SP).#3 9% ,SCNTLC #6,SP SINTAG.# 1 #100,387KS ::1S 1T A CONTROL=-C? ::BRANCH IF NOT $:YES, ECHO CONTROL-C (*C) ::CLEAN UP STACK :SREENABLE TTY KEYBOARD INTERRUPTS? ::BRANCH IF NO :SALLOW TTY KEYBOARD INTERRUPTS CHP BNE TYPE ADD BR (SP),#25 108 LOCNTLY #6,5P 198 ::18 1T A CONTROL=-U? ::BRANCH IF NOT ssYES, ECHO CONTROL=-U (*U) : 1GNORE PREVIOUS INPUT SILET'S TRY IT AGAIN CMp BNE 187 BEQ MOV ADD (SP).,.mM5 168 &(SP) 1% 2(SP) ,aSWR #6,SP 2318 1T A <CR>? ::BRANCH IF NO J3YES, IS 1T THE FIRST CHAR? ::BRANCH IF YES ;sSAVE NEW SWR ::CLEAR UP STACK CMPB SINTAG.# MOV RTI JSR CMpP BLT CHP BGT BIC 13 BEQ ASL ASL ASL INC BIS BR TYPE #100,387KS 198: 117156 7%: 177600 BIC 062562 000006 001151 000001 000100 117110 057364 8s: JMP 000004 001217 060506 000060 118: 14%: TYPE ER1e 158: 168: 000067 000060 000002 000002 177776 178: 001216 188: " e L a:s L #4C177, (SP) SHUT2 JSCRLF 15% PC,STYPEC (SP) ,#60 188 (SP) ,#67 18% 960, (SP)+ 2(SP) 178 (SP) (SP) (SP) 2(SP) =2(SP), (SP) 7% $QUES 208 S:MAKE 1T 7-BIT ASCII : :CONTROL=C RESTART ::ECHO <CR> AND <LF> :RE-ENABLE TTY KBD INTERRUPTS? : :BRANCH IF NOT ::RE-ENABLE TTY KBD INTERRUPTS : :RETURN :SECHO CHAR ::CHAR < 0? ::BRANCH IF YES ::CHAR > 7? ::BRANCH IF YES ::STRIP=OFF ASCI!I ::1S THIS THE FIRST CHAR ::BRANCH IF YES 1iNO, SHIFT PRESENT :: 'CHAR OVER TO MAKE it ROOM FOR NEW ONE. :'KEEP COUNT OF CHAR S:SET IN NEW CHAR :iGET THE NEXT ONE SSTYPE 2<CR><LF> :SIMULATE CONTROL=-U SEQ 0250 CZRMDCO RMO3/2 FCTNL TST 2 12-DEC-78 08:24 CZRMDC.P1 MACYT1 30A(1052) SRR 33343 EEE EE EERFRPRRRP NN LTINN T NN SRE8I A A A A L 000004 000004 000002 062252 A A A A a A A A SEQ 0251 AR AR il :sGET A CHARACTER FROM THE QUEUE s CHARACTER 1S ON THE STACK :;WITH PARITY BIT STRIPPED OFF RETURN HERE SRDCHR: MOV MOV CLR CLR MOV RTI 64%: 061366 18: 061366 177102 061372 061372 061375 061374 061372 187 BEQ DEC MOvVB 000004 INC CHP BNE MOV 2%: MMAAA AR A RTI S A A ;:PUSH DOWN THE PC AND (SP) ,=(SP) 4&(SP) ,2(SP) ;s THE PS :sGET READY FOR A CHARACTER :sPUT NEW PS ON STACK ::PUT NEW PC ON STACK ::POP NEW PC AND PS 4&(SP) -(SP) 1643 ,-(SP) :sWAIT ON A CHARACTER $TKCNT 1% $TKCNT #8TKQOUT 4 (SP) ; ;DECREMENT THE COUNTER ::GET ONE CHARACTER : :UPDATE THE POINTER 2% : :BRANCH IF NO $TxQOUT $TKQOUT ,#STKQEND ;:DID IT GO OFF OF THE END? #STKQSRT,$TKQOUT ;;RESET THE POINTER :RETURN AR AR AR AR ARl iR d iRl dddd]) :*THIS ROUTINE WILL !NPUT A STRING FROM THE TTY s*CALL: ‘e ROLIN e NHO = YN N -o O —=NOOO—=N et TM ] — (=T — b N = o 8 N ES N = U — =SS fiJfiJsE &~ SRR 8328883=38 OH NS NN W ) b b bw NO \fi\fl‘i“‘i&;‘i"‘iflfi‘“ —=OWwW =~ OWO = O ;. O =t - 0N WVWSWNN=0O =0 VWS W A M IAA N=OOV®NO \fi\n!; AR AR AR A & PAGE 251 RDCHR . NN N NN A F :*THIS ROUTINE WILL INPUT A SINGLE CHARACTER FROM THE TTY s*CALL: R NN NN NN NN NN MDD NN Lt L L L L U W U W e MNOPORNOROINIRNOIRNINI NN = b ad ed e e e e VIV v v V)Lt Lt Ld L 11:23 TTY INPUT ROUTINE MEAAR AR A oD 04=JAN-79 RETURN MERE SRDLIN: MOV CLR 1%: MOV 062552 062562 2%: CHpP BLOS RDCHR 000177 108: 062550 177777 68: 062552 062550 062550 062550 #STTYIN+8. ,R3 48 (SP)+,(R3) CMPB #177,(R3) 187 (SP) BNE % BNE MOVB 68 #'\,9% DEC R3 TYPE MOV CMP BLO MOVB TYPE 5% 000134 062550 MOVB R3,=(SP) -($P) #STTYIN,R3 .98 #-1,(SP) R3,ASTTYIN 4% (R3),9% 9% BR 2 BEQ 7% 13 MOVB TYPE CLR (SP) #'\,9% .98 (SP) ::INPUT A STRING FROM THE TTY : :ADDRESS OF FIRST CHARACTER WILL BE ON THE STACK ;s TERMINATOR WILL BE A BYTE OF ALL 0'S ::SAVE R3 ;sCLEAR THE RUBOUT KEY :sGET ADDRESS s sBUFFER FULL? :sBR IF YES ::G0 READ ONE CHARACTER FROM THE TTY ;:GET CHARACTER ;1S 1T A RUBOUT +sBR IF NO ::13 Trls THE FIRST RUBOUT? ::BR 1F NO ::TYPE A BACK SLASH ;:SET THE RUBOUT KEY : ;BACKUP BY ONE :sSTACK EMPTY? :sBR IF YES s:SETUP TO TYPEOUT THE DELETED CHAR. ;.60 TYPE ::60 READ ANOTHER CHAR. : sRUBOUT KEY SET? ::BR IF NO s TYPE A BACK SLASH :;CLEAR THE RUBOUT KEY CZRMDCO RMO3/2 FCTINL T1ST 2 CZRMDC.PN 12-DEC-78 08:24 MACY11 30A(1052) O04=JAN-79 TTY INPUT ROUTINE 12333 12334 12335 062432 0626436 062640 122713 001003 104401 12337 12338 12339 12340 12341 062446 062452 0624564 062456 062462 122713 001011 105013 104401 104401 000022 104401 000712 111337 104401 122723 001305 105063 104401 005726 012603 011646 016666 012766 001216 48: 062550 062550 000015 3%: 12336 12342 12343 12344 12345 12346 12347 12348 12349 12350 12351 12352 12353 12354 12355 12356 12357 12358 12359 12360 12361 12362 12363 12364 12365 12366 12367 }5%23 062444 062466 062470 062474 062476 062502 062506 062512 062514 062520 062526 062526 062530 062532 062540 062546 062550 062551 062552 062562 062567 062574 062601 062606 062612 062620 000726 000717 000002 000 000 000010 041536 136 043536 015 036440 020040 020075 062624 000025 7%: 062567 8%: 001217 062552 177777 001220 000004 062552 000002 000004 9s: 005015 006525 005015 051412 000040 042516 000 11:23 6 & PAGE 252 CMPB BNE TYPE #25,(R3) 8% SCNTLU ::15 CHARACTER A CTRL V? ::BR _IF NO ::TYPE A CONTROL V" CMPB BNE CLRB TYPE TYPE #22,(R3) 3% (R3) +SCRLF STTIYIN ::15 CHARACTER A '"“R'%? : :BRANCH IF NO :sCLEAR THE CHARACTER ;:TYPE A "'CRTM & "LF" ;s TYPE THE INPUT STRING TYPE BR MOvVB TYPE CMPB BNE CLRB TYPE TST MOV MoV MoV MOV . SQUES 1% (R3),9% 9% #15,(R3)+ 2% =1(R3) .SLF (SP)+ (SP)+,R3 (SP) ,=(SP) 4(SP) ,2(SP) #STTYIN,L(SP) :sTYPE A *2° :sCLEAR THE BUFFER AND LOOP :;ECHO THE CHARACTER 0 ::STORAGE FOR ASCII CHAR. TO TYPE 0 : : TERMINATOR 8. ; ;RESERVE 8 BYTES FOR TTY INPUT /*C/<15><12> : ;CONTROL '‘C*’ /*U/<15><12> : ;CONTROL 'V" /*6/<15><12> : ;CONTROL ''6" <15><12>/SWR = / / BR BR RTI1 is 23 ::60 START OVER ::6G0 PICKUP ANOTHER CHACTER : sCHECK FOR RETURN ::LOOP IF NOT RETURN ;;CLEAR RETURN (THE 15) s:TYPE A LINE FEED : sCLEAN RUBOUT KEY FROM THE STACK : ;RESTORE R3 :sADJUST THE STACK AND PUT ADDRESS OF THE HH FIRST ASCII CHARACTER ON IT : sRETURN 000 000012 000 051127 S$TTYIN: SCNTLC: SCNTLU: SCNTLG: SMSWR: .BYTE .BYTE .BLKB_ .ASCIZ .ASCIZ .ASCIZ LASCIZ 020127 SMNEW: .ASCIZ .EVEN .SBTTL READ AN OCTAL NUMBER FROM THE TTY NEW = / 12370 R R Y 12371 12372 12373 12374 12375 :*THIS ROUTINE WILL READ AN OCTAL (ASCII) NUMBER FROM THE TTY AND :*CHANGE 1T TO BINARY. S eCALL: 3 RDOCT :sREAD AN OCTAL NUMBER s RETURN HERE ::LOW ORDER BITS ARE ON TOP OF THE STACK }5?;‘; i 12378 0626264 12384 12385 12386 12387 12388 062644 012600 062646 005001 062650 005002 062652 112046 062654 001412 12379 12380 12381 12382 12383 062626 062634 062636 062640 062642 011646 016666 010046 010146 010246 104412 000004 000002 :;HIGH ORDER BITS ARE IN SHIOCT $RDOCT: MOV 1$: 2%: MOV MOV MOV MOV ROLIN MOV CLR CLR MOVB BEQ (SP) ,=(SP) : sPROVIDE SPACE FOR THE (SP)+,RO R1 R2 (RO)+,=(SP) 3% :sGET ADDRESS OF 1ST CHARACTER : ;CLEAR DATA WORD 4(SP) ,2(SP) RO,=(SP) R1,-(SP) R2,=(SP) : s INPUT NUMBER : ;PUSH RO ON STACK ::PUSH R1 ON STACK ::PUSH R2 ON STACK :sREAD AN ASCIZ LINE :sPICKUP THIS CHARACTER ::1F ZERO GET OUT SEQ 0252 CZRMDCO RMO3/2 FCINL TST 2 CZRMDC.PYY 12-DEC-78 08:24 12389 12390 12391 12392 12393 12394 12395 12396 12397 12398 12399 126400 126401 126402 126403 12604 126405 }%:8? 062656 062660 062662 062664 062666 062670 062672 062676 062700 062702 062704 062710 062714 062716 062720 062722 062724 006301 006102 006301 006102 006301 006102 042716 062601 000764 005726 010166 010237 012602 012601 012600 000002 000000 H 177770 000012 062724 3%: ASL ROL ASL ROL ASL ROL BIC ADD BR TS7 MOV MOV MOV MOV MOV RTI $HIOCT: .WORD .SBTTL 12‘08 & MACY11 30A(1052) O04=JAN-79 11:23 PAGE 253 READ AN OCTAL NUMBER FROM THE TTY R1 R R1 R2 R1 R2 #°C7,(SP) (SP)+,R1 2% (SP)+ R1,12(SP) R2,.$H1OCT (SP)+,R2 (SP)+ R (SP)+,RO O TRAP DECODER SEQ 0253 iivl sivh ;:v8 ssSTRIP THE ASCII JUNK ;;ADD IN THIS DIGIT ::LOOP ;sCLEAN TERMINATOR FROM STACK :sSAVE THE RESULT ::POP STACK INTO R2 ;:POP STACK INTO R1 ::POP STACK INTO RO :sRETURN :sHIGH ORDER BITS GO HERE ;:"Q"."'.'""""'""""""""..l".'..l..""".t"""' 12409 s*THIS ROUTINE WILL PICKUP THE LOWER BYTE OF THE '‘TRAP'' INSTRUCTION 126410 s*AND USE 1T TO INDEX THROUGH THE TRAP TABLE FOR THE STARTING ADDRESS }gz}g ;*G0 TO THAT ROUTINE. 12611 12614 126415 12616 126417 12418 126419 12620 12621 126437 12438 12439 126440 126441 12642 12643 12444 ;*0F THE DESIRED ROUTINE. THEN USING THE ADDRESS OBTAINED IT WILL 062726 062732 062736 062742 062744 062746 062752 062754 016646 042716 000020 012746 062744 000002 010046 016600 000002 005740 1110STRUCTION. 063000 062766 063004 063006 063010 060072 060046 060106 063002 000002 060274 $TRAP: 1%: MOV BIC MOV RTI MOV MOV 187 2(SP),=(SP) #20,(SP) 718 ,-(SP) RO,=-(SP) 2(SP) RO =(RO) 3 ROUTINE P = esccses $TRPAD: .WORD S$STRAP?2 S$TYPE s sCALL=TYPE $TYPOC ;;CALL=TYPOC $TYPOS ;;CALL=TYPOS STYPON ;:CALL=TYPON ;sASSUME THE STATUS OF :: THE CALLER==DO NOT ALLOW ;s T=BIT TRAPS ;:SET THE NEW STATUS ;:SAVE RO ;:GET TRAP ADDRESS ; ;BACKUP BY 2 TRAP+1(104401) TRAP+2(104402) TRAP+3(104403) TRAP+4(104404) TTY TYPEOUT ROUTINE TYPE OCTAL NUMBER (WITH LEADING ZEROS) TYPE OCTAL NUMBER (NO LEADING ZEROS) TYPE OCTAL NUMBER (AS PER LAST CALL) CZRMDCO RMO3/2 FCTNL TST 2 CZRMDC.P11 12-DEC-78 08:2¢4 12445 12446 12447 12448 12649 12450 12451 12452 12453 063012 063014 MACY11 30A(1052) TRAP TABLE 04=JAN-79 11:23 I & PAGE 254 SEQ 0254 057622 057546 $TYPDS STYPBN ;;CALL=TYPDS ;;CALL=TYPBN TRAP+5(104405) TRAP+6(104406) TYPE DECIMAL NUMBER (WITH SIGN) TYPE BINARY (ASCII) NUMBER 061754 SGTSWR ;;CALL=GTSWR TRAP+7(104407) GET SOFT-SWR SETTING 061664 062226 062316 062624 057452 057510 S$CKSWR ;;CALL=CKSWR TRAP+10(104410) SROCHR ; ; CALL=RDCHR TRAP+11(104411) SROLIN ;:CALL=ROLIN TRAP+12(104412) SRDOCT ;;CALL=RDOCT TRAP+13(104413) $SAVREG ;;CALL=SAVREG TRAP+14(104414) SRESREG ;;CALL=RESREG TRAP+15(104415) POWER DOWN AND UP ROUTINES .SBTTL MR 063174 000340 000024 000026 A A A A A A A A A 116064 d A d iRttt) R4 ,~-(SP) RS.,=(SP) ::PUSH R& ON STACK ::PUSH RS ON STACK R3,=-(SP) OSUR =(SP) SP, tSAva A AL AR ::PUSH R3 ON STACK ::sPUSH @SWR ON STACK ;s :SAVE SP liPHRUP S/PWRVEC ..SEI UP VECTOR =2 AAA A : :HANG UP AR ARttt lll]) POUER UP ROUTINE SPHRUP MOV MOV 1$: CLR INC BNE 000024 000026 1% (SP)+,aSuWR (SP)+ RS ::0F WORD ;:POP STACK INTO @SWR :sPOP STACK INTO RS MOV MOV MOV MOV (SP)+,R3 (SP)+ ,R2 (SP)+ R1 (SP)+ RO ::POP ::POP :sPOP ::POP MOV MOV TYPE $PWRMG: i??fib SILLUP: HALT BR $SAVR6: 0 SPOWER: .ASCIZ LSBTTL #SILLUP ,#PWRVEC ;;SET FOR FAST DOWN $SAVRG, SP ;:GET SP $SAVR6 ::WAIT LOOP FOR THE TTY $SAVRG ;:WAIT FOR THE INC MOV MOV MOV 042527 A MoV MOV HAL 116016 047520 d ;;PRIO:7 ::PUSH RO ON STACK ;sPUSH R1 ON STACK ::PUSH R2 ON STACK ngv‘ AL 063034 000340 A #340,3#PURVEC+2 RO,=(SP) R1,-(SP) R2,-(SP) MOV MOV 000024 000024 A MOV MOV MoV MOV BR 063174 063200 063200 063200 A :POWER DOWN ROUTINE SPURDN MOV #SILLUP,3#PURVEC ;;SET FOR FAST UP MOV 063200 063106 A TEST FOR CHANGE IN SOF T-SWR TTY TYPEIN CHARACTER ROUTINE TTY TYPEIN STRING ROUTINE READ AN OCTAL NUMBER FROM TTY SAVE RO-R5 ROUTINE RESTORE RO-R5 ROUTINE (SP)+ R4 :sPOP STACK INTO Ré STACK STACK STACK STACK INTO INTO INTO INTO R3 R2 R1 RO #SPURDN ,8#PWURVEC ;;SET UP THE POWER DOWN VECTOR #340,8#PURVEC+2 ;;PR1O:7 $POWER .2 <15><12>"'POWER"’ sREPORT THE POWER FAILURE s sPOWER FAIL MESSAGE POINTER ;:THE POWER UP SEQUENCE WAS STARTED ;s BEFORE THE POWER DOWN WAS COMPLETE :sPUT THE SP HERE .EVEN APT COMMUNICATIONS ROUTINE CZRMDCO RMO3/2 FCINL TST 2 CIRMOC.P11 12-DEC-78 08:24 }%385 3212 112737 12503 12504 12505 12506 12507 12508 12509 12510 12511 12512 12513 12514 12515 12516 12517 12518 12519 063220 063226 063230 063236 063236 063240 063242 063246 063250 063256 063260 063266 063270 063274 063302 063 063310 112737 000403 112737 010046 010146 105737 001450 122737 001031 132737 001425 017600 062766 005737 001375 010037 12521 12522 12523 125264 12525 12526 12527 12528 063316 063320 063324 063326 063332 063340 063342 063350 001376 163700 006200 010037 012737 000413 017637 062766 12530 12531 12532 12533 12534 12535 12536 12537 12538 12539 12540 12541 12542 12543 12546 12545 12546 12547 12548 12549 12550 12551 12552 12553 12554 }ngz 063362 063366 063370 063370 063376 063376 063402 063406 063410 063412 063420 063426 063432 063436 063442 063446 063450 063452 063454 063455 063456 004737 000000 060274 105737 001416 005737 001413 005737 001375 017637 062766 005237 105037 105037 105037 012601 012600 000207 000 000 000 063460 000200 000001 000100 063456 12520 12529 063314 063356 105720 013746 000040 MACYTT 30A(1052) 04=JAN-79 11:23 APT COMMUNICATIONS ROUTINE 35 063456 $ATY1: SATY3: 000001 063456 SATY4: SATYC: 063454 063454 000001 001242 000100 001243 000004 000002 001222 000004 001236 18: 28: 001236 001240 000004 001222 000006 000002 063366 000004 177776 001222 000004 000002 001222 063456 063455 063454 - 3$: 001224 000004 MOVB #1.$FFLG ::T0 REPORT FATAL ERROR MOVB BR MOVB #1.SMFLG SATYC #1,$FFLG MOV MOV 1STB BEQ CMPB BNE BITB BEQ MOV ADD 181 BNE MOV RO,=(SP) R1,=(SP) $MFLG 5$ WJAPTENV,SENV 3% WAPTSPOOL,SENVM 3s 34 (SP) ,RO #2,4(SP) SMSGTYPE 18 RO, SMSGAD BNE SUB ASR MOV MOV BR MOV ADD 28 $MSGAD , RO RO RO,SMSGLGT 94 SASGTYPE 58 6 (SP) 48 #2,4(SP) JSR LWORD PC,STYPE O ::CALL TYPE MACRO SFFLG 128 SENV 128 SMSGTYPE 18 96 (SP) ,$FATAL #2,4(SP) $MSGTYPE S$FFLG SLFLG SMFLG (SP)+,R1 (SP)+.RO PC 0 O O : :SHOULD REPORT FATAL ERROR? ::1F NOT: BR : :RUNNING UNDER APT? ::1F NOT: BR :FINISHED LAST MESSAGE? Si1F NOT: WAIT ;:GET ERROR # ::BUMP RETURN ADDR. ::TELL APT TO TAKE ERROR ::CLEAR FATAL FLAG ::CLEAR LOG FLAG ::CLEAR MESSAGE FLAG ::POP STACK INTO R1 ::POP STACK INTO RO : :RETURN SIMESSG. FLAG ::L06 FLAG :iFATAL FLAG 1ST8 MOV 48: 5%: 108: 001242 & PAGE 255 i;"t'""""""""'0"'""tt"t""tt't!"tt'tt"t.'t.l'.t" 000001 000001 J TSTB BEQ 3] BEQ 118: 187 BNE MOV ADD INC 128: CLRB CLRB CLRB MOV MOV RTS $SMFLG: .BYTE SLFLG: .BYTE $FFLG: .BYTE “EVEN APTS]2E=200 APTENV=001 APTSPOOL=100 APTCSUP=040 (RO)+ 177776,-(SP) 1370 TYPE A MESSAGE ::T0 ONLY REPORT FATAL ERROR ::PUSH RO ON STACK ::PUSH R1 ON STACK ::SHOULD TYPE A MESSAGE? ::1F NOT: BR ;:OPERATING UNDER APT? S:1F NOT: BR ::SHOULD SPOOL MESSAGES? ::1F NOT: BR ::GET MESSAGE ADDR. ::BUMP RETURN ADDR. ::SEE IF DONE W/ LAST XMISSION? S:1F NOT: WAIT ' ::PUT ADDR IN MAILBOX ::FIND END OF MESSAGE ::SUB START OF MESSAGE ::GET MESSAGE LNGTH IN WORDS ::PUT LENGTH IN MAILBOX ::TELL APT TO TAKE MSG. ::PUT MSG ADDR IN JSR LINKAGE - :BUMP RETURN ADDRESS ;:PUSH 1727776 ON STACK SEQ 0255 CZRMDCO RMO3/2 FCINL TST 2 CZRMDC.P1 12-DEC-78 08:24 12557 MACYT1 30A(1052) 04=JAN-79 11:23 APT COMMUNICATIONS ROUTINE .NLIST BEX K & PAGE 256 SEQ 0256 CZRMDCO RMO3/2 FCTINL TST 2 12-DEC-78 08:24 CZRMDC.P11 MACY11 30A(1052) CONSOLE MESSAGES 040503 041501 047116 020113 000 025012 000 000 VAWV 006412 064124 054524 052012 020105 042520 el 064103 D ol el aed WMWAVWAWIAW e D e WAV et — i s PN VIVVAVIOW OCOO0O0O0O0 W S AWK OO0 O0O0O0O0O00O0 388 888 g 3 33 OO0 o OO0O0O-—=0O a8 -\ N Y\ b W SO0 .SBTTL 064672 04=JAN-T9 11:23 L & PAGE 257 SEQ 0257 CONSOLE MESSAGES SCTMSG: «ASCI1 <CR><LF>3CANNOT RECOVER THE BAD SECTOR FILES FROM LAST @<CR><LF> <ASCIZ QTRACK FOR THIS DEVICEd CLSPRN: .ASCI1 @)d EQUALS: .ASCIZ @=d PROMPT: .ASCIZ <CR><LF>3+*d QSTMRK: .ASCIZ @79 HELPQST: «ASCI1 <CR><LF>XCR><LF>/THIS PROGRAM SHOULD BE HALTED BY TYPE “C./ «ASCI1 <CR><LF>/THE PROGRAM WILL BE HALTED AT END OF PASS/<CR><LF><CR> fisagagl <CR><LF>@TYPE HELP TEXT (Y OR N)?73 <ASCIZ <CR><LF>3CHANGE RMO3 UNIBUS ADDRESS OR VECTOR ADDRESS (Y OR N)<CR> 773 E:gtggz +ASCIZ CNSLOO: .ASCIZ CNSLO1: .ASCIZ CNSLO2: .ASCI1 +ASCIZ CNSLO3: .ASCIZ CNSLO4: .ASCI1 +ASCIZ CNSLO5: .ASCIZ LASCI1 <CR><LF>3USE SAME DEVICES (Y OR N) 2?73 <CR><LF>3RMO3 BUS ADDRESS (@ <CR><LF>3ENTRY NOT IN 1/0 PAGEd <CR><LF>3ADDRESS MUST BE >1600003 <CR><LF>3RMO3 VECTOR ADDRESS (@ <CR><LF>3ENTRY OUT OF RANGE® <CR><LF>3ADDRESS MUST BE <1000d <CR><LF>3RMO3 INTERRUPT PRIORITY (3 <CR><LF>3ENTRY OUT OF RANGE® <CR><LF>@TYPE (A) TO TEST ALL DEVICES, OR TYPE DEVICEd .ASCI1 @ NUMBER(S)d NOTEX: .ASCIZ «ASCIZ XDPMG: .EVEN <CR><LF>QTERKINATE INPUT WITH CARRIAGE RETURN3 .ASCJ1 <CR><LF>/CHANGE XXDP PACK,CLEAR LOC 40/ «ASCIZ <CR>XLF>/RESTART THE PROGRAM/ <CR><LF>/NOT EXIST DRIVE / CZRMDCO RMO3/2 FCTNL TST 2 12-DEC-78 08:24 CIZRMDC.P11 MACY11 30A(1052) 04=JAN-T9 FUNCTION CODE TABLE .SBTTL 11:23 LK) PAGE 258 SEQ 0258 FUNCTION CODE TABLE sTHE FUNCTION CODE TABLE IS USED TO DEFINE STATUS CONDITIONS FOR :EACH FUNCTION CODE. BIT USAGE IS AS FOLLOWS: ATA = BIT 15 IS SET IN THE ENTRY FOR A GIVEN FUNCTION CODE lf ATA SHOULD BE SET WHEN THE FUNCTION CODE 1S EXECUTED, OTHERWISE, :BIT 15 IS ZERO, INDICATING THAT ATA SHOULD NOT NORMALLY BE SET. :NOTE THAT ATA MAY BE SET WHEN A COMMAND IS EXECUTED EVEN THOUGH ;1T IS NOT EXPECTED AS A RESULT OF THE COMMAND. WCE - BIT 14 IS SET IN THE ENTRY FOR A GIVEN FUNCTION CODE lf WRITE CHECK ERRORS ARE ENABLED AS A FUNCTION OF THE COMMAND. OP1 = BIT 13 IS SET IN THE ENTRY FOR A GIVEN FUNCTION CODE lF OP]1 ERRORS ARE ENABLED DURING THE EXECUTION OF THAT COMMAND. lf IVC = BIT 12 IS SET IN THE ENTRY FOR A GIVEN FUNCTION CODE IVC ERRORS ARE ENABLED DURING THE EXECUTION OF THAT COMMAND. WLE = BIT 11 IS SET IN THE ENTRY FOR A GIVEN FUNCTION CODE lF WRITE ERRORS ARE ENABLED DURING THE EXECUTION OF THAT COMMAND. :THE WRITE ERROR® WHICH ARE ENABLED ARE 'WLE'', 'WCF'', "DPE'’, "'UPE". IAE = BIT 10 IS SET IN THE ENTRY FOR A GIVEN FUNCTION CODE lF NVALID ADDRESS ERROR 1S ENABLED FOR THAT COMMAND. : AOE - BIT 09 IS SET IN THE ENTRY FOR A GIVEN FUNCTION CODE lF READ AND WRITE ERRORS ARE ENABLED DURING THE EXECUTION OF THE :C OMMAND. THE ERRORS ENABLED BY THIS BIT ARE "‘TRE', "DLT', "NEM", JMXF', TLBTTM, AND '‘AOE''. BIT 08 IS NOT USED. HCE = BIT 07 IS SET IN THE ENTRY FOR A GIVEN FUNCTION CODE lF HEADER ERRORS ARE ENABLED DURING THE EXECUTION OF THAT COMMAND. :MEADER ERRORS INCLUDE 'WCRC'', “MCETM, 'FER'', AND 'BSE". ECH = BIT 06 IS SET IN THE ENTRY FOR A GIVEN FUNCTION CODE lf DATA FIELD ERRORS ARE ENABLED DURING THE EXECUTION OF THAT ;COMMAND. THESE ERRORS INCLUDE "MDPE', 'DCK'‘, AND "‘ECH'. BIT 05 IS NOT USED. BIT 04 IS NOT USED. BIT 03 IS NOT USED. BIT 02 1S NOT USED. BIT 01 IS NOT USED. ILF = BIT 00 IS SET IF THE FUNCTION CODE IS ILLEGAL. 064672 f NCDTB: ;FUNCTION CODE TABLE CZRMDCO RMO3/2 FCTINL IST 2 2% CZRMDC.P11 12-DEC-78 064672 064674 064676 064700 064702 064704 064706 064710 064712 064714 064716 064720 064722 0647264 064726 064730 064732 064734 064736 064740 064742 064744 064746 064750 064752 064754 064756 064760 064762 064764 064766 064770 020000 130001 132000 130000 020000 030000 130000 130000 020000 020000 130001 130001 132000 130001 130001 130001 130001 130001 130001 130001 073300 073300 1 1 1 1 037200 037000 130001 130001 033300 033300 130001 130001 MACY11 30A(1052) 04=JAN=79 FUNCTION CODE TABLE 11:23 N & PAGE 259 0Pl OPI!ATA!ILF!IVC ATA'OPI!IVC!IAE ATA!OPI!IVC 0Pl OPI!1IvC OPI!ATA!IVC OPI!ATA!IVC OP1 OP1 OPI!ATA!ILF!IVC OPI!ATA!ILF!IVC ATA!OPI!IVC!IAE OPI:ATA!ILF!IVC OPI!ATA!ILF!IVC OPI!ATA!ILF!IVC OPI!ATA!ILF!IVC OPI!ATA!ILF!IVC OPI!ATA!ILF!IVC OPI!ATA!ILF!IVC WCE'OPI!IVC!IAE'AOE !HLE ECH WCE!OPI'IVC!IAE'AOE !HCEECH OPI!ATA!ILF!IVC OPI!ATA!ILF!IVC OP1!IVC!WLE!IAE'AOEHCE OPI!IVC!WLE ! 1AEAOE OPI!ATA!ILF!IVC OPI!ATA!ILF!IVC OPI!JVC!IAE!AOE :HCF'ECH ‘OPI1!IVC!1AEAOE'HCE'ECH OPI'ATA'ILF!IVC OPI'ATA'ILF!IVC SEQ 0259 :NOP sILLEGAL FUNCTION (2) : SEEK :RECALIBRATE :DRIVE CLEAR ;RELEASE sOFFSET sRETURN TO CENTERLINE sREAD IN PRESET +PACK ACKNOWLEDGE s IJLLEGAL FUNCTION (24) s JLLEGAL FUNCTION (26) sILLEGAL sJLLEGAL sILLEGAL s JLLEGAL s ILLEGAL s JLLEGAL sJLLEGAL FUNCTION FUNCTION FUNCTION FUNCTION FUNCTION FUNCTION (&4) FUNCTION (46) IWRITE CMECK DATA ;WRITE CHECK WEADER AND DATA :ILLEGAL FUNCTION (54) sJLLEGAL + UNCTION (56) ;WRITE DATA ;WRITE HEADER AND DATA sJLLEGAL FUNCTION (64) sJLLEGAL FUNCTION (66) :READ DATA ;READ HEADER AND DATA sJLLEGAL FUNCTION (74) :ILLEGAL FUNCTION (76) EEETTRETFETE R T SO T CZRMDCO RMO3/2 FCTNL TST 2 CZRMDC.P11 12-DEC-78 08:24 064772 064773 064774 064775 064776 064777 065000 065001 001 002 004 010 020 040 100 200 T EENRECERTETERVG, TR A DTN AR "R MACYTT 30A(1052) 04=JAN-79 11:23 ATTENTION (ATA) TABLE 8B ATTENTION (ATA) TABLE ATNTBL: .BYTE .BYTE .BYTE .BYTE .BYIE .BYTE BYTE .BYTE 128, SPrspmmnm 5 PAGE 260 .SBTTL 1. 2. 4. 8. 16. 32. 64 _N S imme s i s Yo O i o . oL 00035 RN SEQ 0260 WP A0 CZRMDCO RMO3/2 FCTNL TST 2 CZRMDC.P 12-DEC-78 08:2¢4 MACY11 30A(1052) 04=JAN-79 DATA PATTERN TABLE .SBTTL RGDTPT: MIXED: DATA PATTERN TABLE .WORD .WORD .WORD WORD WORD WORD .WORD .WORD .WORD LMORD .WORD .WORD ONES: EFRNSFrRS’ e e B 6 1 2 5 1 2 & .WORD 65535. .WORD 6 .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD LWORM WORD .WORD .WORD 8 1 . 32767. 65535. 32767. 16383. 8191, 4095. 2047. 1023. 5 2 1 3 1 LWORD LWORD .WORD .WORD LWORD .WORD LWORD 7 3 1 O O 1 2 .WORD .WORD .WORD 8 1 3 WORD .WORD 100000 100000 0 1 3 7 1 3 MORD .WORD ZEROS: 11:23 LWORD .WORD .WORD LWORD LWORD .WORD .WORD LWORD .WORD LWORD & 6 1 2 5 2 & 8 1 3 3 cC 5 PAGE 261 SEQ 0261 30A(1052) 04=JAN-79 DATA PATTERN TABLE 065300 065302 065304 065306 065310 065312 065314 065316 065320 065322 0653264 065326 065330 177700 177740 177760 177770 177774 177776 177777 125252 152525 125252 177777 177776 177775 EARLY: 16384 . 8192. . . K3 .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD . WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD 11:23 NS MACY11 . CZRMDCO RMO3/2 FCTNL TST 2 CZRMDC.P11 12-DEC-78 08:2¢4 2 D 5 PAGE 262 SEQ 0262 CZRMDCO RMO3/2 FCTINL TST 2 CZRMDC.PN 065332 5334 065336 065340 065342 065344 065346 065350 065352 065354 065356 065360 065362 065364 5366 065370 065372 065376 065376 065400 065602 065404 065406 065410 065412 065414 065416 065620 065422 0656264 065626 065430 12-DEC-78 08:2¢4 MACYT1 30A(1052) DATA PATTERN TABLE 177773 177767 177757 177737 177677 177577 177377 176777 175777 173777 167777 157777 137777 077777 077777 137777 157777 167777 173777 175777 176777 177377 177577 177677 177737 177757 177767 177773 177775 177776" 177777 04=JAN-79 .WORD 65531 .WORD 65527 WORD 65519 .WORD 65503 JWORD 65471 WORD 65407 WORD 65279 .WORD 65023 WORD 64511 .WORD 63487 WORD 61439 .WORD 57343 'WORD 49151 'WORD 32767 WORD 32767 WORD 49151 WORD 57343 WORD 61439 WORD 63487 WORD 64511 WORD 65023 WORD - 65279 WORD 65407 WORD 65471 WORD 65503 WORD 65519 WORD 65527 WORD 65531 WORD 65533 WORD 65534 ENRGDT: WORD 65535 11:23 E . 5 PAGE 263 | SEQ 0263 07 07 07 07 07 07 000000 000000 000000 000000 000000 000000 072516 073025 073025 073036 073036 073036 073036 073036 11:23 .SBTTL ERROR MESSAGE TABLE EMT1: EMT2: EMT3: EMT4: EMTS: EMT6: EMT7: EMT10: EMT11: EMT12: EMT13: EMT14: EMT15: .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD EMT22: EMT23: EMT24: EMT25: EMT26: EMT27: .WORD .WORD .WORD .WORD .WORD .WORD EMT16: .WORD F 5 PAGE 264 SEQ 0264 EMS1,0 EMS2.EMS3,0 EMS2.EMS4 .0 EMSS.ENS6 .0 ENSS.EMS10,0 EMS167,ENS64,0 EMS110,EMS170.0 ENS7.0 ens10.0 EMS11.EMS12.0 EMS13,EMS14,EMS1S,EMS16,0 ENS17,EMS64.0 EMS11,EMS21.0 EMS11,ENS22.EMS27 EMS11,EMS23,EMS30 4 . ENS30 EMS11,EMS2 EMS11,ENS2S.ENS27 EMS11.ENS26.ENS27 EMS11,EMS31,ENS30 EMS11,EMS32.ENS30 EMS11,EMS33.ENS30 EMS11,EMS34.ENS30 EEEEEEEEEEEE 072024 072073 072073 072216 072216 077053 075007 EMS11.ENS42.EMS30.0 EMS11.ENS43 ENS30.0 EMS11.ENS44 . EMS30.0 EMS11.EMS4S . EMS30.0 ENS66.ENS20,0 074521 EMT4S: .WORD 21 074521 074521 074215 073036 074375 074375 074375 073745 074375 074375 075207 074375 075207 (v 065430 065434 065442 065650 065456 065464 065472 MACYT1 30A(1052) 04=JAN-79 ERROR MESSAGE TABLE (=lelelelelelelelelelelel] CZRMDCO RMO3/2 FCTINL TST 2 12-DEC-78 08:24 CZRMDC.P 074422 077661 074447 EMT44: EMT45: EMT4L6: EMT47: EMT50: EMT51: EMT52: EMT53: EMT54: EMTS55: EMT56: EMT57: EMT60: EMT61: EMT62: EMT63: EMT64: EMT65: EMTO6: .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD EMS7S.EMS14T EMS76,0 EMS144 , ENS145 ENS72,EMST6,0 EMS47,ENSS3,ENS76.0 ENS77.EMSS3 ENS76.0 Ens100,ens58,ens76,0 EMS101.ENSS3 EMS76.0 ENS6S,ENS64, , EMS13.EMS1S . EMS63.0 ENS11,ENS4H.ENS30.ENS67,0 EMS4L7 . EMSSS.ENSHT.EMST15,EMS140,EMS141,0 5 ENS4LT EMSSS EMS67 EMST115.EMS141 EMS164.0 ENSSO EMSS insor g 6 EMS142,ENS143,ENSSS EMS67,0 ENSS1 énsr; ENS67 EMS115,EMSSO,EMS?0,0 ensief, ens?s,enset .0 ensss.ensgr.ens1ts.ens1 5 EMS71,ENSS6 EMS67,EMST15, 5 EMS152,EMS70,0 EMS150,EMS152.EMS72,0 Ens140,ensef ens115,Emsa?, Ens70.0 EMS150,EMS152,EMS70,EMS115,EMSS6 , EMS?3 EMS67,0 EMSS2,EMS205 ,EMS214 ., EMS206.EMST15, EMSST,EMS72,0 EMS165,EMS108,EMS72.EMS124.0 CZRMDCO RMO3/2 FCTNL TST 2 CIRMOC.P11 12-DEC-78 08:24 066336 077012 074703 066406 066426 066434 066456 073627 074030 074434 073656 074447 073745 074030 073745 066350 066360 066370 073600 074434 073627 066464 076247 066476 074513 ERROR AESSAGE TABLE MACY11 30AC1052) 074447 EMT67: 076705 076705 076705 076705 EMT73: EMT74: EMT?S: EMT76: 072630 074626 074447 076705 076705 076705 076266 076221 073745 076705 EMT70: EMT71: EMT72: 04-JAN-79 072153 072110 .WORD .WORD .WORD .WORD EMSL7.EMS72.EMS163.EMS115 EMS141.EMS72,0 EMSS56.EMSSS.EMS163.0 EMS71.EMSS6.EMS163.EMS115,EMS150,EMS152,EMS72,0 EMSSO.EMSSS ins1os 0 EMT77: .WORD EMT100: .WORD 01: JWORD 066674 066702 066712 066722 066732 0667642 066752 066762 066772 067002 067012 067026 067036 067050 067062 067074 067106 067120 067132 067144 0671564 067164 075133 075303 075346 075403 075446 075500 075543 076143 075645 075703 075303 075346 075403 075446 075500 075543 076143 075645 075703 075303 075403 075303 075266 075743 075743 075743 075743 075743 075743 075743 075743 075743 075743 075743 067206 067214 067226 0672 067264 067254 067264 067276 067356 1%0: JWORD 000000 5 EMS165,EMS103,EMS72.EMS171.0 .WORD .WwORD .WORD JNORD 075133 075133 PAGE .WORD 102: .WORD 103: JWORD 104: JNORD 105: .WORD 106: .WORD 066644 066652 6 oo | o ¢ 265 11:23 EMT111: EMT112: WORD .WORD EMTI13: .WORD EMS46,EMS20,EMS163,0 EMS71.EmS101,EMS165.0 EMS4L7.EMS72,EMS163,EMS115,EMS140,EMS141,0 EMS143,EMS143,EMSSS,.EMS163.0 EMS7S,EMS141,EMS163.EMS115. EMS47,EMS70,0 EMS75 EMS150.EMS163.EMS115. EMSS6.EMS73.0 EMS167,EMS73.EMS163.0 EMS147.EMS151 EMS74.EMS163,0 EMSS1,EMS74 . ENS163,EMS115,EMSSO,EMS70,0 EMS165,Ems100,EMS163,0 EMS165.EMS77 ENS163.0 EMS144.EMS145 EMSS3 EMS163,EMS115,EMS143,EMS70,0 EMS110.EMS112.EMS116,EMS111,0 EMS113,EMS4.0 EMS113,EmS3.0 066660 075007 075207 075214 075743 075743 075743 075743 075743 075743 075743 075743 075743 075743 075767 075767 075767 075767 075767 075767 075767 075767 075767 076012 076012 076012 076012 076012 076012 076012 076012 076012 076054 0760564 076116 EMTI14: EMT11S5: EMT116: ENTI17: EMT120: EMT121: EMT122: EMT123: EMT124: EMT125: EMT126: EMT127: EMT130: EMT131: EMT132: EMT133: EMT134: EMT135: EMT136: EMT137: EMT140: EMT141: .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORP .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD EMS113,EMS120,0 EMS121,EMS132,EMS133,0 EMS122.EMS132,.EMS133,0 EMS123,EMS132.EMS133.,0 EMS124,EMS132,.EMS133, EMS12S5.EMS132,.EMS133.,0 EMS126,EMS132.EMS133,0 EMS137,EMS132,.EMS133,0 EMS130,EMS132.EMS133.0 EMS131,EMS132,.EMS133.0 EMS121,EMS132,EMS134,EMS123,0 EMS122,.EMS132,.EMS134,EMS123,0 075446 075500 075543 075703 076652 075645 076200 076247 075743 075743 075743 075743 075743 075743 075207 075207 076116 076116 076116 076116 076116 076116 076221 076264 EMTI43: EMT144: EMT145: EMT146: EMT147: EMT150: EMTIS1: illisgz .WORD .WORD .WORD .WORD .WORD .WORD .WORD LWORD EMS124,EMS132,EMS136,0 EMS125,.EMS132,EMS136.0 EMS126,.EMS132,EMS136,0 EMS131,EMS132,EMS136.0 EMS162.EMS132,EMS136.,0 EMS130,EMS132,EMS136.0 EMS140,EMS11S,.EMS141,EMS70,0 EMS142,EMS115,EMS143,EMS72,0 076370 076424 076516 EMT156: .WORD 0671764 076143 075743 076116 EMT142: .WORD 067310 076312 076322 076351 EMT153: .WORD 067326 076312 076322 072630 EMT154: .WORD 067344 076405 076450 076516 EMT155: .WORD ERS1lO.ElSlfS.EHSIIb.EHSIl?.EHSl14.0 EMS123,EMS132,EMS134,EMS123,0 EMS124,EMS132,.EMS134,EMS123,0 EMS125,.EMS132,EMS134,EMS123.,0 EMS126,EMS132,EMS134,EMS123,0 EMS137,EMS132,.EMS134,EMS123.,0 EMS130,EMS132,EMS134,EMS123.0 EMS131,EMS132,.EMS134,EMS123,0 EMS121,EMS132,EMS135.0 EMS12%,EMS132,.EMS135.,0 EMS) l.ElS!iZ.EHSISb.O ElSl§7.ElSI 2,EMS136.0 EIS164.EHSI‘S.ElS\kb.EHSllg.EH5143.EHS7Z 0 EMS144,EMS145,EMS20,EMS11S EHSI‘S,EHSTO.é EIS!SO.EHSISZ.ENSlSk,ElSISS.O EMS147,EMS151,EMS154,EMS155.,0 5l a 0265 CZRMDCO RMO3/2 FCTNL TST 2 CIZRMDC.P11 067370 12-DEC-78 08:24 076370 0 MACYT1 30A(1052) 04=JAN-79 ERROR MESSAGE TABLE 076424 EMT157: .WORD EMT160: .WORD WORD WORD WORD WORD 067462 067470 01 072630 072630 EMT166: EMTI67: EMT170: EMT171: EMT172: EMT173: EMT17%: EMT175: EMT176: EMT177: EMT200: 067622 077437 073656 073036 EMT202: .WORD 076405 0764474 0776407 067706 067716 067726 074513 074513 073705 076221 076405 074447 075207 000000 075207 EMT207: .WORD EMT210: .WORD EMT211: .WORD 067764 070004 073733 073733 077500 075244 077026 074030 EMT214: .WORD EMT215: .WORD 070026 070036 070046 073600 073046 073627 073036 073036 073036 074241 074241 074241 EMT217: .WORD EMT220: .WORD EMT221: .WORD 070066 070076 070100 070102 070104 070106 070110 070112 070114 070116 070120 070122 070124 070126 070130 070132 070134 070136 070140 070142 073733 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 075244 074213 EMT223: EMT224: EMT225: EMT226: EMT227: EMT230: EMT231: EMT232: EMT233: EMT234: EMT235: EMT236: EMT237: EMT240: EMT241: EMT242: EMT243: EMT244: EMT245: EMT246: 067634 077437 067666 067674 073656 0764703 074712 0764457 067646 076264 EMS47.EMS165, EMs140.0 EMS47.EMS20.0 EMS167.EMS154,EMS166.0 EMS167.EMS154 .EMS157.0 EMS167.EMS154 EMS155.0 EMS171.EMS132 EMS133.0 EMS171.EMS132 EMS134 EMS123.0 EMS113.EMS177.0 EMS200.EMS201.0 EMS203.EMS141.EMS30,EMS202.0 EMS203.EMSS1,EMS30,EMS202,0 077026 076570 076532 075767 076012 000000 000000 073036 073036 073036 EMS147,EMS151,EMS150,EMS157,0 EMS161.EMS156.EMS160.0 EMS2S5,EMS27,EMS156,EMS160.0 EMS26.EMS27 EMS156 EMS160.0- .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD 076516 076516 076516 075743 075743 077302 077341 076221 073705 077452 5 PAGE 266 EMSS6.EMS20.0 EMS46.EMS20.0 077053 077053 077053 077127 077127 075133 077324 077437 077437 077437 H WORD .WORD 0676476 067506 067516 067526 067536 067550 067556 067564 067576 067610 11:23 EMS224,EMs20.0 EMT201: .WORD EMS203.EMS204,EMS30,EMS203,0 073036 EMT203: .WORD EMS203.EMS14S,EMS30,.EMS202,0 074447 0776407 EMT205: .WORD EMT206: .WORD EMT204: .WORD EMS203.EMSSO,EMS30,EMS202, 0 EMS150.EMS74,EMS202 EMS115.EMS152,EMS72,0 EMSS0,EMS103 EMS72,0 EMS104,EMS73.EMS202,0 EMS7S,EMS141.EMST115.EMS140.0 EMS75.EMS150.0 EMSS1.EMS72,EMS115,EMSSO,EMS70,0 0677640 076247 073745 075207 EMT212: .WORD 067754 073656 074703 073745 EMT213: .WORP EMS142,EMSSS,EMS115,EMS143,EMS?2,0 EMSSO,EMS103.EMSS3.0 070016 074030 073036 074241 EMT216: .WORD EMS56.EMS30,EMS64,0 EMT222: .WORD EMSS2.EMS117,EMS77,0 070056 073733 075244 000000 000000 000000 077053 075743 074552 077537 .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD ,WORD ,WORD ,WORD .WORD EMS52.EMS205.EMS166,EMS206,EMS115,EMSST EMS72,0 EMS52.EMS117.EMSS6,EMS163,0 EMS46.EMS30.EMS64 .0 EMS31.EMS30.EMS64 .0 EMS47.EMS30.EMS64 .0 EMS52.EMS117.EMS63.0 EMS167,EMS132,EMS207,0 SEQ 0266 CZRMDCO RMO3/2 FCTNL TST 2 CZRMDC.PIN 12-DEC-78 08:24 070152 070164 070200 070206 077053 077053 077613 077012 075743 077575 077636 077613 MACY11 30A(1052) 04=-JAN-79 ERROR MESSAGE TABLE .WORD .WORD .WORD .WORD .WORD 072622 070326 074712 070276 070306 EMT247: EMT250: EMT251: EMT252: EMT253: 073600 3036 3036 073036 EMT255: .WORD EMT256: .WORD EMT257: .WORD EMS203.EMS167.EMS30.0 EMS203.EMS100.EMS30.0 EMS11,EMS46,ERS30,EMS102,0 074457 077407 EMT262: .WORD EMS104,EMS73 EMS202 .0 073733 073733 075244 077500 070336 073656 073745 070346 070366 074030 074434 070420 070436 070452 073745 074030 073656 073627 073627 076351 073745 073745 070506 070526 073705 074213 074476 073745 074030 100003 0764656 074656 074656 070406 076247 076264 073745 070470 074513 076221 074656 070542 075214 15 PAGE 267 077564 077564 000000 000000 6552 3036 EMT254: W RD 070262 11:23 EMT260: .WORD EMT261: .WORD EMT263: .WORD EMT264: EMT265: .WORD .WORD EMT266: .WORD EMS167.EMS132,EMS210,.EMS125.0 EMS167.EMS211.EMS210.EMS207 .EMS206.0 EMS212.EMS213.0 EMS165.EMS212.0 EMS147.EMS1ST.EMS156 EMS210,EMS26,EMS27.,0 EMS203.EMS101.EMs30,0 EMSS2.EMS117,EMSSH EMS103,0 EMS52.EMS205.ENS220,EMS206,EMS115,EMSS T, EMS72.,0 EMSSO,EMSSS,EMS102,0 EMS56.EMSSS.EMS102.EMS115,EMS150,EMS152,EMS70,0 EMST1.EMSS56.EMS102 .EMS115 EMS150 EMS152 EMS72.0 EMS142,EMS143,EMSSS,EMS103,0 075207 074656 074656 EMT267: .WORD EMT270: .WORD EMT271: .WORD EMSSO,EMS146,EMS115. EMSS2,EMS117,EMS46,0 EMS4T.EMSSS,EMS102,EMS115.EMS140.0 EMS47.EMSSS.EMS102 EMS115 EMS141.EMS72.0 074656 074105 EMT273: .WORD EMT27%: .WORD EMSS1.EMS74,EMS102,EMS115,EMSS0,EMS70.0 EMS63.EMSS3 EMSS7,EMS115,EMS41,EMS146.0 EMT272: .WORD 073745 073356 EMT275: .WORD .MORD .WORD .WORD .WORD EMS7S.EMS14f,EMS102,EMS115,EMS47 EMS73.0 EMS116,EMSSS,EMS4i,EMNSS70 070570 073627 073745 074105 070626 074436 074030 073745 : EMT277: : EMT301: 070662 077012 074626 0764703 EMT303: .WORP 070706 070720 073600 073656 073036 073745 074241 074105 EMT305: .WORD EMT306: .WORD EMS&6,EMS30,ENS64,ENSS7,0 EMSSO.EMS53.EMSS7.0 070750 070762 0707764 076247 074712 074741 076264 074703 074703 073745 073745 073745 EMT310: .WORD EMT311: .WORD EMT312: .WORD EMS142,EMS14S,EMSS3 EMSS7.0 EMS104.EMS103.EMSS3 EMS57.0 EMS105.EMS103.EMSS3 EMSS7.0 071026 071040 071052 073404 073046 074434 074703 074703 0730646 073745 073745 074703 EMT314: .WORD EMT315: .WORD EMT316: .WORD EMS42,EMS103,EMSSS,EMSS7.0 EMS31.EMS103. EMS53 EMSS7.0 EMS71.EMS31,EMS103.EMS57.0 071074 071104 071114 071122 073535 073462 074770 073252 074703 0764703 872630 074703 074105 074105 000000 074105 EMT320: EMT321: EMT322: EMT323: 071144 071156 077162 072476 073252 077217 074703 072516 EMT325: .WORD EMT326: .WORD 071242 073705 074474 074105 070650 077012 074600 074703 EMT302: .WORD 070674 077012 074552 070730 073656 076351 074703 EMT304: .WORD 075207 EMT307: .WORD 071006 076312 076322 074703 EMT313: .WORD 071064 073433 074703 074105 EMT317: .WORD .WORD .WORD .WORD .WORD 071132 077202 073252 074703 EMT324: .WwORD 071174 071206 071216 071230 076370 074325 073124 073327 076426 073745 074703 074703 074476 orr;zs 073745 073745 EMT327: .WORD EMT330: .WORD EMT331: .WORD EMT332: .WORD EMT333: .WORD 071260 074513 076221 074105 EMT334: .WORD 071276 074513 076405 076450 EMT335: .WORD 071316 074133 074146 074175 EMT336: .WORD EMS47,EMSS3,EMSS?,EMS115.EMS140,0 EMS47.EMSS3.EMSS7.EMS115.EMS141.EMS72,0 EMSS6.EMSS3,ENSS7.EMS115.EMS150,EMS152,EMS70,0 EMS71.EMS56 EMS5S EMSS7,EMS115,EMS150,EMS152 EMS72.0 EMS165,EMS100,EmS103,EMS57,0 EMS165.EMS101.EMS103.EMS57 .0 EMS165.EMS77.EMS103,EMS57,0 EMSS0 EMS146,EMS115,ENSS2,EMS117 EMS46,EMSS7,0 EMS144.EMS145.EMS10S, EMSS?,EMS115,EMS143,EMS70,0 EMS43.EMS108,EMSS7.0 EMS45.EMS103.EMS57.0 EMS&ké .EMS103.EMS57.0 EMS106,EMS20.0 EMS36,EMS103.EMSS7,0 EMS17S,EMs36.EMS108,EMs57.0 EMS172.EMS36.EMS103.EMS57.0 EMS13,EMS174 ENS1S,EMS3S,EMSS3, EMS175.0 mn#&mutwy«mnhm EMS66,EMSS3 EMS175,0 EMS33.EMS108,EMSS3 EMS175,0 EMS&0.EMS103.EMS53.EMSS7.0 EMSS1.EMS74 EMSS7,EMS11S EMSSO,EMS70,0 EMS7S.EMS141,EMSS? EMS115,EMSa? EMs7%.0 EMS7S.EMS150.EMS15S,EMSS7.EMS115,EMSS6,EMS73,0 EMS60.EMS61,EMS62.0 SEQ 0267 CIRMDCO RMO3/2 FCTNL TST 2 CIRMDC.P1Y 12-DEC-78 08:24 MACY11 30A(1052) 04=JAN-79 ERROR MESSAGE TABLE 071326 071336 071350 075214 073152 074001 075244 073745 073152 oms; 073757 071370 071402 073733 073733 075244 075244 073535 073462 074770 073733 074513 072630 077500 076405 077750 000000 077437 071356 073733 071614 073733 071470 077053 071626 0716440 0716452 0715064 071514 100023 075244 075244 074457 072630 074030 100023 11:23 J 5 PAGE 268 EMT337: .WORD EMT340: .WORD EMT341: .WORD EMS116,EMS117,EMS34,0 EMS34,EMSS3,EMSSL,EMS111,0 EMS5S.EMS34.0 EMT343: .WORD EMT344: .WORD EMSS2.EMS117.EMSLS.EMSS7.0 EMSS2,EMS117,EMS44 EMSS7,0 EMT342: .WORD EMT345: .WORD EMSS2.EMS117,EMSS6,EMSS7.0 EMSS52,EMS117.EMS221.0 075207 100073 074654 EMT346: .WORD EMT347: .WORD EMT350: .WORD EMS106,EMS20,EMS115,EMS223,EMS72,0 EMSS52,EMS205,EMS222,EMS206.0 EMS75,EMS150,EMS102,EMS115,EMS56,EMS73,0 077720 : EMT353: EMS215, EMS217,EMS203,EMS216.0 074654 000000 EMT351: .WORD . .WORD EMT354: .WORD E:S}b;.%ls 5,EM$102,0 EMS221.EMS20,0 SEQ 0268 CZRMDCO RMO3/2 FCTINL TST 2 CZRMDC.P 12-DEC-78 08:2¢4 071522 071534 100253 101067 101067 101146 071544 071550 100272 100301 000000 000000 071554 071560 071572 100320 100347 100375 000000 101067 101067 071606 071616 071630 100452 100511 100650 101067 101067 101067 071642 101010 000000 MACYTT 30A(1052) 04=JAN-79 ERROR MESSAGE TABLE 101146 101277 11:23 K 5 PAGE 269 EWT1: ENWT2: .WORD .WORD EM1,STSH1,STSH2,STSH&,0 STSH1,STSHZ2,STSH&,0 ENT110: EHT111: .WORD _WORD EW110,0 EMWI11,0 101146 101146 ENT114: EHT223: EHT256: _WORD .WORD .WORD EM114,0 EM223,STSH1,STSH2,STSH&4,0 EM256,STSH1,STSH2,STSH&,0 101146 101146 101146 EHT336: EWT337: EMT344: .WORD .WORD .WORD EM336,STSH1,STSH2,STSH4,0 EM337,STSH1,STSH2,STSH4.0 EM344,STSH1,STSH2,STSH4,0 EHT353: .WORD EH353,0 SEQ 0269 CZRMDCO RMO3/2 FCINL TST 2 CZRMDC.P 12-DEC-78 08:24 MACYT1 30A(1052) 04=JAN-79 ERROR MESSAGE TABLE 071646 071656 101340 101434 071664 071666 101346 101352 071670 071672 101360 101370 101434 101452 071702 071712 071722 101400 101412 101412 101434 101434 101434 101452 101452 101452 101434 101452 11:23 L5 PAGE 270 1,87502,515D4 SD2,STSD4 .WORD .WORD : .WORD : : .WORD .WORD : .WORD WORD .WORD 36,515D1,515D2,515D4 ED337,5T5D1,S15D2,5TSD4 ED337,STSD1,STSD2,5T5D4,0 EDT353: .WORD ED353 : : : .WORD ,STSD1,5TSD2,STSD4 SEQ 0270 O o .. oo b it 071760 071762 071772 072002 072012 072022 Vi N WA N N 071754 071756 NO N - 101535 101535 - 071736 071746 MACY11 30A(1052) W~ CZRMDCO RMO3/2 FCINL TST 12-DECCZRMDC.P11 O04=JAN-79 ERROR MESSAGE TABLE 101535 101535 101535 101535 101535 101535 101535 101535 EFT1: EFT2 .WORD .WORD 11:23 NS5 PAGE 271 EF111,STSF,STSF,STSH STSF,STSF,STSF EFT110: .WORD EFTI11: .WORD EF110 EF1I1 EFT114: EFT223: .WORD .WORD EF114 EF114,STSF,STSF,STSF 1336: EFT336: EFT337: EF1344: .WORD .WORD .WORD EF336,STSF,STSF,STSF EF336,STSF,STSF,STSF EfSSb.SlSF.S!SF.SISF EFT353: .WORD EF114 SEQ 0271 CZRMDCO RMO3/2 FCINL TST 2 CZRMDC.P11 12-DEC-78 08:2¢4 MACY11 30A(1052) O04=JAN=79 ERROR MESSAGE STRINGS 11:23 N5 PAGE 272 .SBTTL ERROR MESSAGE STRINGS 072026 072073 072110 072153 072216 072246 072313 72 072622 072433 072476 072505 072516 072540 072570 072630 072653 072676 072712 051127 106 047125 116 047503 047503 106 047507 067111 106, 040515 103 052502 046442 051126 044123 127 052502 046042 072767 073006 106 0564503 073036 073046 052123 053442 052101 042516 051525 020062 EMS30: EMS31: .ASCIZ .ASCIZ @STATUS @ @'WLE' (RMER1, BIT 11) @ 073126 073152 073223 073252 053442 051127 042042 043103 052111 042115 045503 020062 020105 042520 020042 EMS33: EMS34: EMS35: EMS36: .ASCIZ .ASCIZ .ASCIZ .ASCIZ @'WCF" (RMERT. BIT 5) @ @WRITE CHECK ERROR-"WCE'' (RMCS2, BIT 14) @ @'WOPE" (RMCS2, BIT 8) @ @'DCKTM (RMER1, BIT 15) @ 073327 073356 073406 042 0uo4t2 062062 046106 043130 0425264 021126 020062 020062 EMS40: EMS41: EMS42: .ASCIZ .ASCIZ .ASCIZ @'DLT" (RMCS2. BIT 15) @ @'WXF' (RMCS2, BIT 9) @ @'DTE" (RMERT. BIT 12) @ 073462 073535 073600 062510 106 04b4t2 042101 051117 062501 051105 040515 020062 EMS44: EMS4S: EMS4é: .ASCIZ .ASCIZ .ASCIZ SHEADER COMPARE ERROR ''MCE'* (RMER1, BIT 7))@ SFORMAT ERROR “‘FER" (RMERT, BIT )@ @'"IAE' (RMER1, BIT 10) @ 073656 073705 073733 073745 073757 051442 062 1264 106 101 044513 046520 062510 052105 020124 020042 021120 051040 041505 047101 EMSS0: EMSS51: EMS52: EMS53: EMSS54: .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ @''SKI' (RMER2, BIT 14) @ @''PIP" (RMDS, BIT 13) @ @THE RMO3 @ @DETECTED @ @AT AN UNEXPECTED @ 074030 074105 074133 0764146 074175 076213 076241 074257 076325 047111 106 106 047506 104 062 111 103 106 040526 051125 052101 051505 052101 040520 020123 046517 052101 044514 067111 020101 0470640 020101 021122 047111 047520 020101 EMS56: EMS57: EMS60: EMS61: EMS62: EMS63: EMS64: EMS6S5: EMS66: .ASCIZ .ASCIZ .ASCIZ .ASCIZ, .ASCIZ' .ASCIZ .ASCIZ .ASCIZ .ASCIZ @INVALID COMMAND ERROR “'IVC'* (RMER2, BIT 12) a @DURING DATA TRANSFER @ @DATA READ @ @DOES NOT COMPARE WITH @ @DATA WRITTEN @ @' PAR' (RMER1, BIT 3) @ 1S INCORRECT'® ~ COMPOSITE ERROR “ERR' (RMDS, BIT 14) @ @DATA PARITY ERROR '‘DPE'’ (RMER2, BIT 3) @ 072740 040442 073025 073075 073301 073433 073627 074001 047117 053105 053101 047117 046515 052116 044522 047040 040526 047125 051523 067117 020123 050103 047101 052517 051117 020123 oszlo; 020107 041511 044501 054105 047101 047522 oazszg 052117 044516 052103 052502 051126 040520 021105 043123 042114 020104 051050 020042 EMS1: EMS2: EMS3: EMS&: EMSS: EMS6: EMS7: EMS10: EMS11: EMS12: EMS13: EMS14: EMS1S: EMS16: EMS17: EMS20: EMS21: EMS22: EMS23: .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ @WRONG UNIT SELECTED (RMCS2, BITS 0-2) @ @DEVICE WENT @ SUNAVAILABLE 'DVA" (RMCS1, BIT 11) @ SNONEXISTENT *NED" (RMCS2. BIT 12) @ @COMMAND NOT COMPLETED, @ SCONTROLLER NOT READY (RMCS1, BIT 7) @ @SORIVE NOT READY 'DRY'' (RMDS. BIT 7) @ @GO NOT RESET ''GO'° (RMCS1, BIT 0) @ SINVALID @ @FUNCTION CODE (RMCS1, BITS 1-5) @ SMASSBUS @ SCONTROL @ @BUS PARITY ERROR @ @ WCPE' (RWCS1, BIT 13) @ @TRANSFER ERROR (RMCS1, BIT 14) @ @SHOULD NOT BE SET @ @WORD COUNT (RMWC) @ @BUS (RMBA) @ @'LBT" (RMDS, BIT 10) @ 051511 044516 02011 062116 EMS25: EMS26: L.ASCIZ .ASCIZ @DISK (RMDA) 3 @CYLINDER (RRMDC) @ 04251 ozoo:.g EMS24: 101 062106 062522 EMS27: 050125 021105 EMS32: 061505 021110 EMS37: 062 0641510 041522 EMS43: 042 050117 021111 EMS47: 111 041516 051117 EMS35: .ASCIZ @'AOE'* (RMERi, 81T 09) @ .ASCIZ SADDRESS@ .ASCIZ @"UPE' (RMCS2. BIT 13) a .ASCIZ @"ECH' (RMER1. BIT 6) @ .ASCIZ @'WCRCTM (RMERi, BI1T 8) @ .ASCIZ @'OPI'* (RMER1, BIT 13) @ .ASCIZ @INCORRECT DATA DURING@ SEQ 0272 CZRMDCO RMO3/2 FCTNL TST CIRRDC.P1T > C19-DEC-78 08:24 074375 074422 074434 0764447 076457 076474 074513 074521 074552 074600 074626 074654 074703 074712 074741 074770 075007 075036 075047 075111 075133 075163 075207 075214 075244 075266 075303 075346 075403 075446 075500 075543 075606 075645 075703 0757643 075767 076012 076054 076116 076143 076200 076221 076247 076264 076312 076322 076351 076370 076405 076424 076450 076476 076516 076532 076552 104 051511 051105 111 104 044504 114 104 051042 044442 044442 052504 105 046042 042 062510 102 042101 127 101 126 116 040 044124 040506 047516 103 052502 ~ 103 051105 052101 115 041505 105 115 116 125 047503 064122 051104 =~ 1064 042515 042 106 062062 067125 052442 123 043117 040 067442 053062 040520 047516 043117 047516 051125 051040 047522 020123 042111 020104 051517 051125 051115 051114 043114 044522 051122 041502 051514 042101 051525 051104 042510 020124 042510 047117 006455 020105 046111 020124 047117 020123 047117 047522 042524 044501 020103 041503 044501 052117 044516 052116 030461 0353111 044522 044504 047515 044522 041526 040523 051516 047510 051506 047526 021115 021126 045503 020124 051506 020124 MACY11 30AC1052) 04-JAN-79 ERROR MESSAGE STRINGS 047111 051505 042516 042523 047040 047516 020126 047111 020062 020042 020042 063516 051117 020042 021103 051105 052040 051505 020116 044124 051440 054105 12 040515 062105 047101 05112 042101 051126 020122 052116 052116 047520 050040 052116 044440 052502 047522 042640 020105 042526 046525 021114 042526 020042 042506 020042 046125 052105 05251% 024040 024040 040440 042523 052105 042522 EMS67: EMS70: EMS71: EMS72: EMS73: EMS74: EMS7S: EMS76: EMS77: EMS100: EMS101: EMS102: EMS103: EMS104: EMS105: EMS106: EMS110: EMS111: EMS112: EMS113: EMS114: EMS115: EMS116: EMS117: EMS120: EMS121: EMS122: EMS123: EMS124: EMS125: EMS126: EMS127: EMS130: EMS131: EMS132: EMS133: EMS134: EMS135: EMS136: EMS137: EMS140: EMS141: EMS142: EMS143: EMS144: EMS145: EMS146: EMS147: EMS150: EMS151: EMS152: EMS153: EMS154: EMS155: EMS156: .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCI] .ASCIZ .ASCIZ .ASCIZ (ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ 11:23 B 6 PAGE 273 @DURING SEEK COMMAND 3 @IS RESET a QERRONEOUS @ @IS SET @ @DID NOT SET @ @DID NOT RESET @ @LOST @ @DURING PACK ACK COMMAND 3 @ RWR'' (RMER1, BIT 2) @ @'ILR' (RMER1. BIT 1) @ @"ILF'* (RMER1, BIT 0) @ Q@DURING SEARCH COMMAND 3 @ERROR @ @"LBC'' (RMER2, BIT 10) @ @"LSC' (RMER2, BIT 11) 3 QMEADER ERRORS @ @BUS TIMEOUT (04 TRAP; @ SADDRESS @ QWHEN READING/WRITING RH REGISTERS @ AT THE FOLLOVING @ @THE SELECTED DEVICE IS @ @NONEXISTENT DEVICE @ @ -@<CRX<LF> STHE MASSBUS CONTROLLER 3 @FAILED T0 DETECT @ @NOT AN RMO3 3 @CONTROL STATUS REGISTER 1, RMCS1, @ @BUS ADDRESS REGISTER, RMBA, @ @CONTROL STATUS REGISTER 2, ‘RMCS2, @ SERROR REGISTER 1, RMER1, @ SATTENTION SUWMARY REGISTER, RMAS, @ SMAINTENANCE REGISTER #1, RMMR #1. 3 @ECC POSITION REGISTER, RMEC1, 3 SECC PATTERN REGISTER, RMECZ, @ SMAINTENANCE REGISTER 2, RMMR2, @ @NOT INITIALIZED BY @ @UNIBUS INITIALIZE @ @CONTROLLER CLEAR, 1.E. BIT 5 OF @ @RW11 ERROR CLEAR (RMCS1, BIT 14) @ @DRIVE CLEAR COMMAND 3 @DRIVE STATUS REGISTER, RMDS @ @MEDIUM OFF LINE @ @'WOL' (RMDS, BIT 12) @ @DRIVE FAULT @ 3"DVC" (RMER2, BIT 7) @ SUNSAFE @ @'UNS" (RMER1, BIT 14) @ @SHOULD BE SET @ @OFFSET MODE 3 @ VOLUME VALID 3 @"OMTM (RWDS, BIT 0) @ @'VV'* (RMDS, BIT 6) @ @PACK ACK COMMAND 3 @NOT SET BY @ @OFFSET COMMAND @ @NOT RESET BY @ SEQ 0273 CZRMDCO RMO3/2 FCTINL TST 2 CZRMDC.P11 12-DEC-78 08:24 076570 076605 076622 076652 076705 076731 077000 077012 077026 077053 077100 077127 077162 077202 07721 077225 077253 077302 077324 077341 077407 077437 077452 077500 077512 077537 077564 07757% 077613 077636 077661 077677 077720 077750 100003 100023 100073 100126 100201 052122 122 063117 051105 106 111 054503 047125 042522 042 044127 105 047516 042522 106 106 042 047111 060503 106 106 111 053442 054105 044527 042 051127 127 120 040527 123 120 052504 047514 123 102 101 042510 116 020103 050111 051506 047522 051125 020123 044514 054105 040503 052101 047105 051122 051116 047503 052101 051125 050117 053440 020116 040511 051125 041516 046122 041505 044126 047507 052111 051501 047522 020123 042505 047522 044522 045517 040505 0642101 042040 042101 047117 MACY11 30A(1052) 04=JAN-79 11:23 ERROR MESSAGE STRINGS 047503 041440 052105 020122 047111 047111 042116 042520 044514 021101 051040 051117 041505 042526 020101 047111 021105 044522 047516 047107 047111 051117 020042 052125 041440 020042 047111 051040 051107 047516 020113 051107 043516 040440 041522 051440 052101 051105 054105 EMS157: .ASCIZ EMS160: .ASCIZ EMS161: .ASCIZ EMS162: .ASCIZ EMS163: .ASCIZ EMS164: .ASCI1 +ASCIZ EMS165: .ASCIZ EMS166: .ASCIZ EMS167: .ASCIZ EMS170: .ASCIZ EMS171: .ASCIZ EMS172: .ASCIZ EMS173: .ASCIZ EMS174: .ASCIZ EMS175: .ASCIZ EMS176: .ASCIZ EMS177: .ASCIZ EMS200: .ASCIZ EMS201: .ASCIZ EMS202: .ASCIZ EMS203: .ASCIZ EMS204: .ASCIZ EMS205: .ASCIZ EMS206: .ASCIZ EMS207: .ASCIZ EMS210: .ASCIZ EMS211: .ASCIZ EMS212: .ASCIZ EMS213: .ASCIZ EMS214: .ASCIZ EMS215: .ASCIZ EMS216: .ASCIZ EMS217: .ASCIZ EMS220: .ASCIZ EMS221: .ASCIZ EMS222: EMS223: EMS226: .ASCIZ .ASCIZ .ASCIZ C 6 PAGE 274 @RTC COMMAND 3 QRIP COMMAND 3 QOFFSET REGISTER (RMOF) @ SERROR REGISTER #2, RMER2, @ @DURING RECALIBRATE @ @1S INTERWITTENT OR DRIVE DIDNT DROP ON @ @CYLINDER @ SUNEXPECTED @ SRECALIBRATE COMMAND @ @'°ATATM (RMDS, BIT1S) @ @WHEN READING REGISTER @ QERROR REGISTER #2, RMER2, 3 SNONRECOVERABLE @ SRECOVERABLE @ QDATA @ QDURING WRITE COMMAND 3 @'OPE'’ (RMER2, BIT 13) @ @IN WRITE PROTECT @ @CAN NOT SET @ @DIAGNOSTIC MODE ‘DMD'‘ (RMMR1, BIT 0) @ @DURING DIAGNOSTIC MODE @ @INCORRECT @ @'WRL'' (RMDS, BIT 11) @ QEXECUTED @ @WITH COMP ERROR SET @ @''GO'* (RWCS1, BIT 0) @ QWRITING @ @WAS RESET BY @ QPROGRAM INTERRUPT 3 @WAS NOT GENERATED @ QSEEK COMMAND @ @PROGRAM TIMEOUT @ SDURING LOOK AMEAD TEST @ SLOOK AHWEAD REGISTER,RMLA, 3 Q@SEARCH COMMAND 3 @BAD SECTOR ERROR '‘BSE'' (RMER2, BIT 15) @ @A DATA TRANSFER COMMAND @ QHEADER COMPARE INWIBIT '‘WCI'" (RMOF, BIT 10) @ @NONEXISTENT MEMORY ''NEM'' (RMCS2, BIT 11) @ SEQ 0274 CZRMDCO RMO3/2 FCTINL TST 2 CZRMDC.P11 12-DEC-78 08:24 MACYT1 30A(1052) 04=JAN-79 11:23 ERROR MESSAGE STRINGS D 6 PAGE 275 SEQ 0275 100253 100272 100301 105 052502 040 050130 040523 046522 052103 051104 051503 EM1: EW110: EM111: .ASCIZ .ASCIZ .ASCIZ @EXPCTD RECEVDA @BUSADRA @ RMCS2 RMCS1a 100320 042522 105 105 052123 042503 050130 050130 052101 062126 052103 052103 051525 EW114: EM223: EM256: .ASCIZ .ASCIZ .ASCII JASCIZ @RECEVD @EXPCTD @EXPCTD @STATUS SNGPRT RECEVD RECEVD STATUS DULPRT® DATAS RGSTRI<CR><LF> INDEX® 100452 100511 100551 100611 042107 122 137 105 042101 041515 057537 050130 051522 82;;;; EH336: EN337: .ASCIZ .:gg{} SGDADRS gancsz GDDATA STATUS BDADRS BDDATA3 DATAS<CR><LF> FAILING ASC1Z SERPTYS "RETEVD 100650 100711 100750 101010 101030 046522 137 054105 054105 041474 051105 057537 041520 041520 037122 8%92%; ':§E{§ gllfifll 062124 JASC1Z QERPTYC "RETEVD 0466074 EW353: 101067 101134 101146 101213 101237 101277 040 020040 051040 040 040 040 046522 051040 053515 020040 046522 046522 051503 040515 020103 051040 040504 051115 STSH1: 100347 100375 100624 052103 042124 EH344: STSH2: STSH3: STSH4: .ASCI1 LASCIZ .ASCI1 .ASCIZ .ASCI1 ASCIZ L.ASCIZ .ASCIZ @EXPCTD STATUS BIT"""XDRESSa HEADER WORD NUMBER RECEVDA<CRO<LF> @<CR><LF> RMLA RMLA @ @ @ @ @ @ a<CR><LF> R FAILINGa<CR><LF> BITA<CR><LF> POSITONa RMOF @ RMCS1 RMCS2 RMDS RMER1 RMERZ23 RMAS@<CR><LF> RMWC RMBA RMDA RMOF RMDCa RMEC! RMEC23<CR><LF> RMDA RMDC RMOF RMLAQ<CR><LF> RMSNa<CR><LF> RMMR1 RMMR?2 RMDT CZRMDCO RMO3/2 FCTINL TST 2 CZRMDC.P 12-DEC-78 08:24 101340 101340 001140 101352 001174 101346 MACY11 30A(1052) ERROR MESSAGE STRINGS 001142 000000 001276 000000 001176 000000 101360 101370 001356 001140 001176 001142 101400 00113&¢ 101412 101426 101434 101452 101466 101472 101504 04=JAN-79 .EVEN ED1: 11:23 E 6 PAGE 276 ' .WORD S$GODAT,S$BODAT.O ED110: .WORD .WORD STMPO.STMP1,0 001200 001174 ED114: ED223: .WORD .WORD RMDTI,STWP1,$TMP2.0 $GODAT,SBDDAT,S$TMPO.0 001140 001136 ED336: .WORD SGDADR,SGDDAT,SBDADR,SBDDAT.O 001140 001140 001142 001142 001174 001432 ED337: ED353: .WORD .WORD 001330 001332 001376 001336 001340 00133¢ 000000 001364 001342 001336 STSD1: STSD2: 001362 STSD3: .WORD .WORD .WORD .WORD 00135¢ 001370 001356 ED111: STSD4: .WORD $BASE,0 $GODAT,SBDDAT,STMPO,STMP1.0 SGDDAT.SBDDAT .RMOFO.0 RMCS11,RMCS21,RMDSI,RMER1I,RMER2],RMASI,O RMWCI,RMBAI,RMDAI,RMOFI,RMDCI,RMEC1] RMEC2i.0 RMDAI,RMOCI.RMOF1,RMLAI.O RMMR11,RMMR31.RMDTI.RMSNI.O SEQ 0276 CZRMDCO RMO3/2 FCINL TST 2 CZRMOC.P1 12-DEC-78 08:24 MACYT1 30A(1052) 04=JAN-79 11:23 ERROR MESSAGE STRINGS 101516 101517 101521 101524 101530 000 .BYTE .BYTE 000 .BYTE 101535 000 .BYTE F 6 PAGE 277 SEQ 0277 CZRMDCO RMO3/2 FCINL TST 2 CZRMDC.P1Y 12-DEC-78 08:24 101544 000402 103560 177777 102550 102552 102554 103562 177777 177777 000402 MACY11 30A(1052) 04=-JAN-79 ERROR MESSAGE STRINGS .EVEN MFGFIL: .BLKW USRFIL: 177777 .EVEN 2958. 11:23 6 j LWORD .MORD .BLKW =1 =1 258. .WORD =1 LWORD 6 PAGE, 278 -1 7. SEQ 0278 104777 105207 105252 105316 105320 105356 105414 105416 105434 105472 105517 105543 105601 105611 105643 105670 105715 126 126 031524 005015 047411 057411 005015 053523 026455 020040 040 040 040 040 040 020040 040 033462 026455 032461 030440 030440 030440 030440 030440 034440 020040 3011 L.ASC 7506 3111 3011 5011 .ASC LASC L.ASC L.ASC 3011 026455 006411 004464 006463 004462 004461 004460 004411 004470 LASC LASC .ASC +ASC .ASC .ASC +ASC .ASC .ASC LASC .ASC .ASC .ASC .ASC .ASC LASC .ASC .BLXW .BLKW 2958. 258. s BUFFER 6 PAGE 279 <CRY<LF> El LIST OF TESTS@<CR><LF> am CORTROCCERTMRTCESS TESTA<CR><LF> ] o 8<CRO<LF> a2 ar3 avs ars até DEVICE AVAILABLE TEST@<CR><LF> DRIVE TYPE TEST@<CR><LF> FORMAT ZEROS - 18@<CR><LF> FORMAT ZEROS = 16@<CR><LF> ZERO FILL TESTA<CR><LF> 110 FORMAT CHECK ZEROS W/ WCE ERROR®<CR><LF> a7 ol a2 113 anls 31}2 —4 a7 8720 8121 8722 o Ymmod bt G bt bt bt e (3 () (Y Bt emd Bt B B O B B Bt Bt Gt bt bt oo bt ot B bt bt Bt Bt ot Bt (ot Bt (o )B Bod Bt B Bt G AN it AN et \ N AN =t AN NN~ WAWL Y o ASC ASC ASC ASC ASC ~ n 1064611 +ASC +ASC B B 044103 004467 004460 004461 031062 032461 033061 Bonf Bd Bt B0 B 052111 030526 031124 0311264 126 126 126 .ASC .ASC +ASC -ASC B 040522 057537 106422 104456 104516 104555 }06323 04361 30 30 75 30 Bt Bt B8 fre? et fd Bt Bt 042520 057537 031061 031461 004464 030461 Bt ot B 043011 047506 126 126 030526 1264 s Bt B 032063 004465 104165 104221 106266 1064137 004466 Bt Brd ot Bt Dot S 0044 004461 031063 031463 043011 004460 126 -ASC +ASC -ASC +ASC +ASC Bod et B 031526 0315264 126 126 033526 030526 .ASC .ASC .ASC Bmnd B 105044 105072 105117 105153 1064036 104072 1064013 .ASC 17 Bt B0 Bt B0 Bt Bmg B0 033062 004462 004463 004464 004465 37 e 126 126 1264 126 126 103661 103713 103737 103765 041411 B Bt B 104735 057537 FTZZRFFIRTRINERRR 031462 057411 NN NN=-=NNNO 126 103606 .ASC Bt B 030524 264 e S0 B 103626 051511 b 046011 H 11:23 :.ASCI] SCAUTION: PARTS 2 AND 3 OF THE FUNCTIONAL TEST LEAVE @<CR><LF> ;.ASCI] @BAD HEADERS ON THE PACK SO BE SURE TO FORMAT THE PACKS@<CR><LF> ;sASC]1] SWHEN DONE .3<CR><LF> S 103566 3 £ 2282222222222§§?222?322?3??88 005015 . HELP: JASCII St 103564 et et BUFFER: BUFONE: BUFTWO: 000402 000402 103564 103564 04=JAN-79 ERROR MESSAGE STRINGS . 103564 103564 104570 12-DEC-78 08:2¢4 . CZRMDC.P1 MACYT1 30A(1052) ~N w CZRMDCO RMO3/2 FCTNL TST 2 8724 8125 8126 CAr44 8130 a3 ars2 8133 FORMAT CHECK ZEROS = 16@8<CR><LF> FORMAT ONES = 16@<CR><LF> FORMAT CHECK ONES = 16@8<CR><LF> FORMAT CHECK ONES W/ WCE ERRORS@<CR><LF> FORMAT MULTIPLE SECTORS@<CR><LF> FORMAT FORMAT FORMAT FORMAT FORMAT FORMAT W/ HEAD SWITCHING@<CR><LF> W/ MID TRANSFER SEEK@<CR><LF> W/ IMPLIED SEEK@<CR><LF> EACH SECTOR ADDRESS@<CR><LF> EACH TRACK ADDRESS@<CR><LF> PRIME CYLINDERS@<CR><LF> FORMAY LAST SECTORS<CR><LF> FORMAT W/ AOE ERROR@<CRO<LF> FORMAT INVALID SECTOR ADDRESS@<CR><LF> FORMAT INVALID TRACK ADDRESS@<CR><LF> FORMAT INVALID CYLINDER ADDRESS@<CR><LF> FORMAT AT OFFSET@<CR><LF> IVC FORMAT TESTa<CR><LF> FORMAT ERROR TEST = 18@<CR><LF> FORMAT ERROR TEST = 16@<CR><LF> 813 FORMAT HCE, FIRST HEADER WORDI<CR><LF> 9135 FORMAT HCE, SECOND HEADER WORD@<CR><LF> <CR><LF> @ OPERATIONAL SWITCH SETTINGS@<CR><LF> RS i 8<CRX<LF> <CR><LF> oSWITCH USER<CR><LF> @§= = =s = eeccccccccccccccccce- 9<CR><LF> e 15 HALT ON ERROR®<CR><LF> ? 14 LOOP ON TEST@<CR><LF> 13 INHIBIT ERROR TYPEOUTS@<CR><LF> e 12 a<CR><LF> s N INHIBIT ITERATIONS®<CR><LF> a 10 BELL ON ERROR®<CR><LF> s 9 LOOP ON ERROR®<CR><LF> e 8 LOOP ON TEST IN SWR<7:0>3<CR><LF> Q et 0279 CZRMDCO RMO3/2 FCTNL TST 2 CZRMDC.P1 12-DEC-78 08:24 105755 105772 106006 106022 106036 106051 106064 106077 106112 106114 0640 020040 020040 0200640 020040 020040 033040 032440 0320640 031440 005015 000 040 0200640 040 005015 000001 020040 030440 020040 MACY11 30A(1052) 04=JAN-79 11:23 ERROR MESSAGE STRINGS 004467 004411 .ASCII .ASCII @ @ _.ASCII .ASCII & @ 006411 _ASCII 004462 004411 004460 .ASCII _ASCII .ASCII LASCID ASCIZ 004411 004411 -END @ 7 6 S & 3 @ 2 @ 1 @ O <CRY<LE> <CR><LF> 1 6 PAGE 280 TN128@<CR><LF> TN6LI<CRYSLEF> TN328<CR><LF> TN16@<CRY><LE> TNBA<CR><LF> TNGA<CR><LF> TN2@<CRY<LF> TN1@<CR><LF> SEQ 0280 CZRMDCO RMO3/2 FCTINL TST 2 12-DEC-78 08:24 CZRRODC.P11 1363 1363 1363 1363 1363 ADDW13= 000000 ADDW14= 000000 ADDW15= 000000 ADDW2 = 000000 ADDW3 = 000000 ADDW4 = 000000 ADDWS = 000000 ADDW6 = 000000 1363 1363 1363 1363 1363 1363 1363 1363 1363 1363 1363 1363 1363 3527 SEQ 0281 10329# NN N NN NN S e 1363 1363 1363 1363 1363 1363 3571 L1574 48340 5500 7310# 61834 67064 13N 9499 9514 9529 9544 12511 12553# 125540 3615 &3170 5022# 5665 62654 68814 36130 41584 4835 56634 61844 6707 75454 7309 NN 1363 1363 1363 1363 1363 1363 1363 1363 1363 1363 1031# 1363 1230# 1363 11904 11897 3271 11899 6561 3570# 3989 48334 54994 6100 670%# 4675 5698# 60994 ONONSOWVIN -0 AMANS2= 000000 AMANS 3= 000000 AMARS4= 000000 AMSGAD= 000000 AMSGLG= 000000 ANSGTY= 000000 AMTYP1= 000000 AMTYP2= 000000 AMTYP3= 000000 ANTYP4= 000000 AOE = 001000 APASS = 000000 APE = 100000 APRIOR= 000000 APTCSU= 000040 APTENV= 000001 APTS1Z2= 000200 APTSPO= 000100 AFATAL= 000000 AMADR1= 000000 AMADR2= 000000 AMADR3= 000000 AMADR4= 000000 AMARS 1= 000000 6 PAGE 282 1404 35694 39834 P T P U P SO Y —- AENV = 000000 AENVA = 000000 3821 46734 53400 5955 65594 71724 1363 1363 WO £ = 000001 J 1363 s ADR 11:23 1408 1409 — ADDW7 = 000000 ADDW8 = 000000 ADDW9 = 000000 ADEVCT= 000000 ADEVM = 000000 8274 1578 8086 ADDW11= 000000 ADDW12= 000000 1363 16406 1407 e 000000 ADDWO = 000000 ADDW1 = 000000 ADDW10= 000000 1251 1363 1363 s 047656 04=JAN-79 CROSS REFERENCE TABLE -- USER SYMBOLS oo VWA O WD — N QD N wnOwWw = ABASE = 176700 000000 000000 ACOW1 = ACDW2 = ACKSTS ACPUOP= MACYT1 30A(1052) 3653 45054 5181# 5810 64120 7034# 7547 9548 9795 9799 12557 CZRMDCO RMO3/2 FCTNL TST 2 CZRMDC.P 12-DEC-78 08:24 ARGS = 000004 36720 3923 L1450 L6214 47314 ASNDA 001500 ASNDC 001476 ASWREG= 000000 ATA = 100000 ATESTN= 000000 ATNMSK= 000377 ATNTBL 064772 AUNIT = 000000 AUSWR = 000000 AVECT1= AVECT2= Al6 = A17 = BACK 120254 000000 000400 001000 = 000000 MACY11 30A(1052) 04=JAN-79 11:23 K 6 PAGE 283 SEQ 0282 CROSS REFERENCE TABLE =-- USER SYMBOLS 37410 39594 42154 37482 37918 40450 39164 41364 Lh14n 46948 10632 125574 1402 10635 12557 8112 = 000004 8173 = 000010 81714 = 000020 BlTS = 0 BI1T6 = 000100 8177 = 000200 8178 = 000400 8119 = 001000 T 033736 BOTFLG 033740 BPTVEC= 000014 B8SE = 100000 BUFFER 103564 BUFONE 103564 BUFTWO 104570 75164 7672 72854 7425 76140 7716 7289 764364 7618 72964 7440 76214 7300 764518 7625 OWWO WVO—Ww NN 00 N ~N WDVO—= WO s — N N\ = RO N (=1 NIV T, ] —_—— — — — — — ) — — 8098 — — 11174 11280 8025 33N 9008 7882+« 7892+« 7885 7895 7900 7898+ 76449 B4bk 3808 5352 6872 7460 125574 3832 5511 6893 8376 7580+ 3934 1235 N 8767 9002 8126 8076 7578+ 3809 12100 — o — 1025 VHNNBOWVO NN 1011 s 902# 8713 9254 9244 9234 9224 9214 9204 9194 918# 7864+ 7850+ 9340 116434 8195+ 3664 5193 6862 7576 3766 s 1028 1027 1026 s 1014 1013 1012 s 9054 904# 9034 s 1015 p 9%7 e 9064 — 3637 953 952 951 950 949 948 1020 1019 997 996 8628 1016 11970 7278 76218 7572 711 Vi 81715 = 100000 3316 927 926 925 924 923 922 921 920 919 918 8470 995 12009 12448 7389 9715 11354 11340 11334 1132 11310 11304 11294 9274 917# 9164 915# 9144 9134 9124 9114 9104 9094 9084 9264 9074 12077 7241 73854 7493 7668# s 817112 = 010000 81113 = 020000 BIT14 = 040000 7475 76574 72378 7382 76489¢ 7661 S BIT11 = 004000 76718 7632 73784 SEQ 0283 Ot b PIN) ot e e O QD = N — — NN N0 8803 = 000010 8804 = 000020 8805 = 000040 8806 = 000100 8807 = 000200 8808 = 000400 8809 = 001000 8170 = 000001 81100 = 000001 81101 = 000002 81102 = 000004 81103 = 000010 81104 = 000020 81705 = 000040 81706 = 000100 81107 = 000200 81108 = 000400 81709 = 001000 8111 = 000002 BIT10 = 002000 7234 7336 3976 5676 7046 4170 5934 7340 4330 5966 7342¢ 4518 4662 3977 4430 6477 4490 4620 ~ ~ 034714 000010 000001 000002 000004 72308 ~ BADSCT BAl = 8800 = 8801 = 8802 = 7197 7331 7455 76284 81804 12204 11384 1137» 11364 L 6 MACYT1 30A(1052) 04=JAN=79 11:23 PAGE 284 CROSS REFERENCE TABLE -- USER SYMBOLS o CZRMDCO RMO3/2 FCTINL TST 2 CZRMDC.P11 12-DEC-78 08:24 6079 7344 6278 7461 12084 1231 8013 1230 8000 CZRMDCO RMO3/2 FCTNL TST 2 12-DEC-78 08:24 CIRMDC.P11 = = ViNON 5892 7256 5935 7403 6037 7462 6080 7481 6120 7639 6204 7678 7869+ 12073 7875+ 12099 7876 124508 7879+« 7883 7888+ 7899+« 79474 8966 8971« 8970+ 8972 8997 3626 12557¢# 6145 4661 5788 5933 6078 6861 86934 8015 10150# 7867 11914 11645+ 11656 11953 11647 11943 11953 12557 8701 9657 9677 11267 11270 12024+ 12076+ 9939 10478 10899 11320 6504 6651 6815 4602 5640 4645 5729 6679 4770 W & 10158 % % %‘U‘ S& DTE = 010000 P10 = 010000 DULPRT= 024024 11349 9163 9443 10298 10764 9229 9230 10100 10297 10298 10764 3959 4085 6129 4254 5319 4296 44614 11323 N W RuRRRR B e [+ ] DPELO = 020000 DPR = 000400 DRQ = 004000 DRVCLR= 000010 DRVSTS 052214 DRY = 000200 DSWR = 177570 DTASTS 053016 W —=ONN = ONININ o S md et ot = (T =t EERLEE — o = S LE 3400 6357 12557# 8 it 1V N = CLRSTS CLSPRN CANSTA v 5790 7118 SEQ 0284 NNNNNNN CLKADR 001502 CLKVCTY 001504 CLR = 000040 5747 6985 =Y reeeee el JV ] = 2SRuss g3 -flnga CLEAN 04=JAN=79 CROSS REFERENCE TABLE =-- USER SYMBOLS 5005 686 LN AN N D = b b N et N b et WUVWNWO N S S O =t s 4¢ = 004000 CH = 002000 CHRCNT 033741 CKSWR = 104410 11:23 6 PAGE 285 MACY11 30A(1052) 9226 3258 3916 4979 6019 7147 11133 3639 5160 6162 7285 11154 5277 6244 7385 6331 7436 5436 6385 7651 5478 6478 7N 4463 5598 6532 7621 6625 7668 8344 108744 O—N0NGNOONVCONDAONDOG~N——O-NON0NIN77%9NVONDoO0wWwOr OLVYTeNAIM)a-lOVNT0oNO0i'VeMTTG—00k0TeTOSNNbMNLCvTaoVlNrtLOad¥MROa3La¥DFVb1OaNYOINavNB7OAMOlTTNtODLRATOlVVT=SNNL~TeO—OOVOWOONV-OONDOONOM60T5-UITM29GMVNVO38CN‘IOO—DA“G3M0NU”8O‘OVM1”DOO%)MO3&O5ND”WT“DV19WOOAN—‘N\2”OA-OIN836N—S=Ie9TOM“MeWA‘”-ONNg—-I8I2eN)eyN75~TSAO—O0owoN<0YWo-NSalOoa[W~aalN) OMMGUONO NSWMO@MONOalal MVOOOOAeOU—NIMNOOIDWWJT—TV=IVNDUIaOOGAN0INOT~NNONVOOVNlMIIDIO~NTMNIVCW0OLAVVoODOsVN—NONVlJO—7oDLo=SVOaNOIONVNUWlLU—vMaOI—aOYMMNMVV~VD3Ul(NMLNIOA—N‘lDF‘OV(DLNOM(OLNNMNoOOM(OO2oeN(AN=M\N=)MD3doovoo—NvOv==—==DDOMI—5BO=ooooveOeONT====NA7Ol—T~—ooo=O=OO==oN—NO3MDo=oONMI=—O‘G=W-NNOLSTOM]—M—oOko[NWD5oV=1iN30O6NON1T0O7TN02NON3MOQ3DNeO05U23D3ONv~N““vM2N57N16ANON-O.OWW73N-3nOVo—2N~~vO~OOoUNNM7UOeO6NMw-vNUO—3"UOUoo~T—"—D1YOUUNOMOOINVV—])MVVNMWOoV"D%OoVOO1VlMON0N7ODT—UN'TO1NMOGNDVOV~~DO"~MTFT—ON1COOAOODDWVWOO"AOTAYUoN2OOOVDV=NDDVMT7~N—NTT—=O~OON2VN”NOTPeU=MN=ONOTOOV2MM~IIVMV\OND‘NT—~TNNMOVM2aMODVNNDIMIOO2TIMeN=O=G2T[MOINNMVTN3OmVO(TgANeV\NIO2TIIeOW‘AeNO=eN=lVgevOOTE2NVDNW6OOoN=—ge—NDN2ON3OMXN=OFDDNMVgeOOo3eDOWM4OlOl—ANeDON=IGLI35NNO8OL—loNNsoANM7OWOe-8oD—=9[~bwVOO-oowP~3MNoalN—=)0NIo=O.%>—O’=“wa[4N~-Ww(~L-Wo—Ww—OToo-Am=oN-N\gl=—NTewll(=,_OO"0e~2=[—oa]~2«])D MACY11 30A(1052) e b w . W W wn W |R — P gg— g— SO=SOO—N—MO0NnIMNOe—OW—A OON-—OLNONrA—NONONIVTOO~MONVIOMODNOANN~ 1oN] — — OOIVWOONONPINOT—~NOONON~O TQVeNODOTNNDNINITONNVANNOODNO wO ~ AY-XTO"SA-V7=LA-AO0LMAN-A1LAAA-N1eoA-1A-N1TeA-1OA-1A"N[-O—A"NTeOAM=MDeYAOMAt~NVTAM=ONAYoO=dALetU~—TLA 0AWIXwMeTWI1wMYE3wVrD-( L1Xw].o02K>hdL2-n<0 CZRMDCO RMO3/2 FCTINL TST 2 12-DEC-78 08:24 CZRROC.P1 CROSS REFERENCE TABLE == USER SYMBOLS 04=JAN-T79 11:23 L aad 6 PAGE 286 o= SEQ 0285 -— —- -— o - “WWWW—— CIRMDCO RMO3/2 FCTNL TST 2 CIRMDC.P11 12-DEC-78 08:2¢4 EFT110 EFT111 EFT114 071754 071756 071760 3044 3186 2026 2033 20564 EF1223 EFT1336 EF1337 EFT344 EFT353 EF110 EF111 EF114 EF336 EF337 ENTI 071762 071772 072002 072012 072022 101516 101517 101521 101524 101530 071522 2552 2328 3093 3128 3177 12557# 12557# 125574 125574 12557 1522 EFT12 071746 2503 1620 1711 1802 1904 1996 2122 2213 2304 2610 2515 2760 EHT110 ENTI11 ENT114 ENT2 EMT223 ENT256 EHT336 ENT337 ENT344 ENT353 EM1 EM110 EM111 EM114 EM223 EM256 EN336 EN337 EN344 EN353 EMS1 EMS10 EMS100 EMS101 071544 071550 071554 071534 071560 071572 071604 071616 071630 071642 100253 100272 100301 100320 100347 100375 100452 100511 100650 101010 072024 072360 074600 074626 2856 2951 3042 3182 2026 2031 2052 2501 2550 2739 2326 3091 3126 3175 125574 125574 12557 125574 125574 125574 125574 125574 125574 125574 125574 125574 125574 125574 8 7 MACYT1 30A(1052) 04=-JAN-79 11:23 PAGE 287 CROSS REFERENCE TABLE -- USER SYMBOLS 3051 12557# 12557« 20640 12557# 27641 3086 12557# 12557# 12557# 125574 5100 1529 1627 1718 1809 1911 2003 2129 2617 2510 2220 2311 2522 2767 2865 2958 3049 125574 12557# 2038 12557# 2508 12557« 12557# 3084 12557# 12557« 12557# 3058 3065 3072 2713 12557# 3107 12557# 1536 1634 1725 1817 1918 2010 2136 1543 1641 1732 1824 1925 2017 2143 24626 2631 SEQ 0286 3079 314 na 3135 3142 3149 3156 5163 1550 1648 1739 1831 1933 2059 2150 1557 1655 1746 1838 1940 2066 2157 1571 1662 1753 1845 1947 2073 2164 1578 1669 1760 1853 1954 2080 217 1585 1676 1767 1861 1961 2087 2178 1592 1683 1774 1869 1968 2094 2185 1599 1690 1781 1883 1975 2101 2192 1606 1697 1788 1890 1982 2108 2199 1613 1704 1795 1897 1989 2115 2438 26445 2452 2459 2466 2473 2480 2487 12557# 2706 2227 2318 2529 2774 2873 2965 3056 2234 2333 2241 2340 2536 2781 2881 2972 3063 2543 2788 2888 2979 3070 2704 2711 12557# 3098 3105 12557« 12557» 2248 2347 2683 2795 2895 2986 3077 2255 23564 2690 2803 2902 2993 3112 2262 2368 2697 2810 2909 3000 3119 2269 2375 2718 2818 2916 3007 3133 2276 2382 2725 2825 2923 3014 3140 2283 2389 2732 2832 2930 3021 3147 2290 2396 2746 2840 2937 3028 3154 2206 2297 2403 2494 2753 2848 2944 3035 3161 6552 NL eL L L — — — — — — — — — s o N o sL — — — — — — — — — — — ) i ol i el il il el et il e el ol e e e il el AN AN LN L N T N T N1 ST N T N T NT ST ST VT NT VT NT N1 ST VT NT N NT N ST ST N N ST ST NN — — — — — NL L AV A A U WA WA WU UA U WA WA WUA WA WAL WA WA WA WA WA WAV WA AV WA WA WA AW WAL WA WA VAWV WA AN WA WA (W LV LV LN AV LV LV AV LV LV AV LN AV LN AV LN AN AN AW AN AN L LN AN A LN LV AV LV LV LV LV LV LV IV IV TV IV IV TV IV IV ] VAN WA WA WYL NNNNNNNNNNNNNNNNNINNNNNINNINNNNNNYN NNNNNNNNNNNNNNNNNNNNNNNNNNY RNuRRTRRRRRRRERERRERRERERERERERERERERERERERERERERERERRER RN RRRRRRRR N eL — — — — — — 6516 NL 074654 074703 074712 —— — — — — EMS102 EMS103 EMS104 EMS105 ENS106 EMS11 EMS110 ERMSIN EMS112 EMS113 EMS114 EMS115 EMS116 EMS117 EMS12 EMS120 EMS121 EMS122 EMS123 EMS124 EMS125 EMS126 EMS127 EMS13 EMS130 EMS131 EMS132 EMS133 EMS134 EMS135 EMS136 EMS137 EMS14 EMS140 EMS141 EMS142 EMS143 EMS144 EMS145 EMS146 EMS147 EMS15 EMS150 EMS151 EMS152 EMS153 EMS154 EMS155 EMS156 EMS157 EMS16 EMS160 EMS161 EMS162 EMS163 EMS164 At L oconry CZ:HDCO RMO3/2 FCINL TST CZRMDC PN 12-DEC-78 08:24 MACY11 30A(1052) 04=JAN-79 11:23 PAGE 288 CROSS REFERENCE TABLE -- USER SYMBOLS R SEQ 0287 EMS167 EMS17 EMS170 EMS171 EMS172 EMS173 NL e N N N eL e N L LN LS LN L N L S TN TN T N T T ST ST NT NT NT ST NT ST NT NT ST ST N N ST ST NN NN NI NI N NN N NN NN NI NN N N N NN N NN NN NN NN RRRRRRERRERRRRRERRRERRRERERERERERRRNRRERERRERERRRERRRRERREERRRRRREREREREREREERERERERERRRRRRR RN NN SN NN NN NN NN NN NN NN N F o conry AN N L YA LAY LA U WA WA WA WA WUA WA WA WA WA WA WA A WA WAWUA WA UALWUALWUA WAV WA WAV WY WA WV VA VAWV NN WAL AV LV LV LW LV LW LV LV LV LV LV LV LW LV LV LV AV AV AN LN AN AN LV AV LV LV LV LV LV LV LV IV LV LV IV IV IV IV IV IV IV IV IV VAWV, N NL L 077012 077026 077053 072570 077100 077127 077162 077202 077217 077225 077253 077302 072073 072630 077324 077341 077407 077437 077452 077500 077512 A L L EMS165 dfldddd‘ddddfldfldddd‘ddddddfl‘-dd‘ddddd‘flfldddddflddddd“dddd EMS166 CZRMDCO RMO3/2 FCTNL TST 12-DEC-7 8 CZRMDC.P11 MACYTT 30A(1052) CROSS REFERENCE TABLE == USER SYMBOLS 04=-JAN-79 11:23 0o PAGE 289 7 SEQ 0288 NNNNNNNNNNNNNNNNNNNNNNNNN TRt RRRERRERERRERERRRR AN AUA WA WA WA B WA WA WAV AWV AN A WA N WA A WA WA WA WA WA AUV VWA D S WA VAN D B B D 8 h B B D ) B D e ) D D D el e D b el D PORLRLNLNLNLNL NNV NN NNV NNV NNV NI N NN N N N N MACYT1 TR RN -l o -l il ) - — ) — — —— — - — — — Dt EMSLL 073462 EMS45 073535 EMS46 073600 073627 EMS47 EMSS 072216 EMSS0 073656 EMS51 073705 EMS52 073733 EMS53 073745 073757 EMS56 074001 EMS55 EMS56 074030 EMSS57 074105 ENS6 072246 EMS60 074133 EMS61 074146 074175 EMS62 EMS63 074213 074241 EMS64 074257 EMS65 EMS66 074325 EMS67 074375 EMS7 072313 EMS70 074422 EMS71 074434 074447 EMS72 074457 EMS73 074474 EMS76 EMS75 074513 074521 EMS76 EMS77 074552 EMTVEC= 000030 EMT 065430 EMTI0 065500 EMTI00 066476 EMTI01 066514 EMT102 066532 EMTI0S 066542 EMT104 066554 EMTI05 066572 EMTI106 066602 EMTI07 066612 EMTI1 065504 EMTI10 066632 EMTI11 066644 EMT112 066652 EMTI13 066660 EMT114 066674 EMT115 066702 EMTI16 066712 EMT117 066722 EMTI2 065510 EMT120 066732 EMTI21 066742 EMT122 066752 EMT123 066762 O O O O VWA O VWAV NN VN NV b b A A ALV IV LV LV LV IV IV IV 1V} Q0 N O NN WA WAV NN bttt ad o lV AV LV LV LV IV LV IV LV IV TV IV ] — SN O - NYNINNN NNNNNNNNNNNNNNNNNNNNNNNNNNN CZRMDCO RMO3/2 FCTNL TST 2 12-DEC-78 08:2¢4 CZRMOC.P11 E 7 30A(1052) 04=JAN=79 11:23 PAGE 290 CROSS REFERENCE TABLE -- USER SYMBOLS 32430 SEQ 0289 RN R RN R VAN A WA WA WA WA WY WA WYV WUV WAV WA WA VAAWVUAWLY VWAV TR AR Al AV AV AV LV LV IV IV IV LV IV ] WAAWVWAWVIAWTAWVAWTAWIAWLY. UAWAWAWAA WUAVUA AU A U WU WA WY U U WA WY U WA WA WA WA WA WA WA WA WA WA WA WA WA AN WA WA WA VAN NNNNNNNNNNNNNYN | NNNNYN NNNNNNNNNNNNNNNNUNNNNNNNNNNNNNNNNNNSN S il i el e ol el el el et el i il el il el el el ol el el el e e e A LS LN L LN AN L S T N T NI NT ST ST VT V] ST NT NT NT NI NT NT NT ST ST NT ST NTNT N ST ST NN D el el il il L L AN L L I il L e il e e N N N NL L i i o 2107 2114 2121 2128 1591 2135 2142 2149 2156 2163 2170 2177 2184 1598 2191 2198 2205 2212 2219 2226 2233 2240 1605 2247 2254 2261 2268 2275 282 2289 2296 1 2303 2310 2317 125574 2332 2339 2346 2353 1619 12557 2367 2374 2381 2388 2395 2402 2609 1528 1626 2616 2423 2430 2437 2444 N NL 066772 067002 067012 067024 065516 067036 067050 067062 067074 067106 067120 067132 067144 065530 067154 067164 067174 067204 067214 067224 067234 067244 065536 067254 067264 067276 067310 067326 067344 067356 067370 065544 067402 067412 067424 067436 067446 067454 067462 067470 065554 067476 067506 067516 067526 067536 067550 067556 067564 065434 065564 067576 067610 067622 067634 067646 04=JAN-79 11:23 F 7 PAGE 291 CROSS REFERENCE TABLE -- USER SYMBOLS — EMT126 EMT125 EMT126 EMT127 EMTI3 EMT130 EMTI31 EMT132 EMTI33 EMT134 EMTI35 EMT136 EMTI37 EMT14 EMTI40 EMTI4L] EMT142 EMTI43 EMTI4G EMTI4LS EMT146 EMTI4L7 EMTIS EMT150 EMTI51 EMTI52 EMTI53 EMT154 EMTI55 EMT156 EMTI57 EMTI6 EMT160 EMTI61 EMTI62 EMTI63 EMT164 EMT165 EMT166 EMT167 EMTI7 EMTI70 EMTI71 EMT172 EMTI73 EMT174 EMT175 EMTI76 EMTI77 EMT2 EMT20 EMT200 EMT201 EMT202 EMT203 EMT204 MACY1T 30A(1052) LA L CZRMDCO RMO3/2 FCTNL TST 2 CZRROC.PYY 12-DEC-78 08:24 SEQ 0290 D el D el D i D el e o ol e el il — NRNONNNNNNNONNNDNDN NN WA VA WA WA WA WA WA WA AW AN bbb dbad ad ALV LV LV LV LV LV LV LV IV IV ] NNNNNNNNNNNNNNNNN TR RRRRERRERERERERERERRRRNN 125574 L 32 2 $ $ 3T 3T 3T S 3T 3SR 0 AWV WA WAV WYV AL (VAR LV LV LV LV LV LV LV LV LV LV LV LV LV AV AV LV AV ) NNNNNNNNNNNNNNNNNNYN e e e e e e e e e e e b e e e 125574 e 2651 2458 2465 1633 2472 2479 2486 2493 2500 2507 2514 2521 1640 2528 2535 2542 2549 125574 125574 125574 12557 1647 125574 125574 125574 125574 125574 125574 12557# 12557# 1654 125574 125574 125574 125574 125574 12557 2682 2689 1661 2696 2703 2710 277 2724 273 2738 2745 1668 2752 2759 2766 2773 2780 2787 2794 e 067664 067674 067704 065574 067716 067724 067740 067754 067764 070004 070016 070026 065604 070036 070046 070056 070066 070076 070100 070102 070104 065614 070106 070110 070112 070114 070116 070120 070122 070124 065624 070126 070130 070132 070134 070136 070140 070142 070152 065634 070164 070200 070206 070214 070232 070242 070252 070262 065644 070274 070306 070326 070336 070346 070366 070406 — EMT205 EMT206 EMT207 EMT21 EMT210 EMT211 EMT212 EMT213 EMT214 EMT215 EMT216 EMT217 EMT22 EMT220 EMT221 EMT222 EMT225 EMT224 EMT225 EMT226 EMT227 EMT23 EMT230 EMT231 EMT232 EMT233 EMT234 EMT235 EMT236 EMT237 EMT24 EMT240 EMT241 EMT262 EMT243 EMT244 EMT245 EMT246 EMT247 EMT25 EMT250 EMT251 EMT252 EMT253 EMT254 EMT255 EMT256 EMT257 EMT26 EMT260 EMT261 EMT262 EMT265 EMT264 EMT265 EMT266 6 7 MACY11 30AC1052) 04=JAN-=79 11:23 PAGE 292 CROSS REFERENCE TABLE == USER SYMBOLS oo NN NN NN N NN CZRMDCO RMO3/2 FCINL TST 2 CZRMOC.P11 12-DEC-78 08:24 SEQ 0291 EMT267 EMT27 EMT270 EMT271 EMT272 EMT273 EMT2764 EMT275 EMT276 EMT277 EMTS EMT30 EMT300 EMT301 EMT302 EMT303 EMT304 EMT305 EMT306 EMT307 EMT31 EMT310 EMT311 EMT312 EMT313 EMT314 EMT315 EMT316 EMT317 EMT32 EMT320 EMT321 EMT322 EMT323 EMT324 EMT325 EMT326 EMT327 EMT33 EMT330 EMT331 EMT332 EMT333 EMT334 EMT335 EMT336 EMT337 EMT34 EMT340 EMT341 EMT342 EMT343 EMT344 EMT345 EMT346 EMT347 A AN N LN N N N L LN LS LN LS LN LN AN AN LN T N T N NT NT VT NT ST ST ST NT VT NT VT ST NT VT NT NT ST ST NT N7 N NT ST NN 30A(1052) Y WY WY WY WY WY WY WY WY WY WA WY WA WA WA A WA WA WA VA WA WA AW WA WA WA AW Rt O04=JAN-=79 11:23 H 7 PAGE 293 CROSS REFERENCE TABLE -- USER SYMBOLS SNNNNNNNNNNNNNNNNNNNNNNNNNNNNYN NNNNNNNNNNNNNN = = RNRRRRRRRRRRRERRRERERERERERERERERERERERERRRRRR NRRRRRRRRRERRRRRRRR Y U WY AU AU AN D\ A WY Y Y Y U U U WY U WU U U U WY W NNNNNNNNNNwNN AV A ALY AU = - — ) - AW b D — — — — — — - — — —d - AW WAV WU WA ) — — = = ) = WA WA WA WA WA WA ) —h ) —d =) — — ) ——h Dl VALY Y LA U U WA WA WA WA OO WA WY WA WA WA WA WA WA WA WA b N N L L b s b B N N NL NL B e—f et 2802 1675 2809 2817 2824 2831 2839 2847 2855 2864 1535 1682 2872 2880 2887 2894 2901 2908 2915 2922 1689 2929 2936 2943 2950 2957 2964 2971 2978 1696 2985 2992 2999 3006 3013 3020 3027 3034 1703 3041 3048 3055 3062 3069 3076 2325 3090 1710 3097 3104 3m 3118 3125 3132 3139 3146 A 070420 065654 070436 070452 070470 070506 070524 070542 070554 070570 065442 065664 070606 070626 070650 070662 070674 070706 070720 070730 065674 070750 070762 070774 071006 071026 071040 071052 071064 065704 071074 071104 071114 071122 071132 071144 071156 071174 065714 071206 071216 071230 071242 071260 071276 071316 071326 065724 071336 071350 071356 071370 071402 071414 071424 071440 Al Al YAV IV IV IV IV LV IV} MACYT1 = —— — CZRMDCO RMO3/2 FCTNL TST 2 CIZRMDC.P1Y 12-DEC-78 08:24 125574 SEQ 0292 ERTYO0 ERTYO1 033742 033750 7 SEQ 0293 RN RRRRRE VAWM WA WA WA WA WA AW AN WU AU WA U U U U WA A U WA WA WA WA A WA WA WA WA AU WA NNNNNNNNNNNNNNNNNNNNNNNNNNNNNN WA VAN AW AAWWN 1 30A(1052) 04=JAN=79 11:23 PAGE 294 CROSS REFERENCE TABLE -- USER SYMBOLS R VAWMUV VA WMWUMWUAWAWRIA IR NNV NNNNNNNNN s el D ol -l =D D ) ——d - — - - =) = — — - - ) - - —d - — — c— —— N LN L S LN LN L N L N T ST ST VT VT N T NT ST ST ST ST NT VT NT NT ST NT NT NTNT NTNTN T D el o il o et o cd el ek emlt e e = ~ MACY1T L s s e L L B ~ oubuuu-——oooozuoo\AWbuuN—OO &S NO WO00 — 5~ owoug ONVOIN = S 2 S YO W mEmrsruaun NNWOO =N NNOWO ON S NOWWOo O — et EMT70 066350 EMT71 066 EMT72 066370 EMT7S 066406 066424 EMT764 EMT75 066434 066454 EMT76 EMT77 066464 ENRGDT 065430 EQUALS 063571 ERR = 04 ERRNMB 033734 ERRTYP (033176 ERRVEC= 0 O WO 00 00 © WA O O O O O 0 00O 0o Co Go W Oo o 0o W COODOD 00000000 NN NNNNNNNWNY N b el e e s Y —t QD N —= L = NN OCOVHr W~ VIS NS BIINNO N OW — 065472 —t EMT?7 065734 071452 071470 071500 071504 071514 065744 065754 065450 065764 065772 066002 066014 066024 066034 066044 066054 065456 066062 066072 066104 066122 066140 066150 066162 066200 065464 066210 066226 066246 066262 066264 066 066324 066336 (1) EMT3S EMT350 EMT351 EMT352 EMT353 EMT356 EMT36 EMT37 ENTS EMTL0 EMT4LY EMT42 EMT4LS EMT4L EMT45 EMTLE EMT4L7 EMTS EMTS0 EMT51 ENTS2 EMTS3 EMTS6 EMTSS EMT56 EMTS7 EMT6 EMTO0 EMT61 EMT62 EMTES EMTOL EMTES EMTO6 EMTO67 NN_.NN_._.*—.—.-.—o--.——a—.-nN-‘—.—._a_._._.._-n——.-.—.—.—o—.-.-.—..a-.-.—o—ouuuww CZRMDCO RMO3/2 FCTINL TST 2 12-DEC-78 08:24 CZRMOC.P11 9272 15832' 9274 7835 9290 7847 9324 7852 79440 3256 3584« 8918 8993 10155« 3257« 3585+ 8922+ 8994+ 10156+ 3268+ 3589+ 8923+ 8995+ 10167+ 3536 3590+ 8948+ 9019+ 10168+ 3537 3601+ 8949+ 9020+ 11975 3538 3602+ 8960 9867 11976+ 3539 8844 8961 9868 11978+ 3550+ 8845 8962+ 9871+ 11981+ 3551+ 8849+ 8963 9872+ 3555+ 8850+ 8969+ 9905+ 3556+ 8881+ 8977+ 9906+ 3582 8882+ 8978+ 10153 CZIRMDCO RMO3/2 FCINL TST 2 CZRMDC.P11 12-DEC-78 08:24 MACY11 30A(1052) 11:23 J 7 PAGE 295 SEQ 0294 CROSS REFERENCE TABLE -- USER SYMBOLS ERTY02 ERTYOS ERTYOL EE:( 033760 033767 033775 004000 000020 7834 7840 7936 79524 7954479564 10364 FIND 000001 36720 1042 11248 10864 O04=JAN-79 36740 9604 11202 11219 3756 37840 3785 39164 40104 41364 4262 11222 Lo 4596 46944 4813 9684 k2 0 3629 4690 3776 3869 4555 5230 6004 6998 8128 3944 4630 5304 6147 7128 8265 4484 5145 5902 6944 8102 6576 6897 ~wWm N MNO ~NN 037516 4334 5680 o OWVESs S WS NOO— OW~NS GET 6174 6429 ~NWN —O oW 0000 3668 O~NOWVMES WS NO WO =MWV~ VOO — O 036620 ONOWNES S WO NDOD OMNMNCOMNIWN —PNOOO N~ GENBUF N OO0 W OO &S W ~ O k= ~N o 0 o g N [l 064672 waunnn o 9318 - FNCDTB - 11114 w FMT16 = 010000 4281 7370 8835# 5625 6610 7649 CZRMDCO RMO3/2 FCINL TST 2 CZRMDC.P 12-DEC-78 08:24 MACYT1 30A(1052) GETBUF GETINX GETSTS 8847 3626+ 3864 6000 7218 3294 12453 3681 4384 5135 5891 GNS 001330 001506 037432 = GO ereeee 000001 GTSWR 104407 000200 HC] 002000 0004 00 103564 063601 HCE HCRC HELP HELPQS MY = 164230 16944 | 3696 5855 7080 1261 12452 9530 6347 5088 5838 6735 7585 9149 3289 1033# 04=JAN=79 K 7 SEQ 0295 PAGE 296 CROSS REFERENCE TABLE == USER SYMBOLS 3627+ 4032 6144 7366 7769 4482+ 3718 4634 5210 5983 9343 9345 10365 106411 4483 4362 4997+ 4550 6312 8027 6366 8078 12442 4572 5294 6121 4619 12441 12454 000011 IAE = 002000 10xmsk= 000077 1E = 000100 = 000001 ILF ILFO2 = 000002 ILF26 = 000024 ILF26 = 000026 ILF30 = 000030 ILF32 = 000032 ILF34 = 000034 ILF36 = 000036 ILF&0 = ILF&2 = 11:23 3886 4998+ 4718 8050+ 4878 12443 12444 3933 6459 8121 4703 gOSI' 066 6606 87894 126445 8100+ 5225 6660 8101« 5384 6764 8793 5545 6940 12446 124648 12450 4017 4740 5453 4103 4863 5568 6503 7255 9005 4187 4900 4224 4950 6356 "7 8290 4055 4787 5530 6442 7201 8324 9587 9589 9602 6513 8219 6921 LARR 5369 6205 6984 8223 7666 11248 7676 12557 9567 9572 11202 11206 11245 11248 9809 8937 9955 106471 10525 10528 11029 11044 12557 10425 10429 10492 10495 10985 11002 11005 12557 10679 10683 10985 10988 10991 CO0OCOOCOOOOD NN~~~ O WV N —= OOV TR R E R " s b D —t e b b b b — ILRG70= 000070 ILRG72= 000072 ILRG74= 000074 ILRG76= 000076 > — ILF&4 = ILF&6 = 000046 ILF54 ILF56 = ILF64 s ILF66 = 000066 ILF74 = 000074 ILF76 = 000076 ILR = 000002 ILRG50= 000050 ILRG52= 000052 ILRG54= 000054 ILRG56= 000056 ILRG60= 000060 ILRG62= 000062 ILRG64= 000064 ILRG66= 000066 10415 8848 10636 5615 6589 7349 9116 5693 6650 76402 9128 CZRMDCO RMO3/2 FCTNL TST 2 CZRMDC.P11 12-DEC-78 08:24 10TVEC= 000020 IPCKO = 000001 IPCK1 = 000002 IPCK2 = 000004 1PCk3 = 000010 IR = 000100 IvC = 010000 LBC LBT = 002000 = 002000 LS LSC LST = 000004 = 004000 = 000002 LF MCLK MCPE MOF MDPE 1 = 000012 8414 = 004000 10684 = 020000 = 000100 = 000400 11974 10734 121640 14820 8206 10764 MIXED 065002 mOC = 000400 MOW = 020000 MOL = 010000 MRD MSC MSE MSER MUR M0 MWP MXF = 002000 125574 10714 11034 10144 10600 10694 = 000002 = 100000 = 000200 = 001000 = 000010 = 000010 = 001000 1077# 11540 10724 10704 1094# 10754 12134 = 000040 OPE OoP1 10424 1210#¢ 12118 9584 3329 11014 10824 11144 9648 = 000001 065042 10214 4520 = 020000 = 020000 OR = 000200 PAR PAT PDA PGE = 000010 = 000020 = 000400 = 002000 PACACK= 000022 PAKACK= 000022 SEQ 0296 CROSS REFERENCE TABLE -- USER SYMBOLS 3240+ 3241+ 10228 6959 10972 11086 9546 7871 10252 11086 10252 11400 111064 9770 11481 11109 9772 10804 11120 10804 11123 9116 9133 9146 9642 11292 11295 3522+« 8409 6963 11656 8061+ 8422+ 7013 11947 7017 9386 11953 12557 9149 10883 12557 8184 B429+ B490 8440+ 12557# 10062 11106 10067 11359 8361 10605 10051 10764 10061 10945 7428 8409 8632 10253 10805 9531 10906 10920 10923 3321 9516 3591 9098 9102 9880 9387 9990 10113 10539 10546 10549 10618 10100 11382 10351 11387 10354 11458 10515 11459 10592 11463 10593 11468 10940 10943 10886 10072 11360 10744 NDTMSK= 115760 NED = 010000 NEM = 004000 NOP = 000000 NOTEX 064645 NSA = 100000 ocC = 100000 OFD = 000200 OFFSET= 000014 OM ONES 11648¢ 10164 10954 11474 10964 MEDENB 001474 MFGFIL 101544 Ml = 000004 MS 9354 12404 1239 12384 12374 12174 11468 7 MACY1T 30A(1052) O04=JAN-79 11:23 LPAGE 297 11454 1027# 11386 12164 © 968¢ 9674 10374 12194 1089# 12124 12557«# 6869 6735 6871 6798 10592 4688 10648 4848 10651 12557# 10763 11307 11310 11465 9370 10045 12557 10069 10365 10383 10387 10471 10508 10511 10602 8256 968 8062 9165 9177 9937 10471 10476 10481 10897 10902 8372 9161 CZRMDCO RMO3/2 FCTNL TST 2 CZRMDC.P11 12-DEC-78 08:24 MACY11 30A(1052) PGR PHA PIP 10763 PROMPT PRO PR1 = PR2 = 063573 000000 000040 000100 PR3 PR¢ PRS PR6 PR7 = 000140 = 000200 = 000240 = 000300 = 000340 PSEL PSW = 002000 = 177776 P$S PUT 8474 9%1n 10874 3741 4805 5867 6838 3446 864 8654 8664 8674 8684 SEQ 0297 CROSS REFERENCE TABLE == USER SYMBOLS 8109 11495 3784 4923 5910 6952 3455 8287 11500 3909 4968 10061 10082 10087 3952 4122 5270 6237 7230 3585 8850 5111 6012 7006 12557 6055 7092 3517 3539 WD~ 177772 000240 002000 040512 n7 PAGE 298 [« AV V2T, -} PIRQ = PIRQVE= PLFS = PRIERR 1017# 1090# 1013# 11458 11:23 ~NOWnS — = 001000 = 000200 = 020000 04=JAN-79 10592 10663 10668 10763 11359 11365 11370 4289 5429 4407 6452 4595 4763 5765 7657 4638 5722 6672 90644 10156 11637 6378 7378 5671 6471 7421 5591 6525 7614 8995 9872 5633 6776 1163 8923 8963 = 177776 PUTBUF PUTINX 037766 3767 4542 3247+ 12460+ 12461 12470+ 12476+ 12488+ 3376 3379 3447 3456 12313 124514 3427 9006 77644 8290 124530 911% 1164 9115 10203 3765 6984 3933 nz 4103 7255 4619 7402 5746 7638 5891 8324 6036 10784 12557 125574 104624 RCLSTS 050452 RD = 000070 RDCHR = 104411 ROLIN = 104412 RDOCT = 104413 RDY = 000200 READY 000020 000012 000016 001346 124554 11634 14334 6194 4906 5295 6136 6932 8114 8920 3850 4901 6206 7350 PWRVEC= 000024 QSTMRK 063577 RIP = RLEASE= RMAS = RMAS] 4024 4746 5454 5253 6038 6913 8065 8444 3719 4864 6123 7202 001400 001535 RECAL = 000006 RESREG= 104415 RESVEC= 000010 REX = 010000 RG = 040000 RGDTPT 065002 RH = 000072 3856 4578 5616 6598 7358 6358 7119 8291 4056 5211 4348 5407 6799 8112+ 6590 7718 4573 6912+ 8921 12489+ 6121 6205 6356 6503 6650 RMCS11 001330 RMCS10 001400 SEQ 0298 ON OO NN ) -~ NOWSsN ~NOOO—W" O=NOWV DW=~ PR NONOW L B ~NO N NOWSO oO~N~ Voo~ s §~ N=O CD& — R =00 CROSS REFERENCE TABLE == USER SYMBOLS NN RMCC = 000036 RMCCI 001366 RMCCO 001436 RMCS1 = 000000 N7 PAGE 299 11:23 NN RMBAE = 000050 RMBAI 001334 RMBAO 001404 164604 12450 04=JAN-79 NOWVINOY RMASO 001416 RMBA = 000004 MACY11 30A(1052) (VLW IV 1.N L] OSSN U!:N ——yet CZRMDCO RMO3/2 FCINL TST 2 CZRMOC.P1Y 12-DEC-78 08:24 4743 6595 5250 6929 4518+ 4846 6278+ 7184 87 RMCS2 = 000010 RMCS21 001340 i = RMDAI RMDAO 001336 001406 RMDB = 000022 RMDB! 001352 RMDBO 001422 RMDC = 000034 RMDCI RMDCO 001364 001434 5349 6275 7043+ 9740 5372 7066 9533 5348 6274 8463 5507+ 6421 8590+ ¢>E§ wOoe Ny [« JV.T. Y. ] O W b e =1-23"-] > e et = 8 = og ~O N &~ &N ~N~ & (] e S » — — st s s S22 PIFTES S r ~N R e mogu NN O N = N ~N~ S= 3 e e b ) e —_—_, QOO0 0 S NOO WO N VoM NWON VOO NO NN B N isites SHad & N ~ e e e — -— ~N Y — et = OO O o VN == O~ ~ NNWNO = =t = >~ (o N QW T NIV T NP 3 e - W -0 i — — J‘ug gfl o £ iy O el i — L50 001344 069 RMR RMSN = 000004 = 000030 SN0 4021 6126 7721 9565 3998+ 6118+ 7321+ 10401 9 001362 001432 12557 % RMOFI RMOFO 12557 - RMMR20 001440 RMOF = 000032 614 ONO &S~ OO0 &~ OV =0 NN — N—=OON—O0 VOOV O — 001442 000020 001350 001420 000024 001354 001424 000040 001370 Ng\l‘\l! —2 et b RMERIO 001414 RMER2 = 000042 RMER2] 001372 — et YA i o G AS e e e o el e e e el e s s s ) D) D) S e e s s B2 NGNS =N — —_O O N BB NO WO WO Ny — L= O — el OO B b A ik ¥ | s W oo O—=MUWROWNONOW E O ~ O ON =0 L T 31232 T 2 % L3 3 S s.mw ®mEuw 10942 RMER20 RMLA = RMLAI RMLAO RMMR1 = RMMR1] RMMR10 RMMR2 = RMMR2] P Y ) RMERT] e — et e et b 001412 000026 001356 001426 000044 001374 001444 000046 001376 001446 000014 i o e o ek 2 NN = \ N et Sf=wWSN L L 2 8 R 3 RMDSO RMDT = RMDTI RMDTO RRECY = RMEC1] RMECIO RMEC2 = RMEC21 RMEC20 RMER1 = SEQ 0299 et Bl St 001342 8 L RMDS1 8B MACY11 30A(1052) 04=JAN-T79 11:23 PAGE 300 CROSS REFERENCE TABLE -- USER SYMBOLS vt g2xw NNJ‘NO‘W& QN—'O\I'N? k= CZRADCO RMO3/2 FCINL TST 2 12-DEC-78 08:2¢4 CIRMDC.P11 4351 6299 4707 6593 11198 4328 12557 4684 e 6276 7557 10697 6570 8205+ 10985 4867 5055 6802 5214 6927 5534 4844e 5032+ 6869 9964 11019 5191+ 6871 11040 5509+ 6739 6716¢ 863 4 11016 7205 7044 SADMSK= 000037 SAVREG= 104414 SA1 = 000001 SA16 = 000020 SA2 = 000002 SA4 = 000004 SA8 = 000010 SC = 100000 SCTMSG 063460 SCTMSK= 003700 SC0 = 000100 sC1 = 000200 sC2 = 000400 SC3 = 001000 sC4 = 002000 SEARCH= 000030 SECERR 041344 10274 102764 10816 10816 3831 5675 7511 4517+ 6424 8751 124540 SNGPRT= 020024 STACK = 001100 FAVAVAVATIVAYY.3 — — — — — — — — NN - 3633 3238 5182 7035 33420 3222¢ 11969 9693 3923 - 5167 6169 7158 3849 4045 396¢ 5284 6251 7244 4017 6215 4261 5485 6485 7489 4535 4731 9975 11047 3637 3531 5341 7173 3641 35N 5500 3560 11655 73 [« 9959 11033 —_— 12237 Y "\ — 116464 12156 89594 9956 11030 . —_ 3798 5125 6069 7106 3681 3877 9149 ~O Co 9292 9133 — 9116 SEEK = 000004 SEKSTS 045420 SHUT 057372 057364 SHUT2 S1ZCLK 040204 SK1 = 040000 006144 005324 056416 177774 057334 101434 101452 101472 101504 101535 101067 101146 7354 9699 3663+ 5510 7322« = 100000 = 040000 = 000016 STANDA START STCORV STKLMT= STOP STSD1 STSD2 STSD3 S1SD4 STSF STSH1 STSH2 7206 8750 SEQ 0300 4574 6447 N RGA RGB R1C 001332 001402 3543 5698 —_~wNO RMWC1 RMWCO 3542% 5570 -—_rNosN 12557 16384 8 §N\figfl RASNI 001360 RMSNO 001430 RMC = 000002 c 30A(1052) 04=JAN-79 11:23 PAGE 301 CROSS REFERENCE TABLE =-- USER SYMBOLS [+ J=] MACY11 NN O NN w0 CZRMDCO RMO3/2 FCTINL TST 2 12-DEC-78 08:2¢4 CZRMDC.P11 44621 5647 6632 4863 5079 CZRMDCO RMO3/2 FCINL TST s CZRMDC.P1N 12-DEC~78 08:2¢4 STSH3 STSWe SWR 101237 101277 001154 12557 125574 13340 SWREG 000176 Sw0 = 000001 Sw00 = 000001 sw01 = 000002 sw02 = 000004 sw03 = 000010 Sw04 = 000020 sw05 = 000040 swo6 = 000100 Sw07 = 000200 Sw08 = 000400 sw09 = 001000 swl = 000002 w10 = 002000 SWwil = 004000 sw12 = 010000 SWi3 = 020000 Swi4¢ = 040000 sw15 = 100000 Sw2 = 000004 sw3 = 000010 Sws = 000020 sw5 = 000040 sw6 = 000100 sw? = 000200 Sw8 = 000400 w9 = 001000 TADMSK= 003400 TAG = 020000 12638 8994 8894 888 8874 886 8854 884# 883 8824 881# 880# 898s 8794 878# 877 8764 8754 8740 8974 8964 8954 894n 893# 892 8914 890# 1006# 11254 TAGADR= TAP = TA1 = TA2 = TA4G = TB1TvE= TIMOUT TKkVEC = TPVEC = TRAPVE= TRE = TRTVEC= 1T = TSTNMB 001114 040000 000400 001000 002000 000014 040326 TSTPRP 000060 000064 000034 040000 000014 010000 (033732 034000 TSTOQUE 001450 12009 13064 1102# 9974 9964 995# 9320 3697 4398 5144 5901 6943 8300 9394 9400 9380 11964 9330 1126# 7823« 3672 5829 7054 14780 MACY11 3236 12077 30A(1052) 04=JAN-79 0D 8 PAGE 302 SEQ 0301 CROSS REFERENCE TABLE == USER SYMBOLS 3258+ 3260 12251« 12468 11970 11984 11987 12002 12196 12196 7812 12157 12157 3865 4586 3900 4629 3943 4719 4033 4754 4069 4796 4113 4879 4203 4914 4238 4959 4280 5067 4363 5102 9149 9294 9296 9701 79430 4178 9191 516 3521 4338 ?286 Sg? 3533 4526 6347 7711 3573 4694 6433 7991 3617 4854 6494 5042 6580 5201 6641 5360 6726 5519 6901 5684 6975 3655 5823 3991 4161 4321 4509 12084 12096 508 5226 6003 6997 8334 12134 3775 4551 5261 6046 7083 8988# 12135+ 3244+ 9116 3245+ 9133 10275 7B24+ 3840 10817 7826 4008 3266 11:23 3287 3266+ 12100 3273+ 3287 12219 3508 12481+ 899 898 897 896 895 89¢ 893 892 891 890 7812 1313 3732 4443 5974 7192 3480 6107 7331 3481« 5303 6146 77 5385 6228 7221 5420 6315 7265 5462 6369 7369 5546 6462 7612 5582 6516 7537 5624 6609 7605 5713 6663 7648 5756 6767 7732 5858 6829 8122 CZRMDCO RMO3/2 FCINL TST 2 CZRMDC.PN 12-DEC-78 08:24 E 8 MACY11 30A(1052) 04=JAN-79 11:23 PAGE 303 CROSS REFERENCE TABLE -- USER SYMBOLS 4677 4837 18;3; 5025 5184 5343 5502 5607 7780 3301 7927 3329 124454 3351 3354 3360 3365 7918 12218 12346 7936 12221 12350 7938 12232 124414 11650 12242 11722 12253 3402 3423 7820 7828 10365 9076 10369 10373 8409 8581 8632 8583 12557# 9384 10763 9996 10947 6709 ST 1ST10 T1ST11 TST12 1ST13 1ST14 1ST15 15716 1ST17 1812 15720 15121 187122 15123 15726 15125 15126 15127 007162 012716 013636 014436 015212 016130 016704 017460 020234 007360 021036 021562 022306 023030 023326 023624 024352 025100 35264 L3168 45044 46728 4832¢ 50204 51794 53384 564974 35684 56628 58074 59528 60978 6182¢ 62648 64117 65584 12029 12036 12037 12038 12039 12040 12041 12042 12043 12030 12044 12045 12046 12047 12048 12049 12050 12051 1ST30 TST31 15132 15133 15134 1S135 1574 1575 1576 1817 TYPBN = 025626 026520 027326 030050 030572 031750 007726 010526 011326 012142 104406 67044 68794 70324 71704 73084 75440 36504 38184 39864 41564 7933 12052 12053 12054 12055 12056 12057 12032 12033 12034 12035 124460 3395 7767 3400 7774 15713 007544 TYPDS = 104405 TYPE = 104401 3612¢ 7773 3281 7916 12217 12343 6884 UBUS@S 063770 UNS = 040000 UNTHSK= 000007 UPE = 020000 USE = 040000 USRFIL 102554 = 000001 vo = 000002 vl = 000004 v2 vy = 000100 3375 10264 12278 1209# 11554 8423+« 12244 12234 12224 1020# }?Sg! 12557# 10242 9074 9458 7428 B430+ 8059 10616 8254 10622 w( 1092# 10252 10804 = 000040 484 7930 3405 7781 3388 124440 3331 775 5812 5957 6102 6187 9874 10159 3368 33N 3375 3378 3386 11788 12272 11857 12320 11917 12326 12079 12331 12087 12335 12151 12340 12163 12341 7837 7843 124430 10679 10711 10716 11133 11136 11141 10061 10976 10062 11359 10111 11360 10116 11398 10337 11403 10340 11458 10553 11459 10592 11479 7313 7549 7739 77641+ 7745« 6269 6416 10226 12031 TYPOC = 104402 TYPON = 104404 TYPOS = 104403 7037 SEQ 0302 12220 3611 7816 12442# 3421 7817 12490 3426 7825 3432 7834 3445 7840 3446 7849 3449 7887 3455 7893 3458 7897 3389 3465 7910 CZRMDCO RMO3/2 FCINL TST 2 CZRMDC.P11 12-DEC-78 08:24 F 8 MACY11 30A(1052) 04=JAN-=79 11:23 PAGE 304 CROSS REFERENCE TABLE -- USER SYMBOLS wCD WCE = 000050 = 0460000 4461 4470 4977 4986 9357 12557 WCH w0 = 000052 = 000060 1042 427 9428 64634 11333 4787 11336 4950 5135 5294 5453 5615 3665 3718 3833 3886 4001 4055 6171 6224 9804 12084 WCEHW]I = 010000 WCELO = 004000 WwCF = 000040 12334 12340 10354 WH 9854 9814 9844 = 000062 4687 5693 6894 7717 WLE = 004000 WRL = 004000 XDPMG 064560 Xs1l 006014 10294 10154 3301 33110 1042 9411 12557# 3452 3834 12994 12548 125064 IEROS 065104 13?%9, SAPTHD SASTAT= SATYC SATY1 SATYS SATYL $AUTOB 001100 weeeee | 063236 063212 063220 063230 001150 1293 12533 12506 125024 11902 12092 13310 - 4676 $BASE $BDADR $BDDAT 001276 001136 001142 4740 5822 6921 11196 4847 5838 7047 4900 5967 7063 5035 5983 7185 9409 11172 9413 9426 9441 9456 4002 6172 4332 5036 3512+« 12210 12367 5024 5183 5342 6562 13268 13280 76477+« 9229+ 9329+ 9629 125034 12505+ 3291« 3317 4836 6708 4478+ 4471+ 7674+ 9241+ 9330 94300 6883 4479+ 44B9r 8759+ 9242+ 9344+ 9444 9815 10048+ 10262+ 103¢1* 10581« 10763« 10837« 11058+« 9826+ 10073« 10251+« 10355« 10606+ 10765 10887+ 11094+ 140640 1511e 13514 11718« 14064 14074 11919¢ 121964 1314# 13448 13448 12151 4384 5512 4519 5568 11169 11177 12557 7048 7186 7325 7561 3990 4160 4320 4508 8996 9873 10157 12557 5353 6442 7513 5406 6573 7522 11133 11165 5195 5354 5513 3616 3654 6719 7585 6750 7709 7174 4993+ 4987+« 9074+ 9253+ 9346 9459+ 7312 4994+ 5004+ 9077 9255 9358+ 9460r 7548 5007 5012 9095+ 9273+ 9359+ 9472+ 8846 8761+ 6961+ 9101« 9274+ 9371+ 9473+« 8919 12557 7015+ 9117+ 9275 9372+« 9502+ 7153« 9134+ 9295+ 9388+ 9503+ 7291s 9150 9296+ 9389+ 9517« 7442+¢ 9178+ 9297 9414* 9518« 7458+ 9228+ 9328+ 9415+ 9532+ 9827 10087+« 10252+ 10371+ 10621+ 10775+ 10903+ 11110+ 994+ 10088+ 10254 10385+ 10636+ 10784+ 10924+ 11124¢ 9971+ 10101« 10264* 10399+ 10652+ 10791+ 10944+ 11142+ 9972+ 10117+ 10273+ 10413+ 10669+ 10794 10973+ 11155+ 9973 10201+ 10274+ 10427+ 10687+ 10803+ 10992+ 11167+ 9993+ 10202+ 10276 10482+ 10701+ 10804+ 11006+ 11210+ 10004+ 10204 10286+ 10496+ 10717+ 10806 11020+ 11223+ 10005+ 10214* 10287+ 10512+ 10750+ 10815+ 11043+ 11236+ 10011 10223« 10296+ 10529+ 10751« 10816+ 11046+ 11249+ 10022 10231 10297+ 10550+ 10753 10818 11045 11271+ 10035+ 10241+ 10299 10567+ 10762+ 10828+ 11057+ 11296+ 12079 11721« 12112 11722 12163 117298 12360 11929+« 12450 3233 11936 11945+ 119504 3234 3262 3248 3249 3250 13654 12232 1366M 123604 13478 13488 13498 11350r 11571+ 11388 5666 11404s 5811 11469+ 3822 6589 7560 4572 5677 7036 4492 4496 9073+ 9252+ 9345+ 9445+ 5501 | ] $BELL 001212 $8IN 057620 $COW1 001302 $COW2 001304 S$CHARC 060552 $CKSWR 061664 $CMTAG 001114 $CH3 = 000000 $(Me = 000005 SCNTLC 062562 5247 6426 7349 3572 11337+ 3397« 5194 6295 7324 4331 3532 1132¢e 3387 5088 6279 7201 SEQ 0303 5956 11485+ 6101 11501+ 6186 11521+ 6268 11535+ 6415 11591 CZRMDCO RMO3/2 FCINL TST 2 MACY11 30A(1052) SINTLG SINTLU $CPUOP SCRLF 062574 062567 001250 001217 123624 12335 12361» $OBLK $00W0 $00OwW1 $0DW2 060036 001306 001310 001312 CZRMODC.P11 12-DEC-78 08:24 12217 122642 13784 1353# 12253 1175 164084 164094 $ODW3 $0DW4 $O0W5 $O0DW6 $ODW7 SDEVCT SOEVA $DOAGN $OTBL SENDAD SENDCT SENULL SENV SENVA $EOP S$EOPCT SEOSP SERFLG SERMAX SERROR SERRPC SERRTB SERTTL SESCAP SETABL SETEND 001314 001316 001320 001322 001324 001232 001300 033166 060026 033156 033022 033172 001242 001243 032766 033014 032732 001117 001131 061166 001132 001564 001126 001210 001242 001326 14104 164110 164124 14134 141460 14154 13694 16054 7763 11757 1272 3248 77934 13740 1375¢ 3561 3248+ 3604 13170 13234 32642 132644 15178 13214 13504 13734 1305 $FFLG $FILLC $FILLS $GDADR $GDDAT 063456 001172 001171 001134 001140 12502« 136420 136414 13250 13278 SFATAL 001224 13664 9815 10071+ 10253« 10373+« 10510* 10622+ 10752« 10902« 11029+ 11153« 7781 04=JAN-79 11:23 6 8 PAGE 305 SEQ 0304 CROSS REFERENCE TABLE == USER SYMBOLS 12340 11788 12360 117964 7816 7849 7887 7897 7910 7918 7938 11918 11953 12087 12112 3313+ 7784 11792# 3279 77654 3314+ 7790# 3326+ 3444+ 3453« 3471« 3472 3479 77864 12107 3285 3271 77554 77620 3644 11958 3251+« 120724 7841 7856 7778 3250+ 3306 3311 11653 7766 77374 11998 12000 3506 11899 11897 11904 12089 12513 12511 12535 12000 12023+ 12006+ 12028 12028 12074+ 12112 12081+ 12082+ 12083 12112 7782+ 12022+« 12080+ 12103 12112 12105 12112 12505+ 11922 11953 &477+ 4469r 12533 11953 12542+« 125504 4492 4470* 4992+« 4490+ 5007 4491+ 8760* 4496 12557 4985+ 4986+ 5005+ 5006+ 5012 6962+ 6963+ 9824+ 10072+« 10254 10386+ 10511+« 10634+ 10753 9825+ 10086+ 10263+« 10387+ 10527+« 10635+ 10764+ 9827 10099+ 10275+ 10400* 10528+ 10650* 10765 9943+ 10100+ 10276 10401+ 10548+ 10651+ 10774+ 9955+« 10115+ 10285+ 10414+ 10549+ 10667+ 10805+ 9968+ 10116+ 10298+ 10415+ 10565+ 10668+ 10806 9973 10203+ 10299 10428+ 10566+ 10685+ 10817+ 9992+ 10204 10339+ 10429+ 10579+ 10686+ 10818 10006+ 10213+ 10340* 10480+ 10580+ 10699+ 10826+ 10007+ 10229+ 10353+ 10481+ 10604+ 10700+ 10885+ 10034+ 10231 10354+ 10494+ 10605+ 10715+ 10886+ 10047+ 10240+ 10372+ 10495 10620+ 10716+ 10901+ 14164 12539+ 10922+ 11042+« 11154« 10923+« 11045 11168+ 10942+ 11059+ 11169« 10943+ 11060+ 11177+ 10971+« 11092+« 11208+ 10972+ 11093+ 11209+ 10990+ 11108+ 11221+« 10991+« 11109+« 11222+ 11004+ 11122+ 11234+ 11005+ 11123+ 11235+ 11018« 11140¢ 11247+ 11019+ 11141+ 11248+ H 11295+ };gg;' 11309+ 116403+ 12016+ 12027 12254 12091 12350 12367 12112 12360 11995+ 12004 3270 4838 6710 11310« 11467+ 11322« 11468+ 11323 11483 12004+ 12021+ 12020+ 12027 12025 12102 12027 3285 5026 6885 3506 5185 7038 3534 5344 7176 3574 5503 7314 3618 5668 7550 3656 5813 11897 54944 7305# 3608# 3610 56594 756418 36478 58044 38154 59494 39834 6094 41534 61794 11847+ 11873# 12011 12028 1349+ 1520+ 11369+ 11533« 3824 5958 12019 3992 6103 12089 6162 6188 43134 62614 45014 64084 L6694 W — S w NN W W AN NN N S (=2 00O N — NN - 0o N - o VWi ONNO =w uw = LR % 3 p—y — i [N it [\ —= e [\ i — el woo 00 00 00 00 — SLPADR SLPERR VNN SLF SLFLG r—o-a_.u-a [ PP SICNT SILLUP SINTAG SITEM8 033146 061754 00000! 001100 062724 00 06 00 00 00 06 NN b (V] 11294+ 11387+ 11607+ SEQ 0305 ~N 11269+ } 70+ $GET42 S$GTSWR $HD = $HIBTS SHIOCT 8 MACY11 30A(1052) 04=-JAN-79 11:23 PAGE 306 CROSS REFERENCE TABLE =-- USER SYMBOLS LR CZRMDCO RMO3/2 FCTINL TST 2 12-DEC-78 08:24 CZRMDC.P1Y 12544 125484 12522 12525+ 12537 12541+ 120244 7n 7793 124964 1264604 SROCHR 062226 SROLIN 062316 SRDDE(C= 1264764 11953 12451 seveee 12308# 12452 12272 12343 12360 6555# CZRMDCO RMO3/2 FCTINL TST 2 12-DEC-78 08:24 CZRRDC.P1 MACY11 $RDOCT 062624 $RDS? = 000010 SRESRE 057510 12453 SRINAD $R2A $SAVRE $SAVR6 $SCOPE $SETUP= 033170 057452 063200 060556 000137 12378# 12301# 116944 77920 12456 116784 12469+ 1 12654 1254# 7757 3248 12018# 1275 811 3250 4838 » O ==\ '.g s \ ) e e 12161 820 3618 5668 821 3656 5813 7550 11984 12066 7752 11985 12067 3992+ 6103 4162+ 6322+ 6188+ 12294+ 12198 12214+ 5513e 4002+ 6280+ 8762+ 4172+ 4332+ et i 1350 4322 6270 7793 12007 12096 6270+ 12027 12176+ e e 3503 12227 12188+ 8¢ 3282 822 3824 5958 7758 11998 12068 Q0 &~ = LN NN — i 3249 12160 12186 12299+ AN e F o ~NO wo (P LS LS L NI NI NT NIV NT STV e — .t b s e o o o sKnoowvwo —t o NN o~ — N —_ — s — $1PB $TPFLG 000036 o0 oo $IN ~ 001200 001202 001204 - $TMP2 $TMP3 $THP4 o $TMP1 8 pu—y = NN Py —t b el A B b b e s 8 SSFFFIRL38 ~ 888 $SWREG 001244 $SWRMK= 00000 $SwO8T STESTN STIMES $1kB $TKCNT STKINT $TKQEN= $TKQIN $TxQ0V $TKQSR $1KS $TKSRV $TMPO SEQ 0306 12455 3240 $STUP = 177777 $SVLAD $SVPC $SWR 8 30A(1052) 04=JAN-T79 11:23 PAGE 307 CROSS REFERENCE TABLE -- USER SYMBOLS 6427+ 8851+ 3368 3413 36437+ 3587+ 5355+ 7462+ 11589 11580+ 3618# 4669 56684 6555 75504 6574+ 8924+ 3369 34140 3438 3595 5514 76481+ 11591 5036+ 7186+ 5195+ 7325+ 3391 3418+ 3449 4003+ 6281+ 8852+ 3393 3419+ 3450 4173 6428+ 8853 3983 50264 6094 6885# 3992# 5176 6103# 11603 3647 L6780 5804 65644 11989 6701 12029 7029 CZRMDCO RMO3/2 FCTNL TST 2 12-DEC-78 08:24 CZRRDC.P1I MACY11 30A(1052) $1PS STRAP $TRAP2 $IRP = 11940 126140 12440 124420 124554 124404 . ABS. £ 126440 124450 126464 1 1958 12323 126478 124648 1264492 12450 12024 12028 12076 12112 ERRORS DETECTED: 124534 120354 120484 120364 1204694 120374 12050# 120394 12052# 120404 12053# 2734 2750 237 12804 3252 12119# 3253 12834 1289 77704 12121# 12904 7793 123594 1294# 11648 12367# 1306 116604 12472 1 499 112 1 O — 120344 120474 (e 12033# 120464 el ~ £ 120324 120454 12058# -— 20314 20440 20574 115 000 0 307 124528 3440+ DSKZ:CZRMDC,DSKZ:CZRMDC.SEQ/SOL/CRF/DOC/NL : MC :MD:CND:TOC/LI:ME=DSKZ:CZRMDC.P11 RUN-TIME: 70 66 3 SECONDS RUN-TIME RATIO: 633/140=4.5 (65 PAGES) (ORE USED: 33k DOCUMENT PAGES: 124510 3414 001100 106117 SEQ 0307 = 7757+ 12311 126446 12445 12433 124438 124564 12028 SASTA= 8 PAGE 308 11953 &H i SOF ILL 060271 $40CAT= 106117 = RuR i i i e (N LN AN N 0D 00 00 O O 00 N Wi ~ o~NNNN S NO S s ~ S ONONO —— [N — 001234 001110 001246 001272 001274 SXTSTR 060574 $SGET4= 000000 $$5W08- 000036 SUNIT SUNITH SUSWR SVECT] SVECT2 i e TYPDS STYPE STYPEC S$TYPEX $TYPOC $TYPON $T1YPOS J 11:23 CROSS REFERENCE TABLE -- USER SYMBOLS 001164 062726 062766 000016 $TRPAD S$ISTA STSTNM STTYIN S$TYPBN 04=JAN-79 12120
Home
Privacy and Data
Site structure and layout ©2025 Majenko Technologies