Skip to content

Commit fc6afa9

Browse files
authored
Merge branch 'master' into pal181
2 parents 9567621 + b0825ff commit fc6afa9

File tree

3 files changed

+18
-8
lines changed

3 files changed

+18
-8
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
* Fixed storage bug for push down points
2121
* Fixed crashes in garbage mode 4
2222
* Fixed line clearing happening on pause
23+
* Fixed PAL level 181 colour
2324
* Famicom Keyboard support
2425
* MMC3 Support
2526
* MMC5 Support

src/nmi/render_mode_play_and_demo.asm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -325,7 +325,7 @@ updatePaletteForLevel:
325325
tax
326326
lda palFlag
327327
beq @renderPalettes
328-
cpx #$35 ; Level 181 & 245 and'd with $3F
328+
cpx #$35 ; Level 181 & 245 and'd with $3F (level 53 is properly mod10'd)
329329
bne @renderPalettes
330330
ldx #$40
331331
@renderPalettes:

tests/src/palettes.rs

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -294,11 +294,20 @@ pub fn test() {
294294

295295
let pal_flag = labels::get("palFlag") as usize;
296296
emu.memory.iram_raw[pal_flag] = 1;
297-
emu.memory.iram_raw[level_number] = 181;
298-
emu.memory.iram_raw[render_flags] = labels::get("RENDER_LEVEL") as u8;
299-
emu.run_until_vblank();
300-
let bg_palette = &emu.ppu.palette[9..12];
301-
let sprite_palette = &emu.ppu.palette[25..28];
302-
assert_eq!(bg_palette, sprite_palette);
303-
assert_eq!(bg_palette, pal181);
297+
298+
for level in 0..256 {
299+
emu.memory.iram_raw[level_number] = level as u8;
300+
emu.memory.iram_raw[render_flags] = labels::get("RENDER_LEVEL") as u8;
301+
emu.run_until_vblank();
302+
let bg_palette = &emu.ppu.palette[9..12];
303+
let sprite_palette = &emu.ppu.palette[25..28];
304+
305+
assert_eq!(bg_palette, sprite_palette);
306+
307+
if level == 181 || level == 245 {
308+
assert_eq!(bg_palette, pal181);
309+
} else {
310+
assert_eq!(bg_palette, PALETTES[level]);
311+
}
312+
}
304313
}

0 commit comments

Comments
 (0)