Changed the pccard slot over to use a device map (nw)

This commit is contained in:
smf- 2013-06-01 17:55:31 +00:00
parent 7e284d9e0d
commit 911e9034b3
4 changed files with 18 additions and 8 deletions

View File

@ -1,7 +1,5 @@
#include "linflash.h"
/// figure out which games use 16mb and which use 32mb
linear_flash_card_device::linear_flash_card_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock,const char *shortname, const char *source) :
device_t(mconfig, type, name, tag, owner, clock, shortname, source),
device_memory_interface(mconfig, *this),

View File

@ -37,6 +37,15 @@ READ_LINE_MEMBER(pccard_slot_device::read_line_inserted)
return m_pccard != NULL;
}
DEVICE_ADDRESS_MAP_START(memory, 16, pccard_slot_device)
AM_RANGE(0x00000000, 0x03ffffff) AM_READWRITE(read_memory, write_memory)
ADDRESS_MAP_END
DEVICE_ADDRESS_MAP_START(reg, 16, pccard_slot_device)
AM_RANGE(0x00000000, 0x03ffffff) AM_READWRITE(read_reg, write_reg)
ADDRESS_MAP_END
READ16_MEMBER( pccard_slot_device::read_memory )
{
if( m_pccard != NULL )

View File

@ -18,15 +18,18 @@ public:
pccard_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
DECLARE_READ_LINE_MEMBER(read_line_inserted);
DECLARE_READ16_MEMBER(read_memory);
DECLARE_READ16_MEMBER(read_reg);
DECLARE_WRITE16_MEMBER(write_memory);
DECLARE_WRITE16_MEMBER(write_reg);
DECLARE_ADDRESS_MAP(memory, 16);
DECLARE_ADDRESS_MAP(reg, 16);
protected:
virtual void device_start();
private:
DECLARE_READ16_MEMBER(read_memory);
DECLARE_READ16_MEMBER(read_reg);
DECLARE_WRITE16_MEMBER(write_memory);
DECLARE_WRITE16_MEMBER(write_reg);
// internal state
pccard_interface *m_pccard;
};

View File

@ -743,8 +743,8 @@ static ADDRESS_MAP_START( flashbank_map, AS_PROGRAM, 16, ksys573_state )
AM_RANGE(0x0800000, 0x0bfffff) AM_DEVREADWRITE8("29f016a.27j", intelfsh8_device, read, write, 0xff00)
AM_RANGE(0x0c00000, 0x0ffffff) AM_DEVREADWRITE8("29f016a.31h", intelfsh8_device, read, write, 0x00ff)
AM_RANGE(0x0c00000, 0x0ffffff) AM_DEVREADWRITE8("29f016a.27h", intelfsh8_device, read, write, 0xff00)
AM_RANGE(0x4000000, 0x7ffffff) AM_DEVREADWRITE("pccard1", pccard_slot_device, read_memory, write_memory)
AM_RANGE(0x8000000, 0xbffffff) AM_DEVREADWRITE("pccard2", pccard_slot_device, read_memory, write_memory)
AM_RANGE(0x4000000, 0x7ffffff) AM_DEVICE("pccard1", pccard_slot_device, memory)
AM_RANGE(0x8000000, 0xbffffff) AM_DEVICE("pccard2", pccard_slot_device, memory)
ADDRESS_MAP_END
static ADDRESS_MAP_START( konami573d_map, AS_PROGRAM, 32, ksys573_state )