Thomas Harte
d410aea856
Merge pull request #368 from TomHarte/DiamondInheritance
...
Eliminates diamond inheritance of KeyboardMachine::Machine by typers.
2018-03-09 15:19:54 -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
719f5d79c2
Merge pull request #367 from TomHarte/DynamicVolume
...
Introduces formal setting of the output volume to `SampleSource`.
2018-03-09 14:10:55 -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
53f05efb2d
Merge pull request #366 from TomHarte/MoreMemptr
...
Improves Z80 memptr behaviour.
2018-03-09 10:05:57 -05:00
Thomas Harte
0e73ba4b3e
Introduces proper 5/3 SCF/CCF behaviour for the Z80.
...
While also `const`ing a bunch of things.
2018-03-09 09:47:00 -05:00
Thomas Harte
f0f9d5a6af
Corrects memptr leakage via BIT, and ld (de/bc/nn), A behaviour.
2018-03-08 20:30:22 -05:00
Thomas Harte
03501df9e5
Merge pull request #365 from TomHarte/CartridgeDetermination
...
Works towards eliminating the special cases for Atari 2600 ROM handling.
2018-03-08 18:40:58 -05:00
Thomas Harte
dd6f85d4db
Merge pull request #364 from TomHarte/TimingUpfront
...
Ensures the Coleco & MSX account for instruction lengths prior to outward accesses.
2018-03-07 17:29:32 -05:00
Thomas Harte
1804ea6849
Ensures the ColecoVision and MSX account for instruction lengths in advance when timing secondary components.
2018-03-07 17:00:18 -05:00
Thomas Harte
c8657e08f4
Merge remote-tracking branch 'origin/master' into CartridgeDetermination
2018-03-07 16:42:16 -05:00
Thomas Harte
a942e1319b
Merge pull request #363 from TomHarte/ZonX
...
Introduces ZonX emulation and corrects a minor ColecoVision AY timing issue.
2018-03-07 16:23:51 -05:00
Thomas Harte
9e0a56b4f0
Withdraws the 2600 from .rom consideration.
...
Will return when it is performing more sanity checks; for the time being I don't want it constantly forcing multimachines.
2018-03-07 16:21:17 -05:00
Thomas Harte
9abc020818
Corrects potential ColecoVision SGM AY timing issues.
2018-03-07 16:16:58 -05:00
Thomas Harte
2dade8d353
Introduces ZonX emulation for the ZX81.
2018-03-07 16:16:29 -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
f212b18511
Declares a confidence for the ColecoVision equal to the probability that the special bytes are wrong.
2018-03-07 14:25:25 -05:00
Thomas Harte
a6ca69550f
Standardises machines that aren't making a real guess on reporting a confidence of 0.5.
2018-03-07 14:24:52 -05:00
Thomas Harte
2452641844
Introduces a fast workaround to avert a MultiMachine where it would instantly end.
2018-03-06 19:08:02 -05:00
Thomas Harte
c82af4b814
Introduces get_confidence
for the ColecoVision.
...
Based almost entirely on joypad accesses for now.
2018-03-06 19:06:35 -05:00
Thomas Harte
fdef914137
Corrects test target regression.
2018-03-06 18:32:21 -05:00
Thomas Harte
dfcc502a88
Merge pull request #360 from TomHarte/SDLJoystick
...
Introduces keyboard-as-joystick fallback for the SDL target.
2018-03-04 17:28:05 -05:00
Thomas Harte
1c6faaae88
Introduces keyboard-as-joystick fallback for the SDL target.
2018-03-04 17:26:32 -05:00
Thomas Harte
35c8a0dd8c
Merge pull request #359 from TomHarte/MentionColecoVision
...
Adds the ColecoVision to the declared list of machines.
2018-03-03 19:05:05 -05:00
Thomas Harte
38feedaf6a
Adds the ColecoVision.
2018-03-03 19:03:54 -05:00
Thomas Harte
0a2f908af4
Merge pull request #358 from TomHarte/TMSPhase
...
Picks a phase for the TMS empirically.
2018-03-03 13:56:10 -05:00
Thomas Harte
705d53cc21
Picks a phase for the TMS empirically.
2018-03-03 13:53:00 -05:00
Thomas Harte
35b18d58af
Merge pull request #357 from TomHarte/SuperGameModule
...
Adds Super Game Module support for the ColecoVision.
2018-03-03 13:14:48 -05:00
Thomas Harte
3c5a8d9ff3
Adds Super Game Module support for the ColecoVision.
2018-03-03 13:08:33 -05:00
Thomas Harte
7ca02be578
Merge pull request #356 from TomHarte/Multicolour
...
Implements multicolour mode on the TMS.
2018-03-02 23:10:31 -05:00
Thomas Harte
ea13c7dd32
Implements multicolour mode on the TMS.
2018-03-02 23:08:01 -05:00
Thomas Harte
fdfd72a42c
Merge pull request #355 from TomHarte/MegaCart
...
Adds MegaCart support for the ColecoVision.
2018-03-02 19:21:26 -05:00
Thomas Harte
da97bf95c0
Loosens ColecoVision cartridge size test to allow for slightly broken images.
2018-03-02 19:20:37 -05:00
Thomas Harte
bdfc36427c
Implements MegaCart support.
2018-03-02 18:40:01 -05:00
Thomas Harte
74dfe56d2b
Expands documentation of NMI setting.
...
Given that it was previously incorrect, explains logic behind request_status_ and last_request_status_ setting. Also takes the opportunity to ensure that NMI is 'sampled' at the same time as IRQ; whether the next thing should be the NMI routine now occurs one cycle before the end of any instruction. That's an assumption for now. Testing to come.
2018-03-02 11:10:02 -05:00
Thomas Harte
6cce9aa54e
Merge pull request #353 from TomHarte/ColecoVision
...
Adds provisional emulation of the ColecoVision
2018-03-01 22:33:34 -05:00
Thomas Harte
ba68b7247b
Adds latest files to SConstruct.
2018-03-01 22:19:50 -05:00
Thomas Harte
b02e4fbbf6
Corrects NMI receipt to be genuinely edge triggered.
...
Previously a caller that signalled NMI set multiple times would trigger multiple NMIs.
2018-03-01 22:04:56 -05:00
Thomas Harte
59b4c7314d
Merge branch 'master' into ColecoVision
2018-03-01 22:01:26 -05:00
Thomas Harte
d328589bd0
Merge pull request #354 from TomHarte/MSXTiming
...
Corrects a counting error in the MSX.
2018-03-01 22:00:53 -05:00
Thomas Harte
b05d2b26bf
Corrects a counting error in the MSX.
2018-03-01 21:59:51 -05:00
Thomas Harte
86239469e7
Allows SN76489 consumers to apply an additional divider that reduces computation.
2018-03-01 18:51:05 -05:00
Thomas Harte
7890506b16
Gives the SN76489 its proper dividers and personalities.
2018-02-28 22:36:03 -05:00
Thomas Harte
83f73c3f02
Installs additional safeguards against unsafe deconstruction.
2018-02-28 22:15:22 -05:00
Thomas Harte
87760297fc
Fixes underpumping of SN76489.
...
Audio works now. Though I still need properly to confirm who owns dividers in practice. I think probably all division should be within the SN.
2018-02-27 22:59:29 -05:00
Thomas Harte
5b854d51e7
Corrects out-of-bounds access.
2018-02-27 22:45:45 -05:00
Thomas Harte
d4df101ab6
Makes a first attempt at implementing the SN76489.
2018-02-27 22:25:12 -05:00
Thomas Harte
0ad2676640
Adds a class for the SN76489 and wires it into the ColecoVision.
2018-02-26 22:04:34 -05:00
Thomas Harte
a074ee2071
Possibly fixes ColecoVision input mapping.
...
Also provides symbolic input from the Mac.
2018-02-25 22:47:47 -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