Hacking ROM Hack GBA Translation Zero One SP English Patch Project (on indefinite hiatus)

Traceytrace

Well-Known Member
OP
Member
Joined
Apr 13, 2022
Messages
112
Trophies
0
XP
816
Country
Australia
Hi everyone, I'm back with another translation project. Apparently the letter 'Z' is too alluring for me because I'm translating Zero One SP for the Gameboy Advance this time around.

Those of you who know of this game probably know it from Bowl Of Lentils' YouTube video covering the game, fittingly titled "The GBA's Largest Adventure Game." (Adventure game = interactive visual novel with mini-games?) If you have not seen it, I HIGHLY urge you to check it out, as it sells you on the game better than I ever could. ()

The story begins as a normal high school visual novel and ramps up into an incredible and unforgettable sci-fi adventure complete with cyborgs, espionage, court cases, virtual world shenanigans, super powers, an inter-dimensional being known as 'Gamer', and crescendos into a story about the very origins of the human race itself.

I've been working on the code for the project for the past few weeks and I've been making mountains worth of progress. I can edit game text from within Google Sheets and update the ROM with the press of the button, which allows you (yes, YOU) to suggest edits to the script and monitor my progress in real time. If you regularly suggest good edits, I'll consider giving editing privileges (don't worry, I back up the script every day).

I have even found out how to hack the game's text speed so that it is set to what I call 'ultra fast', though the game natively supports slow, medium, fast and instant text speed options as well.

See and comment on the script here:


In total there is about 60,000 lines of dialogue, so quite hefty in terms of content. Branching story paths massively increase the amount of different conversations that can be had, and that is clear from playtesting I've done thus far.

The story you experience in the first three scenes can vary WILDLY depending upon your dialogue choices, but I have recorded a demo of one of the many paths you can take through the first few scenes. The story starts as a typical high school VN but quickly takes a sharp turn off a cliff into one hell of a sci-fi adventure. Here is the demo, complete with translated menus:

As I said, this game has a colossal amount of text, not to mention all the menus and miscellaneous things that need translating. As such, this is a marathon and not a sprint. If you want to support me in completing this project, I urge you to make use of the Google Sheet I created to suggest edits if your English is excellent, suggest translations if your English AND Japanese is excellent, and if you cannot or choose not to do either of those, a coffee would go a long way over at www.ko-fi.com/traceytrace

This game is a fantastic hidden gem on the GBA, and I would love for you all to be able to experience it almost 20 years after its release in Japan.
 
Last edited by Traceytrace,

Centurionzo

New Member
Newbie
Joined
Oct 18, 2018
Messages
1
Trophies
0
Age
24
XP
54
Country
Brazil
I never expected this game to get a translation, thanks for the hard work.

What made you interested in this game ? Why did you decide to start to translate the game ?

I look forward for it
 

Mcdowa

