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

Author Topic: Steam Hearts (PC-98) English Translation  (Read 4845 times)

Psyklax

  • Hero Member
  • *****
  • Posts: 640
    • View Profile
    • Psyklax Translations
Steam Hearts (PC-98) English Translation
« on: January 28, 2018, 12:43:20 pm »
LATEST VERSION: 0.99
DOWNLOAD HERE

Anyone on the forum who knows me knows that I like to take on little projects that I find interesting, rather than trying to translate a massive RPG. When it comes to Japanese systems, the one with arguably the largest amount of untranslated games, and relative obscurity, has to be the NEC PC-98. I'm used to translating 8-bit console games, and a bit of 16-bit ones, but the PC-98 is a different kettle of fish because in terms of text, it uses a fixed Shift JIS font, rather than programmers including whatever font they like.

For a hacker, this is absolute bliss, because a large amount of time on a console translation (for me) is figuring out the masses of kanji, whereas having a game in Shift JIS means the entire dictionary of kanji is already done for you, so assuming you have the text easily available, you can just copy-paste it into your translation program of choice and get to work.

It is with this in mind that I'm embarking on potentially my first PC-98 translation: Steam Hearts.

It's a vertical shooter, and a reasonably fun one. Being a PC-98 game, of course, between levels you convince the boss to talk by using, er, not so work safe means. ;) That's the reality of PC-98 gaming, whether you like it or not (personally I find it a refreshing change from console games, but whatever).

Being a computer, hacking the PC-98 is also different in that games don't come in solid ROM form, but in various files on disks. The typical way to find games is in either floppy disk format (with several disks) or as a hard disk file (with the game installed on the HDD, along with whatever other files are necessary). The latter seems to be the best option, since a 10MB HDD is hardly that big of a deal in 2018. :) It also means that everything is in one place.

How the text is stored can vary. In the case of Steam Hearts, it appears that all of the text is inside numerous .EXE files, and if PC-98s are like regular DOS PCs, those are programs. The game doesn't have so much text, though, so I guess it made sense for them to keep the text inside the executable. The good news is that the text is sitting uncompressed and easy to find in the .EXE files. The bad news is that, because it's surrounded by code, I feel like a first-day hacker all over again, because I can only write inside the space available. :)



Each line is done separately, and in the first screenshot, I only have one line to play with, whereas I have two in the second. You'll notice the text is a bit large (limiting screen space), and I'm forced to fit the text in the space used by the original text (limiting storage space), but it's better than nothing, right? If I WERE a first-day hacker, I'd be pretty pleased with this, but the fact is that I'm not, so I want to do better. :D

My problems are two-fold: I don't know how to find the pointers saying where each line is stored, and I don't know how to switch the font to one that will allow 8-bit ANSI characters instead of 16-bit Shift JIS characters, thereby saving both screen space and storage space.

Look at the first screenshot for this translation of Marble Cooking: it uses a smaller font, but what's most interesting for me is that, internally, the hacker replaced the 16-bit Japanese text with 8-bit ANSI text and it works fine.

http://www.romhacking.net/translations/824/

The problem for me is that if I try 8-bit characters in Steam Hearts, I just get a load of random kanji, so if I could tell the game to use the other font, I will be able to get a better translation in there. Of course, I'll also need to find out how the game figures out where the lines are, of course, but all searches I've made to find any pointers have come up blank.

I'd like to go the debugging route, although the x86 is the only major CPU from the 70s/80s that I have no experience with. The Neko Tracer in the RHDN database is a good start, but I couldn't see anything in the trace that looked like a reference to the text. A RAM dump shows that the whole .EXE is stored in RAM, and the first line is at $36A82, so that gives me something to go on at least.

The between-level cutscenes seem to use the same font mentioned in that other hack, but when I replaced text with 8-bit characters, it just messed everything up. This makes me wonder why the other hack was able to use 8-bit characters without issue, since as far as I can tell, no other modifications were made to that game.

So, in summary, the translation side of this game is easy-peasy, but fitting into the game the kind of translation I'd like will require some hacking, and the main reason I made this thread was because I was hoping someone might be able to help. :) Normally I'd just use a debugger to break on a read to $36A82, but Neko Tracer only traces, rather than breaking, and all those damn registers make it hard for me to read a trace to figure out what's going on.

Anyone got any advice on this? If I can crack this game, maybe I'll have a go on some other ones... :)
« Last Edit: March 28, 2018, 06:15:26 pm by Psyklax »

meunierd

  • RHDN Patreon Supporter!
  • Jr. Member
  • *****
  • Posts: 62
    • View Profile
