MultiMente_LFN

MM_LFN — long file names for Multi Mente (MSX)

An unofficial patcher for Multi Mente (MM.COM, by MOGU). It makes Multi Mente show long file names (VFAT, the ones you see in Windows) instead of METALG~1.ROM, and, if your MM.COM lacks it, it adds the Nextor fix. It fits two builds: 2.07_A and the community build 2.07A+ RC5 (FAT16 and Y2K fixes). Versión en castellano.

before:   ALESTE~1.ROM    FRAY2-~5.ROM    GOLVEL~5.ROM    KING'S~9.ROM    METALG~5.ROM
after:    Aleste 1 - E>   Fray 2 - Ver>   Golvellius 3>   King's Valle>   Metal Gear 3>

Apply it

You need your own copy of MM.COM. It is not included here. These are the versions it recognises (the reference build of each one):

Version MM.COM sha1 Result
2.07_A 23,539 bytes db7316e2b8f17deb1c34df909e2b8da8133e1601 25,673 bytes, 479dade9e4d01e6477d9f07e29a0e7d5aa0e6911
2.07A+ RC5 23,552 bytes 09c4a6b4f6fa4db19e94fa08fdcba0da2a3c29d0 25,673 bytes, 5b97f818fc2496069c4aeef4e9cfcf2688dfe2bd

The RC5 is the “MultiMente v2.07A+ RC5” build published on the MSX Resource Center downloads. In its zip, the English MM.COM is the one in the root of the inner MMv2.07Aplus-RC5.zip (not the one in Japanese\). Use the MM.EXE that comes with your MM.COM; the patcher does not touch it.

The patcher adds only what is missing:

Pick any of these:

  1. Web page, nothing to install: open the online patcher (or the downloaded aplicar.html) in a browser and drop your MM.COM on it. It runs in your browser; the file is not uploaded anywhere.
  2. Python 3: python aplicar.py MM.COM → writes MM_LFN.COM next to it.
  3. Any IPS patcher (Floating IPS, Lunar IPS…): apply MM_LFN.ips (2.07_A) or MM_LFN_RC5.ips (RC5) to MM.COM. IPS patchers do not check the source file and the .ips does not add the Nextor fix, so check first that your file is one of the two above (sha1, or at least the size) and that it has the fix; if it does not, use the web page or aplicar.py.

Then copy the result to the card as MM.COM, in the Multi Mente folder (next to MM.EXE and MM.CFG). aplicar.py and aplicar.html check the result before giving it to you.

Requirements and limits

Rebuild and test

The patch is hand-written Z80 (src/mmlfn.asm) over the disassembly of the binary. With pasmo (or WSL on Windows) and the originals in original/ (MM.COM for 2.07_A, MM_RC5.COM for the RC5):

python tools/hacer_parche.py     # builds the .ips files, aplicar.py and aplicar.html
python tests/probar.py           # checks the three ways of applying it (node is optional)

tests/openmsx/probar_mm.py runs a patched MM.COM inside openMSX (Nextor on a Sunrise IDE, an FAT16 image with long-name files) and takes screenshots of the list and File info; see its header for the options. It needs openMSX, the system ROMs and your own MSX-DOS 2 files, none of which are in this repository.

About Multi Mente and this patch

Multi Mente is the work of MOGU. This repository is an unofficial add-on and is not endorsed by the author. It contains none of Multi Mente’s code: the .ips files hold only the new bytes (about 2.4 KB each) and the tools check that every byte of the patch differs from the original at its place. You must supply your own MM.COM. If the author or any rights holder objects, tell us and it will be taken down.

The code in this repository (the patch source and the tools) is under the GNU GPL v3, see LICENSE.