Language…
4 users online: Hammerer, Maw, Rudi_Schrausch, Torchkas - Guests: 278 - Bots: 322
Users: 64,795 (2,377 active)
Latest user: mathew

Editing Bowser's Palette?

I'm trying figure out how you edit Bowser's palette. I've seen patches to edit things like the Big Boo, but haven't seen how to change Bowser's.
Expect little to nothing from me for now.

Player graphics are the only thing I do right, so come tell me to make one you want.

Go to my profile for more trash of mine.
Originally posted by ROM map
$00B69E | 112 bytes | Palette | Bowser palettes (8 palettes, 7 colours each)

I'm not sure what format this is in, but try experimenting with it.


It's just the SNES RGB format. Each of the 8 palettes there is actually just modifying one palette (palette 0, colors 2-7), and each of the 8 "rows" are an animation (used for fading Bowser when he flies in/out of the screen).

If you're not familiar with the SNES RGB format, each color uses two bytes; when converted to binary, they have the format [-bbbbbgg gggrrrrr], where the r, g, and b bits correspond to the red, green, and blue color components. Of course, that's kinda annoying to manually calculate, so there's a few ways to get them:
  • In Lunar Magic by hovering over a color in the palette editor and looking down at the color information below the palettes.
  • Using the color converter in SNEStuff.
  • Using this online tool I made a while back.


As for modifying it, note that the SNES works in little endian. This means that, for 16-bit (or longer) values, their bytes are written in reverse; that is, $aabb is written as $bb,$aa. So, for instance, here's how the first Bowser palette looks in the ROM:
Code
org $00B69E
	db $FF,$7F,$C0,$18,$FB,$63,$0C,$03
	db $0B,$02,$35,$15,$5F,$1A

The first color here is actually $7FFF, but in little endian, it ends up as $FF,$7F. To fix this, you can reformat the palette like this:
Code
org $00B69E
	dw $7FFF,$18C0,$63FB,$030C
	dw $020B,$1535,$1A5F

When patched, this will assemble the same as the other table, but you don't need to keep track of the endian.

Professional frame-by-frame time wizard. YouTube - Twitter - SMW Glitch List - SMW Randomizer
I copied the
Code
org $00B69E
	dw $7FFF,$18C0,$63FB,$030C
	dw $020B,$1535,$1A5F
and pasted it into a .asm file, changed the values to the colors I want, want, patched it to my rom, it said it was successful, but it didn't change the palette. I think its clear I did something wrong.
Expect little to nothing from me for now.

Player graphics are the only thing I do right, so come tell me to make one you want.

Go to my profile for more trash of mine.


Well, there are 8 of them:
Code
org $00B69E
	dw $7FFF,$18C0,$63FB,$030C,$020B,$1535,$1A5F	; 1
	db $779B,$1860,$5B97,$02A8,$01A7,$0CD1,$11FB	; 2
	db $6F37,$1800,$5333,$0245,$0143,$046E,$0997	; 3
	dw $66D3,$1000,$4ACF,$01E1,$00E0,$000A,$0133	; 4
	dw $5E6F,$0000,$426B,$0180,$0080,$0006,$00CF	; 5
	db $560B,$0000,$3A07,$0120,$0020,$0002,$006B	; 6
	dw $4DA7,$0000,$31A3,$00C0,$0000,$0000,$0007	; 7
	dw $4543,$0000,$2940,$0060,$0000,$0000,$0003	; 8


That said, the first palette is the "base" one (no fading), so editing it should have some effect on Bowser. Try changing the first color $7FFF (which is white) to something noticeably different (e.g. $001F, red) and seeing if it turns Bowser red in-game. If not, then something is going on with how you're patching (e.g. you might not be looking at the same ROM you're patching to).

Professional frame-by-frame time wizard. YouTube - Twitter - SMW Glitch List - SMW Randomizer
Yes, that worked. Thank you.
Expect little to nothing from me for now.

Player graphics are the only thing I do right, so come tell me to make one you want.

Go to my profile for more trash of mine.