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

  1. ;------------------------------------------------------------------------
  2. ;-                                    -
  3. ;-                 Vector-Stars                -
  4. ;-                                    -
  5. ;------------------------------------------------------------------------
  6.  
  7. org    $20000
  8. load    $20000
  9.  
  10. >EXTERN        'Perspektiv',Per
  11.  
  12. AntBars:    =    14
  13.  
  14. ;------------------------------------------------------------------------
  15.  
  16. S:        movem.l    d0-d7/a0-a6,-(sp)
  17.         lea.l    $dff000,a6
  18.         bsr    Startup
  19.         bsr    InitRutin
  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    CopAdr(pc),a0
  80.         move.l    CopAdr+4(pc),a1
  81.         lea.l    CopperList(pc),a2
  82. MLoop:        move.l    (a2),(a0)+
  83.         move.l    (a2)+,(a1)+
  84.         cmp.l    #-2,(a2)
  85.         bne.S    MLoop
  86.  
  87.         move.l    a0,d0
  88.         sub.l    CopAdr,d0
  89.         move.l    d0,CopAdd
  90.  
  91.         move.l    #$2007fffe,d0
  92.         move.l    #$01800000,d1
  93.         move.l    #$20ddfffe,d2
  94.         move.l    #$01000000,d3
  95.         move.w    #280-1,d7
  96. MLoop2:        move.l    d0,(a0)+
  97.         move.l    d0,(a1)+
  98.         move.l    d1,(a0)+
  99.         move.l    d1,(a1)+
  100.         move.l    d2,(a0)+
  101.         move.l    d2,(a1)+
  102.         add.l    d3,d0
  103.         add.l    d3,d2
  104.         dbra    d7,MLoop2
  105.         move.l    #-2,(a0)+
  106.         move.l    #-2,(a1)+
  107.  
  108.         lea.l    Sinus(pc),a0
  109.         lea.l    SinAdr,a1
  110.         move.w    #300-1,d7
  111. SLoop1:        move.w    (a0)+,d0
  112.         lsr.w    #1,d0
  113.         move.w    d0,(a1)+
  114.         dbra    d7,SLoop1
  115.         lea.l    SinAdr,a0
  116.         move.w    #300*9,d7
  117. SLoop2:        move.w    (a0)+,(a1)+
  118.         dbra    d7,SLoop2
  119.  
  120.         lea    MulsList,a0
  121.         moveq    #0,d0
  122.         move.w    #300-1,d7
  123. MLoop3:        move.w    d0,(a0)+
  124.         add.w    #12,d0
  125.         dbra    d7,MLoop3
  126.         rts
  127.  
  128. CopAdr:        dc.l    $60000
  129.         dc.l    $70000
  130. SinAdr:        =    $75000
  131. MulsList:    =    $7a000
  132.  
  133. CopAdd:        dc.l    0
  134.  
  135. ;------------------------------------------------------------------------
  136.  
  137. MainLoop:    cmp.b    #-1,$6(a6)
  138.         bne.S    MainLoop
  139. MainLoop2:    cmp.b    #$38,$6(a6)
  140.         bne.S    MainLoop2
  141.  
  142.         ;move.w    #$ff,$180(a6)
  143.         bsr    Bars
  144.         ;move.w    #$fff,$180(a6)
  145.  
  146.         btst    #6,$bfe001
  147.         bne.S    MainLoop
  148.         rts
  149.  
  150. ;------------------------------------------------------------------------
  151.  
  152. Bars:        bsr    Buffra
  153.         bsr    Rensa
  154.         bsr    NewSin
  155.         bsr    CalcPosses
  156.         bsr    Sortera
  157.         bsr    Blitta
  158.         rts
  159.  
  160. Sortera:    lea.l    Posses+2(pc),a0
  161.         lea.l    Posses2(pc),a1
  162.         moveq    #4,d6
  163.         moveq    #0,d2
  164.         move.w    #AntBars-1,d7
  165.         move.w    -2(a0),(a1)
  166.         move.w    (a0),2(a1)
  167.         move.w    (a0),d2
  168.         addq.l    #4,a0
  169.         subq.w    #1,d7
  170.  
  171.         bsr    BlitWait
  172.         move.l    #-1,$44(a6)
  173.         move.l    #$09f00002,$40(a6)
  174.         clr.l    $64(a6)
  175.         move.l    a1,$50(a6)
  176.         move.l    a1,$54(a6)
  177.  
  178. SortLoop:    move.w    (a0),d0
  179.         move.w    d6,d5
  180.         move.l    a1,a2
  181.         addq.w    #2,a2
  182.         cmp.w    d0,d2
  183.         blo.S    NoLow
  184.         move.w    -2(a0),(a1,d6.W)
  185.         addq.w    #2,d6
  186.         move.w    d0,(a1,d6.W)
  187.         addq.w    #2,d6
  188.         move.w    d0,d2
  189.         bra.S    Next
  190. NoLow:        cmp.w    (a2),d0
  191.         bge.S    MoveIt
  192.         addq.w    #4,a2
  193.         subq.w    #4,d5
  194.         bne.S    NoLow
  195. MoveIt:        move.l    a2,a4
  196.         add.w    d5,a2
  197.         move.l    a2,a3
  198.         addq.w    #4,a3
  199.         lsr.w    #1,d5
  200.         addq.w    #2,d5
  201.         lsl.w    #6,d5
  202.         addq.w    #1,d5
  203.         move.l    a2,$50(a6)
  204.         move.l    a3,$54(a6)
  205.         move.w    d5,$58(a6)
  206. WW:        btst    #14,$2(a6)
  207.         bne.S    WW
  208.         move.w    d0,(a4)
  209.         move.w    -2(a0),-2(a4)
  210.         addq.w    #4,d6
  211. Next:        addq.w    #4,a0
  212.         dbra    d7,SortLoop
  213.         rts
  214.  
  215. Buffra:        move.l    CopAdr(pc),d0
  216.         move.l    CopAdr+4(pc),CopAdr
  217.         move.l    d0,CopAdr+4
  218.         move.l    d0,$80(a6)
  219.         tst.w    $88(a6)
  220.         rts
  221.  
  222. Rensa:        move.l    CopAdr(pc),d0
  223.         add.l    CopAdd(pc),d0
  224.         addq.l    #6,d0
  225.         move.w    #12-2,d2
  226.         move.w    #280*64+1,d1
  227.         bsr    ClearScreen
  228.         rts
  229.  
  230. NewSin:        moveq    #0,d0
  231.         move.w    Oldie(pc),d0
  232.         add.w    #297,d0
  233.         cmp.w    #300,d0
  234.         bls.S    NoD
  235.         sub.w    #300,d0
  236. NoD:        move.w    d0,Oldie
  237.         add.w    d0,d0
  238.         add.l    #SinAdr,d0
  239.         move.l    d0,SinSave
  240.         moveq    #0,d0
  241.         move.w    Oldie2(pc),d0
  242.         addq.w    #2,d0
  243.         cmp.w    #300,d0
  244.         bls.S    NoD2
  245.         sub.w    #300,d0
  246. NoD2:        move.w    d0,Oldie2
  247.         add.w    d0,d0
  248.         add.l    #SinAdr,d0
  249.         move.l    d0,SinSave2
  250.  
  251.         move.w    ZVinkel(pc),d0
  252.         addq.w    #6,d0
  253.         cmp.w    #720,d0
  254.         bls.S    NoV1
  255.         sub.w    #720,d0
  256. NoV1:        move.w    d0,ZVinkel
  257.         rts
  258.  
  259. CalcPosses:    move.l    SinSave(pc),a0
  260.         move.l    SinSave2(pc),a1
  261.         lea.l    VecSin(pc),a2
  262.         lea.l    Posses(pc),a3
  263.         lea.l    MulsList,a4
  264.         lea.l    Per,a5
  265.         move.w    ZVinkel(pc),d0
  266.         move.w    (a2,d0.W),d1
  267.         add.l    #180,a2
  268.         move.w    (a2,d0.W),d0
  269.         move.w    #-200,d2
  270.         move.w    #0,d6
  271.         move.w    #AntBars-1,d7
  272. CalcLoop:    move.w    (a0),d3
  273.         add.w    (a1),d3
  274.         sub.w    #140,d3
  275.         move.w    d1,d4
  276.         muls    d3,d4
  277.         move.w    d0,d5
  278.         muls    d2,d5
  279.         sub.l    d5,d4
  280.         asl.l    #2,d4
  281.         swap    d4        ;Y
  282.         muls    d0,d3
  283.         move.w    d2,d5
  284.         muls    d1,d5
  285.         add.l    d3,d5
  286.         asl.l    #2,d5
  287.         swap    d5        ;Z
  288.         add.w    #300,d5
  289.         move.w    d5,d6
  290.         add.w    d6,d6
  291.         move.w    (a5,d6.W),d6
  292.         muls    d6,d4
  293.         asl.l    #5,d4
  294.         swap    d4
  295.         add.w    #140,d4
  296.         add.w    d4,d4
  297.         move.w    (a4,d4.W),(a3)+
  298.         move.w    d5,(a3)+
  299.         add.w    #32,d2
  300.         add.w    #22,a0
  301.         add.w    #20,a1
  302.         dbra    d7,CalcLoop
  303.         rts
  304.  
  305. Blitta:        move.l    CopAdr(pc),d0
  306.         add.l    CopAdd(pc),d0
  307.         addq.l    #6,d0
  308.         move.l    #Bar,d1
  309.         lea.l    Posses2(pc),a0
  310.         move.w    #16*64+1,d3
  311.         bsr    BlitWait
  312.         move.l    #-1,$44(a6)
  313.         move.l    #$09f00000,$40(a6)
  314.         move.w    #12-2,$66(a6)
  315.         move.w    #0,$64(a6)
  316.         move.l    d0,$54(a6)
  317.         move.l    d1,$50(a6)
  318.         lea.l    $52(a6),a1
  319.         lea.l    $56(a6),a2
  320.         lea.l    $58(a6),a3
  321.         move.w    #AntBars-1,d7
  322.  
  323. BLoop:        move.w    d0,d2
  324.         add.w    (a0),d2
  325.         move.w    d2,(a2)
  326.         move.w    d3,(a3)
  327.         addq.w    #4,a0
  328.         dbra    d7,BLoop
  329.         rts
  330.  
  331. Oldie:        dc.w    0
  332. SinSave:    dc.l    0
  333. Oldie2:        dc.w    0
  334. SinSave2:    dc.l    0
  335.  
  336. ZVinkel:    dc.w    0
  337.  
  338. Posses:        blk.w    AntBars*4,0
  339. Posses2:    blk.w    AntBars*4,0
  340.  
  341. Bar:
  342. dc.w    0,2,4,6,8,10,12,14,14,12,10,8,6,4,2,0
  343. dc.w    0,$22,$44,$66,$88,$aa,$cc,$ee,$ee,$cc,$aa,$88,$66,$44,$22,0
  344. dc.w    0,$20,$40,$60,$80,$a0,$c0,$e0,$e0,$c0,$a0,$80,$60,$40,$20,0
  345. dc.w    0,$220,$440,$660,$880,$aa0,$cc0,$ee0,$ee0,$cc0,$aa0,$880,$660
  346. dc.w    $440,$220,0
  347. dc.w    0,$200,$400,$600,$800,$a00,$c00,$e00,$e00,$c00,$a00,$800,$600
  348. dc.w    $400,$200,0
  349. dc.w    0,$202,$404,$606,$808,$a0a,$c0c,$e0e,$e0e,$c0c,$a0a,$808,$606
  350. dc.w    $404,$202,0
  351. dc.w    0,$222,$444,$666,$888,$aaa,$ccc,$eee,$eee,$ccc,$aaa,$888,$666
  352. dc.w    $444,$222,0
  353. dc.w    0,2,4,6,8,10,12,14,14,12,10,8,6,4,2,0
  354. dc.w    0,$22,$44,$66,$88,$aa,$cc,$ee,$ee,$cc,$aa,$88,$66,$44,$22,0
  355. dc.w    0,$20,$40,$60,$80,$a0,$c0,$e0,$e0,$c0,$a0,$80,$60,$40,$20,0
  356. dc.w    0,$220,$440,$660,$880,$aa0,$cc0,$ee0,$ee0,$cc0,$aa0,$880,$660
  357. dc.w    $440,$220,0
  358. dc.w    0,$200,$400,$600,$800,$a00,$c00,$e00,$e00,$c00,$a00,$800,$600
  359. dc.w    $400,$200,0
  360. dc.w    0,$202,$404,$606,$808,$a0a,$c0c,$e0e,$e0e,$c0c,$a0a,$808,$606
  361. dc.w    $404,$202,0
  362. dc.w    0,$222,$444,$666,$888,$aaa,$ccc,$eee,$eee,$ccc,$aaa,$888,$666
  363. dc.w    $444,$222,0
  364.  
  365. ;------------------------------------------------------------------------
  366.  
  367. CopperList:    dc.l    $008e4866,$009010c6,$00920030,$009400d8
  368.         dc.l    $01020000,$01040000,$01080000,$010a0000
  369.  
  370.         dc.l    $01800000
  371.         dc.l    $01000000
  372.  
  373.         dc.l    -2
  374.  
  375. ;------------------------------------------------------------------------
  376.  
  377. Sinus:    dc.w    240,240,240,240,240,239,239,239
  378.     dc.w    238,238,237,237,236,236,235,234
  379.     dc.w    233,232,232,231,230,229,227,226
  380.     dc.w    225,224,223,221,220,219,217,216
  381.     dc.w    214,212,211,209,207,206,204,202
  382.     dc.w    200,198,196,195,193,191,188,186
  383.     dc.w    184,182,180,178,176,173,171,169
  384.     dc.w    167,164,162,159,157,155,152,150
  385.     dc.w    147,145,142,140,138,135,133,130
  386.     dc.w    128,125,123,120,117,115,112,110
  387.     dc.w    107,105,102,100,98,95,93,90
  388.     dc.w    88,85,83,81,78,76,73,71
  389.     dc.w    69,67,64,62,60,58,56,54
  390.     dc.w    52,49,47,45,44,42,40,38
  391.     dc.w    36,34,33,31,29,28,26,24
  392.     dc.w    23,21,20,19,17,16,15,14
  393.     dc.w    13,11,10,9,8,8,7,6
  394.     dc.w    5,4,4,3,3,2,2,1
  395.     dc.w    1,1,0,0,0,0,0,0
  396.     dc.w    0,0,0,1,1,1,2,2
  397.     dc.w    3,3,4,4,5,6,7,8
  398.     dc.w    8,9,10,11,13,14,15,16
  399.     dc.w    17,19,20,21,23,24,26,28
  400.     dc.w    29,31,33,34,36,38,40,42
  401.     dc.w    44,45,47,49,52,54,56,58
  402.     dc.w    60,62,64,67,69,71,73,76
  403.     dc.w    78,81,83,85,88,90,93,95
  404.     dc.w    98,100,102,105,107,110,112,115
  405.     dc.w    117,120,123,125,128,130,133,135
  406.     dc.w    138,140,142,145,147,150,152,155
  407.     dc.w    157,159,162,164,167,169,171,173
  408.     dc.w    176,178,180,182,184,186,188,191
  409.     dc.w    193,195,196,198,200,202,204,206
  410.     dc.w    207,209,211,212,214,216,217,219
  411.     dc.w    220,221,223,224,225,226,227,229
  412.     dc.w    230,231,232,232,233,234,235,236
  413.     dc.w    236,237,237,238,238,239,239,239
  414.     dc.w    240,240,240,240
  415.  
  416.  
  417. VecSin:    dc.w    16384,16382,16374,16362,16344,16322,16294,16262
  418.     dc.w    16225,16182,16135,16083,16026,15964,15897,15826
  419.     dc.w    15749,15668,15582,15491,15396,15296,15191,15082
  420.     dc.w    14967,14849,14726,14598,14466,14330,14189,14044
  421.     dc.w    13894,13741,13583,13421,13255,13085,12911,12733
  422.     dc.w    12551,12365,12176,11982,11786,11585,11381,11174
  423.     dc.w    10963,10749,10531,10311,10087,9860,9630,9397
  424.     dc.w    9162,8923,8682,8438,8192,7943,7692,7438
  425.     dc.w    7182,6924,6664,6401,6137,5871,5603,5334
  426.     dc.w    5063,4790,4516,4240,3963,3685,3406,3126
  427.     dc.w    2845,2563,2280,1996,1712,1427,1142,857
  428.     dc.w    571,285,0,-285,-571,-857,-1142,-1428
  429.     dc.w    -1712,-1996,-2280,-2563,-2845,-3126,-3406,-3685
  430.     dc.w    -3963,-4240,-4516,-4790,-5063,-5334,-5603,-5871
  431.     dc.w    -6137,-6401,-6664,-6924,-7182,-7438,-7692,-7943
  432.     dc.w    -8192,-8438,-8682,-8923,-9162,-9397,-9630,-9860
  433.     dc.w    -10087,-10311,-10531,-10749,-10963,-11174,-11381,-11585
  434.     dc.w    -11786,-11982,-12176,-12365,-12551,-12733,-12911,-13085
  435.     dc.w    -13255,-13421,-13583,-13741,-13894,-14044,-14189,-14330
  436.     dc.w    -14466,-14598,-14726,-14849,-14967,-15082,-15191,-15296
  437.     dc.w    -15396,-15491,-15582,-15668,-15749,-15826,-15897,-15964
  438.     dc.w    -16026,-16083,-16135,-16182,-16225,-16262,-16294,-16322
  439.     dc.w    -16344,-16362,-16374,-16382,-16384,-16382,-16374,-16362
  440.     dc.w    -16344,-16322,-16294,-16262,-16225,-16182,-16135,-16083
  441.     dc.w    -16026,-15964,-15897,-15826,-15749,-15668,-15582,-15491
  442.     dc.w    -15396,-15296,-15191,-15082,-14968,-14849,-14726,-14598
  443.     dc.w    -14466,-14330,-14189,-14044,-13894,-13741,-13583,-13421
  444.     dc.w    -13255,-13085,-12911,-12733,-12551,-12365,-12176,-11982
  445.     dc.w    -11786,-11585,-11381,-11174,-10963,-10749,-10531,-10311
  446.     dc.w    -10087,-9860,-9630,-9397,-9162,-8923,-8682,-8438
  447.     dc.w    -8192,-7943,-7692,-7438,-7182,-6924,-6664,-6402
  448.     dc.w    -6137,-5871,-5604,-5334,-5063,-4790,-4516,-4240
  449.     dc.w    -3963,-3685,-3406,-3126,-2845,-2563,-2280,-1996
  450.     dc.w    -1712,-1428,-1143,-857,-572,-286,0,285
  451.     dc.w    571,857,1142,1427,1712,1996,2280,2562
  452.     dc.w    2844,3126,3406,3685,3963,4240,4515,4790
  453.     dc.w    5062,5334,5603,5871,6137,6401,6663,6924
  454.     dc.w    7182,7438,7691,7943,8192,8438,8682,8923
  455.     dc.w    9161,9397,9630,9860,10087,10310,10531,10748
  456.     dc.w    10963,11173,11381,11585,11785,11982,12175,12365
  457.     dc.w    12551,12732,12910,13085,13255,13421,13583,13740
  458.     dc.w    13894,14044,14189,14330,14466,14598,14726,14849
  459.     dc.w    14967,15081,15191,15296,15396,15491,15582,15668
  460.     dc.w    15749,15826,15897,15964,16026,16083,16135,16182
  461.     dc.w    16224,16262,16294,16322,16344,16361,16374,16382
  462.  
  463.     dc.w    16384,16382,16374,16362,16344,16322,16294,16262
  464.     dc.w    16225,16182,16135,16083,16026,15964,15897,15826
  465.     dc.w    15749,15668,15582,15491,15396,15296,15191,15082
  466.     dc.w    14967,14849,14726,14598,14466,14330,14189,14044
  467.     dc.w    13894,13741,13583,13421,13255,13085,12911,12733
  468.     dc.w    12551,12365,12176,11982,11786,11585,11381,11174
  469.     dc.w    10963,10749,10531,10311,10087,9860,9630,9397
  470.     dc.w    9162,8923,8682,8438,8192,7943,7692,7438
  471.     dc.w    7182,6924,6664,6401,6137,5871,5603,5334
  472.     dc.w    5063,4790,4516,4240,3963,3685,3406,3126
  473.     dc.w    2845,2563,2280,1996,1712,1427,1142,857
  474.     dc.w    571,285,0,-285,-571,-857,-1142,-1428
  475.     dc.w    -1712,-1996,-2280,-2563,-2845,-3126,-3406,-3685
  476.     dc.w    -3963,-4240,-4516,-4790,-5063,-5334,-5603,-5871
  477.     dc.w    -6137,-6401,-6664,-6924,-7182,-7438,-7692,-7943
  478.     dc.w    -8192,-8438,-8682,-8923,-9162,-9397,-9630,-9860
  479.     dc.w    -10087,-10311,-10531,-10749,-10963,-11174,-11381,-11585
  480.     dc.w    -11786,-11982,-12176,-12365,-12551,-12733,-12911,-13085
  481.     dc.w    -13255,-13421,-13583,-13741,-13894,-14044,-14189,-14330
  482.     dc.w    -14466,-14598,-14726,-14849,-14967,-15082,-15191,-15296
  483.     dc.w    -15396,-15491,-15582,-15668,-15749,-15826,-15897,-15964
  484.     dc.w    -16026,-16083,-16135,-16182,-16225,-16262,-16294,-16322
  485.     dc.w    -16344,-16362,-16374,-16382,-16384,-16382,-16374,-16362
  486.     dc.w    -16344,-16322,-16294,-16262,-16225,-16182,-16135,-16083
  487.     dc.w    -16026,-15964,-15897,-15826,-15749,-15668,-15582,-15491
  488.     dc.w    -15396,-15296,-15191,-15082,-14968,-14849,-14726,-14598
  489.     dc.w    -14466,-14330,-14189,-14044,-13894,-13741,-13583,-13421
  490.     dc.w    -13255,-13085,-12911,-12733,-12551,-12365,-12176,-11982
  491.     dc.w    -11786,-11585,-11381,-11174,-10963,-10749,-10531,-10311
  492.     dc.w    -10087,-9860,-9630,-9397,-9162,-8923,-8682,-8438
  493.     dc.w    -8192,-7943,-7692,-7438,-7182,-6924,-6664,-6402
  494.     dc.w    -6137,-5871,-5604,-5334,-5063,-4790,-4516,-4240
  495.     dc.w    -3963,-3685,-3406,-3126,-2845,-2563,-2280,-1996
  496.     dc.w    -1712,-1428,-1143,-857,-572,-286,0,285
  497.     dc.w    571,857,1142,1427,1712,1996,2280,2562
  498.     dc.w    2844,3126,3406,3685,3963,4240,4515,4790
  499.     dc.w    5062,5334,5603,5871,6137,6401,6663,6924
  500.     dc.w    7182,7438,7691,7943,8192,8438,8682,8923
  501.     dc.w    9161,9397,9630,9860,10087,10310,10531,10748
  502.     dc.w    10963,11173,11381,11585,11785,11982,12175,12365
  503.     dc.w    12551,12732,12910,13085,13255,13421,13583,13740
  504.     dc.w    13894,14044,14189,14330,14466,14598,14726,14849
  505.     dc.w    14967,15081,15191,15296,15396,15491,15582,15668
  506.     dc.w    15749,15826,15897,15964,16026,16083,16135,16182
  507.     dc.w    16224,16262,16294,16322,16344,16361,16374,16382
  508.  
  509. Per:        =    $40000
  510.  
  511.