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
42 class FLOPPY : public DEVICE
45 #if defined(SUPPORT_2HD_FDD_IF)
49 #if defined(SUPPORT_2DD_FDD_IF)
53 #if defined(SUPPORT_2HD_2DD_FDD_IF)
55 uint8_t ctrlreg, modereg;
57 DEVICE *d_dma, *d_pic;
62 FLOPPY(VM_TEMPLATE* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
64 set_device_name(_T("Floppy I/F"));
70 void write_io8(uint32_t addr, uint32_t data);
71 uint32_t read_io8(uint32_t addr);
72 void write_signal(int id, uint32_t data, uint32_t mask);
73 void event_callback(int event_id, int err);
74 bool process_state(FILEIO* state_fio, bool loading);
77 #if defined(SUPPORT_2HD_FDD_IF)
78 void set_context_fdc_2hd(UPD765A* device)
83 #if defined(SUPPORT_2DD_FDD_IF)
84 void set_context_fdc_2dd(UPD765A* device)
89 #if defined(SUPPORT_2HD_2DD_FDD_IF)
90 void set_context_fdc(UPD765A* device)
95 void set_context_dma(DEVICE* device)
99 void set_context_pic(DEVICE* device)