The inner interpreter decouples the harsh video timing from the application code. It runs whenever the video/audio/input handling has nothing to do, typically during vertical blank, and in every 4th scanline of the visible video. It reads instructions from RAM and dispatches to their native implementation. It works very much like SWEET16 on the Apple II, except that it also tracks their duration: when there is not enough time left for another instruction, it re-syncs with the video timing and returns control. To make programming easier, I wrote a simple offline compiler that provides a compact text notation with block structure, "if", "loop" etc.. Here is the beginning a game made in this:
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.
This looks sweet!
Are you sure? yes | no
Thanks, slowly crawling to where I want to be...
Are you sure? yes | no