Re: Steam Hearts (PC-98) English Translation
« Reply #1 on: January 28, 2018, 01:33:57 pm »
You might have better luck in the PC-98 Discord: https://discord.gg/FZVyrtk

Psyklax

  • Hero Member
  • *****
  • Posts: 640
    • View Profile
    • Psyklax Translations
Re: Steam Hearts (PC-98) English Translation
« Reply #2 on: January 28, 2018, 03:22:47 pm »
You might have better luck in the PC-98 Discord: https://discord.gg/FZVyrtk

Didn't even know that Discord existed until now, but I see you're on there too. :D Okay, I'll leave a message in the translation discussion bit (don't really know how Discord works yet, obviously). I posted here because, you know, I always post here. :)

filler

  • RHDN Patreon Supporter!
  • Hero Member
  • *****
  • Posts: 720
  • "WINNERS DON'T SELL REPROS"
    • View Profile
    • Filler's Translation Projects
Re: Steam Hearts (PC-98) English Translation
« Reply #3 on: January 28, 2018, 08:35:30 pm »
FYI: This sounds like the kind of thing I'd really dig translating. :) I'm busy right now though so I wouldn't count on my help with it anytime before maybe the last 1/3rd of the year.

Psyklax

  • Hero Member
  • *****
  • Posts: 640
    • View Profile
    • Psyklax Translations
Re: Steam Hearts (PC-98) English Translation
« Reply #4 on: January 29, 2018, 01:17:42 am »
FYI: This sounds like the kind of thing I'd really dig translating. :) I'm busy right now though so I wouldn't count on my help with it anytime before maybe the last 1/3rd of the year.

Don't worry dude, I got this. 8) The guys over at the Discord channel gave me a lot of help already so I'll have some good results soon. If there's any weird text I don't understand, I'll let you know, though.

cccmar

  • RHDN Patreon Supporter!
  • Full Member
  • *****
  • Posts: 194
    • View Profile
    • Nebulous Translations site
Re: Steam Hearts (PC-98) English Translation
« Reply #5 on: January 29, 2018, 02:06:24 am »
Cool! Discord is pretty much all you need as far as PC-98 goes. All the major translation groups are there. Nice choice for a project - believe me, it ain't that easy to find games without H-content for that system (which is why I assume most aren't interested in it). Plus, there aren't many action games, most of it boils down to RPGs/adventure games, even more so than in the case of some other contemporary systems. Still, this one's a good game, I remember playing through it a couple of years back. Good luck. :thumbsup:

Psyklax

  • Hero Member
  • *****
  • Posts: 640
    • View Profile
    • Psyklax Translations
Re: Steam Hearts (PC-98) English Translation
« Reply #6 on: January 29, 2018, 06:03:26 pm »
Well, many thanks to meunierd for pointing me in the direction of Discord, because thanks to one or two great guys over there, I've already made excellent progress, as indicated by this screenshot:


You can see the difference with my previous screenshot. I found the (hardcoded :( ) pointers, switched the font to a half-width one the PC-98 has, and inserted a new text routine that lets me use ASCII characters as my text, thereby saving 50% internal space. Awesome! :D

Given that the whole game script is just sitting there waiting for me to translate, all I need to get to work on now is the between-levels cutscenes, which use a different text routine, but I'm just glad to have the mid-level text working great. More updates soon! :)

Jorpho

  • Hero Member
  • *****
  • Posts: 3800
  • The cat screams with the voice of a man.
    • View Profile
Re: Steam Hearts (PC-98) English Translation
« Reply #7 on: January 29, 2018, 06:47:58 pm »
I remember reading about this game over at HG101.
http://hg101.kontek.net/steamhearts/steamhearts.html

Shouldn't "Fara" be "Falla"?  It seemed to me to be another play on words.
This depresses me. I feel like a goldfish right now...

mz

  • Sr. Member
  • ****
  • Posts: 329
    • View Profile
Re: Steam Hearts (PC-98) English Translation
« Reply #8 on: January 29, 2018, 07:55:31 pm »
That new screenshot looks great! I wish I could make such a quick progress with my own projects. :P
There has to be a better life.

Psyklax

  • Hero Member
  • *****
  • Posts: 640
    • View Profile
    • Psyklax Translations
Re: Steam Hearts (PC-98) English Translation
« Reply #9 on: January 30, 2018, 01:14:48 am »
Ah, the old Japanese names debate... :)

So HG101 got the names from a fan site, and I have trouble reading the fan site on the wayback machine. So I don't know where it got the names from. Unless I can see them Romanised in the manual, we're therefore just guessing as far as I can tell.

But if people like those renditions, I'll use them. Seems like people are taking HG101 as canon at this point... :laugh:

