15 22FL #SEG ERASEX70 [JOHN BAILEY 7 22_= #LIS K0ERASEX 7 23DW 8HERASEX 4 23YG # 15 24D6 # THIS SEGMENT IMPLEMENTS MODE 6 FOR EDS 10 24XQ # AND MODE 7 FOR FDS. 20 25CB # INPUT IS A EWDAS/EWFLAW BLOCK CHAINED AFTER CURRENT ACTIVITY 12 25X2 # ALSO VARIOUS WORDS IN AOLPT 4 26BL # 20 26W= # THE ROUTINE JUMPS ON SUBTYPE TO A SEPARATE ROUTINE FOR EACH 8 27*W # DEVICE TYPE 4 27TG # 4 28*6 # 15 28SQ # S/R TO PERFORM TRANSFER AND CHECK RESULT 20 29#B # A DISTINCTION IS MADE BETWEEN PARITY FAIL AND TRACK FAULTY AND 9 29S2 # ALL OTHER FAILURES 21 2=?L # IF UNIT IS INOPERABLE A MESSAGE IS STACKED AND ROUTINES GOES UP 4 2=R= # 6 2?=W #SKI AUTPAM 7 2?QG #DEF X=EWORK6+1 7 2#=6 #SKI AUTPAM<1$1 8 2#PQ #DEF X=ACOMMUNE2 4 2*9B # 12 2*P2 SEGENTRY K1ERASEX,QK1ERASEX 4 2B8L # 4 2BN= # 19 2C7W XM1 #77777770 [EDS MASK TO REMOVE SECTOR 18 2CMG XM2 #77770000 [CYLINDER MASK FDS (2A) 20 2D76 XM3 #77777700 [FDS (2A)'MASK TO REMOVE SECTOR 9 2DLQ XERASE +EWNERASE 6 2F6B #FID 1 1 1 9 2FL2 XCH +EWCHSUM 6 2G5L #FID 1 1 1 9 2GK= XINOP +EWINOP 9 2H4W XOWN +EWOWN 6 2HJG #FID 1 1 1 9 2J46 XEWSC +EWSCAF 6 2JHQ #FID 1 1 1 4 2K3B # 13 2KH2 # TABLE OF COUNTS FOR EDS MODE 6 4 2L2L # 4 2LG= XCNT 18 2L_W EDSCNT 0,1,219,2,382,3,531,4,687,5,843,6,999,7,1165 16 2MFG EDSCNT 1,2,219,3,382,4,531,5,687,6,843,7,999 15 2M_6 EDSCNT 2,3,219,4,382,5,531,6,687,7,843 13 2NDQ EDSCNT 3,4,219,5,382,6,531,7,687 12 2NYB EDSCNT 4,5,219,6,382,7,531 12 2PD2 EDSCNT 5,6,219,7,382,0,582 12 2PXL EDSCNT 6,7,219,0,433,1,582 12 2QC= EDSCNT 7,0,270,1,433,2,582 4 2QWW # 4 2RBG # 10 2RW6 # TRANSFER S/R LINK X5 9 2S*Q # DESTROYS X0,X1,X2 4 2STB # 5 2T*2 XTRAN 8 2TSL SBX 5 FX1 21 2W#= BACKTRAN FLBS1(3),BSET+FLAW+BONL,FLBS2(3),,X(2),FLBS4(3),FLBS3(3) 8 2WRW ADX 5 FX1 10 2X?G MHUNTW 3,EWDAS,FLAWB 13 2XR6 CHTRANX HTYPE(3),XTR1,XTR2,XTR3 15 2Y=Q EXIT 5 2 [TRANSFER OK 13 2YQB XTR1 EXIT 5 1 [FAIL 15 2_=2 XTR2 EXIT 5 0 [SPECAIL FAIL 6 2_PL #SKIP GENIE 13 329= XTR3 KEEPMESS XINOP(1),EWORK5(2) [INOP 7 32NW #SKIP GENIE<1$1 13 338G XTR3 KEEPMESS XINOP(1),CA5(2) [INOP 5 33N6 UP 4 347Q # 6 34MB QK1ERASEX 10 3572 MHUNTW 3,EWDAS,FLAWB 16 35LL LDX 1 FLBLOCK(3) [FAILING BLOCK 6 35RS ...#UNS ATRACK 16 35_2 ... JPROP AWORK4(2),XDME,XDME,XDME,XDME,XDME 6 366= #SKIP GENIE 16 36KW CONVERT FLBS4(3),EWORK4(2),FLBASE(3),FLDEP(3) 7 375G #SKIP GENIE<1$1 16 37K6 CONVERT FLBS4(3),CA4(2),FLBASE(3),FLDEP(3) 12 384Q [ 19 38JB [CONVERT TO HARDWARE FORMAT 8 3942 LDX 1 FX1 8 39HL LDX 2 FX2 6 3=3= #SKIP GENIE 9 3=GW LDX 0 EWORK4(2) 7 3?2G #SKIP GENIE<1$1 9 3?G6 LDX 0 CA4(2) 14 3?_Q ANDN 0 #77 [SUBTYPE 7 3#FB SMO 0 16 3#_2 BRN / [JUMP ON SUBTYPE 4 3*DL XTAB 7 3*Y= #TRA XTAB+EDS 8 3BCW BRN XEDS 7 3BXG #TRA XTAB+EMDS 8 3CC6 BRN XEMDS 7 3CWQ #TRA XTAB+EMCF 8 3DBB BRN XEMCF 7 3DW2 #TRA XTAB+AFDS 8 3F*L BRN XAFDS 7 3FT= #TRA XTAB+BFDS 8 3G#W BRN XBFDS 12 3GSG #TRA EDS>EMDS>EMCF>AFDS>BFDS+1+XTAB 5 3H#6 XEMCF 10 3HRQ GEOERR 1,ERASETYP 4 3J?B # 4 3JR2 # 4 3K=L XEDS 17 3KQ= LDN 7 1 [ERASE BLOCK COUNT 14 3L9W STOZ FLERB(3) [MARKER 17 3LPG LDX 0 FLBS4(3) [FAILING BLOCK NUMBER 7 3M96 ANDN 0 7 17 3MNQ STO 0 FLERASE(3) [SECTOR TO BE ERASED 9 3N8B LDX 0 FLBS4(3) 9 3NN2 ANDX 0 XM1(1) 20 3P7L STO 0 FLCYL(3) [CYLINDER AND SURFACE OF ADDRESS 10 3PM= XF LDX 0 FLERASE(3) 7 3Q6W SBX 0 7 7 3QLG ANDN 0 7 17 3R66 STO 0 FLBS4(3) [SECTOR TO ADDRESS 9 3RKQ LDX 4 FLCYL(3) 19 3S5B ORS 4 FLBS4(3) [ADD IN SURFACE AND CYLINDER 18 3SK2 ADN 1 XCNT [SEARCH FOR ERASE COUNT 8 3T4L LDN 6 34 8 3TJ= XE LDX 4 0(1) 8 3W3W SRL 4 18 17 3WHG TXU 4 0 [CHECK START SECTOR 8 3X36 BCS XA 8 3XGQ LDX 4 0(1) 8 3Y2B SRL 4 12 8 3YG2 ANDN 4 #77 17 3Y_L TXU 4 FLERASE(3) [CHECK ERASE SECTOR 8 3_F= BCS XA 17 3_YW LDX 4 0(1) [FOUND CORRECT ENTRY 15 42DG ANDN 4 #7777 [GET COUNT 9 42Y6 STO 4 FLBS2(3) 7 43CQ LDN 0 6 15 43XB STO 0 FLBS1(3) [ERASE MODE 8 44C2 CALL 5 XTRAN 15 44WL BRN XER1 [SPECAIL FAIL 19 45B= BRN XB [TRACK FAULTY OR PARITY ERROR 8 45TW LDN 0 128 15 46*G STO 0 FLBS2(3) [RESET COUNT 9 46T6 LDX 1 FLERB(3) 20 47#Q BZE 1 XC [JUMP IF BUFFER NOT OVERWRITTEN 7 47SB LDX 4 1 6 48#2 #SKIP GENIE 16 48RL CONVERT FLBS4(3),EWORK4(2),FLBASE(3),FLDEP(3) 7 49?= #SKIP GENIE<1$1 16 49QW CONVERT FLBS4(3),CA4(2),FLBASE(3),FLDEP(3) 8 4==G LDX 1 FX1 8 4=Q6 LDX 2 FX2 7 4?9Q LDN 0 0 15 4?PB STO 0 FLBS1(3) [READ MODE 8 4#92 CALL 5 XTRAN 8 4#NL BRN XER2 8 4*8= BRN XER2 18 4*MW TXU 4 FLBUFF(3) [CHECK BLOCK NUMBER OK 8 4B7G BCS XL 10 4BM6 LDX 5 FLBUFF+1(3) 17 4C6Q BZE 5 XC [JUMP IF NO CHECKSUM 9 4CLB LDN 6 FLBUFF(3) 8 4D62 SUM 5 128 18 4DKL BNZ 5 XL [JUMP IF CHECKSUM WRONG 14 4F5= XC UPPLUS 1 [ERASE OK 4 4FJW # 4 4G4G # 4 4GJ6 # 17 4H3Q XA ADN 1 1 [UPDATE TABLE POINTER 8 4HHB BCT 6 XE 18 4J32 XM LDX 1 FX1 [MESSAGE BLOCK NOT ERASED 6 4JGL #SKIP GENIE 15 4K2= XH KEEPMESS XERASE(1),EWORK5(2),FLBLOCK(3) 7 4KFW #SKIP GENIE<1$1 14 4K_G XH KEEPMESS XERASE(1),CA5(2),FLBLOCK(3) 5 4LF6 UP 4 4LYQ # 12 4MDB # TRANSFER FAIL WHILE ERASING. 4 4MY2 # 18 4NCL XB ADN 7 1 [COUNT OF BLOCKS TO ERASE 20 4NX= LDX 0 FLBUFF(3) [SAVE ADDRESS OF BLOCK IN BUFFER 9 4PBW STO 0 FLERB(3) 10 4PWG LDX 0 FLERASE(3) 7 4QB6 SBX 0 7 7 4QTQ ADN 0 1 20 4R*B BNG 0 XD [JUMP IF GOING BACK PAST SECTOR 7 10 4RT2 LDX 4 FLBLOCK(3) 7 4S#L SBX 4 7 7 4SS= ADN 4 1 6 4T?W #SKIP GENIE 9 4TRG TXL 4 EWORK3(2) 7 4W?6 #SKIP GENIE<1$1 9 4WQQ TXL 4 CA3(2) 20 4X=B BCC XF [OK IF BLOCK LIES WITHIN TRANSFER 20 4XQ2 [OTHERWISE CHECK IF IT IS ALREADY 14 4Y9L [FLAWED 15 4YP= XD ANDN 0 7 [X0=SECTOR 9 4_8W LDX 6 FLCYL(3) 8 4_NG ANDN 6 #1700 15 5286 SRL 6 3 [X6=SURFACE 14 52MQ ORX 6 0 [SEGMENT 6 537B #SKIP GENIE 9 53M2 LDX 5 EWORK1(2) 7 546L #SKIP GENIE<1$1 9 54L= LDX 5 CA1(2) 15 555W SBX 5 FLBASE(3) [X5=CYLINDER 9 55KG MPA 5 FLDEP(3) 15 5656 STO 6 AWORK1(2) [BLOCK NUMBER 7 56JQ LDN 0 0 15 574B STO 0 FLBS1(3) [READ MODE 10 57J2 LDX 1 FLSTART(3) 17 583L XK LDX 6 1 [SAVE FLAW ADDRESS 7 58H= SRL 1 7 18 592W LDX 4 1 [BLOCK CONTAINING INDEX 6 59GG #SKIP GENIE 16 5=26 CONVERT FLBS4(3),EWORK4(2),FLBASE(3),FLDEP(3) 7 5=FQ #SKIP GENIE<1$1 16 5=_B CONVERT FLBS4(3),CA4(2),FLBASE(3),FLDEP(3) 8 5?F2 LDX 1 FX1 8 5?YL LDX 2 FX2 8 5#D= LDN 0 128 14 5#XW STO 0 FLBS2(3) [COUNT 8 5*CG CALL 5 XTRAN 8 5*X6 BRN XER2 14 5BBQ BRN XER2 [ERROR. 17 5BWB TXU 4 FLBUFF(3) [CHECK BLOCK NUMBER 16 5CB2 BCS XL [JUMP IF WRONG 10 5CTL LDX 0 FLBUFF+1(3) 17 5D*= BZE 0 XN [JUMP IF NO CHECKSUM 9 5DSW LDN 1 FLBUFF(3) 15 5F#G SUM 0 128 [DO CHECKSUM 8 5FS6 LDX 1 FX1 18 5G?Q BNZ 0 XL [JUMP IF CHECKSUM ERROR 20 5GRB XN ANDN 6 #177 [WORD ADDRESS OF START OF INDEX 7 5H?2 LDX 4 6 18 5HQL ADN 4 2 [POINTER TO FIRST CELL 7 5J== XJ SMO 4 9 5JPW LDX 0 FLBUFF(3) 19 5K9G BNG 0 XG [JUMP IF END OF THIS INDEX 19 5KP6 BZE 0 XH [JUMP IF END OF USED CELLS 9 5L8Q TXU 0 AWORK1(2) 17 5LNB BCC XF [JUMP IF BLOCK FOUND 7 5M82 ADN 4 1 8 5MML BRN XJ 7 5N7= XG SMO 6 17 5NLW LDX 1 FLBUFF(3) [ADDRESS NEXT INDEX 18 5P6G BNZ 1 XK [JUMP IF ANOTHER INDEX 8 5PL6 BRN XM 6 5Q5Q #SKIP GENIE 16 5QKB XL KEEPMESS XCH(1),EWORK5(2),4 [CHECKSUM FAIL 7 5R52 #SKIP GENIE<1$1 16 5RJL XL KEEPMESS XCH(1),CA5(2),4 [CHECKSUM FAIL 5 5S4= UP 6 5SHW #SKIP GENIE 14 5T3G XER1 KEEPMESS XOWN(1),EWORK5(2),FLBLOCK(3) 7 5TH6 #SKIP GENIE<1$1 13 5W2Q XER1 KEEPMESS XOWN(1),CA5(2),FLBLOCK(3) 15 5WGB UP [BLOCK FAIL 6 5X22 #SKIP GENIE 15 5XFL XER2 KEEPMESS XEWSC(1),EWORK5(2),4 [SCA FAIL 7 5X_= #SKIP GENIE<1$1 14 5YDW XER2 KEEPMESS XEWSC(1),CA5(2),4 [SCA FAIL 5 5YYG UP 4 5_D6 # 4 5_XQ # 8 62CB # 2B FDS ERASE 4 62X2 # 5 63BL XBFDS 8 63W= LDCT 0 #777 9 64*W ANDX 0 FLBS4(3) 18 64TG STO 0 FLCYL(3) [CYLINDER PART OF ADDRESS 9 65*6 LDX 0 FLBS4(3) 8 65SQ ANDN 0 #777 9 66#B SBN 0 BSURF-1 18 66S2 BNZ 0 ZA [JUMP UNLESS LAST SECTOR 6 67?L #SKIP GENIE 9 67R= LDX 0 EWORK4(2) 7 68=W #SKIP GENIE<1$1 9 68QG LDX 0 CA4(2) 7 69=6 SRL 0 6 18 69PQ ANDN 0 #37 [GET NUMBER OF SURFACES 7 6=9B SLL 0 1 17 6=P2 SBN 0 1 [X0= NO. OF SURFACES 9 6?8L LDX 4 FLBS4(3) 7 6?N= SRL 4 9 14 6#7W ANDN 4 #77 [SURFACE 7 6#MG TXL 4 0 18 6*76 BCS ZB [JUMP IF NOT LAST SURFACE 17 6*LQ LDX 5 FLCYL(3) [SURFACE 0 BLOCK 0 8 6B6B BRN ZC 7 6BL2 ZB ADN 4 1 17 6C5L SLL 4 9 [SURFACE N+1 BLOCK 0 9 6CK= LDX 5 FLCYL(3) 20 6D4W ORX 5 4 [INSERT CYLINDER PART OF ADDRESS 9 6DJG DLA 5 FLCYL(3) 7 6F46 ZC LDN 6 0 17 6FHQ SRL 56 4 [ADDRESS IN 2 WORDS 8 6G3B LDCT 0 #40 16 6GH2 ORX 5 0 [BAD ADDRESS BIT 18 6H2L CALL 0 ZPAR [SET PARITY IN ADDRESS 9 6HG= STO 5 FLADDR(3) 18 6H_W STO 6 FLADDR+1(3) [PUT ADDRESSES IN TABLE 9 6JFG LDX 0 FLCYL(3) 18 6J_6 STO 0 FLBS4(3) [BS ADDRESS FOR TRANSFER 7 6KDQ LDN 0 2 14 6KYB STO 0 FLBS2(3) [COUNT 17 6LD2 BRN YD [JUMP TO DO TRANSFER 4 6LXL # 19 6MC= # GENERATE ADDRESSES IF BLOCK TO BE ERASED IS NOT LAST-BLOCK 4 6MWW ZA 14 6NBG STOZ FLBS2(3) [COUNT 9 6NW6 LDX 0 FLBS4(3) 7 6P*Q ADN 0 1 20 6PTB STO 0 FLERB(3) [BLOCK IN WHICH TO SET ERASE BIT 8 6Q*2 NGN 5 512 9 6QSL ANDX 5 FLBS4(3) 21 6R#= STO 5 FLBS4(3) [BS ADDRESS IS FIRST SECTOR OF SURFAC 9 6RRW LDN 2 FLADDR(3) 10 6S?G ZD STO 5 FLERASE(3) 7 6SR6 LDN 6 0 9 6T=Q TXL 5 FLERB(3) 18 6TQB BCC ZE [REACHED BLOCK TO ERASE 8 6W=2 LDCT 5 #400 18 6WPL STO 5 0(2) [ INSERT ADDRESS IN TABLE 7 6X9= ADN 2 2 7 6XNW LDN 0 2 19 6Y8G ADS 0 FLBS2(3) [ADD TWO TO TRANSFER COUNT 10 6YN6 LDX 5 FLERASE(3) 16 6_7Q ADN 5 1 [ADD 1 TO ADDRESS 8 6_MB BRN ZD 7 7272 ZE SRL 56 4 16 72LL LDCT 0 #40 [BAD ADDRESS BIT 7 736= ORX 5 0 15 73KW CALL 0 ZPAR [SET PARITY 8 745G STO 5 0(2) 18 74K6 STO 6 1(2) [INSERT ADDRESS IN LIST 7 754Q LDN 0 2 9 75JB ADS 0 FLBS2(3) 17 7642 BRN YD [JUMP TO DO TRANSFER 4 76HL # 19 773= # S/R TO SET PARITY BITS, EVEN PARITY B3-B3 OF X5 AND X6 17 77GW # IN B1(ODD) B2(EVEN) OF X5 12 782G ZPAR SLL 56 3 [ 18 78G6 LDX 4 6 [X4 ACCUMULATES PARITY 15 78_Q LDX 7 5 [COPY ADDRESS 20 79FB SLC 4 2 [PUT LAST BIT OF ADDRESS IN B22 17 79_2 ZPARA ERX 4 7 [ACCUMULATE PARITY 7 7=DL SRL 7 2 17 7=Y= BNZ 7 ZPARA [JUMP IF MORE ADDRESS 15 7?CW ANDN 4 3 [MASK PARITY 17 7?XG SRL 56 3 [MOVE ADDRESS BACK 7 7#C6 SRC 4 3 16 7#WQ ORX 5 4 [PUT IN PARITY 7 7*BB EXIT 0 0 4 7*W2 # 9 7B*L # 2A ERASE ROUTINE 4 7BT= # 5 7C#W XAFDS 9 7CSG LDX 0 FLBS4(3) 9 7D#6 ANDX 0 XM2(1) 20 7DRQ STO 0 FLCYL(3) [SAVE CYLINDER PART OF ADDRESS 9 7F?B LDX 0 FLBS4(3) 8 7FR2 ANDN 0 #77 18 7G=L SBN 0 63 [JUMP IF NOT LAST SECTOR 8 7GQ= BNZ 0 YA 6 7H9W #SKIP GENIE 9 7HPG LDX 0 EWORK4(2) 7 7J96 #SKIP GENIE<1$1 9 7JNQ LDX 0 CA4(2) 7 7K8B SRL 0 6 8 7KN2 ANDN 0 #37 18 7L7L SLL 0 1 [X0=NUMBER OF SURFACES 14 7LM= SBN 0 3 [NO OF SURFACES MINUS 1 9 7M6W LDX 4 FLBS4(3) 7 7MLG SRL 4 6 18 7N66 ANDN 4 #77 [SURFACE PART OF ADDRESS 7 7NKQ TXL 4 0 18 7P5B BCS YB [JUMP IF NOT LAST SURFACE 19 7PK2 LDX 5 FLCYL(3) [ADDRESS SURFACE 0 BLOCK 0 8 7Q4L BRN YC 7 7QJ= YB ADN 4 1 19 7R3W SLL 4 6 [ADDRESS SURFACE N+1 BLOCK 0 7 7RHG LDX 5 4 9 7S36 ORX 5 FLCYL(3) 8 7SGQ YC LDCT 0 #40 16 7T2B ORX 5 0 [BAD ADDRESS BIT 15 7TG2 CALL 0 YPAR [SET PARITY 9 7T_L STO 5 FLADDR(3) 7 7WF= LDN 0 1 14 7WYW STO 0 FLBS2(3) [COUNT. 8 7XDG ANDN 5 #7777 9 7XY6 ORX 5 FLCYL(3) 16 7YCQ STO 5 FLBS4(3) [TRANSFER ADDRESS 8 7YXB BRN YD 14 7_C2 YA STOZ FLBS2(3) [COUNT 9 7_WL LDX 0 FLBS4(3) 18 82B= ADN 0 1 [LAST BLOCK IN TRANSFER 9 82TW STO 0 FLERB(3) 9 83*G LDX 5 FLBS4(3) 9 83T6 ANDX 5 XM3(1) 19 84#Q STO 5 FLBS4(3) [START ADDRESS FOR TRANSFER 9 84SB LDN 2 FLADDR(3) 15 85#2 STO 5 FLERASE(3) [SAVE ADDRESS 9 85RL YF TXL 5 FLERB(3) 16 86?= BCC YE [END OF ADDRESSES 8 86QW LDCT 0 #400 17 87=G ORX 5 0 [SUPPRESS WRITE BIT 17 87Q6 STO 5 0(2) [PUT ADDRESS IN TABLE 7 889Q ADN 2 1 7 88PB LDN 0 1 16 8992 ADS 0 FLBS2(3) [TRANSFER COUNT 17 89NL ADS 0 FLERASE(3) [UPDATE BLOCK NUMBER 10 8=8= LDX 5 FLERASE(3) 8 8=MW BRN YF 8 8?7G YE LDCT 0 #40 16 8?M6 ORX 5 0 [BAD ADDRESS BIT 15 8#6Q CALL 0 YPAR [SET PARITY 15 8#LB STO 5 0(2) [SAVE ADDRESS 7 8*62 LDN 0 1 18 8*KL ADS 0 FLBS2(3) [ADD 1 TO TRANSFER COUNT 7 8B5= YD LDN 0 7 18 8BJW STO 0 FLBS1(3) [WRITE IDENTIFIERS MODE 9 8C4G LDN 0 FLADDR(3) 18 8CJ6 STO 0 FLBS3(3) [TRANSFER CORE ADDRESS 8 8D3Q LDX 2 FX2 8 8DHB CALL 5 XTRAN 16 8F32 BRN XH [TRANSFER FAILS 8 8FGL BRN XH 8 8G2= LDN 0 128 15 8GFW STO 0 FLBS2(3) [RESET COUNT 16 8G_G LDN 0 FLBUFF(3) [AND CORE ADDRESS 9 8HF6 STO 0 FLBS3(3) 7 8HYQ UPPLUS 1 4 8JDB # 20 8JY2 # PARITY FOR 2A FDS, B1,B2, OF X5 GIVE EVEN PARITY FOR BITS 3-23 18 8KCL # B1 FOR ODD BITS ,B2 FOR EVEN BITS 4 8KX= # 16 8LBW YPAR SLL 5 3 [CLEAR TOP BITS 15 8LWG LDX 7 5 [COPY ADDRESS 21 8MB6 SRL 5 3 [MOVE ADDRESS BACK TO PROPER PLACE 18 8MTQ LDN 4 0 [X4 ACCUMULATES PARITY 7 8N*B YPARA LDN 6 0 15 8NT2 SLL 67 2 [NEXT 2 BITS 16 8P#L ERX 4 6 [COLLECT PARITY 17 8PS= BNZ 7 YPARA [JUMP IF MORE BITS 17 8Q?W SLL 4 21 [PARITY TO BITS 1,2 16 8QRG ORX 5 4 [PUT INTO ADDRESS 7 8R?6 EXIT 0 0 4 8RQQ # 4 8S=B # 10 8SQ2 # EMDS ERASE ROUTINE 4 8T9L # 15 8TBS ...XEMDS MFINDSU 2,EWORK5(2) [ FIND ASTUC 18 8TJ2 ... LPROP HUNIT(2),5 [ GET PROPS IN BITS 15-23 21 8TP8 ... ANDN 5 #100 [ TEST FOR PF490 - INTEGRATED ... 20 8TWB ... LDX 2 FX2 [ ... EDS 30-60 CONTROLLER 7 8W3J ... LDN 0 1 19 8W8Q ... BZE 5 NINT [ J NOT INTEGRATED CONTROLLER 19 8W*Y ... ADN 0 88 [ OTHERWISE COUNT OF 169N-80 9 8WH6 ...NINT STO 0 FLBS2(3) 7 8WNG LDN 0 6 14 8X86 STO 0 FLBS1(3) [AND MODE 14 8XMQ CALL 5 XTRAN [DO ERASE 8 8Y7B BRN XH 8 8YM2 BRN XH 8 8_6L LDN 0 128 15 8_L= STO 0 FLBS2(3) [RESET COUNT 12 925W UPPLUS 1 [ 6 926= ...#UNS ATRACK 4 926L ...( 4 9272 ...# 17 927B ...# CODE TO DEAL WITH DME DISCS - TO ERASE AS MANY BLKS 10 927Q ...# ON THE TRACK AS POSSIBLE 13 9286 ...# SET UP PARAMETERS FOR BACKTRAN : 10 928G ...# FLBS1 = MODE I.E. 6 13 928W ...# FLBS2 = CT OF BLKS TO BE ERASED 19 929= ...# FLBS3 = CORE ADD (NOT REALLY RELEVANT BUT MUST BE VALID 15 929L ...# ADDRESS IN GEORGE SO USE FLCORE 12 92=2 ...# FLBS4 = DEVICE ADDRESS : 12 92=B ...# B0-11 = CYL NO 14 92=Q ...# B12-23 = BLK WITHIN CYL 4 92?6 ...# 7 92?G ...XDME LDN 0 6 9 92?W ... STO 0 FLBS1(3) 10 92#= ... LDX 0 FLPOINT(3) 9 92#L ... STO 0 FLBS2(3) 9 92*2 ... LDX 0 FLCORE(3) 9 92*B ... STO 0 FLBS3(3) 9 92*Q ... LDX 6 FLBS4(3) 15 92B6 ... LDX 5 FLBLOCK(3) [START BLK NO 17 92BG ... DVS 4 FLDEP(3) [DIVIDED BY BLKS/CYL 8 92BW ... SLL 5 12 7 92C= ... ADX 5 4 9 92CL ... STO 5 FLBS4(3) 4 92D2 ...# 8 92DB ...# NOW DO THE ERASE 11 92DQ ... TRACE FLBS2(3),FLCNT 11 92F6 ... TRACE FLBS4(3),FLADD 8 92FG ... CALL 5 XTRAN 8 92FW ... BRN XERF 8 92G= ... BRN XERF 9 92GL ...XOK STO 6 FLBS4(3) 16 92H2 ... UPPLUS 1 [ERASE SUCCESSFUL 15 92HB ...XERF UP [ERASE FAILED 4 92HQ ...# 4 92J6 ...) 4 92KG # 10 9356 MENDAREA 30,K99ERASEX 4 93JQ #END 8 ____ ...11342357000100000000