Jump to content
Visual Boy Advance-M

Get the location in the rom where graphics are loaded

Recommended Posts

From what I've gathered so far, the graphics are loaded from the rom into the vram which is then accessed by the oam and so on and so forth. What I don't understand is where in the code this interaction takes place. The reason I need this is so I can uniquely identify the graphics that are being loaded without having to resort to comparing checksums.

Share this post

Link to post
Share on other sites

Each ROM can use different methods of loading graphics. But, from what I've gathered, most use DMA0 or DMA3 or CpuSet (SWI 0xB) to load uncompressed graphics into the VRAM.


But if they are compressed (with LZ77) they are loaded directly into the VRAM with LZ77UnCompVram (SWI 0x12), which is kind of slow, or into the WRAM with LZ77UnCompWram (SWI 0x11) and then from the WRAM to the VRAM with CpuFastSet (SWI 0xC.)


But then again, it's possible it uses none of these methods and the game manually loads it using a looped routine (Final Fantasy Tactics Advance does this.)


Anyway, you can use the "Logging" option, located in the Tools menu to check if any of the above methods are used.


EDIT: I suggest you read gbatek if you don't understand me.

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now