ROM Hack Super Mario Advance 4 - All Unreleased e-Reader Cards Translated!!

Renegade_X135

New Member
OP
Newbie
Joined
Jan 1, 2019
Messages
4
Trophies
0
Age
32
XP
128
Country
United States
It took me a couple of months of research, programming, trial and error. But just recently, I have finished work on translating ALL of the unreleased Super Mario Advance 4 e-Reader cards into English as digital binary files for use in emulator programs such as No$GBA, which feature e-reader/link cable functionality.

Needless to say, the resulting SAV files can then be converted and loaded and then loaded into an actual GBA cartridge. Alternately, the binary data files can be converted into raw dot code images that a person can print out and use with an actual e-Reader.

Now, some of you might be asking why this is even necessary? The Wii-U re-release of SMA4 already includes all of the e-Reader levels, and with officially translated titles. I did this for people that want to experience these levels/power-ups/demo-playthroughs to their fullest translation on the original ROM and/or cartridge of Super Mario Advance 4 - as Nintendo had originally planned for the American market.

When SMA4 first came out in 2003, there were 105 e-Reader cards released in Japan (actually, 106, where one of them was a promo version of the Super Leaf card), but only 43 of them came to America, with the other 62 never released or translated. So, in order to accomplish this feat, what first I did was gather information on how Nintendo's binary data and header checksums worked for these files. (Most of this info came from CaithSith2's website on e-Reader hacking/development).

I then started by using No-Intro's dumps of the Japanese SMA4 e-Reader cards, and using his dumps of the English SMA4 e-Reader cards as a cross-comparison at points.

I also used the Checksum that Bangaio created a few months ago. This program was ESSENTIAL in converting all of the JP binary e-Reader files for US usage. To ensure that their program worked, I first used it to convert the demo and power-up cards that WERE released in America with their officially released American counterparts.

Every single binary file was a perfect match, with the exception of the first 10 item cards (Mushroom, Fire Flower, Super Leaf, etc.) - For whatever bizarre reason, their unique identifiers had 10 subtracted from them. (Example: JP Fire Flower was 12, while US Fire Flower was 2) Remember how I mentioned that Promo Super Leaf Card earlier? Well, the JP Super Leaf identifier was 13, the Promo JP Super Leaf identifier was 3, and the US Super Leaf identifier was also 3.

At this point, I then ran the program to convert the demo and power-up cards that WEREN'T released in America. (No identifiers were changed along the way whatsoever.) The Level Cards, however, had another problem: their names. The Japanese titles showed up as garbage text on US SMA4 games. For this, I decided to use the OFFICIAL translated level titles from the 2016 Wii-U virtual console re-release of SMA4, which has ALL 38 e-Reader levels pre-loaded into its ROM file. So, upon extracting the level data from the level cards, changing the bytes in the titles, and then re-compressing and re-encoding the e-Reader files, they were complete.

There was one level in particular that took quite some extra work: No Time to Dawdle (also known in Japanese as B-Dash de Kakenukero!) This particular card was not included with the No-Intro dumps. I managed to acquire it by finding an SMA4 save file that contained the level saved into it. From here, I extracted the level out of the save and into it's own binary file. Using Bangaio's program, I was able to re-create the e-Reader BIN file of the long lost B-Dash de Kakenukero! card! All of the header/binary data matches up with Nintendo's syntax on e-Reader cards 100% perfectly.

(To ensure that this level file was genuine, I made sure to cross-compare it to the fan re-creation of the level from 2013. The binary data was completely different between both files, so I knew that this binary data was the real deal.)

The next obstacle was figuring out which "official" title to give this level when converting it to English. In the Wii-U version of the game, this particular level shows up as "No Time to Dawdle" when entering world-e for the first time in a play through. However, when re-playing the level on a subsequent try, the title changes to "No Time To Dawdle!" with an exclamation mark added. This bug occurs because the title in the save record data not being the same as the title in the embedded level data. However, it gets even deeper than that!! Within the Wii-U version of the SMA4 ROM, the bytes representing the name within the record data include a junk byte (1B) at the end of the string. This may have very well been a typo on behalf of the translation team, as the bytes representing the name within the level data include the exclamation mark byte at this same position.

