I first got the idea to this project,
cause I through I have not enough games for my Memotech. Lars
"El Sanator" have email'ed some games in the wave-format,
and Bemmu Sepponen have send me a cd with some games in wave-format
too. Some where I have more original gametapes for the Memotech,
but I can't find them - they may be gone into the trash. And since no
one was offering me any games by email - I through, if may be possible
to convert existing Memotech MTX games emulator files, into a the
real Memotech MTX, so I started analyzing the fileformats. There
are diffirent Memotech MTX emulators available, for diffirent
platforms - E.G Mac, Pc and Acorn. Therefor there
is diffirent formats of these files. By analyzing the code in these
files I found out enough to do the transfer to a real Memotech MTX.
Since I am lucky enough, to have a Memotech MTX with the RS232-interface
build-in, I could transfer the data between a PC and the Memotech MTX.
It is not as simple as it sounds - cause I have not utilities for my Memotech
MTX for doing the transfer. I found some information about the RS232-1
port at the Memotech MTX, this port can only be used in
Assembler, so I have to make a little Assembler program to read
the RS232 port, searching for data. The program I used to do the
transfering was a basic-program, with a little bit of Assembler
to do the RS232 transfer. But since the Memotech MTX is no
Speed Devil, when using boat Basic and Assembler, I
could only transfer at 75 Baud - It's around 8 bytes per second.
Since the transfer-program at the Memotech MTX have to do many
things: First it reads the RS232 port, if there is new data, the
data will be POKE'd into the Memotech MTX memory at the
right addresses! - then a CRC is calculated, and finaly the
transfered byte and the CRC is printed at the screen. This
process continues until the whole file was transfered from the PC. At
the PC I have to write a QBasic program to do the transfer to the
Memotech MTX - it was not very hard, since QBasic is very
complete and have the possibility to access the RS232 (Com)
Ports, and it also have the possibility to use 75 Baud at the RS232
ports. Now the biggest problem was to find the start-address where the
games was loaded into the memory at the Memotech MTX. It was not
so hard to find, since almost any Memotech MTX games are written
for the Memotech MTX 500, wich have it's RAM allocated at #8000-#FFFF
and forwards, and the Memotech MTX 512 has the RAM
allocated at #4000-#FFFF, so the games actually starts, by
checking for MTX 500 or 512, if it's a MTX 512 it
starts by moving the game from #4000 up to #8000. If
it's MTX 500 the game is already at the right adresses and the
game just starts! - By the
way now a days we talk about Megabytes of RAM, soon we
talk Gigabytes of RAM - A game like Astro-Pac one
of the best Memotech MTX games take around 6-9 Kilobytes
of RAM - Now-a-days a game takes much more space, and no one use
pure Assembler anymore, but Andrew Key and the other
programmers was forced to use Assembler and done a pretty good
job with it!. By the way there is a limit to this transfer-project, only
100% Assembler games can be transfered, a few games published for the Memotech
MTX are actually written in Basic, and maybe some small Assembler
parts within. These games can not be transfered.... YET! |
|