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

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Nagato

Pages: [1] 2
Please do that Nagato! I can't get past the Samurai because of these issues. After that, I can go to the third castle.
If you didn't see it already, I sent you a link yesterday in a PM. Check that version out please.

I'm still waiting for a game to be translated in to emoji
Don't give me ideas. |ω・`)
Something like that would actually fit really well with the theme of the game I'm going to be working on as a personal project once I get a copy in the mail. Unfortunately it's on a console that won't be supported on for a few years at least so there won't be any discussion here about it. :P

I found some stuff. Some of the bugs seem pretty serious actually, and they all happen from the 3rd castle onwards, at least in my case (perhaps due to the skill set both you and the enemies have at that time).
What stuff? Are you talking about the text overflowing thing? I'm going to send you guys over a new ROM that hopefully fixes that, and also fixes a few other tiny bugs (the skills menu controls, in particular).


Doman's Revenge (Ayakashi no Shiro)
Genre: Old School Dungeon Crawler/RPG
Release date: May 25, 1990

summvs, the translator for Nanashi no Game (The Nameless Game), got in contact with me last week saying he wanted to work on another translation project together. In less than a week we've gone from "hey, would you be interested in working on this?" to having a full translation complete and ready for some play testing!

So right now we're looking for a few people who wouldn't mind playing through the game and give us a report on if anything is buggy or broken. If you're interested then please leave a comment here or send a message to me or summvs.

This post will be updated at a later date to include download links when we're ready for a full release.
We've also made a thread over at GBATemp but I figured would be more friendly to Gameboy translations projects.


ROM Hacking Discussion / Re: Patch applying application for Android?
« on: February 06, 2015, 06:28:34 pm »
A friend of mine maintains this ROM patching app, generically named ROM Patcher. I've never used it but it seems to support a lot of patch types and add more when requested.

Programming / Re: Fuzzy string search tool
« on: August 06, 2014, 06:26:01 pm »
The GB/C hardware is one of the simplest and easiest systems to hack out there. If you're trying to build a table, all you have to do is look at VRAM and see if it stores the entire font there. If not, you can easily debug to find where the text is loaded by setting VRAM breakpoints etc. It really only takes a few minutes to do as the debugging capabilities are quite advanced for the GB/C.

My honest opinion here, but I feel like a case study on how to find text encoding/locations etc by debugging would be more useful than the tool as that is the ideal method to do all this stuff. I stopped searching for text in a hex editor when I learned how to debug and reverse-engineer games.

My personal opinions aside, there's probably some use to it for beginners though.
Thanks for the comment. I think you're focusing too much on the GBC part, though. I would consider myself pretty decent at reverse engineering on other platforms already, but I didn't want to spend however many hours learning how to use a debugger for the GBC and then learning how the hardware works and learning the instruction set at the same time. It's easy to say that it'd take a few minutes to do if you already know the tools and the workflow, but it probably would've taken me a lot longer just to even become familiar with the system. I don't have plans to mess with the GBC anymore now that my itch has been scratched so that's more effort than I am willing to put in right now. The same problem would also exist if I wanted to look at another game on the SNES or Genesis or something like that. The tool is platform agnostic so I'd be able to reuse it anywhere.

That said other than your workflow perhaps being more obvious/slightly less esoteric and the easier replace/alteration options what is all that different to the wildcards being supported in something like ?
I've never seen that program before so I wouldn't be able to tell you. It doesn't look like it'd be all that different really.

Programming / Re: Fuzzy string search tool
« on: August 06, 2014, 01:48:58 pm »
It's not so much that it was "needed", but that it made it easier for me to find what I was looking for so I thought maybe someone else might find it useful.

The relative searching thing is pretty much the same thing I'm doing here. This tool isn't meant to be used for serious text insertion so that's not a problem I'm trying to solve with this tool (I put in replacement functions just so I could easily test things). I want it to be used together with things like Atlas or whatever everyone's favorite tools are. It's meant to be used to find text strings of an unknown encoding based on the relative offsets assigned to each character. It can also output a character table for use in other tools based on the charset.xml relative to whatever base index you specify (which can be found using this tool). It's up to the user to figure out things like why the offsets change. This tool will just be able to tell them where the text is regardless of whether the table changed or not, and it'll say what the new base index is relative to the current table.

The problem I faced last night was that I had a rough idea about the order of the characters in the character table after viewing everything in the tile viewer, but I did not know where the text was or even the starting index and I didn't want to try every combination of 3 bytes to find the word "なまえ" for example. Using the table I created (charset.xml) that contained a value assigned to each character, it tries to find all strings of 3 bytes that match the pattern for "なまえ". You can see the result of that search here. There may be some false positives for shorter strings like this, but most of them are the correct word even with different base indexes.

