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

1254 Commits

Author SHA1 Message Date
Thomas Harte
7ad44f5152 Flipped order of conditional so as negligibly to improve prediction. 2016-10-31 22:17:18 -04:00
Thomas Harte
08e8118be3 Merge pull request #67 from TomHarte/FixedOricAudio
Fixes Oric audio
2016-10-31 22:06:04 -04:00
Thomas Harte
21604376e6 Reintroduced clocking of the AY and boxed in the range of the master divider a little further. 2016-10-30 22:51:08 -04:00
Thomas Harte
1333a42a78 Merge pull request #66 from TomHarte/CheckOnlyWhenNeeded
Takes one more test out of the operation loop
2016-10-30 20:31:34 -04:00
Thomas Harte
4b347b9993 Made a trivial XCTAssert unit test substitution. 2016-10-30 20:30:32 -04:00
Thomas Harte
2452a3104f Corrected test: hitting zero is sufficient. No need to cross it. 2016-10-30 20:24:30 -04:00
Thomas Harte
8d87a61f63 Merge branch 'master' into CheckOnlyWhenNeeded 2016-10-30 20:17:57 -04:00
Thomas Harte
9f66f6abfe Merge pull request #65 from TomHarte/OricVideoImprovements
Rearranges Oric painting logic to reduce code path complexity
2016-10-30 20:17:24 -04:00
Thomas Harte
b04ba41951 Moved code out of header. 2016-10-30 20:16:58 -04:00
Thomas Harte
3b52ab0d37 Cut some dead state. 2016-10-30 20:16:52 -04:00
Thomas Harte
42fe9f29ac Moved code out of header. 2016-10-30 20:16:22 -04:00
Thomas Harte
95f54cb4b5 Cut some dead state. 2016-10-30 20:15:47 -04:00
Thomas Harte
9309be229c Moved cycle count test down to the only places where it may actually yield a different result. 2016-10-30 20:13:44 -04:00
Thomas Harte
58f888c6ad Limited CRT calls. 2016-10-30 16:21:20 -04:00
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