David Given
29bdfc043a
Allow fractional revolutions and non-synced reading. Find more things which
...
need fixing in the firmware sampler.
2020-01-27 22:52:25 +01:00
David Given
933ffe7ab4
Find and attempt to fix a memory corruption error when sampling --- if the next
...
fragment arrives from the sampler before usbbuffer has finished being
transmitted via USB, it'll get overwritten. I've disabled DMA USB to make the
code easier to understand and made sure that we flush things more rigorously.
This may help the weird pipe errors, too.
2020-01-27 21:40:27 +01:00
David Given
b0c675c589
Improved error messages when using fe-rpm and it doesn't work.
2020-01-12 01:34:12 +01:00
David Given
d77841c3b7
Add the ability to fake the index pulse source, allowing old drives to be used
...
with FluxEngine.
2020-01-12 01:23:47 +01:00
David Given
bcc9e9d9a5
Bump the protocol number (I forgot last time I changed the protocol).
2020-01-10 21:04:33 +01:00
David Given
6389e8a756
Update pin number (which was wrong).
2019-12-12 20:35:20 +01:00
David Given
c187b79d80
Add a 300RPM clock on 3[0] and a 360RPM clock on 3[1], for use with faking
...
index pulses to the drive.
2019-12-12 20:34:44 +01:00
David Given
edbe624c5a
Hopefully, finally, fix the hang-on-read issue.
2019-12-12 20:09:49 +01:00
David Given
44e2334815
Typo fix. Make sure that both drives get deselected when the motor stops (to
...
make the LEDs go out).
2019-12-12 00:17:59 +01:00
David Given
b448ab7917
Finally squeeze everything in to the Verilog sampler. It does seem to work
...
better... the the USB hangup problem persists. Mac disks are still
nigh-unreadable.
2019-12-12 00:12:20 +01:00
David Given
072a097003
Archival (non-functioning) checkin of Verilog-based sampler code. Sadly, we've
...
run into size limits for the device, and I need to slim down.
2019-12-11 22:51:27 +01:00
David Given
a66e704bab
Start ripping out the awful UDB-based sampler code, replacing it with a Verilog
...
one and a standalone FIFO. This gets the FIFO working.
2019-12-11 21:13:57 +01:00
David Given
32bb956710
Detect voltage levels *correctly*.
2019-12-11 00:05:34 +01:00
David Given
f436d6b582
Add a feature where we can measure the FDD bus signal voltages using the PSoC's
...
ADCs. Increase the track step pulse width to 6us, because.
2019-12-10 22:36:18 +01:00
David Given
3094c5c919
Add missing files.
2019-11-29 18:49:22 +01:00
David Given
1e012699af
Clean up the Verilog a bit.
2019-11-25 20:54:13 +01:00
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
ebcb9c4bb0
Switch the output lines to open-drain drive low.
2019-11-24 02:06:45 +01:00
David Given
c266779433
Fix a bug where index pulses where being turned into flux pulses on read,
...
leading to completely broken data whenever an index pulse happened.
2019-08-27 23:58:07 +02:00
David Given
4954d33307
Add documentation for using the precompiled firmware.
2019-08-15 22:19:30 +02:00
David Given
55f3354287
Add precompiled hex for the firmware.
2019-08-15 21:52:11 +02:00
David Given
56a36072f7
Sampler state machine cleanup; more debugging tools for the logic analyser.
2019-07-12 21:09:53 +02:00
David Given
1e3581c5f3
Turns out I was using the wrong error threshold flags for Mac disks. ND disks
...
work fine now.
2019-07-10 23:55:16 +02: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
d1c2e2b611
Better handling of seeks (plus tracing).
2019-05-01 13:06:56 +02:00
David Given
c21177e2aa
Finally make things work in release mode!
2019-05-01 13:06:43 +02:00
David Given
783b4fcf36
Switch the USB component to ask for 100mA rather than 500mA.
2019-04-21 01:18:28 +02:00
David Given
1d22111f4e
Update components.
2019-04-21 01:16:25 +02:00
David Given
46b48f4638
Ignore the /DSKCHG line --- it doesn't add a lot of value (it allows us to
...
rehome if people change disks while the motor is running) and it means that
people need to worry about whether their drive produces /DSKCHG or /READY.
2019-04-21 01:15:30 +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
707563bec6
Hopefully fix the underrun issue when reading from HD disks.
2019-03-27 22:10:58 +01:00
David Given
098b2371a4
Crunched datastreams are now used when writing.
2019-03-27 21:58:41 +01:00
David Given
bcc5a5f2cd
Interim but working support for crunched data streams when reading from the
...
device; writes haven't been converted yet. Reduces the bandiwidth from about
800kB/s to about 500kB/s, which is about what I thought.
2019-03-26 23:03:19 +01:00
David Given
0453837c03
The high-density flag now actually changes the high-density line to the drive.
2019-03-26 20:05:16 +01:00
David Given
45eaf14133
Add a flag for setting the drive to high density mode.
2019-03-23 11:32:55 +01:00
David Given
4fe27afe9f
Backed out changeset cd5bed99b0b4 --- erroneously pushed to master.
2019-03-24 17:59:17 +01:00
David Given
7f9a85ff77
Add a flag for setting the drive to high density mode.
2019-03-23 11:32:55 +01:00
David Given
29b66086ea
The sequencer now (I hope, untested) supports waiting for the index hole. It's
...
certainly no more non-functional than it was before, i.e. it writes Brother
disks fine.
2019-03-07 00:10:12 +01:00
David Given
379985c2bc
Rework the sampler state machine, with new, better, simpler bytecode at twice
...
the bandwidth; we now record the state of the index hole.
2019-03-06 21:09:07 +01:00
David Given
f3640aa153
Show transfer bandwidth.
2019-03-06 19:44:27 +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