|
|
1.1 root 1: /*
2: Hatari
3: */
4:
1.1.1.2 ! root 5: /*-----------------------------------------------------------------------*/
! 6: /* FDC Emulation commands */
1.1 root 7: enum {
8: FDCEMU_CMD_NULL=0,
9: // Type I
10: FDCEMU_CMD_RESTORE,
11: FDCEMU_CMD_SEEK,
12: FDCEMU_CMD_STEP,
13: FDCEMU_CMD_STEPIN,
14: FDCEMU_CMD_STEPOUT,
15: // Type II
16: FDCEMU_CMD_READSECTORS,
17: FDCEMU_CMD_READMULTIPLESECTORS,
18: FDCEMU_CMD_WRITESECTORS,
19: FDCEMU_CMD_WRITEMULTIPLESECTORS
20: };
21:
1.1.1.2 ! root 22: /* FDC Emulation commands */
1.1 root 23: #define FDCEMU_RUN_NULL 0
24:
1.1.1.2 ! root 25: /* FDC Running Restore commands */
1.1 root 26: enum {
27: FDCEMU_RUN_RESTORE_SEEKTOTRACKZERO,
28: FDCEMU_RUN_RESTORE_COMPLETE
29: };
30:
1.1.1.2 ! root 31: /* FDC Running Seek commands */
1.1 root 32: enum {
33: FDCEMU_RUN_SEEK_TOTRACK,
34: FDCEMU_RUN_SEEK_COMPLETE
35: };
36:
1.1.1.2 ! root 37: /* FDC Running Step commands */
1.1 root 38: enum {
39: FDCEMU_RUN_STEP_ONCE,
40: FDCEMU_RUN_STEP_COMPLETE
41: };
42:
1.1.1.2 ! root 43: /* FDC Running Step In commands */
1.1 root 44: enum {
45: FDCEMU_RUN_STEPIN_ONCE,
46: FDCEMU_RUN_STEPIN_COMPLETE
47: };
48:
1.1.1.2 ! root 49: /* FDC Running Step Out commands */
1.1 root 50: enum {
51: FDCEMU_RUN_STEPOUT_ONCE,
52: FDCEMU_RUN_STEPOUT_COMPLETE
53: };
54:
1.1.1.2 ! root 55: /* FDC Running Read Sector/s commands */
1.1 root 56: enum {
57: FDCEMU_RUN_READSECTORS_READDATA,
58: FDCEMU_RUN_READSECTORS_COMPLETE
59: };
60:
1.1.1.2 ! root 61: /* FDC Running write Sector/s commands */
1.1 root 62: enum {
63: FDCEMU_RUN_WRITESECTORS_WRITEDATA,
64: FDCEMU_RUN_WRITESECTORS_COMPLETE
65: };
66:
67: extern void FDC_Reset(void);
68: extern void FDC_MemorySnapShot_Capture(BOOL bSave);
69: extern void FDC_ResetDMAStatus(void);
70: extern void FDC_SetDMAStatus(BOOL bError);
71: extern long FDC_ReadDMAStatus(void);
1.1.1.2 ! root 72: extern int FDC_FindFloppyDrive(void);
! 73: extern void FDC_AcknowledgeInterrupt(void);
1.1 root 74: extern void FDC_UpdateHBL(void);
75: extern void FDC_UpdateRestoreCmd(void);
76: extern void FDC_UpdateSeekCmd(void);
77: extern void FDC_UpdateStepCmd(void);
78: extern void FDC_UpdateStepInCmd(void);
79: extern void FDC_UpdateStepOutCmd(void);
80: extern void FDC_UpdateReadSectorsCmd(void);
81: extern void FDC_UpdateWriteSectorsCmd(void);
82: extern unsigned long FDC_ReadDMAAddress(void);
83: extern void FDC_WriteDMAAddress(unsigned long Address);
84: extern BOOL FDC_ReadSectorFromFloppy(void);
85: extern BOOL FDC_WriteSectorFromFloppy(void);
86: extern void FDC_DMADataFromFloppy(void);
87: extern void FDC_WriteDiscController(unsigned short v);
88: extern short FDC_ReadDiscControllerStatus(void);
89: extern void FDC_WriteDMAModeControl(unsigned short v);
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.