I guess you could consider it just a relative search tool but with some extra features that made it easier for me to find unknown text in the ROM I was looking at. I don't think it's all that useful of a tool once you're past the stage where you're trying to find the text and already know the character table, but I think it has some uses in the early stages.

Programming / Fuzzy string search tool
« on: August 06, 2014, 11:02:34 am »
I'd like some feedback on a tool I made before submitting this to the utilities database if anyone has some free time and is interested.

I started development on this tool last night after playing around with a GBC game I've been interested in for a while. The tool itself might be a bit specific in its usage, but it was enough for me to find what I needed. The reason I wanted to make the tool is because I wanted to find the strings in a certain Japanese GBC game, but I don't have much experience with reverse engineering GBC games and I didn't know what kind of character encoding the game was using. I looked in the tile viewer and saw the entire character set so I made a table and then wrote this tool to do a fuzzy string search. Turns out that the table I wrote was mostly right (most of the text in the game started at index 0), but not all of the text, so it was still useful for finding those odd strings. You can see an example at the bottom of my examples where the base of the character encoding starts at index 0xb0 but my tool is still able to interact with it. The search and replace functions are able to determine what index the character encoding starts at automatically, so they can be used to search/replace every instance in the ROM.

Admittedly I didn't do too much searching to see if there were already popular tools like this, but is it something that would be useful for anyone?
Does anyone have any suggestions/improvements/comments they could offer?
Are there any obvious bugs or crashes that I forgot to handle?

The tool is written in C# (min .NET 3.5) entirely open source, licensed under the MIT license and put on Github:
Binaries can be found here:
I'm willing to accept pull requests if anyone wants to add their own features or bugfixes.

I've included the charset.xml for the game I was working on in the release file. It can be used as an example of how to make your own charset.xml. Sorry for the Xml. :(
The Index field can be in base 10 or base 16 (must be prefixed with 0x). The Character field can be a string of any length.

Edit just for more clarification in case I didn't state it clearly: The charset.xml does not have to be the exact character table. If, for instance, you know that A comes before B, which comes before C, you could define it as A = 0, B = 1, C = 2, then search for "ACBAC" and it'll search the entire ROM for any sequence of bytes that match the pattern x+0 x+2 x+1 x+0 x+2, where x is an unknown shared based index. Everything is relative here so A could be 15, B could be 16, and C could be 17 and it should still work.

How to use with detailed examples with results:
Code: [Select]
search - Searching for string with unknown base offset
        romtool-textutil.exe search (datafile.bin) (search string)
        Ex: romtool-textutil.exe search rom.gbc "Hello!"

convert - Convert string using given base
        romtool-textutil.exe convert (string) (charset base)
        Ex: romtool-textutil.exe convert "Hello!" 145

gentable - Generate Thingy table based on character mapping with base offset added
        romtool-textutil.exe gentable (output.tbl) (charset base)
        Ex: romtool-textutil.exe gentable output.tbl 145

replace - Replace text of even or less length
        romtool-textutil.exe replace (datafile.bin) (outputfile.bin) (search string) (replace string)
        romtool-textutil.exe replace rom.gbc rom2.gbc "Hello!" "World!"

forcereplace - Force replace text of a greater length
        romtool-textutil.exe forcereplace (datafile.bin) (outputfile.bin) (search string) (replace string)
        romtool-textutil.exe forcereplace rom.gbc rom2.gbc "Hello!" "Overwritten"

display - Convert the string at the given address to plaintext
        romtool-textutil.exe display (datafile.bin) (hex address) (length) (charset base)
        romtool-textutil.exe forcereplace rom.gbc ce9fa 8 0

Finding arbitrary string in ROM based on character table:
Code: [Select]
C:\Projects\romtool-textutil\romtool-textutil\bin\Debug>romtool-textutil.exe search rom.gbc "はじめから"
Searching for 'はじめから' in rom.gbc...
Searching for pattern:
00000000 | 1a 39 22 06 27

Found 3 matches:
Character Base: 00
0006d443 | 1a 39 22 06 27 00 02 07 1f 0d fe e1 14 00 ec ff
0006d453 | 55 4c 2d 00 14 28 1a 3a 0c 10 19 1a fd 4d 4f 74

Character Base: 00
0007b939 | 1a 39 22 06 27 fe 0b 0f 2c 15 02 0a 14 40 0d fc
0007b949 | 5c 99 6b 33 fd 02 2f 47 02 15 27 00 0b 0f 2c 15

Character Base: 00
000ce81b | 1a 39 22 06 27 ff ff 12 3f 07 06 27 ff ff 9a a0
000ce82b | 9e a7 ad cb fd 9c a5 9a ac ac cb fd a2 9d 00 00

Convert string to use character table encoding:
Code: [Select]
C:\Projects\romtool-textutil\romtool-textutil\bin\Debug>romtool-textutil.exe convert "Hello, world!" 0
00000000 | a1 9e a5 a5 a8 ff 00 b0 a8 ab a5 9d c2

