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
66e959ab65
Temporarily exclude borders.
2025-10-07 22:42:26 -04:00
Thomas Harte
d68b172a40
Introduce preliminary output frame filtering.
2025-10-07 22:36:36 -04:00
Thomas Harte
6eb32f98b2
Fix rectangle union.
2025-10-06 22:50:29 -04:00
Thomas Harte
0fad97ed48
Apply different axis scales.
2025-10-06 22:36:19 -04:00
Thomas Harte
2c0610fef8
Accumulate union of all pixel-bearing scans.
2025-10-06 20:26:15 -04:00
Thomas Harte
4653de9161
Pull out and comment on mix, improve asserts.
2025-10-06 16:11:59 -04:00
Thomas Harte
1926ad9215
Normalise and slightly reformat flywheel interface.
2025-10-06 14:53:08 -04:00
Thomas Harte
33d047c703
Add a const.
2025-10-06 14:38:40 -04:00
Thomas Harte
fadda00246
Eliminate flywheel 'get's, hence normalise CRT line lengths.
2025-10-06 14:36:39 -04:00
Thomas Harte
a3fed788d8
Reduce repetition.
2025-10-06 14:27:57 -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
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
5018d7d577
Be more rigorous about static constexpr.
2025-08-26 22:54:39 -04:00
Thomas Harte
81398d58a2
Improve get_rect_for_area, use in C16.
2024-12-18 20:53:03 -05:00
Thomas Harte
8feb8aaadc
Reintroduce cropping, even if faulty.
2024-09-06 22:12:19 -04:00
Thomas Harte
aa6acec8fa
Don't hoard cycles per line value.
2024-03-21 21:47:27 -04: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
Ryan Carsten Schmidt
5ef6b190af
Fix typos
2023-12-16 03:53:07 -06: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
96e79301f3
Clamps 16-bit positioning values.
2020-11-15 19:14:57 -05:00
Thomas Harte
894269aa06
Allows for permitted 1/32nd timing error in time_multiplier_.
2020-09-17 18:12:21 -04:00
Thomas Harte
b1aefbfe85
Separates asserts.
2020-09-15 23:24:06 -04:00
Thomas Harte
69d21daaa3
Improves commentary.
2020-09-15 22:21:05 -04:00
Thomas Harte
25996ce180
Further doubles down on construction syntax for type conversions.
2020-05-09 23:00:39 -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
f95b07efea
Continues edging towards raster racing and/or time warping.
2020-02-06 23:35:03 -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
f9ce50d2bb
Adds some debugging `asserts.
2020-01-29 22:45:44 -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
a5f285b4ce
Enhances reported data.
2020-01-22 22:01:17 -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
82e5def7c4
Implements get_scan_status, but for scale being incorrect.
2020-01-20 21:58:34 -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
0dae608da5
Embraces std::make_[unique/shared] in place of .reset(new .
2019-12-23 21:31:46 -05:00
Thomas Harte
274867579b
Deploys constexpr as a stricter const.
2019-12-22 00:22:17 -05:00
Thomas Harte
cc7ff1ec9e
Corrects typo.
2019-11-09 14:59:35 -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
Thomas Harte
f6f9024631
Corrects Macintosh aspect ratio (and framing).
2019-06-13 18:41:38 -04:00
Thomas Harte
db078c7363
Minor tweak: don't start counting phase from zero.
...
This should ensure no first pixel issues resulting from clamping.
2019-02-27 18:51:51 -05:00
Thomas Harte
2f9e825728
Forces the outward-communicated composite angles to have the same precision as the cycle counts.
...
While also making a minor improvement to output range. Which is neither here nor there.
2019-02-24 14:29:43 -05:00