| |||
Views: 88,479,605 |
Main | FAQ | Uploader | IRC chat | Radio | Memberlist | Active users | Latest posts | Calendar | Stats | Online users | Search | 04-25-24 01:56 AM |
|
Guest: Register | Login |
0 users currently in ROM Hacking | 2 guests |
Main - ROM Hacking - SMB3 Title Screen Palette Definitions | New thread | New reply |
KP9000 |
| ||||||
Boomboom Level: 90 Posts: 850/1975 EXP: 6952590 Next: 236019 Since: 02-19-07 Last post: 3578 days Last view: 3202 days |
|
Trax |
| ||
Yellow Stalfos Level: 71 Posts: 851/1145 EXP: 3035456 Next: 131658 Since: 07-06-07 From: Québec Last post: 3625 days Last view: 2877 days |
The values are stored this way because of how the individual bit values are processed in the code. In ASM, you typically have something like that:
Then loop 3 more times. The code doesn't work, but you get the idea. In the end, the palettes codes (0-3) are stored in reverse order relative to how the bytes are stored because you start with the 2 least significant bits... |
KP9000 |
| |||
Boomboom Level: 90 Posts: 852/1975 EXP: 6952590 Next: 236019 Since: 02-19-07 Last post: 3578 days Last view: 3202 days |
|
never-obsolete |
| ||
Rat Level: 24 Posts: 52/96 EXP: 74487 Next: 3638 Since: 02-22-07 From: Phoenix, AZ Last post: 2594 days Last view: 2594 days |
The 23E020 looks like it might be saying "write $20 bytes to $23E0" (attribute tables are at $23C0, $27C0, $2BC0, $2FC0 in PPU memory). Is there a 23C020 before the first line of F0s? I've seen other games store static attribute tables that way. |
KP9000 |
| ||||
Boomboom Level: 90 Posts: 853/1975 EXP: 6952590 Next: 236019 Since: 02-19-07 Last post: 3578 days Last view: 3202 days |
|
Trax |
| ||
Yellow Stalfos Level: 71 Posts: 853/1145 EXP: 3035456 Next: 131658 Since: 07-06-07 From: Québec Last post: 3625 days Last view: 2877 days |
It depends how your tiles are layered down. My answers follow my experience with Arkanoid, in which the palettes cannot be changed on a "per-tile" basis. In the case of SMB3 overworld map, it's almost only background tiles; the sprites are Mario/Luigi, Koopas, Spades, Flying Boat, etc. I'm not sure how sprites palettes work exactly, but background ones follow the principle explained by KP9000 initially...
One byte in these data tables covers the palette indexes (0-3) for 16 tiles (2x2x2x2). To define a full screen, which is 32x30 tiles, you need 60 bytes. If your map is more than one screen wide, then I guess the table is longer, but I'm not sure... |
Main - ROM Hacking - SMB3 Title Screen Palette Definitions | New thread | New reply |
© 2005-2023 Acmlm, blackhole89, Xkeeper et al. |
MySQL - queries: 62, rows: 87/88, time: 0.019 seconds. |