diff --git a/hash/vic10.xml b/hash/vic10.xml index d840dc2fd97..115fef67556 100644 --- a/hash/vic10.xml +++ b/hash/vic10.xml @@ -322,4 +322,17 @@ + + MultiMax + 2014 + Rob Clarke & Michal Pleban + + + + + + + + + diff --git a/scripts/src/bus.lua b/scripts/src/bus.lua index b2e0b5abe27..1b70200e183 100644 --- a/scripts/src/bus.lua +++ b/scripts/src/bus.lua @@ -1586,6 +1586,8 @@ if (BUSES["VIC10"]~=null) then files { MAME_DIR .. "src/devices/bus/vic10/exp.cpp", MAME_DIR .. "src/devices/bus/vic10/exp.h", + MAME_DIR .. "src/devices/bus/vic10/multimax.cpp", + MAME_DIR .. "src/devices/bus/vic10/multimax.h", MAME_DIR .. "src/devices/bus/vic10/std.cpp", MAME_DIR .. "src/devices/bus/vic10/std.h", } diff --git a/src/devices/bus/vic10/exp.cpp b/src/devices/bus/vic10/exp.cpp index fa9f40f5742..d840e50a105 100644 --- a/src/devices/bus/vic10/exp.cpp +++ b/src/devices/bus/vic10/exp.cpp @@ -231,8 +231,10 @@ WRITE_LINE_MEMBER( vic10_expansion_slot_device::p0_w ) { if (m_card != nullptr) // slot devices #include "std.h" +#include "multimax.h" SLOT_INTERFACE_START( vic10_expansion_cards ) // the following need ROMs from the software list SLOT_INTERFACE_INTERNAL("standard", VIC10_STD) + SLOT_INTERFACE_INTERNAL("multimax", MULTIMAX) SLOT_INTERFACE_END diff --git a/src/devices/bus/vic10/multimax.cpp b/src/devices/bus/vic10/multimax.cpp new file mode 100644 index 00000000000..de197530004 --- /dev/null +++ b/src/devices/bus/vic10/multimax.cpp @@ -0,0 +1,61 @@ +// license:BSD-3-Clause +// copyright-holders:Curt Coder +/********************************************************************** + + MultiMAX 1MB ROM / 2KB RAM cartridge emulation + +**********************************************************************/ + +#include "emu.h" +#include "multimax.h" + + + +//************************************************************************** +// DEVICE DEFINITIONS +//************************************************************************** + +DEFINE_DEVICE_TYPE(MULTIMAX, multimax_t, "multimax", "MultiMAX Cartridge") + + + +//************************************************************************** +// LIVE DEVICE +//************************************************************************** + +//------------------------------------------------- +// multimax_t - constructor +//------------------------------------------------- + +multimax_t::multimax_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : + device_t(mconfig, MULTIMAX, tag, owner, clock), device_vic10_expansion_card_interface(mconfig, *this) +{ +} + + +//------------------------------------------------- +// device_start - device-specific startup +//------------------------------------------------- + +void multimax_t::device_start() +{ +} + + +//------------------------------------------------- +// vic10_cd_r - cartridge data read +//------------------------------------------------- + +uint8_t multimax_t::vic10_cd_r(address_space &space, offs_t offset, uint8_t data, int lorom, int uprom, int exram) +{ + return data; +} + + +//------------------------------------------------- +// vic10_cd_w - cartridge data write +//------------------------------------------------- + +void multimax_t::vic10_cd_w(address_space &space, offs_t offset, uint8_t data, int lorom, int uprom, int exram) +{ +} diff --git a/src/devices/bus/vic10/multimax.h b/src/devices/bus/vic10/multimax.h new file mode 100644 index 00000000000..96d8cf54213 --- /dev/null +++ b/src/devices/bus/vic10/multimax.h @@ -0,0 +1,44 @@ +// license:BSD-3-Clause +// copyright-holders:Curt Coder +/********************************************************************** + + MultiMAX 1MB ROM / 2KB RAM cartridge emulation + +**********************************************************************/ + +#ifndef MAME_BUS_VIC10_MULTIMAX_H +#define MAME_BUS_VIC10_MULTIMAX_H + +#pragma once + +#include "exp.h" + + + +//************************************************************************** +// TYPE DEFINITIONS +//************************************************************************** + +// ======================> multimax_t + +class multimax_t : public device_t, + public device_vic10_expansion_card_interface +{ +public: + // construction/destruction + multimax_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + +protected: + // device-level overrides + virtual void device_start() override; + + // device_vic10_expansion_card_interface overrides + virtual uint8_t vic10_cd_r(address_space &space, offs_t offset, uint8_t data, int lorom, int uprom, int exram) override; + virtual void vic10_cd_w(address_space &space, offs_t offset, uint8_t data, int lorom, int uprom, int exram) override; +}; + + +// device type definition +DECLARE_DEVICE_TYPE(MULTIMAX, multimax_t) + +#endif // MAME_BUS_VIC10_MULTIMAX_H