David Given
64694580cd
Remember to bump the protocol number after the bytecode change.
2020-04-03 21:46:51 +02:00
David Given
0367b7e77d
Merge from trunk.
2020-04-01 00:06:35 +02:00
David Given
e6da85bf64
Merge pull request #145 from davidgiven/writereport
...
Add a machine readable read report.
FluxEngine-Windows-client-version-369
2020-04-01 00:04:54 +02:00
David Given
cd19fcdadd
The CSV report now writes records for every sector in the output map, even the
...
missing ones.
2020-03-31 00:14:23 +02:00
David Given
1954f02cfb
Don't reset the device on startup because it confuses Linux.
2020-03-30 22:23:18 +01:00
David Given
39b23200b0
Fix missing flag dependency.
2020-03-29 23:12:12 +02:00
David Given
0644d6d965
Remove some stray tracing (which was causing problems). Fix a potential problem
...
where sampleclock posedges could be lost in the sequencer.
2020-03-29 23:11:53 +02:00
David Given
a075694d8e
Rewrite the sequencer to work with the new six bit bytecode. Fiddle with the
...
USB stuff a lot in an attempt to resolve the weird packet loss issue.
2020-03-29 15:10:35 +02:00
David Given
b1ea5a9a35
Rework the writer to use a fluxsink rather than just writing stuff directly.
2020-03-29 15:08:45 +02:00
David Given
00087cbb6b
Fix a catastrophic DMA setup bug which was causing (probably) every other byte
...
of data to be mixed up with every other byte... but as every other byte was a
0x80 we never noticed up until now.
2020-03-20 00:06:58 +01:00
David Given
1b48ea20c4
Remove the cruncher.
2020-03-20 00:06:07 +01:00
David Given
3d0f019fc4
Replace the sampler with one using the new simplified bytecode.
2020-03-19 23:39:23 +01:00
David Given
a08bfc183f
Display the tick value along with each interval in the histogram.
2020-03-19 22:16:07 +01:00
David Given
c5aef9b051
Annotate inspect to display USB bandwidth.
2020-03-15 13:47:17 +00:00
David Given
fc2655ecd6
Rework the bytecode format to use a much simplified setup: a six-bit timer with
...
the top two bits reserved for pulse and index state. This is actually smaller,
bandwidth-wise, than the old version, and may be smaller than the crunched
version.
2020-03-14 18:58:43 +00:00
David Given
a737c723d3
Make sure to update before installing packages.
2020-03-14 14:47:04 +00:00
David Given
37aa8b62b0
Add a --write-csv=X option to the reader to dump the sector status map as a
...
machine-readable file.
2020-03-14 14:35:19 +00:00
David Given
a401173f6d
Teach the Amiga decoder how many sectors to expect on each track.
FluxEngine-Windows-client-version-354
2020-03-09 12:54:29 +00:00
David Given
ce76dc4279
Merge pull request #140 from davidgiven/sectors
...
Fix a couple of annoying but minor issues
2020-02-28 00:08:11 +01:00
David Given
1025bd857b
Don't crashloop if the USB's not connected, as it causes the drives to be
...
constantly reprobed (which runs the motor).
2020-02-27 22:32:27 +01:00
David Given
025802b2d0
Count required sectors correctly on mac disks.
2020-02-27 22:30:05 +01:00
David Given
adbcb2cd31
Merge pull request #139 from davidgiven/sectors
...
Add support for required sectors, drive autodetection and fix homing on 8" drives.
FluxEngine-Windows-client-version-350
2020-02-24 21:55:27 +01:00
David Given
c47a563790
Don't seek to track -1 on homing (it appears to upset 8" drives). Detect which
...
drives are present, so that if only a single drive is attached then it's always
track 0, regardless of which connector it's on.
2020-02-24 21:47:40 +01:00
David Given
04c09d1a5b
Hopefully, fix the problem where ^Cing a job gets the board in a confused
...
state.
2020-02-21 22:16:20 +01:00
David Given
323da8272a
Hopefully add support for giving the reader a set of required sectors, so if
...
one is missing then we can tell and the track can be reread.
2020-02-21 22:14:44 +01:00
David Given
38700c79fc
Merge pull request #137 from davidgiven/docs
...
Update documentation.
FluxEngine-Windows-client-version-345
2020-02-20 00:32:19 +01:00
David Given
d504d1890a
Remember to document that you need a FDD cable.
2020-02-20 00:30:17 +01:00
David Given
d53e757cfb
Rework some of the Brother documentation.
2020-02-20 00:25:55 +01:00
David Given
4983239458
Rework the hardware and software documentation.
2020-02-20 00:17:16 +01:00
David Given
376985828a
Add the ditaa pinout table.
2020-02-19 23:49:43 +01:00
David Given
dce0a26820
Merge pull request #136 from davidgiven/ibm
...
Finally add write support for IBM disks.
FluxEngine-Windows-client-version-340
2020-02-18 23:20:57 +01:00
David Given
14e0a67e7d
IBM write support gets the much vaunted unicorn.
2020-02-18 23:10:09 +01:00
David Given
1656947764
Disable write precompensation, as it actually seems to make things worse.
2020-02-18 22:49:12 +01:00
David Given
647862cdbd
Update the firmware for the new cruncher.
2020-02-18 22:13:41 +01:00
David Given
4a8d83838c
Add IBM write support documentation.
2020-02-18 22:12:56 +01:00
David Given
8acf8e181d
Rework the crunch encoding to be, hopefully, smaller and use less bandwidth for
...
HD disks.
2020-02-18 21:37:32 +01:00
David Given
2df9920209
Rename test bulktransport to test bandwidth; avoid watchdog failures while the
...
bandwidth test is running.
2020-02-18 19:12:52 +01:00
David Given
1a6c6b5420
The bandwidth tester now tests bandwidth in both directions. It looks like my
...
default USB port only gets about 500kB/s write bandwidth. However, when plugged
into a port with 850kB/s, I still get underrun errors...
2020-02-17 23:58:40 +01:00
David Given
edc56d44d6
Non-functioning archive checkin: You can only have 120-odd DMA buffers, so my
...
last 'fix' was in fact non-functional.
2020-02-17 23:28:40 +01:00
David Given
ef4eff0195
So writing now works, but only if USB DMA is enabled. But that breaks reading.
...
I've worked round this in a simple but brute force manner and it now looks as
if reading *and* writing work, more or less. There does still seem to be the
odd bad sector when writing 1440kB disks.
2020-02-17 21:41:01 +01:00
David Given
df8d45bf66
Rework the output fifo to be a bit more correct about the sync signals, which
...
in turn allows the sequencer to lose less time --- this gets the effective
clock rate down to about 1.01us. However we still seem to lose the last sector
on 18-sector disks and there are some disk reads so something is still wrong.
2020-02-17 00:13:13 +01:00
David Given
89a27619ff
Correctly propagate MFM encoding state.
2020-02-15 21:47:01 +01:00
David Given
387a86969a
Some verilog optimisations which shave off a few p-terms.
2020-02-15 12:15:51 +01:00
David Given
acb5059d17
Rewrite the sampler *again* to, hopefully, be more stable and not lose ticks.
...
Luckily, we have just enough space in the FPGA to use an actual logic counter,
which simplifies things hugely.
2020-02-15 12:09:19 +01:00
David Given
a4002d2617
Fix a few encoder issues; but while 720kB disks work fine in a real machine,
...
1440kB disks don't.
2020-02-14 22:47:15 +01:00
David Given
a63a90bbd0
Only attempt to remove the old file on overwrite if it actually exists.
2020-02-14 22:30:46 +01:00
David Given
d25f96dd24
The IBM encoder now works well enough that my USB floppy drive thinks the disk
...
is formatted... but has trouble reading sectors above about 1000. Also remember
that encoding MFM needs to keep one bit of state at all times.
2020-02-14 00:06:51 +01:00
David Given
e8febe6508
Allow converting Bytes to bits, and slicing until the end of an object.
2020-02-14 00:04:31 +01:00
David Given
ad3a930c6a
Do the boilerplate of the IBM encoder.
2020-02-09 23:56:20 +01:00
David Given
be41c1de76
You now need to explicitly specify whether flux files get merged or
...
overwritten, because the old behaviour was weird. Reader uses SqliteFluxSink to
write flux files, rather than raw database accesses.
2020-02-08 12:41:50 +01:00