English Translation Patch (version 0.25) for Jaseiken Necromancer _.' . |P` ?\ ."h "B (""h "P ?""", .""P {"``""oo____oo""""P '""888888888888,; `?88P^\,?88^\,Y 88?\__d88\_/' `8o8888/\88P ,?oo88oo8P ___ __===~88~\\\\\|~====__ __ ___ .-==ooo~odoooob ?8/////'oooood88888ooo?P88888?ooo?888PooooOoooooooo=~-- d,d8888obo8,oo8b,``~~~,o?8oo,8888**8P88?8`oo,o888?898o8P888P~8b 8o88888oP?.,,ooood8b,.oo.,oo88?o8888P^^^?8888P^^^^==+=~~~?8bo?P ?8.=~=.8do.,oo88888ooo,o,oo88888o,; `6 .?*o88ob`8.,o88888888oo,o,o88888o,' `\ |*o8888o`8,oo88888888oo,o,o?8888o' `?o8888P`88,,oo88888oo,,.,oo88oo; .8`o888'**888oo,,,,oood88oo,,d8' doo,,oP ?888o,,o8o,o8o,,,o8oo' 8od8bo' `?88o,,o8o,o88o,.,o,o' 8o888o `88o,,o8o,o8o,.,o,o' ?o888P ===========<666>== `?88P ******************** ?ooPb ',odoo,************,b d{{{{b\,(,oo88ooo,,********,oob OOOOO \\,oo8888ooo,,******,o888, (\\\\ ||,o8888888oo,,*****,o88o) \\\\/`,o8888888oo',*****,888o| `oo8888888o',*****,888o| `,o888888oo,,*****,o8oo' `,o88888oo,, *****,o8oP `?,o888oP,, *****,ooP `8-==-P, |****,,-=' ?o88oP |*'d*,o88 .dboodb. *;8*,o88 ,od88boo *,o*,o88' do8888ob *`o*,o8P ?o8888oP |`,|,oo' `o8888o' `?o8oP `o88o' ,o88o' ?ooP `?88o' dooo'b 'o88oo,. '?o===o ~-=8oo888888oo.__ 8888888 `~~~' `==~~~=-,' ?8P?88P V''V' original picture by Alex Pelton `96 ' ' Oo*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*oO || Table of Contents || Oo*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*oO (1) About the Game (2) Patch Description (3) Version History (4) Applying the Patch (5) Credits and Contacts (6) Noteworthy changes examples in 2nd release (7) ROM data info Oo*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*oO || (1) About the Game || Oo*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*oO Jaseiken Necromancer (or just Necromancer) is a role-playing game for TurboGrafx-16 (PC Engine in Japan). It's the first JRPG for 4th generation of consoles and it has pretty impressive graphics for the time of its release - idle animations of enemies, for example (They also were in Square's Cleopatra no Mahou before, but its more adventure than RPG). The main feature of Necromancer is grim dark gore style, partly inspired by H. R. Giger. Gameplay is Dragon Quest based, more or less, with some extra features like separate equipping of spells. The game is pretty rough due to frequent random battles, grind and absence of transport or fast travel. Choose your buddies wisely! It's not the first JRPG by Hudson - they made Momotaro Densetsu for Famicom before - but looks like it was another team. Oo*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*oO || (2) Patch Description || Oo*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*oO This is the partial translation for Jaseiken Necromancer for TurboGrafx-16. Current progress: o In-game menus - 100% TRANSLATED o Character names - 100% TRANSLATED o Equipment - 100% TRANSLATED o Items - 100% TRANSLATED o Spells - 100% TRANSLATED o Enemy names - 100% TRANSLATED o Service messages - 100% TRANSLATED o Main dialogues - NOT TRANSLATED o Battle log - NOT TRANSLATED Basically, all non-compressed text is translated. Further translation requires understanding of the text compression algorithm and probably injection of variable-width font instead standard 8x8 one. The main differences between initial release and versions 0.2-0.25 are bugfix, more efficient using of ROM space, reworked translation and proper fitting of text in the interface. Current translation made Jaseiken Necromancer beatable with no major bugs, except the ones that present in the original Japanese version. Most probably you will need a walkthrough in the later part of the game, but this partial translation makes understanding easier anyway. Oo*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*oO || (3) Version History || Oo*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*oO Feb 13, 2019 - 0.25 ====================== o Some monster names and one spell name are retranslated. Reasons - H.P. Lovecraft / Norse / other mythology compliance or better readability. Dec 17, 2018 - 0.2 ====================== o Every byte is revisited! o The bug that caused incorrect display of the names of the most armors and graphical glitches in some armor shops is fixed. o Character names are extended up to 5 chars! (except the main hero) o Equipment, Item, Spell and Monster names are heavily reworked and partly retranslated. Some are extended, some are truncated. Initial hack didn't change byte size of any of them as compared with Japanese version - now it made possible by finding data pointer arrays and understanding the format. All the text is optimized to fit the menus. o Same for Service Messages, which give much more sense now. Still not grammar correct in every place because of limitations, but generally better than before. o Menus arrangement is reworked - no more visual garbage, indents are optimized, using of three different words is added instead of どうぐ (item/tool) for different cases. o Some font characters are edited for easier reading. Aug 31, 2013 - 0.01b ====================== o Initial Version Oo*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*oO || (4) Applying the Patch || Oo*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*oO This IPS patch requires that you download a program that can apply it to a properly dumped ROM-image of the game. Recommended IPS patching program for Windows is Lunar IPS by FuSoYa. Always make sure to have an original backup of your game. And only apply the patch to a clean, unmodified ROM. The original, unmodified game has the following characteristics: Size 256KB (262,656 bytes) CRC32 5A7D6735 MD5 F6B7C2963ECFAA786C3B8AA0675F57A2 SHA-1 82E0CD20EEDB14C0D5ADF95BDCF23B93CFFD29EE I'm not telling you how to get the ROM file, but once you do, call it "Necromancer (J).pce". Using Lunar IPS: a) Double-click "Lunar IPS" b) Click "Apply IPS Patch" c) Choose "Necromancer_ENG_v02.ips" d) Choose "Necromancer (J).pce" Oo*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*oO || (5) Credits and Contacts || Oo*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*oO o Original Project Coordinator & ROM Coding - Pikachumanson o Original ROM Coding - MrRichard999 o Original Translation - Eien Ni Hen o Original Translation - Psyklax o Additional ROM Hacking, Partial Retranslation and Play Testing - Griever_GF If you interested in helping the further translation (especially if you cracked the text compression algorithm), feel free to contact: o MrRichard999 at Twitter o Pikachumanson at Romhacking.net forums o Griever_GF at both places Also you may be interested in Griever_GF's YouTube channel with reviews on old-school JRPGs: https://www.youtube.com/igroteka90 Oo*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*oO || (6) Noteworthy changes examples in 2nd release || Oo*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*oO LIM/CHA/BARR/MAIS/ROM -> LIME/CHAOS/BARON/MAIST/ROMNA - character names MIO/REMI -> MIO/REMIO - water spells FLR/FUREA -> FLR/FLRUT - fire spells LYL/ZERAI/ZERAIGU -> LYL/ZELYL/ZELYGS (ライル/ゼライル/ゼライガス) - healing spells ダンテ -> DANT - spell was untranslated (enemy-only spell) CLW/SOL-BAR/SPER/SWRD/AX -> CLAW/STL-BAR/SPEAR/SWORD/AXE RAITO/TRTH/VICTOR -> LIGHTNY/TRUTH/SUCCEED (ライトニー/トルース/サクシード) DABAROBU/RJIRU/GORUDO-A -> DB-ROBE/REJIRU/GOLDAMR DRAGON-SHD -> DRGN-SH - 7 char limitation for equipment MIGER-HLM -> JELD-HL (ジェルドヘルム) - incorrect translation. no "Miger" helm exists in game, only armor and shield. GRL-HILT -> BRIM-CUP - it's holy grail, but "cup" is more obvious for 8 chars VERNーST -> BURN-STF STARーSPH -> STARSAPF - not grammar correct, but much more obvious GODDESS-R, GODDESS-C -> GODES-RN, GODES-CR - same (8 chars) ANTIDTE -> REMEDY (どくけしそう) - optimized to 6 chars because it's stackable TARONZ -> TALONS (talons-looking monster) BEA/FENRI/PHANT/MIS/SHADW -> BEAR/FENRIR/PHANTOM/MIST/SHADOW GATHER/BORUGYAZA -> GAZER/BOLGAZER BESUTI/TIGER-MAN -> BESTY/BESTYMAX (ベスティー/ベスティーマクス) BIGAR/DABABIGARO/MOZUMA-X -> BIGR/DABABIGR/BIGRCOST AIN/OCT/MEGAOCT/STRKOCT -> AIN/MER/AINSTARK/MERSTARK GRIFFN/GRIFFO/DK-GRF -> GRIFFON/GRIFFIN/GRYPHON (グリフォン in all 3 cases) DABEROS/CERERUS/DEVLHND -> DABEROS/DAVEROS/DAVELOS (ダーベロス in all 3 cases) HYDRA/HAIDORAGU -> HYDRA/HYDRAGUF FERUZURAI/FRZ-REISE/GUFUTORA/FUREARA/U-IRU-R/L-REISE -> FEZURISE/FUZIRISE/GUFTRISE/FLRRISE/WILRISE/LISTRISE (GUFT - poisonous monster/spell, FLR - same for fire) GUFUTO-T/FLTITAN/W-TITAN/R-TITAO -> GUFTITAN/FLRTITAN/WILTITAN/RABTITAN TYRE/DORUM -> TYREL/DOLMY HAS NO MORE TOOLS. -> CANT HOLD MORE ITEMS MAX CAPACITY! -> NO ONE TAKES… (when refusing to pick up item) CANT HOLD ANYMORE! -> CANT HOLD MORE SPELLS CANT CAST CANT CAST YET……… -> LEVEL TOO LOW ANNIHALATED! -> PARTY IS WIPED OUT! AN ENTRANCE! -> DUNGEON ENTRANCE! CANT DO. -> IS USELESS (when opening chest) ZZZ…HAD NO EFCT -> SERS EFFECT GONE (it's not the sleep spell) WONT OPEN! -> KEY DOESNT FIT! CANT DO -> CANT DROP USE/GIV/DRP -> USE/GIVE/DROP TOOL -> ITM/ITEM/ACC (in-battle/chest/equipment menus) Oo*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*oO || (7) ROM data info || Oo*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*oO This information can be useful for further hacking. Character limitations for proper fitting text in the interface ============================================================== o Equipment - 7 o Stackable items - 6 (if you want to keep space between name and counter) o Other items - 8 o Spells - 6 (it should be 5, but current hack uses 6, that causes a little mess in battle submenu, but this is acceptable) Character names of 5 chars can also lack the space between them and HP counter in battle interface near the end of the game (if you HP exceed 1000), but this is acceptable too. Most probably you'll miss this problem at all. Text encoding in ROM (hexademical bytes) ======================================== 10 = space 11 = ! 12 = 「 (japanese quotation mark (open)) 13 = # 14 = 」 (japanese quotation mark (close)) 15 = ???another space?? unknown purpose 16 = ellipsis (4 dots) 17 = ? 18 = ( 19 = ) 1A = * 1B = + 1C = , 1D = - 1E = . 1F = / 20-29 = '0' - '9' 2A-43 = 'A' - 'Z' KATAKANA 44 = ヲ (wo) small forms: 45-49 = ァ - ォ 4A-4C = ャ - ョ 4D = ッ 4E = 。 (katakana-hiragana dot) 4F = 、 (katakana-hiragana comma) 50-54 = ア - オ 55-59 = カ - コ 5A-5E = サ - ソ 5F-63 = タ - ト 64-68 = ナ - ノ 69-6D = ハ - ホ 6E-72 = マ - モ 73-75 = ヤ - ヨ 76-7A = ラ - ロ 7B = ワ 7C = ン 7D = adds ゛ (dakuten) diacritic above next character 7E = adds ゜ (handakuten) diacritic above next character 7F = ー (katakana-hiragana prolonged sound mark) HIRAGANA 80 = を (wo) small forms: 81-85 = ぁ - ぉ 86-88 = ゃ - ょ 89 = っ full: 8A-8D = あ - お 8F-93 = か - こ 94-98 = さ - そ 99-9D = た - と 9E-A2 = な - の A3-A7 = は - ほ A8-AC = ま - も AD-AF = や - よ B0-B4 = ら - ろ B5 = わ B6 = ん B7 = cross (selection) B8 = fill (?) B9, BA, BB - more spaces?? Looks like character images load in RAM on game start and then remain constant. WHAT'S WHERE IN ROM =================== (addresses are hexadecimal) (pointer arrays always consist of two-bytes words with little-endian order) (pointer arrays elements for everything except character names and menu items point to PACKS of text elements (item names, spell names, etc.) of size 16 - but first pack can be 15 in some cases) 340E-3419 Character names pointers (used everywhere except the choice dialogue in the beginning of the game, which is described further) 341A-3438 Character names. Array element divider is 00. Looks like the default name of the main hero don't used anywhere, because you can't start game with the empty name input. Array is a little bit shorter in the original version, but it can be freely expanded to 3438 address, and that was performed in 0.2 patch for longer names. 16200-1674F Font characters (1BPP 8x8) 1FAA1-1FAAA Service messages pointers. Pack size is 16, except the penultimate - looks like its 14 for unknown reason. And the last pack is shorter of course. 1FAAB-1FDB7 Service messages array. Array element dividers are 0D and 00. 21F01-221F2 Ending titles array. Array element divider is 0D. 29BA6-29C05 Menu words pointers 1-4: text speed setup menu 5-8: chest opening menu 9-13: mates select dialogue in the beginning of the game 14-17: topic selection menu for dialogue with NPC in the house in the 1st town 18-19: same, but for another two topics later in game 20-23: equip/remove and buy/sell pointers 24-26: not sure, but they affect character stats, so it's somehow connected with game party. THESE POINTERS (04 24 40 24 7C 24) APPEAR IN ROM SEVERAL TIMES, SO IT MIGHT BE USEFUL FOR FURTHER HACKING. 27-32: not sure, but probably affect on characters sprites (6 pointers for 6 characters) 33-37: what to equip selection submenu (weapon, 3 kinds of armor and "tool") 38-40: main menu (by groups of two horizontal choices divided by space) 41-43: battle menu (by groups of two horizontal choices divided by space) 44-46: item selection submenu (use/give/drop) 47-48: yes/no submenu 29C0A-29C3A Menu words (main menu, item submenu, yes/no submenu) 29C3B-29C5A Status screen words pointers. Same order as data further, i.e. 1 - HP, 10 - NAM, 11- LVL, 13 - WPN, 16 - HLM) 29C5B-29D71 More menu words (status, battle, shop, speed setup, etc.) 2A3F7-2A404 Monster names pointers. Pack size is 16, but first one is 15. 2A406-2A6C7 Monster names array. Array element divider is 00. 2BF37-2BF3E Equipment and items names pointers. Pack size is 16, but first one is 15. 2BF41-2C10A Equipment and items names array. Array element divider is 00. Some item names in 3rd pack are 0x01 - probably dummies. 2C14B-2C14E Spell names pointers. Both packs size is 16. 2C14F-2C1FF Spell names array. Array element divider is 00. 2E6F5-2E748 Probably some pointers for Input Name/Password menu elements. 2E80C Char ア/Z for Input Name/Password menu, so others are near. 2E81D-2E871 Input Name/Password menu elements array. Array element divider is 0D. If you need even more info, you can check the table in Google Docs that was used for the versions 0.2-0.25 releases. It may be not 100% correct, but can be useful: https://docs.google.com/spreadsheets/d/1HqgGMAufW-M7bxKb8STqDkrxHvYv3SquFawRNTmJelQ