Thomas Harte
34047fa60a
Reintroduces proper locking of the OpenGL context in macOS.
2019-03-03 14:49:20 -05:00
Thomas Harte
05d483bc5b
Corrects potential machine shutdown race condition.
2019-03-02 23:17:31 -05:00
Thomas Harte
c11a1f9679
Introduces S-Video support for the ColecoVision.
2019-03-02 23:02:37 -05:00
Thomas Harte
2beeaa513b
Ensures a machine exists before messaging it.
2019-03-02 21:27:34 -05:00
Thomas Harte
bee0d09877
Splits display update and draw functions.
...
On the Mac, draw is now called without an update for resizing events, and
anything else requested by AppKit. In all other cases — including from
the SDL version — both are called as if they were still a single function.
2019-03-02 19:33:28 -05:00
Thomas Harte
816ad0a94c
Introduces region support to the MSX.
2019-02-28 20:54:43 -05:00
Thomas Harte
d122535a65
Unifies the OpenGL screenshot code and corrects it for arbitrary alignment.
2019-02-27 21:05:02 -05:00
Thomas Harte
6c1d94beaa
Adds composite monochrome output for the Oric. At least temporarily.
2019-02-18 16:56:48 -05:00
Thomas Harte
3e0b5433b9
Institutes colour/monochrome screen selection as an Apple II option.
...
Allowing me to test that straight-through composite still works.
2019-02-12 19:52:32 -05:00
Thomas Harte
20b4896940
Eliminates the dead stuff of CRTConstants.hpp.
2019-01-25 19:11:39 -05:00
Thomas Harte
6a93d2d006
Corrects some minor spaces-instead-of-tabs errors.
2019-01-24 22:59:03 -05:00
Thomas Harte
4748b09721
Ensures safe OpenGL shutdown.
2019-01-17 20:44:18 -05:00
Thomas Harte
55290f4dad
Attempts a fix of frame_was_complete_ logic, to try to eliminate black flashes.
2019-01-14 21:42:45 -05:00
Thomas Harte
bb03d2f2ad
Removes redundant enumeration.
2019-01-13 23:07:50 -05:00
Thomas Harte
e9d9ff0da0
Enhances ScanTarget to provide additional timing information.
2019-01-05 23:09:17 -05:00
Thomas Harte
601961deeb
Wires through set_display_type
.
2018-11-29 20:44:21 -08:00
Thomas Harte
64465f97b6
Starts towards reintroducing the proper mechanisms for selecting a display type at runtime.
2018-11-28 17:53:33 -08:00
Thomas Harte
dd4af4f0df
Removes dead files.
2018-11-24 22:40:06 -05:00
Thomas Harte
6b42b92930
Kills CRTOpenGL.cpp and simplifies shader output very slightly.
2018-11-24 17:37:58 -05:00
Thomas Harte
ee89be6730
Removes many stray spaces.
2018-11-23 22:32:32 -05:00
Thomas Harte
a697a2e4f6
Attempts to complete all input processing — an RGB, S-Video or composite input buffer is now produced.
...
... for all input data types.
2018-11-22 17:20:31 -05:00
Thomas Harte
817aa186c2
Revokes 'synchronous' as a function of onlyIfDirty, as it doesn't allow for double buffering.
2018-11-20 22:00:40 -05:00
Thomas Harte
f12d734957
Disables multisampling, since there's no way it's being helpful.
2018-11-19 23:36:29 -05:00
Thomas Harte
75bc0e451d
Reintroduces the accumulation texture.
...
Disables automatic clearing of the texture target, as the profiler indicates the vector instantiation to be a huge time sink.
2018-11-18 21:39:11 -05:00
Thomas Harte
8a699b6072
Kills setup_output
definitively, saving some indirection. set_scan_target
takes its place.
2018-11-14 21:52:57 -05:00
Thomas Harte
91b19c5c70
Adds bookending, and finally kills the TextureBuilder. Farewell.
2018-11-14 20:49:06 -05:00
Thomas Harte
bf3ab4e260
Proceeds as drawing to the unprocessed line buffer and drawing from it.
...
Very, very slowly, and without yet clearing.
2018-11-13 21:15:33 -05:00
Thomas Harte
2adf3d353e
Subtracts retrace periods from output scale.
2018-11-12 20:20:09 -05:00
Thomas Harte
3045e85004
Ensures redraws when resizing; declines to busy wait otherwise.
2018-11-12 20:15:38 -05:00
Thomas Harte
938d09f34a
Corrects scan outline generation.
2018-11-12 18:23:45 -05:00
Thomas Harte
dce52d740d
Finally gets some pixels back on screen.
...
For now, just the raw scans, direct to the framebuffer, with no intermediate processing. But it seems to prove that at least some of the proper data is reaching the GPU.
2018-11-11 23:23:42 -05:00
Thomas Harte
3ae333fa84
Edges further towards reviving the shaders.
2018-11-11 21:41:13 -05:00
Thomas Harte
d5af1f3948
Removes some migrated work.
2018-11-11 16:22:14 -05:00
Thomas Harte
36bf640c6f
Acts as if it is going to submit scans, at least.
2018-11-07 22:53:46 -05:00
Thomas Harte
7881e40e0b
Shuffles the OpenGL primitives into their own collection.
2018-11-07 19:11:01 -05:00
Thomas Harte
55da1e9c0f
Simplifies semantics a little and starts accepting a single buffer of pixel data.
2018-11-06 22:23:38 -05:00
Thomas Harte
014da41471
Ensures scan positions are communicated with a specified range, and switches manner of pixel clock communication.
2018-11-04 21:06:25 -05:00
Thomas Harte
05fb7db147
Reduces CRT chattiness.
2018-11-03 23:47:41 -04:00
Thomas Harte
f6562de325
Possibly adds enough for the Electron and ZX80 to start outputting dummy lines.
...
Let's see!
2018-11-03 23:40:39 -04:00
Thomas Harte
b40211d2c0
Starts to bend 'CRTMachine' to a world farther from owning the GPU relationship.
2018-11-03 21:54:25 -04:00
Thomas Harte
da4d883321
Adds first, incomplete attempts to talk to a ScanTarget from the CRT.
...
Does away with the hassle of `unsigned` while I'm here; that was a schoolboy error.
2018-11-03 19:58:44 -04:00
Thomas Harte
a8645f80bf
Introduces 'non-exclusive' emulator-space keyboards.
...
i.e. sets of keys that don't amount to an entire keyboard in the modern sense. Experimentally used by the Master System for its reset key.
2018-10-24 21:59:30 -04:00
Thomas Harte
f69cb28933
Reverts accidental project configuration change.
2018-10-23 22:32:05 -04:00
Thomas Harte
e3fd63b2d7
Adds composite/RGB selection for the Master System.
2018-10-23 22:30:24 -04:00
Thomas Harte
c07f9fed99
Corrects test and implementation to pass the exhaustive VDP interrupt prediction test.
2018-10-21 18:42:49 -04:00
Thomas Harte
616777517d
Makes the failing test more communicative, in the hope of more easily debugging errors.
2018-10-21 14:35:44 -04:00
Thomas Harte
b3f1677da5
Introduces new failing test for rational continuous interrupt prediction.
2018-10-21 13:59:14 -04:00
Thomas Harte
725b364bbc
Improves testing; now tests for time to the first interrupt.
2018-10-20 18:25:55 -04:00
Thomas Harte
acdc84e08c
Improves test slightly, and fixes line interrupt reload value setting.
2018-10-09 22:14:35 -04:00
Thomas Harte
c128ddb549
Introduces a first unit test for line interrupts and corrects backup behaviour.
2018-10-09 21:49:21 -04:00