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

  1. org    $50000
  2. load    $50000
  3. j:    move.w    #$7fff,$dff09a
  4.     move.l    #$c80000,D0    ;adr
  5.     move.l    #$10000,d1    ;len
  6.     move.l    #22,d2    ;block ($200)
  7.     jsr    LOAD
  8.     move.w    #$e02c,$dff09a
  9.     rts
  10.  
  11. L918:    dc.l    0
  12.     dc.l    0
  13.     dc.l    0
  14.     dc.w    0
  15. LOAD:    LEA    L918(PC),A6
  16.     MOVE.L    D0,6(A6)
  17.     ADD.L    D1,D0
  18.     MOVE.L    D0,10(A6)
  19.     EXT.L    D2
  20.     DIVU    #11,D2
  21.     MOVE.W    D2,(A6)
  22.     SWAP    D2
  23.     ADDQ.W    #1,D2
  24.     MOVE.W    D2,2(A6)
  25. C814:    MOVEQ    #3,D7
  26.  
  27.  
  28. C00:    MOVE.L    A6,A5
  29.     LEA    buffer(PC),A6
  30.     MOVE.L    6(A5),2(A6)
  31.     MOVE.L    10(A5),D2
  32.     SUB.L    6(A5),D2
  33.     MOVE.L    D2,$10(A6)
  34.     MOVE.W    (A5),14(A6)
  35.     MOVE.W    2(A5),D2
  36.     SUBQ.W    #1,D2
  37.     MOVE.B    D2,(A6)
  38.     MOVEM.L    D0-D7/A0-A6,-(SP)
  39.     MOVEQ    #3,D7
  40.     LEA    $DFF000,A0
  41.     LEA    $BFD000,A1
  42.     LEA    $BFE001,A2
  43.     MOVE.B    $100(A1),D0
  44.     AND.B    #$7F,D0
  45.     MOVE.B    D0,$100(A1)
  46.     AND.B    #$F5,D0
  47.     OR.B    #$7A,D0
  48.     BCLR    D7,D0
  49.     MOVE.B    D0,$100(A1)
  50.     BSR    C270
  51.     MOVE.W    #$3A98,D0
  52.     BSR    C25C
  53.     BSR    C348
  54.     MOVEM.L    (SP)+,D0-D7/A0-A6
  55.     BSR    C288
  56.     BSR    C37A
  57. C74:    MOVE.L    $14(A6),$18(A6)
  58.     MOVE.W    #12,$1C(A6)
  59.     BSR    CB2
  60. C84:    BSR    C150
  61.     BEQ    C348
  62.     BMI.S    C74
  63.     ADDQ.B    #1,(A6)
  64.     CMP.B    #11,(A6)
  65.     BNE.S    C84
  66.     CLR.B    0(A6)
  67.     BSR    C774
  68.     BSR    C758
  69.     BTST    #0,D0
  70.     BNE.S    C74
  71.     BSR    C234
  72.     BRA.S    C74
  73.  
  74. CB2:    LEA    $BFD000,A1
  75.     LEA    $BFE001,A2
  76.     BSR    C758
  77.     AND.W    #1,D0
  78.     ASL.W    #2,D0
  79.     EOR.W    #4,D0
  80.     MOVE.B    $100(A1),D1
  81.     AND.B    #$FB,D1
  82.     OR.B    #$78,D1
  83.     BCLR    D7,D1
  84.     OR.B    D1,D0
  85.     MOVE.B    D0,$100(A1)
  86.     LEA    $DFF000,A0
  87.     MOVE.L    $14(A6),A5
  88.     MOVE.W    #2,$9C(A0)
  89.     MOVE.L    A5,$20(A0)
  90.     MOVE.W    #$4489,$7E(A0)
  91.     move.w    #$7f00,$9e(a0)
  92.     MOVE.W    #$9500,$9E(A0)
  93.     MOVE.W    #$4000,$24(A0)
  94.     MOVE.W    #$9E00,$24(A0)
  95.     MOVE.W    #$9E00,$24(A0)
  96.     MOVEQ    #5,D3
  97.     MOVEQ    #-1,D2
  98. C11E:    MOVE.W    $1E(A0),D0
  99.     btst    #6,$bfe001
  100.     beq.s    c140
  101.     BTST    #1,D0
  102.     DBNE    D2,C11E
  103.     DBNE    D3,C11E
  104.     BNE.S    C140
  105.     MOVE.W    #2,$9C(A0)
  106.     MOVE.W    #$4000,$24(A0)
  107.     BRA    CB2
  108.  
  109. C140:    MOVE.W    #2,$9C(A0)
  110.     MOVE.W    #$4000,$24(A0)
  111.     MOVEQ    #0,D0
  112.     RTS
  113. C150:    LEA    buffer(pc),A6
  114.     MOVE.L    $18(A6),A0
  115.     MOVE.L    $14(A6),D2
  116.     ADD.L    #$4000,D2
  117.     LEA    $3E8(A0),A0
  118. C168:    CMP.W    #$4489,(A0)+
  119.     BNE.S    C168
  120. C16E:    CMP.W    #$4489,(A0)
  121.     BNE.S    C178
  122.     ADDQ.W    #2,A0
  123.     BRA.S    C16E
  124.  
  125. C178:    LEA    4(A0),A1
  126.     MOVE.L    (A0)+,D0
  127.     MOVE.L    (A1)+,D1
  128.     AND.L    #$55555555,D0
  129.     ASL.L    #1,D0
  130.     AND.L    #$55555555,D1
  131.     OR.L    D1,D0
  132.     ROR.L    #8,D0
  133.     MOVE.B    (A6),D1
  134.     CMP.B    D1,D0
  135.     BEQ.S    C1B0
  136.     LEA    $3E8(A0),A0
  137.     CMP.L    A0,D2
  138.     BCC.S    C168
  139.     MOVE.L    D2,$18(A6)
  140.     SUBQ.W    #1,$1C(A6)
  141.     BNE.S    C150
  142.     MOVEQ    #-1,D0
  143.     RTS
  144. C1B0:    LEA    $34(A0),A0
  145.     LEA    $200(A0),A1
  146.     MOVE.L    2(A6),A5
  147.     MOVE.L    $10(A6),D5
  148.     CMP.L    #$200,D5
  149.     BCC.S    C20A
  150.     MOVEQ    #$7F,D6
  151. C1CA:    MOVE.L    (A0)+,D0
  152.     MOVE.L    (A1)+,D1
  153.     AND.L    #$55555555,D0
  154.     ASL.L    #1,D0
  155.     AND.L    #$55555555,D1
  156.     OR.L    D1,D0
  157.     CMP.L    #4,D5
  158.     BCS.S    C200
  159.     MOVE.L    D0,(A5)+
  160.     SUBQ.L    #4,D5
  161.     BEQ    C286
  162.     DBRA    D6,C1CA
  163.     MOVE.L    A5,2(A6)
  164.     MOVE.L    D5,$10(A6)
  165.     MOVE.W    #$FF,D0
  166.     RTS
  167. C200:    ROL.L    #8,D0
  168.     MOVE.B    D0,(A5)+
  169.     SUBQ.B    #1,D5
  170.     BNE.S    C200
  171.     RTS
  172. C20A:    MOVEQ    #$7F,D6
  173. C20C:    MOVE.L    (A0)+,D0
  174.     MOVE.L    (A1)+,D1
  175.     AND.L    #$55555555,D0
  176.     ASL.L    #1,D0
  177.     AND.L    #$55555555,D1
  178.     OR.L    D1,D0
  179.     MOVE.L    D0,(A5)+
  180.     DBRA    D6,C20C
  181.     MOVE.L    A5,2(A6)
  182.     SUB.L    #$200,$10(A6)
  183.     RTS
  184. C234:    LEA    $BFD000,A1
  185.     LEA    $BFE001,A2
  186.     MOVE.B    $100(A1),D0
  187.     AND.B    #$FE,D0
  188.     MOVE.B    D0,$100(A1)
  189.     ADDQ.B    #1,D0
  190.     NOP
  191.     MOVE.B    D0,$100(A1)
  192.     BSR    C270
  193.     MOVE.W    #$864,D0
  194. C25C:    MOVE.B    D0,$400(A1)
  195.     LSR.W    #8,D0
  196.     MOVE.B    D0,$500(A1)
  197. C266:    BTST    #0,$D00(A1)
  198.     BEQ.S    C266
  199.     RTS
  200. C270:    MOVE.B    $E00(A1),D0
  201.     AND.B    #$C0,D0
  202.     OR.B    #8,D0
  203.     MOVE.B    D0,$E00(A1)
  204.     MOVE.B    #1,$D00(A1)
  205. C286:    RTS
  206. C288:    LEA    buffer(pc),A6
  207.     LEA    $DFF000,A0
  208.     LEA    $BFD000,A1
  209.     LEA    $BFE001,A2
  210.     MOVE.B    $100(A1),D0
  211.     AND.B    #$7F,D0
  212.     MOVE.B    D0,$100(A1)
  213.     AND.B    #$FD,D0
  214.     OR.B    #$7A,D0
  215.     BCLR    D7,D0
  216.     MOVE.B    D0,$100(A1)
  217.     BSR.S    C270
  218.     MOVE.W    D7,-(SP)
  219.     MOVEQ    #14,D7
  220. C2C0:    MOVE.W    #$8BD4,D0
  221.     BSR.S    C25C
  222.     DBRA    D7,C2C0
  223.     MOVE.W    (SP)+,D7
  224.     MOVE.W    14(A6),D6
  225.     BSR    C784
  226.     BNE.S    C2D8
  227.     RTS
  228. C2D8:    BCC.S    C310
  229.     MOVE.B    $100(A1),D0
  230.     AND.B    #$7F,D0
  231.     MOVE.B    D0,$100(A1)
  232.     AND.B    #$FD,D0
  233.     OR.B    #$7A,D0
  234.     BCLR    D7,D0
  235.     MOVE.B    D0,$100(A1)
  236. C2F4:    BSR    C758
  237.     CMP.W    14(A6),D0
  238.     BEQ.S    C346
  239.     SUBQ.W    #1,D0
  240.     BSR    C764
  241.     BTST    #0,D0
  242.     BEQ.S    C2F4
  243.     BSR    C234
  244.     BRA.S    C2F4
  245.  
  246. C310:    MOVE.B    $100(A1),D0
  247.     AND.B    #$7F,D0
  248.     MOVE.B    D0,$100(A1)
  249.     AND.B    #$FD,D0
  250.     OR.B    #$78,D0
  251.     BCLR    D7,D0
  252.     MOVE.B    D0,$100(A1)
  253. C32A:    BSR    C758
  254.     CMP.W    14(A6),D0
  255.     BEQ.S    C346
  256.     ADDQ.W    #1,D0
  257.     BSR    C764
  258.     BTST    #0,D0
  259.     BNE.S    C32A
  260.     BSR    C234
  261.     BRA.S    C32A
  262.  
  263. C346:    RTS
  264. C348:    LEA    $BFD000,A1
  265.     MOVE.B    $100(A1),D0
  266.     OR.B    #$80,D0
  267.     MOVE.B    D0,$100(A1)
  268.     AND.B    #$FD,D0
  269.     OR.B    #$78,D0
  270.     BSET    D7,D0
  271.     MOVE.B    D0,$100(A1)
  272.     BCLR    D7,D0
  273.     MOVE.B    D0,$100(A1)
  274.     BSET    D7,D0
  275.     MOVE.B    D0,$100(A1)
  276.     MOVE.B    #0,D0
  277.     RTS
  278.  
  279. C37A:    LEA    $BFD000,A1
  280.     LEA    $BFE001,A2
  281.     MOVE.W    #$190,D2
  282. C38A:    MOVE.B    (A2),D0
  283.     BTST    #5,D0
  284.     DBNE    D2,C38A
  285.     MOVE.B    $100(A1),D0
  286.     AND.B    #$7F,D0
  287.     MOVE.B    D0,$100(A1)
  288.     AND.B    #$FD,D0
  289.     OR.B    #$78,D0
  290.     BCLR    D7,D0
  291.     MOVE.B    D0,$100(A1)
  292.     RTS
  293.  
  294.  
  295.  
  296. C576:    LEA    $DFF000,A0
  297.     LEA    $BFD000,A1
  298.     LEA    $BFE001,A2
  299.     LEA    W56A(PC),A3
  300.     MOVEQ    #6,D7
  301. C58E:    MOVE.L    A3,-(SP)
  302.     BSR    C5A2
  303.     MOVE.L    (SP)+,A3
  304.     SUBQ.W    #2,A3
  305.     SUBQ.W    #1,D7
  306.     CMP.W    #3,D7
  307.     BGE.S    C58E
  308.     RTS
  309.  
  310. C5A2:    MOVE.B    $100(A1),D0
  311.     MOVE.W    D0,D2
  312.     OR.B    #$78,D0
  313.     BCLR    D7,D0
  314.     MOVE.B    D0,$100(A1)
  315.     NOP
  316.     NOP
  317.     MOVE.B    (A2),D1
  318.     ST     (A3)
  319.     BTST    #2,D1
  320.     BNE.S    C5C2
  321.     SF    (A3)
  322. C5C2:    BSET    D7,D0
  323.     MOVE.B    D0,$100(A1)
  324.     NOP
  325.     NOP
  326.     MOVE.B    D2,$100(A1)
  327.     RTS
  328. C5D2:    LEA    $DFF000,A0
  329.     LEA    buffer(pc),A6
  330.     LEA    $BFD000,A1
  331.     LEA    $BFE001,A2
  332.     MOVE.B    $100(A1),D0
  333.     AND.B    #$7F,D0
  334.     MOVE.B    D0,$100(A1)
  335.     AND.B    #$F5,D0
  336.     OR.B    #$7A,D0
  337.     BCLR    D7,D0
  338.     MOVE.B    D0,$100(A1)
  339.     BSR    C270
  340.     MOVEQ    #$13,D6
  341. C60A:    MOVE.W    #$8BD4,D0
  342.     BSR    C25C
  343.     DBRA    D6,C60A
  344.     MOVE.B    (A2),D0
  345.     BTST    #5,D0
  346.     BEQ.S    C620
  347.     BRA.S    C66A
  348.  
  349. C620:    MOVE.B    (A2),D0
  350.     BTST    #4,D0
  351.     BEQ.S    C62E
  352.     BSR    C234
  353.     BRA.S    C620
  354.  
  355. C62E:    BSR    C74C
  356.     BSR    C6B2
  357.     BMI.S    C66A
  358.     MOVE.L    #$12,$10(A6)
  359.     CLR.B    (A6)
  360.     MOVE.L    #L672,2(A6)
  361.     MOVE.L    $14(A6),$18(A6)
  362.     MOVE.W    #12,$1C(A6)
  363.     BSR    C150
  364.     BMI.S    C66A
  365.     BSR    C348
  366.     MOVE.L    L680(PC),D1
  367.     MOVEQ    #0,D0
  368.     RTS
  369. C66A:    BSR    C348
  370.     MOVEQ    #-1,D0
  371.     RTS
  372. C6B2:    LEA    $BFD000,A1
  373.     LEA    $BFE001,A2
  374.     BSR    C758
  375.     AND.W    #1,D0
  376.     ASL.W    #2,D0
  377.     EOR.W    #4,D0
  378.     MOVE.B    $100(A1),D1
  379.     AND.B    #$FB,D1
  380.     OR.B    D1,D0
  381.     MOVE.B    D0,$100(A1)
  382.     LEA    $DFF000,A0
  383.     MOVE.W    #2,$9C(A0)
  384.     MOVE.L    $14(A6),A5
  385.     MOVE.L    A5,$20(A0)
  386.     MOVE.W    #$4489,$7E(A0)
  387.     move.w    #$7f00,$9e(a0)
  388.     MOVE.W    #$9500,$9E(A0)
  389.     MOVE.W    #$4000,$24(A0)
  390.     MOVE.W    #$9E00,$24(A0)
  391.     MOVE.W    #$9E00,$24(A0)
  392.     MOVEQ    #5,D3
  393.     MOVEQ    #-1,D2
  394. C718:    MOVE.W    $1E(A0),D0
  395.     btst    #6,$bfe001
  396.     beq.s    c73c
  397.     BTST    #1,D0
  398.     DBNE    D2,C718
  399.     DBNE    D3,C718
  400.     BEQ    C73C
  401.     MOVE.W    #2,$9C(A0)
  402.     MOVE.W    #$4000,$24(A0)
  403.     MOVEQ    #0,D0
  404.     RTS
  405. C73C:    MOVE.W    #2,$9C(A0)
  406.     MOVE.W    #$4000,$24(A0)
  407.     MOVEQ    #-1,D0
  408.     RTS
  409. C74C:    MOVE.W    D7,D0
  410.     SUBQ.W    #3,D0
  411.     ADD.W    D0,D0
  412.     CLR.W    6(A6,D0.W)
  413.     RTS
  414. C758:    MOVE.W    D7,D0
  415.     SUBQ.W    #3,D0
  416.     ADD.W    D0,D0
  417.     MOVE.W    6(A6,D0.W),D0
  418.     RTS
  419. C764:    MOVE.W    D1,-(SP)
  420.     MOVE.W    D7,D1
  421.     SUBQ.W    #3,D1
  422.     ADD.W    D1,D1
  423.     MOVE.W    D0,6(A6,D1.W)
  424.     MOVE.W    (SP)+,D1
  425.     RTS
  426. C774:    MOVE.W    D0,-(SP)
  427.     MOVE.W    D7,D0
  428.     SUBQ.W    #3,D0
  429.     ADD.W    D0,D0
  430.     ADDQ.W    #1,6(A6,D0.W)
  431.     MOVE.W    (SP)+,D0
  432.     RTS
  433. C784:    MOVE.W    D7,D0
  434.     SUBQ.W    #3,D0
  435.     ADD.W    D0,D0
  436.     CMP.W    6(A6,D0.W),D6
  437.     RTS
  438.  
  439.     blk.w    3,0
  440. W56A:    dc.w    0
  441. L672:    blk.b    $12,0
  442. L680:    blk.w    25,0
  443.  
  444. buffer:    blk.b    $10,0
  445.     dc.l    0
  446.     dc.l    $70000
  447.     dc.l    $70000
  448.     blk.b    $100,0
  449.