--- hatari/src/includes/fdc.h 2019/04/01 07:13:41 1.1.1.7 +++ hatari/src/includes/fdc.h 2019/04/01 07:15:29 1.1.1.9 @@ -23,7 +23,9 @@ enum FDCEMU_CMD_READSECTORS, FDCEMU_CMD_READMULTIPLESECTORS, FDCEMU_CMD_WRITESECTORS, - FDCEMU_CMD_WRITEMULTIPLESECTORS + FDCEMU_CMD_WRITEMULTIPLESECTORS, + /* Type III */ + FDCEMU_CMD_READADDRESS, }; /* FDC Emulation commands */ @@ -78,8 +80,15 @@ enum FDCEMU_RUN_WRITESECTORS_COMPLETE }; +/* FDC Running Read Address commands */ +enum +{ + FDCEMU_RUN_READADDRESS, + FDCEMU_RUN_READADDRESS_COMPLETE +}; + -/* Commands are taking the equivalent of FDC_HBL_DELAY hbl's to execute */ +/* Commands are taking the equivalent of FDC_DELAY_CYCLES cpu cycles to execute */ /* to try to simulate the speed of a real ST floppy drive */ #define FDC_DELAY_CYCLES 92160 //#define FDC_DELAY_CYCLES 1536 // 'Just Bugging Demo' by ACF requires a very fast delay (bug in the loader) @@ -91,9 +100,9 @@ extern Uint16 DMAModeControl_ff8606wr; extern void FDC_Reset(void); -extern void FDC_MemorySnapShot_Capture(BOOL bSave); +extern void FDC_MemorySnapShot_Capture(bool bSave); extern void FDC_ResetDMAStatus(void); -extern void FDC_SetDMAStatus(BOOL bError); +extern void FDC_SetDMAStatus(bool bError); extern void FDC_DmaStatus_ReadWord(void); extern int FDC_FindFloppyDrive(void); extern void FDC_AcknowledgeInterrupt(void); @@ -106,10 +115,11 @@ extern void FDC_UpdateStepInCmd(void); extern void FDC_UpdateStepOutCmd(void); extern void FDC_UpdateReadSectorsCmd(void); extern void FDC_UpdateWriteSectorsCmd(void); +extern void FDC_UpdateReadAddressCmd(void); extern Uint32 FDC_ReadDMAAddress(void); extern void FDC_WriteDMAAddress(Uint32 Address); -extern BOOL FDC_ReadSectorFromFloppy(void); -extern BOOL FDC_WriteSectorFromFloppy(void); +extern bool FDC_ReadSectorFromFloppy(void); +extern bool FDC_WriteSectorFromFloppy(void); extern void FDC_DMADataFromFloppy(void); extern void FDC_DiskController_WriteWord(void); extern void FDC_DiskControllerStatus_ReadWord(void);