home *** CD-ROM | disk | FTP | other *** search
/ Almathera Ten Pack 4: Demo 1 / almathera_demo1.bin / sourcecode / german / sprite.s < prev    next >
Text File  |  1995-03-17  |  15KB  |  755 lines

  1. PicBuffer=$40000
  2. SndBuffer=$40000
  3. BitPlane1=$60000    ;Adresse Bitplane 1
  4. BitPlane2=$64000    ;Adresse Bitplane 2
  5. BitPlane3=$68000    ;Adresse Bitplane 3
  6. BitPlane4=$6c000    ;Adresse Bitplane 4
  7. BitPlane5=$70000    ;Adresse BItplane 5
  8. Exec=4            ;Basisadresse Execbase
  9. Permit=-138        ;Stop Multitasking
  10. Open= -30
  11. Close= -30 -6
  12. Read= -30 -12
  13. Forbid=-132        ;Start Multitasking
  14. OpenLibrary=-408    
  15. CloseLibrary=-414
  16. InitRastPort=-198
  17. InitBitMap=-390
  18. SetRast= -30 -204
  19. Move= -30 -210
  20. Draw= -30 -216
  21. Text= -30 -30
  22. RectFill= -30 -276
  23. ScrollRaster= -30 -366
  24. WritePixel= -30 -294
  25. SetAPen= -30 -312
  26. WaitTOF= -30 -240
  27. exit= -30 -114
  28.  
  29. start:
  30.  
  31.     jsr setup    ;Initialisiert die Bitmaps und
  32.     jsr pic
  33.     jsr initirq
  34. *    jmp grafik
  35.     move.l    dos_base,a6
  36.     move.l    #Soundname,d1
  37.     move.l    #1005,d2
  38.     jsr    Open(a6)        ; open file
  39.  
  40.     move.l    d0,d6
  41.     move.l    d6,d1
  42.     move.l    #SndBuffer,d2    ; read file in buffer
  43.     move.l    #115331,d3
  44.     jsr    Read(a6)
  45.     move.l    d0,d7
  46.  
  47.     move.l    d6,d1
  48.     jsr    Close(a6)        ; close file
  49.     move.l    a6,a1
  50.     move.l    4,a6
  51.     jsr    CloseLibrary(a6)    ; close dos.library
  52.  
  53.     move.l    #SndBuffer,$dff0a0
  54.     move.l  #Sndbuffer,$dff0b0
  55.     move.l  #SndBuffer+300,$dff0c0
  56.     move.l  #Sndbuffer,$dff0d0
  57.     lsr.l    #1,d7
  58.     move.w    d7,$dff0a4
  59.     move.w  d7,$dff0b4
  60.     move.w    d7,$dff0c4
  61.     move.w  d7,$dff0d4
  62.     move.w    #240,$dff0a6
  63.     move.w  #240,$dff0c6
  64.     move.w  #240,$dff0b6
  65.     move.b  #240,$dff0d6
  66.     move.w    #64,$dff0a8
  67.     move.w  #64,$dff0c8
  68.     move.w  #64,$dff0b8
  69.     move.w  #64,$dff0d8
  70.     jmp grafik
  71.  
  72. pic:
  73.  
  74.     jsr open_file        ;File auf Diskette oeffnen
  75.     move.l #col_buf,d2
  76.     move #64,d3
  77.     jsr load
  78.     move.l #PicBuffer,d2    ;Adresse der 1. Bitmap
  79.     move.l #40000,d3        ;Anzahl der Bytes fuer
  80.     jsr load        ;Loadroutine
  81.     jsr close_file
  82.  
  83.     move.l #Bitplane1,a2
  84.     move.l #picbuffer,a0
  85.     move #4,d3
  86. l3:    move.l a2,a1
  87.     move #200,d1
  88. l2:    move #20,d0
  89. l1:    move.w (a0)+,(a1)+
  90.     sub #1,d0
  91.     bne l1
  92.     add.w #40,a1
  93.     sub #1,d1
  94.     bne l2    
  95.     add #$4000,a2
  96.     sub #1,d3
  97.     bne l3
  98.  
  99.     move.l #col_buf,a0
  100.     move.l #co0,a1
  101.     move #32,d1
  102. w1:    move.w (a0),(a1)+
  103.     add.w #2,a1
  104.     add.w #2,a0
  105.     sub #1,d1
  106.     bne w1
  107.     rts
  108.  
  109. open_file:
  110.     move.l dos_base,a6
  111.     move.l #picname,d1
  112.     move.l #1005,d2
  113.     jsr Open(a6)
  114.     beq wait
  115.     move.l d0,bif
  116.     rts
  117.  
  118. load:
  119.     move.l dos_base,a6
  120.     move.l bif,d1
  121.     jsr Read(a6)
  122.     rts
  123.  
  124. close_file:
  125.     move.l dos_base,a6
  126.     move.l bif,d1
  127.     jsr Close(a6)
  128.     rts
  129.  
  130. farbe:
  131.     cmp.b #1,flag
  132.     bne nein
  133.     cmp.b #15,co30
  134.     bne n1
  135.     move.b #0,flag
  136.     rts
  137. n1:    add.b #1,co30        
  138.     sub.b #1,co31+1
  139.     rts
  140.  
  141. nein:    cmp.b #5,co30
  142.     bne n2
  143.     move.b #1,flag
  144.     rts
  145. n2:    sub.b #1,co30
  146.     add.b #1,co31+1
  147.     rts
  148.  
  149. grafik:
  150.     move.w #$fff,co17
  151.     move.w #$f00,co18
  152.     move.w #$444,co19
  153.     move.w #$fff,co20
  154.     move.w #$f00,co21
  155.     move.w #$fff,co22
  156.     move.w #$f06,co30    
  157.     move.w #$075,co31
  158.     move.b #1,flag
  159.     jsr setcopper
  160.     move.w #%1000000000100101,$dff096
  161.     move.l gfxbase,a6
  162.     lea rastport,a1
  163. init:    move.l #text1,a2
  164.     move.l #len1-text1,d7
  165.     sub #1,d7    
  166.     move.b #1,dauer
  167.  
  168. ll2:
  169.     sub.b #1,dauer
  170.     bne no
  171.     move.b #3,dauer
  172.     eor.b #2,$bfe001
  173. no:    jsr set1
  174.     move.l a2,a0
  175.     move.l gfxbase,a6
  176.     lea rastport,a1
  177.     move.l #30,d0
  178.     jsr setapen(a6)
  179.     move.w #1,d0
  180.     jsr text(a6)
  181.     jsr set2
  182.     move.l a2,a0
  183.     move.l gfxbase,a6
  184.     move.w #31,d0
  185.     jsr setapen(a6)
  186.     lea rastport,a1
  187.     move.w #1,d0
  188.     jsr text(a6)
  189.     jsr scroll
  190.     jsr farbe
  191.     add.l #1,a2
  192.     jmp wait
  193. nomouse:
  194.     dbra d7,ll2
  195.     jmp init
  196.  
  197. scroll:
  198.     move #4,d6
  199. ll1:    move.l gfxbase,a6
  200.     jsr waittof(a6)
  201.     lea rastport,a1
  202.     move.w #2,d0
  203.     move.w #0,d1
  204.     move.w #0,d2
  205.     move.w #180,d3
  206.     move.w #330,d4
  207.     move.w #187,d5
  208.     jsr scrollraster(a6)
  209.     move.l gfxbase,a6
  210.     lea rastport,a1
  211.     move.w #3,d0
  212.     move.w #0,d1
  213.     move.w #0,d2
  214.     move.w #191,d3
  215.     move.w #330,d4
  216.     move.w #200,d5
  217.     jsr scrollraster(a6)
  218.     dbra d6,ll1
  219.     rts
  220.  
  221. set1:    move.l gfxbase,a6
  222.     lea rastport,a1
  223.     move.l #321,d0
  224.     move.l #197,d1
  225.     jsr move(a6)
  226.     rts
  227.  
  228. set2:    move.l gfxbase,a6
  229.     lea rastport,a1
  230.     move.l #321,d0
  231.     move.l #186,d1
  232.     jsr move(a6)
  233.     rts
  234.  
  235. wait:
  236.     andi.b    #64,$bfe001    ;Bit 7 (linke Maustaste)
  237.     beq stop
  238.     jmp nomouse
  239.  
  240. stop:
  241.     jsr stopirq
  242.     move.w #%0000000000000101,$dff096
  243.     move.l  copptr,a0
  244.     move.l    oldcop,(a0)    ;Alte Copperliste wieder bereit-
  245.     move.l     exec,a6
  246.     move.l    GfxBase,a1    ;stellen und Gfxlibrary
  247.     jsr    CloseLibrary(a6);schliessen
  248.     move.l exec,a6
  249.     move.l dos_base,a1
  250.     jsr closelibrary(a6)
  251.     move.l exec,a6
  252.     jsr    Permit(a6)    ;Multitasking wieder zulassen
  253.     illegal
  254.     rts            ;ende
  255.  
  256. initirq:
  257.     move.b #190,s1y
  258.     move.b #206,s1e
  259.     move.b #3,loop
  260.     move.b #0,loop1
  261.     move.w #$4000,$dff09a 
  262.     move.l $6c,OldVector 
  263.     move.l #Neuirq,$6c
  264.         move.w #$c000,$dff09a 
  265.     rts
  266.  
  267. stopirq:
  268.         move.w #$4000,$dff09a
  269.         move.l OldVector,$6c
  270.         move.w #$c000,$dff09a
  271.     rts
  272.  
  273. Neuirq: 
  274.     movem.l d0-d2/a0-a1,-(a7)
  275.         move SR,-(sp)
  276.         move.w $dff01e,d0   
  277.         btst #5,d0 
  278.         bne.s makeirq
  279.         bra  Endirq 
  280.  
  281. Makeirq:
  282.     move.l loop1,d0
  283.     move.l #x0,a0
  284.     add.l d0,a0
  285.     move.b (a0),d1
  286.     cmp.b #0,d1
  287.     beq lab2
  288.     move.b (a0),d2
  289.     move.b d2,s0x
  290.     neg d2
  291.     move.b d2,s1x
  292.     sub.b #18,s0x
  293.     add.b #40,s1x
  294.     move.l #y0,a0
  295.     add.l d0,a0
  296.     move.b (a0),s0y
  297.     move.b (a0),d0
  298.     neg d0
  299.     move.b d0,s1y
  300.     add.b #30,s0y
  301.     sub.b #30,s1y
  302.     move.b s0y,d0
  303.     add.b #16,d0
  304.     move.b d0,s0e
  305.     move.b s1y,d0
  306.     add.b #16,d0
  307.     move.b d0,s1e
  308.  
  309.     add.l #1,loop1
  310.     jmp lab1
  311. lab2:    move.l #0,loop1
  312. lab1:
  313.     sub.b #1,loop
  314.     bne endirq
  315.     move.w spr0l,d0
  316.     move.w spr0h,d1
  317.     move.w spr1l,spr0l
  318.     move.w spr1h,spr0h
  319.     move.w d0,spr1l
  320.     move.w d1,spr1h
  321.  col1:    move.w co16,d0
  322.     move.w co15,co16
  323.     move.w co14,co15
  324.     move.w co13,co14
  325.     move.w co12,co13
  326.     move.w co11,co12
  327.     move.w co10,co11
  328.     move.w co9,co10
  329.     move.w co8,co9
  330.     move.w co7,co8
  331.     move.w co6,co7
  332.     move.w co5,co6
  333.     move.w co4,co5
  334.     move.w co3,co4
  335.     move.w co2,co3
  336.     move.w co1,co2
  337.     move.w d0,co1
  338.     move.b #3,loop
  339.  
  340. Endirq:
  341.     move (sp)+,SR
  342.         movem.l (sp)+,d0-d2/a0-a1
  343.         DC.W $4ef9
  344.  
  345. OldVector: DC.L $0000
  346.  
  347.  
  348. setup:
  349.     move.l    Exec,a6        ;Exebase-Adresse nach a6
  350.     jsr    Forbid(a6)    ;Stop Multitasking
  351.  
  352.     move.l exec,a6
  353.     lea.l dosname,a1
  354.     jsr Openlibrary(a6)
  355.     move.l d0,dos_base
  356.  
  357.     lea    GrName,a1    ;Gfxname nach a1
  358.     jsr    OpenLibrary(a6)    ;Gfxlibrary oeffnen
  359.     move.l    d0,GfxBase    ;Basisadresse buffern
  360.     move.l    d0,a6
  361.     add.l    #$32,d0
  362.     move.l    d0,copptr
  363.  
  364. ; ---- Setup the BitMap
  365.  
  366.     lea    BitMap,a0    ;Bitmapstruktur nach a0
  367.     moveq    #5,d0        ;Tiefe (5 Bitplanes)
  368.     move.l    #640,d1        ;320 Pixel nach x
  369.     move.l    #200,d2        ;200 Pixel nach y
  370.     jsr    InitBitMap(a6)    ;Bitmap Initialisieren
  371.     lea    RastPort,a1    ;erhaltenen Rastport nach a1
  372.     jsr    InitRastPort(a6);Rastport initialisieren    
  373.     move.l    #BitMap,R_BitMap
  374.  
  375.  
  376.     move.l    #BitPlane1,d0    ;Adresse Bitplane nach d0
  377.     move.l    d0,Plane1    ;Adresse auch nach Plane1
  378.     move.l    d0,a0        ;und nach Adressregister a0
  379.     move.w    d0,lo1        ;sowie in Copperliste speichern
  380.     swap    d0        ;Hi-Nibble isolieren und eben-
  381.     move.w    d0,hi1        ;falls nach Copperliste
  382.     move.l    #16000,d0    ;8000 Bytes fuer Bitplane bele-
  383.     move.b    #$00,d1        ;gen
  384. cl1:    move.b    d1,(a0)+
  385.     dbf    d0,cl1
  386.  
  387.     move.l    #BitPlane2,d0
  388.     move.l d0,Plane2
  389.     move.l d0,a0
  390.     move.w d0,lo2
  391.     swap d0
  392.     move.w d0,hi2
  393.     move.l #16000,d0
  394.     move.b #$00,d1
  395. cl2:    move.b d1,(a0)+
  396.     dbf d0,cl2
  397.  
  398.     move.l    #BitPlane3,d0
  399.     move.l    d0,Plane3
  400.     move.l    d0,a0
  401.     move.w    d0,lo3
  402.     swap    d0
  403.     move.w    d0,hi3
  404.     move.l    #16000,d0
  405.     move.b    #$00,d1
  406. cl3:    move.b    d1,(a0)+
  407.     dbf    d0,cl3
  408.  
  409.     move.l    #BitPlane4,d0
  410.     move.l    d0,Plane4
  411.     move.l    d0,a0
  412.     move.w    d0,lo4
  413.     swap    d0
  414.     move.w    d0,hi4
  415.     move.l    #16000,d0
  416.     move.b    #$00,d1
  417. cl4:    move.b    d1,(a0)+
  418.     dbf    d0,cl4
  419.  
  420.     move.l    #BitPlane5,d0
  421.     move.l    d0,Plane5
  422.     move.l    d0,a0
  423.     move.w    d0,lo5
  424.     swap    d0
  425.     move.w    d0,hi5
  426.     move.l    #16000,d0
  427.     move.b    #$00,d1
  428. cl5:    move.b    d1,(a0)+
  429.     dbf    d0,cl5
  430.  
  431. makesprite:
  432.  
  433.     move.l #sprite0,d0
  434.     move.w d0,spr0l
  435.     swap d0
  436.     move.w d0,spr0h
  437.     move.b #50,d0
  438.     move.b d0,s0y
  439.     add.b #16,d0
  440.     move.b d0,s0e
  441.     move.b #100,s0x
  442.     
  443.     move.l #sprite1,d0
  444.     move.w d0,spr1l
  445.     swap d0
  446.     move.w d0,spr1h
  447.     rts
  448.  
  449. setcopper:
  450.     move.l    copptr,a0    ;Adresse der Copperliste nach a0
  451.     move.l    (a0),oldcop    ;Alte Liste zwischenspeichern
  452.     move.l    #Copper,(a0)    ;Neue Liste fue Copper
  453.     rts
  454.  
  455. Copper:
  456.     DC.W    $0180
  457. co0:    dc.w    $0000
  458.     DC.W    $0182
  459. co1:    dc.w    $0fff
  460.     DC.W    $0184
  461. co2:    dc.w    $000f
  462.     DC.W    $0186    
  463. co3:    dc.w    $0f00
  464.     DC.W    $0188
  465. co4:    dc.w    $000f
  466.     DC.W    $018a
  467. co5:    dc.w    $0f0f
  468.     DC.W    $018c
  469. co6:    dc.w    $00ff
  470.     DC.W    $018e
  471. co7:    dc.w    $f0ff
  472.     DC.W    $0190
  473. co8:    dc.w    $0620
  474.     DC.W    $0192
  475. co9:    dc.w    $0e50
  476.     DC.W    $0194
  477. co10:    dc.w    $09f1
  478.     DC.W    $0196    
  479. co11:    dc.w    $0eb0
  480.     dc.w    $0198
  481. co12:    dc.w    $055f
  482.     dc.w    $019a
  483. co13:    dc.w    $092f
  484.     dc.w    $019c
  485. co14:    dc.w    $00f8
  486.     dc.w    $019e
  487. co15:    dc.w    $0ccc
  488.     dc.w    $01a0
  489. co16:    dc.w    $0000        
  490.     dc.w    $01a2
  491. co17:    dc.w    $0d22
  492.     dc.w    $01a4
  493. co18:    dc.w    $0000
  494.     dc.w    $01a6
  495. co19:    dc.w    $0fca
  496.     dc.w    $01a8
  497. co20:    dc.w    $0444    
  498.     dc.w    $01aa
  499. co21:    dc.w    $0555
  500.     dc.w    $01ac
  501. co22:    dc.w    $0666
  502.     dc.w    $01ae
  503. co23:    dc.w    $0777
  504.     dc.w    $01b0
  505. co24:    dc.w    $0888
  506.     dc.w    $01b2
  507. co25:    dc.w    $0999
  508.     dc.w    $01b4
  509. co26:    dc.w    $0aaa
  510.     dc.w    $01b6
  511. co27:    dc.w    $0bbb
  512.     dc.w    $01b8
  513. co28:    dc.w    $0ccc
  514.     dc.w    $01ba
  515. co29:    dc.w    $0ddd
  516.     dc.w    $01bc
  517. co30:    dc.w    $0eee
  518.     dc.w    $01be
  519. co31:    dc.w    $0fff
  520.     DC.W    $00e0
  521. hi1:    DC.W    $0002
  522.     DC.W    $00e2
  523. lo1:    DC.W    $1000
  524.     DC.W    $00e4
  525. hi2:    DC.W    $0002
  526.     DC.W    $00e6
  527. lo2:    DC.W    $1000
  528.     DC.W    $00e8
  529. hi3:    DC.W    $0002
  530.     DC.W    $00ea
  531. lo3:    DC.W    $1000
  532.     DC.W    $00ec
  533. hi4:    DC.W    $0002
  534.     DC.W    $00ee
  535. lo4:    DC.W    $1000
  536.     DC.W    $00f0
  537. hi5:    DC.W    $0002
  538.     DC.W    $00f2
  539. lo5:    DC.W    $1000
  540.     DC.W    $0100,%0101000000000000
  541.     DC.W    $0102
  542. delay:    DC.W    $ff
  543.     DC.W    $0108,38
  544.     DC.W    $010a,38
  545.     DC.W    $0092,$0030
  546.     DC.W    $0094,$00d0
  547.     DC.W    $008e,$3681
  548.     DC.W    $0090,$fdc1
  549.     dc.w    $0120
  550. spr0h:    dc.w    $0000
  551.     dc.w     $0122
  552. spr0l:    dc.w    $0000
  553.     dc.w    $0128
  554. spr1h:    dc.w    $0000
  555.     dc.w    $012a
  556. spr1l:    dc.w    $0000
  557.  
  558.     dc.w    %0010000000000001,$ff00
  559.     dc.w    $0180,$00f
  560.     dc.w    %0011000000000001,$ff00
  561.     dc.w    $0180,$00e
  562.     dc.w    %0100000000000001,$ff00
  563.     dc.w    $0180,$00d
  564.     dc.w    %0101000000000001,$ff00
  565.     dc.w    $0180,$00c
  566.     dc.w    %0110000000000001,$ff00
  567.     dc.w    $0180,$00b
  568.     dc.w    %0111000000000001,$ff00
  569.     dc.w    $0180,$00a
  570.     dc.w    %1000000000000001,$ff00
  571.     dc.w    $0180,$009
  572.     dc.w     %1001000000000001,$ff00
  573.     dc.w    $0180,$008
  574.     dc.w    %1010000000000001,$ff00
  575.     dc.w    $0180,$007
  576.     dc.w    %1011000000000001,$ff00
  577.     dc.w    $0180,$006
  578.     dc.w     %1100001100000001,$ff00
  579.     dc.w     $0180,$005
  580.     dc.w    %1101000000000001,$ff00
  581.     dc.w    $0180,$004
  582.     dc.w    %1110000000000001,$ff00
  583.     dc.w    $0180,$003
  584.     dc.w    %1111000000000001,$ff00
  585.     dc.w    $0180,$002
  586.     dc.w    %1111111100000001,$ff00
  587.     dc.w     $0180,$001
  588.     DC.W    $ffff,$fffe
  589.  
  590.  
  591. BitMap:
  592. BytesPerRow:     blk.w 1,0
  593. Bytes:        blk.w 1,0
  594. Flags:         blk.b 1,0
  595. Depth:         blk.b 1,0
  596. Pad:          blk.w 1,0
  597. Plane1:        blk.l 1,0
  598. Plane2:        blk.l 1,0
  599. Plane3:        blk.l 1,0
  600. Plane4:        blk.l 1,0
  601. Plane5:        blk.l 1,0
  602. Planes:        blk.l 1,0
  603.  
  604.  
  605. RastPort:
  606.         blk.l 1,0
  607. R_BitMap:    blk.l 1,0
  608.         blk.b 2+4+4+4+8,0
  609.         blk.b 4,0
  610. cp_x:        blk.w 1,0
  611. cp_y:        blk.w 1,0
  612.            blk.b 8+22+[7*2]+[2*4]+8,0
  613.         blk.w 6,0
  614. even
  615. grname:        dc.b 'graphics.library',0
  616. dosname:    dc.b 'dos.library',0
  617. even
  618. copptr:        blk.l 1,0
  619. oldcop:        blk.l 1,0
  620. GfxBase:    blk.l 1,0
  621. Dos_base:    blk.l 1,0
  622. bif:        blk.l 1,0
  623. Disk_buf:    blk.l 1,0
  624. col_buf:    blk.l 25,0
  625. buffer1:    blk.l 25,0
  626.  
  627. align 4
  628.  
  629. text1:    
  630.  
  631. dc.b '                 '
  632. dc.b 'THE BLADE RUNNERS in 2012 present '
  633. dc.b '....'
  634. dc.b ' Greetings to HEADBANGER, ERROR-SOFT, IRATA, '
  635. dc.b 'LIGHT-CIRCLE and RADWAR (Hi Markus!)... '
  636. dc.b 'Special greetings to ZIP-S0FT (in member of '
  637. dc.b 'The Innocent Devils)... '
  638. dc.b 'This scroll-demo is written in 68000 Assembler '
  639. dc.b 'with full Copper and Interrupt control !!! '
  640. dc.b 'Look for flashing POWER-LAMP !!! '
  641. dc.b 'Soon coming from TBR: TBR Intro-Disk 1 and '
  642. dc.b 'TBR-Slideshow 1.... '
  643. dc.b '                          '
  644.  
  645. len1:    equ *
  646.  
  647. dauer:    dc.b 1,0
  648.  
  649. loop:    dc.b 1,0
  650.  
  651. flag:    dc.b 1,0
  652.  
  653. Sprite0:
  654. s0y:  DC.B    $00
  655. s0x:  DC.B    $00
  656. s0e:  DC.B    $00
  657.       DC.B    $00
  658.       DC.W    $0700,$00E0
  659.       DC.W    $0718,$18E0
  660.       DC.W    $071C,$38E0
  661.       DC.W    $38E2,$471C
  662.       DC.W    $38E2,$471C
  663.       DC.W    $38E3,$C71C
  664.       DC.W    $C71C,$38E3
  665.       DC.W    $C71C,$38E3
  666.       DC.W    $C71C,$38E3
  667.       DC.W    $38E3,$C71C
  668.       DC.W    $38E3,$C71C
  669.       DC.W    $38E2,$471C
  670.       DC.W    $471C,$38E2
  671.       DC.W    $071C,$38E0
  672.       DC.W    $0718,$18E0
  673.       DC.W    $00E0,$0700
  674.       DC.W    $0000,$0000
  675.  
  676.  
  677. Sprite1:
  678. s1y:  DC.B    $00
  679. s1x:  DC.B    $00
  680. s1e:  DC.B    $00
  681.       DC.B    $00
  682.       DC.W    $0700,$00E0
  683.       DC.W    $0718,$18E0
  684.       DC.W    $071C,$38E0
  685.       DC.W    $38E2,$471C
  686.       DC.W    $38E2,$471C
  687.       DC.W    $38E3,$C71C
  688.       DC.W    $C71C,$38E3
  689.       DC.W    $C71C,$38E3
  690.       DC.W    $C71C,$38E3
  691.       DC.W    $38E3,$C71C
  692.       DC.W    $38E3,$C71C
  693.       DC.W    $38E2,$471C
  694.       DC.W    $471C,$38E2
  695.       DC.W    $071C,$38E0
  696.       DC.W    $0718,$18E0
  697.       DC.W    $00E0,$0700
  698.       DC.W    $0000,$0000
  699.  
  700.  
  701.  
  702. x0:
  703.   DC.B $50,$50,$51,$53,$56,$5a,$5e,$63,$68,$6e,$74,$7b,$82
  704.   DC.B $89,$91,$98,$9f,$a7,$ad,$b4,$ba,$c0,$c5,$ca,$ce
  705.   DC.B $d1,$d4,$d6,$d7,$d8,$d8,$d8,$d6,$d5,$d2,$d0,$cd
  706.   DC.B $c9,$c5,$c1,$bd,$b9,$b5,$b1,$ad,$a9,$a6,$a2,$a0
  707.   DC.B $9d,$9b,$99,$98,$97,$97,$97,$97,$98,$99,$9b,$9c
  708.   DC.B $9e,$a0,$a2,$a4,$a6,$a8,$aa,$ab,$ac,$ad,$ae,$ae
  709.   Dc.B $ae,$ad,$ac,$aa,$a8,$a6,$a3,$a0,$9c,$98,$94,$8f
  710.   DC.B $8b,$86,$81,$7d,$78,$74,$70,$6c,$69,$66,$64,$62
  711.   DC.B $61,$61,$61,$62,$64,$66,$6a,$6d,$72,$77,$7d,$83
  712.   DC.B $89,$90,$97,$9f,$a6,$ae,$b6,$bd,$c4,$cb,$d1,$d7
  713.   DC.B $dd,$e2,$e6,$e9,$ec,$ee,$ef,$ef,$ee,$ed,$eb,$e8
  714.   DC.B $e4,$e0,$db,$d6,$d0,$ca,$c3,$bc,$b5,$ae,$a7,$a0
  715.   DC.B $9a,$93,$8d,$87,$82,$7d,$79,$76,$73,$70,$6f,$6e
  716.   DC.B $6d,$6d,$6e,$70,$71,$74,$76,$79,$7c,$80,$83,$87
  717.   DC.B $8b,$8e,$92,$95,$98,$9b,$9d,$9f,$a1,$a2,$a3,$a3
  718.   DC.B $a3,$a3,$a2,$a1,$a0,$9e,$9c,$9a,$98,$96,$94,$92
  719.   DC.B $90,$8e,$8d,$8b,$8b,$8a,$8a,$8b,$8b,$8d,$8f,$91
  720.   DC.B $94,$97,$9b,$9f,$a3,$a8,$ad,$b2,$b7,$bc,$c2,$c7
  721.   DC.B $cc,$d0,$d4,$d8,$dc,$de,$e1,$e2,$e3,$e3,$e3,$e1
  722.   DC.B $df,$dd,$d9,$d5,$d0,$cb,$c5,$be,$b7,$b0,$a9,$a1
  723.   DC.B $99,$91,$8a,$82,$7b,$74,$6e,$68,$63,$5e,$5a,$57
  724.   DC.B $54,$53,$52,$00,$00
  725.  
  726. y0:
  727.   DC.B $56,$52,$4f,$4b,$48,$44,$41,$3e,$3c,$39,$37,$36
  728.   DC.B $35,$34,$33,$33,$33,$34,$35,$36,$37,$39,$3b,$3e
  729.   DC.B $40,$43,$45,$48,$4b,$4e,$51,$53,$56,$59,$5b,$5d
  730.   DC.B $5f,$61,$62,$63,$64,$65,$65,$66,$65,$65,$65,$64
  731.   DC.B $63,$62,$61,$60,$5f,$5e,$5c,$5b,$5a,$59,$58,$57
  732.   DC.B $57,$56,$56,$56,$56,$56,$57,$58,$58,$59,$5a,$5c
  733.   DC.B $5d,$5e,$60,$61,$63,$64,$65,$66,$67,$68,$69,$69
  734.   DC.B $69,$69,$69,$68,$67,$66,$64,$62,$60,$5e,$5c,$59
  735.   DC.B $56,$53,$50,$4d,$4a,$47,$44,$41,$3f,$3c,$3a,$38
  736.   DC.B $36,$34,$33,$32,$32,$32,$32,$32,$33,$35,$37,$39
  737.   DC.B $3b,$3e,$41,$44,$47,$4b,$4e,$52,$56,$59,$5d,$61
  738.   DC.B $64,$67,$6a,$6d,$6f,$72,$73,$75,$76,$77,$77,$77
  739.   DC.B $77,$77,$76,$74,$73,$71,$6f,$6d,$6b,$68,$66,$63
  740.   DC.B $60,$5e,$5b,$59,$56,$54,$52,$50,$4f,$4d,$4c,$4b
  741.   DC.B $4b,$4a,$4a,$4a,$4b,$4b,$4c,$4c,$4d,$4e,$4f,$50
  742.   DC.B $51,$52,$53,$54,$55,$56,$57,$57,$57,$57,$57,$57
  743.   DC.B $56,$56,$55,$54,$52,$51,$50,$4e,$4c,$4b,$49,$48
  744.   DC.B $46,$45,$43,$42,$41,$41,$40,$40,$40,$40,$41,$42
  745.   DC.B $43,$44,$46,$48,$4a,$4d,$50,$53,$56,$59,$5c,$5f
  746.   DC.B $62,$66,$69,$6c,$6f,$71,$74,$76,$78,$79,$7a,$7b
  747.   DC.B $7c,$7c,$7b,$7b,$79,$78,$76,$74,$72,$6f,$6c,$69
  748.   DC.B $65,$62,$5e,$5b
  749.   dc.b $00,$00
  750.  
  751. loop1:    dc.b 1,0
  752.  
  753. soundname:    dc.b 'tbr-sound',0
  754. picname:    dc.b 'tbr-pic',0
  755.