Hacking Difficulty of Use

  • Thread starter Thread starter gimlianon
  • Start date Start date
  • Views Views 4,642
  • Replies Replies 26
cutterjohn said:
Smiths said:
And so ya know, there's discussions going on to implement in-game menu with RTS and whatnot. Reports say it "shouldn't be too hard".
It's not that easy, and since the firmware doesn;t seem to be able to save directly to uSD or onboard dlash memory other than their save blocks, they're going to need to do that first, or waste more blocks reserved for RTS on the onboard FLASH RAM. Not to mention, I think that they're going to find that implementing a useful RTS isn't quite easy.


The RPG writes the save file directly to the NAND/miniSD card and can do the same with the RAM and register image { there is no limit to what it can write while running though you need to code the function to do so).
 
cutterjohn said:
Smiths said:
And so ya know, there's discussions going on to implement in-game menu with RTS and whatnot. Reports say it "shouldn't be too hard".
It's not that easy, and since the firmware doesn;t seem to be able to save directly to uSD or onboard dlash memory other than their save blocks, they're going to need to do that first, or waste more blocks reserved for RTS on the onboard FLASH RAM. Not to mention, I think that they're going to find that implementing a useful RTS isn't quite easy.

A working RTS shoudn't be too hard but a 100% compatible one will as some of the nds hardware registers are write only which means you can save their state when making a rts, this can be remedied by using the mpu to trap writes to the register area but that will trap all writes to any register and will slow games down alot.
 
I guess technically you can look at it as a buffer in the NAND
When you boot up the RPG after playing a game (or soft-reset), it has some fun like this:

Code:
ÂÂÂÂu8 * saveDataBuffer = new u8[SAVEDATA_BUFFER_SIZE];
ÂÂÂÂstatic ALIGN(4) u8 readNandBuffer[2112];
ÂÂÂÂmemset( saveDataBuffer, 0x5a, SAVEDATA_BUFFER_SIZE );
ÂÂÂÂu8 * pSaveDataBuffer = saveDataBuffer;
...
ÂÂÂÂ ioRpgReadNand( _saveBlockTable[i] + j * 2048, readNandBuffer, 2048 );
 
gimlianon said:
See, this kind of stuff is why I'm gonna buy this card. The open source-ness allows new stuff to get added all the time. I think that's friggin' awesome!
I agree completely... this also means that as long as there is someone working on the FW, even if the original team dies/explodes, we still have support, right???!?
 

Site & Scene News

Popular threads in this forum