◆ Creed's Mansion

HomeShining Force › Retranslation

Shining Force
Retranslation

The Japanese script, in English, in the US ROM · v1.0

The English Shining Force is a rewrite. The 1993 localisation kept the plot, changed the names, cut the frame story about the girl and her picture book, dropped the year Max spent on a beach with no memory, and never once says that the masked knight is his brother. I laid the two scripts side by side in The Japanese Script; this patch is the follow-up. It puts the Japanese text into the US game, in English, line for line.

Every story scene, every townsperson, every bookshelf, shop and church line has been translated fresh from the Japanese ROM. The names go back to what Camelot wrote: Zappa, Lug, Baryu, Chip, Vanguard, Yogurt, Cain, Rindorindo, Frying Pan Reef. Menus and battle messages keep the wording you know, with the new names substituted.

1,734 strings translated, 171 system strings kept, 327 empty. 2,232 in all, same as the original.

▼ Download IPS patch Full script (text) How to apply it v1.0 Mega Drive / Genesis
Four Shining Force dialogue windows in the game's italic font: a girl asks you to read to her till Grandpa gets back, asks the name of the hero of this story, says Max is a cool name, and tells you to hurry up and read.
The save screen. In the US version the girl is Simone, who lives in the world and asks what she should call you. In Japanese she is a child asking you to read her a book, and the hero's name is whatever you decide the hero of the story is called. Strings 002B to 002E, drawn with the ROM's own font at the width the game wraps at.

What changes

The story you were not told

The scenes that the US script rewrote are the reason this patch exists. Cain, the masked knight who kills the king of Guardiana, takes his mask off at the Prompt gate and remembers who he is:

Five dialogue windows: Cain asks where he is, remembers that Darksol put the mask on him and made him his puppet, and realises he fought his own brother.
String 00C7. The US version has him say "Darksol masked my face to control me" and nothing about a brother.

Nova, in the headquarters at Guardiana, tells Max how he got there:

Two dialogue windows: Lowe found you lying on the shore a whole year ago, and perhaps it was divine guidance that left you in my care with your memory gone.
String 0336. In the US ROM this slot holds a nightmare: "I saw our land in ruins. Evil creatures roamed our halls! It seemed so real!"

And Adam, the mechanical soldier at Metapha, explains why Darksol wanted the two brothers in the first place:

Four dialogue windows: Adam introduces himself as a mechanical soldier, says you and Lord Cain are the inheritors of the bloodline of the Ancients, that you were destined from birth to battle Dark Dragon, and that Darksol sniffed out the two of you.
The first four pages of string 0633. The full speech runs eight pages and ends with Adam handing over the Chaos Breaker.

The prologue on the farm, the epilogue with the girl and her grandfather, the wall carving that recruits Musashi, the Prompt villagers with their dialect, Mishaela's snobbery, the robot Chaos stuttering in capitals: all of it is translated from what the Japanese ROM says, not from what the US ROM says.

Four dialogue windows: there are words carved into the wall; I am called Musashi, a samurai; hearing of those who fight the villains of Runefaust I have hastened here; I await at headquarters, pray let me join your battle.
String 0626. Musashi's message in the Japanese ROM is written in hiragana with the stiff grammar of an old samurai, so the English keeps him stiff.

The names

This is the "faithful" choice, so every name that the localisation changed goes back. Names that only differ in spelling (Pelle for ペイル, Diane for ディアーネ, Torasu for トーラス) stay as they are, because they are the same name. The table lists what the patch actually rewrites, in the dialogue and in the menus.

US nameJapaneseIn this patch
ZyloザッパZappa
LukeラグLug
BleuバリュウBaryu
KhrisチップChip
VankarバンガードVanguard
JogurtヨーグルトYogurt
KaneカインCain
RindoリンドリンドRindorindo
RudoルドルRudol
Ring ReefフライパンリーフFrying Pan Reef
Shell of WaralシエルCiel
EgressリターンReturn
BoltスパークSpark
BoostアタックAttack
Orb of LightかがやきのたまShining Orb
Lunar DewつきのしずくMoon Drop
Shower of CureめぐみのあめBlessed Rain
Power PotionちからのワインPower Wine
Defense PotionまもりのミルクGuard Milk
Legs of HasteはやてのチキンSwift Chicken
Turbo PepperいだてんピーマンDash Pepper
Bread of LifeげんきのパンVigor Bread
Shield / Speed / Mobility Ringまもり / はやて / いだてんGuard / Swift / Dash Ring
Sugoi MizugiすごいみずぎSuper Swimsuit
Kitui HukuきついふくTight Clothes
Teppou / Youjiてっぽう / ようじMusket / Tooth Pick
Kindan NoHakoきんだんのはこTaboo Box
KatanaきくいちもんじKikuichimonji
Elven ArrowロビンのやRobin's Arrow
AtlasアトラスのおのAtlas Axe
Guardian / Holy / Power Staffまもり / せいじゃ / パワースティックGuard Staff / Saint's Staff / Power Stick
Dark Dwarf, Dark Elf, Dark Priestドワーフ, ハンターエルフ, プリーストDwarf, Hunter Elf, Priest
Weed, Ice Worm, Minotaurグリンゴーレム, イビルロープ, アーマーウロスGreen Golem, Evil Rope, Armor Uros
Artillery, Mannequin, Evil Puppet, Dire Clownブラスローダー, ドール, パペット, ヘルピエロBlast Loader, Doll, Puppet, Hell Pierrot
Marionette, Conch, Shellfish, Steel Clawミシャエラドール, ミサイルシェル, ストームローパー, プレインメタルMishaela Doll, Missile Shell, Storm Roper, Plain Metal

