mirror of
https://github.com/holub/mame
synced 2025-04-23 00:39:36 +03:00
split up hp98603 basic rom card
The 98603A and 98603B cards have different base addresses and sizes for the rom region. Split up the cards so that we can boot HP BASIC 4 and HP BASIC 5.1. Signed-off-by: Sven Schnelle <svens@stackframe.org>
This commit is contained in:
parent
ed3345e84f
commit
5832c7c2de
@ -836,8 +836,10 @@ if (BUSES["HPDIO"]~=null) then
|
||||
MAME_DIR .. "src/devices/bus/hp_dio/hp_dio.h",
|
||||
MAME_DIR .. "src/devices/bus/hp_dio/hp98544.cpp",
|
||||
MAME_DIR .. "src/devices/bus/hp_dio/hp98544.h",
|
||||
MAME_DIR .. "src/devices/bus/hp_dio/hp98603.cpp",
|
||||
MAME_DIR .. "src/devices/bus/hp_dio/hp98603.h",
|
||||
MAME_DIR .. "src/devices/bus/hp_dio/hp98603a.cpp",
|
||||
MAME_DIR .. "src/devices/bus/hp_dio/hp98603a.h",
|
||||
MAME_DIR .. "src/devices/bus/hp_dio/hp98603b.cpp",
|
||||
MAME_DIR .. "src/devices/bus/hp_dio/hp98603b.h",
|
||||
MAME_DIR .. "src/devices/bus/hp_dio/hp98644.cpp",
|
||||
MAME_DIR .. "src/devices/bus/hp_dio/hp98644.h",
|
||||
}
|
||||
|
@ -1,94 +0,0 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:Sven Schnelle
|
||||
/***************************************************************************
|
||||
|
||||
HP98603 BASIC ROM card
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
#include "emu.h"
|
||||
#include "hp98603.h"
|
||||
|
||||
DEFINE_DEVICE_TYPE(HPDIO_98603, dio16_98603_device, "dio98603", "HP98603 BASIC ROM card")
|
||||
|
||||
#define HP98603_ROM_REGION "98603_rom"
|
||||
|
||||
ROM_START(hp98603)
|
||||
ROM_REGION(0x100000, HP98603_ROM_REGION, 0)
|
||||
|
||||
ROM_SYSTEM_BIOS(0, "basic4", "BASIC 4.0")
|
||||
ROMX_LOAD("98603_80001.bin", 0x00001, 32768, CRC(5d8c9657) SHA1(f5d89e7f8a61072f362532d1b5e05f5b5e3f42b3), ROM_SKIP(1) | ROM_BIOS(1))
|
||||
ROMX_LOAD("98603_80002.bin", 0x10001, 32768, CRC(7e4e0ca8) SHA1(3230c7825f5058a1e1a06776da6064b049417b50), ROM_SKIP(1) | ROM_BIOS(1))
|
||||
ROMX_LOAD("98603_80003.bin", 0x20001, 32768, CRC(b5da5f81) SHA1(69578ee197531e9474a0edb4c2f068b20118d25f), ROM_SKIP(1) | ROM_BIOS(1))
|
||||
ROMX_LOAD("98603_80004.bin", 0x30001, 32768, CRC(ea050835) SHA1(3be7c1bd394b11fdfee38ebf40beb9352f38722d), ROM_SKIP(1) | ROM_BIOS(1))
|
||||
|
||||
ROMX_LOAD("98603_80005.bin", 0x00000, 32768, CRC(1380d489) SHA1(e346857d9df9a06269f9fa57684fbe64edd0134b), ROM_SKIP(1) | ROM_BIOS(1))
|
||||
ROMX_LOAD("98603_80006.bin", 0x10000, 32768, CRC(19752031) SHA1(5e28ee9d527b297a8898dde50ab6e41bbc0c2572), ROM_SKIP(1) | ROM_BIOS(1))
|
||||
ROMX_LOAD("98603_80007.bin", 0x20000, 32768, CRC(72aa2225) SHA1(3c92cdd40adc7438d30b95eae14e4497b7e14f38), ROM_SKIP(1) | ROM_BIOS(1))
|
||||
ROMX_LOAD("98603_80008.bin", 0x30000, 32768, CRC(f617ae2e) SHA1(f59b63058e7e87eabc5dc5233895bb57579eb3f7), ROM_SKIP(1) | ROM_BIOS(1))
|
||||
|
||||
ROMX_LOAD("98603_80009.bin", 0x40001, 32768, CRC(9c128571) SHA1(7827cfbf710d8bba3ce9b42ec3368b17a5b5ff78), ROM_SKIP(1) | ROM_BIOS(1))
|
||||
ROMX_LOAD("98603_80010.bin", 0x50001, 32768, CRC(12528317) SHA1(e11d6c40334c41be68e2717d816e0895f8f7afa8), ROM_SKIP(1) | ROM_BIOS(1))
|
||||
ROMX_LOAD("98603_80011.bin", 0x60001, 32768, CRC(1d279451) SHA1(2ce966b8499d2d810056d147f71ba2b6cc909bc6), ROM_SKIP(1) | ROM_BIOS(1))
|
||||
ROMX_LOAD("98603_80012.bin", 0x70001, 32768, CRC(a1d6374e) SHA1(ca860b762503a05a4bfbd17a77bef28d01d7d279), ROM_SKIP(1) | ROM_BIOS(1))
|
||||
|
||||
ROMX_LOAD("98603_80013.bin", 0x40000, 32768, CRC(e554d97e) SHA1(c792c4f0097bed032ca31c88fde660d4db25b3dc), ROM_SKIP(1) | ROM_BIOS(1))
|
||||
ROMX_LOAD("98603_80014.bin", 0x50000, 32768, CRC(c0db7e02) SHA1(add3e7312ac07e5ed4281aae2d46e1a4389d6ea2), ROM_SKIP(1) | ROM_BIOS(1))
|
||||
ROMX_LOAD("98603_80015.bin", 0x60000, 32768, CRC(f85bb699) SHA1(bd7f690e3b4fb8952517b0acd6ac878cd50f5736), ROM_SKIP(1) | ROM_BIOS(1))
|
||||
ROMX_LOAD("98603_80016.bin", 0x70000, 32768, CRC(d887acab) SHA1(a9cbbaa5f053f374d6cbda614b727df35a61ace1), ROM_SKIP(1) | ROM_BIOS(1))
|
||||
|
||||
ROM_SYSTEM_BIOS(1, "basic51", "BASIC 5.1")
|
||||
ROMX_LOAD("u1.bin", 0x00000, 65536, CRC(ba50d9e0) SHA1(064e3cbbc7ee01f279a289684616ae3b8744a7c9), ROM_SKIP(1) | ROM_BIOS(2))
|
||||
ROMX_LOAD("u2.bin", 0x20000, 65536, CRC(65f58d3e) SHA1(8367cecb46fa6f9abe9e78b42c25ce8699d5d3f3), ROM_SKIP(1) | ROM_BIOS(2))
|
||||
ROMX_LOAD("u3.bin", 0x40000, 65536, CRC(9bc70573) SHA1(b7e375e11f6758d59d32236fc1c42eafc892d247), ROM_SKIP(1) | ROM_BIOS(2))
|
||||
ROMX_LOAD("u4.bin", 0x60000, 65536, CRC(52debeba) SHA1(996e83e604501979fd80ae47ff1cda9890613982), ROM_SKIP(1) | ROM_BIOS(2))
|
||||
ROMX_LOAD("u5.bin", 0x80000, 65536, CRC(93b4bce8) SHA1(77efec9a95b9e543e1cdb00196d1794ca0c8b4ba), ROM_SKIP(1) | ROM_BIOS(2))
|
||||
ROMX_LOAD("u6.bin", 0xa0000, 65536, CRC(bda3d054) SHA1(c83d6f571ce5aa63ad3954ac02ff4069c01a1464), ROM_SKIP(1) | ROM_BIOS(2))
|
||||
|
||||
ROMX_LOAD("u9.bin", 0x00001, 65536, CRC(009e9fcb) SHA1(520f583a826516f7d676391daf31ed035162c263), ROM_SKIP(1) | ROM_BIOS(2))
|
||||
ROMX_LOAD("u10.bin", 0x20001, 65536, CRC(84f90a1d) SHA1(9358aa7fa83ed9617d318936cbab79002853b0ce), ROM_SKIP(1) | ROM_BIOS(2))
|
||||
ROMX_LOAD("u11.bin", 0x40001, 65536, CRC(e486e0f3) SHA1(66b5dd6c2c277156ad6c3ee5b99c34e243d897be), ROM_SKIP(1) | ROM_BIOS(2))
|
||||
ROMX_LOAD("u12.bin", 0x60001, 65536, CRC(d5a08c7b) SHA1(be997cf9bbdb8fdd6c7e95754747016293c51c7f), ROM_SKIP(1) | ROM_BIOS(2))
|
||||
ROMX_LOAD("u13.bin", 0x80001, 65536, CRC(9811c34c) SHA1(1655cac651889950b881e6be72f035c7de0a1aed), ROM_SKIP(1) | ROM_BIOS(2))
|
||||
ROMX_LOAD("u14.bin", 0xa0001, 65536, CRC(96527d4e) SHA1(6706ab97eab4465ea4fa2d6b07e8107468e83818), ROM_SKIP(1) | ROM_BIOS(2))
|
||||
ROM_END
|
||||
|
||||
MACHINE_CONFIG_START(dio16_98603_device::device_add_mconfig)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
const tiny_rom_entry *dio16_98603_device::device_rom_region() const
|
||||
{
|
||||
return ROM_NAME(hp98603);
|
||||
}
|
||||
|
||||
dio16_98603_device::dio16_98603_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
|
||||
dio16_98603_device(mconfig, HPDIO_98603, tag, owner, clock)
|
||||
{
|
||||
}
|
||||
|
||||
dio16_98603_device::dio16_98603_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
|
||||
device_t(mconfig, type, tag, owner, clock),
|
||||
device_dio16_card_interface(mconfig, *this)
|
||||
{
|
||||
}
|
||||
|
||||
void dio16_98603_device::device_start()
|
||||
{
|
||||
set_dio_device();
|
||||
}
|
||||
|
||||
void dio16_98603_device::device_reset()
|
||||
{
|
||||
m_rom = device().machine().root_device().memregion(this->subtag(HP98603_ROM_REGION).c_str())->base();
|
||||
m_dio->install_memory(0x100000, 0x1fffff, read16_delegate(FUNC(dio16_98603_device::rom_r), this),
|
||||
write16_delegate(FUNC(dio16_98603_device::rom_w), this));
|
||||
}
|
||||
|
||||
READ16_MEMBER(dio16_98603_device::rom_r)
|
||||
{
|
||||
return m_rom[offset*2] | (m_rom[offset*2+1] << 8);
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(dio16_98603_device::rom_w)
|
||||
{
|
||||
}
|
77
src/devices/bus/hp_dio/hp98603a.cpp
Normal file
77
src/devices/bus/hp_dio/hp98603a.cpp
Normal file
@ -0,0 +1,77 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:Sven Schnelle
|
||||
/***************************************************************************
|
||||
|
||||
HP98603A BASIC ROM card
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
#include "emu.h"
|
||||
#include "hp98603a.h"
|
||||
|
||||
DEFINE_DEVICE_TYPE(HPDIO_98603A, dio16_98603a_device, "dio98603a", "HP98603A BASIC 4.0 ROM card")
|
||||
|
||||
#define HP98603A_ROM_REGION "98603a_rom"
|
||||
|
||||
ROM_START(hp98603a)
|
||||
ROM_REGION(0x80000, HP98603A_ROM_REGION, 0)
|
||||
ROM_LOAD16_BYTE("98603_80001.bin", 0x00001, 32768, CRC(5d8c9657) SHA1(f5d89e7f8a61072f362532d1b5e05f5b5e3f42b3))
|
||||
ROM_LOAD16_BYTE("98603_80002.bin", 0x10001, 32768, CRC(7e4e0ca8) SHA1(3230c7825f5058a1e1a06776da6064b049417b50))
|
||||
ROM_LOAD16_BYTE("98603_80003.bin", 0x20001, 32768, CRC(b5da5f81) SHA1(69578ee197531e9474a0edb4c2f068b20118d25f))
|
||||
ROM_LOAD16_BYTE("98603_80004.bin", 0x30001, 32768, CRC(ea050835) SHA1(3be7c1bd394b11fdfee38ebf40beb9352f38722d))
|
||||
|
||||
ROM_LOAD16_BYTE("98603_80005.bin", 0x00000, 32768, CRC(1380d489) SHA1(e346857d9df9a06269f9fa57684fbe64edd0134b))
|
||||
ROM_LOAD16_BYTE("98603_80006.bin", 0x10000, 32768, CRC(19752031) SHA1(5e28ee9d527b297a8898dde50ab6e41bbc0c2572))
|
||||
ROM_LOAD16_BYTE("98603_80007.bin", 0x20000, 32768, CRC(72aa2225) SHA1(3c92cdd40adc7438d30b95eae14e4497b7e14f38))
|
||||
ROM_LOAD16_BYTE("98603_80008.bin", 0x30000, 32768, CRC(f617ae2e) SHA1(f59b63058e7e87eabc5dc5233895bb57579eb3f7))
|
||||
|
||||
ROM_LOAD16_BYTE("98603_80009.bin", 0x40001, 32768, CRC(9c128571) SHA1(7827cfbf710d8bba3ce9b42ec3368b17a5b5ff78))
|
||||
ROM_LOAD16_BYTE("98603_80010.bin", 0x50001, 32768, CRC(12528317) SHA1(e11d6c40334c41be68e2717d816e0895f8f7afa8))
|
||||
ROM_LOAD16_BYTE("98603_80011.bin", 0x60001, 32768, CRC(1d279451) SHA1(2ce966b8499d2d810056d147f71ba2b6cc909bc6))
|
||||
ROM_LOAD16_BYTE("98603_80012.bin", 0x70001, 32768, CRC(a1d6374e) SHA1(ca860b762503a05a4bfbd17a77bef28d01d7d279))
|
||||
|
||||
ROM_LOAD16_BYTE("98603_80013.bin", 0x40000, 32768, CRC(e554d97e) SHA1(c792c4f0097bed032ca31c88fde660d4db25b3dc))
|
||||
ROM_LOAD16_BYTE("98603_80014.bin", 0x50000, 32768, CRC(c0db7e02) SHA1(add3e7312ac07e5ed4281aae2d46e1a4389d6ea2))
|
||||
ROM_LOAD16_BYTE("98603_80015.bin", 0x60000, 32768, CRC(f85bb699) SHA1(bd7f690e3b4fb8952517b0acd6ac878cd50f5736))
|
||||
ROM_LOAD16_BYTE("98603_80016.bin", 0x70000, 32768, CRC(d887acab) SHA1(a9cbbaa5f053f374d6cbda614b727df35a61ace1))
|
||||
ROM_END
|
||||
|
||||
MACHINE_CONFIG_START(dio16_98603a_device::device_add_mconfig)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
const tiny_rom_entry *dio16_98603a_device::device_rom_region() const
|
||||
{
|
||||
return ROM_NAME(hp98603a);
|
||||
}
|
||||
|
||||
dio16_98603a_device::dio16_98603a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
|
||||
dio16_98603a_device(mconfig, HPDIO_98603A, tag, owner, clock)
|
||||
{
|
||||
}
|
||||
|
||||
dio16_98603a_device::dio16_98603a_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
|
||||
device_t(mconfig, type, tag, owner, clock),
|
||||
device_dio16_card_interface(mconfig, *this)
|
||||
{
|
||||
}
|
||||
|
||||
void dio16_98603a_device::device_start()
|
||||
{
|
||||
set_dio_device();
|
||||
}
|
||||
|
||||
void dio16_98603a_device::device_reset()
|
||||
{
|
||||
m_rom = device().machine().root_device().memregion(this->subtag(HP98603A_ROM_REGION).c_str())->base();
|
||||
m_dio->install_memory(0x80000, 0xfffff, read16_delegate(FUNC(dio16_98603a_device::rom_r), this),
|
||||
write16_delegate(FUNC(dio16_98603a_device::rom_w), this));
|
||||
}
|
||||
|
||||
READ16_MEMBER(dio16_98603a_device::rom_r)
|
||||
{
|
||||
return m_rom[offset*2] | (m_rom[offset*2+1] << 8);
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(dio16_98603a_device::rom_w)
|
||||
{
|
||||
}
|
@ -1,25 +1,25 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:Sven Schnelle
|
||||
|
||||
#ifndef MAME_BUS_HPDIO_98603_H
|
||||
#define MAME_BUS_HPDIO_98603_H
|
||||
#ifndef MAME_BUS_HPDIO_98603A_H
|
||||
#define MAME_BUS_HPDIO_98603A_H
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "hp_dio.h"
|
||||
|
||||
class dio16_98603_device :
|
||||
class dio16_98603a_device :
|
||||
public device_t,
|
||||
public device_dio16_card_interface
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
dio16_98603_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
dio16_98603a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
DECLARE_READ16_MEMBER(rom_r);
|
||||
DECLARE_WRITE16_MEMBER(rom_w);
|
||||
|
||||
protected:
|
||||
dio16_98603_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
|
||||
dio16_98603a_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
@ -33,6 +33,6 @@ private:
|
||||
uint8_t *m_rom;
|
||||
};
|
||||
|
||||
DECLARE_DEVICE_TYPE(HPDIO_98603, dio16_98603_device)
|
||||
DECLARE_DEVICE_TYPE(HPDIO_98603A, dio16_98603a_device)
|
||||
|
||||
#endif // MAME_BUS_HPDIO_98603_H
|
||||
#endif // MAME_BUS_HPDIO_98603A_H
|
72
src/devices/bus/hp_dio/hp98603b.cpp
Normal file
72
src/devices/bus/hp_dio/hp98603b.cpp
Normal file
@ -0,0 +1,72 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:Sven Schnelle
|
||||
/***************************************************************************
|
||||
|
||||
HP98603B BASIC ROM card
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
#include "emu.h"
|
||||
#include "hp98603b.h"
|
||||
|
||||
DEFINE_DEVICE_TYPE(HPDIO_98603B, dio16_98603b_device, "dio98603b", "HP98603 BASIC ROM card")
|
||||
|
||||
#define HP98603B_ROM_REGION "98603b_rom"
|
||||
|
||||
ROM_START(hp98603b)
|
||||
ROM_REGION(0x100000, HP98603B_ROM_REGION, 0)
|
||||
|
||||
ROM_LOAD16_BYTE("u1.bin", 0x00000, 65536, CRC(ba50d9e0) SHA1(064e3cbbc7ee01f279a289684616ae3b8744a7c9))
|
||||
ROM_LOAD16_BYTE("u2.bin", 0x20000, 65536, CRC(65f58d3e) SHA1(8367cecb46fa6f9abe9e78b42c25ce8699d5d3f3))
|
||||
ROM_LOAD16_BYTE("u3.bin", 0x40000, 65536, CRC(9bc70573) SHA1(b7e375e11f6758d59d32236fc1c42eafc892d247))
|
||||
ROM_LOAD16_BYTE("u4.bin", 0x60000, 65536, CRC(52debeba) SHA1(996e83e604501979fd80ae47ff1cda9890613982))
|
||||
ROM_LOAD16_BYTE("u5.bin", 0x80000, 65536, CRC(93b4bce8) SHA1(77efec9a95b9e543e1cdb00196d1794ca0c8b4ba))
|
||||
ROM_LOAD16_BYTE("u6.bin", 0xa0000, 65536, CRC(bda3d054) SHA1(c83d6f571ce5aa63ad3954ac02ff4069c01a1464))
|
||||
|
||||
ROM_LOAD16_BYTE("u9.bin", 0x00001, 65536, CRC(009e9fcb) SHA1(520f583a826516f7d676391daf31ed035162c263))
|
||||
ROM_LOAD16_BYTE("u10.bin", 0x20001, 65536, CRC(84f90a1d) SHA1(9358aa7fa83ed9617d318936cbab79002853b0ce))
|
||||
ROM_LOAD16_BYTE("u11.bin", 0x40001, 65536, CRC(e486e0f3) SHA1(66b5dd6c2c277156ad6c3ee5b99c34e243d897be))
|
||||
ROM_LOAD16_BYTE("u12.bin", 0x60001, 65536, CRC(d5a08c7b) SHA1(be997cf9bbdb8fdd6c7e95754747016293c51c7f))
|
||||
ROM_LOAD16_BYTE("u13.bin", 0x80001, 65536, CRC(9811c34c) SHA1(1655cac651889950b881e6be72f035c7de0a1aed))
|
||||
ROM_LOAD16_BYTE("u14.bin", 0xa0001, 65536, CRC(96527d4e) SHA1(6706ab97eab4465ea4fa2d6b07e8107468e83818))
|
||||
ROM_END
|
||||
|
||||
MACHINE_CONFIG_START(dio16_98603b_device::device_add_mconfig)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
const tiny_rom_entry *dio16_98603b_device::device_rom_region() const
|
||||
{
|
||||
return ROM_NAME(hp98603b);
|
||||
}
|
||||
|
||||
dio16_98603b_device::dio16_98603b_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
|
||||
dio16_98603b_device(mconfig, HPDIO_98603B, tag, owner, clock)
|
||||
{
|
||||
}
|
||||
|
||||
dio16_98603b_device::dio16_98603b_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
|
||||
device_t(mconfig, type, tag, owner, clock),
|
||||
device_dio16_card_interface(mconfig, *this)
|
||||
{
|
||||
}
|
||||
|
||||
void dio16_98603b_device::device_start()
|
||||
{
|
||||
set_dio_device();
|
||||
}
|
||||
|
||||
void dio16_98603b_device::device_reset()
|
||||
{
|
||||
m_rom = device().machine().root_device().memregion(this->subtag(HP98603B_ROM_REGION).c_str())->base();
|
||||
m_dio->install_memory(0x100000, 0x1fffff, read16_delegate(FUNC(dio16_98603b_device::rom_r), this),
|
||||
write16_delegate(FUNC(dio16_98603b_device::rom_w), this));
|
||||
}
|
||||
|
||||
READ16_MEMBER(dio16_98603b_device::rom_r)
|
||||
{
|
||||
return m_rom[offset*2] | (m_rom[offset*2+1] << 8);
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(dio16_98603b_device::rom_w)
|
||||
{
|
||||
}
|
38
src/devices/bus/hp_dio/hp98603b.h
Normal file
38
src/devices/bus/hp_dio/hp98603b.h
Normal file
@ -0,0 +1,38 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:Sven Schnelle
|
||||
|
||||
#ifndef MAME_BUS_HPDIO_98603B_H
|
||||
#define MAME_BUS_HPDIO_98603B_H
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "hp_dio.h"
|
||||
|
||||
class dio16_98603b_device :
|
||||
public device_t,
|
||||
public device_dio16_card_interface
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
dio16_98603b_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
DECLARE_READ16_MEMBER(rom_r);
|
||||
DECLARE_WRITE16_MEMBER(rom_w);
|
||||
|
||||
protected:
|
||||
dio16_98603b_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
|
||||
// optional information overrides
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
|
||||
private:
|
||||
uint8_t *m_rom;
|
||||
};
|
||||
|
||||
DECLARE_DEVICE_TYPE(HPDIO_98603B, dio16_98603b_device)
|
||||
|
||||
#endif // MAME_BUS_HPDIO_98603B_H
|
@ -63,7 +63,8 @@
|
||||
#include "bus/hp_dio/hp98544.h"
|
||||
#include "bus/hp_hil/hp_hil.h"
|
||||
#include "bus/hp_hil/hil_devices.h"
|
||||
#include "bus/hp_dio/hp98603.h"
|
||||
#include "bus/hp_dio/hp98603a.h"
|
||||
#include "bus/hp_dio/hp98603b.h"
|
||||
#include "bus/hp_dio/hp98644.h"
|
||||
#include "screen.h"
|
||||
#include "speaker.h"
|
||||
@ -383,7 +384,8 @@ READ8_MEMBER(hp9k3xx_state::iocpu_test0_r)
|
||||
|
||||
static SLOT_INTERFACE_START(dio16_cards)
|
||||
SLOT_INTERFACE("98544", HPDIO_98544) /* 98544 High Resolution Monochrome Card */
|
||||
SLOT_INTERFACE("98603", HPDIO_98603) /* 98603 ROM BASIC */
|
||||
SLOT_INTERFACE("98603a", HPDIO_98603A) /* 98603A ROM BASIC (4.0) */
|
||||
SLOT_INTERFACE("98603b", HPDIO_98603B) /* 98603B ROM BASIC (5.1) */
|
||||
SLOT_INTERFACE("98644", HPDIO_98644) /* 98644 Async serial interface */
|
||||
SLOT_INTERFACE_END
|
||||
|
||||
@ -412,7 +414,7 @@ MACHINE_CONFIG_START(hp9k3xx_state::hp9k310)
|
||||
MCFG_DEVICE_ADD("diobus", DIO16, 0)
|
||||
MCFG_DIO16_CPU(":maincpu")
|
||||
MCFG_DIO16_SLOT_ADD("diobus", "sl1", dio16_cards, "98544", true)
|
||||
MCFG_DIO16_SLOT_ADD("diobus", "sl2", dio16_cards, "98603", true)
|
||||
MCFG_DIO16_SLOT_ADD("diobus", "sl2", dio16_cards, "98603b", true)
|
||||
MCFG_DIO16_SLOT_ADD("diobus", "sl3", dio16_cards, "98644", true)
|
||||
MCFG_DIO16_SLOT_ADD("diobus", "sl4", dio16_cards, nullptr, false)
|
||||
MACHINE_CONFIG_END
|
||||
@ -442,7 +444,7 @@ MACHINE_CONFIG_START(hp9k3xx_state::hp9k320)
|
||||
MCFG_DEVICE_ADD("diobus", DIO32, 0)
|
||||
MCFG_DIO32_CPU(":maincpu")
|
||||
MCFG_DIO32_SLOT_ADD("diobus", "sl1", dio16_cards, "98544", true)
|
||||
MCFG_DIO16_SLOT_ADD("diobus", "sl2", dio16_cards, "98603", true)
|
||||
MCFG_DIO16_SLOT_ADD("diobus", "sl2", dio16_cards, "98603b", true)
|
||||
MCFG_DIO16_SLOT_ADD("diobus", "sl3", dio16_cards, "98644", true)
|
||||
MCFG_DIO32_SLOT_ADD("diobus", "sl4", dio16_cards, nullptr, false)
|
||||
MACHINE_CONFIG_END
|
||||
|
Loading…
Reference in New Issue
Block a user