News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Author Topic: F-Zero e+  (Read 2354 times)

GuyPerfect

  • Jr. Member
  • **
  • Posts: 6
    • View Profile
F-Zero e+
« on: July 11, 2017, 03:48:24 pm »
Okay, this is going to be a bit of an encyclopedia article, so bear with me...

The Japanese version of F-Zero GP Legend was compatible with the e-Reader. Content that could be scanned in included machine unlocks, courses and staff ghosts. When the game was localized for international releases, the e-Reader functionality was removed. Certain e-Reader exclusive machine unlocks were converted to in-game unlocks instead, and staff ghost/e+ course features were dropped entirely.

Two series of e-Reader cards were produced for the game: Pillow Pack and Carddas Version (roughly; they are Japanese, after all). Pillow Pack cards were available at retail like most forms of e-Reader distribution, but the Carddas cards were exclusive to promotional vending kiosks. While most of the Carddas set is duplicated in the Pillow Pack set, a handful of cards in each category are not. These are among the rarest e-Reader cards, and are elusive enough that they haven't been dumped and archived by hackers on the internet yet.



So I guess "part 1" of this thread is, does anyone know anyone who can get photos/scans of the Carddas Version cards? I can get the data off of mere images of the cards, and the internet at large would be grateful. They just gotta be really high DPI because those dot codes are tiny.

Since I have little interest in staff ghosts, the main draw for me is those e-Reader exclusive courses. It's a little piece of F-Zero that I never knew existed until recently, and I have all the games including a 64DD and F-Zero X Expansion Kit (brag, brag). The thought of official courses that I'd never played was too much of a draw, so I did a big cannonball into the internet to see what I could dig up.

The full set of Pillow Pack card data has been dumped and is available online. I was able to use those dumps to produce save files containing the 16 e-Reader courses thereon. Carddas Version cards, as mentioned before, are unavailable, meaning 4 courses are in danger of being lost to the ages. Fortunately, I found someone who had one of them and he was able to get me his save data.



This makes "part 2" as follows: does anyone know where I might find some save files for the game that may contain the other 3 missing e-Reader courses? I figure there must be some repository on the Japanese 'net, but Google unfortunately thinks the English phrase "gba saves" means "Pokémon ROMs".

Again, the full set of Carddas Version cards would be preferred, but the bare minimum required to complete the set of courses is save data for the courses on the following cards:
  • 14-B002 Red Canyon 1 Dragon
  • 14-B003 Lightning 1 Light Bulb
  • 14-B004 Mist Flow 1 Flower 3
__________

So what am I going to do with these courses, keep them for myself? Of course not! This is Romhacking.net, after all. I have two projects in mind...

Years and years ago, back before I released my F-Zero X level editor and before the actual F-Zero X Expansion Kit could be emulated (go to 64DD.org if this is news to you), I released a little program that could patch Expansion Kit courses into an F-Zero X ROM file. It's a trivial matter to make one of these to inject e-Reader courses into a GP Legend save file, but it just wouldn't be right without the full set of 20 courses. If there's enough demand for it in the short term, though, I'd be happy to put one together.

My main project, on the other hand, is a ROM hack that implements a new Card e+ Cup in the game. I'll have to reconstruct the course select menu in international versions since all of the e-Reader code is completely absent from the game program, but I can use the Japanese version's code as a reference. I envision another cup in the same vein as Platinum that contains more than 5 courses (in this case, all 20 e-Reader courses), and I would also like to set it up to be raced in Grand Prix mode.

So that's what I can bring to the party. With scans or photos of the cards, I can make sure the data gets archived. Either with that or save data of the scanned courses, I can produce this mouth-watering ROM hack. All I need is the data now, and I'm hoping you guys can help me get it rounded up.

RadioTails

  • Sr. Member
  • ****
  • Posts: 338
  • Holding the Mega Drive controller
    • View Profile
Re: F-Zero e+
« Reply #1 on: July 13, 2017, 02:34:40 am »
I actually already figured out how to make the custom e-cards+ for the courses, ghosts and machine cards (just very lazy to post the information :P).

You can even see a sample of the Custom Challenge (Ghost) here: http://www.fzerocentral.org/viewtopic.php?t=13363&sid=fbb79201b73b3f0588e2353abd2ad3d9

I'll try and upload my notes or post them here.  An editor would be sweet!

I do have the common e-cards myself, so I can get those scanned in.  The data for the common cards have been dumped as well.  Don't have any of the rare ones.

