mirror of
https://github.com/holub/mame
synced 2025-06-04 20:06:28 +03:00
New systems marked not working
------------------------------ Motorola M8120 [Xolod]
This commit is contained in:
parent
6de4706c5c
commit
8512d4655c
@ -2635,6 +2635,8 @@ end
|
||||
|
||||
if (BUSES["VME"]~=null) then
|
||||
files {
|
||||
MAME_DIR .. "src/devices/bus/vme/mvme187.cpp",
|
||||
MAME_DIR .. "src/devices/bus/vme/mvme187.h",
|
||||
MAME_DIR .. "src/devices/bus/vme/tp881v.cpp",
|
||||
MAME_DIR .. "src/devices/bus/vme/tp881v.h",
|
||||
MAME_DIR .. "src/devices/bus/vme/vme.cpp",
|
||||
|
138
src/devices/bus/vme/mvme187.cpp
Normal file
138
src/devices/bus/vme/mvme187.cpp
Normal file
@ -0,0 +1,138 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:Patrick Mackinlay
|
||||
|
||||
/*
|
||||
* Motorola MVME187
|
||||
*
|
||||
* Sources:
|
||||
* - MVME187 RISC Single Board Computer Installation Guide (MVME187IG/D4), Motorola 1997
|
||||
* - Single Board Computers Programmer's Reference Guide (VMESBCA1/PG1), Motorola 1996
|
||||
*
|
||||
* TODO:
|
||||
* - skeleton only
|
||||
*
|
||||
* Skeleton is based on the variant of the MVME187 used in the Motorola M8120 system.
|
||||
*
|
||||
* M8120 variant
|
||||
* - no SRAM
|
||||
* - two additional serial ports (total 6)
|
||||
* - no parallel port
|
||||
* - only two ROM sockets
|
||||
*/
|
||||
|
||||
/*
|
||||
* M8120 parts
|
||||
* -----------
|
||||
* MC88100RC25
|
||||
* MC88200RC25 x 2
|
||||
* DS1643-150 8Kx8 NVRAM with RTC (MK48T08 compatible)
|
||||
* 53C710 SCSI controller
|
||||
* TL-SCSI285N SCSI voltage regulator
|
||||
* DS1232S MicroMonitor chip
|
||||
* KU82596CA-33 Ethernet controller
|
||||
* D82C501AD Ethernet serial interface
|
||||
* CL-CD2401-10QC-I x 2 Four-channel multi-protocol communications controller
|
||||
* MC145406DW x 9 RS-232-D driver/receiver
|
||||
*
|
||||
* 51-W6281B01 1444F0011 Motorola custom ASIC (PCCChip2 or VMEChip2?)
|
||||
* 51-W6280B02 16H7Y0005 Motorola custom ASIC (PCCChip2 or VMEChip2?)
|
||||
* M5M27C202JK x 2 131072 word x 16 bit CMOS EEPROM
|
||||
*
|
||||
* DS1 run LED (green)
|
||||
* DS2 stat LED (yellow)
|
||||
* DS3 scsi LED (yellow)
|
||||
* DS4 fail LED (red)
|
||||
* abort switch
|
||||
* reset switch
|
||||
*
|
||||
* 50.000MHz
|
||||
* 20.0000MHz
|
||||
*
|
||||
* RAM mezzanine board has MEMC040 or MCECC memory controller ASIC
|
||||
*/
|
||||
|
||||
#include "emu.h"
|
||||
#include "mvme187.h"
|
||||
|
||||
#define VERBOSE 0
|
||||
#include "logmacro.h"
|
||||
|
||||
DEFINE_DEVICE_TYPE(MVME187, mvme187_device, "mvme187", "Motorola MVME187")
|
||||
|
||||
mvme187_device::mvme187_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock)
|
||||
: device_t(mconfig, MVME187, tag, owner, clock)
|
||||
, device_vme_card_interface(mconfig, *this)
|
||||
, m_cpu(*this, "cpu")
|
||||
, m_mmu(*this, "mmu%u", 0U)
|
||||
, m_rtc(*this, "rtc")
|
||||
//, m_uart(*this, "uart")
|
||||
, m_serial(*this, "serial%u", 0U)
|
||||
//, m_scsi(*this, "scsi")
|
||||
, m_lan(*this, "lan")
|
||||
, m_boot(*this, "boot")
|
||||
{
|
||||
}
|
||||
|
||||
ROM_START(mvme187)
|
||||
ROM_REGION32_BE(0x8'0000, "eprom", 0)
|
||||
ROM_SYSTEM_BIOS(0, "m8120", "M8120 Debugger/Diagnostics Release Version 1.2 - 04/14/93")
|
||||
ROMX_LOAD("6631b05c__03_08_94__8120.u1", 0x0002, 0x4'0000, CRC(d31cc388) SHA1(c2e613ded8d66102d3afa41ca763e997d9829d28), ROM_REVERSE | ROM_GROUPWORD | ROM_SKIP(2) | ROM_BIOS(0)) // M5M27C202JK
|
||||
ROMX_LOAD("6631b06c__03_08_94__8120.u4", 0x0000, 0x4'0000, CRC(c62923e9) SHA1(62515c6e0dbeca6d18f373ad33e185096f10d2fc), ROM_REVERSE | ROM_GROUPWORD | ROM_SKIP(2) | ROM_BIOS(0)) // M5M27C202JK
|
||||
ROM_END
|
||||
|
||||
static INPUT_PORTS_START(mvme187)
|
||||
INPUT_PORTS_END
|
||||
|
||||
const tiny_rom_entry *mvme187_device::device_rom_region() const
|
||||
{
|
||||
return ROM_NAME(mvme187);
|
||||
}
|
||||
|
||||
ioport_constructor mvme187_device::device_input_ports() const
|
||||
{
|
||||
return INPUT_PORTS_NAME(mvme187);
|
||||
}
|
||||
|
||||
void mvme187_device::device_start()
|
||||
{
|
||||
}
|
||||
|
||||
void mvme187_device::device_reset()
|
||||
{
|
||||
m_boot.select(0);
|
||||
}
|
||||
|
||||
void mvme187_device::device_add_mconfig(machine_config &config)
|
||||
{
|
||||
MC88100(config, m_cpu, 50_MHz_XTAL / 2);
|
||||
m_cpu->set_addrmap(AS_PROGRAM, &mvme187_device::cpu_mem);
|
||||
|
||||
MC88200(config, m_mmu[0], 50_MHz_XTAL / 2, 0x77);
|
||||
m_mmu[0]->set_mbus(m_cpu, AS_PROGRAM);
|
||||
m_cpu->set_cmmu_i(m_mmu[0]);
|
||||
|
||||
MC88200(config, m_mmu[1], 50_MHz_XTAL / 2, 0x7f);
|
||||
m_mmu[1]->set_mbus(m_cpu, AS_PROGRAM);
|
||||
m_cpu->set_cmmu_d(m_mmu[1]);
|
||||
|
||||
DS1643(config, m_rtc);
|
||||
|
||||
RS232_PORT(config, m_serial[0], default_rs232_devices, "terminal");
|
||||
RS232_PORT(config, m_serial[1], default_rs232_devices, nullptr);
|
||||
RS232_PORT(config, m_serial[2], default_rs232_devices, nullptr);
|
||||
RS232_PORT(config, m_serial[3], default_rs232_devices, nullptr);
|
||||
RS232_PORT(config, m_serial[4], default_rs232_devices, nullptr);
|
||||
RS232_PORT(config, m_serial[5], default_rs232_devices, nullptr);
|
||||
|
||||
//NCR53C7XX(config, m_scsi, 0);
|
||||
I82596_BE32(config, m_lan, 20'000'000);
|
||||
}
|
||||
|
||||
void mvme187_device::cpu_mem(address_map &map)
|
||||
{
|
||||
map(0x0000'0000, 0x00ff'ffff).view(m_boot);
|
||||
m_boot[0](0x0000'0000, 0x0007'ffff).rom().region("eprom", 0);
|
||||
m_boot[1](0x0000'0000, 0x00ff'ffff).ram();
|
||||
|
||||
map(0xff80'0000, 0xff87'ffff).rom().region("eprom", 0);
|
||||
}
|
51
src/devices/bus/vme/mvme187.h
Normal file
51
src/devices/bus/vme/mvme187.h
Normal file
@ -0,0 +1,51 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:Patrick Mackinlay
|
||||
|
||||
#ifndef MAME_BUS_VME_MVME187_H
|
||||
#define MAME_BUS_VME_MVME187_H
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "cpu/m88000/m88000.h"
|
||||
|
||||
#include "machine/53c7xx.h"
|
||||
//#include "machine/cd2400.h"
|
||||
#include "machine/i82586.h"
|
||||
#include "machine/mc88200.h"
|
||||
#include "machine/timekpr.h"
|
||||
|
||||
#include "bus/vme/vme.h"
|
||||
#include "bus/rs232/rs232.h"
|
||||
|
||||
class mvme187_device
|
||||
: public device_t
|
||||
, public device_vme_card_interface
|
||||
{
|
||||
public:
|
||||
mvme187_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock);
|
||||
|
||||
protected:
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
virtual ioport_constructor device_input_ports() const override;
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
|
||||
private:
|
||||
void cpu_mem(address_map &map);
|
||||
|
||||
required_device<mc88100_device> m_cpu;
|
||||
required_device_array<mc88200_device, 2> m_mmu;
|
||||
|
||||
required_device<ds1643_device> m_rtc;
|
||||
//required_device_array<cd2401, 2> m_uart;
|
||||
required_device_array<rs232_port_device, 6> m_serial;
|
||||
//required_device<ncr53c7xx_device> m_scsi;
|
||||
required_device<i82596_device> m_lan;
|
||||
|
||||
memory_view m_boot;
|
||||
};
|
||||
|
||||
DECLARE_DEVICE_TYPE(MVME187, mvme187_device)
|
||||
|
||||
#endif // MAME_BUS_VME_MVME187_H
|
@ -31885,6 +31885,9 @@ m6805evs //
|
||||
705r3prg //
|
||||
705u3prg //
|
||||
|
||||
@source:motorola/m8120.cpp
|
||||
m8120 // Motorola M8120
|
||||
|
||||
@source:motorola/mekd1.cpp
|
||||
mekd1 // 1975 Motorola Evaluation Kit
|
||||
|
||||
|
40
src/mame/motorola/m8120.cpp
Normal file
40
src/mame/motorola/m8120.cpp
Normal file
@ -0,0 +1,40 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:Patrick Mackinlay
|
||||
|
||||
/*
|
||||
* Motorola M8120 system.
|
||||
*/
|
||||
|
||||
#include "emu.h"
|
||||
|
||||
#include "bus/vme/mvme187.h"
|
||||
|
||||
namespace {
|
||||
|
||||
class m8120_state : public driver_device
|
||||
{
|
||||
public:
|
||||
m8120_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: driver_device(mconfig, type, tag)
|
||||
{
|
||||
}
|
||||
|
||||
void m8120(machine_config &config);
|
||||
};
|
||||
|
||||
void m8120_state::m8120(machine_config &config)
|
||||
{
|
||||
VME(config, "vme", 0);
|
||||
|
||||
vme_slot_device &slot(VME_SLOT(config, "vme:0", 0));
|
||||
slot.set_vme_slot("vme", 0);
|
||||
slot.option_set("mvme187", MVME187);
|
||||
}
|
||||
|
||||
ROM_START(m8120)
|
||||
ROM_END
|
||||
|
||||
} // anonymous namespace
|
||||
|
||||
// YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS
|
||||
COMP( 1991, m8120, 0, 0, m8120, 0, m8120_state, empty_init, "Motorola", "M8120", MACHINE_IS_SKELETON )
|
Loading…
Reference in New Issue
Block a user