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