Commit Graph

  • 4ac619f569 glClientWaitSync appears to be a busy wait, at least on my machine. But why wait indefinitely anyway? Thomas Harte 2016-06-29 21:32:47 -04:00
  • 5c85366de2 Made an attempt to prevent spurious border colour pushes. Thomas Harte 2016-06-29 21:22:26 -04:00
  • ff53accca0 Demonstrated that issue is coloured borders, made a guess as to buffer exhaustion, upped limits as a temporary fix. Thomas Harte 2016-06-29 21:16:34 -04:00
  • 7f10616be9 Merge pull request #35 from TomHarte/BRKDiversion Thomas Harte 2016-06-29 21:03:19 -04:00
  • 41809d4597 Made an attempt at NMI usurption of IRQ/BRK. Thomas Harte 2016-06-29 20:59:45 -04:00
  • c02226bc41 Ensured stack pointer goes the right way upon reset. Thomas Harte 2016-06-29 20:42:26 -04:00
  • b322baff2f Added CLI/SEI pair test. Thomas Harte 2016-06-29 19:42:39 -04:00
  • db7c6430b5 Fixed Klaus Dormann termination condition. Thomas Harte 2016-06-29 19:16:34 -04:00
  • 0182b0483a Added a 'power on' flag that is set automatically at construction but can be declined. Saves all that stuff of every machine having to set and then unset the RST line, and fixes an Electron bug related to that. Thomas Harte 2016-06-29 19:13:24 -04:00
  • bff53775ad Update README.md Thomas Harte 2016-06-29 11:12:03 -04:00
  • 6419d9c485 Added a single IRQ test case, discovering that I'm two cycles short. Whoops! Thomas Harte 2016-06-28 21:29:43 -04:00
  • 6e698e908e Made an attempt to reduce cost of the most-likely path. Thomas Harte 2016-06-28 18:46:00 -04:00
  • b0dae01e8f Merge pull request #34 from TomHarte/NTSCLineCounter Thomas Harte 2016-06-27 22:14:29 -04:00
  • de5d2f1113 Ensured the line counter increments late on NTSC. Thomas Harte 2016-06-27 22:12:55 -04:00
  • 24280844cb Merge pull request #33 from TomHarte/NMI Thomas Harte 2016-06-27 22:06:26 -04:00
  • 574aa32b72 Made an attempt to implement NMI. Some work to do on the B flag though, I think. Thomas Harte 2016-06-27 22:01:48 -04:00
  • 15acec4889 Merge pull request #32 from TomHarte/FastVICLoading Thomas Harte 2016-06-27 21:43:38 -04:00
  • 6027cba95f Factored out the stuff of pushing a fast-loading option onwards and storing it within the user defaults. Thomas Harte 2016-06-27 21:38:14 -04:00
  • 9134e4de1f Added a partially-wired options menu for the VIC. Thomas Harte 2016-06-27 18:49:53 -04:00
  • 466ddff777 Merge pull request #31 from TomHarte/VicTAP Thomas Harte 2016-06-26 22:02:08 -04:00
  • e3e6bbb785 Removed the colon again, until I can educate myself a little further. Thomas Harte 2016-06-26 21:38:03 -04:00
  • 69d78dfdb3 Removed logging. Thomas Harte 2016-06-26 21:36:26 -04:00
  • 1439ca0580 Added a quick automatic issuing of the 'LOAD' command. Thomas Harte 2016-06-26 21:34:37 -04:00
  • 843d1fdca7 Added some extra logging while trying to determine what's going on; added interrupt clearing for the control lines. Thomas Harte 2016-06-26 21:30:06 -04:00
  • 2a2c3da5d4 Added hardwired tape present bit. Thomas Harte 2016-06-26 19:50:49 -04:00
  • c306d705e1 Made a quick first attempt at all-the-way-through tape wiring for the Vic. Thomas Harte 2016-06-26 19:43:09 -04:00
  • 37ba42a52f Factored out the stuff of playing a tape, started basic sketch of the Vic-related classes. Thomas Harte 2016-06-26 19:03:57 -04:00
  • 066db59773 Made a hasty attempt to implement CA1 and CB1 input as a potential source of interrupts. Thomas Harte 2016-06-26 16:32:27 -04:00
  • d5e50f5ea0 Got a bit more explicit about how ports are identified on the 6522. Thomas Harte 2016-06-26 12:30:01 -04:00
  • 8d9eb30d82 So it sounds like the user-port VIA might actually be connected to NMI? Thomas Harte 2016-06-25 16:31:35 -04:00
  • 8741be5c84 Made the slightest possible effort to get TAPs opened and passed to the VIC. Thomas Harte 2016-06-25 16:24:52 -04:00
  • ee19417ded Made an attempt quickly to implement parsing of the Commodore .TAP file format. Thomas Harte 2016-06-25 16:09:32 -04:00
  • e9bf9034e3 Merge pull request #30 from TomHarte/PointerIdioms Thomas Harte 2016-06-23 21:10:45 -04:00
  • b8728285e7 An overridden getter looks more like this in Swift. Thomas Harte 2016-06-23 21:09:34 -04:00
  • 2bd71e7e9b .reset is the more normal way to reassign a unique_ptr. Thomas Harte 2016-06-23 20:52:44 -04:00
  • 3a4e844a07 Merge pull request #29 from TomHarte/6560Improvements Thomas Harte 2016-06-23 20:45:10 -04:00
  • 3c9183d034 Improved some commenting. Thomas Harte 2016-06-23 20:43:29 -04:00
  • 097a9caa95 Delegates are all nullable, naturally. Thomas Harte 2016-06-23 09:37:49 -04:00
  • 359ffb9aa7 Made some attempt to implement what appears to be the proper address generation logic. Thomas Harte 2016-06-23 07:32:24 -04:00
  • e05003c176 Discovered that the VIC and the VIAs can be simultaneously selected. Adjusted bus appropriately. Thomas Harte 2016-06-22 17:34:42 -04:00
  • 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. Thomas Harte 2016-06-21 22:12:01 -04:00
  • 106e56600d Added a DC offset for 6560 volume level, albeit one plucked from thin air. Thomas Harte 2016-06-21 07:31:14 -04:00
  • 2d13802625 Merge pull request #28 from TomHarte/AtariClockRateAdjustment Thomas Harte 2016-06-20 22:20:41 -04:00
  • 454e98302d Slight rearrangement plus a setting of the CSMachine delegate corrects audio after a clock rate change. Thomas Harte 2016-06-20 22:18:41 -04:00
  • 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. Thomas Harte 2016-06-20 21:47:27 -04:00
  • 3591479571 Fixed mismatch between initial tick box states and communicated switches; ensured they're visible upon launching a game. Thomas Harte 2016-06-20 21:31:07 -04:00
  • 2f00b841d8 Merge pull request #27 from TomHarte/Further6532Tests Thomas Harte 2016-06-20 21:07:56 -04:00
  • 25a5455d33 Completed bridge interface. Thomas Harte 2016-06-20 21:07:01 -04:00
  • fe17d1778c Expanded 6532 tests substantially, beefing up implementation to match. Thomas Harte 2016-06-20 21:02:42 -04:00
  • 88e2b382e5 Made an attempt at a full and thorough 6532 implementation (and got a bit more explicit about flag size in the 6502). Thomas Harte 2016-06-20 18:57:35 -04:00
  • d4b9ff0ca4 Doubles up on register mirroring. Will do for now. More to come. Thomas Harte 2016-06-20 07:27:38 -04:00
  • b6dd38dad3 Corrected type safety warning. Thomas Harte 2016-06-19 21:41:01 -04:00
  • 6c3f5d2caf Fixed window sizing. Thomas Harte 2016-06-19 21:40:35 -04:00
  • a8e0d1d86f Merge branch 'FactoredOut6532' Thomas Harte 2016-06-19 20:27:19 -04:00
  • 96d538359d Merge pull request #26 from TomHarte/FactoredOut6532 Thomas Harte 2016-06-19 20:26:47 -04:00
  • 4db61d98f4 Killed the .cpp. Thomas Harte 2016-06-19 20:21:38 -04:00
  • d5aaad396e Added a TODO on my lack of knowledge. Thomas Harte 2016-06-19 20:13:31 -04:00
  • 7cf6008e7c Started some very basic RIOT unit tests; corrected to pass. Thomas Harte 2016-06-19 20:12:47 -04:00
  • 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. Thomas Harte 2016-06-19 19:36:34 -04:00
  • 65413f078c Factored out the 6532, eventually to make it testable. Thomas Harte 2016-06-19 18:57:40 -04:00
  • 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. Thomas Harte 2016-06-19 18:11:37 -04:00
  • 0cbf0cf8fc Merge pull request #25 from TomHarte/ElectronTyper Thomas Harte 2016-06-19 17:29:09 -04:00
  • 6dd8ea67c9 Tested and trimmed delay on typing if resetting. Thomas Harte 2016-06-19 17:27:23 -04:00
  • 05cb47709e Implemented Utility::Typer for the Electron. So that now also receives pastes. Thomas Harte 2016-06-19 17:25:35 -04:00
  • ee050d71ec Merge pull request #24 from TomHarte/RAMPRGs Thomas Harte 2016-06-19 16:39:03 -04:00
  • ef3ed1f436 Implemented full paste ability for any machine that is a typer. Thomas Harte 2016-06-19 16:35:04 -04:00
  • 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. Thomas Harte 2016-06-19 13:46:53 -04:00
  • e7aeed2f03 Established a general pattern for machines that can type things. Started working on the Vic typing itself. Thomas Harte 2016-06-19 13:10:52 -04:00
  • 960cae15b1 Merge pull request #22 from TomHarte/6522UnitTests Thomas Harte 2016-06-18 17:22:23 -04:00
  • f4915c5ad6 Fixed test and added basic implementation of data direction. Thomas Harte 2016-06-18 17:17:03 -04:00
  • eea850cd12 Added a deliberately failing data direction test. Thomas Harte 2016-06-18 16:40:01 -04:00
  • 2282b59768 Added a quick latching test, and shortened test messages, albeit that they're still displeasingly boilerplate. Thomas Harte 2016-06-18 16:10:46 -04:00
  • 5d26cd85a3 Wrote test case for what appears to be correct timer behaviour if those were acting in isolation. Ensured implementation matches test case. Thomas Harte 2016-06-18 14:30:23 -04:00
  • 394902f409 Switched to clocking the 6522 by the half-cycle. Very trivial test now passes. Thomas Harte 2016-06-18 13:57:10 -04:00
  • 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. Thomas Harte 2016-06-18 09:28:46 -04:00
  • 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. Thomas Harte 2016-06-18 08:51:18 -04:00
  • 60d654e9f9 Whoops; they're all .bin. No .roms here. Thomas Harte 2016-06-17 08:27:16 -04:00
  • d6cb4fe15c Merge pull request #21 from TomHarte/LowLatencyAudio Thomas Harte 2016-06-16 21:44:16 -04:00
  • 090e92ad26 Making this large has very limited side effects. So why not? Thomas Harte 2016-06-16 21:41:17 -04:00
  • 3b71d1a309 Switched to a variable-length buffer based on attempting to hit approximately a certain quality of service. Thomas Harte 2016-06-16 21:35:22 -04:00
  • 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. Thomas Harte 2016-06-16 20:51:35 -04:00
  • 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. Thomas Harte 2016-06-16 20:39:46 -04:00
  • 1921a6c469 Rewired the existing cause-an-update route from the OpenGLView through the best-effort updater. Thomas Harte 2016-06-16 18:19:23 -04:00
  • 530cf3dcbb Made an attempt to consolidate serialisation and clock rate adherence, allowing a floating-point clock rate. Thomas Harte 2016-06-16 18:04:54 -04:00
  • ce59ad1911 Minor on-disk shuffle, to try to clarify ownership of responsibility. Thomas Harte 2016-06-15 08:11:30 -04:00
  • 45999f5b26 This should be strong. Thomas Harte 2016-06-15 08:07:59 -04:00
  • e0baaf17f1 Added class prefix. Thomas Harte 2016-06-15 08:07:25 -04:00
  • 695dd2e9e3 Started upon a delegate protocol for the AudioQueue, resolving my use of a deprecated API while I'm at it. Thomas Harte 2016-06-15 07:35:34 -04:00
  • dbdd05afb8 Merge pull request #20 from TomHarte/6560Accuracy Thomas Harte 2016-06-14 21:07:44 -04:00
  • ce7488dd30 Added support for _invertedCells. Treading water a little before making real changes. Thomas Harte 2016-06-14 21:06:29 -04:00
  • 926f819e3b Added some documentation, made the speaker private. Thomas Harte 2016-06-14 20:00:16 -04:00
  • 3e1e5b163a Update README.md Thomas Harte 2016-06-14 18:20:55 -04:00
  • 8c82f6ae37 Merge pull request #18 from TomHarte/Vic-20 Thomas Harte 2016-06-14 18:20:06 -04:00
  • a2a6e3c818 Fixed phase offsets. Thomas Harte 2016-06-14 18:19:06 -04:00
  • f4884a3481 Added the noise channel, albeit not very creatively. Thomas Harte 2016-06-14 17:50:32 -04:00
  • a9036e7aa4 Increased buffering range of audio as a quick fix for now. Basically means: increased latency as a short-term fix. Thomas Harte 2016-06-14 07:31:47 -04:00
  • c18cc4c8f5 It appears the Vic's output is sine-ish, after all. Also adjusted centre of display, simultaneously adding some validation on that. Thomas Harte 2016-06-14 07:29:35 -04:00
  • fdc854c0c2 Fixed tone channels; made an attempt at loading PRGs that are supposed to go into RAM. Thomas Harte 2016-06-13 21:49:59 -04:00
  • efcb196ef7 Made a complete attempt at the tone channels. Thomas Harte 2016-06-13 20:59:01 -04:00
  • f1a45c1011 Merge branch 'VicAudio' into Vic-20 Thomas Harte 2016-06-13 19:34:13 -04:00