Previous Page | Next Page
- by unknownfile at 2:35 PM EST on February 7, 2007
- The rip might work like this:
1) Modify Desmume to pause at the song select, and have it save a savestate at this point.
2) Patch in a SWI and an infinite loop after the song select is done, and music is playing.
3) If it works, NOTHING else should run except the music.
4) Reload the savestate and see if it works.
5) Optimize the DS ROM, then zlib it and add in the savestate.
6) Create SR64 mini2sfs.
7) ???
8) PROFIT! (or maybe rip another game)
I'll let you know when I have something working.
- by PokeParadox at 2:59 PM EST on February 7, 2007
- Sounds grovy... make it so :P
- by Jouw at 3:35 PM EST on February 7, 2007
- Optimisation will be easy.
Follow the instructions to add my hack, but instead of replacing the SDAT files, delete everything in the "file" folder except the SDAT files.
Then, you'll have deleted all the level, graphics, script, etc data but the code and music will still be there.
- by unknownfile at 2:19 PM EST on February 8, 2007
- Optimization isn't as easy as you think.
Y'see, when you save a state with an unclean ROM, it will keep all the running data (which might include offsets of files in the ROM). When the cleaned ROM is loaded up, the sequence player will say, "Hmm... let's look at 0xDEADBEEF, where the next note for my sequence is stored... AAAGH, WHERE DID IT GO!?! I HAVE TO ALERT THE OS TO CRASH THE ENTIRE SYSTEM!!"
In other words, optimization should go as follows:
1) Load savestate.
2) Look for data reads in ROM space.
3) Dump used data to a ROM, say, "yids.nds.clean.bin"
4) Convert the data to zlib.
5) Create the mini2sfs, and wheehaw, finished.
This optimization process is used by pretty much every xSF-based format. Gsfopt, PJ64usf and PSFLab all use it.
Thing is, I don't know how to program this...
- by unknownfile at 12:04 PM EST on February 9, 2007
- Desmume's site says Yoshi Touch and Go is apparently not compatible. What happens is that the save data can't be read, and so the game displays such a message. What I'm going to attempt to do is check to see if it does work on Desmume if one is able to skip past the save errors.
Also, some stuff:
The ARM7 runs the sequence player, whereas the ARM9 handles the main gameloop. I can probably patch the ARM9 processor to go into an infinite loop after the song select has been called.
And VC++2005 is yet to be downloaded.
Hang in there, folks, I'll work on it after school.
- by Jouw at 1:39 PM EST on February 9, 2007
- Desmume has save support.
Have you tried changing the save type? The Auto setting doesn't work on all games. For example, New SMB only works with Flash 64kbit - others crash the emulator or give the save data error.
- by unknownfile at 3:56 PM EST on February 9, 2007
- Sawaru Made In Wario to the rescue!
- by unknownfile at 1:26 AM EST on February 10, 2007
- Got VC++2005 at last! Yippeee!
I am currently going about ways to find the songselect for Sawaru Made in Wario, then I will perhaps party like crazy afterwards.
Code in armcpu.c:
u32 c = 1;
// debug code goes here for NDS games you wish to fuck up-- er, work with
if (armcpu->instruct_adr==0x0206FB98) {
// just some random instruction.
NDS_Pause();
}
// code after here should be protected.
- by unknownfile at 10:49 PM EST on February 12, 2007
- Read through the Nintendo DS functions list, and here's what I found out:
1) Sequence playing is done on the ARM7.
2) The song select goes in this order:
assign wave bank -> play seq at offset
This means that rather than calling a specific song using an 8-bit integer (like GSFs and USFs), we are dealing with unsigned 32-bit values. Drat.
- by unknownfile at 12:01 PM EST on February 13, 2007
- I am going to re-write savestate support for Desmume so that zlib will compile. Instead of using gzip compression, I will rewrite the code to use memcpy() and compress().
As for the ROM itself, it will (obviously) be using zlib. NDS games have an interrupt handle that halts the game if the cartridge seems to have been modified so I am going to need to find a way around that, otherwise I can't optimize the ROMs.
Previous Page | Next Page
Go to Page 0 1 2 3 4 5
Search this thread
Show all threads
Reply to this thread:
HCS Forum Index
Halley's Comet Software
forum source