Yet another KC emulator
C++ Objective-C Python CSS JavaScript HTML Other


Yet another KC emulator (WTF is a 'KC':

Build Status

Live Demo:

(should work on all modern browsers with WebGL support except iOS Safari which reloads the page after a few seconds)

How to Build:

> python --version
Python 2.7.10
> cmake --version
cmake version 3.3.2
> git clone
> cd yakc
> ./fips gen
> ./fips make yakcapp
> ./fips run yakcapp

If it doesn't work out of the box (e.g. on Windows if only VS2015 is installed instead of VS2013) you need to use a different fips build config (run './fips list configs' to see the list of configs, and then './fips set config [cfg]' before running './fips gen' again)


Overlay UI

Pengo Intro Screen


House Ingame


  • small and portable emulator core in a simple C++
  • emulator core has hooks for keyboard-input, audio/video-output, load/save blocks of memory
  • Oryol as input/video/audio wrapper (
  • imgui ( as simple debugger overlay (view and edit registers, memory, asm/disasm)
  • emulate KC85/3 and KC85/4 (bonus: the final version also has KC85/2)
  • small and fast enough to feel good on browser and mobile


  • no complete hardware emulation ('display needling', I/O ports, modules, analog cassette interface, ...) (bonus: modules are in, yay(
  • no emulation of the tricky serial keyboard interface

Potential goals:

  • CPU/memory state recording to allow rewind/replay in debugger (that would be cool!) (snapshotting of current state is in, but no record/replay)
  • support for other East-German 8-bitters (Z9001, Z1013, LC80)
  • Speccy, CPC, KC-compact?

Use of external code: