Memotech

Yes, I am the Andy Key who wrote all those old Memotech MTX games. Guilty as charged.

Games

Lots of folks have captured screenshots of my games, and even videos. I hope they don't mind me using or linking to them here...

Title Picture Video Comments
Quasar     A variant on Jeff Minters Matrix game. I saw this in a computer show and thought it was so good I wrote a version of the MTX computer. It was too close to the original, and was never sold.
Nemo   A Quasar variant, with a nautical theme. The snake became sharks, the X-Y zappers became electric eels, falling bombs became mines. The land was added, along with crabs on it. This version was sold by Continental Software.
Mission Alphatron   A scramble variant. This was one of my favorites, and a favorite of my friends. Since ported to 16-bit Windows 3.1, 32-bit Windows, and iPhone. See here.
Turbo youtube A racing game. Developed while working for Continental Software. Not my finest hour.
Astropac youtube Based on the similar Jet-Pac game for the Sinclair Spectrum.
Star Command   There was a game a little like this for the TI-99/4A. Internally, this had sin and cos tables, small angle rotation matrices, and divisions done by lookup-tables.
Obloids   This was a game I made up completely from scratch. The basic idea was the cells on the screen could be rotated by kicking them.
Tachyon Fighter youtube This was based on the Buck Rodgers game in the TI-99/4A. It was of the only games I did that used anything other than graphics mode 2 in the TI VDP chip included in the Memotech MTX computer. I can't find any screen shots, but if you look at the back panels of some cover art for the original Buck Rodgers, you can see the mountains in the distance, the stripey landscale and the telegraph towers that you fly between.
Surface Scanner   This was a Defender clone. The clever thing about this was how the smooth scrolling landscape was coded. In short, there was 8 different characters making up the landscape, each of which could have one of 8 characters to its right, and could have the character to the right scrolled into it by 4 2 pixel amounts. 8x8x4 = 256, ie: all 256 character patterns in the bottom third of the screen were used for landscape. Sold by Megastar games.
SMG     Scrolling Maze Game. One of my favorites, and a favorite of my friends. A miner would run around an underground maze of tunnels, collecting 90 pots of gold, avoiding ghosts, avoiding spikes and falling to his death. A classic platform game. There was SMG with 3 mazes, and also another variant called SMG2M, which had 6 mazes. You could only see a small scrolling window over the overal maze at any one time. There were ghosts which moved on fixed tracks. There were also little flashing circular ghosts which would hunt you down. This was possible because wherever your character went, he left a trail behind him, and when the ghosts saw the trail, they would follow it. When they were in this mode they would make a ticking noise (a bit like the crocodile in Peter Pan). The trail was of a fixed length, so one trick you could do would be to reel it in by running around in circles! The mazes: 1, 2, 3, 4, 5, 6. Sold by Megastar games.
Reveal     A game in which by moving your character over an invisible isometric surface, the surface is revealed. When the surface is fully revealed, the level is complete. Of course, lots of bad guys moving about to avoid. I finished the game, but it was never commercially published to my knowledge. This was right at the end of my MTX games writing career, and I think Megastar may have folded around this time.

ROMs or cassette tape recordings of some of these are available for download at ROM World and some are at MTX World. I have disk files of some of these, but they are CP/M .COM files, linked to run at ORG 100H, so I am not sure how useful they would be to anyone. You'd need the SDX with CP/M hardware (as explained below), or an emulator capable of operating like that, to be able to use them.

I made a few hundred quid from royalties from these games. I used this money to fund bigger and better computers.

I also wrote a port of Blobbo for the Sinclair Spectrum.

I also wrote a couple of text mode aventures, in the style of the classic "Adventure" program (xyzzy, plugh, maze of twisty passages all alike, etc...). One was a classic caving adventure, one was Hitch-Hikers Guide to the Galaxy related. Neither were sold.

There were other games that were never finished :-

Back in these days, computers were really slow and small. The amazing thing is that it was possible to write playable games. We used all sorts of devious tricks to fit them in, such as self-modifying code, illegal opcodes, initialisation code that was overwritten later with data, using the stack to move/copy data, precomputing everything and storing it in lookup-tables, etc...

If you could find a way to do something cool on the computer, then you probably had the kernel of a game. eg:

Most games were written in 4 to 6 weeks, working most days. I didn't get out much as a kid.

Development

These games were all written in Z80 assembler using Wordstar (or the Newword clone) to edit them, the M80 macro assembler and the L80 linker. These were appallingly basic and slow tools, but worked well enough. The development was done on CP/M, typically on a SM1 computer or a Memotech FDX.

The SM1 was the "Steve Marchant 1" computer, of which I think only a half-a-dozen ever existed. It had 4MHz Z80A, 64KB RAM and dual "type 13" D/S D/D 8" floppy disks holding a whopping 1MB each. By switching to a Z80B (or Z80H) CPU, it could be made to run at 6MHz, I even saw an SM1 hooked up to an external 10MB or 20MB hard disk, but I never had one of these myself.

The SM1 was the precursor to the MTX computer. In fact, prior to the very first MTX computers being manufactured, I developed games for MTX using a SM1 with a MTX board (minus Z80A CPU) attached to it. In this arrangement, the SM1 gained access to all the hardware (graphics chip, sound chip, keyboard, etc..) of the MTX. The MTX ports addresses of these items of hardware were remapped to different addresses, but basically, the hardware worked. Of course, the programs were loaded as CP/M .COM executables, ORG 100H, rather than as cassette tape images, ORG 8100H. Even after the real MTX500 and MTX512 were manufactured, it was still preferrable to work on the SM1, as the programs could be loaded from disk. It was only at the last minute the ORG was changed and a cassette tape recorded.