EDIT:
That new screenshot looks great! I wish I could make such a quick progress with my own projects. :P

It may sound corny, but it's true: if I can do it, so can you! ;)
(Hey, that's a cool rhyme, I should use that more :laugh: )
« Last Edit: January 30, 2018, 06:22:48 am by Psyklax »

Magma Dragoon

  • Jr. Member
  • **
  • Posts: 57
  • Every day is night
    • View Profile
    • My Hideout
Re: Steam Hearts (PC-98) English Translation
« Reply #10 on: January 30, 2018, 12:23:00 pm »
The Saturn manual has different names: https://segaretro.org/File:SteamHeartsSaturnJPManual.pdf

Trickless

  • Jr. Member
  • **
  • Posts: 11
    • View Profile
    • Japan Adventure Attack!
Re: Steam Hearts (PC-98) English Translation
« Reply #11 on: January 30, 2018, 04:08:57 pm »
Ah, the old Japanese names debate... :)

So HG101 got the names from a fan site, and I have trouble reading the fan site on the wayback machine. So I don't know where it got the names from. Unless I can see them Romanised in the manual, we're therefore just guessing as far as I can tell.

If you want, I can send you the rest ;)

« Last Edit: January 30, 2018, 04:50:12 pm by Trickless »

Psyklax

  • Hero Member
  • *****
  • Posts: 640
    • View Profile
    • Psyklax Translations
Re: Steam Hearts (PC-98) English Translation
« Reply #12 on: January 31, 2018, 04:15:57 pm »
The Saturn manual has different names: https://segaretro.org/File:SteamHeartsSaturnJPManual.pdf

Nice find there! Never realised the Japanese manual would have Romanisations.

If you want, I can send you the rest ;)

No, that's okay: the Saturn manual gives me everything I need. :)

Incidentally, mini-update. As you've seen, I've got the mid-level text working fine, and I'm in the process of sorting out the kinks of the between-level text, which is the vast majority of text in the game (though a lot of it is "ooh" and "aah" :D ). It's interesting because it includes control codes to make pauses in the middle of the text, and to go to the next line. With a little ASM modification, I'm sure it'll work with the routine I borrowed. :) I'll post a screenshot once I'm certain it's working fine, and from there it's just a matter of translating the whole game!

February 04, 2018, 10:18:35 am - (Auto Merged - Double Posts are not allowed before 7 days.)
I know I'll get a doublepost but I couldn't wait: Version 0.1 is released! :)

http://s346165667.websitehome.co.uk/psyktrans/steamhearts-v0.1.zip

Put simply, Level 1 is complete. I'll probably have a look at the options menu next, since I've got the technical details sorted on all the other text, and the options are pretty useful to know. Nevertheless, now you can find out the crazy plot behind this game. :D
« Last Edit: February 04, 2018, 10:18:35 am by Psyklax »

Psyklax

  • Hero Member
  • *****
  • Posts: 640
    • View Profile
    • Psyklax Translations
Re: Steam Hearts (PC-98) English Translation
« Reply #13 on: February 08, 2018, 02:28:40 am »
Well, it's been a week since my last post, so now I can announce: version 0.3 is released!

http://s346165667.websitehome.co.uk/psyktrans/steamhearts-v0.3.zip

Levels 1 and 2 are now complete, and there are two disk messages that I've changed too. However, I can't think of a way of triggering the disk error message to see what it looks like in practice. I saw it accidentally during my hacking process, but have no idea of how to get it there intentionally. The "insert disk" message looks fine since that's easy to do (just don't include all the files you need). Any help on triggering the disk error message would be good.

Incidentally, I'm numbering the versions to be around the percentage amount of game text that is complete, since I've now finished 25%. The only thing not included in that is the options menu, which uses a different system which may be harder to crack. I may well release v0.99 where everything except the options menu is translated, and just include a translation of that in the readme - though obviously I'd like to do it properly. :)

Any comments are always appreciated! It's only a matter of time before I go through all the levels - though I'm having more trouble than expected beating level 3... :D (anyone know of a way to find the player's energy in RAM? Np2debug doesn't have a RAM search option)

EDIT: version 0.4 is out. ;) Look at the first post!
« Last Edit: February 10, 2018, 05:35:55 am by Psyklax »

Psyklax

  • Hero Member
  • *****
  • Posts: 640
    • View Profile
    • Psyklax Translations
Re: Steam Hearts (PC-98) English Translation
« Reply #14 on: February 21, 2018, 05:15:58 pm »
After a week or so, version 0.5 is out! Check the first post for the link!

Seriously, is anyone interested in the PC-98 around here at all? :o

