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

  1. ADR:    equ    $c80000
  2. len:    equ    $29e0
  3. trk:    equ    $66
  4.  
  5.  
  6. org    $70000
  7. load    $70000
  8. j:    move.w    #$7fff,$dff09a
  9.     bsr    LOAD
  10.     move.w    #$e02c,$dff09a
  11.     rts
  12.  
  13.  
  14. DISKbuffer:    dc.l    $75000
  15. STtrk:    dc.w    0
  16. ONtrk:    dc.w    0
  17. RETRY:    dc.w    0
  18. DIREC:    dc.w    0
  19.  
  20. LOAD:    lea    $dff000,a0
  21.     LEA    $BFE001,A1
  22.     LEA    $BFD100,A2
  23.     BCLR    #7,$0E00(A2)
  24.     CLR.B    $0900(A2)
  25.     CLR.B    $0800(A2)
  26.     CLR.B    $0700(A2)
  27.     ST     (A2)
  28.     BCLR    #7,(A2)
  29.     BCLR    #3,(A2)
  30.     BSR    C164
  31.     LEA    ADR,A5
  32.     MOVE.L    #LEN,D5
  33.     MOVE.L    D5,D7
  34.     ADD.L    #$000018A7,D7
  35.     DIVU    #$18A8,D7
  36.     SUBQ.W    #1,D7
  37.     MOVE.W    #TRK,STtrk
  38.     BSR    C202
  39.     ST     (A2)
  40.     BCLR    #3,(A2)
  41.     ST     (A2)
  42.     rts
  43.  
  44. C164:    BTST    #4,(A1)
  45.     BEQ.S    C174
  46.     BSET    #1,(A2)
  47.     BSR    C1BC
  48.     BRA.S    C164
  49.  
  50. C174:    CLR.W    ONtrk
  51.     RTS
  52. C17C:    MOVE.W    STtrk,D4
  53.     BSET    #2,(A2)
  54.     BTST    #0,D4
  55.     BEQ.S    C18E
  56.     BCLR    #2,(A2)
  57. C18E:    BCLR    #1,(A2)
  58.     LSR.W    #1,D4
  59.     SUB.W    ONtrk,D4
  60.     BEQ.S    C1AE
  61.     BPL.S    C1A4
  62.     NEG.W    D4
  63.     BSET    #1,(A2)
  64. C1A4:    SUBQ.W    #1,D4
  65. C1A6:    BSR    C1BC
  66.     DBRA    D4,C1A6
  67. C1AE:    MOVE.W    STtrk,D4
  68.     LSR.W    #1,D4
  69.     MOVE.W    D4,ONtrk
  70.     RTS
  71. C1BC:    BTST    #1,(A2)
  72.     SEQ    D0
  73.     CMP.B    DIREC,D0
  74.     BEQ.S    C1D4
  75.     MOVE.L    #$0000011D,D1
  76.     NOT.B    DIREC
  77.     BRA.S    C1D6
  78.  
  79. C1D4:    MOVEQ    #$2F,D1
  80. C1D6:    moveq    #0,d0
  81.     move.b    $900(a2),d0
  82.     lsl.w    #8,d0
  83.     move.b    $800(a2),d0
  84.     lsl.l    #8,d0
  85.     move.b    $700(a2),d0
  86.     cmp.l    d1,d0
  87.     bls    c1d6
  88.     BCLR    #0,(A2)
  89.     BSET    #0,(A2)
  90.     CLR.B    $0900(A2)
  91.     CLR.B    $0800(A2)
  92.     CLR.B    $0700(A2)
  93.     RTS
  94. C202:    MOVE.W    #8,RETRY
  95.     BSR    C17C
  96. C20C:    BTST    #5,(A1)
  97.     BNE.S    C20C
  98.     MOVE.W    #2,$009C(A0)
  99.     MOVE.W    #$8210,$0096(A0)
  100.     MOVE.W    #$7f00,$009E(A0)
  101.     MOVE.W    #$9500,$009E(A0)
  102.     MOVE.W    #$a245,$007E(A0)
  103.     MOVE.W    #$4000,$0024(A0)
  104.     MOVE.L    DISKBUFFER,$0020(A0)
  105.     MOVE.W    #$9b00,$0024(A0)
  106.     MOVE.W    #$9b00,$0024(A0)
  107. C23E:    btst    #6,$bfe001
  108.     beq.L    nr
  109.     btst    #2,$dff016
  110.     bne.s    ff
  111.     btst    #2,$dff016
  112.     beq.s    *-10
  113.     bra.L    nr1
  114. ff:    MOVE.W    $1E(A0),D0
  115.     AND.W    #2,D0
  116.     BEQ.S    C23E
  117.     MOVE.W    D0,$009C(A0)
  118.     MOVE.W    #$4000,$0024(A0)
  119.     move.l    DISKBUFFER,A3
  120.     addq.w    #2,a3
  121.     MOVE.L    A5,A4
  122.     MOVE.L    #$55555555,D3
  123.     MOVE.W    (A3)+,D2
  124.     MOVE.W    (A3)+,D6
  125.     AND.W    D3,D2
  126.     AND.W    D3,D6
  127.     ADD.W    D2,D2
  128.     OR.W    D2,D6
  129.     SWAP    D6
  130.     MOVEQ    #-1,D4
  131.     MOVE.W    #$0629,D6
  132. C274:    MOVE.L    $18AC(A3),D1
  133.     AND.L    D3,D1
  134.     MOVE.L    (A3)+,D2
  135.     AND.L    D3,D2
  136.     ADD.L    D2,D2
  137.     OR.L    D2,D1
  138.     sub.L    D1,D4
  139.     MOVE.L    D1,(A4)+
  140.     DBRA    D6,C274
  141.     MOVE.L    $18AC(A3),D1
  142.     AND.L    D3,D1
  143.     MOVE.L    (A3)+,D2
  144.     AND.L    D3,D2
  145.     ADD.L    D2,D2
  146.     OR.L    D2,D1
  147. ;    NOT.L    D4
  148.     CMP.L    D4,D1
  149.     BEQ.S    C2B0
  150.     SUBQ.W    #1,RETRY
  151.     BNE    C20C
  152.     btst    #6,$bfe001
  153.     beq.s    nr
  154.     bra.s    c2b1
  155. C2B0:    move.w    #$fff,$dff180
  156. C2B1:    SWAP    D6
  157.     CMP.W    STtrk,D6
  158.     BEQ.S    C2C0
  159.     BSR    C164
  160.     BRA    C202
  161. nr:    rts
  162. nr1:    addq.w    #1,sttrk
  163.     bra    C202
  164.  
  165. C2C0:    MOVE.L    A4,A5
  166.     ADDQ.W    #1,STtrk
  167.     DBRA    D7,C202
  168.     RTS
  169.