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.
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.