OSDN Git Service

- vram address increment size 32 is supported.
[motonesfpga/motonesfpga.git] / tools / test-image / 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 ; interrupt off, initialize sp.\r
17         sei\r
18         ldx     #$ff\r
19         txs\r
20 \r
21     ;ppu register initialize.\r
22         lda     #$00\r
23         sta     $2000\r
24         sta     $2001\r
25 \r
26         lda     #$3f\r
27         sta     $2006\r
28         lda     #$00\r
29         sta     $2006\r
30 \r
31     ;;dma test data.\r
32     ldy #$00\r
33     ldx #$41\r
34     stx $00\r
35     ldx #$00\r
36 dma_set:\r
37     ;;y pos\r
38     txa\r
39     sta $0200, y\r
40     iny\r
41     ;;tile index\r
42     lda $00\r
43     cmp #$5b\r
44     bne inc_tile\r
45     lda #$41\r
46     sta $00\r
47 inc_tile:\r
48     inc $00\r
49     sta $0200, y\r
50     iny\r
51     ;;attribute\r
52     lda #$01\r
53     sta $0200, y\r
54     iny\r
55     ;;x pos\r
56     txa\r
57     adc #$03\r
58     tax\r
59     rol\r
60     sta $0200, y\r
61     iny\r
62     bne dma_set\r
63 \r
64     ;;dma start.\r
65     lda #$02\r
66     sta $4014\r
67 \r
68     ;;load palette.\r
69         ldx     #$00\r
70         ldy     #$20\r
71 copypal:\r
72         lda     palettes, x\r
73         sta     $2007\r
74         inx\r
75         dey\r
76         bne     copypal\r
77 \r
78         lda     #$20\r
79         sta     $2006\r
80         lda     #$ab\r
81         sta     $2006\r
82         ldx     #$00\r
83         ldy     #$0d\r
84 \r
85     ;;load name table.\r
86 copymap:\r
87         lda     string, x\r
88         sta     $2007\r
89         inx\r
90         dey\r
91         bne     copymap\r
92 \r
93     ;;;vertical show test.\r
94         lda     #$04\r
95         sta     $2000\r
96 \r
97         lda     #$20\r
98         sta     $2006\r
99         lda     #$cb\r
100         sta     $2006\r
101         ldx     #$00\r
102         ldy     #$0d\r
103 \r
104     ;;load name table.\r
105 copymap2:\r
106         lda     string, x\r
107         sta     $2007\r
108         inx\r
109         dey\r
110         bne     copymap2\r
111 \r
112     ;;scroll reg set.\r
113         lda     #$00\r
114         sta     $2005\r
115         sta     $2005\r
116 \r
117     ;;show test msg.\r
118         lda     #$1e\r
119         sta     $2001\r
120 \r
121 ;;    jmp boundary_1\r
122 ;;    ;;fill dummy data to test page boundary instruction.\r
123 ;;    .byte      $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
124 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
125 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
126 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
127 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
128 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
129 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
130 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
131 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
132 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
133 ;;\r
134 ;;    ;;;single byte instruction page boundary test.\r
135 ;;boundary_1:\r
136 ;;    lda #$01\r
137 ;;    ror\r
138 ;;    ror\r
139 ;;    ror\r
140 ;;    ror\r
141 ;;    ror\r
142 ;;    ror\r
143 ;;    ror\r
144 ;;    ror\r
145 ;;    ror\r
146 ;;    ror\r
147 ;;    ror\r
148 ;;    ror\r
149 ;;    ror\r
150 ;;;;this is pch increment at T1 cycle. \r
151 ;;;;;@80ff\r
152 ;;    rol\r
153 ;;    lsr\r
154 ;;\r
155 ;;    jmp boundary_2_1\r
156 ;;\r
157 ;;    .byte      $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
158 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
159 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
160 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
161 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
162 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
163 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
164 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
165 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
166 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
167 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
168 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
169 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
170 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
171 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
172 ;;\r
173 ;;boundary_2_1:\r
174 ;;    ;;;two byte instruction page boundary test.\r
175 ;;      lda     #$01\r
176 ;;      lda     #$01\r
177 ;;      lda     #$01\r
178 ;;      lda     #$01\r
179 ;;      lda     #$01\r
180 ;;      lda     #$01\r
181 ;;;;this is pch increment at T1 cycle. \r
182 ;;    ;;;@81ff\r
183 ;;      ldx     #$08\r
184 ;;\r
185 ;;\r
186 ;;    jmp boundary_2_2\r
187 ;;\r
188 ;;    .byte      $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
189 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
190 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
191 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
192 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
193 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
194 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
195 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
196 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
197 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
198 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
199 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
200 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
201 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
202 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
203 ;;\r
204 ;;boundary_2_2:\r
205 ;;    ;;;two byte instruction page boundary test.\r
206 ;;      lda     #$01\r
207 ;;      lda     #$01\r
208 ;;      lda     #$01\r
209 ;;      lda     #$01\r
210 ;;      lda     #$01\r
211 ;;    ror\r
212 ;;;;this is pch increment at next T0 cycle. \r
213 ;;    ;;;@82fe\r
214 ;;      ldx     #$0a\r
215 ;;\r
216 ;;    jmp boundary_2_3\r
217 ;;\r
218 ;;    .byte      $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
219 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
220 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
221 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
222 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
223 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
224 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
225 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
226 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
227 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
228 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
229 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
230 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
231 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
232 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
233 ;;\r
234 ;;boundary_2_3:\r
235 ;;    ;;;two byte instruction w/ 3 exec cycle page boundary test.\r
236 ;;      lda     #$01\r
237 ;;      lda     #$01\r
238 ;;      lda     #$01\r
239 ;;\r
240 ;;      ror\r
241 ;;      lda     #$01\r
242 ;;      lda     #$de\r
243 ;;      sta     $13\r
244 ;;\r
245 ;;\r
246 ;;;;this is pch increment at T1 cycle. \r
247 ;;    ;;;@83ff\r
248 ;;      ldy $09, x\r
249 ;;\r
250 ;;\r
251 ;;    jmp boundary_2_4\r
252 ;;\r
253 ;;    .byte      $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
254 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
255 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
256 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
257 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
258 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
259 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
260 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
261 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
262 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
263 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
264 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
265 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
266 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
267 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
268 ;;\r
269 ;;boundary_2_4:\r
270 ;;    ;;;two byte instruction w/ 3 exec cycle page boundary test.\r
271 ;;      lda     #$01\r
272 ;;      lda     #$01\r
273 ;;      ldy     #$05\r
274 ;;\r
275 ;;      ror\r
276 ;;      lda     #$01\r
277 ;;      lda     #$de\r
278 ;;;;this is pch increment at T2 cycle. \r
279 ;;    ;;;@84fe\r
280 ;;      sta     $13\r
281 ;;\r
282 ;;\r
283 ;;    jmp boundary_3_1\r
284 ;;\r
285 ;;    .byte      $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
286 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
287 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
288 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
289 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
290 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
291 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
292 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
293 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
294 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
295 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
296 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
297 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
298 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
299 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
300 ;;\r
301 ;;boundary_3_1:\r
302 ;;    ;;;three byte instruction w/ page boundary test.\r
303 ;;      lda     #$01\r
304 ;;      lda     #$01\r
305 ;;      ldy     #$05\r
306 ;;\r
307 ;;      ror\r
308 ;;      lda     #$01\r
309 ;;      lda     #$dd\r
310 ;;;;this is pch increment at T3 cycle. \r
311 ;;    ;;;@85fd\r
312 ;;      sta     $06fc, x\r
313 ;;\r
314 ;;    jmp boundary_3_2\r
315 ;;\r
316 ;;    .byte      $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
317 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
318 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
319 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
320 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
321 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
322 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
323 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
324 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
325 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
326 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
327 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
328 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
329 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
330 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
331 ;;\r
332 ;;boundary_3_2:\r
333 ;;    ;;;three byte instruction w/ page boundary test.\r
334 ;;      lda     #$01\r
335 ;;      lda     #$01\r
336 ;;      lda     #$01\r
337 ;;      ldy     #$05\r
338 ;;\r
339 ;;      lda     #$01\r
340 ;;      lda     #$dd\r
341 ;;;;this is pch increment at T2 cycle. \r
342 ;;    ;;;@86fe\r
343 ;;      sta     $06fc, x\r
344 ;;\r
345 ;;    jmp boundary_3_3\r
346 ;;\r
347 ;;    .byte      $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
348 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
349 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
350 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
351 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
352 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
353 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
354 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
355 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
356 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
357 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
358 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
359 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
360 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
361 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
362 ;;\r
363 ;;boundary_3_3:\r
364 ;;    ;;;three byte instruction w/ page boundary test.\r
365 ;;      lda     #$01\r
366 ;;      lda     #$01\r
367 ;;      lda     #$01\r
368 ;;      ldy     #$05\r
369 ;;\r
370 ;;      ldy     #$08\r
371 ;;      lda     #$dd\r
372 ;;;;this is pch increment at T1 cycle. \r
373 ;;    ;;;@87ff\r
374 ;;      sta     $06fc, x\r
375 ;;\r
376 ;;    jmp boundary_3_4\r
377 ;;\r
378 ;;    .byte      $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
379 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
380 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
381 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
382 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
383 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
384 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
385 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
386 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
387 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
388 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
389 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
390 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
391 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
392 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
393 ;;\r
394 ;;boundary_3_4:\r
395 ;;    ;;;three byte instruction w/ page boundary test.\r
396 ;;      lda     #$01\r
397 ;;      lda     #$01\r
398 ;;    ror\r
399 ;;\r
400 ;;      ldy     #$08\r
401 ;;      lda     #$dd\r
402 ;;;;this is pch increment at T0 cycle. \r
403 ;;    ;;;@88fd\r
404 ;;      sta     $06fc, x\r
405 ;;\r
406 ;;    nop\r
407 ;;    nop\r
408 ;;    nop\r
409 ;;\r
410 ;;    ;;;instruction coverage test....\r
411 ;;    ;;adc abs, y\r
412 ;;    ldy #$10\r
413 ;;    ldx #$fa\r
414 ;;    stx $0790\r
415 ;;    lda #$b0\r
416 ;;    ;;fa+b0=aa\r
417 ;;    adc $0780, y\r
418 ;;\r
419 ;;    clc\r
420 ;;    ldy #$ab\r
421 ;;    ldx #$fa\r
422 ;;    stx $082b\r
423 ;;    lda #$dd\r
424 ;;    ;;fa+dd=d7\r
425 ;;    adc $0780, y\r
426 ;;\r
427 ;;    ;;bit zp\r
428 ;;    ldx #$15\r
429 ;;    stx $2b\r
430 ;;    bit $2b\r
431 ;;    lda #$8a\r
432 ;;    bit $2b\r
433 ;;\r
434 ;;    ;;sbc imm\r
435 ;;    ;;8a-5c=2e\r
436 ;;    sbc #$5c\r
437 ;;    ;;2e-3d=f1\r
438 ;;    sbc #$3d\r
439 ;;    ;;f1-e5=0c\r
440 ;;    sbc #$e5\r
441 ;;\r
442 ;;    ;;cli/clv\r
443 ;;    cli\r
444 ;;    ldx #$c0\r
445 ;;    stx $2b\r
446 ;;    bit $2b\r
447 ;;    clv\r
448 ;;\r
449 ;;    ;;adc zp, x/abs, x/indir, y\r
450 ;;    lda #$11\r
451 ;;    ldx #$e4\r
452 ;;    sta $a4\r
453 ;;    ;11+81=92\r
454 ;;    lda #$81\r
455 ;;    adc $c0, x\r
456 ;;\r
457 ;;    stx $0734\r
458 ;;    ;93+e4=177\r
459 ;;    adc $0650, x\r
460 ;;\r
461 ;;    ldx #$c9\r
462 ;;    stx $07e8\r
463 ;;    lda #$34\r
464 ;;    sta $07\r
465 ;;    lda #$07\r
466 ;;    sta $08\r
467 ;;    ldy #$b4\r
468 ;;    ;c9+07=d0\r
469 ;;    adc ($07), y\r
470 ;;\r
471 ;;    ;;and zp, x/abs/abs, x/indir, y\r
472 ;;    lda #$f5\r
473 ;;    ldx #$e4\r
474 ;;    sta $a4\r
475 ;;    ;f5&5e=54\r
476 ;;    lda #$5e\r
477 ;;    and $c0, x\r
478 ;;\r
479 ;;    stx $0734\r
480 ;;    ;e4&54=44\r
481 ;;    and $0650, x\r
482 ;;\r
483 ;;    ldx #$c9\r
484 ;;    stx $07e8\r
485 ;;    lda #$34\r
486 ;;    sta $07\r
487 ;;    lda #$07\r
488 ;;    sta $08\r
489 ;;    ldy #$b4\r
490 ;;    ;no page crossing\r
491 ;;    ;c9&07=01\r
492 ;;    and ($07), y\r
493 ;;\r
494 ;;    ldx #$c9\r
495 ;;    stx $0825\r
496 ;;    lda #$34\r
497 ;;    sta $07\r
498 ;;    lda #$07\r
499 ;;    sta $08\r
500 ;;    ldy #$f1\r
501 ;;    ;page crossing\r
502 ;;    ;c9&07=01\r
503 ;;    and ($07), y\r
504 ;;\r
505 ;;    ;;cmp zp, x/abs/abs, x/indir, y\r
506 ;;    lda #$de\r
507 ;;    ldx #$e4\r
508 ;;    sta $a4\r
509 ;;    ;c5-de=-19 > (e7)\r
510 ;;    lda #$c5\r
511 ;;    cmp $c0, x\r
512 ;;\r
513 ;;    sec\r
514 ;;    lda #$75\r
515 ;;    stx $0734\r
516 ;;    ;75-e4=-6f > 91\r
517 ;;    cmp $0650, x\r
518 ;;\r
519 ;;    ldx #$c9\r
520 ;;    stx $0825\r
521 ;;    lda #$34\r
522 ;;    sta $07\r
523 ;;    lda #$07\r
524 ;;    sta $08\r
525 ;;    ldy #$f1\r
526 ;;    lda #$c9\r
527 ;;    ;page crossing\r
528 ;;    ;c9-c9=0\r
529 ;;    cmp ($07), y\r
530 ;;\r
531 ;;    ;;rol zp/zp, x/abs/abs, x\r
532 ;;    lda #$de\r
533 ;;    ldx #$e4\r
534 ;;    sta $a4\r
535 ;;    ;de<1 =bc w/ carry\r
536 ;;    clc\r
537 ;;    rol $c0, x\r
538 ;;    ;bc<1 =78  w/ carry\r
539 ;;    rol $a4\r
540 ;;\r
541 ;;    ldx #$64\r
542 ;;    stx $0722\r
543 ;;    ;64<1 = c8 w/o carry\r
544 ;;    rol $06be, x\r
545 ;;\r
546 ;;    ldx #$80\r
547 ;;    stx $0734\r
548 ;;    ;80<1 = 00 w/ carry.\r
549 ;;    rol $0734\r
550 ;;\r
551 ;;    ;;cpx abs\r
552 ;;    ;;cpy zp/abs\r
553 ;;    lda #$de\r
554 ;;    sta $03a4\r
555 ;;    ;c5-de=-19 > (e7)\r
556 ;;    ldx #$c5\r
557 ;;    cpx $03a4\r
558 ;;\r
559 ;;    sec\r
560 ;;    ldy #$75\r
561 ;;    ldx #$e4\r
562 ;;    stx $34\r
563 ;;    ;75-e4=-6f > 91\r
564 ;;    cpy $34\r
565 ;;\r
566 ;;    ldx #$c9\r
567 ;;    stx $0825\r
568 ;;    ldy #$c9\r
569 ;;    ;c9-c9=0\r
570 ;;    cpy $0825\r
571 ;;\r
572 ;;    ;;lsr zp/zp, x/abs/abs, x\r
573 ;;    lda #$de\r
574 ;;    ldx #$e4\r
575 ;;    sta $a4\r
576 ;;    ;de>1 =6f w/o carry\r
577 ;;    clc\r
578 ;;    lsr $c0, x\r
579 ;;    ;6f>1 =37  w/ carry\r
580 ;;    lsr $a4\r
581 ;;\r
582 ;;    ldx #$64\r
583 ;;    stx $0722\r
584 ;;    ;64>1 = 32 w/o carry\r
585 ;;    lsr $06be, x\r
586 ;;\r
587 ;;    ldx #$01\r
588 ;;    stx $0734\r
589 ;;    ;01>1 = 00 w/ carry.\r
590 ;;    lsr $0734\r
591 ;;\r
592 ;;    ;;ldy abs, x\r
593 ;;    ;;ldx zp, y\r
594 ;;    ldx #$fa\r
595 ;;    stx $0820\r
596 ;;    ;;page cross\r
597 ;;    ldy $0726, x\r
598 ;;\r
599 ;;    ldx #$10\r
600 ;;    stx $0820\r
601 ;;    ;no page cross\r
602 ;;    ldy $0810, x\r
603 ;;\r
604 ;;    ldy #$10\r
605 ;;    sty $e0\r
606 ;;    ldx #$55\r
607 ;;    ldx $d0, y\r
608 ;;\r
609 ;;    ;;dec zp, x/abs, x\r
610 ;;    ;;inc zp, x/abs, x\r
611 ;;    lda #$00\r
612 ;;    ldx #$e4\r
613 ;;    sta $88\r
614 ;;    ldy #$00\r
615 ;;    dec $a4, x\r
616 ;;\r
617 ;;    ldx #$64\r
618 ;;    stx $0722\r
619 ;;    dec $06be, x\r
620 ;;\r
621 ;;    lda #$fe\r
622 ;;    ldx #$e4\r
623 ;;    sta $88\r
624 ;;    inc $a4, x\r
625 ;;    inc $a4, x\r
626 ;;    inc $a4, x\r
627 ;;\r
628 ;;    ldx #$64\r
629 ;;    stx $0722\r
630 ;;    inc $06be, x\r
631 ;;\r
632 ;;    ;;ror zp/zp,x/abs\r
633 ;;    lda #$02\r
634 ;;    ldx #$e4\r
635 ;;    sta $88\r
636 ;;    ror $a4, x\r
637 ;;    ror $a4, x\r
638 ;;    ror $a4, x\r
639 ;;\r
640 ;;    ldx #$64\r
641 ;;    stx $0722\r
642 ;;    ror $0722\r
643 ;;\r
644 ;;    ;;asl zp/zp,x/abs/abs,x\r
645 ;;    lda #$40\r
646 ;;    ldx #$e4\r
647 ;;    sta $88\r
648 ;;    asl $88\r
649 ;;    asl $a4, x\r
650 ;;    asl $a4, x\r
651 ;;\r
652 ;;    ldx #$64\r
653 ;;    stx $0722\r
654 ;;    asl $06be,x\r
655 ;;\r
656 ;;    ;;sta zp,x\r
657 ;;    ;;stx zp,y\r
658 ;;    ;;sty zp,x\r
659 ;;    lda #$40\r
660 ;;    ldx #$e4\r
661 ;;    ldy #$c5\r
662 ;;    sta $a4, x\r
663 ;;    stx $a4, y\r
664 ;;    sty $a4, x\r
665 ;;\r
666 ;;    ;;branch page cross test.\r
667 ;;    jmp bl_test0\r
668 ;;\r
669 ;;bl_test0:\r
670 ;;    ldx #5\r
671 ;;bl_test1:\r
672 ;;    dex\r
673 ;;    ;;forward branch\r
674 ;;    bpl bl_test2\r
675 ;;\r
676 ;;    jmp bl_test2\r
677 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
678 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
679 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
680 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
681 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
682 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
683 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
684 ;;\r
685 ;;bl_test2:\r
686 ;;    dex\r
687 ;;    ;;backward branch\r
688 ;;    bpl bl_test1\r
689 ;;\r
690 ;;    ;;test2\r
691 ;;    ldx #5\r
692 ;;bl_test3:\r
693 ;;    dex\r
694 ;;    bpl bl_test4\r
695 ;;\r
696 ;;    jmp bl_test4\r
697 ;;\r
698 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
699 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
700 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
701 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
702 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
703 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
704 ;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
705 ;;\r
706 ;;bl_test4:\r
707 ;;    dex\r
708 ;;    bpl bl_test3\r
709 ;;\r
710 ;;    ;;ora zp, x/abs, x/indir, y\r
711 ;;    lda #$de\r
712 ;;    ldx #$e4\r
713 ;;    sta $a4\r
714 ;;    ;c5|de=df\r
715 ;;    lda #$c5\r
716 ;;    ora $c0, x\r
717 ;;\r
718 ;;    lda #$75\r
719 ;;    stx $0734\r
720 ;;    ;75|e4=f5\r
721 ;;    ora $0650, x\r
722 ;;\r
723 ;;    ldx #$c9\r
724 ;;    stx $0825\r
725 ;;    lda #$34\r
726 ;;    sta $07\r
727 ;;    lda #$07\r
728 ;;    sta $08\r
729 ;;    ldy #$f1\r
730 ;;    ;page crossing\r
731 ;;    ;07|c9=cf\r
732 ;;    ora ($07), y\r
733 ;;\r
734 ;;    ;;php/plp test\r
735 ;;    sec\r
736 ;;    sei\r
737 ;;    php\r
738 ;;\r
739 ;;    clc\r
740 ;;    cli\r
741 ;;    plp\r
742 ;;\r
743 ;;    ;;eor zp, x/abs, x/indir, y\r
744 ;;    lda #$de\r
745 ;;    ldx #$e4\r
746 ;;    sta $a4\r
747 ;;    ;c5^de=1b\r
748 ;;    lda #$c5\r
749 ;;    eor $c0, x\r
750 ;;\r
751 ;;    lda #$75\r
752 ;;    stx $0734\r
753 ;;    ;75^e4=91\r
754 ;;    eor $0650, x\r
755 ;;\r
756 ;;    ldx #$07\r
757 ;;    stx $0825\r
758 ;;    lda #$34\r
759 ;;    sta $07\r
760 ;;    lda #$07\r
761 ;;    sta $08\r
762 ;;    ldy #$f1\r
763 ;;    ;page crossing\r
764 ;;    ;07^07=00\r
765 ;;    eor ($07), y\r
766 ;;\r
767 ;;    ;;sbc zp, x/abs, x/indir, y\r
768 ;;    lda #$de\r
769 ;;    ldx #$e4\r
770 ;;    sta $a4\r
771 ;;    ;c5-de=-19 > e7\r
772 ;;    lda #$c5\r
773 ;;    sbc $c0, x\r
774 ;;\r
775 ;;    lda #$75\r
776 ;;    stx $0734\r
777 ;;    ;75-e4=-6f > 91\r
778 ;;    sbc $0650, x\r
779 ;;\r
780 ;;    ldx #$07\r
781 ;;    stx $07ef\r
782 ;;    lda #$34\r
783 ;;    sta $07\r
784 ;;    lda #$07\r
785 ;;    sta $08\r
786 ;;    ldy #$bb\r
787 ;;    ;07-07=00\r
788 ;;    sbc ($07), y\r
789 ;;\r
790 ;;    ;;bvs/bvc test\r
791 ;;    ;;-120=0x88\r
792 ;;    lda #$88\r
793 ;;bvs_test:\r
794 ;;    sbc #$10\r
795 ;;    bvs bvs_test\r
796 ;;    \r
797 ;;    lda #$5\r
798 ;;bvc_test:\r
799 ;;    sbc #$a\r
800 ;;    bvc bvc_test\r
801 ;;\r
802 ;;    ;;;;vram access test...\r
803 ;;      lda     #$00\r
804 ;;      sta     $2001       ;;disable bg\r
805 ;;\r
806 ;;    LDA   #$1e\r
807 ;;    STA   $2006\r
808 ;;    LDA   #$c0\r
809 ;;    STA   $2006       ;;;ppuaddr=1ec0\r
810 ;;    LDA   #$03\r
811 ;;    STA   $01\r
812 ;;    LDY   #$00\r
813 ;;    STY   $00\r
814 ;;    LDA   $2007       ;;;;from here acc broke...\r
815 ;;    LDA   $2007\r
816 \r
817     ;;show bg...\r
818         lda     #$1e\r
819         sta     $2001\r
820 \r
821     ;;;enable nmi\r
822         lda     #$80\r
823         sta     $2000\r
824 \r
825     ;;done...\r
826     ;;infinite loop.\r
827 mainloop:\r
828         jmp     mainloop\r
829 .endproc\r
830 \r
831 \r
832 nmi_test:\r
833     ;;;;test...\r
834     STY   $0720\r
835     LDY   #$80\r
836     STY   $0721\r
837     ASL   \r
838     ASL   \r
839     ASL   \r
840     ASL   \r
841     STA   $06a0\r
842     DEC   $0730\r
843     DEC   $0731\r
844     DEC   $0732\r
845     LDA   #$0b\r
846     STA   $071e\r
847     ;;JSR   $9c22\r
848     LDA   $0750\r
849     ;;JSR   $9c09\r
850     AND   #$60\r
851     ASL   \r
852     ROL   \r
853     ROL   \r
854     ROL   \r
855     STA   $074e\r
856     ;;RTS   \r
857     TAY   \r
858     LDA   $0750\r
859     AND   #$1f\r
860     STA   $074f\r
861     LDA   $9ce0, y\r
862     CLC   \r
863     ADC   $074f\r
864     TAY   \r
865     LDA   $9ce4, y\r
866     STA   $e9\r
867     LDA   $9d06, y\r
868     STA   $ea\r
869     LDY   $074e\r
870     LDA   $9d28, y\r
871     CLC   \r
872     ADC   $074f\r
873     TAY   \r
874     LDA   $9d2c, y\r
875     STA   $e7\r
876     LDA   $9d4e, y\r
877     STA   $e8\r
878     LDY   #$00\r
879     LDA   ($e7), y\r
880     PHA   \r
881     AND   #$07\r
882     CMP   #$04\r
883     ;;BCC   +5\r
884     STA   $0741\r
885     PLA   \r
886     PHA   \r
887     AND   #$38\r
888     LSR   \r
889     LSR   \r
890     LSR   \r
891     STA   $0710\r
892     PLA   \r
893     AND   #$c0\r
894     CLC   \r
895     ROL   \r
896     ROL   \r
897     ROL   \r
898     STA   $0715\r
899     INY   \r
900     LDA   ($e7), y\r
901     PHA   \r
902     AND   #$0f\r
903     STA   $0727\r
904     PLA   \r
905     PHA   \r
906     AND   #$30\r
907     LSR   \r
908     LSR   \r
909     LSR   \r
910     LSR   \r
911     STA   $0742\r
912     PLA   \r
913     AND   #$c0\r
914     CLC   \r
915     ROL   \r
916     ROL   \r
917     ROL   \r
918     CMP   #$03\r
919     ;;BNE   5\r
920     STA   $0733\r
921     LDA   $e7\r
922     CLC   \r
923     ADC   #$02\r
924     STA   $e7\r
925     LDA   $e8\r
926     ADC   #$00\r
927     STA   $e8\r
928     ;;RTS   \r
929     LDA   $076a\r
930     ;;BNE   16\r
931     LDA   $075f\r
932     CMP   #$04\r
933     ;BCC   12\r
934     LDA   $075b\r
935     ;;BEQ   5\r
936     LDA   #$80\r
937     STA   $fb\r
938     LDA   #$01\r
939     STA   $0774\r
940     INC   $0772\r
941     ;;RTS   \r
942     LDA   $2002\r
943     ;PLA   \r
944     ORA   #$80\r
945     STA   $2000\r
946     rti\r
947 \r
948 palettes:\r
949         .byte   $0f, $00, $10, $20\r
950         .byte   $0f, $06, $16, $26\r
951         .byte   $0f, $08, $18, $28\r
952         .byte   $0f, $0a, $1a, $2a\r
953         .byte   $0f, $00, $10, $20\r
954         .byte   $0f, $06, $16, $26\r
955         .byte   $0f, $08, $18, $28\r
956         .byte   $0f, $0a, $1a, $2a\r
957 \r
958 string:\r
959         .byte   "test2!"\r
960 \r
961 .segment "VECINFO"\r
962         .word   nmi_test\r
963         .word   Reset\r
964         .word   $0000\r
965 \r
966 ; character rom file.\r
967 .segment "CHARS"\r
968         .incbin "character.chr"\r