1
0
mirror of https://github.com/TomHarte/CLK.git synced 2026-04-20 10:17:05 +00:00
Commit Graph

1276 Commits

Author SHA1 Message Date
Thomas Harte 186b911e8e Switch to get/as. 2026-03-06 15:44:22 -05:00
Thomas Harte 30b10f8593 Reduce usages of reinterpret_cast.
(And do some drive-by `const`ing)
2026-02-28 11:30:15 -05:00
Thomas Harte 73bb186585 Adopt responsibility for consistent negative/positive sampling. 2026-02-27 14:39:55 -05:00
Thomas Harte e6c6ad18bf Revive four-discrete-sample phase rounding. 2026-02-27 14:33:20 -05:00
Thomas Harte a0a3c8ac9b Capture phase offset in OpenGL. 2026-02-27 10:03:51 -05:00
Thomas Harte 71992cbd5b Aim for a multiple of the colour subcarrier for phase-linked-luminance. 2026-02-27 09:54:51 -05:00
Thomas Harte 92b17173c8 Eliminate interframe blending if emulator is running in sync with display. 2026-02-26 15:58:29 -05:00
Thomas Harte e3d137f443 Unify (and correct) interframe alpha choices. 2026-02-26 15:40:07 -05:00
Thomas Harte e38a55b393 Ensure #pragma once is used consistently. 2026-02-26 13:47:49 -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 26afdf972c Explain fields. 2026-02-23 14:20:26 -05:00
Thomas Harte 486a67586a Include interlacing information in Field. 2026-02-22 23:16: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 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 69b9aa9b57 Remove done TODO. 2026-02-19 12:31:45 -05:00
Thomas Harte 4f114d8370 Add header for std::lock_guard. 2026-02-18 16:02:44 -05:00
Thomas Harte fa9bae55d8 Add lock for using scan_target_. 2026-02-18 14:12:05 -05:00
Thomas Harte 9b65349908 Ensure safe usage of force_horizontal_scans.load. 2026-02-18 13:01:56 -05:00
Thomas Harte 406fc85186 First blush: force always-horizontal, always. 2026-02-16 23:35:30 -05:00
Thomas Harte 717235cede Add a delegate route for requesting exactly-horizontal scans. 2026-02-16 23:07:14 -05:00
Thomas Harte abe844505f Eliminate LineMetadata, redundant memory barriers. 2026-02-15 15:53:26 -05:00
Thomas Harte 0562a5aa00 Consume Frames correctly. 2026-02-15 15:49:56 -05:00
Thomas Harte 742bf46297 Attempt to consume Frames. Seems faulty. 2026-02-15 14:03:48 -05:00
Thomas Harte dc9e9f194c Capture completeness. 2026-02-15 13:35:32 -05:00
Thomas Harte 5abff02d56 Factor out the stuff of being a circular counter. 2026-02-15 13:10:24 -05:00
Thomas Harte a8761bdd43 Complete relocation. 2026-02-15 13:02:10 -05:00
Thomas Harte 45602cf5f1 Relocalise PointerSet definition. 2026-02-15 11:04:36 -05:00
Thomas Harte 694ffea92d Add justification. 2026-02-15 07:54:15 -05:00
Thomas Harte 4b9e37f163 Attempt to update frame areas. 2026-02-15 07:51:38 -05:00
Thomas Harte f24a8ea93f Continue baby steps towards keeping per-frame records. 2026-02-14 18:17:08 -05:00
Thomas Harte 031f00cd1e Eliminate 'frame's from 'PointerSet'. 2026-02-14 11:56:08 -05:00
Thomas Harte 2311707764 Restore header for lock_guard, etc. 2026-02-14 11:39:54 -05:00
Thomas Harte 9a55cc1f55 Eat own dogfood on spin locks. 2026-02-14 11:21:23 -05:00
Thomas Harte ed061fa9b3 Factor out spin lock, get a bit stricter on PointerSets. 2026-02-14 11:14:20 -05:00
Thomas Harte 6d52fdea4d Factor out and unify line/scan frame subdivision. 2026-02-13 21:57:59 -05:00
Thomas Harte b64da038d6 Eliminate unused Line properties. 2026-02-13 21:17:17 -05:00
Thomas Harte 17ee68f227 Stop assuming consistency of glEnables. 2026-02-10 02:15:17 +00:00
Thomas Harte 06a16a62b9 Avoid accidental quadrature clamping. 2026-02-09 20:30:22 -05:00
Thomas Harte 0d83b4a808 Overtly rebind all textures.
This is defensive, based on prior experience of Qt, which seems to reserve the right to mutate your OpenGL state.
2026-02-09 11:03:24 -05:00
Thomas Harte 2e663e60a1 Restore real output path. 2026-02-09 14:49:28 +00:00
Thomas Harte 1e38a0000f Be more overt in creation tests. 2026-02-09 14:47:15 +00:00
Thomas Harte 2258871159 Introduce random fill in debug builds. 2026-02-08 22:30:47 -05:00
Thomas Harte cdddfca788 Ensure successful compilation on stricter compilers. 2026-02-08 16:23:56 +00:00
Thomas Harte c55ded88a5 Remove done TODO. 2026-02-07 22:39:15 -05:00
Thomas Harte 17ab2e2aaf Clean up resources. 2026-02-07 22:38:39 -05:00
Thomas Harte 2d8c4a3a2e Copy old output buffer when resizing; remove draw. 2026-02-07 22:32:51 -05:00