At this point, I decided to make an executive decision on what to name the level, and decided to go forward with "No Time to Dawdle" with the invisible junk byte 1B at the end of the string. I feel that this title fits the level most appropriately, as all 37 other level titles do not have an exclamation mark or question mark at the end of them. This also matches the title as it is found in the Wii-U re-release's ROM file.

Other than changing the e-reader level titles from Japanese to English, no other changes were made to any of the data in any of the binary files! Before finishing up, I decided to take the opportunity to compare these converted BIN card files with CaitSith2's own converted BIN card files. There were some MAJOR revelations discovered!!

For starters, his conversion of the power-up "5 P-Wings" was corrupt and did not work properly. He improperly converted the identifier for the "100-up Mushroom". But most importantly, his colored switch cards were missing vital data. As such, the official versions of the unreleased switch cards include the following:

Yellow Switch - Luigi's Gravity cut in half - only usable in the SMA4 main game
Green Switch - Timer twice as slow for first 50 counts - only usable in the SMA4 e-World
Cyan Switch - P-meter only requires half the running - only usable in the SMA4 e-World

CaitSith2's version of these cards had them usable in both the main game and the e-World, which were causing game-crashing bugs in SMA4 when more than 5 switches were active in game. What this means is that the main game is intended to have 5 switches maximum enabled: Blue, Orange, Blue Green, Yellow and Red. And that the e-World is intended to have its own 5 switches maximum enabled: Blue, Orange, Green, Cyan and Red.

So now comes the BIGGEST discovery of all: the Red Switch!

This switch works in both the main game and e-World. But CaitSith2's version of the card enables two effects: Harder versions of enemies and doubled score awards. Well... It turns out that the official version of the Red Switch actually has FOUR EFFECTS!

Harder versions of enemies spawn, doubled score awards, non-lethal collisions turn Mario/Luigi into their small form (even if they had a Raccoon suit or Fire Flower), and bosses have twice their usual health.

All of the converted binary card files that I have created include all of these official effects, and can be compared to their Japanese counterparts for verification.

I have nothing but respect for CaitSith2, as he is the one who helped paved the way for these e-Reader conversions to become a reality. However, his conversions of the e-reader cards were incorrect, whereas these ones are correct.

So without any further ado, here are the three downloads included with this post:

1) The long-lost holy grail of Super Mario Advance 4: The Japanese "Mad Dash" level e-Reader file. (SMA4-J_07-A052_PR_B_Dash_de_Kakenukero!.rar)
2) All of the unreleased Super Mario Advance 4 e-Reader Cards Translated. (SMA4_Unreleased_e-Reader_Cards_Translated.rar)
3) All of the source files of the programs/scripts I used, along with helpful text files explaining all of the conversion data in more detail. (SMA4_e-Reader_Project.rar)

Before I end, I just wanted to give credit to Bangaio, LuigiBlood, purplebridge001, CaitSith2 - without their help and programs, none of this would have been possible.

I hope that these files help people experience ALL of the e-Reader functionality from Super Mario Advance 4 to the full extent, as it was meant to be enjoyed 15 years ago in 2003.
 

Attachments

  • SMA4-J_07-A052_PR_B_Dash_de_Kakenukero!.rar
    1 KB · Views: 1,271
  • SMA4_Unreleased_e-Reader_Cards_Translated.rar
    70.6 KB · Views: 1,515
  • SMA4_e-Reader_Project.rar
    1.7 MB · Views: 1,564

ShadowOne333

QVID PRO QVO
Developer
Joined
Jan 17, 2013
Messages
10,896
Trophies
1
XP
13,265
Country
Mexico
Nice work!
Finally each level is now their proper .bin file for an eReader card :)

I also wanted to ask, would this help to like create a ROM of Super Mario Advance 4 with all of the eReader levels? In like injecting them somehow without the limit of the 32 levels that the original SMA4 had?
So that we can have a ROM with all of the eReader levels without having to rely on the legally dubious patch floating around.
 

bluedart

