summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--src/mame/drivers/decwritr.cpp2
-rw-r--r--src/mame/drivers/gimix.cpp2
-rw-r--r--src/mame/drivers/homelab.cpp2
-rw-r--r--src/mame/drivers/hp9845.cpp8
-rw-r--r--src/mame/drivers/konin.cpp2
-rw-r--r--src/mame/drivers/leapster.cpp4
-rw-r--r--src/mame/drivers/microkit.cpp2
-rw-r--r--src/mame/drivers/ngen.cpp6
-rw-r--r--src/mame/drivers/nokia_3310.cpp24
-rw-r--r--src/mame/drivers/potgoldu.cpp4
-rw-r--r--src/mame/drivers/sanremmg.cpp4
-rw-r--r--src/mame/drivers/sansa_fuze.cpp2
-rw-r--r--src/mame/drivers/segas16b.cpp58
-rw-r--r--src/mame/drivers/shtzone.cpp2
-rw-r--r--src/mame/drivers/stlforce.cpp87
-rw-r--r--src/mame/drivers/symbolics.cpp2
-rw-r--r--src/mame/includes/segas16b.h2
-rw-r--r--src/mame/includes/stlforce.h31
-rw-r--r--src/mame/video/stlforce.cpp30
-rw-r--r--src/osd/modules/output/network.cpp74
20 files changed, 170 insertions, 178 deletions
diff --git a/src/mame/drivers/decwritr.cpp b/src/mame/drivers/decwritr.cpp
index 9b881fff4e7..c38178a1cdc 100644
--- a/src/mame/drivers/decwritr.cpp
+++ b/src/mame/drivers/decwritr.cpp
@@ -439,4 +439,4 @@ ROM_END
// DRIVERS
//**************************************************************************
/* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */
-COMP( 1978, la120, 0, 0, la120, la120, decwriter_state, 0, "Digital Equipment Corporation", "DECwriter III (LA120)", MACHINE_NO_SOUND | MACHINE_IS_SKELETON | MACHINE_NOT_WORKING )
+COMP( 1978, la120, 0, 0, la120, la120, decwriter_state, 0, "Digital Equipment Corporation", "DECwriter III (LA120)", MACHINE_IS_SKELETON )
diff --git a/src/mame/drivers/gimix.cpp b/src/mame/drivers/gimix.cpp
index 73ed134221f..a73c4cdabb8 100644
--- a/src/mame/drivers/gimix.cpp
+++ b/src/mame/drivers/gimix.cpp
@@ -684,4 +684,4 @@ ROM_START( gimix )
ROM_LOAD( "gimixhd.h11", 0x000000, 0x001000, CRC(35c12201) SHA1(51ac9052f9757d79c7f5bd3aa5d8421e98cfcc37) )
ROM_END
-COMP( 1980, gimix, 0, 0, gimix, gimix, gimix_state, 0, "Gimix", "Gimix 6809 System", MACHINE_IS_SKELETON | MACHINE_NOT_WORKING | MACHINE_NO_SOUND )
+COMP( 1980, gimix, 0, 0, gimix, gimix, gimix_state, 0, "Gimix", "Gimix 6809 System", MACHINE_IS_SKELETON )
diff --git a/src/mame/drivers/homelab.cpp b/src/mame/drivers/homelab.cpp
index 383a0db1cfe..dfbd2eebb63 100644
--- a/src/mame/drivers/homelab.cpp
+++ b/src/mame/drivers/homelab.cpp
@@ -915,4 +915,4 @@ COMP( 1982, homelab2, 0, 0, homelab, homelab, homelab_state,
COMP( 1983, homelab3, homelab2, 0, homelab3, homelab3, homelab_state, 0, "Jozsef and Endre Lukacs", "Homelab 3", MACHINE_NOT_WORKING )
COMP( 1984, homelab4, homelab2, 0, homelab3, homelab3, homelab_state, 0, "Jozsef and Endre Lukacs", "Homelab 4", MACHINE_NOT_WORKING )
COMP( 1984, brailab4, homelab2, 0, brailab4, brailab4, homelab_state, brailab4, "Jozsef and Endre Lukacs", "Brailab 4", MACHINE_NOT_WORKING )
-COMP( 1988, braiplus, homelab2, 0, brailab4, brailab4, homelab_state, brailab4, "Jozsef and Endre Lukacs", "Brailab Plus", MACHINE_NOT_WORKING | MACHINE_IS_SKELETON )
+COMP( 1988, braiplus, homelab2, 0, brailab4, brailab4, homelab_state, brailab4, "Jozsef and Endre Lukacs", "Brailab Plus", MACHINE_IS_SKELETON )
diff --git a/src/mame/drivers/hp9845.cpp b/src/mame/drivers/hp9845.cpp
index dc6eb00109d..4b3f5717b63 100644
--- a/src/mame/drivers/hp9845.cpp
+++ b/src/mame/drivers/hp9845.cpp
@@ -4004,10 +4004,10 @@ ROM_START( hp9845t_de )
ROM_END
// YEAR NAME PARENT COMPAT MACHINE INPUT STATE INIT COMPANY FULLNAME FLAGS
-COMP( 1977, hp9845a, 0, 0, hp9845a, hp9845, hp9845_state, 0, "Hewlett-Packard", "9845A", MACHINE_IS_SKELETON | MACHINE_NOT_WORKING | MACHINE_NO_SOUND )
-COMP( 1977, hp9845s, hp9845a, 0, hp9845a, hp9845, hp9845_state, 0, "Hewlett-Packard", "9845S", MACHINE_IS_SKELETON | MACHINE_NOT_WORKING | MACHINE_NO_SOUND )
-COMP( 1979, hp9835a, 0, 0, hp9835a, hp9845, hp9845_state, 0, "Hewlett-Packard", "9835A", MACHINE_IS_SKELETON | MACHINE_NOT_WORKING | MACHINE_NO_SOUND )
-COMP( 1979, hp9835b, hp9835a, 0, hp9835a, hp9845, hp9845_state, 0, "Hewlett-Packard", "9835B", MACHINE_IS_SKELETON | MACHINE_NOT_WORKING | MACHINE_NO_SOUND )
+COMP( 1977, hp9845a, 0, 0, hp9845a, hp9845, hp9845_state, 0, "Hewlett-Packard", "9845A", MACHINE_IS_SKELETON )
+COMP( 1977, hp9845s, hp9845a, 0, hp9845a, hp9845, hp9845_state, 0, "Hewlett-Packard", "9845S", MACHINE_IS_SKELETON )
+COMP( 1979, hp9835a, 0, 0, hp9835a, hp9845, hp9845_state, 0, "Hewlett-Packard", "9835A", MACHINE_IS_SKELETON )
+COMP( 1979, hp9835b, hp9835a, 0, hp9835a, hp9845, hp9845_state, 0, "Hewlett-Packard", "9835B", MACHINE_IS_SKELETON )
COMP( 1979, hp9845b, 0, 0, hp9845b, hp9845_base, hp9845b_state, 0, "Hewlett-Packard", "9845B", 0 )
COMP( 1982, hp9845t, 0, 0, hp9845t, hp9845ct, hp9845t_state, 0, "Hewlett-Packard", "9845T", 0 )
COMP( 1980, hp9845c, 0, 0, hp9845c, hp9845ct, hp9845c_state, 0, "Hewlett-Packard", "9845C", 0 )
diff --git a/src/mame/drivers/konin.cpp b/src/mame/drivers/konin.cpp
index 68c15cf24f3..f8144f3229d 100644
--- a/src/mame/drivers/konin.cpp
+++ b/src/mame/drivers/konin.cpp
@@ -141,4 +141,4 @@ ROM_END
/* Driver */
// YEAR NAME PARENT COMPAT MACHINE INPUT STATE INIT COMPANY FULLNAME FLAGS
-COMP( 198?, konin, 0, 0, konin, konin, konin_state, 0, "Mera-Elzab", "Konin", MACHINE_IS_SKELETON | MACHINE_NOT_WORKING | MACHINE_NO_SOUND)
+COMP( 198?, konin, 0, 0, konin, konin, konin_state, 0, "Mera-Elzab", "Konin", MACHINE_IS_SKELETON )
diff --git a/src/mame/drivers/leapster.cpp b/src/mame/drivers/leapster.cpp
index e0748d35164..1da556328b0 100644
--- a/src/mame/drivers/leapster.cpp
+++ b/src/mame/drivers/leapster.cpp
@@ -338,5 +338,5 @@ DRIVER_INIT_MEMBER(leapster_state,leapster)
{
}
-CONS( 2003, leapster, 0, 0, leapster, leapster, leapster_state, leapster, "LeapFrog", "Leapster (Germany)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND | MACHINE_IS_SKELETON )
-CONS( 2005, leapstertv, leapster, 0, leapster, leapster, leapster_state, leapster, "LeapFrog", "Leapster TV (Germany)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND | MACHINE_IS_SKELETON )
+CONS( 2003, leapster, 0, 0, leapster, leapster, leapster_state, leapster, "LeapFrog", "Leapster (Germany)", MACHINE_IS_SKELETON )
+CONS( 2005, leapstertv, leapster, 0, leapster, leapster, leapster_state, leapster, "LeapFrog", "Leapster TV (Germany)", MACHINE_IS_SKELETON )
diff --git a/src/mame/drivers/microkit.cpp b/src/mame/drivers/microkit.cpp
index a0fbb10e271..f5d72d9f89b 100644
--- a/src/mame/drivers/microkit.cpp
+++ b/src/mame/drivers/microkit.cpp
@@ -134,4 +134,4 @@ ROM_START( microkit )
ROM_LOAD( "4.2a", 0x100, 0x100, CRC(27267bad) SHA1(838df9be2dc175584a1a6ee1770039118e49482e) )
ROM_END
-COMP( 1975, microkit, 0, 0, microkit, microkit, microkit_state, 0, "RCA", "COSMAC Microkit", MACHINE_IS_SKELETON | MACHINE_NOT_WORKING | MACHINE_NO_SOUND )
+COMP( 1975, microkit, 0, 0, microkit, microkit, microkit_state, 0, "RCA", "COSMAC Microkit", MACHINE_IS_SKELETON )
diff --git a/src/mame/drivers/ngen.cpp b/src/mame/drivers/ngen.cpp
index 53c0d522d9a..974f1ccf8ad 100644
--- a/src/mame/drivers/ngen.cpp
+++ b/src/mame/drivers/ngen.cpp
@@ -1176,6 +1176,6 @@ ROM_START( 386i )
ROM_END
-COMP( 1983, ngen, 0, 0, ngen, ngen, ngen_state, 0, "Convergent Technologies", "NGEN CP-001", MACHINE_IS_SKELETON | MACHINE_NOT_WORKING | MACHINE_NO_SOUND )
-COMP( 1991, ngenb38, ngen, 0, ngen386, ngen, ngen386_state, 0, "Financial Products Corp.", "B28/38", MACHINE_IS_SKELETON | MACHINE_NOT_WORKING | MACHINE_NO_SOUND )
-COMP( 1990, 386i, ngen, 0, 386i, ngen, ngen386_state, 0, "Convergent Technologies", "386i", MACHINE_IS_SKELETON | MACHINE_NOT_WORKING | MACHINE_NO_SOUND )
+COMP( 1983, ngen, 0, 0, ngen, ngen, ngen_state, 0, "Convergent Technologies", "NGEN CP-001", MACHINE_IS_SKELETON )
+COMP( 1991, ngenb38, ngen, 0, ngen386, ngen, ngen386_state, 0, "Financial Products Corp.", "B28/38", MACHINE_IS_SKELETON )
+COMP( 1990, 386i, ngen, 0, 386i, ngen, ngen386_state, 0, "Convergent Technologies", "386i", MACHINE_IS_SKELETON )
diff --git a/src/mame/drivers/nokia_3310.cpp b/src/mame/drivers/nokia_3310.cpp
index 70760ddec54..c8000246790 100644
--- a/src/mame/drivers/nokia_3310.cpp
+++ b/src/mame/drivers/nokia_3310.cpp
@@ -874,15 +874,15 @@ ROM_END
// YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS
-SYST( 1999, noki3210, 0, 0, noki3310, noki3310, noki3310_state, 0, "Nokia", "Nokia 3210", MACHINE_NO_SOUND | MACHINE_IS_SKELETON )
-SYST( 1999, noki7110, 0, 0, noki7110, noki3310, noki3310_state, 0, "Nokia", "Nokia 7110", MACHINE_NO_SOUND | MACHINE_IS_SKELETON )
-SYST( 1999, noki8210, 0, 0, noki3310, noki3310, noki3310_state, 0, "Nokia", "Nokia 8210", MACHINE_NO_SOUND | MACHINE_IS_SKELETON )
-SYST( 1999, noki8850, 0, 0, noki3310, noki3310, noki3310_state, 0, "Nokia", "Nokia 8850", MACHINE_NO_SOUND | MACHINE_IS_SKELETON )
-SYST( 2000, noki3310, 0, 0, noki3310, noki3310, noki3310_state, 0, "Nokia", "Nokia 3310", MACHINE_NO_SOUND | MACHINE_IS_SKELETON )
-SYST( 2000, noki6210, 0, 0, noki6210, noki3310, noki3310_state, 0, "Nokia", "Nokia 6210", MACHINE_NO_SOUND | MACHINE_IS_SKELETON )
-SYST( 2000, noki6250, 0, 0, noki6210, noki3310, noki3310_state, 0, "Nokia", "Nokia 6250", MACHINE_NO_SOUND | MACHINE_IS_SKELETON )
-SYST( 2000, noki8250, 0, 0, noki3310, noki3310, noki3310_state, 0, "Nokia", "Nokia 8250", MACHINE_NO_SOUND | MACHINE_IS_SKELETON )
-SYST( 2000, noki8890, 0, 0, noki3310, noki3310, noki3310_state, 0, "Nokia", "Nokia 8890", MACHINE_NO_SOUND | MACHINE_IS_SKELETON )
-SYST( 2001, noki3330, 0, 0, noki3330, noki3310, noki3310_state, 0, "Nokia", "Nokia 3330", MACHINE_NO_SOUND | MACHINE_IS_SKELETON )
-SYST( 2002, noki3410, 0, 0, noki3410, noki3310, noki3310_state, 0, "Nokia", "Nokia 3410", MACHINE_NO_SOUND | MACHINE_IS_SKELETON )
-SYST( 2002, noki5210, 0, 0, noki3330, noki3310, noki3310_state, 0, "Nokia", "Nokia 5210", MACHINE_NO_SOUND | MACHINE_IS_SKELETON )
+SYST( 1999, noki3210, 0, 0, noki3310, noki3310, noki3310_state, 0, "Nokia", "Nokia 3210", MACHINE_IS_SKELETON )
+SYST( 1999, noki7110, 0, 0, noki7110, noki3310, noki3310_state, 0, "Nokia", "Nokia 7110", MACHINE_IS_SKELETON )
+SYST( 1999, noki8210, 0, 0, noki3310, noki3310, noki3310_state, 0, "Nokia", "Nokia 8210", MACHINE_IS_SKELETON )
+SYST( 1999, noki8850, 0, 0, noki3310, noki3310, noki3310_state, 0, "Nokia", "Nokia 8850", MACHINE_IS_SKELETON )
+SYST( 2000, noki3310, 0, 0, noki3310, noki3310, noki3310_state, 0, "Nokia", "Nokia 3310", MACHINE_IS_SKELETON )
+SYST( 2000, noki6210, 0, 0, noki6210, noki3310, noki3310_state, 0, "Nokia", "Nokia 6210", MACHINE_IS_SKELETON )
+SYST( 2000, noki6250, 0, 0, noki6210, noki3310, noki3310_state, 0, "Nokia", "Nokia 6250", MACHINE_IS_SKELETON )
+SYST( 2000, noki8250, 0, 0, noki3310, noki3310, noki3310_state, 0, "Nokia", "Nokia 8250", MACHINE_IS_SKELETON )
+SYST( 2000, noki8890, 0, 0, noki3310, noki3310, noki3310_state, 0, "Nokia", "Nokia 8890", MACHINE_IS_SKELETON )
+SYST( 2001, noki3330, 0, 0, noki3330, noki3310, noki3310_state, 0, "Nokia", "Nokia 3330", MACHINE_IS_SKELETON )
+SYST( 2002, noki3410, 0, 0, noki3410, noki3310, noki3310_state, 0, "Nokia", "Nokia 3410", MACHINE_IS_SKELETON )
+SYST( 2002, noki5210, 0, 0, noki3330, noki3310, noki3310_state, 0, "Nokia", "Nokia 5210", MACHINE_IS_SKELETON )
diff --git a/src/mame/drivers/potgoldu.cpp b/src/mame/drivers/potgoldu.cpp
index 278165b0e56..8d5b3a54887 100644
--- a/src/mame/drivers/potgoldu.cpp
+++ b/src/mame/drivers/potgoldu.cpp
@@ -119,5 +119,5 @@ ROM_START( potgoldu580 ) // TMS34010FNL-40 + MC68H705 + YMF704C + ADV476KP35 RAM
ROM_LOAD( "mc68h705", 0x0000, 0x2000, NO_DUMP ) // not sure which type of mcu this is, size is a guess
ROM_END
-GAME( 200?, potgoldu, 0, potgold, potgold, potgold_state, 0, ROT0, "U.S. Games Inc.", "Pot O' Gold (U.S. Games, v400x?)", MACHINE_IS_SKELETON | MACHINE_NO_SOUND )
-GAME( 200?, potgoldu580, potgoldu, potgold, potgold, potgold_state, 0, ROT0, "U.S. Games Inc.", "Pot O' Gold (U.S. Games, v580F)", MACHINE_IS_SKELETON | MACHINE_NO_SOUND )
+GAME( 200?, potgoldu, 0, potgold, potgold, potgold_state, 0, ROT0, "U.S. Games Inc.", "Pot O' Gold (U.S. Games, v400x?)", MACHINE_IS_SKELETON )
+GAME( 200?, potgoldu580, potgoldu, potgold, potgold, potgold_state, 0, ROT0, "U.S. Games Inc.", "Pot O' Gold (U.S. Games, v580F)", MACHINE_IS_SKELETON )
diff --git a/src/mame/drivers/sanremmg.cpp b/src/mame/drivers/sanremmg.cpp
index 22888bdb30c..20b3ba00358 100644
--- a/src/mame/drivers/sanremmg.cpp
+++ b/src/mame/drivers/sanremmg.cpp
@@ -4,7 +4,7 @@
/* San Remo / Elsy Multigame? */
// presumably a gambling game, maybe missing a sub-board?
-// http://www.citylan.it/wiki/index.php/Multigame_ID
+// http://www.citylan.it/wiki/index.php/Unknown_San_Remo_/_Elsy_Multigame
#include "emu.h"
@@ -76,4 +76,4 @@ ROM_START( sanremmg )
ROM_END
-GAME( 2003, sanremmg, 0, sanremmg, sanremmg, sanremmg_state, 0, ROT0, "San Remo Games", "unknown San Remo / Elsy Multigame", MACHINE_NO_SOUND | MACHINE_IS_SKELETON )
+GAME( 2003, sanremmg, 0, sanremmg, sanremmg, sanremmg_state, 0, ROT0, "San Remo Games", "unknown San Remo / Elsy Multigame", MACHINE_IS_SKELETON )
diff --git a/src/mame/drivers/sansa_fuze.cpp b/src/mame/drivers/sansa_fuze.cpp
index d2058b501dc..c44d79c565c 100644
--- a/src/mame/drivers/sansa_fuze.cpp
+++ b/src/mame/drivers/sansa_fuze.cpp
@@ -69,4 +69,4 @@ ROM_END
// YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS
-CONS( 200?, sanfuze2, 0, 0, sansa_fuze, sansa_fuze, sansa_fuze_state, 0, "Sandisk", "Sansa Fuze 2", MACHINE_NO_SOUND | MACHINE_IS_SKELETON )
+CONS( 200?, sanfuze2, 0, 0, sansa_fuze, sansa_fuze, sansa_fuze_state, 0, "Sandisk", "Sansa Fuze 2", MACHINE_IS_SKELETON )
diff --git a/src/mame/drivers/segas16b.cpp b/src/mame/drivers/segas16b.cpp
index 64118101e7a..d4419fcba4c 100644
--- a/src/mame/drivers/segas16b.cpp
+++ b/src/mame/drivers/segas16b.cpp
@@ -1405,41 +1405,6 @@ void segas16b_state::ddux_i8751_sim()
}
}
-
-//-------------------------------------------------
-// goldnaxe_i8751_sim - simulate the I8751
-// from Golden Axe
-//-------------------------------------------------
-
-void segas16b_state::goldnaxe_i8751_sim()
-{
- // signal a VBLANK to the main CPU
- m_maincpu->set_input_line(4, HOLD_LINE);
-
- // they periodically clear the data at 2cd8,2cda,2cdc,2cde and expect the MCU to fill it in
- if (m_workram[0x2cd8/2] == 0 && m_workram[0x2cda/2] == 0 && m_workram[0x2cdc/2] == 0 && m_workram[0x2cde/2] == 0)
- {
- m_workram[0x2cd8/2] = 0x048c;
- m_workram[0x2cda/2] = 0x159d;
- m_workram[0x2cdc/2] = 0x26ae;
- m_workram[0x2cde/2] = 0x37bf;
- }
-
- // process any new sound data
- uint16_t temp = m_workram[0x2cfc/2];
- if ((temp & 0xff00) != 0x0000)
- {
- address_space &space = m_maincpu->space(AS_PROGRAM);
- m_mapper->write(space, 0x03, temp >> 8);
- m_workram[0x2cfc/2] = temp & 0x00ff;
- }
-
- // read inputs
- m_workram[0x2cd0/2] = (ioport("P1")->read() << 8) | ioport("P2")->read();
- m_workram[0x2c96/2] = ioport("SERVICE")->read() << 8;
-}
-
-
//-------------------------------------------------
// tturf_i8751_sim - simulate the I8751
// from Tough Turf
@@ -6475,15 +6440,7 @@ ROM_START( goldnaxe2 )
ROM_LOAD( "mpr-12384.a11", 0x10000, 0x20000, CRC(6218d8e7) SHA1(5a745c750efb4a61716f99befb7ed14cc84e9973) )
ROM_REGION( 0x1000, "mcu", 0 ) // Intel i8751 protection MCU
- /* NOT CURRENTLY USED
-
- this chip was faulty, the internal checksum routine fails. actual code looks like it should be 99.99% the
- same as the 'goldnaxe' set but unused areas have different garbage fill data, so finding the bad bits is
- difficult.
-
- Calculated checksum: 5F8F
- File checksum: 5E8F */
- ROM_LOAD( "317-0112.c2", 0x00000, 0x1000, BAD_DUMP CRC(d8f2f1c0) SHA1(04594ed5558af63cde62de6cc4020b35b8a5889e) )
+ ROM_LOAD( "317-0112.c2", 0x00000, 0x1000, CRC(bda31044) SHA1(79ba41ac0768c1a55faad2f768120f15bcde4b90) )
ROM_END
//*************************************************************************************************************************
@@ -8737,17 +8694,6 @@ DRIVER_INIT_MEMBER(segas16b_state,exctleag_5358)
m_custom_io_r = read16_delegate(FUNC(segas16b_state::sdi_custom_io_r), this);
}
-DRIVER_INIT_MEMBER(segas16b_state,goldnaxe_5704)
-{
- DRIVER_INIT_CALL(generic_5704);
- m_i8751_vblank_hook = i8751_sim_delegate(&segas16b_state::goldnaxe_i8751_sim, this);
-
- static const uint8_t memory_control_5704[0x10] =
- { 0x02,0x00, 0x02,0x08, 0x00,0x1f, 0x00,0xff, 0x00,0x20, 0x01,0x10, 0x00,0x14, 0x00,0xc4 };
- m_i8751_initial_config = memory_control_5704;
-}
-
-
DRIVER_INIT_MEMBER(segas16b_state,hwchamp_5521)
{
DRIVER_INIT_CALL(generic_5521);
@@ -8892,7 +8838,7 @@ GAME( 1989, goldnaxe, 0, system16b_i8751_5797,goldnaxe, segas16b_state,
GAME( 1989, goldnaxeu, goldnaxe, system16b_fd1094_5797,goldnaxe,segas16b_state,generic_5797, ROT0, "Sega", "Golden Axe (set 5, US) (FD1094 317-0122)", 0 )
GAME( 1989, goldnaxej, goldnaxe, system16b_fd1094, goldnaxe, segas16b_state,generic_5704, ROT0, "Sega", "Golden Axe (set 4, Japan) (FD1094 317-0121)", 0 )
GAME( 1989, goldnaxe3, goldnaxe, system16b_fd1094, goldnaxe, segas16b_state,generic_5704, ROT0, "Sega", "Golden Axe (set 3, World) (FD1094 317-0120)", 0)
-GAME( 1989, goldnaxe2, goldnaxe, system16b_i8751, goldnaxe, segas16b_state,goldnaxe_5704, ROT0, "Sega", "Golden Axe (set 2, US) (8751 317-0112)", 0 )
+GAME( 1989, goldnaxe2, goldnaxe, system16b_i8751, goldnaxe, segas16b_state,generic_5704, ROT0, "Sega", "Golden Axe (set 2, US) (8751 317-0112)", 0 )
GAME( 1989, goldnaxe1, goldnaxe, system16b_fd1094_5797,goldnaxe,segas16b_state,generic_5797, ROT0, "Sega", "Golden Axe (set 1, World) (FD1094 317-0110)", 0 )
GAME( 1987, hwchamp, 0, system16b, hwchamp, segas16b_state,hwchamp_5521, ROT0, "Sega", "Heavyweight Champ", 0 )
diff --git a/src/mame/drivers/shtzone.cpp b/src/mame/drivers/shtzone.cpp
index c3d42179a4e..9adb3247e6e 100644
--- a/src/mame/drivers/shtzone.cpp
+++ b/src/mame/drivers/shtzone.cpp
@@ -121,4 +121,4 @@ ROM_START( shtzone )
ROM_LOAD( "epr10894a.20", 0x00000, 0x04000, CRC(ea8901d9) SHA1(43fd8bfc395e3b2e3fbe9645d692a5eb04783d9c) )
ROM_END
-GAME( 1987, shtzone, 0, shtzone, shtzone, shtzone_state, 0, ROT0, "Sega", "Shooting Zone System BIOS", MACHINE_IS_SKELETON | MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_IS_BIOS_ROOT )
+GAME( 1987, shtzone, 0, shtzone, shtzone, shtzone_state, 0, ROT0, "Sega", "Shooting Zone System BIOS", MACHINE_IS_SKELETON | MACHINE_IS_BIOS_ROOT )
diff --git a/src/mame/drivers/stlforce.cpp b/src/mame/drivers/stlforce.cpp
index 25aeacfec6e..a4ecdfe30d6 100644
--- a/src/mame/drivers/stlforce.cpp
+++ b/src/mame/drivers/stlforce.cpp
@@ -13,13 +13,13 @@ inputs etc. by stephh
----------------------------------------
68000P12 processor
-15mHZ cyrstal next to it
+15mHZ crystal next to it
2 of these:
TPC 1020AFN-084c
-32MHz crystal colse to this.
+32MHz crystal close to this.
1 GAL
5 PROMS (16S25H)
@@ -73,33 +73,31 @@ TO DO :
#include "includes/stlforce.h"
#include "cpu/m68000/m68000.h"
-#include "machine/eepromser.h"
#include "sound/okim6295.h"
#include "screen.h"
#include "speaker.h"
-
-WRITE16_MEMBER(stlforce_state::eeprom_w)
+WRITE8_MEMBER(stlforce_state::eeprom_w)
{
- if( ACCESSING_BITS_0_7 )
- {
- m_eeprom->di_write(data & 0x01);
- m_eeprom->cs_write((data & 0x02) ? ASSERT_LINE : CLEAR_LINE );
- m_eeprom->clk_write((data & 0x04) ? ASSERT_LINE : CLEAR_LINE );
- }
+ m_eeprom->di_write(data & 0x01);
+ m_eeprom->cs_write((data & 0x02) ? ASSERT_LINE : CLEAR_LINE );
+ m_eeprom->clk_write((data & 0x04) ? ASSERT_LINE : CLEAR_LINE );
}
-WRITE16_MEMBER(stlforce_state::oki_bank_w)
+WRITE8_MEMBER(stlforce_state::oki_bank_w)
{
- m_oki->set_rom_bank((data>>8) & 3);
+ if (m_okibank.found())
+ {
+ m_okibank->set_entry(data & 3);
+ }
}
static ADDRESS_MAP_START( stlforce_map, AS_PROGRAM, 16, stlforce_state )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
- AM_RANGE(0x100000, 0x1007ff) AM_RAM_WRITE(stlforce_bg_videoram_w) AM_SHARE("bg_videoram")
- AM_RANGE(0x100800, 0x100fff) AM_RAM_WRITE(stlforce_mlow_videoram_w) AM_SHARE("mlow_videoram")
- AM_RANGE(0x101000, 0x1017ff) AM_RAM_WRITE(stlforce_mhigh_videoram_w) AM_SHARE("mhigh_videoram")
- AM_RANGE(0x101800, 0x1027ff) AM_RAM_WRITE(stlforce_tx_videoram_w) AM_SHARE("tx_videoram")
+ AM_RANGE(0x100000, 0x1007ff) AM_RAM_WRITE(bg_videoram_w) AM_SHARE("bg_videoram")
+ AM_RANGE(0x100800, 0x100fff) AM_RAM_WRITE(mlow_videoram_w) AM_SHARE("mlow_videoram")
+ AM_RANGE(0x101000, 0x1017ff) AM_RAM_WRITE(mhigh_videoram_w) AM_SHARE("mhigh_videoram")
+ AM_RANGE(0x101800, 0x1027ff) AM_RAM_WRITE(tx_videoram_w) AM_SHARE("tx_videoram")
AM_RANGE(0x102800, 0x102fff) AM_RAM /* unknown / ram */
AM_RANGE(0x103000, 0x1033ff) AM_RAM AM_SHARE("bg_scrollram")
AM_RANGE(0x103400, 0x1037ff) AM_RAM AM_SHARE("mlow_scrollram")
@@ -111,12 +109,17 @@ static ADDRESS_MAP_START( stlforce_map, AS_PROGRAM, 16, stlforce_state )
AM_RANGE(0x109000, 0x11ffff) AM_RAM
AM_RANGE(0x400000, 0x400001) AM_READ_PORT("INPUT")
AM_RANGE(0x400002, 0x400003) AM_READ_PORT("SYSTEM")
- AM_RANGE(0x400010, 0x400011) AM_WRITE(eeprom_w)
- AM_RANGE(0x400012, 0x400013) AM_WRITE(oki_bank_w)
+ AM_RANGE(0x400010, 0x400011) AM_WRITE8(eeprom_w, 0x00ff)
+ AM_RANGE(0x400012, 0x400013) AM_WRITE8(oki_bank_w, 0xff00)
AM_RANGE(0x40001e, 0x40001f) AM_WRITENOP // sprites buffer commands
AM_RANGE(0x410000, 0x410001) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff)
ADDRESS_MAP_END
+static ADDRESS_MAP_START( twinbrat_oki_map, 0, 8, stlforce_state )
+ AM_RANGE(0x00000, 0x1ffff) AM_ROM
+ AM_RANGE(0x20000, 0x3ffff) AM_ROMBANK("okibank")
+ADDRESS_MAP_END
+
static INPUT_PORTS_START( stlforce )
PORT_START("INPUT")
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1)
@@ -193,7 +196,7 @@ static MACHINE_CONFIG_START( stlforce )
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", M68000, 15000000)
MCFG_CPU_PROGRAM_MAP(stlforce_map)
- MCFG_CPU_VBLANK_INT_DRIVER("screen", stlforce_state, irq4_line_hold)
+ MCFG_CPU_VBLANK_INT_DRIVER("screen", stlforce_state, irq4_line_hold)
MCFG_EEPROM_SERIAL_93C46_ADD("eeprom")
@@ -203,7 +206,7 @@ static MACHINE_CONFIG_START( stlforce )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(1*8, 47*8-1, 0*8, 30*8-1)
- MCFG_SCREEN_UPDATE_DRIVER(stlforce_state, screen_update_stlforce)
+ MCFG_SCREEN_UPDATE_DRIVER(stlforce_state, screen_update)
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", stlforce)
@@ -213,7 +216,7 @@ static MACHINE_CONFIG_START( stlforce )
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
- MCFG_OKIM6295_ADD("oki", XTAL_32MHz/32 , PIN7_HIGH)
+ MCFG_OKIM6295_ADD("oki", XTAL_32MHz/32, PIN7_HIGH)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
@@ -225,6 +228,9 @@ static MACHINE_CONFIG_DERIVED( twinbrat, stlforce )
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VISIBLE_AREA(3*8, 45*8-1, 0*8, 30*8-1)
+
+ MCFG_DEVICE_MODIFY("oki")
+ MCFG_DEVICE_ADDRESS_MAP(0, twinbrat_oki_map)
MACHINE_CONFIG_END
ROM_START( stlforce )
@@ -245,7 +251,7 @@ ROM_START( stlforce )
ROM_LOAD( "stlforce.u33", 0xc0000, 0x40000, CRC(19415cf3) SHA1(31490a1f3321558f82667b63f3963b2ec3fa0c59) )
/* only one bank */
- ROM_REGION( 0x80000, "oki", 0 ) /* samples */
+ ROM_REGION( 0x80000, "oki", 0 ) /* samples, second half 0xff filled */
ROM_LOAD( "stlforce.u1", 0x00000, 0x80000, CRC(0a55edf1) SHA1(091f12e8110c62df22b370a2e710c930ba06e8ca) )
ROM_REGION16_BE( 0x80, "eeprom", 0 )
@@ -309,21 +315,9 @@ ROM_START( twinbrat )
ROM_LOAD( "9.bin", 0x080000, 0x40000, CRC(13194d89) SHA1(95c35b6012f98a64630abb40fd55b24ff8a5e031) )
ROM_LOAD( "8.bin", 0x0c0000, 0x40000, CRC(79f14528) SHA1(9c07d9a9e59f69a525bbaec05d74eb8d21bb9563) )
- ROM_REGION( 0x080000, "user1", 0 ) /* Samples */
+ ROM_REGION( 0x080000, "oki", 0 ) /* Samples, 0x00000 - 0x20000 fixed, 0x20000 - 0x40000 banked */
ROM_LOAD( "1.bin", 0x00000, 0x80000, CRC(76296578) SHA1(04eca78abe60b283269464c0d12815579126ac08) )
- /* $00000-$20000 stays the same in all sound banks, */
- /* the second half of the bank is what gets switched */
- ROM_REGION( 0x100000, "oki", 0 ) /* Samples */
- ROM_COPY( "user1", 0x000000, 0x000000, 0x020000)
- ROM_COPY( "user1", 0x000000, 0x020000, 0x020000)
- ROM_COPY( "user1", 0x000000, 0x040000, 0x020000)
- ROM_COPY( "user1", 0x020000, 0x060000, 0x020000)
- ROM_COPY( "user1", 0x000000, 0x080000, 0x020000)
- ROM_COPY( "user1", 0x040000, 0x0a0000, 0x020000)
- ROM_COPY( "user1", 0x000000, 0x0c0000, 0x020000)
- ROM_COPY( "user1", 0x060000, 0x0e0000, 0x020000)
-
ROM_REGION16_BE( 0x80, "eeprom", 0 )
ROM_LOAD( "eeprom-twinbrat.bin", 0x0000, 0x0080, CRC(9366263d) SHA1(ff5155498ed0b349ecc1ce98a39566b642201cf2) )
ROM_END
@@ -345,33 +339,24 @@ ROM_START( twinbrata )
ROM_LOAD( "9.bin", 0x080000, 0x40000, CRC(13194d89) SHA1(95c35b6012f98a64630abb40fd55b24ff8a5e031) )
ROM_LOAD( "8.bin", 0x0c0000, 0x40000, CRC(79f14528) SHA1(9c07d9a9e59f69a525bbaec05d74eb8d21bb9563) )
- ROM_REGION( 0x080000, "user1", 0 ) /* Samples */
+ ROM_REGION( 0x080000, "oki", 0 ) /* Samples, 0x00000 - 0x20000 fixed, 0x20000 - 0x40000 banked */
ROM_LOAD( "1.bin", 0x00000, 0x80000, CRC(76296578) SHA1(04eca78abe60b283269464c0d12815579126ac08) )
- /* $00000-$20000 stays the same in all sound banks, */
- /* the second half of the bank is what gets switched */
- ROM_REGION( 0x100000, "oki", 0 ) /* Samples */
- ROM_COPY( "user1", 0x000000, 0x000000, 0x020000)
- ROM_COPY( "user1", 0x000000, 0x020000, 0x020000)
- ROM_COPY( "user1", 0x000000, 0x040000, 0x020000)
- ROM_COPY( "user1", 0x020000, 0x060000, 0x020000)
- ROM_COPY( "user1", 0x000000, 0x080000, 0x020000)
- ROM_COPY( "user1", 0x040000, 0x0a0000, 0x020000)
- ROM_COPY( "user1", 0x000000, 0x0c0000, 0x020000)
- ROM_COPY( "user1", 0x060000, 0x0e0000, 0x020000)
-
ROM_REGION16_BE( 0x80, "eeprom", 0 )
ROM_LOAD( "eeprom-twinbrat.bin", 0x0000, 0x0080, CRC(9366263d) SHA1(ff5155498ed0b349ecc1ce98a39566b642201cf2) )
ROM_END
-DRIVER_INIT_MEMBER(stlforce_state,stlforce)
+DRIVER_INIT_MEMBER(stlforce_state, stlforce)
{
m_sprxoffs = 0;
}
-DRIVER_INIT_MEMBER(stlforce_state,twinbrat)
+DRIVER_INIT_MEMBER(stlforce_state, twinbrat)
{
m_sprxoffs = 9;
+
+ m_okibank->configure_entries(0, 4, memregion("oki")->base(), 0x20000);
+ m_okibank->set_entry(0);
}
diff --git a/src/mame/drivers/symbolics.cpp b/src/mame/drivers/symbolics.cpp
index 6a5ecadd603..91ccaa94adf 100644
--- a/src/mame/drivers/symbolics.cpp
+++ b/src/mame/drivers/symbolics.cpp
@@ -392,4 +392,4 @@ ROM_END
******************************************************************************/
// YEAR NAME PARENT COMPAT MACHINE INPUT STATE INIT COMPANY FULLNAME FLAGS
-COMP( 1984, s3670, 0, 0, symbolics, symbolics, symbolics_state, symbolics, "Symbolics", "3670", MACHINE_IS_SKELETON | MACHINE_NOT_WORKING | MACHINE_NO_SOUND )
+COMP( 1984, s3670, 0, 0, symbolics, symbolics, symbolics_state, symbolics, "Symbolics", "3670", MACHINE_IS_SKELETON )
diff --git a/src/mame/includes/segas16b.h b/src/mame/includes/segas16b.h
index 0c078a87cd1..5d255e7f8b9 100644
--- a/src/mame/includes/segas16b.h
+++ b/src/mame/includes/segas16b.h
@@ -115,7 +115,6 @@ public:
DECLARE_DRIVER_INIT(ddux_5704);
DECLARE_DRIVER_INIT(snapper);
DECLARE_DRIVER_INIT(shinobi4_5521);
- DECLARE_DRIVER_INIT(goldnaxe_5704);
DECLARE_DRIVER_INIT(defense_5358_small);
DECLARE_DRIVER_INIT(sjryuko_5358_small);
DECLARE_DRIVER_INIT(exctleag_5358);
@@ -175,7 +174,6 @@ protected:
void altbeasj_i8751_sim();
void altbeas5_i8751_sim();
void ddux_i8751_sim();
- void goldnaxe_i8751_sim();
void tturf_i8751_sim();
void wb3_i8751_sim();
diff --git a/src/mame/includes/stlforce.h b/src/mame/includes/stlforce.h
index bec81c82259..f1b769bd013 100644
--- a/src/mame/includes/stlforce.h
+++ b/src/mame/includes/stlforce.h
@@ -1,6 +1,6 @@
// license:BSD-3-Clause
// copyright-holders:David Haywood
-#include "sound/okim6295.h"
+
#include "machine/eepromser.h"
class stlforce_state : public driver_device
@@ -9,7 +9,6 @@ public:
stlforce_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag),
m_maincpu(*this, "maincpu"),
- m_oki(*this, "oki"),
m_eeprom(*this, "eeprom"),
m_gfxdecode(*this, "gfxdecode"),
m_palette(*this, "palette"),
@@ -21,10 +20,10 @@ public:
m_mlow_scrollram(*this, "mlow_scrollram"),
m_mhigh_scrollram(*this, "mhigh_scrollram"),
m_vidattrram(*this, "vidattrram"),
- m_spriteram(*this, "spriteram") { }
+ m_spriteram(*this, "spriteram"),
+ m_okibank(*this, "okibank") { }
required_device<cpu_device> m_maincpu;
- required_device<okim6295_device> m_oki;
required_device<eeprom_serial_93cxx_device> m_eeprom;
required_device<gfxdecode_device> m_gfxdecode;
required_device<palette_device> m_palette;
@@ -39,6 +38,8 @@ public:
required_shared_ptr<uint16_t> m_vidattrram;
required_shared_ptr<uint16_t> m_spriteram;
+ optional_memory_bank m_okibank;
+
tilemap_t *m_bg_tilemap;
tilemap_t *m_mlow_tilemap;
tilemap_t *m_mhigh_tilemap;
@@ -46,22 +47,22 @@ public:
int m_sprxoffs;
- DECLARE_WRITE16_MEMBER(stlforce_bg_videoram_w);
- DECLARE_WRITE16_MEMBER(stlforce_mlow_videoram_w);
- DECLARE_WRITE16_MEMBER(stlforce_mhigh_videoram_w);
- DECLARE_WRITE16_MEMBER(stlforce_tx_videoram_w);
- DECLARE_WRITE16_MEMBER(eeprom_w);
- DECLARE_WRITE16_MEMBER(oki_bank_w);
+ DECLARE_WRITE16_MEMBER(bg_videoram_w);
+ DECLARE_WRITE16_MEMBER(mlow_videoram_w);
+ DECLARE_WRITE16_MEMBER(mhigh_videoram_w);
+ DECLARE_WRITE16_MEMBER(tx_videoram_w);
+ DECLARE_WRITE8_MEMBER(eeprom_w);
+ DECLARE_WRITE8_MEMBER(oki_bank_w);
DECLARE_DRIVER_INIT(twinbrat);
DECLARE_DRIVER_INIT(stlforce);
- TILE_GET_INFO_MEMBER(get_stlforce_bg_tile_info);
- TILE_GET_INFO_MEMBER(get_stlforce_mlow_tile_info);
- TILE_GET_INFO_MEMBER(get_stlforce_mhigh_tile_info);
- TILE_GET_INFO_MEMBER(get_stlforce_tx_tile_info);
+ TILE_GET_INFO_MEMBER(get_bg_tile_info);
+ TILE_GET_INFO_MEMBER(get_mlow_tile_info);
+ TILE_GET_INFO_MEMBER(get_mhigh_tile_info);
+ TILE_GET_INFO_MEMBER(get_tx_tile_info);
virtual void video_start() override;
- uint32_t screen_update_stlforce(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
+ uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect );
};
diff --git a/src/mame/video/stlforce.cpp b/src/mame/video/stlforce.cpp
index 1eada6c3ead..ad52fac5e6a 100644
--- a/src/mame/video/stlforce.cpp
+++ b/src/mame/video/stlforce.cpp
@@ -1,13 +1,13 @@
// license:BSD-3-Clause
// copyright-holders:David Haywood
-/* video/stlforce.c - see main driver for other notes */
+/* video/stlforce.cpp - see main driver for other notes */
#include "emu.h"
#include "includes/stlforce.h"
/* background, appears to be the bottom layer */
-TILE_GET_INFO_MEMBER(stlforce_state::get_stlforce_bg_tile_info)
+TILE_GET_INFO_MEMBER(stlforce_state::get_bg_tile_info)
{
int tileno,colour;
@@ -17,7 +17,7 @@ TILE_GET_INFO_MEMBER(stlforce_state::get_stlforce_bg_tile_info)
SET_TILE_INFO_MEMBER(0,tileno,colour,0);
}
-WRITE16_MEMBER(stlforce_state::stlforce_bg_videoram_w)
+WRITE16_MEMBER(stlforce_state::bg_videoram_w)
{
m_bg_videoram[offset] = data;
m_bg_tilemap->mark_tile_dirty(offset);
@@ -25,7 +25,7 @@ WRITE16_MEMBER(stlforce_state::stlforce_bg_videoram_w)
/* middle layer, low */
-TILE_GET_INFO_MEMBER(stlforce_state::get_stlforce_mlow_tile_info)
+TILE_GET_INFO_MEMBER(stlforce_state::get_mlow_tile_info)
{
int tileno,colour;
@@ -38,7 +38,7 @@ TILE_GET_INFO_MEMBER(stlforce_state::get_stlforce_mlow_tile_info)
SET_TILE_INFO_MEMBER(0,tileno,colour,0);
}
-WRITE16_MEMBER(stlforce_state::stlforce_mlow_videoram_w)
+WRITE16_MEMBER(stlforce_state::mlow_videoram_w)
{
m_mlow_videoram[offset] = data;
m_mlow_tilemap->mark_tile_dirty(offset);
@@ -46,7 +46,7 @@ WRITE16_MEMBER(stlforce_state::stlforce_mlow_videoram_w)
/* middle layer, high */
-TILE_GET_INFO_MEMBER(stlforce_state::get_stlforce_mhigh_tile_info)
+TILE_GET_INFO_MEMBER(stlforce_state::get_mhigh_tile_info)
{
int tileno,colour;
@@ -59,7 +59,7 @@ TILE_GET_INFO_MEMBER(stlforce_state::get_stlforce_mhigh_tile_info)
SET_TILE_INFO_MEMBER(0,tileno,colour,0);
}
-WRITE16_MEMBER(stlforce_state::stlforce_mhigh_videoram_w)
+WRITE16_MEMBER(stlforce_state::mhigh_videoram_w)
{
m_mhigh_videoram[offset] = data;
m_mhigh_tilemap->mark_tile_dirty(offset);
@@ -67,7 +67,7 @@ WRITE16_MEMBER(stlforce_state::stlforce_mhigh_videoram_w)
/* text layer, appears to be the top layer */
-TILE_GET_INFO_MEMBER(stlforce_state::get_stlforce_tx_tile_info)
+TILE_GET_INFO_MEMBER(stlforce_state::get_tx_tile_info)
{
int tileno,colour;
@@ -81,7 +81,7 @@ TILE_GET_INFO_MEMBER(stlforce_state::get_stlforce_tx_tile_info)
SET_TILE_INFO_MEMBER(1,tileno,colour,0);
}
-WRITE16_MEMBER(stlforce_state::stlforce_tx_videoram_w)
+WRITE16_MEMBER(stlforce_state::tx_videoram_w)
{
m_tx_videoram[offset] = data;
m_tx_tilemap->mark_tile_dirty(offset);
@@ -120,7 +120,7 @@ void stlforce_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprec
}
}
-uint32_t stlforce_state::screen_update_stlforce(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
+uint32_t stlforce_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
int i;
@@ -167,17 +167,17 @@ uint32_t stlforce_state::screen_update_stlforce(screen_device &screen, bitmap_in
m_bg_tilemap->draw(screen, bitmap, cliprect, 0,0);
m_mlow_tilemap->draw(screen, bitmap, cliprect, 0,0);
m_mhigh_tilemap->draw(screen, bitmap, cliprect, 0,0);
- draw_sprites(bitmap,cliprect);
+ draw_sprites(bitmap, cliprect);
m_tx_tilemap->draw(screen, bitmap, cliprect, 0,0);
return 0;
}
void stlforce_state::video_start()
{
- m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(stlforce_state::get_stlforce_bg_tile_info),this), TILEMAP_SCAN_COLS, 16,16,64,16);
- m_mlow_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(stlforce_state::get_stlforce_mlow_tile_info),this), TILEMAP_SCAN_COLS, 16,16,64,16);
- m_mhigh_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(stlforce_state::get_stlforce_mhigh_tile_info),this),TILEMAP_SCAN_COLS, 16,16,64,16);
- m_tx_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(stlforce_state::get_stlforce_tx_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8,64,32);
+ m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(stlforce_state::get_bg_tile_info),this), TILEMAP_SCAN_COLS, 16,16,64,16);
+ m_mlow_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(stlforce_state::get_mlow_tile_info),this), TILEMAP_SCAN_COLS, 16,16,64,16);
+ m_mhigh_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(stlforce_state::get_mhigh_tile_info),this),TILEMAP_SCAN_COLS, 16,16,64,16);
+ m_tx_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(stlforce_state::get_tx_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8,64,32);
m_mlow_tilemap->set_transparent_pen(0);
m_mhigh_tilemap->set_transparent_pen(0);
diff --git a/src/osd/modules/output/network.cpp b/src/osd/modules/output/network.cpp
index 63ab96e499d..e350cfc99dd 100644
--- a/src/osd/modules/output/network.cpp
+++ b/src/osd/modules/output/network.cpp
@@ -10,6 +10,9 @@
#include "output_module.h"
#include "modules/osdmodule.h"
+#include "modules/lib/osdobj_common.h"
+
+#include "emu.h"
#include <thread>
#include <set>
@@ -36,9 +39,13 @@ public:
{
}
- void start()
+ void start(running_machine &machine)
{
+ m_machine = &machine;
m_clients->insert(shared_from_this());
+ // now send "hello = 1" to the newly connected client
+ std::strncpy(m_data, "hello = 1\1", max_length);
+ do_write(10);
do_read();
}
@@ -49,6 +56,47 @@ private:
do_write(msg.size());
}
+ void handle_message(char *msg)
+ {
+ char verb[1024];
+ int value;
+
+ //printf("handle_message: got [%s]\n", msg);
+
+ std::uint32_t ch = 0;
+ while (msg[ch] != ' ')
+ {
+ ch++;
+ }
+ msg[ch] = '\0';
+ ch++;
+ std::strncpy(verb, msg, sizeof(verb)-1);
+ //printf("verb = [%s], ", verb);
+
+ while (msg[ch] != ' ')
+ {
+ ch++;
+ }
+
+ ch++;
+ value = atoi(&msg[ch]);
+ //printf("value = %d\n", value);
+
+ if (!std::strcmp(verb, "send_id"))
+ {
+ if (value == 0)
+ {
+ std::snprintf(m_data, max_length, "req_id = %s\1", machine().system().name);
+ }
+ else
+ {
+ std::snprintf(m_data, max_length, "req_id = %s\1", machine().output().id_to_name(value));
+ }
+
+ do_write(std::strlen(m_data));
+ }
+ }
+
void do_read()
{
auto self(shared_from_this());
@@ -57,6 +105,11 @@ private:
{
if (!ec)
{
+ if (length > 0)
+ {
+ m_input_m_data[length] = '\0';
+ handle_message(m_input_m_data);
+ }
do_read();
}
else
@@ -69,7 +122,7 @@ private:
void do_write(std::size_t length)
{
auto self(shared_from_this());
- asio::async_write(m_socket, asio::buffer(m_data, length),
+ asio::async_write(m_socket, asio::buffer(m_data, length),
[this, self](std::error_code ec, std::size_t /*length*/)
{
if (ec)
@@ -79,19 +132,23 @@ private:
});
}
+ running_machine &machine() const { return *m_machine; }
+
asio::ip::tcp::socket m_socket;
enum { max_length = 1024 };
char m_data[max_length];
char m_input_m_data[max_length];
client_set *m_clients;
+ running_machine *m_machine;
};
class output_network_server
{
public:
- output_network_server(asio::io_context& io_context, short port) :
+ output_network_server(asio::io_context& io_context, short port, running_machine &machine) :
m_acceptor(io_context, asio::ip::tcp::endpoint(asio::ip::tcp::v4(), port))
{
+ m_machine = &machine;
do_accept();
}
@@ -109,15 +166,18 @@ private:
{
if (!ec)
{
- std::make_shared<output_session>(std::move(socket),&m_clients)->start();
+ std::make_shared<output_session>(std::move(socket),&m_clients)->start(machine());
}
do_accept();
});
}
+ running_machine &machine() const { return *m_machine; }
+
asio::ip::tcp::acceptor m_acceptor;
client_set m_clients;
+ running_machine *m_machine;
};
@@ -143,6 +203,8 @@ public:
virtual void exit() override
{
+ // tell clients MAME is shutting down
+ notify("mamerun", 0);
m_io_context->stop();
m_working_thread.join();
delete m_server;
@@ -154,7 +216,7 @@ public:
virtual void notify(const char *outname, int32_t value) override
{
static char buf[256];
- sprintf(buf, "%s = %d\n", ((outname==nullptr) ? "none" : outname), value);
+ sprintf(buf, "%s = %d\1", ((outname==nullptr) ? "none" : outname), value);
m_server->deliver_to_all(buf);
}
@@ -162,7 +224,7 @@ public:
void process_output()
{
m_io_context = new asio::io_context();
- m_server = new output_network_server(*m_io_context, 8000);
+ m_server = new output_network_server(*m_io_context, 8000, machine());
m_io_context->run();
}