|
|
1.1 root 1: /*
1.1.1.3 root 2: Hatari - fdc.h
3:
4: This file is distributed under the GNU Public License, version 2 or at
5: your option any later version. Read the file gpl.txt for details.
1.1 root 6: */
7:
1.1.1.3 root 8: #ifndef HATARI_FDC_H
9: #define HATARI_FDC_H
10:
1.1.1.2 root 11: /*-----------------------------------------------------------------------*/
12: /* FDC Emulation commands */
1.1.1.4 root 13: enum
14: {
15: FDCEMU_CMD_NULL = 0,
16: /* Type I */
17: FDCEMU_CMD_RESTORE,
18: FDCEMU_CMD_SEEK,
19: FDCEMU_CMD_STEP,
20: FDCEMU_CMD_STEPIN,
21: FDCEMU_CMD_STEPOUT,
22: /* Type II */
23: FDCEMU_CMD_READSECTORS,
24: FDCEMU_CMD_READMULTIPLESECTORS,
25: FDCEMU_CMD_WRITESECTORS,
26: FDCEMU_CMD_WRITEMULTIPLESECTORS
1.1 root 27: };
28:
1.1.1.2 root 29: /* FDC Emulation commands */
1.1 root 30: #define FDCEMU_RUN_NULL 0
31:
1.1.1.2 root 32: /* FDC Running Restore commands */
1.1.1.4 root 33: enum
34: {
35: FDCEMU_RUN_RESTORE_SEEKTOTRACKZERO,
36: FDCEMU_RUN_RESTORE_COMPLETE
1.1 root 37: };
38:
1.1.1.2 root 39: /* FDC Running Seek commands */
1.1.1.4 root 40: enum
41: {
42: FDCEMU_RUN_SEEK_TOTRACK,
43: FDCEMU_RUN_SEEK_COMPLETE
1.1 root 44: };
45:
1.1.1.2 root 46: /* FDC Running Step commands */
1.1.1.4 root 47: enum
48: {
49: FDCEMU_RUN_STEP_ONCE,
50: FDCEMU_RUN_STEP_COMPLETE
1.1 root 51: };
52:
1.1.1.2 root 53: /* FDC Running Step In commands */
1.1.1.4 root 54: enum
55: {
56: FDCEMU_RUN_STEPIN_ONCE,
57: FDCEMU_RUN_STEPIN_COMPLETE
1.1 root 58: };
59:
1.1.1.2 root 60: /* FDC Running Step Out commands */
1.1.1.4 root 61: enum
62: {
63: FDCEMU_RUN_STEPOUT_ONCE,
64: FDCEMU_RUN_STEPOUT_COMPLETE
1.1 root 65: };
66:
1.1.1.2 root 67: /* FDC Running Read Sector/s commands */
1.1.1.4 root 68: enum
69: {
70: FDCEMU_RUN_READSECTORS_READDATA,
71: FDCEMU_RUN_READSECTORS_COMPLETE
1.1 root 72: };
73:
1.1.1.2 root 74: /* FDC Running write Sector/s commands */
1.1.1.4 root 75: enum
76: {
77: FDCEMU_RUN_WRITESECTORS_WRITEDATA,
78: FDCEMU_RUN_WRITESECTORS_COMPLETE
1.1 root 79: };
80:
1.1.1.3 root 81:
1.1.1.5 ! root 82: extern Sint16 FDCSectorCountRegister;
! 83: extern Uint16 DiskControllerWord_ff8604wr;
1.1.1.4 root 84: extern Uint16 DMAModeControl_ff8606wr;
1.1.1.3 root 85:
86:
1.1 root 87: extern void FDC_Reset(void);
88: extern void FDC_MemorySnapShot_Capture(BOOL bSave);
89: extern void FDC_ResetDMAStatus(void);
90: extern void FDC_SetDMAStatus(BOOL bError);
1.1.1.4 root 91: extern void FDC_DmaStatus_ReadWord(void);
1.1.1.2 root 92: extern int FDC_FindFloppyDrive(void);
93: extern void FDC_AcknowledgeInterrupt(void);
1.1 root 94: extern void FDC_UpdateHBL(void);
95: extern void FDC_UpdateRestoreCmd(void);
96: extern void FDC_UpdateSeekCmd(void);
97: extern void FDC_UpdateStepCmd(void);
98: extern void FDC_UpdateStepInCmd(void);
99: extern void FDC_UpdateStepOutCmd(void);
100: extern void FDC_UpdateReadSectorsCmd(void);
101: extern void FDC_UpdateWriteSectorsCmd(void);
1.1.1.4 root 102: extern Uint32 FDC_ReadDMAAddress(void);
103: extern void FDC_WriteDMAAddress(Uint32 Address);
1.1 root 104: extern BOOL FDC_ReadSectorFromFloppy(void);
105: extern BOOL FDC_WriteSectorFromFloppy(void);
106: extern void FDC_DMADataFromFloppy(void);
1.1.1.5 ! root 107: extern void FDC_DiskController_WriteWord(void);
! 108: extern void FDC_DiskControllerStatus_ReadWord(void);
1.1.1.4 root 109: extern void FDC_DmaModeControl_WriteWord(void);
1.1.1.3 root 110:
111:
112: #endif /* ifndef HATARI_FDC_H */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.