I've been working a little bit off-and-on for years on reverse-engineering the WD1000 and WD1001 disk controllers (8X300/8X305-based), and their clones. I've only made any significant progress within the last few days, after hacking together my own disassesmbler which deals with the Fast I/O Select PROM. I do NOT recommend using this disassembler yet, for reasons that are explained in the README, but I've put it on github:


I've made some progress interpreting the firmware of an early WD1000, which only had 512 words of firmware, and didn't support run-time configurable sector size selection. So far I've figured out how they handle the host reading and writing the task file, dispatching the commands, and much of the sector ID search.