Homebrew NMM memory card emulation technical details?

Joined
May 1, 2015
Messages
12
Trophies
0
Age
34
XP
91
Country
I recently dusted off my old Wii, and remembered how many compatibility issues there are with No More Memory.

I was wondering, did the people who developed this leave behind any documents on how it was made or why certain games couldn't work with it? This out of technical curiosity than anything else, I don't expect it to help me to get things more compatible.
 

Cyan

GBATemp's lurking knight
Former Staff
Joined
Oct 27, 2002
Messages
23,749
Trophies
4
Age
45
Location
Engine room, learning
XP
15,649
Country
France
not technical info, but this is a quick explanation how it's working :

a game can store in the memory card different files or data binary, which are then pack together to form a single savegame package. this "package" can be selected in the memory card management as single data to copy/move/delete which are usually extracted and shared as .gci file using homebrew and emulators.

usually, emulators are emulating the full memory card binary with all the games, not the individual game binary (gci), nor the individual files stored in the gci "package".

NMM is not emulating the memory card but redirecting the individual files accessed by the game inside the savegame "package" (sorry, not the best word I found) to SD or USB.
the files have a filename, and data (like on a computer, you save your data in a file, and give a filename to that file).

The issue is that some games are not using FAT32 compatible characters for the filename, resulting in a different/converted filename. the game send the command to save using a specific filename, but NMM use a different filename due to FAT32 limitation. the file is saved and the game gives you "game saved successfully". When the game try to load, the expected filename can't be found and loading fails.


Another issue is with Mario Kart double dash, it seems that this game is saving the ghost data without providing a filename, and FAT32 require a filename so the beginning of the binary data is used as filename.
as a result, the data inside the file is incomplete. and also some characters used in the filename are incompatible with FAT32 because it's raw binary values and not compatible ASCII.



This is only some explanation. If you really want the technical details you should check DM/DML sources.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    OctoAori20 @ OctoAori20: Nice nice-