C:\Projects\romtool-textutil\romtool-textutil\bin\Debug>romtool-textutil.exe convert "Hello, world!" 10
00000000 | ab a8 af af b2 09 0a ba b2 b5 af a7 cc

Generate Thingy table using character table:
Code: [Select]
C:\Projects\romtool-textutil\romtool-textutil\bin\Debug>romtool-textutil.exe gentable output.tbl 0
Generated new file output.tbl with 236 entries.

Replace text of equal or less length:
Code: [Select]
C:\Projects\romtool-textutil\romtool-textutil\bin\Debug>romtool-textutil.exe replace rom.gbc rom2.gbc "はじめから" "Start"
Replacing 'はじめから' with 'Start' in rom.gbc...
Character Base: 00
0006d443 | 1a 39 22 06 27 00 02 07 1f 0d fe e1 14 00 ec ff
0006d453 | 55 4c 2d 00 14 28 1a 3a 0c 10 19 1a fd 4d 4f 74
0006d443 | ac ad 9a ab ad 00 02 07 1f 0d fe e1 14 00 ec ff
0006d453 | 55 4c 2d 00 14 28 1a 3a 0c 10 19 1a fd 4d 4f 74

Character Base: 00
0007b939 | 1a 39 22 06 27 fe 0b 0f 2c 15 02 0a 14 40 0d fc
0007b949 | 5c 99 6b 33 fd 02 2f 47 02 15 27 00 0b 0f 2c 15
0007b939 | ac ad 9a ab ad fe 0b 0f 2c 15 02 0a 14 40 0d fc
0007b949 | 5c 99 6b 33 fd 02 2f 47 02 15 27 00 0b 0f 2c 15

Character Base: 00
000ce81b | 1a 39 22 06 27 ff ff 12 3f 07 06 27 ff ff 9a a0
000ce82b | 9e a7 ad cb fd 9c a5 9a ac ac cb fd a2 9d 00 00
000ce81b | ac ad 9a ab ad ff ff 12 3f 07 06 27 ff ff 9a a0
000ce82b | 9e a7 ad cb fd 9c a5 9a ac ac cb fd a2 9d 00 00

Generated new file rom2.gbc.
Code: [Select]
C:\Projects\romtool-textutil\romtool-textutil\bin\Debug>romtool-textutil.exe replace rom.gbc rom2.gbc "はじめから" "Start Game"
Replacing 'はじめから' with 'Start Game' in rom.gbc...
ERROR: Length of replacement string (10) is greater than the length of the original string (5).
Use forcereplace if this was intentional.

Replace text of greater length:
Code: [Select]
C:\Projects\romtool-textutil\romtool-textutil\bin\Debug>romtool-textutil.exe forcereplace rom.gbc rom2.gbc "はじめから" "Start Game"
Replacing 'はじめから' with 'Start Game' in rom.gbc...
Character Base: 00
0006d443 | 1a 39 22 06 27 00 02 07 1f 0d fe e1 14 00 ec ff
0006d453 | 55 4c 2d 00 14 28 1a 3a 0c 10 19 1a fd 4d 4f 74
0006d443 | ac ad 9a ab ad 00 a0 9a a6 9e fe e1 14 00 ec ff
0006d453 | 55 4c 2d 00 14 28 1a 3a 0c 10 19 1a fd 4d 4f 74

Character Base: 00
0007b939 | 1a 39 22 06 27 fe 0b 0f 2c 15 02 0a 14 40 0d fc
0007b949 | 5c 99 6b 33 fd 02 2f 47 02 15 27 00 0b 0f 2c 15
0007b939 | ac ad 9a ab ad 00 a0 9a a6 9e 02 0a 14 40 0d fc
0007b949 | 5c 99 6b 33 fd 02 2f 47 02 15 27 00 0b 0f 2c 15

Character Base: 00
000ce81b | 1a 39 22 06 27 ff ff 12 3f 07 06 27 ff ff 9a a0
000ce82b | 9e a7 ad cb fd 9c a5 9a ac ac cb fd a2 9d 00 00
000ce81b | ac ad 9a ab ad 00 a0 9a a6 9e 06 27 ff ff 9a a0
000ce82b | 9e a7 ad cb fd 9c a5 9a ac ac cb fd a2 9d 00 00

Generated new file rom2.gbc.

Display arbitrary binary data using character table:
Code: [Select]
C:\Projects\romtool-textutil\romtool-textutil\bin\Debug>romtool-textutil.exe display rom.gbc 0007b939 0x32 0
00000000 | 1a 39 22 06 27 fe 0b 0f 2c 15 02 0a 14 40 0d fc
00000010 | 5c 99 6b 33 fd 02 2f 47 02 15 27 00 0b 0f 2c 15
00000020 | 02 fe 0a 14 3d 15 fc ec eb 2a 2e 27 08 15 41 c9
00000030 | c9 c9
Plaintext: はじめから さそわないことです チームが いっぱいなら さそわない ことだな   れんらくなど・・・
Code: [Select]
C:\Projects\romtool-textutil\romtool-textutil\bin\Debug>romtool-textutil.exe display rom.gbc 0xd11ca 20 0xb0
00000000 | c5 cf b4 29 03 0e 02 c8 de da 79 b2 0f 02 07 04
00000010 | be b2 f5 c2
Plaintext: なまえ    ねんれ い    せいべつ

