You can either use a pio to emulate the signals to a hard drive, or some direct data/address bus.
The pio will be rather slow.
The direct address/data bus is a peripheral, where you use the least significant address lines to select the registers in the hard drive. Using the pio-interface mode of the drive, the interface is rather simple and quite fast (of course a lot slower than the DMA-modes, but this is much more complex to handle in hard and software).
About the software there are severel levels to define :
Stefaan.