2 NEC PC-9801 Emulator 'ePC-9801'
3 NEC PC-9801E/F/M Emulator 'ePC-9801E'
4 NEC PC-9801U Emulator 'ePC-9801U'
5 NEC PC-9801VF Emulator 'ePC-9801VF'
6 NEC PC-9801VM Emulator 'ePC-9801VM'
7 NEC PC-9801VX Emulator 'ePC-9801VX'
8 NEC PC-9801RA Emulator 'ePC-9801RA'
9 NEC PC-98XA Emulator 'ePC-98XA'
10 NEC PC-98XL Emulator 'ePC-98XL'
11 NEC PC-98RL Emulator 'ePC-98RL'
12 NEC PC-98DO Emulator 'ePC-98DO'
14 Author : Takeda.Toshiya
24 #include "../../emu.h"
25 #include "../device.h"
27 #if defined(SUPPORT_2HD_FDD_IF)
28 #define SIG_FLOPPY_2HD_IRQ 0
29 #define SIG_FLOPPY_2HD_DRQ 1
31 #if defined(SUPPORT_2DD_FDD_IF)
32 #define SIG_FLOPPY_2DD_IRQ 2
33 #define SIG_FLOPPY_2DD_DRQ 3
35 #if defined(SUPPORT_2HD_2DD_FDD_IF)
36 #define SIG_FLOPPY_IRQ 0
37 #define SIG_FLOPPY_DRQ 1
44 class FLOPPY : public DEVICE
47 #if defined(SUPPORT_2HD_FDD_IF)
51 #if defined(SUPPORT_2DD_FDD_IF)
55 #if defined(SUPPORT_2HD_2DD_FDD_IF)
57 uint8_t ctrlreg, modereg;
59 DEVICE *d_dma, *d_pic;
64 FLOPPY(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
66 set_device_name(_T("Floppy I/F"));
72 void write_io8(uint32_t addr, uint32_t data);
73 uint32_t read_io8(uint32_t addr);
74 void write_signal(int id, uint32_t data, uint32_t mask);
75 void event_callback(int event_id, int err);
76 bool process_state(FILEIO* state_fio, bool loading);
79 #if defined(SUPPORT_2HD_FDD_IF)
80 void set_context_fdc_2hd(UPD765A* device)
85 #if defined(SUPPORT_2DD_FDD_IF)
86 void set_context_fdc_2dd(UPD765A* device)
91 #if defined(SUPPORT_2HD_2DD_FDD_IF)
92 void set_context_fdc(UPD765A* device)
97 void set_context_dma(DEVICE* device)
101 void set_context_pic(DEVICE* device)