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

  1. ****************************************
  2. *special reader    (midwinter,time warrior) (10 sectors, $1400)
  3. ****************************************
  4. *A0    LOAD addr
  5. *d0    start trk
  6. *d1    nrs to read
  7. **********************
  8.  
  9.     ;first 3,7 $60000
  10.     ;next  10,$2c $800
  11.  
  12. org    $70000
  13. load    $70000
  14. j:    move.w    #$7fff,$dff09a
  15.     MOVE.W    #$8650,$dff096
  16.     move.l    #17,d0
  17.     move.l    #40,d1
  18.     lea    $dff000,a6
  19.     lea    $c80000,a0
  20.     CLR.W    drive
  21.     ST    track
  22.     move.W    #0,side
  23.     bsr    C148
  24.     tst.w    d4
  25.     bmi.s    notok
  26.     bra.s    ok
  27. notok:    ;move.w    #$f,$dff180
  28.     ;btst    #6,$bfe001
  29.     ;bne.s    notok
  30. ok:    move.w    #$83f0,$dff096
  31.     move.w    #$e02c,$dff09a
  32.     rts
  33.     
  34.  
  35. driveside:    dc.w    0
  36. drive:        dc.w    0
  37. track:        dc.w    0
  38. side:        dc.w    0
  39.  
  40. C05C:    LEA    $0BFD000,A4
  41.     MOVE.L    #$55555555,D5
  42.     MOVE.W    drive,D2
  43.     MOVEQ    #0,D3
  44.     ADD.W    #3,D2
  45.     BSET    D2,D3
  46.     MOVE.W    side,D2
  47.     BEQ.S    C07E
  48.     BSET    #2,D3
  49. C07E:    MOVE.B    D3,driveside
  50.     MOVE.B    #$FF,$100(A4)
  51.     MOVE.B    #$7F,$100(A4)
  52.     OR.B    #$80,D3
  53.     NOT.B    D3
  54.     MOVE.B    D3,$100(A4)
  55.     MOVE.W    #$C000,D2
  56. C09C:    MOVE.W    D2,D4
  57.     MULU    D4,D4
  58.     MULU    D4,D4
  59.     BTST    #5,$1001(A4)
  60.     DBEQ    D2,C09C
  61.     BNE    C1EE
  62.     MOVEQ    #0,D4
  63.     RTS
  64. C0B4:    MOVE.B    #$FF,$100(A4)
  65.     MOVE.B    #$BF,$100(A4)
  66.     MOVE.B    #$DF,$100(A4)
  67.     MOVE.B    #$EF,$100(A4)
  68.     MOVE.B    #$F7,$100(A4)
  69.     MOVE.B    #$FF,$100(A4)
  70.     RTS
  71. C0DA:    BTST    #4,$1001(A4)
  72.     BEQ.S    C0EA
  73.     MOVEQ    #1,D0
  74.     BSR    C10A
  75.     BRA.S    C0DA
  76. C0EA:    CLR.W    track
  77.     RTS
  78. C0F0:    MOVE.W    D0,D6
  79.     TST.W    track
  80.     BPL.S    C0FA
  81.     BSR.S    C0DA
  82. C0FA:    SUB.W    track,D6
  83.     BEQ.S    C146
  84.     ADD.W    D6,track
  85.     MOVE.W    D6,D0
  86.     BPL.S    C114
  87.     NEG.W    D0
  88. C10A:    MOVE.B    driveside,D1
  89.     OR.B    #$80,D1
  90.     BRA.S    C11C
  91. C114:    MOVE.B    driveside,D1
  92.     OR.B    #$82,D1
  93. C11C:    MOVE.B    D1,D2
  94.     OR.B    #1,D2
  95.     NOT.B    D1
  96.     NOT.B    D2
  97.     SUBQ.W    #1,D0
  98. C128:    MOVE.B    D2,$100(A4)
  99.     BRA    C130
  100.  
  101. C130:    BRA    C134
  102.  
  103. C134:    MOVE.B    D1,$100(A4)
  104.     MOVE.W    #$208,D3
  105. C13C:    MULU    D4,D4
  106.     DBRA    D3,C13C
  107.     DBRA    D0,C128
  108. C146:    RTS
  109. C148:    SUBQ.W    #1,D1
  110.     BMI.S    C17C
  111.     BSR    C05C
  112.     BMI.S    C17E
  113. C152:    MOVE.W    #4,$1F4
  114. C158:    MOVEM.W    D0/D1,-(SP)
  115.     MOVE.L    A0,-(SP)
  116.     BSR.S    C0F0
  117.     BSR    C19A
  118.     BMI.S    C186
  119.     MOVE.L    A0,A5
  120.     BSR    C1F2
  121.     BMI.S    C186
  122.     MOVE.L    A5,A0
  123.     ADDQ.W    #4,SP
  124.     MOVEM.W    (SP)+,D0/D1
  125.     ADDQ.W    #1,D0
  126.     DBRA    D1,C152
  127. C17C:    MOVEQ    #0,D4
  128. C17E:    BSR    C0B4
  129.     TST.W    D4
  130.     RTS
  131. C186:    MOVE.L    (SP)+,A0
  132.     MOVEM.W    (SP)+,D0/D1
  133.     SUBQ.W    #1,$1F4
  134.     BMI.S    C17E
  135.     BNE.S    C158
  136.     ST     track
  137.     BRA.S    C158
  138.  
  139. C19A:    MOVE.W    #$4000,$024(A6)
  140.     MOVE.W    #2,$09C(A6)
  141.     MOVE.L    #$75000,$020(A6)
  142.     MOVE.W    #$6800,$09E(A6)
  143.     MOVE.W    #$9500,$09E(A6)
  144.     MOVE.W    #$4489,$07E(A6)
  145.     MOVE.W    #$9814,$024(A6)
  146.     MOVE.W    #$9814,$024(A6)
  147.     MOVEQ    #-1,D0
  148. C1CE:    MULU    D4,D4
  149.     MOVE.W    $01E(A6),D4
  150.     AND.W    #2,D4
  151.     DBNE    D0,C1CE
  152.     BEQ.S    C1E8
  153.     MOVE.W    #$4000,$024(A6)
  154.     MOVEQ    #0,D4
  155.     RTS
  156. C1E8:    MOVE.W    #$4000,$024(A6)
  157. C1EE:    MOVEQ    #-1,D4
  158.     RTS
  159. C1F2:    LEA    $75000,A2
  160.     CMP.W    #$4489,(A2)+
  161.     BEQ.S    C200
  162.     SUBQ.W    #2,A2
  163. C200:    MOVE.L    A2,A0
  164.     BSR    C254
  165.     MOVE.W    track,D1
  166.     ADD.W    D1,D1
  167.     ADD.W    side,D1
  168.     CMP.B    D0,D1
  169.     BNE.S    C1EE
  170.     LEA    8(A2),A0
  171.     BSR    C254
  172.     MOVE.L    D0,D7
  173.     LEA    $010(A2),A0
  174.     MOVE.W    #$3000,D1
  175.     BSR    C242
  176.     CMP.L    D0,D7
  177.     BNE.S    C1EE
  178.     LEA    $010(A2),A0
  179.     MOVE.W    #$1800,D0
  180.     BSR    C262
  181.     MOVEQ    #0,D4
  182.     RTS
  183.     MOVEQ    #-1,D4
  184.     RTS
  185. C242:    LSR.W    #2,D1
  186.     MOVE.L    (A0)+,D0
  187.     SUBQ.W    #2,D1
  188. C248:    MOVE.L    (A0)+,D2
  189.     EOR.L    D2,D0
  190.     DBRA    D1,C248
  191.     AND.L    D5,D0
  192.     RTS
  193. C254:    MOVE.L    (A0)+,D0
  194.     MOVE.L    (A0)+,D1
  195.     AND.L    D5,D0
  196.     AND.L    D5,D1
  197.     ADD.L    D0,D0
  198.     OR.L    D1,D0
  199.     RTS
  200. C262:    LEA    0(A0,D0.W),A1
  201.     LSR.W    #2,D0
  202.     SUBQ.W    #1,D0
  203. C26A:    MOVE.L    (A0)+,D1
  204.     MOVE.L    (A1)+,D2
  205.     AND.L    D5,D1
  206.     AND.L    D5,D2
  207.     ADD.L    D1,D1
  208.     OR.L    D2,D1
  209.     MOVE.L    D1,(A5)+
  210.     DBRA    D0,C26A
  211.     add.w    #$200,a5
  212.     add.w    #$1800,a5
  213.     RTS
  214.