Zophar's Message Domain

Go Back   Zophar's Message Domain > Emulation Talk > Rom Hack

Reply
 
Thread Tools Display Modes
Old 05-15-2009, 09:31 AM   #1
Kilyle
Junior Member
 
Kilyle's Avatar
 
Join Date: May 2009
Location: Stuck in the black hole that is TVTropes.org
Posts: 24
Arrow Ultima: QotA; can't even find text!

As a new student of ROM hacking, I've been following several tutorials. I've set up several programs, some of which even work. Using the game Ultima: Quest of the Avatar (NES version, not PC version), I've managed the following steps:
  • Use NESticle to get a look at the graphics chart and locate the font.
  • Use Notepad to make a .tbl file based on this chart.
  • Realize that Ultima uses a lot of digraphs to make long words take up fewer tiles, and update table accordingly.
  • Realize that Notepad appended a .txt ending (ul_test.tbl.txt), and fix that.
  • Load the ROM and table into WindHex.
  • Locate one section where the game stores the virtues (Humility, Compassion, etc.).

Now I've gotten stymied, because I can't find any other legible text in the entire ROM. So I've come to ask for help and advice.

What's my next move?

I want to at least get to the stage of being able to change some of the text. I wouldn't mind changing the graphics in some fashion, but I'm really more interested in the text. I'd like to see if I could even make a partial translation, say to Esperanto, just to see if I can.

I chose Ultima because I've never run across a translated version (seems like an overlooked game), and also because it is an English game, so I eliminate the step of translating from Japanese text to English text. But I do read Japanese kana, so I could switch to, say, Dragon Warrior III or Dragon Warrior IV if Ultima is really an unadvisable first choice.

So... please, help me out!
__________________
Only the curious have, if they live, a tale worth telling at all.
Kilyle is offline   Reply With Quote
Old 05-15-2009, 12:50 PM   #2
InVerse
Senior Member
 
Join Date: Jul 2002
Location: Midwest, U.S.
Posts: 1,489
Default

After looking at the ROM in a tile editor, as well as attempting some quick relative searches, I would venture a guess that the game is compressed. You can't get a clear view of the font in any of the codecs I tried in Tile Molester and relative searching (with and without wildcards) was unable to find the word 'journey' from the introduction. It is possible that the game simply uses some non-standard encoding scheme that would require a bunch of experimenting to uncover, but since the graphics appear to be compressed, my instincts lean in that direction for the text, as well.

So.... If you have your heart set on translating Quest of the Avatar, then you may have a long road ahead, but since you seem willing to consider other projects and are just wanting to learn to the basics, I would encourage you to do so for the time being.
InVerse is offline   Reply With Quote
Old 05-15-2009, 01:20 PM   #3
Kilyle
Junior Member
 
Kilyle's Avatar
 
Join Date: May 2009
Location: Stuck in the black hole that is TVTropes.org
Posts: 24
Talking Fast Reply!

Wow... nice to meet you, InVerse! Not two minutes ago, I was reading one of your essays (The Definitive Guide to ROM Hacking). Nice stuff!

Okay, so... I think I will switch to an easier project at first, but... if I were to head in the direction of figuring out Ultima's compression scheme, what would you recommend for the first move? The first area of study, or the first program to get familiar with, or whatever.

In case it helps, here's a little background on me... might help you point me in the right direction:

I grew up with GW-Basic, moved on to QBasic and now Visual Basic, and I studied C++ in college. Not that I'm particularly skilled, but I know my way around programming languages and have some basic understanding of how pointers work. And I've looked at one form of Assembly Language before, trying to understand it, but didn't get that far... but it did look like something that I could have understood if I just put the time into it.

Anyway, I do covet any additional advice you might throw at me. Thanks!
__________________
Only the curious have, if they live, a tale worth telling at all.
Kilyle is offline   Reply With Quote
Old 05-15-2009, 09:46 PM   #4
InVerse
Senior Member
 
Join Date: Jul 2002
Location: Midwest, U.S.
Posts: 1,489
Default

Disclaimer: I don't know assembly and I've never even attempted to crack a compression scheme, but after 11 years in the ROM hacking scene, I've read enough conversations on the subject to pick up a few bits of information.

In order to figure out a compression scheme, you'll need to become familiar with using a debugger. I believe the most popular option for NES is FCEUX. Not sure if they're hosted on this site or not, but romhacking.net has some tutorials on the use of FCEUX's debugging features written by Parasyte. Keep in mind that in most cases, a compression scheme is going to be customized to a specific game, so you're not really going to be able to find a tutorial to follow step-by-step in order to decompress a particular game.

You're also going to need to learn 6502 assembly. There are several tutorials on 6502 at RHDN as well. Assembly language is completely different from any flavor of BASIC or any other high level language. I can't say much about it because I've never had any interest in learning ASM, but it's certainly much easier to learn these days than it was a decade ago.

If you're truly dedicated to it, you could certainly learn 6502 and pull off some impressive hacks on your first translation, but I'm a fan of learning the basics first, then moving on to the advanced techniques.
InVerse is offline   Reply With Quote
Old 05-26-2009, 10:21 PM   #5
Kilyle
Junior Member
 
Kilyle's Avatar
 
Join Date: May 2009
Location: Stuck in the black hole that is TVTropes.org
Posts: 24
Smile Works for me!

Thank you very much for the information!

I just found out that Sorcerer's Kingdom (Sega Genesis game) has a very easy text format - some digraph compression, but even those were easy to figure out just from reading the text (gee, it says "leath" here... guess that next one must mean "er" etc.). So I'll be working on that as my beginning project.

Here's hopin'!
__________________
Only the curious have, if they live, a tale worth telling at all.
Kilyle is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 10:49 AM.

Contact Us - Zophar's Domain - Archive - Top

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.