While the US/EU had the e-Reader removed (the US version has some text left in it), it's still possible to play them as long as you have the course data on the save file (using a cheat code). http://www.fzerocentral.org/viewtopic.php?t=8042
Avatar by LazyNinjartist

GuyPerfect

  • Jr. Member
  • **
  • Posts: 6
    • View Profile
Re: F-Zero e+
« Reply #2 on: July 13, 2017, 12:45:37 pm »
I do have the common e-cards myself, so I can get those scanned in.  The data for the common cards have been dumped as well.  Don't have any of the rare ones.

No-Intro is the person/organization that's been archiving e-Reader cards, and I got the Pillow Pack data that way. I bought a Japanese e-Reader+ thinking I'd need it, but I was able to scan all the cards virtually in an e-Reader emulator.

If I can get in touch with someone who has the Carddas Version set, you can bet I'll make sure they get archived. I'm fully equipped to do it myself. (-:


While the US/EU had the e-Reader removed (the US version has some text left in it), it's still possible to play them as long as you have the course data on the save file (using a cheat code). http://www.fzerocentral.org/viewtopic.php?t=8042

I've been working on that ROM hack, and found that the "Card e+" option in the cup select menu is still alive and mostly functional in the US (and most likely EU) version. Some of the backing code that preps the course select menu was removed, but it shouldn't be difficult to put back together. The internal memory layout is the same in the Japanese version, memory addresses and all.



I'm rather intrigued by the fact that they translated "カードコース" to "CARD COURSE", but didn't bother changing "e READER+". Makes me think the feature was scrapped early on during localization.

Yesterday I successfully made a ROM hack that puts all of the e-Reader tracks into the ROM itself and patches the e+ cup code to access it from there instead of save data. I can't really prove that with a screenshot, so you'll have to take my word for it.

Today I hope to have the save management code updated, since the save file only allocates room for 46 tracks' worth of records and this hack brings the total up to 61. It's a bit tricky because they put the Championship record last, meaning e+ track 6 tries to use the same index... But I'll work it out somehow or other. At least there's some free space in the save file that's no longer being used for e-Reader courses.

If all goes as planned, the hack should be able to use its own hard copies of all the e-Reader tracks to detect which ones are present in an existing save file and shuffle the records around accordingly. <3

Now if only I had those last 3 Carddas Version tracks, we'd be good to go... (-:

RadioTails

  • Sr. Member
  • ****
  • Posts: 338
  • Holding the Mega Drive controller
    • View Profile
Re: F-Zero e+
« Reply #3 on: July 13, 2017, 05:33:46 pm »
Well this is all the files related to the F-ZERO eCards:
https://www.mediafire.com/?gn2fpq5iuuodk1x

I actually went and got images of all the track pieces, along with the hex byte for each piece (I do remember one piece would cause the game to not load the course, it was one of the heal pads).  You can even see some custom courses I put together. What's neat is you can convert ".vpk" card data to work on the US or Japan e-reader.

It looks good what you have done so far GuyPerfect.  It will be nice to play them without having to load them each time.
Avatar by LazyNinjartist

GuyPerfect

  • Jr. Member
  • **
  • Posts: 6
    • View Profile
Re: F-Zero e+
« Reply #4 on: July 17, 2017, 04:10:37 am »
Egads, you've done some fantastic work! Thanks for sharing your files with me, there's a lot of good stuff in there.

Check your PMs. I've sent you a link to the current build of the ROM hack. The hack is a modified Japanese version of F-Zero GP Legend.

Patch notes:
* The "Card e+" cup is now always available in Time Attack and Training and contains all 20 e-Reader courses (3 still need data).
* Existing save files will be updated to account for the new menu. Even if the save file contained e-Reader courses, records and ghosts will be preserved.
* If a save file produced by this hack is in used on an unmodified game, there will be no e-Reader courses present.

Please test this. Thoroughly. I was extremely careful when working on this, but you never know what might have slipped through the cracks. Be sure to save records on all courses in the game (e-Reader and otherwise), and save ghosts as well. Use your magical powers to produce save files with scanned e-Reader courses and load them up in the hack. Do everything in your power to find errors. (-:

And errors there may be. Part of the internal logic for accessing e-Reader course records data is producing a list of course IDs in memory. The game program is so intertwined with this list that I wasn't able to decouple the two without a ton of edits. So for the sake of brevity, I did the lazy solution and allowed the list to overflow to 20 elements. I haven't seen this to cause any problems, but the software engineer in me knows that something weird could crop up in weird places.

I haven't yet disabled saving of scanned e-Reader courses because I wanted to get this to you. Attempting to load one of the missing courses will crash the game.
__________

In other news, I was able to verify that both the North American and European versions of the game retain 100% compatibility with the "Card e+" cup, although there is some main menu code that needs to be reconstructed to populate the aforementioned overflowed list in order for it to work correctly.

I'm considering making little mods of both versions that simply allow the e-Reader cup to be active if the save file should happen to have courses on it, but considering the scope of the hack project, it seems like a waste of effort. Any thoughts on that?

RadioTails

  • Sr. Member
  • ****
  • Posts: 338
  • Holding the Mega Drive controller
    • View Profile
Re: F-Zero e+
« Reply #5 on: July 20, 2017, 06:15:26 pm »
Check your PMs. I've sent you a link to the current build of the ROM hack. The hack is a modified Japanese version of F-Zero GP Legend.

Please test this. Thoroughly. I was extremely careful when working on this, but you never know what might have slipped through the cracks. Be sure to save records on all courses in the game (e-Reader and otherwise), and save ghosts as well. Use your magical powers to produce save files with scanned e-Reader courses and load them up in the hack. Do everything in your power to find errors. (-:

I haven't yet disabled saving of scanned e-Reader courses because I wanted to get this to you. Attempting to load one of the missing courses will crash the game.
__________

I'm considering making little mods of both versions that simply allow the e-Reader cup to be active if the save file should happen to have courses on it, but considering the scope of the hack project, it seems like a waste of effort. Any thoughts on that?

I'm flashing the rom to my Flash Card and will play test this weekend (although Splatoon 2 my distract me :P).  If I spot any errors, I'll let you know.

How easy would it be to have the e-Reader characters unlocked by default in the Japanese version?  I know how to modify the save file:

Quote
Checksum Fixing for Characters Unlocked (Japan Version)

Player 1:
BA0 = Checksum 2 Bytes
Data starts from: BA4 - C4F

BAD = Set to F0
BAE = Set to 0F

Only used in Japan version:
BB0 = E-Reader Machine Slot 1
BB1 = E-Reader Machine Slot 2
BB2 = E-Reader Machine Slot 3
BB3 = E-Reader Machine Slot 4


Player 2:
C50 = Checksum 2 Bytes
Data starts from: C54 - CFF

C5D = Set to F0
C5E = Set to 0F

Only used in Japan version:
C60 = E-Reader Machine Slot 1
C61 = E-Reader Machine Slot 2
C62 = E-Reader Machine Slot 3
C63 = E-Reader Machine Slot 4

Key:
0C = Silver Neelson
1D = The Skull
20 = Lucy Liberty
21 = Misaki Haruku

I do like the idea of having a eReader Cup, but I think playing all 20 at once will make the cup too long.  What would be cool if you could set it up so it picks 5 courses at random each time.  That would make things interesting.
Avatar by LazyNinjartist

GuyPerfect

  • Jr. Member
  • **
  • Posts: 6
    • View Profile
Re: F-Zero e+
« Reply #6 on: July 21, 2017, 03:30:29 am »
Stop the presses! Just a couple minutes ago I finished making what I believe to be the final modifications to the Japanese version of the game. Check your PMs for the patch.

How easy would it be to have the e-Reader characters unlocked by default in the Japanese version?  I know how to modify the save file:

You and I are of like mind. I actually implemented this today not knowing you posted about it. I went through the trouble of hacking it on my own, probably after your post describing all the exact same information I figured out. (-:

In the end, however, I didn't have it modify the save file. I realized that it wouldn't work when you start a new save slot at runtime, via the name entry screen. So instead, I hijacked the machine selection menu to just add in the e-Reader exclusive machines at the end of the list, in the same order as international versions of the game.

This has the added benefit in that it won't artificially muck up authentic save files should they be transferred back to the unmodified version of the game.

I do like the idea of having a eReader Cup, but I think playing all 20 at once will make the cup too long.  What would be cool if you could set it up so it picks 5 courses at random each time.  That would make things interesting.

I thought about the Grand Prix idea while working on the project and decided it was out of the scope of this particular hack. That's not to say we can't fiddle with the idea still, but I don't have any plans currently to make the e-Reader courses available in Grand Prix mode.
__________

Patch notes:
  • e-Reader cards still function as expected, but scanned courses will not give you the option to save them.
  • e-Reader exclusive machines Sonic Phantom, Night Thunder, Elegance Liberty and Moon Shadow are now always available.
If you would, add "test e-Reader cards" to your list of things to do. (-: