Development

It was possible to develop for Memotech computers using :-

The best option was to develop on a CP/M machine. This gave quite an edge over the casual game writer with just an MTX.

On CP/M, you'd use Wordstar (or the Newword clone) to edit Z80 assembler source code. You then use the Microsoft M80 Macro Assembler and L80 Link Editor to produce the CP/M executable, which you'd test. When it was time to make a cassette tape of the game, you'd reassemble and link with a different origin (eg: 8100H), save a loader to the master tape (using a program called CSAVE), and then save the game code to tape.

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 FDX computer.

A benefit of working on the SM1 or FDX, is you could use the ZSID or VDEB debugger on the 80-column screen, without it 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.

If developing today, I'd recommend editing on Linux or Windows, then using M80 and L80 under MEMU to assemble and link, and then test on MEMU. This is what I did when developing the software in REMEMOTECH and REMEMOrizer.

Another good option is to develop in a mixture of C and assembler and to use sdcc and sdasz80 to compile and link them. You'd still test on MEMU before testing on real hardware.


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