diff options
author | 2013-10-22 15:44:27 +0000 | |
---|---|---|
committer | 2013-10-22 15:44:27 +0000 | |
commit | 0b91c21b366be4d0c1bcabdbe74e6b9d82a62271 (patch) | |
tree | 1804ed0b9de916825d5fc7e1387d33aac256f4c0 /src/emu/bus/cbm2/24k.c | |
parent | 47c548e760b6c4447f7b15e7d403060d0051b994 (diff) |
(MESS) Moved a bunch of buses under emu/bus. (nw)
Diffstat (limited to 'src/emu/bus/cbm2/24k.c')
-rw-r--r-- | src/emu/bus/cbm2/24k.c | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/src/emu/bus/cbm2/24k.c b/src/emu/bus/cbm2/24k.c new file mode 100644 index 00000000000..7cb34a96c31 --- /dev/null +++ b/src/emu/bus/cbm2/24k.c @@ -0,0 +1,90 @@ +// license:BSD-3-Clause +// copyright-holders:Curt Coder +/********************************************************************** + + GLA 24K RAM cartridge emulation + + Copyright MESS Team. + Visit http://mamedev.org for licensing and usage restrictions. + +**********************************************************************/ + +#include "24k.h" + + + +//************************************************************************** +// DEVICE DEFINITIONS +//************************************************************************** + +const device_type CBM2_24K = &device_creator<cbm2_24k_cartridge_device>; + + + +//************************************************************************** +// LIVE DEVICE +//************************************************************************** + +//------------------------------------------------- +// cbm2_24k_cartridge_device - constructor +//------------------------------------------------- + +cbm2_24k_cartridge_device::cbm2_24k_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : + device_t(mconfig, CBM2_24K, "24K RAM/ROM cartridge", tag, owner, clock, "cbm2_24k", __FILE__), + device_cbm2_expansion_card_interface(mconfig, *this) +{ +} + + +//------------------------------------------------- +// device_start - device-specific startup +//------------------------------------------------- + +void cbm2_24k_cartridge_device::device_start() +{ + cbm2_ram_pointer(machine(), 0x6000); +} + + +//------------------------------------------------- +// cbm2_bd_r - cartridge data read +//------------------------------------------------- + +UINT8 cbm2_24k_cartridge_device::cbm2_bd_r(address_space &space, offs_t offset, UINT8 data, int csbank1, int csbank2, int csbank3) +{ + if (!csbank1) + { + data = m_ram[offset]; + } + else if (!csbank2) + { + data = m_ram[0x2000 | offset]; + } + else if (!csbank3) + { + data = m_ram[0x4000 | offset]; + } + + return data; +} + + +//------------------------------------------------- +// cbm2_bd_w - cartridge data write +//------------------------------------------------- + +void cbm2_24k_cartridge_device::cbm2_bd_w(address_space &space, offs_t offset, UINT8 data, int csbank1, int csbank2, int csbank3) +{ + if (!csbank1) + { + m_ram[offset] = data; + } + else if (!csbank2) + { + m_ram[0x2000 | offset] = data; + } + else if (!csbank3) + { + m_ram[0x4000 | offset] = data; + } +} |