Sorry to revive such an old topic but this translation patch intrigued me and the information is directly relevant to the old effort here so I started poking at Naomi bin files this morning and well....
I figured out how to access the filesystem on Naomi rom .bin files
It's actually not hard at all and you should theoretically be able to overwrite it but I haven't tried that yet. The skinny of it is you will search the bin of the rom you want to use for "CD001" as they use ISO9660 filesystem just like Dreamcast does. You'll end up finding something that looks like this (note this was me still poking everything so ignore that I'm in ic1 YOU MUST USE THE NETBOOT .BIN FILE TO DO THIS):
Now grab any random iso file off the internet and search it for "CD001". Select the 01 before 4344303031 along with all the hex in the iso to the very end of it. Delete all of this, select 014344303031 to the very end of your Naomi bin file, copy, paste into the iso and you now have a mountable image of Naomi files. I'd assume you can create an iso and do the reverse to inject files back into a game but I haven't tested this yet. I do plan to play with this a bit and see if I can fix the bugs in the english patch of this game but no promises there.
Yeah that's how I ended up replacing the Japanese text with the English from the Dreamcast version. I used 'mkisofs' to create a ISO which I injected back into the netboot ROM. Unfortunately the 'word' BIN files do not match up exactly between Naomi and Dreamcast, so there is some stuff still untranslated and other stuff (not sure what) that causes occasional crashes - more often on real hardware than on emulators. One of the major gameplay issues IMO is the multiple choice sections, which you currently have to guess the answer for.
An example of the word files not matching up between releases, from my notes:
Code:
BIN Ranges Missing From NAOMI ROM (Only present on Dreamcast versions)
SE01L183.bin -> SE01L196.bin
SE04L186.bin -> SE04L200.bin
SE05L143.bin -> SE05L166.bin
SE06L132.bin -> SE06L145.bin
SE07L101.bin -> SE07L202.bin (There are no SE07****.bin files)
Originally when I was first looking at this I hadn't discovered the internal ISO file(s) within the NAOMI ROM and I was manually injecting each BIN file with a hex editor. May not be useful at this point since you can just replace the whole ISO that holds the BINs, but here is an incomplete list of offsets from my notes:
Code:
Offsets for BIN files in Naomi ROM:
0A540000 - start of S000L010.bin?
0A542000 - start of S000L020.bin
0A547000 - start of S000L030.bin?
0A553800 - start of S000L040.bin
0A55D000 - start of S000L050.bin
0A569000 - start of S000L060.bin
0A575800 - start of S000L070.bin
0A57F000 - start of S000L080.bin
0A585000 - start of S000L090.bin
0A589000 - start of S000L100.bin
0A58F800 - start of S000L110.bin
0A596000 - start of S000L120.bin
0A599800 - start of S000L130.bin
0A59D000 - start of S000L140.bin
0A59E800 - start of S000L150.bin
0A5A0000 - start of S000L160.bin
0A5A1000 - start of S000L170.bin
0A5A2000 - start of S000L180.bin
0A5A2800 - start of S000L190.bin
0A5A3000 - start of S000L200.bin
0A5A3800 - start of SB01L101.bin
0A5A4000 - start of SB01L201.bin
0A5A4800 - start of SB01L202.bin
0A5A5000 - start of SB01L301.bin
0A5A5800 - start of SE00L101.bin
0A5A6000 - start of SE00L102.bin
0A5A6800 - start of SE00L103.bin
0A5A7000 - start of SE00L104.bin
0A5A7800 - start of SE00L105.bin
0A5A8000 - start of SE00L106.bin
0A5A8800 - start of SE00L107.bin
0A5A9000 - start of SE00L108.bin
0A5A9800 - start of SE00L109.bin
0A5AA000 - start of SE01L101.bin
0A5AA800 - start of SE01L102.bin
0A5AB000 - start of SE01L103.bin
0A5AB800 - start of SE01L104.bin
0A5AC000 - start of SE01L105.bin
0A5AC800 - start of SE01L106.bin
0A5AD000 - start of SE01L107.bin
0A5AD800 - start of SE01L108.bin
0A5AE000 - start of SE01L109.bin
0A5AE800 - start of SE01L110.bin
0A5AF000 - start of SE01L111.bin
0A5AF800 - start of SE01L112.bin
0A5B0000 - start of SE01L113.bin
0A5B0800 - start of SE01L114.bin
0A5B1000 - start of SE01L115.bin
0A5B1800 - start of SE01L116.bin
0A5B2000 - start of SE01L117.bin
0A5B2800 - start of SE01L118.bin
0A5B3000 - start of SE01L119.bin
0A5B3800 - start of SE01L120.bin
0A5B4000 - start of SE01L121.bin
0A5B4800 - start of SE01L122.bin
0A5B5000 - start of SE01L123.bin
0A5B5800 - start of SE01L124.bin
0A5B6000 - start of SE01L125.bin
0A5B6800 - start of SE01L126.bin
0A5B7000 - start of SE01L127.bin
0A5B7800 - start of SE01L128.bin
0A5B8000 - start of SE01L129.bin
0A5B8800 - start of SE01L130.bin
0A5B9000 - start of SE01L131.bin
0A5B9800 - start of SE01L132.bin
0A5BA000 - start of SE01L133.bin
0A5BA800 - start of SE01L134.bin
0A5BB000 - start of SE01L135.bin
0A5BB800 - start of SE01L136.bin
0A5BC000 - start of SE01L137.bin
0A5BC800 - start of SE01L138.bin
0A5BD000 - start of SE01L139.bin
0A5BD800 - start of SE01L140.bin
0A5BE000 - start of SE01L141.bin
0A5BE800 - start of SE01L142.bin
0A5BF000 - start of SE01L143.bin
0A5BF800 - start of SE01L144.bin
0A5C0000 - start of SE01L145.bin
0A5C0800 - start of SE01L146.bin
0A5C1000 - start of SE01L147.bin
0A5C1800 - start of SE01L148.bin
0A5C2000 - start of SE01L149.bin
0A5C2800 - start of SE01L150.bin
0A5C3000 - start of SE01L151.bin
0A5C3800 - start of SE01L152.bin
0A5C4000 - start of SE01L153.bin
0A5C4800 - start of SE01L154.bin
0A5C5000 - start of SE01L155.bin
0A5C5800 - start of SE01L156.bin
0A5C6000 - start of SE01L157.bin
0A5C6800 - start of SE01L158.bin
0A5C7000 - start of SE01L159.bin
0A5C7800 - start of SE01L160.bin
0A5C8000 - start of SE01L161.bin
0A5C8800 - start of SE01L162.bin
0A5C9000 - start of SE01L163.bin
0A5C9800 - start of SE01L164.bin
0A5CA000 - start of SE01L165.bin
0A5CA800 - start of SE01L166.bin
0A5CB000 - start of SE01L167.bin
0A5CB800 - start of SE01L168.bin
0A5CC000 - start of SE01L169.bin
0A5CC800 - start of SE01L170.bin
0A5CD000 - start of SE01L171.bin
0A5CD800 - start of SE01L172.bin
0A5CE000 - start of SE01L173.bin
0A5CE800 - start of SE01L174.bin
0A5CF000 - start of SE01L175.bin
0A5CF800 - start of SE01L176.bin
0A5D0000 - start of SE01L177.bin
0A5D0800 - start of SE01L178.bin
0A5D1000 - start of SE01L179.bin
0A5D1800 - start of SE01L180.bin
0A5D2000 - start of SE01L181.bin
0A5D2800 - start of SE01L182.bin
0A5D3000 - start of SE02L101.bin
0A5D3800 - start of SE03L101.bin
0A5D4000 - start of SE04L101.bin
0A5D4800 - start of SE04L102.bin
0A5D5000 - start of SE04L103.bin
0A5D5800 - start of SE04L104.bin
0A5D6000 - start of SE04L105.bin
0A5D6800 - start of SE04L106.bin
0A5D7000 - start of SE04L107.bin
0A5D7800 - start of SE04L108.bin
0A5D8000 - start of SE04L109.bin
0A5D8800 - start of SE04L110.bin
0A5D9000 - start of SE04L112.bin
0A5D9800 - start of SE04L113.bin
0A5DA000 - start of SE04L114.bin
0A5DA800 - start of SE04L115.bin
0A5DB000 - start of SE04L116.bin
0A5DB800 - start of SE04L117.bin
0A5DC000 - start of SE04L118.bin
0A5DC800 - start of SE04L119.bin
0A5DD000 - start of SE04L120.bin
0A5DD800 - start of SE04L121.bin
0A5DE000 - start of SE04L122.bin
0A5DE800 - start of SE04L123.bin
0A5DF000 - start of SE04L124.bin
0A5DF800 - start of SE04L125.bin
0A5E0000 - start of SE04L126.bin
0A5E0800 - start of SE04L128.bin
0A5E1000 - start of SE04L129.bin
0A5E1800 - start of SE04L130.bin
0A5E2000 - start of SE04L131.bin
0A5E2800 - start of SE04L132.bin
0A5E3000 - start of SE04L133.bin
0A5E3800 - start of SE04L134.bin
0A5E4000 - start of SE04L135.bin
0A5E4800 - start of SE04L136.bin
0A5E5000 - start of SE04L137.bin
0A5E5800 - start of SE04L138.bin
...
0A5ED800 - start of SE04L154.bin
...
0A5F0800 - start of SE04L160.bin
...
0A5F4000 - start of SE04L167.bin
...
0A5F6800 - start of SE04L172.bin
...
0A5FA000 - start of SE04L179.bin
...
0A5FC800 - start of SE04L185.bin
...
0A604000 - start of SE05L112.bin
...
0A60F000 - start of SE05L133.bin
...
0A612800 - start of SE05L140.bin
0A613000 - start of SE05L141.bin
...
0A614800 - start of SE06L103.bin
0A615000 - start of SE06L104.bin
0A615800 - start of SE06L105.bin
...
0A616800 - start of SE06L107.bin
...
0A618800 - start of SE06L111.bin
0A619800 - start of SE06L113.bin
0A61B000 - start of SE06L116.bin
0A61C000 - start of SE06L118.bin
0A61D000 - start of SE06L112.bin
0A61D800 - start of SE06L121.bin
0A61E000 - start of SE06L122.bin
0A61F000 - start of SE06L124.bin
0A621000 - start of SE06L128.bin
0A627000 - start of Z000L010.bin
0A627800 - start of Z000L020.bin
0A628000 - start of Z000L030.bin
0A628800 - start of Z000L040.bin
0A629000 - start of Z000L050.bin
0A629800 - start of Z000L060.bin
0A62A000 - start of Z000L070.bin
0A62A800 - start of Z000L080.bin
0A62B000 - start of Z000L090.bin
0A62B800 - start of Z000L100.bin
0A62C000 - start of Z000L110.bin
0A62C800 - start of Z000L120.bin
0A62D000 - start of Z000L130.bin
0A62D800 - start of Z000L140.bin
0A62E000 - start of Z000L150.bin
0A62E800 - start of Z000L160.bin
0A62F000 - start of Z000L170.bin
0A62F800 - start of Z000L180.bin
0A630000 - start of Z000L190.bin
0A630800 - start of Z000L200.bin
0A631000 - start of ZB01L101.bin
0A631800 - start of ZB01L201.bin
0A632000 - start of ZB01L202.bin
0A632800 - start of ZB01L301.bin
...
0A633000 - start of ZE00L109.bin
I thought the KEY_EP files might be related to keyboard layout, but I tried swapping them around at one point and didn't have any luck.
Cool to see that someone else is having a look at this game!