Code: [Select]
ldrb_ r1,mmc50x5130
mov   r1,r1,lsl#8
orr   r2,r2,r1
strb r0,[r1,r2]

I might be misunderstanding something, but shouldn't that be:
Code: [Select]
ldrb_ r1,mmc50x5130
mov   r1,r1,lsl#8
orr   r0,r0,r1
strb r0,[r1,r2]

r2 would be the index, but in the FCEUX code it's ORing with the value being stored. Instead of ORing r1 and r2, it would probably need to be r1 and r0 because r0 is the byte being stored. I don't know if this will make it work or anything, though.

Here's my attempt at translating it. This is my first real full translation of a game. It was very short and the story was simple so it felt like a pretty decent first game. I'm fairly confident in my understand of the meaning of most lines but I'm less confident in my ability to actually convey it well in English. So I'm sure things could be rewritten to sound a bit better in English if anyone wants to edit it.


デイジ-に くびったけの
Donald is head over heels
for Daisy.

きょうは ふたりで
Today they went shopping

デイジ- うわ~、すてきな ぼうし!
わたし これが ほしいなあ!
Daisy: Wow! What lovely hats!
I would love one!

ドナルド どれどれ...。
Donald: Let's see...

Th-That's expensive!!

デイジ- ねぇ、きれいでしょう。
この まんなかの ぼうし。
Daisy: Isn't the one in the
middle just beautiful?

でも たかくて とても かえないわね。
いきましょう! ドナルド。
But there's no way I could afford it.
Let's move on, Donald.

ドナルド そういえば もうすぐ
デイジ-の おたんじょうび...。
Donald: Come to think of it,
Daisy's birthday is coming up soon...

この ぼうしを プレゼントしたら
I'm sure she'd be delighted to
received this hat as a present.

おかねが ぜんぜん たりないぞ。
But I haven't got a dime...

よし! こうなったら
アルバイトで おかねを ためよう。
I've got it!
I'll look for a part-time job!


ゆうびんや まちのひとに おしらせを
いそいで はいたつして ほしいんだ。
Postmaster: I need this notice delivered
to some houses as soon as possible.

あるいて くばったのでは
ひが くれてしまうから
It'll be night before you know
it if you deliver by foot,

so I want you to use this bike.

ゆうびんを くばるのは
Aボタンを おすのさ。
Press A to deliver the mail.

おしらせは みんな おなじものだけど
1つのこらず くばっておくれよ。
The notice is the same for everyone,
but you must deliver every last one.

くばりきらないと アルバイトだいは
I'm afraid I can't pay you if you
don't delivery all of them.

そうそう。 なかには
ききゅうの うえに すんでいる
Oh yeah. There's also an oddball
resident who lives on top of

かわった やつも いるから
an air balloon, so don't
forget about him, too.



(Bldg Owner - abbreviation of Building Owner for possible space issues)
ビルのオ-ナ- キミに まどを
ふいてほしいのは この ビルなんだ。
Bldg Owner: I want you to wash
the windows on this building.

だが ひとつ
もんだいが あってな。
But there's just one problems...

なぜか この ビルには いじわるな
じゅうにんが おおいんだ。
For some reason, this building has
a lot of malicious tenants.

かれらが キミの じゃまをするかも
しれんから きをつけてくれ。
They'll try to interrupt you,
so be on the look out!

そうそう まどは Aボタンを おして
きれいに するんだぞ。
Oh yeah. Press the A button in
front of a window to clean it.

この ゴンドラも つかってくれ。
That's the spirit! Now use this
gondola to get between floors.

では たのんだぞ!
I'm leaving the rest up to you!


グランマダック わたしの ピッピちゃんが
かごから にげだしちゃったの。
Grandma Duck: My beloved Pippi escaped
from her cage.

ピ-トさんが つかまえてくれたときいて
I heard that Pete had caught her so
I went over to his house...

ピ-ト あの かわいい ことりは
かえすわけには いかないな。
Pete: There's no way I'm giving
back such a cute bird.

オレが たいせつに かってやるから
I'll raise it with love and care
it deserves, so leave it to me!

グランマダック ドナルド おねがい!!
ピッピちゃんを たすけてちょうだい!
Grandma Duck: Please, Donald!
Get me back my beloved Pippi!

ドナルド よし! ピ-トが ねてしまう
よるに しのびこもう。
Donald: Alright! I'll sneak in
while Pete is sleeping tonight.

