Final Fantasy MSX Translation: Disk Image Tools Suggestions

By manimani

Supporter (13)

Аватар пользователя manimani

28-04-2022, 03:15

Hello, my mission is to translate Final Fantasy for the MSX:

I've already figured out how to compress and decompress graphics and insert up to eight rows of text. Right now, I need some suggestions / guidance on tools for extracting disk image files and creating disk images. Preferably a command line tool. I wish to expand some files to insert some custom asm hacks for compression. I tried tools such as MSXDiskImage.exe but it doesn't seem to recognize the files.

Here's the disk image files I have

$ sha1sum *
88313a53a1301d030317d5d1b76c16fcf4ae1a21  Final Fantasy (1989)(Micro Cabin)(jp)(Disk 1 of 2)(Game Disk).dsk
6608af878b95aa97b489ff9279698d9ad590e124  Final Fantasy (1989)(Micro Cabin)(jp)(Disk 1 of 2)(Game Disk)[a2].dsk
7a90593367351303ec95f3ddc5da4ebbadebe00c  Final Fantasy (1989)(Micro Cabin)(jp)(Disk 1 of 2)(Game Disk)[a3].dsk
b871923a7c693bd7fa75684bcec08c7c8800ea53  Final Fantasy (1989)(Micro Cabin)(jp)(Disk 1 of 2)(Game Disk)[a].dsk
535c58e163c02f9d4a926c2f89d29ae34c6dfc34  Final Fantasy (1989)(Micro Cabin)(jp)(Disk 1 of 2)(Game Disk)[b].dsk
Для того, чтобы оставить комментарий, необходимо регистрация или !login

By sdsnatcher73

Prophet (3962)

Аватар пользователя sdsnatcher73

28-04-2022, 07:11

You could do this with openMSX:

1. Boot a machine with 2 disk drives (e.g. Philips NMS8255)
2. Wait for BASIC prompt (Ok).
3. Insert the disk you want to read from in drive A:
4. Insert an empty directory into drive B: (don’t use the directory with your disk images because the virtual floppy disk will be instantly full Wink)
5. Copy the file you want with COPY “FILE.EXT” TO “B:”

By Sylvester

Hero (589)

Аватар пользователя Sylvester

28-04-2022, 13:24

I also had a look at Final Fantasy to translate it but it's not that easy Smile The disk uses SayDos which is a sector based file system. So normal disk editors don't work since it isn't FAT12. The bootsector loads a
I do have a cli script to extract all files / images from the disk but I think you also need a tool to recreate the disk. Because a file is now divided over sectors, for example MAIN.COM is sector 80 till 84, battle.COM 85-86, but if you add extra code to main and it grows till sector 85, all other files also need to be shifted (and the custom fat needs to be updated too). The images which are located behind all code on the disk are not in the custom SayDos fat table, so I guess the sector of which the image start is somewhere in the code.
The code is separated into a kind of library (MAIN.COM) at 0x4000 - 0x7FFF and it loads the intro / game / battle etc to 0x8000 - 0xBFFF. All files (battle, intro etc) use shared functions from the MAIN.COM.

When I look at your screenshot I guess you copied the NES font over the MSX font and also the NES text files over the MSX text files with a sector based editor? I was busy checking out the text routine to see what the format is of the text files. It are hex codes which points to chars in the font, but wanted to know how it knows which text to get from theses files and how the new line / next screen works.

By manimani

Supporter (13)

Аватар пользователя manimani

28-04-2022, 16:43

Quote:

I do have a cli script to extract all files / images from the disk but I think you also need a tool to recreate the disk

Fortunately, I've made tools for FAT images before, so the concepts in your post make sense. Could you send the source code over? I can use that as a reference to develop a new tool.

Quote:

When I look at your screenshot I guess you copied the NES font over the MSX font and also the NES text files over the MSX text files with a sector based editor? I was busy checking out the text routine to see what the format is of the text files. It are hex codes which points to chars in the font, but wanted to know how it knows which text to get from theses files and how the new line / next screen works.

The data I've been working with hasn't been fragmented... yet. So the tools just edit the single disk image, which isn't ideal.

By manimani

Supporter (13)

Аватар пользователя manimani

05-07-2022, 00:59

I finally got around to looking into the file system in depth. At this time, I've created logic to extract all the files referenced in the root directory as well as creating a working disk image. Sectors I thought were previously unused were in fact used (for the enemy battle portraits for example). As stated by Sylvester, these weren't referenced in the root directory and as a result, have been accounted for in my disk image creation code. At this time, no further assistance is needed. Thank you all! Wink

By raymond

Hero (643)

Аватар пользователя raymond

05-07-2022, 05:48

Looking forward to play this translated game!