News About Docs Src Emulation Description Language

Handlers

It was always the intention that HANDLERs would react to changing PINs, but in an effort to get the first version of EDL working I dropped the notion of PINs. Now I`m pleased to say that HANDLERs are now implemented as intended, along with the missing PIN declaration support. This means that I had to change an awful lot of sample code and the Space Invaders emulation, in order to support the change.

The clocking of the CPU for the Accurate version of Space Invaders is now correctly pulsed, with the CPU picking up the positive edge trigger and doing its work.

The change also means that HANDLERs are no longer directly accessable from C code, in fact the PINs are no longer accessable either. Accessor methods have been created, and it is these that C code must hook into. In a future update to the language it will automatically call the appropriate HANDLER when a PIN is updated by EDL code, although if the PIN is part of the current module, then it will still access the data directly. At present global variables are still accessable from outside the current file, however this makes little sense (apart from debugging), so I might change globals to private at some point in the future, with similar accessors created for debug purposes.

Documentation as always has been updated to reflect the changes.

Next up, time to give EDL functions, and perhaps add the INTERNAL modifier. INTERNAL will be used to hide global variables and functions from outside of the current file. This will allow better optimisation possibilities.

Written by Savoury SnaX, 18 Aug 2011