+  RHDN Forum Archive
|-+  Romhacking
| |-+  ROM Hacking Discussion
| | |-+  A possible comeback + Questions
Pages: [1] 2 3
Author Topic: A possible comeback + Questions  (Read 2616 times)
Alcy
Guest
« on: September 22, 2006, 10:10:08 pm »

Hi, some of you may remember (probably not) the minor patch I released for Crayon Shin-Chan Ora to Poi Poi (Famicom) a few years back. I have since dropped that project (as well as the Angelique Super Famicom game I'd picked up but was never able to make progress on) mainly due to loss of access to the files I was working with.

I am considering coming back to the ROM translation scene and picking up Nakayama Miho no Tokimeki High School (Miho Nakayama's Heartthrob High School) for Famicom Disk System. However, I have some questions in regard to FDS games.

-I know Nintendo of America has taken a lot of legal action against ROM sites, but have they done anything to fan translators? Since this is a first-party Nintendo game, I'm slightly concerned. However, I don't really think this game would be marketable today even in Japanese, and certainly not widescale in English, without a total revamp (Miho Nakayama is nowhere near as famous/popular as she was back in 1987, and even if she was still successful and bothered to make an international debut, she's well past high school age now.)

-This game has what I /think/ is DTE (I'm really not sure, could someone check it out for me? I'd post a screencap, but right now the machine I'm working with isn't connected to the internet, though I suppose I could burn one to a CD and transfer it over later if needed). I've only done very basic rom hacking before, where tables were clear. I've looked for tutorials on working with DTE-compressed rom text, but there wasn't much I found, and what I did read didn't make sense to me. Does anybody have any advice in regards to working with (and altering) this kind of text? I'm guessing already I might need to look for a team to work with, but I want to see if I can work alone on this first.

-How do I get a table file for a Famicom Disk System game? Nesticle won't run on my machine, and I don't think that had FDS support anyway (been a while since I've used it). Similarly, what graphics program is best for FDS? I tried it in Tile Layer Pro, but no format looked quite right (in addition to apparent DTE, I couldn't find the ASCII that I've seen in at least a handful of in-game instances - it may contain a full roman alphabet table already, but I'm not sure).

-Any general advice on script dumping would be great. As I am really just a beginner, skill-wise, when I did work on the Crayon Shin-Chan game I just played the game, chose text that I saw while playing, and translated it. Is there a way to just be sure I have everything by extracting certain data from the ROM?

Thanks in advance, and I hope to get something going here.
Kitsune Sniper
Guest
« Reply #1 on: September 22, 2006, 10:19:08 pm »

RE:1
They didn't bitch at me because of my Doki Doki Panic patch, so I dunno.

The rest, I'll let others answer.
Ryusui
Guest
« Reply #2 on: September 22, 2006, 10:49:33 pm »

Quote from: Alcy on September 22, 2006, 10:10:08 pm
-This game has what I /think/ is DTE (I'm really not sure, could someone check it out for me? I'd post a screencap, but right now the machine I'm working with isn't connected to the internet, though I suppose I could burn one to a CD and transfer it over later if needed). I've only done very basic rom hacking before, where tables were clear. I've looked for tutorials on working with DTE-compressed rom text, but there wasn't much I found, and what I did read didn't make sense to me. Does anybody have any advice in regards to working with (and altering) this kind of text? I'm guessing already I might need to look for a team to work with, but I want to see if I can work alone on this first.

"DTE" is Dual-Tile Encoding. That is, certain bytes are actually "abbreviations" for commonly-occuring pairs of characters. To make use of it yourself, you'll have to find the table that tells the game which bytes to insert in place of the single-byte abbreviations. You won't be able to tell for sure, though, until you can make a table and examine the game's script yourself.

Quote from: Alcy on September 22, 2006, 10:10:08 pm
-How do I get a table file for a Famicom Disk System game? Nesticle won't run on my machine, and I don't think that had FDS support anyway (been a while since I've used it). Similarly, what graphics program is best for FDS? I tried it in Tile Layer Pro, but no format looked quite right (in addition to apparent DTE, I couldn't find the ASCII that I've seen in at least a handful of in-game instances - it may contain a full roman alphabet table already, but I'm not sure).

FDS uses NES-format graphics. The font might be offset by a few bytes: use the plus and minus keys to make it line up properly. As for an emulator, I recommend FCEUXD, which you can get here on romhacking.net. I have not tested FDS support on it myself, but *.fds format files appear in the Open ROM dialog's filter, so give it a try. FCEUXD has an excellent debugging suite including map and tile viewers, so assembling a table with it should be a simple matter.

Quote from: Alcy on September 22, 2006, 10:10:08 pm
-Any general advice on script dumping would be great. As I am really just a beginner, skill-wise, when I did work on the Crayon Shin-Chan game I just played the game, chose text that I saw while playing, and translated it. Is there a way to just be sure I have everything by extracting certain data from the ROM?

Use a tool like romjuice (also available on this site), or code your own (easy with Microsoft's free Express compilers and IDEs for the .NET framework). The latter option might be a bit out of your reach, but romjuice has served me well translating Sylvanian Families (don't ask XD). As for finding the script, your main options are just to hunt down the text in the ROM, work out the block length and pointer format, and dump what you find. If something shows up in the game that's not in your dumped scripts, go back and look for it.
Alcy
Guest
« Reply #3 on: September 22, 2006, 11:23:35 pm »

Quote from: Ryusui on September 22, 2006, 10:49:33 pm

"DTE" is Dual-Tile Encoding. That is, certain bytes are actually "abbreviations" for commonly-occuring pairs of characters. To make use of it yourself, you'll have to find the table that tells the game which bytes to insert in place of the single-byte abbreviations. You won't be able to tell for sure, though, until you can make a table and examine the game's script yourself.
Yeah...what came up in TLP looked to be two kana overlapping each other per text block (as well as some blocks with certain pixels actually displaying on other blocks instead of with the rest of the block). I don't know how to interpret it...or if I was to change it, how to let it know which piece of text to use at what point.

Quote from: Ryusui on September 22, 2006, 10:49:33 pm
FDS uses NES-format graphics. The font might be offset by a few bytes: use the plus and minus keys to make it line up properly. As for an emulator, I recommend FCEUXD, which you can get here on romhacking.net. I have not tested FDS support on it myself, but *.fds format files appear in the Open ROM dialog's filter, so give it a try. FCEUXD has an excellent debugging suite including map and tile viewers, so assembling a table with it should be a simple matter.
I'll check it out. I have FCE Ultra, but not the XD version, I wonder how different it is. The emulator I was using (might've been VirtuaNES, not sure) did have pattern view, but didn't have the hex values displaying like in NESticle.


Quote from: Ryusui on September 22, 2006, 10:49:33 pm

Use a tool like romjuice (also available on this site), or code your own (easy with Microsoft's free Express compilers and IDEs for the .NET framework). The latter option might be a bit out of your reach, but romjuice has served me well translating Sylvanian Families (don't ask XD). As for finding the script, your main options are just to hunt down the text in the ROM, work out the block length and pointer format, and dump what you find. If something shows up in the game that's not in your dumped scripts, go back and look for it.
Okay, thanks. I'll try ROMjuice. Sylvanian Families...the GBA game? Good luck! Thanks for the help. I get the feeling I might still need some kind of team for the project, but I'll see how it goes with these new tools...
Dragonsbrethren
Guest
« Reply #4 on: September 23, 2006, 12:04:57 am »

Quote from: Alcy on September 22, 2006, 11:23:35 pm
Yeah...what came up in TLP looked to be two kana overlapping each other per text block (as well as some blocks with certain pixels actually displaying on other blocks instead of with the rest of the block). I don't know how to interpret it...or if I was to change it, how to let it know which piece of text to use at what point.

That's not DTE, that's a 1BPP font, switch from 2BPP NES format to 1BPP and you should be able to view it fine.
Ryusui
Guest
« Reply #5 on: September 23, 2006, 12:09:35 am »

Ahaha. That's the confusion here. Switch TLP to 1BPP Monochrome mode; the font is stored in that format and "doubled" when displayed to screen. It's not DTE, it's just a space-saving trick. Patlabor for SFC uses it too; drove me nuts till I stumbled upon it.

As for Sylvanian Families, I am working on the GBA games, but the one that's the main focus of my attention is the first one for GBC. The GBA ones are undeniably better, but it's the one I've done the most with. The translation is about 95% complete: the game is playable almost entirely in English, but I'd like to go back and revise the script a bit before I release anything. There's also a fairly gigantic extra hidden in the game: the Uranaihana Jiten, or "Flower Reading Encyclopedia" ("Flower Dictionary" in my translation), which gives you your "birth flower", its meaning and a little cookie-type fortune. It's got 366 entries, one for every day of the year, and 132 "Aishou Uranai", "Compatibility Fortunes" (referred to as just the "Matchmaker" in my version) for the game's link function. This is the major thing that's kept me from releasing this, which is probably a good thing; I've coded up a customizable tool for previewing textboxes using a game's font and background, and I'd like to go back over my script and make sure everything is formatted properly.
KingMike
Guest
« Reply #6 on: September 23, 2006, 11:33:24 am »

I wrote a DOS program (FDS Builder) that'll rip FDS images apart, into seperate files, and paste them back together into a new disk image. Should be in the Utilities section of this site.
Should be easier to find fonts (it'll create a text file listing the files it ripped. Then look for any type "1" files, those represent stuff that gets directly copied to PPU RAM (though Dracula 2 compresses the graphics into Type "0", which is CPU stuff).

That'll also make pointers MUCH easier to calculate (if the game uses pointers, it'll just be the offset in the file, plus the RAM offset the file is to be loaded into, which is a number this text file will give you).
Otherwise, if you directly hack the *.fds, then to calculate a pointer, you'd have to find the text offset in the .fds, and subtract it from the start of the file within the disk image, then add the file's RAM offset (and that is another topic in itself).

EDIT: How could I forgot that FCEUXD SP has a hex editor built in?  Cheesy You could find pointers that way too. If you know the hex values for a string, go to the hex editor while playing, and search for it in CPU RAM. Find the offset of a matching result, and there's your pointer value.

As for tile numbers, yep, FCEUXD SP will tell you the tile number in the PPU viewer. Supports FDS games well. It'll write saves back to the FDS disk image you loaded. (the last official FCEUltra would try to write saves to a copy of the FDS image. Unfortuantely, it would tend to forget saves sometimes, especially when ROM hacking becomes an added factor)
Another a big warning about save states: USE THEM AS LITTLE AS POSSIBLE! Might want to delete them when you're done with them, too. FCEUltra copies the .fds into the savestate (some version encrypt it to make the savestates grey-legal to distribute). When you load a savestate, it'll restore the disk image to the point it was saved. I wiped out a week's worth of Sword of Kalin hacking with a single keypress! (lucky I could rebuild it just as quickly with my tool above)
« Last Edit: September 23, 2006, 11:40:18 am by KingMike »
DaMarsMan
Guest
« Reply #7 on: September 23, 2006, 05:38:36 pm »

Just use YY-Chr. It supports all those formats. Even 1bpp 16 x 16 which ends up looking wierd in most viewers.
Alcy
Guest
« Reply #8 on: September 23, 2006, 06:12:13 pm »

Quote from: KingMike on September 23, 2006, 11:33:24 am
I wrote a DOS program (FDS Builder) that'll rip FDS images apart, into seperate files, and paste them back together into a new disk image. Should be in the Utilities section of this site.
Should be easier to find fonts (it'll create a text file listing the files it ripped. Then look for any type "1" files, those represent stuff that gets directly copied to PPU RAM (though Dracula 2 compresses the graphics into Type "0", which is CPU stuff).

That'll also make pointers MUCH easier to calculate (if the game uses pointers, it'll just be the offset in the file, plus the RAM offset the file is to be loaded into, which is a number this text file will give you).
Otherwise, if you directly hack the *.fds, then to calculate a pointer, you'd have to find the text offset in the .fds, and subtract it from the start of the file within the disk image, then add the file's RAM offset (and that is another topic in itself).

EDIT: How could I forgot that FCEUXD SP has a hex editor built in?  Cheesy You could find pointers that way too. If you know the hex values for a string, go to the hex editor while playing, and search for it in CPU RAM. Find the offset of a matching result, and there's your pointer value.

As for tile numbers, yep, FCEUXD SP will tell you the tile number in the PPU viewer. Supports FDS games well. It'll write saves back to the FDS disk image you loaded. (the last official FCEUltra would try to write saves to a copy of the FDS image. Unfortuantely, it would tend to forget saves sometimes, especially when ROM hacking becomes an added factor)
Another a big warning about save states: USE THEM AS LITTLE AS POSSIBLE! Might want to delete them when you're done with them, too. FCEUltra copies the .fds into the savestate (some version encrypt it to make the savestates grey-legal to distribute). When you load a savestate, it'll restore the disk image to the point it was saved. I wiped out a week's worth of Sword of Kalin hacking with a single keypress! (lucky I could rebuild it just as quickly with my tool above)

I think I saw your utility somewhere but didn't download it because I wasn't sure I understood the description. I'll check it out now, thanks.

I don't know how to edit pointers yet.

What is FCEUXD? I did a search for FCE Ultra on this site, but the only result said it couldn't handle FDS. I've never been able to get FDS images working on my regular FCE Ultra (for some reason only VirtuaNES will on my machine, I don't know if it's something I'm doing or the version I have).

Is that savestate issue true for all emulators, or just FCEUXD?
RedComet
Guest
« Reply #9 on: September 23, 2006, 06:23:05 pm »

FCEUXD

Personally, I've never managed to get any incarnation of FCEU to run FDS games. I get to the Load Disk screen and Mario always ends up sitting on his plunger. Sad

BTW, are you the girl I spoke to a couple months back (might have even been a year ago, now that I think about it) who was interested in working on Angelique?
Alcy
Guest
« Reply #10 on: September 23, 2006, 06:50:55 pm »

Quote from: RedComet on September 23, 2006, 06:23:05 pm
FCEUXD

Personally, I've never managed to get any incarnation of FCEU to run FDS games. I get to the Load Disk screen and Mario always ends up sitting on his plunger. Sad

BTW, are you the girl I spoke to a couple months back (might have even been a year ago, now that I think about it) who was interested in working on Angelique?

This was more than a year ago (probably two or three). I know someone else has been interested and contacted me at one point in an effort to get the files, but I don't have them (hopefully she got in touch with Marfisa who started the project).
KingMike
Guest
« Reply #11 on: September 23, 2006, 11:19:25 pm »


What's the problem? Smiley
Just click File -> Open -> Browse for the .fds file -> Double click.
Yeah, you need the FDS BIOS ROM (or Sharp Twin Famicom BIOS, shouldn't be any difference except saying FAMICOM instead of Nintendo). Should be on many sites. But if you can't find it, there's the one in the GoodNES set. But most of that one is garbage. Just copy $6010-800F into another file to get a working BIOS ROM. Rename this file disksys.rom and put in the same folder as the FCEUltra exe. The BIOS ROM will automatically load when you open an FDS image.
Ryusui
Guest
« Reply #12 on: September 23, 2006, 11:46:12 pm »

Quote from: KingMike on September 23, 2006, 11:19:25 pm
What's the problem? Smiley

*opens the Court Record and selects 'Basic SMB Knowledge'*
KingMike
Guest
« Reply #13 on: September 24, 2006, 01:02:33 am »

The original SMB and 2j both have 4 stages each world. Super Mario Land, though, has 3 stages per world.
Ryusui
Guest
« Reply #14 on: September 24, 2006, 01:17:54 am »

God, am I that rusty? -_-;

*wishes there were an Objection! for Phoenix's "oh crap" mode*
Pages: [1] 2 3  


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