The Socrates Gameboy Advance Development Engine
The SGADE is a development library for the Nintendo Gameboy
Advance. It's free for all uses and is distributed without guarantees.
For more information visit
the SGADE page.
Add support for allocation of tile sets with charbase values other than 0
We could instead split the memory up by assigning ranges to several Tile caches. Each would allocate tiles from their area, and maps would be assigned to a specific tile cache. In this case, the SoBkgMemManager would also be called to allocate memory for map data, instead of hard-coding specific ranges for each map. Map memory would be marked as used with another key value in the RamToRom map (which would be shared among all active Tile caches). This even allows the user to manage the tiles directly if they so choose.
if all tiles fit into memory, we could allow for them to be pre-loaded instead of demand-loaded. This would have to be a flag on the tile cache setup call. It would probably be a better bet to just let the user call into SoTileSet to pre-load the tiles.
Change to not do demand load for tiles that are not visible due to windowing.
Add support for mode 1, 2 screens
extend to handle 512 pixel screen widths (which use rather odd tile ordering)
Finish this entire function even. Doh! This was just a test.