1
0
mirror of https://github.com/TomHarte/CLK.git synced 2024-11-26 08:49:37 +00:00
Commit Graph

1240 Commits

Author SHA1 Message Date
Thomas Harte
1ff9b474bf Made an attempt to make execution flow through this loop more straightforward for a branch predictor. 2016-10-30 15:30:39 -04:00
Thomas Harte
7843a244b0 Ensured emulation doesn't enter an infinite loop if the user attempts to read beyond the end of a tape. 2016-10-28 22:23:25 -04:00
Thomas Harte
69f0cef747 Merge pull request #64 from TomHarte/6502IRQ
Switches to storing the IRQ line in the inverse, to simplify its per-cycle logic
2016-10-28 21:30:22 -04:00
Thomas Harte
a106018680 Fixed initial state: interrupt flag is initially low. 2016-10-28 21:22:03 -04:00
Thomas Harte
ad00304e8a Fixed 6522 countdown. 2016-10-28 21:05:42 -04:00
Thomas Harte
613b5b3f98 Switched to inverse storage of the interrupt flag so as to reduce logical burden when storing IRQ line history. 2016-10-28 20:52:43 -04:00
Thomas Harte
b64ae904a5 Merge pull request #63 from TomHarte/OricVideoOptimisation
Reduces 6522 emulation costs
2016-10-27 21:16:21 -04:00
Thomas Harte
4fab794747 Added a direct-to-two-cycles emulation path for 6522 owners. 2016-10-27 21:13:25 -04:00
Thomas Harte
2eda0b3c86 Attempted to simplify the logic behind the most common 6522 usage. 2016-10-27 21:06:31 -04:00
Thomas Harte
e5fe37f089 Fixed 'joystick' input. 2016-10-27 19:44:48 -04:00
Thomas Harte
5c23acdbaf Switched window style back for the Atari HUD. 2016-10-27 19:40:29 -04:00
Thomas Harte
dbc26e7288 Merge pull request #62 from TomHarte/6502Branching
Simplifies the 6502's main processing loop
2016-10-27 18:58:32 -04:00
Thomas Harte
4408c60ef7 This too should continue, not break, since it doesn't schedule a memory access. 2016-10-27 18:32:21 -04:00
Thomas Harte
534b3d085d Improved test reporting, attempted to resolve timing errors just introduced (i.e. to differentiate break/continue where a cycle may or may not be spent). 2016-10-27 08:41:44 -04:00
Thomas Harte
f84b66a5f4 Made an attempt to fix wake-from-WAIT. 2016-10-25 19:06:46 -04:00
Thomas Harte
4b18c76b84 Introduced a bifurcation between break and continue to signify whether a bus access takes place, necessitating a shift in the location of the bus access but allowing the conditional to be dropped. Need to test. 2016-10-25 18:45:53 -04:00
Thomas Harte
c253a4258f Made minor restructuring changes, slightly to reduce number of conditionals per operation and to drop a big hint to the optimiser. 2016-10-25 18:34:24 -04:00
Thomas Harte
cb1b81dbef Merge pull request #61 from TomHarte/TapImprovements
Makes an attempt to improve the handling of Oric TAPs
2016-10-25 18:23:30 -04:00
Thomas Harte
013f0c5317 Finally forced emulation window to front. Also removed min/max heights where they'd crept in and got explicit about the OpenGL view being first responder. 2016-10-24 22:08:24 -04:00
Thomas Harte
d3634488e6 Made an attempt better to deal with multiple-file TAPs; also started using a zero level for the header/data gap. 2016-10-24 21:59:06 -04:00
Thomas Harte
30d4a7c662 Fixed: blinking means ink vanishing and appearing. Nothing else. 2016-10-24 21:58:15 -04:00
Thomas Harte
cf5685abf3 Merge pull request #60 from TomHarte/SilentAudio
Introduces a reuse list for Mac audio buffers
2016-10-23 21:27:13 -04:00
Thomas Harte
91831b6a95 Introduced a reuse list for audio buffers, based on the observation that the audio queue seems to start quick rejecting them. 2016-10-23 21:17:00 -04:00
Thomas Harte
33b93b7098 Merge pull request #59 from TomHarte/AYFixes
Reduces AY processor load
2016-10-23 20:44:48 -04:00
Thomas Harte
fd823dc222 Settled on terminology. 2016-10-23 20:42:49 -04:00
Thomas Harte
7c33c34b0c Have withdrawn attempt to be clever with client notification here, as it was having no effect in the current environment, making it hard to build up any confidence. 2016-10-23 20:33:59 -04:00
Thomas Harte
b12f2f2796 Switched to more straightforward version of two-step loop, dealing with my mistaken dealing of when _master_divider&15 == 0 upon entry without adding an extra sanity check. Am also temporarily on non-modulo logic for tone generation, for a profiling test. 2016-10-23 20:32:48 -04:00
Thomas Harte
583db88299 Added a dispatch queue-powered Apple implementation of the async task queue, removed any mention of skip_samples in the AY since it isn't implemented. 2016-10-22 21:58:45 -04:00
Thomas Harte
33e628a096 Made an attempt to eliminate what amounts to manual division. 2016-10-21 22:16:44 -04:00
Thomas Harte
46a3c0922f Slightly simplified code, fixed divider. 2016-10-21 22:12:44 -04:00
Thomas Harte
d7c0c49715 Might as well be consistent with divider loads. 2016-10-21 20:07:14 -04:00
Thomas Harte
782ef960e1 Sought both to [start to] optimise the AY and correct divider reloads. It turns out that conditionals aren't that troubling. But I can probably eliminate the counters. 2016-10-21 20:05:38 -04:00
Thomas Harte
09687a2e2f Removed errant newline. 2016-10-20 21:30:12 -04:00
Thomas Harte
44910d90ba Adjusted aberrations in semicolons. 2016-10-20 21:20:13 -04:00
Thomas Harte
460f518451 Merge pull request #58 from TomHarte/CleanUp
Minor code improvements
2016-10-20 21:17:42 -04:00
Thomas Harte
6292ac5b26 Yet more .hpp clean(s)ing. 2016-10-20 21:15:21 -04:00
Thomas Harte
c5948ef177 Evicted more header-resident code. 2016-10-20 21:05:32 -04:00
Thomas Harte
d335991e60 Shifted code out of the header. 2016-10-20 20:53:17 -04:00
Thomas Harte
cbbd31c2e0 Explained what this recently factored-out class does, and removed code from the header. 2016-10-20 19:33:25 -04:00
Thomas Harte
9c956f83b8 Made it slightly more clear that the correct test is conformed to. 2016-10-20 19:23:36 -04:00
Thomas Harte
79ed215254 Merge pull request #57 from TomHarte/Oric
Adds very provisional Oric emulation
2016-10-20 07:39:38 -04:00
Thomas Harte
5185927a43 Added formal admission of Oricness. 2016-10-20 07:38:48 -04:00
Thomas Harte
f13d7ed6f4 Added an extra safety rail. 2016-10-20 07:36:53 -04:00
Thomas Harte
21cfb39ed9 Added 60Hz output support. 2016-10-20 07:34:23 -04:00
Thomas Harte
73365e1877 Resolved sizing error. 2016-10-19 23:09:05 -04:00
Thomas Harte
cd59eb5f43 Implemented non-linear volume. 2016-10-19 23:07:51 -04:00
Thomas Harte
c24c1bf3b1 Created an options panel for the Oric. Which involved far too much copy and paste from the Electron. Time to figure out how to generalise this stuff, probably. 2016-10-19 22:56:14 -04:00
Thomas Harte
b59da7d4bc Added some documentation. 2016-10-19 22:47:44 -04:00
Thomas Harte
08275c6241 Fixed mixer IO bit usage. 2016-10-19 22:22:15 -04:00
Thomas Harte
59162228ef Reduced mask for clarity. 2016-10-19 22:14:05 -04:00