Motivation for this project

Very long time ago I've got an Eurocom II computer mainly distributed in Germany with an MC6809 Processor running at 1.33 MHz. It has been developed by ELTEC Elektronik. Also FLEX Operating system was supported. It was at the time of Apple II and CP/M computers.

A very nice feature of this computer was it's graphics controller. It supported 512 x 256 pixel of up to 6 bit planes (64 colors). The whole graphics controller consisted of standard 74xxx TTL circuits. Drawing caracters on the display was just a special case of drawing bitmaps. It is done by the Monitor EPROM. So each character was drawn pixel by pixel by the processor.

I still have all this hardware and think in times of extremely rapid change of computer technology it's important to preserve this kind of computer, it's processor and the operating system as an emulator. The emulator itself is completely written in ANSI C++ and available for Microsoft Windows 10, Windows Vista, Windows 7 and Linux.

It gives everyone the chance to directly compare the complexity, resources, useability and performance of a microcomputer system used at the beginning 80ies and now.

When I started the project I've done some researches on the Internet for 6809 emulation and wrote a little prototype for simulating the graphics display. I've found a ready-to-use processor emulation by Ray Bellis but after the implementation of the prototype it's performance on a Linux box with an 486/DX2 66 was very poor. (I updated the video display after any change in video RAM which produced a heavy load on X11 protocol).

Some times later during testing a Commodore C64 emulator I was inspired on the implementation of their graphics display. The processor emulation and the update of the graphics display was strictly synchronized. For example every n processor cyles a line of the graphics display was updated. So I made another effort improving my prototype with much more success.

The rest of the project was lot's of hours of busy work implementing all the hardware components, implementing the graphics display with X11 (first using XLib and in a second version using XToolkit with Athena widgets), improving the performance and fixing some minor bugs of the MC6809 emulation and transfering of programs from the original system to a linux box. Now the project has also been ported to Windows with Win32 GDI graphics.

As a result I hope You will have lots of fun with a full functional MC6809 FLEX emulator.

Copyright © 2000-2019 W. Schwotzer