How to fix FDS roms for nesDS

Intro
I was trying to play Super Mario Bros. 2 (J) on my DS one day, and I just couldn't get it to work. I found all my FDS roms worked on the computer, but wouldn't work on the DS. After trying different configurations and files repeatedly, I found that the only roms that worked were the ones with an extra 16 bytes. After fixing my roms, I realized that this fix was not easily findable (if existent) on the internet, so that is the reason for this post.

Requirements
•A broken rom (duh)
•A hex editor or a terminal or a command line or whatever your os calls it
•A way to tell the exact size of the rom
•You DON'T need the FDS Bios
•A DS with a flashcart with nesDS working (test with .nes roms first)

The Fix
If a FDS rom is working on a computer emulator but not on nesDS, then it is likely that there is 16 bites missing from the beginning of the rom. The way to check for this is to look at the exact size of the rom. The size should read:
•65516 bytes for a 1 sided disk
•131016 bytes for a 2 sided disk
•Haven't tested this with 3 or 4 sided disks

If the size is 65500 or 131000, then it is likely that the first 16 bytes are missing. If so, open the rom in a hex editor. Paste one of the following lines at the beginning of the rom.

For 1 sided disks:
4644531A010000000000000000000000
For 2 sided disks:
4644531A020000000000000000000000

For 3 sided disks:
4644531A020000000000000000000000

For 4 sided disks
4644531A040000000000000000000000

Alternatively, use the copy command on Windows or the cat command in UNIX to add one of the attached files to the beginning of the rom.

Windows:
copy FILEINTHISPOST+YOURROM DESTINATION

UNIX:
cat FILEINTHISPOST YOURROM > DESTINATION

If both methods don't work, then you probably are experiencing a different issue than I was. I can try to help you though if you describe your issue in this thread.

Notes:
•To change sides, go to game -> extras -> fds, and click one of the buttons there.
•The first 3 bytes say FDS, the fifth is the number of sides to the rom.
•I still have no idea what the fourth byte means... but it seems important.
•It's probably best to add the 16 bytes to the rom before you apply a patch for a translation or such.
•Make sure you unzip the files before patching.
•First post here, hope I didn't break any rules, norms, unwritten rules, EULAs, DS flash carts, hearts, etc.
 

Attachments

  • For 1 side.zip
    171 bytes · Views: 821
  • For 2 sides.zip
    173 bytes · Views: 562
  • For 3 sides.zip
    173 bytes · Views: 526
  • For 4 sides.zip
    173 bytes · Views: 530

theoldmototoad50

Well-Known Member
Newcomer
Joined
Feb 29, 2020
Messages
57
Trophies
0
Age
17
XP
196
Country
United Kingdom
Sorry, maybe this is a necropost, but it worked for the first few seconds, then froze and this appeared on the bottom screen
 

Attachments

  • IMG_20201025_171344.jpg
    IMG_20201025_171344.jpg
    536.6 KB · Views: 280

winsupermario

New Member
Newbie
Joined
Jun 15, 2020
Messages
4
Trophies
0
Age
22
XP
71
Country
United States
That error happened to me when I used the version of nesDS included with TWiLightMenu. Just use the GameBrew download link and the hex edited FDS roms will work fine. Sorry for the necrobump again but I'm sure many people have come across this thread in google searches wondering the same thing.
 

impeeza

¡Kabito!
Member
Joined
Apr 5, 2011
Messages
6,357
Trophies
3
Age
46
Location
At my chair.
XP
18,703
Country
Colombia
Intro
I was trying to play Super Mario Bros. 2 (J) on my DS one day, and I just couldn't get it to work. I found all my FDS roms worked on the computer, but wouldn't work on the DS. After trying different configurations and files repeatedly, I found that the only roms that worked were the ones with an extra 16 bytes. After fixing my roms, I realized that this fix was not easily findable (if existent) on the internet, so that is the reason for this post.

Requirements
•A broken rom (duh)
•A hex editor or a terminal or a command line or whatever your os calls it
•A way to tell the exact size of the rom
•You DON'T need the FDS Bios
•A DS with a flashcart with nesDS working (test with .nes roms first)

The Fix
If a FDS rom is working on a computer emulator but not on nesDS, then it is likely that there is 16 bites missing from the beginning of the rom. The way to check for this is to look at the exact size of the rom. The size should read:
•65516 bytes for a 1 sided disk
•131016 bytes for a 2 sided disk
•Haven't tested this with 3 or 4 sided disks

If the size is 65500 or 131000, then it is likely that the first 16 bytes are missing. If so, open the rom in a hex editor. Paste one of the following lines at the beginning of the rom.

For 1 sided disks:

For 2 sided disks:


For 3 sided disks:

For 4 sided disks


Alternatively, use the copy command on Windows or the cat command in UNIX to add one of the attached files to the beginning of the rom.

Windows:
copy FILEINTHISPOST+YOURROM DESTINATION

UNIX:
cat FILEINTHISPOST YOURROM > DESTINATION

If both methods don't work, then you probably are experiencing a different issue than I was. I can try to help you though if you describe your issue in this thread.

Notes:
•To change sides, go to game -> extras -> fds, and click one of the buttons there.
•The first 3 bytes say FDS, the fifth is the number of sides to the rom.
•I still have no idea what the fourth byte means... but it seems important.
•It's probably best to add the 16 bytes to the rom before you apply a patch for a translation or such.
•Make sure you unzip the files before patching.
•First post here, hope I didn't break any rules, norms, unwritten rules, EULAs, DS flash carts, hearts, etc.
Wow, thanks for the post is very useful, and correction on Windows you should use the command:

Code:
copy /B FILEINTHISPOST+YOURROM DESTINATION

The "/B" parameters tells to the shell to copy binary files, if ommited will be copied as ASCII ones and damages can occur.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    SylverReZ @ SylverReZ: But I bet that would be more for a flashcart than a consumer repro board.