From 37f5dca1ba354ce5628fae48f5aac5b5704e351e Mon Sep 17 00:00:00 2001 From: Ivan Vangelista Date: Thu, 1 Mar 2018 19:04:19 +0100 Subject: [PATCH] new not working machine ------------------------------------- Milton Bradley Electronic Milton [Sean Riddle] --- scripts/target/mame/mess.lua | 1 + src/mame/drivers/milton6805.cpp | 154 ++++++++++++++++++++++++++++++++ src/mame/mame.lst | 3 + src/mame/mess.flt | 1 + 4 files changed, 159 insertions(+) create mode 100644 src/mame/drivers/milton6805.cpp diff --git a/scripts/target/mame/mess.lua b/scripts/target/mame/mess.lua index 9b985f8f60e..f98279ccd71 100644 --- a/scripts/target/mame/mess.lua +++ b/scripts/target/mame/mess.lua @@ -3588,6 +3588,7 @@ files { MAME_DIR .. "src/mame/includes/micronic.h", MAME_DIR .. "src/mame/drivers/microterm.cpp", MAME_DIR .. "src/mame/drivers/mightyframe.cpp", + MAME_DIR .. "src/mame/drivers/milton6805.cpp", MAME_DIR .. "src/mame/drivers/milwaukee.cpp", MAME_DIR .. "src/mame/drivers/mini2440.cpp", MAME_DIR .. "src/mame/drivers/miniframe.cpp", diff --git a/src/mame/drivers/milton6805.cpp b/src/mame/drivers/milton6805.cpp new file mode 100644 index 00000000000..00cf81a793d --- /dev/null +++ b/src/mame/drivers/milton6805.cpp @@ -0,0 +1,154 @@ +// license:BSD-3-Clause +// copyright-holders: +/* +infos provided by Sean Riddle + +Milton Bradley Milton + +Chips labeled + +SC87008P +7834043001 +R2H8033 +28 DIP = Motorola MC6805P2 + +GI +783-4043-002 +8033CBA +28 DIP = GI SP0250 + +4043-003 +DDS 8027 +16 DIP = TMC0430 8K GROM + +4043-004 +DDS 8022 +16 DIP = TMC0430 8K GROM + +20 buttons: 1, 2, 3, Go, Score, Reset, Red A-G, Yellow A-G +Speaker +2 LEDs (pulse with speech) + +schematic in patent 4326710 except MC6805 clocked from SP0250 3.12MHz and GROM clocked by 3.12MHz/8=390KHz + +MC6805 pinout + +1 VSS ground +2 /INT tied high +3 VCC +5 +4 Extal SP0250 pin 9 3.12MHz clock +5 Xtal ground +6 NUM ground +7 Timer VCC +8 PC0 button matrix +9 PC1 button matrix +10 PC2 button matrix +11 PC3 button matrix +12 PB0 button matrix +13 PB1 button matrix+GROM M +14 PB2 button matrix +15 PB3 button matrix+GROM M0 +16 PB4 button matrix +17 PB5 SP0250 DPRES +18 PB6 SP0250 DREQ +19 PB7 GROM STROBE +20 PA0 SP0250 and GROM D0 +21 PA1 SP0250 and GROM D1 +22 PA2 SP0250 and GROM D2 +23 PA3 SP0250 and GROM D3 +24 PA4 SP0250 and GROM D4 +25 PA5 SP0250 and GROM D5 +26 PA6 SP0250 and GROM D6 +27 PA7 SP0250 and GROM D7 +28 /RESET cap and diode + + +button matrix + PB0 PB1 PB2 PB3 PB4 +PC0 red G red C 2 Reset Yellow D +PC1 red F red B 3 Yellow A Yellow E +PC2 red E red A GO Yellow B Yellow F +PC3 red D 1 Score Yellow C Yellow G + +button layout +red + D E +C F + B G + A + +yellow + A + G B +F C + E D +*/ + +#include "emu.h" +#include "cpu/m6805/m6805.h" +#include "machine/tmc0430.h" +#include "sound/sp0250.h" +#include "screen.h" +#include "speaker.h" + +class milton_state : public driver_device +{ +public: + milton_state(const machine_config &mconfig, device_type type, const char *tag) + : driver_device(mconfig, type, tag), + m_maincpu(*this, "maincpu") + { } + + void milton(machine_config &config); + +private: + required_device m_maincpu; + + void prg_map(address_map &map); + void io_map(address_map &map); +}; + +ADDRESS_MAP_START(milton_state::prg_map) + AM_RANGE(0x800, 0xfff) AM_ROM AM_REGION("maincpu", 0) // Internal ROM +ADDRESS_MAP_END + +ADDRESS_MAP_START(milton_state::io_map) +ADDRESS_MAP_END + +static INPUT_PORTS_START( milton ) +INPUT_PORTS_END + +MACHINE_CONFIG_START(milton_state::milton) + + /* basic machine hardware */ + MCFG_CPU_ADD("maincpu", M6805, 3120000) // MC6805P2, needs a CPU core + MCFG_CPU_PROGRAM_MAP(prg_map) + MCFG_CPU_IO_MAP(io_map) + + MCFG_DEVICE_ADD("grom3", TMC0430, 3120000 / 8) + tmc0430_device::set_region_and_ident(*device, "groms", 0x0000, 0); + + MCFG_DEVICE_ADD("grom4", TMC0430, 3120000 / 8) + tmc0430_device::set_region_and_ident(*device, "groms", 0x2000, 1); + + MCFG_SPEAKER_STANDARD_MONO("speaker") + MCFG_SOUND_ADD("sp0250", SP0250, 3120000) + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) +MACHINE_CONFIG_END + +/*************************************************************************** + + Game drivers + +***************************************************************************/ + +ROM_START( milton ) + ROM_REGION(0x800, "maincpu", 0) + ROM_LOAD("milton.bin", 0x000, 0x800, CRC(acb261fd) SHA1(6efd836578c580031d9835191afd20cdd192125d) ) + + ROM_REGION(0x4000, "groms", 0) + ROM_LOAD("miltongrom3.bin", 0x0000, 0x1800, CRC(d95df757) SHA1(6723480866f6393d310e304ef3b61e3a319a7beb) ) + ROM_LOAD("miltongrom4.bin", 0x2000, 0x1800, CRC(9ac929f7) SHA1(1a27d56fc49eb4e58ea3b5c58d7fbedc5a751592) ) +ROM_END + +GAME( 1980, milton, 0, milton, milton, milton_state, 0, ROT0, "Milton Bradley", "Electronic Milton", MACHINE_IS_SKELETON ) diff --git a/src/mame/mame.lst b/src/mame/mame.lst index cf7d492a6bd..fb82cd4dd73 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -21134,6 +21134,9 @@ mil4000b // (c) 2000 Sure Milano mil4000c // (c) 2000 Sure Milano top21 // (c) 200? Assogiochi Assago (Mi) +@source:milton6805.cpp +milton // 1980 Milton Bradley + @source:milwaukee.cpp mc1200 // diff --git a/src/mame/mess.flt b/src/mame/mess.flt index 088a8c84bc2..1a6e9da27f2 100644 --- a/src/mame/mess.flt +++ b/src/mame/mess.flt @@ -397,6 +397,7 @@ mikro80.cpp mikromik.cpp mikrosha.cpp mightyframe.cpp +milton.cpp milwaukee.cpp mini2440.cpp minicom.cpp