He estado investigando el problema de las paletas en el goomba color y es intencionado. Según el coder Dwedit:
I just added in automatic GBC palettes for monochrome games just like how the GBC does it. Except for now, it always overrides your selection, even if the game doesn't have a built-in palette.
Esto quiere decir que el emu hace lo mismo que la GBC: si la rom soporta una paleta especial la usa pero si no, utiliza la paleta por defecto (azul y verde) Wario Blast.
Como el código fuente está disponible aquí, lo he descargado y compilado con el DevkitPro para modificar ese comportamiento.
En lcd.s:
Código:
GFX_reset: @called with CPU reset
@----------------------------------------------------------------------------
stmfd sp!,{r3,addy,lr}
ldrb_ r0,gbcmode
movs r0,r0
bne 1f
@get GBC palette
ldr_ r0,memmap_tbl
blx_long GetGbcPaletteNumber
@if zero, pick Wario Blast palette
cmp r0,#0
moveq r0,#74
ldr r1,=palettebank
strb r0,[r1]
bl paletteinit
hay que cambiar moveq r0,#74 por moveq r0,#1 para que la paleta por defecto sea la monócroma o comentar las líneas:
Código:
@ cmp r0,#0
@ moveq r0,#74
@ ldr r1,=palettebank
@ strb r0,[r1]
para que utilice la paleta que hayamos seleccionado previamente, con el inconveniente de que la autodetección no funcionará (en este caso la paleta por defecto también es la monócroma).
Adjunto los goomba.gba compilados en las dos variantes.
Marcadores