goldenband

  • Sr. Member
  • ****
  • Posts: 264
    • View Profile
Re: Steam Hearts (PC-98) English Translation
« Reply #15 on: February 21, 2018, 07:20:48 pm »
It's great to see your progress on this! :D

It wouldn't surprise me if people are holding off on checking things out until a final release candidate comes out, though reaching the 50% translated mark is big. Still, I suspect having a lot of partially completed 0.x versions on the hard drive tends to trigger some folks' OCD (or quasi-OCD, anyway).

There are a bunch of Twitch streamers who are very interested in the PC-98, and once this is completed I strongly suspect you'll get multiple playthroughs from them. I still haven't gotten into it myself, but am intrigued...

filler

  • RHDN Patreon Supporter!
  • Hero Member
  • *****
  • Posts: 720
  • "WINNERS DON'T SELL REPROS"
    • View Profile
    • Filler's Translation Projects
Re: Steam Hearts (PC-98) English Translation
« Reply #16 on: February 21, 2018, 07:40:11 pm »
After a week or so, version 0.5 is out! Check the first post for the link!

Seriously, is anyone interested in the PC-98 around here at all? :o

You know this is the kind of question I like to get to the bottom of. ;)



By number of fully-playable English language translations, the PC-98 is 12th out of 33 consoles, so from a translation patch perspective, it's kind of in the middle.

The PC-98 is not a popular platform for translating yet. I wouldn't call it a popular platform for playing games either. Heck, it seems like gamers are just now starting to get into the PCE. Most gamers grew up with Nintendo, and they are just huge Nintendo fans. They really have to develop an interest and step outside their comfort zone to play games on different platforms. Considering folks have barely started to recognize the merits of stuff like the Saturn, Dreamcast, PCE, etc... It's probably going to be a number of years still before any appreciable number of people even glance in the PC-98's direction.

As a personal anecdote, I am at least somewhat interested in games on the PC-98. I'm a big fan of Japanese games, and interested in PC style games like ADV/visual novels, strategy games, RPGs, etc... Including shooters like Steam Hearts. That said, I'm probably not going to play your patch. Not that I don't support it, or I think I won't like it, but honestly, I'm probably going to keep playing games on my PS4/Vita, and translating in my spare time.

As for the last several translation patches, here are the numbers of downloads:

Rusty: 844
46 Okunen Monogatari: THE Shinkaron: 1122
Brandish 2: The Planet Buster: 219

Let's compare this to the most popular platform for translation patches, the NES:

City Adventure Touch: Mystery of Triangle: 272
Sanguo Chunqiu: Sichuan Sheng: 63
Digital Devil Monogatari: Megami Tensei: 10213

We can see that based on this very small sample, a well known game on the most popular platform has over 10,000 downloads, while none of the last 3 PC-98 translations have broken 2000. However, based on the above information, I'm going to speculate that the player interest in a game depends largely on the individual game, not the platform it's on.

If you're feeling demoralized, I wouldn't. The PC-98 has really interesting games, and I'd expect no less than several hundred, if not a thousand or more downloads on your patch within only the first couple of months. Japanese computer systems still have huge untapped libraries that are only going to get more attention as the years go by. I'd concentrate on whether or not working on the game brings you a sense of satisfaction. If so, it's clear that there will be an audience for your patch when it's complete.

Psyklax

  • Hero Member
  • *****
  • Posts: 640
    • View Profile
    • Psyklax Translations
Re: Steam Hearts (PC-98) English Translation
« Reply #17 on: February 21, 2018, 07:56:39 pm »
If you're feeling demoralized, I wouldn't.

Don't worry, I'm not. :) I start hacks because they're interesting to me, and if others like it then it's a bonus. I always say: nobody gets into romhacking/translation to be rich and famous, so if you don't enjoy doing it, why do it? :D

I was just commenting that I hadn't had many comments in the thread, that's all.

Starscream

  • Sr. Member
  • ****
  • Posts: 442
    • View Profile
Re: Steam Hearts (PC-98) English Translation
« Reply #18 on: February 21, 2018, 09:26:58 pm »
It's a niche platform here pretty much for the reasons Filler gave + I don't think shooters generate that much hype with the translation/hacking crowds, I suppose that's mostly happens with the recognizable RPG projects.

Digitsie

  • Full Member
  • ***
  • Posts: 249
    • View Profile
Re: Steam Hearts (PC-98) English Translation
« Reply #19 on: February 21, 2018, 10:32:55 pm »
I'll admit, I had this momentarily confused with the PC-Engine Steam Hearts, which I -would- love to get translated as well. Are they the same story/script?