1
0
mirror of https://github.com/TomHarte/CLK.git synced 2024-11-11 14:05:21 +00:00
Commit Graph

302 Commits

Author SHA1 Message Date
Thomas Harte
58297f1baf Performed the basic metadata and routing for opening D64 files. Realised that I wasn't actually necessarily catching exceptions properly for all file opens, and fixed. 2016-08-01 07:09:15 -04:00
Thomas Harte
18744cd98b Slightly updated comments, switched to 1540 ROM so as very slightly to improve loading time. 2016-08-01 04:37:30 -04:00
Thomas Harte
89a1881fef Started turning the 1540 into an actual disk drive. 2016-07-29 11:03:09 -04:00
Thomas Harte
0e581c7607 Factored out the stuff of running a timed event loop from the TapePlayer. 2016-07-29 07:15:46 -04:00
Thomas Harte
e55db0cfe8 Made an attempt to eliminate creeping tape processing accuracy misses, which implied factoring out the GCM and LCD functions, which I then felt didn't really amount to signal processing. 2016-07-29 05:19:01 -04:00
Thomas Harte
015cea494d Switched to a much-more straightforward PLL. I think I'm just fiddling now rather than moving forwards. Probably time to move on? 2016-07-28 11:32:14 -04:00
Thomas Harte
e061e849d4 Had a second bash at the PLL. Probably I should read some of the literature. 2016-07-27 16:24:24 -04:00
Thomas Harte
0aa90b943b Switched to specifying bit length as a quotient for the purposes of a PCMSegment and verified that I had the logic for picking a Commodore time zone backwards: bigger numbers are faster, not slower.
Started sketching out a DiskDrive class.
2016-07-15 06:51:11 -04:00
Thomas Harte
74817f6664 With a history of three pulses, this can track up a 10% sine variation in a 1010101 stream. So I guess this'll do for now? 2016-07-14 19:54:48 -04:00
Thomas Harte
ac1bc588dd Improved factoring and increased window of testing, causing both the fast and slow tests to show framing errors. 2016-07-14 07:12:02 -04:00
Thomas Harte
d1fe07f14d Added test of perfect DPLL input timing. 2016-07-12 21:42:23 -04:00
Thomas Harte
75d95c0bc0 Sketched out an interface for a digial PLL. Not persuaded yet. Baby steps. 2016-07-11 22:12:58 -04:00
Thomas Harte
1e9eedc314 Factored out the PCM track since it's going to be a useful construct for almost every file format. Documented it a little better. 2016-07-10 18:36:52 -04:00
Thomas Harte
6cfc514c2d Made the rote changes necessary to attempt to open and to supply a G64 to the Vic. 2016-07-10 12:57:17 -04:00
Thomas Harte
ff49857f5c Started sketching out support for the G64 file format. 2016-07-10 10:17:53 -04:00
Thomas Harte
9e3d6b762b Sketched out the generic interface for a disk, documenting it and the tape interface while I'm here. 2016-07-10 08:54:39 -04:00
Thomas Harte
d8334edf4a Started trying to clean up, including commuting the C1540 source file name to match its class name but mainly by adding documentation. 2016-07-10 07:46:20 -04:00
Thomas Harte
656cd211d7 Was transmitting bit levels backwards (probably?); 1540 now acknowledges byte received. 2016-07-09 18:06:49 -04:00
Thomas Harte
01746f0512 This is probably a valid test. But I'm not completely sure. Time to figure out what's happening on the 1540 end. 2016-07-09 18:01:04 -04:00
Thomas Harte
cd84c35552 Whoops, one bit too short. 2016-07-09 17:51:46 -04:00
Thomas Harte
cd362b46b3 This is a valid attempt to send a whole byte, I think. 2016-07-09 17:51:04 -04:00
Thomas Harte
3560babd7e Got back to a failing test, now while trying to transmit a whole byte. Good stuff! 2016-07-09 17:39:51 -04:00
Thomas Harte
66caa3c6dc Fixed setup of bridge class. 2016-07-09 17:23:43 -04:00
Thomas Harte
bf03985ea4 Here's an instantly failing test... 2016-07-09 17:22:10 -04:00
Thomas Harte
da6fe2e983 This should be enough of a shell to write some actual tests. 2016-07-09 15:47:53 -04:00
Thomas Harte
865eb421cd Quick on-disk tidy up. 2016-07-09 15:44:55 -04:00
Thomas Harte
7cc4bf3fe7 Hit and hope is getting me nowhere. Time to unit test this thing. 2016-07-09 15:40:25 -04:00
Thomas Harte
81e6cc34e5 Per the ROM disassembly, the Vic's VIA outputs are inverted for the benefit of the serial bus. 2016-07-07 06:57:21 -04:00
Thomas Harte
1baf21827c Since the ROM is well disassembled, let's actually try to be a 1541 first. 2016-07-06 22:17:32 -04:00
Thomas Harte
d1eea6943d Ensured the 1540 ROM gets installed, at least. 2016-07-05 16:54:25 -04:00
Thomas Harte
47548dcedc Fixed an erroneous #import. 2016-07-05 16:39:31 -04:00
Thomas Harte
86dabd007b Furthered fleshing out of the 1540. Though it doesn't yet receive a ROM so won't even attempt to do anything meaningful. 2016-07-05 16:39:18 -04:00
Thomas Harte
d2cded7b59 Attempted to separate out the concept of a serial port and a serial bus, since the bus may be shared, and to establish half duplex communications from the Vic. 2016-07-05 14:55:20 -04:00
Thomas Harte
0d3d0fbe4d Created a namespace for Commodore and an empty container file for the 1540[/1] implementation. 2016-07-05 13:28:27 -04:00
Thomas Harte
df4724eb3e Added a modal toggle allowing the keyboard to be switched between being a keyboard and being a joystick for the Vic. 2016-07-04 22:01:07 -04:00
Thomas Harte
88964ceac0 Eliminated plain pointer passing for object types. 2016-07-04 19:33:55 -04:00
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
b322baff2f Added CLI/SEI pair test. 2016-06-29 19:42:39 -04:00
Thomas Harte
db7c6430b5 Fixed Klaus Dormann termination condition. 2016-06-29 19:16:34 -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
9134e4de1f Added a partially-wired options menu for the VIC. 2016-06-27 18:49:53 -04:00
Thomas Harte
d5e50f5ea0 Got a bit more explicit about how ports are identified on the 6522. 2016-06-26 12:30:01 -04:00
Thomas Harte
8741be5c84 Made the slightest possible effort to get TAPs opened and passed to the VIC. 2016-06-25 16:24:52 -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
b8728285e7 An overridden getter looks more like this in Swift. 2016-06-23 21:09:34 -04:00
Thomas Harte
097a9caa95 Delegates are all nullable, naturally. 2016-06-23 09:37:49 -04:00
Thomas Harte
454e98302d Slight rearrangement plus a setting of the CSMachine delegate corrects audio after a clock rate change. 2016-06-20 22:18:41 -04:00
Thomas Harte
31b26b8118 Made a first attempt to implement the full top-to-bottom change of clock rates, giving the Atari the ability to change rate when it switches to PAL mode, as it should always have been. 2016-06-20 21:47:27 -04:00
Thomas Harte
3591479571 Fixed mismatch between initial tick box states and communicated switches; ensured they're visible upon launching a game. 2016-06-20 21:31:07 -04:00