Thomas Harte
ac80d10cd8
Separates the component parts of running an audio stream: task deferral, filtering and generation.
...
Walking towards improving opportunities for composition.
2017-12-17 21:26:06 -05:00
Thomas Harte
2e15fab651
Doubles down on <cX> over <X.h> for C includes, and usage of the namespace for those types and functions.
2017-11-11 15:28:40 -05:00
Thomas Harte
96648df5fe
Ensures all parts of the Electron have a fully-defined initial state.
...
Specifically to resolve an error with shift being pressed at startup due to a failure to establish a default value for that flag, but applying the same principle across the board.
2017-08-31 22:29:24 -04:00
Thomas Harte
4abd62e62b
Standardises on const [Half]Cycles
as the thing called and returned, rather than const [Half]Cycles &
as it's explicitly defined to be only one int
in size, so using a reference is overly weighty.
2017-07-27 22:05:29 -04:00
Thomas Harte
8361756dc4
Switched definitively to the works-for-now approach of requiring an explicit opt-in where somebody wants to clock a whole-cycle receiver from a half-cycle clock.
2017-07-27 07:40:02 -04:00
Thomas Harte
75d67ee770
Relocated ClockReceiver.hpp as it's a dependency for parts of the static analyser, and therefore needs to be distinct from the actual emulation parts.
2017-07-25 20:20:55 -04:00
Thomas Harte
a1e9a54765
Eliminated redundant uses of ClockReceiver
and sought to ensure that proper run_for
s are inherited all the way down.
2017-07-25 20:09:13 -04:00
Thomas Harte
a6e377aa57
The Electron's video is now a ClockReceiver
.
2017-07-24 22:36:42 -04:00
Thomas Harte
3805e3d17d
Ensured base address is set properly at construction.
2016-12-22 22:46:02 -05:00
Thomas Harte
4a7ddaf2e9
Added documentation and a quick note to self.
2016-12-15 19:43:04 -05:00
Thomas Harte
f61176cd7d
Reinstituted something of the don't-do-pixel-work-until-an-affecting-write-occurs optimisation.
2016-12-15 19:20:14 -05:00
Thomas Harte
b58b11fc93
Switched to a table-based dispatch of line-by-line actions, primarily to simplify.
2016-12-15 18:07:46 -05:00
Thomas Harte
fd541e1142
An early draft; dealing with the issue that not all cycles are necessarily consumed in a single call. Incomplete; broken. Committing for cross-machine visibility.
2016-12-12 08:01:10 -05:00
Thomas Harte
be7e05e109
Started attempting to move total responsibility for display-related interrupts and RAM timing into the video.
2016-12-11 18:34:49 -05:00
Thomas Harte
c43e481a33
Started factoring video out of the Electron.
2016-12-10 21:07:52 -05:00