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 - A quick SPC700 RAM question. | 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: 6456 days Last view: 6456 days |
| ||
How much RAM is at your disposal when working with the SPC700?
I have read conflicting views on this. The SNES manual says that there is 512K bits installed on board, but lists only addresses $0000 - $7FFF as the 'Standard Transmission Area,' whatever that means. I have read documentation that states anything above $8000 is unusable. However I have looked at the APU RAM in SNES9x's debugger and it appears a full 64K Bytes are usable. The only thing I can figure is that you can only access addresses $0000-$7FFF when sending data from the SNES CPU, and that the rest of the RAM can only be used by the APU-IC. Please tell me if I am right, or at least the facts. Thanks. |
|||
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: 6283 days Last view: 6282 days |
| ||
All 64KB is usable. Originally, the design was for 32KB, but at the last minute the design was change to double that amount. hence, 64KB SPC700 dumps. | |||
GeckoYamori Koopa Since: 11-25-05 Last post: 6297 days Last view: 6282 days |
| ||
You can override the 64kb limit. Most games that didn't ended up sounding pretty shitty. | |||
Yoronosuku Toss Tortoise Since: 11-17-05 From: Massachusetts is my new home.. Last post: 6282 days Last view: 6282 days |
| ||
Um, no you can't. The SPC700 has 64kb of ram. That's it. | |||
GeckoYamori Koopa Since: 11-25-05 Last post: 6297 days Last view: 6282 days |
| ||
There is a workaround, it has been used by numerous composers. I think it's some sort of compression technique. | |||
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: 6283 days Last view: 6282 days |
| ||
I believe it's called uploading only what you need at any one time.
I think Chrono Trigger did that.. I think it actually had three different binaries that were uploaded to the SPC700 RAM as needed. |
|||
Unicorn_Poop Micro-Goomba Since: 12-21-05 From: Knox-Vegas Last post: 6456 days Last view: 6456 days |
| ||
Good, 64K bytes of RAM. That's what I needed to know.
But now a new question pops into mind. Once you have uploaded the initial data to the APU-RAM, can you overwrite the IPL-ROM? I know it's called ROM and it's only $40 bytes, but for the sake of completeness, it would be good to know. If no one has answer for this, I'll just try to construct a APU loading program and test it out. But then again there is nothing that says emulators are perfect copies of the SNES. |
|||
GeckoYamori Koopa Since: 11-25-05 Last post: 6297 days Last view: 6282 days |
| ||
Originally posted by Sukasa + I think that's different from compression. Isn't that how they made the Star Ocean score? Hence why it couldn't be ripped correctly as SPCs. However many other soundtracks that use more than 64kb have been ripped without any problems, Actraiser for example. |
|||
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: 6283 days Last view: 6282 days |
| ||
Yea, it's not compression.
Oh, and you can't overwrite the IPL ROM... but thewre is a certain hardware register you can set to disable it and access the RAM it was overwriting. |
|||
HyperHacker Star Mario Finally being paid to code in VB! If only I still enjoyed that. <_< Wii #7182 6487 4198 1828 Since: 11-18-05 From: Canada, w00t! My computer's specs, if anyone gives a damn. STOP TRUNCATING THIS >8^( Last post: 6282 days Last view: 6282 days |
| ||
SPC700 samples use BRR compression. Some games also streamed sound (upload audio data to the SPC700 in realtime), which makes it impossible to make a .spc dump of them. | |||
DJ Bouche Koopa Since: 11-22-05 From: Bligh Park, NSW, Australia Last post: 6444 days Last view: 6444 days |
| ||
The SPC700 is directly linked to the main CPU via 4 8-bit I/O ports. Through these the two can communicate (providing programs at both ends send/receive). Many early games had banks of the entire game's set of music loaded into the SPC700 bank the whole entire game. Some games would have 1-3 banks, and when a song from a particular bank was needed, it would load that bank (eg. Zelda 3, SMAS, SMW). Later, games would upload only the current song that was playing, giving the song much more space to use as you weren't restricted to having a whole set of songs in one bank. Other games, would have even more complex ways of communicating with the SPC rather than just sending a mere song number through the I/O port, or a command to play certain song at certain address in the SPC-RAM... these games would have music data streamed through the I/O ports in real time and/or upload samples into the SPC-RAM as they are needed. These are currently the games that cannot be ripped in the SPC format. (We need a more xSF like format with this, that emulates BOTH the main CPU and the APU).
To answer your question, as far as I know, and as far as I can remember all of $0100-FFFB is available. $F4-$F7 are the I/O ports I mentioned, other are probably vectors, I can't remember much about < $0100. $FFC0-$FFFF is boot code which is the initial state of the SPC700, a simple program that will accept the standard uploads from the main CPU. |
Add to favorites | Next newer thread | Next older thread |
Acmlm's Board - I3 Archive - ROM Hacking - A quick SPC700 RAM question. | | |