annotate sprites.s68 @ 14:166d58b234c3

Added my old sprite library I forgot to add earlier
author Mike Pavone <pavone@retrodev.com>
date Sun, 08 Sep 2013 12:17:02 -0700
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
14
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
1 ;Sprite Management Library
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
2 ;Copyright 2003 by Mike Pavone a.k.a. Mask of Destiny
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
3 ;
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
4 ;This library manages the allocation and deallocation of sprites for use with the Genesis VDP
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
5 ;Keep in mind that you shouldn't play with the link field of your sprites when using this library
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
6 ;
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
7
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
8 SpriteTable equ $FFFFF000
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
9 SpriteTable4 equ SpriteTable+4
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
10 SpriteLink equ SpriteTable+3
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
11
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
12
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
13 ;InitSprites - This initializes the library, call it once before using the any of the other functions
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
14 ;Doesn't effect any registers
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
15
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
16 InitSprites:
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
17 move.l #0,(SpriteTable).w
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
18 move.l #0,(SpriteTable4).w
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
19 rts
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
20
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
21 ;AddSprites - Adds a sprite to the sprite list and initializes it's entry. Returns pointer to sprite list
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
22 ;entry in A0, destroys data in a0, d2, d1 and d0
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
23
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
24 AddSprite:
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
25 lea (SpriteLink).w,a0
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
26 moveq #0,d2
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
27 moveq #0,d0
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
28
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
29 tst.b (FirstSprite)
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
30 beq FoundFirst
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
31
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
32
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
33 moveq #78,d1
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
34 FindEmpty:
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
35 move.b (a0),d0
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
36 tst.b d0
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
37 beq FoundEmpty
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
38
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
39 sub.b d2,d0
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
40 cmp.b #1,d0
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
41 bne FoundEmpty
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
42 add.b #1,d2
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
43 add.l #8,a0
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
44 dbra d1,FindEmpty
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
45
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
46 move.l #0,a0
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
47 rts
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
48
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
49 FoundFirst:
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
50 sub.l #3,a0
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
51 move.b #1,(FirstSprite)
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
52 bra CopyDefaultSprite
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
53
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
54 FoundEmpty:
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
55 move.b (a0),d0
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
56 add.b #1,d2
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
57 move.b d2,(a0)
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
58 add.l #5,a0
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
59
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
60 CopyDefaultSprite:
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
61 move.w #144,(a0)+
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
62 move.b $0,(a0)+
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
63 move.b d0,(a0)+
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
64 move.l #144,(a0)
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
65 sub.l #4,a0
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
66
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
67 rts
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
68
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
69
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
70 DefaultSprite: ;not actually used, just there for reference
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
71 dc.b $0, $20, $0, $0, $0, $0, $0, $20
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
72 FirstSprite
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
73 dc.w $0
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
74
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
75
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
76 ;FreeSprite - Deletes a sprite from the sprite table. Takes a pointer to the sprite table entry to be removed in a0
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
77
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
78 FreeSprite:
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
79 move.l a0,d0
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
80 move.b 3(a0),d2
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
81 sub.w #SpriteTable,d0
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
82 lsr.w #3,d0
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
83
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
84
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
85
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
86
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
87 lea (SpriteLink).w,a0
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
88 FindPrecedingSprite:
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
89 move.b (a0),d1
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
90 beq PrecedingSpriteNotFound
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
91
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
92 cmp.b d1,d0
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
93 beq FoundPrecedingSprite
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
94
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
95 add.l #8,a0
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
96
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
97 bra FindPrecedingSprite
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
98
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
99 FoundPrecedingSprite:
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
100 move.b d2,(a0)
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
101
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
102 PrecedingSpriteNotFound:
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
103 rts
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
104
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
105
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
106
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
107 ;SpriteCopyVRAM - Copies the sprite table from RAM to VRAM. Should be called once every frame during VBLANK. Expects addresses for VDP to
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
108 ;be in A4 and A5 and that auto-increment is set appropriately
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
109
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
110 SpriteCopyVRAM:
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
111 move.l #$95009678,(a5) ;setup DMA source
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
112 move.w #$977F,(a5)
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
113 move.l #$93409401,(a5) ;set DMA length
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
114 move.l #$78000083,(a5) ;Do DMA to sprite table
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
115
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
116 rts
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
117
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
118 lea (SpriteTable).w,a0
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
119 move.l #$78000003,(a5) ;VDP command word for sprite table
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
120
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
121 moveq #39,d0
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
122 SpriteCopyLoop:
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
123 move.l (a0)+,(a4)
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
124 move.l (a0)+,(a4)
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
125 move.l (a0)+,(a4)
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
126 move.l (a0)+,(a4)
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
127 dbra d0,SpriteCopyLoop
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
128
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
129 rts
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
130 Stuff:
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
131 dc.b 0
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
132 Stuffb:
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
133 dc.b 0
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
134 dc.w 0
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
135
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
136 AddBigSprite:
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
137 move.w (a1)+,d3
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
138 lea BigSpritePointerTable(pc),a2
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
139 subq #1,d3 ;change back to a sub 1
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
140
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
141 BigSpriteMapLoop:
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
142 bsr AddSprite
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
143 move.w #$265D,d1
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
144 move.b (a1)+,2(a0)
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
145 add.b (a1)+,d1
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
146 move.w d1,4(a0)
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
147 move.b (a1)+,d1
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
148 add.b d1,7(a0)
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
149 move.b (a1)+,d1
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
150 add.b d1,1(a0)
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
151 move.l a0,(a2)+
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
152 dbra d3,BigSpriteMapLoop
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
153
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
154 move.l #0,(a2)
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
155
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
156 move.w (a1)+,d0
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
157 move.w #$9360,(a5)
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
158 move.w #$9404,(a5)
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
159
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
160 move.l a1,d7
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
161 move.w #$9500,d6
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
162 ror.l #1,d7
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
163 move.b d7,d6
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
164 move.w d6,(a5)
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
165 ror.l #8,d7
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
166 move.b d7,d6
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
167 add.w #$100,d6
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
168 move.w d6,(a5)
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
169 ror.l #8,d7
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
170 move.b d7,d6
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
171 add.w #$100,d6
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
172 and.b #$7F,d6
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
173 move.w d6,(a5)
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
174
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
175 move.l #$4BA00083,(a5)
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
176
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
177 ;SpriteLoop:
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
178 ; move.w (a1)+,(a4)
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
179 ; dbra d0,SpriteLoop
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
180
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
181 ; move.l (BigSpriteXPos),(BigSpriteXPosOld)
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
182
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
183 ; move.l #$00900090,(BigSpriteXPos)
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
184 rts
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
185
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
186 FreeBigSprite:
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
187 lea BigSpritePointerTable(pc),a1
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
188 BigSpriteFreeLoop:
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
189 move.l (a1)+,d0
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
190 beq BigspriteFreeDone
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
191 move.l d0,a0
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
192 bsr FreeSprite
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
193 bra BigSpriteFreeLoop
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
194
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
195
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
196 BigspriteFreeDone:
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
197 rts
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
198
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
199 ChangeFrameBigSprite:
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
200 lea BigSpriteFrameTable(pc),a2
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
201 ; move.l (a2),d0
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
202 ; beq OldFreeBigSprite
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
203
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
204 bsr FreeBigSprite
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
205
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
206 OldFreeBigSprite:
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
207 add.l d3,d3
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
208 add.l d3,d3
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
209 add.l d3,a2
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
210
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
211 move.l (a2),a1
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
212
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
213 bsr AddBigSprite
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
214
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
215 move.w (BigSpriteXPos),d0
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
216 move.w (BigSpriteYPos),d1
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
217 bsr MoveBigSprite
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
218 move.w d0,(BigSpriteXPos)
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
219 move.w d1,(BigSpriteYPos)
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
220
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
221 rts
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
222
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
223 InitFrameBigSprite:
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
224 lea BigSpriteFrameTable(pc),a1
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
225 InitFrameBigSpriteLoop:
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
226 move.l (a0)+,d0
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
227 beq DoneInitBigSprite
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
228 move.l a0,(a1)+
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
229 add.l d0,a0
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
230 bra InitFrameBigSpriteLoop
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
231
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
232 DoneInitBigSprite:
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
233 move.l a0,(a1)+
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
234 move.l #0,(a1)
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
235 move.l a0,a1
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
236 bsr AddBigSprite
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
237 rts
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
238
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
239
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
240 MoveBigSprite:
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
241 lea BigSpritePointerTable(pc),a0
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
242 BigSpriteMoveLoop:
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
243 move.l (a0)+,a1
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
244 move.l a1,d2
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
245 beq BigSpriteMoveDone
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
246 add.w d1,(a1)
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
247
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
248 add.w d0,6(a1)
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
249 bra BigSpriteMoveLoop
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
250 BigSpriteMoveDone:
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
251 add.w d1,(BigSpriteYPos)
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
252 add.w d0,(BigSpriteXPos)
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
253 rts
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
254
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
255
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
256 ; include sendrecv.asm
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
257
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
258 BigSpritePointerTable:
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
259 dc.l 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
260 BigSpriteFrameTable:
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
261 dc.l 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
262 BigSpriteXPos:
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
263 dc.w 0
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
264 BigSpriteYPos:
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
265 dc.w 0
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
266 BigSpriteXPosOld:
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
267 dc.w 0
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
268 BigSpriteYPosOld:
166d58b234c3 Added my old sprite library I forgot to add earlier
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
269 dc.w $0