Thomas Harte
|
be01203cc1
|
Starts to expand the range of supported 6502s.
This fully implements the NES 6502 because, well, it's virtually no extra work, and ensures that RDY takes effect on write cycles on 65C02s.
|
2018-08-13 22:17:22 -04:00 |
|
Thomas Harte
|
76a73c835c
|
Forces 6502 consumers to declare which model — the original, 65C02 or 65SC02.
All present machines use a regular 6502.
|
2018-08-06 20:06:07 -04:00 |
|
Thomas Harte
|
0897210969
|
Neither cartridge machine should be a media target; their media can't be changed at runtime.
|
2018-07-10 21:40:13 -04:00 |
|
Thomas Harte
|
7e58a44771
|
Renames ConfigurationTarget to MediaTarget as per its newly-reduced interface.
|
2018-07-10 21:32:28 -04:00 |
|
Thomas Harte
|
3862fdb44c
|
Simplifies initialisation procedure for all machines.
With the side effect of allowing every machine to try to load only the ROMs that it needs.
|
2018-07-10 20:00:46 -04:00 |
|
Thomas Harte
|
2954373115
|
Introduces an intermediary for digital <-> analogue conversion.
|
2018-06-11 21:35:03 -04:00 |
|
Thomas Harte
|
3ea2a4ccb8
|
Moves the joystick class towards accepting analogue inputs.
|
2018-06-10 20:45:52 -04:00 |
|
Thomas Harte
|
35e84ff1a8
|
Corrects NTSC quadrature phase.
|
2018-05-31 21:40:46 -04:00 |
|
Thomas Harte
|
5d6b5d9f10
|
Eliminates all emdashes in cross-platform code.
|
2018-05-13 15:34:31 -04:00 |
|
Thomas Harte
|
0b771ce61a
|
Removes all instances of the copyright symbol.
|
2018-05-13 15:19:52 -04:00 |
|
Thomas Harte
|
1c605d58e3
|
Removes the CRT requirement for an integral relationship between cycles and samples.
|
2018-04-16 20:00:56 -04:00 |
|
Thomas Harte
|
912791d3d4
|
Causes the s-video path correctly to function.
|
2018-03-30 18:24:18 -04:00 |
|
Thomas Harte
|
163a61dd63
|
Corrects SVideo-as-composite output; the Atari and Vic-20 now both supply svideo.
|
2018-03-30 13:16:18 -04:00 |
|
Thomas Harte
|
33281b9d89
|
Introduces S-Video as a video signal type at the interface level.
|
2018-03-30 10:25:41 -04:00 |
|
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 |
|