picosonic / bbc-fdc

Floppy disk interface for Raspberry Pi
MIT License
244 stars 22 forks source link

Improve raw sample processing #2

Closed picosonic closed 3 years ago

picosonic commented 6 years ago

The raw sample processing engine currently just uses samples between rising edges to assign values to the output bitstream.

There is no PLL sync so only samples which fit within the 4us bitcell window will be detected correctly.

I've created code to do this and to track bitcells with auto pulse centering and window width adjustment to overcome some drive speed variations.

This needs integrating, but since this is a slower method than just counting samples between pulses, perhaps this should only be applied to parts of the raw sample where nothing has yet been found.

picosonic commented 3 years ago

I've added a configurable PLL based on the one in MAME