ZxSim
API (C#) for simulating certain aspects of a ZX spectrum for porting.
...However over time those UIs would come out of favour or not compile on a modern OS, so the first aim is portability. The current examples will use Godot to display and control the game.
Next is re-usability, broken up into separate scopes there is a natural layer of usage. Along with all this is some code to handle the original games data and to emulate some of the routines found in the original Z80, such as sprite blitting and room drawing. These will be broken into small plug-in classes which will allow future changes to use PNGs for the graphics instead of simple pixel drawing. This way the code can improve over time.