グランマダック でも ばんけんの
ブッチには ちゅういしてね!
Grandma Duck: Please be careful
about the watchdog, Butch!

おおきな おとを たてると
めを さましてしまうわ。
You'll wake him up if you make
any loud noises.

おとを たてそうなものは
Aボタンで しずかにさせると いいわ。
Use the A button to silence
anything that makes a sound.

そう そのちょうしよ!
たのんだわね ドナルド。
Yeah, like that!
I'm counting on you, Donald.


しかいしゃ さあ みなさん おまちかねの
Announcer: The moment everyone has been
waiting for...

タイムアタック GO!GO!が
Let's begin Time Attack GO!GO!

ほんじつ きろくに ちょうせんして
くれるのは こちらにいる...
Over here we have today's challenger...

Donald Duck!!

いつものように チャンピオンのきろくより
すこしでも はやく ゴ-ルしますと
As usual, this is a big event where
you can win a large sum of money

こうがくな しょうきんが もらえるという
ビッグな イベントです!
by beating the current record by even
just a hair.

げんざいの きろくは ヒュ-イさんが -----EASY
だした 2ふん 00びょうです!
The current record of 2' 00"is held by Huey!

げんざいの きろくは ヒュ-イさんが------NORMAL
だした 1ぷん 00びょうです!
The current record of 1' 00"is held by Huey!

げんざいの きろくは ヒュ-イさんが------HARD
だした 0ふん 45びょうです!
The current record of 0' 45"is held by Huey!

もし あきらめて ギブアップするときは
Aボタンを おしてくださいね。
You can press the A button to give
up at any time.

ドナルド ばかにするな-!
Donald: Don't underestimate me!

ボクが ヒュ-イなんかに まけるわけ
There's no way I will let someone
like Huey best me!

しかいしゃ じしんまんまんですね。
Announcer: Our challenger seems to be
quite full of confidence today.

それでは さっそく ちょうせんして
もらいましょう! どうぞ !!
Without further ado, let the games begin!



ドナルド これで デイジ-への
プレゼントが かえるぞ!
Donald: This should be enough
to buy Daisy's present with!

I-It's sold out...!

せっかく おかねを
I went through all of that
trouble saving up money...

ろうじん おや おや。
いったい どうしたんじゃ?
Old Man: Oh my.
Why the long face?

ドナルドは ふしぎな ろうじんに
すべてを はなしました。
Donald told everything to the
mysterious old man.

ろうじん それは ざんねんじゃったな。
だが よい ほうほうが あるぞ。
Old Man: That's too bad. But I
know how you can still get it.

ドナルド ほんとう?
Donald: Really?

ろうじん じつは まちはずれの
Old Man: There's a clocktower
on the outskirts of town

オバケが すみついて
where ghosts have taken up

オバケを たいじして くれたら
キミの ねがいを かなえてやろう。
If you take care of the ghosts
then the hat is yours.

ドナルド ほんとう!?
Donald: Really?!
There's still hope!!


ろうじん この とけいだいの なかに
オバケが たくさん かくれている。
Old Man: There are a lot of ghosts
hiding in this clocktower.

はぐるまに のって うごかしてしまうと
あらわれるから きをつけるのじゃ。
They'll appear if you make the gears
move, so be careful.

オバケは あかるい ひかりが
Ghosts are weak to light,
so they can be defeated by

スイッチを ふんで ライトを
あてれば たいじできるぞ。
stepping on the switch and
shining the light on them.

そうそう、それで よいのじゃ。
That's perfect.

そして いちばん うえの かいの
スイッチを ふむと
Once you step on the switch
on the top floor,

ここの すべての ライトが つくから
オバケを けしさって しまえるのじゃ。
all of the lights will come on,
eliminting all of the ghosts.

それでは たのんだぞ。
I hope you got all of that.
Good luck.


ろうじん よくやったな!
Old Man: Good job!

ドナルド さあ! これで
ぼうしが てに はいるんだね。
Donald: So now you'll give me
the hat?

ろうじん いや まだ だめじゃ。
Old Man: Not quite yet.

ドナルド えっ どうして!?
Donald: What, why?!

ぼうし わしは こうみえても
まほうの くにの おうなんじゃよ。
Hat: Because I'm really the
king of the Magic Kingdom.

ドナルド まほうのくに? おうさま?
Donald: Magic Kingdom? King?

おうさま そうじゃ。
King: Correct.

だが けらいの だいじんに
だまされて こんな すがたに...。
But I was tricked by my own
minister, and now I'm like this...

やつは まおうを なのって
わしを このせかいに おくったのじゃ。
Making himself the Dark King, he
banished me to this world.

ドナルド それなら まほうで
もとの くにに もどれば いいのに。
Donald: Can't you just use magic
to get back to your kingdom?