New Member
Newbie
Joined
Sep 12, 2023
Messages
3
Trophies
0
Age
28
XP
13
Country
Australia
Thanks for starting this project TraceyTrace, very excited to play this game (though I'm conscious this will be a serious time investment - 60k lines of dialogue is no small task).
 
  • Like
Reactions: Traceytrace

Traceytrace

Well-Known Member
OP
Member
Joined
Apr 13, 2022
Messages
112
Trophies
0
XP
816
Country
Australia
Great news! I've completed my first VWF hack and it's working flawlessly. 423 lines of assembly! Was a hell of a brain workout and I'm glad it's done. Here's an example of it in action!

Pay attention to the 'i' and 'l' characters. They suffer a lot from the fixed width text routine that Japanese games generally have. A variable width hack solves this! Next is to get it to utilize the extra screen space afforded by the hack. That should be a piece of cake!
 

Attachments

  • ex2.png
    ex2.png
    30.7 KB · Views: 43
  • ex1.png
    ex1.png
    30.9 KB · Views: 49

Nikokaro

Lost philosopher... searching for a way out...
Member
Joined
Feb 3, 2020
Messages
2,184
Trophies
1
Location
Nautilus (under) Lake Como, Italy 🇮🇹
XP
6,751
Country
Italy
Congratulations, it looks like you've already solved the most pressing problem. Unfortunately it will be an enormous and burdensome task to translate and re-insert that colossal amount of text.
Hopefully it will be finished by the time I retire. In the meantime, I will try to patiently wait.... 😑 ..... very patiently ....... 😴 ...... 😪
 
  • Like
Reactions: Traceytrace

Traceytrace

Well-Known Member
OP
Member
Joined
Apr 13, 2022
Messages
112
Trophies
0
XP
816
Country
Australia
Congratulations, it looks like you've already solved the most pressing problem. Unfortunately it will be an enormous and burdensome task to translate and re-insert that colossal amount of text.
Hopefully it will be finished by the time I retire. In the meantime, I will try to patiently wait.... 😑 ..... very patiently ....... 😴 ...... 😪
Thanks mate! Fortunately I've already sorted out my workflow for reinsertion, so grabbing text from google sheets, putting it into the rom and updating every pointer at once is as simple as 1 click.

The only thing is the sheer quantity of text. But hey, I've done ~3000 lines in a day before, so I don't know if it'll be an eternity. It is definitely a marathon and not a sprint, though.
 
  • Like
Reactions: Mcdowa and Nikokaro

Traceytrace

Well-Known Member
OP
Member
Joined
Apr 13, 2022
Messages
112
Trophies
0
XP
816
Country
Australia
My VWF hack is causing issues with a number of interactions, and so I'm taking the time to fix all of them, for example:
1. rewind feature no longer displays text
2. file select screen is a jumbled mess
3. notebook screen is a jumbled mess
4. red text is tied to individual tiles (via palette swap) and not to the characters themselves

fortunately, I have spent the past day working on these and have solved all of them! ... which promptly revealed another small issue which is that red text that appears in a sentence which is already coloured blue does some weird things. Should be a piece of cake to fix!

Up to 900 lines of assembly code now. Pray for me!
 

Traceytrace

Well-Known Member
OP
Member
Joined
Apr 13, 2022
Messages
112
Trophies
0
XP
816
Country
Australia
I have been fighting through what I can only describe as ASM hell the past couple of weeks.

Turns out the rewind feature was NOT fine after my vwf hack. This was due to the fact that the way the game stores and retrieves text lines for the rewind feature is HEAVILY tied to the assumption that there will only be 28 characters per line max. a VWF hack does not play nicely with this, since the whole point is to make the amount of letters that fit on a line be variable,

Due to this, I had to dilligently learn and understand exactly how the game decides where lines should begin, end and where they should be written to or read from. This was all so I could pretty much completely rewrite the code that does all of the storing and retrieving. The result is that I've written in total so far, 9 different custom ASM subroutines with a combined ~5000 lines of assembly. But somehow, miraculously, I've come out the other end with a flawlessly working rewind feature (for real this time!)

The only big issue remaining is that when loading a save file, the game can't look backwards and see the previous 16 text boxes using the rewind feature, this is because the savegame data itself holds these lines, and they are different from my custom ones. That's okay though, they won't fit anyway, I need more space then the game usually allows, since the usual max amount of bytes of data for a text box is 112 (28 characters * 2 lines per box * 2 bytes per character) whereas my vwf hack allows 224 bytes worth of characters in a text box (the hypothetical scenario where every letter is the letter 'i', since that needs 4 pixels of width space compared to the 8 it needs without the hack). I could dive back into ASM hell to fix this, but it is LOW priority for sure.

I really want to get back to translating. Hopefully I can be done with the big ASM fixes soon! Though they are fun and satisfying in a masochistic kinda way.
 

Attachments

  • 1e9c8b99548993b139f7666af436b604.png
    1e9c8b99548993b139f7666af436b604.png
    40.2 KB · Views: 44
Last edited by Traceytrace,

Traceytrace

Well-Known Member
OP
Member
Joined
Apr 13, 2022
Messages
112
Trophies
0
XP
816
Country
Australia
I know it's been a month, but I'm back! And I haven't been translating, since I've been in a coding sorta mood.

In the last month I've:
1. discovered a lot of bugs
2. fixed a lot of bugs
3. found (most) menu text
4. translated (most) menu text
5. discovered more bugs.

the vwf hack has just absolutely turned into a fun game of ASM whack-a-mole, but I am winning slowly! I will not give up on this vwf hack, the text looks too damn beautiful! Here are some fun screenshots
Fighting game mini game
1698330454620.png

Save menu fully translated
1698330501205.png

A translated options menu with translated popup text
1698330553285.png

A car conversation I really look forward to translating!
1698330587138.png

My fully custom rewind text routine working so well you can't even tell I've done anything at all!
1698330626149.png


Still having fun with the project and looking forward to getting the hacking all done! In a way it feels like the dialogue is the cherry on top that i want to leave until last, though it is a cherry the size of an elephant, on top of a cake the size of a mouse.
 

Traceytrace

Well-Known Member
OP
Member
Joined
Apr 13, 2022
Messages
112
Trophies
0
XP
816
Country
Australia
Huge progress this week on more menus! I even managed to figure out how to allow the game to accept save games that are tampered with! I just had to edit the instruction that checked the checksum so that it was always accepted even if the checksum was different.

This means I can now edit saves in a hex editor, and I've already figured out which bytes to edit to unlock:

Sound Test
All Minigames
All gallery items
All person entries in notebook
All event entries in notebook
All 'other' entries in notebook

It should be trivial to create action replay codes that achieve the same functionality.

Simply put, it's all coming along really nicely!
 

SSenka

New Member
Newbie
Joined
Nov 5, 2023
Messages
2
Trophies
0
Age
23
XP
44
Country
United States
This game looks amazing, and I have really wanted to play but the language barrier is too strong for me. Excited to see it complete :yaysp:
 

Traceytrace

Well-Known Member
OP
Member
Joined
Apr 13, 2022
Messages
112
Trophies
0
XP
816
Country
Australia
Update: I had a catastrophic drive failure on BOTH SSDs at the same time and had to reinstall windows and everything!

Luckily, I had a backup of the project from ~3 weeks ago. I've been playing catch up, but I'm just about back to where I was when I made my last post.

Always back up your stuff, people!
Post automatically merged:

will you only release the patch once the entire game is fully translated?
That's what I had planned, but I may release it in parts. Depends what I'm feeling, really. Certainly won't be releasing anything playable anytime soon
 

Normmatt

Former AKAIO Programmer
Member
Joined
Dec 14, 2004
Messages
2,161
Trophies
1
Age
33
Website
normmatt.com
XP
2,190
Country
New Zealand
Nice work, this game was/is on my list of games to make a decompilation of some day because it was compiled without optimizations (which makes the assembly painful to read without ghidra/ida pseudo code).
 

Traceytrace

Well-Known Member
OP
Member
Joined
Apr 13, 2022
Messages
112
Trophies
0
XP
816
Country
Australia
Nice work, this game was/is on my list of games to make a decompilation of some day because it was compiled without optimizations (which makes the assembly painful to read without ghidra/ida pseudo code).
I've definitely noticed some stuff in the game's subroutines that makes absolutely no sense (redundant instructions etc.), so I definitely can believe this.

A decompilation would be tight.

I'm definitely making the game slightly slower in some areas with how many extra cycles my VWF routine adds. Luckily the speed of regular gameplay is unaffected, just some menus that have many lines of text on screen at once.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    K3Nv2 @ K3Nv2: Lol rappers still promoting crypto