From 5ad625efd4ca6c58eb328a3ee2db60d3bf38fd1c Mon Sep 17 00:00:00 2001 From: Ivan Vangelista Date: Sat, 26 May 2018 07:01:52 +0200 Subject: new not working machine ------------------------------------- Fonz [Andrew Welburn, The Dumping Union] --- scripts/target/mame/arcade.lua | 1 + src/mame/arcade.flt | 1 + src/mame/drivers/segattl.cpp | 175 +++++++++++++++++++++++++++++++++++++++++ src/mame/mame.lst | 3 + src/mame/nl.lst | 3 + 5 files changed, 183 insertions(+) create mode 100644 src/mame/drivers/segattl.cpp diff --git a/scripts/target/mame/arcade.lua b/scripts/target/mame/arcade.lua index e2b97d1befd..a766198ef74 100644 --- a/scripts/target/mame/arcade.lua +++ b/scripts/target/mame/arcade.lua @@ -3312,6 +3312,7 @@ files { MAME_DIR .. "src/mame/includes/segas32.h", MAME_DIR .. "src/mame/machine/segas32.cpp", MAME_DIR .. "src/mame/video/segas32.cpp", + MAME_DIR .. "src/mame/drivers/segattl.cpp", MAME_DIR .. "src/mame/drivers/segaufo.cpp", MAME_DIR .. "src/mame/drivers/segaxbd.cpp", MAME_DIR .. "src/mame/includes/segaxbd.h", diff --git a/src/mame/arcade.flt b/src/mame/arcade.flt index 0d98285792a..fb9982e3419 100644 --- a/src/mame/arcade.flt +++ b/src/mame/arcade.flt @@ -1042,6 +1042,7 @@ segas18.cpp segas24.cpp segas32.cpp segasp.cpp +segattl.cpp segaufo.cpp segaxbd.cpp segaybd.cpp diff --git a/src/mame/drivers/segattl.cpp b/src/mame/drivers/segattl.cpp new file mode 100644 index 00000000000..e582698a53a --- /dev/null +++ b/src/mame/drivers/segattl.cpp @@ -0,0 +1,175 @@ +// license:BSD-3-Clause +// copyright-holders:Fabio Priuli, Scott Stone +/*************************************************************************** + + known Sega Discrete Hardware Games + + + Game Name(s) Part #'s Data PROM/ROM Chip Numbers + ------------------------------------------------------------------+--------------+---------+--------------------------------- + + 3 Way Block + Balloon Gun + Bomber + Break Open + Bullet Mark + Cartoon Gun + Castling + Crash Course + Double Block + Duck Shoot + Erase + Fonz 94789-P IC86.86 IC87.87 PR-09.49 PR-08.50 + Galaxy War + Goal Kick + Heavyweight Champ + Hockey TV + Last Inning + Man TT + Mini Hockey + Monaco GP (see monacogp.cpp) + Moto-Cross + Pong-Tron + Pong-Tron II + Pro Monaco GP + Pro Racer + Road Race + Rock'n Bark + Secret Base + Secret War + Senkan Yamato + Space Fighter + Sparkling Corner + Squadron + Super Break Open + Table Baseball + Table Hockey + Top Runner + Tracer + Twin Course T.T. + Upset Block + Wild Wood + World Cup + Zigzag Block + + +***************************************************************************/ + + +#include "emu.h" + +#include "machine/netlist.h" +#include "netlist/devices/net_lib.h" +#include "video/fixfreq.h" + +// copied by Pong, not accurate for this driver! +// start +#define MASTER_CLOCK 7159000 +#define V_TOTAL (0x105+1) // 262 +#define H_TOTAL (0x1C6+1) // 454 + +#define HBSTART (H_TOTAL) +#define HBEND (80) +#define VBSTART (V_TOTAL) +#define VBEND (16) + +#define HRES_MULT (1) +// end + + +class segattl_state : public driver_device +{ +public: + segattl_state(const machine_config &mconfig, device_type type, const char *tag) + : driver_device(mconfig, type, tag), + m_maincpu(*this, "maincpu"), + m_video(*this, "fixfreq") + { + } + + void segattl(machine_config &config); + +protected: + + // driver_device overrides + virtual void machine_start() override; + virtual void machine_reset() override; + + virtual void video_start() override; + +private: + // devices + required_device m_maincpu; + required_device m_video; +}; + + +static NETLIST_START(segattl) + SOLVER(Solver, 48000) +// PARAM(Solver.FREQ, 48000) + PARAM(Solver.ACCURACY, 1e-4) // works and is sufficient + + // schematics + //... + + // NETDEV_ANALOG_CALLBACK(sound_cb, sound, exidyttl_state, sound_cb, "") + // NETDEV_ANALOG_CALLBACK(video_cb, videomix, fixedfreq_device, update_vid, "fixfreq") +NETLIST_END() + + + +void segattl_state::machine_start() +{ +} + +void segattl_state::machine_reset() +{ +} + + +void segattl_state::video_start() +{ +} + +MACHINE_CONFIG_START(segattl_state::segattl) + + /* basic machine hardware */ + MCFG_DEVICE_ADD("maincpu", NETLIST_CPU, NETLIST_CLOCK) + MCFG_NETLIST_SETUP(segattl) + + /* video hardware */ + MCFG_FIXFREQ_ADD("fixfreq", "screen") + MCFG_FIXFREQ_MONITOR_CLOCK(MASTER_CLOCK) + MCFG_FIXFREQ_HORZ_PARAMS(H_TOTAL-67,H_TOTAL-40,H_TOTAL-8,H_TOTAL) + MCFG_FIXFREQ_VERT_PARAMS(V_TOTAL-22,V_TOTAL-19,V_TOTAL-12,V_TOTAL) + MCFG_FIXFREQ_FIELDCOUNT(1) + MCFG_FIXFREQ_SYNC_THRESHOLD(0.30) +MACHINE_CONFIG_END + + +/*************************************************************************** + + Game driver(s) + + ***************************************************************************/ + +/* +IC86.86 MMI 6306 (dumped as AMD 27S13) 0390 +IC87.87 MMI 6306 (dumped as AMD 27S13) 050D + +PR-09.49 TI 74S287 +PR-08.50 TI 74S287 +*/ + +ROM_START( fonz ) + ROM_REGION( 0x1000, "maincpu", ROMREGION_ERASE00 ) + + ROM_REGION( 0x0600, "roms", ROMREGION_ERASE00 ) + ROM_LOAD( "ic86.86", 0x000, 0x200, CRC(627a7795) SHA1(88304451ffbd7231d397ada632c7bf6f8cbe7598) ) + ROM_LOAD( "ic87.87", 0x200, 0x200, CRC(d7dd14c7) SHA1(2f112197d7caafb4cb7e2658ea8b298e15aba6ac) ) + ROM_LOAD( "pr-09.49", 0x400, 0x100, CRC(2e293727) SHA1(a03eb4aa726a2e2c872f40dfd1628b00d4edfa33) ) + ROM_LOAD( "pr-08.50", 0x500, 0x100, CRC(6c763af7) SHA1(fdfa310f54b88610c1f59345f5fc72b3b90641ad) ) +ROM_END + + +GAME( 1976, fonz, 0, segattl, 0, segattl_state, empty_init, ROT0, "Sega", "Fonz [TTL]", MACHINE_IS_SKELETON ) diff --git a/src/mame/mame.lst b/src/mame/mame.lst index e68c482cc7c..23243362c6c 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -34201,6 +34201,9 @@ segasp // tetgiano // tetgiant // +@source:segattl.cpp +fonz // + @source:segaufo.cpp newufo // newufo_nfl // diff --git a/src/mame/nl.lst b/src/mame/nl.lst index f36dd26d7fe..9926eaa9a15 100644 --- a/src/mame/nl.lst +++ b/src/mame/nl.lst @@ -171,6 +171,9 @@ pongf // (c) 1972 Atari //vollyrmt // (c) 1973 Ramtek //wipeormt // (c) 1974 Ramtek +// segattl.cpp +//fonz // (c) 1976 Sega + // taitottl.cpp //gunman // (c) 1977 Taito //missilex // (c) 1977 Taito -- cgit v1.2.3