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

  1.  
  2.     org    $60000
  3.     load    $60000
  4.  
  5. j    move.w    #$4000,$dff09a
  6.     lea    $70000,a0
  7.     bsr    init
  8.     lea    $c80000,a0
  9.     moveq    #0,d0
  10.     move.l    #$342,d1
  11.     move.l    #$3af,d2
  12.     moveq    #0,d3
  13.     bsr    load
  14.     move.w    #$c000,$dff09a
  15.     rts
  16.  
  17. ****************************************************************************
  18.     BRA    lbC000146
  19.  
  20.     BRA    lbC0001D4
  21.  
  22.     BRA    *+$9DA
  23.  
  24. init    MOVEM.L    D0-D7/A0-A6,-(SP)
  25.     LEA    *+$B08(PC),A4
  26.     MOVE.L    A0,4(A4)
  27.     LEA    $200(A0),A0
  28.     MOVE.L    A0,0(A4)
  29.     MOVE.W    #$FFFF,$16(A4)
  30.     BSR    lbC0001FC
  31.     MOVEM.L    (SP)+,D0-D7/A0-A6
  32.     RTS
  33.  
  34. load    MOVEM.L    D0-D6/A0-A6,-(SP)
  35.     BSR    lbC00025E
  36.     TST.W    D7
  37.     BMI.S    lbC0000A4
  38.     BSR    lbC00031C
  39.     TST.W    D7
  40.     BMI.S    lbC0000AA
  41. lbC000044    MOVE.W    D1,12(A4)
  42.     MOVE.W    D2,14(A4)
  43.     MOVE.L    A0,8(A4)
  44.     AND.L    #$FFFF,D1
  45.     DIVU    #12,D1
  46.     MOVE.B    D1,$1F(A4)
  47.     SWAP    D1
  48.     MOVE.B    D1,$21(A4)
  49.     MOVEQ    #4,D6
  50. lbC000066    BSR    lbC0005AC
  51.     TST.W    D7
  52.     BMI.S    lbC0000AA
  53.     MOVE.L    8(A4),A2
  54.     BSR    lbC0004AA
  55.     TST.W    D7
  56.     BPL.S    lbC000088
  57.     MOVE.B    #$FF,$1E(A4)
  58.     DBRA    D6,lbC000066
  59.     BRA    lbC0000AA
  60.  
  61. lbC000088    MOVE.L    8(A4),A0
  62.     MOVE.W    14(A4),D2
  63.     MOVE.W    12(A4),D1
  64.     LEA    $200(A0),A0
  65.     ADDQ.W    #1,D1
  66.     SUBQ.W    #1,D2
  67.     BNE.S    lbC000044
  68.     BSR    lbC000352
  69.     MOVEQ    #0,D7
  70. lbC0000A4    MOVEM.L    (SP)+,D0-D6/A0-A6
  71.     RTS
  72.  
  73. lbC0000AA    BSR    lbC000352
  74.     MOVEM.L    (SP)+,D0-D6/A0-A6
  75.     RTS
  76.  
  77.     MOVEM.L    D0-D6/A0-A6,-(SP)
  78.     BSR    lbC00025E
  79.     TST.W    D7
  80.     BMI    lbC000136
  81.     BSR    lbC00031C
  82.     TST.W    D7
  83.     BMI    lbC00013C
  84.     BSR    lbC00049A
  85.     TST.W    D7
  86.     BMI.S    lbC00013C
  87. lbC0000D4    MOVE.W    D1,12(A4)
  88.     MOVE.W    D2,14(A4)
  89.     MOVE.L    A0,8(A4)
  90.     AND.L    #$FFFF,D1
  91.     DIVU    #12,D1
  92.     MOVE.B    D1,$1F(A4)
  93.     SWAP    D1
  94.     MOVE.B    D1,$21(A4)
  95.     BSR    lbC0005AC
  96.     TST.W    D7
  97.     BMI.S    lbC00013C
  98.     MOVE.L    8(A4),A2
  99.     BSR    lbC000544
  100.     MOVE.W    14(A4),D0
  101.     CMP.W    #1,D0
  102.     BEQ.S    lbC000116
  103.     CMP.B    #11,$21(A4)
  104.     BNE.S    lbC00011A
  105. lbC000116    BSR    lbC00069E
  106. lbC00011A    MOVE.L    8(A4),A0
  107.     MOVE.W    14(A4),D2
  108.     MOVE.W    12(A4),D1
  109.     LEA    $200(A0),A0
  110.     ADDQ.W    #1,D1
  111.     SUBQ.W    #1,D2
  112.     BNE.S    lbC0000D4
  113.     BSR    lbC000352
  114.     MOVEQ    #0,D7
  115. lbC000136    MOVEM.L    (SP)+,D0-D6/A0-A6
  116.     RTS
  117.  
  118. lbC00013C    BSR    lbC000352
  119.     MOVEM.L    (SP)+,D0-D6/A0-A6
  120.     RTS
  121.  
  122. lbC000146    MOVEM.L    D0-D6/A0-A6,-(SP)
  123.     BSR    lbC00025E
  124.     TST.W    D7
  125.     BMI.S    lbC0001C4
  126.     MOVE.W    D1,12(A4)
  127.     MOVE.W    D2,14(A4)
  128.     BSR    lbC00031C
  129.     TST.W    D7
  130.     BMI.S    lbC0001CA
  131.     BSR    lbC00049A
  132.     TST.W    D7
  133.     BMI.S    lbC0001CA
  134.     MOVE.L    4(A4),A0
  135.     MOVE.L    #$50444F53,D0
  136.     MOVEQ    #$7F,D1
  137. lbC000176    MOVE.L    D0,(A0)+
  138.     DBRA    D1,lbC000176
  139.     MOVE.W    12(A4),D6
  140. lbC000180    MOVE.W    D6,D4
  141.     MOVE.W    D6,D5
  142.     MOVE.W    D6,D7
  143.     LSR.W    #1,D5
  144.     AND.W    #1,D7
  145.     MOVE.B    D5,$1B(A4)
  146.     MOVE.B    D7,$1D(A4)
  147.     BSR    lbC0006FE
  148.     BSR    lbC000432
  149.     TST.W    D7
  150.     BMI.S    lbC0001CA
  151.     BSR    lbC00069E
  152.     TST.W    D7
  153.     BMI.S    lbC0001CA
  154.     ADDQ.W    #1,D6
  155.     MOVE.W    14(A4),D7
  156.     CMP.W    D7,D6
  157.     BLE.S    lbC000180
  158.     MOVE.B    #$FF,$1E(A4)
  159.     MOVE.B    #$FF,$1A(A4)
  160.     BSR    lbC000352
  161.     MOVEQ    #0,D7
  162. lbC0001C4    MOVEM.L    (SP)+,D0-D6/A0-A6
  163.     RTS
  164.  
  165. lbC0001CA    BSR    lbC000352
  166.     MOVEM.L    (SP)+,D0-D6/A0-A6
  167.     RTS
  168.  
  169. lbC0001D4    MOVE.W    D1,-(SP)
  170.     ADDQ.W    #3,D0
  171.     ST    D1
  172.     BCLR    D0,D1
  173.     MOVEQ    #0,D0
  174.     MOVE.B    D1,$BFD100
  175.     BTST    #2,$BFE001
  176.     BNE.S    lbC0001F0
  177.     MOVEQ    #-1,D0
  178. lbC0001F0    MOVE.B    #$FF,$BFD100
  179.     MOVE.W    (SP)+,D1
  180.     RTS
  181.  
  182. lbC0001FC
  183.     MOVEM.L    D0-D3/A0,-(SP)
  184.     MOVE.W    #1,$10(A4)
  185.     MOVE.W    #$10,D3
  186.     BSR    lbC000220
  187.     CMP.W    #$FFFF,D0
  188.     BNE.S    lbC00021A
  189.     MOVE.W    #2,$10(A4)
  190. lbC00021A
  191.     MOVEM.L    (SP)+,D0-D3/A0
  192.     RTS
  193.  
  194. lbC000220    NOT.B    D3
  195.     LEA    $BFD100,A0
  196.     MOVE.B    #$7F,D0
  197.     MOVE.B    D0,(A0)
  198.     AND.B    D3,D0
  199.     MOVE.B    D0,(A0)
  200.     MOVE.B    #$FF,(A0)
  201.     MOVE.B    D3,(A0)
  202.     MOVE.B    #$FF,(A0)
  203.     MOVEQ    #$1F,D1
  204.     MOVEQ    #0,D0
  205. lbC000240    LSL.W    #1,D0
  206.     MOVE.B    D3,(A0)
  207.     BTST    #5,$BFE001
  208.     BEQ.S    lbC000252
  209.     BSET    #0,D0
  210. lbC000252    MOVE.B    #$FF,(A0)
  211.     DBRA    D1,lbC000240
  212.     NOT.W    D0
  213.     RTS
  214.  
  215. lbC00025E    MOVE.W    D1,-(SP)
  216.     LEA    $DFF000,A6
  217.     LEA    $BFD100,A5
  218.     LEA    *+$8AC(PC),A4
  219.     TST.W    D0
  220.     BNE.S    lbC000282
  221.     MOVE.W    #8,$12(A4)
  222.     MOVE.W    #3,$14(A4)
  223.     BRA.S    lbC000296
  224.  
  225. lbC000282    CMP.W    #2,$10(A4)
  226.     BNE.S    lbC0002B2
  227.     MOVE.W    #$10,$12(A4)
  228.     MOVE.W    #4,$14(A4)
  229. lbC000296    CMP.W    $16(A4),D0
  230.     BEQ.S    lbC0002AC
  231.     MOVE.W    D0,$16(A4)
  232.     MOVE.B    #$FF,$1A(A4)
  233.     MOVE.B    #$FF,$1E(A4)
  234. lbC0002AC    MOVE.W    (SP)+,D1
  235.     MOVEQ    #0,D7
  236.     RTS
  237.  
  238. lbC0002B2    MOVE.W    (SP)+,D1
  239.     MOVEQ    #-3,D7
  240.     RTS
  241.  
  242. lbC0002B8    MOVE.W    D6,-(SP)
  243.     MOVE.W    D7,-(SP)
  244.     MOVE.B    $BFDE00,D6
  245.     AND.B    #$C0,D6
  246.     OR.B    #8,D6
  247.     MOVE.B    D6,$BFDE00
  248.     MOVE.B    #$7F,$BFDD00
  249.     MOVE.B    D7,$BFD400
  250.     LSR.W    #8,D7
  251.     MOVE.B    D7,$BFD500
  252. lbC0002E6    BTST    #0,$BFDD00
  253.     BEQ.S    lbC0002E6
  254.     MOVE.W    (SP)+,D7
  255.     MOVE.W    (SP)+,D6
  256.     RTS
  257.  
  258. lbC0002F6    MOVE.L    #$40000,D7
  259. lbC0002FC    BTST    #5,$BFE001
  260.     BEQ.S    lbC000318
  261.     MOVE.W    D7,-(SP)
  262.     MOVE.W    #$169,D7
  263.     BSR.S    lbC0002B8
  264.     MOVE.W    (SP)+,D7
  265.     SUBQ.L    #1,D7
  266.     BNE.S    lbC0002FC
  267.     MOVEQ    #-1,D7
  268.     RTS
  269.  
  270. lbC000318    MOVEQ    #0,D7
  271.     RTS
  272.  
  273. lbC00031C    BCLR    #7,$BFD100
  274.     MOVE.W    $14(A4),D0
  275.     MOVE.W    D7,-(SP)
  276.     MOVE.W    #$169,D7
  277.     BSR.S    lbC0002B8
  278.     MOVE.W    (SP)+,D7
  279.     BCLR    D0,$BFD100
  280.     BSR.S    lbC0002F6
  281.     BTST    #2,$BFE001
  282.     BNE.S    lbC000350
  283.     MOVE.B    #$FF,$1A(A4)
  284.     MOVE.B    #$FF,$1E(A4)
  285. lbC000350    RTS
  286.  
  287. lbC000352    BSET    #7,$BFD100
  288.     MOVE.W    $14(A4),D0
  289.     BSET    D0,$BFD100
  290.     MOVE.W    D7,-(SP)
  291.     MOVE.W    #$5A5,D7
  292.     BSR    lbC0002B8
  293.     MOVE.W    (SP)+,D7
  294.     BCLR    D0,$BFD100
  295.     MOVE.W    D7,-(SP)
  296.     MOVE.W    #$5A5,D7
  297.     BSR    lbC0002B8
  298.     MOVE.W    (SP)+,D7
  299.     BSET    D0,$BFD100
  300.     RTS
  301.  
  302. lbC00038A    MOVE.W    D7,-(SP)
  303.     MOVE.W    #$48,D7
  304.     BSR    lbC0002B8
  305.     MOVE.W    (SP)+,D7
  306.     MOVE.B    #$7F,D1
  307.     MOVE.W    $14(A4),D0
  308.     BCLR    D0,D1
  309.     BSET    #2,D1
  310.     TST.B    $1D(A4)
  311.     BEQ.S    lbC0003AE
  312.     BCLR    #2,D1
  313. lbC0003AE    MOVE.B    D1,(A5)
  314.     MOVE.W    D7,-(SP)
  315.     MOVE.W    #$3AB,D7
  316.     BSR    lbC0002B8
  317.     MOVE.W    (SP)+,D7
  318.     RTS
  319.  
  320. lbC0003BE    BSR    lbC0002F6
  321.     MOVE.B    #$7E,D7
  322.     MOVE.W    $14(A4),D6
  323.     BCLR    D6,D7
  324.     MOVE.B    $18(A4),D1
  325.     BEQ.S    lbC0003E2
  326.     BTST    #4,$BFE001
  327.     BEQ.S    lbC00040E
  328.     BSET    #1,D7
  329.     BRA.S    lbC0003E6
  330.  
  331. lbC0003E2    BCLR    #1,D7
  332. lbC0003E6    MOVE.B    D7,(A5)
  333.     MOVE.B    D7,(A5)
  334.     BSET    #0,D7
  335.     MOVE.B    D7,(A5)
  336.     MOVE.W    D7,-(SP)
  337.     MOVE.W    #$B4A,D7
  338.     BSR    lbC0002B8
  339.     MOVE.W    (SP)+,D7
  340.     CMP.B    $19(A4),D1
  341.     BEQ.S    lbC00040E
  342.     MOVE.W    D7,-(SP)
  343.     MOVE.W    #$2A55,D7
  344.     BSR    lbC0002B8
  345.     MOVE.W    (SP)+,D7
  346. lbC00040E    MOVE.B    D1,$19(A4)
  347.     RTS
  348.  
  349. lbC000414    SF    $18(A4)
  350.     BSR.S    lbC0003BE
  351. lbC00041A    BTST    #4,$BFE001
  352.     BEQ.S    lbC00042C
  353.     ST    $18(A4)
  354.     BSR.S    lbC0003BE
  355.     BRA.S    lbC00041A
  356.  
  357. lbC00042C    CLR.B    $1A(A4)
  358.     RTS
  359.  
  360. lbC000432    MOVEM.L    D2-D6,-(SP)
  361.     MOVE.B    $1B(A4),D2
  362.     CMP.B    #$4F,D2
  363.     BHI    lbC000490
  364.     TST.B    $1A(A4)
  365.     BPL.S    lbC00044A
  366.     BSR.S    lbC000414
  367. lbC00044A    CMP.B    $1A(A4),D2
  368.     BEQ.S    lbC000488
  369.     BGT.S    lbC00046C
  370.     MOVE.B    $1A(A4),D3
  371.     SUB.B    D2,D3
  372.     ST    $18(A4)
  373. lbC00045C    BSR    lbC0003BE
  374.     SUBQ.B    #1,$1A(A4)
  375.     SUBQ.B    #1,D3
  376.     BNE.S    lbC00045C
  377.     BRA    lbC000488
  378.  
  379. lbC00046C    SUB.B    $1A(A4),D2
  380.     SF    $18(A4)
  381. lbC000474    BSR    lbC0003BE
  382.     ADDQ.B    #1,$1A(A4)
  383.     CMP.B    #$4F,$1A(A4)
  384.     BHI.S    lbC000490
  385.     SUBQ.B    #1,D2
  386.     BNE.S    lbC000474
  387. lbC000488    MOVEM.L    (SP)+,D2-D6
  388.     MOVEQ    #0,D7
  389.     RTS
  390.  
  391. lbC000490    BSR.S    lbC000414
  392.     MOVEM.L    (SP)+,D2-D6
  393.     MOVEQ    #-2,D7
  394.     RTS
  395.  
  396. lbC00049A    MOVEQ    #0,D7
  397.     BTST    #3,$BFE001
  398.     BNE.S    lbC0004A8
  399.     MOVEQ    #-5,D7
  400. lbC0004A8    RTS
  401.  
  402. lbC0004AA    MOVE.L    D6,-(SP)
  403.     MOVE.L    0(A4),A3
  404.     LEA    $450(A3),A3
  405.     MOVEQ    #0,D0
  406.     MOVE.B    $21(A4),D0
  407.     MULU    #$410,D0
  408.     ADD.W    D0,A3
  409.     MOVE.L    A3,A0
  410.     BSR    lbC000806
  411.     MOVE.B    $1F(A4),D5
  412.     MOVE.B    $21(A4),D6
  413.     CMP.B    D6,D0
  414.     BNE    lbC000538
  415.     LSR.W    #8,D0
  416.     CMP.B    D5,D0
  417.     BNE    lbC000538
  418.     SWAP    D0
  419.     CMP.W    #$5046,D0
  420.     BNE    lbC000538
  421.     LEA    $10(A3),A0
  422.     MOVE.L    #$400,D0
  423.     BSR    lbC000786
  424.     MOVE.L    D0,D6
  425.     LEA    8(A3),A0
  426.     BSR    lbC000806
  427.     CMP.L    D0,D6
  428.     BNE    lbC00053E
  429.     LEA    $10(A3),A0
  430.     MOVE.L    A2,A1
  431.     MOVE.L    #$200,D0
  432.     MOVE.L    A2,D1
  433.     AND.W    #1,D1
  434.     BEQ.S    lbC00051E
  435.     BSR    lbC0009C4
  436.     BRA.S    lbC000532
  437.  
  438. lbC00051E    MOVE.L    A2,D1
  439.     AND.L    #$FFF00000,D1
  440.     BEQ.S    lbC00052E
  441.     BSR    lbC0009A0
  442.     BRA.S    lbC000532
  443.  
  444. lbC00052E    BSR    lbC000938
  445. lbC000532    MOVE.L    (SP)+,D6
  446.     MOVEQ    #0,D7
  447.     RTS
  448.  
  449. lbC000538    MOVE.L    (SP)+,D6
  450.     MOVEQ    #-7,D7
  451.     RTS
  452.  
  453. lbC00053E    MOVE.L    (SP)+,D6
  454.     MOVEQ    #-8,D7
  455.     RTS
  456.  
  457. lbC000544    MOVE.L    D6,-(SP)
  458.     MOVE.L    A2,A0
  459.     MOVE.L    A2,D0
  460.     MOVE.L    4(A4),A1
  461.     AND.L    #1,D0
  462.     BEQ.S    lbC000562
  463.     MOVE.W    #$1FF,D0
  464. lbC00055A    MOVE.B    (A0)+,(A1)+
  465.     DBRA    D0,lbC00055A
  466.     BRA.S    lbC00056A
  467.  
  468. lbC000562    MOVEQ    #$7F,D0
  469. lbC000564    MOVE.L    (A0)+,(A1)+
  470.     DBRA    D0,lbC000564
  471. lbC00056A    MOVE.L    0(A4),A3
  472.     LEA    $450(A3),A3
  473.     MOVEQ    #0,D0
  474.     MOVE.B    $21(A4),D0
  475.     MULU    #$410,D0
  476.     ADD.W    D0,A3
  477.     MOVE.L    4(A4),A0
  478.     LEA    $10(A3),A1
  479.     MOVE.L    #$200,D0
  480.     BSR    lbC00081C
  481.     LEA    $10(A3),A0
  482.     MOVE.L    #$400,D0
  483.     BSR    lbC000786
  484.     LEA    8(A3),A0
  485.     BSR    lbC0007A6
  486.     MOVE.L    (SP)+,D6
  487.     MOVEQ    #0,D7
  488.     RTS
  489.  
  490. lbC0005AC    MOVE.L    D6,-(SP)
  491.     MOVEQ    #0,D4
  492.     MOVE.B    $1F(A4),D4
  493.     CMP.B    $1E(A4),D4
  494.     BEQ.S    lbC0005E4
  495.     MOVE.W    D4,D5
  496.     MOVE.W    D4,D6
  497.     LSR.W    #1,D5
  498.     AND.W    #1,D6
  499.     MOVE.B    D5,$1B(A4)
  500.     MOVE.B    D6,$1D(A4)
  501.     BSR    lbC000432
  502.     TST.W    D7
  503.     BMI.S    lbC0005E6
  504.     BSR    lbC0005EA
  505.     TST.W    D7
  506.     BMI.S    lbC0005E6
  507.     MOVE.B    $1F(A4),D4
  508.     MOVE.B    D4,$1E(A4)
  509. lbC0005E4    MOVEQ    #0,D7
  510. lbC0005E6    MOVE.L    (SP)+,D6
  511.     RTS
  512.  
  513. lbC0005EA    MOVE.L    #$AAAAAAAA,D1
  514.     MOVE.L    0(A4),A0
  515.     MOVE.L    A0,A1
  516.     MOVE.W    #$112,D0
  517. lbC0005FA    MOVE.L    D1,(A0)+
  518.     DBRA    D0,lbC0005FA
  519.     MOVE.W    #$4489,(A0)
  520.     MOVE.W    #$4489,2(A0)
  521.     LEA    $3500(A1),A0
  522.     MOVE.W    #$23,D0
  523. lbC000612    MOVE.L    D1,(A0)+
  524.     DBRA    D0,lbC000612
  525.     BSR    lbC00038A
  526.     BSR    lbC0002F6
  527.     TST.W    D7
  528.     BMI.S    lbC00067E
  529.     MOVEQ    #5,D6
  530. lbC000626    MOVE.W    #$7700,$9E(A6)
  531.     MOVE.W    #$8210,$96(A6)
  532.     MOVE.W    #$4000,$24(A6)
  533.     MOVE.W    #2,$9C(A6)
  534.     MOVE.L    0(A4),A0
  535.     LEA    $44E(A0),A0
  536.     MOVE.L    A0,$20(A6)
  537.     MOVE.W    #$4489,$7E(A6)
  538.     MOVE.W    #$9500,$9E(A6)
  539.     MOVE.W    #$9881,$24(A6)
  540.     MOVE.W    #$9881,$24(A6)
  541.     MOVE.L    #$20000,D1
  542. lbC000668    MOVE.W    $1E(A6),D0
  543.     AND.W    #2,D0
  544.     BNE.S    lbC000680
  545.     SUBQ.L    #1,D1
  546.     BNE.S    lbC000668
  547.     MOVEQ    #-4,D7
  548.     MOVE.W    #$4000,$24(A6)
  549. lbC00067E    RTS
  550.  
  551. lbC000680    MOVE.W    #$4000,$24(A6)
  552.     MOVE.L    0(A4),A0
  553.     CMP.W    #$4489,$44E(A0)
  554.     BEQ.S    lbC00069A
  555.     DBRA    D6,lbC000626
  556.     MOVEQ    #-6,D7
  557.     BRA.S    lbC00067E
  558.  
  559. lbC00069A    MOVEQ    #0,D7
  560.     RTS
  561.  
  562. lbC00069E    BSR    lbC00038A
  563.     BSR    lbC0002F6
  564.     TST.W    D7
  565.     BMI.S    lbC0006FC
  566.     MOVE.W    #$7700,$9E(A6)
  567.     MOVE.W    #$8210,$96(A6)
  568.     MOVE.W    #$4000,$24(A6)
  569.     MOVE.W    #2,$9C(A6)
  570.     MOVE.L    0(A4),D0
  571.     MOVE.L    D0,$20(A6)
  572.     MOVE.W    #$9100,D0
  573.     CMP.B    #$28,$1A(A4)
  574.     BCS.S    lbC0006DA
  575.     MOVE.W    #$B100,D0
  576. lbC0006DA    MOVE.W    D0,$9E(A6)
  577.     MOVE.W    #$DAC9,$24(A6)
  578.     MOVE.W    #$DAC9,$24(A6)
  579. lbC0006EA    MOVE.W    $1E(A6),D0
  580.     AND.W    #2,D0
  581.     BEQ.S    lbC0006EA
  582.     MOVE.W    #$4000,$24(A6)
  583.     MOVEQ    #0,D7
  584. lbC0006FC    RTS
  585.  
  586. lbC0006FE    MOVEM.L    D0-D6/A0-A3,-(SP)
  587.     MOVE.L    0(A4),A3
  588.     MOVEQ    #0,D5
  589.     MOVE.L    A3,A0
  590.     MOVE.L    #$AAAAAAAA,D0
  591.     MOVE.W    #$113,D1
  592. lbC000714    MOVE.L    D0,(A0)+
  593.     DBRA    D1,lbC000714
  594.     MOVE.W    #$4489,$44C(A3)
  595.     MOVE.W    #$4489,$44E(A3)
  596.     LEA    $450(A3),A3
  597. lbC00072A    MOVE.W    #$5046,D0
  598.     SWAP    D0
  599.     MOVE.B    D4,D0
  600.     LSL.W    #8,D0
  601.     MOVE.B    D5,D0
  602.     MOVE.L    A3,A0
  603.     BSR    lbC0007A6
  604.     MOVE.L    4(A4),A0
  605.     LEA    $10(A3),A1
  606.     MOVE.L    #$200,D0
  607.     BSR    lbC00081C
  608.     LEA    $10(A3),A0
  609.     MOVE.W    #$400,D0
  610.     BSR    lbC000786
  611.     LEA    8(A3),A0
  612.     BSR    lbC0007A6
  613.     LEA    $410(A3),A3
  614.     ADDQ.W    #1,D5
  615.     CMP.W    #12,D5
  616.     BNE.S    lbC00072A
  617.     MOVE.L    A3,A0
  618.     MOVE.L    #$AAAAAAAA,D0
  619.     MOVE.W    #$1F,D1
  620. lbC00077A    MOVE.L    D0,(A0)+
  621.     DBRA    D1,lbC00077A
  622.     MOVEM.L    (SP)+,D0-D6/A0-A3
  623.     RTS
  624.  
  625. lbC000786    MOVEM.L    D1/D2/A0,-(SP)
  626.     MOVE.L    D0,D1
  627.     LSR.W    #2,D1
  628.     SUBQ.W    #1,D1
  629.     MOVEQ    #0,D0
  630. lbC000792    MOVE.L    (A0)+,D2
  631.     EOR.L    D2,D0
  632.     DBRA    D1,lbC000792
  633.     AND.L    #$55555555,D0
  634.     MOVEM.L    (SP)+,D1/D2/A0
  635.     RTS
  636.  
  637. lbC0007A6    MOVEM.L    D0-D3/A0,-(SP)
  638.     MOVE.L    D0,D3
  639.     LSR.L    #1,D0
  640.     BSR.S    lbC0007BC
  641.     MOVE.L    D3,D0
  642.     BSR.S    lbC0007BC
  643.     BSR.S    lbC0007E8
  644.     MOVEM.L    (SP)+,D0-D3/A0
  645.     RTS
  646.  
  647. lbC0007BC    AND.L    #$55555555,D0
  648.     MOVE.L    D0,D2
  649.     EOR.L    #$55555555,D2
  650.     MOVE.L    D2,D1
  651.     LSL.L    #1,D2
  652.     LSR.L    #1,D1
  653.     BSET    #$1F,D1
  654.     AND.L    D2,D1
  655.     OR.L    D1,D0
  656.     BTST    #0,-1(A0)
  657.     BEQ.S    lbC0007E4
  658.     BCLR    #$1F,D0
  659. lbC0007E4    MOVE.L    D0,(A0)+
  660.     RTS
  661.  
  662. lbC0007E8    MOVE.B    (A0),D0
  663.     BTST    #0,-1(A0)
  664.     BNE.S    lbC0007FE
  665.     BTST    #6,D0
  666.     BNE.S    lbC000804
  667.     BSET    #7,D0
  668.     BRA.S    lbC000802
  669.  
  670. lbC0007FE    BCLR    #7,D0
  671. lbC000802    MOVE.B    D0,(A0)
  672. lbC000804    RTS
  673.  
  674. lbC000806    MOVE.L    (A0)+,D0
  675.     MOVE.L    (A0)+,D1
  676.     AND.L    #$55555555,D0
  677.     AND.L    #$55555555,D1
  678.     LSL.L    #1,D0
  679.     OR.L    D1,D0
  680.     RTS
  681.  
  682. lbC00081C    MOVE.W    D0,D6
  683.     LSL.W    #2,D6
  684.     OR.W    #8,D6
  685.     BTST    #6,2(A6)
  686. lbC00082A    BTST    #6,2(A6)
  687.     BNE.S    lbC00082A
  688.     MOVE.L    #$FFFFFFFF,$44(A6)
  689.     MOVEQ    #0,D7
  690.     MOVE.W    D7,$62(A6)
  691.     MOVE.W    D7,$64(A6)
  692.     MOVE.W    D7,$66(A6)
  693.     MOVE.W    #$5555,$70(A6)
  694.     MOVE.L    A0,$4C(A6)
  695.     MOVE.L    A0,$50(A6)
  696.     MOVE.L    A1,$54(A6)
  697.     MOVE.W    #$1DB1,$40(A6)
  698.     MOVE.W    #0,$42(A6)
  699.     MOVE.W    D6,$58(A6)
  700.     BTST    #6,2(A6)
  701. lbC000870    BTST    #6,2(A6)
  702.     BNE.S    lbC000870
  703.     MOVE.L    A1,$4C(A6)
  704.     MOVE.L    A0,$50(A6)
  705.     MOVE.L    A1,$54(A6)
  706.     MOVE.W    #$2D8C,$40(A6)
  707.     MOVE.W    D6,$58(A6)
  708.     BTST    #6,2(A6)
  709. lbC000894    BTST    #6,2(A6)
  710.     BNE.S    lbC000894
  711.     MOVE.L    A0,D1
  712.     MOVE.L    A1,D2
  713.     ADD.L    D0,D1
  714.     SUBQ.L    #2,D1
  715.     ADD.L    D0,D2
  716.     ADD.L    D0,D2
  717.     SUBQ.L    #2,D2
  718.     MOVE.L    D1,$4C(A6)
  719.     MOVE.L    D1,$50(A6)
  720.     MOVE.L    D2,$54(A6)
  721.     MOVE.W    #$DB1,$40(A6)
  722.     MOVE.W    #$1002,$42(A6)
  723.     MOVE.W    D6,$58(A6)
  724.     BTST    #6,2(A6)
  725. lbC0008CC    BTST    #6,2(A6)
  726.     BNE.S    lbC0008CC
  727.     MOVE.L    A1,D1
  728.     ADD.L    D0,D1
  729.     MOVE.L    D1,$4C(A6)
  730.     MOVE.L    A0,$50(A6)
  731.     MOVE.L    D1,$54(A6)
  732.     MOVE.W    #$1D8C,$40(A6)
  733.     MOVE.W    #0,$42(A6)
  734.     MOVE.W    D6,$58(A6)
  735.     BTST    #6,2(A6)
  736. lbC0008FA    BTST    #6,2(A6)
  737.     BNE.S    lbC0008FA
  738.     MOVE.L    D0,D1
  739.     MOVE.L    A1,A0
  740.     BSR    lbC000918
  741.     ADD.L    D1,A0
  742.     BSR    lbC000918
  743.     ADD.L    D1,A0
  744.     BSR    lbC000918
  745.     RTS
  746.  
  747. lbC000918    MOVE.B    (A0),D0
  748.     BCLR    #7,D0
  749.     BTST    #6,D0
  750.     BNE    lbC000934
  751.     BTST    #0,-1(A0)
  752.     BNE    lbC000934
  753.     BSET    #7,D0
  754. lbC000934    MOVE.B    D0,(A0)
  755.     RTS
  756.  
  757. lbC000938    MOVE.W    D0,D6
  758.     LSL.W    #2,D6
  759.     OR.W    #8,D6
  760.     BTST    #6,2(A6)
  761. lbC000946    BTST    #6,2(A6)
  762.     BNE.S    lbC000946
  763.     MOVE.L    #$FFFFFFFF,$44(A6)
  764.     MOVEQ    #0,D7
  765.     MOVE.W    D7,$62(A6)
  766.     MOVE.W    D7,$64(A6)
  767.     MOVE.W    D7,$66(A6)
  768.     MOVE.W    #$5555,$70(A6)
  769.     ADD.L    D0,A0
  770.     SUBQ.L    #1,A0
  771.     MOVE.L    A0,$50(A6)
  772.     ADD.L    D0,A0
  773.     MOVE.L    A0,$4C(A6)
  774.     ADD.L    D0,A1
  775.     SUBQ.L    #1,A1
  776.     MOVE.L    A1,$54(A6)
  777.     MOVE.W    #$1DD8,$40(A6)
  778.     MOVE.W    #2,$42(A6)
  779.     MOVE.W    D6,$58(A6)
  780.     BTST    #6,2(A6)
  781. lbC000996    BTST    #6,2(A6)
  782.     BNE.S    lbC000996
  783.     RTS
  784.  
  785. lbC0009A0    LEA    0(A0,D0.W),A2
  786.     LSR.W    #2,D0
  787.     SUBQ.W    #1,D0
  788. lbC0009A8    MOVE.L    (A0)+,D1
  789.     MOVE.L    (A2)+,D2
  790.     AND.L    #$55555555,D1
  791.     AND.L    #$55555555,D2
  792.     ADD.L    D1,D1
  793.     OR.L    D2,D1
  794.     MOVE.L    D1,(A1)+
  795.     DBRA    D0,lbC0009A8
  796.     RTS
  797.  
  798. lbC0009C4    LEA    0(A0,D0.W),A2
  799.     SUBQ.W    #1,D0
  800. lbC0009CA    MOVE.B    (A0)+,D1
  801.     MOVE.B    (A2)+,D2
  802.     AND.B    #$55,D1
  803.     AND.B    #$55,D2
  804.     ADD.B    D1,D1
  805.     OR.B    D2,D1
  806.     MOVE.B    D1,(A1)+
  807.     DBRA    D0,lbC0009CA
  808.     RTS
  809.     end
  810.