diff options
author | 2021-06-21 13:53:49 -0700 | |
---|---|---|
committer | 2021-06-21 13:53:49 -0700 | |
commit | 32dbba7d2d4513774b2d877b4c88f2d0760bcf54 (patch) | |
tree | f9e6426cf8dc28413c456bdbcd450c85cb302422 /src/devices/bus/mc10/pak.cpp | |
parent | 5522729235b3ce81c839f3932c1aadc14de59e2b (diff) | |
parent | 2709c0143a8c7009715242c135b28403eeffce8b (diff) |
Merge branch 'master' into deprecateddeprecated
Diffstat (limited to 'src/devices/bus/mc10/pak.cpp')
-rw-r--r-- | src/devices/bus/mc10/pak.cpp | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/src/devices/bus/mc10/pak.cpp b/src/devices/bus/mc10/pak.cpp new file mode 100644 index 00000000000..8e27d58ab8b --- /dev/null +++ b/src/devices/bus/mc10/pak.cpp @@ -0,0 +1,69 @@ +// license:BSD-3-Clause +// copyright-holders:tim lindner +/*************************************************************************** + + pak.cpp + + Code for emulating standard MC-10 cartridges with only ROM + +***************************************************************************/ + +#include "emu.h" +#include "pak.h" + +//************************************************************************** +// GLOBAL VARIABLES +//************************************************************************** + +DEFINE_DEVICE_TYPE(MC10_PAK, mc10_pak_device, "mc10pak", "MC-10 Program PAK") + +//************************************************************************** +// LIVE DEVICE +//************************************************************************** + +//------------------------------------------------- +// mc10_pak_device - constructor +//------------------------------------------------- +mc10_pak_device::mc10_pak_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock) + : device_t(mconfig, type, tag, owner, clock) + , device_mc10cart_interface(mconfig, *this) +{ +} + +mc10_pak_device::mc10_pak_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) + : mc10_pak_device(mconfig, MC10_PAK, tag, owner, clock) +{ +} + +//------------------------------------------------- +// max_rom_length - device-specific startup +//------------------------------------------------- + +int mc10_pak_device::max_rom_length() const +{ + return 1024 * 16; +} + +//------------------------------------------------- +// device_start - device-specific startup +//------------------------------------------------- + +void mc10_pak_device::device_start() +{ +} + +//------------------------------------------------- +// load - install rom region +//------------------------------------------------- + +image_init_result mc10_pak_device::load() +{ + // if the host has supplied a ROM space, install it + memory_region *const romregion(memregion("^rom")); + if (romregion) + owning_slot().memspace().install_rom(0x5000, 0x5000 + romregion->bytes(), romregion->base()); + else + return image_init_result::FAIL; + + return image_init_result::PASS; +} |