![]() |
| Register | Login | |||||
|
Main
| Memberlist
| Active users
| Calendar
| Chat
| Online users Ranks | FAQ | ACS | Stats | Color Chart | Search | Photo album |
|
| | |||
| 0 users currently in ROM Hacking. |
| Acmlm's Board - I3 Archive - ROM Hacking - Where are the OAM and CGRAM Located? |
New poll | | ![]() |
| Add to favorites | Next newer thread | Next older thread |
| User | Post | ||
|
Unicorn_Poop Micro-Goomba Since: 12-21-05 From: Knox-Vegas Last post: 6081 days Last view: 6081 days |
| ||
| I have scoured the internet and abused my hex editors.
All I need is a straight answer. Where the hell are the OAM and CGRAM located? Obviously not in either RAM or VRAM, but that's the extent of my knowledge. |
|||
|
Sukasa Birdo Not quite as active as before. Xkeeper supporter Xk > ||bass I IP Banned myself! Twice! Since: 11-17-05 From: Somewhere over there Last post: 5908 days Last view: 5907 days |
| ||
| Try reading qwertie's hardware doc. It'll tell you all you need to know about the CGRAM, OAM, and moer, and how to use them.
It's on zophars. |
|||
|
Unicorn_Poop Micro-Goomba Since: 12-21-05 From: Knox-Vegas Last post: 6081 days Last view: 6081 days |
| ||
| I've notice one or two of qwertie's documents bundled with the ZIP files at Zophar.net before, but no complete technical documentation of the SNES by him exists on that site, or at least in the SNES tech docs section.
I'll go and look up documents penned by him alone on google or something and try to figure this out myself. However, my real question is this: Using Geiger's SNES9x Debugger, the only memory locations listed are the ROM, RAM, ARAM, and VRAM. I would assume that the CGRAM and OAM would exist in the VRAM, but obviously they don't. So, are CGRAM and OAM seperate memory locations outside of the ones I just listed? Are they memory locations in the PPU outside of the VRAM's 64k? Any help would be appreciated. |
|||
|
Sukasa Birdo Not quite as active as before. Xkeeper supporter Xk > ||bass I IP Banned myself! Twice! Since: 11-17-05 From: Somewhere over there Last post: 5908 days Last view: 5907 days |
| ||
| Ya... the CGRAM should be accessible through a palette dialog or something, maybe, and the OAM isn't in the VRAM's 64K or memory... ok for something to do with sprites. | |||
|
Unicorn_Poop Micro-Goomba Since: 12-21-05 From: Knox-Vegas Last post: 6081 days Last view: 6081 days |
| ||
| Thanks for the help.
Looking further into it, the CGRAM and the OAM are indeed seperate memory locations outside the VRAM's 64k. This wasn't apparent using the SNES9x debugger since Geiger didn't include a way to directly view the contents of either type of memory. This was my first thread here, and I'm sure I'll return. I'm hacking Super Metroid since jayths is dragging his butt on SMILE. Later. |
|||
|
blackhole89 Moronic Thread Bodycount: 17 (since 2006-08-21 09:50 EST) F5 F5 F5 F5 F5 Since: 12-31-69 From: Dresden/SN/DE Last post: 5909 days Last view: 5907 days |
| ||
| Both the CGRAM and the OAM are stored in the half-autonomous PPU of the SNES and can be accessed though specific PPU I/O registers. For CGRAM (palette data), you can read/write an address previously specified by writing the colour index to $2121 (as the CGRAM is 512 bytes large - 2 for each colour - you can only access the even locations in it this way. The odd locations can be accessed through writing/reading from the preceding even location, as both of them increment the internal location pointer by one) by writing to $2122 or reading from $213B. From what I can recall, it works similarly for OAM, just with $2102 for address setting, $2104 for writing and $2138 for reading. Also, $2103 had something to do with it... but I don't know what.
Hope that helps. ~blackhole89 |
|||
|
creaothceann Red Goomba Since: 11-22-05 Last post: 6102 days Last view: 6102 days |
| ||
| SNES docs (RARed) |
| Add to favorites | Next newer thread | Next older thread |
| Acmlm's Board - I3 Archive - ROM Hacking - Where are the OAM and CGRAM Located? |
| ![]() |