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
  • Last modified: 17/01/2024 11:55
  • by 127.0.0.1