summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/psx/gamebooster.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/psx/gamebooster.h')
-rw-r--r--src/devices/bus/psx/gamebooster.h31
1 files changed, 17 insertions, 14 deletions
diff --git a/src/devices/bus/psx/gamebooster.h b/src/devices/bus/psx/gamebooster.h
index a6c06844d7e..9e990f726d5 100644
--- a/src/devices/bus/psx/gamebooster.h
+++ b/src/devices/bus/psx/gamebooster.h
@@ -6,10 +6,8 @@
#pragma once
-
#include "parallel.h"
-#include "bus/gameboy/rom.h"
-#include "bus/gameboy/mbc.h"
+
//**************************************************************************
// TYPE DEFINITIONS
@@ -19,31 +17,36 @@
class psx_gamebooster_device :
public device_t,
- public psx_parallel_interface
+ public psx_parallel_interface,
+ public device_memory_interface
{
public:
// construction/destruction
psx_gamebooster_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-protected:
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
+ // psx_parallel_interface implementation
+ virtual uint16_t exp_r(offs_t offset, uint16_t mem_mask = ~0) override;
+ virtual void exp_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0) override;
- // optional information overrides
+protected:
+ // device_t implementation
virtual const tiny_rom_entry *device_rom_region() const override;
virtual void device_add_mconfig(machine_config &config) override;
+ virtual void device_start() override;
+ virtual void device_reset() override;
- virtual DECLARE_READ16_MEMBER(exp_r) override;
- virtual DECLARE_WRITE16_MEMBER(exp_w) override;
+ // device_memory_interface implementation
+ virtual space_config_vector memory_space_config() const override;
private:
- required_memory_region m_rom;
- required_device<gb_cart_slot_device> m_cartslot;
+ required_region_ptr<u16> m_rom;
+
+ const address_space_config m_cart_config;
+ memory_access<16, 0, 0, ENDIANNESS_LITTLE>::specific m_cart_space;
};
-// device type definition
+// device type declaration
DECLARE_DEVICE_TYPE(PSX_GAMEBOOSTER, psx_gamebooster_device)
#endif // MAME_BUS_PSX_GAMEBOOSTER_H