← All projects
PLAYABLE MILESTONE Emulation · Preservation

EmuQX10

A C-based Epson QX-10 emulator that boots real CP/M 2.2, launches MultiFont BASIC and plays a graphical maze from 1983.

Surface
macOS · Native emulation
Status
PLAYABLE MILESTONE
Release
macOS preview
Category
Emulation · Preservation
overview

Reviving an Epson QX-10

EmuQX10 rebuilds in C the machine around the Z80: banked memory, video, floppy, DMA, interrupts, timers, keyboard, clock and audio. The core loads period ROM and disk images, boots CP/M to its prompt, starts MultiFont BASIC and now runs the Labyrinthe program with graphics, arrow controls and sound.

Availability

Playable technical preview

The target scenario — CP/M, MFBASIC, then Labyrinthe — is playable on macOS arm64. Remaining polish covers graphics accuracy, audio validation and future Windows/Linux backends.

Contact the studio →
At a glance

At a glance

Machine
Epson QX-10
Year
1983
CPU
Z80
System
CP/M 2.2
Display
640×400 mono
Current target
macOS arm64
What's in it

What's in it

  • F—01 Boots real CP/M 2.2 from a compressed Teledisk image
  • F—02 Z80 and QX-10 peripheral emulation written in C
  • F—03 μPD7220 text and graphics rendering at 640×400 monochrome
  • F—04 Native macOS window through Cocoa and Metal, with no SDL
  • F—05 AZERTY/QWERTY keyboard, real-time 55 Hz loop and CoreAudio beeper
  • F—06 Headless backend, PPM framebuffer and CTest coverage
Boot path

From the real IPL to a BASIC game.

The emulator does not fake a result: it advances the original firmware and operating system through reconstructed devices, cycle by cycle.

S—01

Load the machine

Epson ROMs, memory banks and character generator establish the initial state.

S—02

Read the floppy

FDC and DMA decompress the TD0 image and genuinely load CP/M into memory.

S—03

Drive the system

Keyboard, interrupts, timers and GDC carry the real system to the prompt and into MFBASIC.

S—04

Play in real time

Labyrinthe draws its primitives, receives arrow keys and produces sound as on the target machine.

Screens

Screens

Screenshot placeholder
UI—01 CP/M 2.2 startup screen
Screenshot placeholder
UI—02 MultiFont BASIC prompt
Screenshot placeholder
UI—03 Fully drawn maze
Screenshot placeholder
UI—04 Keyboard-playable session
Distribution

Separating original code from software heritage.

The emulator core is original work, but Epson/Digital Research ROM and disk images remain copyrighted and stored in a private repository. Public distribution will need to handle those assets separately.

  • P—01 Machine code structured around a pure-C platform interface
  • P—02 Accuracy oracle based on devices documented by MAME
  • P—03 ROM and disk images not intended for redistribution with public code