Skip to content

Commit 2d2b05f

Browse files
committed
Fix problems with the floppy disk being extremely slow. It was working,
but with lots of timeouts and retries appearing to happen. In order to simplify everything, I removed the 8048 SCP. The rationale is that unless the motor itself were modelled, with the ramp in speed changes in response to changing zones being reflected in the tacheometer readings, you wouldn't be tell whether the SCP was there are not. The SCP was already being mostly bypassed, so the zone switch latency was already effectively zero. It's much cleaner to bypass the SCP completely. With the SCP gone, it was easier to find and fix the bugs, which were mostly around the RDY0, RDY1, L0MS and L1MS signals. Each of these signals can be output the corresponding VIA chip, as well as by the SCP. To make it work correctly, the output direction (DDRA/DDRB) VIA register fields need to be respected. Care also has to be taken around these signals when an SCP reset occurs. There are very specific expectations around how these signals respond to a reset, which if not honoured will cause the system to fail to boot. It now seems to work as fast as the original hardware - actually faster thanks to the zero latency when switching zones :-)
1 parent 9cdce30 commit 2d2b05f

File tree

2 files changed

+80
-336
lines changed

2 files changed

+80
-336
lines changed

0 commit comments

Comments
 (0)