diff options
author | smf- <smf-@users.noreply.github.com> | 2013-06-08 15:42:11 +0000 |
---|---|---|
committer | smf- <smf-@users.noreply.github.com> | 2013-06-08 15:42:11 +0000 |
commit | 9eafc98ed9992e5d2067b2cbfaa53dae582976c8 (patch) | |
tree | aa7f701d25232324d1733425738e15be527a3f5b /src/mame/drivers/photoply.c | |
parent | bac361dd3df9e5744268f3cf91b16855e349697b (diff) |
First pass at tidying up ide interface. It no longer tries to force everything to act as a PC. A copy of the VIA VT83C461 datasheet would be useful to remove some of the hacks added to make the games using it work again. [smf]
Diffstat (limited to 'src/mame/drivers/photoply.c')
-rw-r--r-- | src/mame/drivers/photoply.c | 36 |
1 files changed, 5 insertions, 31 deletions
diff --git a/src/mame/drivers/photoply.c b/src/mame/drivers/photoply.c index 0a6fa7b5616..272539cd883 100644 --- a/src/mame/drivers/photoply.c +++ b/src/mame/drivers/photoply.c @@ -21,44 +21,18 @@ class photoply_state : public pcat_base_state { public: photoply_state(const machine_config &mconfig, device_type type, const char *tag) - : pcat_base_state(mconfig, type, tag), - m_ide(*this, "ide") { } + : pcat_base_state(mconfig, type, tag) + { + } UINT8 m_vga_address; - DECLARE_READ32_MEMBER(ide_r); - DECLARE_WRITE32_MEMBER(ide_w); - DECLARE_READ32_MEMBER(fdc_r); - DECLARE_WRITE32_MEMBER(fdc_w); DECLARE_DRIVER_INIT(photoply); virtual void machine_start(); - - required_device<ide_controller_device> m_ide; }; -READ32_MEMBER(photoply_state::ide_r) -{ - return m_ide->ide_controller32_r(space, 0x1f0/4 + offset, mem_mask); -} - -WRITE32_MEMBER(photoply_state::ide_w) -{ - m_ide->ide_controller32_w(space, 0x1f0/4 + offset, data, mem_mask); -} - -READ32_MEMBER(photoply_state::fdc_r) -{ - return m_ide->ide_controller32_r(space, 0x3f0/4 + offset, mem_mask); -} - -WRITE32_MEMBER(photoply_state::fdc_w) -{ - //mame_printf_debug("FDC: write %08X, %08X, %08X\n", data, offset, mem_mask); - m_ide->ide_controller32_w(space, 0x3f0/4 + offset, data, mem_mask); -} - static ADDRESS_MAP_START( photoply_map, AS_PROGRAM, 32, photoply_state ) AM_RANGE(0x00000000, 0x0009ffff) AM_RAM AM_RANGE(0x000a0000, 0x000bffff) AM_DEVREADWRITE8("vga", vga_device, mem_r, mem_w, 0xffffffff) // VGA RAM @@ -74,14 +48,14 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( photoply_io, AS_IO, 32, photoply_state ) AM_IMPORT_FROM(pcat32_io_common) AM_RANGE(0x00e8, 0x00eb) AM_NOP - AM_RANGE(0x01f0, 0x01f7) AM_READWRITE(ide_r, ide_w) + AM_RANGE(0x01f0, 0x01f7) AM_DEVREADWRITE16("ide", ide_controller_device, read_cs0_pc, write_cs0_pc, 0xffffffff) AM_RANGE(0x0278, 0x027f) AM_RAM //parallel port 2 AM_RANGE(0x0378, 0x037f) AM_RAM //parallel port //AM_RANGE(0x03bc, 0x03bf) AM_RAM //parallel port 3 AM_RANGE(0x03b0, 0x03bf) AM_DEVREADWRITE8("vga", vga_device, port_03b0_r, port_03b0_w, 0xffffffff) AM_RANGE(0x03c0, 0x03cf) AM_DEVREADWRITE8("vga", vga_device, port_03c0_r, port_03c0_w, 0xffffffff) AM_RANGE(0x03d0, 0x03df) AM_DEVREADWRITE8("vga", vga_device, port_03d0_r, port_03d0_w, 0xffffffff) - AM_RANGE(0x03f0, 0x03f7) AM_READWRITE(fdc_r, fdc_w) + AM_RANGE(0x03f0, 0x03f7) AM_DEVREADWRITE16("ide", ide_controller_device, read_cs1_pc, write_cs1_pc, 0xffffffff) ADDRESS_MAP_END #define AT_KEYB_HELPER(bit, text, key1) \ |