home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Misc / GXY-INF.LHA / infos / rdwork2.s < prev    next >
Encoding:
Text File  |  1996-03-09  |  3.9 KB  |  270 lines

  1.  
  2. j
  3.     lea    LstPtr(pc),a3
  4.     move.l    #list,(A3)
  5.     or.w    #5,ddd+2
  6.     MOVE.W    #$7FFF,$DFF09A
  7.     move.w    #$8210,$dff096
  8.     lea    $dff000,a0
  9.     lea    $bfd100,a1
  10.     MOVE.B    #$7D,$bfd100
  11.     NOP
  12.     move.b    #$7D,d1
  13.     bclr    #3,d1
  14.     MOVE.B    d1,$bfd100
  15.     bset    #1,$bfd100
  16.     move.w    #$7f00,$dff09e
  17.     move.w    #$9500,$dff09e
  18.     move.w    #$4489,$dff07e
  19.     move.w    #$2,$dff09c
  20. .w    btst    #4,$bfe001
  21.     beq.s    .ok
  22.     bclr    #0,$bfd100
  23.     nop
  24.     bset    #0,$bfd100
  25.     move.w    #$1000,d0
  26. .r    dbf    d0,.r
  27.     bra.s    .w
  28. .ok    bclr    #1,$bfd100
  29.     MOVE.L    #$300000,$3FC
  30.  
  31.     MOVE.l    #0,D0
  32.     bsr    asa
  33. .r3    move.l    d0,-(A7)
  34.     BSR.L    C18C
  35.     move.l    (A7)+,d0
  36.     btst    #6,$bfe001
  37.     beq.s    .exe
  38.     addq.w    #1,d0
  39.     btst    #0,d0
  40.     bne.s    .nopw
  41.     bclr    #1,$bfd100
  42.     bclr    #0,$bfd100
  43.     nop
  44.     nop
  45.     bset    #0,$bfd100
  46.     move.w    #$1000,d1
  47. .r132    dbf    d1,.r132
  48. .nopw
  49.     cmp.w    #160,d0
  50.     bne.s    .r3
  51. .exe    move.w    #$e02c,$dff09a
  52.     moveq    #0,d0
  53.     rts
  54.  
  55. asa    move.l    d0,-(a7)
  56.     tst.w    d0
  57.     beq    .nopw1
  58. .a    btst    #0,d0
  59.     bne.s    .nopw
  60.     bclr    #1,$bfd100
  61.  
  62.     bclr    #0,$bfd100
  63.     nop
  64.     nop
  65.     bset    #0,$bfd100
  66.     move.w    #$1000,d1
  67. .r132    dbf    d1,.r132
  68. .nopw    subq.w    #1,d0
  69.     bne.s    .a
  70.  
  71. .nopw1    move.l    (A7)+,d0
  72.     rts
  73.  
  74. C176    MOVE.L    (A3)+,D0
  75.     AND.L    D3,D0
  76.     ADD.L    D0,D0
  77.     MOVE.L    (A5)+,D1
  78.     AND.L    D3,D1
  79.     OR.L    D1,D0
  80.     MOVE.L    D0,(A4)+
  81.     ADD.L    D0,D2
  82.     DBRA    D4,C176
  83.     RTS
  84. C18C    MOVE.B    D0,$3EB
  85.     MOVEQ    #0,D1
  86.     BTST    #0,D0
  87.     BNE.L    C19C
  88.     MOVEQ    #4,D1
  89. C19C    MOVE.B    (A1),D2
  90.     EOR.B    D2,D1
  91.     AND.B    #4,D1
  92.     BEQ.L    C1EA
  93.     BCHG    #2,(A1)
  94.     MOVE.B    $BFEE01,D0
  95.     AND.B    #$C0,D0
  96.     OR.B    #8,D0
  97.     MOVE.B    D0,$BFEE01
  98.     MOVE.B    #1,$BFED01
  99.     MOVE.B    #$CB,$BFE401
  100.     MOVE.B    #2,$BFE501
  101.     BSET    #0,$BFEE01
  102. C1E0    BTST    #0,$BFEE01
  103.     BNE.S    C1E0
  104. C1EA    MOVEQ    #0,D5
  105.     moveq    #0,d4
  106.     clr.w    ee11+4
  107.     clr.w    retry+2
  108.     move.w    #8,Retry
  109.     bra    c1eac
  110. C1eab    add.w    #8,a7
  111. c1eac    ANDI.B    #$7F,(A1)
  112. c1f4    MOVEA.L    #$70000,A2
  113.     clr.l    (A2)
  114.     CLR.W    10(A2)
  115.     MOVE.L    A2,$20(A0)
  116.     MOVE.W    #$A200,D0
  117.     MOVE.W    #$1002,$9C(A0)
  118.     MOVE.W    #$4000,$24(A0)
  119.     MOVE.W    #$4000,$24(A0)
  120.     MOVE.W    D0,$24(A0)
  121.     MOVE.W    D0,$24(A0)
  122. C21C    btst    #6,$bfe001
  123.     beq.w    exit
  124.     TST.W    10(A2)
  125.     BEQ.S    C21C
  126.     MOVE.L    4(A2),D0
  127.     AND.L    #$55555555,D0
  128.     ADD.L    D0,D0
  129.     MOVE.L    8(A2),D1
  130.     AND.L    #$55555555,D1
  131.     OR.L    D1,D0
  132.     AND.L    #$FF00FF00,D0
  133. ee11    CMP.L    #$FF000000,D0
  134.     BEQ.S    C248
  135.     addq.w    #1,retry+2
  136.     cmp.w    #9,retry+2
  137.     beq    c248a
  138.     MOVE.W    #$1002,$9C(A0)
  139.     MOVE.W    #$4000,$24(A0)
  140.     MOVE.W    #$4000,$24(A0)
  141.     bra    c1f4
  142.  
  143. C248    MOVE.W    $1E(A0),D2
  144.     AND.W    #2,D2
  145.     BEQ.S    C248
  146. c248a    clr.w    retry+2
  147.     MOVE.W    #$1002,$9C(A0)
  148.     MOVE.W    #0,$24(A0)
  149.     MOVE.W    #0,$24(A0)
  150.     MOVE.L    #$55555555,D3
  151.     MOVEA.L    #$70000,A3
  152.     lea    4(a3),a3
  153. sct0    move.w    d5,$100.w
  154.     move.w    $3ea,$102.w
  155.     movem.l    d5/a3,-(A7)
  156.     move.l    d5,d6
  157. .raa    move.l    a3,-(A7)
  158.     bsr    C306
  159.     move.l    (A7)+,a3
  160.     tst.w    d0
  161.     beq    .e
  162.     add.w    #$cb2,a3
  163.     cmp.l    #$70000+[$cb2*7],a3
  164.     blt.s    .raa
  165.     subq.w    #1,retry
  166.     bne    c1eab
  167.     move.w    #8,Retry
  168.     bsr    errorSector
  169.  
  170. .e    movem.l    (a7)+,d5/a3
  171.     btst    #6,$bfe001
  172.     beq    c278
  173.     addq.w    #1,d5
  174.     move.w    d5,d6
  175.     rol.w    #8,d6
  176.     move.w    d6,ee11+4
  177.     cmp.w    #4,d5
  178.     bne    sct0
  179.  
  180.     move.l    $3fc,a4
  181.     add.l    #$1900,a4
  182. C278    MOVE.L    A4,$3FC
  183.     rts
  184. exit    MOVE.W    #$1002,$9C(A0)
  185.     MOVE.W    #$4000,$24(A0)
  186.     MOVE.W    #$4000,$24(A0)
  187.     RTS
  188.  
  189. errorSector
  190.     move.l    LstPtr(pc),a4
  191.     move.l    $100,d0
  192.     swap    d0
  193.     move.l    d0,(A4)+
  194.     move.l    #-1,(A4)
  195.     move.l    a4,LstPtr
  196.     rts
  197. retry    dc.w    5,0
  198. lstptr    dc.l    list
  199.  
  200. list    dc.l    -1
  201.     blk.l    400,0
  202.  
  203.  
  204. C306    MOVE.L    (A3)+,D0
  205.     AND.L    D3,D0
  206.     ADD.L    D0,D0
  207.     MOVE.L    (A3)+,D1
  208.     AND.L    D3,D1
  209.     OR.L    D1,D0
  210.     MOVE.L    D0,D2
  211.     cmp.w    #2,retry
  212.     blt.s    .r11
  213.     CMP.B    $3EB,D0
  214.     BNE.L    C380
  215. .r11    LSR.W    #8,D0
  216.     cmp.b    d0,d5
  217.     bne    c380
  218. .re    move.b    d5,d0
  219.     and.w    #$f,d0
  220.     move.w    d0,d1
  221.     ext.l    d1
  222.     mulu    #$640,d1
  223.     MOVEA.L    $3FC,A4
  224.     add.l    d1,a4
  225.     SWAP    D0
  226. ddd    cmp.w    #2,retry
  227.     blt.s    .re
  228.     CMP.W    #$FF00,D0
  229.     BNE.L    C380
  230. .re    MOVE.L    (A3)+,D0
  231.     AND.L    D3,D0
  232.     ADD.L    D0,D0
  233.     MOVE.L    (A3)+,D1
  234.     AND.L    D3,D1
  235.     OR.L    D1,D0
  236.     ADD.L    D0,D2
  237.     cmp.w    #2,retry
  238.     blt    .re1
  239.     EORI.L    #$FFFFFFFF,D2
  240.     BNE.L    C380
  241. .re1    moveq    #0,d2
  242.     MOVEA.L    A3,A5
  243.     ADDA.W    #$640,A5
  244.     MOVE.W    #$18F,D4
  245.     BSR.L    C176
  246.     MOVEA.L    A5,A3
  247.     MOVE.L    (A3)+,D0
  248.     AND.L    D3,D0
  249.     ADD.L    D0,D0
  250.     MOVE.L    (A3)+,D1
  251.     AND.L    D3,D1
  252.     OR.L    D1,D0
  253.     CMP.L    D0,D2
  254.     BNE.L    C380
  255.     cmp.w    #2,retry
  256.     bge.s    .r
  257.     move.w    #$f,$dff180
  258. .r    MOVE.L    (A3)+,D0
  259.     AND.L    D3,D0
  260.     ADD.L    D0,D0
  261.     MOVE.L    (A3)+,D1
  262.     AND.L    D3,D1
  263.     OR.L    D1,D0
  264.     ;CMP.L    #$53444446,D0
  265.     ;BNE.L    C380
  266.     MOVEQ    #0,D0
  267.     rts
  268. C380    moveq    #-1,d0
  269.     RTS
  270.