おうさま それが この すがたでは
まほうが つかえないのじゃ。
King: I'm unable to use magic
in my current form/

ドナルド それじゃあ デイジ-への
プレゼントの ぼうしは?
Donald: So what about Daisy's

おうさま すまん。
King: I apologize.

ドナルド そんな!
Donald: What!
You tricked me!

おうさま まあ まて。
わしの はなしを きくんじゃ。
King: Just hold on.
Let me finish my story.

いいかげんに せい!

わしが もとの すがたに
もどれたら やくそくは はたす。
I will keep my promise once
I'm back to my normal form.

もうすこし わしに
ちからを かしてくれ。
I just need you to help
me a little bit.

ドナルド しかたがないなぁ。
それで どうすれば いいの?
Donald: I guess I have to...
So then what can I do?

おうさま じつは この とけいだいは
まほうの くにへの いりぐちなんじゃ。
King: This clocktower is the
entrance to the Magic Kingdom.

みはりの オバケを やっつけたから
まもなく みちが ひらくはず...。
The path should open after getting
rid of the ghosts guarding it...

おお! あれが そうじゃ。
Yeah, that sounds right!
(TL Note: I honestly am a little confused about this... so I just took a guess. Can someone else

check it over?)

さあ! わしと いっしょに いって
まおうを こらしめるのじゃ。
Now, let's take down the Dark King

そうすれば この まほうも
That should be enough to break
this curse.

ドナルド あっ ちょっと まって...。
Donald: Wait, wait just a minute...
(TL Note: He looks around and is enveloped in a white light here. Maybe translating it as confusion

like "Wait, what's going on..." would be ok too.)


おうさま むっ、いかん! ここでも
まおうの てしたが あばれている。
King: Oh no! The Dark King's
minions are out of control!

さあ! キミの でばんだぞ。
This is where I need your help.

この さきにいる ボスを
やっつければ おとなしくなるだろう。
If you can defeat the boss then
they should calm down.

ドナルド むりやり つれてきておいて
Donald: You forced me to come here
and now you're talking crazy.

おうさま まあ そう いうな。
ここからは わしも ちからを かそう。
King: Now, now. Don't say that.
I'll be helping you from now on.

Aボタンを おせば キミを
てしたたちから かくしてやろう。
You can hide from the minions
by pressing A.

ドナルド わかったよ。 ここまで
きたら しかたない。やるぞ~!
Donald: Alright. I'm already
here, so I might as well do it!


ドナルド さあ! はやく
まおうの ところへ いこうよ。
Donald: Let's hurry up and go
to the Dark King's castle!

おうさま そう かんたんには
King: It's not that simple.

ドナルド えっ!
Donald: Why not?!

おうさま まおうは わしの しろに
King: I suspect the Dark King is
in my castle right now.

だが その しろは そらのうえ。
ひこうせんが ないと いけないのじゃ。
But my castle floats in the sky, so
we'll need a ship to get there.

ドナルド その ひこうせんは
どこに あるの?
Donald: So then where can
we get a ship?

おうさま わしにも わからん。
おそらく まおうが さしむけた
King: I do not know.
The four bosses appointed by

4にんの ボスが どこかに
the Dark King must have hidden
it somewhere.

だが さがしだす ほうほうは ある。
その 4にんの ボスを やっつければ
But I know how we can find it.
If we defeat the four bosses,

やつらは かならず まおうに
そのことを ほうこくに いくはずじゃ。
they will have to report their
failure to the Dark King.

そのときに ひこうせんに とびのって
しろに もぐりこむのじゃ!
At that moment we can sneak aboard
the ship!

ドナルド なんだか
たいへんなことに なってきたぞ。
Donald: This is going to be a lot
more trouble than I thought...


ボス なんだ? おまえか
おれを やっつけに きたっていうのは。
Boss: So you're the one who
thinks they can defeat me?

どんなに すごいヤツかと おもったが
たいしたことは なさそうだな。
I was expecting some kind of fierce
warrior, but you're nothing special.

ドナルド なんだと-!
それなら しょうぶだ!!
Donald: I'll make you eat those
words! Let's settle this!

ボス まて まて。
それなら あしで しょうぶしよう。
Boss: Then let's settle this
with our feet if you really wish.

このさきの おかの うえまで
Let's make it a race to the
top of the hill.

きのどくだが オレは いままで
いちども まけたことが ないんだ。
Unfortunately for you, I've never
been defeated in a race before.

ドナルド ボクだって かけあしには
じしんが あるんだ! いくぞ~!
Donald: I can run like the wind!
Let's go!!


ドナルド さあ いよいよ
しろに とつにゅうだ!
Donald: We finally made it!
Now let's break into the castle!

おうさま まおうは しろの
いちばん おくに いるはずじゃ。
King: The Dark King should be in the
innermost room of the castle.

まおうには わしの ぼうぎょも
きかんから かくれても むだじゃぞ。
I can't protect you from the Dark
King, so hiding is pointless.

