[//]: <> (This readme is in the markdown format. Please preview in a markdown parser.)

# Kaguya Hime Densetsu: English Translation

Source code: [https://github.com/romh-acking/kaguya-hime-densetsu-fc-en](https://github.com/romh-acking/kaguya-hime-densetsu-fc-en)

## About
This is a translation patch for *Kaguya Hime Densetsu* (The Legend of Princess Kaguya) on the Famicom. If you're going to play the game for the first time, make sure to read the manual beforehand because it gives clues on how to progress through the game, many of which are not indicated in the game.

The game was developed by Micronics, a little known ghost developer, but their titles are much more well known; more accurately infamous. This title is easily one of their most ambitious releases. It's not half bad either and has a good amount of personality. It's apparently a port of a Japanese computer title *Shin Taketori Monogatari*. There's a lot of similarities between the two but a slew of differences as well.

While taking in media and themes related to this game, if you keep in mind this title was developed in Japan in 1988, you should be fine.

The project itself has quite a history and went through *a lot* of different people.

1. [The first translation was created by snark](https://www.romhacking.net/translations/1449/) and was released in 2009. [It was noted by several people for having a dubious quality to it](https://www.romhacking.net/forum/index.php?topic=9904.0), and well... just look at that title screen and font. It should be noted this translation has severe limitations involved, as with most of his translations. While snark did the translation and hacking, the pointers were never repointed. In other words, if a line was 10 bytes in the original game, the translated line used 10 bytes or less. The script insertion process was likely done in a hex editor such as WindHex32. It's impressive just how much script was squeezed into the hack. But is the script really as accurate as people purported? We'll delve into that later.
1. The project then fell into the hands of the prolific translation hacker, Pennywise. Working off snark's old translation, the Japanese script and translated script were dumped and passed off to Eien Ni Hen for proofreading. Because the Japanese table file wasn't accurate, the script was touched up for grammar and spelling but not accuracy. A new title screen was also produced by Ryusui for the project. This project was never completed, and as a result, was never released.
1. Another translation was produced by Zynk. It underwent the same limitations as snark's translation. The project was initiated to address translation inaccuracies from snark's project. This translation project is unreleased as well, as far as I know.

I've taken quite a liking to the game, so I started this project to make a more polished translation hack. Pennywise, wishing to lighten his workload, handed his work off to me (a rom and a cartographer dump file) after he learned I was also working on the game. Once zynk learned I was working on the game, he handed off his work (a rom file and xls file) to me as well. 

While I'm thankful for the work provided to me, I really wanted a Japanese translator to comb through the script to check for accuracy without any space constraints in mind. I initially did it myself with a Japanese dictionary. I worked off of snark's script that was proofread by Eien Ni Hen. Fortunately, I got connected with TheMajinZenki through the *Tensai Bakabon* translation project. He meticulously went through the script I had. The result: a much more faithful script to the original.

## Patching Instructions
The patch is a [Beat patch](https://www.romhacking.net/utilities/893/). Either use the Beat patcher or patch your rom here:

[https://www.romhacking.net/patch/](https://www.romhacking.net/patch/)

There's two patches. Both translate the game, however, one improves the character art as some are kind of ugly, while the other one retains the original graphics. Pick whichever you prefer.

## Hacking Notes
* This translation project expands the rom to twice the size. [Expanding an MMC1 game](https://www.nesdev.org/wiki/MMC1) from 256KB to 512KB is a bit... interesting. The expanded space is essentially treated as a second rom. Special thanks to Pennywise for lending a few tips on what register to write to. Additionally, all the dialogue and menu pointers were converted to three byte pointers. I could essentially relocate text wherever I wanted to in the rom. I think the standard method is to hardcode which dialogue ids go to what bank in assembly. But with various script revisions, this is tedious. Also, after a pointer read, the game does a bank switch anyway, so no time is wasted switching to these different banks. With an expanded rom, the room has *a lot* more room to breathe.
    * The game normally interrupts to `$C000` to do some graphic rendering. This becomes a problem when switching to the "second" rom as the screen printing logic isn't present in the other rom. Pennywise suggested to just mirror the last bank and see what happens, but I had the really stupid idea of just adding an `rti`, which effectively kills the interrupt. The interrupt is just for screen rendering, so this essentially just drops a frame. The interrupt rarely triggers while in the expanded space and the frame skip isn't noticeable at all. Special thanks to Not Cheery Kieran F from NesDev for being there to help me better understand the issue.
* The menus were expanded in two ways. I hacked in code to allow for line breaks for the menu options. Also, the menu area space was increased to allow for more characters. To accomplish this, UI elements were shifted around a bit. However, I also shifted the screen by four pixels, so UI elements weren't in the CRT overscan deadzone. 
* The text speed was increased to be more tolerable.

## Translation Notes
**Spoilers up ahead!**

| Japanese | Translation |
| :--- | :--- |
| がんばるカイの　うみ | Chal Ange Sea.|

The "kai" in Ganbarukai is the kanji for "sea". The joke here is that "ganbarukai" is also a way to say "Can you do it?". So we went for something that sounded like "Challenge".

| Japanese | Translation |
| :--- | :--- |
| ぎゃるたくサン | Mt. Lozza Chix |

The name of the place is "gyarutaku san", where "san" is the kanji for mountain; however, "gyaru takusan" means "a lot of girls", so it's a pun name. So we went for something that sounds like "lots of women".

| Japanese | Translation |
| :--- | :--- |
| 「もし　オトトちゃんに　あったら　おいしい　しばづけ　みつけたから　はやく　かえる　ように　つたえてネ！」 | “If you find my Ototo, tell him I found some delicious pickles and to hurry back!” |

The dish "しばづけ" was localized to be "pickles".

## Translation Differences

**Spoilers up ahead!**

So just how much more accurate is this translation? Well...

| Japanese | snark Translation | TheMajinZenki Take |
| :--- | :--- |:--- |
| てんのこえ:「じつは [NAME]。 きみの チエと ユウキで じゃじゃケもりのなかから かぐやひめを みつけ ひめの ちからになって もらいたい」 | Angel: 「Brave [NAME], Find the Moon Princess in the magical enchanted bamboo forest of Jaja! Be careful!」 | God's Voice: “Listen, [NAME]. I want you to employ your wisdom and bravery to find Princess Kaguya in the forest of Jaja and assist her.” |

The snark translation gets the general point across here. I just wanted to point out some minor things:
* The inclusion of Japanese punctuation for whatever reason.
* "てんのこえ" literally means "voice from heaven", which can refer to various heavenly entities. However, this entity is once referred to in the script as "カミ" (神), which means deity or god. And angel's are servants to deities and gods, so we opted on "God" here.
* The translation refers to Princess Kaguya as Moon Princess, presumably for space reasons. Princess Kaguya is the princess of the moon in the Japanese folktale, [The Tale of the Bamboo Cutter](https://en.wikipedia.org/wiki/The_Tale_of_the_Bamboo_Cutter), so both are correct.
* Most places in the game are puns, and TheMajinZenki suspected the location is a pun as well. じゃじゃケもり's romanization is Jajagamori (explanation as to why the ke is a ga [https://en.wikipedia.org/wiki/Small_ke](https://en.wikipedia.org/wiki/Small_ke)). It's possible the location is a reference to [Jajamaru](https://en.wikipedia.org/wiki/Ninja_JaJaMaru-kun), a popular game at the time, but sometimes a cigar is just a cigar.

| Japanese | snark Translation | TheMajinZenki Take |
| :--- | :--- |:--- |
|「わたしの　ホシでは　わるい　びょうきが　いま　ひとびとを　くるしめてます。」<br/>「ひとびとを すくうには リュウの ５しきの タマが ひつよう です。 おねがい さがして もってきて くれませんか ？」|「Im from a distant star My heart aches!」<br/>「Please find the 5 star crystal rainbow dragon orb for me!」 | “The people of my world are suffering from a deadly disease.”<br/>“To save them, I require the dragon's Rainbow Crystal. Can you please find it and bring it to me?”|

* The kanji for this orb / crystal item would be 龍の五色の玉, a single item. Usually the kanji imply "five colors" or maybe five colored orbs, but this is a single item. It was suggested by TheMajinZenki to just call it "rainbow" instead. Incidentally, it's the orb that is "rainbow", not the dragon (or it would have been 五色の龍の玉).
    * This translation mostly calls this item a "crystal", except for a menu option where it's called "orb" for menu space reasons.
* Princess Kaguya's motivation is to cure her people from ~~the coronavirus~~ a deadly disease, which is totally absent from the original translation. This looks like it was for space reason, as the line as it is, excludes a punctuation mark and an apostrophe to fit the line.

| Japanese | snark Translation | TheMajinZenki Take |
| :--- | :--- |:--- |
|やあ！　たびのひと。　ワシは　ツリきち　サンタじいさん　という　ものじゃが　マッチ　かして　くれンかの？」 |「Im Santa! Its summer vacation!Say do you have a match?」[STOP] | “Hey there, traveler! They call me Fisherman Santa! Say, do you think you could spare a guy a match?” |

* "Tsurikichi Santa" is a pun on "[Tsurikichi Sanpei](https://en.wikipedia.org/wiki/Fisherman_Sanpei)", a manga, anime, and game from around the time. This was removed in favor of the line "Its summer vacation!" in snark's translation.

| Japanese | snark Translation | TheMajinZenki Take |
| :--- | :--- |:--- |
| 「まあ　ステキな　カガミ。　ありがたく　いただいとく　とするワ。」|「Thanks for a cool silver prize!」| “My, what a lovely mirror! I'll take it, thank you!” |

"かが" refers to the mirror. It looks like "silver" was derived from "いた", but the full word is "いただ" to express acceptance of the gift.

| Japanese | snark Translation | TheMajinZenki Take |
| :--- | :--- |:--- |
|ノンチ:「おんなの　かたの　なまえを よびかけて　みては？」 | Nonchi:「Who is this lady?」| Nonchi: “Why don't you try calling her by her name?”|

Another line that suffers from space constrains. When you see this line, Seiko's menu option changes from "Woman" to her actual name.

| Japanese | snark Translation | TheMajinZenki Take |
| :--- | :--- |:--- |
|ミズムシに　よくきく　クスリを　あげるから　ないしょに　してネ！」|「Here, Take this boat bug spray!」| “I'll give you this spray for athlete's foot. Just keep this a secret, alright?”

The word "みずむし" has two definitions:
* athlete's foot
* water boatman

You eventually give this to the sea captain. In snark's translation, it's to solve a boat bug problem, so he went with the second definition. [The name, "water boatman", actually refers to a very specific species of insect, corixa punctata. And despite their English name, they're *fresh water* dwelling insects.](https://en.wikipedia.org/wiki/Lesser_water_boatman) As a result, the more sensible translation choice was "athlete's foot" spray, as it's given to you by a health teacher.

| Japanese | snark Translation | TheMajinZenki Take |
| :--- | :--- |:--- |
|このカギが　このゲームのカギ　？<br/>(つまんない　シャレで　すみません。)|A skeleton key?<br/>(Sorry,just joking)|Could this be the... key to beating the game?<br/>(Sorry, for the lame pun.)|

This is the key's item description. The pun is a double entendre on key meaning...
* the physical unlocking device
* something to clarify a problem

Amusingly, this pun works in both English and Japanese! snark's translation sort of addresses the joke, but given space constraints, the joke falls flat. One thing to note is that the game has a couple of fourth wall references, that were simply cut in snark's translation.

| Japanese | snark Translation | TheMajinZenki Take |
| :--- | :--- |:--- |
|ごしょうたいけん<br/><br/>このケンを　おもちのかた<br/>１かいだけ　タダで<br/>とうてんを　ごりよう<br/>できます。<br/>［もしもしサークル］<br/>きてね！|1🍬DAY✨✨✨✨✨<br/><br/>1 COMP✨ CARDC🌙✨<br/>☎️🌙✨✨🍬✨ l.L.🍬🌹🍬<br/>✨🌹✨✨ 1🍬DATE✨<br/>🌹🍬ESCORT<br/>[HELLO✨SAKURA]<br/>FREE!|Free Trial<br/><br/>The owner of<br/>this coupon<br/>gets a free<br/>session.<br/>[Phone Club]<br/>Fun!|

This coupon is part of a puzzle in the game's hard and difficult modes. The tilemaps are also compressed in an annoying to manage way. snark's translation just modifies the graphics. Because many tiles are reused, it was opted to use a bunch of emojis. As a result, the puzzle is very difficult to solve in this hack, so it's understandable why snark included the solution with the patch. It also appears サークル (club) was mistranslated as sakura (サクル). The coupon is for a [phone club](https://en.wikipedia.org/wiki/Telekura). These facilities had the implication of being prostitution services (this isn't true for this game, don't worry). It's strange the original translation would also acknowledge this with the word "escort".

In any case, this is a non-exhaustive comparison of both translations. The numerous spelling and grammar errors (albeit for obscure lines) were not covered here. Hopefully, this gives you an understanding of the differences between the translations.

## Game Tips
**Spoilers up ahead!**

I usually don't have a dedicated section for progression, but there's misinformation online on how to get a perfect score in the game. You're probably never going to figure this stuff out on your own. This information was derived from a [Japanese perfect ending walkthrough video](https://www.youtube.com/watch?v=p2MghjqU6AE). You get the best ending by completing the game on the hardest difficulty and with a high enough score.

### Seiko Date
In order to get all the points with Seiko on her date:
1. Talk with Kumi to put the ribbon on the teddy bear (more on this later).
1. Give Seiko the teddy bear.
1. Give her saké.
1. Take the wine glass from her for an extra point.
1. Ask  about worries last for a golden bullet fortune. Make note of what she says.
1. Don't ask the same question twice.

### Kumi Side Quest
There's a very, very obscure sequence to encounter Kumi.

1. Go back to the Inumaru the dog and get the saké and photo ("difficult" mode only for the last one)
1. Go to the bamboo forest mini-game
1. Return to the forest of Jaja in the cabin area
1. Go to the cave.
1. Repeat steps 3 and 4 again.
1. Go to the pond and Kumi will be there.
1. Talk to her and give her the teddy bear.

This side quest is slightly hinted at by Nonchi if you talk to him at the front of the cabin.

### Cobra Battle
If you kill the cobra when it has its tongue out, you get 10 points. Otherwise, you get 5 points.

### Bullies
In order to get maximum points from the bullies, you must strip naked before the fight (and no, this doesn't make sense in context). This is hinted in the manual, but I thought it was worth clarifying.

### Whip
The whip is multi-use. Try using it in the dark.

### Cheats
All of the addresses reference RAM locations:

Inventory start:
```
$0CF3
```

Health start:

```
$04EA
```

Score start:
```
$04EC 
```

Sea Maze (no rock collision):
```
F061:4c
F062:76
F063:f0
F064:ea
```
Sea Maze (Whirlpool disabled) (also disables other events)
```
DC13:ea
DC14:ea
```

## Manual
Of all the place to find rare Japanese manuals, I never though I'd find it on a random Japanese blog, given Japanese copyright laws. In any case, you can check out the original scans here:

[https://gamemanual.midnightmeattrain.com/entry/かぐや姫伝説](https://gamemanual.midnightmeattrain.com/entry/かぐや姫伝説)

## Changelog
* 2022 November 6th: 1.2 
    * Critical crash fix, that's more likely to trigger for long lines
* 2022 August 16th: 1.1
	* Changes to three lines: one for grammar, one for script consistency, and one was to fix a mistranslation that was missed it snark's old translation (for one of the quiz questions)
* 2022 July 31st: 1.0
    * Initial release

## Credits

### Main Team
* FCandChill
    * ASM work
    * Utilities
    * Localizer
    * Proofreader
    * Manual
    * Graphics
* TheMajinZenki
    * Translator and proofreader
	
### Support
* Not Cheery Kieran F
    * NMI issue troubleshooting
* Tervasktanto
    * Reporting NMI issue
* pinobath
	* CRT guidance
* snarf
	* xkas troubleshooting
* Kajitani-Eizan#9804
	* Localization tips
* Pennywise
    * Guidance
* Filler
    * Spot translation
	
### Previous Project Owners
* Pennywise
* Eien Ni Hen
* Zynk

### Beta Testers
* ppltoast
* cccmar
* marklincadet