diff options
-rw-r--r-- | src/mame/mame.lst | 4 | ||||
-rw-r--r-- | src/mame/midway/midwayttl.cpp | 99 | ||||
-rw-r--r-- | src/mame/misc/pse.cpp | 54 |
3 files changed, 128 insertions, 29 deletions
diff --git a/src/mame/mame.lst b/src/mame/mame.lst index 3e1014087b0..4bebfe1f8dc 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -27581,6 +27581,9 @@ wargods // (c) 1996 Midway (HD 10/09/1996 - Dual Resolut wargodsa // (c) 1996 Midway (HD 08/15/1996) wargodsb // (c) 1996 Midway (HD 12/11/1995) +@source:midway/midwayttl.cpp +wheelsii // + @source:midway/midwunit.cpp mk3 // (c) 1994 Midway mk3p40 // (c) 1994 Midway @@ -31499,6 +31502,7 @@ bazookabr // (c) 1977 Taito do Brasil dpatrol // (c) 1977 PSE dpatrola // (c) 1977 PSE / Telegames gametree // (c) 1978 PSE +knightar // (c) 1976 PSE @source:misc/quizo.cpp quizo // (c) 1985 Seoul Coin Corp. diff --git a/src/mame/midway/midwayttl.cpp b/src/mame/midway/midwayttl.cpp new file mode 100644 index 00000000000..00466cd57fb --- /dev/null +++ b/src/mame/midway/midwayttl.cpp @@ -0,0 +1,99 @@ +// license:BSD-3-Clause +// copyright-holders: + +/* +This driver contains early non-CPU Midway dumps, until they are emulated and moved as needed +*/ + +#include "emu.h" + +#include "machine/netlist.h" +#include "netlist/devices/net_lib.h" +#include "video/fixfreq.h" + + +namespace { + +// TODO: just a placeholder, everything needs to be updated + +#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) + + +class midwayttl_state : public driver_device +{ +public: + midwayttl_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 midwayttl(machine_config &config); + +private: + required_device<netlist_mame_device> m_maincpu; + required_device<fixedfreq_device> m_video; + +}; + + +static NETLIST_START(midwayttl) // TODO: just a placeholder, everything needs to be updated +{ + SOLVER(Solver, 48000) +// PARAM(Solver.FREQ, 48000) + PARAM(Solver.ACCURACY, 1e-4) + + // schematics + //... +} + + +void midwayttl_state::midwayttl(machine_config &config) +{ + // basic machine hardware + NETLIST_CPU(config, m_maincpu, netlist::config::DEFAULT_CLOCK()).set_source(netlist_midwayttl); + + // video hardware + SCREEN(config, "screen", SCREEN_TYPE_RASTER); // TODO: just a placeholder, everything needs to be updated + FIXFREQ(config, m_video).set_screen("screen"); + m_video->set_monitor_clock(MASTER_CLOCK); + m_video->set_horz_params(H_TOTAL-67,H_TOTAL-40,H_TOTAL-8,H_TOTAL); + m_video->set_vert_params(V_TOTAL-22,V_TOTAL-19,V_TOTAL-12,V_TOTAL); + m_video->set_fieldcount(1); + m_video->set_threshold(0.30); +} + + +ROM_START( wheelsii ) + ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASE00 ) + + ROM_REGION( 0x1a0, "roms", 0 ) // All PROMs TI SN74188N. Read as National 74S188 + ROM_LOAD( "257.1k", 0x000, 0x020, CRC(00b8fef8) SHA1(e3f465b9df78cfbd8f4547b8b4d45281e30a2a89) ) + ROM_LOAD( "258.5k", 0x020, 0x020, CRC(eab44d13) SHA1(daed044e5759de22055c4dcaeeb57b12d572ca2b) ) + ROM_LOAD( "259.5l", 0x040, 0x020, CRC(ba31afc0) SHA1(f583dc898e6ecaa1dd6ac78fe9bea6619858d83c) ) + ROM_LOAD( "260.1p", 0x060, 0x020, CRC(2cf891d6) SHA1(625f904b97ed5b714b9174d70dbc247b2cb8cb22) ) + ROM_LOAD( "261.1j", 0x080, 0x020, CRC(8aa08f16) SHA1(7fc6a6a3b75640beddffa482012e724f0af332b3) ) + ROM_LOAD( "262.15j", 0x0a0, 0x020, CRC(814d0588) SHA1(6680b5dcd9af9ac1cef310b462a0f82c63616967) ) + ROM_LOAD( "263.15p", 0x0c0, 0x020, CRC(ada34863) SHA1(4491b38c5e17242459f38ac7c683371f7fdfe05e) ) + ROM_LOAD( "264.15r", 0x0e0, 0x020, CRC(a7114570) SHA1(1f91d1cc08cc3c4943bd6a6ac231f43935853cbe) ) + ROM_LOAD( "265.7p", 0x100, 0x020, CRC(501953ba) SHA1(f1016676c90def8a6aff1c8999c2a6ab2cb10398) ) + ROM_LOAD( "266.7r", 0x120, 0x020, CRC(a0eeb385) SHA1(7044c1ab239e3ec60a63b841c09cdf2b1d25a39b) ) + ROM_LOAD( "267.9p", 0x140, 0x020, CRC(a6983222) SHA1(265501cda78d85bdd82b0b6fa4731b519e40a9b7) ) + ROM_LOAD( "268.9r", 0x160, 0x020, CRC(715cb8da) SHA1(b72c8b549220b36d179b03ab5dfafda20d66fd56) ) + ROM_LOAD( "269.10k", 0x180, 0x020, CRC(eeb6a479) SHA1(e4f0540c1c5d0a5c9037ce9e9dcc1150eeeea3f9) ) +ROM_END + +} // anonymous namespace + + +GAME( 1975, wheelsii, 0, midwayttl, 0, midwayttl_state, empty_init, ROT0, "Midway", "Wheels II", MACHINE_IS_SKELETON ) diff --git a/src/mame/misc/pse.cpp b/src/mame/misc/pse.cpp index 6de68d34d42..ea1aff8a338 100644 --- a/src/mame/misc/pse.cpp +++ b/src/mame/misc/pse.cpp @@ -1,5 +1,6 @@ // license:BSD-3-Clause -// copyright-holders:Fabio Priuli,Dave Widel, gregf +// copyright-holders: Fabio Priuli, Dave Widel, gregf + /*************************************************************************** Project Support Engineering Games @@ -58,20 +59,16 @@ public: { } - // devices - required_device<netlist_mame_device> m_maincpu; - required_device<fixedfreq_device> m_video; - void pse(machine_config &config); -protected: - // driver_device overrides +protected: virtual void machine_start() override; virtual void machine_reset() override; - virtual void video_start() override; private: + required_device<netlist_mame_device> m_maincpu; + required_device<fixedfreq_device> m_video; }; @@ -106,10 +103,10 @@ void pse_state::video_start() void pse_state::pse(machine_config &config) { - /* basic machine hardware */ + // basic machine hardware NETLIST_CPU(config, m_maincpu, netlist::config::DEFAULT_CLOCK()).set_source(netlist_pse); - /* video hardware */ + // video hardware SCREEN(config, "screen", SCREEN_TYPE_RASTER); FIXFREQ(config, m_video).set_screen("screen"); m_video->set_monitor_clock(MASTER_CLOCK); @@ -153,16 +150,16 @@ ROM_END ROM_START( dpatrol ) ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASE00 ) - ROM_REGION( 0x0CA0, "roms", ROMREGION_ERASE00 ) + ROM_REGION( 0x0ca0, "roms", ROMREGION_ERASE00 ) ROM_LOAD( "bd1.d2", 0x0000, 0x0400, CRC(e4c8e4ab) SHA1(0b989ca9369139f212dcea1d1461998f20057db8)) // Computer program game code. 6341-1 or 82S181 according to Desert Patrol schematics - sldh w/dpatrola ROM_LOAD( "bd1.e2", 0x0400, 0x0400, CRC(256b3320) SHA1(712573e3d9625a84c54bbe2e3edafb8879a14b2e)) // Computer program game code. 6341-1 or 82S181 according to Desert Patrol schematics - sldh w/dpatrola ROM_LOAD( "bd2.l4", 0x0800, 0x0200, CRC(bc87c648) SHA1(c4709d155aa50cc87146abd152a11de618cfd64c)) // PROM 1 contains aircraft target images and explosion image. PCB has 82S141; schematics show 6341-1 - ROM_LOAD( "bd2.l1", 0x0A00, 0x0200, CRC(4ddcc237) SHA1(6bfad6a8bf8387e93c0bb1a04b647690b3701d54)) // PROM 2 contains parachute and man, falling man. PCB has 82S141; schematics show 6341-1 (from dpatrola, but expected to match) + ROM_LOAD( "bd2.l1", 0x0a00, 0x0200, CRC(4ddcc237) SHA1(6bfad6a8bf8387e93c0bb1a04b647690b3701d54)) // PROM 2 contains parachute and man, falling man. PCB has 82S141; schematics show 6341-1 (from dpatrola, but expected to match) - ROM_LOAD( "bd2.h7", 0x0C00, 0x0020, NO_DUMP) // Contains PROM address codes and image speeds. Each image has its own speed and address block in the image PROM. Chip is 82S123 + ROM_LOAD( "bd2.h7", 0x0c00, 0x0020, NO_DUMP) // Contains PROM address codes and image speeds. Each image has its own speed and address block in the image PROM. Chip is 82S123 - ROM_LOAD( "bd3.d1", 0x0C20, 0x0080, NO_DUMP ) // Data in PROM is organized to produce the waveform of a human scream. Chip type is 8574 or MM6301-0J + ROM_LOAD( "bd3.d1", 0x0c20, 0x0080, NO_DUMP ) // Data in PROM is organized to produce the waveform of a human scream. Chip type is 8574 or MM6301-0J ROM_END ROM_START( dpatrola ) @@ -180,15 +177,14 @@ ROM_START( dpatrola ) ROM_LOAD( "bd3.d1", 0x0820, 0x0080, NO_DUMP ) // Data in PROM is organized to produce the waveform of a human scream. Chip type is 8574 or MM6301-0J. Was not present on dumped PCB. ROM_END -/* ROM_START( knightar ) - ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASE00 ) + ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASE00 ) - ROM_REGION( 0x0020, "roms", ROMREGION_ERASE00 ) - ROM_LOAD( "1.m1" ) // Man ROM stores image characters of knights. 82S115P or 8205R according to Knights in Armor schematics - ROM_LOAD( "2.m2" ) // Horse ROM stores image characters of horses. 82S115P or 8205R according to Knights in Armor schematics + ROM_REGION( 0x0400, "roms", ROMREGION_ERASE00 ) + ROM_LOAD( "1.m1", 0x0000, 0x0200, CRC(7aa9c36c) SHA1(e06c4bf3311cd818d57c96d937e315d433dce457) ) // Man ROM stores image characters of knights. 82S115P or 8205R according to Knights in Armor schematics, but MMI 6341 on the dumped PCB + ROM_LOAD( "2.m2", 0x0200, 0x0200, CRC(a6705909) SHA1(0cbf033bff33b1b0a45e9190f527b7c00507250d) ) // Horse ROM stores image characters of horses. 82S115P or 8205R according to Knights in Armor schematics, but MMI 6341 on the dumped PCB ROM_END -*/ + ROM_START( gametree ) @@ -199,10 +195,10 @@ ROM_START( gametree ) ROM_LOAD( "bd1gthi.f2", 0x0400, 0x0400, CRC(3c5a04ac) SHA1(427bae562c019257bcd050458d64670874d903fb)) // Computer program game code. PCB has Signetics 82s2708; schematics show 6341-1 or 82S181 ROM_LOAD( "bd2gt1a.f12", 0x0800, 0x0200, CRC(820cec79) SHA1(b7142d75ba1cd4ebb0b69dd1184c6e1ea0611ba9)) // PROM 1 contains squirrel and squirrel point value. PCB has NEC B425; schematics show 82S141 or 6341-1 - ROM_LOAD( "bd2gt1b.f14", 0x0A00, 0x0200, CRC(52abe627) SHA1(960f19bef52fb5cf9fb74ab928a8dcb09922049d)) // PROM 1 contains squirrel and squirrel point value. PCB has NEC B425; schematics show 82S141 or 6341-1 + ROM_LOAD( "bd2gt1b.f14", 0x0a00, 0x0200, CRC(52abe627) SHA1(960f19bef52fb5cf9fb74ab928a8dcb09922049d)) // PROM 1 contains squirrel and squirrel point value. PCB has NEC B425; schematics show 82S141 or 6341-1 - ROM_LOAD( "bd2gt2a.e12", 0x0C00, 0x0200, CRC(5d8ef022) SHA1(8e6ccfded85b0611670e6a7fb99c0b279f79445e)) // PROM 2 contains other targets (rabbit and turkey) and point values. PCB has NEC B425 - ROM_LOAD( "bd2gt2b.e14", 0x0E00, 0x0200, CRC(9ca95a82) SHA1(c5057cbae18d71e6a04dd4ec87b83a5690a23888)) // PROM 2 - PCB has NEC B425; schematics show 82S141 or 6341-1 + ROM_LOAD( "bd2gt2a.e12", 0x0c00, 0x0200, CRC(5d8ef022) SHA1(8e6ccfded85b0611670e6a7fb99c0b279f79445e)) // PROM 2 contains other targets (rabbit and turkey) and point values. PCB has NEC B425 + ROM_LOAD( "bd2gt2b.e14", 0x0e00, 0x0200, CRC(9ca95a82) SHA1(c5057cbae18d71e6a04dd4ec87b83a5690a23888)) // PROM 2 - PCB has NEC B425; schematics show 82S141 or 6341-1 ROM_LOAD( "bd2a2.a2", 0x1000, 0x0020, CRC(1df96293) SHA1(7c8d19e34803efbe648b1db2d8c0c9a637df57d2)) // Contains PROM address codes and image speeds. Each has its own speed and address block in the image PROM. PCB has MMI 6331 @@ -212,9 +208,9 @@ ROM_END } // anonymous namespace -GAME( 1976, bazooka, 0, pse, 0, pse_state, empty_init, ROT0, "Project Support Engineering", "Bazooka", MACHINE_IS_SKELETON ) -GAME( 1977, bazookabr, bazooka, pse, 0, pse_state, empty_init, ROT0, "Taito do Brasil", "Bazooka (Brazil)", MACHINE_IS_SKELETON ) -GAME( 1977, dpatrol, 0, pse, 0, pse_state, empty_init, ROT0, "Project Support Engineering", "Desert Patrol", MACHINE_IS_SKELETON ) -GAME( 1977, dpatrola, dpatrol, pse, 0, pse_state, empty_init, ROT0, "Project Support Engineering (Telegames license)", "Desert Patrol (set 2)", MACHINE_IS_SKELETON ) -GAME( 1978, gametree, 0, pse, 0, pse_state, empty_init, ROT0, "Project Support Engineering", "Game Tree", MACHINE_IS_SKELETON ) -//GAME( 1976, knightar, 0, pse, 0, pse_state, empty_init, ROT0, "Project Support Engineering", "Knights in Armor", MACHINE_IS_SKELETON ) +GAME( 1976, bazooka, 0, pse, 0, pse_state, empty_init, ROT0, "Project Support Engineering", "Bazooka", MACHINE_IS_SKELETON ) +GAME( 1976, knightar, 0, pse, 0, pse_state, empty_init, ROT0, "Project Support Engineering", "Knights in Armor", MACHINE_IS_SKELETON ) +GAME( 1977, bazookabr, bazooka, pse, 0, pse_state, empty_init, ROT0, "Taito do Brasil", "Bazooka (Brazil)", MACHINE_IS_SKELETON ) +GAME( 1977, dpatrol, 0, pse, 0, pse_state, empty_init, ROT0, "Project Support Engineering", "Desert Patrol", MACHINE_IS_SKELETON ) +GAME( 1977, dpatrola, dpatrol, pse, 0, pse_state, empty_init, ROT0, "Project Support Engineering (Telegames license)", "Desert Patrol (set 2)", MACHINE_IS_SKELETON ) +GAME( 1978, gametree, 0, pse, 0, pse_state, empty_init, ROT0, "Project Support Engineering", "Game Tree", MACHINE_IS_SKELETON ) |