そのときは いっしょに たたかうから
わしのうえで ジャンプして
We'll be fighting together when
the time comes. You can jump on

あたまを アタックするのじゃ。
top of me to attack his head.
Let's do it!

ドナルド わかったよ。
Donald: Got it!

ここまで きたんだ。
ぜったいに まけるものか。
We've already made it all this
way. We can't lose here!


ドナルドの かつやくで ついに
まおうも こうさんし
Thanks to the hard work of Donald,
the Dark King has finally given up,

おうさまも もとの
すがたに もどりました。
and the King has returned back to
his normal self.

まおうは なきながら
The King apologized in between
sobs of joy.

おうさま よくやってくれた!
ほんとうに ありがとう。
King: It's finally over!
I can't thank you enough.

キミは この くにの えいゆうだ!
いつでも あそびに きてくれ!
You're a hero in our kingdom!
You're welcome back anytime!

わすれては いけないな。
Oh! And before I forget...

やくそくどおり ほしがっていた
ぼうしを だしてあげよう。
I'll give you the hat that you
wanted just like I promised.

ドナルド やったあ! デイジ-の
バ-スデ-パ-ティ-に まにあうぞ!
Donald: Yaaay! And just in time
for Daisy's birthday party!

ドナルド デイジ- はい これ。
ボクからの プレゼント。
Donald: Daisy, this is my
birthday present to you.

キミが ほしがっていた ぼうしだよ。
きっと にあうと おもうよ。
It's the hat that you wanted.
I'm sure it'll look great on you.

デイジ- まあ!
ドナルド どうも ありがとう!
Daisy: Wow!
Thank you very much, Donald!

ドナルド それから デイジ-のために
うたを つくったんだ。
Donald: I also wrote a song
just for you.

デイジ- ステキだわ!
ドナルド きかせて!!
Daisy: Amazing!
Please let me hear it!!


ドナルド どう? デイジ-。
きにいって くれたかい?
Donald: So what did you think?
Did you like it?

デイジ- ええ、とっても。 でも この
ぼうし たかかったのに...。
Daisy: It was beautiful.
But the hat was so expensive...

ドナルド キミの おたんじょうびだから
これくらい とうぜんだよ!
Donald: It's your birthday so
it's no big deal!

デイジ- まあ。 ドナルド、 わたしの
おたんじょうびは らいげつよ。
Daisy: I guess, but... Donald,
my birthday is next month.

ドナルド そ、そんな~!
ボクの かんちがい だったのか~!
Donald: W-What!
Are you saying I got it wrong?!

デイジ- でも とっても うれしいわ!
Daisy: But I'm extremely happy!

ドナルド キミが よろこんでくれて
うれしいよ。 それに...
Donald: I'm happy that you're happy.
And besides...

おかげで まほうのくにの
おうさまとも ともだちに なれたし。
Thanks to everything, I was able to
become friends with the kind of the Magic Kingdom.

デイジ- まほうのくに?
まあ! ステキだわ!
Daisy: Magic Kingdom?
How wonderful!

ドナルド そうだ! こんどの
デイジ-の おたんじょうびに
Donald: Yeah! For your
next birthday, let's

ふたりで まほうのくにへ
あそびに いこうよ!
take a trip to the Magic
Kingdom together!

デイジ- ほんとう!?
Daisy: Really?!
Promise me, Donald!

ドナルド いいとも!
Donald: It's a promise!

デイジ- とっても たのしみだわ!
Daisy: I'm really looking forward
to it!! Hey, Donald...

わたし そんな やさしい
ドナルドが だ~いすき!
You're so sweet.
I love you!!

I've been studying Japanese quite a while now but I've never seriously given translation a try before. But this looks simple enough so I'd like to give it a go. I decided to retranslate levels 1, 2, 3, and 4 because I found some mistakes and thought I could do better in some places. As of now I have up until half of DUPA NORI translated now. I don't know anything about the text constraints but I tried to keep the text short.

