bbcm: Added Slogger Click, Solidisk Mega 256, Peartree MR8000, Master Smart Cartridge devices.
This commit is contained in:
parent
71f101d9a7
commit
f8af6df01f
@ -367,6 +367,14 @@ if (BUSES["BBC_CART"]~=null) then
|
||||
files {
|
||||
MAME_DIR .. "src/devices/bus/bbc/cart/slot.cpp",
|
||||
MAME_DIR .. "src/devices/bus/bbc/cart/slot.h",
|
||||
MAME_DIR .. "src/devices/bus/bbc/cart/click.cpp",
|
||||
MAME_DIR .. "src/devices/bus/bbc/cart/click.h",
|
||||
MAME_DIR .. "src/devices/bus/bbc/cart/mega256.cpp",
|
||||
MAME_DIR .. "src/devices/bus/bbc/cart/mega256.h",
|
||||
MAME_DIR .. "src/devices/bus/bbc/cart/mr8000.cpp",
|
||||
MAME_DIR .. "src/devices/bus/bbc/cart/mr8000.h",
|
||||
MAME_DIR .. "src/devices/bus/bbc/cart/msc.cpp",
|
||||
MAME_DIR .. "src/devices/bus/bbc/cart/msc.h",
|
||||
}
|
||||
end
|
||||
|
||||
|
113
src/devices/bus/bbc/cart/click.cpp
Normal file
113
src/devices/bus/bbc/cart/click.cpp
Normal file
@ -0,0 +1,113 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:Nigel Barnes
|
||||
/***************************************************************************
|
||||
|
||||
Slogger Click cartridge emulation
|
||||
|
||||
http://chrisacorns.computinghistory.org.uk/8bit_Upgrades/Slogger_Click.html
|
||||
|
||||
The Master version of the Click cartridge differs from the Electron
|
||||
version:
|
||||
Master 128 Electron
|
||||
ROM 16K 32K
|
||||
RAM (battery) 8K 32K
|
||||
|
||||
The data lines D1 and D2 are swapped between edge connector and ROM/RAM.
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
#include "emu.h"
|
||||
#include "click.h"
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// DEVICE DEFINITIONS
|
||||
//**************************************************************************
|
||||
|
||||
DEFINE_DEVICE_TYPE(BBC_CLICK, bbc_click_device, "bbc_click", "Slogger Click (Master 128) cartridge")
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// INPUT_PORTS( clickm )
|
||||
//-------------------------------------------------
|
||||
|
||||
INPUT_PORTS_START(clickm)
|
||||
PORT_START("BUTTON")
|
||||
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_BUTTON1) PORT_NAME("Click") PORT_CODE(KEYCODE_HOME) PORT_CHANGED_MEMBER(DEVICE_SELF, bbc_click_device, click_button, 0)
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// input_ports - device-specific input ports
|
||||
//-------------------------------------------------
|
||||
|
||||
ioport_constructor bbc_click_device::device_input_ports() const
|
||||
{
|
||||
return INPUT_PORTS_NAME(clickm);
|
||||
}
|
||||
|
||||
//**************************************************************************
|
||||
// LIVE DEVICE
|
||||
//**************************************************************************
|
||||
|
||||
//-------------------------------------------------
|
||||
// bbc_click_device - constructor
|
||||
//-------------------------------------------------
|
||||
|
||||
bbc_click_device::bbc_click_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
||||
: device_t(mconfig, BBC_CLICK, tag, owner, clock)
|
||||
, device_bbc_cart_interface(mconfig, *this)
|
||||
{
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
// device_start - device-specific startup
|
||||
//-------------------------------------------------
|
||||
|
||||
void bbc_click_device::device_start()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// read - cartridge data read
|
||||
//-------------------------------------------------
|
||||
|
||||
uint8_t bbc_click_device::read(offs_t offset, int infc, int infd, int romqa, int oe, int oe2)
|
||||
{
|
||||
uint8_t data = 0xff;
|
||||
|
||||
if (oe)
|
||||
{
|
||||
if (offset & 0x2000)
|
||||
{
|
||||
data = m_nvram[offset & 0x1fff];
|
||||
}
|
||||
else
|
||||
{
|
||||
data = m_rom[(offset & 0x1fff) | (romqa << 13)];
|
||||
}
|
||||
}
|
||||
|
||||
return bitswap<8>(data, 7, 6, 5, 4, 3, 1, 2, 0);
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
// write - cartridge data write
|
||||
//-------------------------------------------------
|
||||
|
||||
void bbc_click_device::write(offs_t offset, uint8_t data, int infc, int infd, int romqa, int oe, int oe2)
|
||||
{
|
||||
if (oe)
|
||||
{
|
||||
if (offset & 0x2000)
|
||||
{
|
||||
m_nvram[offset & 0x1fff] = bitswap<8>(data, 7, 6, 5, 4, 3, 1, 2, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
INPUT_CHANGED_MEMBER(bbc_click_device::click_button)
|
||||
{
|
||||
m_slot->irq_w(!newval);
|
||||
}
|
47
src/devices/bus/bbc/cart/click.h
Normal file
47
src/devices/bus/bbc/cart/click.h
Normal file
@ -0,0 +1,47 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:Nigel Barnes
|
||||
/***************************************************************************
|
||||
|
||||
Slogger Click cartridge emulation
|
||||
|
||||
http://chrisacorns.computinghistory.org.uk/8bit_Upgrades/Slogger_Click.html
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
#ifndef MAME_BUS_BBC_CART_CLICK_H
|
||||
#define MAME_BUS_BBC_CART_CLICK_H
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "slot.h"
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// TYPE DEFINITIONS
|
||||
//**************************************************************************
|
||||
|
||||
// ======================> bbc_click_device
|
||||
|
||||
class bbc_click_device : public device_t, public device_bbc_cart_interface
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
bbc_click_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
DECLARE_INPUT_CHANGED_MEMBER(click_button);
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual ioport_constructor device_input_ports() const override;
|
||||
|
||||
virtual void device_start() override;
|
||||
|
||||
// bbc_cart_interface overrides
|
||||
virtual uint8_t read(offs_t offset, int infc, int infd, int romqa, int oe, int oe2) override;
|
||||
virtual void write(offs_t offset, uint8_t data, int infc, int infd, int romqa, int oe, int oe2) override;
|
||||
};
|
||||
|
||||
// device type definition
|
||||
DECLARE_DEVICE_TYPE(BBC_CLICK, bbc_click_device)
|
||||
|
||||
#endif // MAME_BUS_BBC_CART_CLICK_H
|
97
src/devices/bus/bbc/cart/mega256.cpp
Normal file
97
src/devices/bus/bbc/cart/mega256.cpp
Normal file
@ -0,0 +1,97 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:Nigel Barnes
|
||||
/***************************************************************************
|
||||
|
||||
Solidisk Mega 256 cartridge emulation
|
||||
|
||||
http://chrisacorns.computinghistory.org.uk/8bit_Upgrades/Solidisk_Mega256.html
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
#include "emu.h"
|
||||
#include "mega256.h"
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// DEVICE DEFINITIONS
|
||||
//**************************************************************************
|
||||
|
||||
DEFINE_DEVICE_TYPE(BBC_MEGA256, bbc_mega256_device, "bbc_mega256", "Solidisk Mega 256 cartridge")
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// LIVE DEVICE
|
||||
//**************************************************************************
|
||||
|
||||
//-------------------------------------------------
|
||||
// bbc_mega256_device - constructor
|
||||
//-------------------------------------------------
|
||||
|
||||
bbc_mega256_device::bbc_mega256_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
||||
: device_t(mconfig, BBC_MEGA256, tag, owner, clock)
|
||||
, device_bbc_cart_interface(mconfig, *this)
|
||||
, m_page(0)
|
||||
{
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
// device_start - device-specific startup
|
||||
//-------------------------------------------------
|
||||
|
||||
void bbc_mega256_device::device_start()
|
||||
{
|
||||
// register for save states
|
||||
save_item(NAME(m_page));
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
// device_reset - device-specific reset
|
||||
//-------------------------------------------------
|
||||
|
||||
void bbc_mega256_device::device_reset()
|
||||
{
|
||||
m_page = 0x00;
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
// read - cartridge data read
|
||||
//-------------------------------------------------
|
||||
|
||||
uint8_t bbc_mega256_device::read(offs_t offset, int infc, int infd, int romqa, int oe, int oe2)
|
||||
{
|
||||
uint8_t data = 0xff;
|
||||
|
||||
if (oe)
|
||||
{
|
||||
if (romqa)
|
||||
{
|
||||
data = m_rom[offset & 0x1fff];
|
||||
}
|
||||
else
|
||||
{
|
||||
data = m_ram[(offset & 0x3fff) | (m_page << 14)];
|
||||
}
|
||||
}
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
// write - cartridge data write
|
||||
//-------------------------------------------------
|
||||
|
||||
void bbc_mega256_device::write(offs_t offset, uint8_t data, int infc, int infd, int romqa, int oe, int oe2)
|
||||
{
|
||||
if (oe)
|
||||
{
|
||||
if (romqa)
|
||||
{
|
||||
// Not known whether this latch is fully decoded.
|
||||
if (offset == 0x3fff) m_page = data & 0x0f;
|
||||
}
|
||||
else
|
||||
{
|
||||
m_ram[(offset & 0x3fff) | (m_page << 14)] = data;
|
||||
}
|
||||
}
|
||||
}
|
47
src/devices/bus/bbc/cart/mega256.h
Normal file
47
src/devices/bus/bbc/cart/mega256.h
Normal file
@ -0,0 +1,47 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:Nigel Barnes
|
||||
/***************************************************************************
|
||||
|
||||
Solidisk Mega 256 cartridge emulation
|
||||
|
||||
http://chrisacorns.computinghistory.org.uk/8bit_Upgrades/Solidisk_Mega256.html
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
#ifndef MAME_BUS_BBC_CART_MEGA256_H
|
||||
#define MAME_BUS_BBC_CART_MEGA256_H
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "slot.h"
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// TYPE DEFINITIONS
|
||||
//**************************************************************************
|
||||
|
||||
// ======================> bbc_mega256_device
|
||||
|
||||
class bbc_mega256_device : public device_t, public device_bbc_cart_interface
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
bbc_mega256_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;
|
||||
|
||||
// bbc_cart_interface overrides
|
||||
virtual uint8_t read(offs_t offset, int infc, int infd, int romqa, int oe, int oe2) override;
|
||||
virtual void write(offs_t offset, uint8_t data, int infc, int infd, int romqa, int oe, int oe2) override;
|
||||
|
||||
private:
|
||||
uint8_t m_page;
|
||||
};
|
||||
|
||||
// device type definition
|
||||
DECLARE_DEVICE_TYPE(BBC_MEGA256, bbc_mega256_device)
|
||||
|
||||
#endif // MAME_BUS_BBC_CART_MEGA256_H
|
102
src/devices/bus/bbc/cart/mr8000.cpp
Normal file
102
src/devices/bus/bbc/cart/mr8000.cpp
Normal file
@ -0,0 +1,102 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:Nigel Barnes
|
||||
/***************************************************************************
|
||||
|
||||
MR8000 Master RAM Cartridge emulation
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
#include "emu.h"
|
||||
#include "mr8000.h"
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// DEVICE DEFINITIONS
|
||||
//**************************************************************************
|
||||
|
||||
DEFINE_DEVICE_TYPE(BBC_MR8000, bbc_mr8000_device, "bbc_mr8000", "MR8000 Master RAM Cartridge")
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// INPUT_PORTS( mr8000 )
|
||||
//-------------------------------------------------
|
||||
|
||||
INPUT_PORTS_START(mr8000)
|
||||
PORT_START("SWITCH")
|
||||
PORT_CONFNAME(0x03, 0x00, "ROM Choice")
|
||||
PORT_CONFSETTING(0x00, "A (lower banks)")
|
||||
PORT_CONFSETTING(0x01, "B (upper banks)")
|
||||
PORT_CONFSETTING(0x02, "Off (disabled)")
|
||||
|
||||
PORT_CONFNAME(0x04, 0x00, "Write Protect")
|
||||
PORT_CONFSETTING(0x00, "On (read only")
|
||||
PORT_CONFSETTING(0x04, "Off (read and write)")
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// input_ports - device-specific input ports
|
||||
//-------------------------------------------------
|
||||
|
||||
ioport_constructor bbc_mr8000_device::device_input_ports() const
|
||||
{
|
||||
return INPUT_PORTS_NAME(mr8000);
|
||||
}
|
||||
|
||||
//**************************************************************************
|
||||
// LIVE DEVICE
|
||||
//**************************************************************************
|
||||
|
||||
//-------------------------------------------------
|
||||
// bbc_mr8000_device - constructor
|
||||
//-------------------------------------------------
|
||||
|
||||
bbc_mr8000_device::bbc_mr8000_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
||||
: device_t(mconfig, BBC_MR8000, tag, owner, clock)
|
||||
, device_bbc_cart_interface(mconfig, *this)
|
||||
, m_switch(*this, "SWITCH")
|
||||
{
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
// device_start - device-specific startup
|
||||
//-------------------------------------------------
|
||||
|
||||
void bbc_mr8000_device::device_start()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// read - cartridge data read
|
||||
//-------------------------------------------------
|
||||
|
||||
uint8_t bbc_mr8000_device::read(offs_t offset, int infc, int infd, int romqa, int oe, int oe2)
|
||||
{
|
||||
uint8_t data = 0x00;
|
||||
int bank = BIT(m_switch->read(), 0);
|
||||
|
||||
if (oe && !BIT(m_switch->read(), 1))
|
||||
{
|
||||
data = m_nvram[offset | (bank << 15) | (romqa << 14)];
|
||||
}
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
// write - cartridge data write
|
||||
//-------------------------------------------------
|
||||
|
||||
void bbc_mr8000_device::write(offs_t offset, uint8_t data, int infc, int infd, int romqa, int oe, int oe2)
|
||||
{
|
||||
int bank = BIT(m_switch->read(), 0);
|
||||
|
||||
if (oe && !BIT(m_switch->read(), 1))
|
||||
{
|
||||
if (BIT(m_switch->read(), 2))
|
||||
{
|
||||
m_nvram[offset | (bank << 15) | (romqa << 14)] = data;
|
||||
}
|
||||
}
|
||||
}
|
46
src/devices/bus/bbc/cart/mr8000.h
Normal file
46
src/devices/bus/bbc/cart/mr8000.h
Normal file
@ -0,0 +1,46 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:Nigel Barnes
|
||||
/***************************************************************************
|
||||
|
||||
MR8000 Master RAM Cartridge emulation
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
#ifndef MAME_BUS_BBC_CART_MR8000_H
|
||||
#define MAME_BUS_BBC_CART_MR8000_H
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "slot.h"
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// TYPE DEFINITIONS
|
||||
//**************************************************************************
|
||||
|
||||
// ======================> bbc_mr8000_device
|
||||
|
||||
class bbc_mr8000_device : public device_t, public device_bbc_cart_interface
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
bbc_mr8000_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual ioport_constructor device_input_ports() const override;
|
||||
|
||||
virtual void device_start() override;
|
||||
|
||||
// bbc_cart_interface overrides
|
||||
virtual uint8_t read(offs_t offset, int infc, int infd, int romqa, int oe, int oe2) override;
|
||||
virtual void write(offs_t offset, uint8_t data, int infc, int infd, int romqa, int oe, int oe2) override;
|
||||
|
||||
private:
|
||||
required_ioport m_switch;
|
||||
};
|
||||
|
||||
// device type definition
|
||||
DECLARE_DEVICE_TYPE(BBC_MR8000, bbc_mr8000_device)
|
||||
|
||||
#endif // MAME_BUS_BBC_CART_MR8000_H
|
104
src/devices/bus/bbc/cart/msc.cpp
Normal file
104
src/devices/bus/bbc/cart/msc.cpp
Normal file
@ -0,0 +1,104 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:Nigel Barnes
|
||||
/***************************************************************************
|
||||
|
||||
Master Smart Cartridge emulation
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
#include "emu.h"
|
||||
#include "msc.h"
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// DEVICE DEFINITIONS
|
||||
//**************************************************************************
|
||||
|
||||
DEFINE_DEVICE_TYPE(BBC_MSC, bbc_msc_device, "bbc_msc", "Master Smart Cartridge")
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// INPUT_PORTS( msc )
|
||||
//-------------------------------------------------
|
||||
|
||||
INPUT_PORTS_START(msc)
|
||||
PORT_START("BUTTON")
|
||||
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_BUTTON1) PORT_NAME("Activate") PORT_CODE(KEYCODE_HOME) PORT_CHANGED_MEMBER(DEVICE_SELF, bbc_msc_device, activate, 0)
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// input_ports - device-specific input ports
|
||||
//-------------------------------------------------
|
||||
|
||||
ioport_constructor bbc_msc_device::device_input_ports() const
|
||||
{
|
||||
return INPUT_PORTS_NAME(msc);
|
||||
}
|
||||
|
||||
//**************************************************************************
|
||||
// LIVE DEVICE
|
||||
//**************************************************************************
|
||||
|
||||
//-------------------------------------------------
|
||||
// bbc_msc_device - constructor
|
||||
//-------------------------------------------------
|
||||
|
||||
bbc_msc_device::bbc_msc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
||||
: device_t(mconfig, BBC_MSC, tag, owner, clock)
|
||||
, device_bbc_cart_interface(mconfig, *this)
|
||||
, m_button(*this, "BUTTON")
|
||||
{
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
// device_start - device-specific startup
|
||||
//-------------------------------------------------
|
||||
|
||||
void bbc_msc_device::device_start()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// read - cartridge data read
|
||||
//-------------------------------------------------
|
||||
|
||||
uint8_t bbc_msc_device::read(offs_t offset, int infc, int infd, int romqa, int oe, int oe2)
|
||||
{
|
||||
uint8_t data = 0xff;
|
||||
|
||||
if (oe & !romqa)
|
||||
{
|
||||
if (offset & 0x2000)
|
||||
{
|
||||
data = m_ram[offset & 0x7ff];
|
||||
}
|
||||
else
|
||||
{
|
||||
data = m_rom[(offset & 0x1fff) | (m_button->read() << 13)];
|
||||
}
|
||||
}
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
// write - cartridge data write
|
||||
//-------------------------------------------------
|
||||
|
||||
void bbc_msc_device::write(offs_t offset, uint8_t data, int infc, int infd, int romqa, int oe, int oe2)
|
||||
{
|
||||
if (oe & !romqa)
|
||||
{
|
||||
if (offset & 0x2000)
|
||||
{
|
||||
m_ram[offset & 0x7ff] = data;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
INPUT_CHANGED_MEMBER(bbc_msc_device::activate)
|
||||
{
|
||||
m_slot->irq_w(!newval);
|
||||
}
|
48
src/devices/bus/bbc/cart/msc.h
Normal file
48
src/devices/bus/bbc/cart/msc.h
Normal file
@ -0,0 +1,48 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:Nigel Barnes
|
||||
/***************************************************************************
|
||||
|
||||
Master Smart Cartridge emulation
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
#ifndef MAME_BUS_BBC_CART_MSC_H
|
||||
#define MAME_BUS_BBC_CART_MSC_H
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "slot.h"
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// TYPE DEFINITIONS
|
||||
//**************************************************************************
|
||||
|
||||
// ======================> bbc_msc_device
|
||||
|
||||
class bbc_msc_device : public device_t, public device_bbc_cart_interface
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
bbc_msc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
DECLARE_INPUT_CHANGED_MEMBER(activate);
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual ioport_constructor device_input_ports() const override;
|
||||
|
||||
virtual void device_start() override;
|
||||
|
||||
// bbc_cart_interface overrides
|
||||
virtual uint8_t read(offs_t offset, int infc, int infd, int romqa, int oe, int oe2) override;
|
||||
virtual void write(offs_t offset, uint8_t data, int infc, int infd, int romqa, int oe, int oe2) override;
|
||||
|
||||
private:
|
||||
required_ioport m_button;
|
||||
};
|
||||
|
||||
// device type definition
|
||||
DECLARE_DEVICE_TYPE(BBC_MSC, bbc_msc_device)
|
||||
|
||||
#endif // MAME_BUS_BBC_CART_MSC_H
|
@ -61,6 +61,10 @@ bbc_cartslot_device::bbc_cartslot_device(const machine_config &mconfig, const ch
|
||||
#include "bus/electron/cart/std.h"
|
||||
#include "bus/electron/cart/abr.h"
|
||||
#include "bus/electron/cart/aqr.h"
|
||||
#include "click.h"
|
||||
#include "mega256.h"
|
||||
#include "mr8000.h"
|
||||
#include "msc.h"
|
||||
|
||||
|
||||
void bbcm_cart(device_slot_interface &device)
|
||||
@ -68,4 +72,8 @@ void bbcm_cart(device_slot_interface &device)
|
||||
device.option_add_internal("std", ELECTRON_STDCART);
|
||||
device.option_add_internal("abr", ELECTRON_ABR);
|
||||
device.option_add_internal("aqr", ELECTRON_AQR);
|
||||
device.option_add_internal("click", BBC_CLICK);
|
||||
device.option_add_internal("mega256", BBC_MEGA256);
|
||||
device.option_add_internal("mr8000", BBC_MR8000);
|
||||
device.option_add_internal("msc", BBC_MSC);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user