annotate genesis.s68 @ 9:997690aa0507

Improve method for choosing line palette entries. Read number of global and dynamic colors from image binary. Go back to doing a word, longword, word pattern of writes for turning off display, doing DMA and turning it back on again to make things work correctly on the real hardware.
author Mike Pavone <pavone@retrodev.com>
date Wed, 04 Sep 2013 00:41:52 -0700
parents 4ffd621f1d0c
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
1 dc.l $0, start
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
2 dc.l empty_handler
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
3 dc.l empty_handler
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
4 ;$10
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
5 dc.l empty_handler
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
6 dc.l empty_handler
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
7 dc.l empty_handler
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
8 dc.l empty_handler
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
9 ;$20
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
10 dc.l empty_handler
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
11 dc.l empty_handler
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
12 dc.l empty_handler
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
13 dc.l empty_handler
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
14 ;$30
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
15 dc.l empty_handler
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
16 dc.l empty_handler
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
17 dc.l empty_handler
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
18 dc.l empty_handler
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
19 ;$40
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
20 dc.l empty_handler
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
21 dc.l empty_handler
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
22 dc.l empty_handler
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
23 dc.l empty_handler
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
24 ;$50
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
25 dc.l empty_handler
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
26 dc.l empty_handler
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
27 dc.l empty_handler
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
28 dc.l empty_handler
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
29 ;$60
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
30 dc.l empty_handler
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
31 dc.l empty_handler
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
32 dc.l empty_handler
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
33 dc.l empty_handler
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
34 ;$70
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
35 dc.l HINT
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
36 dc.l empty_handler
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
37 dc.l VINT
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
38 dc.l empty_handler
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
39 ;$80
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
40 dc.l empty_handler
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
41 dc.l empty_handler
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
42 dc.l empty_handler
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
43 dc.l empty_handler
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
44 ;$90
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
45 dc.l empty_handler
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
46 dc.l empty_handler
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
47 dc.l empty_handler
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
48 dc.l empty_handler
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
49 ;$A0
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
50 dc.l empty_handler
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
51 dc.l empty_handler
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
52 dc.l empty_handler
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
53 dc.l empty_handler
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
54 ;$B0
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
55 dc.l empty_handler
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
56 dc.l empty_handler
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
57 dc.l empty_handler
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
58 dc.l empty_handler
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
59 ;$C0
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
60 dc.l empty_handler
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
61 dc.l empty_handler
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
62 dc.l empty_handler
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
63 dc.l empty_handler
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
64 ;$D0
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
65 dc.l empty_handler
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
66 dc.l empty_handler
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
67 dc.l empty_handler
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
68 dc.l empty_handler
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
69 ;$E0
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
70 dc.l empty_handler
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
71 dc.l empty_handler
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
72 dc.l empty_handler
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
73 dc.l empty_handler
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
74 ;$F0
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
75 dc.l empty_handler
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
76 dc.l empty_handler
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
77 dc.l empty_handler
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
78 dc.l empty_handler
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
79 dc.b "SEGA"
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
80 empty_handler:
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
81 rte
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
82 start:
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
83 ;background and sprite test
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
84
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
85 ButtonState equ $FFFFEFF0
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
86 ButtonStateNew equ ButtonState+2
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
87 PalAddress equ ButtonStateNew+2
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
88
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
89 CRAMXferSizeCmd equ $9308
9
997690aa0507 Improve method for choosing line palette entries. Read number of global and dynamic colors from image binary. Go back to doing a word, longword, word pattern of writes for turning off display, doing DMA and turning it back on again to make things work correctly on the real hardware.
Mike Pavone <pavone@retrodev.com>
parents: 7
diff changeset
90 CRAMDMACmd equ $C0000080
3
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
91 StaticColors equ 8
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
92
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
93 USE_HINT equ 0
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
94 move.b #$40, $A10009
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
95 move.l #$C00000, a4
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
96 move.l #$c00004, a5
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
97
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
98 move.l #$0, a7
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
99
7
4ffd621f1d0c Initialize VDP register 0 so it works on the Mega Everdrive. Temporarily disable the sprite stuff
Mike Pavone <pavone@retrodev.com>
parents: 3
diff changeset
100 move.w #$8004, (a5)
3
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
101 move.w #$8104, (a5) ;turn off display
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
102 move.w #$8200, (a5) ;Table A = 0000
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
103 move.w #$8400, (a5) ;Table B = 0000
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
104 move.w #$857C, (a5) ;Sprite Table = F800
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
105 move.w #$8B00, (a5) ;set full screen vertical and horizontal scrolling
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
106 move.w #$8C01, (a5) ;H40 mode, no shadow/hilight, no interlace
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
107 move.w #$8D3F, (a5) ;H Scroll = FC00
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
108 move.w #$9001, (a5) ;64x32 scroll tables
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
109
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
110
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
111
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
112 lea BgData(pc), a0
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
113 move.w (a0)+, d0 ;size in words
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
114 move.w (a0)+, d1 ;width in cells
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
115 move.w (a0)+, d2 ;height in cells
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
116 move.w d2, d7
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
117
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
118 subq #1, d0 ;adjust for 68K dbra routine
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
119 move.w #$8f02, (a5) ;autoincrement = 2
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
120 move.l #$50200000, (a5);beginning of background tile area
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
121 CopyTiles:
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
122 move.w (a0)+, (a4) ;copy tiles to VRAM
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
123 dbra d0, CopyTiles
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
124
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
125 move.l #$40000000, d4 ;beginning of Plane A Name table
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
126 move.l #$00800000, d5 ;delta between lines
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
127 move.w #$81, d6
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
128 subq #1, d1
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
129 subq #1, d2
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
130 move.w d1, d3
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
131 WriteNamesY:
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
132 move.l d4, (a5)
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
133 move.w d3, d1
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
134
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
135 WriteNamesX:
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
136 move.w d6, (a4)
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
137 addq #1, d6
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
138 dbra d1, WriteNamesX
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
139
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
140 add.l d5, d4
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
141 dbra d2, WriteNamesY
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
142
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
143 move.l #$C0000000, (a5) ;setup writes to CRAM
9
997690aa0507 Improve method for choosing line palette entries. Read number of global and dynamic colors from image binary. Go back to doing a word, longword, word pattern of writes for turning off display, doing DMA and turning it back on again to make things work correctly on the real hardware.
Mike Pavone <pavone@retrodev.com>
parents: 7
diff changeset
144 move.b (a0)+, d0 ;Number of static colors
997690aa0507 Improve method for choosing line palette entries. Read number of global and dynamic colors from image binary. Go back to doing a word, longword, word pattern of writes for turning off display, doing DMA and turning it back on again to make things work correctly on the real hardware.
Mike Pavone <pavone@retrodev.com>
parents: 7
diff changeset
145 move.b (a0)+, d1 ;Number of dynamic colors
997690aa0507 Improve method for choosing line palette entries. Read number of global and dynamic colors from image binary. Go back to doing a word, longword, word pattern of writes for turning off display, doing DMA and turning it back on again to make things work correctly on the real hardware.
Mike Pavone <pavone@retrodev.com>
parents: 7
diff changeset
146 ext.w d0
997690aa0507 Improve method for choosing line palette entries. Read number of global and dynamic colors from image binary. Go back to doing a word, longword, word pattern of writes for turning off display, doing DMA and turning it back on again to make things work correctly on the real hardware.
Mike Pavone <pavone@retrodev.com>
parents: 7
diff changeset
147 move.w d0, -(a7)
997690aa0507 Improve method for choosing line palette entries. Read number of global and dynamic colors from image binary. Go back to doing a word, longword, word pattern of writes for turning off display, doing DMA and turning it back on again to make things work correctly on the real hardware.
Mike Pavone <pavone@retrodev.com>
parents: 7
diff changeset
148 beq NoStatic
997690aa0507 Improve method for choosing line palette entries. Read number of global and dynamic colors from image binary. Go back to doing a word, longword, word pattern of writes for turning off display, doing DMA and turning it back on again to make things work correctly on the real hardware.
Mike Pavone <pavone@retrodev.com>
parents: 7
diff changeset
149 subq.w #1, d0
3
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
150 CopyColors:
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
151 move.w (a0)+, (a4)
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
152 dbra d0, CopyColors
9
997690aa0507 Improve method for choosing line palette entries. Read number of global and dynamic colors from image binary. Go back to doing a word, longword, word pattern of writes for turning off display, doing DMA and turning it back on again to make things work correctly on the real hardware.
Mike Pavone <pavone@retrodev.com>
parents: 7
diff changeset
153 move.w (a7)+, d0
997690aa0507 Improve method for choosing line palette entries. Read number of global and dynamic colors from image binary. Go back to doing a word, longword, word pattern of writes for turning off display, doing DMA and turning it back on again to make things work correctly on the real hardware.
Mike Pavone <pavone@retrodev.com>
parents: 7
diff changeset
154 NoStatic:
3
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
155
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
156 move.l a0, (PalAddress).w
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
157
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
158
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
159 move.l #$60000010, (a5) ;setup writes to VSRAM
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
160 move.w #$0, (a4) ;vscroll = 0
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
161
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
162 move.l #$7C000003, (a5) ;setup writes to HScroll Table FC00
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
163 move.w #0, (a4) ;Plane A&B HScroll = 0;
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
164 move.w #0, (a4) ;
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
165
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
166 move.l #$78000003, (a5) ;clear sprite table
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
167 move.l #0, (a4)
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
168 move.l #0, (a4)
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
169
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
170 move.w #$8114, (a5) ;turn on DMA
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
171
7
4ffd621f1d0c Initialize VDP register 0 so it works on the Mega Everdrive. Temporarily disable the sprite stuff
Mike Pavone <pavone@retrodev.com>
parents: 3
diff changeset
172 ;bsr InitSprites
4ffd621f1d0c Initialize VDP register 0 so it works on the Mega Everdrive. Temporarily disable the sprite stuff
Mike Pavone <pavone@retrodev.com>
parents: 3
diff changeset
173 ;bsr AddSprite
3
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
174
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
175 move.w #$0, (a0)
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
176
7
4ffd621f1d0c Initialize VDP register 0 so it works on the Mega Everdrive. Temporarily disable the sprite stuff
Mike Pavone <pavone@retrodev.com>
parents: 3
diff changeset
177 ;bsr LoadSpritePal
4ffd621f1d0c Initialize VDP register 0 so it works on the Mega Everdrive. Temporarily disable the sprite stuff
Mike Pavone <pavone@retrodev.com>
parents: 3
diff changeset
178 ;bsr InitFrameBigSprite
3
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
179 moveq #0, d3
7
4ffd621f1d0c Initialize VDP register 0 so it works on the Mega Everdrive. Temporarily disable the sprite stuff
Mike Pavone <pavone@retrodev.com>
parents: 3
diff changeset
180 ;bsr ChangeFrameBigSprite
3
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
181
9
997690aa0507 Improve method for choosing line palette entries. Read number of global and dynamic colors from image binary. Go back to doing a word, longword, word pattern of writes for turning off display, doing DMA and turning it back on again to make things work correctly on the real hardware.
Mike Pavone <pavone@retrodev.com>
parents: 7
diff changeset
182 move.w d0, d5
997690aa0507 Improve method for choosing line palette entries. Read number of global and dynamic colors from image binary. Go back to doing a word, longword, word pattern of writes for turning off display, doing DMA and turning it back on again to make things work correctly on the real hardware.
Mike Pavone <pavone@retrodev.com>
parents: 7
diff changeset
183 ext.l d5
997690aa0507 Improve method for choosing line palette entries. Read number of global and dynamic colors from image binary. Go back to doing a word, longword, word pattern of writes for turning off display, doing DMA and turning it back on again to make things work correctly on the real hardware.
Mike Pavone <pavone@retrodev.com>
parents: 7
diff changeset
184 moveq #17, d2
997690aa0507 Improve method for choosing line palette entries. Read number of global and dynamic colors from image binary. Go back to doing a word, longword, word pattern of writes for turning off display, doing DMA and turning it back on again to make things work correctly on the real hardware.
Mike Pavone <pavone@retrodev.com>
parents: 7
diff changeset
185 lsl.l d2, d5
997690aa0507 Improve method for choosing line palette entries. Read number of global and dynamic colors from image binary. Go back to doing a word, longword, word pattern of writes for turning off display, doing DMA and turning it back on again to make things work correctly on the real hardware.
Mike Pavone <pavone@retrodev.com>
parents: 7
diff changeset
186 or.l #CRAMDMACmd, d5 ;setup DMA command word
3
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
187
9
997690aa0507 Improve method for choosing line palette entries. Read number of global and dynamic colors from image binary. Go back to doing a word, longword, word pattern of writes for turning off display, doing DMA and turning it back on again to make things work correctly on the real hardware.
Mike Pavone <pavone@retrodev.com>
parents: 7
diff changeset
188 ext.w d1
997690aa0507 Improve method for choosing line palette entries. Read number of global and dynamic colors from image binary. Go back to doing a word, longword, word pattern of writes for turning off display, doing DMA and turning it back on again to make things work correctly on the real hardware.
Mike Pavone <pavone@retrodev.com>
parents: 7
diff changeset
189 beq NoDynamic
997690aa0507 Improve method for choosing line palette entries. Read number of global and dynamic colors from image binary. Go back to doing a word, longword, word pattern of writes for turning off display, doing DMA and turning it back on again to make things work correctly on the real hardware.
Mike Pavone <pavone@retrodev.com>
parents: 7
diff changeset
190 or.w #$9300, d1
997690aa0507 Improve method for choosing line palette entries. Read number of global and dynamic colors from image binary. Go back to doing a word, longword, word pattern of writes for turning off display, doing DMA and turning it back on again to make things work correctly on the real hardware.
Mike Pavone <pavone@retrodev.com>
parents: 7
diff changeset
191 move.w d1, (a5) ;set Transfer length
3
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
192 move.w #$9400, (a5)
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
193
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
194 move.w #$8114, d6
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
195 move.w #$8174, d7
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
196
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
197 if USE_HINT
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
198
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
199 move.w #$8014, (a5)
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
200 move.w #$8A00, (a5) ;HINT occurs on every line
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
201 endif
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
202
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
203 move.w #$8174, (a5)
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
204 move #$2300, SR
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
205
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
206
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
207 Loop:
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
208 if USE_HINT
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
209 bra Loop
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
210 endif
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
211 WaitTop:
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
212 cmpi.b #$FF, 4(a5)
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
213 bne.s WaitTop
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
214
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
215 LineDone:
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
216 move.b 4(a5), d0
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
217 WaitNextLine:
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
218 cmp.b 4(a5), d0
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
219 beq WaitNextLine
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
220
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
221
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
222
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
223 HINT:
9
997690aa0507 Improve method for choosing line palette entries. Read number of global and dynamic colors from image binary. Go back to doing a word, longword, word pattern of writes for turning off display, doing DMA and turning it back on again to make things work correctly on the real hardware.
Mike Pavone <pavone@retrodev.com>
parents: 7
diff changeset
224 move.w d6, (a5)
997690aa0507 Improve method for choosing line palette entries. Read number of global and dynamic colors from image binary. Go back to doing a word, longword, word pattern of writes for turning off display, doing DMA and turning it back on again to make things work correctly on the real hardware.
Mike Pavone <pavone@retrodev.com>
parents: 7
diff changeset
225 move.l d5, (a5) ;start DMA
997690aa0507 Improve method for choosing line palette entries. Read number of global and dynamic colors from image binary. Go back to doing a word, longword, word pattern of writes for turning off display, doing DMA and turning it back on again to make things work correctly on the real hardware.
Mike Pavone <pavone@retrodev.com>
parents: 7
diff changeset
226 move.w d7, (a5)
997690aa0507 Improve method for choosing line palette entries. Read number of global and dynamic colors from image binary. Go back to doing a word, longword, word pattern of writes for turning off display, doing DMA and turning it back on again to make things work correctly on the real hardware.
Mike Pavone <pavone@retrodev.com>
parents: 7
diff changeset
227 ;move.l d6, (a5)
997690aa0507 Improve method for choosing line palette entries. Read number of global and dynamic colors from image binary. Go back to doing a word, longword, word pattern of writes for turning off display, doing DMA and turning it back on again to make things work correctly on the real hardware.
Mike Pavone <pavone@retrodev.com>
parents: 7
diff changeset
228 ;move.l d7, (a5)
997690aa0507 Improve method for choosing line palette entries. Read number of global and dynamic colors from image binary. Go back to doing a word, longword, word pattern of writes for turning off display, doing DMA and turning it back on again to make things work correctly on the real hardware.
Mike Pavone <pavone@retrodev.com>
parents: 7
diff changeset
229 move.w d1, (a5) ;set Transfer length
3
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
230 move.w #$9400, (a5)
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
231
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
232 if USE_HINT
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
233 rte
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
234 endif
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
235
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
236 cmp.b #223, 4(a5)
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
237 beq WaitTop
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
238
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
239 bra LineDone
9
997690aa0507 Improve method for choosing line palette entries. Read number of global and dynamic colors from image binary. Go back to doing a word, longword, word pattern of writes for turning off display, doing DMA and turning it back on again to make things work correctly on the real hardware.
Mike Pavone <pavone@retrodev.com>
parents: 7
diff changeset
240 NoDynamic:
997690aa0507 Improve method for choosing line palette entries. Read number of global and dynamic colors from image binary. Go back to doing a word, longword, word pattern of writes for turning off display, doing DMA and turning it back on again to make things work correctly on the real hardware.
Mike Pavone <pavone@retrodev.com>
parents: 7
diff changeset
241 move.w #$8174, (a5)
997690aa0507 Improve method for choosing line palette entries. Read number of global and dynamic colors from image binary. Go back to doing a word, longword, word pattern of writes for turning off display, doing DMA and turning it back on again to make things work correctly on the real hardware.
Mike Pavone <pavone@retrodev.com>
parents: 7
diff changeset
242 move #$2300, SR
997690aa0507 Improve method for choosing line palette entries. Read number of global and dynamic colors from image binary. Go back to doing a word, longword, word pattern of writes for turning off display, doing DMA and turning it back on again to make things work correctly on the real hardware.
Mike Pavone <pavone@retrodev.com>
parents: 7
diff changeset
243 .loop
997690aa0507 Improve method for choosing line palette entries. Read number of global and dynamic colors from image binary. Go back to doing a word, longword, word pattern of writes for turning off display, doing DMA and turning it back on again to make things work correctly on the real hardware.
Mike Pavone <pavone@retrodev.com>
parents: 7
diff changeset
244 bra .loop
3
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
245 VINT:
9
997690aa0507 Improve method for choosing line palette entries. Read number of global and dynamic colors from image binary. Go back to doing a word, longword, word pattern of writes for turning off display, doing DMA and turning it back on again to make things work correctly on the real hardware.
Mike Pavone <pavone@retrodev.com>
parents: 7
diff changeset
246 move.w d1, -(a7)
3
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
247 if USE_HINT
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
248 move.w #$8144, (a5)
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
249 endif
7
4ffd621f1d0c Initialize VDP register 0 so it works on the Mega Everdrive. Temporarily disable the sprite stuff
Mike Pavone <pavone@retrodev.com>
parents: 3
diff changeset
250 ;bsr SpriteCopyVRAM
3
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
251
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
252 bsr ReadPad
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
253
7
4ffd621f1d0c Initialize VDP register 0 so it works on the Mega Everdrive. Temporarily disable the sprite stuff
Mike Pavone <pavone@retrodev.com>
parents: 3
diff changeset
254 ;bsr Player1Vint
3
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
255
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
256 move.l (PalAddress).w, d7 ;setup DMA source address
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
257 move.w #$9500, d6
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
258 ror.l #1, d7
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
259 move.b d7, d6
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
260 move.w d6, (a5)
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
261 ror.l #8, d7
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
262 move.b d7, d6
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
263 add.w #$100, d6
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
264 move.w d6,(a5)
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
265 ror.l #8, d7
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
266 move.b d7, d6
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
267 add.w #$100, d6
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
268 and.b #$7F, d6
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
269 move.w d6,(a5)
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
270
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
271 ;move.l d5, (a5) ;do DMA for first line
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
272
9
997690aa0507 Improve method for choosing line palette entries. Read number of global and dynamic colors from image binary. Go back to doing a word, longword, word pattern of writes for turning off display, doing DMA and turning it back on again to make things work correctly on the real hardware.
Mike Pavone <pavone@retrodev.com>
parents: 7
diff changeset
273 move.w (a7)+, d1
997690aa0507 Improve method for choosing line palette entries. Read number of global and dynamic colors from image binary. Go back to doing a word, longword, word pattern of writes for turning off display, doing DMA and turning it back on again to make things work correctly on the real hardware.
Mike Pavone <pavone@retrodev.com>
parents: 7
diff changeset
274 move.w d1, (a5) ;set Transfer length
3
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
275 move.w #$9400, (a5)
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
276
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
277 move.w #$8114, d6 ;VDP commands to turn screen on and off during HBlank
9
997690aa0507 Improve method for choosing line palette entries. Read number of global and dynamic colors from image binary. Go back to doing a word, longword, word pattern of writes for turning off display, doing DMA and turning it back on again to make things work correctly on the real hardware.
Mike Pavone <pavone@retrodev.com>
parents: 7
diff changeset
278 ;swap d6
997690aa0507 Improve method for choosing line palette entries. Read number of global and dynamic colors from image binary. Go back to doing a word, longword, word pattern of writes for turning off display, doing DMA and turning it back on again to make things work correctly on the real hardware.
Mike Pavone <pavone@retrodev.com>
parents: 7
diff changeset
279 ;swap d5
997690aa0507 Improve method for choosing line palette entries. Read number of global and dynamic colors from image binary. Go back to doing a word, longword, word pattern of writes for turning off display, doing DMA and turning it back on again to make things work correctly on the real hardware.
Mike Pavone <pavone@retrodev.com>
parents: 7
diff changeset
280 ;move.w d5, d6
997690aa0507 Improve method for choosing line palette entries. Read number of global and dynamic colors from image binary. Go back to doing a word, longword, word pattern of writes for turning off display, doing DMA and turning it back on again to make things work correctly on the real hardware.
Mike Pavone <pavone@retrodev.com>
parents: 7
diff changeset
281 ;swap d5
997690aa0507 Improve method for choosing line palette entries. Read number of global and dynamic colors from image binary. Go back to doing a word, longword, word pattern of writes for turning off display, doing DMA and turning it back on again to make things work correctly on the real hardware.
Mike Pavone <pavone@retrodev.com>
parents: 7
diff changeset
282 ;move.w d5, d7
997690aa0507 Improve method for choosing line palette entries. Read number of global and dynamic colors from image binary. Go back to doing a word, longword, word pattern of writes for turning off display, doing DMA and turning it back on again to make things work correctly on the real hardware.
Mike Pavone <pavone@retrodev.com>
parents: 7
diff changeset
283 ;swap d7
3
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
284 move.w #$8174, d7
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
285 if USE_HINT
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
286 move.w d7, (a5)
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
287 endif
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
288 rte
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
289
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
290 LoadSpritePal:
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
291 move.l #$C0200000, (a5)
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
292 moveq #$F, d0
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
293 lea SpriteData, a0
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
294 PalLoop:
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
295 move.w (a0)+, (a4)
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
296 dbra d0, PalLoop
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
297 rts
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
298
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
299 Player1Vint:
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
300 move.b (ButtonState).w, d2
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
301 move.b (ButtonStateNew).w, d3
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
302
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
303 moveq #0, d0
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
304 move.w d0, d1
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
305
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
306 btst #5, d2
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
307 bne ScrollRight
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
308
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
309 btst #7, d2
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
310 bne ScrollLeft
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
311
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
312 btst #4, d3
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
313 bne IncrementFrame
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
314
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
315
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
316 btst #6, d3
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
317 bne DecrementFrame
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
318
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
319 btst #2, d2
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
320 beq PlayerShipNotLeft
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
321 subq #1, d0
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
322 PlayerShipNotLeft:
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
323
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
324 btst #3, d2
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
325 beq PlayerShipNotRight
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
326 addq #1, d0
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
327 PlayerShipNotRight:
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
328
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
329 btst #0, d2
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
330 beq PlayerShipNotDown
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
331 subq #1, d1
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
332 PlayerShipNotDown:
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
333
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
334 btst #1, d2
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
335 beq PlayerShipNotUp
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
336 addq #1, d1
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
337 PlayerShipNotUp:
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
338
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
339 bsr MoveBigSprite
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
340
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
341 rts
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
342 IncrementFrame:
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
343 move.w (PlayerShipFrame), d3
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
344 addq #1, d3
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
345 move.w d3, (PlayerShipFrame)
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
346 bsr ChangeFrameBigSprite
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
347
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
348 rts
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
349
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
350 DecrementFrame:
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
351
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
352 move.w (PlayerShipFrame), d3
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
353 subq #1, d3
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
354 move.w d3, (PlayerShipFrame)
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
355 bsr ChangeFrameBigSprite
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
356
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
357 rts
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
358
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
359 ScrollRight:
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
360 move.w (ScrollValue), d0
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
361 subq #1, d0
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
362 move.l #$7C000003, (a5) ;setup writes to HScroll Table FC00
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
363 move.w d0, (a4)
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
364 move.w d0, (a4)
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
365 move.w d0, (ScrollValue)
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
366
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
367 rts
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
368
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
369 ScrollLeft:
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
370 move.w (ScrollValue), d0
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
371 addq #1, d0
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
372 move.l #$7C000003, (a5) ;setup writes to HScroll Table FC00
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
373 move.w d0, (a4)
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
374 move.w d0, (a4)
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
375 move.w d0, (ScrollValue)
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
376
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
377 rts
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
378
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
379 include sprites.s68
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
380
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
381 PlayerShipFrame:
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
382 dc.w 0
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
383
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
384
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
385 ScrollValue:
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
386 dc.w 0
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
387
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
388 ReadPad:
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
389 move.b #$FF, $a10003 ;set TH for controller A
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
390 move.b $a10003, d0 ;CBRLUD
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
391 andi.b #$3F, d0
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
392 move.b #0, $a10003
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
393 move.b $a10003, d1 ;SA00UD
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
394 andi.b #$30, d1
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
395 lsl.b #2, d1
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
396 or.b d1, d0 ;SACBRLUD
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
397 not.b d0
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
398 move.b (ButtonState).w, d1
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
399 eor.b d0, d1
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
400 and.b d0, d1
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
401 move.b d0, (ButtonState).w
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
402 move.b d1, (ButtonStateNew).w
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
403
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
404 rts
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
405
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
406
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
407 SpriteData:
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
408 incbin bultest.bin
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
409 BgData:
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
410 incbin logo.bin
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
411