Thomas Harte
|
294adde344
|
Eliminated zoned clearing, in favour of a complete buffer clear on each load and attempted to reduce locking. But imperfectly.
|
2016-11-16 10:59:12 +08:00 |
|
Thomas Harte
|
c628b7c5c5
|
This is the real PAL frequency, I think.
|
2016-10-17 08:05:02 -04:00 |
|
Thomas Harte
|
2bd71e7e9b
|
.reset is the more normal way to reassign a unique_ptr .
|
2016-06-23 20:52:44 -04:00 |
|
Thomas Harte
|
c18cc4c8f5
|
It appears the Vic's output is sine-ish, after all. Also adjusted centre of display, simultaneously adding some validation on that.
|
2016-06-14 07:29:35 -04:00 |
|
Thomas Harte
|
6d65bc9b3a
|
Permitted a wider error window on vertical sync, tidied things up a little and started trying to move towards full implementation of the OpenGL contract.
|
2016-05-11 22:11:01 -04:00 |
|
Thomas Harte
|
4b3c4082d2
|
These functions appear correctly to model the NTSC and PAL palettes; the CRT's attempt to switch function doesn't work properly yet though.
|
2016-05-11 21:07:18 -04:00 |
|
Thomas Harte
|
b6d2c8cb63
|
Switched to instaced drawing for source[/intermediate] runs too, reducing that data transfer footprint by 50%.
|
2016-05-10 19:50:12 -04:00 |
|
Thomas Harte
|
7369139f7e
|
Realised that phase time can fit inside a single byte, since it's always (well) within the first quarter of the line — and if it somehow weren't (?) then taking it modulo the frequency would do.
|
2016-05-10 19:14:57 -04:00 |
|
Thomas Harte
|
257420b0f7
|
Fixed potential output error if buffer top were hit; clarified buffer size constants.
|
2016-05-10 19:04:03 -04:00 |
|
Thomas Harte
|
1d0bcb416d
|
Dropped the size per output run back down to 8 bytes.
|
2016-05-10 07:47:47 -04:00 |
|
Thomas Harte
|
86dab3a5d6
|
Quickest first attempt to switch to instancing for the output array. Texture coordinates seem to be off.
|
2016-05-10 07:23:47 -04:00 |
|
Thomas Harte
|
cec9ad0dc6
|
Switched to a more rational interface, ensured output_level will work when eventually needed, and that neither it nor output_data attempts a recursive lock.
|
2016-05-09 07:02:12 -04:00 |
|
Thomas Harte
|
a82fa31370
|
Switched back to broad locking for CRT updates. To eliminate one more thing.
|
2016-05-09 06:58:26 -04:00 |
|
Thomas Harte
|
47302de23a
|
Switched to simpler storage for _image .
|
2016-05-08 21:11:56 -04:00 |
|
Thomas Harte
|
986019f9f9
|
Fixed error that could lead to split output run vertex writes.
|
2016-05-08 20:30:59 -04:00 |
|
Thomas Harte
|
9485ef2c8c
|
At last a genuine bug fixed: was nudging the wrong amount in intermediate shaders.
|
2016-05-08 16:07:36 -04:00 |
|
Thomas Harte
|
8e4ab37719
|
Things are back pretty much to where they were, but offset is eliminated as an input.
|
2016-05-07 18:37:18 -04:00 |
|
Thomas Harte
|
284b310074
|
Attempted to implement end-of-buffer tests for all stages.
|
2016-05-05 19:52:05 -04:00 |
|
Thomas Harte
|
87df57195d
|
Started on an attempt not to treat the various buffers as free to loop within, starting with the input texture.
|
2016-05-04 07:39:45 -04:00 |
|
Thomas Harte
|
2541711061
|
Made attempts (i) to flush buffers before unmapping them; and (ii) to bring texture uploads within the new orthodoxy.
|
2016-05-03 20:56:47 -04:00 |
|
Thomas Harte
|
fc1a67c157
|
Lateral is no longer written per vertex. It's a fixed list.
|
2016-05-03 18:45:55 -04:00 |
|
Thomas Harte
|
29e7c96e4c
|
Brought monitor mode inside the pipeline and added an intermediate filter.
|
2016-05-02 21:05:58 -04:00 |
|
Thomas Harte
|
501ab74eaf
|
Fixed time multiplier calculation.
|
2016-04-28 22:12:59 -04:00 |
|
Thomas Harte
|
ef3647f6cf
|
Being bold: per-scan timing isn't coming back, I think, so started completely removing it.
|
2016-04-27 23:00:43 -04:00 |
|
Thomas Harte
|
496d979aca
|
Made a decision to clean up by creating per-shader classes. Well, more or less. First thing to be factored out: the output shader.
|
2016-04-27 22:29:54 -04:00 |
|
Thomas Harte
|
416c944f02
|
Experimental: let's try accumulating history directly in the framebuffer.
|
2016-04-26 21:41:39 -04:00 |
|
Thomas Harte
|
6c567d166a
|
Fixed colour burst acceptance, switched to an integral single byte streaming of Atari colours.
|
2016-04-25 20:56:15 -04:00 |
|
Thomas Harte
|
9b64f64db7
|
Attempted to normalise some style decisions.`
|
2016-04-24 22:32:24 -04:00 |
|
Thomas Harte
|
082003ed0a
|
Reintroduced the CRT delegate and the 2600's automatic region switching. Albeit that the CRT itself doesn't adjust properly to new timings yet.
|
2016-04-24 18:36:22 -04:00 |
|
Thomas Harte
|
23ce032ba1
|
Started edging towards the necessary flexibility for the other two intermediate shaders.
|
2016-04-21 20:21:34 -04:00 |
|
Thomas Harte
|
4b9985626d
|
Started commuting alpha to direction. The incoming amplitude is now honoured.
|
2016-04-21 19:53:41 -04:00 |
|
Thomas Harte
|
8232ed765e
|
Eliminated use of zero-alpha runs to clear new lines in the intermediate buffer in favour of a scissored glClear. It's just an easier way to scale the current approach to three intermediate buffers.
|
2016-04-20 20:44:25 -04:00 |
|
Thomas Harte
|
cf55a0c423
|
Fixed: composite output y is now incremented upon the start of retrace, that causing it to have different values at either edge of scans.
|
2016-04-18 21:49:45 -04:00 |
|
Thomas Harte
|
d5bac2f04f
|
Spotted error was in texture target all along. This now gets as far as showing something a lot like the correct display, but precision is way off. Way off.
|
2016-04-18 21:32:48 -04:00 |
|
Thomas Harte
|
9ede284eb6
|
Added blanking source runs, ensuring the rolling buffer is appropriately cleared.
|
2016-04-17 20:34:52 -04:00 |
|
Thomas Harte
|
323f1a24db
|
Introduced blackout period solution to vertical sync confusing horizontal sync. Need to find out whether it's accurate.
|
2016-04-14 20:30:45 -04:00 |
|
Thomas Harte
|
d100c755b7
|
The final line runs on a diagonal. Leave room for that.
|
2016-04-11 23:13:14 -04:00 |
|
Thomas Harte
|
7276a06cc0
|
Added a helper to calculate a visible rect based on output timings, used it to scale the Electron output up to the full window size.
|
2016-04-11 21:47:23 -04:00 |
|
Thomas Harte
|
e45fe43801
|
Removed some dead caveman debugging.
|
2016-04-10 23:02:34 -04:00 |
|
Thomas Harte
|
bdb99ba92f
|
Corrections back towards composite output: fixed misnamed constant, ensured the CRT doesn't write nonsense to the output buffer, ensured it grows three vertices at a time rather than six when desired. Net effect should be that the output stage is working again, with the input processing remaining to fill in.
|
2016-04-10 22:56:52 -04:00 |
|
Thomas Harte
|
8701366277
|
Switched horizontal sync detection back to differential, switched the Electron to an XOR-style sync output (believed to be accurate, but I need to check), fixed some latent issues around vertical sync detection.
|
2016-04-10 21:34:40 -04:00 |
|
Thomas Harte
|
fc5530b513
|
Realising I've managed to confuse input and output, started shift to 'source' for what 'input' was.
|
2016-04-10 15:58:43 -04:00 |
|
Thomas Harte
|
c0cd1ed89e
|
Made an attempt to consolidate timestamp bases to a single vector and hence to lump all geometry into one or two calls, with no repetitive setting of a uniform. I'm not sure the result is correct yet.
|
2016-04-04 21:57:27 -04:00 |
|
Thomas Harte
|
aa8a192c7e
|
Simplified API down to their being a single texture with a specified depth.
|
2016-03-19 17:37:55 -04:00 |
|
Thomas Harte
|
7255408313
|
Experimented with going back to horizontal sync on leading edge; not sure so (temporarily?) disabled.
|
2016-03-08 22:54:05 -05:00 |
|
Thomas Harte
|
bf5747f83e
|
Made an attempt to chop out all the stuff of building up the OpenGL data from the stuff of parsing input.
|
2016-03-08 22:40:23 -05:00 |
|
Thomas Harte
|
c7976dd657
|
Started trying to clean up my Outputs namespace by moving stuff related to the CRT underneath a separate subnamespace.
|
2016-03-08 20:49:07 -05:00 |
|
Thomas Harte
|
eefd17ed4c
|
Fixed sync response in composite scan output generation and stored texture coordinates.
|
2016-03-05 21:52:22 -05:00 |
|
Thomas Harte
|
6cddb4c9c8
|
Added a first attempt to generate output scans for composite mode. So this in theory completes the CPU side of composite operations. Though I'm sure problems will reveal themselves.
|
2016-03-05 21:18:28 -05:00 |
|
Thomas Harte
|
3f39803d32
|
Switched to triangle strips, to eliminate the need for any temporary storage for the composite output path.
|
2016-03-05 20:47:11 -05:00 |
|