BK-0010, 0011M and Terak 8510/a emulation

The big idea is to have a portable emulator for a variety of widely used in the 1980's LSI-11 based
desktop computers with a framebuffer. So far I know of:

Elektronika BK-0010 (USSR): 32 Kb total RAM, out of which the framebuffer
memory was either 16 or 4 Kb, 512×256 monochrome or 256×256
4-color fixed palette (RGB + black), no text mode (software character generator)

Elektronika BK-0011M (USSR): 128 Kb total RAM, out of which 32 Kb could be used as two switchable frame buffer pages; 512×256 B/W or 256×256
4-color (16 fixed palettes, including CGA palettes), no text mode

Terak 8510/a (USA), 56 Kb total RAM, out of which 8 Kb could be used as graphic frame buffer (320x240 B/W) plus an 80x24 text memory with programmable fonts

There is not much information about Terak 8510/a, and even less English language information about BK-0010/11. Happy Googling!

Programming of the emulator for BK-0010 under UNIX started many years ago - in 1994 or 1995, if memory serves - and stalled once I've achieved results like fairly accurate timing that allowed
to play games and single bit pulse-modulated "music". There was no floppy controller emulation at the time, and Xlib was used for graphics.

In mid-2003 I learned about Contiki OS and uIP TCP/IP stack and got renewed enthusiasm. The goal was to run some kind of a server on BK-0010.

During the 2003 spurt I've reimplemented the framebuffer in SDL, added emulation of the floppy controller, mouse, Covox, and extended the emulator to support BK-0011M to the extent of being able to run a port of RT-11 made in USSR specifically for the BK-0011M.
Most programs ran, but some making heavy use of undocumented features and heavy tricks, like switching video pages and/or palettes every half-frame
to achieve 16 colors or higher resolution did not work well.
On my original goal, I've compiled the uIP code, added tunneling to the emulator and successfully ran a sample telnet server on the emulator.
This concluded my previous bout of activity in late October 2003.

As the "emulation disease" seems to be seasonal, in mid- to late October 2004 I've restarted my efforts to bring the emulator to a more presentable state.
A new goal was to run a more respectable OS than RT-11: some kind of UNIX.
During my search for a UNIX for LSI-11 without an MMU I've found this and this, and I new idea struck me: my emulator can be easily adapted to emulate Terak as well!
The first steps in that direction have been made (namely, emulating the FDD interface), and,
given the broader appeal of the project, I've decided to upload the project to SourceForge.

In Spring 2005, the emulator is capable of emulating the AY-3-8910
synthesizer (I've adapted the code from the fMSX emulator), and of running RT-11.