Commit Graph

466 Commits

Author SHA1 Message Date
David Given
fb8d5dad93 Merge pull request #25 from davidgiven/long
Replace the mostly broken Verilog-based sequencer and sampler
2019-02-28 21:39:42 +01:00
David Given
e26061ef1a Merge from trunk. 2019-02-28 21:34:05 +01:00
David Given
1d6f112b53 Remove the old logic-based sequencer. 2019-02-28 21:29:01 +01:00
David Given
b496cfd8fb FINALLY LONG TRANSITIONS WORK quick merge 2019-02-28 21:27:51 +01:00
David Given
d7aba171e3 UDB sequencer now sequences (without long transitions). 2019-02-28 20:55:18 +01:00
David Given
f20ad8368a Non-working basis of a UDB datapath based sequencer. No more clock errors. 2019-02-28 01:03:58 +01:00
David Given
08cb20fd1d Remove the old, broken, Verilog sampler. 2019-02-27 23:57:13 +01:00
David Given
864a3c0e4b Use 16-bit DMA transfers now we have a FIFO. Better CPU efficiency! 2019-02-27 23:56:17 +01:00
David Given
38d82185ed The sampler now supports long transitions!!! 2019-02-27 23:53:51 +01:00
David Given
6bcd9a6644 The UDB-based pulse generator is back. The problem was I was trying to write to
a HD disk (also the logic was wrong). I think my new Sony drive doesn't
autoselect.
2019-02-27 23:34:55 +01:00
David Given
b8138aef40 Replace the UDB based pulse generator with the old counter-based one, which
seems to work.
2019-02-27 23:18:19 +01:00
David Given
4b0c7b095b FINALLY make the UDB-based sampler work... although without rollover, yet.
Sadly I seem to also have broken the sequencer.
2019-02-27 23:00:47 +01:00
David Given
0d42eca004 Apple II segmentation works. 2019-02-27 00:37:48 +01:00
David Given
90aabf80e5 Clone the Mac decoder library for the Apple 2 one. 2019-02-27 00:23:49 +01:00
David Given
4df9741350 Update documentation again. 2019-02-27 00:04:45 +01:00
David Given
3a740cd79b Centre video in doc page. 2019-02-26 23:49:10 +01:00
David Given
9d7b9bc243 Add a link to the demo video. 2019-02-26 23:36:12 +01:00
David Given
556afd220b Merge from trunk. 2019-02-26 23:33:24 +01:00
David Given
462d15369e Create a pulse generator UDB component --- hopefully cheaper than what we're currently doing. 2019-02-26 23:33:06 +01:00
David Given
039d6b5fdd More fiddling with the UDB sampler. Still doesn't work. 2019-02-26 22:37:45 +01:00
David Given
59617f0daf Merge pull request #23 from davidgiven/c64
Fix build error on very old systems.
2019-02-26 20:30:14 +01:00
David Given
bd78bdfafd Old versions of C++ don't support static_assert without a message, so add one. 2019-02-26 19:54:41 +01:00
David Given
d3df012468 Initialise the FIFOs. Doesn't do any good. 2019-02-25 23:52:44 +01:00
David Given
6e7d687bb9 Merge pull request #22 from davidgiven/c64
Add Commodore 64 1451 support.
2019-02-25 21:43:38 +01:00
David Given
09423e4c23 Table layout fixes. 2019-02-25 21:40:39 +01:00
David Given
8c3d86c23e Typo fix. 2019-02-25 21:21:06 +01:00
David Given
7aae494434 Add Commodore 64 documentation. Overhaul the support grid. 2019-02-25 21:18:10 +01:00
David Given
650dd6ef97 Oops --- the 1541 track numbers start at 1! 2019-02-25 21:17:44 +01:00
David Given
1bca41dc03 The C64 decoder now works. 2019-02-25 20:31:18 +01:00
David Given
20c54f1956 Warn if two copies of the same sector are seen with different data. 2019-02-25 20:31:05 +01:00
David Given
166c3ef22d Start assembling sectors --- although my test image looks very weird, so it
could be wrong.
2019-02-25 01:08:33 +01:00
David Given
6d9a73bd52 GCR decoding works (AFAICT). 2019-02-25 00:47:27 +01:00
David Given
6e8c7b8b13 C64 segmenter works (mostly?). 2019-02-25 00:26:08 +01:00
David Given
10a2a0e579 Add skeleton C64 decoder. 2019-02-25 00:13:36 +01:00
David Given
1b767a0bec Remove junk. 2019-02-25 00:11:28 +01:00
David Given
75a321beef Don't retry reads if we're not talking to actual hardware.
Fixes #18.
2019-02-24 23:57:46 +01:00
David Given
58c4f14f3e Merge. 2019-02-24 16:47:42 +01:00
David Given
a0eea73e3d Correct board pinout instructions. 2019-02-24 15:53:09 +01:00
David Given
8c171a2679 Correct board pinout instructions. 2019-02-24 15:53:09 +01:00
David Given
74c6c6db56 Non-working attempt at replacing the sampler with a UDB datapath (so I can use
the FIFO).
2019-02-24 14:50:33 +01:00
David Given
5b519ba675 More sanity checking; if we get a good header followed immediately by a bad
one, then the header is no longer valid.
2019-02-23 20:50:27 +01:00
David Given
649c571f81 Merge pull request #19 from davidgiven/long
Add support for long intervals
2019-02-23 20:30:37 +01:00
David Given
34a4c888b5 Rewrite the Verilog *again*, and increase the CPU clock rate --- it's now a
little more reliable at reading long intervals off disk, but does seem to be
doing it. I'm going to definitely need some better sampling logic here and
probably a FIFO. But it'll do for now.
2019-02-23 19:51:27 +01:00
David Given
3752c0681f Erase now erases and doesn't just crash. 2019-02-23 19:32:19 +01:00
David Given
753a4a21ef Rewrite the sampler Verilog to use much more consistent logic. Still doesn't
work for long intervals, though.
2019-02-23 12:42:42 +01:00
David Given
6a1327e3f6 Attempt to translate the sequencer into Verilog and have it handle long
intervals properly.
2019-02-23 00:50:36 +01:00
David Given
b5c2ddc92e Merge. 2019-02-22 23:23:40 +01:00
David Given
fc58dfd181 Merge from trunk. 2019-02-22 23:22:59 +01:00
David Given
a76d7f1d81 Merge from trunk. 2019-02-22 23:18:32 +01:00
David Given
0f83da98a4 Fix long-standing breakage causing all writes to fail. 2019-02-22 21:50:20 +01:00