1
0
mirror of https://github.com/TomHarte/CLK.git synced 2024-12-26 09:29:45 +00:00
Commit Graph

59 Commits

Author SHA1 Message Date
Thomas Harte
6dbf16210b Switched protocol to meaningful name and corrected its omission from the repository. 2016-07-04 19:19:07 -04:00
Thomas Harte
6419d9c485 Added a single IRQ test case, discovering that I'm two cycles short. Whoops! 2016-06-28 21:29:43 -04:00
Thomas Harte
6027cba95f Factored out the stuff of pushing a fast-loading option onwards and storing it within the user defaults. 2016-06-27 21:38:14 -04:00
Thomas Harte
ee19417ded Made an attempt quickly to implement parsing of the Commodore .TAP file format. 2016-06-25 16:09:32 -04:00
Thomas Harte
4db61d98f4 Killed the .cpp. 2016-06-19 20:21:38 -04:00
Thomas Harte
7cf6008e7c Started some very basic RIOT unit tests; corrected to pass. 2016-06-19 20:12:47 -04:00
Thomas Harte
ce2f5515c0 Made some minor documentation improvements, killed 6522.cpp as the 6522 is going to be a template only, attempting to promote good inlining behaviour. 2016-06-19 18:11:37 -04:00
Thomas Harte
e7aeed2f03 Established a general pattern for machines that can type things. Started working on the Vic typing itself. 2016-06-19 13:10:52 -04:00
Thomas Harte
06fb2ff1c7 Started endeavouring to sketch out the boilerplate for writing a 6522 test harness. Added a default implementation of synchronise to the 6522 too, since not everybody is going to want one. 2016-06-18 09:28:46 -04:00
Thomas Harte
530cf3dcbb Made an attempt to consolidate serialisation and clock rate adherence, allowing a floating-point clock rate. 2016-06-16 18:04:54 -04:00
Thomas Harte
ce59ad1911 Minor on-disk shuffle, to try to clarify ownership of responsibility. 2016-06-15 08:11:30 -04:00
Thomas Harte
e0baaf17f1 Added class prefix. 2016-06-15 08:07:25 -04:00
Thomas Harte
6522530e1c Actually, I'm dithering over whether the 6522 should be an ordinary class or a curiously-recurring template. But it'll need a file, definitely. 2016-06-06 21:56:02 -04:00
Thomas Harte
f922d38ed2 The Vic now captures the ROMs sent to it and has just enough infrastructure to get to a black screen. Progress! 2016-06-05 10:51:07 -04:00
Thomas Harte
8052ce9223 System ROMs are now supplied to the Vic-20 wrapper, though they stop there. I also factored key forwarding out of the ElectronDocument and into the superclass, depending upon the child conforming to CSKeyboardMachine. 2016-06-05 08:53:05 -04:00
Thomas Harte
363e14a92f Reorganised system ROMs out of the Mac-specific folder, adjusted Mac code to expect to find them organised hierarchically (as how many os.roms am I going to have?) and added readme files to explain what's missing from the Git repository. 2016-06-05 08:33:01 -04:00
Thomas Harte
4c33517228 Added ROMs to the project and ensured they don't get uploaded. 2016-06-04 22:03:38 -04:00
Thomas Harte
b10a06e700 A CRT is still absent but this moves the ball back into the C++ side's court. 2016-06-04 22:00:50 -04:00
Thomas Harte
404873fe58 Started sketching out infrastructure for Vic-20 support. 2016-06-04 21:43:50 -04:00
Thomas Harte
d6e8cd676a Trimmed and reordered just a little. 2016-06-04 16:02:16 -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
8538b62ea2 Made an attempt to extract and consolidate the logic behind the intermediate shaders. 2016-04-28 21:04:59 -04:00
Thomas Harte
496d979aca Made a decision to clean up by creating per-shader classes. Well, more or less. First thing to be factored out: the output shader. 2016-04-27 22:29:54 -04:00
Thomas Harte
416c944f02 Experimental: let's try accumulating history directly in the framebuffer. 2016-04-26 21:41:39 -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
4cd0aa3416 Completed FIR filter based audio output. 2016-03-15 23:37:35 -04:00
Thomas Harte
7694297c83 Introduced an adapted version of the previous Clock Signal's FIR filter. 2016-03-15 21:05:20 -04: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
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
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
eeb0e134fd Started the transition towards a more natural collection of rolling buffers, with phosphor decay in mind. 2016-02-13 20:52:23 -05:00
Thomas Harte
a6574d1f96 Made an attempt to factor out and more clearly to document my implementation of flywheel synchronisation. 2016-02-11 22:12:12 -05:00
Thomas Harte
4d0a218a57 Certainly at least seriously considering a separate holder for the "compile a shader" logic. Otherwise taking steps back towards PAL/NTSC decoding. 2016-02-07 17:32:38 -05:00
Thomas Harte
602327cd9d Sketched out a quick class for rendering to texture. 2016-02-07 15:42:02 -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
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
38ffcaa262 Here, at last, is _some_ audio output, at least. 2016-01-14 20:33:22 -05:00
Thomas Harte
84ba4e2900 Tidied a little, started working towards supporting speaker output. 2016-01-12 22:19:56 -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
e93dbdb463 Implemented keyboard input. 2016-01-11 19:48:31 -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
Thomas Harte
aa0714fe27 Started sketching out an Acorn Electron emulation, as it's a platform I'm familiar with and will force me to figure out PAL decoding. Factored out NTSC-specific parts of the display decoding logic and hence added RGB output mode. 2016-01-03 20:41:43 -05:00
Thomas Harte
bc805a90fe Wired up joystick directions, at least, and fire button presses get as far as the C++. But there's some latching to figure out before they'll work. 2015-08-18 20:33:24 -04:00
Thomas Harte
a693c081f8 Switched on the appropriate compiler warnings re: signed comparisons and implicit conversions. Fixed all less-than-explicit calls. 2015-08-16 16:08:29 -04:00
Thomas Harte
d19f8ed507 Removed the implicit reset upon 6502 startup, adding a reset line. Hence all tests now pass again. Added an empty shell for timing tests, the all-RAM 6502 now counting bus cycles. 2015-08-13 00:51:06 +01:00