Thomas Harte
bafef023a5
Remove danglng misuses of previous_posted_rect_.
2025-10-31 19:36:18 -04:00
Thomas Harte
9b39eebc2d
Attempt to keep dynamic framing going permanently, for smooth transitions.
2025-10-31 15:58:09 -04:00
Thomas Harte
89678f1ea7
Tweak decision process, add maximum scale parameter.
2025-10-16 16:26:16 -04:00
Thomas Harte
66d76dc36a
Adjust dynamic semantics again.
2025-10-15 23:30:25 -04:00
Thomas Harte
06629def62
Restore some fixed areas, work on API.
2025-10-14 22:51:36 -04:00
Thomas Harte
bc6cffa95c
Enable full dynamic selection again for the CPC.
2025-10-13 08:54:33 -04:00
Thomas Harte
48ed2912b0
Reenable dynamic framing.
2025-10-12 22:30:37 -04:00
Thomas Harte
23c3a1fa99
Lean further overtly towards a state machine.
2025-10-12 08:59:07 -04:00
Thomas Harte
ef6e1b2f74
Unpublish enum, simplify function names.
2025-10-11 15:07:09 -04:00
Thomas Harte
1107f0d9a3
For relevant machines: pick different amounts of border to show.
2025-10-10 21:58:03 -04:00
Thomas Harte
a9f5b17fcb
Eliminate frame_is_complete_, add prewalming loop.
2025-10-10 17:59:10 -04:00
Thomas Harte
087d3535f6
Start focussing on getting a good crop for 'static' machines.
2025-10-09 18:01:46 -04:00
Thomas Harte
85d6957e03
Attempt to do better at startup.
2025-10-08 14:33:49 -04:00
Thomas Harte
605f4a92d7
Use animation curve, try to be fooled less at startup.
2025-10-08 12:58:12 -04:00
Thomas Harte
d395e2bc75
Introduce animated crop.
2025-10-08 12:18:04 -04:00
Thomas Harte
e6ccdc5a97
Edge towards animations.
2025-10-07 23:00:36 -04:00
Thomas Harte
a68c7aa45f
Use filter, attempt to be intelligent about the border.
2025-10-07 22:56:51 -04:00
Thomas Harte
d68b172a40
Introduce preliminary output frame filtering.
2025-10-07 22:36:36 -04:00
Thomas Harte
2c0610fef8
Accumulate union of all pixel-bearing scans.
2025-10-06 20:26:15 -04:00
Thomas Harte
dde31e8687
Reformat inner loop.
2025-10-06 14:26:03 -04:00
Thomas Harte
190fb009bc
Clean up CRT.hpp for formatting. Switch pointer to reference.
2025-10-06 13:55:03 -04:00
Thomas Harte
62574d04c6
Avoid some redundant parameter names.
2025-10-06 13:32:28 -04:00
Thomas Harte
2496257bcf
Adopt normative public-then-private ordering.
2025-10-06 13:28:04 -04:00
Thomas Harte
ab73b4de6b
Split off the mismatch warner.
2025-10-06 13:27:10 -04:00
Thomas Harte
6c1c32baca
Move flywheels local.
2025-10-04 22:42:56 -04:00
Thomas Harte
d825c03372
Prefer references for delegate protocols.
2025-08-30 00:09:38 -04:00
Thomas Harte
2c2216afae
Further eliminate file-relative includes.
2025-02-28 13:18:48 -05:00
Thomas Harte
ce5aae3f7d
Adjust more dangling indentation changes.
2024-12-04 22:29:08 -05:00
Thomas Harte
2ec235170e
Finish the thought on magic constants.
2024-03-21 20:45:17 -04:00
Thomas Harte
2de1a2dd0d
Install and properly clock a CRT.
2024-03-21 20:41:24 -04:00
Thomas Harte
a3d37640aa
Switch include guards to #pragma once.
2024-01-16 23:34:46 -05:00
Ryan Carsten Schmidt
5ef6b190af
Fix typos
2023-12-16 03:53:07 -06:00
Thomas Harte
fc63fcb751
Unify usages of output_level for border.
2023-12-07 11:04:18 -05:00
Thomas Harte
2b56b7be0d
Simplify namespace syntax.
2023-05-10 16:02:18 -05:00
Thomas Harte
986c4006a6
Corrected: PAL machines can now be overt in terms of odd/even colour burst.
2021-03-20 23:45:49 -04:00
Thomas Harte
6ef1dfd8be
Sets a more realistic colour subcarrier amplitude.
2020-09-02 15:52:05 -04:00
Thomas Harte
73131735fa
Further qmake warning corrections.
2020-05-30 19:31:17 -04:00
Thomas Harte
267006782f
Starts to add Qt target; resolves many build warnings.
2020-05-30 00:37:06 -04:00
Thomas Harte
66c2eb0414
Further tightens const and constexpr usage.
2020-05-12 22:22:21 -04:00
Thomas Harte
31c6faf3c8
Adds a bunch of consts.
2020-05-09 21:23:52 -04:00
Thomas Harte
394ee61c78
Starts a switch to reflectable-style runtime options.
...
The Amstrad CPC and ZX80/81 have made the jump so far, subject to caveats. The macOS build is unlikely currently to work properly.
2020-03-16 23:25:05 -04:00
Thomas Harte
8aabf1b374
Allows receivers of nullptr from begin_data to output any quantity of data.
2020-02-01 21:43:48 -05:00
Thomas Harte
019474300d
Centralises responsibility for picking irrelevant numbers for a computer-style monitor.
2020-01-30 23:26:02 -05:00
Thomas Harte
9136917f00
Enables the Oric for 50/60Hz mode switching, inventing PAL60 for the purpose.
2020-01-23 22:14:02 -05:00
Thomas Harte
428d141bc9
Factors out the logic behind the Atari 2600's frequency switching.
2020-01-23 20:12:44 -05:00
Thomas Harte
a71c5946f0
Ensures proper manipulation of scan_statuses, leading to the correct result out of a CRTMachine.
...
Possibly with the exception of the TMS, as I appear to have uncovered an unrelated issue there.
2020-01-21 22:28:25 -05:00
Thomas Harte
e7fff6e123
Minor step towards correct answers: divide by time_multiplier_.
2020-01-20 22:33:51 -05:00
Thomas Harte
d97a073d1b
Adds the necessary routine for all machines to be able to respond to get_scan_status.
...
They all just as the CRT, as all are currently based on the CRT. Which doesn't currently know the total clock rate it would need to in order properly to scale the answer to the question. Further thought coming.
2020-01-20 21:45:10 -05:00
Thomas Harte
9c7aa5f3fc
Attempts also to spot data writes without allocations.
2019-10-19 18:26:56 -04:00
Thomas Harte
418cd07e17
Adds a check against overrunning data.
2019-10-19 18:17:44 -04:00