From 84241f4e21faa4a03626e51f6c39c217e4bf6af4 Mon Sep 17 00:00:00 2001 From: arbee Date: Tue, 15 Nov 2016 21:06:43 -0500 Subject: [PATCH] New machine added as MACHINE_NOT_WORKING: - GMX Micro 20 [Al Kossow, R. Belmont] --- scripts/target/mame/mess.lua | 1 + src/mame/drivers/micro20.cpp | 109 +++++++++++++++++++++++++++++++++++ src/mame/mame.lst | 3 + src/mame/mess.flt | 1 + 4 files changed, 114 insertions(+) create mode 100755 src/mame/drivers/micro20.cpp diff --git a/scripts/target/mame/mess.lua b/scripts/target/mame/mess.lua index ccc0f9f2cba..3ae146c3711 100644 --- a/scripts/target/mame/mess.lua +++ b/scripts/target/mame/mess.lua @@ -3303,6 +3303,7 @@ files { MAME_DIR .. "src/mame/drivers/mes.cpp", MAME_DIR .. "src/mame/drivers/mice.cpp", MAME_DIR .. "src/mame/drivers/micral.cpp", + MAME_DIR .. "src/mame/drivers/micro20.cpp", MAME_DIR .. "src/mame/drivers/micronic.cpp", MAME_DIR .. "src/mame/includes/micronic.h", MAME_DIR .. "src/mame/drivers/mini2440.cpp", diff --git a/src/mame/drivers/micro20.cpp b/src/mame/drivers/micro20.cpp new file mode 100755 index 00000000000..50ecd173222 --- /dev/null +++ b/src/mame/drivers/micro20.cpp @@ -0,0 +1,109 @@ +// license:BSD-3-Clause +// copyright-holders: R. Belmont +/**************************************************************************** + + micro20.cpp + GMX Micro 20 single-board computer + + 68020 + 68881 FPU + + +****************************************************************************/ + +#include "emu.h" +#include "cpu/m68000/m68000.h" +#include "machine/mc68681.h" +#include "machine/msm58321.h" +#include "machine/wd_fdc.h" +#include "softlist.h" + +#define MAINCPU_TAG "maincpu" +#define DUART_A_TAG "duarta" +#define DUART_B_TAG "duartb" +#define RTC_TAG "rtc" +#define FDC_TAG "fdc" + +class micro20_state : public driver_device +{ +public: + micro20_state(const machine_config &mconfig, device_type type, const char *tag) + : driver_device(mconfig, type, tag), + m_maincpu(*this, "maincpu"), + m_rom(*this, "bootrom"), + m_mainram(*this, "mainram") + { + } + + required_device m_maincpu; + required_memory_region m_rom; + required_shared_ptr m_mainram; + + virtual void machine_start() override; + virtual void machine_reset() override; + +private: + +}; + +void micro20_state::machine_start() +{ +} + +void micro20_state::machine_reset() +{ + uint32_t *pROM = (uint32_t *)m_rom->base(); + uint32_t *pRAM = (uint32_t *)m_mainram.target(); + + pRAM[0] = pROM[0]; + pRAM[1] = pROM[1]; + m_maincpu->reset(); +} + +/*************************************************************************** + ADDRESS MAPS +***************************************************************************/ + +static ADDRESS_MAP_START(micro20_map, AS_PROGRAM, 32, micro20_state ) + AM_RANGE(0x000000, 0x1fffff) AM_RAM AM_SHARE("mainram") + AM_RANGE(0x800000, 0x83ffff) AM_ROM AM_REGION("bootrom", 0) +ADDRESS_MAP_END + +static MACHINE_CONFIG_START( micro20, micro20_state ) + /* basic machine hardware */ + MCFG_CPU_ADD(MAINCPU_TAG, M68020, XTAL_16_67MHz) + MCFG_CPU_PROGRAM_MAP(micro20_map) + + MCFG_MC68681_ADD(DUART_A_TAG, XTAL_3_6864MHz) +// MCFG_MC68681_IRQ_CALLBACK(WRITELINE(vt240_state, irq13_w)) +// MCFG_MC68681_A_TX_CALLBACK(DEVWRITELINE("host", rs232_port_device, write_txd)) +// MCFG_MC68681_B_TX_CALLBACK(DEVWRITELINE("printer", rs232_port_device, write_txd)) +// MCFG_MC68681_OUTPORT_CALLBACK(WRITE8(vt240_state, duartout_w)) + + MCFG_MC68681_ADD(DUART_B_TAG, XTAL_3_6864MHz) + + MCFG_DEVICE_ADD(RTC_TAG, MSM58321, XTAL_32_768kHz) + + MCFG_WD1772_ADD(FDC_TAG, XTAL_16_67MHz / 2) +MACHINE_CONFIG_END + +static INPUT_PORTS_START( micro20 ) +INPUT_PORTS_END + +/*************************************************************************** + + Machine driver(s) + +***************************************************************************/ + + +ROM_START( micro20 ) + ROM_REGION32_BE(0x40000, "bootrom", 0) + ROM_LOAD32_BYTE( "d00-07_u6_6791.bin", 0x000003, 0x010000, CRC(63d66ea1) SHA1(c5dfbc4d81920e1d2e981c52c1af3d486d382a35) ) + ROM_LOAD32_BYTE( "d08-15_u8_0dc6.bin", 0x000002, 0x010000, CRC(d62ef21f) SHA1(2779d430b1a0b835807627e707d46547b29ef579) ) + ROM_LOAD32_BYTE( "d16-23_u10_e5b0.bin", 0x000001, 0x010000, CRC(cd7acf86) SHA1(db994ed714a1079fbb66616355e8f18d2d1a2005) ) + ROM_LOAD32_BYTE( "d24-31_u13_d115.bin", 0x000000, 0x010000, CRC(3646d943) SHA1(97ee54063e2fe49fef2ff68d0f2e39345a75eac5) ) +ROM_END + +COMP( 1984, micro20, 0, 0, micro20, micro20, driver_device, 0, "GMX", "Micro 20", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) + + diff --git a/src/mame/mame.lst b/src/mame/mame.lst index 4153aaddc93..f52511d4b29 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -20118,6 +20118,9 @@ mice // @source:micral.cpp micral // +@source:micro20.cpp +micro20 // (c) 1984 GMX + @source:micro3d.cpp botss // (c) 1992 Microprose Games Inc. botss11 // (c) 1992 Microprose Games Inc. diff --git a/src/mame/mess.flt b/src/mame/mess.flt index f3d64bf5bb4..1afce31d347 100644 --- a/src/mame/mess.flt +++ b/src/mame/mess.flt @@ -333,6 +333,7 @@ mephisto.cpp mes.cpp mice.cpp micral.cpp +micro20.cpp microdec.cpp microkit.cpp micronic.cpp