home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD1.iso / Source / pheno.lha / pha / ExtraSnabb.s < prev    next >
Encoding:
Text File  |  1987-12-17  |  13.0 KB  |  560 lines

  1. ;------------------------------------------------------------------------
  2. ;-                                    -
  3. ;-                 Vector-Stars                -
  4. ;-                                    -
  5. ;------------------------------------------------------------------------
  6.  
  7. org    $20000
  8. load    $20000
  9.  
  10. >EXTERN        'Perspektiv',Per
  11. >EXTERN        'VectorBob.RB',Bob
  12.  
  13. ;------------------------------------------------------------------------
  14.  
  15. S:        movem.l    d0-d7/a0-a6,-(sp)
  16.         lea.l    $dff000,a6
  17.         bsr    Startup
  18.         bsr    InitRutin
  19.         bsr    BlitWait
  20.         bsr    StartCop
  21.         bsr    MainLoop
  22.         bsr    RestoreCop
  23.         movem.l    (sp)+,d0-d7/a0-a6
  24.         rts
  25.  
  26. Startup:    move.w    2(a6),d0
  27.         bset    #15,d0
  28.         move.w    d0,OldDma
  29.         move.w    $1c(a6),d0
  30.         bset    #15,d0
  31.         move.w    d0,OldIrq
  32.         move.l    $4,a6
  33.         lea.l    Lib(pc),a1
  34.         moveq    #0,d0
  35.         jsr    -408(a6)
  36.         move.l    d0,a0
  37.         move.l    $26(a0),OldCop
  38.         lea.l    $dff000,a6
  39.         rts
  40.  
  41. StartCop:    move.l    #CopperList,$80(a6)
  42.         tst.w    $88(a6)
  43.         move.w    #$7fff,$96(a6)
  44.         move.w    #$87c0,$96(a6)
  45.         move.w    #$7fff,$9a(a6)
  46.         move.w    #$c000,$9a(a6)
  47.         rts
  48.  
  49. RestoreCop:    move.l    OldCop(pc),$80(a6)
  50.         tst.w    $88(a6)
  51.         move.w    OldDma(pc),$96(a6)
  52.         move.w    OldIrq(pc),$9a(a6)
  53.         rts
  54.  
  55.     ;-----------------------------------------------------
  56.         OldCop:        dc.l    0
  57.         OldDma:        dc.w    0
  58.         OldIrq:        dc.w    0
  59.         Lib:        dc.b    'graphics.library',0
  60.                 even
  61.     ;-----------------------------------------------------
  62.  
  63. ;------------------------------------------------------------------------
  64.  
  65. BlitWait:    btst    #14,2(a6)
  66.         bne.S    BlitWait
  67.         rts
  68.  
  69. ClearScreen:    bsr.S    BlitWait
  70.         move.l    #-1,$44(a6)
  71.         move.l    #$01000000,$40(a6)
  72.         move.w    d2,$66(a6)
  73.         move.l    d0,$54(a6)
  74.         move.w    d1,$58(a6)
  75.         rts
  76.  
  77. ;------------------------------------------------------------------------
  78.  
  79. InitRutin:    move.l    Screen(pc),d0
  80.         move.w    #280*2*64+24,d1
  81.         moveq    #0,d2
  82.         bsr    ClearScreen
  83.         move.l    Screen+4(pc),d0
  84.         bsr    ClearScreen
  85.  
  86.         lea.l    Cols+2(pc),a0
  87.         lea.l    Bob,a1
  88.         moveq    #8-1,d7
  89. CLoop:        move.w    (a1)+,(a0)
  90.         addq.l    #4,a0
  91.         dbra    d7,CLoop
  92.         move.l    a1,BobAdr
  93.  
  94.         lea.l    MulsList,a0
  95.         moveq    #0,d0
  96.         move.w    #300-1,d7
  97. MulsLoop:    move.w    d0,(a0)+
  98.         add.w    #44*3,d0
  99.         dbra    d7,MulsLoop
  100.         moveq    #0,d0
  101.         move.w    #300,d7
  102. AndLoop:    move.w    d0,d1
  103.         move.w    d1,d2
  104.         lsr.w    #3,d1
  105.         and.w    #$f,d2
  106.         ror.w    #4,d2
  107.         move.w    d1,(a0)+
  108.         move.w    d2,(a0)+
  109.         addq.w    #1,d0
  110.         dbf    d7,AndLoop
  111.  
  112.         move.l    #BobAdress,d0
  113.         move.l    #MaskAdr,d1
  114.         move.l    BobAdr(pc),d2
  115.         move.l    d2,d3
  116.         add.l    #15*2*3,d3
  117.         bsr.L    BlitWait
  118.         move.l    #-1,$44(a6)
  119.         clr.l    $64(a6)
  120.         move.l    #$09f00000,$40(a6)
  121.         move.w    #150-1,d7
  122. BobLoop1:    btst    #14,$2(a6)
  123.         bne.S    BobLoop1
  124.         move.l    d0,$54(a6)
  125.         move.l    d2,$50(a6)
  126.         move.w    #15*64*3+1,$58(a6)
  127.         add.l    #15*2*3,d0
  128.         dbf    d7,BobLoop1
  129.         move.w    #150-1,d7
  130. BobLoop2:    btst    #14,$2(a6)
  131.         bne.S    BobLoop2
  132.         move.l    d1,$54(a6)
  133.         move.l    d3,$50(a6)
  134.         move.w    #15*64*3+1,$58(a6)
  135.         add.l    #15*2*3,d1
  136.         dbf    d7,BobLoop2
  137.         lea    MainList(pc),a1
  138.         moveq    #0,d0
  139.         move.w    #300-1,d7
  140. CLLoop:        move.l    a1,(a1)+
  141.         move.l    d0,(a1)+
  142.         dbra    d7,CLLoop
  143.         rts
  144.  
  145. MulsList:    =    $6d000
  146. BobAdress:    =    $67000
  147. MaskAdr:    =    $77000
  148.  
  149. ;------------------------------------------------------------------------
  150.  
  151. MainLoop:    cmp.b    #-1,$6(a6)
  152.         bne.S    MainLoop
  153.  
  154.         move.w    #$4,$180(a6)
  155.         bsr    VectorBobs
  156.         move.w    #$40,$180(a6)
  157.  
  158.         btst    #6,$bfe001
  159.         bne.S    MainLoop
  160.         rts
  161.  
  162. ;------------------------------------------------------------------------
  163.  
  164. Vectorbobs:    bsr    Buffra
  165.         bsr    Rensa
  166.         bsr    VinkelAdd
  167.         ;move.w    #$060,$180(a6)
  168.         bsr    Rakna
  169.         ;move.w    #$006,$180(a6)
  170.         bsr    Sortera
  171.         ;move.w    #$600,$180(a6)
  172.         bsr    Plotta
  173.         ;move.w    #$060,$180(a6)
  174.         rts
  175.  
  176. Sortera:    lea    Posses+4(pc),a0
  177.         lea    ExtraList(pc),a2
  178.         lea    MainList+[300*8+4](pc),a1
  179.         moveq    #0,d0
  180.         move.w    #300,d4
  181.         move.w    AntBobs(pc),d7
  182. SortLoop:    move.w    (a0),d0
  183.         lsl.w    #3,d0
  184.         move.l    a1,a3
  185.         sub.l    d0,a3
  186.         tst.w    (a3)
  187.         bne.S    UseExtra
  188.         move.l    -4(a0),(a3)
  189.         addq.l    #6,a0
  190.         dbra    d7,SortLoop
  191.         rts
  192. UseExtra:    move.l    -4(a3),(a2)
  193.         move.l    a2,-4(a3)
  194.         move.l    -4(a0),4(a2)
  195.         addq.l    #8,a2
  196.         addq.l    #6,a0
  197.         dbra    d7,SortLoop
  198.         rts
  199.  
  200. Buffra:        move.l    Screen(pc),d0
  201.         move.l    Screen+4(pc),Screen
  202.         move.l    d0,Screen+4
  203.         lea.l    BMap(pc),a0
  204.         moveq    #3-1,d7
  205. BMapLoop:    swap    d0
  206.         move.w    d0,2(a0)
  207.         swap    d0
  208.         move.w    d0,6(a0)
  209.         addq.l    #8,a0
  210.         add.l    #44,d0
  211.         dbra    d7,BMapLoop
  212.         rts
  213.  
  214. Rensa:        move.l    Screen(pc),d0
  215.         moveq    #44-40,d2
  216.         move.w    #200*64*3+20,d1
  217.         bsr    ClearScreen
  218.         rts
  219.  
  220. VinkelAdd:    lea.l    Vinklar(pc),a0
  221.         lea.l    VAdds(pc),a1
  222.         move.w    #720,d1
  223.         moveq    #3-1,d7
  224. VAddLoop:    move.w    (a0),d0
  225.         add.w    (a1)+,d0
  226.         cmp.w    d1,d0
  227.         bls.S    Nothing
  228.         sub.w    d1,d0
  229. Nothing:    move.w    d0,(a0)+
  230.         dbra    d7,VAddLoop
  231.         rts
  232.  
  233. Rakna:        lea.l    Sinus+180(pc),a1
  234.         lea.l    Sinus(pc),a2
  235.         lea.l    Vinklar(pc),a3
  236.         lea.l    Posses(pc),a4
  237.         lea.l    Per,a5
  238.  
  239.         lea.l    CalcUp(pc),a6
  240.         move.w    (a3),d0
  241.         move.w    (a1,d0.W),(a6)+
  242.         move.w    (a2,d0.W),(a6)+
  243.         move.w    4(a3),d0
  244.         move.w    (a1,d0.W),(a6)+
  245.         move.w    (a2,d0.W),(a6)+
  246.         move.w    2(a3),d0
  247.         move.w    (a1,d0.W),(a6)+
  248.         move.w    (a2,d0.W),(a6)+
  249.  
  250.         lea.l    CalcUp(pc),a1
  251.         lea.l    MulsList,a6
  252.         move.l    a7,SPSave
  253.         lea.l    ObjX(pc),a0
  254.         lea.l    ObjY(pc),a2
  255.         lea.l    ObjZ(pc),a7
  256.         move.w    AntBobs,d7
  257.  
  258. RakneLoop:    move.w    (a1)+,d1
  259.         move.w    (a1)+,d2
  260.         move.w    (a2),d3
  261.         muls    d2,d3
  262.         move.w    (a7),d4
  263.         muls    d1,d4
  264.         sub.l    d4,d3
  265.         lsl.l    #2,d3
  266.         swap    d3        ;Y
  267.         muls    (a2)+,d1
  268.         muls    (a7)+,d2
  269.         add.l    d1,d2
  270.         lsl.l    #2,d2
  271.         swap    d2        ;Z
  272.  
  273.         move.w    (a1)+,d1
  274.         move.w    (a1)+,d4
  275.         move.w    (a0),d5
  276.         muls    d4,d5
  277.         move.w    d3,d6
  278.         muls    d1,d6
  279.         sub.l    d6,d5
  280.         lsl.l    #2,d5
  281.         swap    d5        ;X
  282.         muls    (a0)+,d1
  283.         muls    d4,d3
  284.         add.l    d1,d3
  285.         lsl.l    #2,d3
  286.         swap    d3        ;Y
  287.  
  288.         move.w    (a1)+,d1
  289.         move.w    (a1)+,d4
  290.         move.w    d5,d0
  291.         muls    d4,d0
  292.         move.w    d2,d6
  293.         muls    d1,d6
  294.         sub.l    d6,d0
  295.         lsl.l    #2,d0
  296.         swap    d0        ;X
  297.         muls    d1,d5
  298.         muls    d4,d2
  299.         add.l    d5,d2
  300.         lsl.l    #2,d2
  301.         swap    d2        ;Z
  302.  
  303.         add.w    (a1)+,d2
  304.         add.w    d2,d2
  305.         move.w    (a5,d2.W),d4
  306.         lsr.w    #1,d2
  307.         muls    d4,d0
  308.         muls    d4,d3
  309.         moveq    #5,d6
  310.         lsl.l    d6,d0
  311.         lsl.l    d6,d3
  312.         swap    d0
  313.         swap    d3
  314.         add.w    (a1)+,d0
  315.         add.w    (a1)+,d3
  316.         add.w    d3,d3
  317.         move.w    (a6,d3.W),d3
  318.         lsl.w    #2,d0
  319.         add.w    (a6,d0.W),d3
  320.         move.w    d3,(a4)+
  321.         move.w    2(a6,d0.W),(a4)+
  322.         move.w    d2,(a4)+
  323.         lea    -18(a1),a1
  324.         dbra    d7,RakneLoop
  325.  
  326.         lea.l    $dff000,a6
  327.         move.l    SPSave(pc),a7
  328.         rts
  329.  
  330. SPSave:        dc.l    0
  331.  
  332. Plotta:        lea    MainList+4(pc),a0
  333.         move.l    Screen(pc),d0
  334.         move.w    #15*64*3+2,d4
  335.         move.w    #$fca,d6
  336.  
  337.         bsr    BlitWait
  338.         move.l    #$ffff0000,$44(a6)
  339.         move.w    #2-4,$62(a6)
  340.         move.w    #2-4,$64(a6)
  341.         move.w    #44-4,$60(a6)
  342.         move.w    #44-4,$66(a6)
  343.         move.l    d0,$48(a6)
  344.         move.l    d0,$54(a6)
  345.         move.l    #BobAdress,$4c(a6)
  346.         move.l    #MaskAdr,$50(a6)
  347.  
  348.         lea.l    $40(a6),a1
  349.         lea.l    $42(a6),a3
  350.         lea.l    $4a(a6),a2
  351.         lea.l    $56(a6),a5
  352.         lea    ExtraList(pc),a6
  353.         move.l    a7,SPSave
  354.         move.l    a0,a7
  355.  
  356.         move.w    #300-1,d7
  357.  
  358. PlotLoop:    tst.w    (a0)
  359.         beq.S    NoBobby
  360.         subq.l    #4,a0
  361.         move.l    a0,a7
  362. JumpIn:        move.w    4(a0),d3
  363.         move.w    6(a0),d5
  364.         move.w    d5,(a3)
  365.         add.w    d6,d5
  366.         move.w    d5,(a1)
  367.         move.w    d3,(a2)
  368.         movem.w    d3-d4,(a5)
  369.         clr.l    4(a0)
  370.         cmp.l    (a0),a7
  371.         beq.S    NoBobby2
  372.         move.l    (a0),a0
  373.         bra.S    JumpIn
  374. NoBobby2:    move.l    a7,a0
  375.         move.l    a0,(a0)
  376.         addq.l    #4,a0
  377. NoBobby:    addq.l    #8,a0
  378.         dbra    d7,PlotLoop
  379.         lea.l    $dff000,a6
  380.         move.l    SPSave(pc),a7
  381.         rts
  382.  
  383.     ;--------------------------------------------------
  384.  
  385.         Screen:        dc.l    $60000
  386.                 dc.l    $70000
  387.  
  388.         BMapSize:    =    280*44
  389.  
  390.         Posses:        blk.w    400*3,0
  391.         MainList:    blk.l    300*2,0
  392.         ExtraList:    blk.l    300*2,0
  393.         CalcUp:        blk.w    3*2,0
  394.                 dc.w    150,326,100
  395.         BobAdr:        dc.l    0
  396.  
  397.         Vinklar:    dc.w    0
  398.                 dc.w    0
  399.                 dc.w    0
  400.  
  401.         VAdds:        dc.w    4
  402.                 dc.w    6
  403.                 dc.w    8
  404.  
  405.     ;--------------------------------------------------
  406.  
  407. ObjX:
  408. dc.w    -90,-70,-50,-30,-10,10,30,50,70,90
  409. dc.w    -90,-70,-50,-30,-10,10,30,50,70,90
  410. dc.w    -90,-70,-50,-30,-10,10,30,50,70,90
  411. dc.w    -90,-70,-50,-30,-10,10,30,50,70,90
  412. dc.w    -90,-70,-50,-30,-10,10,30,50,70,90
  413. dc.w    -90,-70,-50,-30,-10,10,30,50,70,90
  414. dc.w    -90,-70,-50,-30,-10,10,30,50,70,90
  415. dc.w    -90,-70,-50,-30,-10,10,30,50,70,90
  416. dc.w    -90,-70,-50,-30,-10,10,30,50,70,90
  417. dc.w    -90,-70,-50,-30,-10,10,30,50,70,90
  418. dc.w    -90,-70,-50,-30,-10,10,30,50,70,90
  419.  
  420. ObjY:
  421. blk.w    10,-90
  422. blk.w    10,-70
  423. blk.w    10,-50
  424. blk.w    10,-30
  425. blk.w    10,-10
  426. blk.w    10,10
  427. blk.w    10,30
  428. blk.w    10,50
  429. blk.w    10,70
  430. blk.w    10,90
  431. blk.w    10,0
  432.  
  433. ObjZ:
  434. blk.w    10,-33
  435. blk.w    10,-20
  436. blk.w    10,-10
  437. blk.w    10,-5
  438. blk.w    10,0
  439. blk.w    10,-5
  440. blk.w    10,-10
  441. blk.w    10,-20
  442. blk.w    10,-33
  443. blk.w    10,-50
  444. blk.w    10,-70
  445.  
  446. AntBobs:    dc.w    110-1
  447.  
  448. ;------------------------------------------------------------------------
  449.  
  450. CopperList:    dc.l    $008e4866,$009010c6,$00920030,$009400d8
  451.         dc.l    $01020000,$01040000,$01080058,$010a0058
  452.  
  453. Cols:        dc.l    $01800000,$01820000,$01840000,$01860000
  454.         dc.l    $01880000,$018a0000,$018c0000,$018e0000
  455. BMap:        dc.l    $00e00000,$00e20000,$00e40000,$00e60000
  456.         dc.l    $00e80000,$00ea0000
  457.         dc.l    $01003000
  458.  
  459.         dc.l    -2
  460.  
  461. ;------------------------------------------------------------------------
  462.  
  463. Per:        =    $30000
  464. Bob:        =    $33000
  465.  
  466. Sinus:    dc.w    16384,16382,16374,16362,16344,16322,16294,16262
  467.     dc.w    16225,16182,16135,16083,16026,15964,15897,15826
  468.     dc.w    15749,15668,15582,15491,15396,15296,15191,15082
  469.     dc.w    14967,14849,14726,14598,14466,14330,14189,14044
  470.     dc.w    13894,13741,13583,13421,13255,13085,12911,12733
  471.     dc.w    12551,12365,12176,11982,11786,11585,11381,11174
  472.     dc.w    10963,10749,10531,10311,10087,9860,9630,9397
  473.     dc.w    9162,8923,8682,8438,8192,7943,7692,7438
  474.     dc.w    7182,6924,6664,6401,6137,5871,5603,5334
  475.     dc.w    5063,4790,4516,4240,3963,3685,3406,3126
  476.     dc.w    2845,2563,2280,1996,1712,1427,1142,857
  477.     dc.w    571,285,0,-285,-571,-857,-1142,-1428
  478.     dc.w    -1712,-1996,-2280,-2563,-2845,-3126,-3406,-3685
  479.     dc.w    -3963,-4240,-4516,-4790,-5063,-5334,-5603,-5871
  480.     dc.w    -6137,-6401,-6664,-6924,-7182,-7438,-7692,-7943
  481.     dc.w    -8192,-8438,-8682,-8923,-9162,-9397,-9630,-9860
  482.     dc.w    -10087,-10311,-10531,-10749,-10963,-11174,-11381,-11585
  483.     dc.w    -11786,-11982,-12176,-12365,-12551,-12733,-12911,-13085
  484.     dc.w    -13255,-13421,-13583,-13741,-13894,-14044,-14189,-14330
  485.     dc.w    -14466,-14598,-14726,-14849,-14967,-15082,-15191,-15296
  486.     dc.w    -15396,-15491,-15582,-15668,-15749,-15826,-15897,-15964
  487.     dc.w    -16026,-16083,-16135,-16182,-16225,-16262,-16294,-16322
  488.     dc.w    -16344,-16362,-16374,-16382,-16384,-16382,-16374,-16362
  489.     dc.w    -16344,-16322,-16294,-16262,-16225,-16182,-16135,-16083
  490.     dc.w    -16026,-15964,-15897,-15826,-15749,-15668,-15582,-15491
  491.     dc.w    -15396,-15296,-15191,-15082,-14968,-14849,-14726,-14598
  492.     dc.w    -14466,-14330,-14189,-14044,-13894,-13741,-13583,-13421
  493.     dc.w    -13255,-13085,-12911,-12733,-12551,-12365,-12176,-11982
  494.     dc.w    -11786,-11585,-11381,-11174,-10963,-10749,-10531,-10311
  495.     dc.w    -10087,-9860,-9630,-9397,-9162,-8923,-8682,-8438
  496.     dc.w    -8192,-7943,-7692,-7438,-7182,-6924,-6664,-6402
  497.     dc.w    -6137,-5871,-5604,-5334,-5063,-4790,-4516,-4240
  498.     dc.w    -3963,-3685,-3406,-3126,-2845,-2563,-2280,-1996
  499.     dc.w    -1712,-1428,-1143,-857,-572,-286,0,285
  500.     dc.w    571,857,1142,1427,1712,1996,2280,2562
  501.     dc.w    2844,3126,3406,3685,3963,4240,4515,4790
  502.     dc.w    5062,5334,5603,5871,6137,6401,6663,6924
  503.     dc.w    7182,7438,7691,7943,8192,8438,8682,8923
  504.     dc.w    9161,9397,9630,9860,10087,10310,10531,10748
  505.     dc.w    10963,11173,11381,11585,11785,11982,12175,12365
  506.     dc.w    12551,12732,12910,13085,13255,13421,13583,13740
  507.     dc.w    13894,14044,14189,14330,14466,14598,14726,14849
  508.     dc.w    14967,15081,15191,15296,15396,15491,15582,15668
  509.     dc.w    15749,15826,15897,15964,16026,16083,16135,16182
  510.     dc.w    16224,16262,16294,16322,16344,16361,16374,16382
  511.  
  512.     dc.w    16384,16382,16374,16362,16344,16322,16294,16262
  513.     dc.w    16225,16182,16135,16083,16026,15964,15897,15826
  514.     dc.w    15749,15668,15582,15491,15396,15296,15191,15082
  515.     dc.w    14967,14849,14726,14598,14466,14330,14189,14044
  516.     dc.w    13894,13741,13583,13421,13255,13085,12911,12733
  517.     dc.w    12551,12365,12176,11982,11786,11585,11381,11174
  518.     dc.w    10963,10749,10531,10311,10087,9860,9630,9397
  519.     dc.w    9162,8923,8682,8438,8192,7943,7692,7438
  520.     dc.w    7182,6924,6664,6401,6137,5871,5603,5334
  521.     dc.w    5063,4790,4516,4240,3963,3685,3406,3126
  522.     dc.w    2845,2563,2280,1996,1712,1427,1142,857
  523.     dc.w    571,285,0,-285,-571,-857,-1142,-1428
  524.     dc.w    -1712,-1996,-2280,-2563,-2845,-3126,-3406,-3685
  525.     dc.w    -3963,-4240,-4516,-4790,-5063,-5334,-5603,-5871
  526.     dc.w    -6137,-6401,-6664,-6924,-7182,-7438,-7692,-7943
  527.     dc.w    -8192,-8438,-8682,-8923,-9162,-9397,-9630,-9860
  528.     dc.w    -10087,-10311,-10531,-10749,-10963,-11174,-11381,-11585
  529.     dc.w    -11786,-11982,-12176,-12365,-12551,-12733,-12911,-13085
  530.     dc.w    -13255,-13421,-13583,-13741,-13894,-14044,-14189,-14330
  531.     dc.w    -14466,-14598,-14726,-14849,-14967,-15082,-15191,-15296
  532.     dc.w    -15396,-15491,-15582,-15668,-15749,-15826,-15897,-15964
  533.     dc.w    -16026,-16083,-16135,-16182,-16225,-16262,-16294,-16322
  534.     dc.w    -16344,-16362,-16374,-16382,-16384,-16382,-16374,-16362
  535.     dc.w    -16344,-16322,-16294,-16262,-16225,-16182,-16135,-16083
  536.     dc.w    -16026,-15964,-15897,-15826,-15749,-15668,-15582,-15491
  537.     dc.w    -15396,-15296,-15191,-15082,-14968,-14849,-14726,-14598
  538.     dc.w    -14466,-14330,-14189,-14044,-13894,-13741,-13583,-13421
  539.     dc.w    -13255,-13085,-12911,-12733,-12551,-12365,-12176,-11982
  540.     dc.w    -11786,-11585,-11381,-11174,-10963,-10749,-10531,-10311
  541.     dc.w    -10087,-9860,-9630,-9397,-9162,-8923,-8682,-8438
  542.     dc.w    -8192,-7943,-7692,-7438,-7182,-6924,-6664,-6402
  543.     dc.w    -6137,-5871,-5604,-5334,-5063,-4790,-4516,-4240
  544.     dc.w    -3963,-3685,-3406,-3126,-2845,-2563,-2280,-1996
  545.     dc.w    -1712,-1428,-1143,-857,-572,-286,0,285
  546.     dc.w    571,857,1142,1427,1712,1996,2280,2562
  547.     dc.w    2844,3126,3406,3685,3963,4240,4515,4790
  548.     dc.w    5062,5334,5603,5871,6137,6401,6663,6924
  549.     dc.w    7182,7438,7691,7943,8192,8438,8682,8923
  550.     dc.w    9161,9397,9630,9860,10087,10310,10531,10748
  551.     dc.w    10963,11173,11381,11585,11785,11982,12175,12365
  552.     dc.w    12551,12732,12910,13085,13255,13421,13583,13740
  553.     dc.w    13894,14044,14189,14330,14466,14598,14726,14849
  554.     dc.w    14967,15081,15191,15296,15396,15491,15582,15668
  555.     dc.w    15749,15826,15897,15964,16026,16083,16135,16182
  556.     dc.w    16224,16262,16294,16322,16344,16361,16374,16382
  557.  
  558.  
  559.  
  560.