home *** CD-ROM | disk | FTP | other *** search
- Main:
- bsr OpenGfx
- bsr InitSprites
- move.l $6c,IrqVec
- move.l #IrqRoutine,$6c
- maus:
- btst #6,$bfe001
- bne maus
- move.l IrqVec,$6c
- bsr RemoveSprites
- rts
-
- CloseGfx:
- move.l 4,a6
- move.l gfxbase,a1
- jsr -414(a6)
- rts
-
- OpenGfx:
- move.l 4,a6
- lea gfxname,a1
- jsr -408(a6)
- move.l d0,gfxbase
- rts
-
- InitSprites:
- move.l #0,snr1
- move.l #40,snr2
- move.l #80,snr3
- move.l #120,snr4
- move.l #160,snr5
- move.l #200,snr6
- move.l #240,snr7
- move.l #280,snr8
- rts
-
- IrqRoutine:
- movem.l d0/d1/a0/a1/a5/a6,-(a7) ;save stack
- lea $dff000,a0
- move.l 4,a6
- move.w $1c(a0),d1
- btst #$e,d1 ;irq dissable?
- beq.s irqend
- and.w $1e(a0),d1
- btst #6,d1
- beq.s lev3vb
- movem.l $9c(a6),a1/a5
- pea -$24(a6)
- jmp (a5)
- lev3vb:
- btst #5,d1 ;vertical blank
- beq.s lev3cop
- bsr move
- movem.l $90(a6),a1/a5
- pea -$24(a6)
- jmp (a5)
- lev3cop:
- btst #4,d1 ;copper
- beq.s irqend
- movem.l $84(a6),a1/a5
- pea -$24(a6)
- jmp (a5)
- irqend:
- movem.l (a7)+,d0/d1/a0/a1/a5/a6
- rte
-
- IrqVec: dc.l 0
-
- move:
- movem.l d0-d7/a0-a6,-(sp)
- bsr MoveSpriteMain
- movem.l (sp)+,d0-d7/a0-a6
- rts
-
- MoveSpriteMain:
- bsr BewegeSprites
- add.l #4,snr1
- add.l #4,snr2
- add.l #4,snr3
- add.l #4,snr4
- add.l #4,snr5
- add.l #4,snr6
- add.l #4,snr7
- add.l #4,snr8
- EndeMainMove:
- rts
-
- snr1: dc.l 00
- snr2: dc.l 40
- snr3: dc.l 80
- snr4: dc.l 120
- snr5: dc.l 160
- snr6: dc.l 200
- snr7: dc.l 240
- snr8: dc.l 280
- sx: dc.l 0
- sy: dc.l 0
-
- BewegeSprites:
- lea points,a5
- add.l snr1,a5
- move.l PointsNr,d7
- sub.l #4,d7
- mulu #4,d7
- cmp.l snr1,d7
- bcc spr1
- clr.l snr1
- spr1:
- move.w (a5)+,d0
- move.w (a5)+,d1
- lea.l sprite00,a1
- bsr SetSprite
-
- lea points,a5
- add.l snr2,a5
- cmp.l snr2,d7
- bcc spr2
- clr.l snr2
- spr2:
- move.w (a5)+,d0
- move.w (a5)+,d1
- lea.l sprite01,a1
- bsr SetSprite
-
- lea points,a5
- add.l snr3,a5
- cmp.l snr3,d7
- bcc spr3
- clr.l snr3
- spr3:
- move.w (a5)+,d0
- move.w (a5)+,d1
- lea.l sprite02,a1
- bsr SetSprite
-
- lea points,a5
- add.l snr4,a5
- cmp.l snr4,d7
- bcc spr4
- clr.l snr4
- spr4:
- move.w (a5)+,d0
- move.w (a5)+,d1
- lea.l sprite03,a1
- bsr SetSprite
-
- lea points,a5
- add.l snr5,a5
- cmp.l snr5,d7
- bcc spr5
- clr.l snr5
- spr5:
- move.w (a5)+,d0
- move.w (a5)+,d1
- lea.l sprite04,a1
- bsr SetSprite
-
- lea points,a5
- add.l snr6,a5
- cmp.l snr6,d7
- bcc spr6
- clr.l snr6
- spr6:
- move.w (a5)+,d0
- move.w (a5)+,d1
- lea.l sprite05,a1
- bsr SetSprite
-
- lea points,a5
- add.l snr7,a5
- cmp.l snr7,d7
- bcc spr7
- clr.l snr7
- spr7:
- move.w (a5)+,d0
- move.w (a5)+,d1
- lea.l sprite06,a1
- bsr SetSprite
-
- lea points,a5
- add.l snr8,a5
- cmp.l snr8,d7
- bcc spr8
- clr.l snr8
- spr8:
- move.w (a5)+,d0
- move.w (a5)+,d1
- lea.l sprite07,a1
- bsr SetSprite
- rts
-
- SetSprite:
- move.l gfxbase,a6
- move.l #0,a0
- jsr -426(a6)
- rts
-
- RemoveSprites:
- move.l gfxbase,a6
- move.b #0,d0
- jsr -414(a6)
- move.b #1,d0
- jsr -414(a6)
- move.b #2,d0
- jsr -414(a6)
- move.b #3,d0
- jsr -414(a6)
- move.b #4,d0
- jsr -414(a6)
- move.b #5,d0
- jsr -414(a6)
- move.b #6,d0
- jsr -414(a6)
- move.b #7,d0
- jsr -414(a6)
- rts
-
- sprite00: dc.l spritelook0 ;pointer to Sprite-image
- dc.w 8 ;sprite hight
- dc.w 0,0 ;x,y
- dc.w 0 ;Sprite #0
-
- sprite01: dc.l spritelook1
- dc.w 8
- dc.w 0,0
- dc.w 1 ;Sprite #1
-
- sprite02: dc.l spritelook2
- dc.w 8
- dc.w 0,0
- dc.w 2
-
- sprite03: dc.l spritelook3
- dc.w 8
- dc.w 0,0
- dc.w 3
-
- sprite04: dc.l spritelook4
- dc.w 8
- dc.w 0,0
- dc.w 4
-
- sprite05: dc.l spritelook5
- dc.w 8
- dc.w 0,0
- dc.w 5
-
- sprite06: dc.l spritelook6
- dc.w 8
- dc.w 0,0
- dc.w 6
-
- sprite07: dc.l spritelook7
- dc.w 10
- dc.w 0,0
- dc.w 7
-
- spritelook0: dc.w 0,0
- dc.w %1111111100000000,0
- dc.w %1000000100000000,0
- dc.w %1000000100000000,0
- dc.w %1000000100000000,0
- dc.w %1000000100000000,0
- dc.w %1000000100000000,0
- dc.w %1000000100000000,0
- dc.w %1111111100000000,0
- dc.w 0,0
-
- spritelook1: dc.w 0,0
- dc.w %1000000000000000,0
- dc.w %1100000000000000,0
- dc.w %1110000000000000,0
- dc.w %1111000000000000,0
- dc.w %1111100000000000,0
- dc.w %1111110000000000,0
- dc.w %1111111000000000,0
- dc.w %1111111100000000,0
- dc.w 0,0
-
- spritelook2: dc.w 0,0
- dc.w %1110000000000000,0
- dc.w %1111100000000000,0
- dc.w %1111110000000000,0
- dc.w %1111110000000000,0
- dc.w %1111110000000000,0
- dc.w %1111110000000000,0
- dc.w %1111100000000000,0
- dc.w %1110000000000000,0
- dc.w 0,0
-
- spritelook3: dc.w 0,0
- dc.w %1101101100000000,0
- dc.w %1101101100000000,0
- dc.w %0001100000000000,0
- dc.w %1111111100000000,0
- dc.w %1111111100000000,0
- dc.w %0001100000000000,0
- dc.w %1101101100000000,0
- dc.w %1101101100000000,0
- dc.w 0,0
-
- spritelook4: dc.w 0,0
- dc.w %0000001110000000,0
- dc.w %0000010001000000,0
- dc.w %0000100000100000,0
- dc.w %0000100000100000,0
- dc.w %0001000000010000,0
- dc.w %0001000000010000,0
- dc.w %0001000000010000,0
- dc.w %0111000000011100,0
- dc.w 0,0
-
- spritelook5: dc.w 0,0
- dc.w %0000001000000000,0
- dc.w %0000010100000000,0
- dc.w %0000100010000000,0
- dc.w %0001000001000000,0
- dc.w %0010000000100000,0
- dc.w %0100000000010000,0
- dc.w %1000000000001000,0
- dc.w %1111111111111000,0
- dc.w 0,0
-
- spritelook6: dc.w 0,0
- dc.w %0000001100000000,0
- dc.w %0000011110000000,0
- dc.w %0000111111000000,0
- dc.w %0001111111100000,0
- dc.w %0000111111000000,0
- dc.w %0000011110000000,0
- dc.w %0000001100000000,0
- dc.w 0,0
-
- spritelook7: dc.w 0,0
- dc.w %0000110000000000,0
- dc.w %0011001100000000,0
- dc.w %0101111010000000,0
- dc.w %1010000101000000,0
- dc.w %1010110101000000,0
- dc.w %1010110101000000,0
- dc.w %1010000101000000,0
- dc.w %0101111010000000,0
- dc.w %0011001100000000,0
- dc.w %0000110000000000,0
- dc.w 0,0
-
- gfxname: dc.b "graphics.library",0,0
- gfxbase: dc.l 0
-
- ;
- ; Load Point-Data.S at this place
- ;
-
- PointsNr: dc.l $4E
-
- Points:
- DC.W $1 ,$AF ,$2 ,$AF
- DC.W $4 ,$AF ,$7 ,$AF
- DC.W $A ,$AF ,$E ,$AF
- DC.W $13 ,$AF ,$18 ,$AF
- DC.W $1D ,$AF ,$22 ,$AF
- DC.W $28 ,$AF ,$2F ,$AF
- DC.W $36 ,$AF ,$3E ,$AF
- DC.W $45 ,$AF ,$4C ,$AF
- DC.W $55 ,$AF ,$5D ,$AF
- DC.W $67 ,$AE ,$70 ,$AE
- DC.W $77 ,$AD ,$81 ,$AD
- DC.W $89 ,$AD ,$92 ,$AB
- DC.W $9B ,$AB ,$A5 ,$A9
- DC.W $B1 ,$A8 ,$BD ,$A7
- DC.W $CB ,$A5 ,$D8 ,$A5
- DC.W $E5 ,$A3 ,$F1 ,$A1
- DC.W $FD ,$9F ,$10A ,$9D
- DC.W $117 ,$9B ,$125 ,$99
- DC.W $132 ,$97 ,$13F ,$96
- DC.W $13F ,$95 ,$13F ,$95
- DC.W $13F ,$94 ,$13F ,$93
- DC.W $13F ,$93 ,$13F ,$93
- DC.W $13F ,$93 ,$13F ,$93
- DC.W $13F ,$93 ,$13F ,$94
- DC.W $13D ,$95 ,$13B ,$96
- DC.W $137 ,$97 ,$132 ,$99
- DC.W $12C ,$9A ,$124 ,$9C
- DC.W $11C ,$9D ,$115 ,$9F
- DC.W $10B ,$A1 ,$101 ,$A3
- DC.W $F5 ,$A4 ,$EA ,$A6
- DC.W $DC ,$A8 ,$CD ,$AB
- DC.W $BE ,$AD ,$AD ,$B1
- DC.W $9C ,$B3 ,$8B ,$B5
- DC.W $77 ,$B7 ,$64 ,$B8
- DC.W $4F ,$B9 ,$3D ,$BA
- DC.W $26 ,$BB ,$12 ,$BB
- DC.W $0 ,$BB ,$0 ,$BB
- DC.W $0 ,$BB ,$0 ,$BA
- DC.W $0 ,$B9 ,$0 ,$B9
- DC.W $0