summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/photoply.c
diff options
context:
space:
mode:
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
commit9eafc98ed9992e5d2067b2cbfaa53dae582976c8 (patch)
treeaa7f701d25232324d1733425738e15be527a3f5b /src/mame/drivers/photoply.c
parentbac361dd3df9e5744268f3cf91b16855e349697b (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.c36
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) \