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
|
6dbd20ffde
|
Expanded interface to rgb_sample to eliminate its need to make assumptions about globals, used expanded interface to compact Electron data to two pixels per byte.
|
2016-04-05 20:32:55 -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
|
729fddea1c
|
Switched to integer textures, likely to simplify for most use cases.
|
2016-04-04 19:39:01 -04:00 |
|
Thomas Harte
|
3ca58b2a57
|
Attemted further to diminish jumpiness.
|
2016-03-22 22:07:30 -04:00 |
|
Thomas Harte
|
8cd5d40e00
|
Made an attempt to reduce the amount of data heading to the GPU.
|
2016-03-22 21:16:32 -04:00 |
|
Thomas Harte
|
3038704977
|
Attempted to introduce a lowpass filter to the graphics output, reverted 6502 optimisations as seemingly not working.
|
2016-03-21 22:01:25 -04:00 |
|
Thomas Harte
|
197cf2a834
|
Commented out sync; it can probably be implicit.
|
2016-03-20 21:42:05 -04:00 |
|
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 |
|