Thomas Harte
|
a301964bd0
|
Ensures all audio queues are fully merged before machine destruction.
Thereby avoids a race condition.
|
2018-03-22 21:59:19 -04:00 |
|
Thomas Harte
|
89bec2919f
|
Encapsulates machine configuration properties for all remaining platforms.
|
2018-03-09 16:07:29 -05:00 |
|
Thomas Harte
|
78eaecb29e
|
Provides the proper framework for encapsulation of analyser target specifics.
... while making them a safe container for objects too. Uses the ZX80/81 as the pilot platform.
|
2018-03-09 15:36:11 -05:00 |
|
Thomas Harte
|
6b1eef572b
|
Eliminates diamond inheritance of KeyboardMachine::Machine by typers.
Specifically by pulling the key action stuff into a purely abstract class [/interface]. Takes the opportunity to unpublish a bunch of machine details.
|
2018-03-09 15:19:02 -05:00 |
|
Thomas Harte
|
48737a32a7
|
Introduces formal setting of the output volume to SampleSource .
Previously every output device was making its own decision. Which is increasingly less sustainable due to the CompoundSource.
|
2018-03-09 13:23:18 -05:00 |
|
Thomas Harte
|
1100dc6993
|
Opens up .bin and .rom to all cartridge platforms, and adds a confidence estimate to the Atari 2600.
|
2018-03-07 14:26:07 -05:00 |
|
Thomas Harte
|
204d5cc964
|
Extends JoystickMachine protocol to cover ColecoVision use case.
Also thereby implements input on the ColecoVision, in theory at least. No input is being fed though, so...
|
2018-02-25 19:08:50 -05:00 |
|
Thomas Harte
|
7b420d56e3
|
Removed state mirroring in the machine-specific Mac UI classes.
|
2018-02-14 21:46:50 -05:00 |
|
Thomas Harte
|
21efb32b6f
|
Integrates the static and nascent dynamic analyser namespaces.
|
2018-01-24 21:48:44 -05:00 |
|
Thomas Harte
|
d36e9d0b0d
|
Reintroduces cstring.h to a few files that previously got it implicitly.
|
2017-12-18 21:47:30 -05:00 |
|
Thomas Harte
|
2dc1d4443e
|
Separates LowpassFilter and SampleSource.
|
2017-12-18 21:39:23 -05:00 |
|
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
|
c827d14d97
|
Corrects various GCC warnings across the 6560, CPC, TIA, Oric video and elsewhere.
|
2017-11-12 17:17:27 -05:00 |
|
Thomas Harte
|
5aef81cf24
|
Commutes cross-platform #pragma mark s to //MARK: s.
|
2017-11-12 15:59:11 -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
|
4add2c1051
|
Corrects order-of-initialisation errors in the TIA.
|
2017-11-10 22:57:43 -05:00 |
|
Thomas Harte
|
4cbc87a17d
|
Corrects out-of-order initialisations for the 1770, Atari 2600 joystick, Pitfall II bus extender, Microdisc and 6502.
|
2017-11-10 22:20:44 -05:00 |
|
Thomas Harte
|
c0055a5a5f
|
Further builds up SConstruct, correcting many missed imports and a couple of improper uses of C99 in C++ code.
|
2017-11-09 22:04:49 -05:00 |
|
Thomas Harte
|
0da78065ce
|
Eliminates some dangling cases of undefined initial state in the TIA.
|
2017-11-06 22:12:39 -05:00 |
|
Thomas Harte
|
ad9df4bb90
|
Commutes uint8_t * , uint16_t * , uint32_t * , size_t , off_t and long to functional-style casts.
|
2017-10-21 22:30:15 -04:00 |
|
Thomas Harte
|
e983854e71
|
Converts all uint8_t and uint16_t casts to the functional style.
|
2017-10-21 21:50:53 -04:00 |
|
Thomas Harte
|
ec999446e8
|
Commutes int and unsigned casts to the functional style.
|
2017-10-21 21:00:40 -04:00 |
|
Thomas Harte
|
5e3e91373a
|
Switches all unsigned int and double casts to functional style.
|
2017-10-21 19:49:04 -04:00 |
|
Thomas Harte
|
18798c9886
|
Corrects joystick memory leaks.
|
2017-10-15 20:49:47 -04:00 |
|
Thomas Harte
|
7aaf27389c
|
Commutes the Atari 2600 to the JoystickMachine interface.
|
2017-10-15 20:44:59 -04:00 |
|
Thomas Harte
|
edb9fd301c
|
Begins this project's conversion to functional-style casts.
|
2017-10-03 22:04:15 -04:00 |
|
Thomas Harte
|
ee71be0e7e
|
Added the option not to include ready line support in the 6502 core, and took advantage of it in the Electron, Oric and Vic-20 implementations. Also tagged those as forceinline and/or override final where applicable.
|
2017-08-21 21:56:42 -04:00 |
|
Thomas Harte
|
f68565a33f
|
Split the static analyser functionality so that it's possible just to ask for the set of media implied by a particular file. Extended ConfigurationTarget so that media alone can be pushed to a machine.
|
2017-08-17 10:48:29 -04:00 |
|
Thomas Harte
|
de1c526789
|
Cut the amount disclosed by the Atari 2600 for public inspection down to the minimum, relocating implementation into the .cpp.
|
2017-08-16 14:52:40 -04:00 |
|
Thomas Harte
|
3c148f5721
|
Fixed clanger of an error.
|
2017-08-16 14:02:46 -04:00 |
|
Thomas Harte
|
360c8a99a3
|
Adjusted Atari2600 actually to use the nominated type of bus extender.
|
2017-08-16 12:57:32 -04:00 |
|
Thomas Harte
|
06e31f5102
|
Consequential to the 6502 change, severs the Atari 2600's cartridge container from its former attempt at runtime polymorphism, in favour of each cartridge's specific hardware being defined as a 'bus extender'.
|
2017-08-16 12:39:15 -04:00 |
|
Thomas Harte
|
42b5b66305
|
Remove the 6502's use of runtime polymorphism in favour of ordinary templating.
|
2017-08-16 11:56:52 -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
|
279c369a1f
|
Switched to Cycles as the result from the 6502 perform_bus_operation , helping slightly to clarify what you're intended to return and reducing type jumping within the 6502 implementation.
|
2017-07-25 22:21:09 -04:00 |
|
Thomas Harte
|
d9c6b3bcf7
|
Corrected TIA's WSYNC lookahead to accept Cycles .
|
2017-07-25 22:13:41 -04:00 |
|
Thomas Harte
|
296c7cec05
|
Adopted flush widely.
|
2017-07-25 20:42:51 -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
|
40339a12e1
|
Formalised the use of a cycles count with a divider, bringing a few additional plain-int users into the fold.
|
2017-07-25 07:15:31 -04:00 |
|
Thomas Harte
|
90bf6565d0
|
Reduced int/Cycle conversions in the Electron and on the Atari 2600, where the current framework makes it possible to do so.
|
2017-07-24 22:53:13 -04:00 |
|
Thomas Harte
|
2912d7055b
|
The 6532 is now a ClockReceiver .
|
2017-07-24 21:57:24 -04:00 |
|
Thomas Harte
|
13f7aa4063
|
The TIA is now a ClockReceiver .
|
2017-07-24 21:48:34 -04:00 |
|
Thomas Harte
|
b7f88e8f61
|
Filter is now a ClockReciever , affecting all sound output devices.
|
2017-07-24 21:29:13 -04:00 |
|
Thomas Harte
|
2ff157cf7a
|
Switched CRTMachine over to use Cycles as an explicit statement of units, and followed through on the effects of that.
|
2017-07-22 22:17:29 -04:00 |
|
Thomas Harte
|
83628b285b
|
Experimentally turned the 6502 into a clock receiver. No problem encountered.
|
2017-07-22 21:52:21 -04:00 |
|
Thomas Harte
|
37459a3ebc
|
Fixed parameter shadowing.
|
2017-07-21 21:51:18 -04:00 |
|
Thomas Harte
|
2562306802
|
Merge branch 'master' into Z80
|
2017-05-16 21:05:00 -04:00 |
|
Thomas Harte
|
2ee8a7056e
|
Corrected TIA no longer to assume phase is an automatic quarter askew.
|
2017-05-16 20:43:28 -04:00 |
|