1
0
mirror of https://github.com/TomHarte/CLK.git synced 2024-11-19 23:32:28 +00:00
Commit Graph

152 Commits

Author SHA1 Message Date
Thomas Harte
9da7716c72 Attempted to simplify threading, thereby allowing machines to be constructed within a valid GL context, and started adding appropriate GL syncs. Which all oddly drops everything to a negligible FPS. Investigation will follow. 2016-03-19 22:46:17 -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
4ac1f959e9 A shortcut here and a shortcut there; this allows me at least to determine whether use of a PBO gains anything. 2016-03-19 17:07:05 -04:00
Thomas Harte
5b37a651ac Made an attemp to deal with glUnmapBuffer(GL_ARRAY_BUFFER) == GL_FALSE. 2016-03-18 21:35:52 -04:00
Thomas Harte
0b1c9fb291 Ensured I don't interrupt triangle strips for the purpose of glDrawArrays. 2016-03-18 21:28:53 -04:00
Thomas Harte
620257e29e Switched to a client wait, as I try to figure out what's going on. 2016-03-18 21:21:35 -04:00
Thomas Harte
2e4af90e2d Resolved output errors. 2016-03-18 21:19:11 -04:00
Thomas Harte
10bc33464d I don't think this is quite correct, but it's better. 2016-03-18 21:14:06 -04:00
Thomas Harte
61e880de03 Keeping a buffer permanently bound is apparently illegal. So back to copying in on demand. Which I think still improves on synchronisation, but not much. 2016-03-18 21:11:09 -04:00
Thomas Harte
c8ecfb89d8 Some cleaning. 2016-03-16 22:52:33 -04:00
Thomas Harte
0d27d3bb7f As messy as it is, this use glMapBufferRange to avoid explicit buffer submits. 2016-03-16 22:29:22 -04:00
Thomas Harte
ca35a7e222 Ensured that a much greater input rate than output is handled correctly. 2016-03-16 20:38:17 -04:00
Thomas Harte
4cd0aa3416 Completed FIR filter based audio output. 2016-03-15 23:37:35 -04:00
Thomas Harte
726c98446a Fixed a couple of memory leaks, at least got as far as instantiating a filter. 2016-03-15 21:34:00 -04:00
Thomas Harte
67dffc89e0 Stripped unnecessary includes. 2016-03-13 13:25:34 -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
68da673a95 Wrapped this up as explicitly only the Mac thing to do. 2016-03-08 22:53:29 -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
14b2927275 Made further attempts to tidy up; trying to demarcate between public interface and private. 2016-03-08 20:59:16 -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
bb09a5f58c The attribute locations don't really need to be stored. They can be transient. 2016-03-07 21:42:21 -05:00
Thomas Harte
6dfe877c43 Basic attempts to organise myself into shape for composite output continue. 2016-03-07 21:22:47 -05:00
Thomas Harte
1e5fe2b2c1 Made an attempt to reestablish the Atari 2600 output connection despite various changes (TODO: generalise that stuff), and to start creating the composite shader. 2016-03-07 21:04:04 -05:00
Thomas Harte
2de229152f Started sketching out shaders to do the first part of the composite conversion. 2016-03-07 19:21:04 -05:00
Thomas Harte
cd9c62acca Still stepping slowly towards a working composite mode, switched the RGB sampling function to returning a vec4, which may be of benefit to any machine with a brightness part of an RGB signal, and started edging towards at least having the correct GLSL programs ready for converting composite output. 2016-03-07 19:08:26 -05:00
Thomas Harte
3b6c9c15a1 Switching momentarily back to monitor mode, resolved why I was suddenly getting no output upon creating some texture targets. 2016-03-07 18:55:15 -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
Thomas Harte
23c223e2ed Started edging towards completing the CPU side of accumulating enough data for composite decoding. 2016-03-05 17:55:18 -05:00
Thomas Harte
5c8db71c64 Corrected some constants, ensured both machines (so far) are setting the output device. 2016-03-05 16:19:10 -05:00
Thomas Harte
70b6d51451 Ever more baby steps back towards composite decoding. 2016-03-05 14:36:12 -05:00
Thomas Harte
2f7626a5e0 Okay, this definitely definitely is supposed to be this way around. 2016-02-28 22:00:05 -05:00
Thomas Harte
3449120c24 Added a note to future self, put the scan edge generator back to the way round it was before. 2016-02-27 22:51:37 -05:00
Thomas Harte
7839d93344 With the provision of an extra hint to the CRT and, finally, the realisation about why my scans weren't exactly joining up, improved output precision. 2016-02-27 22:39:01 -05:00
Thomas Harte
1c6de7692d Made an attempt to fix tape output interrupts; offloaded raster width and placing conversion to the GPU. 2016-02-27 20:37:41 -05:00
Thomas Harte
db18c85423 Simplified the run builder rather; put a double check of Electron timing in place. 2016-02-25 22:01:42 -05:00
Thomas Harte
1eea28b692 Disabled some debugging parts, added some others, marked some things as inline. Ticking over. 2016-02-22 23:35:42 -05:00
Thomas Harte
4b28e7b974 Switched back to a single array and vertex buffer. 2016-02-21 22:54:55 -05:00
Thomas Harte
574985f9a2 Fixed interlaced timing; switched to a more robust detector for horizontal sync; eliminated some test logging. 2016-02-20 20:29:40 -05:00
Thomas Harte
00f414d757 Made an attempt to reintroduce interlacing and screen modes with gaps. Something's wrong with synchronisation though, so most likely I'm outputting a bad signal. 2016-02-20 17:32:51 -05:00
Thomas Harte
68992a62f9 Switched to a subtler to out-of-band syncs. 2016-02-20 00:16:07 -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
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
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
b261e86c62 Reintroduced lateral as a parameter in CRT drawing, to simulate a rounded raster. 2016-02-16 20:37:04 -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