+  RHDN Forum Archive
|-+  Romhacking
| |-+  ROM Hacking Discussion
| | |-+  Playing around with Makai-Toushi-sa-ga
Pages: [1]
Author Topic: Playing around with Makai-Toushi-sa-ga  (Read 1 times)
Tetsuo315
Guest
« on: June 08, 2010, 01:48:50 am »

Hello everyone:

For the past two weeks I have been using Sa-Ga for Wonderswan Color as a training ROM to learn tile and translation hacking(so far so good). I'm also learning Japanese and I am using this game as a way to get used to reading kana. This game contains no kanji so not too much effort will have to be spent in translating this game.  So far things have been going pretty well with my attempts at finding the info I need to take on this project. If Aeon Genesis completed this, I would be learning on another ROM. I'm trying my hand on this game cause it holds good memories for me. I have a font selected that matches well with the games current scheme, and a few things translated. Translated means some menus and a few conversations in the first world of the game, though not the way I would like them to fit. Which brings me to my questions.

1. Is there a reason Aeon stopped work on this? Pure speculation, but is it because he could not find room to fit a new/improved script, or because Square gave him a D&C order? I ask this because any site I go to mentions nothing of new progress or anything negative.  Not only that, it appeared that a partial translation was hosted here on RHDT for a time.

The script Aeon inserted fit I'm sure but in my experimenting I noticed I had to stay with the bytes used originally or I would overwrite other portions of script or part of the game.  I noticed the game only needs to "know" the starting address of the string, but When it comes time for another string to be called up, I'm sure it would show part of the translation that occupies the new space. This is something I will experiment with.

2. If I want to move string starting addresses around so that it would allow for a more in depth translation do I need to perform an assembly hack(s)?
3. If I don't have to assembly hack is it possible to move it in hex.
4. If I'm assembly hacking what would be a good 8086 assembler/disassembler to work with. Right now I have W32dasm(which does not seem to like wsc ROMs), and Emu8086. I already have CygneTrace as a debugger ready in case I decide to persue this when my skills are better.

Thanks for reading my post.
« Last Edit: June 08, 2010, 03:56:05 pm by Tetsuo315 »
DarknessSavior
Guest
« Reply #1 on: June 08, 2010, 02:04:24 am »

He hasn't given up on it:

http://agtp.romhack.net/project.php?id=saga

~DS
Tetsuo315
Guest
« Reply #2 on: June 08, 2010, 02:21:04 am »

That site is pretty cool. I go there quite often. I'm sorry I didn't mention this before. I'm sure he has his/her hands tied up on other projects.  It sounds like he had to move things around a bit though. His work will no doubt be better since he has some help. I will still keep playing around with this cause it's fun. If I end up with something that is of good quality will post a patch someday. I'm still not sure of the need to assembly hack.
« Last Edit: June 08, 2010, 03:55:35 pm by Tetsuo315 »
DarknessSavior
Guest
« Reply #3 on: June 08, 2010, 02:33:58 am »

Quote from: Tetsuo315 on June 08, 2010, 02:21:04 am
I'm still not sure of the need to assembly hack.
It's an RPG. Chances are it needs assembly hacks. They all do.

~DS
Zande
Guest
« Reply #4 on: June 08, 2010, 03:28:23 am »

Quote from: Tetsuo315 on June 08, 2010, 01:48:50 am
2. If I want to move string starting addresses around so that it would allow for a more in depth translation do I need to perform an assembly hack(s)?
3. If I don't have to assembly hack is it possible to move it in hex.

Well it depends, if it's within the same bank then you only have to change the 16 bit pointers. However, if you want to store the text in another bank then you'll also have to change a segment to this new bank, which is hard coded in most cases but it's shouldn't be too hard to change as it's only an OUT instruction anyway.
All the script text is assumed to be stored within the same bank, and if you want to split it and use two or more banks for the script then you'll have to do some extensive recoding.
Gideon Zhi
Guest
« Reply #5 on: June 08, 2010, 11:58:16 am »

