mirror of
https://github.com/holub/mame
synced 2025-04-16 21:44:32 +03:00
New machines marked as NOT_WORKING
--- Siemens PC-MX2 [Plamen Mihaylov]
This commit is contained in:
parent
50668b5d5a
commit
250660cd51
@ -3828,6 +3828,7 @@ createMESSProjects(_target, _subtarget, "siemens")
|
|||||||
files {
|
files {
|
||||||
MAME_DIR .. "src/mame/drivers/bitel.cpp",
|
MAME_DIR .. "src/mame/drivers/bitel.cpp",
|
||||||
MAME_DIR .. "src/mame/drivers/pcd.cpp",
|
MAME_DIR .. "src/mame/drivers/pcd.cpp",
|
||||||
|
MAME_DIR .. "src/mame/drivers/pcmx2.cpp",
|
||||||
MAME_DIR .. "src/mame/machine/pcd_kbd.cpp",
|
MAME_DIR .. "src/mame/machine/pcd_kbd.cpp",
|
||||||
MAME_DIR .. "src/mame/machine/pcd_kbd.h",
|
MAME_DIR .. "src/mame/machine/pcd_kbd.h",
|
||||||
MAME_DIR .. "src/mame/video/pcd.cpp",
|
MAME_DIR .. "src/mame/video/pcd.cpp",
|
||||||
|
151
src/mame/drivers/pcmx2.cpp
Normal file
151
src/mame/drivers/pcmx2.cpp
Normal file
@ -0,0 +1,151 @@
|
|||||||
|
// license:BSD-3-Clause
|
||||||
|
// copyright-holders:Patrick Mackinlay
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Siemens PC-MX2
|
||||||
|
*
|
||||||
|
* Sources:
|
||||||
|
* - http://www.cpu-ns32k.net/Siemens.html
|
||||||
|
* - https://mx300i.narten.de/view_board.cfm?5EF287A1ABC3F4DCAFEA2BC2FAB8C4000E50392BD4C3E389826E8E68AC9F53F3BE16A107EFC767
|
||||||
|
*
|
||||||
|
* TODO:
|
||||||
|
* - skeleton only
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "emu.h"
|
||||||
|
|
||||||
|
// cpu board hardware
|
||||||
|
#include "cpu/ns32000/ns32000.h"
|
||||||
|
#include "machine/ns32081.h"
|
||||||
|
#include "machine/ns32082.h"
|
||||||
|
#include "machine/ns32202.h"
|
||||||
|
#include "machine/mc146818.h"
|
||||||
|
|
||||||
|
// dueai board hardware
|
||||||
|
#include "cpu/i86/i186.h"
|
||||||
|
#include "machine/z80scc.h"
|
||||||
|
|
||||||
|
#define VERBOSE 0
|
||||||
|
#include "logmacro.h"
|
||||||
|
|
||||||
|
namespace {
|
||||||
|
|
||||||
|
class pcmx2_state : public driver_device
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
pcmx2_state(machine_config const &mconfig, device_type type, char const *tag)
|
||||||
|
: driver_device(mconfig, type, tag)
|
||||||
|
, m_cpu(*this, "cpu")
|
||||||
|
, m_fpu(*this, "fpu")
|
||||||
|
, m_mmu(*this, "mmu")
|
||||||
|
, m_icu(*this, "icu")
|
||||||
|
, m_rtc(*this, "rtc")
|
||||||
|
, m_dueai_cpu(*this, "dueai_cpu")
|
||||||
|
, m_dueai_scc(*this, "dueai_scc")
|
||||||
|
, m_boot_view(*this, "boot_view")
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
protected:
|
||||||
|
// driver_device overrides
|
||||||
|
virtual void machine_start() override;
|
||||||
|
virtual void machine_reset() override;
|
||||||
|
|
||||||
|
// address maps
|
||||||
|
template <unsigned ST> void cpu_map(address_map &map);
|
||||||
|
void dueai_mem_map(address_map &map);
|
||||||
|
void dueai_pio_map(address_map &map);
|
||||||
|
|
||||||
|
public:
|
||||||
|
// machine config
|
||||||
|
void pcmx2(machine_config &config);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
required_device<ns32016_device> m_cpu;
|
||||||
|
required_device<ns32081_device> m_fpu;
|
||||||
|
required_device<ns32082_device> m_mmu;
|
||||||
|
required_device<ns32202_device> m_icu;
|
||||||
|
required_device<mc146818_device> m_rtc;
|
||||||
|
|
||||||
|
required_device<i80186_cpu_device> m_dueai_cpu;
|
||||||
|
required_device<z80scc_device> m_dueai_scc;
|
||||||
|
|
||||||
|
private:
|
||||||
|
memory_view m_boot_view;
|
||||||
|
};
|
||||||
|
|
||||||
|
void pcmx2_state::machine_start()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void pcmx2_state::machine_reset()
|
||||||
|
{
|
||||||
|
m_boot_view.select(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
template <unsigned ST> void pcmx2_state::cpu_map(address_map &map)
|
||||||
|
{
|
||||||
|
if (ST == 0)
|
||||||
|
{
|
||||||
|
map(0x000000, 0x0fffff).view(m_boot_view);
|
||||||
|
|
||||||
|
m_boot_view[0](0x000000, 0x007fff).rom().region("eprom", 0);
|
||||||
|
m_boot_view[1](0x000000, 0x0fffff).ram();
|
||||||
|
}
|
||||||
|
|
||||||
|
map(0xfe0000, 0xfe7fff).rom().region("eprom", 0);
|
||||||
|
|
||||||
|
map(0xff8500, 0xff8500).lw8([this](u8 data) { m_boot_view.select(data); }, "boot_view_w");
|
||||||
|
|
||||||
|
map(0xfffe00, 0xfffeff).m(m_icu, FUNC(ns32202_device::map<BIT(ST, 1)>)).umask16(0x00ff);
|
||||||
|
}
|
||||||
|
|
||||||
|
void pcmx2_state::dueai_mem_map(address_map &map)
|
||||||
|
{
|
||||||
|
map(0x000000, 0x01ffff).ram();
|
||||||
|
|
||||||
|
map(0x0fe000, 0x0fffff).rom().region("dueai", 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
void pcmx2_state::dueai_pio_map(address_map &map)
|
||||||
|
{
|
||||||
|
map(0x0000, 0x0003).rw(m_dueai_scc, FUNC(z80scc_device::ab_dc_r), FUNC(z80scc_device::ab_dc_w));
|
||||||
|
}
|
||||||
|
|
||||||
|
void pcmx2_state::pcmx2(machine_config &config)
|
||||||
|
{
|
||||||
|
NS32016(config, m_cpu, 20_MHz_XTAL / 2);
|
||||||
|
m_cpu->set_addrmap(0, &pcmx2_state::cpu_map<0>);
|
||||||
|
m_cpu->set_addrmap(4, &pcmx2_state::cpu_map<4>);
|
||||||
|
|
||||||
|
NS32081(config, m_fpu, 20_MHz_XTAL / 2);
|
||||||
|
m_cpu->set_fpu(m_fpu);
|
||||||
|
|
||||||
|
NS32082(config, m_mmu, 20_MHz_XTAL / 2);
|
||||||
|
m_cpu->set_mmu(m_mmu);
|
||||||
|
|
||||||
|
NS32202(config, m_icu, 20_MHz_XTAL / 2);
|
||||||
|
m_icu->out_int().set_inputline(m_cpu, INPUT_LINE_IRQ0).invert();
|
||||||
|
|
||||||
|
MC146818(config, m_rtc, 32.768_kHz_XTAL);
|
||||||
|
|
||||||
|
I80186(config, m_dueai_cpu, 16_MHz_XTAL / 2);
|
||||||
|
m_dueai_cpu->set_addrmap(AS_PROGRAM, &pcmx2_state::dueai_mem_map);
|
||||||
|
m_dueai_cpu->set_addrmap(AS_IO, &pcmx2_state::dueai_pio_map);
|
||||||
|
|
||||||
|
SCC8530N(config, m_dueai_scc, 7.3728_MHz_XTAL);
|
||||||
|
}
|
||||||
|
|
||||||
|
ROM_START(pcmx2)
|
||||||
|
ROM_REGION16_LE(0x8000, "eprom", 0)
|
||||||
|
ROMX_LOAD("361d0333d053__e01735_ine.d53", 0x0000, 0x4000, CRC(b5eefb64) SHA1(a71a7daf9a8f0481d564bfc4d7ed5eb955f8665f), ROM_SKIP(1))
|
||||||
|
ROMX_LOAD("361d0333d054__e01725_ine.d54", 0x0001, 0x4000, CRC(3a3c6b6e) SHA1(5302fd79c89e0b4d164c639e2d73f4b9a279ddcb), ROM_SKIP(1))
|
||||||
|
|
||||||
|
ROM_REGION16_LE(0x2000, "dueai", 0)
|
||||||
|
ROM_LOAD("d277__e00_410__d3_17e4.d61", 0x0000, 0x2000, CRC(31415348) SHA1(1407dac077b1f9aec5f9063711c3ab2c517cc9e8))
|
||||||
|
ROM_END
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */
|
||||||
|
COMP(1986?, pcmx2, 0, 0, pcmx2, 0, pcmx2_state, empty_init, "Siemens", "PC-MX2", MACHINE_IS_SKELETON)
|
@ -34304,6 +34304,9 @@ spool3i // (c) 1990 Data East Corporation + I-Vics licen
|
|||||||
@source:pcm.cpp
|
@source:pcm.cpp
|
||||||
pcm // PC/M Mugler
|
pcm // PC/M Mugler
|
||||||
|
|
||||||
|
@source:pcmx2.cpp
|
||||||
|
pcmx2 // Siemens PC-MX2
|
||||||
|
|
||||||
@source:pcw.cpp
|
@source:pcw.cpp
|
||||||
pcw10 // 198? PCW10
|
pcw10 // 198? PCW10
|
||||||
pcw8256 // 1985 PCW8256
|
pcw8256 // 1985 PCW8256
|
||||||
|
Loading…
Reference in New Issue
Block a user