mame/src/devices/bus/psx/gamebooster.h
David Haywood ff61c2c50d framework for adding 'gamebooster' (need to figure out how it actually works / maps tho) (#3134)
* fix/tidy tvboy driver (nw)

* missed file (nw)

* framework for adding 'gamebooster'  (need to figure out how it actually works / maps tho) (nw)
(code based on zx spectrum expansion port code)

* (nw)

* lost a line (nw)

* allow it to run (nw)

* continued work (nw)

* mame64 psj -parallel gamebooster -cart tetris  now works

* rm outdated (nw)

* remove unneeded code (nw)

* limit accesses, log unexpected ones, might have custom banking (nw)

* write bytes in an order that keeps the gb code happier , sml boots (nw)
2018-01-27 10:17:37 -05:00

50 lines
1.3 KiB
C++

// license:BSD-3-Clause
// copyright-holders:David Haywood
#ifndef MAME_BUS_PSX_GAMEBOOSTER_H
#define MAME_BUS_PSX_GAMEBOOSTER_H
#pragma once
#include "parallel.h"
#include "bus/gameboy/rom.h"
#include "bus/gameboy/mbc.h"
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
// ======================> psx_gamebooster_device
class psx_gamebooster_device :
public device_t,
public psx_parallel_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;
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
virtual void device_add_mconfig(machine_config &config) override;
virtual DECLARE_READ16_MEMBER(exp_r) override;
virtual DECLARE_WRITE16_MEMBER(exp_w) override;
private:
required_memory_region m_rom;
required_device<gb_cart_slot_device> m_cartslot;
};
// device type definition
DECLARE_DEVICE_TYPE(PSX_GAMEBOOSTER, psx_gamebooster_device)
#endif // MAME_BUS_PSX_GAMEBOOSTER_H