Access SRAM with libnds?

NotImpLife

Active Member
OP
Newcomer
Joined
Mar 9, 2021
Messages
42
Trophies
0
Website
github.com
XP
489
Country
Romania
I was writing some homebrew game and once had the need to save the game progress and I wonder how can I do that in the way commercial games do. I mean, in order to make my game run fine on both hardware and emulators, I want to save 'directly to the card' instead of using the SD card. (this translates to having a "*.sav" file created by the emulator)

I learned that libnds has a predefined SRAM address and tried to follow the steps from the double.nz tutorial to access it, but I didn't manage to make it work. Then I tried the indications in this post which suggest using fatInitDefault(), but as excpected I received the "Failed to initialize FAT driver" error.

Last but not least, I tried the examples\nds\card\eeprom demo which gave me the following result: EEPROM: Type: -1 Size: 0.

I came to the conclusion that (correct me if I'm wrong) the NDS header (or any part of the file) must be configured in order to support SRAM, but I have no idea what or how could I achieve that. Can ndstool do the job or I need to find/write another tool that enables SRAM for my DS game?
 

ghjfdtg

Well-Known Member
Member
Joined
Jul 13, 2014
Messages
1,373
Trophies
1
XP
3,326
Country
You probably have no choice other than creating a file on the flashcart microSD. How it usually works is the flashcart kernel patches the game according to a database of save types or it tries to guess the save type based on code. The patch makes the game write the savegame directly to pre-allocated microSD sectors through the flashcart's DLDI. Or in other words DS flashcarts don't even support real EEPROM/flash savegames.
 

NotImpLife

Active Member
OP
Newcomer
Joined
Mar 9, 2021
Messages
42
Trophies
0
Website
github.com
XP
489
Country
Romania
Is this also available for emulators? Also, couldn't we 'trick' the kernel into recognizing the homebrew as a well-known ROM (e.g Zelda Spirit Tracks) and make use of its saving system?
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • BigOnYa @ BigOnYa:
    True, but so nice for gaming, movies.
  • K3Nv2 @ K3Nv2:
    Ancientboi is old he needs Walmart PA system
    +2
  • AncientBoi @ AncientBoi:
    Splitter @ $39 it says. I'll consider it. Thanks
  • K3Nv2 @ K3Nv2:
    Coupon makes it 30
  • K3Nv2 @ K3Nv2:
    My gaming stick can finally get use
  • K3Nv2 @ K3Nv2:
    I did see Walmart got new electric scooters now ab won't run out of juice in the middle of the parking lot
    +1
  • AncientBoi @ AncientBoi:
    :O:O:O $12. Cool
  • K3Nv2 @ K3Nv2:
    Yeah but one two ports
    +1
  • K3Nv2 @ K3Nv2:
    I'd rather spend like $15 more for double
    +1
  • K3Nv2 @ K3Nv2:
    Lol hogwarts legacy has a Arachnophobia setting to turn on
  • BigOnYa @ BigOnYa:
    I'd rather spend like $150 more for a surround receiver.
  • K3Nv2 @ K3Nv2:
    I bought the game at launch never fucked with it until recently
  • BigOnYa @ BigOnYa:
    Its fun, I like it, even tho I'm not a big harry potter fan. Like a wizard rpg. Flying around on a broomstick is cool.
  • K3Nv2 @ K3Nv2:
    Flying sucks ass on it
  • BigOnYa @ BigOnYa:
    Nuh just takes a min to get used to. I think you can upgrade or buy new broomstick also that are better.
    +1
  • K3Nv2 @ K3Nv2:
    I weirdly like inverted controls on all flying type games
  • BigOnYa @ BigOnYa:
    Prob can change it, inverted flying controls.
  • K3Nv2 @ K3Nv2:
    Only thing that annoys me is trying to find wtf to do in it
    +1
  • BigOnYa @ BigOnYa:
    Alright off to the store, later gators.
    +1
  • K3Nv2 @ K3Nv2:
    Some places amaze me were not in network with your insurance would you still like an appointment
    +1
  • AncientBoi @ AncientBoi:
    uhhh, I think I'll just stick with my PSP 3001
    AncientBoi @ AncientBoi: uhhh, I think I'll just stick with my PSP 3001