trunk/src/emu/machine/upd765.c
| r19441 | r19442 | |
| 11 | 11 | const device_type PC_FDC_SUPERIO = &device_creator<pc_fdc_superio_device>; |
| 12 | 12 | const device_type DP8473 = &device_creator<dp8473_device>; |
| 13 | 13 | const device_type PC8477A = &device_creator<pc8477a_device>; |
| 14 | const device_type WD37C65C = &device_creator<wd37c65c_device>; |
| 14 | 15 | |
| 15 | 16 | DEVICE_ADDRESS_MAP_START(map, 8, upd765a_device) |
| 16 | 17 | AM_RANGE(0x0, 0x0) AM_READ(msr_r) |
| r19441 | r19442 | |
| 80 | 81 | AM_RANGE(0x7, 0x7) AM_READWRITE(dir_r, ccr_w) |
| 81 | 82 | ADDRESS_MAP_END |
| 82 | 83 | |
| 84 | DEVICE_ADDRESS_MAP_START(map, 8, wd37c65c_device) |
| 85 | AM_RANGE(0x0, 0x0) AM_READ(msr_r) |
| 86 | AM_RANGE(0x1, 0x1) AM_READWRITE(fifo_r, fifo_w) |
| 87 | ADDRESS_MAP_END |
| 83 | 88 | |
| 89 | |
| 84 | 90 | int upd765_family_device::rates[4] = { 500000, 300000, 250000, 1000000 }; |
| 85 | 91 | |
| 86 | 92 | upd765_family_device::upd765_family_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock) : pc_fdc_interface(mconfig, type, name, tag, owner, clock) |
| r19441 | r19442 | |
| 2239 | 2245 | ready_connected = false; |
| 2240 | 2246 | select_connected = true; |
| 2241 | 2247 | } |
| 2248 | |
| 2249 | wd37c65c_device::wd37c65c_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : upd765_family_device(mconfig, PC_FDC_SUPERIO, "PC FDC SUPERIO", tag, owner, clock) |
| 2250 | { |
| 2251 | m_shortname = "wd37c65c"; |
| 2252 | ready_polled = false; |
| 2253 | ready_connected = false; |
| 2254 | select_connected = true; |
| 2255 | } |
trunk/src/emu/machine/upd765.h
| r19441 | r19442 | |
| 46 | 46 | #define MCFG_PC8477A_ADD(_tag) \ |
| 47 | 47 | MCFG_DEVICE_ADD(_tag, PC8477A, 0) |
| 48 | 48 | |
| 49 | #define MCFG_WD37C65C_ADD(_tag) \ |
| 50 | MCFG_DEVICE_ADD(_tag, WD37C65C, 0) |
| 51 | |
| 49 | 52 | /* Interface required for PC ISA wrapping */ |
| 50 | 53 | class pc_fdc_interface : public device_t { |
| 51 | 54 | public: |
| r19441 | r19442 | |
| 451 | 454 | virtual DECLARE_ADDRESS_MAP(map, 8); |
| 452 | 455 | }; |
| 453 | 456 | |
| 457 | class wd37c65c_device : public upd765_family_device { |
| 458 | public: |
| 459 | wd37c65c_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); |
| 460 | |
| 461 | virtual DECLARE_ADDRESS_MAP(map, 8); |
| 462 | }; |
| 463 | |
| 454 | 464 | extern const device_type UPD765A; |
| 455 | 465 | extern const device_type UPD765B; |
| 456 | 466 | extern const device_type I8272A; |
| r19441 | r19442 | |
| 460 | 470 | extern const device_type PC_FDC_SUPERIO; |
| 461 | 471 | extern const device_type DP8473; |
| 462 | 472 | extern const device_type PC8477A; |
| 473 | extern const device_type WD37C65C; |
| 463 | 474 | |
| 464 | 475 | #endif |