Quote
$08:1AFE is where the offset to the next ptr is stored, this is not changed on level load or anything, probably not important
$08:8627 - Two bytes? This points to the next position in the same pointer table to read the offset for the next ptr
When this value is changed to another similar val;ue all stage sprites are incorrect graphics and palette, but TSA is same
$08:86B1 - Two bytes length. The offset position for the next pointer table is stored here. (table begins at $08:8623 and is offset by an X position to get to this address)
$08:89DF - Three bytes here. (Table starts at $08:8626 and was offset by X that comes from stack)
Byte 1( and 2?) = ptr number to load in next table
Byte 3 = not sure what this byte does??
$06:819C - two bytes here representing the address of the next 5 byte block of data that is also in bank $06
These bytes are read from a table beginning at $06:8180 that is offset by the previous data to find the desired address to point to
$06:8385 - block of 5 bytes (xx, yy yy, zz zz)
xx * 2 = length
yy yy = address of palette
zz zz = store palette to this position in pallet block in RAM
$0C:B0E0 - A block of palette data that is #$10*(2) in bytes of length
This palette is used for Life bars yellow shots, X's charging energy, smoke, health/weapon energy pickups, and some other stuff
$08:8627 - Two bytes? This points to the next position in the same pointer table to read the offset for the next ptr
When this value is changed to another similar val;ue all stage sprites are incorrect graphics and palette, but TSA is same
$08:86B1 - Two bytes length. The offset position for the next pointer table is stored here. (table begins at $08:8623 and is offset by an X position to get to this address)
$08:89DF - Three bytes here. (Table starts at $08:8626 and was offset by X that comes from stack)
Byte 1( and 2?) = ptr number to load in next table
Byte 3 = not sure what this byte does??
$06:819C - two bytes here representing the address of the next 5 byte block of data that is also in bank $06
These bytes are read from a table beginning at $06:8180 that is offset by the previous data to find the desired address to point to
$06:8385 - block of 5 bytes (xx, yy yy, zz zz)
xx * 2 = length
yy yy = address of palette
zz zz = store palette to this position in pallet block in RAM
$0C:B0E0 - A block of palette data that is #$10*(2) in bytes of length
This palette is used for Life bars yellow shots, X's charging energy, smoke, health/weapon energy pickups, and some other stuff
So this is from tracing backwards from the palette data I found. I'm not too sure what to make of it except a bunch of pointers... Is there any methods that I am not aware of to find out how the graphics and palette are set for each TSA or sprite data I have found? So far the sprite/TSA data doesn't seem to affect the palette for it at all. Granted I have not yet traced the sprite data back as far as I'd like to yet. There is still no link between the stage TSA data and the graphics and palettes loaded for the stage.
Just wondering if anyone had any input or thoughts on what I could do next aside from tracing everything I can and reading through assembly .