home *** CD-ROM | disk | FTP | other *** search
Text File | 1990-09-13 | 26.6 KB | 1,543 lines |
- section shit,code_c
-
-
- z_max=-200
-
- start:
- move.w #$4000,$dff09a
- lea $dff000,a6
-
- bsr juggleinit
- bsr init
-
- vbiloop:
- tst.w vbi
- beq.s vbiloop
- bsr prg
- move.w #0,vbi
- btst #6,$bfe001
- bne.s vbiloop
- bsr wblt
-
- ; System "zurckholen"
- move.l 4.w,a6
- move.l pgsh,a1
- cmp.l pghi,a1
- blt.s cpg
- move.l pghi,a1
- cpg:
- move.l #$10000,d0
- jsr -210(a6)
- lea gfxname(pc),a1
- jsr -408(a6)
- move.l d0,a1
- move.l 38(a1),$dff080
- move.w #0,$dff088
- jsr -414(a6)
- move.l oldvbi,$6c.w
- move.w #$7fff,$dff096
- move.w #$83f0,$dff096
- move.w #$7fff,$dff09c
- move.w intena,d0
- or.w #$c000,d0
- move.w d0,$dff09a
- moveq #0,d0
- rts
-
-
- server:
- ; Interrupt-Server
- movem.l d0-d7/a0-a6,-(a7)
- move.l #copperlist,$dff080
- move.w d0,$dff088
- movem.l ci1,d0-d1
- move.l d0,ci2
- move.l d1,ci1
- move.w d1,ColInt1-6
- swap d1
- move.w d1,ColInt1-10
- tst.w vbi
- ; Mit Darstellung der Blle fertig?
- bne noflip
- ; Nein ? -> kein Page-Flipping!
- movem.l pgsh,d0-d1
- ; BitMap-Adressen ta-uschen ...
- move.l d0,pghi
- ; page hidden
- move.l d1,pgsh
- ; page shown
- move.l d0,a0
- lea copperlist,a1
- move.w d1,18(a1)
- ; ... und in die Copperlist
- swap d1
- move.w d1,14(a1)
- swap d1
- add.l #40*256,d1
- move.w d1,26(a1)
- swap d1
- move.w d1,22(a1)
- swap d1
- add.l #40*256,d1
- move.w d1,34(a1)
- swap d1
- move.w d1,30(a1)
- bsr wblt
- ; starten des Lschvorgangs der
- ; versteckten Planes.
- ; Trotz voller Prioritt des
- ; Blitters kaum Einschrnkungen
- ; des 68000, da nur DMA-Kanal D
- ; benutzt wird!
- ; Inzwischen gepufferte
- ; Joystickbewegungen fr aktuell
- ; erklren.
- move.w #0,$66(a6)
- move.l #$1000000,$40(a6)
- move.l a0,$54(a6)
- move.w #768*64+20,$58(a6)
- movem.l rxb,d0-d1
- movem.l d0-d1,rx
- noflip:
- move.w #1,vbi
- bsr joy
- ; Joystick abfragen
- move.w #$20,$dff09c
- movem.l (a7)+,d0-d7/a0-a6
- rte
-
- Prg:
-
- ; Animation der Arme und der drei Blle
- bsr juggle
- lea $dff000,a6
-
-
- bsr rotate
-
- ; Alle Punkte rotieren u. projizieren
-
- bsr quicksort
-
- ; Punkte sortieren (ziemlich flott)
-
- lea ptab(pc),a3
- move.w (a3),d7
- subq.w #1,d7
- lea ttab(pc),a3
-
- ; Zeiger auf (nach Sortierung)
- ; hintersten Punkt (2D-Koords/z-Koords)
-
- lea ztab(pc),a4
- Prg1P:
- bsr.s draw
-
- ; korrespondierenden Ball zeichnen
-
- addq.l #6,a3
-
- ; Zeiger auf Daten
- ; des nächstnheren Punktes
-
- addq.l #2,a4
- dbf d7,prg1p
- rts
-
- draw:
- lea bob-12(pc),a5
-
- ; "Eigengrösse" des Balles
- ; lassen
-
- move.w 4(a3),d0
- eigenlp:
- lea 12(a5),a5
- dbf d0,eigenlp
- lea sizetab(pc),a0
-
- ; Bälle der Entfernung
-
- move.w (a0)+,d1
- sizelp:
- move.w (a0)+,d0
- cmp.w (a4),d0
- ble.s ok
- tst.w 12(a5)
-
- ; kleinster Ball schon
-
- bmi.s ok
- lea 12(a5),a5
- dbf d1,sizelp
- ok:
- movem.w (a3),d3-d4
-
- ; 2D-Koordinaten eines
-
-
- movem.w (a5),d5-d6
-
- ; Ball-Breite in Worten
- ; Pixel
-
- move.w d6,d2
- asr.w #1,d2
- sub.w d2,d3
-
- ; angegebene Ball-Koordinaten in d3/d@ von
- ; "oben rechts" in die Ball-Mitte schieben
-
- sub.w d2,d4
- tst.w d3
-
- ; Clipping
-
- blt nodraw
- tst.w d4
-
- ; Clipping
-
- blt nodraw
- move.w d6,d2
- add.w d3,d2
- cmp.w #320,d2
-
- ; Clipping
-
- bgt nodraw
- move.w d4,d2
- add.w d6,d2
- cmp.w #256,d2
-
- ; Clipping
-
- bgt nodraw
- bsr.s trans
-
- ; Umrechnung der Koordinaten
-
- movem.l 4(a5),a0-a1
-
- ; Zeiger: BitMap-Dat + Mask-Dat
-
- move.w d6,d2
-
- ; Blitter-Fenster berechnen
-
- asl.w #6,d2
- add.w d5,d2
- asl.w #1,d5
- moveq #40,d0
-
- ; Modulo berechnen
-
- sub.w d5,d0
- moveq #0,d1
- bsr.s wblt
- move.l #$ffff0000,$44(a6)
- move.w d0,$60(a6)
- move.w d1,$62(a6)
- move.w d1,$64(a6)
- move.w d0,$66(a6)
- move.l #$0fc20000,d0
-
- ; A-Shift u. B-Shift fr Reg. $q0/q2
- ; eintragen (in "trans" berechnet!)
-
- swap d3
- or.w d3,d0
- swap d0
- or.w d3,d0
- swap d0
- swap d3
- move.l d0,$40(a6)
- move.l d4,a2
-
- ; Startadressen ausrechnen
-
- ext.l d3
- add.l d3,a2
- move.l a0,$50(a6)
- moveq #2,d1
-
- ; Blit-Schleife fr
-
- blitlp:
- bsr.s wblt
- move.l a2,$48(a6)
- move.l a1,$4c(a6)
- move.l a2,$54(a6)
- move.w d2,$58(a6)
- lea 256*40(a2),a2
-
- ; nchste Plane
-
- dbf d1,blitlp
- nodraw:
- rts
-
- wblt:
- btst #14,$dff002
- bne.s wblt
- rts
-
- trans:
-
- ; Umrechnen der x-/y-Koordinaten
- ; in Adressen und Shift-Offsets
-
- move.w d4,d0
- asl.w #5,d0
- asl.w #3,d4
- add.w d0,d4
- ext.l d4
- add.l pghi,d4
- move.w d3,d0
- asr.w #4,d0
- asl.w #4,d0
- sub.w d0,d3
- ror.w #4,d3
- swap d3
- asr.w #3,d0
- move.w d0,d3
- rts
-
-
- quicksort:
-
- ; blicher Quicksort-Algorithmus
-
- move.l a6,-(a7)
- moveq #0,d4
- move.l #ztab,d5
- lea Irtab(pc),a0
- lea ttab(pc),a1
- move.l d5,0(a0,d4.w)
- lea zend-2(pc),a5
- move.l a5,4(a0,d4.w)
- l20:
- move.l 0(a0,d4.w),d5
- move.l 4(a0,d4.w),a5
- subq.w #8,d4
- l30:
- move.l d5,a2
- move.l a5,a3
- move.l a2,d1
- sub.l #ztab,d1
- move.w d1,d0
- asl.w #1,d1
- add.w d0,d1
- move.l a3,d2
- sub.l #ztab,d2
- move.w d2,d0
- asl.w #1,d2
- add.w d0,d2
- move.l d5,d0
- add.l a5,d0
- asr.l #2,d0
- asl.l #1,d0
- move.l d0,a6
- move.w (a6),d3
- l40:
- cmp.w (a2),d3
- ble.s l41
- addq.l #2,a2
- addq.w #6,d1
- bra.s l40
- l41:
- cmp.w (a3),d3
- bge.s l42
- subq.l #2,a3
- subq.w #6,d2
- bra.s l41
- l42:
- cmp.l a3,a2
- bgt.s l50
- move.w (a3),d0
- move.w (a2),(a3)
- move.w d0,(a2)
- move.w 0(a1,d1.w),d0
- move.w 0(a1,d2.w),0(a1,d1.w)
- move.w d0,0(a1,d2.w)
- move.w 2(a1,d1.w),d0
- move.w 2(a1,d2.w),2(a1,d1.w)
- move.w d0,2(a1,d2.w)
- move.w 4(a1,d1.w),d0
- move.w 4(a1,d2.w),4(a1,d1.w)
- move.w d0,4(a1,d2.w)
- addq.l #2,a2
- subq.l #2,a3
- addq.w #6,d1
- subq.w #6,d2
- cmp.l a3,a2
- ble.s l40
- l50:
- cmp.l a5,a2
- blt.s l52
- l51:
- move.l a3,a5
- cmp.l a5,d5
- blt l30
- tst.w d4
- bge l20
- move.l (a7)+,a6
- rts
- l52:
- addq.w #8,d4
- move.l a2,0(a0,d4.w)
- move.l a5,4(a0,d4.w)
- bra.s l51
-
- joy:
-
- ; Joystick-Abfrage
- move.w $dff00c,d0
- btst #1,d0
- bne.s right
- btst #9,d0
- bne.s left
- testud:
- move.w d0,d1
- lsr.w #1,d1
- eor.w d1,d0
- btst #0,d0
- bne.s bckw
- btst #8,d0
- bne forw
- rts
- right:
- btst #7,$bfe001
- bne.L nfr1
- addq.w #8,rzb
-
- ; z-Winkel-Buffer
-
- cmp.w #720,rzb
- blt.s ok1
- move.w #0,rzb
- ok1:
- bra.s testud
- nfr1:
- addq.w #8,ryb
-
- ; y-Winkel-Buffer
-
- cmp.w #720,ryb
- blt.s ok2
- move.w #0,ryb
- ok2:
- bra.s testud
- left:
- btst #7,$bfe001 ; Feuerknopf ?
- bne.s nfr2
- subq.w #8,rzb
-
- ; z-Winkel-Buffer
-
- bge.s ok3
- add.w #720,rzb
- ok3:
- bra.s testud
- nfr2:
- subq.w #8,ryb
-
- ; y-Winkel-Buffer
-
- bge.s ok4
- add.w #720,ryb
- ok4:
- bra testud
-
- ; wieder zurck, um
-
- bckw:
- btst #7,$bfe001 ; Feuerknopf ?
- bne.s nfr3
- cmp.w #z_max,addzb
-
- ; Grenze fr Nhe
-
- bge.s ok5
- add.w #100,addzb
-
- ; ja -> Blle um 100
-
- ok5:
- rts
-
- nfr3:
- subq.w #8,rxb
-
- ; nein -> x-Winkel-Buffer
-
- bge.s ok6
- add.w #720,rxb
- ok6:
- rts
- forw:
- btst #7,$bfe001 ; Feuerknopf ?
- bne.s nfr4
- cmp.w #-18000,addzb
- ; Grenze fr Ferne
- ble.s ok7
- sub.w #100,addzb
-
- ; ja -> Blle um 100 Punkte entfernen
-
- ok7:
- rts
-
- nfr4:
- addq.w #8,rxb
-
- ; nein -> x-Winkel-Buffer + 4 Grad
-
- cmp.w #720,rxb
- blt.s ok8
- move.w #0,rxb
- ok8:
- rts
-
-
- ;Init...
-
- juggleinit:
- lea jpointers(pc),a0
- lea jongx(pc),a1
- lea jongy(pc),a2
- lea armjong(pc),a3
- lea jongxend(pc),a4
- move.l a1,(a0)
- move.l a2,4(a0)
- move.l a3,8(a0)
- move.l a4,12(a0)
- rts
-
- ;Animation...
-
- juggle: lea jpointers(pc),a0
- move.l (a0),a3
- move.l 4(a0),a1
- move.l 8(a0),a4
- lea jon(pc),a2
- lea jon2(pc),a5
- lea jon3(pc),a6
- jongl: move.w (a3),(a2)
- move.w 32(a3),8(a2)
- move.w 62(a3),16(a2)
- move.w 94(a3),24(a2)
-
- move.w (a1),2(a2)
- move.w 32(a1),8+2(a2)
- move.w 62(a1),16+2(a2)
- move.w 94(a1),24+2(a2)
- add.w #10,2(A2)
- add.w #10,8+2(a2)
- add.w #10,16+2(a2)
- add.w #10,24+2(A2)
- neg 2(a2)
- neg 8+2(a2)
- neg 16+2(a2)
- neg 24+2(a2)
- move.w (a4),2(a5)
- move.w (a4)+,2(a6)
- move.w (a4),8+2(a5)
- move.w (a4)+,8+2(a6)
- addq.l #2,a3
- addq.l #2,a1
- move.l a3,(a0)
- move.l a1,4(a0)
- move.l a4,8(a0)
- cmpi.l 12(a0),a3
- beq juggleinit
- rts
-
- rotate:
-
- ; Rotation-+ Translation
-
- lea ptab(pc),a2
- lea ttab(pc),a3
- lea ztab(pc),a4
- lea sintab(pc),a0
- lea costab(pc),a1
- move.w (a2)+,d5
- subq.w #1,d5
- r1p:
- movem.w (a2)+,d0-d2
- bsr.s x_ax
-
- ; Die drei Rotations-Formeln
-
- add.w addz,d2
-
- ; Verschiebung hinzuaddieren
-
- move.w d2,(a4)+
-
- ; z-Koordinaten zwecks erleichterter
- ; Sortierung in gesonderter "ztab" merken
-
-
- bsr project
- movem.w d0-d1,(a3)
- addq.l #4,a3
- move.w (a2)+,(a3)+
-
- ; "Eigengrsse" der Blle
-
- dbf d5,r1p
- rts
- x_ax:
-
- ; Drehung um x-Achse
-
-
- move.w rx,d3
- move.w d1,d4
- move.w d2,d7
- muls 0(a1,d3.w),d1
-
- ; r.eu y=y*cos(al)
-
- muls 0(a0,d3.w),d2
-
- ; neu z=z*sin(al)
-
- sub.l d2,d1
-
- ; fertig y=neu y-neu_z
-
- asl.l #4,d1
-
- ; "Heruntertransformieren"
-
- swap d1
- muls 0(a0,d3.w),d4
-
- ; neu y=y*sin(a1)
-
- muls 0(a1,d3.w),d7
-
- ; neu z=z*cos(a1)
-
- add.l d7,d4
-
- ; fertig z=neu y-neu z
-
- asl.l #4,d4
- swap d4
- move.w d4,d2
-
- ; d2=z
-
- y_ax:
-
- ; Drehung um y-Achse
-
- move.w ry,d3
- move.w d0,d4
- move.w d2,d7
- muls 0(a1,d3.w),d0
-
- ; nx=x*cos(be)
-
- muls 0(a0,d3.w),d2
-
- ; nz=z*sin(be)
-
- add.l d2,d0
-
- ; fx=nx+nz
-
- asl.l #4,d0
- swap d0
- neg.w d4
-
- ; d4=-x
-
- muls 0(a0,d3.w),d4
-
- ; nx=-x*sin(be)
-
- muls 0(a1,d3.w),d7
-
- ; ny=y*cos(be)
-
-
- add.l d7,d4
-
- ; fz=nx+ny
-
- asl.l #4,d4
- swap d4
- move.w d4,d2
- z_ax:
-
- ; Drehung z-Achse
-
- move.w rz,d3
- move.w d0,d4
- move.w d1,d7
- muls 0(a1,d3.w),d0
-
- ; nx=x*cos(ga)
-
- muls 0(a0,d3.w),d1
-
- ; ny=y*sin(ga)
-
- sub.l d1,d0
-
- ; fx=nx-ny
-
- asl.l #4,d0
- swap d0
- muls 0(a0,d3.w),d4
-
- ; nx=x*sin(ga)
-
- muls 0(a1,d3.w),d7
-
- ; ny=y*cos(ga)
-
- add.l d7,d4
-
- ; fy=nx+ny
-
- asl.l #4,d4
- swap d4
- move.w d4,d1
- rts
-
- project:
-
- ; lentral Perspektive
-
- sub.w #1024,d2
-
- ; ball z - Observer z (0z=1014)
-
- beq.s pjtend
- moveq #10,d3
- ext.l d0
- ext.l d1
- asl.l d3,d0 ; bx*Oz
- asl.l d3,d1 ; by*Oz
- divs d2,d0 ; (bx*Oz)/bz
- divs d2,d1 ; (by*Oz)/bz
- neg.w d0
- add.w #160,d0 ; lentrieren
- add.w #128,d1
- pjtend:
- rts
-
-
- init:
- ; Initialisierung (CopperList,
- move.w #$7fff,$96(a6)
- ; Speicher belegen, ...)
- move.l #0,$144(a6)
- move.l #copperlist,$80(a6)
- move.w #0,$88(a6)
- move.l #$2c812cc1,$8e(a6)
- move.l #$3800d0,$92(a6)
- move.l #0,$102(a6)
- move.l #0,$108(a6)
- move.w #$3200,$100(a6)
- move.l 4.w,a6
- move.l #$10000,d0
- move.l #$10003,d1
- jsr -198(a6)
- lea $dff000,a6
- move.l d0,pgsh
- add.l #$8000,d0
- move.l d0,pghi
- move.l pgsh,d0
- move.w d0,copperlist+18
- swap d0
- move.w d0,copperlist+14
- swap d0
- add.l #256*40,d0
- move.w d0,copperlist+26
- swap d0
- move.w d0,copperlist+22
- swap d0
- add.l #256*40,d0
- move.w d0,copperlist+34
- swap d0
- move.w d0,copperlist+30
-
- lea bob(pc),a2
- ; Anlegen der Masken
- maskloop:
- move.l 4(a2),a0
- moveq #2,d2
- mout:
- move.l 8(a2),a1
- move.w 2(a2),d1
- mulu (a2),d1
- subq.w #1,d1
- min:
- move.w (a0)+,d0
- or.w d0,(a1)+
- dbf d1,min
- dbf d2,mout
-
- lea 12(a2),a2
- tst.w (a2)
- bge.s maskloop
- move.l #$4409fffe,d0
- ; Copperlisten fr Colorlnterlace
- move.l #$1800000,d1
- move.w #$660,d2
- move.w #$001,d3
- moveq #1,d5
- lea copperlist,a1
- move.w d2,6(a1)
- lea ColInt1,a1
- makecop:
- move.w d2,d1
- move.l d0,(a1)+
- move.l d1,(a1)+
- add.l #$5000000,d0
- move.l d0,(a1)+
- move.l d1,(a1)+
- add.l #$5000000,d0
- move.w d2,d4
- and.w #$f,d4
- cmp.w #$f,d4
- beq.s endcop
- move.w d2,d4
- and.w #$f0,d4
- cmp.w #$f0,d4
- beq.s endcop
- move.w d2,d4
- and.w #$f00,d4
- cmp.w #$f00,d4
- beq.s endcop
- add.w d3,d2
- bra.s makecop
- endcop:
- move.l #$fffffffe,d0
- move.w d2,d1
- move.l d0,(a1)+
- move.l d1,(a1)+
- move.l d0,(a1)+
- move.l d1,(a1)+
- move.l #$4909fffe,d0
- move.l #$1800000,d1
- move.w #$660,d2
- move.w #$001,d3
- lea ColInt2,a1
- dbf d5,makecop
-
- move.w $dff01c,intena
- ; VBl-Server-Init
- move.w #$7fff,$dff09a
- move.w #$7fff,$dff09c
- move.l $6c.w,oldvbi
- move.l #server,$6c.w
- move.w #$c020,$9a(a6)
- move.w #$87c0,$96(a6)
- rts
-
-
- pgsh: dc.l 0
- pghi: dc.l 0
- ci1: dc.l ColInt1
- ci2: dc.l ColInt2
- intena: dc.w 0
- oldvbi: dc.l 0
- vbi: dc.w 0
- cnt: dc.w 0
- rx: dc.w 0
- ry: dc.w 0
- rz: dc.w 0
- addz: dc.w 0
- rxb: dc.w $170
- ryb: dc.w $170
- rzb: dc.w 0
- addzb: dc.w -200
- lace: dc.l $60016
-
- num = 36
-
- ptab:
- ; Hier stehen die Koordinaten
- dc.w num ; x,y,z,Eigengrsse
- a=8
- ballpoints: ;Punktstruktur...
- dc.w 0,-100,0,0
- dc.w -9,-103,17,8
- dc.w 5,-103,17,8
- dc.w 0,-80,0,7
- dc.w 0,-55,0,1
- dc.w 0,-20,0,1
-
- dc.w 28,-60,0,2
- dc.w 28,-45,4,3
- dc.w 28,-30,8,3
- dc.w 28,-20,12,4
- jon2:
- dc.w 28,-20,22,5
- dc.w 28,-20,32,6
-
- dc.w -28,-60,0,2
- dc.w -28,-45,4,3
- dc.w -28,-30,8,3
- dc.w -28,-20,12,4
- jon3:
- dc.w -28,-20,22,5
- dc.w -28,-20,32,6
-
- dc.w 20,-10,0,2
- dc.w 21,5,4,3
- dc.w 22,20,8,3
- dc.w 23,35,10,4
- dc.w 24,48,8,4
- dc.w 25,60,6,4
- dc.w 26,74,4,3
-
- dc.w -20,-10,0,2
- dc.w -21,5,4,3
- dc.w -22,20,8,3
- dc.w -23,35,10,4
- dc.w -24,48,8,4
- dc.w -25,60,6,4
- dc.w -26,74,4,3
-
- jon:
- dc.w -28,-60,28,5
- dc.w -28,-50,28,7
- dc.w -28,-30,28,5
- dc.w -28,-20,28,7
-
-
- ttab:
-
-
- ; Tabelle fr 2D-Ergebnis-Koordinaten
-
- blk.w num*3
- tend:
-
- ztab:
-
- ; z-Koordinaten-Tabelle zum einfacheren
-
- blk.w num
- zend:
-
- Irtab:
-
- ; Array-Tabelle
-
- blk.l 100
-
-
- gfxname: dc.b "graphics.library",0
-
- even
-
-
- sintab:
- dc.w 0,$47,$8E,$D6
- dc.w $11D,$164,$1AC,$1F3
- dc.w $23A,$280,$2C7,$30D
- dc.w $353,$399,$3DE,$424
- dc.w $469,$4AD,$4F1,$535
- dc.w $578,$5BB,$5FE,$640
- dc.w $681,$6c3,$703,$743
- dc.w $782,$7C1,$7FF,$83D
- dc.w $87A,$8B6,$8F2,$92D
- dc.w $967,$9A1,$9D9,$A11
- dc.w $A48,$A7F,$AB4,$AE9
- dc.w $b1D,$b50,$bB2,$bb3
- dc.w $BE3,$C13,$C41,$C6F
- dc.w $C9B,$CC7,$CF1,$D1B
- dc.w $D43,$D6B,$D91,$DB6
- dc.w $DDB,$DfE,$E20,$E41
- dc.w $E61,$E80,$E9D,$EBA
- dc.w $ED5,$EEF,$F08,$F20
- dc.w $F37,$F4D,$F61,$F74
- dc.w $F86,$F97,$FA6,$FB4
- dc.w $FC1,$FCD,$FD8,$FE1
- dc.w $FE9,$FF0,$FF6,$FFA
- dc.w $FFD,$FFF
- costab:
- dc.w $1000,$FFF
- dc.w $FFD,$FFA,$FF6,$FF0
- dc.w $FE9,$FE1,$FD8,$FCD
- dc.w $FC1,$FB4,$FA6,$F97
- dc.w $F86,$F74,$F61,$F4D
- dc.w $F37,$F20,$F08,$EEF
- dc.w $ED5,$EBA,$E9D,$E80
- dc.w $E61,$E41,$E20,$DFE
- dc.w $DDB,$DB6,$D91,$D6B
- dc.w $D43,$D1B,$CF1,$CC7
- dc.w $C9B,$C6F,$C41,$C13
- dc.w $BE3,$BB3,$B82,$B50
- dc.w $B1D,$AE9,$AB4,$A7F
- dc.w $A48,$A11,$9D9,$9A1
- dc.w $967,$92D,$8F2,$8B6
- dc.w $87A,$83D,$800,$7C1
- dc.w $782,$743,$703,$6C3
- dc.w $682,$640,$5FE,$5BB
- dc.w $578,$535,$4f1,$4AD
- dc.w $469,$424,$3DE,$399
- dc.w $353,$30D,$2C7,$280
- dc.w $23A,$1F3,$1AC,$165
- dc.w $11D,$D6,$8E,$47
- dc.w 0,$ffb9,$ff72,$ff2a
- dc.w $FEE3,$FE9C,$FE54,$FE0D
- dc.w $FDC6,$FD80,$FD39,$FCF3
- dc.w $FCAD,$FC67,$FC22,$FBDC
- dc.w $FB98,$FB53,$FB0F,$FACB
- dc.w $FA88,$FA45,$FA02,$F9C0
- dc.w $F97F,$F93D,$F8FD,$F8BD
- dc.w $F87E,$F83F,$F801,$F7C3
- dc.w $F786,$F74A,$F70E,$F6D3
- dc.w $F699,$F65F,$F627,$F5EF
- dc.w $F5B8,$F581,$F54C,$F517
- dc.w $F4E3,$F4B0,$F47E,$F44D
- dc.w $F41D,$F3ED,$F3BF,$F391
- dc.w $F365,$F339,$F30F,$F2E5
- dc.w $F2BD,$F295,$F26F,$F24A
- dc.w $F225,$F202,$F1E0,$F1BF
- dc.w $F19F,$F180,$F163,$F146
- dc.w $F12B,$F111,$F0F8,$F0E0
- dc.w $F0C9,$F0B3,$F09F,$F08C
- dc.w $F07A,$F069,$F05A,$F04C
- dc.w $F03F,$F033,$F028,$F01F
- dc.w $F017,$F010,$F00A,$F006
- dc.w $F003,$F001,$f000,$F001
- dc.w $F003,$F006,$F00A,$F010
- dc.w $F017,$F01F,$F028,$F033
- dc.w $F03F,$F04C,$F05A,$F069
- dc.w $f07A,$F08C,$F09F,$F0B3
- dc.w $F0C9,$f0E0,$f0f7,$F111
- dc.w $f12B,$F146,$F163,$f180
- dc.w $F19F,$F1Bf,$F1E0,$F202
- dc.w $F225,$F24A,$F26F,$F295
- dc.w $F2BD,$F2E5,$F30F,$F339
- dc.w $F365,$F391,$F3BF,$F3ED
- dc.w $F41D,$F44D,$f47E,$f4B0
- dc.w $F4e3,$F517,$F54C,$F581
- dc.w $F5B8,$F5Ef,$F627,$F65F
- dc.w $F699,$F6D3,$F70E,$f74A
- dc.w $F786,$F7C3,$F800,$F83F
- dc.w $F87D,$F8BD,$f8FD,$F93D
- dc.w $F97E,$F9C0,$FA02,$FA45
- dc.w $FA88,$FACB,$FB0F,$FB53
- dc.w $FB97,$FBDC,$FC22,$FC67
- dc.w $FCAD,$FCF3,$FD39,$FD80
- dc.w $FDC6,$FE0D,$FE54,$FE9B
- dc.w $FEE3,$fF2A,$fF71,$FFB9
- sinend:
- dc.w 0,$47,$8E,$D6
- dc.w $11D,$164,$1AC,$1F3
- dc.w $23A,$280,$2C7,$30D
- dc.w $353,$399,$3DE,$424
- dc.w $469,$4AD,$4F1,$535
- dc.w $578,$5BB,$5FE,$640
- dc.w $681,$6c3,$703,$743
- dc.w $782,$7C1,$7FF,$83D
- dc.w $87A,$8B6,$8F2,$92D
- dc.w $967,$9A1,$9D9,$A11
- dc.w $A48,$A7F,$AB4,$AE9
- dc.w $b1D,$b50,$bB2,$bb3
- dc.w $BE3,$C13,$C41,$C6F
- dc.w $C9B,$CC7,$CF1,$D1B
- dc.w $D43,$D6B,$D91,$DB6
- dc.w $DDB,$DfE,$E20,$E41
- dc.w $E61,$E80,$E9D,$EBA
- dc.w $ED5,$EEF,$F08,$F20
- dc.w $F37,$F4D,$F61,$F74
- dc.w $F86,$F97,$FA6,$FB4
- dc.w $FC1,$FCD,$FD8,$FE1
- dc.w $FE9,$FF0,$FF6,$FFA
- dc.w $FFD,$FFF,$1000
- cosend:
-
- bob: dc.w 3,31
- dc.l b0dat,m0dat
- dc.w 3,25 ; Breite in Worten +l, Hohe in Zeilen
- dc.l b1dat,m1dat ; Zeiger bitMap-Daten, Zeiger Maske
- dc.w 3,19
- dc.l b2dat,m2dat
- dc.w 2,15
- dc.l b3dat,m3dat
- dc.w 2,13
- dc.l b4dat,m4dat
- dc.w 2,11
- dc.l b5dat,m5dat
- dc.w 2,9
- dc.l b6dat,m6dat
- dc.w 2,7
- dc.l b7dat,m7dat
- dc.w 2,5
- dc.l b8dat,m8dat
- dc.w -1
-
- sizetab:
-
- ; Tabelle zur festlegung, ab wann
- ; welche Ballgrsse verwendet wird
-
- dc.w 8,-300,-1200,-1800,-2600,-3700,-4900,-6200,-7600,-9100
-
-
-
- ;
- ; ball-Bitmap-Daten
- ;
-
- b0dat:
- DC.L $000FE000,$0000007F
- DC.L $FC000000,$01E07F00
- DC.L $000003BF,$8F800000
- DC.L $07C1EAC0,$00000D7C
- DC.L $E5600000,$1A8E32F0
- DC.L $00003547,$54B80000
- DC.L $36EB1958,$00006A46
- DC.L $ACAC0000,$620B1A5C
- DC.L $00004B56,$ACAC0000
- DC.L $D1AF1A5E,$0000B97D
- DC.L $2C2E0000,$CEAA1A5E
- DC.L $0000B454,$DC2E0000
- DC.L $DE81385E,$0000E154
- DC.L $F42E0000,$D2EBF05E
- DC.L $0000695F,$D0AC0000
- DC.L $70B5A2DC,$0000742A
- DC.L $857C0000,$28000AF8
- DC.L $00003680,$55F80000
- DC.L $1D54AAF0,$00000EAB
- DC.L $55E00000,$0754ABC0
- DC.L $000003EB,$FF800000
- DC.L $01FEFF00,$0000007F
- DC.L $FC000000,$00000000
- DC.L $00000000,$00000000
- DC.L $00000000,$0000001F
- DC.L $80000000,$007FF000
- DC.L $000000C1,$F5000000
- DC.L $0300FA80,$00000670
- DC.L $3D000000,$0CF85F40
- DC.L $00000DF4,$1EA00000
- DC.L $19F82F50,$000019F4
- DC.L $1FA00000,$38A82F50
- DC.L $00003850,$1FA00000
- DC.L $58002FD0,$00003E00
- DC.L $1FA00000,$5C00DFD0
- DC.L $00002E81,$3FA00000
- DC.L $1F54FFD0,$00002FEB
- DC.L $FFA00000,$17FFFF50
- DC.L $00000FFF,$FD200000
- DC.L $0BFFFA80,$000017FF
- DC.L $F5000000,$097FAA00
- DC.L $000002AB,$55000000
- DC.L $0154AA00,$000000AB
- DC.L $54000000,$00140000
- DC.L $00000001,$00000000
- DC.L $00000000,$00000000
- DC.L $00000000,$00000000
- DC.L $00000000,$00000000
- DC.L $00000000,$00000000
- DC.L $00000000,$003E0000
- DC.L $000000FF,$00000000
- DC.L $01FFC000,$000003FF
- DC.L $A0000000,$03FFE000
- DC.L $000007FF,$D0000000
- DC.L $07FFE000,$000007FF
- DC.L $D0000000,$07FFE000
- DC.L $000007FF,$D0000000
- DC.L $01FFE000,$000003FF
- DC.L $20000000,$017EC000
- DC.L $000000AB,$00000000
- DC.L $00140000,$00000000
- DC.L $00000000,$00000000
- DC.L $00000000,$00000000
- DC.L $00000000,$00000000
- DC.L $00000000,$00000000
- DC.L $00000000,$00000000
- DC.L $00000000,$00000000
- DC.L $00000000,$00000000
- DC.L $00000000,$00000000
- DC.L $00000000,$00000000
-
- b1dat: DC.L $007F0000,$00000180
- DC.L $C0000000,$06FE3000
- DC.L $00000B07,$98000000
- DC.L $15C1CC00,$00002A70
- DC.L $A6000000,$34195200
- DC.L $000055CC,$75000000
- DC.L $6CCCBB00,$0000AC5E
- DC.L $71800000,$A60CAA80
- DC.L $0000AB5E,$71800000
- DC.L $A7B4BA80,$0000917A
- DC.L $71800000,$B4A96A80
- DC.L $00009A12,$E5800000
- DC.L $4CA1D300,$00004357
- DC.L $A5000000,$25FECA00
- DC.L $00003B5D,$16000000
- DC.L $14AA2C00,$00000A80
- DC.L $58000000,$07453000
- DC.L $000001AA,$C0000000
- DC.L $007F0000,$00000000
- DC.L $00000000,$007F0000
- DC.L $000001FF,$C0000000
- DC.L $0707E000,$00000C01
- DC.L $F0000000,$1980F800
- DC.L $000013E1,$7C000000
- DC.L $33F07A00,$000023F0
- DC.L $BC000000,$63E07E00
- DC.L $000061F0,$BD000000
- DC.L $60A07E00,$00006040
- DC.L $BD000000,$70007E00
- DC.L $00007401,$7D000000
- DC.L $7A02FA00,$00003CA1
- DC.L $FC000000,$3F57FA00
- DC.L $00001FFF,$F4000000
- DC.L $07FFE800,$00000BFF
- DC.L $D0000000,$057FA000
- DC.L $000000BA,$C0000000
- DC.L $00550000,$00000000
- DC.L $00000000,$00000000
- DC.L $00000000,$00000000
- DC.L $00000000,$000000F8
- DC.L $00000000,$03FE0000
- DC.L $000007FF,$00000000
- DC.L $0FFE8000,$00000FFF
- DC.L $80000000,$1FFF4000
- DC.L $00001FFF,$80000000
- DC.L $1FFF4000,$00001FFF
- DC.L $80000000,$1FFF4000
- DC.L $00000FFF,$80000000
- DC.L $0BFE8000,$000005FD
- DC.L $00000000,$035E0000
- DC.L $000000A8,$00000000
- DC.L $00000000,$00000000
- DC.L $00000000,$00000000
- DC.L $00000000,$00000000
- DC.L $00000000,$00000000
- DC.L $00000000,$00000000
- DC.L $00000000,$00000000
-
- b2dat:
- DC.L $03F80000,$00000806
- DC.L $00000000,$17F10000
- DC.L $00002A8C,$80000000
- DC.L $526B4000,$00004F37
- DC.L $40000000,$A273A000
- DC.L $0000A8BB,$A0000000
- DC.L $A572A000,$0000AEE9
- DC.L $A0000000,$A3F2A000
- DC.L $0000B547,$A0000000
- DC.L $9A8B2000,$0000540F
- DC.L $40000000,$4F564000
- DC.L $000026BC,$80000000
- DC.L $11F10000,$00000C06
- DC.L $00000000,$03F80000
- DC.L $00000000,$00000000
- DC.L $07F80000,$00000FFE
- DC.L $00000000,$190F0000
- DC.L $0000378B,$80000000
- DC.L $27C78000,$00006F83
- DC.L $C0000000,$6743C000
- DC.L $00006A82,$C0000000
- DC.L $6101C000,$00006002
- DC.L $C0000000,$7007C000
- DC.L $0000780B,$C0000000
- DC.L $340F8000,$00003F57
- DC.L $80000000,$1EBF0000
- DC.L $00000FFE,$00000000
- DC.L $03F80000,$00000000
- DC.L $00000000,$00000000
- DC.L $00000000,$00000000
- DC.L $00000000,$000007F0
- DC.L $00000000,$0FF40000
- DC.L $00001FF8,$00000000
- DC.L $1FFC0000,$00001FFC
- DC.L $00000000,$1FFD0000
- DC.L $00001FFE,$00000000
- DC.L $1FFD0000,$00000FF8
- DC.L $00000000,$07F40000
- DC.L $00000BF0,$00000000
- DC.L $00A80000,$00000140
- DC.L $00000000,$00000000
- DC.L $00000000,$00000000
- DC.L $00000000,$00000000
-
-
- b3dat:
- DC.L $03E00000,$0C180000
- DC.L $11C40000,$24720000
- DC.L $2A9A0000,$47490000
- DC.L $534D0000,$54CD0000
- DC.L $538D0000,$48190000
- DC.L $2C3A0000,$27F20000
- DC.L $11C40000,$0C180000
- DC.L $03E00000,$00000000
- DC.L $03E00000,$0FF80000
- DC.L $1C7C0000,$1B1C0000
- DC.L $378E0000,$378E0000
- DC.L $330E0000,$300E0000
- DC.L $381E0000,$1C3C0000
- DC.L $1FFC0000,$0FF80000
- DC.L $03E00000,$00000000
- DC.L $00000000,$00000000
- DC.L $00000000,$03800000
- DC.L $07E00000,$0FF00000
- DC.L $0FF00000,$0FF00000
- DC.L $0FF00000,$07E00000
- DC.L $03C00000,$00000000
- DC.L $00000000,$00000000
- DC.L $00000000,$00000000
-
-
- b4dat:
- DC.L $0F800000,$30600000
- DC.L $6F300000,$46900000
- DC.L $BAC80000,$AC680000
- DC.L $A0E80000,$B5E80000
- DC.L $9AC80000,$4F900000
- DC.L $67300000,$30600000
- DC.L $0F800000,$00000000
- DC.L $0F800000,$1FC00000
- DC.L $28E00000,$6CF00000
- DC.L $60700000,$60F00000
- DC.L $75F00000,$7AF00000
- DC.L $3FE00000,$1FC00000
- DC.L $0F800000,$00000000
- DC.L $00000000,$00000000
- DC.L $00000000,$1F000000
- DC.L $1F000000,$1F800000
- DC.L $1F000000,$0A000000
- DC.L $05000000,$00000000
- DC.L $00000000,$00000000
- DC.L $00000000,$00000000
-
- b5dat:
- DC.L $1F000000,$3E800000
- DC.L $7B400000,$EDA00000
- DC.L $F5A00000,$DCA00000
- DC.L $A1A00000,$ABA00000
- DC.L $5F400000,$20800000
- DC.L $1F000000,$00000000
- DC.L $1F000000,$23800000
- DC.L $51C00000,$59C00000
- DC.L $40C00000,$61C00000
- DC.L $6BC00000,$3F800000
- DC.L $1F000000,$00000000
- DC.L $00000000,$00000000
- DC.L $1C000000,$3E000000
- DC.L $3E000000,$3F000000
- DC.L $1E000000,$14000000
- DC.L $00000000,$00000000
- DC.L $00000000,$00000000
-
- b6dat:
- DC.L $1C000000,$7F000000
- DC.L $53000000,$AA800000
- DC.L $D3800000,$86800000
- DC.L $7F000000,$6B000000
- DC.L $1C000000,$00000000
- DC.L $1C000000,$02000000
- DC.L $53000000,$43000000
- DC.L $47000000,$3E000000
- DC.L $1C000000,$00000000
- DC.L $00000000,$00000000
- DC.L $3C000000,$3C000000
- DC.L $3C000000,$38000000
- DC.L $00000000,$00000000
- DC.L $00000000,$00000000
-
- b7dat:
- DC.L $38000000,$6C000000
- DC.L $D2000000,$A6000000
- DC.L $CA000000,$54000000
- DC.L $38000000,$00000000
- DC.L $08000000,$24000000
- DC.L $04000000,$4C000000
- DC.L $38000000,$00000000
- DC.L $00000000,$30000000
- DC.L $78000000,$78000000
- DC.L $30000000,$00000000
- DC.L $00000000,$00000000
-
-
- b8dat:
- DC.L $70000000,$D8000000
- DC.L $B8000000,$E8000000
- DC.L $70000000,$00000000
- DC.L $10000000,$30000000
- DC.L $70000000,$00000000
- DC.L $00000000,$60000000
- DC.L $40000000,$00000000
- DC.L $00000000,$00000000
-
-
- m0dat: dc.w 0,0,0,0,0,0,0,0,0,0
- dc.w 0,0,0,0,0,0,0,0,0,0
- dc.w 0,0,0,0,0,0,0,0,0,0
- dc.w 0,0,0,0,0,0,0,0,0,0
- dc.w 0,0,0,0,0,0,0,0,0,0
- dc.w 0,0,0,0,0,0,0,0,0,0
- dc.w 0,0,0,0,0,0,0,0,0,0
- dc.w 0,0,0,0,0,0,0,0,0,0
- dc.w 0,0,0,0,0,0,0,0,0,0
- dc.w 0,0,0,0,0,0,0,0,0,0
- dc.w 0,0,0,0,0,0,0,0,0,0
- dc.w 0,0,0,0,0,0,0,0,0,0
-
- m1dat: dc.w 0,0,0,0,0,0,0,0,0,0
- dc.w 0,0,0,0,0,0,0,0,0,0
- dc.w 0,0,0,0,0,0,0,0,0,0
- dc.w 0,0,0,0,0,0,0,0,0,0
- dc.w 0,0,0,0,0,0,0,0,0,0
- dc.w 0,0,0,0,0,0,0,0,0,0
- dc.w 0,0,0,0,0,0,0,0,0,0
- dc.w 0,0,0,0,0,0,0,0,0,0
-
- ; Masken-Tabelle (Ausmasse wie
-
- m2dat: dc.w 0,0,0,0,0,0,0,0,0,0
- dc.w 0,0,0,0,0,0,0,0,0,0
- dc.w 0,0,0,0,0,0,0,0,0,0
- dc.w 0,0,0,0,0,0,0,0,0,0
- dc.w 0,0,0,0,0,0,0,0,0,0
- dc.w 0,0,0,0,0,0,0,0,0,0
-
-
- ; Ebene der bitMap-Daten).
-
-
- m3dat: dc.w 0,0,0,0,0,0,0,0,0,0
- dc.w 0,0,0,0,0,0,0,0,0,0
- dc.w 0,0,0,0,0,0,0,0,0,0
- dc.w 0,0,0,0,0,0,0,0,0,0
- dc.w 0,0,0,0,0,0,0,0,0,0
- dc.w 0,0
-
-
- ; Wird von init-Routine gefüllt
-
- m4dat: dc.w 0,0,0,0,0,0,0,0,0,0
- dc.w 0,0,0,0,0,0,0,0
- dc.w 0,0,0,0,0,0,0,0,0,0
- dc.w 0,0,0,0,0,0,0,0,0,0
- dc.w 0,0,0,0,0,0,0,0,0,0
-
-
- m5dat: dc.w 0,0,0,0,0,0,0,0,0,0
- dc.w 0,0,0,0
- dc.w 0,0,0,0,0,0,0,0,0,0
- dc.w 0,0,0,0,0,0,0,0,0,0
- dc.w 0,0,0,0,0,0,0,0,0,0
-
- m6dat: dc.w 0,0,0,0,0,0,0,0,0,0
- dc.w 0,0,0,0,0,0,0,0,0,0
- dc.w 0,0,0,0,0,0,0,0,0,0
- dc.w 0,0,0,0,0,0,0,0,0,0
-
-
- m7dat: dc.w 0,0,0,0,0,0
- dc.w 0,0,0,0,0,0,0,0,0,0
- dc.w 0,0,0,0,0,0,0,0,0,0
- dc.w 0,0,0,0,0,0,0,0,0,0
-
- m8dat: dc.w 0,0
- dc.w 0,0,0,0,0,0,0,0,0,0
- dc.w 0,0,0,0,0,0,0,0,0,0
- dc.w 0,0,0,0,0,0,0,0,0,0
-
-
- copperlist:
- dc.w $1901,-2,$180,0
- dc.w $2a01,-2,$e0,0,$e2,0,$e4,0,$e6,0,$e8,0,$ea,0
- dc.w $182,$040,$184,$060,$186,$080,$188,$090
- dc.w $18a,$0b0,$18c,$0f0,$18e,$fff
- dc.w $80,0,$82,0,$88,0
- ColInt1:
- blk.l 2*60
- ColInt2:
- blk.l 2*60
-
- jpointers:dc.l 0,0,0,0 ;pointer
-
-
- ;Sinustabellen fuer Jonglieren...
- even
- jongx:
- dc.w 2,5,8,10,13,15,18
- dc.w 20,21,23,24,26,26,27,27
- dc.w 27,27,27,26,25,24,22,20
- dc.w 18,16,14,11,9,6,3,1
- dc.w -1,-4,-7,-9,-12,-14,-17,-19
- dc.w -21,-22,-24,-25,-26,-27,-27,-27
- dc.w -27,-27,-26,-25,-24,-23,-21,-19
- dc.w -17,-15,-13,-10,-7,-5,-2
- jongxend:
- dc.w 2,5,8,10,13,15,18
- dc.w 20,21,23,24,26,26,27,27
- dc.w 27,27,27,26,25,24,22,20
- dc.w 18,16,14,11,9,6,3,1
- dc.w -1,-4,-7,-9,-12,-14,-17,-19
- dc.w -21,-22,-24,-25,-26,-27,-27,-27
- dc.w -27,-27,-26,-25,-24,-23,-21,-19
- dc.w -17,-15,-13,-10,-7,-5,-2
- jongy:
- dc.w 59
- dc.w 59,59,58,57,56,54,52,49
- dc.w 47,43,40,37,33,29,25
- dc.w 32,40,48,56,63,70,76
- dc.w 82,87,92,96,99,102,103,104
- dc.w 104,104,102,100,97,94,89,84
- dc.w 79,72,66,59,51,44,36,28
- dc.w 20,23,27,31,35,39,42,45
- dc.w 48,51,53,55,57,58,59
- jongyend:
- dc.w 59
- dc.w 59,59,58,57,56,54,52,49
- dc.w 47,43,40,37,33,29,25
- dc.w 32,40,48,56,63,70,76
- dc.w 82,87,92,96,99,102,103,104
- dc.w 104,104,102,100,97,94,89,84
- dc.w 79,72,66,59,51,44,36,28
- dc.w 20,23,27,31,35,39,42,45
- dc.w 48,51,53,55,57,58,59
-
- ;Armbewegung...
-
- armjong:
- dc.w -20,-20,-22,-24,-24,-28,-28,-32,-24,-28,-22,-24
- dc.w -20,-20,-20,-20,-20,-20,-20,-20,-20,-20
-
- dc.w -20,-20,-20,-20,-20,-20,-20,-20
- dc.w -20,-20,-22,-24,-24,-28,-28,-32,-24,-28,-22,-24
- dc.w -20,-20,-20,-20,-20,-20,-20,-20,-20,-20
-
- dc.w -20,-20,-20,-20,-20,-20,-20,-20
- dc.w -20,-20,-22,-24,-24,-28,-28,-32,-24,-28,-22,-24
- dc.w -20,-20,-20,-20,-20,-20,-20,-20,-20,-20
-
- dc.w -20,-20,-20,-20,-20,-20,-20,-20
- dc.w -20,-20,-22,-24,-24,-28,-28,-32,-24,-28,-22,-24
- dc.w -20,-20,-20,-20,-20,-20,-20,-20,-20,-20
-
- dc.w -20,-20,-20,-20,-20,-20,-20,-20
- dc.w -20,-20,-22,-24,-24,-28,-28,-32,-24,-28,-22,-24
- dc.w -20,-20,-20,-20,-20,-20,-20,-20,-20,-20
-
- dc.w -20,-20,-20,-20,-20,-20,-20,-20
- dc.w -20,-20,-22,-24,-24,-28,-28,-32,-24,-28,-22,-24
- dc.w -20,-20,-20,-20,-20,-20,-20,-20,-20,-20
-
-
- ballart: ;Ballarten...
- dc.w 44,1,1,2,40,41,25,24,24,23,22,21,25,24,24,23,22,21
- dc.w 25,24,24,23,23,23,24,25,24,24,23,23,23,24
- dc.w 7,7,7,7
- end:
-