1
+
1
2
gameModeState_initGameBackground:
2
3
jsr updateAudioWaitForNmiAndDisablePpuRendering
3
4
jsr disableNmi
@@ -12,10 +13,9 @@ gameModeState_initGameBackground:
12
13
jsr copyRleNametableToPpu
13
14
.addr game_nametable
14
15
jsr scoringBackground
15
- lda darkMode
16
- beq @notDarkMode
17
- jsr bulkCopyToPpu
18
- .addr darkmode_stripes
16
+ ; lda darkMode
17
+ ; beq @notDarkMode
18
+ jsr drawDarkMode
19
19
@notDarkMode:
20
20
21
21
lda hzFlag
@@ -255,40 +255,113 @@ savestate_nametable_patch:
255
255
.byte $23 ,$37 ,$3B ,$FF ,$FF ,$FF ,$FF ,$FF ,$FF ,$3C ,$FE
256
256
.byte $23 ,$57 ,$3D ,$3E ,$3E ,$3E ,$3E ,$3E ,$3E ,$3F ,$FD
257
257
258
- horz = $40
259
- vert = $C0
258
+ drawDarkMode:
259
+ jsr bulkCopyToPpu
260
+ .addr darkmode_stripes
261
+
262
+ ldx #0
263
+ lda darkCorners, x
264
+ @darkCornerLoop:
265
+ stx tmpZ
266
+ sta PPUADDR
267
+ inx
268
+ lda darkCorners, x
269
+ sta PPUADDR
270
+ inx
271
+ clc
272
+ lda #DARK_CORNER_TILES
273
+ ldy tmpZ
274
+ cpy #40
275
+ bmi @notAlt
276
+ lda #DARK_CORNER_TILES2
277
+ @notAlt:
278
+ sta tmpX
279
+ lda tmpZ
280
+ lsr
281
+ and #$3
282
+ adc tmpX
283
+ sta PPUDATA
284
+ lda darkCorners, x
285
+ bne @darkCornerLoop
286
+ @notDarkMode:
287
+ rts
288
+
289
+ stripeHoriz = $40
290
+ stripeVert = $C0
291
+
292
+ DARK_CORNER_TILES := $94
293
+ DARK_CORNER_TILES2 := $90
260
294
261
295
darkmode_stripes:
262
296
.byte $20 ,$00
263
- .byte $00 |horz ,$FF
297
+ .byte $00 |stripeHoriz ,$FF
264
298
.byte $20 ,$40
265
- .byte $0B |horz ,$FF
299
+ .byte $0B |stripeHoriz ,$FF
266
300
.byte $20 ,$60
267
- .byte $18 |vert ,$FF
301
+ .byte $18 |stripeVert ,$FF
268
302
.byte $20 ,$61
269
- .byte $03 |vert ,$FF
303
+ .byte $03 |stripeVert ,$FF
270
304
.byte $20 ,$6A
271
- .byte $05 |vert ,$FF
305
+ .byte $05 |stripeVert ,$FF
272
306
.byte $20 ,$5F
273
- .byte $15 |vert ,$FF
307
+ .byte $15 |stripeVert ,$FF
274
308
.byte $20 ,$C1
275
- .byte $09 |horz ,$FF
309
+ .byte $09 |stripeHoriz ,$FF
276
310
.byte $20 ,$E1
277
- .byte $09 |horz ,$FF
311
+ .byte $09 |stripeHoriz ,$FF
278
312
.byte $21 ,$77
279
- .byte $08 |horz ,$FF
313
+ .byte $08 |stripeHoriz ,$FF
280
314
.byte $21 ,$9D
281
- .byte $07 |vert ,$FF
315
+ .byte $07 |stripeVert ,$FF
282
316
.byte $21 ,$7E
283
- .byte $0C |vert ,$FF
317
+ .byte $0C |stripeVert ,$FF
284
318
.byte $22 ,$F7
285
- .byte $09 |horz ,$FF
319
+ .byte $09 |stripeHoriz ,$FF
286
320
.byte $23 ,$17
287
- .byte $09 |horz ,$FF
321
+ .byte $09 |stripeHoriz ,$FF
288
322
.byte $23 ,$37
289
- .byte $09 |horz ,$FF
323
+ .byte $09 |stripeHoriz ,$FF
290
324
.byte $23 ,$57
291
- .byte $00 |horz ,$FF
325
+ .byte $00 |stripeHoriz ,$FF
292
326
.byte $23 ,$97
293
- .byte $29 |horz ,$FF
327
+ .byte $29 |stripeHoriz ,$FF
294
328
.byte $FF
329
+
330
+ darkCorners:
331
+ ; mode
332
+ .byte $20 ,$62
333
+ .byte $20 ,$69
334
+ .byte $20 ,$A2
335
+ .byte $20 ,$A9
336
+ ; stats
337
+ .byte $21 ,$01
338
+ .byte $21 ,$0A
339
+ .byte $23 ,$41
340
+ .byte $23 ,$4A
341
+ ; lines
342
+ .byte $20 ,$4B
343
+ .byte $20 ,$56
344
+ .byte $20 ,$8B
345
+ .byte $20 ,$96
346
+ ; score
347
+ .byte $20 ,$57
348
+ .byte $20 ,$5E
349
+ .byte $21 ,$57
350
+ .byte $21 ,$5E
351
+ ; level
352
+ .byte $22 ,$77
353
+ .byte $22 ,$7D
354
+ .byte $22 ,$D7
355
+ .byte $22 ,$DD
356
+ ; alt tiles
357
+ ; next
358
+ .byte $21 ,$97
359
+ .byte $21 ,$9C
360
+ .byte $22 ,$57
361
+ .byte $22 ,$5c
362
+ ; game
363
+ .byte $20 ,$AB
364
+ .byte $20 ,$B6
365
+ .byte $23 ,$4B
366
+ .byte $23 ,$56
367
+ .byte $0
0 commit comments