OSDN Git Service

update test data
[motonesfpga/motonesfpga.git] / tools / ppu-regression-test / sample1.asm
1 .setcpu         "6502"\r
2 .autoimport     on\r
3 \r
4 ; iNES header\r
5 .segment "HEADER"\r
6         .byte   $4E, $45, $53, $1A      ; "NES" Header\r
7         .byte   $02                     ; PRG-BANKS\r
8         .byte   $01                     ; CHR-BANKS\r
9         .byte   $01                     ; Vetrical Mirror\r
10         .byte   $00                     ; \r
11         .byte   $00, $00, $00, $00      ; \r
12         .byte   $00, $00, $00, $00      ; \r
13 \r
14 .segment "STARTUP"\r
15 .proc   Reset\r
16 \r
17 \r
18 ; interrupt off, initialize sp.\r
19         sei\r
20         ldx     #$ff\r
21         txs\r
22 \r
23     ;ppu register initialize.\r
24         lda     #$00\r
25         sta     $2000\r
26         sta     $2001\r
27 \r
28 \r
29     ;;bg palette\r
30         lda     #$3f\r
31         sta     $2006\r
32         lda     #$00\r
33         sta     $2006\r
34 \r
35         lda     #$11\r
36         sta     $2007\r
37         lda     #$01\r
38         sta     $2007\r
39         lda     #$03\r
40         sta     $2007\r
41         lda     #$13\r
42         sta     $2007\r
43 \r
44         lda     #$0f\r
45         sta     $2007\r
46         lda     #$04\r
47         sta     $2007\r
48         lda     #$14\r
49         sta     $2007\r
50         lda     #$24\r
51         sta     $2007\r
52 \r
53         lda     #$0f\r
54         sta     $2007\r
55         lda     #$08\r
56         sta     $2007\r
57         lda     #$18\r
58         sta     $2007\r
59         lda     #$28\r
60         sta     $2007\r
61 \r
62         lda     #$05\r
63         sta     $2007\r
64         lda     #$0c\r
65         sta     $2007\r
66         lda     #$1c\r
67         sta     $2007\r
68         lda     #$2c\r
69         sta     $2007\r
70 \r
71     ;;sprite..\r
72         lda     #$00\r
73         sta     $2007\r
74         lda     #$24\r
75         sta     $2007\r
76         lda     #$1b\r
77         sta     $2007\r
78         lda     #$11\r
79         sta     $2007\r
80 \r
81         lda     #$00\r
82         sta     $2007\r
83         lda     #$32\r
84         sta     $2007\r
85         lda     #$16\r
86         sta     $2007\r
87         lda     #$20\r
88         sta     $2007\r
89 \r
90         lda     #$00\r
91         sta     $2007\r
92         lda     #$26\r
93         sta     $2007\r
94         lda     #$01\r
95         sta     $2007\r
96         lda     #$31\r
97         sta     $2007\r
98 \r
99 \r
100 \r
101     ;;name table set.\r
102         lda     #$20\r
103         sta     $2006\r
104         lda     #$06\r
105         sta     $2006\r
106 \r
107 ;;0x44, 45, 45 = DEE\r
108         lda     #$44\r
109         sta     $2007\r
110         lda     #$45\r
111         sta     $2007\r
112         lda     #$45\r
113         sta     $2007\r
114 \r
115         lda     #$21\r
116         sta     $2006\r
117         lda     #$e6\r
118         sta     $2006\r
119 \r
120 ;;test pattern\r
121         lda     #$20\r
122         sta     $2006\r
123         lda     #$20\r
124         sta     $2006\r
125 \r
126         lda     #$01\r
127         sta     $2007\r
128         lda     #$02\r
129         sta     $2007\r
130         lda     #$03\r
131         sta     $2007\r
132         lda     #$04\r
133         sta     $2007\r
134         lda     #$05\r
135         sta     $2007\r
136         lda     #$06\r
137         sta     $2007\r
138         lda     #$07\r
139         sta     $2007\r
140         lda     #$08\r
141         sta     $2007\r
142         lda     #$09\r
143         sta     $2007\r
144         lda     #$0a\r
145         sta     $2007\r
146         lda     #$0b\r
147         sta     $2007\r
148         lda     #$0c\r
149         sta     $2007\r
150         lda     #$0d\r
151         sta     $2007\r
152         lda     #$0e\r
153         sta     $2007\r
154         lda     #$0f\r
155         sta     $2007\r
156 \r
157         lda     #$20\r
158         sta     $2006\r
159         lda     #$40\r
160         sta     $2006\r
161 \r
162         lda     #$11\r
163         sta     $2007\r
164         lda     #$12\r
165         sta     $2007\r
166         lda     #$13\r
167         sta     $2007\r
168         lda     #$14\r
169         sta     $2007\r
170         lda     #$15\r
171         sta     $2007\r
172         lda     #$16\r
173         sta     $2007\r
174         lda     #$17\r
175         sta     $2007\r
176         lda     #$18\r
177         sta     $2007\r
178         lda     #$19\r
179         sta     $2007\r
180         lda     #$1a\r
181         sta     $2007\r
182         lda     #$1b\r
183         sta     $2007\r
184         lda     #$1c\r
185         sta     $2007\r
186         lda     #$1d\r
187         sta     $2007\r
188         lda     #$1e\r
189         sta     $2007\r
190         lda     #$1f\r
191         sta     $2007\r
192 \r
193 \r
194 ;;attr\r
195         lda     #$23\r
196         sta     $2006\r
197         lda     #$c1\r
198         sta     $2006\r
199 \r
200 ;;--attr=11011000\r
201         lda     #$d8\r
202         sta     $2007\r
203 \r
204 \r
205 ;;;set sprite\r
206     ;;sprite addr=00\r
207     lda #$00\r
208     sta $2003\r
209 \r
210     ;;sprite data: y=02\r
211     lda #$02\r
212     sta $2004\r
213     ;;tile=0x4d (ascii 'M')\r
214     lda #$4d\r
215     sta $2004\r
216     lda #$03\r
217     sta $2004\r
218     ;x=100\r
219     lda #$64\r
220     sta $2004\r
221 \r
222     lda #$32\r
223     sta $2004\r
224     lda #$4f\r
225     sta $2004\r
226     lda #$01\r
227     sta $2004\r
228     lda #$1e\r
229     sta $2004\r
230 \r
231     lda #60\r
232     sta $2004\r
233     lda #$50\r
234     sta $2004\r
235     lda #$01\r
236     sta $2004\r
237     lda #$21\r
238     sta $2004\r
239 \r
240 \r
241     lda #$3d\r
242     sta $2004\r
243     lda #$51\r
244     sta $2004\r
245     lda #$02\r
246     sta $2004\r
247     lda #45\r
248     sta $2004\r
249 \r
250 ;    ;;init scroll point.\r
251 ;    lda #$00\r
252 ;    sta $2005\r
253 ;    lda #$00\r
254 ;    sta $2005\r
255 \r
256     ;;show bg...\r
257         lda     #$1e\r
258         sta     $2001\r
259 \r
260     ;;;enable nmi\r
261         lda     #$80\r
262         sta     $2000\r
263 \r
264 ;;;    ;;dma test data.\r
265 ;;;    ldy #$00\r
266 ;;;    ldx #$41\r
267 ;;;    stx $00\r
268 ;;;    ldx #$00\r
269 ;;;dma_set:\r
270 ;;;    ;;y pos\r
271 ;;;    txa\r
272 ;;;    sta $0200, y\r
273 ;;;    iny\r
274 ;;;    ;;tile index\r
275 ;;;    lda $00\r
276 ;;;    cmp #$5b\r
277 ;;;    bne inc_tile\r
278 ;;;    lda #$41\r
279 ;;;    sta $00\r
280 ;;;inc_tile:\r
281 ;;;    inc $00\r
282 ;;;    sta $0200, y\r
283 ;;;    iny\r
284 ;;;    ;;attribute\r
285 ;;;    lda #$01\r
286 ;;;    sta $0200, y\r
287 ;;;    iny\r
288 ;;;    ;;x pos\r
289 ;;;    txa\r
290 ;;;    adc #$03\r
291 ;;;    tax\r
292 ;;;    rol\r
293 ;;;    sta $0200, y\r
294 ;;;    iny\r
295 ;;;    bne dma_set\r
296 ;;;\r
297 ;;;    ;;dma start.\r
298 ;;;    lda #$02\r
299 ;;;    sta $4014\r
300 \r
301 \r
302     ;;done...\r
303     ;;infinite loop.\r
304 mainloop:\r
305         jmp     mainloop\r
306 .endproc\r
307 \r
308 \r
309 nmi_test:\r
310 ;    jsr set_scroll\r
311 ;    jsr set_bg_col\r
312 \r
313     rti\r
314 \r
315 ;;;for DE1 internal memory constraints.\r
316 .segment "VECINFO_4k"\r
317         .word   nmi_test\r
318         .word   Reset\r
319         .word   $0000\r
320 \r
321 .segment "VECINFO"\r
322         .word   nmi_test\r
323         .word   Reset\r
324         .word   $0000\r
325 \r
326 ; character rom file.\r
327 .segment "CHARS"\r
328         .incbin "character.chr"\r