Another benefit of working on the SM1, is you could use the ZSID or VDEB debugger on the 80-column screen, without interfering with the graphics on the TV screen. VDEB was the first visual debugger I saw, in that it kept the code disassembly, registers and memory on the display (MS CodeView style) during debugging - a brilliant tool.

Unfortunately, I've lost the source to the games. Also, my parents cleared their loft and threw out my SM1.

Hardware

Memotech hardware I used included :-

A MTX512 :-

Other projects

Sinclair Spectrum Emulator

I wrote some code that when it was loaded from tape, would load a cassette image saved in Sinclair tape format to low memory. This would be a saved image of the Sinclair ROM, although as this was (C) Sinclair Research, I couldn't ship a copy with my emulator. The idea was the customer would buy a tape with my code on it, then save their own copy of the Sinclair ROM, from their own ZX Spectrum, onto the end of it, thus neatly avoiding any licensing issue.

My code would then patch key ZX Spectrum specific portions of it with equivelent MTX code. For example, the code in the Sinclair ROM to read the sinclair keyboard would be replaced by the code to read the MTX keyboard. I even had code to load and save Sinclair format tapes.

Finally, I stole the top 4KB of memory, and in there I had an interrupt handler, called on a regular basis, which read the area of memory where the screen was on a ZX Spectrum and converted and transferred this into the MTX VDP chip.

The net effect was you could load and run Sinclair Basic programs on a MTX.

However, if you loaded a game written in machine code, and it didn't use a recognised Sinclar ROM entrypoint to access hardware (ie: it did it itself), then this wouldn't work as I couldn't know whereabouts in the game to patch.

Tony Brewer made a product called the "Speculator". This was similar, except rather than load the Sinclair ROM, it would load one of 20 common and popular Sinclair games, and would know where to patch them. It could, for example, run the Spectrum version of Elite, on the MTX.

Finally, for fun, I made a copy of my Sinclair Emulator, which was burned into a set of bootable MTX ROMs. You would get a ROM card with 4 8KB slots. On the first would be my emulator. On the next two would be a copy of the Sinclair ROM. Plug it in and switch on, and your MTX starts up and displays "(C) Sinclair Research" in black text on a white background! You appear to have a ZX Spectrum with 44KB, capable of running basic.

Military Training

A company in Rome saw SMG and approached me to write some MTX software for a product to be used to help train the Sicilian military! The MTX screen was attached to the sights of a real ground-to-air "turalite" (gun), and it would display a view of a missile flying through the sky, in a parabolic arc. Two soldiers, one controlling the side to side motion of the gun, the other controlling the elevation, would attempt to track the missile, by turning various dials, hopefully at the right relative speeds with respect to each other. My program would receive information regarding the position of the gun from registers on a bit of custom hardware, and would update the screen accordingly. Soldiers would be graded on how much of the time they managed to closely track the missile. As a school boy, I flew to Rome to complete this assignment, and for the week I was there, I had the top floor of a rather nice villa to myself. I became a millionaire as a result, and although it was only a million Lira, for me, that was a lot of money at the time.

SDX with CP/M

I got hold of the source used in the FDX for the boot ROM, including the drivers for the keyboard and 80-column card. I replaced these drivers with my own which accessed the MTX keyboard and the MTX VDP chip (in a rather low graphic quality 56 column mode). I also got the source to the SIDISC.COM program, which installed CP/M support for Silicon Discs, and integrated this so it was a part of my new boot ROM.

The result was a massively cheaper CP/M system running on a MTX512 with 3.5" SDX disk, and 512KB of RAM disk. I also changed to boot order to try the RAM disk, if it contained what looked like a valid copy of CP/M. Once CP/M and other files were copied to the RAM disk, this system could boot CP/M in 2 seconds flat, and assemble and link code faster than an SM1.

I had to patch the Newword word processor to make it work properly on a 56 column screen (rather than 80), but once that was done, this platform was perfectly good enough for development work.

Memotech used this boot ROM commercially with their first generation of Video Wall products.

Then I wrote a program RCPMGEN.COM, which would read the RAM disk and create ROM images to burn EPROMs with. These could be used in place of the memory card. The net effect was you could make a MTX512 which booted CP/M from ROM, with whatever applications you wanted to include (and could fit in the ROMs).

Video Walls

After Memotech gave up selling home computers, it started designing, manufacturing and selling video walls.

I wrote the software to control these, which ran on CP/M on the SDX with my modified boot ROM. The video walls were controlled by sending command strings down the centronics printer ports. This allowed Memotech to use its stock of MTX kit as a part of its video wall offerings. I subsequently wrote better software which ran on MS/DOS on the IBM PC.

I still have the source to both the original MTX version and the later PC version of this.

Kermit

I ported Kermit (a terminal emulator, communicating over RS232) to the MTX computer. This wasn't hard, the MTX used similar hardware to other Z80 CP/M based systems - it was just a matter of finding ports and memory addresses. This allowed me to transfer files between my MTX and my new PC.

Names

I worked with, and met various key people in the MTX world, including :-

Links

There are lots of good Memotech related links out there - here a few :-


This page maintained by Andy Key
andy.z.key@googlemail.com