summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author hap <happppp@users.noreply.github.com>2019-07-22 20:28:52 +0200
committer hap <happppp@users.noreply.github.com>2019-07-22 20:29:09 +0200
commitd3999abb54a3a26690e26c7552453bc0890caa50 (patch)
tree05531a62700e90c04226fd11a8979b9b04ebe5a8
parentee80843c72e2cb9b4ea38dc55aa84b1448e2bc25 (diff)
einvader: do the display the right way (nw)
-rw-r--r--src/mame/drivers/hh_cop400.cpp12
-rw-r--r--src/mame/drivers/hh_sm510.cpp4
-rw-r--r--src/mame/drivers/hh_tms1k.cpp23
-rw-r--r--src/mame/layout/einvader.lay67
-rw-r--r--src/mame/layout/einvaderc.lay66
5 files changed, 144 insertions, 28 deletions
diff --git a/src/mame/drivers/hh_cop400.cpp b/src/mame/drivers/hh_cop400.cpp
index f63b67bb5d0..58b209fb90d 100644
--- a/src/mame/drivers/hh_cop400.cpp
+++ b/src/mame/drivers/hh_cop400.cpp
@@ -500,10 +500,10 @@ void einvaderc_state::einvaderc(machine_config &config)
m_maincpu->write_l().set(FUNC(einvaderc_state::write_l));
/* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(913, 1080);
- screen.set_visarea_full();
+ screen_device &mask(SCREEN(config, "mask", SCREEN_TYPE_SVG));
+ mask.set_refresh_hz(60);
+ mask.set_size(919, 1080);
+ mask.set_visarea_full();
PWM_DISPLAY(config, m_display).set_size(10, 8);
m_display->set_segmask(7, 0x7f);
@@ -520,8 +520,8 @@ ROM_START( einvaderc )
ROM_REGION( 0x0800, "maincpu", 0 )
ROM_LOAD( "copl444-hrz_n_inv_ii", 0x0000, 0x0800, CRC(76400f38) SHA1(0e92ab0517f7b7687293b189d30d57110df20fe0) )
- ROM_REGION( 80636, "screen", 0)
- ROM_LOAD( "einvaderc.svg", 0, 80636, CRC(a52d0166) SHA1(f69397ebcc518701f30a47b4d62e5a700825375a) )
+ ROM_REGION( 82104, "mask", 0)
+ ROM_LOAD( "einvaderc.svg", 0, 82104, CRC(0013227f) SHA1(44a3ac48c947369231f010559331ad16fcbef7be) )
ROM_END
diff --git a/src/mame/drivers/hh_sm510.cpp b/src/mame/drivers/hh_sm510.cpp
index 2371d1cb9e0..7639394122b 100644
--- a/src/mame/drivers/hh_sm510.cpp
+++ b/src/mame/drivers/hh_sm510.cpp
@@ -2850,7 +2850,7 @@ ROM_END
/***************************************************************************
- Nintendo Game & Watch: Lifeboat (model TC-58)
+ Nintendo Game & Watch: Life Boat (model TC-58)
* PCB labels: TC-58-M (left), TC-58-S (right)
* Sharp SM510 label TC-58 281D (no decap)
* horizontal dual lcd screens with custom segments, 1-bit sound
@@ -9646,7 +9646,7 @@ CONS( 1982, gnw_ghouse, 0, 0, gnw_ghouse, gnw_ghouse, gnw_ghouse_sta
CONS( 1983, gnw_dkong2, 0, 0, gnw_dkong2, gnw_dkong2, gnw_dkong2_state, empty_init, "Nintendo", "Game & Watch: Donkey Kong II", MACHINE_SUPPORTS_SAVE )
CONS( 1983, gnw_mario, 0, 0, gnw_mario, gnw_mario, gnw_mario_state, empty_init, "Nintendo", "Game & Watch: Mario Bros.", MACHINE_SUPPORTS_SAVE )
CONS( 1983, gnw_rshower, 0, 0, gnw_rshower, gnw_rshower, gnw_rshower_state, empty_init, "Nintendo", "Game & Watch: Rain Shower", MACHINE_SUPPORTS_SAVE)
-CONS( 1983, gnw_lboat, 0, 0, gnw_lboat, gnw_lboat, gnw_lboat_state, empty_init, "Nintendo", "Game & Watch: Lifeboat", MACHINE_SUPPORTS_SAVE)
+CONS( 1983, gnw_lboat, 0, 0, gnw_lboat, gnw_lboat, gnw_lboat_state, empty_init, "Nintendo", "Game & Watch: Life Boat", MACHINE_SUPPORTS_SAVE)
CONS( 1985, gnw_bjack, 0, 0, gnw_bjack, gnw_bjack, gnw_bjack_state, empty_init, "Nintendo", "Game & Watch: Black Jack", MACHINE_SUPPORTS_SAVE)
CONS( 1986, gnw_squish, 0, 0, gnw_squish, gnw_squish, gnw_squish_state, empty_init, "Nintendo", "Game & Watch: Squish", MACHINE_SUPPORTS_SAVE )
CONS( 1987, gnw_bsweep, 0, 0, gnw_bsweep, gnw_bsweep, gnw_bsweep_state, empty_init, "Nintendo", "Game & Watch: Bomb Sweeper", MACHINE_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/hh_tms1k.cpp b/src/mame/drivers/hh_tms1k.cpp
index 44a5afa9d19..9e70891fe8a 100644
--- a/src/mame/drivers/hh_tms1k.cpp
+++ b/src/mame/drivers/hh_tms1k.cpp
@@ -3958,13 +3958,14 @@ void einvader_state::einvader(machine_config &config)
m_maincpu->o().set(FUNC(einvader_state::write_o));
/* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
- screen.set_refresh_hz(60);
- screen.set_size(939, 1080);
- screen.set_visarea_full();
+ screen_device &mask(SCREEN(config, "mask", SCREEN_TYPE_SVG));
+ mask.set_refresh_hz(60);
+ mask.set_size(945, 1080);
+ mask.set_visarea_full();
PWM_DISPLAY(config, m_display).set_size(10, 8);
m_display->set_segmask(0x380, 0x7f);
+ m_display->set_bri_levels(0.01, 0.1); // ufo/player explosion is brighter
config.set_default_layout(layout_einvader);
/* sound hardware */
@@ -3984,8 +3985,8 @@ ROM_START( einvader )
ROM_REGION( 365, "maincpu:opla", 0 )
ROM_LOAD( "tms1100_einvader_output.pla", 0, 365, CRC(490158e1) SHA1(61cace1eb09244663de98d8fb04d9459b19668fd) )
- ROM_REGION( 44398, "screen", 0)
- ROM_LOAD( "einvader.svg", 0, 44398, CRC(48de88fd) SHA1(56a2b9c997a447277b45902ab542eda54e7d5a2f) )
+ ROM_REGION( 45196, "mask", 0)
+ ROM_LOAD( "einvader.svg", 0, 45196, CRC(35a1c744) SHA1(6beb9767454b9bc8f2ccf9fee25e7be209eefd22) )
ROM_END
@@ -3996,7 +3997,9 @@ ROM_END
Entex Color Football 4
* TMS1670 6009 MP7551 (die label MP7551)
- * 9-digit cyan VFD display, 60 red and green LEDs behind bezel, 1-bit sound
+ * 9-digit cyan VFD display, 60 red and green LEDs behind mask, 1-bit sound
+
+ Two versions exist, one with a VFD 7seg display, and one with a LED(red) 7seg display.
***************************************************************************/
@@ -4088,7 +4091,7 @@ INPUT_PORTS_END
void efootb4_state::efootb4(machine_config &config)
{
/* basic machine hardware */
- TMS1670(config, m_maincpu, 475000); // approximation - RC osc. R=42K, C=47pF
+ TMS1670(config, m_maincpu, 400000); // approximation - RC osc. R=42K, C=47pF
m_maincpu->k().set(FUNC(efootb4_state::read_k));
m_maincpu->r().set(FUNC(efootb4_state::write_r));
m_maincpu->o().set(FUNC(efootb4_state::write_o));
@@ -4815,7 +4818,7 @@ INPUT_PORTS_END
void gpoker_state::gpoker(machine_config &config)
{
/* basic machine hardware */
- TMS1370(config, m_maincpu, 350000); // approximation - RC osc. R=47K, C=47pF
+ TMS1370(config, m_maincpu, 375000); // approximation - RC osc. R=47K, C=47pF
m_maincpu->k().set(FUNC(gpoker_state::read_k));
m_maincpu->r().set(FUNC(gpoker_state::write_r));
m_maincpu->o().set(FUNC(gpoker_state::write_o));
@@ -4944,7 +4947,7 @@ void gjackpot_state::gjackpot(machine_config &config)
gpoker(config);
/* basic machine hardware */
- TMS1670(config.replace(), m_maincpu, 450000); // approximation - RC osc. R=47K, C=47pF
+ TMS1670(config.replace(), m_maincpu, 375000); // approximation - RC osc. R=47K, C=47pF
m_maincpu->k().set(FUNC(gpoker_state::read_k));
m_maincpu->r().set(FUNC(gjackpot_state::write_r));
m_maincpu->o().set(FUNC(gpoker_state::write_o));
diff --git a/src/mame/layout/einvader.lay b/src/mame/layout/einvader.lay
index 7f2d4f87dd0..77319c098e0 100644
--- a/src/mame/layout/einvader.lay
+++ b/src/mame/layout/einvader.lay
@@ -8,17 +8,20 @@
<element name="text_score"><text string="SCORE"><color red="0.8" green="0.8" blue="0.8" /></text></element>
<element name="digit" defstate="0">
- <led7seg><color red="1.0" green="0.165" blue="0.165" /></led7seg>
+ <led7seg><color red="1.0" green="0.1" blue="0.15" /></led7seg>
+ </element>
+
+ <element name="led" defstate="0">
+ <rect state="0"><color red="0.1" green="0.01" blue="0.015" /></rect>
+ <rect state="1"><color red="0.85" green="0.085" blue="0.12" /></rect>
+ <rect state="2"><color red="1.0" green="0.3" blue="0.31" /></rect>
</element>
<!-- build screen -->
<view name="Internal Layout">
- <bounds left="-0.1" right="20.1" top="4.6" bottom="33.1" />
- <screen index="0">
- <bounds x="0" y="10" width="20" height="23" />
- </screen>
+ <bounds left="0" right="20" top="4.6" bottom="33" />
<bezel element="static_white"><bounds x="6.6" y="4.59" width="6.8" height="3.81" /></bezel>
<bezel element="static_black"><bounds x="6.8" y="4.8" width="6.4" height="3.4" /></bezel>
@@ -28,5 +31,59 @@
<bezel name="digit8" element="digit"><bounds x="9" y="5" width="2" height="3" /></bezel>
<bezel name="digit7" element="digit"><bounds x="11" y="5" width="2" height="3" /></bezel>
+ <element ref="led" name="0.0"><bounds x="0.2" y="10.1" width="2" height="2" /></element>
+ <element ref="led" name="0.1"><bounds x="3.8" y="10.1" width="2" height="2" /></element>
+ <element ref="led" name="0.2"><bounds x="7.4" y="10.1" width="2" height="2" /></element>
+ <element ref="led" name="0.3"><bounds x="11.0" y="10.1" width="2" height="2" /></element>
+ <element ref="led" name="0.4"><bounds x="14.5" y="10.1" width="2" height="2" /></element>
+ <element ref="led" name="0.5"><bounds x="17.9" y="10.1" width="2" height="2" /></element>
+
+ <element ref="led" name="1.0"><bounds x="0.2" y="13.2" width="2" height="2" /></element>
+ <element ref="led" name="1.1"><bounds x="3.8" y="13.2" width="2" height="2" /></element>
+ <element ref="led" name="1.2"><bounds x="7.4" y="13.2" width="2" height="2" /></element>
+ <element ref="led" name="1.3"><bounds x="11.0" y="13.2" width="2" height="2" /></element>
+ <element ref="led" name="1.4"><bounds x="14.5" y="13.2" width="2" height="2" /></element>
+ <element ref="led" name="1.5"><bounds x="17.9" y="13.2" width="2" height="2" /></element>
+
+ <element ref="led" name="2.0"><bounds x="0.2" y="16.3" width="2" height="2" /></element>
+ <element ref="led" name="2.1"><bounds x="3.8" y="16.3" width="2" height="2" /></element>
+ <element ref="led" name="2.2"><bounds x="7.4" y="16.3" width="2" height="2" /></element>
+ <element ref="led" name="2.3"><bounds x="11.0" y="16.3" width="2" height="2" /></element>
+ <element ref="led" name="2.4"><bounds x="14.5" y="16.3" width="2" height="2" /></element>
+ <element ref="led" name="2.5"><bounds x="17.9" y="16.3" width="2" height="2" /></element>
+
+ <element ref="led" name="3.0"><bounds x="0.2" y="19.5" width="2" height="2" /></element>
+ <element ref="led" name="3.1"><bounds x="3.8" y="19.5" width="2" height="2" /></element>
+ <element ref="led" name="3.2"><bounds x="7.4" y="19.5" width="2" height="2" /></element>
+ <element ref="led" name="3.3"><bounds x="11.0" y="19.5" width="2" height="2" /></element>
+ <element ref="led" name="3.4"><bounds x="14.5" y="19.5" width="2" height="2" /></element>
+ <element ref="led" name="3.5"><bounds x="17.9" y="19.5" width="2" height="2" /></element>
+
+ <element ref="led" name="4.0"><bounds x="0.2" y="22.6" width="2" height="2" /></element>
+ <element ref="led" name="4.1"><bounds x="3.8" y="22.6" width="2" height="2" /></element>
+ <element ref="led" name="4.2"><bounds x="7.4" y="22.6" width="2" height="2" /></element>
+ <element ref="led" name="4.3"><bounds x="11.0" y="22.6" width="2" height="2" /></element>
+ <element ref="led" name="4.4"><bounds x="14.5" y="22.6" width="2" height="2" /></element>
+ <element ref="led" name="4.5"><bounds x="17.9" y="22.6" width="2" height="2" /></element>
+
+ <element ref="led" name="5.0"><bounds x="0.2" y="25.7" width="2" height="2" /></element>
+ <element ref="led" name="5.1"><bounds x="3.8" y="25.7" width="2" height="2" /></element>
+ <element ref="led" name="5.2"><bounds x="7.4" y="25.7" width="2" height="2" /></element>
+ <element ref="led" name="5.3"><bounds x="11.0" y="25.7" width="2" height="2" /></element>
+ <element ref="led" name="5.4"><bounds x="14.5" y="25.7" width="2" height="2" /></element>
+ <element ref="led" name="5.5"><bounds x="17.9" y="25.7" width="2" height="2" /></element>
+
+ <element ref="led" name="0.6"><bounds x="3.8" y="28.4" width="2" height="2" /></element>
+ <element ref="led" name="0.7"><bounds x="14.5" y="28.4" width="2" height="2" /></element>
+
+ <element ref="led" name="6.0"><bounds x="0.2" y="30.8" width="2" height="2" /></element>
+ <element ref="led" name="6.1"><bounds x="3.8" y="30.8" width="2" height="2" /></element>
+ <element ref="led" name="6.2"><bounds x="7.3" y="30.8" width="2" height="2" /></element>
+ <element ref="led" name="6.3"><bounds x="10.9" y="30.8" width="2" height="2" /></element>
+ <element ref="led" name="6.4"><bounds x="14.4" y="30.8" width="2" height="2" /></element>
+ <element ref="led" name="6.5"><bounds x="17.9" y="30.8" width="2" height="2" /></element>
+
+ <screen index="0" blend="multiply"><bounds x="0" y="10" width="20" height="22.857" /></screen>
+
</view>
</mamelayout>
diff --git a/src/mame/layout/einvaderc.lay b/src/mame/layout/einvaderc.lay
index 3eb8570986e..23091e70e08 100644
--- a/src/mame/layout/einvaderc.lay
+++ b/src/mame/layout/einvaderc.lay
@@ -8,17 +8,19 @@
<element name="text_score"><text string="SCORE"><color red="0.8" green="0.8" blue="0.8" /></text></element>
<element name="digit" defstate="0">
- <led7seg><color red="1.0" green="0.165" blue="0.165" /></led7seg>
+ <led7seg><color red="1.0" green="0.1" blue="0.15" /></led7seg>
+ </element>
+
+ <element name="led" defstate="0">
+ <rect state="0"><color red="0.1" green="0.01" blue="0.015" /></rect>
+ <rect state="1"><color red="1.0" green="0.1" blue="0.15" /></rect>
</element>
<!-- build screen -->
<view name="Internal Layout">
- <bounds left="-0.1" right="20.1" top="4.6" bottom="33.76" />
- <screen index="0">
- <bounds x="0" y="10" width="20" height="23.66" />
- </screen>
+ <bounds left="0" right="20" top="4.6" bottom="33.6" />
<bezel element="static_white"><bounds x="6.6" y="4.59" width="6.8" height="3.81" /></bezel>
<bezel element="static_black"><bounds x="6.8" y="4.8" width="6.4" height="3.4" /></bezel>
@@ -28,5 +30,59 @@
<bezel name="digit1" element="digit"><bounds x="9" y="5" width="2" height="3" /></bezel>
<bezel name="digit2" element="digit"><bounds x="11" y="5" width="2" height="3" /></bezel>
+ <element ref="led" name="9.0"><bounds x="0.1" y="10.1" width="2" height="2" /></element>
+ <element ref="led" name="9.1"><bounds x="3.6" y="10.1" width="2" height="2" /></element>
+ <element ref="led" name="9.2"><bounds x="7.2" y="10.1" width="2" height="2" /></element>
+ <element ref="led" name="9.3"><bounds x="10.8" y="10.1" width="2" height="2" /></element>
+ <element ref="led" name="9.4"><bounds x="14.5" y="10.1" width="2" height="2" /></element>
+ <element ref="led" name="9.5"><bounds x="17.9" y="10.1" width="2" height="2" /></element>
+
+ <element ref="led" name="8.0"><bounds x="0.1" y="13.4" width="2" height="2" /></element>
+ <element ref="led" name="8.1"><bounds x="3.6" y="13.4" width="2" height="2" /></element>
+ <element ref="led" name="8.2"><bounds x="7.2" y="13.4" width="2" height="2" /></element>
+ <element ref="led" name="8.3"><bounds x="10.8" y="13.4" width="2" height="2" /></element>
+ <element ref="led" name="8.4"><bounds x="14.5" y="13.4" width="2" height="2" /></element>
+ <element ref="led" name="8.5"><bounds x="17.9" y="13.4" width="2" height="2" /></element>
+
+ <element ref="led" name="4.0"><bounds x="0.1" y="16.6" width="2" height="2" /></element>
+ <element ref="led" name="4.1"><bounds x="3.6" y="16.6" width="2" height="2" /></element>
+ <element ref="led" name="4.2"><bounds x="7.2" y="16.6" width="2" height="2" /></element>
+ <element ref="led" name="4.3"><bounds x="10.8" y="16.6" width="2" height="2" /></element>
+ <element ref="led" name="4.4"><bounds x="14.5" y="16.6" width="2" height="2" /></element>
+ <element ref="led" name="4.5"><bounds x="17.9" y="16.6" width="2" height="2" /></element>
+
+ <element ref="led" name="5.0"><bounds x="0.1" y="19.8" width="2" height="2" /></element>
+ <element ref="led" name="5.1"><bounds x="3.6" y="19.8" width="2" height="2" /></element>
+ <element ref="led" name="5.2"><bounds x="7.2" y="19.8" width="2" height="2" /></element>
+ <element ref="led" name="5.3"><bounds x="10.8" y="19.8" width="2" height="2" /></element>
+ <element ref="led" name="5.4"><bounds x="14.5" y="19.8" width="2" height="2" /></element>
+ <element ref="led" name="5.5"><bounds x="17.9" y="19.8" width="2" height="2" /></element>
+
+ <element ref="led" name="6.0"><bounds x="0.1" y="23.0" width="2" height="2" /></element>
+ <element ref="led" name="6.1"><bounds x="3.6" y="23.0" width="2" height="2" /></element>
+ <element ref="led" name="6.2"><bounds x="7.2" y="23.0" width="2" height="2" /></element>
+ <element ref="led" name="6.3"><bounds x="10.8" y="23.0" width="2" height="2" /></element>
+ <element ref="led" name="6.4"><bounds x="14.5" y="23.0" width="2" height="2" /></element>
+ <element ref="led" name="6.5"><bounds x="17.9" y="23.0" width="2" height="2" /></element>
+
+ <element ref="led" name="7.0"><bounds x="0.1" y="26.2" width="2" height="2" /></element>
+ <element ref="led" name="7.1"><bounds x="3.6" y="26.2" width="2" height="2" /></element>
+ <element ref="led" name="7.2"><bounds x="7.2" y="26.2" width="2" height="2" /></element>
+ <element ref="led" name="7.3"><bounds x="10.8" y="26.2" width="2" height="2" /></element>
+ <element ref="led" name="7.4"><bounds x="14.5" y="26.2" width="2" height="2" /></element>
+ <element ref="led" name="7.5"><bounds x="17.9" y="26.2" width="2" height="2" /></element>
+
+ <element ref="led" name="9.7"><bounds x="2.6" y="28.8" width="4" height="2" /></element>
+ <element ref="led" name="9.6"><bounds x="13.5" y="28.8" width="4" height="2" /></element>
+
+ <element ref="led" name="3.0"><bounds x="0.1" y="31.4" width="2" height="2" /></element>
+ <element ref="led" name="3.1"><bounds x="3.6" y="31.4" width="2" height="2" /></element>
+ <element ref="led" name="3.2"><bounds x="7.2" y="31.4" width="2" height="2" /></element>
+ <element ref="led" name="3.3"><bounds x="10.8" y="31.4" width="2" height="2" /></element>
+ <element ref="led" name="3.4"><bounds x="14.5" y="31.4" width="2" height="2" /></element>
+ <element ref="led" name="3.5"><bounds x="17.9" y="31.4" width="2" height="2" /></element>
+
+ <screen index="0" blend="multiply"><bounds x="0" y="10" width="20" height="23.504" /></screen>
+
</view>
</mamelayout>