View Single Post
Old 14 February 2018, 17:12   #50
bloodline
Registered User

bloodline's Avatar
 
Join Date: Jan 2017
Location: London
Posts: 158
My emulator is now able to emulate floppy drives, and will accept an adf file as the second command line parameter:

zorro kick12.rom workbench.adf

Pressing F1, will simulate inserting the disk into the floppy drive 0.

For some reason, even though I have tried to emulate 4 floppy drives, only the internal drive has it's drive head stepped from track 0 to 1 and then back again (about every 10 seconds, how do the other drives signal to the amiga they are present on the system?), this appears to be based on an interrupt generated by CIAA. Full Debugging output is provided via command line.

The problem I have now is turning the ADF data structure into an MFM data structure.

My current idea is to convert the adf during load time, so only the MFM data is stored in memory and used by my emulator.

Now the structure of an MFM track seems quite complicated

From what I've read, a disk is made up of 80 tracks, each track is made up of 11 sectors, and there is one data block (512bytes) per sector. An ADF is just the data blocks, so I need to build the sectors to populate my MFM tracks.

Sectors appear to have synchronisation bytes, headers and checksums all before the data... which itself appears to be divided into odd and even bytes... this is going to be a serious headache

Frustratingly the Hardware reference manual says the MFM synchronisation word is 0x4489, but that contains an illegal transition, it states this is the mfm encoding of 0xA1... which I make to be 0x44A9... who is right? Me or the HRM?

Last edited by bloodline; 14 February 2018 at 18:13.
bloodline is offline  
 
Page generated in 0.04958 seconds with 11 queries