This is a follow up to my thread at SMWC, which is right here. I will explain all 4 tables and all the valid values for them.
Anyways, there is 36 bytes in each table. They correspond to the bounce image used, the power-up spawned, which sides it can be bounced on, and what tile it turns into once it has been activated.
All tables use these map16 blocks in the same order:
Bytes $01-$1C = Map16 entries 111-12D
Bytes $1D-$21 = Map16 entries 21-24
Byte $22 = Turn block when spin jumped on while big
Byte $23 = Green ! Block (16A)
Byte $24 = Yellow ! Block (16B)
Anyways, onto the tables!
Bounce image table - 0x00725C ($00F05C) Pretty self explanatory. As of now, these are the only values that I have proven to actually be safe to use. Maybe I'll snoop around all.log to double check. The ones I left out either seriously mess shit up, or just plain crash the game.
$00 - Turn block
$01 - Note block
$02 - ? block
$03 - Unused turn block you can hit from the sides (P-Switch by default)
$04 - Translucent block
$05 - ON/OFF switch (Makes the sound, too!)
$06 - Turn block; turns into a turning block for a few seconds then changes back to the original tile.
$07 - Shattering block!
$10 - Turn block; uses palette A (Yellow)
$11 - Turn block; uses palette D (Green)
Power-up spawn table - 0x007280 ($00F080) Now then. Every other value for this table spawns the item before it, except that it will spawn a mushroom if you are small. (With the exception of the star, which will spawn a continuous star on the next value up.) Here are the valid values:
$00 - Nothing
$02 - Mushroom
$04 - Fire flower
$06 - Star
$07 - Continuous Star/Single coin
$08 - Cape feather
$0A - 1-up mushroom (Note: Changes block to a used block, no matter what you set in the table!)
$0C - Single coin
$0E - Multiple coins
$10 - Growing vine, only works twice in one level?
$12 - Nothing, makes growing vine noise?
$14 - Blue/Silver P-Switch
$16 - Key/Wings/P-ballon/Shell
$18 - Yoshi
$1A - Koopa Shell
$1C - Changing Item (Spawns like a mushroom, even!)
$1E - Directional Coins
$20 - Key, only works twice in one level?
Then there's these two which are weird because of a quirk in the code:
$80 - Flower/Feather/Star
$81 and higher - Star 2/1-up mushroom/Vine
Bounce-able sides table - 0x0072A4 ($00F0A4) This one is simple because it's basically just a set format. Which is as follows:
- = Unknown/unused
b = bottom
t = top
r = right
l = left
Each bit, if set, makes it so you can bounce off that side. So if I wanted to bounce off all sides, I'd set it to %00001111, or $0F. If I wanted to bounce off the bottom and the right, I'd set %00001001, or $09.
Block change table - 0x0072C8 ($00F0C8) These are the tiles that the block changes into after it's done bouncing. It's based off of a set routine that changes based on a RAM address, so this is pretty much straight from all.log:
$01 - Empty space
$02 - Empty space
$03 - Vine
$04 - Bush background, for berries
$05 - Always turning block
$06 - Coin
$07 - Mushroom scale base
$08 - Mole hole
$09 - Invisible solid block
$0A - Multiple coin turn block
$0B - Multiple coin ?-block
$0C - Turn block
$0D - Used block
$0E - Music block
$0F - Music block
$10 - 4-way bounce music block
$11 - Unused side-bounce turn block
$12 - Translucent block
$13 - On/Off block
$14 - Left side of a pipe
$15 - Right side of a pipe
$16 - Used block
$17 - O block from 1up game
$18 - Invisible block containing wings (???, from all.log)
$19 - cage (???, from all.log)
$1A - cage (???, from all.log)