Commit Graph

22 Commits

Author SHA1 Message Date
David Given
91d6e9aeb9 Rewrite the sequencer engine with a separate fifo component and a pure verilog
sequencer --- much easier to understand. We can write disks again!
2019-11-25 20:52:13 +01:00
David Given
a40b26ff46 Archival checkin for trying to figure out why writes no longer work. 2019-11-24 15:14:32 +01:00
David Given
7a775afaea Make sure that CounterClock is actually 12MHz, and not 12-ish MHz. Doesn't
help.
2019-07-10 20:26:17 +02:00
David Given
c27c4fe312 Synchronise input pins and set LVTTL levels. More correct, but doesn't help the
read issues.
2019-07-10 19:48:03 +02:00
David Given
ad295c683c The sampler pulse conversion now uses BUS_CLK as the sample clock. 2019-07-09 22:43:46 +02:00
David Given
98ea5e9600 Connect up pins 2.3, 2.4 and 2.5 for debugging with a logic analyser. 2019-07-08 01:08:05 +02:00
David Given
ce6077fa22 Apply Denis Kushch's timing fixes to the schematic. No more warnings on builds! 2019-07-08 00:52:59 +02:00
David Given
1d22111f4e Update components. 2019-04-21 01:16:25 +02:00
David Given
da8cae61b7 Add a debug UART back on pin 2.0 to get some semblance of debug information off
the board. Discover a fun edge case where output transfers that were an exact
number of frames weren't being terminated correctly.
2019-04-06 17:59:23 +02:00
David Given
039d6b5fdd More fiddling with the UDB sampler. Still doesn't work. 2019-02-26 22:37:45 +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
9f64de0c49 Do a recalibrate when retrying a track read --- it makes things a bit more
reliable.
2019-02-09 22:55:46 +01:00
David Given
59eae19af2 Apply component update. 2018-12-14 19:11:36 +01:00
David Given
8f1cef48b1 Realise that the weird data dropouts were due to a stray capacitor on the
board... so remove it. Better now. Also realise that PSoC Creator lies to you
about clocks, so adjust the sample clock to be derivable from the USB clock,
making it both the right frequency and much more accurate --- decode success is
dramatically improved (presumably due to less jitter). Redesign the capture
logic to use a timer; simpler now.
2018-10-06 18:32:57 +02:00
David Given
339cdd5105 Add a partially working MFM decoder --- MFM's fine, it's aligning to sync bytes
which is hard.
2018-10-04 00:02:13 +02:00
David Given
fccabb3266 Add back in the hacky output file, for testing; replace the capture logic with
an upcounter, and replace the pulse-in-high-bit stuff.
2018-10-03 19:45:27 +02:00
David Given
913829afbb Discover timers; drastically simplify and betterify everything. 2018-10-02 00:17:37 +02:00
David Given
51cb1ae785 We just read our first floppy! Turns out the secret is to, once again, remove
C7 from the board as it's preventing the READ DATA line showing anything.
2018-10-01 23:30:51 +02:00
David Given
4e19882d76 Archival checkin of messed-about non-working code to actually read data from
disk. Something's wrong with the DMA; requesting a transfer every 2us with a TD
size of 64 bytes is somehow leading to an nrq interrupt every 8us. Mysterious.
2018-09-30 01:13:39 +02:00
David Given
755ae2950d Attempt to DMA data gibberish data from a fake acquisition unit and send it out
over USB.
2018-09-23 02:05:20 +02:00
David Given
9d00a1e5ea Bolt on USB UART. 2018-09-22 22:08:49 +02:00
David Given
a59c764dc5 Initial project boilerplate. 2018-09-22 21:44:33 +02:00