summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/mame/arcade.flt1
-rw-r--r--src/mame/drivers/segattl.cpp175
-rw-r--r--src/mame/mame.lst3
-rw-r--r--src/mame/nl.lst3
4 files changed, 182 insertions, 0 deletions
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<netlist_mame_device> m_maincpu;
+ required_device<fixedfreq_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