Thomas Harte
|
3a4e844a07
|
Merge pull request #29 from TomHarte/6560Improvements
Improved 6560 emulation and the Vic-20's bus
|
2016-06-23 20:45:10 -04:00 |
|
Thomas Harte
|
3c9183d034
|
Improved some commenting.
|
2016-06-23 20:43:29 -04:00 |
|
Thomas Harte
|
097a9caa95
|
Delegates are all nullable, naturally.
|
2016-06-23 09:37:49 -04:00 |
|
Thomas Harte
|
359ffb9aa7
|
Made some attempt to implement what appears to be the proper address generation logic.
|
2016-06-23 07:32:24 -04:00 |
|
Thomas Harte
|
e05003c176
|
Discovered that the VIC and the VIAs can be simultaneously selected. Adjusted bus appropriately.
|
2016-06-22 17:34:42 -04:00 |
|
Thomas Harte
|
b753690d5e
|
Made an attempt to adjust the 6560 to a model compatible with that advocated by the available documentation. Exact decision timing may need further work.
|
2016-06-21 22:12:01 -04:00 |
|
Thomas Harte
|
106e56600d
|
Added a DC offset for 6560 volume level, albeit one plucked from thin air.
|
2016-06-21 07:31:14 -04:00 |
|
Thomas Harte
|
2d13802625
|
Merge pull request #28 from TomHarte/AtariClockRateAdjustment
Completes the loop on machines changing clock rate dynamically
|
2016-06-20 22:20:41 -04:00 |
|
Thomas Harte
|
454e98302d
|
Slight rearrangement plus a setting of the CSMachine delegate corrects audio after a clock rate change.
|
2016-06-20 22:18:41 -04:00 |
|
Thomas Harte
|
31b26b8118
|
Made a first attempt to implement the full top-to-bottom change of clock rates, giving the Atari the ability to change rate when it switches to PAL mode, as it should always have been.
|
2016-06-20 21:47:27 -04:00 |
|
Thomas Harte
|
3591479571
|
Fixed mismatch between initial tick box states and communicated switches; ensured they're visible upon launching a game.
|
2016-06-20 21:31:07 -04:00 |
|
Thomas Harte
|
2f00b841d8
|
Merge pull request #27 from TomHarte/Further6532Tests
Increases unit testing of the 6532
|
2016-06-20 21:07:56 -04:00 |
|
Thomas Harte
|
25a5455d33
|
Completed bridge interface.
|
2016-06-20 21:07:01 -04:00 |
|
Thomas Harte
|
fe17d1778c
|
Expanded 6532 tests substantially, beefing up implementation to match.
|
2016-06-20 21:02:42 -04:00 |
|
Thomas Harte
|
88e2b382e5
|
Made an attempt at a full and thorough 6532 implementation (and got a bit more explicit about flag size in the 6502).
|
2016-06-20 18:57:35 -04:00 |
|
Thomas Harte
|
d4b9ff0ca4
|
Doubles up on register mirroring. Will do for now. More to come.
|
2016-06-20 07:27:38 -04:00 |
|
Thomas Harte
|
b6dd38dad3
|
Corrected type safety warning.
|
2016-06-19 21:41:01 -04:00 |
|
Thomas Harte
|
6c3f5d2caf
|
Fixed window sizing.
|
2016-06-19 21:40:35 -04:00 |
|
Thomas Harte
|
a8e0d1d86f
|
Merge branch 'FactoredOut6532'
|
2016-06-19 20:27:19 -04:00 |
|
Thomas Harte
|
96d538359d
|
Merge pull request #26 from TomHarte/FactoredOut6532
Factored out the 6532 RIOT
|
2016-06-19 20:26:47 -04:00 |
|
Thomas Harte
|
4db61d98f4
|
Killed the .cpp.
|
2016-06-19 20:21:38 -04:00 |
|
Thomas Harte
|
d5aaad396e
|
Added a TODO on my lack of knowledge.
|
2016-06-19 20:13:31 -04:00 |
|
Thomas Harte
|
7cf6008e7c
|
Started some very basic RIOT unit tests; corrected to pass.
|
2016-06-19 20:12:47 -04:00 |
|
Thomas Harte
|
065ec618c4
|
Factored out and templated the 6532, finally taking the opportunity to add a means to control the on-console switches of an Atari 2600.
|
2016-06-19 19:36:34 -04:00 |
|
Thomas Harte
|
65413f078c
|
Factored out the 6532, eventually to make it testable.
|
2016-06-19 18:57:40 -04:00 |
|
Thomas Harte
|
ce2f5515c0
|
Made some minor documentation improvements, killed 6522.cpp as the 6522 is going to be a template only, attempting to promote good inlining behaviour.
|
2016-06-19 18:11:37 -04:00 |
|
Thomas Harte
|
0cbf0cf8fc
|
Merge pull request #25 from TomHarte/ElectronTyper
Implements `Utility::TypeRecipient` for the Electron
|
2016-06-19 17:29:09 -04:00 |
|
Thomas Harte
|
6dd8ea67c9
|
Tested and trimmed delay on typing if resetting.
|
2016-06-19 17:27:23 -04:00 |
|
Thomas Harte
|
05cb47709e
|
Implemented Utility::Typer for the Electron. So that now also receives pastes.
|
2016-06-19 17:25:35 -04:00 |
|
Thomas Harte
|
ee050d71ec
|
Merge pull request #24 from TomHarte/RAMPRGs
Adds a check for whether PRGs should be loaded to RAM and, if so, installs them post-boot and performs a 'RUN'
|
2016-06-19 16:39:03 -04:00 |
|
Thomas Harte
|
ef3ed1f436
|
Implemented full paste ability for any machine that is a typer.
|
2016-06-19 16:35:04 -04:00 |
|
Thomas Harte
|
3fc472d5cb
|
Expanded typing to include phase for machines that need to go through multiple keypresses to reach a certain state, expanded Vic to be able to type most things (still bodged on lowercase though), and to schedule a 'run' if it's supposed to be loading into RAM, spotting that opportunity actually to do so.
|
2016-06-19 13:46:53 -04:00 |
|
Thomas Harte
|
e7aeed2f03
|
Established a general pattern for machines that can type things. Started working on the Vic typing itself.
|
2016-06-19 13:10:52 -04:00 |
|
Thomas Harte
|
960cae15b1
|
Merge pull request #22 from TomHarte/6522UnitTests
Starts adding unit tests for the 6522, correcting the implementation as required
|
2016-06-18 17:22:23 -04:00 |
|
Thomas Harte
|
f4915c5ad6
|
Fixed test and added basic implementation of data direction.
|
2016-06-18 17:17:03 -04:00 |
|
Thomas Harte
|
eea850cd12
|
Added a deliberately failing data direction test.
|
2016-06-18 16:40:01 -04:00 |
|
Thomas Harte
|
2282b59768
|
Added a quick latching test, and shortened test messages, albeit that they're still displeasingly boilerplate.
|
2016-06-18 16:10:46 -04:00 |
|
Thomas Harte
|
5d26cd85a3
|
Wrote test case for what appears to be correct timer behaviour if those were acting in isolation. Ensured implementation matches test case.
|
2016-06-18 14:30:23 -04:00 |
|
Thomas Harte
|
394902f409
|
Switched to clocking the 6522 by the half-cycle. Very trivial test now passes.
|
2016-06-18 13:57:10 -04:00 |
|
Thomas Harte
|
06fb2ff1c7
|
Started endeavouring to sketch out the boilerplate for writing a 6522 test harness. Added a default implementation of synchronise to the 6522 too, since not everybody is going to want one.
|
2016-06-18 09:28:46 -04:00 |
|
Thomas Harte
|
595791cee0
|
Made the base 6522 class more abstract: you must now opt-in if you want the IRQ line to be sent to a delegate.
|
2016-06-18 08:51:18 -04:00 |
|
Thomas Harte
|
60d654e9f9
|
Whoops; they're all .bin. No .roms here.
|
2016-06-17 08:27:16 -04:00 |
|
Thomas Harte
|
d6cb4fe15c
|
Merge pull request #21 from TomHarte/LowLatencyAudio
Attempts to apply some sort of quality-of-service guarantee to audio
|
2016-06-16 21:44:16 -04:00 |
|
Thomas Harte
|
090e92ad26
|
Making this large has very limited side effects. So why not?
|
2016-06-16 21:41:17 -04:00 |
|
Thomas Harte
|
3b71d1a309
|
Switched to a variable-length buffer based on attempting to hit approximately a certain quality of service.
|
2016-06-16 21:35:22 -04:00 |
|
Thomas Harte
|
2ee78d42b9
|
Made an attempt also to trigger updates upon audio packets being returned, and significantly to reduce the size and quantity of those. This should get down to 11ms latency if the output wave is 44100; I might need to scale up the buffer size as the sampling rate increases or this is going to get crazy at 192Khz.
|
2016-06-16 20:51:35 -04:00 |
|
Thomas Harte
|
00a9f1bf24
|
Fixed best-effort updater actually to run, finally moved clock rate announcement into the C++ side of things, started working on a mechanism to allow clock rate to be updated.
|
2016-06-16 20:39:46 -04:00 |
|
Thomas Harte
|
1921a6c469
|
Rewired the existing cause-an-update route from the OpenGLView through the best-effort updater.
|
2016-06-16 18:19:23 -04:00 |
|
Thomas Harte
|
530cf3dcbb
|
Made an attempt to consolidate serialisation and clock rate adherence, allowing a floating-point clock rate.
|
2016-06-16 18:04:54 -04:00 |
|
Thomas Harte
|
ce59ad1911
|
Minor on-disk shuffle, to try to clarify ownership of responsibility.
|
2016-06-15 08:11:30 -04:00 |
|