Well-Known Member
Member
Joined
Nov 13, 2016
Messages
270
Trophies
0
XP
1,839
Country
United States
This is amazing. I've been waiting for this for so long. It's too bad I have no idea how to use it and the included documentation only states how difficult it was to achieve many times. I'm so confused at how to use this. If you'd like to include some sort of tutorial for people who haven't worked with this kind of stuff for years I'd be very grateful. It'd be a shame for this to just fall into obscurity since I've been wanting it for years.
 
  • Like
Reactions: RoniPunk

Wanderer0891

Well-Known Member
Member
Joined
Dec 18, 2008
Messages
108
Trophies
0
XP
281
Country
United States
I admit learning that the Cyan Switch only works in World-e in the proper e-card is disappointing but oh well. I've attached some save files in a zip to this post with a bunch of items and the e-Switches scanned in for people who don't want to mess around with getting the e-Reader to work. One save has the Red Switch scanned in while the other does not, the save with the Red Switch is "SMA4-SMB3(RS).SAV". These saves are intended to be used on the Wii U version of SMA4 as they don't have level cards scanned in but I could try to make more save files with the level cards if requested. I made a tutorial for injecting SMA4 saves on the Wii U using Saviine here:
Super Mario Advance 4 VC Save File Injection | GBAtemp.net - The Independent Video Game Community
 

Attachments

  • Mario 3 e-Reader Levels Save Files.zip
    3 KB · Views: 387

RoniPunk

Well-Known Member
Newcomer
Joined
Sep 5, 2009
Messages
59
Trophies
0
XP
142
Country
United States
I admit learning that the Cyan Switch only works in World-e in the proper e-card is disappointing but oh well. I've attached some save files in a zip to this post with a bunch of items and the e-Switches scanned in for people who don't want to mess around with getting the e-Reader to work. One save has the Red Switch scanned in while the other does not, the save with the Red Switch is "SMA4-SMB3(RS).SAV". These saves are intended to be used on the Wii U version of SMA4 as they don't have level cards scanned in but I could try to make more save files with the level cards if requested. I made a tutorial for injecting SMA4 saves on the Wii U using Saviine here:
Super Mario Advance 4 VC Save File Injection | GBAtemp.net - The Independent Video Game Community

Yes, Please do!

How do you use this? Where do we place items the were NOT included? Where are the files once "convert_all_unreleased_card_files.bat" is used?
 
Last edited by RoniPunk,

bluedart

Well-Known Member
Member
Joined
Nov 13, 2016
Messages
270
Trophies
0
XP
1,839
Country
United States
Okay, I guess I just hadn't looked hard enough. After Vinny's aformentioned stream of the e-reader levels very recently I just had to figure this out. Turns out this has been available since last year. If you go to a specific github, you can download an ips patch which works on RetroArch and puts the 38 e-reader levels into the game. From what I can tell "No Time to Dawdle" does not save properly, likely due to the name mismatch in the save data you mentioned. Apart from that, is everything else present, or should I somehow figure out how to turn your work into a usable rom to get extra content?
 

Lumstar

Princess
Member
Joined
Mar 6, 2006
Messages
3,996
Trophies
0
Location
Darling
Website
eonhack.blogspot.com
XP
1,392
Country
United States
Okay, I guess I just hadn't looked hard enough. After Vinny's aformentioned stream of the e-reader levels very recently I just had to figure this out. Turns out this has been available since last year. If you go to a specific github, you can download an ips patch which works on RetroArch and puts the 38 e-reader levels into the game. From what I can tell "No Time to Dawdle" does not save properly, likely due to the name mismatch in the save data you mentioned. Apart from that, is everything else present, or should I somehow figure out how to turn your work into a usable rom to get extra content?

Nintendo embedded and translated the levels for the Virtual Console rom. If you do use it, you'll only have to deal with the non-level cards.

The reason for the e-reader level patch being "legally dubious" as pointed out above is that the VC content is officially issued and sold by Nintendo.
Of course, the same thing applies to a save file with the e-reader levels scanned into the game. The save will contain data that originated from the cards.
 
Last edited by Lumstar,
General chit-chat
Help Users
    Dark_Phoras @ Dark_Phoras: You should tell her nice cute things