Something I'm not entirely sure about how to translate some of the names.
魔王 - Every game has their 魔王 but I don't really know how to translate it well in this context. I get the general idea, but I don't want it to be too menacing or serious sounding (it's a Disney game, you know?). Maybe Dark Wizard would be ok? For context, he turns the king of the Magic Kingdom into a hat and banishes him to Donald Duck's world and claims himself to be the new ruler. Any suggestions?

Here's the character for reference:

Personal Projects / Re: Pyron
« on: March 28, 2013, 09:58:05 pm »
Hmm well I would steer clear of GameMaker due to the fact that GameMaker doesn't have any support for Linux. You may want to look into something more multiplatform.
Surprisingly, GameMaker is fairly multiplatform these days. You can buy versions for Windows, Linux, Android, iOS, Windows 8 Phone, and even HTML5. I don't have much experience with it beyond just seeing it in the Steam store and playing with it for a minute a few years ago, though, so I can't comment on it beyond that.

There's a typo with the saber's name. It should be either さーべる (hiragana) or サーベル (katakana), not さーべル (mixed hiragana and katakana).

I haven't played many old RPGs like this in Japanese before so I might be wrong, but shouldn't the は be up on the character's name here? "ルチアは" instead of "ルチア は".

Programming / Re: RPG games made in either batch or c++ on youtube
« on: December 15, 2012, 04:21:07 pm »
What point are you trying to make exactly? No one cares who is a better programmer. Almost half of your programming related posts that I've seen have been you putting down other people (your friend(s) and now these random Youtube people), and the other half of your programming posts are, as another user stated in the last thread you made, simple battle systems that prove that you have a long way to go as a programmer. If you come here looking for advice on how to become a better programmer or how to improve your battle engine then by all means feel free to post something. But next time please leave your ego at the door.

Script Help and Language Discussion / Re: シュビッ?
« on: December 11, 2012, 05:41:06 pm »
I've always been bad at onomatopoeia but I'm a curious person. From all of the usages I could find, it seems to be the onomatopoeia for when a hand is raised. It might cover more than just hands but those are the only usages I could find.

Some examples I found:

News Submissions / Re: ROM Hacks: Cosmo Cops go Japan
« on: November 25, 2012, 12:01:59 pm »
I wasn't expecting to see a news post about this. :laugh:

Nice work, though. I'm very interested in knowing which part you edited in the ARM7, since many DS games have unused languages, and I'm looking for a more general method.
Since tc said the languages was separated by *.lz and *.lz_en (and as I later found out, *.lz_es, *.lz_de, etc...) files, I started by looking at the functions that added the _en suffix. Turns out it was a pretty simple switch statement. I traced code back to where it got the value from and then saw it was loading it from the game's memory. I put a hardware write breakpoint at the memory location and reset the game which allowed me to find the code immediately. My post in the other thread explains the rest and gives the addresses of the functions I modified. The patch itself only modifies 2 bytes.

Programming / Re: Organized Battle System.
« on: November 22, 2012, 10:29:59 pm »
In addition to the "don't seed random every time you call rand()", I'd like to point out another bug in your code.

Code: [Select]
eability = rand() % 1;Modulo is the remainder of the division operation.
Assuming rand() is 10 and if you use a 1 as your modulo, the math looks like 10 - (1 * floor(10/1)) which is the same as 10 - 10. Using 1 as your modulo will always equal 0.
So if you want either 0 or 1, you would use % 2. If you want 0, 1, or 2, you would use % 3. And so on.
There are more complicated ways to do it (google if you want to learn more about getting a range out of rand()) but that's the simple method.

How about having Go Go Cosmo Cops enable Japanese via DS system language (as the game's usual 5 modes are)?
Data seems intact from a very brief look. I made this stub page about it with starter pics.!_Go!_Cosmo_Cops!

What happened was I had a hunch seeing the game's file structure. So I swapped *.lz files with their *.lz_en equivalent.
Here's a beat patch (search the Utilities section or go to byuu's website if you don't know what beat is):

There's a function at 0x2016E60 in arm9.bin and 0x204E5D0 in (wireless code) that gets the system language and then stores it in the game memory for later reference. The function defaults to English for Japanese and any other languages outside of the range, so I just flipped the byte from 01 (English) to 00 (Japanese). Set your firmware to Japanese to play it in Japanese.

Here's also a less elegant solution but it'll force Japanese no matter what by nulling out the language suffixes:

I googled for the name of the rom hack in Japanese since the guy who made it is Japanese. Found it on the first page.

Same guy, he posted an html page with the edits in text form if you want to apply them yourself.

ROM Hacking Discussion / Re: Version Control and Romhacking
« on: March 28, 2012, 03:57:59 am »
For the past few years I've pretty much force every project I work on that didn't have some kind of solid leading behind it to use a form of revision control if I was going to put any serious effort into the project. I've never had anyone complain about it in the end either, since it takes only an hour or two to train people on the basics. I remember the horrors of trying to swap files through email and IRC and something inevitably getting lost. Never again. I also use SVN for any serious projects I'm working on even if I'm working alone. For that I usually just use a single private repository. Just having the diffs for every version has been helpful.

Assembla has allowed you to create free, private SVN and Git repositories (which can be set to public later if you wish to share it with everyone) for the past two years or so now so in my opinion there really isn't any reason not to use some kind of revision control. There's also Github and Bitbucket if you want something else but I don't think they allow projects to be private.

If you're reading this and you don't already use some form of revision control, go try it out. Seriously. It only takes a few seconds to create a repository on Assembla and then maybe an hour or less to get familiar with Tortoisesvn if you're on Windows. It's a small price to pay for making your project much more organized and easier to work with as a group.

Pages: [1] 2