Thomas Harte
|
a3432120f3
|
Fixed synchronisation — my two fields weren't of equal length, I wasn't breaking calls to the CRT upon 40/80 transitions, I had the wrong maximum run length. Now I just need to put real pixels back in.
|
2016-02-19 23:57:57 -05:00 |
|
Thomas Harte
|
1954f7bcbd
|
Got back to a stable image, at least when staying in a mode. Which is what I was trying to fix. Hmmm.
|
2016-02-19 23:41:09 -05:00 |
|
Thomas Harte
|
dce1649fc5
|
Commuted some camelCase variables into more standard C++ underscore names; decided the best fix for the graphics output is to break it down into much simpler chunks. output_pixels is currently a placeholder that simply outputs blank so the current effect is that all data is missing but it should be easy enough now to put pixels back in.
|
2016-02-18 23:23:49 -05:00 |
|
Thomas Harte
|
570d88a876
|
Added a simple metric for measuring surprise. Which will hopefully allow me to reimplement PAL/NTSC auto-selection for the Atari 2600.
|
2016-02-18 23:22:06 -05:00 |
|
Thomas Harte
|
c7f54d649e
|
Switched back down to two samples per pixel. Though one might do it. Need to investigate.
|
2016-02-18 23:21:25 -05:00 |
|
Thomas Harte
|
ce3c098c28
|
Widened beam a little, moved to a linear approximation of age across scans, cut number of stored frames.
|
2016-02-16 21:48:09 -05:00 |
|
Thomas Harte
|
3ea0d04a1a
|
-dealloc now blocks until all audio queue buffers are no longer playing.
|
2016-02-16 21:47:23 -05:00 |
|
Thomas Harte
|
b261e86c62
|
Reintroduced lateral as a parameter in CRT drawing, to simulate a rounded raster.
|
2016-02-16 20:37:04 -05:00 |
|
Thomas Harte
|
0b5417ab44
|
Made an attempt to put interrupts in the correct places regardless of even/odd field.
|
2016-02-16 20:36:19 -05:00 |
|
Thomas Harte
|
bbffbb5dc2
|
Resolved deadlock if an invalidate call was sent to the Electron while it was in the middle of an update.
|
2016-02-16 20:35:45 -05:00 |
|
Thomas Harte
|
a01f90ff3e
|
Attempted a switch to the real PAL visible area and to something a bit like a real phosphor decay.
|
2016-02-14 21:57:23 -05:00 |
|
Thomas Harte
|
7580d192d5
|
Fixes: now setting correct frame time estimate, properly enabling the timestamp attribute, and ensuring that the Electron flushes screen work at least once per host frame update.
|
2016-02-14 19:28:02 -05:00 |
|
Thomas Harte
|
752db78431
|
No doubt still imperfect but killed the repeated whole texture uploads.
|
2016-02-13 23:55:02 -05:00 |
|
Thomas Harte
|
697e50c0cc
|
Screen output is back, no matter how inefficiently.
|
2016-02-13 23:50:18 -05:00 |
|
Thomas Harte
|
d0b2d840da
|
A minor fix to data queuing. Display still absent.
|
2016-02-13 20:57:41 -05:00 |
|
Thomas Harte
|
7bd237193d
|
Edged closer towards realistic timing.
|
2016-02-13 20:52:35 -05:00 |
|
Thomas Harte
|
eeb0e134fd
|
Started the transition towards a more natural collection of rolling buffers, with phosphor decay in mind.
|
2016-02-13 20:52:23 -05:00 |
|
Thomas Harte
|
f57d6d350b
|
Fixed uninitialised error and incorrect default constructor.
|
2016-02-12 22:35:16 -05:00 |
|
Thomas Harte
|
fd2d5c78f8
|
Started trying to nudge towards the multistage approach to video decoding.
|
2016-02-12 22:31:05 -05:00 |
|
Thomas Harte
|
7bc5a43c36
|
Fixed type warning.
|
2016-02-12 22:30:22 -05:00 |
|
Thomas Harte
|
0527888b15
|
Endeavoured to ensure safe shutdown.
|
2016-02-12 22:30:06 -05:00 |
|
Thomas Harte
|
0a09762be6
|
Fixed output precision compared to the new approach of trusting the flywheel for position, and eliminated fixed-Acorn constants. Also re-enabled the faded previous frame, at least temporarily.
|
2016-02-12 19:53:49 -05:00 |
|
Thomas Harte
|
341fafd3c5
|
Adjusted visible area.
|
2016-02-12 19:52:04 -05:00 |
|
Thomas Harte
|
1d20a29d97
|
Made an attempt to switch to the flywheels for both vertical and horizontal sync, and to act more appropriately for out-of-bounds sync requests. Lots of tweaking to do, I fear.
|
2016-02-11 23:43:08 -05:00 |
|
Thomas Harte
|
c81891ec43
|
Minor tidying and at least acknowledged the new flywheel encapsulation.
|
2016-02-11 22:13:38 -05:00 |
|
Thomas Harte
|
86017de1fb
|
Fixed field timing. It's 312.5 lines now, closer to the PAL standard.
|
2016-02-11 22:12:37 -05:00 |
|
Thomas Harte
|
a6574d1f96
|
Made an attempt to factor out and more clearly to document my implementation of flywheel synchronisation.
|
2016-02-11 22:12:12 -05:00 |
|
Thomas Harte
|
c66409421e
|
Switched to generating an interlaced output, that apparently being correct. Enabled a poor man's version of phosphor persistence to smooth things out a little. It's not completely unconvincing.
|
2016-02-10 23:11:25 -05:00 |
|
Thomas Harte
|
b5bcadb8d3
|
Reinstated clipped CRT output, with more appropriate ownership of the decision.
|
2016-02-07 22:18:55 -05:00 |
|
Thomas Harte
|
3a689d14cc
|
Added padding of supplied data to correct for any potential rounding errors when rendering.
|
2016-02-07 20:29:32 -05:00 |
|
Thomas Harte
|
3a9ea66f8b
|
Filled in shader class.
|
2016-02-07 19:21:22 -05:00 |
|
Thomas Harte
|
4d0a218a57
|
Certainly at least seriously considering a separate holder for the "compile a shader" logic. Otherwise taking steps back towards PAL/NTSC decoding.
|
2016-02-07 17:32:38 -05:00 |
|
Thomas Harte
|
602327cd9d
|
Sketched out a quick class for rendering to texture.
|
2016-02-07 15:42:02 -05:00 |
|
Thomas Harte
|
2e3ba6bbb2
|
Removed some logging.
|
2016-02-07 14:42:40 -05:00 |
|
thomasharte
|
2cb12a7513
|
Allowed overly aggressive allocations to be cleared up after the fact.
|
2016-02-06 16:07:23 -05:00 |
|
Thomas Harte
|
d3d505b7bc
|
That's one header file less.
|
2016-02-05 23:05:58 -05:00 |
|
Thomas Harte
|
bf348ccb96
|
Fixed clearing logic.
|
2016-02-05 22:47:12 -05:00 |
|
Thomas Harte
|
6ab425deda
|
There is now a semi-reasonable amount of screen output again.
|
2016-02-05 21:35:39 -05:00 |
|
Thomas Harte
|
80e7e5e602
|
Updated to return old behaviour of drawing only upon changes.
|
2016-02-04 23:05:47 -05:00 |
|
Thomas Harte
|
8bc3f8046d
|
This endeavours to move everything into the CRT class except the final version of shader building.
|
2016-02-04 22:57:46 -05:00 |
|
Thomas Harte
|
e0d51408e4
|
Onward with carrying this through to the bitter end, this at least results in all the appropriate knowledge and call-ins occuring at the CRT.
|
2016-02-04 22:28:50 -05:00 |
|
Thomas Harte
|
09e11469c3
|
Simplified further: eliminated delegate. Which means I can go frame-free internally to the CRT at some point, if I want.
|
2016-02-03 19:11:18 -05:00 |
|
Thomas Harte
|
19393390ac
|
It's broken now, but this is what I now intend the full public interface of the CRT to be.
|
2016-02-02 22:41:33 -05:00 |
|
Thomas Harte
|
4554abb755
|
Made an attempt to be more rigorous in display generation on the Electron, to make sure I deal with mid-line changes to/from blank line mode. Even if it turns out that they generate pixels.
|
2016-01-29 21:14:13 -05:00 |
|
Thomas Harte
|
adc6838ba0
|
Continued slow migration of shader ownership to CRT. Attempted to start debugging the tape interface.
|
2016-01-27 21:35:57 -05:00 |
|
Thomas Harte
|
96c946b8af
|
Made a very basic attempt to emulate tape output.
|
2016-01-24 18:20:55 -05:00 |
|
Thomas Harte
|
1819e7b9cc
|
Started sketching out an appropriate interface to transfer responsibility for shaders to the CRT.
|
2016-01-23 19:06:32 -05:00 |
|
Thomas Harte
|
ace331d4b4
|
Got a bit higher level in CRT timing specification. Which internally allows it now to infer the colour clock frequency. Which will be helpful momentarily.
|
2016-01-23 18:53:20 -05:00 |
|
Thomas Harte
|
a9e26d7808
|
Introduced a scan's delay, as intended.
|
2016-01-23 17:49:25 -05:00 |
|
Thomas Harte
|
cd97617a8a
|
Bumped the speaker up to the full namespace, since Tape lives there to avoid delegation complexity. Turned the CRT into something the Electron statically owns, fixing a memory leak by simplifying.
|
2016-01-23 17:45:06 -05:00 |
|