1
0
mirror of https://github.com/TomHarte/CLK.git synced 2024-07-09 21:29:53 +00:00
Commit Graph

770 Commits

Author SHA1 Message Date
Thomas Harte
8741be5c84 Made the slightest possible effort to get TAPs opened and passed to the VIC. 2016-06-25 16:24:52 -04:00
Thomas Harte
ee19417ded Made an attempt quickly to implement parsing of the Commodore .TAP file format. 2016-06-25 16:09:32 -04:00
Thomas Harte
e9bf9034e3 Merge pull request #30 from TomHarte/PointerIdioms
Adds minor reference and pointer style improvements
2016-06-23 21:10:45 -04:00
Thomas Harte
b8728285e7 An overridden getter looks more like this in Swift. 2016-06-23 21:09:34 -04:00
Thomas Harte
2bd71e7e9b .reset is the more normal way to reassign a unique_ptr. 2016-06-23 20:52:44 -04:00
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