1
0
mirror of https://github.com/TomHarte/CLK.git synced 2026-03-15 01:16:40 +00:00
Commit Graph

13970 Commits

Author SHA1 Message Date
Thomas Harte
d7b6022323 Commit new version number. 2026-02-23 2026-02-23 17:27:03 -05:00
Thomas Harte
30cbc03505 Merge pull request #1714 from TomHarte/NoFlashes
Eliminate all visible interlaced/progressive transitions.
2026-02-23 17:21:32 -05:00
Thomas Harte
ea1df88083 Avoid hard-coded magi constant. 2026-02-23 17:06:25 -05:00
Thomas Harte
8119428d56 Always bifurcate fields. 2026-02-23 17:01:58 -05:00
Thomas Harte
a7eb0b14f4 Always divide lines; use interlaced merely as final weighting. 2026-02-23 16:48:52 -05:00
Thomas Harte
0643a81e4f Always alternate fields. 2026-02-23 16:47:12 -05:00
Thomas Harte
93a75788ef Merge pull request #1713 from TomHarte/Exposition
Better explain captured data.
2026-02-23 14:29:50 -05:00
Thomas Harte
26afdf972c Explain fields. 2026-02-23 14:20:26 -05:00
Thomas Harte
e8f712ce3f Merge pull request #1712 from TomHarte/MetalDeinterlacing
Complete #1710
2026-02-23 14:13:42 -05:00
Thomas Harte
f24dfea37d Merge pull request #1710 from TomHarte/MetalDeinterlacing
Metal: adopt weave-style deinterlacing.
2026-02-23 14:00:28 -05:00
Thomas Harte
a69b7a0884 Attempt full combination pipeline. 2026-02-23 11:42:40 -05:00
Thomas Harte
56246427da Set different alpha, show alternate buffers as a test. 2026-02-23 11:01:34 -05:00
Thomas Harte
e04e65d26a Split framebuffer targets by field. 2026-02-22 23:33:31 -05:00
Thomas Harte
9e286bf779 Further unify code. 2026-02-22 23:19:55 -05:00
Thomas Harte
486a67586a Include interlacing information in Field. 2026-02-22 23:16:33 -05:00
Thomas Harte
5531c817a7 Allocate second framebuffer. 2026-02-22 18:52:22 -05:00
Thomas Harte
049e57f422 Remove done TODOs. 2026-02-22 16:12:24 -05:00
Thomas Harte
01b1d74ca7 Reorder stencil and framebuffer creation. 2026-02-22 15:57:38 -05:00
Thomas Harte
c32ace0244 Merge pull request #1709 from TomHarte/InterlacedOpenGL
Introduce weave as a deinterlacing strategy for OpenGL.
2026-02-22 11:08:33 -05:00
Thomas Harte
93fb57a478 Set alphas less often. 2026-02-22 09:43:13 -05:00
Thomas Harte
29fa6b21ed Fix to-weave transition, alphas. 2026-02-21 23:19:18 -05:00
Thomas Harte
cbf5b79a5b Attempt different frame weighting for interlaced output. 2026-02-21 22:42:51 -05:00
Thomas Harte
2cf0c4f8aa Switch horses only when certain. 2026-02-21 22:42:22 -05:00
Thomas Harte
8a4000c106 Merge pull request #1708 from TomHarte/InterlacedDetection
Flag interlaced video as such.
2026-02-21 21:32:14 -05:00
Thomas Harte
ea3e9a96f1 Detect and expose is-interlaced flag.
With plenty of exposition to avoid confusing the reader into thinking that the emulator is predicated on this in an unrealistic fashion.
2026-02-21 21:17:35 -05:00
Thomas Harte
f156265318 Add mask optimisation. 2026-02-21 21:17:18 -05:00
Thomas Harte
95047a05fc Bump version number. 2026-02-20 2026-02-20 12:59:57 -05:00
Thomas Harte
5170ae7abc Merge pull request #1706 from TomHarte/MacJoystickContention
Put keyboard-as-joystick within an @synchronize.
2026-02-19 14:05:58 -05:00
Thomas Harte
f5b20e6c23 Put keyboard-as-joystick within an @synchronize. 2026-02-19 13:43:26 -05:00
Thomas Harte
ffb7aa8834 Merge pull request #1705 from TomHarte/MetalRangeModifies
Metal: correct values passed to `didModifyRange`.
2026-02-19 12:53:07 -05:00
Thomas Harte
c62dabd6f5 Eliminate 'BufferWidth' entirely as a non-descriptive name. 2026-02-19 12:45:13 -05:00
Thomas Harte
5947a857c2 Correct byte address calculation. 2026-02-19 12:44:03 -05:00
Thomas Harte
0f5e20e859 Merge pull request #1704 from TomHarte/UndefinedBehaviourRedux
Resolve minor instances of undefined behaviour.
2026-02-19 12:43:31 -05:00
Thomas Harte
69b9aa9b57 Remove done TODO. 2026-02-19 12:31:45 -05:00
Thomas Harte
9cd68c956a Avoid taking offset from nullptr. 2026-02-19 12:31:45 -05:00
Thomas Harte
fafae46fac Eliminate out-of-bounds risk. 2026-02-19 12:31:45 -05:00
Thomas Harte
6df2ee1427 Avoid potential out-of-bounds accesses. 2026-02-19 12:31:45 -05:00
Thomas Harte
ff0fa8b7c0 Merge pull request #1702 from TomHarte/ThreadSanitiser
Resolve random selection of thread-sanitiser-revealed issues.
2026-02-18 18:13:19 -05:00
Thomas Harte
4f114d8370 Add header for std::lock_guard. 2026-02-18 16:02:44 -05:00
Thomas Harte
742480d2a4 Switch to overt atomic-pointer-read form, clearly to avoid deadlock. 2026-02-18 15:24:35 -05:00
Thomas Harte
224d039405 Take refreshPeriod outside scheduled work, to avoid deadlock. 2026-02-18 14:12:22 -05:00
Thomas Harte
fa9bae55d8 Add lock for using scan_target_. 2026-02-18 14:12:05 -05:00
Thomas Harte
b49e78975f Use mutex; guard strongSelf references. 2026-02-18 13:23:17 -05:00
Thomas Harte
205e21ba21 Avoid synchronisation issues on inputs_. 2026-02-18 13:18:24 -05:00
Thomas Harte
91a735e4a0 Avoid potential unsafe access of updater. 2026-02-18 13:06:22 -05:00
Thomas Harte
455f40c6ef Ensure safe access to use_fast_tape_hack_. 2026-02-18 13:05:55 -05:00
Thomas Harte
9b65349908 Ensure safe usage of force_horizontal_scans.load. 2026-02-18 13:01:56 -05:00
Thomas Harte
bc3be5e42c Force serialisation of callback responses. 2026-02-18 12:58:06 -05:00
Thomas Harte
1d3cf801e6 Add some drive-by consts. 2026-02-18 12:55:55 -05:00
Thomas Harte
56969484c8 Ensure safe access to joystick inputs. 2026-02-18 12:53:56 -05:00