The real bitch of this game is the battle text. It's stored in a weird format, the pointers are terrible, and it prints out of order - to the point where pretty much every string is going to need manual help of some sort. It's been a while since I last looked at it, though, so I can't offer any real details.

The main script has already been translated and inserted, though.
Zande
Guest
« Reply #6 on: June 08, 2010, 03:08:44 pm »

Aaaaah, I had almost forgotten all about the battle texts. Yes you really need to be able to understand the machine code and do quite alot of modifications for this I'm afraid. Each unique message that may be written in the battle window have it's own rutine, in which each rutine a whole bunch of hard coded addresses to sliced up strings parts are stored and compiled together (in a similar way sprintf from the C library works). A good amount of tedious work there. *cough*cough* Smiley
Tetsuo315
Guest
« Reply #7 on: June 08, 2010, 03:54:15 pm »

Well, based off whats been said, Aeon Genesis has his/her hands full. I think what I will do is learn the basic things with the game and save the battles for later. 

Quote from: Zande on June 08, 2010, 03:08:44 pm
Aaaaah, I had almost forgotten all about the battle texts. Yes you really need to be able to understand the machine code and do quite alot of modifications for this I'm afraid. Each unique message that may be written in the battle window have it's own rutine, in which each rutine a whole bunch of hard coded addresses to sliced up strings parts are stored and compiled together (in a similar way sprintf from the C library works). A good amount of tedious work there. *cough*cough* Smiley
By the way, what disasembler did you use to look at the machine code?  Thank you for taking time to answer my questions

-Tetsuo315
RedComet
Guest
« Reply #8 on: June 08, 2010, 04:09:08 pm »

Quote from: Tetsuo315 on June 08, 2010, 03:54:15 pm
Well, based off whats been said, Aeon Genesis has his/her hands full. I think what I will do is learn the basic things with the game and save the battles for later. 

You do realize Gideon *is* Aeon Genesis, right? Tongue
Tetsuo315
Guest
« Reply #9 on: June 08, 2010, 04:57:31 pm »

hah ha.  : Tongue. Thats what I get for not looking at the profiles. 
Quote from: Gideon Zhi on June 08, 2010, 11:58:16 am
The main script has already been translated and inserted, though.
. That should have registered right away. heh heh   :banghead:
« Last Edit: June 08, 2010, 05:02:41 pm by Tetsuo315 »
Gideon Zhi
Guest
« Reply #10 on: June 08, 2010, 10:44:52 pm »

Quote from: Zande on June 08, 2010, 03:08:44 pm
Aaaaah, I had almost forgotten all about the battle texts. Yes you really need to be able to understand the machine code and do quite alot of modifications for this I'm afraid. Each unique message that may be written in the battle window have it's own rutine, in which each rutine a whole bunch of hard coded addresses to sliced up strings parts are stored and compiled together (in a similar way sprintf from the C library works). A good amount of tedious work there. *cough*cough* Smiley

That's useful, actually. I'd like to know what you used to produce that as well.
Zande
Guest
« Reply #11 on: June 09, 2010, 05:43:47 am »

I started to sketch on a Wonderswan emu once (which meant to have a sophisticated debugging section) and did quite abit of research around it, one part was to write a parser so I could dig thru game code and that code snippet is from the parser. It uses the names and mnemonics used by NEC rather the Intel, and outputs the code using a HTML template and generally functions abit special. It's prolly easier to use an ordinary disassembler, perferably one that can obey the 80186 architechture, Borg should do a decent job.
tcaudilllg
Guest
« Reply #12 on: July 14, 2010, 08:16:43 am »

I'd play this game again if it were translated. I think the lead designer for SaGa is kinda cuckoo, but Makaitoshi SaGa is one of my favorite games. Plus I loved the ending. (I made a good deal of sense: I agree, god is a consequentialist. Tongue)
Pages: [1]  


Powered by SMF 1.1.4 | SMF © 2006-2007, Simple Machines LLC