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

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