Thomas Harte
|
9af9b28baf
|
Made very first attempt at closing the loop on this. But it's time for work.
|
2016-08-03 08:16:23 -04:00 |
|
Thomas Harte
|
e15241dc3c
|
Added ability to query how long since the new interval was set to the timed event loop. Discovered that LCM will returning the net effect of the common factors only. Otherwise continued iterating towards time preservation.
|
2016-08-03 07:49:00 -04:00 |
|
Thomas Harte
|
a3a3486f54
|
Okay, it's becoming more apparent where the (very mild) complexity will be here. But started moving towards retaining rotation between tracks.
|
2016-08-03 07:33:26 -04:00 |
|
Thomas Harte
|
21f1fa37a4
|
Fixed Time addition, added accumulation of distance into track into the disk drive, added a short circuit for LCM.
|
2016-08-03 07:26:05 -04:00 |
|
Thomas Harte
|
30f8b6baa4
|
Made an attempt to add the necessary extension to Track , with a concrete implementation in PCMTrack , to support time-based seeking, the intended mechanism for not magically spinning the disk back to the index hole upon every head step.
|
2016-08-03 06:59:45 -04:00 |
|
Thomas Harte
|
d832e5e10d
|
Reduced 1540 PLL to running at 4Mhz. Which is possibly correct (?) Made minor change to avoid divide if possible.
|
2016-08-02 21:28:50 -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
|
d74c3760fb
|
Update README.md
Added the Commodore 1540 as an emulated machine, given that it has a CPU and all.
|
2016-08-01 10:19:25 -04:00 |
|
Thomas Harte
|
95a3c42407
|
Merge pull request #42 from TomHarte/D64
Adds support for the .d64 file format
|
2016-08-01 10:13:22 -04:00 |
|
Thomas Harte
|
bc10b3ee9a
|
It appears the problem is as simple as sectors being counted from zero.
|
2016-08-01 10:08:38 -04:00 |
|
Thomas Harte
|
f5e4ea3351
|
Some minor tidying, lots more of the caveman stuff as I try to determine what I'm doing wrong.
|
2016-08-01 09:43:08 -04:00 |
|
Thomas Harte
|
a00f9adba3
|
Made a first attempt at D64 support. Made an error somewhere but this should be 90% of it.
|
2016-08-01 08:41:16 -04:00 |
|
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
|
ee2a7c9415
|
Added slightly to exposition, to match other formats.
|
2016-08-01 06:54:57 -04:00 |
|
Thomas Harte
|
2799a87218
|
Reduced possibility of overflow on LCM, improved commenting widely, removed one stale piece of G64 bootstrapping caveman stuff.
|
2016-08-01 06:04:55 -04:00 |
|
Thomas Harte
|
a2ca94431e
|
Merge pull request #41 from TomHarte/DiskDrive
Implements something of the foundation for disk drive emulation
|
2016-08-01 04:43:07 -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
|
b43a7381ae
|
Fixed framing and first-byte-after-sync signalling. Hacked together as parts of it are, loading now appears to work!
|
2016-08-01 04:25:11 -04:00 |
|
Thomas Harte
|
41893b5ef6
|
Put in the absolute minimum logic for drive motor emulation. Drive appears to be attempting head steps.
|
2016-07-31 19:38:51 -04:00 |
|
Thomas Harte
|
740ea0b7e2
|
Added overflow-flag setting logic and ensured disk ROM gets through regardless of ROM/disk installation order.
|
2016-07-31 19:33:18 -04:00 |
|
Thomas Harte
|
0945049cd3
|
Made attempt to connect sync detect and then apply appropriate windowing, posting bytes to the appropriate place.
|
2016-07-31 18:29:44 -04:00 |
|
Thomas Harte
|
198fbbedc7
|
Reeled back all appropriate pieces of caveman debugging.
|
2016-07-31 13:42:34 -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
|
6ee784a893
|
Increased logging; discovered I was packing events together too closely. Now getting some zeros.
|
2016-07-30 04:30:55 -04:00 |
|
Thomas Harte
|
fead524eb5
|
Attempted to give the PLL a litte extra leeway, and fixed PCMTrack length test.
|
2016-07-29 18:52:50 -04:00 |
|
Thomas Harte
|
8f62211f5e
|
Wired up the 1540 as a PLL delegate. Which prima facie means it should start receiving a bit stream. Except that I clearly have something in the timing way off — either my flux transitions are far too short or I need to significantly increase the clock rate on the PLL.
|
2016-07-29 12:08:18 -04:00 |
|
Thomas Harte
|
89a1881fef
|
Started turning the 1540 into an actual disk drive.
|
2016-07-29 11:03:09 -04:00 |
|
Thomas Harte
|
6532b3a8c8
|
Filled in a calculation of clocks per bit that'll do.
|
2016-07-29 07:51:07 -04:00 |
|
Thomas Harte
|
f984de42a3
|
Took some small steps towards having a disk drive that at least can select a track and pump relevant events into a PLL.
|
2016-07-29 07:31:02 -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
|
5c1614ce7b
|
Attempted to simplify, very slightly.
|
2016-07-28 14:35:39 -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
|
63f39608a6
|
Added just enough to get back to a working build.
|
2016-07-15 20:35:19 -04:00 |
|
Thomas Harte
|
165dbd9651
|
Started fleshing this out a bit. Hopefully.
|
2016-07-15 08:28:34 -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
|
6afd619791
|
Eliminated floating point arithmetic.
|
2016-07-14 19:47:00 -04:00 |
|
Thomas Harte
|
6b4fec37ff
|
Moved down to a single divide.
|
2016-07-14 19:45:08 -04:00 |
|
Thomas Harte
|
481475a0f4
|
Switched to a full-on linear regression. Which causes the current tests to pass.
|
2016-07-14 19:42:01 -04:00 |
|
Thomas Harte
|
6d6b26b99f
|
Actually made things worse.
|
2016-07-14 07:32:27 -04:00 |
|
Thomas Harte
|
d8d3464c56
|
Made a quick-hack attempt at PLL synchronisation. Which doesn't work.
|
2016-07-14 07:31:23 -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
|
94db45456e
|
Started sketching out the basic form here, albeit that it doesn't yet do _the only thing it advertises itself as useful for_.
|
2016-07-12 20:23:56 -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
|
d0200b6fd9
|
Merge pull request #40 from TomHarte/DiskFileFormats
Establishes the form of a modelled floppy disk plus parts of the most-likely implementation; implemented support for G64 as the first input format
|
2016-07-10 18:37:44 -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
|
66895d3ac7
|
Actually, I think this is the correct conversion from received speed to clock rate. It'll become obvious if it's not when I get back to working on the 1541 itself.
|
2016-07-10 18:24:12 -04:00 |
|