It would be great if we could have this target added to Z88DK. The info I've gathered so far:
Code: Select all
CPU 8080 with 48K RAM
VIDEO: 64x16 text, screen memory at $CC00-$CCFF
CHARSET: plain ASCII with reverse characters, 0-31 are special (useless) glyphs
KEYBOARD:
- status port: $FA (~INP($FA) & 1) == 0 means no key pressed
- data port: $FC plain 7 bit ascii
AUDIO: 1 bit audio triggered by the interrupt enable line (flipping DI / EI)
Peripherarls: tape and disk, it can run CP/M but the most common configuration is the tape-only one with builtin ROM monitor.
According to MAME, the memory layout is the following:
// map(0x0000, 0x07ff).bankrw("boot");
// map(0x0800, 0xbfff).ram(); // optional s100 ram
// map(0xc000, 0xc7ff).rom();
// map(0xc800, 0xcbff).ram(); // system ram
// map(0xcc00, 0xcfff).ram().share("videoram");
// map(0xd000, 0xffff).ram(); // optional s100 ram
There is an emulator for Windows called Solace. After you run it, go to "File" -> "Load Program..." and choose a .ENT file. Then type EXEC DF80 (where DF80 is the loading address shown in the status bar on the bottom of the window).
An ENT file is a monitor-like text dump like this:
Code: Select all
EN DF80
DF80: 23 7E FE C3 C2 24 E0 2E 1F 7E FE 3A C2 24 E0 7C
DF90: 32 D0 DF 32 FC DF 2E 00 2B 22 91 D1 21 E9 DF 22
... omitted ...
FFE0: CA C7 FF 2B C3 DF FF FE 0D C8 7E FE 0D CA C1 FF
FFF0: C3 CE FF 2A EF D0 22 91 D1 C3 60 E0/
Useful links:
- Mame's ptcsol.cpp
- Sol20.org
- Sol-20 Wikipedia article