Here is a list of the various things that I found while working on my rom editor.
I'll start with level tilemaps:
Most levels (not water levels or slipslide ride), are stored in colums. They are 16 32x32 tiles high and vary in length. Each tile takes up 2 bytes of rom.Byte 1 says which tile number to use. The low bit of byte 2 is also part of the tile number (if there are more than 255 tiles in a tileset). The high bit of byte 2 tells weather the tile is horozontally or vertically fliped. EX) 00 01 is tile 1, 40 01 is tile 1 horozontally flipped, 80 01 is tile 1 tile 1 vertically flipped, C0 01 it tile 1 horizontally and vertically flipped. If a tile is horozontally flipped, the tile's collision is also fliped. However, if a tile is vertically flipped, its collision is NOT flipped.
Now object maps:
A typical object is 8 bytes long, it looks like this FU 00 XX XX YY YY OB OB. The FU is the object function byte. It is always betyeen 0 and F. Most objects use 01 for this byte. However "special" objects, such as the day-night trigger in jungle hijinxs use 08 for this. Byte 2 is always zero. Bytes 3 and 4 are the X-coordinate of the object. Bytes 5 and 6 are the Y-coordinate. Bytes 7 and 8 are the object short. They probably point to some ASM code to tell the game what to do. Also, objects' position is stored relative to the global tileset. As in, in object map terms, the X-coordinate of the start of jungle hijinxs is 0, but the X-coordinate of the beginning of ropey rampage is about 6000. Another thing, objects must appear in order, as in the X-co of the first object must be less than the X-co of the second object. Object 2 will not appear until object 1 has appeared.
Banana time:
Banana maps have a very strange data structure. Each banana formation in a level is 4 bytes long. They look like this: BA YY XX XX. BA is the banana formation. (images of them can be found on Giangurgolo's page). It is always even. Byte 2 is the Y-co of the formation. It MUST be a multiple of 8, (there are very few times when this is not the case). If not, a very strange banana formation will appear or the game will crash. The 2 byte X-co is very wierd. It is byte 4, times 64 plus byte 3, divided by 4. Byte 3 must be a multiple of $32. Bananas are stored relative to the level, as in the beginning of every level is 0 in banana map terms. Also, banana formations must appear in order. The X-co of banana 1 must be less than the X-co of banana 2.
This is most of the random things I have observed while hacking DKC.