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
|
e617bd2bb3
|
Turned audio quality up to the maximum, at least for now.
|
2016-04-06 21:12:22 -04:00 |
|
Thomas Harte
|
5aa6da221f
|
Shifted responsibility for byte shifts, probably to a more logical place.
|
2016-04-05 22:19:14 -04:00 |
|
Thomas Harte
|
2248769df9
|
Pulled a bunch of selection parts outside of the loops. Probably exhausting this angle of attack.
|
2016-04-05 22:17:44 -04:00 |
|
Thomas Harte
|
8f87973a96
|
Switched to table-based byte to output conversion.
|
2016-04-05 22:07:10 -04:00 |
|
Thomas Harte
|
e35456612a
|
Simplified 40-column to pixel conversion.
|
2016-04-05 20:44:05 -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
|
7838507a7a
|
Simplified sound generation.
|
2016-04-04 22:22:19 -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
|
902017a962
|
Fixes: drop any processing backlog, try not to allow an Electron document to close mid-draw, perform a frame grab even if the emulated machine is over-processing, really really don't create a CRT until it's safe.
|
2016-03-20 18:42:37 -04:00 |
|
Thomas Harte
|
fb6fb5d948
|
Switched to two-phase setup to deal with OpenGL scheduling.
|
2016-03-20 13:50:13 -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
|
b074860031
|
Updated to latest information on interrupt timing.
|
2016-03-18 21:11:25 -04:00 |
|
Thomas Harte
|
4cd0aa3416
|
Completed FIR filter based audio output.
|
2016-03-15 23:37:35 -04:00 |
|
Thomas Harte
|
0edf165401
|
Fixed sound pitch, though I'm not yet exactly sure why.
|
2016-03-14 22:52:16 -04:00 |
|
Thomas Harte
|
9a492ac15f
|
Made a further guess at the state interrupts would probably be left; slightly simplified interface.
|
2016-03-14 22:42:52 -04:00 |
|
Thomas Harte
|
15120d8fb6
|
Switched to probably more accurate contended memory, resolved issue of not leaving the tape data received interrupt set when returning a byte from the fast tape, fixing Joe Blade, and tested slightly further to determine that interrupts probably signal upon entry into horizontal sync.
|
2016-03-14 19:29:28 -04:00 |
|
Thomas Harte
|
fb26b38ff9
|
This is as simplified as things seem to be able to get without breaking at least Northern Star. Joe Blade et al remain stubbornly broken but I'm not immediately able to determine why.
|
2016-03-13 19:55:20 -04:00 |
|
Thomas Harte
|
f797e6b5b6
|
Started taking baby steps towards a genuine unification of the tape interrupt generating code.
|
2016-03-13 19:45:50 -04:00 |
|
Thomas Harte
|
bc554dedf7
|
Fixed: attempting to read the screen start address no longer alters it.
|
2016-03-13 18:50:23 -04:00 |
|
Thomas Harte
|
1c4acfb599
|
I think this is a prima facie acceptable implementation of the fast tape hack.
|
2016-03-13 17:39:53 -04:00 |
|
Thomas Harte
|
4462bb92f8
|
Moved interrupt back down to where it's probably meant to be.
|
2016-03-12 23:18:46 -05:00 |
|
Thomas Harte
|
cdff90f20d
|
Fixed: setting an interrupt control value with the lowest bit set could result in interrupts that can't be disabled.
|
2016-03-12 22:55:33 -05:00 |
|
Thomas Harte
|
6327311130
|
Made an attempt to separate and clarify on tape interrupts.
|
2016-03-12 20:32:26 -05:00 |
|
Thomas Harte
|
cfa616d593
|
Fixed: timing issue versus supplied test ROM was failure to include the Plus 1 ROM in the mix.
|
2016-03-12 11:51:20 -05:00 |
|
Thomas Harte
|
763d5e8819
|
Access timing now appears to be exactly on the nail. Disabled automatic interrupt expiration again as I'm not persuaded it's correct for at least the RTC.
|
2016-03-10 23:12:28 -05:00 |
|
Thomas Harte
|
e305fd9326
|
Adjusted numbers, empirically.
|
2016-03-10 22:40:18 -05:00 |
|
Thomas Harte
|
a89225987f
|
Blank lines are back.
|
2016-03-10 22:19:54 -05:00 |
|
Thomas Harte
|
b836d74e18
|
Believing the previous implementation to be overly complicated through premature optimisation, simplified video. It's slightly slower now. Will need work. Immediately to do: figure out how to deal with blank scan lines.
|
2016-03-10 22:08:50 -05:00 |
|
Thomas Harte
|
20ac630e4d
|
Some minor optimisations and timing tweaks. Nothing of substance.
|
2016-03-10 19:58:50 -05:00 |
|
Thomas Harte
|
df3fff51c7
|
These interrupts apparently last only 64µs at most.
|
2016-03-10 19:10:53 -05:00 |
|
Thomas Harte
|
f232a12fad
|
Fixed RAM timings: it's at least two and possibly three cycles to access RAM, and an access that overlaps with video fetch in Modes 0–3 will cost the length of the video fetch rather than somehow finishing in time.
|
2016-03-10 19:04:43 -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
|
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
|
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
|
5c8db71c64
|
Corrected some constants, ensured both machines (so far) are setting the output device.
|
2016-03-05 16:19:10 -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
|
ec3cccbb0d
|
Working towards HQ UEF support: fixed bug whereby writing to tape output would reset input pulse stepper; added support for chunk 0116 and approximate support for 0113.
|
2016-02-20 22:03:14 -05:00 |
|
Thomas Harte
|
3754cf4bce
|
Played about with interrupt timing.
|
2016-02-20 21:24:02 -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 |
|