Spell names in the magic menu are limited to six letters by the window, so Detox, Dispel, Shield, Muddle and Desoul keep their US names even though the Japanese are Antidote, Anti-Spell, Spell Wall, Illute and Soul Steal. Class abbreviations on the status screen are unchanged. Item names are two rows of eight letters each in the item window, which is why the toothpick became "Tooth Pick".

What stays

The battle messages ("Lowe attacks!", "Inflicts 12 points of damage"), the menu prompts ("Use whose item?"), the treasure-chest messages and the debug flag strings keep the US text. They say the same thing in both languages, and they are the strings whose tags the engine is fussiest about. The only edits there are the name substitutions above.


How it was made

Shining Force stores its text Huffman-compressed, one tree per preceding symbol, in nine banks of 256 strings, with a single length byte in front of each string. The US ROM is 1,572,864 bytes and its text area is full: the English of 1993 was written to fit the space, which is one of the reasons it is so much shorter than the Japanese. English that says what the Japanese says needs about forty percent more room.

So the patch expands the ROM to 2 MB and moves the script into the new space. The decoder is copied to $180000 with its two PC-relative pointers rewritten, the 212-entry tree table and the tree data follow it, the nine text banks follow those, and the jump at $010048 that every text call goes through is repointed at the copy. The bank pointer table at $13E906 gets nine new addresses, the header's ROM-end field becomes $1FFFFF, and that is every byte of the original ROM that the script relocation touches. The item, spell and enemy name tables are rebuilt at $1F0000 and reached through the game's own pointer block at $0203B0, and six ally names are rewritten in place in the character table.

MeasureUS ROMThis patch
Compressed text52,970 bytes73,893 bytes
Huffman tree data1,446 bytes1,846 bytes
Contexts with a tree8384
ROM size1,572,8642,097,152
Patch size (IPS)196,818 bytes

Two things about the text engine shaped the translation. The dialogue window is three lines of 196 pixels in a proportional font, and the engine wraps a word only when a glyph crosses the edge, so line breaks have to be placed by hand or the words split. Every translated line was re-wrapped from the width of each glyph in the ROM's font table. And each string has one length byte, so no string can compress to more than 255 bytes; the Japanese speech at the spring in Metapha, eleven pages long, had to be tightened twice to get under it.

The other trap was alignment. The US script is not the Japanese one with the text swapped: the localisers inserted two strings, at 0621 and 07A9, so from there on the Japanese line for any US slot is one, then two, indices behind. Translate by index and the last third of the game would have every townsperson saying the previous townsperson's line. The mapping was worked out by matching names and tag patterns and then checked by hand at every place it shifts.

The translation itself was done in twelve batches against a shared glossary of names, places and terms, with the US line beside the Japanese for context only. Each batch was then checked mechanically: same placeholders as the Japanese ([Hero], [Name], [Item], [Num]), same number of timed pauses in cutscenes, every page short enough for the window, every character present in the font. A handful of pages that wrapped to four lines were rewritten by hand, and the opening prologue was cut to the two lines its box allows.

Testing status

Every one of the 1,905 non-empty strings has been pushed through the game's own text engine in BizHawk, on a test build that loops the text routine over the whole script with an eight-letter hero name, while a Lua hook logged the pixel position of every line break: 4,584 line ends, all at the position the wrapper predicted, and no word split at the edge. The item, magic and member menus, the shop and church prompts and the save screen were checked by hand in the emulator, on the plain ROM and on the Turn Queue build. What has not been done is a full playthrough, so a line that reads strangely in context is still possible. If you see one, quote the text and where you saw it on the contact page. The full script is published above so anyone can read it without playing.


Applying the patch


Questions

Is this a translation or a "faithful" translation?

Both. The aim was natural English that says what the Japanese says, in the register the Japanese uses: Nova calls the hero "Sir", the Prompt villagers speak like villagers, Mishaela talks down to everyone. Nothing was added, and nothing that the Japanese script says was left out to fit the window; where a page was too long it became two pages.

Why keep Detox and Dispel when the Japanese says Antidote and Anti-Spell?

The magic window draws spell names in a six-tile field. The Japanese names are six kana, the US names six letters, and "Antidote" is eight. Attack, Spark and Return fit, so those changed.

Does it work on real hardware?

It should: the ROM is a plain 2 MB image with the header size field updated, and Shining Force never verifies its own checksum. It runs in BizHawk's Genesis Plus GX core, which is strict about such things; it has not been tried on a cartridge yet.

Will there be an Italian version?

The tooling is language-agnostic as long as the language fits the ROM's font, which has no accented letters. Italian would need a few glyphs added first. It is on the list.