Thomas Harte
|
fb6fb5d948
|
Switched to two-phase setup to deal with OpenGL scheduling.
|
2016-03-20 13:50:13 -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
|
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
|
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
|
41c09f8c3f
|
Renamed CSCathodeRayView to CSOpenGLView as it no longer has any CRT-related responsibilities. It just does the GL and manages a serial dispatch queue.
|
2016-03-05 14:45: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
|
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
|
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
|
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
|
0efe4b312c
|
Disabled my various bits of rate interchange debugging; improved test for when to call update_display due to a RAM write.
|
2016-01-21 22:16:52 -05:00 |
|
Thomas Harte
|
de7218cdf0
|
Added a lot of commenting to the CPU6502 definition, simplifying its construction. Added missing nullability modifier to CSElectron. Fixed bad-habit Objective-C style naming on the Electron's Interrupt enum.
|
2016-01-20 21:55:38 -05:00 |
|
Thomas Harte
|
e65cd4cf06
|
Some data is marginally reaching the CPU from the tape.
|
2016-01-19 22:05:34 -05:00 |
|
Thomas Harte
|
956b90e203
|
Attempted further to improve latency; added view adjustment for non-4:3 output aspect ratios. The 4:3 is currently hardcoded, so further work will be required.
|
2016-01-18 23:55:52 -05:00 |
|
Thomas Harte
|
90eef1df74
|
Tightened to provide lower latency audio, hopefully.
|
2016-01-18 20:01:06 -06:00 |
|
Thomas Harte
|
03f683d588
|
Gave the audio queue something a lot like a spin lock on waiting to pipe out audio.
|
2016-01-18 19:57:18 -06:00 |
|
Thomas Harte
|
5a39e42413
|
Wired up enough such that some basic attempt at parsing a UEF occurs.`
|
2016-01-18 17:06:09 -06:00 |
|
Thomas Harte
|
2779f0e569
|
Statred working on support for at least the most fundamental file format.
|
2016-01-18 15:46:41 -06:00 |
|
Thomas Harte
|
b70fdc2de8
|
Switched to being explicitly careful about not wrapping around and stomping on data not yet output.
|
2016-01-18 13:56:20 -06:00 |
|
Thomas Harte
|
ddcc34740b
|
Added lots of debugging output while I attempt to locate the source of audio scratchiness, also simplified manner of dealing with wraparound within the AudioQueue wrapper.
|
2016-01-18 13:50:19 -06:00 |
|
Thomas Harte
|
781249acf7
|
Fixed crash.
|
2016-01-14 20:35:36 -05:00 |
|
Thomas Harte
|
38ffcaa262
|
Here, at last, is _some_ audio output, at least.
|
2016-01-14 20:33:22 -05:00 |
|
Thomas Harte
|
afde8dac49
|
Closed the loop such that audio manages to bubble up into Objective-C.
|
2016-01-13 22:38:59 -05:00 |
|
Thomas Harte
|
d9a7ef9e46
|
Edging towards audio output; the speaker is given appropriate input and output rates, and then updated with current divider and enabled/disabled status.
|
2016-01-13 21:03:43 -05:00 |
|
Thomas Harte
|
d28abdc037
|
Made an attempt at correct timing, adding support for additional paged ROMs, added file association for .rom.
|
2016-01-12 22:34:26 -05:00 |
|
Thomas Harte
|
3437781abd
|
Started sketching out an interface for sound generation. Which made me realise that the CRT in CRTDelegate was redundant, since C++ has namespaces.
|
2016-01-12 16:54:09 -05:00 |
|
Thomas Harte
|
49a36ec9ac
|
Added F12 as break.
|
2016-01-11 22:35:52 -05:00 |
|
Thomas Harte
|
e93dbdb463
|
Implemented keyboard input.
|
2016-01-11 19:48:31 -05:00 |
|
Thomas Harte
|
ce916ebd6a
|
Fixed runaway frame generator.
|
2016-01-10 23:32:57 -05:00 |
|
Thomas Harte
|
b4f31edea3
|
Made an attempt to get RGB output mode up and running, and showing at least a box where pixels would be.
|
2016-01-09 21:32:56 -05:00 |
|
Thomas Harte
|
716bb3281b
|
This at least now connects up a CRT, though it never talks to it.
|
2016-01-07 22:26:49 -05:00 |
|
Thomas Harte
|
47a7654c00
|
Added just enough that this is probably a successful boot. I guess I'm going to need to get invested in graphics next? Hmmm.
|
2016-01-07 21:01:13 -05:00 |
|
Thomas Harte
|
0db8938d27
|
Added the option for the CSCathodeRayView to show only a subsection of the full scan area. Zoomed in a little on the 2600. Put in enough piping to give the Electron sight of its ROMs at least.
|
2016-01-06 23:14:36 -05:00 |
|
Thomas Harte
|
616dc0b57c
|
Okay, so this is the absolute bare minimum about of refactoring and wiring necessary to get the [unimplemented] Electron machine pumping.
|
2016-01-04 23:40:43 -05:00 |
|
Thomas Harte
|
43ab8bbad5
|
Okay, so then here's a first shot at the Objective-C -> C++ bridge for the Electron.
|
2016-01-04 23:16:37 -05:00 |
|
Thomas Harte
|
ab45c1d530
|
Started working on a shell for the Electron emulation, including factoring out the common CRT delegate -> Objective-C bridging, serial dispatch queue and frameskipping logic from the Atari 2600 shell.
|
2016-01-04 23:12:47 -05:00 |
|