Here's a little more newsworthy information, that I find interesting yet worrying...Nearly the entirety of the DKC2 ROM is compressed, including Levels, Tilesets, almost all Graphics, and maybe Physmaps.
The only uncompressed parts I know of are sprites, text, and the object map data.
What this means, is that in order to have any flexibility in designing levels in DKC2, it would be necessary to expand the ROM to 48MBit or 64MBit. Wether this is possible, I don't know, but it seems the only solution. It would be very difficult to work within the stringent restraints of the compressed data size(s)... even if you re-compressed the levels, they would most likely not compress to the same size as before.
I have found this by looking at the ROM in a tile viewer. You can see the compressed data along with sprite data/graphics every so often. One strange thing is that there are sprites almost at the beginning of the ROM, which seems much different than the way DKC is organized.
I did a trace on the address and found a piece of code that accesses the data. However, modifying the two bytes in this code to $EAEA (in order to blank it out) not only results in corrupted graphics upon loading of any level; it also affects the map screens and the physical surfaces within levels.
This will result in catastrophic corruption of just about everything excluding sprites. This is how I've came to the conclusion that this compression affects most of the ROM, not just level graphics. Upon loading of Ghostly Grove, you will see something similar to this:
After finding this out, I saw that the makers of the Japanese DKedit tool have already done an ASM trace of this compression. So at least I won't have to re-invent that wheel, like I had to do for DKC. I can skip the step of tracing the routine and get straight to work with making a viable C++ port of the decompressor. However, I can not make sense of the notes which they have written in the trace (the translations don't make much sense apart from the phrase "RLE" which means run-length-encoding), so I'm sort of on my own in emulating this code via C++.
I don't need any help just yet, but I will ask if I need any help. Wish me luck!