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