Have a look at:
http://www.opencircuits.com/Minimig_Discimage_supporthttp://en.wikipedia.org/wiki/MFMhttp://de.wikipedia.org/wiki/Bild:FM-MFM-Codierung.pngOne way to store non-compliant disc is to just put all the raw MFM bits as a long string of bits. That should allow most disc formats to be stored.
Approaches are sequence of:
* Packets specifying length and "1" or "0".
* Bits as in the
MFM code.
* Demodulated bits (see first line in the above picture link).
* MFM-Decoded bits as in ADF (which doesn't work..

)
As the program space and processing capacity in the MCU is limited. It might be an idea to let the MCU simply shuffle the bits without processing them. And implement the different decoding schemes in the FPGA.