New machines marked as NOT_WORKING

----------------------------------
Eurit 30 [Cyberia/2 Filebase]
This commit is contained in:
AJR 2019-11-15 23:28:05 -05:00
parent 690e0c341b
commit 6457e5ab97
6 changed files with 100 additions and 0 deletions

View File

@ -4039,6 +4039,7 @@ files {
MAME_DIR .. "src/mame/drivers/esprit.cpp",
MAME_DIR .. "src/mame/drivers/eti660.cpp",
MAME_DIR .. "src/mame/includes/eti660.h",
MAME_DIR .. "src/mame/drivers/eurit.cpp",
MAME_DIR .. "src/mame/drivers/eurocom2.cpp",
MAME_DIR .. "src/mame/drivers/excali64.cpp",
MAME_DIR .. "src/mame/drivers/facit4440.cpp",

View File

@ -81,6 +81,7 @@ DEFINE_DEVICE_TYPE(M37702M2, m37702m2_device, "m37702m2", "Mitsubishi M37702M2")
DEFINE_DEVICE_TYPE(M37702S1, m37702s1_device, "m37702s1", "Mitsubishi M37702S1")
DEFINE_DEVICE_TYPE(M37710S4, m37710s4_device, "m37710s4", "Mitsubishi M37710S4")
DEFINE_DEVICE_TYPE(M37720S1, m37720s1_device, "m37720s1", "Mitsubishi M37720S1")
DEFINE_DEVICE_TYPE(M37730S2, m37730s2_device, "m37730s2", "Mitsubishi M37730S2")
// On-board RAM, ROM, and peripherals
@ -221,6 +222,30 @@ void m37720s1_device::map(address_map &map)
map(0x000080, 0x00027f).ram();
}
// M37730S2: 1024 bytes internal RAM, no internal ROM
void m37730s2_device::map(address_map &map)
{
map(0x000002, 0x000015).rw(FUNC(m37730s2_device::port_r), FUNC(m37730s2_device::port_w)); // FIXME: P4-P6 and P8 only
map(0x000030, 0x000030).rw(FUNC(m37730s2_device::uart0_mode_r), FUNC(m37730s2_device::uart0_mode_w));
map(0x000031, 0x000031).w(FUNC(m37730s2_device::uart0_baud_w));
map(0x000032, 0x000033).w(FUNC(m37730s2_device::uart0_tbuf_w));
map(0x000034, 0x000034).rw(FUNC(m37730s2_device::uart0_ctrl_reg0_r), FUNC(m37730s2_device::uart0_ctrl_reg0_w));
map(0x000035, 0x000035).rw(FUNC(m37730s2_device::uart0_ctrl_reg1_r), FUNC(m37730s2_device::uart0_ctrl_reg1_w));
map(0x000036, 0x000037).r(FUNC(m37730s2_device::uart0_rbuf_r));
map(0x000040, 0x000040).rw(FUNC(m37730s2_device::count_start_r), FUNC(m37730s2_device::count_start_w));
map(0x000042, 0x000042).w(FUNC(m37730s2_device::one_shot_start_w));
map(0x000044, 0x000044).rw(FUNC(m37730s2_device::up_down_r), FUNC(m37730s2_device::up_down_w));
map(0x000046, 0x000051).rw(FUNC(m37730s2_device::timer_reg_r), FUNC(m37730s2_device::timer_reg_w));
map(0x000056, 0x00005b).rw(FUNC(m37730s2_device::timer_mode_r), FUNC(m37730s2_device::timer_mode_w));
map(0x00005e, 0x00005e).rw(FUNC(m37730s2_device::proc_mode_r), FUNC(m37730s2_device::proc_mode_w));
map(0x000060, 0x000060).w(FUNC(m37730s2_device::watchdog_timer_w));
map(0x000061, 0x000061).rw(FUNC(m37730s2_device::watchdog_freq_r), FUNC(m37730s2_device::watchdog_freq_w));
map(0x000062, 0x000062).rw(FUNC(m37730s2_device::waveform_mode_r), FUNC(m37730s2_device::waveform_mode_w));
map(0x000064, 0x000065).w(FUNC(m37730s2_device::pulse_output_w));
map(0x00006c, 0x00007f).rw(FUNC(m37730s2_device::int_control_r), FUNC(m37730s2_device::int_control_w));
map(0x000080, 0x00047f).ram();
}
// many other combinations of RAM and ROM size exist
@ -262,6 +287,11 @@ m37720s1_device::m37720s1_device(const machine_config &mconfig, const char *tag,
{
}
m37730s2_device::m37730s2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
: m37710_cpu_device(mconfig, M37730S2, tag, owner, clock, address_map_constructor(FUNC(m37730s2_device::map), this))
{
}
std::vector<std::pair<int, const address_space_config *>> m37710_cpu_device::memory_space_config() const
{
return std::vector<std::pair<int, const address_space_config *>> {

View File

@ -2168,10 +2168,20 @@ protected:
void map(address_map &map);
};
class m37730s2_device : public m37710_cpu_device
{
public:
// construction/destruction
m37730s2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
protected:
void map(address_map &map);
};
DECLARE_DEVICE_TYPE(M37702M2, m37702m2_device)
DECLARE_DEVICE_TYPE(M37702S1, m37702s1_device)
DECLARE_DEVICE_TYPE(M37710S4, m37710s4_device)
DECLARE_DEVICE_TYPE(M37720S1, m37720s1_device)
DECLARE_DEVICE_TYPE(M37730S2, m37730s2_device)
/* ======================================================================== */

View File

@ -0,0 +1,55 @@
// license:BSD-3-Clause
// copyright-holders:AJR
/****************************************************************************
Skeleton driver for Ascom Eurit Euro-ISDN Telefon.
****************************************************************************/
#include "emu.h"
#include "cpu/m37710/m37710.h"
class eurit_state : public driver_device
{
public:
eurit_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag)
, m_maincpu(*this, "maincpu")
{
}
void eurit30(machine_config &mconfig);
private:
void mem_map(address_map &map);
required_device<m37730s2_device> m_maincpu;
};
void eurit_state::mem_map(address_map &map)
{
map(0x000480, 0x007fff).ram();
map(0x008000, 0x00ffff).rom().region("firmware", 0x8000);
map(0x040000, 0x05ffff).rom().region("firmware", 0);
map(0x0c0000, 0x0c0007).noprw(); // ?
}
static INPUT_PORTS_START(eurit30)
INPUT_PORTS_END
void eurit_state::eurit30(machine_config &config)
{
M37730S2(config, m_maincpu, 8'000'000); // type and clock unknown
m_maincpu->set_addrmap(AS_PROGRAM, &eurit_state::mem_map);
}
ROM_START(eurit30)
ROM_REGION(0x20000, "firmware", 0)
ROM_LOAD("d_2.210", 0x00000, 0x20000, CRC(c77be0ac) SHA1(1eaba66dcb4f64cc33565ca85de25341572ddb2e))
ROM_END
SYST(1996, eurit30, 0, 0, eurit30, eurit30, eurit_state, empty_init, "Ascom", "Eurit 30", MACHINE_IS_SKELETON)

View File

@ -12945,6 +12945,9 @@ promutrvb // (c) 1985 Enerdyne Technologies Inc
promutrvc // (c) 1985 Enerdyne Technologies Inc
strvmstr // (c) 1986 Enerdyne Technologies Inc
@source:eurit.cpp
eurit30 //
@source:eurocom2.cpp
eurocom2 //
waveterm //

View File

@ -243,6 +243,7 @@ esqkt.cpp
esqmr.cpp
et3400.cpp
eti660.cpp
eurit.cpp
eurocom2.cpp
europc.cpp
eva.cpp