Carl is using a FPGA because that's what he is most familiar with and he's built disk emulators with FPGAs before. The Alto's Diablo disk provides data at 1.6 MHz, so the 200 MHz PRU could probably keep up. The FPGA can make the timing more exact, and Carl likes to make sure all the signals have precise timing. A complication with disk as compared to Ethernet is there are a lot of signals to deal with (track address, sector address, status signals, read clock, read data, write data, unit select, etc). He goes into details at his blog: https://rescue1130.blogspot.com/