home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / Assembler / dse-src1.dms / in.adf / Devpac / DEVplasma.S < prev    next >
Encoding:
Text File  |  1989-01-30  |  14.7 KB  |  547 lines

  1. ; 4'e routine by Sharp
  2.        Section     Plasma,Code_C
  3.  
  4. o:
  5.         move $dff01e,base
  6.     moveq    #0,D0
  7.     move.w    $dff002,D0
  8.     or.w    #$8000,D0
  9.     move.w    d0,dma
  10.         bsr  setup
  11.         bsr  setsys
  12.     lea    copper,a0
  13.     move.l    a0,$00DFF080
  14.     move.w    $00DFF088,d0
  15.     bsr    Raster
  16.  
  17.     move.l    #gfxname,A1
  18.     moveq    #0,d0
  19.     move.l    4,a6
  20.     jsr    -$0198(a6)
  21.     move.l    d0,a1
  22.     move.l    $0026(a1),$dff080
  23.     tst.w    $dff088
  24.     jsr    -$019e(a6)          
  25.     move.w    dma,$dff096
  26.     move.w    base,$dff09a
  27.     rts    
  28.         
  29. ren:    move.l    $00DFF004,d2
  30.     and.l    #$0001FF00,d2
  31.     cmp.l    #0,d2
  32.     bne.s    ren
  33. ;    jsr    $00047D58        
  34.     rts    
  35.     
  36. setup:    move.l    r_ce1,d0
  37.     move.w    d0,r_bl1
  38.     swap    d0
  39.     move.w    d0,r_bh1
  40.     move.l    r_ce2,d0
  41.     move.w    d0,r_bl2
  42.     swap    d0
  43.     move.w    d0,r_bh2
  44.     move.l    r_ce3,d0
  45.     move.w    d0,r_bl3
  46.     swap    d0
  47.     move.w    d0,r_bh3
  48.     move.l    r_ce4,d0
  49.     move.w    d0,r_bl4
  50.     swap    d0
  51.     move.w    d0,r_bh4
  52.     move.l    r_ce5,d0
  53.     move.w    d0,r_bl5
  54.     swap    d0
  55.     move.w    d0,r_bh5
  56.     rts
  57.  
  58. put:    lea    $00DFF120,a0
  59.     moveq    #7,d0
  60. r_clr1:    clr.l    (a0)
  61.     addq.l    #8,a0
  62.     dbra    d0,r_clr1
  63.     lea    $00DFF140,a0
  64.     moveq    #7,d0
  65. r_clr2:    clr.l    (a0)
  66.     addq.l    #8,a0
  67.     dbra    d0,r_clr2
  68.     rts    
  69.     
  70. setsys:    
  71.     move.w    #$7FFF,$00DFF096
  72.     move.w    #$87E0,$00DFF096
  73.     move.w    #$4000,$00DFF09A
  74.     move.w    #$0020,$00DFF09C
  75.     rts    
  76.     
  77. dma:  dc.w 0
  78. base: dc.w 0
  79. some: dc.w 0
  80. gfxname: dc.b 'graphics.library',0
  81. even
  82.  
  83. Raster:    jsr    put
  84.     jsr    grim
  85. go_off:    move.l    $00DFF004,d2
  86.     and.l    #$0001FF00,d2
  87.     cmp.l    #0,d2
  88.     bne.s    go_off
  89. ;    jsr    $00047D58
  90.     cmp.w    #$0064,range2
  91.     bgt.s    begoff
  92.     jsr    glosh
  93. begoff:    sub.w    #1,range2
  94.     bne.s    reg1
  95.     jsr    ren
  96.     jsr    grim
  97. ;    jsr    $00047D58
  98.     jsr    clue
  99.     bra.s    offg
  100.  
  101. reg1:    cmp.w    #1,recE
  102.     beq.s    reg2
  103.     jsr    blt
  104. reg2:    jsr    rest
  105. offg:    tst.w    conr
  106.     bne.s    rret
  107.         btst    #6,$bfe001 
  108.     bne.s    go_off
  109.  
  110. rret:    rts    
  111.     
  112. glosh:    add.w    #1,raise
  113.     and.w    #3,raise
  114.     bne.s    rret2
  115.     lea    copcol,a0
  116.     moveq    #$1F,d7
  117. gotta:    move.w    2(a0),d0
  118.     move.w    d0,d1
  119.     move.w    d0,d2
  120.     and.w    #$0F00,d0
  121.     and.w    #$00F0,d1
  122.     and.w    #15,d2
  123.     tst.w    d1
  124.     beq.s    r_off1
  125.     sub.w    #$0010,d1
  126. r_off1:    tst.w    d2
  127.     beq.s    r_off2
  128.     subq.w    #1,d2
  129. r_off2:    tst.w    d0
  130.     beq.s    r_off3
  131.     sub.w    #$0100,d0
  132. r_off3:    or.w    d0,d1
  133.     or.w    d1,d2
  134.     move.w    d2,2(a0)
  135.     addq.w    #4,a0
  136.     dbra    d7,gotta
  137. rret2:    rts    
  138.     
  139. clue:    add.l    #$00000010,range
  140.     cmp.l    #$000000A0,range
  141.     beq    reset
  142.     lea    range3,a0
  143.     lea    call2,a1
  144.     add.l    range,a0
  145.     move.w    (a0)+,(a1)+
  146.     move.w    (a0)+,(a1)+
  147.     move.w    (a0)+,(a1)+
  148.     move.w    (a0)+,(a1)+
  149.     move.w    (a0)+,(a1)+
  150.     move.w    (a0)+,(a1)+
  151.     move.w    (a0)+,(a1)+
  152.     move.w    (a0)+,call
  153.     move.w    #$0226,range2
  154.     move.w    #0,rec2
  155.     move.w    #0,rec4
  156.     move.w    #0,rec6
  157.     move.w    #$0200,rec8
  158.     move.w    #$0100,recA
  159.     move.w    #0,recC
  160.     move.w    #0,recE
  161.     lea    r_con,a1
  162.     lea    copcol,a0
  163.     move.l    range,d6
  164.     muls    #4,d6
  165.     add.l    d6,a1
  166.     move.w    #$001F,d7
  167. roff3:    move.w    (a1)+,2(a0)
  168.     addq.w    #4,a0
  169.     dbra    d7,roff3
  170.     rts    
  171.  
  172. reset:    move.l    #$00FC00D0,$0080.w
  173.     trap    #0
  174.     jmp    $00FC00D0
  175.  
  176. blt:    lea    sinus,a6
  177.     move.w    call2,d0
  178.     move.w    call4,d1
  179.     move.w    call6,d2
  180.     add.w    d0,rec8
  181.     and.w    #$03FF,rec8
  182.     move.w    rec8,d3
  183.     move.w    0(a6,d3.w),d7
  184.     add.w    d1,recA
  185.     and.w    #$03FF,recA
  186.     move.w    recA,d3
  187.     add.w    0(a6,d3.w),d7
  188.     add.w    d2,recC
  189.     and.w    #$03FF,recC
  190.     move.w    recC,d3
  191.     add.w    0(a6,d3.w),d7
  192.     lea    cox,a0
  193.     move.l    r_ce1,a1
  194.     move.l    r_ce2,a2
  195.     move.l    r_ce3,a3
  196.     move.l    r_ce4,a4
  197.     move.l    r_ce5,a5
  198.     move.w    #$0160,d0
  199.     move.w    call8,d4
  200.     move.w    callA,d5
  201.     add.w    d4,rec4
  202.     move.w    rec4,d2
  203.     and.w    #$03FF,rec4
  204.     add.w    d5,rec6
  205.     move.w    rec6,d3
  206.     and.w    #$03FF,rec6
  207.     add.w    #$002C,rec2
  208.     cmp.w    #$2C00,rec2
  209.     blt.s    rgo_on
  210.     move.w    #1,recE
  211.     rts    
  212.  
  213. rgo_on:    move.w    d0,d4
  214.     move.w    d0,d1
  215.     add.w    d7,d1
  216.     add.w    0(a6,d2.w),d1
  217.     add.w    callC,d2
  218.     and.w    #$03FF,d2
  219.     add.w    0(a6,d3.w),d1
  220.     add.w    callE,d3
  221.     and.w    #$03FF,d3
  222.     move.b    0(a0,d4.w),d6
  223.     asr.w    #3,d4
  224.     add.w    rec2,d4
  225.     move.w    call,d5
  226.     asr.w    d5,d1
  227.     ror.w    #1,d1
  228.     bcc.s    r_move
  229.     or.b    d6,0(a1,d4.w)
  230. r_move:    ror.w    #1,d1
  231.     bcc.s    r_mov2
  232.     or.b    d6,0(a2,d4.w)
  233. r_mov2:    ror.w    #1,d1
  234.     bcc.s    r_mov3
  235.     or.b    d6,0(a3,d4.w)
  236. r_mov3:    ror.w    #1,d1
  237.     bcc.s    r_mov4
  238.     or.b    d6,0(a4,d4.w)
  239. r_mov4:    ror.w    #1,d1
  240.     bcc.s    r_mov5
  241.     or.b    d6,0(a5,d4.w)
  242. r_mov5:    dbra    d0,rgo_on
  243.     rts    
  244.     
  245. cox:    DC.W    $8040,$2010,$0804,$0201,$8040,$2010,$0804,$0201
  246.     DC.W    $8040,$2010,$0804,$0201,$8040,$2010,$0804,$0201
  247.     DC.W    $8040,$2010,$0804,$0201,$8040,$2010,$0804,$0201
  248.     DC.W    $8040,$2010,$0804,$0201,$8040,$2010,$0804,$0201
  249.     DC.W    $8040,$2010,$0804,$0201,$8040,$2010,$0804,$0201
  250.     DC.W    $8040,$2010,$0804,$0201,$8040,$2010,$0804,$0201
  251.     DC.W    $8040,$2010,$0804,$0201,$8040,$2010,$0804,$0201
  252.     DC.W    $8040,$2010,$0804,$0201,$8040,$2010,$0804,$0201
  253.     DC.W    $8040,$2010,$0804,$0201,$8040,$2010,$0804,$0201
  254.     DC.W    $8040,$2010,$0804,$0201,$8040,$2010,$0804,$0201
  255.     DC.W    $8040,$2010,$0804,$0201,$8040,$2010,$0804,$0201
  256.     DC.W    $8040,$2010,$0804,$0201,$8040,$2010,$0804,$0201
  257.     DC.W    $8040,$2010,$0804,$0201,$8040,$2010,$0804,$0201
  258.     DC.W    $8040,$2010,$0804,$0201,$8040,$2010,$0804,$0201
  259.     DC.W    $8040,$2010,$0804,$0201,$8040,$2010,$0804,$0201
  260.     DC.W    $8040,$2010,$0804,$0201,$8040,$2010,$0804,$0201
  261.     DC.W    $8040,$2010,$0804,$0201,$8040,$2010,$0804,$0201
  262.     DC.W    $8040,$2010,$0804,$0201,$8040,$2010,$0804,$0201
  263.     DC.W    $8040,$2010,$0804,$0201,$8040,$2010,$0804,$0201
  264.     DC.W    $8040,$2010,$0804,$0201,$8040,$2010,$0804,$0201
  265.     DC.W    $8040,$2010,$0804,$0201,$8040,$2010,$0804,$0201
  266.     DC.W    $8040,$2010,$0804,$0201,$8040,$2010,$0804,$0201
  267.  
  268. rest:    lea    coptip,a0
  269.     move.w    4(a0),d0
  270.     move.w    #$001E,d7
  271. r_res:    move.w    (a0),4(a0)
  272.     subq.w    #4,a0
  273.     dbra    d7,r_res
  274.     move.w    d0,4(a0)
  275.     rts    
  276.     
  277. grim:    move.l    r_ce1,a1
  278. rblitt:    btst    #14,$00DFF002
  279.     bne.s    rblitt
  280.     clr.l    $00DFF044
  281.     clr.l    $00DFF064
  282.     move.w    #$0100,$00DFF040
  283.     clr.w    $00DFF042
  284.     move.l    a1,$00DFF054
  285.     move.w    #$3C16,$00DFF058
  286.     move.l    r_ce2,a1
  287. rblit2:    btst    #14,$00DFF002
  288.     bne.s    rblit2
  289.     clr.l    $00DFF044
  290.     clr.l    $00DFF064
  291.     move.w    #$0100,$00DFF040
  292.     clr.w    $00DFF042
  293.     move.l    a1,$00DFF054
  294.     move.w    #$3C16,$00DFF058
  295.     move.l    r_ce3,a1
  296. rblit3:    btst    #14,$00DFF002
  297.     bne.s    rblit3
  298.     clr.l    $00DFF044
  299.     clr.l    $00DFF064
  300.     move.w    #$0100,$00DFF040
  301.     clr.w    $00DFF042
  302.     move.l    a1,$00DFF054
  303.     move.w    #$3C16,$00DFF058
  304.     move.l    r_ce4,a1
  305. rblit4:    btst    #14,$00DFF002
  306.     bne.s    rblit4
  307.     clr.l    $00DFF044
  308.     clr.l    $00DFF064
  309.     move.w    #$0100,$00DFF040
  310.     clr.w    $00DFF042
  311.     move.l    a1,$00DFF054
  312.     move.w    #$3C16,$00DFF058
  313.     move.l    r_ce5,a1
  314. rblit5:    btst    #14,$00DFF002
  315.     bne.s    rblit5
  316.     clr.l    $00DFF044
  317.     clr.l    $00DFF064
  318.     move.w    #$0100,$00DFF040
  319.     clr.w    $00DFF042
  320.     move.l    a1,$00DFF054
  321.     move.w    #$7816,$00DFF058
  322.     rts    
  323.     
  324. copper:    DC.W    $0180,$0000,$008E,$2C10,$0090,$3CF0,$0092,$0030
  325.     DC.W    $0094,$00D8,$0096,$0020,$0100,$0000,$0102,$0000
  326.     DC.W    $0104,$0000,$0108,$0000,$010A,$0000,$3001,$FFFE
  327.     DC.W    $0100,$0000,$0180,$0000,$3101,$FFFE,$0180,$013F
  328.     DC.W    $3201,$FFFE
  329.         DC.W    $00E0
  330. r_bh1:  DC.W    $0000
  331.         DC.W    $00E2
  332. r_bl1:  DC.W    $0000
  333.         DC.W    $00E4
  334. r_bh2:  DC.W    $0000
  335.     DC.W    $00E6
  336. r_bl2:  DC.W    $0000
  337.         DC.W    $00E8
  338. r_bh3:  DC.W    $0000
  339.         DC.W    $00EA
  340. r_bl3:  DC.W    $0000
  341.         DC.W    $00EC
  342. r_bh4:  DC.W    $0000
  343.     DC.W    $00EE
  344. r_bl4:  DC.W    $0000
  345.         DC.W    $00F0
  346. r_bh5:  DC.W    $0000
  347.         DC.W    $00F2
  348. r_bl5:  DC.W    $0000
  349.         DC.W    $0100,$5200
  350.     DC.W    $0180,$0000,$3201,$FFFE
  351. copcol: DC.W    $0182,$0211,$0184,$0422
  352.     DC.W    $0186,$0633,$0188,$0844,$018A,$0A55,$018C,$0C66
  353.     DC.W    $018E,$0E77,$0190,$0F88,$0192,$0F88,$0194,$0E77
  354.     DC.W    $0196,$0C66,$0198,$0A55,$019A,$0844,$019C,$0633
  355.     DC.W    $019E,$0422,$01A0,$0211,$01A2,$0212,$01A4,$0424
  356.     DC.W    $01A6,$0636,$01A8,$0848,$01AA,$0A5A,$01AC,$0C6C
  357.     DC.W    $01AE,$0E7E,$01B0,$0F8F,$01B2,$0F8F,$01B4,$0E7E
  358.     DC.W    $01B6,$0C6C,$01B8,$0A5A,$01BA,$0848,$01BC,$0636
  359.     DC.W    $01BE
  360. coptip: DC.W    $0424,$0180,$0212,$FFDF,$FFFE,$2001,$FFFE
  361.     DC.W    $0100,$0000,$0180,$0000,$2101,$FFFE,$0180,$013F
  362.     DC.W    $2201,$FFFE,$0180,$0000,$FFFF,$FFFE
  363.  
  364. tom:    DS.B   1240 
  365.  
  366.         DC.W    $2001,$FFFE
  367.     DC.W    $0100,$0000,$0180,$0000,$2101,$FFFE,$0180,$013F
  368.     DC.W    $2201,$FFFE,$0180,$0000,$FFFF,$FFFE
  369.  
  370. r_che:  DC.W    0,0,0,0,0,0,0
  371.  
  372. conr:   DC.W    0 
  373.  
  374. r_ce1:    DC.W    $0006,$59C4
  375. r_ce2:  DC.W    $0006,$85C4
  376. r_ce3:  DC.W    $0006,$B1C4
  377. r_ce4:  DC.W    $0006,$DDC4
  378. r_ce5:    DC.W    $0007,$09C4,$0007,$35C4,$0006,$59C4,$0006,$B1C4
  379.     DC.W    $0007,$09C4,$0006,$59C4,$0006,$B1C4,$0007,$09C4
  380.     DC.W    $0006,$6AF4,$0006,$C2F4,$0007,$09C4,$0007,$35C4
  381.     DC.W    $0006,$59C4,$0006,$85C4,$0006,$B1C4,$0006,$59C4
  382.     DC.W    $0006,$B1C4,$0007,$09C4,$0007,$35C4
  383.  
  384.     DC.W    $0000,$000F,$0000,$0000,$011C,$0000,$0000,$0000
  385.  
  386. rec2:    DC.W    $0000
  387. rec4:   DC.W    $0000
  388. rec6:   DC.W    $0000
  389. rec8:   DC.W    $0200
  390. recA:   DC.W    $0100
  391. recC:   DC.W    $0000
  392. recE:   DC.W    $0000
  393.  
  394. call:   DC.W    $0001
  395. call2:    DC.W    $0002
  396. call4:  DC.W    $0004
  397. call6:  DC.W    $0006
  398. call8:  DC.W    $FFF8
  399. callA:  DC.W    $000A
  400. callC:  DC.W    $000C
  401. callE:  DC.W    $FFFA
  402.  
  403. range:  DC.W    $0000
  404.     DC.W    $0000
  405. range2: DC.W    $0226
  406.  
  407. range3: DC.W    $0000,$0000,$0000,$0000,$0000,$0000
  408.     DC.W    $0000,$0000,$0002,$0004,$0000,$FFFE,$000A,$0004
  409.     DC.W    $0008,$0000,$0004,$0006,$FFF8,$000C,$0006,$FFF8
  410.     DC.W    $0006,$0000,$0004,$0002,$0002,$0002,$0008,$0010
  411.     DC.W    $000E,$0001,$0008,$0000,$0000,$0006,$0000,$000A
  412.     DC.W    $0000,$0001,$0004,$000C,$0006,$FFF8,$0006,$0004
  413.     DC.W    $FFFC,$0001,$0002,$0006,$0004,$0004,$0006,$0008
  414.     DC.W    $FFF2,$0001,$0004,$000A,$0006,$0008,$0006,$FFFC
  415.     DC.W    $0202,$0002,$0004,$01FE,$0006,$0206,$0006,$0004
  416.     DC.W    $0202,$0002,$0006,$0004,$FFFE,$0006,$FFFC,$FFFA
  417.     DC.W    $FFFE,$0001,$0002,$0004,$0000,$FFFE,$000A,$0004
  418.     DC.W    $0008,$0000,$0004,$000C,$0006,$FFF8,$0006,$0004
  419.     DC.W    $FFFC,$0001,$0004,$0002,$0002,$0002,$0008,$0010
  420.     DC.W    $000E,$0001,$0008,$0000,$0000,$0006,$0000,$000A
  421.     DC.W    $0000,$0001,$0004,$0006,$FFF8,$000C,$0006,$FFF8
  422.     DC.W    $0006,$0000,$0002,$0006,$0004,$0004,$0006,$0008
  423.     DC.W    $FFF2,$0001,$0004,$000A,$0006,$0008,$0006,$FFFC
  424.     DC.W    $0202,$0002,$0004,$01FE,$0006,$0206,$0006,$0004
  425.     DC.W    $0202,$0002,$0002,$0004,$FFFE,$0002,$0004,$FFFA
  426.     DC.W    $FFFE,$0001
  427.  
  428. r_con:  
  429.  
  430.     DC.W    $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
  431.     DC.W    $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
  432.     DC.W    $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
  433.     DC.W    $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
  434.  
  435.     DC.W    $0000,$0111,$0211,$0311,$0411,$0511,$0611,$0711
  436.     DC.W    $0811,$0911,$0A11,$0B11,$0C11,$0D11,$0E11,$0F11
  437.     DC.W    $000F,$000E,$000D,$000C,$000B,$000A,$0009,$0008
  438.     DC.W    $0007,$0606,$0505,$0004,$0303,$0202,$0001,$0000
  439.  
  440.     DC.W    $0000,$0110,$0020,$0330,$0040,$0550,$0660,$0070
  441.     DC.W    $0880,$0090,$0AA0,$00B0,$0CC0,$00D0,$0EE0,$00F0
  442.     DC.W    $01F0,$02E0,$01D0,$02C0,$01B0,$02A0,$0190,$0280
  443.     DC.W    $0170,$0260,$0150,$0240,$0130,$0220,$0110,$0000
  444.  
  445.     DC.W    $0000,$0111,$0121,$0333,$0141,$0555,$0161,$0777
  446.     DC.W    $0181,$0999,$01A1,$0BBB,$01C1,$0DDD,$01E1,$0FFF
  447.     DC.W    $01F1,$02E2,$03D3,$04C4,$05B5,$06A6,$0797,$0888
  448.     DC.W    $0979,$0A6A,$0B5B,$0C4C,$0D3D,$0E2E,$0F1F,$0000
  449.  
  450.     DC.W    $0000,$0001,$0222,$0003,$0444,$0005,$0666,$0007
  451.     DC.W    $0888,$0009,$0AAA,$000B,$0CCC,$000D,$0EEE,$000F
  452.     DC.W    $01FF,$02EE,$03DD,$04CC,$05BB,$06AA,$0799,$0888
  453.     DC.W    $0977,$0A66,$0B55,$0C44,$0D33,$0E22,$0F11,$0000
  454.  
  455.     DC.W    $0000,$0001,$0002,$0003,$0004,$0005,$0006,$0007
  456.     DC.W    $0008,$0009,$000A,$000B,$000C,$000D,$000E,$000F
  457.     DC.W    $000F,$000E,$000D,$000C,$000B,$000A,$0009,$0008
  458.     DC.W    $0007,$0006,$0005,$0004,$0003,$0002,$0001,$0000
  459.  
  460.     DC.W    $0000,$0101,$0202,$0303,$0404,$0505,$0606,$0707
  461.     DC.W    $0808,$0909,$0A0A,$0B0B,$0C0C,$0D0D,$0E0E,$0F0F
  462.     DC.W    $0F0F,$0E0E,$0D0D,$0C0C,$0B0B,$0A0A,$0909,$0808
  463.     DC.W    $0707,$0606,$0505,$0404,$0303,$0202,$0101,$0000
  464.  
  465.     DC.W    $0000,$0200,$0400,$0600,$0800,$0A00,$0C00,$0E00
  466.     DC.W    $0E00,$0C00,$0A00,$0800,$0600,$0400,$0200,$0000
  467.     DC.W    $0000,$0220,$0440,$0660,$0880,$0AA0,$0CC0,$0EE0
  468.     DC.W    $0EE0,$0CC0,$0AA0,$0880,$0660,$0440,$0220,$0000
  469.  
  470.     DC.W    $0000,$0002,$0004,$0006,$0008,$000A,$000C,$000E
  471.     DC.W    $000F,$002F,$004F,$006F,$008F,$00AF,$00CF,$00EF
  472.     DC.W    $00FF,$02FF,$04FF,$06FF,$08FF,$0AFF,$0CFF,$0EFF
  473.     DC.W    $0EEE,$0CCC,$0AAA,$0888,$0666,$0444,$0222,$0000
  474.  
  475.     DC.W    $0F00,$0F30,$0F60,$0F90,$0FC0,$0FF0,$0CF0,$09F0
  476.     DC.W    $06F0,$03F0,$00F0,$00F3,$00F6,$00F9,$00FC,$00FF
  477.     DC.W    $00CF,$009F,$006F,$003F,$000F,$030F,$060F,$090F
  478.     DC.W    $0C0F,$0C0F,$0F0F,$0F0C,$0F09,$0F06,$0F03,$0F00
  479.  
  480. raise:    DC.W    $0000
  481.  
  482. sinus:  DC.W    $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
  483.     DC.W    $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0001
  484.     DC.W    $0001,$0001,$0001,$0001,$0001,$0001,$0001,$0001
  485.     DC.W    $0001,$0001,$0002,$0002,$0002,$0002,$0002,$0002
  486.     DC.W    $0002,$0003,$0003,$0003,$0003,$0003,$0003,$0004
  487.     DC.W    $0004,$0004,$0004,$0004,$0005,$0005,$0005,$0005
  488.     DC.W    $0005,$0006,$0006,$0006,$0006,$0007,$0007,$0007
  489.     DC.W    $0007,$0008,$0008,$0008,$0008,$0009,$0009,$0009
  490.     DC.W    $0009,$000A,$000A,$000A,$000B,$000B,$000B,$000B
  491.     DC.W    $000C,$000C,$000C,$000D,$000D,$000D,$000E,$000E
  492.     DC.W    $000E,$000F,$000F,$000F,$0010,$0010,$0010,$0011
  493.     DC.W    $0011,$0011,$0012,$0012,$0012,$0013,$0013,$0013
  494.     DC.W    $0014,$0014,$0014,$0015,$0015,$0016,$0016,$0016
  495.     DC.W    $0017,$0017,$0017,$0018,$0018,$0019,$0019,$0019
  496.     DC.W    $001A,$001A,$001B,$001B,$001B,$001C,$001C,$001C
  497.     DC.W    $001D,$001D,$001E,$001E,$001E,$001F,$001F,$0020
  498.     DC.W    $0020,$0020,$0021,$0021,$0022,$0022,$0022,$0023
  499.     DC.W    $0023,$0024,$0024,$0024,$0025,$0025,$0025,$0026
  500.     DC.W    $0026,$0027,$0027,$0027,$0028,$0028,$0029,$0029
  501.     DC.W    $0029,$002A,$002A,$002A,$002B,$002B,$002C,$002C
  502.     DC.W    $002C,$002D,$002D,$002D,$002E,$002E,$002E,$002F
  503.     DC.W    $002F,$002F,$0030,$0030,$0030,$0031,$0031,$0031
  504.     DC.W    $0032,$0032,$0032,$0033,$0033,$0033,$0034,$0034
  505.     DC.W    $0034,$0035,$0035,$0035,$0035,$0036,$0036,$0036
  506.     DC.W    $0037,$0037,$0037,$0037,$0038,$0038,$0038,$0038
  507.     DC.W    $0039,$0039,$0039,$0039,$003A,$003A,$003A,$003A
  508.     DC.W    $003B,$003B,$003B,$003B,$003B,$003C,$003C,$003C
  509.     DC.W    $003C,$003C,$003D,$003D,$003D,$003D,$003D,$003D
  510.     DC.W    $003E,$003E,$003E,$003E,$003E,$003E,$003E,$003F
  511.     DC.W    $003F,$003F,$003F,$003F,$003F,$003F,$003F,$003F
  512.     DC.W    $003F,$003F,$0040,$0040,$0040,$0040,$0040,$0040
  513.     DC.W    $0040,$0040,$0040,$0040,$0040,$0040,$0040,$0040
  514.     DC.W    $0040,$0040,$0040,$0040,$0040,$0040,$0040,$0040
  515.     DC.W    $0040,$0040,$0040,$0040,$0040,$0040,$0040,$003F
  516.     DC.W    $003F,$003F,$003F,$003F,$003F,$003F,$003F,$003F
  517.     DC.W    $003F,$003F,$003E,$003E,$003E,$003E,$003E,$003E
  518.     DC.W    $003E,$003D,$003D,$003D,$003D,$003D,$003D,$003C
  519.     DC.W    $003C,$003C,$003C,$003C,$003B,$003B,$003B,$003B
  520.     DC.W    $003B,$003A,$003A,$003A,$003A,$0039,$0039,$0039
  521.     DC.W    $0039,$0038,$0038,$0038,$0038,$0037,$0037,$0037
  522.     DC.W    $0037,$0036,$0036,$0036,$0035,$0035,$0035,$0035
  523.     DC.W    $0034,$0034,$0034,$0033,$0033,$0033,$0032,$0032
  524.     DC.W    $0032,$0031,$0031,$0031,$0030,$0030,$0030,$002F
  525.     DC.W    $002F,$002F,$002E,$002E,$002E,$002D,$002D,$002D
  526.     DC.W    $002C,$002C,$002C,$002B,$002B,$002A,$002A,$002A
  527.     DC.W    $0029,$0029,$0029,$0028,$0028,$0027,$0027,$0027
  528.     DC.W    $0026,$0026,$0025,$0025,$0025,$0024,$0024,$0024
  529.     DC.W    $0023,$0023,$0022,$0022,$0022,$0021,$0021,$0020
  530.     DC.W    $0020,$0020,$001F,$001F,$001E,$001E,$001E,$001D
  531.     DC.W    $001D,$001C,$001C,$001C,$001B,$001B,$001B,$001A
  532.     DC.W    $001A,$0019,$0019,$0019,$0018,$0018,$0017,$0017
  533.     DC.W    $0017,$0016,$0016,$0016,$0015,$0015,$0014,$0014
  534.     DC.W    $0014,$0013,$0013,$0013,$0012,$0012,$0012,$0011
  535.     DC.W    $0011,$0011,$0010,$0010,$0010,$000F,$000F,$000F
  536.     DC.W    $000E,$000E,$000E,$000D,$000D,$000D,$000C,$000C
  537.     DC.W    $000C,$000B,$000B,$000B,$000B,$000A,$000A,$000A
  538.     DC.W    $0009,$0009,$0009,$0009,$0008,$0008,$0008,$0008
  539.     DC.W    $0007,$0007,$0007,$0007,$0006,$0006,$0006,$0006
  540.     DC.W    $0005,$0005,$0005,$0005,$0005,$0004,$0004,$0004
  541.     DC.W    $0004,$0004,$0003,$0003,$0003,$0003,$0003,$0003
  542.     DC.W    $0002,$0002,$0002,$0002,$0002,$0002,$0002,$0001
  543.     DC.W    $0001,$0001,$0001,$0001,$0001,$0001,$0001,$0001
  544.     DC.W    $0001,$0001,$0000,$0000,$0000,$0000,$0000,$0000
  545.     DC.W    $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
  546.  
  547.