--- hatari/src/includes/fdc.h 2019/04/01 07:10:19 1.1.1.2 +++ hatari/src/includes/fdc.h 2019/04/01 07:13:07 1.1.1.6 @@ -1,76 +1,97 @@ /* - Hatari + Hatari - fdc.h + + This file is distributed under the GNU Public License, version 2 or at + your option any later version. Read the file gpl.txt for details. */ +#ifndef HATARI_FDC_H +#define HATARI_FDC_H + /*-----------------------------------------------------------------------*/ /* FDC Emulation commands */ -enum { - FDCEMU_CMD_NULL=0, - // Type I - FDCEMU_CMD_RESTORE, - FDCEMU_CMD_SEEK, - FDCEMU_CMD_STEP, - FDCEMU_CMD_STEPIN, - FDCEMU_CMD_STEPOUT, - // Type II - FDCEMU_CMD_READSECTORS, - FDCEMU_CMD_READMULTIPLESECTORS, - FDCEMU_CMD_WRITESECTORS, - FDCEMU_CMD_WRITEMULTIPLESECTORS +enum +{ + FDCEMU_CMD_NULL = 0, + /* Type I */ + FDCEMU_CMD_RESTORE, + FDCEMU_CMD_SEEK, + FDCEMU_CMD_STEP, + FDCEMU_CMD_STEPIN, + FDCEMU_CMD_STEPOUT, + /* Type II */ + FDCEMU_CMD_READSECTORS, + FDCEMU_CMD_READMULTIPLESECTORS, + FDCEMU_CMD_WRITESECTORS, + FDCEMU_CMD_WRITEMULTIPLESECTORS }; /* FDC Emulation commands */ #define FDCEMU_RUN_NULL 0 /* FDC Running Restore commands */ -enum { - FDCEMU_RUN_RESTORE_SEEKTOTRACKZERO, - FDCEMU_RUN_RESTORE_COMPLETE +enum +{ + FDCEMU_RUN_RESTORE_SEEKTOTRACKZERO, + FDCEMU_RUN_RESTORE_COMPLETE }; /* FDC Running Seek commands */ -enum { - FDCEMU_RUN_SEEK_TOTRACK, - FDCEMU_RUN_SEEK_COMPLETE +enum +{ + FDCEMU_RUN_SEEK_TOTRACK, + FDCEMU_RUN_SEEK_COMPLETE }; /* FDC Running Step commands */ -enum { - FDCEMU_RUN_STEP_ONCE, - FDCEMU_RUN_STEP_COMPLETE +enum +{ + FDCEMU_RUN_STEP_ONCE, + FDCEMU_RUN_STEP_COMPLETE }; /* FDC Running Step In commands */ -enum { - FDCEMU_RUN_STEPIN_ONCE, - FDCEMU_RUN_STEPIN_COMPLETE +enum +{ + FDCEMU_RUN_STEPIN_ONCE, + FDCEMU_RUN_STEPIN_COMPLETE }; /* FDC Running Step Out commands */ -enum { - FDCEMU_RUN_STEPOUT_ONCE, - FDCEMU_RUN_STEPOUT_COMPLETE +enum +{ + FDCEMU_RUN_STEPOUT_ONCE, + FDCEMU_RUN_STEPOUT_COMPLETE }; /* FDC Running Read Sector/s commands */ -enum { - FDCEMU_RUN_READSECTORS_READDATA, - FDCEMU_RUN_READSECTORS_COMPLETE +enum +{ + FDCEMU_RUN_READSECTORS_READDATA, + FDCEMU_RUN_READSECTORS_COMPLETE }; /* FDC Running write Sector/s commands */ -enum { - FDCEMU_RUN_WRITESECTORS_WRITEDATA, - FDCEMU_RUN_WRITESECTORS_COMPLETE +enum +{ + FDCEMU_RUN_WRITESECTORS_WRITEDATA, + FDCEMU_RUN_WRITESECTORS_COMPLETE }; + +extern Sint16 FDCSectorCountRegister; +extern Uint16 DiskControllerWord_ff8604wr; +extern Uint16 DMAModeControl_ff8606wr; + + extern void FDC_Reset(void); extern void FDC_MemorySnapShot_Capture(BOOL bSave); extern void FDC_ResetDMAStatus(void); extern void FDC_SetDMAStatus(BOOL bError); -extern long FDC_ReadDMAStatus(void); +extern void FDC_DmaStatus_ReadWord(void); extern int FDC_FindFloppyDrive(void); extern void FDC_AcknowledgeInterrupt(void); +extern void FDC_GpipRead(void); extern void FDC_UpdateHBL(void); extern void FDC_UpdateRestoreCmd(void); extern void FDC_UpdateSeekCmd(void); @@ -79,11 +100,14 @@ extern void FDC_UpdateStepInCmd(void); extern void FDC_UpdateStepOutCmd(void); extern void FDC_UpdateReadSectorsCmd(void); extern void FDC_UpdateWriteSectorsCmd(void); -extern unsigned long FDC_ReadDMAAddress(void); -extern void FDC_WriteDMAAddress(unsigned long Address); +extern Uint32 FDC_ReadDMAAddress(void); +extern void FDC_WriteDMAAddress(Uint32 Address); extern BOOL FDC_ReadSectorFromFloppy(void); extern BOOL FDC_WriteSectorFromFloppy(void); extern void FDC_DMADataFromFloppy(void); -extern void FDC_WriteDiscController(unsigned short v); -extern short FDC_ReadDiscControllerStatus(void); -extern void FDC_WriteDMAModeControl(unsigned short v); +extern void FDC_DiskController_WriteWord(void); +extern void FDC_DiskControllerStatus_ReadWord(void); +extern void FDC_DmaModeControl_WriteWord(void); + + +#endif /* ifndef HATARI_FDC_H */