summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/machine/hp80_optrom.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/machine/hp80_optrom.cpp')
-rw-r--r--src/mame/machine/hp80_optrom.cpp89
1 files changed, 0 insertions, 89 deletions
diff --git a/src/mame/machine/hp80_optrom.cpp b/src/mame/machine/hp80_optrom.cpp
deleted file mode 100644
index b8389dcf858..00000000000
--- a/src/mame/machine/hp80_optrom.cpp
+++ /dev/null
@@ -1,89 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders: F. Ulivi
-/*********************************************************************
-
- hp80_optrom.cpp
-
- Optional ROMs for HP80 systems
-
-*********************************************************************/
-
-#include "emu.h"
-#include "hp80_optrom.h"
-#include "softlist.h"
-
-// Debugging
-#define VERBOSE 1
-#include "logmacro.h"
-
-DEFINE_DEVICE_TYPE(HP80_OPTROM, hp80_optrom_device, "hp80_optrom", "HP80 optional ROM")
-
-// +------------------+
-// |hp80_optrom_device|
-// +------------------+
-hp80_optrom_device::hp80_optrom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, HP80_OPTROM, tag, owner, clock),
- device_image_interface(mconfig, *this),
- m_select_code(0)
-{
-}
-
-hp80_optrom_device::~hp80_optrom_device()
-{
-}
-
-void hp80_optrom_device::install_read_handler(address_space& space)
-{
- if (loaded_through_softlist()) {
- offs_t start = (offs_t)m_select_code * HP80_OPTROM_SIZE;
- space.install_rom(start , start + HP80_OPTROM_SIZE - 1 , get_software_region("rom"));
- }
-}
-
-void hp80_optrom_device::device_start()
-{
-}
-
-image_init_result hp80_optrom_device::call_load()
-{
- LOG("hp80_optrom: call_load\n");
- if (!loaded_through_softlist()) {
- LOG("hp80_optrom: must be loaded from sw list\n");
- return image_init_result::FAIL;
- }
-
- const char *sc_feature = get_feature("sc");
- if (sc_feature == nullptr) {
- LOG("hp80_optrom: no 'sc' feature\n");
- return image_init_result::FAIL;
- }
-
- unsigned sc;
- if (sc_feature[ 0 ] != '0' || sc_feature[ 1 ] != 'x' || sscanf(&sc_feature[ 2 ] , "%x" , &sc) != 1) {
- LOG("hp80_optrom: can't parse 'sc' feature\n");
- return image_init_result::FAIL;
- }
-
- // Valid SC values: 0x01..0xff
- if (sc < 1 || sc > 0xff) {
- LOG("hp80_optrom: illegal select code (%x)\n" , sc);
- return image_init_result::FAIL;
- }
-
- auto length = get_software_region_length("rom");
-
- if (length != HP80_OPTROM_SIZE) {
- LOG("hp80_optrom: illegal region length (%x)\n" , length);
- return image_init_result::FAIL;
- }
-
- LOG("hp80_optrom: loaded SC=0x%02x\n" , sc);
- m_select_code = sc;
- return image_init_result::PASS;
-}
-
-void hp80_optrom_device::call_unload()
-{
- LOG("hp80_optrom: call_unload\n");
- machine().schedule_soft_reset();
-}