kosarev / zx

ZX Spectrum emulator written in a mix of Python and C++
https://twitter.com/z80tools
MIT License
21 stars 1 forks source link

Refine and public the API #18

Open kosarev opened 3 years ago

kosarev commented 3 years ago

That's our current largest aim for the project. So far all the changes made to the code were essentially attempts to figure out the right design for various parts of the emulator and related infrastructure. In many ways this work is still in progress. We can remember that some time ago there were changes towards refining the emulation terminating/exiting mechanism -- an effort triggered by using the emulator in https://github.com/boriel/zxbasic, a befriended project of zx (thanks, @boriel!).

Similarly, #17 motivated us to revisit parts of the code related to exceptions and also led to adding API tests that not only check that the exceptions are implemented correctly, but also declare the conventions for the public API and hopefully work as examples and, in a way, documentation.

This task is to continue the work on moving towards mature public API. The project was always meant to be an infrastructure for a wide range of applications, so having a proper public API is vital.