Thomas Harte
|
d9016909ed
|
Added some wiring for PAL/NTSC mode switching on the Vic, making an attempt to simplify the whole loop of having different clock rates.
|
2016-08-14 13:33:20 -04:00 |
|
Thomas Harte
|
5d40d70c92
|
Fixed 6560 addressing error, added an autotyper for Vic disks (more work potentially needed), fixed semantics for testing whether a 6502 is about to reset.
|
2016-08-01 10:32:32 -04:00 |
|
Thomas Harte
|
2332f72875
|
Formalised clock-rate multiplication within disk drives, discovered that the stepper didn't have ideal behaviour for my timed event loop and hence nailed down the semantics a ilttle more.
(obiter: the 1540 now appears to discern the correct sequence of bits. Framing is off in my test printfs but that's neither here nor there).
|
2016-07-31 13:32:30 -04:00 |
|
Thomas Harte
|
88964ceac0
|
Eliminated plain pointer passing for object types.
|
2016-07-04 19:33:55 -04:00 |
|
Thomas Harte
|
0182b0483a
|
Added a 'power on' flag that is set automatically at construction but can be declined. Saves all that stuff of every machine having to set and then unset the RST line, and fixes an Electron bug related to that.
|
2016-06-29 19:13:24 -04:00 |
|
Thomas Harte
|
37ba42a52f
|
Factored out the stuff of playing a tape, started basic sketch of the Vic-related classes.
|
2016-06-26 19:03:57 -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
|
b6dd38dad3
|
Corrected type safety warning.
|
2016-06-19 21:41:01 -04:00 |
|
Thomas Harte
|
6dd8ea67c9
|
Tested and trimmed delay on typing if resetting.
|
2016-06-19 17:27:23 -04:00 |
|
Thomas Harte
|
05cb47709e
|
Implemented Utility::Typer for the Electron. So that now also receives pastes.
|
2016-06-19 17:25:35 -04:00 |
|
Thomas Harte
|
00a9f1bf24
|
Fixed best-effort updater actually to run, finally moved clock rate announcement into the C++ side of things, started working on a mechanism to allow clock rate to be updated.
|
2016-06-16 20:39:46 -04:00 |
|
Thomas Harte
|
8dc66167be
|
Made an attempt to consolidate the Objective-C++ side of things based on the incoming CRTMachine::Machine .
|
2016-05-31 22:16:20 -04:00 |
|
Thomas Harte
|
5c4f35e13f
|
Finally started on generalising the C++ stuff so as to be able to be able to get a working audio binding on the OS-specific side without further repetition by factoring an appropriate protocol out from the Electron and sketching out the correct speaker class for the Atari. Added a method to ask it what a good output frequency would be.
|
2016-05-31 21:23:44 -04:00 |
|
Thomas Harte
|
5a4262d74e
|
Confirmed: it is inaccurate for a 6502 to self reset at power up. So that responsibility now rests in the machines.
|
2016-05-10 21:05:52 -04:00 |
|
Thomas Harte
|
bf9917707e
|
Merge branch 'master' into Glitches
|
2016-05-05 08:31:40 -04:00 |
|
Thomas Harte
|
fea32869b0
|
Implemented what I now believe to be the real paging logic.
|
2016-05-05 08:28:06 -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
|
9b64f64db7
|
Attempted to normalise some style decisions.`
|
2016-04-24 22:32:24 -04:00 |
|
Thomas Harte
|
d221c712b0
|
Ensured GL context is active when destructing CRTOpenGL.
|
2016-04-24 20:34:25 -04:00 |
|
Thomas Harte
|
ae2760e034
|
Colour phase is now updated and varies per line.
|
2016-04-21 21:07:29 -04:00 |
|
Thomas Harte
|
7aa87723a9
|
Added: key states are all cleared if the window loses focus. Which resolves sticky key issues. Allowing me just to use command+option+O for options and map both command and option as FUNC.
|
2016-04-19 21:29:10 -04:00 |
|
Thomas Harte
|
66f2c10c04
|
Resolved potential crash if tape requests are made without one inserted. Softened glFinish to glFlush, though I'm still not sure I should strictly need even that.
|
2016-04-19 21:00:48 -04:00 |
|
Thomas Harte
|
3d53f157de
|
Output selection now takes effect. So I can stop accidentally committing changes back and forth.
|
2016-04-18 08:27:58 -04:00 |
|
Thomas Harte
|
94f148e212
|
Wired in options, at least getting as far as the Objective-C bridge. Then fast loading makes it to the emulated machine, display output type doesn't.
|
2016-04-18 08:21:00 -04:00 |
|
Thomas Harte
|
499f7ace07
|
Re-enabled working video output for the Electron for the day and consolidated the rough metric I'm using to pick a number of taps for the audio filter.
|
2016-04-17 20:43:20 -04:00 |
|
Thomas Harte
|
6ff9ffba6c
|
Switching temporarily to an attempt to draw input runs as if RGB: shader compiles, fixed a race condition on out-of-bounds accesses for the source buffer.
|
2016-04-17 15:51:28 -04:00 |
|
Thomas Harte
|
104f44f27f
|
Attempted to improve deinterlacing, gave the CRT full control over blend mode, switched back to 2000000Mhz audio.
|
2016-04-14 22:20:47 -04:00 |
|
Thomas Harte
|
6a17c2992d
|
Introduced a compile-time configurable audio divider, set it arbitrarily to '8' for now. Discovered why my graphics aren't centred and added a TODO.
|
2016-04-13 22:31:59 -04:00 |
|
Thomas Harte
|
026ce0255f
|
Source runs are now captured, and that buffer appropriately reset.
|
2016-04-13 22:20:13 -04:00 |
|
Thomas Harte
|
2ea02ed127
|
A source array buffer is also now created, mapped, unmapped, etc.
|
2016-04-13 22:14:18 -04:00 |
|
Thomas Harte
|
955e185790
|
Minor simplification.
|
2016-04-13 19:19:04 -04:00 |
|
Thomas Harte
|
4d889d9c7f
|
Made an attempt slightly to simplify the fragment processor, at both ends.
|
2016-04-12 22:35:11 -04:00 |
|
Thomas Harte
|
2cc72169ff
|
Ensured machines can nominate their own aspect ratio windows. Switched to 11/10 for the Electron.
|
2016-04-11 23:12:56 -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
|
a3c2cd880e
|
I discovered a further post on this on the STH forums; apparently the Electron simply asserts sync continuously. No breaks.
|
2016-04-11 21:01:09 -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
|
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 |
|