The Memotech MTX Series
EXEROM - MSX Games ROM
Timo Soilamaa has developed EXEROM
- a loader that allows unmodified MSX Games ROM to run on the
EXEROM started life as a MSX ROM loader for
Spectravideo computers, including the
can read Timo's (Nyytikki's) decryption of what the loader does
and some details of its inner workings in
this thread on the msx.org
Despite being a very interesting and novel approach to
porting software from one platform to another, the latest
version of the loader didn't get much attention from the
Spectravideo community, so Timo took his code and ported it to
the MTX - influenced no doubt by the higher class of user to be
found in the MTX community !
In Timo's words. . . .
"At the heart of this project there is custom version of the
open source C-BIOS
that implements MSX BIOS calls. Naturally some of them like
keyboard input etc. I have completely rewritten for MTX.
On top of that there is this home made "self aware, self
modifying artificial intelligence". The AI is used to find the
correct places to patch the program. The idea is that the AI is
pretty much emulating my own thoughts about Z80 code running on
the MSX platform.
For example, if the code in memory looks like this:
The AI thinks "hmm... this looks suspicious... The B-register
is loaded even though it already had an unused value" By itself,
this is not a strong statement against the code validity, but
the AI uses fuzzy logic and evaluates the "big picture", so once
it has a pile of similar small thoughts, it combines them to
form a complete on opinion whether or not the routine should be
patched. This is done to avoid patching of graphics, music and
other type of data that can be present in games.
The AI has also another level that then evaluates how the
routines should be patched. You can't always tell what the
routine is used for and for that reason it may add some "break
points" to interrupt the routine in execution time for further
evaluation & repatching. In general there are quite a few tricks
used to make the end result to what it is... "
The loader is currently a "work in progress", but, so far,
looks absolutely fantastic. At the moment, MEMU is required to
run the loader and MSX games, but, ultimately, the loader should
run on a real MTX computer.
From Timo's posting in the Facebook MTX 500 Group . . .
"First very early, unsupported version of MSX ROM-loader for
Memotech MTX that is meant for "early adopters"...
This version does not yet have joystick support, but it lets you play maybe about 50% of MSX ROM games that
fit in to 32KB size and do not require MSX-BASIC.
This version still also lacks a loader, so you can mainly
test it on MEMU
Starting: "memu -v -s -diag-bad-port -iobyte 0x80 -mem
exerom -addr 0x4000 -mem MSXGAME.ROM -addr 0x3ff0"
Note: some 8/16K games may use "-addr
0x8000" as load address instead...
A selection of MSX ROMs that have been tested with MEMU are
included below. A large selection of MSX ROMs can be found on
the web with a quick "Google", though not all are in the public
domain or freely distributable. I believe that the ROMs available
below are free to distribute, but if you know better, please let
me know and I will remove them.
Note: many of these ROMs came from the
website, it should be noted that the term "abandonware" has no
legal meaning, the ROMs are almost certainly still under
copyright, but the original manufacturer or distributor does not
appear to actively enforce their rights. Should the copyright
owner wish to assert those rights, I will, of course, remove the