Thomas Harte
87df8b9e85
Makes an attempt at pre-emptive line buffer clearing.
2018-11-14 21:19:14 -05:00
Thomas Harte
91b19c5c70
Adds bookending, and finally kills the TextureBuilder. Farewell.
2018-11-14 20:49:06 -05:00
Thomas Harte
0487580a1a
Corrects initial state of is_drawing_
and expands lines to full display.
2018-11-14 20:10:38 -05:00
Thomas Harte
3dca836571
Ensures no overflow, and adds a couple of const
s.
2018-11-14 20:09:57 -05:00
Thomas Harte
6ba02c44d0
Better binds buffer sizes.
2018-11-13 23:08:51 -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
02f9cada43
Communicates the colour subcarrier frequency, and uses it to pick a buffer width.
2018-11-13 18:33:44 -05:00
Thomas Harte
654a19ea15
Switches back to working on the scan shaders.
...
Pixels from the emulated machine are now starting to appear.
2018-11-12 22:52:26 -05:00
Thomas Harte
ecb5504bd1
Switches enable_vertex_attribute_with_pointer
to silent failure (versus glGetError).
2018-11-12 22:51:44 -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
e9d1afd515
Appears to demonstrates that the line buffer is approximately working.
2018-11-12 19:10:48 -05:00
Thomas Harte
833ab7945b
Slow steps towards switching to line output.
2018-11-12 18:56:54 -05:00
Thomas Harte
0af1d668a6
Takes a first step towards generality, and thereby starts submitting lines.
2018-11-12 18:47:55 -05:00
Thomas Harte
0ac62e3805
Flips and properly sizes output scans.
2018-11-12 18:28:09 -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
0ba3ae53ab
Connects up the necessary recording to use intermediate composite buffers.
2018-11-11 15:20:18 -05:00
Thomas Harte
be12d78c83
Corrects vertical event announcement, and adjusts namespaces for OpenGL primitives.
2018-11-11 15:11:32 -05:00
Thomas Harte
b70227ac1b
Ensures proper write area locations end up in the scans.
2018-11-10 21:10:33 -05:00
Thomas Harte
6d277fecd5
Makes ScanTarget
a little more communicative and orthogonal.
2018-11-10 19:52:57 -05:00
Thomas Harte
491817d85c
Corrects allocation error and begins submitting raw textures.
2018-11-08 23:02:36 -05:00
Thomas Harte
20faf4e477
Adds submission of scans to the GPU.
2018-11-08 22:21:11 -05:00
Thomas Harte
4fe5c7c24e
Conspires to handle multithreading side of things in a lockless fashion.
...
At least on x86-64.
2018-11-08 21:57:28 -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
9799aa0975
Completes documentation and rounds out implementation.
2018-11-04 22:17:33 -05:00
Thomas Harte
1effb97b74
Reintroduces colour phase acquisition from the colour burst.
2018-11-04 21:57:46 -05:00
Thomas Harte
eb28095041
Ensures proper accumulation and reporting of colour phase across lines.
2018-11-04 21:44:22 -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
0446e350d3
Resolves sizing of texture coordinates, and improves constness slightly.
2018-11-03 23:51:26 -04: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
373820f080
Attempts to establish interface to decouple scan output from generation.
...
Restores some functionality that had dropped out in the interim: diagonal scans, decoupling of scan scaling from timing of the composite subcarrier.
2018-10-30 21:50:35 -04:00
Thomas Harte
6e517983b9
Merge branch 'master' into ScanTarget
2018-10-30 18:15:55 -04:00
Thomas Harte
b9a752fda1
Merge pull request #580 from TomHarte/NameInitialisation
...
Ensures offset and flags are initialised to 0.
2018-10-29 22:10:28 -04:00
Thomas Harte
f65d80b7d1
Ensures offset and flags are initialised to 0.
...
This prevents a potential crash at startup.
2018-10-29 22:09:32 -04:00
Thomas Harte
4701aa149a
Adds first draft of an interface to separate CRT logic from the GPU-side stuff.
2018-10-29 22:08:17 -04:00
Thomas Harte
0d051502e2
Merge pull request #579 from TomHarte/MasterSystemOfficial
...
Promotes the Master System to full mention.
2018-10-26 21:25:09 -04:00
Thomas Harte
2e28a8e51c
Promotes the Master System to full mention.
2018-10-26 21:24:40 -04:00
Thomas Harte
4af0b74a42
Merge pull request #578 from TomHarte/SMSBIOSFallback
...
Attempts to carry on even if no BIOS is found.
2018-10-26 21:20:43 -04:00
Thomas Harte
d1fc39d6e5
Attempts to carry on even if no BIOS is found.
2018-10-26 21:19:16 -04:00
Thomas Harte
4f0d324a6b
Merge pull request #577 from TomHarte/9918RandomStart
...
(Mostly) randomises the 9918 start position.
2018-10-26 21:10:54 -04:00
Thomas Harte
8652d8b23d
(Mostly) randomises the 9918 start position.
2018-10-26 21:02:56 -04:00
Thomas Harte
e02aa885d8
Testing against the ColecoVision suggests this is probably always 7.
2018-10-26 20:59:12 -04:00