NESDev and Strangulation Records messageboards
Forum Index | FAQ | New User | Login | Search

Previous ThreadView All ThreadsNext Thread*Show in Threaded Mode


SubjectSPC7000 Disassembler  
Posted by<_Hyde_>
Posted on9/2/04 00:48 AM
From IP207.62.63.210  



I am planning on writing an SPC7000 disassembler using the same methods I've come up with in order to disassemble NES games, but I have no idea of where exactly the sound code is stored in SNES carts. Should the code be in a specific PRG bank (I'm looking for an address here, kinda like the reset vector for an NES game)? If so, how could I find out about it? Would this disassembler necessarily have to be able to diassemble 65816 PRG blocks, or would I be able to get away with just SPC7000 support? Would it be easier if I just started with .SPC files instead of SNES ROMs?

Also, the available header info for SNES ROMs doesn't really explain where the PRG pages are stored in the file. Could anyone help me out with this? Does the graphic data go together with the PRG data, or is it stored in separate parts of the file, just like .nes files?

hydesprojects.cjb.net


SubjectRe: SPC7000 Disassembler new  
Posted byMemblers
Posted on9/2/04 01:28 AM
From IP68.58.99.218  



SNES carts are PRG only, the graphics are all loaded into RAM by the program.

SPC code/data could be anywhere in the ROM, even compressed. I guess you could find the routine that loads it to the SPC, but it probably would be easier to just work with .SPC files. Especially since there could be 2 different loaders (the built-in reset/loading ROM routine for the SPC can only load the first 32kB). I don't think very much SNES music uses anything on the 65816 side except for triggering sound effects and stuff like that. The only things that come to mind that use the main CPU are Mario Paint, that SID player and my NSF player.




SubjectRe: SPC7000 Disassembler new  
Posted by<_Hyde_>
Posted on9/2/04 05:13 AM
From IP66.52.15.125  



Now I am beginning to understand how the SPC7000 works. Like you said, there is not a lot of communication between the main CPU and this processor, just whenever the main code has to play a sound based on user-triggered events. I am going to use .spc files to test the abilities of my disassembler. By the way, are there any good SPC assemblers available?

PS: I took a glimpse at some of the instructions and noticed that the processor supports BRKs. Can these be used at all?

hydesprojects.cjb.net


SubjectRe: SPC7000 Disassembler new  
Posted byMemblers
Posted on9/2/04 12:59 PM
From IP68.58.99.218  



I just used TASM for it (not the Borland TASM), but WLA-DX also seems to support it.

I dunno what the BRK instruction does there, it should be the docs though.




Previous ThreadView All ThreadsNext Thread*Show in Threaded Mode
Jump to

Memblers' homepage             Contact Me

Forums powered by WWWThreads Demo