Custom title

Sunday, October 22, 2006

Upgrading the compatibility

.

Lately, i've been working on the 3d core, and its compatibilty with the DS roms. By taking a look at the debugger results, i found out i could make a CallList class that translated a buffer (or vertex) in true call lists (SDL for the rendering). So i went on and made a Hash table with the CRC of call list with "buffer; vertex" as the key. Then, if the call list exists in the table, it is possible to call it. As a last resource, i could use a memory pool for alternate call lists.

Derived from that CRC checked cache, it is possible to redo a function to make the DS display lists interprete a longer queue of commands. This way, the compatibility enhances, seeing how the 3d core now has "relative" vertexes to go work with. This type of vertexes is extremely useful, as their coordinates are 40% size of the full accuracy ones.

As usual, images explaining the updates:





















Pokemon Dungeon, Tsubasa Chronicle and Resident evil deadly silence respectively. All of them which were unplayable, or partially unplayable are now functional