Digital PDFs
Documents
Guest
Register
Log In
AH-F114A-MC
May 1979
142 pages
Original
78MB
view
download
OCR Version
123MB
view
download
Document:
CZRLHA0 RL11,RLV11 CTRL 2 MAY 1979 bw
Order Number:
AH-F114A-MC
Revision:
000
Pages:
142
Original Filename:
CZRLHA0__RL11,RLV11__CTRL_2__AH-F114A-MC__MAY_1979_gray.pdf
OCR Text
R L1 1 ’ R LV1 1 ((::TZU:RZLH AO 2:;’;‘:::" c1979 Eié‘-‘n FICHE 1 OF 1 MADE IN USA — --W—M—_ T S, B RS BNSN — SRS UL S = IDENTIFICATION PRODUCT (ODE: AC=F115A-M( PRODUCT NAME: CIRLMAD DATE THE MENT CONTROLLER DIAGNOSTIC ENGINEERING QUTHOR: D. (. IN THIS AND SHOULD NOT CORPORATION. SIBILITY FOR SOF TWARE ANY BE UNDER DIGITAL EQUIPMENT DEXNIS, DCCUMENT ERRORS SUBJECT EQUIPMENT THAT IN A LICENSE 1S TO (HANGE MAY THIS FOR USE CORPORATION BY RELIABILITY (OPYRIGHT (C) OF WITHOUT ASSUMES NO RESPON- APPEAR IN THIS MANUAL. DOCUMENT IS FURNISHED ON A SINGLE 1979, SOFTWARE DIGITAL ON EQUIPMENT COMPUTER EQUIPMENT THAT (CRPORATION NO- EQUIP- TO THE SYSTEM AND (ORPORATION ASSUMES NO RESPONSIBILITY ITS 2 DIGITAL BE (OPIED (WITH INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) USE 11?1SU(" SYSTEM, EXCEPT AS MAY OTHERWISE BE PROVIDED 8Y DIGITAL. OR PART CAMPBEL!L CONSTRUED AS A (OMMITMENT DIGITAL DESCRIBED (HASER TEST S5=JAN-79 MAINTAINER: INFORMATION TICE THE CREATED: RUTT/ZRLYTT IS NOT PUR- (AN ONLY FOR IN WRITING FOR THE USE SUPPLIED BY S — — C - TABLE . 1. 1.2 1.3 1.4 1.5 2.0 2.1 2.1.) 2.1.2 2.2 2.3 2.3.1 232 ‘.4 2.5 2.6 GENERAL CONTENTS INFORMATION PROGRAM ABSTRACT SYSTEM REQUIREMENTS RELATED DOCUMENTS AND STANDARDS DIAGNCSTIC HIERARCHY PREREQUISITES ASSUMPTIONS OPERATING INSTRUCTIONS HOW TO RUN THIS DIAGNOSTIC THE SIX STEPS OF EXECUTION SAMPLE RUN-THROUGH HOW TO CREATE DETAILS OF TABLE OF A CHAINABLE COMMAND VALIDITY DIALOGUE HARDWARE PARAMETERS SOF TWARE PARAMETERS INFORMATION PERFORMANCE DEVICE TEST FILE COMMANDS AND SYNTAX COMMAND SYNTAX EXTENDED P-TABLE ERROR 5.0 OF AND PROGRESS INFORMATION TABLES SUMMARIES REPORTS 1 PAGE SEQ 0002 1 D 1.0 GENERAL 1.1 PROGRAM ABSTRACT 1.1.1 STRUCTURE OF PAGE 3 INFORMATION PROGRAM THIS DIAGNOSTIC OCCUPIES 14.5K WORDS OF MEMORY AND IS COMPATIBLE WiTH BOTH XxXDP AND ACT. IT CAN BE RUN STAMDALONE UNDER XXDP, AND CAN BE CHAINED UNDER XXDP, ACT AND APT IN ACT MODE (SEE ‘‘CREATE (ORE IMAGE'' <COMMAND BELOW FOR DETAILS OF IS A SINGLE PROGRAM FROM THE STANDPOINT OF WE HAVE RELEASED CHAINING PROCEDURE). [T THE DIAGNOSTIC USER, BUT INCORPORATED INTO IT A CONTROL MODULE WHICH WILL INDEPENDENTLY AS A DIAGNOSTIC SUPERVISOR. LATER BE WHEN THIS DIAGNOSTIC IS STARTED AT ADDRESS 200, CONTROL GOES FIRST T0 THE SUPERVISOR PORTION, WHICH WILL ASK CERTAIN ''MARD CORE'' QUESTIONS ABOUT THE ENVIRONMENT. THEN IT WILL ENTER COMMAND MODE, IN- DICATED BY A PROMPT TOR MAY ENTER ANY OF THE SUPERVISCR CHARACTER SEVERAL (DS B>). AT COMMAND MODE COMMANDS AS DESCRIBED BELOW. CODING FOLLOWS IMMEDIATELY THE DIAGNOSTIC THE OPERATEST (OD- ING, BUT THE SUPERVISOR LISTING HAS BEEN SUPPRESSED FOR GENERAL DISTRIBUTION. A LIMITED DISTRIBUTION HAS BEEN MADE TO FIELD SERVICE OF THE SUPERVISOR ASSEMBLY LISTING, AND IT MAY BE CONSULTED IN EVENT OF A SOFTWARE PROBLEM. 1a1.2 DIAGNOSTIC THE RL11/RLVTT PROGRAM THAT INFORMATION CONTROLLER WILL TEST TEST (PART 2) IS THE CONTROLLER. A PDP=11 (LSI=11) BASED IT COMPLIMENTS PART 1 BY THESE AREAS, BUT BY DEFAULT ALSO TEST COVERAGE OF THE PROGRAM IS EXTREMELY EXTENDING THE TEST COVERAGE TO INCLUDE WRITE DATA, READ DATA, (HECK AND RFAD DATA WITHOUT HEADER COMPARE., IT IS AIMED AT TESTING (ISES HIGH, THE THE CONTROLLER DRIVE. IN THE 1.2 SYSTEM REQUIREMENTS 1.2.1 HARDWARE * PDP=11/LS51=11 * (ONSOLE DEVICE * 1 WRITE FULLY EXER- REQUIREMENTS PROCESSOR WITH 16K OR MORE OF MEMORY (LA30,LA36,VvIS0,ETC.) OR 2 RLV1/RLVIT (ONTROLLER(S) WITH: 1 = 8 RLOY DRIVES WITH RLOTK CARTRIDGES (ONTAINING A 'BAD SE@ 0003 =gl N3 PAGE 1 SECTOR FILE® = 8 RLO2 DRIVES WITH RLO2K SECTOR FILE' * kWl1P, * LINE 1.2, 2 xWl1lL (OPTIONAL) PRINTER (OPTIONAL) (FORMERLY CZRLBR) RLO1 USERS MANUAL XXDP USERS MANUAL STANDARDS (EK-RLO1-UG-PRE) DIAGNOSTIC HIERARCY PREREQUISITES THE RLO1/02 SUBSYSTEM SHOULD HAVE PROGRAMS : CVRLAAD CZRLGAO 1.5 RLV1T RLOT RLIT/RLVIT SUCCESSFULLY RUN THE FOLLOWING DISKLESS TEST (RLV11 ONLY) RLO1/02 CONTROLLER TEST (PART 1) ASSUMPT IONS THE HARDWARE OTHER THAN THE RLO1/02 SUBSYSTEM IS ASSUMED PROPERLY. FALSE ERRORS MAY BE REPORTED IF THE PROCESSOR, NOT 2.0 'BAD CTLR 2 RELATED DOCUMENTS AND 1.6 A SOF TWARE REQUIREMENTS CZRLHA RL11/RLVIT 1.3 CARTRIDGES CONTAINING 4 FUNCTION PROPERLY. OPERATING INSTRUCTIONS 10 WORK £1C., DO SEQ 0004 1 PAGE 2.1 5 HOW TC RUN THIS DIAGNOSTIC ol THE SIX STEPS OF THIS DIAGNOSTIC CEDURES. THE THE DIAGNOSTIC WHEN EXECUTION SHOULD BE START HAS THE THIS DIAGNOSTIC LOADED AND STARTED USING NORMAL COMMAND SHOULD NOT PROPER IS TRANSFER STARTED, THE XXDP PRO- SPECIFY AN ADDRESS, BECAUSE ADDRESS CODED INTO IT. FOLLOWING STEPS WILL OCCUR: AAR A RS R * STEP 1 « TRETRREARS A SHORT SERIES OF ""HARDCORE QUESTION L=CLK P=CLK SOHZ L5 LPT MEM (L) (L) ASKED: MEANING N ? N ? 1S o (L) N ? Wi W ? (L) N? (k) (D) QUESTIONS' WILL BE THERE AN L-CLOCK? " P=CLOCK? IS THE POWER 50 CYCLES 16 (EUROPE)? IS MACHINE AN LSI? IS THERE A LINE PRINTER? HOW MANY K OF MEMORY ARE ? THERE? THE DEFAULTS (SHOWN AFTER EACH QUESTION) CAN BE SELECTED BY WITTING CARRIAGE RETURN. 1T IS POSSIBLE THAT NOT ALL OF THE QUESTIONS WILL BE THE ASKED: P=CLOCK FOR EXAMPLE, I1F QUESTION WILL YOU SAY ''YES'* TO THE NOT BE L=-CLOCK QUESTION, ASKED. IF NEITHER P OR L CLOCK ARE ANSWERED YES THE OPERATOR WILL BE ASKED 16 TYPE TWO CHARACTERS & SECONDS APART. teRedeR RN * STEP 2 » TR RRERREY WHEN WiLL YOU HAVE ISSUE YOU RESTART ANSWERED ALL THE THE PROMPT ‘'DS-B>'., XXDP, YOU WILL BE HARDCORE QUESTIONS, THE FROM THiS POINT UNTIL TALKING TO THE DIAGNOSTIC, WE WILL REFER TO THE PRESENCE OF THIS PROMPT AS BEING (OMMAND MODE, AS OPPOSED TO XXDP COMMAND MODE. AT THIS POINT THE YOU WILL ENTER A ''START'' COMMAND. THIS DIAGNOSTIC TIME WHEN NOT XXDP. IN DIAGNOSTIC IS NOT THE SAME AS THE XXDP ''START'' COMMAND, WHICH YOU ALREADY ISSUED IN RESPONSE TO THE XXDP DOT PROMPT. THIS ‘'START'® (OMMAND (AN TAKE A NUMBER OF SWITCHES AND FLAGS (ALL OPTIONAL) AND THE DETAILS Of THESE ARE SET FORTH IN '2.3 DETAILS OF COMMANDS AND SYNTAX', SEQ 0005 6 HOWEVER, IN ORDER THING LIKE THIS: TO USE THE PROGRAM, ALL YOU NEED TO SAY 1 PAGE 6 [S SOME- STA/PASS:1/FLAGS :HOE THINGS TO NOTE 1. ONLY MERE: THE FIRST THREE (HARACTERS OF COMMAND AT THE "PASSTM SWITCH SPECIFIES HOW MANY PASSES YOU DESIRE. A THE "'DS=B>"" LEVEL NEED TO BE 2. PASS CONSISTS OF UNITS BEING TESTED PASS 3. 1S SPECIFIED THIS OR ANY TYPED. RUNNING THE FULL DIAGNOSTIC AGAINST IN THE EXAMPLE. (THIS wiLL BE EXPLAINED SHORTLY). ABOVE THE "'FLAGS'' SWITCH MAY SPECIFY ANY OF BUT A NUMBER THE MAIN USEFUL ONES ARE: LOE FLAGS, LOOP ON ERROR HOE HALT iER THE WHY OF AiLL ONE ON ERROR INHIBIT ERROR PRINTOUT HOE FLAG IS SHORTLY). SPECIFIED (AR SRR IN THE ABOVE EXAMPLE (WE'LL SEE SRR * STEP 3 » tEEARRRRAEN WHEN YOU HAVE TYPED IN A "'START'' COMMAND, THL DIAGNOSTIC WILL COME BACK WITH THE QUESTION *# UNITS?"' TO WHICH YOU SHOULD RESPOND BY TYPING IN A WORD OF DEvVICE THE NUMBER OF WARNING HERE: OF THE DEVICES THE YOU WISH NUMBER OF DIAGNOSTIC. TO TEST. UNITS DEPENDS ON THE FOR EXAMPLE, IF THE DIAGNOSTIC TARCE! IS DI~ RECTED AT A DISK DRIVE, THEN THE NUMBER OF UNITS WOULD BE THE NUMBER OF DRIVES TO BE TESTED. WHEREAS IF THE DIAGNOSTIC WAS DIRECTED AT THE DISK CONTROLLER, THEN THE NUMBER OF UNITS WOULD BE THE NUMBER OF CONTROLLERS. THE TARGET DEVICE OF A DIAGNOSTIC CAN ALWAYS BE DETERMINED BY STATEMENT SHOULD BE BEGINNING OF THE SOURCE THE INSPECTING THE CODE. DEVICE ONE OF TYPE OF "HEADER'' STATEMENT THE OPERANDS OF THE DIAGNOSTIC. NEAR THE THIS "'HEADER" SEQ 0006 oo memacecds W1 PAGE 7 tTREEROEREY * STEP & + WHEN YOU HAVE TYPED IN THE NUMBER OF UNITS T0 BE TESTED, THE DIAGNOSTIC WILL ASK YOU THE ''HARDWARE QUESTIONS''. THE ANSWERS TO THESE QUESTIONS ARE USED 10 BUILD TABLES IN CORE, CALLED ‘'MARDWARE ?Eg?EEES". ONE HARDWARE P-TABLE WILL BE BUILT FOR EACH UNIT TO BE THERE ARE SEVERAL HARDWARE QUESTIONS AND THE ENTIRE POSED N TIMES, WHERE N IS THE NUMBER OF UNITS. THIS REPRESENTS A NEW PHILOSOPHY IN SERIES wiLL DIAGNOSTIC BE ENGINEERING. DIAGNOSTICS IN THE FUTURE WILL NOT BE WRITTEN TO AUTOSIZE OR ASSUME STANDARD ADDRESSES: INSTEAD, THEY WILL ASK THE OPERATOR FOR ALL THE INFORMATION THEY NEED TO TEST THE DEVICE. fERERARRER * STEP 5 . AFTER ALL ASKED YOU HAVE THE ANSWERED ALL UNITS, THE « rEEEROARERSY SOF TWARE YOU THE HARDWARE QUESTIONS WILL BE ASKED ''CHANGE QUESTIONS THAT DETERMINE SW?'' IF THE (SEC 2.5) YOU WANT BEHAVIOR OF FOR TO BE THIS PROGRAM, TYPE ''v'". IF YOU WANT TO TAKE ALL THE DEFAULTS TO THESE QUESTIONS, TYPE “N''. IF YOU TYPE ''v'' YOU WiLL BE ASKED THE SOF TWARE QUESTIONS (SEC 2.6), AND THE ANSWERS WILL BE PUT INTO THE SOF TWARE P-TABLE IN THE PROGRAM. THE SERIES OF QUESTIONS WILL BE ASKED JUST ONCE, REGARDLESS OF THE NUMBER OF UNITS TO BE TESTED. FERARERARRESY * STEP 6 * TR ARAORSY AFTER BEGIN YOU HAVE ANSWERED THE T0 EXECUTE SOFTWARE THE HARDWARE QUESTIONS, TEST CODF. THE DIAGNOSTIC WILL THERE ARE SEVERAL THINGS THAT CAN HAPPEN NEXT, DEPENDING ON WHETHER A HARDWARE ERROR iS ENCOUNTERED AND ALSO ON WHAT SWITCH VALUES YOU SELECTED ON THE START COMMAND., CONSIDER THE POSSIBILITIES: 1. 1F NO ERROR ]S ENCOUNTERED, THEN THE DIAGNOSTIC WILL SIMPLY EXECUTE THE DESIRED NUMBER OF PASSES AND RETURN TO (OMMAND MODE (PROMPT DS-B>). SEQ 0007 BA PAGE 8 2. 1F AN ERROR 1S ENCOUNTERED, PENS, DEPENDING ON THE THEN CNE OF SETTINGS OF THE THREE HOE HOE SET: THE ERROR WILL BE REPORTED ON THE THE DIAGNOSTIC WILL RETURN TO COMMAND MODE. LOE OF SET: CODE HAP- CONSOLE AND FLAGS. THE DIAGNOSTIC WILL LOOP ENDLESSLY ON THE THAT DETECTED NEITHER HOE NOR LOE THE THINGS AND LOE CONSOLE AND THE BLOCK ERROR. SET: THE NORMAL ERROR WILL EXECUTION WILL BE REPORTED RESUME AS If ON NO ERROR HAD OCCURED. g.1 4 SAMPLE RUN=THROUGH LET'S SEE HOW ALL THIS WORKS IN A REAL SITUATION. RECALL THAT WE ENTERED THE COMMAND ‘'STA/PASS:1/FLAGS:HOE''. THIS WOULD BE A VERY TYPICAL WAY ;gflsgbggLE IF TO RUN THE DIAGNOSTIC. REQUESTED PASS WILL BE AN ERROR 1S ENCOUNTERED, IF NO ERRORS ARE ENCOUNTERED, EXECUTED AND THE PROMPT WILL BE THE ERROR WILL BE REPORTED AND THE ALL OF PROMPT WILL BE REISSUED (BECAUSE THE HOE FLAG IS SET). AT THIS PO}TI THERE ARE FOUR DIFFERENT WAYS YOU CAN GET THE PROGRAM GOING AGAIN: 1. 2. 5. ISSUE ANOTHER ‘'START'' COMMAND STEPS 2, 3, 4, 5, AND 6 AGAIN) ISSUE A "'RESTART'' COMMAND (SAME AS THAT THE HARDWARE QUESTIONS ARE TICS CONSIST OF THE MOST GOING START NOT ASKED) THRU COMMAND EXCEPT ISSUE A ""CONTINUE'' COMMAND (EXECUTION WILL RESUME AT THE BEGINNING OF THE PARTICULAR HARDWARE TEST (MOST DIAGNOS~A NUMBER OF ERROR HALT OCCURED. &. (THUS THESE) THAT NO QUESTIONS ASKED. IT WAS IN WHEN THE ISSUE A ''PROCEED'* COMMAND: EXECUTION WILL RESUME AT 7nE INSTRUCTION FOLLOWING THE ERROR REPORT (THIS IS A SPECIAL (OMMAND AND CAN BE ISSUED ONLY AT A HALT TYPICAL THING TO DO HERE DIFFERENT FLAG SETTINGS. 1S TO ISSUE THE PROBABLY YOU WOULD WANT PRO/FLAGS: 1ER:LOE :HOE =0 PROCEED, TO SAY: BUT WITH SEQ 0008 J THIS WILL DO THE FOLLOWING: 1. TURN ON THE 2. TURN ON THE LOE FLAG 3. TURN OFF L, RESUME JER C(INHIBIT ERROR PRINTOUT) FLAG THE HOE FLAG EXECUTION AT INSTRUCTION AFTER ERROR REPORT THE DIAGNOSTIC WiLL NOW LOOP ON THE BLOCK OF CODE THAT REPORTED THE ERROR, BUT NO ERROR PRINTOUT WILL OCCUR. STUDY PAGE 9 THE ERROR OR SCOPE DETECTED AND THUS YOU CAN 1T OR WHATEVER. WHEN YOU'VE SEEN ENOUGH, YOU MAY HIT CONTROL/C. THIS WILL TAKE YOU OUT OF THE LOOP AND PUT YOU BACK INTO COMMAND MODE. YOU NOW HAVE THREE CHOICES: 1. START 2. RESTART 3. CONTINUE LET'S SAY YOU'VE REPAIRED THE DEFECT FOUND ABOVE RUNNING THE DIAGNOSTIC. YOU wWOULD TYPE AND WANT T0O FINISH CON/FLAGS:HOE: IER=0:LOE=0 THIS WILL RESTORE THE FLAGS TC THEIR ORIGINAL VALUES AND RESUME ECUTION AT THE BEGINNING OF THE HARDWARE TEST YOU WERE IN. IF ERROR DOES NOT RECUR, THE EXECUTION WILL FLOW RIGHT ON THRU TO NEXT ERROR OR TO END OF PASS. IF AT END OF TWO CHOICES: PASS YOU WANT 1. START 2. RESTART YOU WOULD HARDWARE CHOCSE ONE, TO RUN THE DIAGNOSTIC DEPENDING ON WHETHER QUESTIONS AGAIN. AGAIN, YOU WANTED YOU TO ANSWER EXTHE THE HAVE THE SEQ 0009 K THE FULL PRINT=-0UT FROM THE ABOVE DIALOGUE MIGHT (O=OPERATOR, D=DIAGNOSTIC): LOOK BY WHOM ENTERED: O .R CIRLHA ? RLIT (L) v ? SW (L) o @ LY T T T T BUS ADDRESS (0) 174400 ? VECTOR (0) 160 ? DRIVE (0) 0 2 1 DRIVE TYPE = RLOYV (L) ? N BR LEVEL (V) 5 ? (HANGE s © v ? Y UNIT 2 (L) O OO BR LEVEL (0) 5 ? ~ © 174400 ? VECTOR (0) 160 ? DRIVE (0) 0 ? DRIVE TYPE = RLOT ? N O0C0O0000 v BUS ADDRESS (0) 000000 (L) 2 e 1 ? = UNIT RL1T (D) O0O0DO0OO0OUCC # UNITS - DS=B>STA/PASS:1/FLAGS :HOE N 16 ? - (L) N ? (L) N ? (K) (D) ¥ - LSl LPT MEM (L) N 2 (L) N ? O0OO0O0DO0DUO0 S0HZ O L=CLK © CZRLH (N=RLO2) (ZRLH HRD ERR 00004 TST 003 SuB 002 PC:004130 ERR HLT DS=B>PRO/FLAGS: JER:LOE :HOE=0 0.0 R iz AT THIS POINT THE DIAGNOSTIC 1S LOOPING ON THE E-AOR WITHOUT PRINTING ANYTHING. YOU CAN SCOPE THE ERROR UNTIL YOU HAVE LOCATED IT, THEN *C OULT SRR RPRRRRRRRERRSRRRARRERARRRRURRSRROERRRRRORRORREYR 1 PAGE LIKE 10 THIS SEQ 0010 L 5 0 DS=B>CON/FLAGS:HOE : JER:LOE=0 0.0 (HANGE 0.0 SW E%RLN EOP (L) ? N 1 11 D DS=B>RESTART/PASS:1 0.0 (HANGE 0.0 SW 1 PAGE (L) ? N 2.2 THE DIAGNOSTIC IN CHAIN MODE. "BIC''. AS RECEIVED THAT FROM RELEASE IS WHY ENGINEERING CANNOT BE RUN IT BEARS THE EXTENSION ‘'BIN'' INSTEAD OFf THERE 1S A WAY, HOWEVER, TO CREATE A CHAINABLE PROGRAM FROM 1T CONSISTS OF ISSUED WHERE RUNNING THE PROGRAM WITH THE SPECIAL COMMAND ‘‘CCI"' YOU WOULD NORMALLY ISSUE A START COMMAND (TO THE WHAT YOU'VE GOT. PROMPT DS-B>. THIS COMMAND CAUSES THE DIAGNOSTIC TO GO THRU ALL THE QUESTIONS AND ANSWERS AND THEN TO HALT, JUST WHERE 1T wOULD ORDINARILY BEGIN EXECUTION OF THE HARDWARE TEST CODE. AT THIS POINT YOU CAN DUMP HERE 1S A SAMPLE THE PROGRAM AS WITH THE NEW EXTENSION 'BIC". .R UPD2 RESTART: *(LR XXXXXX L=CLK N DIALOGUE «_L0AD DJAG.BIN XFER:200 CORE:0,60602 «START 200 (L) ? IT SITS TC ACCOMPLISH IN CORE THIS: TO THE LOAD MEDIUM, SEQ 0011 n PAGE DS=B>CC1 UNITS (D) (HANGE SW PTAB END: LA 12 ? & (L) ? N 60632 AR AR AR AR AR AR 22T *AT THIS POINT THE MACHINE HALTS AND* *YOU MUST RESTART AT ADDRESS XXXXXX* (AR A ARAR 0T *HICCRE 60632 CORE: 0,60632 *DUMP DKO: DIAG.BIC THE RESULT OF DOING THiS IS THAT YOU CAN NOW BUILD XXDP CHAIN AND THE DIAGNOSTIC WILL EXECUTE WITHOUT MANUAL INTERVENTION, THE ANSWERS THAT YOU GAVE 1T WHEN YOU DID THE CCI COMMAND. USING “FALE CONTAINING THE XXDP COMMAND AN .R DIAG.BIC SEQ 0012 N1 PAGE 13 2.5 DETAILS OF 2.5.1 TABLE OF COMMANDS AND SYNTAX COMMAND VALIDITY THERE ARE FOULR WAYS OF ENTERING DIAGNOSTIC COMMAND MODE, AND DIFFERENT SUBSETS OF THE DIAG COMMAND SET ARE AVAILABLE WITH EACH: HOW ENTERED 1. LEGAL OPERATOR ENTERED °‘RUN DIAG' COMMANDS START PRINT DISPLAY FLAGS IFLAGS 2. DIAGNOSTIC HAS FINISHED ALL ITS REQUESTED PASSES START RESTART PRINT DISPLAY FLAGS IFLAGS J. OPERATOR INTERRUPTED THE DIAGNOSTIC WITH CIRL/C START RESTART CONTINUE PRINT DISPLAY FLAGS IFLAGS 4. AN ERROR WAS ENCOUNTERED WiTH THE HOE FLAG SET SET START RESTART CONTINUE PROCEED PRINT DISPLAY FLAGS ZFLAGS 2e3ul COMMAND SYNTAX Y2232 222233 2232232222222 222222 222222222222l ]) STA(RT)/TESTS:TEST=L1ST/PASS:PASS=CNT/FLAGS:tLAG=LIST/EOP:EOP-INCR Y 222222 22222322222 2222222 222222222222l THE DIAGNOSTIC IN CORE 1S EXECUTED IN ACCORDANCE WITH THE SPECIFIED, THE MESSAGE “'# UNITS?" IS PRINTED. SWITCHES THE START COMMAND MAvY BE ]SSUED WHEN DIAGNOSTIC COMMAND MODE HAS BEEN ENTERED vIA ONE 0F TWE FOLLOWING: A) OPERATOR TYPED “RUN DIAGNOSTICTM B) DIAGNOSTIC SEQ 0013 8 2 PAGE 14 FINISHED EXECUTING () ERROR WAS ENCOUNTERED WwiTW HOE OPERATOR ENTERED (ONTROL/C. AFTER THE FLAG SET D) OPERATOR RESPONDS TO ''# UNITS?"", THE MARDWARE DIALOGUE IS INITIATED. WHEN IT IS COMPLETED, THE QUESTIONS ‘"CHANGE Sw?'" 1S ISSUED, AND THE ANSWERS, IF GIVEN, BECOME THE NEwW DEFAULTS. THEREFORE PROGRAM IN ORDER TO RETURN 10 THE THE SWITCH ARGUMENTS ARE IT IS NECESSARY TO LOAD DEFAULTS. RELOAD THE AS FOLLOWS: TEST=LISTTM IS A SEQUENCE OF DECIMAL NUMBERS (1:2 ETC.) OR RANGES OF DECIMAL NUMBERS (1-5:8-10 ETC.) THAT SPECIFY THE TESTS TO BF EXECUTED. THE NUMBERS ARE SEPARATED BY (CLONS. THE NUMBERS RANGE FROM 1 10 THE LARGEST TEST NUMBER IN THE DIAGNOSTIC. THEY MAY BE SPECIFIED IN ANY ORDER. TESTS WiLL BE EXECUTED IN NUMERICAL ORDER REGARDLESS OF THE ORDER OF SPECIFICATION. THE DEFAULT IS YO EXECUTE ALL TESTS. "PASS=CNT"* IS A DECIMAL NUMBER INDICATING THE DESIRED NUMBER OF PASSES. A PASS IS DEFINED AS THE EXECUTION OF THE FULL DIAGNOSTIC (ALL SELECTED TESTS) AGAINST ALL UNITS SUBMITTED. THE DEFAULT IS NON-ENDING TEST EXECUTION. ‘“'FLAG-LIST'' IS A SEQUENCE OF ELEMENTS OF THE FORM <FLAG>, <FLAG=1>, OR <FLAG=0>, SEPARATED BY COLONS, WHERE <FLAG> HAS ONE OF THE FOLLOWING VALUES: HOE HALT ON ERROR, CAUSING COMMAND MODE ERROR 1S ENCOUNTERED TO BE ENTEKED WHEN AN LOE LOOP ON ERROR, CAUSING THE DIAGNOSTIC TO LOOP CONTINUOUSLY WITHIN THE SMALLEST DEFINED BLOCK OF CODING (SEGMENT, SUBTEST, OR TEST) CONTAINING THE ERROR IER INHIBIT ERROR REPORTING IBE INHIBIT BASIC ERROR REPORTS IXE INHIBIT EXTENDED ERROR REPORTS PRI DIRECT ALL MESSAGES TO A LINE PRINTER PNT PRINT NUMBER OF TEST BEING EXECUTED BOE BELL ON ERRCR UAM RUN IN UNATTENDED MODE, BYPASSING MANUAL INTERVENTION TESTS ISR INHIBIT STATISTICAL REPORTS IDU INHIBIT DROPPING OF UNITS BY DIAGNOSTIC SEQ 0014 e £ THE FLAGS NAMED OR EQUATED TO 1 ARE R 3 SET , THOSE CLEARED. A FLAG NCT SPECIFIED IS S CLEARED. IF NOT GIVEN ALL FLAGS ARE CLEARED. PASSES) DEFAULT IT 1S DESIRED THAT THE END OF IS AT THE END OF EVERY PASS. PASS MESSAGE R R R s R R R R R R R R R R R R R R R R R R R R 15 EQUATED TO 0O ARE THE FLAGS SWITCH IS "EOP=INCR'* 1S A DECIMAL NUMBER INDICATING HOW OFTEN R ¢ PAGE BE AR (IN TERMS Of PRINTED. R THE IIIIIIIIY RES(TART) /TEST:TEST=LIST/PASS:PASS=CNT/FLAGS:FLAG=LIST/EOP:EQP=INCR/ UNITS:UNIT=LIST TR RN NN RN R R R R RN N RN THE DIAGNOSTIC SPECIFIED. ONES IN CORE R PR R RN RN AN ARNRRRNEPROORNEOIRNRCERORTERRORROERETRORORTROROETRRPTORTY IN CORE HOWEVER, ARE USED. 1S EXECUTED NEW IN ACCORDANCE WITH ‘'P-TABLES'' ARE NOT BUILT. THE SWITCHES [INSTEAD, THE THE QUESTION "'CHANGE SW?'" 1S ASKED AND THE ANSWERS GIVEN BECOME THE NEW DEFAULTS. THE COMMAND MAY BE ISSUED WHEN COMAND MODE HAS BEEN EgTE:SD/(VlA A) DIAGNOSTIC IS FINISHED B) HALT ON ERROR () CONTROL/C. THE SWITCH 1. ARGUMENTS ARE AS IN THE START EXCEPT: "UNIT=LIST' IS A SEQUENCE OF LOGICAL UNIT NUMBERS RANGING FROM 1 THRU N (N = NUMBER OF UNITS BEING TESTED) SPECIFYING WHICH UNITS ARE TO BE TESTED. THE LOGICAL UNIT NUMBER DESIGNATES THE POSITION OF THE P-TABLE IN CORE, ACCORDING TO THE FIED MAND. ORDER IN WHICH THEY WERE THE UNIT-LIST LASTS UNTIL THE RESET TO ""ALL'') ALL BUILT. THE UNITS SPECI- MUST NOT HAVE BEEN DROPPED BY THE OPERATOR DROP (OMDEFAULTS TO "ALL DROPPED BY OPERATOR COMMAND''. 2. COMMAND NEXT START OR THE NEXT THAT HAVE THE EFFECT OF (WHERE RESTART. UNSPECIFIED FLAG SETTINGS ARE IT IS NOT BEEN THE UNIT=LIST AUTOMATICALLY UNCHANGED. e RRRRRERRYRRRRRRRORRIRRRRRRARRACTORRORRRCOCRRTCRY CONCTINUE ) /PASS : <PASS=CNT/FLAGS : <FLAG=LIST> e RRRRRRERRRRRRRRRRRRRRORRRRRRRRRRROY R RRRPY COMMAND MODE (ONTROL/C., MUST HAVE BEEN ENTERED DUE THE EFFECT OF THE TO A HALT ON ERROR OR A COMMAND IS TO GO TO THE BEGINNING OF THE TEST THAT WAS BEING EXECUTED WHEN THE PLACE, SOF TWAKE DIALOGUE MAY OPTIONALLY PARKAME TERS MAY NOT BE (HANGED. HALT OR C(ONTROL/C TOOK BE RE-EXECUTED. HARDWARE SEQ 0015 D FolelTOm ARGUMENTS ARE AS IN THE START DEFALT FOR PASS=(NT 1S THE PREVIOUS START OR RESTART o UNSFEOIPIED #LAC SETTINGS 16 (OMMAND EXCEPT: UNSATISFIED PASS=CNT ARE ¢ PAGE fROM THE THE EF- UNCHANGED TR RRRRORERRIROERORORRRRORRY PRO ) /FLAGS CCE : <FLAG=L]ST> ED COMMAND MODE FECY OF THE 'NE ERROR ALTERED. THE CALL. SWITCH T. MUST MAVE COMMAND BEEN ENTERED IS TO BEGIN NEITHER ARGUMENTS ARE VIA A HALT EXEZUTION HARDWARE NOR THE AS SAME AT ON ERROR. THE SOF TWARE THE START LOCATION FGLLOWING PARAMETERS COMMAND MAY BE EXCEPT: UNSPECIFIED FLAG SETTINGS ARE UNCHANGED RPN RERRRRRRRRPRRRERRROPRRROROTRARRRRORROEROROROERORREOPRRROEPROROPTRTETY COL/TEST:TEST=LIST/PASS:PASS=(NT/FLAGS:FLAG=LIST/EOP:EOP=INCR PPN RN RN THE R RO R RN RN RR RN RN RN R RN RN DIAGNOSTIC EXECUTES HARDWARE TEST (ODE. THE MEDIUM WITH A BIC THE BIC FILE MUST RUN MANUALLY OR THRU RN RNRRRRPRRRRRRRCEROEORREORERORROEROERTY ALL OPERATOR NOW THE OPERATOR EXTENSION. NORED) TOR THE PRE=-GENERATED ANSWERS IT WILL BEHAVE TO OPERATOR OR WITH A "'RESTART' (IN WHICH CASE ANSWERS WiLL AND THE HALTS CORE AT THE IMAGE T0 BE HANDLED DIFFERENTLY DEPENDING ON WHETHER IT IS IN CHAIN MODE. IF RUN MANUALLY IT CAN BE INVOKED EITHER WITH A "'START'" (IN WHICH CASE FILE: DIALOGUE CAN DUMP BE USED). LIKE THE QUESTIONS wiLL THE PRE-GENERATED BE BIN G- OPERA- IF RUN IN CHAIN MODE, AUTOMATIC EXECUTION WILL COMMENCE IMMEDIATELY FROM THE XXDP COMMAND '‘.R DIAG''. THE COMMAND PROMPT 'DS-B>"" WILL NOT BE ANY SWITCHES SPECIFIED ON ISSUED. BIC FILE THE 1S5 RUN IN CHAIN MODE BUT WILL NOT TO DO A CC1 CCl1 CARRY OVER WHEN IT ON A FULL COMMAND WILL (EXCEPT CARRY OVER WHEN THAT UAM IS ALWAYS SET IS RUN MANUALLY. SIZED DIAGNOSTIC (14.5K WORDS), A THE THERE) MACHINE SIZE LARGER THAN 16K 1S REQUIRED. THE EXACT SIZE NEEDED DEPENDS ON WHICH UTILITY IS USED TO EXECUTE THE DIAGNNSTIC AT CCI TIME. S SEQ 0016 E 2 PAGE 17 treRRRRRRRRRRRERNRRRRRR Y DRO(P) /UNITS:UNIT=-LIST trReTRRRRORRRRNRERORNR RY THE UNITS SPECIFIED ARE DROPPED FROM TESTING UNTIL THEY ARE ADDED gh(: ng(ggéiL A START COMMAND IS GIVEN. A DROP CANNOT BE FOLLOWED Y . THERE IS ALSO A 'DROP'* MACRO INTERNAL TO THE DIAGNOSTIC, WHICH GIVES THE FACILITY OF AUTO-DROPPING. THE DURATION OF A PROGRAM DROP, HOWEVER, 1S ONLY UNTIL THE NEXT START OR RESTART. TRRRLRERRRRRORERARNOTRRYS ADD/UNITS:UNIT=LIST sTeRERERERRREORSRRRRRY THE UNITS SPECIFIED ARE ADDED BACK (THEY MUST HAVE BEEN PREVIOUSLY DROPPED BY THE DROP COMMAND) TO THE TEST SEQUENCE. AN ADD CANNOT BE FOLLOWED BY A PROCEED. LRSS 22 PRI(NT) (AR AR 8 ALL THE A A STATISTICS TABLES ACCUMULATED BY THE DIAGNOSTIC ARE ISR C(INHIBIT STATISTICAL REPORTING) FLAG IS CLEARED. A PRINTED, AR ARl R E ] DIS(PLAY)/UNITS:<UNIT=LIST> feRRRRRRRRRRRRROERRORRRONRROERNY THE THE BY I A A HARDWARE P-TABLES FOR ALL FORMAT IN WHICH THEY WERE UNITS UNDER TES( ARE PRINTED ENTERED. ANY UNITS THAT WERE THE OPERATOR ''DROP'' COMMAND ARE RE A & SO DESIGNATED. J FLACGS) AR R R R R THE L AR CURRENT R A B SETTINGS OF | ZFL(AGS) L E R ALiL R R ER ] FLAGS ARE C(LEARED. ALL FLAGS ARE PRINTED. OuTl IN DROPPED S SE@ 0017 ;& PAGE 2.4 EXTENDED P-TABLE T#E FULL CAPABILITY OF FULLOWING DISCUSSION OF DIALOGUE THE HARDWARE WHAT HAPPENS DIALOGUE IS ARE OF THE P=TABLE SAME THE FORMAT, HARDWARE FORMAT, AND THERE PARAMETER REVEALED INTERNALLY. AS SOON AS THE QUESTION "'# UNITS?'" 1S ANSWERED SPACE IN (ORE IS ALLOCATED FOR ''N'' P-TABLES. BETWEEN 18 IS A THE (WITH THE NUMBER N), ALL OF THE P=-TABLES ONE-TO-ONE QUESTIONS BY AND C(ORRESPONDENCE THE SLOTS IN THE IN GIVING A STRING OF VALUES, COMMAS WITHOUT INTERVENING VALUES MAY BE USED TO INDICATE A REPETITION OF THE LAST NAMED VALUE. A STRING OF VALUES MAY BE GIVEN AS A RANGE (6-10 FOR EXAMPLE). IF THE VALUES REPRESENT PURE NUMERICAL DATA, THIS SAMPLE RANGE TRAN- LATES TO THE STRING 6,7,8,9,10 INCREMENT OF 2). ARE ADDRESSES, NOW LET SET ARE US THE SEE SAMPLE HOW WE RANGE (OULD USE (AN INCREMENT OF TRANSLATES THESE TO 1). THE CAPABILITIES IF THE VALUES STRING 6,8,10 TO CONSTRUCT (AN A OF P-TABLES. ASSUME THAT WE HAVE 8 RL UNITS, AND THAT THERE FIVE (5) HARDWARE PARAMETERS FOR EACH (5 SLOTS IN THE P=-TABLE, S HARDWARE QUESTIONS IN THE DIALOGUE). FOLLOWING TEM HAS 5. (ON THE FIRST & DRIVES ARE RLO1'S AND THE THE # UNITS UNIT RLTT IS THE DIALOGUE FOR THIS 8 RLOX DRIVE SYSTEM, TWO (2) RL1T TYPE CONTROLLERS ALL 10O BE SET AT SECOND (D) ? CONTROLLER): 8 1 (L) v ? ¥ ? BUS ADDDRESS (0) 174400 ? VECTOR (0) 160 ? DRIVE (0) 0 ? 0-3 DRIVE TYPE = RLOY (L) ¥ ? BR LEVEL (0) 5 ? UNIT 5 RLIYT &L) BUS ADDRESS (0) 174400 ? 175400 VECTOR (0) 160 ? 164 DRIVE (0) 0 ? 0-3 DRIVE TYPE = RLOY! (L) ¥ ? N BR LEVEL (Q) 5 ? THIS SYS"BR LEVEL" LAST & DRIVES ARE RLO2'S SEQ 0018 e 6 THE FIRST TIME THRU THE P-TABLE USED FOR THE CONTROLLER TYPE TROLLER (QUESTION #2), #3), THE DRIVE TYPE #6). THE ACTUAL UNIT QUESTIONS THE (QUESTION #1), DEFAULT VALUES (SR ADDRESS OF 2 PAGE THE 19 ARE (ON- THE CONTROLLER VECTOR ASSIGNMENT (QUESTION (QUESTION #5), AND THE ‘‘BR LEVEL'' (QUESTION NUMBERS OF THE RLO1'S FOR QUESTION #4 WAS AS- SIGNED O THRU 3 FOR THE FIRST & P-TABLE 5LOTS. THE SECOND TIME THRU THE P-TABLE QUESTIONS (FOR THE RLO2 ASSIGNMENT ON THE SECOND CONTROLLER), THE FIRST QUESTION DEFAULTED TO "RLIT" TYPE CONTROLLER. THE SECOND QUESTION WAS ANSWERED TO REFLECT THE CHANGE IN CSR ADDRESS FOR THE RLO2 CONTROLLER (175400). THE SECOND CONTROLLER'S VECTOR WAS ALSO CHANGED TO 164 IN QUESTION #3., THE RLO2 TEST UNIT NUMBERS WERE ASSIGNED VALUES O TO 3 IN QUESTION #4 AND THE DRIVE TYPE WAS SET FOR RLOZ2'S FOR THE REMAINING & UNITS [N QUESTION #5. THE LAST QUESTION WAS DEFAULTED USING THE "BR LEVEL" FROM THE FIRST PASS. i SEQ 0019 e H 2.9 HARDWARE THE LOCATED TO THE THAT WiLL BE RLYT (L) WILL LEFT OF BE THE ASKED ANSWER WITH BUS ADDRESS OF THE CONTROLLER, THE VECTOR (0) 160? ANSWER WITH THE INTERRUPT VECTOR DRIVE (0) THE DRIVE(S) CONNECTED TYPE ANSWER NO = RLOY (N) (0) WITH IF (L) IS THE INTERRUPT FOLLOWING QUESTIONS CONTINUE. OR THE THEY SOFTWARE RUNS. CONTINUE YES NO(N) IF YOU HAVE AN CONTROLLER. OF THE CONTROLLER. TO THE CONTROLLER OF THE CONTROLLER. AN RLO?2 BY PRIORITY THE ARE ALLOW ASK (Y)ES S.w. THE If REQUESTED FLEXABILITY PARAMETERS ANSWERING ANSWER WILL ASKED PARAMETERS "CHANGE A VALUE PARAMETERS THE IT THE DEFAULT 5? OR WAY (OMMAND. ? DRIVE SOF TWARE HAVES. IS THE 0? ANSWER WITH 2.6 START RETURN RESPONCE. AN RL11 174400? ANSWER A ¥? BUS ADDRESS (0) BR LEVEL CN QUESTION MARK TAKEN ON A CARRIAGE ANSWER YESC(Y) [F YOU HAVE RLV1IT CONTROLLER. DRIVE 20 PARAMETERS FOLLOWING QUESTIONS VALUE 2 PAGE GIVE THF (AN BE TO ON A IN THE WAY PROGRAM START, THE FLEXIBILITY MODIFIED ON A START, THE RESTART, PROGRAM BE- FOLLOWING QUESTION: IN THE RESTART, ?" FOLLOWING SOFTWARE PARAMETER QUESTIONS, WiTH THE PRESENT DEFAULT VALUE PRINTED TO THE LEFT OF THE QUESTION MARK. (THE LAST ANSWER GIVEN 1S THE DEFAULT) THE DEFAULT IS TAKEN ON A <CR>, (ONTROL Z (*7) WlLL DEFAULT ALL REMAINING QUESTIONS AND START THE TEST. “DROP ON ERROR LIM]T T0O ALLOW THE UNIT TO BE (L) y2" DROPPED ONCE A PREDETERMINED NUMBER OF ER- ey SEa 0020 e 2 PAGE RORS ARE 21 ENCOUNTERED. ANSWER Y OR N "ERROR LIMIT NUMBER OF (D) 107" ERRORS ALLOWED BEFORE ANSWER 1 TO 65¢ “AUTOSIZE (L) T0 CHECK TO SEE IF (VIA DRIVE READY), ANSWER Y N? " "# OF NUMBER OF (L) N?" S ENCOUNTERED AND DATA DATA. Y TESTING IT OR N WHEN A DATA (CHECK ANSWER EXI STS BEFORE TES TED. UNIT SPECIFIED ACTUALLY IF NOT UNIT wiLL NOT BE "'COMPARE DATA ON D(K COMPARISON OF DROPPING UNIT. S KNOWN, ALLOW AN [NCORE OR N WORDS IN ERROR REPORTED MISCOMPARES TO BE (D) 3? ** PRINTED ON CONSOLE DEVICE. N . ANSWER 0 =128 ERROR INFORMATION —Teeer eceeoecceceeeee ALL ERROR INFORMATION I> PRINTED ON THE CONSOLE DECiVE. ERROR PORTS ARE AIMED AT BEING SELF EXPLANATORY. THE GENERAL FORMAT DIRL? : WHERE XXX ?: XXX YYYYY ERR yYYYY ¥ 12 SUB PPP RRRR]RR IS PRCGRAM LETTER IS SET = SOFT ERROR HRD = HARD ERROR Dv FAT - DEVICE FATAL ERROR SYS FAT = SYSTEM FATAL ERROR 1S THE ERROR NUMBER 111 IS THE TEST NUMBER RRRRRR 1S THME PROGRAM LISTING LOCATION PPP PC: 1S THE SUBTEST NUMBER ERRORS GIVE THE REGISTER CONTENTS BEFORE AND AFTER THE ERROR ALONG WITH A ONE LINE DESCRIPTION AND RELEVENT DATA, RE[<: ———— SEQ 0021 a— J 2 PAGE 22 EXAMPLE: ONE LINE (OPTIONAL (OPTIONAL DESCRIPT]ON SECOND LINE) THIRD LINE) BEFORE COMMAND: TIME OF ERROR: XXXXXX . C35:)0000XX BA:ZXXXXXX DA:XXXXXX MP:XXXXXX CS:000MXX BA OO DAXOOXX MP2XXXXXX ERROR HALTS ERROR HALTS ARE WITH /FLAG:HOE. SUPPORTED PER DESCRIBED IN THERE ARE NO OTHER HALTS. 4.0 PERFORMANCE AND PROGRESS REPORTS 6.1 PERFORMANCE REPORTS THIS PROGRAM WILL 6.2 NOT GIVE ANY PERFORMANCE ANY PROGRESS THE PREVIOUS SECTION REPORTS. PROGRESS REPORTS THIS ¥ XXXXXX e PROGRAM WwiLL NOT GIVE REPORTS. DEVICE INFORMATION TABLES THE RLT11/RLV1] CONTROL OF THE RLCS = BIT BlT BIT BIT 15 14 13 12 BIT BIT BIT BIT BIT CONTROLLER HAS SUBSYSTEM. CONTROL = = = = = 11 = 10 9/8 7 = 6 = AND THE FOLLOWING FOUR(4) STATUS REGISTER (XXXxx0) (OMPOSITE ERROR DRIVE ERROR NON EXISTANT MEMORY ERROR HEADER NOT FOUND (WITH BIT 10 SET) DATA LATE (WITH BIT 10 CLEAR) HEADER CRC (WITH BIT 10 SET) DATA (RC (WITH BIT 10 CLEAR) OPERATION INCOMPLETE = DRIVE SELECT (0-3) CONTROLLER READY INTERRUPT ENABLE REGISTERS FOR SEQ 0022 ———— K NOWVESWN—=O ) ol - XTENDED BUS ADDRESS (BIT 17) XTENDED BUS ADDRESS (BIT 16) i FUNCTION CODE = NOP (PDP=11) MAINT (LSI-11) WRITE CHECK GET DRIVE SEEK STATUS READ HEADEK WRITE DATA READ DATA READ WITHOUT BIT 0 - DRIVE READY RLBA - BUS ADDRESS REGISTER BITS 15=1 BUS ADDRESS OF BIT 0 SHOULD BE 0 RLDA = BIT HEADER DISK (XXXXX2) DATA TRANSFER ADDRESS REGISTER (XXXXX&) 15=7 = CYLINDER ADDRESS FOR TRANSFER BIT 6 = SURFACE FOR TRANSFER BIT 5-0 = SECTOR FOR TRANSFER FOR COMPARE SEEK FUNCTION B B BV 7 = DIFFERENCE LI I (1-40.) = MUST SURFACE MUST SEEK MUST MUST BE ZERO TO NEW CYLINDER (0) (0=UPPER, 1-LOWER) BE ZERO (0) DIRECTIONC 1=IN /7 0=0UT BE ZERO (0) BE ONE (1) BIT 15-4 = IGNORED SHOULD BE ZERO (0) BIT 3 - DRIVE RESET BIT 2 = MUST BE ZERO (0) BIT 1 - MUST BE ONE BIT 0 = MUST BE ONE (1) (1) RLMP = MULTIPURPOSE REGISTER ) 2 PAGE 23 e e e SEQ 0023 L FOR READ/ WRITE BIT 15 - 0 = WORD COUNT 15-0 = DISK HEADER OF = IERO WORD FOR GET SV NDOO—=NWSW ) Bt ] ] Pt Gt ) — ] ] ) ] ] ) ] et Bt Bt Bt Bt Bt Bl Gl B S CRC SECTOR (FIRST READ) (SECOND READ) (THIRD READ) S TATUS FUNCTION HAS DRIVE STATUS WRITE DATA ERROR CURRENT HEAD ERROR (CHE) WRITE LOCK STATUS (WL) SEEK TIME OUT (SKTO) SPIN ERROR (SPE) WRITE GATE ERROR (WGE) VOLUME CHECK DRIVE DRIVE SURFACE (0=UPPPER, COVER OPEN » (v() SELECT ERROR TYPE IS RLO2 (DSE) IF SET 1=LOWER) HEADS HOME BRUSHES HOME 20 - STATE BITS 0 = LOAD STATE SPIN UP BRUSH CYCLE LOAD HEADS SEEK = TRACK COUNTING SEEK = LINEAR MCDE UNLOAD HEADS SPIN DOWN NO VSN - Sl (TWO'S COMPL IMENT) FUNCTION = HEADER Bt 24 FUNCTION FOR READ HEADER BIT 2 PAGE 6.0 TEST TEST 1 SUMMARIES = WRITE NPR INTEGRITY THIS TEST WILL VERIFY THAT THE WRITE FUNCTION WILL NOT CAUSE A BUS TRAP THEREFORE VERIFYING THE NPR LOGIC BETWEEN THE CONTROLLE R AND PROCESSOR. SEQ 0024 n TEST 2 = WRITE FUNCTION THIS TEST WILL VERIFY THAT THE WRITE FUNCTION WiLe RESET THIS TEST WILL VERIFY THAT THE AN INTERRUPT ON COMPLETION. WRITE FUNCTION WILL GENERATE CONTROLLER READY AND POST NO ERRORS. TEST 2 PAGE 25 3 = WRITE FUNCTION INTERRUPT LAAR A & J TEST & - PROPER INCREMENT OF RLBA ON WRITE THIS TEST WILL VERIFY THAT THE PROPERLY ON A WRITE FUNCTION. TEST 5 = PROPER INCREMENT OF BUS ADDRESS REGISTER INCREMENTS RLDA ON WRITE LA A AR R THIS TEST WILL VERIFY THAT THE PROPERLY ON A WRITE FUNCTION. TEST 6 = FORCE HEADER NOT DISK ADDRESS REGISTER INCREMENTS FOUND WITH WRITE THIS TEST WILL FORCE A HEAPER NOT FOUND ERROR ON A WRITE. THE RLDA IS SET UP TO LOOK FOR SECTOR 40, A WRITE IS THEN ISSUED. THE HEADER NOT FOUND ERROR SHOULD THEN SET. TEST /7 = FORCE INTERRUPT WITH HMNF ereERY THIS TEST WiLL FORCE CONTROL. TEST LAE A 8 = & & (HECK OP] TIME A HEADER NOT INTERRUPT WITH HNF J THIS THIS TEST WILL TIME THE SETTING OF HWNF (OP]) FROM ISSUANCE. 1S DONE BY ISSUING A WRITE TO SECTOR 40. THE TIME OF OP] SHOULD BE AROUND 200 MILLISECONDS. TEST FOUND ERROR UNDER 9 = MULTIPLE SECTOR TRANSFER ON WRITE SEQ 0025 N THIS TEST ONE TEST 10 = THE SECTOR. ABILITY WE FOR THE WRITE 7 2 PAGE 26 FUNCTION TO WRiTE MORE SET UP FOR A TWO SECTOR WRITE. CHEIK DIRECTION OF SEQ 0026 THAN WRITE NPR TR ORY THIS TESY WILL VERIFY THAT THE NPR DIRECTION OF A WRITE FUNCTION IS FROM MEMORY TO THE CONTROLLER. THIS IS DONE BY WRITING A PATTERN IN MEMORY AND ISSUING A WRITE, THEN CHECKING MEMORY TO VERIFY THAT IT DID NOT GET DISTURBED. TEST N = (HECK FULL INCREMENT OF RLBA ey THIS TEST WiLL CHECK THAT THE RLBA CAN INCREMENT OF THE FULL 16 BIT RANGE. THIS IS DONE BY ISSUING A ONE WORD WRITE 10 (HECK EACH BIT TOGGLE FROM 1-0 AND O-1. THIS IS DONE FROM 0 10 177776 REGARDLESS OF MEMORY SIZE. TEST 12 = BA BIT 16 INCREMENT erRTREYR THIS TEST RLBA TEST 1S WiLL 17 7776. 13 = BA BIT CHECK THAT BUS ADDRESS BIT 16 WILL SET WHEN THE AND THAT THE RLBA GOES T0 0. 17 INCREMENT THlS TEST WILL CHECK THAT BUS ADDRESS BIT 17 WILL SET WHEN BIT 16 AND THE RLBA ARE SET. THE RLBA AND BIT 16 ARE CHECKED 10 GO TO ZERD. TEST 14 = READ NPR INTEGRITY THIS TEST WILL VERIFY THAT THE READ FUNCTION WILL NOT CAUSE A BUS TRAP THEREFORE VERIFYING THE NPR LOGIC BEWEEN THE CONTROLLER AND PROCESSOR. TEST 15 = READ FUNCTION THIS TEST WILL VERIFY (ONTROLLER READY THAT THE READ FUNCTION WiilL AND POST NO ERRORS, RESE! '—-P-y_-‘f 3 PAGE TEST 1o = READ FUNCTION INTERRUPT THIS TEST WILL VERIFY THAT THE AN INTERRUPT ON COMPLETION. TEST 27 17 = (HECK DIRECTION OF READ FUNCTION WiLL GENERATE READ NPR teeeReN THIS TION TEST 1S wiLL FROM VERIFY THAT CONTROLLER TO THE THE NPR DIRECTION OF MEMORY. THIS WRITING A PATTERN IN MEMORY AND ISSUING A READ, MEMORY TO VERIFY THAT IT DID NOT GET DISTURBED. TEST 18 = PROPER INCREMENT OF A READ FUNC- IS DONE BY THEN CHECKING RLBA ON READ L2880 A2 THIS TEST WILL VERIFY THAT THE PROPERLY ON A READ FUNCTION. TEST I A2 A 19 = PROPER 8 INCREMENT OF TEST AR AR INCREMENTS RLDA ON READ AR THIS TEST WILL VERIFY THAT THE PROPERLY ON A READ FUNCTION. I A BUS ADDRESS REGISTER 20 = FORCE HEADER NOT DISK ADDRESS REGISTER INCREMENTS FOUND WITH READ 2 THlS TEST WILL FORCE A HEADER NOT FOUND ERROR ON A READ. THE RLDA IS SET UP TO LOOK FOR SECTOR 40, A READ 1S THEN ISSUED. THE HFADER NOT FOUND ERROR SHOULD THEN SET, TEST 21 = FORCE INTERRUPT WITH HNF LAAR AR THIS TEST CONTROL . TEST WiLL 22 = (HECK HEADER FORCE A HEADER NOT COMPARE FOUND ERROR UNDER INTERRUPT LOGIC seeeneY THIS TEST WILL EXTENSIVELY CHECK THE CYLINDER AND HEAD BI1T1S OF THE HEADER WORD TO COMPARE CORRECTLY. THIS IS DONE BY WALKING AND GROWING 0'S AND 1'S THRU THE PROPER RLDA BITS AND ISSUING READ 1O SEE IF ALL BIT POSITIONS CAN COMPARE. SEQ 0027 ———————————— £ TEST 23 = MULTIPLE TEST SECTOR THIS TEST ONE SECTOR. THE 24 - FORCE HNF AT 28 TRANSFER ON READ ABILITY WE 3 PAGE SET FOR THE UP FOR A END OF READ FUNCTION TO WRITE MORE THAN TWO SECTOR READ. TRACK (AR R RR ] THIS TEST WwlLL CHECK THE ABILITY TO DETECT HEADER NOT AT THE END OF A TRACK. THIS DONE BY SETTING UP FOR A SECTOR READ AT TEST 25 = FORCE SECTOR 39. NON-EXISTANT MEMORY FOUND TWO ERROR reRRERERE THIS TEST WILL CHECK THAT THE NON-EXISTANT MEMORY ERROR (NXM) CAN SET. WE WILL ISSUE A READ TO THE MAXIMUM ADDRESS AND ;:?E%TEA)NXH ERROR. (THIS TEST WILL NOT BE DONE ON A 128k HINE. TEST 26 = FORCE NXM UNDER INTERRUPT teevdey THIS TEST WILL ATTEMPT TEST WiLL NOT BE TEST 27 = (HECK DONE READ WRITE LB R 28 = C(HECK OF R R AN INTERRUPT 128K MACHINE.) VIA NXM, (THIS A PATTERN TO SECTOR O AND TRY 10 RECOVER SILO LINES R THIS TEST WILL CHECK PATTERNS VERIFY THAT }XED TOGETHER. .S. TEST FORCE LDOP THIS TEST WILL WRITE IT WITH A WRITE. TEST TO ONA 29 = CHECK THAT WE CAN WRITE AND READ UNIQUE BIT THE LINES ON THE SILO ARE NOT STUCK OR THIS 1S DONE WITH WALKING AND GROWING 0'S AND THROUGHPUT OF THIS TEST WILL ATTEMPT SILO TO (HECK SILO 1S WORKING CORRECTLY., THAT WE WRITE THE FALL THROUGH OF A SECTOR OF THE 128 uNlGUE SEQ 0028 S ——— 9 D PATTERNS AND AND CORRECT. TEST 30 = (HECK READ ]T BACK CHECKING THAT ABILITY OF THE EACH 3 PAGE LOCATION 29 SEQ 0029 IS UNIQUE ZERO FILL ON WRITE fTeeteny THIS TEST WiLL CHECK TwE CONTROLLER TO FILL THE REMAINING SECTOP WITH ZEROS ON A WRITE. WE WRITE A SECTOR WITH FROM 1 TO 127 WORDS, READ 1T BACK AND VERIFY THAT THE NON WRITTEN WORDS ARE ZERO. TEST 31 = (HECK SECTOR BITS ON HEADER COMPARE THIS TEST WILL CHECK THAT THE SECTOR BITS CAN COMPARE CORRECTLY. THIS 15 DONE BY WRITING THE SECTORS ADDRESS INTO THE SECTOR FOR A FULL TRACK. EACH SECTOR IS READ TO VERIFY THE SECTOR HAS THE (O?RE(Y DATA, IF NOT THEN THE SECTOR BITS ARE NOT COMPARING CORRECTLY. TEST 32 = WRITE CHECK NPR INTEGRITY teee R Y THIS TEST WiLL CAUSING A BUS TEST TEST LA A 33 = WRITE 54 CHECK THIS TEST WiTH THE = WRITE C(HECK TRAP, THE TEST IS SET WRITE A WRITE UP CHECK WILL TO HANDLE FUNCTION WlTHOUT BUS TRAPS. FUNCTION WILL CHECK SPECIFIED (HECK THAT THAT TIME WITHOUT FUNCTION INTERRUPT CHECK AN CHECK FUNCTION WILL COMPLETE POSTING ERRORS. ARRS THIS TEST WILL ISSUING A WRITE TEST 35 = PROPER THAT INTERRUPT (AN BE GENERATED FROM C(HECK. INCREMENT OF RLBA ON WRITE C(HECK st THIS WRITE TEST teee TEST 36 = PROPER e WiLL CHECK THAT THE RLBA INCREMENTS (HECK, INCREMENT OF RLDA ON WRITE (MEC(K PROPERLY DURING A -y ;3 PAGE THIS TEST WiLL WRITE C(HECK. TEST 37 = MULTIPLE CHECK THAT SECTOR WRITE THE RLDA INCREMENTS PROPERLY 30 SEQ 0030 DURING A CHECK teeRERY l?li ;E:g WILL TEST 38 - FORCE DCk CHECK ThAT WITH WRITE WE CAN WRITE CHECK MORE THAN ONE SECTOR CHECK tRRERREY THIS TEST (:E%{.( w TEST 39 - WILL E?IS . (HECK., FORCE DCK CHECK THAT WE CAN DETECT A DCK DURING A WRITE IS DONE BY MODIFYING MEMORY BETWEEN A WRITE WITH WRITE CHECK AND A INTERRUPT teeRRR Y THIS TEST WILL CHECK THAT AN INTERRUPT TO OCCUR. TEST 40 = (HECK ZERO FILL A DCK ON WRITE DURING A WRITE WITH WRITE (HECK WILL CAUSE WRITE CHECK ALL CHECK sreRe Y THIS TEST WILL VERIFY WORD COUNTS FROM 1 TEST (AR AL R 41 = 42 = EXTENDED AR AR SR - CHECK THAT WE CAN SUCCESSFULLY 127, OF WRITE CHECK | THESE TESTS VERIFY THAT WE (AN WRITE CHECK SUCCESSFULLY A LL PAT=TERNS. PATTERNS USED ARE WALKING 1'S, 0'S, GROWING 1'S, O° S. THIS (7) TEST RESETS ADDRESS TEST 44 = READ THIS VERIFIES THE 1S SET WwITHOUT TEST (OMPARE HEADER WiLL (7) COMPARE THAT THE FUNCTICN READ WITHOUT HEADER CONTROLLER READY AND POSTS NO ERRORS. TO ALL ONES. HEADER COMPARE VERIFY THAT (AN GENERATE AN THE THE COMPARE DISK INTERRUPT FUNCTION READ WwlTHOUT INTERRUPT ON COMPLETION. HEADER i 43 = READ WITHOUT |(SR TEST e ¥ TEST THIS TEST 46 = (KHECK CHECKS RLBA THIS TEST FUNCTION, TEST 31 45 = (HECK RD W/0 HDR (MP READS THAT THE FUNCTION WE WRITE A PATTERN IN MEMORY OVERLAY 1T WITH DATA, TEST 3 PAGE 47 = (HMECK INCREMENT (HECKS RLDA DOES THAT CAN ACTUALLY (HECK THAT WITH RD W/0 HDR (MP THE AND RLBA (AN THE INCREMENT RECOVER PROPERLY INCREMENT tedee e THIS TEST (HECKS THAT FUNCTION READ WITHOUT THE RLDA HEADER DOES INCREMENT (OMPARE. DATA, FUNCTION CAN WITH THE ON THE SEQ 0031 CZRUHAD RLYT/RLVIT TABLE 1= 1= 1= 1= 1= 1= 2= 2= 2= OF CONTENTS 88 155 282 288 395 643 132 166 228 665 516 572 614 657 700 743 799 CTLR 2 9=FEB=79 19:01:51 GLOBAL DATA LIST TO C(HE(X HEADER COMPARE BUFFER FOR READ/WRITE GLOBAL TEXT GLOBAL ERRORS INITIALIZATION CODE GLOBAL SUBROUTINES ROUTINE TO CHECK SEQ 0032 L0DGIC FOR CONTROLLER ERRORS LOAD RLCS *+TEST 1#+ = WRITE NPR INTEGRETY «+TEST 2¢+ = WRITE FUNCTION **TEST 3ve - WRITE FUNCTION INTERRUPT *+TEST &4*+ *+TEST *¢TEST *+TEST ceTEST 8+« = (HECK OP1 TIME WITH HDR NT FND Qe+ = MULTIPLE SECTOR TRANSFER ON WRITE 10+« - CHECK DIRECTION OF WRITE NPR 11we CHECK FULL RLBA INCREMENT *eTEST 14vwe -~ PROPER INCREMENT OF RLBA ON WRITE *+TEST S+« - PROPER INCREMENT OF RLDA ON WRITE *+TEST €+« = FORCE HEADER NOT FOUND WITH WRITE *¢TEST 7++ - FORCE HEADER NOT FOUND WITH WRITE eeTEST 2o TEST 93 90 MACRO v03.01 eeTEST *+TEST e« TEST s+ TEST *+TEST et TEST e*TEST eeTEST eeTEST **TEST *eTEST exTEST ee TEST ¢+ TEST ¢+ TEST »+TEST e« TEST e TEST *«TEST eeTEST ¢+ 7EST e TEST *¢TEST ¢««TEST #oTEST 122 13¢e 15ee 16+*+ 170« 18er 1Qee 20w« 212 220 230 24++ 25#« 26 270 28Be+ 292 30+ S1ee 3PPee BA BIT BA BIT TEST INTERRUPT 16 INCREMEN? 17 INCREMENT READ NPR INTEGRITY READ FUNCTION - READ FUNCTION INTERRUPT CHECK READ NPR DIRECTION PROPER INCREMENT OF RLBA ON READ PROPER INCREMENT OF RLDA ON READ FORCE HEADER NOT FOUND WITH READ FORCE HEADER NOT FOUND WITH READ INTERRUPT CHECK HEADER COMPARE LOGIC CHECK MULTIPE SECTORS ON READ = FORCE HDR NT FND AT END OF TRACK FORCE NON=-EXISTANT MEMORY ERROR FORCE NON=EXISTANT MEMORY ERROR INTERRUPI CHECK READ WRITE LOOP = (HECK SILO LINES CHECK THROUGHPUT OF SILO CHECK ZERO FILL ON WRITE CHECK SECTOR BITS OF HEADER COMPARE WRITE CHECK NPR INTEGRETY 33+« = WRITE CHECK FUNCTION 340 WRITE CHECK FUNCTION INTERRUPT 3500 PROPER INCREMENT OF RLBA ON WRITE CHECK 36ne PROPER INCREMENT OF RLDA ON WRITE (HECK 37+« = MULTIPLE SECTOR WRITE CHECK 3B++ = FORCE DCK WITH WRITE CHECK 39++ =« FORCE DCK WITH WRITE CHECK INTERRUPT #eTEST 4LQvwe CHECK ZERO FILL ON WRITE WITK WRITE (HECK *eTEST 41oe = EXTENDED CHECK OF WRITE CHMECK FUNCTION *eTEST 42++ = EXTENDED CHECK OF WRITE CHECK FUNCTION *+TEST 43+« = READ WITHOUT HEADER COMPARE FUNCTION eeTEST 44vne READ WITHOUT oo TEST 4Lbere (HECK esTEST e TEST 4500 470e HEADER COMPARE FUNCTION (HECK RD W/0 HDR CMP ACTUALLY READS RLBA INCREMENT (HECK RLDA DOES WITH RD W/0 HDR INCREMENT INTERRUPT (MP WITH RD W/0 MDR (MP 1 DIAGNCSTIC SUPERVISOR == LOw CORE SET UP SEQ 0033 CIRLHAD RLIT/ZRLVYY CTLR 2 1 2 MACRO v03.01 9-FEB=79 p) ¢ MCALL 002000 21 002000 22 23 24 000000 000000 25 002000 26 27 002000 28 29 002000 002000 002001 002002 (02003 002004 002005 002006 002007 002010 002011 002012 002014 002016 002020 002022 002024 00202¢ 002030 002032 002034 002036 002040 002042 002044 002046 002050 002051 002052 00205« 002056 002060 002062 002064 002066 002070 002072 002074 002076 I 1 CTLR 2 SvC .=2009 Sv( SVCINS=0 SVCTAG=0 PCINTER BONSW,BGNSFT,BGNDU BGNMOD 103 132 122 114 110 n00 000 000 101 060 000000 000004 040154 040330 017160 017176 040534 000000 000000 000000 000000 017214 000000 000000 000000 002 002 000060 000060 000000 000000 000000 002114 000000 002112 002112 000000 020322 MDHEDR HEADER LASCII LASCII LASCII LASCII LASCII .BYTE .BYTE .BYTE LASCII LASCII .WCRD .WORD .WORD .WORD .WORD .WCRD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .BYTE .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD (ZRLH,A,0,60,60,4,RLON I1C/ /1/ /R/ "7 /H/ 0 0 0 /A/ /0/ 0 4 LSHARD L$SOFT LOHW LSSW LSLAST OOoOOr oocCco 20 PAGE LTITLE CZRLHAOD RLYT/RLVIT .ENABLE AMA .ENABLE ABS LNLIST ME,CND, MD 2 000000 7 18 19 19:01:51 $DISPAT(H CSREVISION (SEDIT 60 60 0 0 0 LSDVTYP 0 L$DR L$DRST 0 L$DU SEQ 0034 CIRLHAQ RLIT/RLVYIY 002100 002102 002104 002106 MACRO v03.01 CTLR 2 9-FEB=79 19:01:51 PAGE 000014 200000 017352 020226 .WORD .WORD .WORD .WORD 002110 002110 002110 e 3 1-1 SEQ 0035 14 O LSINIT LSCLEAN ENDMOD 000000 122 06! 114 000 002126 002126 J 114 054 060 060 122 100000 040000 002000 000200 000040 000020 020000 000000 000400 001000 001400 000000 000002 000004 000006 000010 000012 000014 000016 000202 000010 000002 000001 000004 000100 000100 000020 000000 000002 000004 000006 000010 000012 0 DEVIYP LASCIZ <RLO1,RLO02> /RLOY,RLOZ2/ 062 BGNMOD 000001 000100 DEVREG .WORD .BLKW .EVEN GLBEQAT EQUALS DRDY=BiT0 INTEN=B]T6 ERR=BIT1S DERR=BIT14 OP1=BIT10 ;DRIVE READY (RLCS) s INTERRUPT ENABLE (RLCS) ;RL11 ERROR (RLCS) sRLO1 DRIVE ERROR (RLCS) ;OPERATION INCOMPLETE (RLCS) NXM=B]T13 DS0=0 DS1=B]T8 sNON=EXISTANT MEMORY (RLCS) ;DRIVE SELECT 0 (RLCS) ;DRIVE SELECT 1 (RLCS) CRDY=BIT17 BA17=B]T5S BA16:=BlT4 ;CONTROLLER READY (RLCS) ;EXTENDED ADDRESS BIT 17 (RLCS) ;EXTENDED ADDRESS BIT 16 (RLCS’ DS2=BIT9 ;DRIVE SELECT 2 (RLCS) NOOPO=0 WRCHK=BITI GSTAT=BIT2 SEEXK=BIT2!BIT1 RDHDR=BIT3 ;FUNCTION=NOOP(0) ;WRITE CHECK FUNCTION sGET STATUS FUNCTION JSEEK FUNCTION sREAD HEADER FUNCTION READ=BIT3!BIT2 :READ DATA FUNCTION DS3=BIT8'!BIT19 WRITE=BIT3!'BIT] RDNHD=BIT3'!'BIT2'BIT1 GODRVR=BIT1!B117 DRST=BIT3 ;DRIVE SELECT 3 (RLCS) ;WRITE DATA FUNCTION sREAD W/0 HEADER VERIFICATION ;CRDY AND DRDY ;DRIVE RESET (RLDA) GSBIT=BIT1 MK=BIT0 sGET STATUS BIT (RLDA) sMARKER BIT (RLDA) RHHS=B]T6 sHEAD SIGN=B]T?2 STHS=B116 DAHS:=B] T4 ;SIGN BIT (RLDA) HEAD SELECT :OFFSET FOR HARDWARE P=-TABLE (SR=0 VECT=?2 PRIOR=4 TYPDR=6 DRB1=10 (NT=12 SELECT JHEAD SELECT IN READ HEADER IN STATUS BACK IN SEEK CZRLHAD RUIT/RLVIY CTLR 2 MACRO v03.01 9-FEB=79 19:01:51 ;OFFSET FOR SOF TWARE BGNMOD ENDMOD GLBDAT PAGE K 3 1-2 SEQ 0036 P-TABLE 000000 000002 000004 000006 000079 000012 002126 000000 T1.DRIVE: .SBTTL GLOBAL DATA 002130 002132 002134 002136 002140 002142 002144 002146 002150 002152 002154 002156 002160 002162 002164 002166 002170 002172 002174 002176 002200 002202 002204 002206 002210 002212 002214 002216 002220 002222 002224 002226 002230 002232 002234 002236 000000 009000 000000 00000 000004 000000 000000 000000 000000 000000 000000 000077 CHECK: .WORD .WORD .WCRD .WORD .WCRD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD 7 002240 8 002242 9 002244 0 002246 1 002250 2 002252 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 177700 000050 000047 000000 177600 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 CDCNT: ERRVEC: DRIVE: uuT: UNITST: TRPFLG: INTFLG: LDCSR: SECMSK: XPOLY: BCCEBK: CALBCC: TMPO: TMP1: TMP2: GDDAT: BDDAT: TEMP2: TEMP3: : TEMP4 FIRST: CYLMSK: MXSECT: MAXSEC: DWORD: MAXCYL: SVHD: LS: .BA: .DA: .MP: L5 .BA: .DA: MP: MP1: MP2: RLCS: RLBA: .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD ~ WHY: .WORD OOOOOOOOOOOENOOOOOOJ\OOOO 120001 T.CRC: mmMmmMmmmMmMmOoO oo WNANUWNRO RO RORU RO RO PO NN N -t it it et et et et = = O O NS W=D O0ONNO WV WMy =000 002126 002126 0001 177700 40. 39. 0 O : INTERRUPT OCCURANCE FLAG ;LOCATION TO FORM RLCS ;MASK OUT SECTOR ;POLYNOMIAL FOR CRC 16 :LOCATION USED BY ''SIMBCC" ;LOCATION USED BY "'SImMBCC" ;LOCATION USED BY ''SIMBCC" :LOCATION USED BY ''SIMBCC" :LOCATICN USED By *'SIMBCC" ;FIRST SECTOR READ sMASK CYLINDER AND HEAD SELECT ;MAX SECTOR ADDRESS +1 :MAX SECTOR ADDRESS ;DIFFERENCE WORD (SEEK) 177600 sMAXIMUM CYLINDER ADDRESS 8 :MP = AT 0 0 0 0 0 0 0 0 :SAVE :(S = :BA ;DA ~ :MP :(S = ;BA = ;DA = CURRENT HEAD SELECT BEFORE OPERATION BEFORE OPERATION BEFORE OPERATION BEFORE OPERATION AT OCCURANCE OF ERROR AT OCCURANCE OF ERROR AT OCCURANCE OF ERROR OCCURANCE OF ERROR 0 0 0 RO — —— CZRLHAD RLYV/RLVYIY GLOBAL DATA 133 002254 CTLR 2 000000 MACRO v03.01 9=FEB=79 19:01:51 RLDA: .WORD PAGE L ‘ 0 000000 000000 000000 138 139 140 1641 002266 002270 002272 002274 000000 0000GJ 000000 000000 FNDFNC: XMEM: TRYFNC: ERFLG: 143 1644 145 146 147 148 149 150 151 152 002300 002302 002304 002306 002310 002312 002314 002316 002320 002322 000233 000620 000240 000000 000000 000000 000000 000000 000000 LOPIMN: .WORD UOPIMX: .WORD UOPIMN: .WORD OPIMN: .WORD OPIMX: .WORD PWRFLG: .WORD T.CNTLR: DERFLG: .WORD ERPOINT: .WORD ERCOUNT: .BLKW 155. 400. 160. 0 0 0 WORD 0 O 64. LSBTTL HDRTAB: LIST TO .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD CHECK WEADER COMPARE LOGIC 0 sWALK 1 BITO BITI BITZ BIT3 BIT4 BITS BIT6 BIT7 BIT8 .WORD .WORD .WORD .WORD .WORD .WORD .WORD LWORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD LWORD BIT10 BITII BITI1? BIT13 BIT14 3 7 17 37 137 337 737 1737 3737 7737 17737 37737 77737 77736 137 002264 142 002276 000000 001212 BPRIOR: LOPIMX: WORD .WwORD .WORD .WORD .WORD _WORD .WORD .WORD .WORD 0 0 O ;CSR FROM P TABLE ;VECTOR FROM P TASBLE O ;BR LEVEVL O O 0 0 650. 0 4 155 156 002522 157 002524 158 002526 159 002530 160 002532 161 002534 162 002536 163 002540 164 002542 165 002544 000000 000001 000002 000004 000010 000020 000040 000100 000200 000400 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 002000 004000 010009 020000 040000 000003 000007 000017 000037 000137 000337 000737 001737 003737 007737 017737 037737 077737 077736 166 002546 186 187 188 189 002550 002552 002554 002556 002560 002562 002564 002566 002570 002572 002574 002576 002600 002602 002604 002606 002610 002612 002614 002616 002620 002622 002624 001000 077734 077730 077720 077700 .WORD LWORD .WORD .WORD LWORD BIT9 77734 77730 77720 77700 g 3 1-3 134 002256 135 002260 136 002262 RLMP: BCSR: BVEC: e ;GROW 1 :GROW 0 FROM P TABLE SEQ 0037 CZRLHAO RLIT/RLVIY LIST CTLR 2 MACRO v03.01 9-FEB-79 19:01:51 PAGE TO CHECK HEADER COMPARE LOGIC 190 002626 191 002630 077600 077400 002642 002644 002646 002650 0600C) 040000 077735 077733 192 193 194 195 196 197 198 199 002632 002634 002636 002640 077000 076000 074000 070000 200 002652 201 002654 202 002656 203 002660 204 002662 205 002664 206 002666 207 002670 208 002672 209 002674 210 002676 211 002700 212 002702 213 002704 214 002706 215 002710 216 002712 217 002714 218 002716 219 002720 220 002722 221 002724 222 002726 223 002730 224 002732 225 002734 077727 077717 077637 077537 (©77337 076737 075737 073737 067737 057737 037737 000000 000000 000001 000002 000004 000010 000020 000040 000106 000200 000400 001000 002000 004000 010000 227 228 229 230 231 23¢ 002740 002742 002744 002746 002750 002752 0406000 100000 000003 000007 000017 000037 244 003002 245 003004 246 003006 177734 177730 177720 226 002736 233 002754 234 002756 235 002760 236 002762 237 002764 238 0027¢6 239 002770 240 002772 241 002774 242 002776 243 003000 .WORD .WORD 020000 000137 000337 000737 001737 003737 007737 017737 037737 077737 177737 177736 .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD HDREND: HTAB: 60000 40000 77735 77733 .WORD .WORD LWORD .WORD LWORD .WORD BIT14 BIT15 3 7 17 37 LWORD LWORD LWORD SEQ 0038 77000 76000 74000 70000 77727 77717 77637 77537 77337 76737 75737 73737 67737 57737 37737 0 O BITO BITI BIT? BIT3 BIT4 BITS BIT6 BIT7 BIT8 BIT9 BITI10 BITII] BIT12 .WORD .WORD .WORD LWORD .WORD LWORD LWORD .WoRD .WORD .WORD WORD 1-4 77600 77400 .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 ns3 ;WK 0 JWALK 1 BIT13 137 337 737 1737 3737 7737 17737 37737 77737 177737 177736 177734 177730 177720 ;GROW 1 ;GROW 0 000001 000010 000100 CO01000 010000 100000 177777 177773 177737 177577 175777 157777 276 003170 003176 003204 277 005210 077777 177760 177600 177000 278 003236 003244 279 003252 000177 001777 017777 003216 003224 003232 170000 000003 000037 000002 000004 el sl NNNNNNNNNNNW wo NNNWUVO NNNNNN~N o NNNNNNWWVO NN~ ~Oo NN N NN N NN = N W wo ;WALK 0 HEND: .WORD DATPAT: .WORD 1,2,4,10,20,40,100,200,400,1000,2000,4000,10000,20000,40000, 100000 000020 000200 002000 020000 000040 (00400 004000 040000 177776 177767 177677 177377 173777 13 177775 177757 .WORD 177777 176777 167777 .WORD 177577 172327 026777 075277 ,\73777,167772,1572772,137777 177770 177700 .WORD 77777 ,177774,177770,177760,177740,177700,177600,177400 174000 140000 000017 .WORD 177000,17¢000,174000,170000,160000,140000,3,7,17,37,77 000777 007777 000000 .WORD V77,377,027 0077 8707 , 7727 00207 ,37277,0 177774 177740 177400 176000 160000 000007 000077 000377 003777 037777 27706 ,070775,177773 177767 ,072:57,177737,1776177 280 281 282 SEQ 0039 D ) e ) el il el D S il 177733 177727 177717 177637 177537 177337 176737 175737 173737 167737 157737 137737 000000 e e e 258 003036 259 003040 260 003042 261 003044 262 003046 263 003050 264 003052 265 003054 266 003056 267 003060 268 003062 269 003064 270 003066 271 272 273 003070 003076 003104 003112 003120 003126 276 003130 003136 0C3144 275 00315C 003156 003166 i e 160000 e e SSL 003026 .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD WUV NNNNNNNNNNO 177700 177600 177400 177000 176000 174000 3 1-5 D ot e e 247 003010 248 003012 249 0C3014 250 003016 251 003020 %2% 003022 N D CZRLHAO RLIT/RLVIT CTLR 2 MACRO v03.01 9-FEB=79 19:01:51 PAGE LIST TO CHECK HEADER COMPARE LOGIC LSBTTL 28% 003260 BUF : B¢ 007260 ENDMOD BUFFER FOR READ/WR]TE BLKW 1024, - — e — — — — — i i e il el et el el il et e (D) (D) B i il i i el i el ) el el el el B el il —_PNUOOONNNOOOOOOOONN = = awvO =000 =t at ONJ =t O = OO N~ = S PO= NNV N ANNVWDVUVININ NN NWNO SN ST OONO ST NIN—= U NOWSNIN el el el ) 123 110 127 110 104 104 104 116 122 123 104 040 101 102 103 101 117 101 111 123 111 040 il el 116 122 122 el 127 122 122 123 123 107 107 122 122 127 127 122 122 103 127 122 il 102 12¢ 103 104 040 040 040 040 040 040 040 015 015 040 106 116 116 127 040 040 072 ol 299 007336 300 007357 301 007400 302 007425 303 007453 304 007469 305 007465 306 007472 307 007500 308 007505 309 007512 310 007517 311 007521 312 007524 313 007532 314 007605 3195 007636 316 007670 317 007730 318 007771 319 010031 320 010072 321 010123 322 010155 323 010214 324 010253 325 010304 326 010335 227 010367 328 010421 329 010455 330 010511 331 010537 332 010560 333 010625 334 011015 335 011054 336 011120 337 011174 338 011251 339 011316 340 011345 341 0114064 342 011436 343 011520 344 011557 345 011617 36 011674 347 011752 116 116 103 040 049 040 — 007260 007260 007276 007307 007314 007322 007330 — 288 289 293 294 295 296 297 298 TEXY MACRO v03.01 -, = m, )= POV O —=O — —_ N NN =NV SN GLOBAL CTLR 2 — CIRLHAG RLVYI/RLYYIT 101 101 120 106 115 176 111 122 130 120 103 116 103 116 000 117 122 117 117 111 111 9=FEB=79 19:01:51 ARLBA: ARLDA: ARLMP: BEREG: AFREG: C(RTIM: DRTIM: DEMES: .ASCIZ .ASCIZ _ASCIZ .ASCIZ .ASCIZ _ASCIZ _ASCIZ .ASCIZ / BA: / 7/ DA: / / MP: / /BEFORE COMMAND: / / /TIME OF ERROR: /CONTROLLER TIMED OuT/ /DRIVE READY TIMED OUT/ / DRv/ NORES: NORDY: ARLCS: NXMMES: 123 .ASCIZ .ASCIZ LASCIZ /NO CONTROLIER/ /NO DRIVE/ /CS: / .ASCIZ /7 NXM/ OPIMES: .ASCIZ HCRCMES:.ASCI1Z HNFMES: .ASCIZ DCKMES: DLIMES: LEs MSCRLF: WRLOCK: 102 103 SEQ 0040 TEXI 111 103 & 1-6 GLOBAL GLBTXT 105 105 126 126 101 101 111 111 101 101 116 B LSBTTL BGNMOD COMP: OPIERR: NOPMES: NOPINT: WCKMES: WCKINT: RHDMES: RHDINT: SEKMES: SEKINT: GSTMES: GSTINT: RDDMES: RDDINT: WRTMES: WRTINT: 101 101 PAGE RDNMES: RDNINT: SKHOME: EMI1: EM100: EM4: EMS: EMé6: EM7: EMI0: EM11: EM12: EM13: EMI14: EM16: EM17: EM20: EMmM21: EM22: .ASCIZ ASCIZ 7 OPl/ / HCRC/ / HNF/ 7 DOCK/ 7 DLV ASCIZ .ASCIZ <15 <15><12> .ASCIZ .ASCIZ /READ HEADER OPERATION-FLAG MODE/ /READ HEADER OPERATION-INTR. MODE/ .ASCIZ .ASCIZ /WRITE OPERATION-FLAG MODE/ /WRITE OPERATION-INTR MODE/ ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ _ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ 7 COMP/ /FORCED OPI(GET STATUS) CAUSED OTHER ERRORS/ /NOOP OPERATION-FLAG MODE/ /NOOP OPERATION=-INTR. MODE/ /WRITE CHECK OPERATION-FLAG MODE/ /WRITE CHECK OPERATION-INTR. MODE/ /SEEK OPERATION-FLAG MODE/ /SEEK OPERATION-INTR. MODE/ /GET STATUS OPERATION-FLAG MODE/ /GET STATUS OPERATION=-INTR MODE/ /READ OPERATION-FLAG MODE/ /READ OPERATION-INTR MODE/ .ASCIZ .ASCIZ .ASCIZ XREAD W/0 HEADER - FLAG MODEX X%READ W/0 HEADER = INTR MODEZX /CAN'T SEEK TO TRACK 0/ LASCIZ .BLkB LASCIZ .ASCIZ JASCIZ JASCIZ JASCIZ JASCIZ JASCIZ LASCIZ / /RLCS CONTAINED FOLLOWING ERROR(S): 120. /NO INTERRUPT ON READ OPERATION/ /READ OPERATION DID NOT WRITE MEMORY/ /RLBA DID NOT INCREMENT PROPERLY DURING REAC/ /SECTOR DIC NOT INCREMENT PROPERLY AFTER READ/ /HEADER NOT FOUND COULD NOT BE FORCED/ /WRONG CYLINDER ON SEEK/ /HEADER NOT FOUND WOULD NOT SET/ /DRIVE READY WOULD NOT SET/ JASCIZ /D1SK ADDRESS (RLDA) .ASCIZ JASCIZ JASC1Z JASCIZ JASCIZ JASCIZ /WRITE LOCK ERROR/ /D1ISK ADDRESS INCORRECT AFTER MULTIPLE SECTGR READ/ /DRIVE ERROR ON WRITE OPERATION/ /NO INTERRUPT ON WRITE OPERATION/ /RLBA DID NOT INCREMENT PROPERLY DURING WRITE/ /SECTOR DID NOT INCREMENT PROPERLY AFTER WRITE/ INCORRECT AFTER MULTIPLE SECTOR WRITE/ CZRLHAOD RLYT/RLVIT GLOBAL TEXT CTLR 2 MACRO v03.01 9-FEB-79 19:01:51 PAGE C & 1-7 : 348 012044 349 012124 gg? 012202 110 116 104 104 117 101 122 116 126 EM23: EM24: EM2S: .ASCIZ LASCIZ .ASCIZ /HDR NOT FND COULD NOT BE FORCED AT END OF TRA(K/ /NON=-EXISTANT MEMORY ERROR COULD NOT BE FORCED/ %DATA COMPARISON ERROR = READ/WRITE ERRORZ 352 012253 353 012313 354 012373 355 012433 356 012476 357 012543 358 012604 359 012647 360 012714 361 012755 362 013020 363 013062 364 013131 365 013175 366 013232 367 013264 368 013313 369 013353 370 013405 371 013436 272 013516 373 013606 374 033664 375 013705 376 013745 377 014003 378 014060 379 014135 380 014237 381 014373 382 014354 127 105 1c2 102 102 122 102 102 122 122 122 122 116 116 105 123 110 127 122 122 122 122 117 127 127 122 122 122 127 103 103 122 122 114 101 101 114 101 101 114 105 105 105 117 117 122 11 105 122 105 105 114 114 120 122 122 114 114 114 122 101 101 111 122 102 040 040 102 0640 040 102 101 101 101 040 040 122 116 101 111 101 101 102 104 111 111 111 102 106 106 111 116 116 EM26: EM27: EM30: EM31: EM32: EM33: EM34: EM35: EM36: EM4O: EM4Y: EM42: EM43: EM4S4: EM4S: EM4G7: EMSO0: EMS1: EMS2: EMSS: EMS3: EMS4: EMS6: EMS7: EM60: EM61: EM62: EM63: EM64: EM6S: EMé66: LASCIZ .ASCIZ LASCIZ LASCIZ LASCIZ .ASCIZ LASCIZ .ASCIZ LASCIZ .ASCIZ LASCIZ .ASCIZ LASCIZ LASCIZ .ASCIZ LASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ LASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ LASCIZ LASCIZ LASCIZ LASCIZ /WRITE OP:ERATION MODIFIED MEMORY/ /ERROR ON PARTIAL SECTOR WRITE = ZERO FILL CHECK/ /RLBA DID NOT INCREMENT PROPERLY/ /BA BIT 16 DID NOT SET ON INCREMENT/ /BA BIT 17 SET ON BA16 INCREMENT TEST/ /RLBA DID NOT INCREMENT WITH BAl6/ /BA BIT 17 DID NOT SET ON INCREMENT/ /BA BIT 16 DID NOT CLEAR ON INCREMENT/ /RLBA DID NOT INCREMENT WITH BA17/ /READ(FUNCTION 7) DID NOT INTERRUPT/ /READ(FUNCTION 7) ERROR = 3AD DATA/ /READ(FUNCTION 7) ERROR AT END OF TRACK/ /NO INTERRUPT WITH HDR NT FND FORCED/ /NO INTERRUPT WITH NXM FORCED/ ZXERROR ON BIT BANG OF SILO% /SIiLO OPERATION FAILURE/ /HEADER COMPARE FAILURE = SECTOR/ /WRITE NPR CAUSED BUS TRAP/ /READ NPR CAUSED BUS TRAP/ 7?READ W/0 HDR CMP OPERATION DID NOT WRITE MEMORY? 7?RLBA DID NOT INCREMENT PROPERLY DURING READ W/0 HDR (MP? 7RLDA DID NOT INCREMENT AFTER READ W/0 HDR (MP? /OP1 TIMING ERROR/ /WRITE CHECK NPR CAUSED BUS TRAP/ /WRITE CHECK DID NOT INTERRUPT/ /RLBA DID NOT INCREMENT PROPERLY DURING WRCHK/ /RLDA DID NOT INCREMENT PROPERLY DURING WRCHK/ /RLDA DID NOT INCREMENT PROPERLY AFTER A MULTIPLE SECTOR WRITE /WRITE CHECK OF PARTIAL SECTOR WRITE FAILURE/ /CAN NOT FORCE DCK ON WRITE CHECK/ /CAN NOT FORCE INTERRUPT WITH DCK ON WRCHK/ 223 01442¢ 127 122 111 EM70: LASCIZ /WRITE 38¢ 386 387 %g; 014452 .EVEN igs 014452 BGNMOD GLBERR LSBTTL BGNMSG GLOBAL ERRORS ERRO CHECK FAILURE/ ENDMOD & 395 gg? 014452 308 014452 399 014456 004737 004737 015464 015520 JSR JSR PC,LINE] PC,LINE2 40% 014462 40 604 014466 004537 020344 JSR RS,CKERLT 014466 104023 01 4 01446¢ 405 L10000: ENDMSG EMT ($MSG ;INCREMENT ERROR AND (MECK LIMIT CHK/ SEQ 00641 CIRULHAD RLIT/RLVIY GLOBAL ERRCRS :06 014470 07 aog 0164470 40 410 611 014474 612 613 014500 014500 014500 614 615 014502 416 617 014502 418 014506 014506 014512 014516 014522 014526 014530 014532 CTLR 2 MACRO v03.01 9-FEB=79 19:01:51 PAGE BGNMSG ERR1T 004737 015464 JSR PC.LINET 004537 020344 JSK RS, CKERLY L10001: 104023 BGNMSG 004737 015464 013746 013746 012746 012746 010600 002176 002174 016141 000003 104014 EMT ($MSG ERR? JSR PRINTB MOV MOV MOV MOV MOV EMT PC,LINET #FRMT4 ,GDDAT ,BDDAT BDDAT,=(SP) GDDAT, - (SP) #ERMTL ,=(SP) #3,-(SP) SP,RO ($PNTB 000010 ADD #10,sP 004537 020344 JSR RS, CKERLT 014542 104023 L10002: 014544 014544 014550 014554 014554 014560 014564 014570 014574 014600 014602 014604 430 431 632 014610 437 434 C14614 014614 014614 435 4% 014616 37 438 014616 439 014622 440 014626 014626 BGNMSG 004737 004737 015464 015520 004537 EMT ($MSG ERR3 FRINTB MOV MOV MOv MOV MOV MOv EMT PC,LINE] PC,LINE2 #FRMTS5,TMPO,BDDAT,GDDAT GDDAT,=(SP) BDDAT,=(SP) TMPO,=(SP) HERMTS,-(SP) ¥4 ,-(SP) SP,RO ($PNTB 000012 ADD #12,5P 020344 JSR RS,CKERLT L10003: 104023 BGNMSG 004737 004737 015464 015520 013746 002176 ; INCREMENT ERROR AND CHECK LIMIT ENDMSG JSR JSR 002174 002176 002166 016177 000004 s INCREMENT ERROR AND CHECK LIMIT ENDMSG 062706 424 425 426 627 428 429 & 1-8 SEQ 0042 419 420 621 014536 622 623 014542 014542 D ENDMSG EMT ($MSG ERR4 JSR JOR PRINTB MOV PC,LINE] PC,LINE? #FRMT4 ,GDDAT ,BDDAT BDDAT,=(SP) ; INCREMENT ERROR AND C(HECK LIMIT CIZRLHAD RLIT/RLYIY GLOBAL ERRCRS 014632 CTLR 2 013746 014636 014642 014646 014650 014652 012746 012746 010600 104014 062706 443 014656 004537 aa; 44 444 002174 : 446 e 014706 014710 020344 JSR RS, CKERLT L10004: 004737 01546 013746 012746 012746 010600 020656 016134 000002 ;INCREMENT ERROR AND CHECK L IM]T CSM3G ERRS JSR PRINTB MOV MOV MOV MOV EMT ADD 000006 ~ ENDMSG EMT BGNMSG & 1-9 GDDAT,={SP) 000010 104023 104014 062706 E NERMTG,=(SP) #3,-(SP) SP,RO ($PNTB #10,5P 44 014670 014674 014700 014704 PAGE MOV MOV MOV EMT ADD 44; 014664 449 014664 450 014670 MOV 016141 0000603 445 014662 014662 014662 MACRO v03.01 9=FEB=79 19:01:51 PC,LINET #FRHT3,RESTMS RESTMS,=(SP) BERMT3, =(SP) #2,-(SP) SP,RO (SPNTB #6,SP 4 ’ 425 014714 004537 020344 JSR 454 455 014720 . 456 014720 014720 L10005: 104023 l.gg 014722 l. BGNMSG 2 RS,CKERLT EMT C($MSG ERR6 004737 015464 JSR PC,LINET el 004737 015520 JSR PC,LINEZ PRINTB #FRMT99 006732 004737 462 463 464 014736 0164736 014742 014746 014750 014752 465 01464756 012746 012746 010600 104014 062706 004537 015742 JSR 01707¢ 000001 MOV MOV MOV EMT ADD 000004 020344 JSR Lot 467 014762 014762 0164762 468 469 014764 470 L10006: 104023 BGNMSG ERROR AND (HECK (iM]T ENDMSG 659 014722 «60 01472¢ ;INCREMENT PC,LINES #FRM199,-(SP) #1,-(SP) SP,RO ($PNTB #,,SP RS,CKERLT % s INCREMENT ERROR AND (WE(K [ [M]T SINCREMENT ERROR AND (MDY ENDMSG EMT ($MSG ERR7 o7 47?2 47% 014764 474 006537 02034 JSR RS, (KERLT (wbx SEQ 0043 ) GLOBAL ERRORS CTLR 2 475 014770 014770 014770 474 477 478 479 014772 480 481 014772 482 483 MACRO v03.01 9-FEB=79 BGNMSG 004737 004737 015464 015520 489 490 691 49?2 493 494 495 015042 015042 496 497 015102 498 499 015106 015106 015106 — S NWNONUN) —» — RO OONrO el s — el el e s — el el — . el OOoOO0DOLOOO AN NN N NN 500 501 015110 502 503 504 50% 004737 010246 013746 012746 012746 010600 PC,LINET PC,LINE? #FRMTE, TMP1 ,GDDAT,BDDAT BDDAT,=(SP) GDDAT,=(SP) TMP1,-(SP) #FRMTG,-(SP) #4,-(SP) 000012 ADD #12,SP 020344 JSR RS, CKERLT EMT L1C010: BGNMSG 004737 t RR8 SP,RO 106403 015464 015520 ($PNTB EMT PC,LINET PC,LINE2 #FRMT4, TMPO,R? R2,=(SP) TMPO, = (SP) #FRMTG,=(SP) 104014 062706 000010 ADD EMT 004537 020344 JSR RS,CKERLT 004737 004737 015464 013746 013746 013746 012746 012746 002176 002174 002170 016325 000004 015520 LIM]T ($MSG #3,-(SP) SP,RO ($PNTB BONMSG ERROR AND (HMECK ERRS PRINTB mOv MOV MOV MOV MOV L10011: ; INCREMENT ENDMSG JSR JSR 002166 016141 000003 104023 & 1-10 ($MSG MOV 015044 015044 015050 015054 015054 015056 015062 01506¢ 015072 015074 015076 Emt PRINTB MOV MOV MOV MOV MOV 002176 002174 002170 004537 F ENDMSG JSR JSR 016250 000004 48B4 485 486 487 LBB 015042 PAGE SEQ 0044 L10007: 104023 19:01:51 #10,SP ENDMSG EMT ($MSG ERR10D JSR JSR PRINTB MOV MOV MOV MOV MOV PC,LINE! PC,LINE? #FRMT7,TMP1,GDDAT ,BDDA! =(SP) BDDAT, GDDAT,=(SP) TMP1,=(SP) #FRMT7,=(SP) #6,=(5P) JINCREMENT ERROR AND (HMECK LIM]T R— CIRLMAD RLIV/RLVYIY 015144 015146 015150 506 507 508 015154 il e D [ RV I L RO N il — [V R RV LW LV IV ] 510 015160 015160 015160 CTLR 2 MACRO v03.01 9-FEB=79 010600 104014 MOv 062706 0000612 004537 020344 L10012: 106023 BGNMSG 015232 015232 015232 015302 015306 015306 015306 ADD JSk RS,C(KERLT EMT 062706 000012 ADD #12,SP 004537 020344 JSR RS, CKERLT MOV MCv MOV EMT BGNMSG BDDAT,=(SP) GDDAT,=(SP) TMP0,=(SP) #FRMIB,-(SP) #s ,-(SP) SP,RO ($PNTB EMT 002176 002174 0C0014 ADD #14,5P 004537 020344 JSR RS,C(KERLT 004737 015404 LIMIT sINCREMENT ERROR AND (mWECw ( [M]T ERR1? JSR JSR PRINTB MOV MOV MOV MOv MOV MOV MOV EMT BGNMSG ERROR AND C(HECK ($MSG 01 3746 01 3746 01 0346 01 3746 01 2746 01 2746 01 0600 10 4014 0 62706 106023 s INCREMENT ENDMSG 015464 015520 L10014: :INCREMENT FRROR AND (HMECK LIM]IT PC,LINE] PC,LINE? #FERMT8,TMPO,GDDAT ,BDDAT 004737 004737 002170 016520 000005 SEQ 0045 ($MSG 002176 002174 002166 016377 000004 104023 & 1=11 ERR1I JSR JSR PRINTB MOV MOv MOV L10013: G ENDMSG 013746 013746 013746 012746 012746 010600 015310 015310 EMT 015664 015520 015234 015234 015240 PAGE 004737 004737 1064014 015226 19:01:51 w» oWV - o O Y O N —-O oTM CIRUMAD RLIT/RLVIY GLOBAL ERROCRS PC,LINET PC,LINEZ #FRMT9,TMP1,R3,GLDAT ,BDDAT BDDAT,=(SP) GDDAT ,=(SP) R3,-(SP? TMP1,-(SP) #FRMT9,=(SP) #5,-(SP) SP,RO ($PNTB ENDMSG EMT ($MSO ERR13 JSR PCLLINEY CIRLHAD RLUIV/RLVIT GLOBAL ERRCRS elelelelelols -] 537 015314 1 5314 1 5320 1 5326 1 5330 1 5334 1 5340 1 5342 1 5344 538 539 540 015350 541 562 015354 015354 01535¢ 543 544 CTLR 2 545 546 548 MACRO v03.01 9-FEB=79 19:01:51 PRINTB MOV MOV MOV MOV MOV MOV 002176 002310 002306 016627 000004 EMT 015436 015442 015446 015450 015452 560 015456 561 562 015462 015462 015462 563 564 015464 015464 015466 SP,RO ($PNTB 020344 JSR RS,CKERLT BGNMSG 004737 004737 015464 015520 012746 013746 012746 012746 010600 EMT MOV MOV MOV MOV MOV #BUF ,=(SP) 062706 000010 ADD #10,SP 004537 020344 JSR RS, C(KERL! 004737 004737 015464 015520 010246 012746 012746 010600 017131 000002 062706 004537 000006 020344 104014 EMT 104023 005046 153716 #3,-(SF) SP,RO (SPNTB ENDMSG EMT ($MSG ERR1S MOV MOv MOV MOV EMT ADD JSR LINET: 002143 TMP1,-(SP) #ERMT14 ,-(SP) JSR JSR PRINTB 110017: LIM]T ERR14 003260 002170 016447 000003 BGNMSG ERROR AND CHECK ($MSG PC,LINET PC,LINE? FERMT14,TMP1, #BUF 104023 s INCREMENT ENDMSG JSR JSR PRINTB L10016: SEQ 0C4b OPIMN,-(SP) #ERMTIC,-(SP) ¥4 ,-(SP) #12,SP 104023 & 1-12 #FRMT10,0PIMN,OPIMX ,BDDAT ADD L10D15: H BDDAT,=(SP) OPIMX,=(SP) 000012 104014 549 550 551 015416 552 553 015422 015422 015422 5S4 555 015424 556 557 015424 558 015430 559 015434 015434 PAGE #2,-(5P) SP,RO ($PNTB #6,SP RS,CKERLT ENDMSG EMT ($MSG PRINTB FERMTY RLCS,<B,DRIVE+1> (LR 8158 =(SP) DRIVE+1,(SP) s INCREMENT FRROR AND (HECK LIM]T CIRLHAD RLTT/ZRLVYIY GLOBAL ERRORS CTLR 2 9=FEB=79 19:01:51 002250 MOV MOV MOv MOv 0'6014 000C03 s s s micliei=llolelalalolololelolololelolololeloleloleoleoleol= BN elelel=L=] 015472 015476 MACRO v03.01 O—-0O00O0ODOOO — [0 J oo T R T o Lo LINEZ2: o » ~ 000016 ADD PRINTB 002232 007330 002230 007322 016072 000005 MCv MOV MOV MOV MOV MOV MOv EMT 000014 600 014 &S~ o ron 4«0 PRINTB MOv MOV MOV MOv MOV MOV MOV MOV EMT ADD PRINTB 002236 007314 002234 007307 007357 016053 000026 MOv MOV MOV MOV MOV MOV 000016 ADD MOV MOV EMT PRINTB MOv MOV 002246 002244 002242 MOV MOV 007330 002240 007322 016105 000007 MOV MOV MOV MOV MOV w OO0OO0O0O0O0OO00 ADD RTS ~N ABDNWNDN N NN NNNNNNNSNSN WA NN OO ODOOCCOOOO e e e e e e e s s OO0 WY —- NN~ 570 ool W RN 002226 007314 002224 007307 007336 016053 000006 o O—0O OO0OO0O0O0O0 [ @ N« TN — ~ O—=00000O000 569 o 568 W W 567 i — 565 566 EMT 000010 EMI 000020 010560 016134 ADD RTS LINES: PRINTB MOV MOV PAGE I & 1-13 RLCS,=(SP) FERMTT,=(SP) #3,-(SP) SP,RO ($PNTB #10,SP PC #FRMT2 #BEREG,#ARLCS,B.CS,#ARLBA,B.BA B.BA,-(SP) #ARLBA,-(SP) B.(S,-(SP) #ARLCS,=(SP) #BEREG,=(SP) #ERMTZ2 ,=(SP) #6,-(SP) SP,RO ($PNTB #16,SP FFRMT2A ,#ARLDA,B.DA,#ARLMP ,B.MP B.MP,=(SP) #ARLMP,=(SP) B.DA,-(SP) #ARLDA,=(SP) #FRMT2A,-{SP) #5,-(SF) SP,RO ($SPNTB #14,SP #FRMT2 ,WAFREG,#ARLCS,E.CS,#ARLBA,E.RA E.BA,-(SP) #ARLBA,=(SP) E.CS,=(SP) #ARLCS,=(SP) #AFREG,=(SP) #FRMT2,=(SP) #6,-(5P) SP.RO ($PNTB #16,SP #FRMT2B,#ARLDA,E.DA,#ARLMP E . MP E .MP . MP? E.MP2,-(SP) E.MP1,=(SP) E.MP,=(SP) SARLMP,={SP) E.DA,=(SP} #ARLDA,=(SP) #FERMT2B,=(SP) #7,-(SP) SP,RO ($PN1B #20,5P PC FERMTS, WEM) #EMY, = (SP) #ERMT S, =(SP) SEQ 0047 CIRLHAD RLYT/ZRLVYIY GLOBAL ERRCRS 574 MACRO v03.01 CTLR 2 012746 010600 104014 062706 9-FEB=79 19:01:51 PAGE J & 1-14 SEG 0048 000002 010625 016134 000002 S's AP eS S il e Sl e e o o S vl e e o o o glle e — = TM Bl s Lo P L = | ADD PRINTB MOV MOV MOV MOV #6,SP EMT ADD R1S 000006 TM #2,-(SP) MOV EMY 000006 e MOv 103 045 045 045 045 045 045 045 045 045 045 045 045 115 045 104 000 045 045 FRMT1: FRMT2: FRMT2A: FRMT2B: FRMT3: FRMTG&: FRMTS: FRMT6: FRMT7: FRMT8: FRMT14: FRMT9: FRMT10: FRMT11: FRMT98: FRM199: FRMT13: FRMT15: _ASCl1Z ASCIZ .ASCIZ .ASCIZ _ASCIZ LASCIZ L.ASCIZ LASCIZ LASCIZ .ASCIZ _ASCIZ _ASCIZ .ASCII LASCI2 _ASCIZ .ASCI1I _ASCIZ _ASCIZ _ASCIZ SP,RO C$PNTB #ERMT3, #EM100 #EM100,-(SP) #ERMT3,-(SP) #2,-(SP) SP,RO C$SPNT1B #6,5P PC /RACONTROLLER: X06X%A DRIVE: %01/ /ANXIRTRO6XTRO6/ /RTR06XT206/ /RTR06XTX06%A X06%A %06/ /AINRT/ /ANZAEXP'D: X06%A REC'D: X06IN/ /ANZALAST: X06XA PRES: X06%A EXP'D: X063IN/ /ANXABUS ADR: XO06%A EXP'D: X06X%A REC'D: XO6IN/ /ANXAWORD: XD3XA EXP'D: X06%A REC'D: X06XIN/ /ANXADA: R06%A REC'D: X06X%A EXP'D: X06IN/ /ANXAWORCS WRITTEN: XD3XA BUS ADDR: X06IN/ /ANXAWORDS WRITTEN: XD3XA BUS ADDR: X06XA EXP'D: X06%A REC'D: /ANXARANGE ZD3%A - ZD3XA MILLISECONDS WAS XD6IN/ /XAMAXIMUM TIMEOUT OF PROGRAM 1S 3 SECONDSXEN/ /ANXAERROR LIMIT EXCEEDED - DROPPEDXAN/ /:ADRIVE DID NOT RECOVER FROM POWER FAILURE/ 063N/ /AN/ /ANRTRA = WILL NOT TESTIN/ /ANXAPATTERN WAS: 206/ .EVEN BGNMOD BONHW 176400 F 620 621 017174 622 623 017174 6l4 Rssosans L10020=L$Hw/2 174400 160 240 (SR sVECTOR sPRIOR]ITY 1 JTYPE OF DRIVE RLOV OR RLOZ 1 sRUIY=Y 0 ;DRIVE (BIT1S 8,9.10) RLVII=0 ENDHW L10020: ENDMOD BGNMOD SPTLODE em— 617 618 000160 000240 000001 000000 000001 .WORD .WORD .WORD .WORD .WORD .WORD .WORD Sorem— 000006 ENDMOD HPTCODE CIZRLHAO RLTT/RLVIY GLOBAL. ERRCRS CTLR 2 625 017174 = 017174 000006 627 628 629 630 631 gg% 000000 000012 000000 0000GJ 000000 000001 017176 017200 017202 017204 017206 17210 MACRO v03.01 9-FEB=79 19:01:51 PAGE BGNSW DROP: MERLMT: T.SIZE: T.DMP: T.LMT: T.ANS: 636 017212 017212 635 g%? 017212 ENDSW L10021: ggg 017212 BGNMOD 640 017212 017212 017214 017216 017220 017222 017224 017226 017230 017232 017234 017236 017240 017242 017244 017246 017250 017252 017254 017256 017260 017262 017264 017266 017270 017272 017274 017276 017300 017302 017304 017306 017310 017312 017314 017316 017320 017322 0173264 017%26 DISPAT(H K & 1-15 LWORD L10021~-L8Sw/? .WORD .WORD .WO&D _WORD _WORD .WORD 0 10. 0 O O 1 ' SEQ 0049 ENDMOD 000057 022050 022320 022464 022614 022750 023102 023240 023436 023740 024130 024326 024500 024676 025076 025246 025350 025474 025670 026024 026156 026276 026456 027270 027464 027630 027744 030122 030522 031144 031572 032252 032704 033314 033546 034036 034332 034624 035216 DSPCODE .WORD LWORD .WORD .WORD .WORD .WORD .WORD .WCRD .WORD .WORD LWORD LWORD LWORD .WORD LWORD .WORD .WORD LWORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD LWORD .WORD LWORD LWORD LWORD .WORD LWORD LWORD LWORD 47 &7 T1 T2 T3 T4 15 16 17 T8 19 T10 T11 T12 T13 T14 T15 T16 T17 T18 119 120 T21 122 123 124 125 126 127 128 T29 T30 131 132 133 134 T35 136 137 138 e ————————— —— e e b CIRLHAD RLTT/RLVIT GLOBAL ERROR3S 017330 017332 017334 017336 017340 017 42 017344 017346 017350 641 017352 CTLR 2 MACRO v03.01 9-FEB=79 19:01:51 PAGE 035516 036056 036370 036714 037240 037330 037462 037660 040016 .WORD .WORD .WORD .WORD .WORD LWORD .WORD WORD .WORD ENDMOD 642 LSBTTL INITIALIZATION CODE 222 017352 BGNMOD INITCODE BGNINIT 648 649 017352 017352 .0 017356 6 651 017360 652 653 656 655 017360 017364 017366 017366 017370 017376 017400 017400 017404 656 017406 0176406 657 017410 0176410 017416 & 1-16 139 T40 T41 T42 T43 T44 145 T&6 147 gzz 647 017352 L 012700 104041 000340 012700 104050 000034 103004 013737 000475 012700 104050 002012 000037 103404 012700 104050 000040 002312 NOPWR: SETPRI MOV EMT #PRIO7 #PRIO7,RO ($SPRI READEF #EF .PWR MOV WEF .PWR,RO EMT CSREFG BNCOMPLETE NOPWR BCC NOPWR MOv LSUNIT,PWRFLG BR CONT READEF WEF.RESTART MOv #EF .RESTART,RO EMT CSREFG BCOMFLETE STARTI BCS STARTI READEr WEF.START MOV WEF .START,RO EMT (SREFG SEQ 0050 CIRLMAD RLIT/RLVIY CTLR 2 INITIALIZATION (ODE 1 017416 > 017416 103010 3 017420 012700 012701 005020 0053C1 001375 000407 4 017424 5 017430 6 017432 7 017434 g 017436 10 017440 017440 017444 L MACRO v03.01 9-FEB=79 19:01:51 PAGE 2 BNCOMPLETE CONTINUET BCC CONTINUET 0023¢2 000100 START: MOV 1$: 11 017446 12 13 14 15 002144 177777 002012 002320 }g 017472 18 017500 19 017504 20 017512 21 017516 017516 017522 22 017524 017524 23 017526 24 017532 25 017534 26 017540 27 017542 28 017546 2 013700 1046042 103406 005737 001746 005337 000743 012037 012037 002146 002144 002320 002320 EMT CSREFG BCOMPLETE BCS CONT 181 uuT BNE XXX CONT START: MOv MOV MoV XXX: UNITST INC ADD #2 ,ERPOINT DEC uut GPHARD UNITST,RO MOV JNITST, RO EMT {$SGPHRD BCOMPLETE 2% REST: BCS 002312 #-1,UNITST LSUNIT, uuT #ERCOUNT=2 ,ERPOINT ;DONE WITH ALL UNITS :NO % ;GET BUS ADDRESS ;GET VECTOR 002264 002126 MOV MOV (RO)+ ,BPRIOR (RO)+,T.DRIVE :GET PRIORITY <GET TYPE OF DRIVE 017562 017566 002142 002314 MOv MOV (RO)+ ,DRIVE (RO)+,T.CNTLR ;GET DRIVE sGET CONTROLLER TYPE 017572 017576 002260 002250 000002 002252 000002 002254 000002 002256 MOV MOV ADD MOV ADD MOV ;CREATE REGISTERS ADD MOV BCSR,RO RO,RLCS #2,R0 RO,RLBA #2,R0 RO,RLDA #2,R0 RO,RLMP 1871 PWRFLG 181 1.S1ZE (LR TRPFLG ERRVEC,#TRPHAN,#340 017556 012037 012037 38 017602 017612 017616 017622 017626 062700 010037 45 017632 46 017636 47 017640 4«8 017644 49 017646 005737 001064 005737 001461 005037 44 NXT: READEF WEF .CONTINUE #EF .CONTINUE ,RO PWRFLG NXT PWRFLG NXT (RO)+,BCSR (RO)+,BVEC 39 017606 40 41 &2 43 002146 CLR DEC BNE BR #ERCOUNT,RO #64. R1 (RO)+ R1 1% START 18T BEQ DEC BR MOv MOv 20 017552 31 32 33 34 35 36 37 002146 000002 002144 MOv CONTINUE: MOV 000036 017446 017450 017454 017456 017464 SEQ 0051 50 0176%2 002312 002260 002262 002312 017202 002150 2%: CONT: BNE BEQ SETVEC 5% 5% :38 WE WANT TO CHECK UNITS?? *CLEAR OUT TRAP INDICATOR “SETUP TO CATCH TIMEOUT CZRLKAD RLIV/RLVIY CTLR 2 INITIALIZATION C ODE 012746 012746 013746 012746 000340 021566 002140 00C003 MOV MOv MOV MOv 062706 005777 000010 162344 ADD 181 013700 002140 MOV 005737 001404 002150 104037 012777 000200 002142 000001 162312 162304 007276 002134 ~ 002134 7%: 162276 02003¢ 020042 72 020044 73 020052 74 020054 75 020056 76 77 020060 020060 020064 020070 020072 020074 78 020100 020100 020104 020110 020112 020114 79 020120 80 020124 020124 012701 012700 000012 000001 #200,aRLCS DRIVE ,a3RLCS #1,3RLCS BIS BNE ADD 3%: WAL TMS MOV EMT 162176 BIT BNE 600 017 PRINTF MOV MOv MOV 017075 000001 EMT 000004 ADD PRINTF MOV MOv MOV 017023 000001 000004 015464 002140 EMT o8 #ERMT13,-(SP) #2,-(SP) SP,RO CSPNTB #6,5P PWRFLG END #200,3RLCS DRIVE,aRLCS #60. ,R1 MOv ADD JSR DODU MOV :NOW CHECK DRIVE #ERMT13 WHY WHY ,=(SP) TST BEG MOV ;:DID TRAP OCLUR?? :NO, CHECK DRIVE 5% 6% BIS ;ACCESS CONTROLLER #NORDY ,WHY BR DEC BNE gs222 71 020036 000200 002142 000074 oo Nr 68 020016 09 020024 70 020032 MOV MOv PRINTB MOV 5%: #NORES ,WHY 8% MOV MOV MOV EMT 002312 TRPFLG BR BIT 000006 66 020010 67 020014 7% MOV 002134 017100 000002 gg 020006 BEQ 187 007260 #340,-(SP) EMT CLRVEC SEQ 0052 #TRPHAN,=(SP) ERRVEC,=(SP) #3,-(SP) CSSVEC #10,SP aRLCS ERRVEC ERRVEC,RO CSCVEC EMT 012737 000415 & E ~ 104036 s et N & MACRO v03.01 9-FEB=79 19:01:51 PAGE 2-1 #10.,R0 (SWTM #1,aRLCS END R1 3% #FRMT99 #FRMT199,=(SP) #1,-(SP) SP.RO COPNTF 86 ,S5P #FRMT198 #FRMT98,-(5P) #1,-(SP) SP.RO CSPNTF 86,59 PC,LINEY UNITST UN]TST, RO sPOWER UP ;NO FOR READY —— L c— — CIRLMAD RLTT/ZRIVIY INITIALIZATION CODE 020130 81 0201%2 020132 B¢ 02013« 84 85 86 87 88 89 92 CTLR 2 MACRO vO03.01 DOCLN EMml 020140 020146 020156 020160 020162 020170 013737 013757 005737 002304 002302 002314 002306 002310 002300 002276 002306 002310 020176 020202 020206 020212 0 12746 - 000340 0 12746 020326 0 13746 002262 0 12746 000003 1 04037 0 62706 000010 001006 013737 013737 19:01:51 gEm7 017450 020216 020220 9=FEB=79 104053 104044 000137 90 020176 91 020176 END: PAGE B 5 2-2 SEQ 0053 ($00DU ($DCLN JMp NXT Muv MOV UOPIEN,OPIMN UOPIMx , 0P | Mx BNE 1% 151 s - T.ONTLR sm i sYES. THEN KEEP (L IMITS MOV MOV LOPIMN,OPIMN LOPIMX,OP[MX SETVEC MOV BVEC,#INTSRv,#340 #340,-(SP) MOV MOV BINTSRY,=(SP) BVEC,=(SP) ADD #10,SP MOV EMT #3,-(5P) ($SVEC 93 94 95 020224 020224 020224 96 97 0202¢6 98 99 020226 100 101 020226 102 103 104 020276 020226 020232 020236 020242 020246 020250 105 020254 s S Nt - ~NO WTM e e et — il — — s e — — 106 C20262 107 108 020264 109 110 020272 — - 020272 020276 020300 020304 020306 020312 020312 020316 L10022: 104011 ENDINIT EMT ($INIT ENDMOD BGNMOD (LNCODE BGNCLN 0 ¢ 0 0 000340 021566 002140 000003 062706 000010 000200 161766 042777 000100 161756 013700 005737 001402 005337 002312 013700 002140 104036 104036 SETVEC ERRVEC,#TRPHAN, #340 MOV MOV #TRPHAN,=(SP) ERRVEC,=(SP) MOV 1%: #340,-(SP) MOV EMT #3,-(SP) CSSVEC BIT BEQ #CRDY,aRLCS 1% ADD #10,SP BIC #INTEN,QRLCS 002262 CLRVEC MOV BVEC BVEC,RO 002312 1S1 PWRFLG EMT P ¥ ($CVEC BEQ 2% MOV ERRVEC RO DEC CLRVEC EMT PWRILG ERRVEC ($CVEC SET CIRLHAD RLTIT/RLVIY CTLR 2 INITIALIZATION CODE MACRO v03.01 118 020320 020320 o 020320 9-FEB=/9 19:01:51 110023: 104012 EMT ENDMOD }gi 020322 BGNMOD DRP(ODE }S? 020322 128 020324 020324 o 020324 SEQ 0054 BGNDU 000240 NOP L10024: 104055 ENDDU EMT ($DU ENDMOD }gg .SBTTL GLOBAL SUBROUTINES :gé 020326 BGNMOD GLBSUB BGNSRY INTSRV: INC 005237 002152 139 020332 020332 e 020332 2-3 ($CLEAN }g? 020326 136 020326 }gg 020326 k.3 ENDCLN }g? 020322 }%g 020322 PAGE L10025: 000002 }2; INIFLG :SET INTERRUPT OCCURANCE ENDSRY RT1 ;ROUTINE USED IN TIMING OPI 143 020334 144 020340 005237 1:5 020342 0060002 020340 146 002152 104021 147 020344 148 020346 000240 RTI CKERLT: 104020 s 020350 103427 151 152 153 154 005737 001424 005277 027737 017176 012746 012746 010600 104017 062706 016756 000001 }22 020372 157 020374 020374 020400 020404 020406 020410 158 020414 159 020420 020420 002416 004737 013700 INC INTFLG ABORTWAIT EMT 020346 149 020350 020352 020356 020360 020364 TIMSRV: CSABRT NOP INLOOP EMT CSINLP BCOMPLE TE 161734 161730 000004 015464 002146 017200 99% BCS 99% 181 BEQ INC CMP DROP 99% AERPOINT SERPOINT,MERLMT PRINTF #FRMT11 JSR DODU PCLLINET UNITST ;DROP BLT MOV MOV MOV EMT ADD Mov 99% #FRMT11,=(SP) #1,-(SP) SP,RO CHPNTF #4,SP UNITST,RO THIS UNIT FLAG CIRLMAD RLIT/RLVIY GLOBAL SUBROUTINES 020424 104053 020426 104044 160 020426 99%: 000205 LSBTTL 201 020544 202 020546 203 020554 204 020556 205 020562 206 020564 1 PAGE 0.5 2-4 SEQ 0055 ($00DU EMt CSDCLN RTS RS ROUTINE TO CHECK FOR CONTROLLER ERRORS ;'.""""".'"""t'."'".""""""."""""".0l""" ;*THIS ROUTINE wiLL CHECK RLCS FOR ERRORS AND PRINT THEM ;*ACCORDINGLY. IT WILL MERGE THE ERROR PRINTOUT WITH THE : *ERROR MESSAGE. TEST *+ROUTINE USES RO.R1 AND PICKS MEADER FROM R3 180 C20432 181 020436 182 020444 183 020446 184 020450 185 020454 186 020460 187 020462 188 020466 189 020470 190 020476 191 020500 192 020504 193 020510 194 020512 195 020520 196 020522 197 020526 198 020530 199 020536 200 020540 207 208 209 210 9-FEB=79 19:01:51 EMT DOCLN WONO NS W —=O S el et MACRO v03.C1 NN~ NNSNNNNNN N—— 161 162 020430 163 020430 164 165 166 167 168 169 B CTLR 2 020572 020574 020600 020602 020604 2 020612 5 020614 & 020620 005037 032737 001001 000205 012701 005737 100003 004537 007524 032737 001405 005237 004537 007453 032737 001403 004537 007460 032737 001422 004537 007465 032737 001403 004537 007472 032737 001424 004537 007500 000420 032737 001405 005237 004537 002132 176000 002234 010625 :® CALL JSR CHERR: (LR BIT T.CRC #176000,E.CS ;ANY RTS MOV RS #EM100,R1 sNO EXIT ;GET START OF BNE 2%: 002234 021170 040000 002234 99%: 002316 021170 020000 002234 7% 002234 4%: 021170 002000 021170 004000 002234 002132 021170 002234 E.CS ERROR BITS SET? JYES,FIND OUT WHICH ;1S COMPOSITE STRING ERROR SET?(BETTER BE) 99% RS,FIX ;17°S NOT SOMETHING IS WRONG sYES, PUT "'COMP'* IN STRING BIT #DERR,E.CS ;DRIVE INC DERFLG COmMpP BLQ JSR DEMES BIT BEQ JSR NXMMES BIT U'Comp*’ ’ ERROR SET? 3% sNO, CONTINUE RS,FIX ;YES, PUT "DRV'" INTO STRING :"'DRV"' sNON=EXISTENT MEMORY ERROR? sNO, CONTINUE sYES, PUT ''NXM'" INTO STRING #NXM,E.CS 4% RS,FIX #0P] ,E.CS sUNXMY ;1S OP] SET? BEQ JSR 6% RS,FiX sNO, GO CHECK BITS 11 & 12 ;PUT "'OPI'" INTO STRING BIT BEQ #BIT11,E.CS 5% :HEADERCRC ERROR? :NO, GO CHECK HEADER NOT FOQUND ;G0 PUT ""MCRC'" IN STRING 5¢: JSR RS,FIX HCRCMES BIT #BIT12,E.CS 6%: HNFMES BR BIT 021170 004000 2% ;CHECK CNTLR FOR ERRORS BPL JSR OPIMES 002234 021170 010000 TS1 RS,CHERR BEQ JSR BEQ INC JSR 8% RS,F1X 8% #BIT11,5.CS 7% T.(RC RS,FIX :'oP1! s"'HCRC" sHEADER NOT FOUND? sNO, GO PUT "'CRLF'" IN STRING ;PUT "'MNF'' IN STRING s UHNE' ;POT "'CRLF'" IN STRING :DATA CRC ERROR? sNO, GO CHECK DATA LATE ;PUT YDCK' IN STRING — e e e e s <D SR CIRLHAD RLIT/RLVYIY 020624 020626 020634 020636 020642 020644 020650 020652 020656 020660 020662 020662 020664 020666 020670 020672 00750% 032737 001403 004537 007512 004537 007521 004537 000000 010000 002234 9-FEB-79 19:01:51 7%: 02117C 021170 8%: 021179 RESTMS: 105011 106462 PAGE DCKMES BIT BEQ JSR #BIT12,E.CS 8% RS,FIX JSK RS, F1xX DLTMES MSCRLF JSR E_5 0 ERRDF 300.,LF ,ERRG TRAP .WORD .WORD .WORD RTS 2-5 RS.FIX .WORD (.8 000454 007517 014722 000205 (R1) T$SERCODE 300 LF ERR6 RS SEQ 0056 : iKTM :DATA LATE ERROR? :NO, GO PUT IN °"'CRLF'’ :PUF TDLTTM IN STRING ;PUT "'CRLF'" INTO STRING ;OICRLFOI :MOVE HEADER sHEADER FROM TEST ;PUT TERMINATOR IN SEXIT ROUTINE .SBTTL LOAD RLCS :"t""'t'..""'.""""'l"'"."".""'."."'.'."""." ;* ROUTINE TO LOAD RLCS WITH FUNCTION TO BE PERFORMED M CALL: JSR RS .,LDFUNC ;LOAD THE FUNCTION IN NEXT WORD .WORD ;¥ ;BITS TO BE LOADED, FUNCTION o N=-2O NNV ON W —=TNIWWNIN — N ~ NNONWWWNS VWWW S NN~ ~ WWWWWWONOWNWNIO WO WWw ~ NNNNNNWW—= Y NNWS YNNI NN w 020674 020702 020704 020712 020720 020726 020734 020742 020750 020752 020760 020764 020766 020774 021002 021010 021014 021020 021022 021024 021030 021032 021040 021042 021044 021046 021052 021056 021064 021070 021076 olelelelelelelolelololelelelels o] :AND o VEWN=OVO~NO W NN b s s RN NN NN ROUTINE MACRO v03.01 TO (HECK FOR CONTROLLER ERRORS CTLR 2 777 426 040000 161346 161344 002230 161334 002224 002224 161306 161300 000013 000200 002142 002224 000200 002230 002154 161274 177661 002154 000100 021130 002266 002154 002266 002266 020656 002272 002270 002270 002142 000200 BIT BEQ MOV MOV MOV BIS 6%: 5%: MOV BIC MOV 002154 2%: 3%. 002154 002154 002154 B.DA,aRLDA #177661,LDCSR LDCSR,FNDFNC HINTEN,FNDFNC #HDRLST,R3 FNDFNC BEQ 2% BNE BIT 1% #INTEN,LDCSR CMP DEC BEQ 1817 MOV MOV MOV BIS CLR BIS B1S ;DRIVE ERROR SET B.CS,aRLCS (R5)+,LDCSR R3,=-(SP) MOV ONLY #13,3RLDA #200,B.CS DRIVE,B.CS MOV MOV MOV ENABLE oRLDA,B.DA #200,aRLCS 6% BIC 1%: #BIT14,3RLCS 5% BIT BtQ ASR 002266 006100 LDFUNC: INTR (R3)+,(R3)+ FNDFNC 3% (R3)+ (R3),R3 R3,RESTMS R3,TRYFNC XMEM,LDCSR XMEM DRIVE,LDCSR #200,LDCSR ;GET BITS T0 LOAD ;SAVE R3 ;CLEAR ALL BUT FUNC & INTR EN sSAVE FUNCTION sONLY FUNCTION sGET HEADER LIST JALIGN TO LEFT ;1F EQUAL TO ZERO, SET R3 :BUMP R3 BY & sDEC FUNCTION ;FOUND 1T? NO-GO BACK ;YES, DO WE WANT FLAG CR INTR? sFLAG BRANCH ;INTR POINT TO THAT ONE ;SET HEADER :SET UP HEADER ;SAVE HEADER FOR LATER :LOAD E.A, BITS ;CLEAR QUT THE BITS SELECT DRIVE CIRLHMAD RUIT/RLVIY LOAD RLCS CTLR 2 268 021104 269 021112 270 021116 271 021124 272 021126 013777 004537 062777 012603 000205 021130 021132 278 021134 279 021136 280 021140 281 021142 282 021144 283 021146 284 021150 285 021152 286 021154 287 02115 288 021160 289 021162 290 021164 291 021166 292 293 294 295 007605 007636 007670 007730 010155 010214 010072 010123 007771 010031 010335 010367 010253 010304 010421 010455 002154 021202 00000 MACRO v03.01 16113¢ 161124 301 021172 302 0211764 303 021176 204 021200 305 306 307 308 309 F_5 2-6 SEQ 0057 ;LOAD FUNCTION sREAD REGISTERS LDCSR,aRLCS RS ,BEFORE #200,aRLCS (SP)+ R} RS ; ISSUE COMMAND ;RESTORE R3 SEXIT NOPMES NOPINT WCKMES WCKINT GSTMES GSTINT SEKMES SEKINT RHDME S RHDINT WRTMES WRTINT RODME S RDDINT RDNME S RDNINT :""l'."'""""""""""'""'.."""'..""""""".. ;s*ROUTINE TO MOVE ASCI1 STRINGS ;*USES REGISTERS R1 = WHERE STRING IS BEING BUILT CALL JSR FIx: 1$: MOV MOvB (R5)+,R4 (R4)+,(R1)+ : 012504 112421 001376 105741 021210 021216 021226 021232 017737 017737 017737 000205 RTS 161042 161036 161032 161026 002224 002226 002230 002232 017737 017737 017737 017737 017737 017737 161010 161004 161000 160774 160766 160760 002234 002236 002240 002242 002244 002246 TO READ .WORD REGISTERS PRIOR MOV MOV MOV MOV oRLCS,B.CS aRLBA,B.BA aRLDA,B.DA aRLMP,B.MP TO READ REGISTERS JSR RS,AFTER AFTER: MOV MOV MOV MOV MOV MOV oRLCS,E.CS aRLBA,L .BA oRLDA,E.DA oRLMP ,E.MP ARLMP,E . MP1 aRLMP,E NP2 1O OPERATION sREAD 3 3 : RS ;CALL: TC MOVE :WATCH O BYTE TERMINATOR UP OVER ZERO BYTE JEXIT ;BACK RS BEFORE: STRING :GET ADDRESS AND MOVE RETURN ;GET BYTE AND UPDATE 1% JSR RS,BEFORE RTS :ADDRESS OF =(R1) ;CALL: sROUTINE 317 02123 0212642 021250 02125 021264 021272 BNE 1S18 000205 017737 RS,FIX ;e ;ROUTINF 310 021202 318 JSR BIC PAGE . 298 299 300 021170 319 320 321 322 323 324 6%: HDRLST: 297 315 216 MOV MOV RTS 296 311 312 313 314 9-FEB=79 19:01:51 AT TIME Of ;READ : s : : : cS BA DA MP ERROR — CIRLHAG RLYT/RLVYIY LOAD RLCS CTLR 2 000205 328 021302 229 021304 330 021306 331 021310 332 021314 333 021320 [elolelelelels] [ e VIO O OO OV —=O WIWNWU S S & NNN~woo o 5 021330 6 021334 013700 006037 005500 032700 001402 005137 013700 005100 040037 000241 006037 013700 013701 010102 & 021324 7 021340 8 021342 9 021346 340 021350 341 021354 342 021360 343 021362 344 021366 345 021370 346 021374 347 G21400 348 021404 349 021406 350 021410 351 021414 352 021416 353 021424 356 021430 355 021434 357 358 359 360 361 021436 021444 021446 021450 021452 9-FEB=79 19:01:51 040100 043702 050200 043737 050037 005337 001333 013737 012602 012601 SIMBCC: 002200 002202 002204 002162 002204 002202 1%: 000001 2%: 002162 002204 002162 002204 002160 002204 002200 002204 002204 002164 021502 021502 021504 -_—~O — 0N ON~N oOOoO Ow— 104027 005301 001367 104462 000310 ;SAVE RO ;SAVE R1 ;SAVE R?2 ;GET NUMBER OF BITS ;GET DATA FOR (CRC CALCULATION ;GET STARTING CRC BCCFBK TEMP4 RO : ;GET ADC 811 RC #1,R0 ;MERGE NEW WITH OLD ;BIT O SET 160562 WIDRDY: 1%: TEMP3 BCCFBK cLc RCR MOV MOV MOV TEMPS BCCFBK,RO TEMP4 ,R1 R1,R2 MOV COM BIC :1F XPOLY,RO RO RO,BCCFBK :CLEAR CARRY R1,RO BCCFBK,R? R2.RO XPOLY, TEMP4 MOV MOV MOV MOV RIS TEMP4,CALBCC (SP)+,R2 (SP)+ ,R1 TEMP? 1% (SP)+,R0 RS FOR DRIVE JRETURN READY #100.,R1 #DRDY,aRL(S BNE 2% WwAITUS MOV EMT DEC BNE #20. #20. ,R0 ($WTu R1 1% ERRDF 200, ,DRTIM, ERRS LWORD 200 TRAP TSERCODE CONTINUE ;GET CRC POLYNOMIAL (CRC=1%) ;COMPLIMENT POLYNOM]AL RO, TEMP4 MOV BIT NOT CRC NEW DATA : B81S TO WAIT PRESENT ;ROTATE 2% COM DEC BNE 012600 000024 (LR MOV RO,=(SP) R1,=(SP) R2,=(SP) (R5)+,TEMP? (RS)+,TEMP3 (RS)+,TEMP4 BIC 000205 012700 MOV MOV MOV MOV MOV MOV BIC BIC BIS 002162 000144 000001 RS BEQ 002162 002160 —.Nc— 373 021470 021470 021474 021476 021500 2-7 R1S ROR sROUTINE 369 021454 370 021460 371 021466 PAGE 5 SEQ 0058 325 021300 6 MACRO v03.01 6 CIRLHAD RLITV/RLVIT CTLR 2 LOAD RLCS 021506 021510 378 379 021512 MACRFO v03.01 9=FEB=79 19:01:51 007425 014664 006205 % sROUTINE 383 021514 384 021520 385 021526 012701 032777 001014 000629 000200 387 021530 021530 021534 388 021536 389 021540 390 021542 012700 106027 605301 001367 004537 000024 392 021546 021546 021550 021552 021554 393 021556 394 395 021560 396 021564 397 398 399 021566 400 021572 401 402 021574 160522 405 021574 406 407 021576 408 021604 409 021612 410 021616 411 021620 412 021624 021624 021626 413 021630 414 02163 419 021634 021¢3%6 416 417 021640 418 021644 419 021646 021646 021650 DRTIM ERRS RTS RS TO WAIT WICRDY: MOV 1%: BlT BNE WAITUS MOV EMT DEC BNE JSR 021234 ERRDF 104462 000144 007400 014664 000205 004537 000205 021234 2%: 005237 000002 002150 TRPHAN: FOR S 2-8 SEQ 1059 #400. R #CRDY,aRLCS 2% #20. #20.,R0 ($WwTU R1 1% RS,AFTER 100.,CRTIM, ERRS TSERCODE .WORD .WORD RTS CRTIM ERRS RS JSR H CONTROLLER TRAP .WORD 100 RS,AFTER RTS RS INC RT] TRPFLG : HDHOME 403 404 021574 .WORD .WORD PAGF BGNSEG 104004 012737 012777 004537 000004 004537 000001 000013 020674 021514 020432 104010 104010 000174 ($BSEG 002274 160442 MOV MOV #1,ERFLG :SET ERROR FLAC #DRST!MK!CSBIT,aRLDA GSTAT JSR RS,WTCRDY EMT .WORD JSR (SESCAPE 10000%-. RS,CHERR EMT CSESCAPE JSR RS .,LDFUNC ESCAPE SEG JSR ESCAPE ESCAPE .WORD 000206 004537 000010 M1 SEGMENTZZ :1SSUE DRIVE RESET 104010 000216 004537 JXXSTAPT OF 020674 RDKHDR EM1 LWORD RS.,LDFUNC :LOAD THE FUNCTION IN NEXT WORD SEG sCHECX FOR FL:LOE, ELSE EXIT SEG SEG sCHECK CNTLR FOR ERRORS sCHECK FOR FL:LOE, ELSE EXIT SEG 10000%~-. (SESCAPE 10000%-. :LOAD THE FUNCTION IN NEXT WORD (HECK FOR FL:LOE, ELSE EXIT SEG CIZRLHAD RLIT/RLVIT LOAD RLCS 420 021652 621 021656 021656 021660 &22 623 021662 624 021666 425 426 627 428 429 430 431 CTLR 2 004537 021672 021700 021706 021710 021716 021724 013737 042737 001424 042737 012777 053777 004537 000006 004537 021746 104010 000076 438 021750 004537 637 439 021754 021754 021756 440 441 021760 4462 021764 443 021766 021772 021772 021774 465 02177¢ Lih 022002 022002 022004 Lab L47 448 449 450 651 45?2 022006 022014 022022 022024 022024 022026 022039 022032 453 454 022034 022034 022036 45% 456 022040 457 458 020432 104010 000154 434 021736 425 021740 436 021744 021744 021514 000164 004537 002242 000077 0021606 002166 0001C0 000001 002166 002166 160330 160322 020674 021514 020432 020674 99%: 021514 020432 104010 000040 013737 043737 001404 002242 002156 002166 002166 RS ,CHERR SEG (SESCAPE 10000%-. 1.5 2-9 104010 002274 ;CHECK sCHECK CNTLR FOR ERRORS FOR FL:LOE, ELSE 99% sSEEK 1S NOT NECESSARY BIS TMPO ,aRLDA ;SET TO SEEK :SET IN DIFFERENCE JSR SEEK JSR RS,LDFUNC #77,TMPO #100, TMPO #MK ,aRLDA RS,WICRDY SEG (SESCAPE sLOAD THE ;CHECK FOR FL:LOE, ;CHECK FOR FL:LOF, ELSE SEG IN NEXT EXIT WORD SEG 10000%-. sCHECK CNTLR FOR ERRORS RS,CHERR SEG (SESCAPE 10000%-. JSR RS, LDFUNC JSR ESCAPE EMT .WORD JSR ESCAPE EMT .WORD RS ,WTCRDY SEG (SESCAPE 10000%-. RS5,CHERR SEG (SESCAPE 10000%-. MOv E.MP,TMPO ;GET HEADER s IGNORE SECTOR :ON ZERO 400.,SKHOME ,ERRO TSERCODE 400 SKHOME ;CAN'T RDHDR EXIT FUNCTION JSR ESCAPE EMT .WORD .WORD .WORD .WORD 000006 ;CHECK FOR FL:LOE, ELSE EXIT SEG ;GET HEADER TRAP 1%: (SESCAPE 10000%-. E.MP,TMPO ERRD® 000620 010511 014452 SEG BIC BEQ BIC BIC BEQ 104462 005037 JSK t SCAPE EMT .WORD ESCAPE EMT .WORD 104010 004537 RS ,WTCRDY MOV 000066 000050 PAGE JSR ESCAPE EMT .WORD MOV 104010 004537 000010 004537 9-FEB-79 19:01:51 SEQ 0060 104010 021666 021670 632 433 021732 MACRO v03.01 ELSE EXIT SEG ;LOAD THE FUNCTION IN NEXT WORD ;CHECK FOR FL:LOE, ELSE EXIT SEG ?E(HSK,THPO SEEK TO TRACK O ERRO ESCAPE EMl .WORD SEG ;(HECK (LR ERFLG s INDICATE SUCCESS BALK TO MAIN PROCRAM (SESCAPE 10000%~-. FCR FL:LOE, ELSE EXIT SEG CIRLMAD RLIT/RLVIY CTLR 2 LOAD RLCS MACRO v03.01 9-FEB=-79 19:01:51 659 022044 022044 022044 460 461 022046 660 663 022050 10000%: 104005 000207 PAGE J_ 5 2-10 SEQ 0061 ENDSEG ;RXEND OF EMT (SESEG RTS PC SEGMENTZX ENDMOD L64 465 .SBTTL L66 467 022050 468 *+TEST 1ee - WRITE NPR [NTEGRETY BGNTST 469 022050 s**START OF TESTer STARS ::."I""""""'."".."0l""""."l".'.".""'."'.'."' 470 471 472 022050 ;CHECK THAT NPR WILL NOT INTERFERE WITH THE ;UNIBUS. WE SET UP LOCATION 4 TU HANDLE THE STARS OPERATION OF TRAP IF THE [T HAPPENS. ::"""'"'"Q".""'I"""""""""""'I"".""."."" 473 474 475 022050 «76 022054 000232 022066 104004 479 480 022070 022070 022074 022100 022104 022110 022112 02211¢ 497 022240 498 022242 499 500 022244 (elele) S — S — A, nORL N ONNNNNNW — N O NN NN NN WN—NNNNNN ooo 1 N o O 022232 022236 o 696 022232 EMT .WORD BGNSEG 1%: Fdddis 160114 104027 002174 002142 000012 021202 002174 000201 002000 002174 000144 000200 000024 005301 001367 004537 SETVEC MOv ERRVEC,#TRPHAN,#340 #340,-(SP) MOV MOV ERRVEC,=(SP) #3,-(SP) ADD CLR MOV #10,SP TRPFLG #BUF ,aRLBA 002224 002224 002224 160032 160020 BIS JSR #WRITE,GDDAT RS ,BEFORE BIS #207,B.(S BIC MOV 5%: MOv BIT BNE WwAITUS MOV 021234 #-1,3RLMP GDDAT DRIVE ,GDDAT GDDAT,B.(CS #0P1,B.CS GDDAT,aRLC(S #100.,R1 #CRDY ,aRLCS 6% #20. #20..R0 EMT DEC ($WwTu R JSR RS,AFTER BNE SEGMENTX2 sSET UP FCR TRAP CSSVEC aRLDA MOV ;AXSTART OF #TRPHAN = (SP) CLR MOV CLR MOV 002174 002174 (SEXIT L10026~-. :HEADS OVER TRACK 0 ;HEADS GO HOME OkAY ($BSEG EMT 160122 PC,HDHOME EMT MOV 000010 002150 003260 160120 o 022142 022146 022154 022162 022166 022174 022202 022210 022216 022222 022230 JSR CKERFC 000340 021566 002140 000003 82 022122 483 022130 486 02213 4«85 «86 487 4«86 489 490 491 492 493 494 495 021574 104032 022062 022064 &77 478 022066 481 004737 5% ;CLEAR TRAP OCCURANCE ;BUS ADDRESS ;LOAD DISK ADDRESS sWORD COUNT OF 1 JSET UP CSR T0 LOAD sSET IN DRIVE JSET IN FUNCTION ;LOAD FOR ERROR PRINTOUT sSET IN COMMAND sLOAD CRDY ;CLEAR (BIT 10) JISSUE WRITE sWAIT FOR sNPR DONE CRDY JYES, 6% JWAIT A WHILE ;A WHILE UP :NO, GO BACK CIRLHAD RLVT/RLVIY **TEST 1oe = WRITE 501 022250 022250 022252 022254 022256 502 022260 022260 022264 503 022266 022266 "0u 022270 505 506 507 508 022272 022276 022300 022304 022304 022306 022310 022312 509 022314 510 511 512 022314 022314 613 022314 514 022316 022316 615 022316 CTLR 2 NPR INTEGRETY £ 5 MACRO v03.01 9-FEB=79 19:01:51 PAGE 2-i1 SEQ 0062 ERRDF TRAP 104462 000000 007400 014664 0137C0 104036 6%: 002140 ESCAPE EMT LWORD 104010 000024 005737 001406 004537 .WORD .WCRD .WORD CLRVEC MOV EMT 002150 021234 104461 000001 013353 014452 7%: 10001%: 1040058 ENDTST L10026: 104001 2}? LSBTTL 2:3 022320 BGNTST 1ST REQ JSR ERRSF TRAP .WORD .WORD .WORD 0.,CRTIM,ERRS T$ERCODE 0 CRTIM ERRS ERRVEC ERRVEC,RO CSCVEC SEG (SESCAPE 10001%-. JCONTROLLER TIMED OuT ;CLEAR VECTOR sCHECK FOR FL:LOE, ELSE TRPFLG 7% RS,AFTER 1.,EMS51,ERRO TSERCODE 1 EMSI ERRO EMT SEG ;DID TRAP OCCUR? :NO :TRAP ON WRITE ENDSEG EMT EXIT sXXEND OF SEGMENTXX s**END OF TESTwe (S$ESEG CSETST #«TEST 2+¢#« = WRITE FUNCTION ;**START OF TESTee 520 521 522 022320 STARS 523 524 525 526 527 528 529 530 531 532 022320 CHE(K OF WRITE LOGIC UNDER FLAG MODE, WE WILL FIRST ISSUE A JREAD HEADER SO THAT WE DON'T WRITE ON THE BAD SECTOR ;FILE TRACK., WE WILL WRITE A FULL SECTOR (128 WORDS) FROM JMEMCRY (BUF). WE CHECK THAT NO ERRORS OCCUR. IF WE :HAVE A DRIVE ERROR WE WILL DO A "'GET STATUS'' TO SEE ;1F WRITE PROTECT IS SET IF IT IS WE WILL ABORT THE ;TEST, AN ERROR ON THE WRITE WILL LOOP ON JUST THE WRITE PORTION. LOOP ON TEST WILL READ HEADER, SEFK (IF :NECESSARY) AND WRITE. STARS . 'ltttltl'tlittt""""'t'l't"t'"lt.llt!'tlt..t".l't!'tt't't v ::ttt"I!'t"'tt!t'tttt"""!'t"""t'ttttltttttltl'tt'ttttll" & 535 022320 536 022324 022332 0223%33% 004737 104032 000126 021574 JSR CKERFG EMT LWORD PC ,HDHOME C$EXIT L10027~-. sHEADS OVER TRACK 0 sHEADS GO HOME OkAY ————— *+TEST 2¢+ =~ WR MACRO v03.01 — CZRLHAD RLT1/RL 538 022336 022336 539 560 022340 561 022340 562 022344 563 022352 564 022360 565 022364 BGNSEG EMT SN W N NN NN~ TV T LV TV ) [+ RV P N I I R O~~~ OOV 3%: 157710 177600 003260 020674 546 547 022366 5648 022372 022372 022374 549 550 551 022376 552 022404 553 954 022406 555 022414 556 022420 557 022422 558 022426 022426 022430 559 560 022432 561 022440 562 022446 563 564 565 022450 022450 022452 022454 022456 566 022460 567 568 569 022460 022460 022460 570 022462 022462 022462 9-FEB=79 19:01:51 021514 104010 000064 032777 001425 040000 157644 012777 004537 000004 004537 000003 020674 157640 002242 020000 002174 002174 000003 010537 014452 104005 104001 #DERR,aRLCS ;DRIVE ERROR SET? ;BRANCH IF NOT #MK:GSBIT,aRLDA :SET GET STATUS OF DRIVE ;LOAD THE FUNCTION IN NEXT WORD ;GET STATUS ERRSF ENDTST L10027: .SBTTL 022464 BGNTST 022464 STARS #BUF ,aRLBA :SET DISK ADDRESS sWORD COUNT ;BUS ADDRESS sLOAD THE FUNCTION IN NEXT WORD BIT BEC 10000%: aRLDA #-128. ,3RLMP ;WAIT FOR CONTROLLER READY ;CHECK FOR FL:LOE, ELSE EXIT BIT 4%: sRASTART OF SEGMENTZZ ($BSEG RS ,WTCRDY SEG (SESCAPE 10000%-. MOv 104461 SEQ 0063 JSR ESCAPE EMT .WORD JSR GSTAT JSR ESCAPE EMT .WORD 000030 2-12 R5.LDFUNC MOV 021514 L_5 JSR WRITE BEQ 104010 013737 032737 01404 CLR MOv MOv PAGE TRAP .WORD .WORD .WORD ey 4% RS5,LDFUNC RS ,WTCRDY SEG ; CSESCAPE 10000%-. E.MP,GDDAT #B1113,GDDAT 6% 3. ,WRLOCK,ERRO ;SERCODE ;WRITE ;WAIT FOR CONTROLLER READY ;CHECK FOR FL:LOE, ELSE EXIT SEG SEG JREAD DRIVE STATUS JWRITE LOCK ERROR? sNO, BRANCH ;WRITE LOCK ERROR WRLOCK ERRO ENDSEG ;AXEND OF SEGMENTZX ;**END OF TESTee EMT (SESEG EMT CSETST «+TEST 3¢+ - WRITE FUNCTION INTERRUPT ;**START OF TESTwe ::"""""".""""""""""""'.'.'i"'l"""'."'ltt't ;(HECK OF WRITE LOGIC UNDER INTERRUPT MODE, WE WILL ISSUE A ;READ HEADER SO THAT WE DON'T WRITE ON THE BAD SECTOR FILE ; TRACK, WE WILL WRITE A FULL SECTOR (1238 WORDS) FROM MEMORY JWE CHECK THAT NO ERRORS OCCUR, WE DO NOT CHECK RLDA OR RLBA {BUF). e CZRLHAD RLI1/RLY 11 CTLR 2 *+TEST Ter - YRI] 1t FUNCTION nS MACRO v03.01 9-FEB=79 19:01:51 PAGE 2-13 INTERRUPT 581 582 022464 : INCREMENT AT STARS SEQ 0064 THIS TIME. .':"'.""."'"l"""""l.""""'.'.".'I'I'l."'.'.'..'.'.' 583 584 585 022464 586 022470 022476 022500 587 588 022502 004737 000112 104004 022504 022510 022514 022522 005037 005077 012777 012777 022554 022554 022560 603 022562 604 022566 605 606 02257C 022570 022572 022574 022576 607 022600 022600 022602 608 609 022604 610 611 022610 022610 022610 612 022612 022612 022612 613 614 615 616 022614 617 JSK (KERFG EMT 104032 022502 022530 022530 022534 022536 022542 022544 022550 022550 022552 02157¢ .WORD BGNSEG PC,HDHOME CSEXIT L10030-. ;HEADS OVER TRA(K 0 ;HEADS GO HOME OKAY sRXSTART OF SEGMENTZXZ EMY ($BSEG 002152 157540 177600 003260 CLR CLR MOv MOv INTFLG aRLDA #-128.,3RLMP ;CLEAR INTERRUPT OCCURANCE FLAG #BUF ,3RLBA ;SET UP WORD COUNT :SET UP BUS ADDRESS 012700 000000 MOV #PRIOO ;PRIORITY TO O 004537 000112 004537 020674 1040641 SETPRI EMT JSR 021514 JSR RS ,WTCRDY EMT .WORD (SESCAPE 10000%-. ESCAPE 000036 SETPR1 012700 000340 MOV 005737 001004 002152 18T EMT 104462 2%: 104010 004537 104005 104001 : 100008 ENDTST L10030: .SBTTL BGNTST C$SPRI ;SET PRIORITY TO 7 INTFLG ;:DID INTERRUPT OCCUR? : YES-BRANCH NO=REPORT ERRDF &4.,EM17,ERRO sWRITE .WORD .WORD EM17 ERRO ESCAPE EMT JSR 020432 #PRIO7 #PRIO7,RO ;CHECK FOR FL:LOE, ELSE EXIT SEG 2% .WORD 000006 SEG ;LOAD THE FUNCTION IN NEXT WORD ;WRITE UNDER INTERRUPT ;WAIT FOR INTERRUPT BNE TRAP .WORD 000004 011557 014452 C$SPRI RS ,LDFUNC WRITE'!INTEN 104010 104041 #PR100,RO TSERCODE & SEG CSESCAPE DID NOT INTERRUPT ;CHECK FOR FL:LOE, ELSE EXIT SEG 10000%-. R5,CHERR sCHECK CNTLR FOR ERROR> ;AXEND OF SEGMENTZX ENDSEG EMT (SESEG EMT CSETST #+TEST 4++ - PROPER ;**END OF INCREMENT OF TESTee RLBA ON WRITE s**START OF TESTer CZRLHAO RLIT/RLVIY CTLR 2 *+TEST 4o+ - PROPER INCREMENT OF MACRO v03.01 NS5 9-FEB=79 19:01:51 PAGE 2-14 SEQ 0065 RLBA ON WRITE 618 619 022614 STARS ;;"l"""""""""""""."""'.."'Q'..""l"""""'. ;CHECK THAT THE RLBA WILL INCREMENT PROPERLY AFTER THE ;MRITE WAS FINISHED THE RLBA SHOULD BE 128 WORDS (256 BYTES) STARTING RLBA IS ‘'BUF'‘, ENDING SHOULD BE ‘BUF + 256." ;CREATER. ;WE WILL MONITOR ALL ERRORS AND REPORT THEM ACCORDINGLY 620 621 622 623 624 022614 STARS ;;"."t."'tll"."""""""""""'.'...l.'..l'.l""."'l. 625 649 650 022734 022734 022736 022740 022742 651 652 022744 653 654 022744 022744 022744 022746 022746 022746 021574 104032 000116 JSR CKERFG EMT .WORD 104004 BGNSEG EMT 005077 012777 012777 012737 062737 004537 000012 004537 157414 003260 177600 003260 000400 3%: 157404 157402 00217« 002174 020674 104010 000040 004537 020432 oo N 002176 002174 RS, LDFUNC ERRDF TRAP .WORD .WORD .WORD 011617 014616 ;HEADS OVER TRACK 0 ;HEADS GO HOME OKAY ;XXSTART OF SEGMENTZZ ($RSEG JSR MOv (MP BEQ 106462 000005 CSEX]T L10031-. aRLDA JSR ESCAPE EMT .WORD 104010 000030 017737 023737 001404 PC,HDHOME CLR MOV MOv MOV ADD WRITE JSR ESCAPE EMT .WORD 021514 NN 643 644 022706 645 022712 022712 022714 646 022716 647 022724 648 022732 004737 — 627 022614 628 022620 022626 022630 629 630 022632 022632 631 632 022634 633 022634 634 022640 635 022646 636 022654 637 022662 638 639 022670 640 022674 641 022676 642 022702 022702 022704 O = oW 626 #BUF ,aRLBA #-128. ,9RLMP #BUF ,GDDAT #256.,GDDAT RS ,WTCRDY SEG (SESCAPE 10000%-. ;SET UP BUS ADDRES> :WORD COUNT ;FORM EXPECTED BUS ADDRESS :AFTER WRITE ;LOAD THE FUNCTION IN NEXT WORD sWRITE ;WAIT FOR CONTROLLER READY ;CHECK FOR FL:LOE, ELSE EXIT SEG RS,CHERR SEG (SESCAPE 10000%~-. aRLBA,BDDAT ggDAl.GDDA‘ ;CHECK CNTLR FOR ERRORS ;CHECK FOR FL:LOE, ELSE EXIT SEG 5.,EM20,ERRS ;BA DID NOT INCREMENT ;$ERCODE ;READ "RLBA' FOR PRESENT ADDRESS ;:DID 'BA' INCREMENT PROPERLY? :YES, CONTINUE EM20 ERRG 2%: 106005 1064001 10000%: ENDTST L10031: LSBTTL ;A%END OF SEGMENTXX ENDSEG EMT (SESEG EMT ($ETST ;**END OF TESTee eeTEST See = PROPER INCREMENT OF RLDA ON WRITE CIRLHAD RLIT/RLYYY CTLR 2 eoTEST See = PROPER [NCREMENT OF MACRO v03.01 9-FEB=79 19:01:51 RLDA ON WRITE 658 659 022750 660 651 022750 PAGE B_6 2-15 ;**START BGNTST OF TESTee STARS 4 ".'".."""""""""""'l""""""'l".""".".'.'. SCHECK THAT THE SECTOR INCREMENTS AFTER THE WRITE WAS FINISHED. ;WE RANDOMLY PICK A SECTOR (OTHER THAN LAST TRACK) AND [SSUE 662 663 ;A FULL 664 665 ;0f 666 022750 667 668 669 022750 670 022754 022762 022764 671 672 022766 022766 673 674 022770 675 622770 676 022774 677 023002 678 023006 679 023014 680 681 023022 682 023026 683 023030 684 023034 023034 023036 685 686 023040 87 023044 023044 023046 688 689 023050 690 023056 691 023064 692 693 023066 023066 023070 023072 023074 694 695 023076 STARS THE RLDA SHOULD REFLECT AN "GDDAT'" WAS THE EXPECTED RLDA. INCREMENT ::"""""""'0'"""'0"."""".'t"""""'.'.""""" 004737 021574 104032 000114 JSR (KeRFG EMT .WORD 104004 BGNSEG EMT 005037 013777 005237 012777 012777 002174 002174 002174 004537 000012 004537 020674 177600 003260 3%: 004537 MOV 157242 157230 MOV MOv INC 021514 020432 104010 000030 013737 023737 001404 002240 002174 CLR 157252 104010 000040 002176 002176 000006 011674 014€16 PC ,HDHOME CSEXIT L10032-. ;HEADS OVER TRA(K 0 ;HEADS GO HOME OKAY sAXSTART OF ($BSEG GDDAT GDDAT ,3RLDA GDDAT #-128.,aRLMP #BUF ,aRLBA SEGMENTXX ;SETUP DISK ADDRESS ;CREATE EXPECTED SECTOR ;WORD COUNT :SETUP BUS ADDRESS ;LOAD THE FUNCTION IN NEXT WORD JSR WRITE JSR ESCAPE EMT .WORD RS,LDFUNC JSR ESCAPE EMT .WORD RS,CHERR SEG (SESCAPE 10000%~-. MOV (MP BEQ E.DA,BDDAT GDDAT ,BDDAT 2% ;DID SECTOR INCREMENT PROPERLY ERRDF 6.,EM21 ,ERRG ;DA DID NOT INCREMENT .WORD .WGRD .WORD Em21 TRAP 106462 RS ,WICRDY SEG (SESCAPE 10000%~-. LSER(ODE JWRITE :WAIT FOR CONTROLLER READY ;CHECK FOR FL:LCE, ELSE EXIT SEG sCHECK CNTLR FOR ERRORS ;CHECK FOR FL:LOE, ;READ DISK ;YES, ELSE EXIT BRANCH NO, REFORT ERROR ERR4 104005 10000%: ENDTST L10032: ;AREND OF SEGMENTXX ENDSEG EM1 ($ESEG SEG ADDRESS 2%: 696 697 023076 023076 023076 698 023100 023100 SECTOR WRITE THE SECOTR. s**END OF TESTev c_ 6 CIRLHAG RLIT/RLVYY CTLR 2 MACRO v03.01 9-FEB=79 19:01:51 PAGE 2-1% e+ TEST See =~ PROPER INCREMENT OF RLDA ON WRJTE " 023100 104001 EM1 ;8? LSBTTL ;g% 023102 BGNTST C$ETST #«TEST 6*+¢ = FORCE HEADER NOT FOUND WITH WRITE ;**START OF TEST#e ) 704 023102 STARS ;:tt'tt"l""'0't'"t'"'""""'t"ttt"t't"t'"'0"0"0't'ct 705 sFORCE HEADER NOT FOUND ERROR TO OCCUR. 709 707 708 709 023102 THIS 1S DONE ;BY SETTING SECTOR 40 OF THE RLDA AND ISSUING A sWRITE. SECTOR 40 DOES NOT EXIST ON THE RLO1 PACK ;THEREFORE HDR NT FOUND SHOULD SET. STARS ;:"'0"'t"'""""'t"t'tt"t'"'tt!'t"t""'t"'Qt"ltltt"' 710 711 023102 712 023106 023114 "s 023116 714 023120 004737 021574 104032 000120 EMT .WORD BGNSEG 023120 104004 717 023122 012777 000050 721 722 723 724 004537 000012 004537 020674 6 718 023130 ;;g 023136 023144 023150 023152 023156 JSR CKERFG 012777 012777 003260 77777 157124 157114 157112 023156 s 023160 104010 000054 726 023162 013737 002234 002166 728 023176 022737 112000 002166 731 023206 732 023212 004537 020432 res 023212 104006 734 023214 735 023222 7% 023224 022737 001404 727 023170 ;gg 023204 737 023224 023226 023230 023232 042737 00140¢ ; INSURE NOT JSR WRITE JSR ESCAPE EMT RS,LDFUNC RS,WTCRDY SEG CSESCAPE sLOAD THE FUNCTION IN NEXT WORD ;WRITE ;WAIT FOR CONTROLLER READY sCHECK FOR FL:LOE, ELSE EXIT SEG MOV E.CS,TMPO CMP #BITIS!'BIT12!'BIT10,TMPO JSR CKLOOP RS,CHERR EMT csCLPY CMP BEQ #BIT15'BIT12'BIT10,TMPO 2% 23..EM10,ERRO ERRDF TRAP LWORD LWORD .WORD #BUF ,akLBA #-1,3RLMP 104005 10000%: #1777,TMPO 1% TSERCODE 23 EMI0 ERRO ENDSEG EMT TO FIND HEADER BY :SETTING SECTOR 40 OF ;WORD COUNT CYL. ADDR. 10000%-. 2%: 7640 02323 02323% 002166 SEGMENTZZ #40.,3RLDA BEQ 1%: OF MOV BIC 104462 000027 011251 014452 ;gg 02323 02323% 112000 002166 ;XXSTART ($BSEG .WORD 001777 CSEXIT L10033-. :HEADS OVER TRACK 0 sHEADS GO HOME OKAY EMT MOV MOV 021514 PC ,HDHOME :GET RLCS :SAVE ERROR BITS ;HDR NOT sYES, CONTINUE ;WHEN FORCED :A%XEND OF ($ESEG FOUND SET. SEGMENTXX CIRLHAD RLIT/RIVYIY *+1EST 6o+ = FORCE CTLR 2 HEADER NOT MACRO v03.01 FOUND WITH WRI 9-FEB=79 19:01:51 D_6 PAGE 2-i7 SEC 0068 7641 0232% 023236 02323%6 762 763 7464 7645 023240 ;**END OF 104001 .SBTTL EMT (SETST *+TEST 7++ - FORCE HEADER NOT FOUND WITH WRITE BGNTST 766 747 7648 023240 TESTee INTERRUPT TESTwe ;**START OF STARS A 749 AL LA ;TEST 750 751 752 023240 S AR THAT A AR AR A R A R A A A A R A A R A R A R R A R R A R R R R R R E R R R R R R R R R R R R N HEADER NCT FOUND ERROR WILL GCNERATE AN INTERRUPT HEADER NOT FOUND WILL BE FORCED BY SETTING ;ON OCCURANCE. ;SECTOR 40 OF RLDA AND ISSUEING A WRITE STARS AL AR R A AR AR R A R R A R A R A A R R R A R A R R R R R R R R A R R R R R R R R R R R N 75% 754 755 023240 756 023244 023252 000160 023256 104004 023260 023264 012700 104041 005037 012777 012777 012777 759 760 023260 023266 023272 023300 023306 023314 023320 768 023322 769 023326 023326 770 023330 023330 023334 771 772 023336 77% 023342 774 775 023344 778 779 004537 000112 004537 .WORD BGNSEG EMT SETPRI CLR MOV MOv INTFLG #40.,3aRLDA #BUF ,aRLBA #-1,aRLMP JSR RS ,LDFUNC JSR R5,WTCRDY 177777 156754 156744 156742 MOV 020674 (KLOOP EMT 002152 104010 013131 2%: sWORD COUNT ;LOAD THE FUNCTION IN NEXT WORD sWRITE sWAIT FOR CONTROLLER READY CSCLP #PRIO7 #PR107,RO TST1 BNE INTFLG 2% ;:DID INTERRUPT OCCUR :YES OKAY ERRDF 24.,EM43,ERRO :NO INTERRUPT FROM 0PI .WORD .WORD .WORD 24 EM43 ERRO ESCAPE EMT SEG (SESCAPE TRAP 000030 ;CLEAR INTERRUPT OCCURANCE FLAG : INSURE NOT TO FIND HEADER BY ;SETTING SECTOR 40 OF CyL. ADDR. SETPRI MOV EMT 104462 000054 ($SPRI WRITE!INTEN 021514 ;XASTART OF SEGMENTZZ #PRIOO 002152 000050 003260 EMT ;HEADS OVER TRACK 0 sHEADS GO HOME OKAY ($BSEG #PR100 .RO 005737 001004 023354 CSEXIT L 10034-. MOv 000340 104041 PC ,HDHOME 000000 012700 014452 023356 JSR C(KERFG EMT 104006 023344 023346 023350 023352 776 777 023354 021574 1064032 023254 757 758 023256 761 762 763 764 765 766 767 004737 .WORD ($SPRI TSERCODE 10000%~-. sCHECK FOR FL:LOE, ELSE EXIT SEG CIZRLHAD RLIT/RLVIY *+TEST CTLR 2 7+ - FORCE HEADER NOT 780 023360 781 023366 013737 042737 ;gz 023402 001402 785 023404 786 023410 004537 7 023410 104006 788 023412 789 023420 790 023422 022737 001404 782 0233764 791 023422 023424 023426 023430 022737 002234 001777 112000 112000 002166 002166 INTERRUPT MOV BIC 002166 1%: 0021¢6 E.CS,TMPO #1777,1MP0 :GET RLCS :SAVE ERROR BITS 1% sYES, CONTINUE #B 1115'81112:81110.1HPO JSK (KLOOP RS,CHERR EMT Cs$CLP? (mp BEQ ERRDF #BIT15!BIT12!BIT10,TMPO 3% 25.,EM10,ERRD TRAP .WORD LWORD .WORD TSERCODE 25 EMI10 ERRO 3%: 023432 023432 104005 023434 023434 104001 10000%: ENDTST L10034: ggg LSBTTL gg; 023436 BGNTST 803 023436 STARS SEQ 0069 Cmp BEQ 104462 00003} 011251 014452 794 023432 796 797 798 FOUND WITH WRITE 020432 ;g% 023432 795 023434 E_6 MACRC v03.01 9-FEB-79 19:01:51 PAGE 2-18 :WHEN FORCED ENDSEG EMT ($ESEG EMT CSETST #«TEST 8e+ = (HECK OPI :WDR NOT FOUND SET. X%END OF SEGMENTXX s**END OF TESTwe TIME WITH HDR NT FND ;**START OF TESTwe :.‘"'ttt"l't't't"t't'ttt'"t't"t"'ttlt't'!"tlt'tt'tittttt" 804 805 sCHECK OP] TIME IT SHOULD BE AROUND 200 MILLISECONDS (ON UNIBUS) ;(HECK THIS BY TIMING OP1 ON A FORCED HEADER NOT FOUND 807 023436 STARS ROS ;1SSUE WRITE WITH SECTOR 40 SET IN THE DISK ADDRESS ,-;'ltttttt't"tttt"'ttt"'t'?t"t"l'tttttttlttttt'tttt"tt'tt" 808 809 023436 B10 023442 023450 " 023452 812 023454 ave 023454 814 023456 023450 023462 815 023464 023664 023470 02374 023500 023504 004737 021574 104032 000264 JSR CKERFG EMT LWORD 104004 BGNSEG EMT ($BSEG CLRVEC MOV EMT SETVEC MOV MOV MOV MOV EMT BVEC LCLEAR PRESENT INTERRUPT VECTOR BVEC,RO C$CVEC BVEC,#TIMSRv,#340 ;SET INTR, VEC, WITH ABORT WALT #340,-(SP) #TIMSRY,=(SP) BVEC,=(SP) #3,-(SP) ($SVEC 013700 104036 002262 012746 012746 013746 012746 10403%7 000340 020334 002262 000003 PC ,HDHOME CSEXIT L10035-. ;HEADS OVER TRA(CK 0 JHEADS GO HOME OKAY s X%START OF SEGMENTZZ CIRLHAD RLTT/RLVIY *+TEST CTLR 2 8++ = (HECK OP] 023506 816 023512 062706 023512 023516 023520 023524 023532 023540 817 818 819 820 821 822 02354¢ 823 023552 824 825 023554 826 023560 827 023562 828 023564 829 023566 830 023572 831 023576 023576 832 023600 833 023604 834 023610 835 836 023612 023612 023614 837 023620 838 023622 839 023630 840 02363¢ 841 023634 842 023636 843 844 845 R4 023642 023642 023646 847 023650 848 023656 849 850 023660 851 023666 852 853 023670 023670 023672 023674 023676 £54 855 023700 023700 023704 856 023706 023706 023712 MACRO v03.01 TIME WITH HDR NT FND 9-FEB=-79 19:01:51 000010 ADD JSR RS.,LDFUNC 002310 MOV OPIMX,R0 002310 00231C ADD ADD 177777 156510 020674 063700 104027 010037 005737 001427 104052 010037 005000 162737 100402 005200 000772 010037 ASL ASL ASL 002176 002176 002176 000340 023737 002404 002310 002176 023737 003404 002306 002176 1%: 104036 012746 012746 002262 000340 020326 ;WORD COUNT ;LOAD THE FUNCTION IN NEXT WORD OPIMx,RO OPIMX,RO RO ($Wiu ;WAIT MOV 187 BEQ RO,BDDAT INTFLG 4% GETTIM EMT BDDAT ($GTIM SuUB #10. ,BDDAT MOV CLR RO,BDDAT RO ;SETUP FOR WORST CASE ;DID INTERRUPT OCCUR :NO, REPORT ERROR ;GET TIME EXPIRED ;DIVIDE s ANSWER ;BY 10 T0 GET 3%: ;CHECK THAT 2%: SETPR] MOV EMT (MP BLT OPIMX,BDDAT 4% SIS 1T WITHIN LIMITS :NO, REPCRT ERROR (MP BLE OPIMN,BDDAT 5% s¥ES ERRDF TRAP ;0P LWORD .WORD .WORD 974, ,EMS56,ERR13 T$ERCODE 974 EMS6 ERR13 CLRVEL MOV EMT SETVEC MOV MOV BVEC BVEC,RO ($CVEC ;CLEAR PRESENT VECTOR 5%: 3% RO 1% RO,BDDAT MAX MILLISECONDS BMI INC BR MOV 4%: 013700 sSET UP FOR HDR NT FND ;BUS ADDRESS RO RO RO WAITUS EMT 002176 002152 000012 ;CLEAR INTERRUPT FLAG WRITE'!INTEN 012700 1046041 #10,SP #PRID0,RO ($SPRI INTFLG #40. ,3RLDA #BUF ,aRLBA #£-1,3RLMP 156522 156512 2-19 #PRIOO MOV EMT CLR MOV MOV MOV 002152 000050 003260 S 6 €@ 0070 SETPRI 000G00 PAGE F 0PI TIME ;RIGHT ANSWER IS WITHIN LIM]TS #PRI107 #PR107,R0 C$SPRI JWITHIN LIMITS BVEC,#INTSRv,#340 #340,=(SP) #INTSRY,=(SP) TIMING INCORRECT JSET IN OLD VECTOR CIRLMAD RLTT/RLVIY eoTEST 8s7 CTLR 2 Bere - (MECK OPI] 023716 023722 023726 023730 013746 MACRO v03.01 TIME WITH HDOR Ni FND 01274% 002262 000C03 062706 00001C 104037 MOy MOV EMT ADD 858 023734 023734 02373« 859 860 023736 023736 023736 861 862 863 864 023740 865 866 023740 9-FEB=-79 19:01:51 100008 : 104005 T Em LSBTTL 6G_ 6 2-20 SEQ 0071 BVEC,=(SP) #3,-(5P) CSSVEC #10,5P ENDSEG EMT 104001 PAGE *+TEST SXXEND OF SEGMENTZX ;eeEND OF TESTes CSESEG CSETST Gee = MULTIPLE SECTOR TRANSFER ON WRITE BGNTST ;**START OF TEST#e STARS - ."""""'"'."""'.""'""""'."""..'.."""0"'." 867 868 869 870 871 872 023740 (HECK FOR MULTIPLE SECTOR TRANSFER CN WRITE. THIS TEST CHECKS :THAT TWO SECTORS CAN BE SUCCESSFULLY WRITTEN. WE LOAD :A WORD COUNT OF 129 WORDS (ONE SECTOR + 1 WORD) STARTING AT ;SECTOR O THRU SECTOR 37 AND VERIFY THAT THE RLDA DOES .A DOUBLE STARS INCREMENT EACH TIME. ;;'""""""""""""l"""""'lt.l".'llll""l""""' 873 874 875 876 023740 877 023744 023752 023754 878 879 023756 880 023762 /81 882 023766 023766 883 884 885 0235770 886 023776 887 024004 888 024012 889 024020 890 024026 891 892 024034 893 024040 894 024042 895 0246046 024046 024050 896 897 024052 898 024056 004737 021574 JSR CKERFG 104032 000152 005037 005037 002166 002170 002174 002174 003260 156224 156222 000002 177577 020674 021514 104010 000054 004537 020432 EMT .WORD CSEXIT L10036~-. CLR TMPO BGNSEG EMT ($BSEG MOV TMP1,GDDAT MOV GDDAT,aRLDA (LR 002170 002166 002174 156242 002174 1%: PC ,HDHOME BIS ADD MOV MOV TMP1 TMPO,GDDAT #2,GDDAT #BUF ,aRLBA #-129. ,3RLMP JSR RS,LDFUNC JSR RS,WICRDY EMT LWORD (SESCAPE 10000%-. WRITE ESCAPE JSR ESCAPE SEG RS, (MERR SEG sHEADS OVER TRACK 0 sHEADS GO HOME OKAY ;CLEAR TEMP LOCATIONS sXXSTART OF ;GET CYLINDER :SET BUS SEGMENTZ%% sGET SECTOR :SET DISK ADDRESS=SECTOR 0 :SET EXPECTED ¢+ 2 ADDRESS ;WORD COUNT=-SECTOR+1 ;WRITE WORD ;LOAD THE FUNCTION IN NEXT WORD ;WAIT FOR CONTROLLER READY? ;CHECK FOR FL:LOE, ELSE sCMECK FOR FL:LOE, ELSE EXIT SEG (MECK CNTLR FOR ERROKS EXIT SEG ——— e CIRLMAD RUIT/RLVYY CTLR 2 *eTEST Gee < MULTIPLE SECTOR 024056 024060 1064010 000044 900 024062 901 024070 902 024076 013737 023737 001404 904 024100 024100 104462 899 903 905 906 907 908 909 910 911 024102 024104 024106 MACRO v03.01 TRANSFER ON WRITE 002240 002176 913 (24126 914 915 024126 024126 PAGE H 6 2-2! EmT .WORD (SESCAPE 10000%-. MOV (MP E.DA,BDDAT BDDAT ,GDDAT sREAD DISk ADDRESS ;1S DISK ADDRESS CORRECT 7.,EM22 ERRG ;:DI1SK ADDRESS NOT BEG 2% ERRDF TRAP .WORD 000007 011752 014616 ;YES, BRANCH ;$ER(ODE .WORD NO, REPORT ERROR CORRECT EmM2? .WORD ERRG INC (mMp BNF TMP( 846 ,TMP0 1% 2%: 005237 022737 001322 002166 000046 002166 912 024124 024124 024124 19:01:51 SEQ 0072 002176 002174 024110 024110 024114 024122 9-FEB=79 10000%: 104005 ENDTST L10036: 104001 LSBTTL 916 917 024130 918 919 024130 SNEXT SECTOR ;AT ENC? :NO, GO BA(« ENDSEG Em1 ($ESEG EMT ($ETST #«TEST 10+ = (HECK DIRECTION OF BONTST JAREND OF SEGMENTZX s**END OF TESTee WRITE NPR ;**START OF TESTer STARS R §20 921 922 N JVERIFY THAT A WRITE JKNOWN PATTERN R IS WRITING NOT READING. IN “BUF'" (128 WORD), WE WE WRITE THEN ISSUE R R A A WRITE. ;ONCE THE WRITE 1S FINISHED WE CHECK THAT "BUF'" IS INTA(CT. 923 Q24 925 024130 ;THIS IS DONE TO PROVE THAT THE NPR [S GOING THE RIGHT JWAY, STARS .-;tt"t"""""""""'t'""'.tt'.'tl'tt"t"t't'tltt't."'.' 926 927 928 024130 926 024134 024142 024144 930 931 024146 024146 932 933 024150 934 024150 935 024154 936 024160 937 024164 938 024166 939 940 024170 004737 021574 000160 000200 125252 156060 P{ ,HDHOME EM1 .WORD ($EXIT L10037-. BGNSEG EM1 ($BSEG MOV #BUF ,R2 MOy DEC BNE #125252,(R2)+ R1 3% SECTOR'S WORTH ;WRITE BUFFER ;DONE? N0, GO BACK aRLDA ;LOAD DISK (KERFG 104032 003260 JSR 2%: 3% : MOV (LR #128. ,R1 :HEADS OVER TRA(K O HEADS GO HOME OkAY sXXSTART OF :WRITE ;ONE SEGMENTZZ BUFFER FOR WRITE ADDRESS OPERATION 1 6 CIRLHAD RLIT/RLYVYIY CTLR 2 MACRO v03.01 9=FEB=79 19:01:51 PAGE 2-22 e TEST 10we =« (MECK DIRECTION OF WRITE NPR 941 026174 962 024202 943 946 945 946 024210 024214 024216 024222 026222 024224 947 948 024226 949 024232 024232 024234 950 951 024236 952 024242 953 954 024246 955 956 957 958 959 960 961 962 004537 JSR WRITE JSR ESCAPE EMT .WORD 021514 012792 012701 024272 024276 010237 024276 02430C 024302 024304 012253 014772 024310 104010 000010 024320 104005 104005 104001 RS ,WICRDY SEG (SESCAPE ;WAIT FOR IT TO FINISH ;CHECK FOR FL:LOE, ELSE RS.,LDFUNC ADDRESS ;LOAD THE FUNCTION IN NEXT WORD DATA SOME ;WRITE 003260 000200 MOV MOV #BUF ,R? SSET #128. .R1 ;CHECK BGNSEG EMT ($BSEG MCvV MOV #125252,GDDAT (R2) ,BDDAT CMP GDDAT,BDDAT 125252 002176 002174 002174 002176 BEQ 00217C R2,TMP1 TRAP ;$ERCODE .WORD .WORD .WORD 5%: ESCAPE EMT .WORD 6%: TST DEC BNE 10001%: 10000%: ENDTST L10037: LSBTTL UP TO CHECK BUFFER 128 WORDS ;RASTART OF SEGMENTZZ ;DATA SHOULD BE 125252 ;LOAD DATA INTO BDDAT ;1S 1T OKAY? :YES, CONTINUE ;LOAD MEMORY LOCATION OF FAJLURE EM26 ERRS SEG ;(HECK R1 6% SNEXT! :DONE? :NO, GO BACK (SESCAPE 10001%-. (R2)+ ENDSEG EMT ENDSEG ($ESEG EMT ($ESEG EMT (SETST #oTEST 11ee BONTST SEG CHECK CNTLR FOR ERRORS FOR FL:LOE, ELSE EXIT SEG ;CHECK 5% MOV ERRDF EXIT 10000%-. RS, CHERR SEG (SESCAPE 10000%~-. = CHECK FULL RLBA FOR FL:LOE, ELSE EXIT SAREND OF SEGMENTZR SAXEND OF SEGMENTZX .'"END TESTee OF SEG INCREMENT s**START QF TESTee STARS CrEARN 978 979 ;WORD COUNT .BUS JSR ESCAPE EMT .WORD 104462 000010 005722 005301 001357 #-128. ,aRLMP #BUF ,aRLBA 020432 104010 012737 011237 023737 001406 972 973 974 975 024326 976 977 024326 MOV MOV 000066 024250 024256 024262 024270 024320 024320 97G 024322 024322 024322 971 024324 024324 024324 156054 156042 000076 104004 024312 026314 024316 177600 003260 020674 104039 024246 963 964 024306 024306 965 966 967 968 969 012777 012777 004537 000012 004537 SEQ 0073 R AR RN NRRERTRRNTRERRTRRNRERRRRNRRNRERRNRRRERRTRERNRRNRRONRROEROROEROROERRORROEROERRORROETCOETN STEST THAT THE RLBA WILL INCREMENT, WE DO NOT DO A FuLL 16 “BIT INCREMENT WE CMECK THAT EACH BIT WwiLL TOGGLE 0 10 ! CZRLHAD RLIT/RLVIY *oTEST 11ee = CHECK CTLR 2 FULL RLBA MACRO v03.01 9-FEB=79 19:01:51 INCREMENT 980 981 AND 1 70 0. ;WE USE STARS THE SEQ 0074 WE DO CHECK ALL BITS EVEN IF ;15 NOT AVAILABLE. 982 983 024326 J_ 6 PAGE 2-23 ALL MEMORY (WE IGNORE NON=-EXISTANT MEMORY ERRORS). SAME DISK ADDRESS (RANDOM) AND A 1 WORD TRANSFER. .-;"t't"ttt'"0"""tt"'"""'ltt'l't"'.l"'l'.ttt"""tt't 984 985 986 024326 987 024332 004737 0264340 024342 1064032 000134 33(1) 024344 005037 988 989 992 024350 021574 002170 104004 994 024352 995 024352 996 024360 012777 005077 013777 002170 999 024372 004537 020674 1000 024376 1001 024400 1002 024404 000012 004537 0264404 g 024406 104010 000066 1004 1005 1006 1007 013737 062737 013737 023737 024410 024416 0244264 024432 ;883 024440 001404 177777 155670 155676 3%: 155660 104462 000011 012373 014616 024452 e 024454 104010 000620 1013 1014 1015 18:? 006337 103404 052737 000727 1011 1 024452 024456 024462 024464 024472 }813 026474 1021 02644674 024476 024476 CSEXIT L10040-. (LR TMP1 021514 002170 000002 002236 002174 ($BSEG MOV CLR #-1,aRLMP aRLDA JSR RS, LDFUNC 002174 002174 002176 002176 4%: 002170 104005 100008%: ENDTST £ 10040: :XXSTART OF SEGMENTXX :ONLY ONE (1) WORD :LOAD DISK ADDRESS :BUS ADDRESS :LOAD THE FUNCTION IN NEXT WORD EMT .WORD CSESCAPE 10000%-. MOV ADD MOV CMP TMP1,GDDAT #2,GDDAT E.BA,BDDAT GDDAT,BDDAT :SET UP EXPECTED RLBA :PREVIOUS RLBA+2 :READ RLBA :WAS IT UPDATED PROPERLY? ERRDF 9. ,EM30,ERR4 :BA TRAP LWORD .WORD .WORD T1$ERCODE 9 EM30 ERR4 EMT .WORD CSESCAPE 10000%-. ESCAPE ASL BCS BIS K 002170 ;CLEAR LOCATION RS, WICKDY BEQ 5¢: TMP1,aRLBA :HEADS OVER TRACK 0 ;HEADS GO HCME OKAY WRITE JSR ESCAPE : 000002 EMT SEG 5% :WAIT ;CHECK :YES, FOR WRITE FOR TO FINISH FL:LOE, ELSE EXIT INCREMENT ERROR ;CHECK TMP1 6% #B1T1,TMPI 3% :NEXT PATTERN TO TEST :DONE? :NO, SET IN BIT 1 ;G0 CHECK NEXT. FOR FL:LOE, ELSE EXIT RLBA SEND TEST ENDSEG EMT (SESEG SEG CONTINUE SEG 6% : 1020 024474 024474 EMT LWORD MOV 1010 024442 026442 026444 024446 024450 PC,HDHOME BGNSEG -~ 0264350 ggg 026364 JSR (KERFG (A%END OF SEGMENTXX ;eeEND OF TESTee SEG CZRLHAD RLIY/RLVIT *oTEST 11ee = CHECK 026476 1022 1023 1024 1025 024500 1026 1027 024500 CTLR 2 FULL RLBA MACRO v03.01 INCREMENT 9-FEB=79 19:01:51 104001 SSBTTL PAGE K_6 2-24 EMT CSETST #«TEST 12+« - BA BiT 16 SEQ 0075 INCREMENI BGNTST s**START OF TEST#e STARS L 1028 1029 1030 1031 1032 024500 R R R R R R R R R R R R R R A R R ;CHECK THAT BA BIT 16 WILL INCREMENT. WE WILL LOAD THE :RLBA WITH 177776 AND ISSUE A ONE WORD WRITE WE THEN ;CHECK BA BIT 16 TO SET, BA 17 T0 STAY A 0 AND THE RLBA ;70 GO STARS TO ZERC ;:".""""..""""".'l A AR AR AR AR R RE 2] 1033 1034 1035 024500 004737 024514 024516 1036 024504 024512 1037 1038 024516 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 024520 024520 024526 024532 024540 024544 024550 024552 024556 024556 024560 1049 024562 1050 024570 1051 1052 024572 1053 024576 024576 024600 1054 1055 024602 1056 024610 1057 1058 024612 024612 024614 024616 1059 024620 1060 024622 024622 1061 1062 024624 1063 024632 021574 000160 JSR CKERFG EMT .WORD CSEXIT L10041-, 104004 BGNSEG EMT ($BSEG MOV CLR MOV (LR #177776,3RLBA XMEM #-1,3RLMP oRLDA 104032 012777 005037 012777 005077 004537 000012 004537 177776 155524 177777 155510 020674 155516 002270 2%: J;?IE W 021514 JSR ESCAPE EMT 104010 000112 032737 001002 020000 004537 020432 104010 000072 032737 001004 0000¢0 002234 104462 4%: 104006 032737 001404 000040 002234 SEGMENTXZ ;SET MAX BA TO INC. BAl6 ;WE DON'T WANT TO LOAD ANY EA ;ONE WORD TRANSFER sLOAD THE FUNCTION IN NEXT WORD sWAIT FOR WRITE TO FINISH BIT #NXM,E.CS sNON=-EXISTANT MEMORY ERROR? JSR ESCAPE EMT L40RD RS,CHERR SEG CSESCAPE 10000%-. sCHECK CNTLR FOR ERRORS ;CHECK FOR FL:LOE, ELSE EXIT SEG BIT BNE #BA16,E.CS 33 :DID BA16 SET? JYES, CONTINUE ERRDF TRAP 10.,EM31,ERRO TSERCODE ;BA 16 DID NOT LWORD LWORD .WORD 000012 012433 014452 RS,WICRDY sXXSTART OF sCHECK FOR FL:LOE, BNE 3%: RS.,LDFUNC sHEADS OVER TRACK O sHEADS GO HOME OKAY SEG (SESCAPE .WORD 002234 PC ,HDHCME CkLOOP 10000%-. 3% ($CLP BIT #BA17,E.(CS Bt Q 5% SEG SYES, CONTINUE INCREMENT 10 EM3) ERRO EMT ELSE EXIT :DID BA17 SET ALSO? sNO, GOOD CONTINUE CZRLHAD RLIT/RLVIT *+TEST CTL 12¢+ - BA BIT 1064 1065 024634 024634 024636 024640 024642 1066 1067 024644 024644 1068 1069 024646 1070 024652 1071 024660 1072 024662 024662 024664 024666 024670 1073 1074 024672 1075 1076 024672 024672 024672 1077 024674 024674 024674 1078 1 2 L_6 MACRO v03.01 9-FEB-79 19:01:51 PAGE 2-25 INCREMENT ERRDF 1046462 TRAP 000013 012476 014452 5%: 104006 005037 013737 001404 002174 002236 .WORD .WORD .WORD 1" EM32 ERRO (xLOOP EMT (scLPt (LR 002176 MOV BEQ ERRDF TRAP .WORD .WORD .WORD 104462 000014 012543 014616 11.,EM32,ERRO TSERCODE GDDAT E.BA,BDDAT 6% 12.,EM33,ERRS TSERCODE 12 EM33 ERR4 6%: 10000%: 104005 ENDTST L10041: 104001 1079 1080 1081 024676 1082 1083 024676 LSBTTL SEQ 0076 ;BA 17 GOT CARRIED AWAY sCHECK THAT BA15-BA0 IS CLEAR :READ BA ;1S BA ZERO? :BA SHOULD BE ZERO : ENDSEG EMT CSESEG EMT CSETST ««TEST 13#¢ = BA BIT JRXEND OF SEGMENTZX J**END OF TESTee 17 INCREMENT BGNTST ;*«START OF TESTwe STARS ':'l.'.'t"""t"""'l"'"""""'t'."l."'l"'.'.t"'.""t 1084 1085 108% 1087 1088 024676 ;CHECK THAT BA BIT 17 WILL INCREMENT. WE WILL LOAD THE ;RLBA WITH 177776 AND BA 16 SET, WE WILLISSUE A ONE WCRD ;WRITE. WE THEN CHECK BA17 TO SET, BA16 TO CLEAR AND :BA15 = BAD TO CLEAR. STARS ::'l"'t't"t"‘""""""""i""tt.".!"..l."'ltt"'tl"t' 1089 1090 1091 1092 024676 1093 024702 024710 024712 1094 1095 024714 1096 1097 1098 1099 1100 1101 1102 004737 021574 JSR CKERFG EMT 104032 000162 024714 024716 024716 024724 024732 024740 024744 177776 000020 177777 155310 020674 155326 002270 155316 2%: PC.HDHOME CSEXIT .WORD L10042-. BGNSEG EMT ($BSEG MOV MOV MOV CLR #177776,3RLBA #BA16,XMEM #-1,3RLMP aRLDA JSR RS,LDFUNC ;HEADS OVER TRACK 0 ;HEADS GO HOME OKAY ;AASTART OF SEGMENTXX :SET MAX BA TO INC. BAl6 ;SET BA16 IN RLCS :ONt WORD TRANSFER :LOAD THE FUNCTION IN NEXT WORD CZRLHAO RLIT/RLVIY CTLR 2 *+TEST 13++ = BA BIT 1103 024750 1106 024752 1105 024756 17 000012 004537 024756 024760 104010 0001ic }}8; 024770 0010C2 1106 024762 INCREMENT 021514 032737 020000 1109 024772 1110 024776 004537 020432 0264776 "1 025000 104010 000072 1112 025002 032737 }}}2 025010 1115 025012 025012 025014 025016 116 025020 1117 025022 001004 104006 1119 025024 032737 1122 025034 001404 025034 025036 025040 025042 104462 000016 012647 014452 1% 025044 104006 1125 1126 1127 1128 005037 013737 001404 1123 025044 025046 025052 025060 025062 025062 025064 025066 '129 025070 | ;WAIT FOR WRITE TO FINISH sCHECK FOR FL:LOE, ELSE EXIT SEG BIl NXM,E.CS sNON-EXISTANT MEMORY ERROR? 3%: JSR ESCAPE EMT .WORD RS ,CHERR SEG ;CHECK CNTLR FOR ERRORS :CHECK FOR FL:LOE, ELSE EXIT SEG 002234 #BA17,E.CS ;:DID BA17SET? 13.,EM34,ERRO ;BA 17 DID NOT SET :DID BA16 SET ALSO? BIT BNE ERRDF TRAP .WORD .WORD .WORD 6%: 000020 002234 CKLOOP 002176 (SESCAPE 10000%-. 6% TSERCODE 13 EM34 ERRO CSCLPI BIT #BA16,E.CS ERRDF 002174 002236 3% EMT BEQ 5%: (SESCAPE 10000%-. 14.,EM35,ERRO ;BA 16 DIDN'T KNOW WHEN TO QUIT. T$ERCODE 14 EM35 ERRO EMT CS$CLP1 CLR MOV BEQ ERRDF GDDAT E.BA,BDDAT 6% 15.,EM36,ERR4 TSERCODE TRAP LWORD .WORD .WORD 104005 104001 10000%: ENDTST L10042: }:gS LSBITL 1137 025076 BGNTST ;YES, CONTINUE :NO, GOOD CONTINUE TRAP .WORD .WORD .WORD CKLOOP ;YES, CONTINUE 5% ;CHECK THAT BA15-BA0 1S CLEAR ;READ BA ;1S BA [ERO? ;BA SHOULD BE ZERO 15 EM36 ERR& 6%: 1132 025072 6 RS ,WTCRDY SEG BNE 104462 000017 012714 014616 }}g? 025072 025072 025072 1133 025074 025074 "% 025074 000040 002234 SEQ 0077 WRITE JSR ESCAPE EMT .WORD 104462 000015 012604 014452 e 025022 }}g? 025032 L MACRO v03.01 9-FEB-79 19:01:51 PAGE 2-26 : ENDSEG EMT (SESEG EMT CSETST #«TEST 14++ = TEST READ NPR ;XXEND OF SEGMENTRZX s**END OF TESTee INTEGRITY ;**START OF TESTee N6 CZRLHAO RLIT/RLVIY CTLR 2 MACRO v03.01 9-FEB=79 19:01:51 PAGE 2-27 *+TEST 14%+ = TEST READ NPR INTEGRITY SEQ 0078 1138 1139 1140 1141 1142 025076 STARS :"t"'tt't'tt"t'""tl"t't"""'t'tltt't'ttll"ltt't'lt'ttt't' 1143 ;CHECK THAT NPR WILL NOT INTERFERE WITH THE OPERATION OF 1145 025076 STARS 1144 ;WE SETUP LOCATION & TO HANDLE THE TRAP IF IT HAPPENS THE UNiBUS :;tt"l"'t'tt""'ttt"""tt"""""tt't"'t""'ttttt.'t'..l 1146 1147 1148 025076 1149 025102 025110 004737 021574 JSR PC ., HDHOME tva 025112 104032 000132 CKERFG EMT .WORD L10043-. 1151 025114 025114 104004 BGNSEG EMT ($BSEG 1152 1153 1154 025116 025116 025122 025126 025132 025136 025140 1155 025144 1156 025150 1157 025156 012746 012746 013746 012746 104037 062706 005037 012777 005077 000010 002150 003260 155072 1159 025170 004537 020674 004537 021514 025202- 013700 025206 104036 1163 025210 025210 104010 025212 000030 1164 025214 004537 1165 025220 025220 104010 i 025222 000020 002140 1167 025224 1168 025230 1169 025232 025232 02523« 025236 025240 1170 025242 002150 1158 025162 1160 025174 1161 025176 1162 025202 nn 1172 1173 025242 012777 177777 000014 155074 155066 : SETVEC MOV MOV MOV MOV EMT ADD (LR MOV (LR #340,-(SP) #TRPHAN,=(SP) ERRVEC,=(SP) #3,-(SF) CSSVEC #10,SP TRPFLG #BUF ,aRLBA AKLDA JSR RS,LDFUNC JSR CLRVEC MOV READ MOV EMT ESCAPE EMT .WORD JSR ESCAPE EMT .WORD 020432 005737 001404 104462 000021 013405 014452 1%: 000340 021566 002140 000003 7$: CSEXIT 18 BEQ ERRDF TRAP LWORD .WORD .WORD ENDSEG ;HEADS OVER TRACK 0 ;HEADS GO HOME OKAY ;XXSTART OF SEGMENTXX ERRVEC,#TRPHAN,#340 ;SET UP VECTOR #-1,3RLMP ;CLEAR TRAP PLAY :LOAD BA :LOAD DA :LOAD WC RS,WTCRDY ERRVEC ; :CLEAR OUT VECTOR ERRVEC,RO CSCVEC SEG CSESCAPE 10000%-. RS,CHERR SEG (SESCAPE 10000%~-. TRPFLG 7% 17, ,EN52,ERRO TSERCODE 17 EMS2 ERRD :LOAD THE FUNCTION IN NEXT WORD ;CHECK FOR FL:LOE, ELSE EXIT SEG ;CHECK CNTLR FOR ERRORS ;CHECK FOR FL:LOE, ELSE EX!T S£G :DID TRAP OCCUR? :NO, OKAY ;YES, PRINT ERROR ;AXEND OF SEGMENTRY - CIRLMAD RLITV/ZRLVYIY (o RV NN~ . W~~~ N0V~ T Qg ) D 14ee = s B s —— el *oTEST 025262 025242 025264 025246 025244 TEST CTLR 2 READ NPR e B 7 MACRO v03.01 9-FEB=-/9 19:01:51 PAGE 2-28 INTEGRITY 100008 : 104005 Emt SEQ 0079 (SESEG ENDTST L10063: 10400 SBTTL 025246 BGNTST 025246 STARS s**END OF Ml (SETST ##TEST 15¢¢ - READ FUNCTION TESTer ;**START OF TESTer o i o OO NOWVIFW ":"."""""""""""""""""""".'."'.'0"'."""' ;CHECK OF THE READ FUNCTION. WE WILL FIRST DO A READ ;HEADER TO FIND OUT WHERE WE ARE AND THEN ISSUE ;A FULL SECTOR READ, WAIT FOR READY AND CHECK FOR . ANY 025246 STARS ERRORS VO W s — =1o] OCVOVOOOY N —a OCOVB/NOWVE — — ) — e B — —_— vL — OO0 —=O0VW® ::"'"""l""".""""""'"""""'.""'..I.".""""' 000064 JSR CKERFG EMT .WORD 025264 025264 104004 BGNSEG EMT ($BSEG 025266 025274 025300 025306 012737 005077 012777 012777 154754 177600 003260 MOV CLR MOV MOV #1000.,TMPO aRLDA #-128. ,3RLMP #BUF ,aRLBA 025314 025320 025322 004537 020674 JSR RS,LDFUNC 004537 021514 JSR ESCAPE EMT .WORD R5,WTCRDY SEG CSESCAPE 10000%~-. 1203 025326 004737 021574 025246 025252 025260 025262 106032 000014 001750 002166 154750 154736 1%: READ 104010 PC,HDHOME CSEXIT L10044~-. ;HEADS OVER TRACK 0 ;HEADS GO HOME OKAY sAXSTART OF :LOAD DISK ADDRESS ;SET WORD LENGTH :SET BUS ADDRESS sREAD sLOAD THE FUNCTION IN NEXT WORD ;WAIT FOR CONTROI.LER READY sCHECK FOR FL:LOE, ELSE EXIT SEG 025326 025330 000014 1205 025332 004537 020432 JSR RS,CHERR 1208 025342 005337 001354 002166 DEC BNE ENDSEG TMPO 1% EMT ($ESEG EMT CSETST #+TEST 16++ = READ FUNCTION INTERRUPT 1204 1206 1207 025336 1209 025344 025344 025344 - s 025346 025346 104005 104001 ENDTST L10044: JSBTTL NN WS — il ks — — — — — noroncoN 1210 025346 10000%: 025350 BGNTST ; SEGMENTZX ;CHECK CNTLR FOR ERRORS JRXEND OF SEGMENTXZ s**END OF TESTee ;o*START OF TEST e 1 ——————— CZRLWAD RLTT/RLVIY *+TEST CTLR 2 ¢ 16*+ = READ FUNCTION 7 MACRO v03.01 9-FEB-79 19:01:51 PAGE 2-29 INTERRUPT 1216 025350 SEQ 0080 STARS ::"'""""""""""'"""'.""""."""""""'."'Q0' 1217 1218 1219 1220 1221 025350 sCHECK OF THE READ FUNCTION UNDER INTERRUPT CONTROL, WE wiILL ;ISSUE A READ HEADER TO GET POSITION AND THEN READ A FULL SECTOR WAITING FOR THE INTERRUPT. C(HECKX FOR sERRORS ON INTERRUPT. STARS ::'0".""'0"""Q""t""""Q""t."l't"t'l""'t"'t"t" 1222 1223 1226 025350 1225 025354 004737 21574 JSR CKERFG PC,HDHOME 025362 122 025364 104032 000106 EMT LWORD CSEXIT L10045-. 1227 025366 228 025366 104004 BGNSEG EMT ($BSEG 1229 025370 1230 025374 005037 005077 CLR CLR INTFLG aRLDA 1231 025400 }S%g 025406 1234 025414 025414 025420 012777 012777 012700 104041 1235 025422 1236 025426 1237 025430 004537 000114 004537 025434 104006 025436 36 025442 012700 104041 005737 001004 1238 025434 1239 025436 1264 1241 025444 ;Sag 025450 002152 154654 177600 003260 154650 154636 MCvV MOV SETPRI 000000 MOV EMT 020674 #-128. ,3RLMP #BUF ,aRLBA #PRIO0O #PRI00,RO C$SPRI JSR RS,LDFUNC READ'INTEN 021514 JSR CKLOOP EMT RS,WTCRDY C$CLPY sHEADS OVER TRACK 0 sHEADS GO HOME OKAY :XASTART OF SEGMENTXZX sCLEAR INTERRUPT INDICATOR ;SET DISK ADDRESS ;SET UP WORD COUNT ;SET UP BUS ADDRESS ;PRIORITY T0 0 sLOAD THE FUNCTION IN NEXT WORD ;READ UNDER INTERRUPT sWAIT FOR INTERRUPT 000340 SFTPRI Mov EMT #PRIO7 ;PRIORITY 002152 TS1 BNE INTFLG 1% :DID INTERRUPT OCCUR? :YES=BRANCH NO=REPORT 19.,EM4 ,ERRD sREAD DID NOT #PR107,R0 ($SPRI T0 7 'A 1244 025452 025452 025454 025456 025460 104462 000023 011015 014452 025462 104006 %34; 025464 004537 1245 025462 12 L6 ERRDF 1%: 020432 TRAP .WORD LWORD .WORD T$ERCODE 19 EM4 ERRO EMT CS$CLPI JSR RS,CHERR CKLOOP INTERRUPT ;CHECX FOR LOOP :CHECK CNTLR FOR ERRORS 'A 1249 025470 025470 025470 1250 025472 025472 1251 025472 122% 12 104005 104001 10000%: ENDTST L10045: JSBTTL ENDSEG — JAXEND OF SEGMENTXX s**END OF TESTee EMT ($ESEG EMT CSETST #eTEST 17+ = (HECK READ NPR DIRECTION g 0D 7 CZRLMAD RL11/RLVIT CTLR 2 MACRO v03.01 9-FEB=79 19:01:51 PAGE 2-30 *+TEST 179+ = CHECK READ NPR DIRECTION }52; 025474 BGNTST 1256 025474 STARS SEQ 0081 ;#*START OF TESTee ::""'.""""""'."""""""""'."."'.'."""'.""l' 1257 1258 1259 1260 1261 1262 1263 1264 :CHECK THAT THE READ FUNCTION ACTUALLY READS (INTO MEMORY) :WE WILL WKITE A PATTERN INTO MEMORY AND THEN ISSUE :A READ TO OVERLAY THAT PATTERN. AFTER THE READ :WE CHECK TO SEE IF THE WRITTEN PATTERN HAS CHANGED. :1F NOT WE ISSUE IT AGAIN AT THE SAME SECTION AFTER :MAVING MODIFIED OUR PATTERN IN MEMORY (SINCE THERE 1S ;ONE CHANCE THAT THE DISK COULD WAVE OUR PATTERN). AFTER :THE SECOND READ WE CHECK THE BUFFER AGAIN. IF IT°S 1265 1266 025474 :NO CHANGED WE REPORT AN ERROR STARS ;:'.""""""'"""""""""""""".."I""'""."." 1267 1268 1269 025474 1270 025500 025506 e 025510 1272 625512 004737 021574 104032 000156 BGNSEG ke 025512 104004 1274 1275 1276 1277 1278 1279 025514 025522 025526 025532 025536 025542 012737 005037 012700 012701 013720 005301 123456 002170 003260 000200 002166 1281 025546 005077 154502 1280 025544 1282 025552 1283 025560 zggg 025566 1286 025574 1287 025600 1288 025602 1289 025606 025606 001374 012777 012777 012737 177600 003260 003260 004537 020674 000014 004537 T 025610 104010 000054 1291 025612 004537 025616 104010 1292 025616 S 025620 000044 1294 025622 012702 1289 025632 001014 1300 025634 1301 025640 005737 001005 1295 025626 12 1298 1299 JSR CKERFG EMT JWORD 022237 002166 18 2: ($BSEG MOV (LR MOV MOV MOV DEC #123456,TMPO TMP1 #BUF RO #128. ,R1 TMPO, (RO) + R1 CLR SRLDA JSR RS, LDFUNC MOV MOV MOV READ JSR ESCAPE EMT 021514 020432 002166 002170 #-128.,3RLMP #BUF ,aRLBA #BUF ,GDDAT RS.WTCRDY SEG ;XXSTART OF ;WRITE BUFFER :DONE?? iNO, GO BACK :LOAD DISK ADDRESS ;SET WORD COUNT :LOAD BUS ADDRESS :FOR ERROR PRINT ;LOAD RS, CHERR EMT ($ESCAPE MOV #BUF ,R2 ;SET BNE 6% IYES, 151 BNE TMP1 5% CMP THE FUNCTION IN NEXT ;READ :WAIT FOR CONTROLLER READY ;CHECK FOR FL:LOE, ELSE EXIT JSR SEG SEGMENTZX ;SET PATTERN T0 WRITE :CLEAR PASS INDICATOR :SET UP BUFFER BEGINNING CSESCAPE 10000$-. ESCAPE 4$: 2% ;MEADS OVER TRACK 0 :MEADS GO HOME OKAY .WORD .WORD 003260 CSEXIT L10046-. EMT BNE 154476 154464 002174 PC , HDHOME ;CHECK CNTLR FOR ERROR ;CHECK FOR FL:LOE, ELSE EXIT 10000$-. (R2)+,TMPO SEG TO START COMPARING DATA :DID DATA CHANGE? : CHECK FOR END ;DATA DIDN'T CHANGE, :1F 1ST DR 2ND TIME? ;’ND=REPORT 1S1=TRY CHECK AGAIN SEG WORD CIRLMAD RLIT/RLVYY *oTEST 17+¢ CTLR 2 E 7 MACRO v03.01 9=FEB=79 19:01:51 PAGE 2-31 = CHECK READ NPR DIRECTION 1302 1303 025642 005237 }ggz 025652 000725 1304 025646 1307 025654 025654 025656 025660 025662 1308 1309 025664 1310 1311 025664 025664 025664 1312 025666 025666 1518 025666 005137 002179 002166 INC TMP1 ;s INC PASS COUNT BR 1} 3 :GO DO IT AGAIN (oM 5%: 104462 000024 011054 015044 SEQ 0082 ERRDF TRAP .WORD .WORD .WORD TMPO 20.,EM5 ,ERR9 T$ERCODE 20 EMS ERR9 ;COMPLIMENT PATTERN ;READ DID NOT MODIFY MEMORY 6%: 10000%: 104005 ENDTST L10046: 104001 }g}g LSBTTL }%}? 025670 BGNTST 1318 025670 STARS ENDSEG JAXEND OF SEGMENTZX s**END OF TESTwe EMT ($ESEG EMT CSETST #«TEST 18++ = PROPER INCREMENT OF RLBA ON READ ;**START OF TESTer ;.'"ttt"t"'t"""'t't""itl"".t'tt"ttt"tt't'ttt't"t'tttt 1319 1320 1321 1322 025670 sCHECK THAT THE RLBA WILL INCREMENT WITH THE READ :THE RLBA SHOULD CONTAIN '"BUF +256.'' AFTER A FULL SECTOR sREAD. STARS ":"t'ttt't'tl"0"""""'tt't"""t"'l'tt.!ttttttlt't.'"'l‘l 1323 1324 1325 025670 1326 025674 025702 1527 025704 1328 025706 004737 104004 1330 025710 005077 025714 025722 025730 025736 1336 025744 1337 025750 1338 025752 1339 025756 BGNSEG 154340 062737 003260 177600 003260 000400 004537 020674 000014 004537 104010 000040 1361 025762 13642 025766 004537 025766 EMT LWORD 012777 012777 012737 025756 o 025760 &L JSR CKERFG 104032 000116 T 025706 1331 1332 1333 }ggg 021574 104010 021514 154330 154326 00.!'74 002174 CSEX]T L10047~-, EMT ($BSEG CLR oRLDA MCV MOV MOV ADD #BUF ,aRLBA #-128.,3RLMP #BUF ,GDDAT #256.,GDDAT JSR RS.,LDFUNC READ JSR ESCAPE EMT .WORD 020432 PC ,HDHOME JSR ESCAPE EMT sHEADS OVER TRACK sHEADS GO HOME OKAY sXXSTART OF SEGMENTX% JSET UP DISK ADDRESS ;SET UP BUS ADDRESS ;WORD COUNT sFORM EXPECTED BUS ADDRESS :AFTER READ sLOAD THE FUNCTION IN NEXT WORD RS,WTCRDY SEG :READ :WAIT FOR CONTROLLER READY sCHECK FOR FL:LOE, ELSE EXIT RS,CHERR SEG sCHECK CNTLR FOR ERRORS sOHECK FOR FL:LOE, ELSE EXIT SEG CSESCAPE 10000%-. ($ESCAPE SEG = —————— *sTEST CTLR 2 18e+ « PROPER 1343 1344 1345 1346 1347 025770 025772 026000 026006 026010 026010 026012 026914 026016 1348 1349 026020 1350 1351 026020 026020 026020 026022 026022 026022 INCREMENT 000030 013737 023737 001404 002236 002176 MACRO v03.01 OF 9-FEB=79 19:01:51 RLBA ON READ (MP 10000%-. £.BA,BDDAT ngkT.GDDAI ERKDF 2 .WORD .WORD .WORD £ 6 R& ERR .WORD 002176 002174 MOV BEQ 106462 TRAP 000025 011120 014616 PAGE 1 2 g . EM6 ERRS ERCODE VWP CIRLHAD RLTT/RLVIY 2-32 SEQ 0083 ;READ "RLBA' FOR PRESENT ADDRESS ;DID "BA" INCREMENT PROPERLY? ;YES, CONTINUE ;BA DID NOT INCREMENT PROPERLY 1%: 100908: 104005 ENDTST L10047: 104001 .SBTTL 026024 BGNTST 026024 STARS e i ENDSEG EMT ($ESEG EM1 (SETST ¢+TEST 19+¢ - PROPER SRXEND OF SEGMENTZZ s**END OF TESTw» INCREMENT OF RLDA ON READ ;**START OF TESTee i22Rl RR R R ;CHECK THAT THE RLDA INCREMENTS BY ONE AFTER A ;FULL SECTOR READ, WE FIRST READ A HEADER TO FIND ;O0UT WHERE WE ARE, THEN ISSUE A READ AFTER ;THE READ THE RLDA SHOULD BE RLDA (START) + 1 026024 STARS :;'"""""""""""""""".'..l""'.".".I.Q'I'l""t' N AN N 2o 00 00 W — OOV®NO NS W —=O NN N AN N N NN W W S OO NN NNNNNNNYN 026024 026030 02603¢ 004737 021574 000114 026042 026042 104004 026044 026050 026056 026062 026070 005037 013777 005237 012777 012777 002174 002174 002174 026076 026102 026104 026110 026110 004537 000014 004537 020674 026112 000040 026114 026120 004537 PC,HDHOME EMT .WORD (SEXIT (KERFG 1064032 026040 JSR BGNSEG 177600 003260 021514 104010 020432 ;HEADS GO HOME OKAY L10050~-. EMI ($BSEG CLR INC MOV GDDAT GDDAT,aRLDA GDDAT #-128. ,aRLMP 154176 MOV 154166 154154 MOV #BUF ,aRLBA JSR RS, LDFUNC JSR ESCAPE EMT .WORD RS,WTICRDY SEG JSR ESCAPE RS,(HERR READ ;HEADS OVER TRA(K C (SESCAPE ;AXSTART OF SEGMENTZX :SETUP DISK ADDRESS ;CREATE EXPECTED :WORD COUNT SECTOR ;SETUP BUS ADDRESS ;READ ;WAIT +(HECK sLOAD THE FUNCTION IN NEXT FOR CONTROLLER READY FOR FL:LOE, ELSE EXIT SEG 10000%=-. SEG s(HECK CNTLR FOR ERRORS ((HECK FOR FL:LOE, ELSE EXIT SEG WORD CIRLHAD RUTT/RLVYIY *oTEST 1Gee CTLR 2 ~ PROPER 026120 026122 1384 1385 026124 1386 026132 1387 026140 1388 1389 026142 026142 026144 026146 026150 1390 1391 026152 1392 1393 026152 0261%2 026152 1394 026154 026154 026154 1395 1396 1397 1398 026156 1399 1400 026156 INCREMENT MACRO v03.01 OF 9-FEB=79 19:01:51 RLDA ON READ 104010 000030 013737 023737 001404 002240 002174 002176 002176 7 2-33 SEQ 0084 (SESCAPE 10000%-. MOV (MP E.DA,BDDAT GDDAT ,BDDAT ;READ DISK ADDRESS :DID SECYOR INCREMENT PROPERLY ERRDF 22.,EM7 ,ERRS ;DISK ADDRESS DID NOT INCREMENT .WORD .WORD 22 EM7 1% TRAP 000026 011174 014616 6 EMT .WORD BEG 104462 PAGE .WORD sYES, BRANCH T$ERCODE NO, REPORT ERROR ERR& 1%: ENDSEG 10000%: 104005 ENDTST L10050: 104001 LSBTTL EMT (S$ESEG EMT CSETST #«TEST 20¢+ - FORCE HEADER NOT BGNTST JAXEND OF SEGMENTZX s**END OF TESTwe FOUND WITH READ ;**START OF TESTee STARS A 1401 1402 AL RS ;FORCE A AR HEADER NOT R R ARRRRRl FOUND ERROR RS TO OCCUR. THIS IS ;BY SETTING SECTOR 40 OF THE RLDA AND ISSUING A ;READ. SECTOR 40 DOES NOT EXIST ON THE RLO1 PACK 1403 1604 140° 026156 :{:S:EFORE S HDR NT RRRRRRRRE RN DONE FOUND SHOULD SET. ::'t.'."l.""""'""'Q"'"""""""'l'l'.'l"'.'l"""'. 1406 1407 02615¢ 1408 026162 026170 026172 1409 1410 026174 004737 021574 1414 1415 1416 1417 1418 1419 1420 026204 026212 000050 003260 177777 026220 026224 026226 026232 026232 026234 020674 1422 02623%6 16423 026244 002234 001777 1421 PC,HDHOME EMT .WORD CSEXIT L10051~-. BGNSEG EMT ($BSEG MOv #40.,aRLDA JSR RS5,LDFUNC JSR RS,WICRDY EMT .WORD (SESCAPE 100C0%~-. CKERFG 104032 000102 026174 1411 1412 1413 026176 JSR 154050 154040 154036 MOv MOV READ 021514 ESCAPE 002166 002166 MOV BIC #BUF ,aRLBA #-1,3RLMP SEG E.CS,TMPO #1777,1MP0 ;HEADS OVER TRACK 0 ;HEADS GO HOME OKAY ;A%ASTART OF s INSURE NOT SEGMENTZX TO FIND HEADER BY SSETTING SECTOR 40 OF ;WORD COUNT ;READ CyL. ;LOAD THE FUNCTION IN NEXT WORD ;WAIT FOR CONTROLLER READY ;(HECK FOR FL:LOE, JGET ADDR. RLCS ;SAVE ERROR BITS ELSE EXIT SEG CIRLHAD RLIT/RLVYIY CTLR 2 *2TEST 20ee = FORCE HEADER NOT 1624 026252 1425 026260 1426 1627 026262 - 026262 026264 026266 026270 14¢8 16429 026272 1430 16431 1432 026272 026272 026272 16433 026274 026274 026274 1434 1435 1436 16437 026276 1438 1439 1440 026276 022737 001404 112000 MACRO v03.01 9=FEB=79 FOUND WITH READ 002166 H 7 2-34 SEQ 0085 #BITIS!BIT12!BITI0,TMPQ % ;YES, ERRDF 23 sHEADER NOT WORD 23 ER10,ERRO TSERCODE TRAP 000027 011251 014452 PAGE (MpP BEQ 104462 19:01:51 .WORD .WORD ;HDR NOT FOUND SET. CONTINUE FOUND WOULD NOT SET EM ER 1%: 10000%: 104005 ENDTST L10051: 104001 .SBTTL ENDSEG EMT (SESEG EMT (SETST *+TEST 21ee = FORCE HEADER NOT ;XXEND OF SEGMENTZZ ;**END OF TESTer» FOUND BGNTST WITH READ ;**START OF INTERRUPT TEST#» STARS il AR AR Rl Rl RRRRRR STEST THAT HEADER NOT FOUND ERROR WILL GENERATE AN INTERRUPI 1441 sON OCCURANCE. 1642 1443 1444 026276 ;SECTOR 40 OF STARS HEADER NOT RLDA AND FOUND WILL BE ISSUING A READ FORCED BY R ) SETTING :;"""l""'""l'"'"""Q"""'."""".'.'.".""""." 004737 021574 026310 026312 000142 026314 104004 02631¢ 026322 012700 000000 005037 012777 012777 012777 002152 000050 003260 004537 020674 004537 021514 16455 026336 1656 026344 1457 1458 026352 1459 026356 1460 026360 1461 026564 000114 026364 104006 026366 026372 012700 1462 026366 104041 77777 000340 Eale e 1454 026330 BGNSEG NN 16453 026324 1046041 EMT LWORD NN N 1451 1452 026316 104032 — 1449 16450 026314 JSR (KERFG (W LW W 16445 1446 1447 020276 16448 026302 PC,HDHOME CSEXIT L10052~-. EMT ($BSEG SETPRI #PRIOO MOV EMT CLR MOV MOV MOV #PR100,RO C$SPRI INTFLG #40.,3RLDA #BUF ,aRLBA #-1,aRLMP JSR RS,LDFUNC JSR RS,WTICRDY EMT SETPR] MOV EMT ($CLPT #PRIO7 #PR107,R0 ($SPR] READ!INTEN CKLOOP ;HEADS OVER TRA(K ;HEADS GO HOME C OKAY SRXSTART OF SEGMENTXZ ;CLEAR INTERRUPT OCCURANCE FLAu : INSURE NOT TO FIND HEADER BY ;SETTING SECTOR 40 OF :WORD COUNT :READ sWAIT CyL. ADDR. sLOAD THE FUNCTION IN NEXT WORD FOR CONTROLLER READY CIRLHAG RUTY/RLYYIY *+TEST 1463 1466 026374 }:gg 026400 1467 026402 026402 026404 026406 i 026410 ' 1469 026412 0266412 026414 1470 1471 1472 026416 16473 0264264 16476 026432 }a;g 026440 'A 1477 026442 026442 026444 026446 026450 1478 1479 026452 1480 1481 CTLR 2 21ve = FORCE WEADER NOT 005737 001004 MACRO v03.01 9-FEB-79 19:01:51 FOUND WITH READ INTERRUPT 002152 1S1 104462 000039 2%: 104010 000036 013737 042737 022737 001404 002234« 001777 11200C 1482 026454 026454 .t 02645« 16 lagg SYES :DID INTERRUPT OCCUR ERRDF 24. ,EMLS,ERRO ;HNF DID NOT .WORD .WORD EM43 ERRO ESCAPE SEG MOV BIC (Mp E.CS,TMPO :GET RLCS #1777,1MP0 :SAVE ERROR BITS #BITIS!BIT12!'BIT10,TMPO :WDR NOT ERRDF 25.,EM10,ERRO BEQ 104462 000031 011251 014452 TSERCODE 24 sCHECK CSESCAPE 10000%-. 1% TRAP .WORD .WORD .WORD FOR FL:LOE, T$ERCODE 25 EM10 ERRO 10000%: ENDTST L10052: 104001 LSBTTL EMT . EMT #«TEST ELSE EXIT SEG FOUND SET. ;WHEN FORCED ENDSEG 104005 INTERRUPT ;YES, CONTINUE 1%: 026452 026452 026452 INTFLG SEQ 0086 2% EMT .WORD 002166 002106 002166 2-35 BNE TRAP .WORD 013131 014452 PAGE g 1.7 JXXEND ($ESEG OF s**END OF SEGMENTZX TESTer C$ETST 22¢+¢ = (HECK HEADER COMPARE LOGIC 11_‘ ;4%3 026456 BGNTST :#«START OF TESTee & 1488 02565456 STARS ‘-"t'tt"tttttI!tltt"'tl""'!tt!"ttt'lttttttt'tlttttt"itt'tt't 1489 1450 1491 1497 ;CHECK THE HEADER COMPARE LOGIC WORKS. UP TO THIS POINT ;KNOW THAT THE LOGIC FUNCTIONS PROPERLY BUT NOW WE WILL sCHECK ALL THE BITS IN THE HEADER WORD. FOUR PATTERNS JARE USED A WALKING 1, GROWING 1, WALKING 0O, GROWING 0. 1494 1495 1496 1497 1498 026456 ;TRACK, ONCE WE ARE ON THE RIGHT TRACKWE LOAD THE RLDA JAND ISSUE THE READ. UPON COMPLETION WE WILLCHECKX FOR ERRORS :WE THEN LOAD THE COMPLIMENT PATTERN INTO THE RLDA JEXPECTING A HEADER NOT FOUND TO SET STARS 1493 ;1S 1SSUED BEFORE EACH READ TO INSURE WE ARE ON THE WE A SEEn PROPER ".'tt"!tt"""t'tt""l'l"t'"tl!ttltttttltl!'lttltlltttt'tttt' 1499 026470 004737 104032 021574 JSR (KERFG EMT PC ,HDHOME ($EX]T ;HEADS OVER TRA{K 0 ;HEADS GO HOME OxAy —— 1501 026456 1502 026462 | 1500 CIRLMAD RLUIT/RLYIY eeTEST 22¢¢ = s s —, et ~NOoOnwSsw e 2 s — N = - O 0o VAN —— sl (W RV V) S NwwWWWW W W N oo oo R = OOVBNO NI W —=O VNV WA — ) o it s D il — — ——-lh — - ANV WD < — —h — s —h il il il D VWV AN AN NN NN — AN N -t OOO =00V~ 026472 1503 1504 026474 0264746 1505 1506 026476 026476 026502 026504 026512 026514 026520 026522 026526 026526 026530 026530 026534 026536 026542 026542 (MECK CTLR 2 WEADER C(OMPARE LOGIC 9-FEB=79 19:01:51 PAGE 000574 .WORD L10053-. 104004 BGNSEG EMT ($BSEG 0127G) 000340 022737 001003 012703 000402 012703 000001 104041 SETPR] MCv EMT (MP BNE 002126 004537 000010 004537 #HTAB,R3 021514 104010 000516 026546 026552 026552 026554 026556 004537 020432 104010 000506 013737 042737 012777 011337 042737 163737 103404 052777 000402 005437 053777 032713 001403 052777 004537 000006 026666 026672 026672 026674 004537 026676 026702 026702 026704 004537 026706 004537 22% MOV JSR RDHDR 002242 002170 000177 000001 002172 000177 002170 002170 153454 002172 002172 000004 153424 002172 002172 00C100 153410 000020 153374 020674 021514 104010 000366 4%: 104010 000356 021454 RS,LDFUNC JSR ESCAPE EMT .WORD RS,CHERR SEG (SESCAPE 10001%-. E.MP,TMP] BIC #177,TMP1 #1,aRLDA BIC SUB BCS BIS BR NEG BIS BIT BEQ BIS JSR SEEK (R3),TMP2 #177,1MP2 TMP1,TMP2 2% #SIGN,aRLDA 3% TMP2 TMP2 ,dRLDA FRHHS , (R3) 4% #DAHS ,aRLDA R5,LDFUNC RS ,WTCRDY SEG JSR ESCAPE .WORD RS,CHERR SEG (SESCAPE 10001%~-. JSR RS ,WTDRDY (SESCAPE 10001%~-. 1O TYPE SEGMENTZZ 7 OF DRIVE (RLOY OR RLO2) :RLO2? THEN BRANCH MOV ADDRESS OF BEG PATTERN T0 R3 ;. THEN BRANCH MOV ADDRESS OF BEG PATTERN TO R3 ;START OF SEGMENT sLOAD THE FUNCTION IN NEXT WORD ;READ HEADER ;WAIT FOR CONTROLLRE READY .(HECK FOR FL:LOE, ELSE EXIT SEG :CHECK CNTLR FOR ERRORS ;(HECK FOR FL:LOE, ELSE EXIT SEG :READ AND SAVE HEADER sCLEAR OUT SECTOR AND H.S. ;SETUP MARKER FOR SEEK sGET HEADER PATTERN sCLEAR OUT SECTOR AND H.S. sCALCULATE DIFFERENCE TO SEEK ;BRANCH FOR SEEK OuT ;SEEK TOWARDS SPINDLE ;GO PUT IN DIFFERENCE WORD sWE HAVE 10 NEGATE DIFFERENCE sSET IN DIFFERENCE WORD ;D0 WE WANT HEAD SELECT AS 0? JYES, SKIP OVER SETTING H.S. sSET HEAD SELECT TO ONE - JSR ESCAPE EMT .WORD 020432 ($BSEG RS ,WTCRDY SEG (SESCAPE 10001%~-. MOV MOV 2%: 3%: 33% JSR ESCAPE EMT .WORD MOV ;RASTART OF sCHECK ($SPRI 002702 020674 SEQ 0087 #1,1.DRIVE #HDRTAB,R3 BGNSEG EMT 7 2-36 ;PRIORITY MOV BR J #PRI1O7 #PR107,R0 002522 104094 026544 026564 026572 026600 026604 026612 026620 026622 026630 026632 026636 026644 026650 026652 026660 026664 MACRO v03.01 SEE K sLOAD THE FUNCTION IN NEXT WORD ;WAIT FOR CONTROLLER READY ;(HECK FOR FL:LOE, ;(HECK FOR FL:LOE, ELSE EXIT SEG s CHECK CNTLR FOR ERRORS ELSE ;WALT FOR DRIVE READY EX]IT SEG CZRLHAD RLIT/RLVIT 1547 026712 026712 026714 1548 026716 1549 026722 1550 026724 1551 026730 026730 026732 1553 026734 1554 026740 026744 026752 026760 026764 026772 027000 1563 627002 027002 027004 027006 027010 1565 027012 001404 002176 002176 MOV 002174 BIC E.MP,BDDAT SECMSK ,BDDAT (R3),GDDAT SECMSK,GDDAT ggbh].BDDAl BIC MOV 002176 (MP BEQ 104462 1567 1568 1569 1570 027016 027022 027030 02703¢ 011377 042777 012777 012777 1572 1573 1574 1575 027044 027050 027052 027056 004537 000014 004537 5%: 153232 177777 315 6 315 2 777 7 00326 0 MOV (R3) ,aRLDA 027116 027122 027124 020674 b NN w S s o NN —— — — CONTINUE ;SEEXK INCORRECT FOR Fi:LOE, sWORD COUNT ;BUS ADDRESS 027072 027076 027102 027110 021514 :YES, #BUF ,aRLBA RS,CHERR SEG (SESCAPE 10001%~-. 027066 027070 COM MOV MOV aRLDA #-1,3RLMP #BUF ,aRLBA :READ ;WAIT ELSE EXIT SEG ;LOAD THE FUNCTION IN NEXT WORD FOR CONTROLLER READY ;(HECK FOR FL:LOE, ELSE EXIT SEG sCHECK CNTLR FOR ERROR> ;CHECK FOR FL:LOE, ELSE EXIT SEG ;SET UP DISK ADDRESS AS : COMPLIMENT :WORD COUNT TO CAUSE HDR NT END ;BUS ADDRESS :LOAD THE FUNCTION IN NEXT WORD JSR RS, LDFUNC e JSR RS.,WICRDY “WAIT FOR CONTROLLER READY READ SEG ;SAVE CYLINDER FOR COMPARE ;GET EXPECTED HEADER ;SAVE CYLINDER FOR COMPARE :StEK END UP OKAY sSET UP DISK ADDRESS JSR ESCAPE EMT .WORD 004537 EXIT ;READ HEADER (R3) ,aRLDA #77 ,3RLDA #-1,3RLMP 020432 000202 ELSE ;CHECK ESCAPE EMT .WORD 1576 1577 027062 1578 027066 sCHECK CNTLR FOR ERRORS FOR FL:LOE, ERRG RS ,WICRDY SEG (SESCAPE 10001%-. 104010 ;CHECK SEG LSESCAPE 10001%-~-. TSERCODE RS .,LDFUNC 027056 027060 SEG 100018~ JSR 021514 SEG ;LOAD THE FUNCTION IN NEXT WORD ESCAPE EMT .WORD READ JSR EXIT ;READ HEADER (VERIFY SEEK) ;WAIT FOR CONTROLLER READY ;CHECK FOR FL:LOE, ELSE EXIT 27 EMIT MOV MOv 020674 ELSE .WORD .WORD .WORD BIC 003260 FOR FL:LOE, 27.,EM11,ERRS MOV 000077 (SESCAPE ;CHECK ERRDF TRAP 000033 011316 014616 104010 000246 10001%-. RS ,LDFUNC RS,CHERR SEG (SESCAPE 10001%-. 000320 002242 002156 002174 002156 002174 SEG JSR ESCAPE EMT .WORD 020432 7 2-37 (SESCAPE RS ,WICRDY SEG 104010 013737 043737 011337 043737 023737 K JSK t SCAPE EMT .WORD 000330 027012 027014 1579 1580 1581 1582 1583 1584 1585 1586 1587 021514 PAGE SEQ 0088 RDHDP 104010 004537 9-FEB=79 19:01:51 ESCAPE EMT .WORD JSR 020674 i 1556 1557 1558 1559 1560 1561 004537 0000190 004537 NV 1 026740 026742 104010 000346 — **TEST MACRO v03.01 c2v+ = (HECK HEADER COMPARE LOGIC CTLR 2 CIZRLHAD RLYT/RLVIY CTLR 2 MACRO v03.01 *eTEST 22++ = (HECK HEADER COMPARE LOGIC 9-FEB-79 19:01:51 1588 027130 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 027130 027132 02713 027142 027150 027156 027160 027164 001402 004537 112000 104006 027166 027174 022737 001413 112000 027176 027202 027210 011337 013737 005137 002174 002174 002176 027214 027214 027216 104462 027220 027222 027262 1618 1616 027264 027264 027264 1620 027266 027266 027266 1621 1622 1624 027270 1625 1626 027270 002166 002166 002166 020432 027164 1605 027224 027224 027226 1606 1607 027230 1608 027232 1609 027240 1610 027242 1611 027246 1612 027250 1613 027254 1614 027256 1615 1616 027262 1617 027262 027262 1623 002234 001777 ESCAPE EMI .WORD MOV BIC (MP BEQ JSR (xLOOP EMT 8%: 002166 CMP BEQ 000034 €% 104010 000034 005723 022737 001003 020327 000402 020327 00140¢ 000137 000001 002700 003066 026530 60%: 77%: 104005 104005 104001 100008 : ENDTST L10053: .SBTTL ;CHECK FOR FL:LOE, ELSE EXIT SEG ;GET CS #1777,1THPQ : SAVE ERROR BITS #BITIS!BIT12!BITI0,TMPO :DID HEADER NOT FOUND SET 8% RS,CHERR ;YES, CONTINUE C($CLP #BIT15!BIT12!BIT10,TMPO 6% 28. ,EM12 ERRS sHDR NCT FOUND WOULD NOT SET .WORD .WORD .WORD 28 EMm1?2 ESCAPE EMT .WORD SEG (SESCAFE 10001%-. ;CHECK (R3)+ sGET NEXT PATTERN sTYPE OF DRIVE RLOY OR RLOZ JMP 10001$: (SESCAPE 10001%-. £.CS,TMPO ERRDF BEQ 7%: SEG SEQ 0089 COM 181 CMP BNE (MP BR CMP 002126 2-38 ;SET UP DATA FOR ERROR ;PRINT OUT TRAP 011345 014616 T (R3),GDDAT GDDAT ,BDDAT BDDAT MOV MOV 002176 PAGE TSERCODE ERR4 #1,T.DRIVE 60% R3,#HDREND 77% R3,#HEND 7% % ELSE EXIT SEG sRLO2 ? THEN BRANCH ;s THEN BRANCH JCMP IT WITH #HEND JYES,EXIT TEST :NO, GO BACK JXAXEND OF SEGMENTZR ;XXEND OF SEGMENTXX ;**END OF TESTwe ($ESEG ENDSEG EMT (SESEG EMT (SETST v¢TEST FL:LOE, sCMP 1T WITH #HDREND ENDSEG EMT FOR 23++ - (HECK MULTIPE BONTST SECTORS ON READ ;**START OF TESTwe STARS At RRAERRRTRRTRRORRRRRTRRRNRRNREORROERRORROERANRRRORRRRRRNRORORORAOARRRRRROEOROTORTY 1627 1628 SVERIFY THAT MULTIPLE SECTORS CAN BE READ. WE WILL CMECK “THAT THE RLDA INCREMENTS PROPERLY. AOPRMRI S Wi C s n7 CIRLHAD RLIT/RLVIY CTLR 2 MACRO v03.01 9-FEB=79 19:01:51 PAGE 2-39 *oTEST 23¢¢ <« (HECK MULTIPE SECTORS ON READ 1629 027270 SEQ 0090 STARS :;'.".l""""""'"t"""""0""".""."'ll.l"'.""'l' 1630 1631 1632 027270 1633 027274 027302 027304 1634 1635 1636 027306 1637 027312 1638 1639 027316 027316 004737 1040352 000156 005037 005037 1640 1641 027320 1642 027320 1663 1644 1645 1646 1647 1648 1649 1650 1651 1652 027376 027400 1653 1654 027402 1655 027406 1656 1657 1658 1659 1660 1661 1665 1666 1667 1668 1669 1670 004537 TMPO TMP1 BGNSEG EMT ($BSEG MOv PC ,HDHOME TMP1,GDDAT TMPO,GDDAT GDDAT ,aRLDA #2,GDDAT #BUF ,aRLBA #-129. ,3RLMP sHEADS OVER TRA(K 0 ;HEADS GO MOME OKAY ;CLEAR LOCATIONS ;XXSTART OF SEGMENTXX ;GET CYLINDER ;GET SECTOR ;SET DISK ADDRESS=-SECTOR 0 ;SET EXPECTED + 2 :SET BUS ADDRESS :WORD COUNT=-SECTOR+1 WORD JSR RS.,LDFUNC 021514 JSR ESCAPE EMT .WORD RS ,WICRDY SEG (SESCAPE 100008-. 020432 JSR ESCAPE EMT .WORD RS, CHERR MOV (MP E.DA,BDDAT BODAT,GDDAT 2% :READ DISK ADDRESS ;1S DISK ADDRESS CORRECT :YES, BRANCH NO, REPORT ERROR ERRDF TRAP .WORD .WORD .WORD 29. ,EM14 ERRS ;DA DID NOT 002240 002176 002176 002174 BEQ 2%: 104010 005237 022737 001320 (LR CLR READ 000035 011436 014616 027444 027450 027456 027460 152674 152672 104462 000016 CSEXIT L10054~-. MOV ADD MOV MOv 104010 027440 027442 JSR (KERFG EMT .WORD BIS 000060 013737 023737 001404 027460 1%: 104010 027412 027420 027426 1662 1663 027440 1664 004537 000050 027430 027432 027434 027436 002174 002174 152712 002174 020674 027406 027410 027430 002166 002170 00217¢ 002166 002174 000002 003260 177577 027326 027334 027342 027350 027356 027364 027370 027372 027376 021574 002166 000046 002166 (SESCAPE 10000%-. TSERCODE ;:LOAD THE FUNCTION IN NEXT WORD ;WAIT FOR CONTROLLER READY? ;(HECK FOR FL:LOE, SEG 29 EM14 ERR4 ;CHECK INC TMPO #46,TMPO % SNEXT SECTOR? :DONE? ENDSEG EXIT INCREMENT SEG BNE ELSE . CHECK CNTLR FOR ERRORS sCHECK FOR FL:LOE, ELSE EXIT SEG ESCAFE EMT .WORD (MP 10000%: SEG ;READ (SESCAPE 10000%~-. FOR FL:LOE, ELSE EXIT SEG :NO, GO BACK SAXEND OF SEGMENTRZX L —— N 7 MACRO v03.01 9-FEB=-79 19:01:51 PAGE 2-40 CIRLHAD RLYT/RLVIY CTLR 2 eeTEST 23+« = (HECK MULTIPE SECTORS ON READ 027460 1671 027462 027662 027462 1672 027464 104005 ENDTST L1005¢: 104001 STARS Emt (SESEG EMT (SETST ;**END OF TESTer :;"""""""'.""'"""'""""'"..""""'t'.'."."." ;CHECK THAT WE CAN FORCE A HEADER NOT FOUND AT THE ;END OF A TRACK DOING A MULTIPLE SECTOR READ. WE 1673 1674 1675 1676 1677 1678 027464 ;SET UP TO READ TWO SECTORS STARTING AT SECTOR 39 ;WE SHOULD TRANSFER 128 WORDS THEN ABORT WITH A g?iagffl NOT FOUND FOR SECTOR 40 :;'..""""""l""""'.."""""".l"""."".."""'l' 1679 1680 1681 1682 1683 027464 1684 1685 1686 027464 1687 027470 1699 1700 1701 1702 1703 1704 1705 004737 104032 000126 027502 104004 1690 1691 027504 1692 027512 027520 027526 027534 027540 027542 027546 027546 027550 027552 027560 027566 027574 027576 027602 027602 - — B — N~ — 027614 027616 027620 027622 027624 24++ - FORCE HDR NT FND AT END OF 012737 013777 012777 012777 004537 000014 004537 (KERFG EMT .WORD BGNSEG 000047 002174 177577 003260 020674 002174 152534 152530 152516 013737 042737 022737 001402 004537 #39. ,GDDAT GDDAT ,aRLDA #-129. ,aRLMP #BUF ,aRLBA READ JSR ESCAPE 002176 002176 002176 020432 112000 002176 .WORD MOV E.CS,BDDAT BIC CMP #1777 ,BDDAT #112000,BDDAT JSR R5,C(HERR EMT CS$CLPY (MP BEQ #112000,BDDAT % ERRDF 30.,.EM23,ERRO .WORD LWORD .WORD 30 EM?23 ERRO (KLOOP TRAP 104462 000036 012044 014452 %: RS5,LDFUNC RS ,WICRDY SEG (SESCAPE 10000%-. BEQ 6%: 104006 022737 001404 MOV MOV MOV EMT 002234 001777 112000 (SEXIT L10055-. ($BSEG JSR 104010 000054 PC ,HDHOME EMT MOV 021514 TRA(CK ;**START OF JSR 021574 — 1706 1707 027604 1708 027612 1709 710 027614 #«TEST BGNTST 027476 027500 1688 1689 027502 1693 1694 1695 1696 1697 1698 LSBTTL 6% TSERCODE TESTwe ;HEADS OVER TRACK 0 ;HEADS GO HOME OKAY ;XXSTART OF SEGMENTZX ;CREATE LAST SECTOR ;LOAD DISK ADDRESS ;WORD COUNT :BUS ADDRESS ;LOAD THE FUNCTION IN NEXT WORD :READ ;WAIT FOR CONTROLLER READY ;CHECK FOR FL:LOE, ELSE EXIT SEG ;READ (S :SAVE ERROR BITS ;HDR NOT FCUND SET? ;YES, CONTINUE ;HEADER NOT FOUND DID NOT SET T(lflLHAO RLIT/RLVIY CTLR 2 *oTEST 24vv - FORCE WDR NT MACRO v03.01 9-FEB=79 19:01:51 PAGE END AT END OF 171% 1716 027624 027624 027624 1715 027626 027626 027626 1716 1717 1718 1719 027630 1720 1721 1722 027630 TRACK 100008 : 104005 ENDTST L10055: 1040C1 .SBTTL 2-41 ENDSEC EMT (SESEG Eml CSETST *+TEST 25+« = FORCE ;XXEND OF SEGMENTZZ s**END OF TESTee NON-EXISTANT MEMORY ERROR BGNTST TESTwe ;**START OF STARS ;;""'"'."""""""."""'"""Q.".""""".'.l"."" 1723 1724 1725 1726 1727 027630 ;FORCE A NON-EXISTANT MEMORY ERROR, ;WE SET THE RLBA TO EQUAL THE sLAST ADDRESS IN MEMORY AND ISSUE A READ. THE ;READ SHOULD ABORT AFTER ONE WORD TRANSFERRED STARS .‘;"'l"""""""t'."""'""""."'..I'.t".'"l""""" 1728 1729 1730 027630 1731 027634 004737 021574 027642 027644 104032 000076 JSR CKERFG EMT .WORD 027646 104004 BGNSEG EMT 1732 1733 027646 1734 1735 1736 1737 1738 027650 1739 027656 1740 027664 1741 027670 1762 027676 1743 027702 1744 027704 1745 027710 177774 000060 152364 177600 000014 004537 027710 027712 104010 000026 1747 027714 1748 027722 032737 001004 1750 027724 027724 104462 027726 627730 027732 51 52 027734 027734 027736 020674 152374 002270 MOV Mov 152360 MOV 020000 002234 104010 000002 3%: sHEADS GO HOME OKAY ;AXASTART OF ($BSEG SEGMENTZX CLR JSR RS,LDFUNC JSR ESCAPE EMT .WORD RS ,WTCRDY SEG CSESCAPE 10000%~-. BIT BNE #NXM,E.CS 3% ;DID NXM SET? ;YES, CONTINUE :WORD COUNT ;LOAD THE FUNCTION IN NEXT WORD :READ ;WAIT FOR CONTROLLER ;CHECK FOR FL:LOE, ELSE EXIT SEG TRAP 31 . ,EM24 ERRO :NXM DID NOT .WORD .WORD .WORD 1$ R : ERCODE 1 EM 2 4 ER R 0 ESCAPE EMT .WORD SE 6 (s £ SCAPE 10000%-. :(HECK ERRDF 000037 012124 014452 CSEXIT L10056~-. ;HEALS OVER TRACK 0 #177774 ,QRLBA ;LEAD BA #BA16!BA17 ,XMEM :SET EA BIT aRLDA :LOAD DISK AVAILABLE READ 021514 PC ,HDHOME SET FOR FL:LOE, ELSE EXIT SEG CZRLHAD RLIT/RLVIT *+TEST c_8 CTLR 2 MACRO v03.01 9-FEB-79 19:01:51 PAGE 2-42 25+ = FORCE NON-EXISTANT MEMORY ERROR 757 027740 027740 027740 1758 027742 027742 027742 100008: 106005 ENDTST L10056: 104001 .SBTTL 1762 027744 SEQ 0093 ENDSEG EMT (SESEG EMT CSETST *+TEST SEGMENTZZ s**END OF TESTwe 26++ - FORCE NON-EXISTANT MEMORY ERROR BGNTST 1763 027744 ;RXEND OF s**START OF STARS INTERRUPT TESTe» ::'.""".""""""t""""'."""'"""'.""l""'..".' ;CHECK THAT WE CAN FORCE AN INTERRUPT WITH A sNON-EXISTANT MEMORY ERROR. STARS 1766 027744 g ;;""."""""'"'."'Q"'"""".'"".'.""."'."""'." 1769 027744 1770 027750 027756 027760 1772 027762 004737 1774 027764 005037 1778 027770 027770 027774 EMT .WORD BGNSEG 002152 000000 177774 000060 152236 177777 020674 004537 021514 030036 030042 012700 000340 030044 030046 104010 1787 030044 1789 030050 1790 030054 1792 030056 030056 030060 CKERFG 000140 104004 027776 030004 030012 030016 030024 030030 030032 030036 JSR 104032 027762 779 780 781 782 1783 1784 1785 1786 021574 104041 104462 000040 002270 152232 ($BSEG CLR INTFLG SETPRI Mov EMT MOv MOv #PRIOO #PR100,RO (LR MOV JSR aRLDA #-1,3RLMP R5,LDFUNC JSR SETPRI RS ,WICRDY #PRIO7 EMT ($SPRI MOv 151 ;HEADS OVER TRACK 0 ;HEADS GO HOME OKAY ;AASTART OF SEGMENTZX ;CLEAR INTERRUPT OCCURANCE FLAG ($SPRI #177774 ,3RLBA ;PRELOAD BA #BA16!BA17, XMEM :SET EA BITS READ!INTEN EMT .WORD 002152 CSEXIT L10057-. EMT ESCAPE 000050 005737 001004 152246 PC,HDHOME #PRIO7,RO :LOAD DA :WORD COUNT ;LOAD THE FUNCTION IN NEXT WORD :READ ;WAIT SEG ;CHECK (SESCAPE 10000%-. FOR ;PRIORITY CONTROLLER TO 7 FOR FL:LOE, BNE 4% INTFLG : INTERRUPT OCCUR? ERRDF 32.,EM44 ERRO :NO TRAP LWORD T$ERCODE 32 ;YES OKAY INTERRUPT W/NXM ELSE EXIT SEG D8 CIRLHAD RLYT/RLVYIY CTLR 2 MACRO v03.01 9-FEB=79 19:01:51 PAGE 2-43 *oTEST 26*+ = FORCE NON=-EXISTANT MEMORY ERROR iNTERRUPT 030062 030064 01317% 016452 030066 030070 104010 1793 1794 030066 1795 1796 030072 1797 030100 1798 1799 .WORD .WORD 4%: 000026 032737 001004 020000 002234 1800 1801 3%: 1803 1804 10000%: 104005 1805 1806 1807 1808 1809 030122 1810 1211 030122 ENDTST L10057: 104001 .SBTTL s -l D il — O wvitwnrNn — — -l — #NXME.CS 3% ;DID NXM SET? ;YES, CONTINUE 33.,EM24 ERRO sNO NXM SEG ;CHECK FOR FL:LOE, ELSE EXIT SEG ELSE EXIT SEG 10000%-. TSERCODE .WORD .WORD .WORD 33 EM24 ERRO ESCAPE EMT .WORD (SESCAPE 10000%-. SEG sCHECK FOR FL:LOE, ;AXEND OF SEGMENTZZ ENDSEG EMT (SESEG EMT CSETST ;**END OF «+TEST 27++ - (HECK READ WRITE BGNTST TESTer LOOP ;**START OF TESTee STARS A ©Oo 0o 700000 BIT TRAP 104010 000002 1802 (SESCAPE ERRDF 000C&1 012124 014452 EM44 ERRO ESCAPE EMT .WORD BNE 104462 SEQ 0094 Al ARl Rl 22 R R R AT THIS ;VERIFY THAT THE WRITE ACTUALLY WRITES. ;TIME WE KNOW THAT THE WRITE FUNCTION GOES THRU ;THE MOTIONS BUT WE DON'T KNOW THAT sACTUALLY GETS RECORDED ON THE 030122 STARS THE PLATTER. DATA b = 004737 021574 000362 JSR CKERFG EMT .WORD 104004 BGNSEG EMT N — — il a OV~Ny CoOCo0000 ;;.t'""'"'""""""""""""'.'.".l"'.I".""""'l.' 104032 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 012700 012701 012720 005301 001374 005077 012777 003260 000200 125252 152066 177600 1%: 152062 MOV MOV MOV DEC BNE CLR MOV PC ,HDHOME (SEXIT L10060~. ;HEADS OVER TRACK 0 ;MEADS #128, ,R1 #125252,(R0) ¢ R1 3% aRLDA #-128. ,aRLMP OKAY sRASTART OF ($BSEG #BUF ,RO GO HOME SEGMENTZZ ;SET UP WRITE BUFFER ;128 WORDS/ONE SECTOR ;WRITE ;DONE? :NO, PATTERN TO BUFFER BRANCH BACK ;DISK ADDRESS ;sWORD COUNT CIRLHAD RLTT/RLVIT CTLR 2 27++ =« (HECK READ WRITE 030174 030202 030206 030210 030214 030214 030216 012777 004537 000012 004537 37 030220 38 03022¢ 030224 030226 004537 030230 104004 104010 0003CO 001375 1846 030250 1847 030254 005077 012777 1849 1850 1851 1852 030270 030274 030276 030302 030302 004537 000014 004537 030304 000210 1854 030306 1855 030312 004537 1848 030262 1856 030316 1857 030320 1859 030326 020432 104010 000270 030232 030236 030242 030244 030246 012790 012701 005020 003260 000200 4%: 012777 152000 177600 003260 020674 . 005301 020432 002132 10%: 104010 000172 000404 005737 001772 8%: 017204 104006 1875 030420 NN NONNN —_ N — ~ o o w w o o oo ~ N =N OoO~NN S NN OWWS WO elelelelelelele ON—=ON) = = 012702 005237 002136 002130 003260 000200 125252 002176 002174 002170 002136 002136 99%: RS.LDFUNC JSk ESCAPE EMT .WORD BGNSEG Em? RS,CHERR SEG MOV MOV CLR DEC BNE MOV (MP BNE ESCAPE EMT 333%: (SESCAPE 10000%-. ($BSEG #BUF ,RO #128..R1 (RO)+ R1 4% aRLDA #-128. ,aRLMP #BUY ,aRLBA RS,LDFUNC RS, CHERR CLR CLR .WORD INC ;BUS ADDRESS ;LOAD THE FUNCTION IN NEXT WORD ;WRITE THE PATTERN ;WAIT FOR CONTROLLER READY ;(HECK FOR FL:LOE, ELSE EXIT SEG 10000%-. JSR 18T BNE ESCAPE EMT .WORD BR TST BEQ (KLOOP EMT (MP BEG 017206 (SESCAPE RS ,WICKDY SEG (SESCAPE 10001%-. MOV MOv 002176 RS ,WTCRDY SEG JSR ESCAPE EMT .WORD MOV MOV 002174 2-44 #BUF ,aRLBA JSR WRITE JSR ESCAPE EM .WORD CLR 021514 PAGE 5 8 SEQ 0095 MOV MOV JSR READ 104010 005737 001003 9=FEB=79 19:01:51 MOV 021514 . 1840 1841 1842 1843 1844 152050 NN 1839 030230 003260 020674 NN 831 832 833 834 835 MACRO v03.01 LOOP R *oTEST E_ T.CRC sCHECK CNTLR FOR ERRORS ;CHECK FOR FL:LOE, ELSE EXIT SEG ;RXASTART OF SEGMENTZZ ;CLEAR QUT BUFFER BEFORE :READTNG ;CLEA- BUFFER . DONE :NO, oRANCH BACK :LOAD DISK ADDRESS :WORD COUNT/ONE SECTION :LOAD BUS ADDRESS ;LOAD THE FUNCTION IN NEXT WORD ;GO READ ;WAIT FOR CONTROLLER READY ;CHECK FOR FL:LOE, ELSE EXIT ;CHECK CNTLR FOR ERRORS 8% ;WAS ERROR A D(K?? ;YES,SEE IF WE A DUMP 1.DMP ;SKIP AROUND :Dg WE STILL WANT SEG (SESCAPE 10001%-. 99% 108 ($CLP? C(DCNT CHECK #BUF ,R2 #128. ,R1 #125252,GDDAT (R2) ,BDDAT GDDAT,BDDA1 6% R2,TMP] COCNT,T.LMT 333% SEG - ;CHECK FOR FL:LOE, ELSE EXIT SEG sN TO CHECK T JYES, CHECK FOR LOOP FIRST ;CLEAR NUMBER WE'RE TO PRINT ;ALLOW HEADER ON FIRST PRINT ; COMPARE BUFFER TO CHECK WRITE ;128 WORDS sSET UP EXPECTED ;GET DATA ;1S DATA OKAY :YES, CONTINUE ;LOAD BAD MEM LOCATION s CHECKED ENOUGH?? - SEG SCHECK FOR FL:LOE, ELSE EXIT SEG 100018~ CDONT JACCOUNT (SESCAPE FOR 1T CIRLHAD RLTT/RLVIT **TEST 27++ = (ME(K READ WRITE 1876 1877 030426 1878 030430 1879 030432 030432 030434 030436 030440 1880 030442 1881 030446 1882 1883 030450 005737 001007 104462 000042 012202 014772 002130 030450 030456 030460 030464 030470 030474 030476 030500 013746 013746 013746 012746 012746 010600 104014 062706 002176 002174 002170 016250 000004 030504 104006 1886 030506 1887 030510 1888 030512 1889 030514 030514 030514 1890 030516 1S1 BNE ERRDF TRAP .WORD .WORD .WORD INC BR 9%: 104001 8 2-45 34.,EM25 ,ERRS TSERCODE 34 EM25 ERRS ;HEADER OR JUST DATA ;JUST DATA ;BAD DATA sACCOUNT (HECK 6% FOR PRINT OF MEADER TMP1,-(SP) MOV MOV MOV MOV FERMI6,-(SP) #6,-(SP) ADD #12,5P CKLOOP EMT ($CLPI SP,RO (SPNTB 10001%: 10000%: ENDTST L10060: DEC BNE ENDSEG EMT ENDSEG (SESEG EMT (SESEG EMT CSETST #+TEST .SBTTL ;BUMP BUFFER POINTER :DONE? :NO, GO BACK (R2)+ R1 5% TST 001324 030520 030520 F CHECK 9% EMT 7%: 104005 PAGE PRINTB #FRMT6,TMP1,GDDAY ,BDDAT MOV (SP) BDDAT,= MOv GDDAT,=(SP) 6%: 005301 104005 186°2 1R03 1894 1895 030522 1896 1897 1898 1896 030522 LOOP 000012 005722 030516 030516 030520 MACRO v03.01 9=FEB=79 19:01:51 002130 005237 000416 1884 1885 030504 1891 CTLR 2 28++ = CHECK SAREND OF SEGMENTZX ;RXEND OF SEGMENTZZ s**END OF TESTwe SILO LINES BGNTST ;**START OF TESTee STARS SE 1900 1901 1902 1903 1904 030522 A2 ;TEST AR ARl RRRRR 2R THAT LINES IN /7 T0 SILO ARE GOOD, THAT IS THAT EACH LINE IS :GOOD AND CAN BE AT EITHER A 1 OR A O STATE INDEPENTENTLY OF EA(H ;OTHER BIT POSITION THIS IS DONE BY WRITING PATTERNS OF FLOATING 1, :FLOATING 0, WALKING O, WALKING 1 STARS ;:"'l"!'."l""""'""'.""""'l"""""."'l'.'.t"'." 190% 1906 1907 030522 1908 030526 . 19049 030534 030536 004737 104032 000404 021574 JSR (KERFG EMT .wORD PC,HDHOME (SEX]T L10061=-, sHEADS OVER TRACK 0 sHEADS GO MOME OkAY — CIRLMAD RLTIT/RLVIY *oTEST 28ee = (MECK 0 030540 1 CTLR 2 SILO LINES 012703 MACRO v03.01 9=FEB=79 19:01:51 003070 PAGE MOV #DATPAT RS BGNSEG EMT ($BSEG 6G_8 2-46 SEQ 0097 2 3 030544 030544 & 030546 1929 030632 030632 1930 1931 1932 1933 1934 030634 030640 030644 030646 030650 1936 1937 1938 1939 030652 030660 030666 030672 1943 1944 1945 1946 030704 030706 030710 030714 030720 030722 030722 030724 1947 030726 1948 030750 1649 03073« 1950 030736 000320 004537 JSR ESCAPE EMT .WORD JSR ESCAPE EMT .WORD BGNSEG EMT 020432 104010 104004 012700 012701 005020 005301 001375 012777 012777 005077 004537 000014 004537 104010 000224 004537 005737 00003 003260 000200 i%: 003260 177600 151362 1952 030740 005037 005037 011337 012737 MOV MOV 8%: 99%: 002172 :CHECK CNTLR FOR ERRORS ;(HECK FOR FL:LOE, ELSE EXIT SEG ;AXSTART OF SEGMENTZX ;CLEAR MEMORY BEFORE ;128 WORDS READING :SETUP TO READ IT BACK #-128. ,3RLMP aRLDA RS,LDFUNC 1T BA(K :NO ;128 WORDS ;SECTOR ZERO ;LOAD THE FUNCTION IN NEXT WORD JSR RS,WTCRDY EMT .WORD JSR (SESCAPE 10001%-. RS,CHERR BNE 8% SYES,SEE IF WE A DUMP ;(HECK FOR FL:LOE, ELSE EXIT StG BR 99% :SKIP AROUND BEQ 10% ESCAPE EMT .WORD 1S1 (kKLOOP 002136 002130 002174 003260 #BUF ,RO #28. ,R1 ;CHECK FOR FL:LOE, ELSE EXIT SEG #BUF ,dRLBA 187 017204 ($BSEG FUNCTION IN NEXT WORD MOV ESCAPE 108 : R5,WTCRDY SEG (SESCAPE 10000%-. RS,CHERR SEG CSESCAPE 10000%-. ;SETUP TO WRITE PATTERN ONTO DISK :LOAD DA ;WORD COUNT ;LOAD THE sCLEAR s EONE JSR 020432 002132 RS.,LDFUNC ;WRITE THE PATTERN ;DONE? :NO GO BACK (RO)+ R1 3% READ 021514 aRLDA #-128. ,aRLMP ;WRITE PATTERN INTO MEMORY ;128 WORDS (LR DEC BNE MOV CLR 020674 104010 000206 000404 005737 001772 #BUF ,aRLBA JSR 021514 #BUF RO #128. ,R1 (R3),(RO)+ R1 2% WRITE 000310 104006 1953 030744 1954 030750 1955 030754 151452 CLR MOV 104010 030736 1951 MOV o 030626 030630 151460 s 1927 030622 1928 030626 000012 004537 151456 177600 020674 N 030616 030620 003260 —a 030612 030616 MOV MOV MOV DEC BNE 030564 030572 030576 03C604 030610 2%: WN 1922 1923 1924 1925 1926 6%: NN 1 003260 000200 030552 030556 030560 030562 R 5 6 7 8 9 0 SEGMENTZZ sRASTART OF SEG ;(HECK T.CRC ;WAS ERROR A DCK?? SEG (SESCAPE 10001%-. T.DMP EMT ($CLPT (LR (LR MOV MOV (DCNT (HECK (R3),GDDAT #BUF , TMP? FOR FL:LOE, ELSE EXIT SEG :CHECK CNTLR FOR ERRCRS :28 WE STILL WANT TC CHECK 17T *YES, CHECK FOR LOOP FIRST :CLEAR NUMBER WE'RE TQ PRINT ;ALLOW HEADER ON FIRST PRINT ; COMPARE WHAT ;BUFFER START WE READ BA(K IR CIRLMAG RLIT/RLVIY CTLR 2 eeTEST 2Ber = CHECK SILO LINES 1956 1957 1958 1959 1960 1961 012737 000001 002170 030770 030776 031004 017737 023737 001440 151176 002174 002176 002176 0237357 001002 002136 1963 1964 106010 000112 1965 1966 1967 1968 1969 005237 002136 005737 001007 002130 005237 000416 1991 002130 9% : il — — — — 104005 104001 8 2-47 MOv aTMP2 ,BDDAT GDDAT ,BDDAT 6% ;GET DATA (MP BEQ (MP BNE ESCAPE EMT .WORD INC 4%: 002172 35 EMLS ERR10 INC BR (HECK 6% ENDTST L10061: LSBTTL s CHECKED ENOUGH?? FOR FL:LOF, ELSE EXIT ;ACCOUNT FOR IT 35.,EMLS,ERRTD TSERCODE BRANCH ;HEADER OR JUST DATA ;JUST DATA ;BAD DATA BAC(K sACCOUNT FOR PRINT OF HEADER PRINTB #FRMT7,TMP1,GDDAT ,BDDAT MOV (SP) BDDAT,= MOV GDDAT,=(SP) MOV TMP1,-(SP) RERMT7,=-(SP MOv ) #4,-(SP) SP,RO ($PNTB ADD CKLUOP #12,5P EMT ($CLPT ADD #2,TMP?2 TMPI TMP1,#129. 5% JNEXT LOCATION :NEXT s DONE WORD :NO, GO BACK SRREND OF ENDSEG EMT ($ESEG TS1 (R3)+ 6% BNL 10000%: ;NO sCHECK SEG (SESCAPE 10001%-. CDCNT .WORD .WORD .WORD BNE 10001$: 333% (HECK 9% INC (MP 000201 .G0OOD? ;YES, COCNT, T LMT TS1 BNE ERRDF EM1 005723 001203 104005 H ;START WITH FIRST MOV — 023727 001317 000092 002170 002170 PAGE #1,TMP1 MOV 104006 062737 005237 19:01:51 MOV TRAP 000012 e 1990 3133¢: 002176 002174 002170 016325 000004 — 1989 017206 000043 013232 015110 1975 1988 5%: 104462 1970 1671 1972 1973 1974 1983 1984 1985 1986 1687 9=FEB=79 SEQ 0098 030762 1962 1976 1977 1978 1979 1980 1981 1982 MACRO v03.01 ;DONE ALL PATTERNS sNO, GO BAC(K ENDSEG EMT (SESEG EMI ($ETST eeTEST 29er = (HEC(K SEGMENTZ% THROUGHPUT JRAEND OF SEGMENTXX s**END OF TESTee OF SILO SEG e CZRLHMAD RUVT/RLVIY eoTEST 2Gee = (MECK CTLR 2 THROUGHPUT MACRO v03.01 OF SILO 1992 031144 1993 1994 1995 1996 031144 9-FEB=79 19:01:51 PAGE 1_8 2-48 SEQ 0099 BGNTST ;**START OF TESTee STARS ::t""Q""""."t'0"""t""""""""tt'I"""'It"""' 1967 1G98 1999 2000 03114¢ STEST THAT THE SILO OPERATES CORRECTLY, WE WILL WRITE A PATTERRN THAT sA UNJQUE PAITTERN IN EACH LOCATION. WE EXPECT IT BACK IN PRGPER JORDER, WE DO A ONE SECTOR TRANSFER STARS CONTAINS ;:0t'.."'l""0".'tt""""l""""ttt"""tt.I'tt"t""'t' 2001 2002 2003 031144 2004 031150 031156 2008 031160 2006 031162 031162 2007 2008 2009 C31164 2010 031170 2011 031174 2012 031200 2013 031202 2014 031204 58}5 031206 6 004737 021574 EMT .WORD (SEXIT L10062-. 104004 BGNSEG EMT ($BSEG 012700 012701 012702 010022 000001 000200 003260 001374 2020 2021 2022 202% 004537 000012 004537 020674 4 012777 005077 004537 2030 031270 2031 031272 582% 031274 104004 012700 012701 005020 005301 001375 2034 2035 20%6 2037 2038 012777 012777 005077 004537 000014 (31276 031304 031312 031316 031322 177600 151024 15103« 151032 02043¢ 104010 000312 003260 000200 003260 177600 15073%6 020674 3%: 150746 150744 sAXSTART OF SEGMENTZZ INC DEC sNEXT PATTERN (1-128) ; DONE MOV #BUF ,aRLBA ;SETUP TO WRITE JSR WRITE JSR FSCAPE EMT .WORD 021514 ;iHEADS OVER TRA(K 0 ;HEADS GO HOME OkAY #1,R0 #128..R1 #BUF ,R?2 RO, (R2)+ RO R1 MOV (LR 104010 000322 2025 031246 2026 031252 031252 031254 2027 031256 C3125% 2028 031260 2029 031264 MOV MOV MOV MOV BNE 003260 - 2%: 005200 005301 012777 031230 03123& 03123 031242 031242 031244 PC ,HDHOME 104032 000410 2017 031210 2018 031216 2019 0312264 JSR (KERFG 2% #-128.,3RLMP aRLDA RS,LDFUNC RS ,WTCRDY SEG (SESCAPE 100008~ SINITIAL ;128 WORDS :BUFFER ;WRITE A WORD :NO ;128 WORDS ;D1SX ADDRESS 0 sLOAD THE FUNCTION IN NEXT WORD sCHECK FOR FIL:LOE, ELSE EXIT SEG JSR ESCAPE EMT .WORD BGNSEG EMT MOV MOV CLR DEC BNE RS,CHERR SEG (SESCAPE 10000%-. sCHECK CNTLR FOR ERRORS JCHECK FOR FL:LOE, ELSE EXIT SEG ($BSEG #BUF RO #128.,R1 (RO)+ R1 3% :CLEAR BUFFER ;128 IN LENGTH ;CLEAR ;DOWN COUNT ;DONE? MOV MOV (LR JSR READ #BUF ,aRLBA #-128. ,aRLMP aRLDA RS ,LDFUNC :BUS ADDRESS sWORD COUNT :DISK ADDRESS sLOAD THE FUNCTION IN NEXT WORD s%XSTART OF SEGMENTX%Z CZRLHAD RLIT/RLVIT **TEST 29+« = (MECK 2039 0313264 2040 031330 031330 031332 2041 2062 031334 2043 031340 2044 031344 2045 031346 031346 031350 2046 031352 2047 031354 2048 031360 2049 031362 031362 2050 2051 031364 2052 031370 2053 031374 2056 031402 5822 031410 2057 031416 2058 031424 2059 031432 2060 2061 0314346 2062 031442 2063 031444 031444 031446 Sggg 031450 2066 031454 2067 031460 2068 031462 031462 031464 031466 031470 2069 031472 207G 031476 2071 2072 031500 031500 031504 031510 031514 031520 031524 031526 031530 207% 031534 031534 74 20 2075 031536 CTLR 2 THROUGHPUT 004537 J OF SILO 021514 104010 000232 004537 005737 001003 104010 000214 000404 005737 001772 020432 002132 10%: 017204 8%: 005037 005037 012737 012737 012737 002136 002130 000001 003260 000001 002174 002172 002170 017737 023737 001440 150550 002176 002176 002174 023737 001002 002136 017206 005737 001007 104462 000044 013264 015110 005237 000416 013746 013746 013746 012746 012746 010600 104014 062706 99%: RS ,WTCRDY SEG JSk 1§71 RS, (HERR BNE ESCAPE EMT .WORD BR 181 BEQ (LR CLR MOV MCv MOV L%: MOV CMP BEQ 333%: 002136 002130 (MP BNE ESCAPE EMT .WORD INC 002130 9%: 002176 002174 002170 016325 000004 6%: 000002 002172 ;(HECK FOR FL:LOE, ELSE EXIT SEG T.CRC sCHECK CNTLR FOR ERRORS ;WAS ERROR A D(K?? SEG ;CHECK 8% (SESCAPE 10001%-. 99% T.0MP 108 C$CLPT ;YES,SEE IF WE A DUMP FOR FL:LOE, ELSE (DONT CHECK #1,GDDAT ;CLEAR NUMBER WE'RE TO PRINT #1,TMP1 :FIRST WORD aTMP2 ,BDDAT ;GET WORD ;CORRECT? :YES #B,UF TMP? BDDAT,GDDAT 6% CDCNT,T.LMT 333% SEG (SESCAPE 10001%-. ;ALLOW HEADER ON FIRST PRINT ;START GOOD AT 1 ;START OF BUFFER sCHECKED ENOUGH?? ;NO ;(HECK FOR FL:LOE, ELSE CHECK 9% ;HEADER OR JUST DATA ;JUST DATA .WORD .WORD .WORD INC BR 36 EM&7 ERR10 36.,EM47 ,ERRTO 1$ERCODE CHECK 6% ;ACCOUNT PRINTB #FRMT7,TMP1,GDDAT ,BDDAT (SP) BDDAT,~GDDAT ,=(SP) TMP1,=(SP) MOV #FRMT7,=(SP) #4,-(SP) ADD #12,5P ADD SP,RO ($PNIB ($CLPT 02,1Mp2 EXIT sBAD DATA MOV MOv MOv MOV MOV SEG *YES, CHECK FOR LOOP fIRST 181 BNE ERRDF (XLOOP EMT EXIT :SKIP AROUND :zg WE STILL WANT TO CHECK IT sACCOUNT FOR IT EMT 000012 (SESCAPE 10001%-. SEQ 0100 CDONT TRAP 104006 062737 JSR ESCAPE EMT .WORD C(KLCOP EMT 104006 104010 000116 005237 8 MACRO v03.01 9=FEB=-79 19:01:51 PAGE 2-49 JNEXT FOR PRINT OF WEADER SEG CIRLMAO RLIT/RLVIT CTLR 2 MACRO v03.01 9-FEB=-79 19:01:51 *eTEST 29e+ = (HECK THROUGHPUT OF SILO 2076 031544 2077 031550 2078 031554 5858 031562 2081 031564 031564 2082 031564 2083 031566 031566 031566 2084 031570 031570 031570 2085 005237 005237 023727 001315 002170 002174 002170 INC INC (MP BNE 000201 10001%: 104005 100008 104005 ENDTST L10062: 104001 PAGE K TMP1 GUDAT TMP1,#129. 6% 8 2-50 SEQ 0101 SNEXT SNEXT ;DONE? ENDSEG EMT ;AXEND OF SEGMENTZZ ;RXEND OF SEGMENTZX s**END OF TESTee (SESEG ENDSEG EMT (SESEG M1 (SETST LSBTTL #*TEST 30+ - (HECK ZERO FILL ON WRITE Sgg? 2088 031572 2089 2090 BGNTST 2091 2092 C31572 ;**START OF TESTee STARS ,'".".""."".'.""".'"".'""'...""""'..."""'."." 2093 2094 2095 2096 2097 031572 ;WHEN WRITING PARTIAL SECTORS (LESS THAN 128 WORDS) ;CONTROLLER WILL FILL IN THE REMAINING PORTION OF ;THE SECTOR WITH ZERO WORDS. (HECK THIS FEATURE ;WITH WORD COUNTS FROM 1 10 127 STARS THE .';'."'."'i".""'.""'.'."'""'Q'.""'..'ll'.""""'."' 2098 2099 031572 2100 031576 031604 2104 031606 104032 000442 JSR (KERFG EMT .WORD CSEXIT L10063-. 2102 031610 2108 031610 104004 BGNSEG EMT ($BSEG 2104 031612 2105 031620 2106 031624 012737 012700 012701 MOv MOv MOV ¥ ,TMPI1 #BUF ,RO #128, ,R1 ;START WITH 1 WORD WRITE ;WRITE BUFFER WITH 52525. WE'LL ;WRITE 128 WORDS ALL THUUGH WE'RE 2108 2109 2110 2111 2112 005301 001374 013700 005400 010077 DEC BNE MOv NEG MOV R1 3% TMP1,RO RO RO,aRLMP ;DONE WITH BUFFER? :NO, GO BACK :GET TRANSFER WORD COUNT :NEGATE FOR RLMP :STORE WORD COUNT AWAY 2107 031630 2113 2114 2115 2116 2117 031634 031636 031640 031644 031646 031652 031660 031664 031670 031672 2118 031676 2119 031676 031700 004737 012720 012777 005077 004537 000012 004537 104010 000346 021574 000001 003260 000200 002170 35%: 052525 3%: 002170 33%: 150404 003260 150370 020674 021514 150372 MOV PC ,HDHOME #52525,(R0O)+ MOV CLR JSR WRITE JSR #BUF ,aRLBA aRLDA RS ,LDFUNC EMI .WORD (S SCAPE 10000%~-. ESCAPE RS ,WICRDY SEG ;HEADS OVER TRA(K 0 ;HEADS GO HOME OKAY : ;RXSTART OF SEGMENTXX ;ONLY GOING TO TRANSFER < 128 :SET UP RLBA :LOAD THE FUNCTION IN NEXT WORD SWRITE 17 ;WAIT FOR WRITE TO FINISH ;(HECK FOR FL:LOE, ELSE EXIT SEG i st CZRLHAD RLYT/RLVYIY MACRO v03.01 30%e = (HMECK ZERO FILL ON WRITE guNN.‘_.-a_o orosfrnoOooc 80 \:I: il i D o i il il NNNNNNNNNN ~ s WKW [=lelelelelelelelolelelele] 104004 012769 012701 012720 005301 001374 003260 000209 012777 012777 005077 004537 000014 004537 003260 125252 18%: 177600 150300 020674 C31772 031776 032002 032004 032004 032006 032010 032012 032016 032020 004537 005737 001003 020432 002132 10%: 017204 8%: 005037 005037 013702 012701 002136 002130 002170 000200 032042 032046 032052 032060 032064 032072 1 7 0 0 003260 002172 052525 002176 002176 002174 023737 001002 002136 017206 1 1 7 5 2 7 0 4 S NWHWWWO 032022 032026 032032 032036 -—_NNNNWw 104006 99%: 002174 2160 2161 2162 2163 2164 005737 001007 104462 000045 002136 002130 333%: L_8 2-51 RS, CHERR SEG (SESCAPE 10000%-. ($BSEG #BUF ,RO #128. R c}zszéz.(RO)o ;CHECK CNTLR FOR ERRORS ;CHECK FOR FL:LOE, ELSE EXIT SEG ;RXSTART OF SEGMENTZR ;WE'RE GOING TO OVERLAY BUFFER BEFORE ;READING I BACK. ;OVERLAY [T WITH COMPL IMENT :DONE? DEC BNE R MOV MOV #BUF ,aRLBA #-128. ,aRLMP orLDA ;SET UP TO READ JSR ESCAPE EMT .WORD RS ,WTCRDY SEG ;WAIT TIL WE FINISH THE READ ;CHECK FOR FL:LOE, ELSE EXIT SEG JSR RS, CHERR BNE ESCAPE EMT .WORD BR 181 BEQ (KLOOP 8% EMT (LR 18% RS,LDFUNC (SESCAPE :NO, KEEP GOING ;128 WORDS TO CHECK ZERO FILL ;SECTOR sLOAD THE FUNCTION IN NEXT WORD 10001%~. T.CRC ;CHECK CNTLR FOR ERRORS ;WAS ERROR A D(K?? SEG JYES,SEE IF WE A DUMP ;(HECK FOR FL:LOE, ELSE EXIT SEG T.DMP :SK1P AROUND ;00 WE STILL WANT (SESCAPE 10001%~-. 99% 109 ($CLP CDCNT (HECK :NO TO CHECK 17 JYES, CHECK FOR LOOP FIRST NUMBER WE'RE TO PRINT HEADER ON FIRST PRINT WRITTEN IN R? 128 WORDS MOV MOV TMP1,R2 #128..R1 :CLEAR ;ALLOW ;WORDS ;CHECK MOV MOV MOV (MP BEQ #BUF ,R3 TMP2 #52525,GDDAT (R3) ,BDDAT BDDAT,GDDAT 12% :SET UP BUFFER BEGINNING :JERO WORD COUNT sSET UP EXPECTED ;GET WORD ;1S WORD CORRECT? ;YES, GO CHECK CCUNTS AND REPEAT (mp CDCNT,T.LMT (LR (LR 104010 000116 005237 MOv 151 104010 000216 000404 005737 001772 MOV MOV JSR READ 021514 PAGE SEQ 0102 (LR 104010 000234 9-FEB=79 19:01:51 JSR ESCAPE EMT .WORD BGNSEG EMI 104010 == PO DN W VBN NS N - B I R —— NN NN N 020432 000336 031770 032020 LR ARV RS AW SV LW RV LV 004537 e VS WNN =00 ~NoOWw i il s i i i D — it — il — S wWwwmnww OOV®~NO rororno N WWwWwWwWwNINN NN NN NN NN 2122 NN W W W NN WS 2120 031702 2121 COO0OCOO eeTEST CTLR 2 BNE ESCAPE EMT .WORD INC 333% SEG (SESCAPE :N : CHECKED ENOUGH?? o ;(HECK FOR FL:LOE, ELSE 10001%~-, (DCNT sACCOUNT 181 (HECK 9% sHEADER OR JUST DATA :JUST DATA TRAP ;’ER(ODE BNE ERRDF .WORD 37.,EM27 ERR1? FOR 1T EXIT SEG w ~ 746 746 002176 002174 746 746 746 002170 016520 000005 = o o ~ 002130 - e 0 W no ooNO o 9-FEB=79 19:01:51 012313 .WORD .WORD INC BR —> s Al al £ oro o O0oOo o NN NN NN NN ORI 2165 2166 2167 2168 OCOO0O0OO0OO0O0O0O0O eeTEST NN w RN ~N MACRO v03.01 30*e = (HECK ZERO FILL ON WRITE CTLR 2 : 9% ADD CKLOOP 12%: EMT 6%: 181 D il ~ i b ~ b @D s — — . — . Co (o 0o 0o Oo 0o 00 0o WO NS W - Dl 000716 002174 79 032224 80 032224 032224 03222¢ [ ] O oo N ~ 032222 032226 032232 032240 032242 03224¢ 032246 032246 032246 032250 032250 032250 7%: 10001%: 104005 005237 023727 001402 000137 104005 002170 002170 031620 000200 34%: 10000%: ENDTST 104001 8 2-52 EM 7 ER 12 (H (K 12% SEQ 0103 sACCOUNT FOR PRINT OF MEADER L10063: .SBTTL 032252 BGNTST 2196 032252 STARS (SPNTB #14,5P (sCLP (R3)+ TMP? R1 7% R2 4% GDDAT 4% INC DEC BEQ DEC BGT (LR BR D 002172 n PRINTB #FRMT9,TMP1,R3,GDDAT,BDDAT MOV BDDAT ,=(SP) MOV GDDAT,=(SP) MOv R3,=(SP) MOV TMP1,-(SP) MOV #IRMT9,=(SP) MOV #5,-(5P) MOV SP,RO EMT 000014 PAGE Mmoo CIRLHAD RLYT/RLVYIY sDONE ALL WORDS? JEXIT TEST ;DONE CHECKING NON=-ZERO WORDS sNO, BRANCH BACK JYES, SET EXP'D AS ZERO ;BRANCH BACK SEXIT TEST JXXEND OF SEGMENTXX ENDSEG EMT ($ESEG INC (MP BEQ JMP TMP1 TMP1,#128, 349 35% ENDSEG EMT (SESEG EMT (SETST eoTEST 31ee = (HECK ;AXEND OF SEGMENTRZ ;**END OF TESTee SECTOR BITS OF HEADER COMPARE ;**START OF TESTee .';"."."'.".""""""""'Q't."'...l.""l""l.'l'l't"l' ;TEST THAT ALL WE JUNJQUELY. ;BUT ;THE SECTOR BITS OF HEADER WORD CAN COMPARE TESTED THE HEADER COMPARE LOGIC EARLIER THAT WAS NOT TEST AN EXTENSIVE PROCEDURE ;0 WITH THE IS TO WRITE TEST OF THE SECTOR BITS. EACH SECTOR OF TRACK SECTOR ADDRESS, THEN GO BACK AND READ IF ANY SECTOR HAS ANY DATA THEN THAT JEACH SECTOR, e MACRO v03.01 9-FEB-79 19:01:51 PAGE CIRLMAD RLYT/RLVYY CTLR 2 oo TEST S51e¢ = (HECK SECTOR BITS OF HEADER COMPARE 2203 2204 WHICH WAS EXPECTED THEN WE ';""""'.""."""""'"""""""l'l"'""".".l"".' 004737 021574 032264 032266 10640%2 000414 JSR (KERFG Emi 032270 104004 BONSEG EMT ($BSEG CLR TMPO BOGNSEG EMT ($BSEG 2215 2216 032270 2217 2218 032272 2219 2220 032276 032276 2221 2222 032300 2223 032304 2224 032310 2225 032314 2226 032316 2227 2228 032320 2229 032326 2230 032334 2231 032342 2232 032346 2233 032350 22% 032354 032354 032356 223%5 032360 2236 032364 2237 032372 2236 032374 223%9 2240 032400 032400 2241 2242 032402 2243 0324006 2244 032412 2245 032414 2246 032416 2247 2248 032420 2249 032426 2250 2251 08243 AN ERROR 005037 1%: 002166 104004 0312702 012701 013722 005301 001374 003260 000200 002166 012777 012777 013777 004537 000012 004537 177600 003260 002166 020674 199%: 2%: 147730 147716 147712 DEC BNE JSR WRITE JSR ESCAPE EMT .WORD INC (MP BNE (LR 021514 002166 002166 MOV MOV MOV MOV 104010 000320 005237 023727 001342 005037 MOV MOV 000050 002166 BGNSEG M1 104004 98%: 012702 012701 005022 005301 001375 003260 000200 018777 012777 002166 003260 147620 147616 012777 177600 147614 1% PC,HDHOME CSEXIT L10064~. ;HEADS OVER TRA(K 0 sHEADS GO HOME OKAY ;XXSTART OF SEGMENTZX ARSTART SEGMENTZX s CLEAR OF #128. k1 TMPO, (R2)+ R1 :WRITE A PATTERN FOR :WRITE ;DONE , I7 #-128. ,aRLMP ;ONE SECTOR WORD COUNT #BUF ,R? 2% JONE SECTOR'S WORTH ;WRITE FROM BUF ;SECTOR RS,WTICRDY ;WAIT SEG CSESCAPE 10001%~-. TMPO TMPO, #40. 199% TMPO ($BSEG ;LOAD THE FUNCTION IN NEXT WORD FOR WRITE TO FINISH ;CHECK FOR FL:LOE, ELSE SEG ;XXSTART OF SEGMENTRX ;CLEAR THE BUFFER FIRST ;128 WORDS #BUF ,R2 DEC BNE R1 MOV MOV TMPO ,aRLDA #BUF ,aRLBA ;SETUP BUS ADDRESS MOV #=-18, ,ak MP ;READ A SECTOR (R2)+ EXIT SNEXT SECTOR ;ALL DONE? :NO GO BACK ;CLEAR MOV MOV (LR WRITE s1F NOT, GO BACK #BUF ,aRLBA TMPO ,aRLDA RS,LDFUNC THE 3% ;GET SECTOR S— 2213 032252 2214 032256 HAVE SEQ 0104 Sem—— 2206 2207 2208 2209 2210 2211 2212 8 2-53 ;ERROR PRINT OUT wWiLL GIVE SECTOR, EXPECTED AND RECEIVED STARS 2205 032252 1 N CIRLHAD RLIT/RLVIT CTLR 2 *+TEST B9 MACRO v03.01 9-FEB-79 19:01:51 PAGE 2-54 31es = CHECK SECTOR BITS OF 2252 032442 2253 032446 5254 032450 255 032456 032454 2256 032456 004537 000014 004537 2257 032460 2258 032464 2259 032470 2260 032472 032472 004537 005737 001003 2262 032500 005737 032474 2261 032476 2263 032504 2264 032506 2265 032506 S%gg 020674 021514 104010 000216 104010 000200 000404 001772 020432 002132 108: 017204 005037 005037 013737 012702 012701 012237 023737 001440 002136 002130 002166 003260 000200 002176 002176 2277 032552 2278 032560 2279 032562 032562 032564 ggg? 032566 023737 001002 002136 2282 032572 2283 032576 2284 032600 032600 032602 032604 032606 2285 032610 ggg? 032614 005737 001007 032622 032626 032632 032636 032642 032644 032646 2289 032652 8%: 104006 2268 032510 2269 032514 2270 032520 2271 032526 2272 032532 2273 032536 2274 032542 gg;z 032550 2288 032616 032616 HEADER COMPARE 104010 000110 005237 104462 000046 013313 015162 005237 000416 013746 013746 013746 012746 012746 010600 104014 062706 002136 99%: 002174 002174 5%: 017206 3338: 002130 000012 RS ,LDFUNC JSR 1§71 BNE ESCAPE EMT RS ,CHERR T.CRC 8% SEG (SESCAPE RS ,WICRDY SEG CSESCAPE 10002%-. .WORD BR 10002%~-. 99% BEQ (KLOOP EMT 109 1871 T.DMP CSCLPI ;LOAD THE FUNCTION IN NEXT WORD ;CHECK FOR FL:LOE, ELSE EXIT SEG ;CHECK CNTLR FOR ERRORS ;WAS ERROR A D(CK?? ;YES,SEE IF WE A DUMP ;CHECK FOR FL:LOE, ELSE EXIT SEG ; SKIP AROUND ;D0 WE STILL WANT TO CHECK IT :NO ;YES, CHECK FOR LOOP FIRS? ;CHECK NOW TO SEE IF WE READ THE RIGHT SECTOR 002130 002176 002174 002166 016377 000004 JSR READ JSR ESCAPE EMT LWORD SEQ 0105 9%: CLR CLR Mov MOV MOv MoV (MP BEQ CDCNT CHECK TMPO,GDDAT #BUF ,R2 #128. k1 (R2)+,BDDAT BDDAT,GDDAT 6% ;CLEAR NUMBER WE'RE TO PRINT ;ALLOW HEADER ON FIRST PRINT ;EXPECTED DATA ;BUFFER :WORD COUNT 3 (MP BNE ESCAPE EMT .WORD INC CDCNT, T.LMT 333% SEG C(SESCAPE 10002%-. CDCNT ; CHECKED ENOUGH?? :NO ;CHECK FOR FL:LOE, ELSE EXIT SEG TST BNE ERRDF TRAP .WORD .WORD .WORD INC BR (HECK 9% 38.,EMS0,ERR1T TSERCODE 38 EM50 ERRI1I CHECK 6% ;HEADER OR JUST DATA :JUST DATA ; ;ACCOUNT FOR PRINT OF HEADER PRINTB #FRMT8,TMPO,GDDAT,BDDAT BODAT,=(SP) MOV MoV 6%: ;ACCOUNT FOR IT MoV MOV MOV MOV EMT ADD (KL.OOP GDDAT,=(5P) TMPO,=(SP) #FRMT8,-(SP) ¥4 ,-(SP) SP,RO ($PNTB #12,5P ( ' CZRLHMAD RLTT/RLVIT CTLR 2 MACRO v03.01 9-FEB=79 19:01:51 *+TEST 31#v =~ (MECK SECTOR BITS OF HEADER COMPARE 032652 2290 2291 032654 2292 032656 2293 032660 2296 032664 2295 032672 2296 2297 032674 03267¢ 032674 2298 2299 032676 032676 032676 2300 032700 032700 032700 2301 032702 032702 032702 104006 EMT CsCLPY 005301 001327 005237 023727 001243 DEC BNE R1 002166 002166 INC (MP . BNE 000050 100028%: 104005 104005 10000%: 104005 ENDTST L10064: 104001 LSBTTL 2305 032704 BGNTST 2307 032704 STARS c 9 2-55 SEQ 0106 sALL OF SECTOR CHECKED? ;60 BACK [F NOT sNEXT SECTOR :DONE? :NO, GO BACK 5% TMPQ TMPO, #40. 98% ENDSEG EMT 10001%: PAGE ;AREND OF SEGMENTZX CSESEG ;AXEND OF SEGMENTZZ ENDSEG EMT ENDSEG (SESEG EMT (SESEG ;RXEND OF SEGMENTZZ s**END OF EMT #+TEST TESTw« CSETST 32++ - WRITE CHECK NPR INTEGRETY s**START OF TESTw» ::"""""""'""'t""""""""."'.".l""t'."".""' ;CHECK THAT NPR WILL NOT INTERFERE WITH THE OPERATION OF THE ;UNIBUS. WE SET UP LOCATION & TO HANDLE THE TRAP IF 1T HAPPENS. 032704 STARS "."Q'.'l"""'""""""l""""".'.'.""'.'.".""l.""' 004737 021574 000372 JSR CKERFG EMT .WORD 104004 BGNSEG EMT 012700 003260 000200 ~ ~ Fo W N 125252 o OVBNO NS W=D V0NN — owm 1064032 000 003260 177600 147270 020674 021514 299%: 147300 147276 MOV MOV MOV DEC BNE PC,HDHOME CSEXIT L10065-. ;%XXSTART OF ($BSEG #BUF ,RC #128. ,R1 #125252,(R0)+ R1 299% MOv MOv CLR #-128. ,aRLMP aRLDA .WORD RS ,WTCRDY SEG (SESCAPE 100008~-. JSR WRITE JSR ESCAPE EMT ;HEADS OVER TRACK 0 ;HEADS GO HOME OKAY #BUF ,aRLBA RS ,LDFUNC SEGMENTXZ ;SETUP AND WRITE ;128 WORDS ;WRITE :DONE?? :LOAD BUS ADDRESS ;WORD COUNT :CLEAR DISK ADDRESS :LOAD THE FUNCTION IN NEXT WORD ;WAIT ;CHECK FOR CONTROLLER READY FOR FL:LOE, ELSE EXIT SEG 0.9 CIRLHAD RLIT/RLVIY CTLR 2 MACRO v03.01 9-FEB-79 19:01:51 PAGE 2-56 *+TEST 32++ « WRITE CHECK NPR INTEGRETY 2331 033002 2332 033006 033006 033010 2333 2334 2335 2336 2337 033012 2338 033016 2339 033024 2340 033032 2341 033036 2342 033040 2343 033044 033044 033046 2344 033050 2345 033054 033054 033056 2346 2347 (33060 033060 2348 2349 033062 033062 033066 033072 033076 033102 033104 2350 033110 2351 033114 2352 033122 2353 033126 23%4 033134 2355 033140 2356 033146 2357 2358 2359 2360 2361 2362 033154 033160 033166 033174 033202 033210 004537 rnono Pl o oo JSR ESCAPE EMT .WORD 104010 000300 RS, CHERR SEG (SESCAPE 10000%-. ;CHECK ;CHECK CNTLR FOR ERRORS FOR FL:LOE, ELSE EXIT SEG sVERIFY WRITE WITH READ BEFORE WRCMK 005077 012777 012777 004537 000014 004537 104010 000242 004537 147236 003260 177600 020674 147226 147224 CLR aRLDA #BUF ,aRLBA JSR RS,LDFUNC MOV MOV READ 021514 JSR RS ,WICRDY ESCAPE SEG CSESCAPE EMT 10000%-. .WORD JSR RS,CHERR ESCAPE - SEG EMT CSESCAPE .WORD 10000%-. 020432 104010 000232 BGNSEG EMT 1%: 000340 021566 002140 000003 000010 002150 003260 147126 177600 002174 002142 000002 021202 002174 000201 002000 002174 000144 000200 0527 o 2363 033214 2364 033222 2365 033224 033224 033230 2366 033232 2367 033234 2368 2369 033236 033 033 033 244 020432 SEQ 0107 004537 104462 000000 000024 021234 SETVEC MOV MOV MOv MOv CLR TRPFLG #BUF ,aRLBA oRLDA 147130 147122 MOv 002174 002174 MOV #-128. ,aRLMP GDDAT DRIVE ,GDDAT 002224 002224 002224 147040 MOv RS,BEFORE GDDAT ,B.CS MOV MOV GDDAT ,aRLCS #100.,R1 147026 5%: BIT BNE WAITUS MOV EMT DEC BNE ELSE EXIT sXXSTART OF SEGMENTZ% :SET UP FOR TRAP #WRCHK ,GDDAT #OP1,B.CS #CRDY,aRLCS 6% #20. #20.,R0 (SWwTU ;CLEAR TRAP OCCURANCE :BUS ADDRESS ;LOAD DISK ADDRESS :WORD COUNT OF 128 :SET UP (SR TO LOAD :SET IN DRIVE :SET IN FUNCTION ;LOAD FOR ERROR PRINTOUT ;SET IN COMMAND :LOAD CRDY ;CLEAR (BIT 10) ;ISSUE WRITE CHECK ;WAIT FOR CRDY :NPR DONE .YES, 6% ;WAIT A WHILE 5% ;A WHILE UP :NO, GO BACK JSR ERRDF RS,AFTER 0.,CRTIM, ERRS :CONTROLLER TIMED OuT .WORD 0 TRAP SEG #TRPHAN,=(SP) EMT BIS BIC :CHECK CNTLR FOR ERRORS sCHECK FOR FL:LOE, ERRVEC,#TRPHAN, #340 #340,-(SP) ADD CLR MOv BIS JSR FUNCTION IN NEXT WORD sCHECK FOR FL:LOE, ELSE EXIT SEG ($BSEG ERRVEC,=-(SP) #3,-(SP) C$SVEC CLR sLOAD THE R1 TSERCODE 2378 2379 2380 2381 WWNWWWNIINWNWNIINWN NN ~NOnS W NNNNN oo N W W 2372 j=leleleleleleleleBNelelelelole) 237N NN W NN NN NN CIRLHAD RLIT/RLVIY CTLR 2 MACRO v03.01 v+ TEST 32++ = WRITE (MECK NPR INTEGRETY 270 272 276 276 013700 104036 002140 000024 002150 151 BEQ JSR ERRSF 021234 104461 TRAP 000001 013705 014452 10001%: 10000%: L10065: 104001 LSBTTL NN NN N oOoooco NN W OO0 NN NN NN 2406 ;CLEAR VECTOR ERRVEC ERRVEC,RO CSCVEC SEG ;CHECK FOR FL:LOE, (SESCAPE 10001%-. ELSE EXIT SEG ;DID TRAP OCCUR? TRPFLG 7$ RS,AFTER 1.,EM57 ERRO {SER(ODE ;NO :TRAP ON WRITE EMS7 ERRO sAXEND OF ENDSEG EMT ENDSEG (SESEG EMT ($SESEG SEGMENTZZ ;%XEND OF SEGMENTZZ ;**END OF EMT (SETST #eTEST 33+« = WRITE CHECK TESTer» FUNCTION ;**START OF TESTer AR AR R ARl RRE 2] : WE WILL WRITE CHECK A FULL SECTOR (128 WORDS) FROM sMEMORY STARS (BUF). WE CHECK THAT NO ERRORS OCCUR. AR ARttt RRRRRRRRRRRRRRE) L OO0 24605 ERRS :CHECK OF WRITE CHECK LOGIC UNDER FLAG MODE - 240% 2404 (RTIM STARS E 2401 2402 2-57 BGNTST 2391 2392 2393 2394 033314 2399 2400 . ENDTST 2385 2386 2387 2388 033314 2389 2390 033314 2395 2396 2397 2398 .WORD .WORD .WORD 7%: 104005 2383 2384 .WORD .WORD CLRVEC Mov EMT ESCAPE 3. .WORD 104079 005737 001406 004537 PAGE SEQ 0108 007400 014664 104005 2382 9-FEB=79 19:01:51 004737 021574 104032 000214 JSR (XERFG EMT .WORD 104004 BGNSEG EMT 012700 012701 012720 005301 001374 003260 000200 125252 299%: MOv MOv MOV DEC BNE PC ,HDHOME CSEX]T ;HEADS OVER TRACK 0 ;HEADS GO HOME OKAY L10066~. ;AXSTART OF ($BSEG #BUF ,RO #128. R 0125252,(R0)o R 299% ;SETUP AND WRITE ;128 WORDS JWRITE ;DONE?? SEGMENTZX — CIRLMAD RLUTT/RLVYIY oo TEST 33ee = YRITE 2607 26408 033354 26409 033362 2610 033370 2617 033374 2612 033400 2613 033402 2614 033406 033406 033410 26415 033412 2616 033416 033416 033420 2617 033422 s 033422 ' CTLR 2 C(HECK 012777 012777 005077 004537 MACRO v03.01 FUNCTION 003260 177600 146660 MOV MOV CLR 020674 000012 CO0&537 021514 104010 000132 006537 020432 F 9 2-58 SEQ 0109 146570 146666 JSR WRI1TE JSR ESCAPE EMT .WORD JSR ESCAPE EMT .WORD BGNSEG EMT 104010 000122 104004 52}8 2621 2622 26423 24264 2625 26426 2427 9=FEB=79 19:01:51 PAGE e #BUF ,aRLEBA #-128. ,aRLMP aRLDA ;LOAD BUS ADDRESS ;WORD COUNT ;CLEAR DISK ADDRESS RS,WTICRDY SEG (SESCAPE 10000%-. RS,CHERR SEG (SESCAPE 10000%-. ;WAIT FOR CONTROLLER READY sCHECK FOR FL:LOE, ELSE EXIT SEG RS.,LDFUNC ;LOAD THE FUNCTION IN NEXT WORD sCHECK CNTLR FOR ERRORS JCHECK FOR FL:LOE, ELSE EXIT SEG ;XXSTART OF ($BSEG SEGMENTZZ ;VERIFY WRITE WITH READ BEFORE WR(HK 033424 033430 033436 (033444 033450 033452 033456 033456 033460 2628 033462 2629 033466 033466 230 033470 4 26431 03372 033472 2432 2633 033,74 2634 033474 2635 033500 2636 033506 2437 033514 005077 012777 012777 004537 000014 004537 104010 000060 004537 146624 003260 177600 020674 (LR MCv MOV JSR READ JSR ESCAPE EMT .WORD 146614 145612 021514 020432 aRLDA #BUF ,aRLBA #-128.,3RLMP RS,LDFUNC RS ,WTCRDY SEG CSESCAPE 10001%-. JSR RS.,CHERR 104010 000050 ESCAPE EMT .WORD 104004 BGNSEG EMT ($BSEG CLR MOV MOV JSR aRLDA #-128. ,aRLMP #BUF ,aRLBA RS,LDFUNC 3% SEG (SESCAPE 10001%-. 005077 012777 012777 004537 146554 177600 003260 020674 26440 033522 2441 033526 033526 033530 2642 004537 021514 JSR ESCAPE EMT LWORD RS,WTCRDY SEG (SESCAPE 10002%~-. 2442 033532 0045%7 020432 JSR RS,CHERR 5422 033520 000002 146550 146536 WRCHK ;LOAD THE FUNCTION IN NEXT WORD JCHECK FOR FL:LOE, ELSE EXIT SEG :CHECK CNTLR FOR ERRORS sCHECK FOR FL:LOE, ELSE EX]T ;X%START OF SEG SEGMENTZ% ;WORD COUNT ;BUS ADDRESS ;LOAD THE FUNCTION IN NEXT WORD ;WRITE CHECK 'A 24643 244 2446 033536 033536 03353 2647 033540 033540 033540 104010 000006 104005 104009 10002%: 10001%: ENDSEG EMT ENDSEG ($ESEG EMmT ($ESEG ;WAIT FOR CONTROLLER READY JCHECK FOR FL:LOE, ELSE EXIT StG :(HECK CNTLR FOR ERRORS sAXEND OF SEGMENTXZ SAAEND OF SEGMENTZX USSR MACRO v03.01 9-FEB=79 19:01:51 CIRLMAD RLTT/8LVIT CTLR 2 *oTEST 33se = WRITE (MECK FUNCTION 2648 033542 033542 033542 26449 033544 033544 033544 24650 2651 2652 2653 033546 24L54 2655 033546 10000%: 104005 ENDTST L10066: 104001 LSBTTL PAGE 6 9 2-59 SEQ 0110 ENDSEG EMmi (SESEG EMI ($ETST *oTEST 340+ = WRITE CHECK SAREND OF SEGMENTZZ s**END OF TESTwe FUNCTION BGNTST INTERRUPT ;**START OF TESTwe STARS ;;'".""'"""""""""'""'"""""'."."""""."'l 2456 2457 2458 2459 26460 033546 ;CHECK OF WRITE CHECK LOGIC UNDER INTERRUPT MODE ;WE WILL WRITE CHECK A FULL SECTOR (128 WORDS) FROM MEMORY (BUF). WE DO NOT CHECK RLDA OR RLBA ;WE C(HECK THAT NO ERRORS OCCUR. ; INCREMENT AT THIS TIME. STARS ;:"""""""""""""'0""'""'..'.'."'.Q'.I."Q"..." 2461 2462 2463 0 33546 2664 0 033560 033562 2465 2466 0 0 2467 2668 033566 2669 033572 2470 033576 26471 033602 2472 033604 2673 2474 033606 2475 033614 2476 033622 2677 033626 2478 033632 2679 033634 2480 033640 033640 033642 2681 033644 2482 033650 033650 033652 2483 2484 2485 03 3654 2486 03 033660 c«87 03 033666 2488 033674 2489 03 033700 2490 03 033702 2491 03 033706 004737 021574 104032 000252 JSR CKERFG EMT .WORD 104004 BGNSEG EMT 012700 012701 012720 005301 001374 003260 000200 125252 012777 012777 005077 004537 000012 004537 003260 177600 146426 020674 104010 000170 004537 299%: 146436 146434 021514 0000 14 0045 37 1646374 020674 021514 MOV MOV CSEXIT 1463¢4 146362 CLR MOV MOV TRACK 0 ;HEADS GO HOME OKAY :XXSTART OF ($BSEG #BUF ,RO :128 WORDS R1 ;DONE?? #BUF ,aRLBA ;LOAD BUS ADDRESS #125252,(R0O)+ 299% #-128.,aRLMP aRLDA RS.,LDFUNC RS, WTCRDY SEG (SESCAPE 10000%-. SEGMENTXZ :SETUP AND WRITE #128. ,R1 ;WRITE :WORD COUNT ;CLEAR DISK ADDRESS ;LOAD THE FUNCTION IN NEXT WORD ;WAIT FOR CONTROLLER READY ;CHECK FOR FL:LOE, ELSE EXIT ;CHECK SEG ;CHECK CNTLR FOR ERROR» FOR FL:LOE, ELSE EXIT SEG WRCHK aRLDA #BUF ,aRLBA #-128. ,aRLMP JSR RS,LDFUNC JSR ESCAPE RS,WICRDY SEG READ :HEADS OVER L10067~. RS,CHERR JSR ESCAPE SEG (SESCAPE EMT 10000%-. .WORD Y WRITE WITH READ BEFORE IF ER ;V 020432 003260 177600 DEC BNE (LR JSR WRITE JSR ESCAPE EMT .WORD 104010 000160 0050 77 0127 77 0127 77 0045 37 MOV MOV MOV PC ,HDHOME sLOAD THE FUNCTION IN NEXT WORD ;CHECK FOR FL:LOE, ELSE EXIT SEG i CIRLHAD RLIT/RLVYIY #eTEST 34ve = WRITE 033706 2492 2493 CHECK 104910 000122 004537 9 MACRC v03.01 9-FEB-79 19:01:51 PAGE 2-60 FUNCTION INTERRUPT 020432 104010 000112 2694 2495 146320 177600 003260 012700 00000C 004537 000102 004537 020674 104041 2504 2505 2506 2507 033772 033774 033774 034000 034002 034006 034010 034030 034012 034014 034016 034020 034020 034022 034024 034030 034030 034030 034032 034032 034032 034034 034034 034034 252% 2524 03403%¢ 2525 002152 005037 005077 012777 012777 1646314 146302 000036 012700 000340 005737 001004 002152 2%: 104010 000006 104005 104001 CLR CLR MOV INTFLG oRLDA #-128.,3RLMP MOV #BUF ,aRLBA ;SET UP WORD COUNT ;SET UP BUS ADDRESS SETPRI #PRIOO ;PRIORITY T0 0 EMT JSR C$SPRI RS,LDFUNC 020432 10000%: ENDTST L10067: LSBTTL BONTST ELSE EXIT SEG #PR100,RO ;RASTART OF SEGMENTZZ ;CLEAR INTERRUPT CCCURANCE FLAG ;LOAD THE FUNCTION IN NEXT WORD ;WRITE CHECK UNDER INTERRUPT ;WAIT FOR INTERRUPT ;CHECK FOR FL:LOE, ELSE EXIT RS,WICRDY SEG CSESCAPE 10001%-. SETPR] #PRIO7 :SET PRIORITY 10 7 EMT T1S1 BNE C$SPRI INTFLG 2% ;DID INTERRUPT OCCUR? ERRDF 4, ,EM60,ERROD ;WRITE EM60 ERRO SEG CSESCAPE 10001%-, ;(HECK FOR FL:LOE, ELSE EXIT SEG .WORD .WORD ESCAPE EMT .WORD JSR 10001%: ; CHECK CNTLR FOR ERRORS FOR FL:LOE, JSR ESCAPE EMT .WORD TRAP .WORD 013745 014452 104005 ($BSEG MOV 104462 000004 004537 BGNSEG EMT sCHECK 10000%-. WRCHK ! INTEN 104010 104041 (SESCAPE 10000%-. RS,CHERR SEG CSESCAPE MOV 021514 SEQ 01N EMT .WORD JSR ESCAPE EMT LWORD 104004 2696 2457 2498 2499 2500 2501 2502 2503 2521 2522 CTLR 2 H #PRIO7,RO T$ERCODE 4 s YES=BRANCH NO=REPORT RS,CHERR DID NOT INTERRUPT sCHECK CNTLR FOR ERRORS ;%XEND OF SEGMENTZ% ENDSEG EMT ENDSEG C$ESEG EMT ($ESEG EMIT C$ETST *eTEST 35¢+ = PROPER SEG INCREMENT s AXEND OF SEGMENTZZ s**END OF TESTer OF RLBA ON WRITE Jo«START OF (HECK TESTee CIRLHAD RLIT/RLVYIY CTLR 2 *+TEST 35¢+ - PROPER INCREMENT MACRO v03.01 9-FEB=79 19:01:51 OF RUBA ON WR'TE CHECK 2526 2527 034036 PAGE 1.9 2-61 SEQ 0112 STARS .':"""'""""""""'""'.'"""..'.""""""""""l. 2528 2529 ;CHECK THAT THE RLBA WILL INCREMENT PROPERLY AFTER THE ;WRITE CHECK WAS FINISHED THE RLBA SHOULD BE 128 WORDS (256 BYTES) 2531 2532 034036 ;WE WILL MONITOR ALL ERRORS AND REPORT THEM ACCORDINGLY STARS 2530 ;CREATER. STARTING RLBA 1S "'BUF'‘, ENDING SHOULD BE 'BUF + 256." ":"'l""l".'.""""""""'"""'."..""""""t""l" 2533 2534 2535 034036 2536 034042 034050 004737 021574 237 034052 104032 000256 2538 034054 od 034054 104004 25640 2561 2562 2543 034056 034062 034066 034072 012700 012701 012720 005301 003260 000209 125252 034076 034104 034112 034116 034122 034124 034130 034130 034132 2553 034134 012777 012777 005077 004537 000012 004537 003260 177600 146136 020674 021514 104010 000174 004537 020432 gga; 034076 JSR (KERFG EMT 299%: 001374 PC , HDHOME ;HEADS OVER TRACK 0 :HEADS GO HOME OKAY .WORD CSEX]T L10070-. BGNSEG EMT ($BSEG MOV MOV MOV DEC #BUF ,RO #128. R #125252,(R0O)+ R1 ;SETUP AND WRITE ;128 WORDS :WRITE :DONE ?? MOV MOy (LR JSR WRITE JSR ESCAPE EMT .WORD JSR #BUF ,akLBA #-128.,3RLMP SRLDA RS, LDFUNC ;LOAD BUS ADDRESS :WORD COUNT :CLEAR DISK ADDRESS :LOAD THE FUNCTION IN NEXT WORD RS,WTCRDY SEG ($ESCAPE 10000%-. RS, CHERR ;WAIT FOR CONTROLLER READY ;CHECK FOR FL:LOE, ELSE EXIT SEG BNE 299% ;XXSTART OF SEGMENTXX 'A 2546 2547 2568 2549 2550 2551 2552 2554 034140 034140 034142 2225 2556 2557 034144 2558 034150 2559 034156 2560 034164 2561 034170 2562 034172 2563 034176 034176 034200 2564 036202 2565 034206 034206 034210 66 2567 034212 2568 036212 146146 146144 ESCAPE EMT .WORD 104010 000164 005077 012777 012777 004537 000014 004537 104010 000116 104004 ;CHECK ;CHECK CNTLR FOR ERRORS FOR FL:LOE, ELSE EXIT SEG ;VERIFY WRITE WITH READ BEFORE WRCHK 146104 003260 177600 020674 021514 104010 000126 006537 SEG CS$ESCAPE 100008%-. 146074 146072 (LR MOV MOV JSR READ JSR ESCAPE EMIT 020432 .WORD JSR ESCAPE EMT LWORD BGNSEG EMIT SRLDA #BUF , aRLBA #-128. ,aRLMP RS,LDFUNC RS ,WTCRDY SEG ($ESCAPE 10000%-. RS,CHERR SEG (SESCAPE 10000%~. ($BSEG ;LOAD THE FUNCTION IN NEXT WORD ;CHECK FOR FL:LOE, ELSE EXIT SEG ;CHECK CNTLR FOR ERRORS ;CHECK FOR FL:LOE, ELSE EXIT SEG JXXSTART OF SEGMENTXX CZRLHAOD RLTT/RLVIT *+TEST 9 J CTLR 2 MACRO v03.01 9-FEB=79 19:01:51 PAGE 2-62 35+ - PROPER INCREMENT OF RLBA ON WRITE (HECK 2569 034214 2570 034214 2571 034220 2572 034226 2573 034234 gg;g 034242 2576 034250 2577 034254 2578 034256 2579 034262 034262 034264 2581 034266 2582 034272 034272 034274 2583 034276 2584 034304 25RS 034312 2587 (034314 034314 034316 034320 034322 2588 2589 034324 2591 034324 034324 034324 2592 034326 034326 03432¢ 2593 034330 034330 034330 2594 2595 2596 005077 012777 012777 012737 062737 146034 003¢60 177600 003260 000400 004537 000002 004537 020674 3%: 002174 002174 021514 104010 000030 017737 023737 001404 #BUF ,aRLBA JSR R5.LDFUNC ESCAPE RS,WTICRDY SEG ;CHECK FOR FL:LOE, ELSE EXIT SEG RS,CHERR SEG ;CHECK CNTLR FOR ERRORS ;CHECK FOR FL:LOE, ELSE EXIT SEG 10001%-. aRLBA,BDDAT ggDAI,GDDAl ;READ "RLBA' FOR PRESENT ADDRESS :DID "BA' INCREMENT PROPERLY? #-128. ,aRLMP 145750 002176 MOV (MP BEQ ERRDF 104462 000005 014003 014616 ;FORM EXPECTED BUS #256.,GDDAT JSR ESCAPE EMT .WORD 002176 002174 ;WORD COUNT #BUF ,GDDAT EMT .WORD 020432 ;SET UP BUS ADDRESS *Oov MOV MOV ADD WR(HK JSR 104010 (00040 004537 aRLDA (LR 1646024 1646022 SEQ 0113 TRAP .WCRD .WORD .WORD ADDRESS ;AFTER WRITE :LOAD THE FUNCTION IN NEXT WORD ;WRITE CHECK ;WAIT FOR CONTROLLER READY CSESCAPE 100018~ (SESCAPE ;YES, 5.,EM61 ,ERRL ;SER(ODE CONTINUE ;BA DID NOT INCREMENT EM61 ERRS 2%: 10001%: 104005 10000%: 104005 ENDTST £10070: 104001 .SBTTL 2597 034332 2598 2599 034332 ;AXEND OF SEGMENTRZX ENDSEG EMT ENDSEu (SESEG EMT (SESEG EMT CSETST «+TEST 36+« - PROPER INCREMENT ;R%XEND OF SEGMENTZZ s**END OF TESTe» OF RLDA ON WRITE ;**START OF BGNTST CHECK TESTwr STARS R R R e Y 2600 2601 2602 2603 034332 sCHECK A ;OF FULL THAT THE SECTOR SECTOR WRITE THE SECOTR. STARS INCREMENTS AFTER CHECK THE RLDA THE WRITE SHOULD REFLECT (HECK WAS FINISHED. "'GDDAT'" WAS THE EXPECTED RLDA. AN INCREMENT ""'..."l"""""'.""I"'"""'"".'t"l'tlt"'.t'l"""'l 2604 2605 2606 03 034332 2607 0% 034344 034346 004737 104032 000254 021574 JSR (KERFG EM1 .WORD PC ,HDHOME (SEX] L10071=, ;HEADS OVER TRA(K 0 ;HEADS GO HOME OKAY CZRLHAD RLIT/RLVIY CTLR 2 MACRO v03.01 9-FEB=-79 19:01:51 *+TEST 36*+ - PROPER INCREMENT OF RLDA ON WRITE CHMECK 2608 2609 034359 2610 034350 104004 2611 2612 2613 2614 gg}g 034352 034356 034362 034366 034370 012700 012701 0127¢0 005301 001374 003260 000200 125252 2617 034372 2618 034400 2619 034406 2620 034412 2621 034416 2622 034420 2623 034424 0344264 034426 2624 034430 2625 034434 034434 034436 012777 012777 005077 004537 000012 004537 003260 177600 145642 020674 565? 62 2628 034440 2629 034444 2630 034452 2631 034460 2632 034464 2633 034466 2634 034472 034472 034474 2635 034476 2636 034502 034502 2687 034504 6 2638 034506 034506 2639 2640 034510 2641 034510 2642 034514 26463 034522 2644 034526 5645 034534 104010 000172 004537 020432 005077 012777 012777 004537 000014 004537 104010 000124 004537 145610 003260 177600 020674 145500 145576 #BUF ,RO #128..,R1 #125252,(R0O)+ R1 299% MOV MOV CLR JSR WRITE JSR ESCAPE EMT .WORD #BUF ,aRLBA #-128. ,aRLMP oRLDA RS,LDFUNC :LOAD BUS ADDRESS ;WORD COUNT ;CLEAR DISK ADDRESS ;LOAD THE FUNCTION IN NEXT WORD RS,WTCRDY SEG (SESCAPE 10000%~-. ;WAIT (LR MOV MOV JSR aRLDA #BUF ,aRLBA #-128.,aRLMP RS,LDFUNC READ JSR ESCAPE RS,WTCRDY SEG 104010 000114 104004 BGNSEG EMT ($BSEG (LR MOV INC MOV MOV GDDAT GDDAT ,aRLDA GDDAT #-128. ,aRLMP #BUF ,aRLBA JSR WR(HK JSR ESCAPE RS,LDFUNC .WORD 10001%~-. 020432 .1 034556 000040 265¢ 034560 004537 ‘6 MOV MOV MOV DEC BNE CSESCAPE 10000%-. RS,CHERR SEG (SESCAPE 10000%~-. 020674 021514 104010 3%: 145532 145522 145510 EMT 020432 SEQ 0114 ($BSEG EMT .WORD JSR ESCAPE EMT .WORD 004537 000002 004537 9 2-63 ;RASTART OF SEGMENTZZ ;SETUP AND WRITE ;128 WORDS ;WRITE :DONE?? FOR CONTROLLER READY ;CHECK FOR FL:LOE, ELSE EXIT SEG RS,CHERR .CHECK CNTLR FOR ERRORS SEG ;CHECK FOR FL:LOE, ELSE EXIT SEG CSESCAPE 10000%~-. JVERIFY WRITE WITH READ BEFORE W RCHK 021514 03464542 034546 034550 034554 034554 K BGNSEG EMT JSR ESCAPE EMT .WORD 104010 000162 002174 002174 002174 177600 003260 2647 2648 2649 2650 145652 145650 021514 005037 013777 005237 012777 012777 646 299%: PAGE JSR RS,WTICRDY SEG (SESCAPE RS, (HERR ;LOAD THE FUNCTION IN NEXT WORD ;CHECK FOR FL:LOE, ELSE EXIT SEG s CHECK CNTLR FOR ERRORS ;CHECK FOR FL:LOE, ELSE EXIT SEG SEGMENTXX ;RASTART OF ;SETUP DISK ADDRESS ;CREATE EXPECTED SECTOR ;WORD COUNT :SETUP BUS ADDRESS :LOAD THE FUNCTION IN NEXT WORD JWRITE CHECK ;(HECK FOR :WAIT FOR CONTROLLER READY FL:LOE, sCHECK ELSE CNTLR EXIT SEG FOR ERRORS CIRLMAD RLTT/RLVTIY CTLR 2 MACRO v03.01 9-FEB=79 19:01:51 o TEST 36++ = PROPER INCREMENT OF RLDA ON WRITE CHECK 2653 034564 034564 e 034566 104010 000030 2655 034570 2656 034576 ngg 034604 013737 023737 001404 2659 034606 034606 034610 034612 034614 2660 2661 034616 2662 2663 034616 034616 034616 2664 034620 034620 034620 2665 (034622 034622 034622 2666 2667 ESCAPE 002240 002174 002176 002176 104462 000006 014060 014616 PAGE 9 2 64 SEQ 0115 EMT .WORD SEG (SESCAPE 10001%-. JCHECK FOR FL:LOE, ELSE EXIT SEG MOV (Mp BEQ E.DA,BDDAT 6D DAI BDDA1T 2% :READ DISK ADDRESS ;DID SECTOR INCREMENT PROPERLY ;YES, BRANCH NO, REPORT ERROR ERRDF TRAP 6.,EM62 ,ERRS TtER(ODE ;DA DID NOT .WORD .WORD .WORD INCREMENT 6 EM6?2 ERRG ’%: 100018: 104005 100008: 104009 ENDTST L10071: 104001 gbbg LSBTTL Sb;? 034624 BGNTST 2672 034624 STARS 66 6 ENDSEG EMT ENDSEG (SESEG EMT ($ESEG EMT ($ETST weTEST 37¢¢ = MULTIPLE SXXEND OF SEGMENTZX SXXEND OF SEGMENTZX J**END OF TEST e SECTOR WRITE (MECK ;*«START OF VTESTee . """'l"t"""""t'."t"llt"""'l"'t'ttt'tilttitt.tttt' 2673 (HE(K FOR MULTIPLE SECTOR WRITE CHECK. 2674 2675 2h7% 2677 2678 034624 ;THAT : TWO SECTORS CAN BE SUCCESSFULLY THIS TEST CHECKS CHECKED. WE LOAD ;A WORD COUNT OF 129 WORDS (ONE SECTOR + 1 WORD) STARTING AT ;SECTOR O THRU SECTOR 37 AND VERIFY THAT THE RLDA DOES ;A DOUBLE INCREMENT EACH TIME. STARS ":tl..tl"""""'.""'""ltl"tl't'tt't'tt't'ttt."ll.'."'l' 2679 2680 2681 2682 034624 268% 034630 034636 e 034640 684 2685 034642 004737 034642 104004 2687 2688 2689 2690 034644 034652 034660 034664 012737 012737 012700 012701 2692 036764 005301 2691 034670 JSR (KERFG EMT .WORD 104032 000354 e 686 021574 012720 BGNSEG 000000 000000 003260 000201 125252 002166 002170 299%: P{ ,HDHOME CSEXIT L 10072-. EMT ($BSEG MOV MOV MOV MOV #0, TMPO #0.TMP #BUF ,RO #129. ,R1 DEC R1 MOV 8125282, (ROY* ;HEADS OVER TRACK 0 JHEADS GO HOME OKAY :XXSTART OF :SETUP AND WRITE 2129 WORDS :WRITE ;DONE?? SEGMENTXX CZRLMAD RLYT/RLVYIY CTLR 2 MACRO v03.01 9-FEB=79 19:01:51 PAGE eeTEST 37¢¢ « MULTIPLE SECTOR WRITE CHECK 2693 034676 001374 2695 034700 2696 034706 2697 034714 77 013737 2694 2698 034722 2699 034730 2700 034736 2701 034742 2702 03474¢ 2703 034750 034750 034752 2704 034754 2705 034760 034760 034762 BNE 003260 177577 $37 002170 002166 002174 020674 004537 021514 053737 013 104010 000240 004537 16453644 1645342 002174 002174 145316 1%: MOV MOV MOv BIS MOV JSR WRITE JSR ESCAPE EMT .WORD JSR ESCAPE EMT .WORD 020432 104010 000230 n9 2-65 SEQ 0116 299% #BUF ,aRLBA #-129. ,3RLMP TMP1,GDDAT TMPO,GDDAT GDDAT ,aRLDA RS ,LDFUNC RS ,WTCRDY SEG (SESCAPE 10000%-. RS, CHERR SEG (SESCAPE :LOAD BUS- ADDRESS ;WORD COUNT ;LOAD THE ;WAIT ;CHECK ;CHECX FUNCTION IN NEXT WORD FOR CONTROLLER READY FOR FL:LOE, ELSE EXIT SEG ;CHECK CNTLR FOR ERRORS FOR FL:LCE, ELSE EXIT SEG 10000%-. JVERIFY WRITE WITH READ BEFORE WRCHK ~NOoO 34NN NN LWL ] W) 035050 035050 013737 053737 013777 012777 012777 004537 000014 004537 ~N e o W w 002170 002166 002174 003260 177577 020674 002174 002174 1645246 145236 145234 MOV BIS MOV MOV MOV JSR READ 021514 TMP1,GDDAT TMPO,GDDAT GDDAT ,aRLDA #BUF ,aRLBA #-129. ,aRLMP RS, LDFUNC RS ,WTCRDY 000144 JSR ESCAPE EMT .WORD JSR ESCAPE EMIT .WORD (SESCAPE 10000%-. RS, CHERR SEG (SESCAPE 10000%-. 104004 BGNSEG EMT ($BSEG 1064010 000154 004537 020432 104010 7 7 7 o rnoronoNurnorONRORO OOV NNNNNNNNNNNNN W wwnunc oo NN SN =0 00BN NS W U - NN NN 2709 034764 2710 034772 2711 035000 2712 035006 2713 035014 2716 035022 2715 035026 2716 035030 277 035034 035034 035036 2718 035040 2719 035044 035044 035046 ; 7 002170 002166 002174 000002 003260 177577 020674 021514 30 52 104010 000042 134 (004537 140 104010 020432 002174 002174 1645160 002174 1645142 1645140 MOV BIS MOV ADD MOV MOV JSR WRCHK SEG :LOAD THE FUNCTION IN NEXT WORD ;CHECK FOR FL:LOE, ELSE EXIT ;(HECK : s CHECK CNTLR FOR ERRORS FOR FL:LOE, ELSE EXIT SEG sXXSTART OF SEGMENTXX TMP1,GDDAT TMPO,GDDAT GDDAT ,aRLDA #2,GDDAT ;GET CYLINDER ;GET SECTOR ;SET DISK ADDRESS=SECTOR 0 ;SET EXPECTED ¢ 2 #-129. ,3RLMP :WORD COUNT=SECTOR+1 #BUF ,aRLBA RS5.,LDFUNC JSR ESCAPE EMI .WORD RS ,WTCRDY JSR ESCAPE EMT RS, CHERR SEG (SESCAPE SEG (SESCAPE 10001%-. SEG :SET BUS ADDRESS WORD :LOAD THE FUNCTION IN NEXT WORD ;WRITE CHECK ;(HECK FOR FL:LOE, ;WAIT FOR CONTROLLER READY? ELSE EXIT SEG JCHECK CNTLR FOR ERRORS s(HECK FOR FL:LOE, ELSE EXIT SEG CZRLMAD RUTT/RLVIY *oTEST (TLR 2 37¢¢ = MULTIPLE e 035142 000032 2739 035144 013737 s;:; 035160 001404 2760 035152 2763 035162 035162 035164 035166 035170 2744 2765 035172 035172 2746 023737 ' ¢ MACRO v03.01 9-FEB-79 19:01:51 PAGE SECTOR WRITE CHECK .WORD 002240 00217¢ 002176 2%: 104006 035174 e 035174 104005 27649 035176 2750 035202 2751 035210 005237 022737 001233 035212 035212 2753 035214 035214 035214 g;gg 10001$: 002166 000046 002166 10000$: 104005 ENDTST L10072: 104001 LSBTTL SEQ 0117 10001%-. £.DA,BDDAT :READ DISK ADDRESS 2% SYES, BRANCH CMP BODAT, GDDAT ERRDF 7. ,EM63,ERRG BEQ 104462 000007 014135 014616 2767 035174 2752 035212 MOV 002174 N9 2-66 TRAP .MORD .MORD .WORD 1$ERCODE 7 EM63 ERR& (xLOOP EMT ($CLPY 215 DISK ADDRESS CORRECT :DISK ADDRESS NOT CORRE(T ENDSEG SXYEND OF EMT ($ESEG INC CMP BNE ENDSEG TMPO 046, TMPO 1% EMT CS$ESEG EMT CSETST *+TEST NO, REPORT ERROR (NEXT SECTOR SAT END? INO, GO BACK SEGMENTXX SYXEND OF SEGMENTXX ceefEND OF TESTee 38e+ - FORCE DCK WITH WRITE CHECK S;g? 035216 BGNTST 2758 035216 STARS 2759 2760 2761 SFORCE A DCK WITH WRITE CHECK. TMIS 1S DONE BY WRITING :A SECTOR AND CHANGING A WORD IN MEMORY BEFORE WRITE CMECK 215 1SSUED.. 2764 035216 2765 035222 035230 £ 035232 66 2767 03523 035234 TESTes .'""'Q."'"""l"'".""'."""'"."0..'.""."".'.'.""' 2762 035216 2763 ;eeSTART OF STARS .':"'.".""'."'l""""""l"""'..Il.".""l""t"l."" 004737 021574 JSR (KERFG EMT LMORD 104032 000262 BGNSEG 104004 003260 000200 125252 003260 177600 144756 299%: 144766 144764 PC , HOHOME CSEXTT L10073~, ;HEADS OVER TRACK 0 SHEADS GO HOME OKAY SXXSTART OF SEGMENTXX EMT ($BSEG MOV MOV #BUF RO #128. R :SETUP AND WRITE ;128 WORDS DEC BNE R1 299% :DONE 2? MOV #BUF ,3RLBA ;LOAD BUS ADDRESS (LR aRLDA JOLEAR DISK ADDRESS MOV MOy 9125282, (RO)* #-12R, 30 Mp :WRITE ig0BD COUN! CZRLHAO RLI11/RLVIY CTLR 2 SEQ 0118 38++ ~ FORCE DCK WITH WRITE CHECK 2778 035276 2779 035302 2780 035304 10 2781 004537 000012 004537 104010 000200 004537 2782 2783 020674 JSR WRITE JSR 021514 ESCAPE EMT .WORD 020432 035372 2797 2798 2799 035374 2800 035400 2801 035404 2802 035412 2803 2804 035420 2RC5 035424 2806 035426 2807 035432 035432 035434 2808 2805 035436 2810 035444 2811 035452 2812 035460 2813 035462 2814 035466 035466 2815 2816 035470 2817 035476 2818 2819 000170 005077 012777 012777 004537 000014 004537 144724 003260 JSR 021514 READ JSR 020674 BGNSEG EMT 020432 104010 005037 005077 012777 012777 003260 004537 020674 000002 004537 144650 003260 177600 CLR CLR 144640 MOv MOV 144636 021514 104010 000054 013737 042737 022737 001402 004537 002234 001777 104000 002166 002166 002166 020432 1%: 104006 022737 001404 104000 ;LOAD THE FUNCTION IN NEXT WORD ;WAIT FOR CONTROLLER READY ;CHECK FOR FL:LOE, ELSE EXIT SEG 10000%-. RS,CHERR #-128.,3RLMP RS.,LDFUNC 177600 104004 004537 SEG (SESCAPE aRLDA 0006122 104010 000132 RS ,WTCRDY (LR MOV MOv ESCAPE EMT .WORD JSR ESCAPE EMT .WORD w~Nn 2784 2785 2786 2787 2788 2789 2790 035350 2791 035352 2792 035356 035356 035360 2793 035362 2794 035366 035366 035370 2795 2796 035372 RS, LDFUNC JSR ESCAPE SEG ;CHECK EMT (SESCAPE 10000%-. .WORD SVERIFY WRITE WITH READ BEFORE WRCHK 104010 OO — -0 s2O8 WO & O *+TEST 810 MACRO v03.01 9-FEB=79 19:01:51 PAGE 2-67 002166 sCHECK CNTLR FOR ERRORS FOR FL:LOE, ELSE EXIT SEG #BUF ,3RLBA RS ,WTCRDY SEG (SESCAPE 10000%-. RS,CHERR SEG (SESCAPE 100008~-. ;LOAD THE FUNCTION IN NEXT WORD ;CHECK FOR FL:LOE, ELSE sCHECK ;CHECK FOR FL:LOE, ELSE EXIT SEG ;%XSTART OF SEGMENTZZ ($BSEG BUF aRLDA #BUF ,aRLBA #-128.,3RLMP :SETTING SECTOR 40 OF CYL. ADDR. *WORD COUNT RS ,LDFUNC MOV E.CS,TMPO #1777,1TMP0 ;GET RLCS ;SAVE ERROR BITS 1% RS,CHERR ;YES, RS ,WTCRDY SEG (SESCAPE 10001$~-. ;:LOAD THE FUNCTION IN NEXT WORD ;WRITE CHECK ;WAIT FOR CONTRCLLER READY ;CHECK FOR FL:LOE, ELSE EXIT SEG #BIT15!BIT11,TMPO C$CLP1 (MP BEQ IEIT15!81¥11,1HPO ERRDF 2 3. LEM65,ERRO TRAP .WORD .WORD SEG CNTLR FOR ERRORS JSR WRCHK JSR ESCAPE EMT .WORD B1C (MP BEQ JSR CKLOOP EMT EXIT 1 $ERCODE 23 " S EM65 ;DCK SET. CONTINUE e CIRLHAD RLTT/RLVYIY CTLR 2 MACRO v03.01 *+TEST 38++ - FORCE DCK WITH WRITE CHECK 035506 2820 2821 035510 2822 2823 035510 035510 035510 2824 035512 035512 035512 2825 035514 035514 2826 035514 9=FEB=79 19:01:51 014452 PAGE c10 2-68 SEQ 0119 .WORD ERRO 2%: 10001%: 1040GS 10000%: 104005 ENDTST L10073: 104001 5%%; LSBYTL 2829 035516 2830 2831 2832 035516 BGNTST ;WHEN FORCED ENDSEG sUREND OF EMT ENDSEG (SESEG EMT ($ESEG EMT CSETST SEGMENTZX sX%END OF SEGMENTZZ ;**END OF TESTwe ««TEST 39+« = FORCE DCK WITH WRITE CHECK INTERRUPT ;**START OF TESTee STARS ::l""t"'t"""'tt"""t"'t't"'t'tt't"ttt't't""'tt"t"' 2833 2834 035516 ;FORCE A DCK STARS IN INTERRUPT MODE .'."t'ttl'l"'l"'t"'t"'t"t""'tt'tt.t'tttt"'tl"l"'ttlit'tl 2835 2836 2837 035516 2838 035522 035530 - 035532 104032 000322 JSR CKERFG EMT .WORD 2840 035534 aat 035534 104004 BGNSEG EMT ($BSEG 2842 2843 2844 2845 ggzg 035536 035542 035546 035552 035554 012700 012701 012720 005301 001374 003260 000200 125252 MOV MOV MOV DEC BNE #BUF ,RO #128. ,R1 #125252,(RO)+ R1 299% :SETUP AND WRITE ;128 WORDS :WRITE ;DONE?? 2848 035556 2849 035564 2850 035572 2851 035576 2852 035602 2853 035604 2854 035610 035610 035612 2855 035614 2856 035620 035620 035622 012777 012777 005077 004537 000012 004537 003260 177600 144456 020674 MOV MOV CLR JSR WRITE JSR ESCAPE EMT .WORD JSR ESCAPE EMT LWORD #BUF ,aRLBA #-128. ,3RLMP aRLDA RS,LDFUNC ;LOAD BUS ADDRESS :WORD COUNT :CLEAR DISK ADDRESS :LOAD THE FUNCTION IN NEXT WORD RS ,WTCRDY SEG C$ESCAPE 10000%-. RS,CHERR SEG CSESCAPE 10000%-. :WAIT FOR CONTROLLER READY ;CHECK FOR FL:LOE, ELSE EXIT 2859 035624 2860 035620 005077 012777 (LR MOV IRLDA #BUF ,adRLBA Sggg 004737 021574 i44466 144464 021514 104010 000240 004537 104010 000230 299%: 020432 - PC ,HDHOME CSEXIT L10074~-. ;HEADS OVER TRACKk 0 :HEADS GO HOME OKAY ;A%START OF 144414 SEGMENTX%X SEG :CHECK CNTLR FOR ERRORS ;CHECK FOR FL:LOE, ELSE EXIT SEG :VERIFY WRITE WITH READ BEFORE W RCHK 144424 003260 e e CIRLHAO RLIT/RLVIT *+TEST CTLR 2 D 10 MACRO v03.01 9=FEB=79 19:01:51 PAGE 2-69 39++ = FORCE DCK WITH WRITE CHECK 2861 035636 104010 000162 MOV JSR READ JSR ESCAPE EM .WORD JSR ESCAPE EMT .WORD RS,WTCRDY SEG (SESCAPE 10000%-. RS.,CHERR SEG (SESCAPE 10000%-. 2869 035672 2870 035672 104004 BGNSEG EMT ($BSEG 2871 035674 035674 035700 2872 035702 2873 035706 2874 035712 2875 035716 gg;g 035724 012700 104041 005037 005037 005077 012777 012777 SETPRI MOV EMT CLR CLR CLR MOV MOV #PR100 #PR100,RO C$SPRI INTFLG BUF aRLDA #BUF ,aRLBA #-128.,3RLMP 2862 035644 2863 035650 2864 035652 2865 035656 035656 035660 2866 035662 2867 035666 035666 - 035670 012777 177600 INTERRUPI 004537 000014 004537 021514 104010 000172 004537 020432 002152 003260 144336 003260 177600 012700 104041 000340 2884 035754 Sggz 035760 005737 001004 00215¢2 2887 035762 035762 035764 035766 - 035770 104462 000030 014354 014452 021514 104006 2%: 104010 000054 002234 001777 104000 2897 036022 2898 036026 A 036026 004537 020432 2900 036030 022737 gggg 036020 144326 144324 020674 013737 042737 022737 001402 2893 036004 2894 036012 144412 000000 2878 035732 2879 035736 2880 035740 2881 035744 035744 2882 035746 035746 2083 035752 2889 035772 035772 035774 2890 2891 2892 035776 004537 000102 004537 020674 002166 002166 0027166 1%: 104006 104000 002166 SEQ 0120 #-128. ,9RLMP RS.,LDFUNC sLOAD THE FUNCTION IN NEXT WORD sCHECK FOR FL:LOE, ELSE EXIT SEG sCHECK CNTLR FOR ERRORS sCHECK FOR FL:LOE, ELSE EXIT SEG ;XXSTART GF SEGMENTZZ :CLEAR INTERRUPT OCCURANCE FLAG sSETTING SECTOR 40 OF ;WORD COUNT CYL. ADDR. JSR RS,LDFUNC WRCHK ' INTEN JSR RS,WTCRDY CKLOOP EMT csCLP! SETPRI #PRI10O7 MOV #PRI0O7,R0 EMT C$SPRI ;LOAD THE FUNCTION IN NEXT WORD ;WRITE CHECK ;WAIT FOR CONTROLLER READY 181 BNE INTFLG 2% :DID INTERRUPT OCCUR JYES OKAY ERRDF TRAP .WORD .WORD .WORD 24.,EM66,ERRO T$SERCODE 24 EM66 ERRO :NO INTERRUPT FROM D(CK ESCAPE EMT LWORD SEG CSESCAPE 10001%~-. sCHECK FOR FL:LOE, ELSE EXIT MOV BIC (MP BEQ E.CS,TMPO :GET RLCS #1777 ,1MPO ;SAVE ERROR BITS #BITIS!'BIT11,TMPO ;DCK SET. 1% :YES, CONTINUE JSR CKLOOP EMT RS,CHERR (MP #BITI5!BITI1,TMPO C$CLPY SEG S S = e E_10 CZRLHAO RLIT/RLVIT CTLR 2 MACRO v03.01 9-FEB=79 19:01:51 PAGE 2-70 *sTEST 39¢+ « FORCE DCK WITH WRITE CHECK INTERRUPT 2901 036036 2902 036040 036040 036042 0360446 s 036046 2903 2904 036050 2905 2906 036050 036050 036050 2907 036052 036052 036052 2908 036054 036054 036054 2909 2910 %3‘} 001404 BEOQ ERRDF TRAP LWORD LWORD .WORD 104462 000031 014313 014452 i% 25.,EM65,ERRD TSERCODE 25 EM6S ERRO 3%: 1000'$: 104005 10000%: 104008 ENDTST L10074: 104001 LSBTTL 2913 (036056 2914 2915 2916 2917 036056 SEQ 0121 ;WHEN FORCED ENDSEG EMT ENDSEG ($ESEG EMT (SESEG EMT CSETST JAXEND OF SEGMENTZX ;RREND OF SEGMENTZX s**END OF TESTwe #oTEST 40v+ = CHECK ZERO FILL ON WRITE WITH WRITE (CHECK BGNTST ;**START OF TESTee STARS ;;"".""""""""""""'"""...'""""""""'.""' 2918 2919 2920 2921 2922 036056 ;WHEN WRITING PARTIAL SECTORS (LESS THAN 128 WORDS) THE ;CONTROLLER WILL FILL IN THE REMAINING PORTION OF ;THE SECTOR WITH ZERO WORDS. CHECK THIS FEATURE CAN BE WRITE CHECKED :WITH WORD COUNTS FROM 1 T0 127 : STARS :;""""'"'""""""""".""'""'."".".I"."""." 2923 2924 03605¢ 2925 036062 036070 036072 2926 2927 036074 036074 2928 2929 036076 2930 036104 2931 036110 2932 036114 2933 036120 2934 036122 2935 036124 2936 0363130 2937 036132 2938 036136 2939 036144 2940 036150 2941 036154 2942 036156 004737 ;HEADS OVER TRACK 0 ;HEADS GO HOME OKAY 104032 000274 JSR (KERFG EMT .WORD 104004 BGNSEG EMT ($BSEG MOV MOV MoV MOV DEC #1,TMPI #BUF RO #128. ,R1 #52525,(R0O)+ R1 ;START WITH 1 WORD WRITE ;WRITE BUFFER WITH 52525, WE'LL ;WRITE 128 WORDS ALL THOUGM WE'RE ;ONLY GOING TO TRANSFER < 128 TMP1,RO RO RO,aRLMP ;GET 012737 012700 012701 012720 005301 001374 013700 005400 910077 012777 005077 004537 000012 004537 021574 000001 003260 000200 052525 002170 3%: 002170 144120 003260 144104 020674 021514 33%: 144106 BNE MOV NEG MOV MOV (LR JSR WRITE JSR PC,HDHOME (SEXI1T L10075~-. 3% #BUF ,aRLBA aRLDA RS,LDFUNC RS,WICRDY ARSTART OF SEGMENTRR ;DONE WITH BUFFER? :NO, GO BACK TRANSFER WORD COUNT ;NEGATE FOR RLMP ;STORE WORD COUNT ;SET UP RLBA ;WRITE sLOAD 1T THE WALT FOR WRITE AWAY FUNCTION IN NEXT TO FINISH WORD - CIRLHAD RLIT/RLVIY *+TEST 40#+» = (CHECK 2943 036162 036162 036164 2944 2945 036166 2946 036172 036172 036174 2947 2948 2949 036176 2950 036202 2951 036210 2952 036214 2953 036216 2954 036222 2955 036226 2956 036230 2957 036234 036234 036236 2958 036240 2959 036244 036244 036246 2960 2961 036250 036250 2962 036252 2963 036260 2964 036264 2965 036266 2966 036272 2967 036276 2968 036302 2969 036304 2979 036310 036310 036312 2971 2972 036314 2973 036320 2974 036324 2975 036326 036326 036330 2976 036332 2977 036334 036334 2978 036336 036336 036340 036342 036344 297G 036346 2980 036346 036346 CTLR 2 ZERO FI'L MACRO v03.01 9-FEB=79 19:01:51 ON WRITE WITH WRITE 104010 000200 004537 020432 002170 SEG JSR RS,CHERR (SESCAPE 10000%-. 144042 CLR aRLDA NEG MOV RO RO,3RLMP MOV MOV 144034 020674 JSR READ 021514 JSR RS,WTCRDY 104010 104004 BGNSEG EMT ($BSEG 020432 000116 012777 013700 005400 010077 005077 004537 000002 004537 LWORD 003260 002170 143772 MOV MOV NEG MOV CLR 143764 143756 020674 021514 000034 004537 005737 001003 104010 000016 000405 104006 020452 002132 8%: 000045 014237 015356 99%: 10001%: #BUF ,aRLBA sSET UP RS,CHERR BNE 8% :WAS ERROR EMT .WORD ER CSESCAPE 10001%-. 99% EMT CSCLPY TRAP TSERCODE .WORD EM64 ENDSEG FL:LOE, ELSE CNTLR EXIT SEG FOR ERRORS RS,LDFUNC SEG T.CRC SEG SEGMENTZX TO READ JSR .WORD FUNCTION IN NEXT WORD ARSTART OF (SESCAPE 10001%~-. .WORD SEG 10000%-. EMT .WORD CKLOOP EXIT sCHECK FOR FL:LOE, ELSE EXIT SEG TIL ESCAPE THE ;CHECK sWAIT ERRDF 104462 FOR RS ,WICRDY 1ST 10%: ;CHECK JSR ESCAPE 104010 ;LOAD ;SECTOR JSR SEG WRCHK TMP1,R0O RO RO,aRLMP aRLDA WRCHK EXIT ;CHECK ONTLR FOR ERRORS ;CHECK FOR FL:LOE, ELSE RS,LDFUNC SEG (SESCAPE 10000%-. RS, CHERR SEG (SESCAPE 104010 sCHECK FOR FL:LOE, ELSE #BUF ,aRLBA TMP1,R0O ESCAPE EMT LWORD JSR ESCAPE EMT 000126 004537 10 2-71 ESCAPE SEG EMT (SESCAPE .WORD 10000%-. Y WRITE WITH READ BEFORE IF JVER 000170 144052 003260 F - SEQ 0122 ESCAPE EMT .WORD 104079 005077 012777 013700 005400 010077 004537 000014 004537 CHECK PAGE e ;LOAD THE FUNCTION IN NEXT WORD WE FINISH THE WRCHK ;CHECK FOR FL:LOE, ELSE EXIT ;CHECK CNTLR FOR ERRORS A D(K?? ;YES, GIVE MOR iNFO ;CHECK FOR FL:LOE, ELSE EXIT SEG ; SKIP AROUND ;YES, (HECK FOR LOOP FIRST 37..EM64,ERR1G 37 ERR14 SEG JEXTT TEST JAREND OF SEGMENTRX o CIRLHAD RLIT/RLVYY eeTEST 2981 2982 2983 298¢ 2985 2986 L0ve = CHECK CTLR 2 ZERO FILL 036346 104005 036350 036354 036362 005237 023727 001250 036364 036364 036364 2987 036366 036366 036366 2988 2989 2990 036370 2991 2992 036370C MACRO v03.01 G-FEB=79 19:01:51 ON WRITE WITH WRITE CHECK EMT 002170 00217C 104005 104001 33% ENDSEG EMT L10075: LSBTTL SEQ 0123 TMP1,#128. BNE ENDTST 2-72 TMP1 (mp 10000$%: 6 10 (SESEG INC 0002C0 PAGE (SESEG (SETST EMT ##TEST 41er - EXTENDED (HECK OF ;AXEND OF SEGMENTZX s**END OF TESTee WRITE BGNTST CHECK FUNCTION ;**START OF TESTer STARS ;;"""""'""'."'"""""""".'.'."".'.t'.""""".' 2993 2994 2995 2996 ;CHECK OF WRITE CHECK LOGIC UNDER rLAG MODE ;THIS TEST IS DONE WITH ALL BIT PATTERNS ; WE WILL WRITE CHECK A FuLL SECTOR (128 WORDS) g?gggRY 2997 036370 (BUF). WE CHECK THAT FROM NO ERRORS OCCUR. :;l""'.""""""""'t"""""l.""'""'."l"'t""'." 2998 2999 3000 036370 3001 036374 036402 036404 3002 3003 036406 3004 036414 3005 036416 3006 036422 3007 036424 3008 3009 036430 036430 3010 3011 036432 3012 036436 3013 036442 3014 036444 3015 036446 3016 036450 3017 3018 036452 3019 036460 3020 036466 3021 036472 3022 036476 3023 036500 3024 036504 036504 036506 3025 036510 004737 021574 104032 000001 002126 002522 272%: 003260 000200 020674 021514 020432 CSEXIT L10076~-. BNE (MP #1,7T.DRIVE 22% :RLO2, B8R MOv 33% #HTAB,R3 :MOV #HTAB T0 R3 C 143 72 143 70 5 #HDRTAB,R3 ;HEADS OVER TRACK sHEADS GO HOME ; COMPARE TYPE OF DRIVE THEN BRANCH ; THEN BRANCH ($BSEG 298%: MOV MOV MOV #BUF ,RO #128..R1 (R3),R2 :SETUP AND WRITE ;128 WORDS DEC BNE R1 299% ;DONE?? :START OF SEGMENT R2,(R0O)+ :WRITE MOV #BUF ,aRLBA ;LOAD BUS ADDRESS CLR aRLDA ;CLEAR DISK ADDRESS MOV Jg?TE W #-128. ,aRLMP RS,LDFUNC JSR RS,WTCRDY EMT CSESCAPE ESCAPE .WORD JSR SEG 10000%~-. RS,CHERR (RLO1,RLO2) ;MOV HDRTAB TO R3 BGNSEG EMT MOV O OkAY 33%: 299%: 143562 EMT LWORD MOV 002702 003260 177600 PC,HDHOME CKERFG 000306 022737 001003 012703 000402 012703 JSR :WORD COUNT sLOAD THE FUNCTION IN NEXT WORD ;WAIT FOR CONTROLLER READY sCHECK FOR FL:LOE, ELSE EXIT SEG JCHECK CNTLR FOR ERRORS CZRLHAD RLIT/RLYYIY **TEST &1ev - EXTENDED CHECK OF 3026 036514 036514 036516 3027 036520 036520 3028 3029 3030 3031 036522 3032 036526 3033 036534 3034 036542 3035 036546 3036 036550 3037 036554 036554 036556 3038 036560 3039 036564 036564 036566 3040 3041 036570 036570 3042 3043 036572 3044 036572 3045 036576 3046 036604 3047 036612 3048 036616 3049 3050 036620 3051 036624 036624 03662¢ 3052 3053 3054 036630 3055 036634 3056 036640 3057 3058 036642 036642 036644 036646 036650 3059 306C 036652 3061 3062 036652 036652 036652 036654 3063 036654 3064 CTLR 2 036654 MACRO v03.01 WRITE CHECK 9-FEB=79 19:01:51 FUNCTION ESCAPE EMT 104010 000172 .WORD BGNSEG EMT 104004 PAGE H 10 2-73 SEG (SESCAPE SEQ 0124 ;CHECK 10000%-. FOR FL:LOE, ELSE JRASTART OF ($BSEG EXIT SEG SEGMENTZZ ;VERIFY WRITE WITH READ BEFORE WRCHK 005077 012777 012777 004537 000014 004537 143526 003260 177600 020674 1643516 143514 CLR aRLDA MOV #-128.,aRLMP MOv #BUF ,aRLBA JSR RS,LDFUNC RS5,WICRDY 104010 000066 JSR ESCAPE EMT .WORD JSR ESCAPE EMT .WORD 104004 BGNSEG EMT 104010 000076 004537 READ 021514 020432 005077 012777 012777 004537 000002 143456 177600 003260 020674 004537 021514 3%: 143452 143440 004537 005737 001404 020432 002132 104463 ;CHECK RS,LDFUNC JSR ESCAPE EMT .WORD RS,WTCRDY SEG JSR TST BEQ RS5,CHERR T.CRC 4% ERRHRD 410, ,ERR15,EM70 .WORD .WORD .WORD ERR1S EM70 #BUF ,aRLBA CSESCAPE 10002%-. FOR FL:LOE, ELSE EXIT sAASTART ;WORD COUNT ;BUS ADDRESS ;WRITE ;WAIT ;CHECK ;LOAD CHECK FOR OF THE SEGMENTZX FUNCTION CONTROLLER FOR FL:LOE, sCHECK ELSE CNTLR ;WRITE CHECK ERROR?? EXIT 104005 ;NO 104005 10001%: sAREND OF SEGMENTZX EMT ENDSEG (SESEG EMT (SESEG SEG FOR ERRORS TSERCODE 410 ENDSEG IN NEXT READY 4%: 10002%: SEG ;CHECK CNTLR FOR ERRORS ;CHECK FOR FL:LOE, ELSE EXIT SEG ($BSEG JSR TRAP 000632 015424 014426 10001%-. R5,CHERR SEG (SESCAPE 10001%-. aRLDA #-128. ,3RLMP (LR WRCHK 000024 CSESCAPE MOV MOv 104010 SEG ;LOAD THE FUNCTION IN NEXT WORD :AXEND OF SEGMENTXX WORD CIRLMAD RLIT/RLVYY #+TEST CTLR 2 &1vs = EXTENDED 3065 036656 3066 036660 3067 036666 3068 036670 3069 036674 3070 3071 036676 3072 036702 3073 036704 3074 3075 3076 036710 036710 036710 3077 036712 036712 036712 3078 3079 3080 3081 3082 036714 3083 3084 036714 005723 022737 001003 020327 000402 0203c7 001402 000137 (HECK OF MACRO v03.01 9-FEB=79 WRITE (HECK FUNCTION 000001 002126 036432 036732 036740 036742 036746 L10076: SEQ 0125 (R3)+ :RLOT OR RLO2? ;RLO2 65% R3,#HDREND 67% THEN BRANCH MOV WHDREND TO R3 ;: THEN BRANCH ;COM FOR LAST PATTERN R3,#HEND 57% 298% ;END 0F (SESEC Em? (SETST 42++ SEGMENT s**END OF - EXTENDED CHECK OF WRITE TESTee CHECK ;**START OF FUNCTION TESTwe ;;Q".."."""""""""Q""""".tl"".""""...."".' ;CHECK OF sTEST WRITE CHECK LOGIC UNDER FLAG MODE IS DONE WITH ALL BIT PATTERNS ; WE WILL WRITE CHECK A FULL SECTOR (128 WORDS) FROM ;MEMORY STARS (BUF). WE CHECK THAT NO ERRORS OCCUR. ;;"""l""I"""""'""""'.""""'..""'l"""""t" 004737 021574 104032 000306 03 036756 04 036762 05 036766 012700 012701 011302 10 " 037002 12 037010 2-74 #1,T1.DRIVE EmM1 so+TEST 110 STARS 104004 036770 ENDSEG PAGE BGNTST 036754 03675 036774 036776 037000 57%: .SBTTL 036750 06 07 08 09 (mpP BEQ JMP ENDTST 104001 022737 001003 012703 000402 012703 3096 3097 3098 3099 65%: 67%: 10000%: 104005 3085 3086 3087 3088 3089 036714 3090 3091 3092 036714 3093 036720 03672¢ 036730 187 (MP BNE (MP BR 002700 003066 19:01:51 000001 002126 003260 000200 100000 003260 177600 (MP BNE #1,7.DRIVE CSEXIT L10077~-. ;HEADS OVER TRA(K C ;HEADS GO HOME OKAY sCHECK TYPE OF DRIVE sNOT RLO1 THEN BRANCH :MOV #HDRTAB T0 R3 22% #HDRTAB,R3 22%: MOV #HTAB,R3 33%: BGNSEG EMT ($BSEG 298%: MOV MOV MOV #BUF ,RO #128, R1 ;SET UP AND WRITE 299%: 164324 2 14324 0 PC,HDHOME MOV 002522 002702 JSR (KERFG EMT .WORD BR 33% ;s THEN BRANCH MOV #HTAB 10 R3 ;START OF SEGMENT ;128 WORDS MOV (R3),R2 #B1T15,R2 R2,(RO)+ R BNE 299% :DONE?? MOV MOV #BUF ,QRLBA ;LOAD BU> ADDRESS sWORD COUNT B1S DEC #-128. ,aRLMP ; GET PATTERN (RLO2) CIRLHAD RLIT/RLVTY CTLR 2 *+1EST &2++ = EXTENDED (HECK OF 005077 004537 000012 004537 MACRO v03.01 9-FEB=79 19:01:51 WRITE CHECK FUNCTION 1643232 CLR JSR WRITE JSR ESCAPE EMI .WORD JSR ESCAPE EMT .WORD BGNSEG EMT 020674 021514 104010 000178 004537 020432 1064010 000166 104004 WRITE 037052 037056 037064 037072 037076 037100 037104 037104 037106 037110 037114 037114 C37116 005077 012777 012777 004537 000014 004537 143176 003260 177600 020674 143166 143164 CLR MOv MOV RS,WTCRDY SEG (SESCAPE 10000%~-. RS,CHERR SEG (SESCAPE 10000%-. ;WAIT WITH READ BEFORE BGNSEG EMT ($BSEG 037122 037122 03712¢ 037134 037142 037146 005077 012777 012777 004537 000002 037150 037154 004537 021514 104010 000024 004537 005737 001404 104463 000632 015424 014426 020432 002132 o onrno el - —_ s NN 003260 020674 CLR MOV MOV adRLDA #-128.,3aRLMP #BUF ,aRLBA JSR WRCHK RS.,LDFUNC JSR ESCAPE EMT .WORD RS ,WTCRDY SEG (SESCAPE 10002%-. JSR TST BEQ RS,CHERR ERRHRD TRAP .WORD .WORD .WORD ONTLR FOR ERRORS sCHECK FOR FL:LOE, ELSE EXIT SEG sRASTART CF SEGMENTZX WRCHK #BUF ,aRLBA 104004 143126 177600 ;CHECK #-128.,3RLMP 037120 037120 104010 CONTROLLER READY aRLDA 000066 020432 FOR ;CHECK FOR FL:LOE, ELSE EXIT SEG ($BSEG RS ,WTCRDY SEG (SESCAPE 100018-. RS, CHEKR SEG (SESCAPE 100018-. 000076 004537 SEQ 0126 ;CLEAR DISK ADDRESS sLOAD THE FUNCTION IN NEXT WORD JSR ESCAPE EMT .WORD JSR ESCAPE EMT .WORD 104010 2-75 aRLDA RS,LDFUNC 021514 J 10 RS .,LDFUNC JSR READ — ST N1, OVWNO WV W (WL ST N1 VT ST T n — W S NN S NANANWNWN SN2 DOONO W — D e i el il el D el it NN N NN W NG — s NN — — W — NN o i il il NN NN N Dl W 037050 PAGF T.CRC 4% 410, ,ERR1S5 ,EMT70 TSERCODE 410 ERR1S EM70 ;LOAD THE FUNCTION IN NEX! WORD ;CHECK FOR FL:LOE, ELSE EXIT SEG ;CHECK :CHECK CNTLR FOR ERRORS FOR FL:LOE, ;XXSTART OF ELSE EXIT SEG SEGMENTZZ ;WORD COUNT ;BUS ADDRESS :LOAD THE FUNCTION IN NEXT WORD ;WRITE CHECK ;WAIT FOR CONTROLLER READY ;CHECK FOR FL:LOE, ELSE EXIT SEG ;CHECK CNTLR FOR ERRORS CZRLHAD RLTT/RLVYIY CTLR 2 *+TEST &2++ - EXTENDED CHECK OF 3154 3155 3156 037202 037202 3157 MACRO v03.01 WRITE 104005 = e — NNy W 037234 037234 037234 037236 037236 037236 005723 022737 001003 020327 000402 020327 001251 CHECK FUNCTION 10002%: 10001%: 104005 037206 037210 037216 037220 037224 037226 037232 9-FEB=79 19:01:51 000001 002126 002700 003066 60%: 77%: 10000%: 104005 ENDTST L10077: 104001 LSBTTL 037240 PAGE K 10 2-76 SEQ 0127 ENDSEG EMT ENDSEG (SESEG EMT C$ESEG 1ST CMp BNE g:P (R3)+ #1,1.DRIVE 60% g;ilHDREND (MP BNE R3,#HEND 298% SEGMENTZZ sRAEND OF SEGMENTZZ ;RLOT OR RLOZ2? :RLO2? THEN BRANCH ;LAST OF PATERN? ;LAST OF PATTERN (RLO2) ENDSEG EMT JRREND OF C$ESEG JRXEND OF SEGMENTZXX J**END OF TESTwe (SETST EMT «+TEST 43¢+ = READ WITHOUT HEADER COMPARE FUNCTION STARS et e W e — W NNNNN OwveswrN :;t"""'l""""""""""l"'.O"."."..".'."'."""t" ;TEST THAT READ WITHOUT HEADER VERIFICATION WORKS. ;READ AT THE NEXT SECTOR ENCOUNTERED. sAND ISSUE THE FUNCTION IN FLAG MODE. :;0: ERRORS 037240 THIS FUNCTION SHOULD SET THE RLDA T0 0 UPON COMPLETION CHECK STARS W N=O0O0VBNOWVE w s o D o COMNNN —=OO0O~N — —_— NN 037240 037244 037252 037254 BGNTST 004737 3194 3195 021574 000052 037256 037256 177600 003260 177777 020674 021514 104010 000006 004537 020432 ;**START OF 142770 142756 1642752 TESTe» JSR PC,HDHCME EMT .WORD (SEXIT L10100~-. BGNSEG EMT ($BSEG MOV #-128.,aRLMP :SET UP WORD COUNT MOv #-1,3RLDA ;HEADER SHOULDN'T MATTER CKERFG 104032 O O O 0o 0o O NN W NI NI - N O W W NN ;:'l.."".'t.""'."""""""'.'t"!.."l"""'l""""'.. 037240 MOV JSR RDNHD #BUF ,dRLBA RS5.,LDFUNC JSR ESCAPE EMT .WORD RS ,WTCRDY SEG (SESCAPE 10000%~-. JSR RS,CHERR ;HEADS OVER TRACK 0 ;HEADS GO HOME OkKAY ;AXSTART OF SEGMENTXX :SETUP BUS ADDRESS ;LOAD THE FUNCTION IN NEXT WORD ;READ DATA WITHOUT HEADER VERIFY ;WAIT FOR IT TO FINISH ;(HECK FOR FL:LOE, ELSE EXIT SEG sCHECK CNTLR FOR ERRORS e CZRLMAD RLIT/RLVIT 11 C (T R 2 MACRO v03.01 9-FEB=79 19:01:51 *+TEST &3+¢ - RE AD WiT HOUT HEADER COMPARE FUNCTION U 3196 037324 037324 037324 3197 037326 037326 037326 3198 3199 3200 3201 037330 3202 3203 037330 10000%: 104005 ENDTST £10100: 104001 LSBTTL PAGE L_10 2-77 SEQ 0128 ENDSEG EMT CSESEG EMI CSETST ««TEST JXREND OF SEGMENTZX s**END OF TESTere 44ee = READ WITHOUT HEADER COMPARE BGNTST FUNCTION INTERRUPT s**5TART OF TESTee STARS ;;"'."""""'""'"!"""I."'.'l."".'.".t"'.".'.'.". 3204 3205 3206 037330 ;TEST THAT READ WITHOUT : INTERRUPT MODE. HEADER VERIFICATION WORKS IN STARS :;"'.""""""."'""'""'""".l"'l'....".""l..l""' 3207 3208 037330 3209 037334 037342 037344 3210 3211 037346 037346 3212 3213 037350 3214 037354 3215 037362 3216 037370 3217 037376 037376 037402 3218 037404 3219 037410 3220 037412 3221 037416 037416 037422 3222 037424 037424 037426 3223 3224 037430 3225 037434 3226 5227 037436 037436 037440 037442 037444 3228 037446 037446 037450 3229 5230 037452 5231 004737 021574 JSR (KERFG 104032 ¥ ,HDHOME 000114 EMT .WORD CSEXIT L10101-, 104004 BGNSEG tMT ($BSEG (LR MOv INTFLG ;CLEAR #-128. ,aRLMP SETPRI #PRI100 005037 012777 012777 012777 002152 012700 000000 004537 020674 104041 000116 004537 012700 104041 177600 003260 177777 142674 142662 142656 MOv MOV MOV EMT JSR JSR SETPRI 000340 MOV EMT 104010 000030 005737 001004 002152 1$: 104010 000006 004537 020432 ;XXSTART OF INTERRUPT OCCURANCE :SET UP WORD COUNT SEGMENTXX FLAG FOR ONE ;SETUP BUFFER ADDRESS ;DISK ADDRESS IS A DON'T ($SPR! RS ,LDFUNC RS ,WICRDY #PRIO7 ;LOAD THE : INTERRUPT FUNCTION IN NEXT WORD ;WAIT FOR INTERRUPT #PR107,RO ($SPRI 1S1 INTFLG ;DID :1F INTERRUPT GO T0 1% ERRDF TRAP 40.,EMGO,ERRO TSERCODE ;NO INTERRUPT FOR FL:LOE, ELSE SEG ;CHECK EXIT SEG EXIT SEG 10000%-. % LWORD .WORD .WORD 40 EM4O ERRO EMT .WORD (SESCAPE 10000%-. JSR CARE ENABLED ;(HECK ESCAPE SECTOR #PR100,RO SEG (SESCAPE BNE 104462 ;HEADS OVER TRA(K 0 ;HEADS GO HOME OKAY ESCAPE EMT .WORD 000050 012755 014452 #BUF ,aRLBA #-1,3RLDA RONHD ! INTEN 021514 RS,CHERR e IT INTERRUPT FOR FL:LOE, ELSE JCHECK CNTLR FOR ERRORS ———— CIRLHAD RLYT/RLVYIY *+TEST &L4eor (1 CTLR 2 -~ READ WITHOUT 3232 037456 037456 037456 3233 037460 037460 st 037460 MACRO v03.01 HEADER COMPARE 9-FEB-79 19:01:51 FUNCTION 100008: 104005 ENDTST L10101: 104001 gs.'iz LSBTTL ggg; 037462 BGNTST 3239 037462 STARS INTERRUPT PAGE m 10 ENDSEG EMT (S$ESEG EM1 (SETST 2-78 SEQ 0129 ;BXEND OF SEGMENTZX ;**END OF TESTes *#TEST 45++ = (HECK RD W/0 HDR CMP ACTUALLY READS ;**START OF TESTes .-.-lt""tl""""t't.t't"Q"""t't'.""t"tt..t.tt't'itt't"' 3240 3241 3242 3243 3244 3245 3246 3247 3248 3249 037462 JCHECK THAT THE READ W/0 HDR CMP FUNCTION ACTUALLY READS (INTO MEMORY) ;WE WILL WRITE A PATTERN INTO MEMORY AND THEN 1SSUE sA READ TO OVERLAY THAT PATTERN. AFTER THE READ sWE CHECK TO SEE IF THE WRITTEN PATTERN HAS CHANGED. sIF NOT WE ISSUE 1T AGAIN AT THE SAME SECTION AFTER JHAVING MODIFIED OUR PATTERN IN MEMORY (SINCE THERE IS ;ONE CHANCE THAT THE DISK COULD HAVE OUR PATTERN). AFTER ;THE SECOND READ WE C(HECK THE BUFFER AGAIN. IF IT°'S sNOT CHANGED WE REPORT AN ERROR STARS .';tt".""""""""!"'tt'ttt't"ttl.'lt'ttl""ttt"'tt.tltt 3250 3251 3252 037462 3253 037466 037474 - 037476 004737 021574 104032 000160 3255 037500 $256 037500 104004 3257 037502 3258 037510 012737 005037 024350 002170 3261 037524 013720 002166 3259 037514 3260 037520 3262 3263 3264 3265 3266 gggg 037530 037532 037534 037542 037550 037556 JSR CKERFG EMT 012700 012701 005301 001374 012777 012777 012777 012737 002166 003260 000200 000050 177600 003260 003260 1%: 2%: 142512 142506 142474 002174 PC,HDHOME .WORD CSEXIT L10102~-. BGNSEG EMT ($BSEG MOV CLR #24350, TMPO TMP1 MOV MOV #BUF ,RO #128. R DEC BNE MOV MOV MOV MOV R1 2% #50, ,3RLDA #-128, ,aRLMP #BUF ,aRLBA #BUF ,GDDAT MOV TMPO, (RO) + 3269 037564 004537 020674 JSR RS,LDFUNC 3271 037572 004537 021514 RS,WICRDY 037576 037600 10401C 000054 JSR ESCAPE 3270 037570 3272 037576 000016 RDNMHD EMT .WORD SEG (SESCAPE 10000%~-. —— ;HEADS OVER TRACK 0 sHEADS GO HOME OKAY ;XXSTART OF SEGMENTXX :SET PATTERN T0 WRITE sCLEAR PASS INDICATOR sSET UP BUFFER BEGINNING ;WRITE BUFFER ;DONE?? ;NO, GO BACK :LOAD DISK ADDRESS TO NONSENSE ;SET WORD COUNT ;LOAD BUS ADDRESS ;FOR ERROR PRINIT ;LOAD THE ;READ W/0 HDR CMP FUNCTION IN NEXT WORD sWAIT FOR CONTROLLER READY CHECK FOR FL:LOE, ELSE EXIT SEG CIRLHAD RLYT/RLVYIY CTLR 2 MACRO v03.01 9-FEB=79 19:01:51 **TEST 45v+ = (CHECK RD W/0 HDR (MP ACTUALLY READS 1 004537 NN W=D OOV S 2 3 19 020432 000044 0127G2 003260 002166 037624 037630 005737 001005 002170 037632 037636 037642 005237 005137 000724 002170 002166 022237 001014 037644 037644 037646 037650 037652 20 037654 21 22 037654 037654 037654 23 037656 037656 037656 4%: 5%: 104462 3 SEQ 0130 RS, CHERR SEG (SESCAPE 10000%-. ;CHECK MOV #BUF ,R2 ;SET (Mp BNF (R2)+,TMPO 6% ;DID DATA (HANGE? ;YES, CHECK FOR END 151 TMP1 s CHECK CNTLR FOR ERRORS FOR FL:LOE, TO START ELSE ;1F 5% INC COM ER TMP1 TMPO % ERRDF 20.,EMS55,ERR9 .WORD .WORD .WORD 20 EMSS ERR9 1ST OR 2ND ;ND=REPORT EXIT SEOG COMPARING DATA ;DATA DIDN'T CHANGE, BNE TRAP 000024 013436 015044 N 10 JSR ESCAPE EMT .WORD 104010 PAGE TIME? (HECK 1ST=TRY AGAIN ; INC PASS COUNT ; COMPLIMENT PATTERN ;60 DO IT AGAIN TSERCODE 6%: 100008 : 104005 ENDTST L10102: 104001 LSBTTL 037660 BGNTST 037660 STARS ENDSEG EMT ($ESEC EMT ($ETST eeTEST 4b6re = (HECK RLBA JAXEND OF SEGMENTRZ **END OF TESTwe INCREMENT WITH RD W/0 HWDR s**START OF (MP TESTwe et ERRtR R R RRRTRRRERRERRRRRERRRRRRRRORRROARRRRRARRRRRRRERRRRRRRRRORRRORRAOTY SCHECK THAT THE RLBA WwiLL INCREMENT WITH THE READ W/0 HWDR CMP ;THE RLBA SHOULD CONTAIN "'BUF sREAD., 037660 +256." AFTER A FULL SECTOR STARS ;:"""".."""'.'.'l'.""".0".'....""'...!"."'.'.iI." 004737 021574 JSR (KERFG PC ,HDHOME (SEX]Y 104032 EMT LWORD L10103~-, 106004 BGNSEG (M C8BSEC MUY 860, @R DA 000120 012777 012777 000050 003260 [ 4 ¢ 3 L1 ! i P 13y 3 - MOV BEUF gk BA JHEADS OVER TRACK 0 JHEADS GO HOME OkAY JAXSTART OF ;SEY UP BUS ADDRESS SEGMENTRX - - —_— - BN CZRLHAD RLYT/RLVIT CTLR 2 MACRO v03.01 9-FEB=79 19:01:51 PAGE 3-1 *+TEST &Lb*r = (HECK RLBA INCREMENT WITH RD W/0 HDR CMP 43 037714 &4 037722 012777 012737 177600 003260 47 037736 004537 020674 49 0377644 004537 021514 :2 037730 48 037742 50 037750 037750 1 037752 52 037754 53 037760 037760 037762 5S¢ 037764 55 037772 g? 040000 58 040002 060002 040004 040006 - 060010 062737 000016 000400 004537 104010 000030 013737 023737 001404 002236 002176 MOV MOV ¥-128. ,aRLMP #BUF ,GDDAT JSR RS,LDFUNC JSR RS,WTCRDY JSR ESCAPE EMT .WORD MOV RS,CHERR SEG (SESCAFE 10000%-. E.BA,BDDAT ERRDF TRAP .WORD .WORD 21.,EM53,ERRSG T$cRCODE 21 EMS3 ADD RDN4D ESCAPE EMT .WORD 020432 002176 002174 CMpP BEQ 104462 000025 013516 014616 .WORD #256.,GDDAT SEG (SESCAPE 10000%-. BDDAT,GDDAT 1% - . SEQ 0131 ;WORD COUNT :FORM EXPECTED BUS ADDRESS :AFTER READ ;LOAD THE FUNCTION IN NEXT WORD :READ W/0 HDR CMP :WAIT FOR CONTROLLER READY sCHECK FOR FL:LOE, ELSE EXIT SEG :CHECK CNTLR FOR ERRORS ;CHECK FOR FL:LOE, ELSE EXIT SEG :READ 'RLBA' FOR PRESENT ADDRESS :DID "BA' INCREMENT PROPERLY? :YES, CONTINUE ERR4 %: 6 64 002174 104010 000040 6? 040012 62 040012 040012 040012 63 040074 040014 0640014 142334 002174 — 10000%: 104005 ENDTST L10103: 104007 ENDSEG :X%END OF SEGMENTZZ EMT ($ESEG EMT CSETST s**END OF TESTe» 65 66 &7 68 % ;L JSBTTL ;5 040016 BGNTST 75 040016 STARS 76 77 :CHECK THAT THE RLDA DOES INCREMENT BY ONE AFTER A ;FULL SECTOR READ W/0 HDR CMP 79 040010 STARS & 80 ;**START OF TESTer .'"lt'lttt'tt'"t""'t'l"'t"t"""t'ttttt"l'tttt'tttttttltt't 78 81 040016 82 040022 040030 o 040032 ««TEST 47++ = (HECK RLDA DOES INCREMENT WITH RD W/0 HDR CMP :AFTER THE READ THE RLDA SHOULD STILL BE THE INITIAL RLDA + 1 :."tttt.t""ttt't"ttt"""tttt'tlttttttt'tt"ttttt'lt'ttttt"t 004737 104032 000116 021574 JSR (KERFG EMT LWORD PC,HDHOME CSEX]T L10104-. sHEADS OVER TRACK 0 ;HEADS GO HOME OKAY CIRLHAD RLYT/RLVIT *eTEST &47%e = CHECK RLDA DOES 84 040034 040034 100 101 102 103 104 105 106 CTLR 2 040072 0460076 040100 040104 040104 040106 020674 004537 040120 040126 040134 013737 023737 001404 ~NOWVE Wi VD — — —r — — — el il il el ol — —_— ;RASTART OF ($BSEG SEGMENTZZ :SETUP BUS ADDRESS JSR RS, LDFUNC JSR ESCAPE RS ,WTCRDY SEG (SESCAPE 10000%-. ;LOAD THE FUNCTION IN NEXT WORD ;READ WITHOUT HEADER COMPARE JSR ESCAPE EMT .WORD RS, CHERR SEG MOv CMP E.DA,BDDAT ?QDAT,BDDAT ERRDF 22.,EM54 ,ERRS BEQ TRAP .WORD .WORD .WORD 000026 013606 014616 107 040146 CSESCAPE ;WORD COUNT ;WAIT FOR CONTROLLER READY ;CHECK FOR FL:LOE, ELSE EXIT SEG ;CHECK CNTLR FOR ERRORS ;CHECK FOR FL:LOE, ELSE EXIT SEG 10000%-. ;READ DISK ADDRESS ;:DID SECTOR INCREMENT PROPERLY :YES, BRANCH NO, REPORT ERROR T$ERCODE 22 EMS4 ERRG 1%: 104005 104001 040152 040154 040154 040156 040160 120 040162 040162 040164 0640166 002176 002176 104462 108 040152 040152 002240 002174 SEQ 0132 #BUF ,a3RLBA EMT .WORD 104010 000030 3-2 MOV MOv RDNHD 020432 cn ;DA TO NONSENSE ;SETUP DISK ADDRESS INC 104010 000040 PAGE #40. ,GDDAT GDDAT ,3RLDA GDDAT #-128. ,aRLMP MOv MOv 021514 040110 040114 040114 040116 109 040146 04014¢ 040146 110 040150 040150 040150 WITH RD W/0O HDR CMP BGNSEG EMT 000050 002174 002174 177600 003260 040144 INCREMENT 9-FEB=79 19:01:51 104004 040036 040044 0400%2 040056 040064 040136 040136 040140 040142 MACRO v03.01 10000%: ENDTST L10104: BGNMOD 000030 005130 040234 000001 000031 040241 160000 ENDSEG EMT ($ESEG EMT (SETST sAXEND OF SEGMENTZX :**END OF TESTe» HRDPRM BGNHRD .WORD L10105-L$HARD/2 GPRML .WORD .WORD .WORD GPRMA .WORD .WCRD .WORD CNTYPE,CNT,1,YES T$CODE gNTYPE (SRMSG,CSR,0,160000,177776,YES T$CODE CSRMSG M TSLOL —— i D CIRLHAD RLYT/RLVYIY CTLR 2 *+TEST &47+#» = (HECK RLDA DOES 040170 177776 040172 040174 040176 003130 040266 000001 040200 040202 040204 040206 061031 040310 0000G0 000776 040210 002032 040216 040220 000000 000007 040222 040224 040226 040230 040232 004032 040317 003400 000000 000007 040212 040214 126 040222 040255 000340 .WORD .WORD .WORD .WORD 126 040234 131 040271 040274 040277 040302 040305 126 124 105 040 060 040313 040316 124 000 040322 126 132 040310 133 040317 134 135 136 040326 137 138 139 040326 140 141 040326 142 040326 126 104 VN 114 105 104 102 — e D) -t ) -t d e e e e i et () —=OONS WNONN—=O0ONNNONO — NIV =P O =N DNNWN = 0O 040260 040263 040266 130 040255 — 040247 040252 102 040 104 123 — 129 0402641 040244 122 061 onro 040237 SEQ 0133 TSHILIM DRTYPE,TYPDR,1,YES T$CODE ?RIVPE VECMSG,VECT,0,0,776,YES T$CODE VECMSG TSLOLIM TSHILIM BRMSG,PRIOR,0,340,0,7,YES T$CODE BRMSG 340 TSLOLIM TSHILIM DRMSG,DRBT,0,03400,0,7,YES T$CODE DRMSG 03400 TSLOLIM TSHILIM ENDHRD .EVEN 040234 128 040234 3-3 : JASCIZ /RL11/ : JASCIZ /BUS LASCIZ /BR v +RSCLE /DRIVE : JASCIZ /VECTOR/ LASCIZ /DRIVE/ ADDRESS/ LEVEL/ TYPE = RLC1/ ENDMOD ot ——————— 123 040210 .WORD GPRMA .WORD .WORD .WORD .WORD GPRMD .WORD .WORD .WCRD .WORD .WORD GPRMD .WORD 0.1 SFTPRM 000025 BGNSFHT LWORD L10106=L850F1/2 R 122 040200 .WORD GPRML .WORD .WORD PAGE ] 121 040172 MACRO v03.01 9-FEB-79 19:01:51 INCREMENT WITH RD W/0 HDR (MP CIRLHAD RLIT/RLVYT **TEST 47++ = (CHECK RLDA DOES 143 040330 040330 040332 040334 000130 060402 000001 040336 006044 040340 040342 040344 060346 040350 001052 040520 040352 040354 040356 002130 040426 000001 040362 040364 003130 040437 002001 040366 006044 040370 040372 040374 040376 040400 040402 004052 040463 144 040336 145 040340 146 040352 147 040360 040360 148 040366 W - O il i [P LRV RV RN s 149 040370 — CTLR 2 MACRO v03.01 9-FEB=79 19:01:51 INCREMENT WITH RD W/0O HDR (MP 177777 000000 177777 1%: 177777 000001 000200 ’%: L10106: TM B — NN N T$CODE ?HSG 1% 1$CODE EMSG,ELY, D 177777,0,177777 ,YES 1$CODE EMSG 1777177 TSLOLIM TSHILIM SMSG,SIZE,1,YES T$CODE ?HSG (MSG,DMPCK ,1,YES T$CODE %HSG 2% T$CODE LMSG,DLMT,D, 177777,1,128.,YES T$CODE LMSG ArIrre T$LOLIM TSHILIM ENDSFT .EVEN /DROP ON ERROR SMSG: LASCIZ /AUTOSIZE/ (MSG: LASCIZ /COMPARE LMSG: LASCIZ /8 — ol — it et it () et it — il — it il LASCIZ O—= OO —=O =N WO =T NoONO = 2 CDCO ——t et s T h i s it et ) et O O=NUHPO=0OrNO —=Sroitr SN O N NN O OO ON —— e e e e SEQ 0134 DMSG,DLT,T,YES N= NN — i i e — 060471 0460474 060677 3-4 DMSG: D= OR 040461 158 040463 0460466 .WORD GPRMD .WORD .WORD .WORD .WORD .WORD E 1 (IM]T/ DATA ON D(k/ T 0460442 040445 040450 060453 0460456 L = 157 040437 e 040431 040434 N = OH =P P OODODNVOW—=ON =N =D CWNO WNDO = NO W=+~ =NV O & 040402 040405 040410 040413 040416 060421 0404264 15 040426 GPRML .WORD .WCRD .WORD XFERF .WORD GPRMD .WORD .WORD .WORD .WORD .WORD GPRML .WORD .WORD .WORD GPRML .WORD .WORD .WORD XFERF 040402 154 155 040402 PAGE OF WORDS IN ERROR REPORTED/ CIRLMAD RLIT/RLVIT **TEST 47+% = (MECK 040502 040505 040510 040513 040516 159 040520 040523 040526 040531 160 161 040534 CTLR 2 RLDA DOES 122 122 105 122 104 122 040 120 1¢4 000 117 114 m 122 T 124 105 12¢ MACRO v03.01 INCREMENT 9-FEB=79 19:01:51 164 165 F 11 3=5 WITH RD w/0 HDR (MP EMSG: /EFROR LIM[Y/ 117 122 117 105 122 040 115 000 LASCIZ ENDMOD 162 163 PAGE 040534 LASTAD 040534 LOLAST:: LEVEN SEQ 0135 CIRLMAD RLIT/RLVIY CTLR 2 MACRO v03.01 CIAGNOSTIC SUPERVISOR == LOw (ORE SET UP 1 9=FEB=79 19:01:51 PAGE 6 11 5 SEG 0136 .SBTTYL DIAGNOSTIC SUPERVISOR == LOW (CRE SET UP R55:MBLY ROUTINES © Puk FALL: POWER 000000 000000 000000 000000 071342 000200 MACRO v03.07 INTERRUPT 9=FEB=79 ROUTINE 19:01:51 PAGE 153 TS LR R SEQ 0137 LWORD O .WORD O .WORD 0 LWORD O ENC.SUPY:= o* LEND 200 :SP;(E FOR USER POOL POINTER :S1ZE JCHECKSUM ;SIZE OF (NOT CURRENTLY USED) W.Ww. PTAB, ALLOCATION -l 153-1 (Alaalalalalalalal DO VNS NN —=O O — — — T TTITTTYT'TYYT'TMTM AT 6 674 7 0 | 2 2 3 3 A 4 76 604 no N (Al A Alalalalalalalal ANl LU ] >»wn D T T T T — ol 5 5 000010 000001 002142 057574 057612 057622 EF.CON= 000036 EF .NEW= 000035 = 000034 000037 000040 000001 000002 000003 000004 000005 200006 000007 T MMM MMMmmmm 4 NP NANOMNN = —= OO ~NO nn —-< 3 3 45 4 04 057552 057556 T 000377 000007 000050 000045 000033 000002 000025 000047 000041 000037 DWORD DSAAG DSAAH DSAA] DSAAY DSAAK DSAAL DSAAM T 007524 017572 067712 017440 000200 060212 007400 $00000 040241 040542 DSO DS1 DS2 DS3 DUNIT. CVC.FT LT (OMP CONT CONTCL (ONTIN CRDY = CRLF (RTIM (SR = (SRMSG (URR.S 6 25 040317 017176 020322 000010 007425 040266 017212 000000 000400 001000 001400 041002 054062 002216 054766 055004 DRTIM DRTYPE DSPCOD —mME 002164 CALBCC CALLPC= 000022 CALLPS= 000024 CALLSP= 000026 CALLTC= 000030 CAL.CL 066222 CAL.T1 066260 CDCNT 002136 (HECK 002130 (HERR 020432 CHKLUP 047640 (HKSTR 062042 (HKTTY 060130 (HK.MA 046000 (HX.PC 053130 (HK.SW 042170 CHRCNT 061362 (H.FLA 045506 CH.PAS 045524 CKERLT 020344 CLEAR. 047122 (LKACC 040774 (LKBFR 066224 CLKCNT 040772 CLKJUM 066630 CLKRES 067632 CLKSER 067766 CLKSON 041032 CLK.SE 045602 CLNCOD 020226 CLR.MA 046056 (MSG 04640437 (NT = 000012 CNTYPE 040234 CNVT 064300 (OMMAN 040604 064114 (OMMTA o P o o 002262 047624 047536 002226 002224 002230 002232 = 000013 000031 000026 000027 000020 003070 007505 060024 007453 002316 040000 040546 000000 041066 000010 000000 007512 = 000006 040402 070476 070364 -y T - BSAAB BSAAF B.BA B.CS B.DA B.MP 040544 G 002210 ($AAD 053102 (SAAE 053114 ($AAK 054112 (SAAL 054256 ($ABRT 000021 ($ADR 000020 ($AU 000054 ($BRK 000022 ($BSEG 000004 ($BSUB= 000002 = 000030 C$BUFF (SCEFG= 000046 (SCLEA= 000012 ($CLP1= 000006 ($CVEC= 000036 CSDCLN= 000044 ($DODU= 000053 C$DRPT= 000024 ($DU = 000055 (SEDIT= 000002 CSERDF= 000002 ($ERHR= 000003 (SERSF= 000001 ($ERSO= 000004 (SESCA= 000010 (SESEG= 000005 ($ESUB= 000003 C$ETST= 000001 ($EX]T= 000032 ($GMAN= 000043 ($GPHR= 000042 C$GPRI= 000040 ($GTIM= 000052 ($INIT= 000011 CSINLP= 000020 = 000035 (SKWOF ($KWON= 000034 ($LOOP= 000100 (SMAN]= 000051 (SMSG = 000023 ($PNTB= 000014 C$PNTF= 000017 ($PNTS= 000016 000015 = 000040 CURR.T CYLMSK o BVEC 002264 040255 003260 oo BPRIOR BRMSG BUF SODOOODe = » NO NI NN N D v W =O W PAGE MmMTMmmmmmmm m ] ) — ] — ) — — — —) — — — —y 040566 AFTER 021234 ALLOC 061500 ANS = 000012 APT .ER 042470 ARLBA 00731¢ ARLCS 007307 ARLDA 007322 ARLMP 007330 ASSEMB= 000011 ASAAY 045336 ASAAW 045352 ABAAX 045364 ABAAY 045372 ASAAZ 045406 ASABA 045416 BAl6 060020 BA17 000040 002162 BCCFBK BCSR 002260 BDDAT 002176 BEFORE 021202 BEREG 007336 BGN.SU= 040534 BINMSG 060010 BI110 000001 B1100 000001 000002 BITO1 B1102 000004 BIT03 000010 000020 B1104 BIT0S 000040 000100 000200 000400 001000 000002 002000 004000 010000 020000 040000 100000 000004 00010 000020 000040 000100 000200 000400 001000 04622°2 063634 19:01:51 SEQ 0138 o 063340 007357 9=FEB=79 o 041060 G 040776 6 (AlalalalalalalafalalalalalalalalaTalalalalaRalATAN~) ABOF LA ABOPAS ABO.FM AFREG AFS1] MACRO v03.01 (2] ASSEMBLY ROUTINES SYMBOL TABLE 705 745 003 (AR AT A ERR7 ERRS ERR9 064000 - - 010214 021574 002700 021130 002522 003066 045146 007500 000020 017156 040152 002702 040570 064626 041012 017352 060040 046124 040626 060766 000100 002152 054264 020326 045072 054122 042124 047074 000041 000041 000041 000041 SEQ 0139 1%SUB 18757 JSJMP KBPTR KBUF LDCSR LOFUNC LF LINE.F o LINED LiNE?2 LINE3 LMSG LOAD.F LOGMSG LOPIMN LOPIMX LPBFR LPCNTIR LPT.AD LPT.RE LSI.RE LUP LUP.AD LSAPT LSAUT L$CCP LSCLEA L$CO LSDEPO LSDESC LSDEVP LSDISP L$DR LSDRCT LSDRS LSDRST L$DTP L$DU LSDUT LSDVTY LSEF LSEFLG LSEXP] LSEXP?2 LSEXP3 LSHARD LSHPCP LEHPTP 000041 000041 000041 000041 000041 000041 000041 000041 000041 000041 000167 0460644 040646 002154 020674 007517 041062 015464 015520 015742 0460463 045522 060032 002300 002276 040642 0460640 0645164 045160 045154 066126 017160 002104 017352 002026 040534 002050 002000 002066 002010 040330 002062 002020 002024 002030 017176 002014 002054 002052 002100 6 002012 G 045132 014466 - (Al aalalalalalalalalalalal AT AN ) ISINIT= 1$MOD 1$MSG [$PWR ISRPT 1$SEG 18SFT i $SRY 042 T 3132 w2036 002074 002106 020226 002032 002011 002102 002064 017214 002112 002070 002072 002112 002040 020322 002076 002114 002056 002034 002042 002044 002046 0460154 202016 002022 (alalalalalalalalalafnlalalalalalalalalalalaNalalal ERRG 010155 000400 000002 000001 000000 000400 000376 000001 000002 000000 000140 000000 000040 000200 000120 000020 000100 000004 000010 045276 045206 041022 007472 040572 040564 040562 oo FRMT6 FRMT7 FRMTB FRMT9 FRMT98 FRMT99 F $AU F $BGN FSCLEA F$DU FSEND F $SHARD FSHW FSINIT FS$IMP F$MOD F$MSG F$PWR FSRPT F$SEG F$SOFT F$SRV F$SUB F$SW FSTEST GARBAG GDDAT GETCHR GETCMN GETPAR GETSWI GET.TW GLBDAT GLBEQA GLBERR GLBSUB GLBTXT GODRVR GSBIT GSTAT GSTINT 153<2 oo 054334 053134 002140 054072 040536 054076 014452 014470 AN AT AT AT AT AT A NNAN~ B ) ERRO ERRI ERRIFO ERR10 ERR11 ERR12 ERR13 ERR14 ERR1S ERRZ ERR3 ERRG ERRS FRMTS 100000 AR ERRFOR ERRHAN ERRVEC ERR.HR ERR.NU ERR.SF = FRMT4 Al ANl ERR FRMT13 FRMT14 FRMT1S FRMT2 FRMT2A FRMT2B FRMT3 045526 PAGE o FLG.MA FNDFNC FORM.T FREE FRMT] FRMT10 FRMT1 19:01:51 o 016135 014237 EM6S 014313 EM66 0146354 Em7 011174 EM70 016426 END 020140 END.OF 047110 END.SU= 071342 ENVIRO 0460606 EOP.CH 070010 043354 EOP.FM EOP.IN 045520 ERCOUN 002322 ERFLG 002274 ERPOIN 002320 EM64 9-FEB=79 NoeeooocrOrOrOCOCOCONOPNOENO EM63 MACRO v03.01 OWVIWINWN = b 2 O O— NNV WO WV (VP o WO NVON—=~UVINOW — TABLE B SYMBOL ROUTINES =lelelelelololeoloaleleolelelelele] ASSEMBLY L 10042 L 10043 025244 NEWPR] 6 G G STHS = STRCHR STRT.T ST.SET SUNIT., SUPERV SUPFLA SUPV.T SUP.PR SvCGBL= SVCHAN 000100 060720 045504 042336 045510 043372 041000 G 041152 6 042110 000000 050026 TSHILI= T$LOL]= TSLSYM= TSNEST= TENSKO= TENSK 1= T$NSK2= TENSK 3= T$SAVL= T$SEGL= T$SEXO= 000057 B e e NI PUNU NI = b b b b VNV b b Lk L b L b [ [ b WN—O p b i 8 8 8 i pr S & 0 Sy S G & e g— 177777 AlalalalalalalalalalalalalalalalalalalalalalalaNalalal 6 6 017420 010001 010002 000000 177777 010107 000000 el 000300 PRI0O7 = 000340 PRNTST 061230 PRO.CM 045500 PTAB.S 041020 PUTCHR 000044 PWRFLG 002312 PWR.FA 071170 PWR.FL 040624 PWR.MS 071316 PWR.SA 071312 START1 DN VNS WN—=O 000240 6 S 017456 067706 6 NI PO PONU N START STARTC 040426 045426 017174 G 000400 B 000140 6 000200 G SMSG SPEC.U SPTLOD SPV.SE e 000006 041034 6 010123 010072 045712 040326 G 071016 6 000004 021302 000004 010511 € T SEEK = SEGSTA SEKINT SEKMES SET.MA SFTPRA SHIFT SIGN = SIMBCC SIZE = SKHOME 000004 000000 G 000040 G 000100 G 002256 070160 G 042470 062166 002156 002222 045320 064172 040574 045304 054052 SSLSYM= 010000 TEMP2 002200 TEMP3 002202 TEMP4 002204 TERM] 066216 TERMLI 064020 TERMTA 060002 TEST.M 045440 TIMFLG 040770 TIMSRY 020334 TIM.CO 040622 TIM.OP 054426 TMPO 002166 TMP1 002170 TMP2 002172 TO0.MA 057762 TRPFLG 002150 TRPHAN 021566 TRYFNC 002272 T1ST.AB 047750 1S1.70 042152 TYPDR = 000006 TYPEC 060356 TYPEPC 054252 TYPFLA 063674 TYPLIN 060254 TYPNUM 057636 TYPSTR 060274 TYP.ER 054102 TY.UNI 047114 T$ARGC= 000004 T$CODE= 004052 T$ERCO= 000062 TSERRN= 000026 TSEXCP= 000000 T$FLAG= 000040 T$SEK]= T$SEK2= T$SUBN= T$TAGL= TSTAGN= TSTEMP= T$TEST= T$TSTM= N NP I A [ o 007532 007465 002306 002310 000000 000000 000000 000001 000001 000001 000001 063526 057514 040550 6 061340 064646 000000 177777 000000 177777 I 070276 007521 0405¢0 040534 070232 002212 067756 PARSES PAR.LA PASS.C PRINTC PRINTF PRIOR = PR100 = PRIO1 = PR102 = PR103 = PR104 = PRI0OS = PR106 = 6 6 G 6 SVCINS= Sv(SuB= SVCTAG= SVCTST= SVHD SWCHAN SWITCH SW.ADR SW.PTA SYS.FT e b 000001 o0 040150 040234 040402 04061¢ 066226 040620 001244 070734 047636 047634 002220 002214 002000 045174 017200 040612 040614 RLMP RSTACK SAVEDO= SEARCH SECMSK 071314 045140 010304 010253 000010 000016 010455 010421 000014 066230 070720 070704 040610 045502 017516 020656 042272 010031 007771 000100 002252 002250 002254 (Al MXSEC] 0$bU = 0$GNSW= 0$POIN= 040014 PWR.UP P.CLK. RODINT RDDMES RDHDR = RONHD = RONINT RONMES READ = READ.P REGBAC REGSAV REQN.P REQN.T REST RESTMS RE.SET RHDINT RHDMES RHHS = RLBA RLCS RLDA SEQ 0140 NS —=O MSG.TY MUL 0$AU = 0$BGNR= 0$BGNS= 064216 000000 007636 007605 017400 007276 007260 045122 064012 061330 045326 000000 054454 (054622 040576 G 041204 047612 020000 007460 017450 064272 060016 002000 153-3 e MSCRLF MSG.AD OPIERR OPIMES OPIMN OPIMX 0$APTS= o MAP16 MASK .B MASK .W MAXCYL MAXSEC MDHEDR MEM.SI MERLMT MIN.IN MIN.US MK MODR NEXTAR NOOPO = NOPINT NOPMES NOPWR NORDY NORES NO.CLX NO.FLA NO.LPT NO.PTA NR = NUMBIN NUM.LA NUM.NO NUM.UN NUNITS NXM = NXMMES NXT NXTFOR OCTMSG OPI = oo MAJ.IN MAJ.1C MAJ.US MAN.TI 025346 025472 025666 026022 026154 026274 026454 027266 027462 027626 027742 030120 030520 031142 031570 032250 032702 033312 033544 034034 034330 034622 035214 035514 036054 036366 036712 037236 037326 037460 037656 o L10044 L10045 L10046 L10047 L10050 L10051 L10052 L10053 L10054 L10055 L10056 L10057 L10060 L10061 L10062 L10063 L10064 L10065 L10066 L10067 L10070 L1007 L10072 L10073 L10074 L10075 L10076 L10077 L10100 L10101 L10102 L10103 L1C104 L10105 L10706 MACRO v03.01 9-FEB=79 19:01:51 PAGE e L ROUTINES NN NN AN N ASSEMBLY SYMBOL TABLE MACRO v03.01 ROUTINES SYMBOL TABLE 146 147 5 6 . ABS. 071340 000000 ERRORS DETECTED: VAL .SW 0 041016 002144 041254 042074 045540 G G 6 on G VECMSG VECT = WCKINT WCKMES WHY WIDTH WRCHK WRITE WRLOCK WRTINT WRTMES WICRDY WIDRDY 040310 000002 007730 007670 002134 055022 000 001 VIRTUAL MEMORY USED: 20400 WORDS ( 80 PAGES) 70 PAGES DYNAMIC MEMORY AVAILABLE FOR CIRLHA.BIN,CZRLHA=#SV(RT/M, CZRLHA,DOCTOR 010537 010367 O1 021514 021! XEQDIA XEQsus XEQ.CL XEQ.CM XEQ.IN XEQ.LA XEQ.OP XEQ.PR XEQ.TE XMEM XPOLY XTIME XTIMEN 070044 6 070032 6 047554 045064 047236 043326 047330 042530 047374 002270 002160 066716 6 067542 XTIMST XXDP.D XXX XSALWA= XSFALS= X$OFFS= X$TRUE= $BREG SENDAD $SAV?2 $5Av3 $SAVSL $SAVS 066740 045104 017500 000000 000040 000400 000020 045600 AT ANA~ 145 L n (Y 144 023240 023436 023740 002146 040552 045430 002304 002302 041014 (o] 163 17 18 19 UNITSH UNIT.D UN].MA UOPIMN I MX UOP USER.P USER.T uuT VALID. VAL .LA o o o o o 140 141 1642 153-4 " 139 14 034624 035216 035516 022614 036056 036370 036714 037240 037330 037462 037660 040016 022750 023102 PAGE SEQ 0141 [lalalalalalAlaAAlaARaal AN~ | 137 138 9-FEB=79 19:01:51 (X ] ASSEMBLY
Home
Privacy and Data
Site structure and layout ©2025 Majenko Technologies