gorf: improve internal artwork lamps

This commit is contained in:
hap 2023-06-26 13:46:52 +02:00
parent fafca0b281
commit e137725d9f
3 changed files with 146 additions and 190 deletions

View File

@ -3,177 +3,131 @@
license:CC0-1.0
-->
<mamelayout version="2">
<element name="empty" />
<element name="white">
<rect>
<color red="1.0" green="1.0" blue="1.0" />
</rect>
</element>
<element name="yellow">
<rect>
<color red="1.0" green="0.85" blue="0" />
</rect>
</element>
<element name="black">
<rect>
<color red="0" green="0" blue="0" />
</rect>
</element>
<!-- define elements -->
<element name="white"><rect><color red="1" green="1" blue="1" /></rect></element>
<element name="whitem"><rect><color red="0.65" green="0.65" blue="0.66" /></rect></element>
<element name="yellowm"><rect><color red="1" green="0.85" blue="0.1" /></rect></element>
<element name="black"><rect><color red="0" green="0" blue="0" /></rect></element>
<element name="lamp" defstate="0">
<rect state="1">
<color red="1.0" green="0.85" blue="0.0" />
</rect>
<rect state="0"><color red="0.5" green="0.5" blue="0.5" /></rect>
<rect state="1"><color red="1" green="1" blue="1" /></rect>
</element>
<element name="spacetext">
<text string="SPACE">
<color red="0" green="0" blue="0" />
</text>
<element name="nothing"><rect><color alpha="0" /></rect></element>
<element name="text_1s"><text string="*"></text></element>
<element name="text_2s"><text string="* *"></text></element>
<element name="text_3s"><text string="* * *"></text></element>
<element name="text_spacerank">
<rect><color red="1" green="1" blue="1" /></rect>
<text string="SPACE RANK"><color red="0" green="0" blue="0" /></text>
</element>
<element name="rank">
<text string="SPACE RANK">
<color red="0" green="0" blue="0" />
</text>
<element name="text_space">
<rect><color red="1" green="1" blue="1" /></rect>
<text string="SPACE"><color red="0" green="0" blue="0" /></text>
</element>
<element name="cadet">
<text string="CADET">
<color red="0" green="0" blue="0" />
</text>
<element name="text_cadet">
<rect><color red="1" green="1" blue="1" /></rect>
<text string="CADET"><color red="0" green="0" blue="0" /></text>
</element>
<element name="captain">
<text string="CAPTAIN">
<color red="0" green="0" blue="0" />
</text>
<element name="text_captain">
<rect><color red="1" green="1" blue="1" /></rect>
<text string="CAPTAIN"><color red="0" green="0" blue="0" /></text>
</element>
<element name="colonel">
<text string="COLONEL">
<color red="0" green="0" blue="0" />
</text>
<element name="text_colonel">
<rect><color red="1" green="1" blue="1" /></rect>
<text string="COLONEL"><color red="0" green="0" blue="0" /></text>
</element>
<element name="general">
<text string="GENERAL">
<color red="0" green="0" blue="0" />
</text>
<element name="text_general">
<rect><color red="1" green="1" blue="1" /></rect>
<text string="GENERAL"><color red="0" green="0" blue="0" /></text>
</element>
<element name="warrior">
<text string="WARRIOR">
<color red="0" green="0" blue="0" />
</text>
<element name="text_warrior">
<rect><color red="1" green="1" blue="1" /></rect>
<text string="WARRIOR"><color red="0" green="0" blue="0" /></text>
</element>
<element name="avenger">
<text string="AVENGER">
<color red="0" green="0" blue="0" />
</text>
<element name="text_avenger">
<rect><color red="1" green="1" blue="1" /></rect>
<text string="AVENGER"><color red="0" green="0" blue="0" /></text>
</element>
<!-- build screen -->
<group name="lamps">
<element ref="white"><bounds x="0" y="-5" width="100" height="205" /></element>
<element ref="text_spacerank"><bounds xc="50" yc="3" width="80" height="12" /></element>
<element ref="whitem" blend="multiply"><bounds x="0" y="-5" width="100" height="205" /></element>
<element ref="black"><bounds xc="25" yc="41" width="44" height="60" /></element>
<element ref="black"><bounds xc="75" yc="41" width="44" height="60" /></element>
<element ref="black"><bounds xc="25" yc="104" width="44" height="60" /></element>
<element ref="black"><bounds xc="75" yc="104" width="44" height="60" /></element>
<element ref="black"><bounds xc="25" yc="167" width="44" height="60" /></element>
<element ref="black"><bounds xc="75" yc="167" width="44" height="60" /></element>
<element ref="white"><bounds xc="25" yc="41" width="38" height="40" /></element>
<element ref="white"><bounds xc="75" yc="41" width="38" height="40" /></element>
<element ref="white"><bounds xc="25" yc="104" width="38" height="40" /></element>
<element ref="white"><bounds xc="75" yc="104" width="38" height="40" /></element>
<element ref="white"><bounds xc="25" yc="167" width="38" height="40" /></element>
<element ref="white"><bounds xc="75" yc="167" width="38" height="40" /></element>
<element ref="text_1s"><bounds xc="25" yc="17" width="44" height="10" /></element>
<element ref="nothing"><bounds xc="25" yc="67" width="44" height="10" /></element>
<element ref="text_2s"><bounds xc="75" yc="17" width="44" height="10" /></element>
<element ref="nothing"><bounds xc="75" yc="67" width="44" height="10" /></element>
<element ref="text_3s"><bounds xc="25" yc="80" width="44" height="10" /></element>
<element ref="nothing"><bounds xc="25" yc="130" width="44" height="10" /></element>
<element ref="text_3s"><bounds xc="75" yc="80" width="44" height="10" /></element>
<element ref="text_1s"><bounds xc="75" yc="130" width="44" height="10" /></element>
<element ref="text_3s"><bounds xc="25" yc="143" width="44" height="10" /></element>
<element ref="text_2s"><bounds xc="25" yc="193" width="44" height="10" /></element>
<element ref="text_3s"><bounds xc="75" yc="143" width="44" height="10" /></element>
<element ref="text_3s"><bounds xc="75" yc="193" width="44" height="10" /></element>
<element ref="text_space" blend="multiply"><bounds xc="25" yc="37" width="44" height="8" /></element>
<element ref="text_cadet" blend="multiply"><bounds xc="25" yc="44" width="44" height="8" /></element>
<element ref="text_space" blend="multiply"><bounds xc="75" yc="37" width="44" height="8" /></element>
<element ref="text_captain" blend="multiply"><bounds xc="75" yc="44" width="44" height="8" /></element>
<element ref="text_space" blend="multiply"><bounds xc="25" yc="100" width="44" height="8" /></element>
<element ref="text_colonel" blend="multiply"><bounds xc="25" yc="107" width="44" height="8" /></element>
<element ref="text_space" blend="multiply"><bounds xc="75" yc="100" width="44" height="8" /></element>
<element ref="text_general" blend="multiply"><bounds xc="75" yc="107" width="44" height="8" /></element>
<element ref="text_space" blend="multiply"><bounds xc="25" yc="163" width="44" height="8" /></element>
<element ref="text_warrior" blend="multiply"><bounds xc="25" yc="170" width="44" height="8" /></element>
<element ref="text_space" blend="multiply"><bounds xc="75" yc="163" width="44" height="8" /></element>
<element ref="text_avenger" blend="multiply"><bounds xc="75" yc="170" width="44" height="8" /></element>
<element ref="yellowm" blend="multiply"><bounds xc="25" yc="41" width="44" height="60" /></element>
<element ref="yellowm" blend="multiply"><bounds xc="75" yc="41" width="44" height="60" /></element>
<element ref="yellowm" blend="multiply"><bounds xc="25" yc="104" width="44" height="60" /></element>
<element ref="yellowm" blend="multiply"><bounds xc="75" yc="104" width="44" height="60" /></element>
<element ref="yellowm" blend="multiply"><bounds xc="25" yc="167" width="44" height="60" /></element>
<element ref="yellowm" blend="multiply"><bounds xc="75" yc="167" width="44" height="60" /></element>
<element name="lamp0" ref="lamp" blend="multiply"><bounds xc="25" yc="41" width="44" height="60" /></element>
<element name="lamp1" ref="lamp" blend="multiply"><bounds xc="75" yc="41" width="44" height="60" /></element>
<element name="lamp2" ref="lamp" blend="multiply"><bounds xc="25" yc="104" width="44" height="60" /></element>
<element name="lamp3" ref="lamp" blend="multiply"><bounds xc="75" yc="104" width="44" height="60" /></element>
<element name="lamp4" ref="lamp" blend="multiply"><bounds xc="25" yc="167" width="44" height="60" /></element>
<element name="lamp5" ref="lamp" blend="multiply"><bounds xc="75" yc="167" width="44" height="60" /></element>
</group>
<view name="Lamps">
<collection name="Centre Display">
<element ref="empty">
<bounds x="-112" y="0" width="524" height="400" />
</element>
<element ref="nothing"><bounds x="-96" y="0" width="492" height="400" /></element>
</collection>
<screen index="0">
<bounds x="0" y="0" width="300" height="400" />
</screen>
<element ref="white">
<bounds x="324" y="213" width="88" height="180" />
</element>
<element ref="rank">
<bounds x="330" y="214" width="76" height="10" />
</element>
<element ref="black">
<bounds x="328" y="227" width="38" height="50" />
</element>
<element ref="black">
<bounds x="370" y="227" width="38" height="50" />
</element>
<element ref="black">
<bounds x="328" y="283" width="38" height="50" />
</element>
<element ref="black">
<bounds x="370" y="283" width="38" height="50" />
</element>
<element ref="black">
<bounds x="328" y="339" width="38" height="50" />
</element>
<element ref="black">
<bounds x="370" y="339" width="38" height="50" />
</element>
<element name="lamp0" ref="lamp">
<bounds x="332" y="234" width="30" height="36" />
</element>
<element name="lamp1" ref="lamp">
<bounds x="374" y="234" width="30" height="36" />
</element>
<element name="lamp2" ref="lamp">
<bounds x="332" y="290" width="30" height="36" />
</element>
<element name="lamp3" ref="lamp">
<bounds x="374" y="290" width="30" height="36" />
</element>
<element name="lamp4" ref="lamp">
<bounds x="332" y="346" width="30" height="36" />
</element>
<element name="lamp5" ref="lamp">
<bounds x="374" y="346" width="30" height="36" />
</element>
<element ref="yellow">
<bounds x="332" y="234" width="30" height="36" />
<color alpha=".5" />
</element>
<element ref="yellow">
<bounds x="374" y="234" width="30" height="36" />
<color alpha=".5" />
</element>
<element ref="yellow">
<bounds x="332" y="290" width="30" height="36" />
<color alpha=".5" />
</element>
<element ref="yellow">
<bounds x="374" y="290" width="30" height="36" />
<color alpha=".5" />
</element>
<element ref="yellow">
<bounds x="332" y="346" width="30" height="36" />
<color alpha=".5" />
</element>
<element ref="yellow">
<bounds x="374" y="346" width="30" height="36" />
<color alpha=".5" />
</element>
<element ref="spacetext">
<bounds x="332" y="244" width="30" height="7" />
</element>
<element ref="cadet">
<bounds x="332" y="251" width="30" height="7" />
</element>
<element ref="spacetext">
<bounds x="374" y="244" width="30" height="7" />
</element>
<element ref="captain">
<bounds x="374" y="251" width="30" height="7" />
</element>
<element ref="spacetext">
<bounds x="332" y="300" width="30" height="7" />
</element>
<element ref="colonel">
<bounds x="332" y="307" width="30" height="7" />
</element>
<element ref="spacetext">
<bounds x="374" y="300" width="30" height="7" />
</element>
<element ref="general">
<bounds x="374" y="307" width="30" height="7" />
</element>
<element ref="spacetext">
<bounds x="332" y="356" width="30" height="7" />
</element>
<element ref="warrior">
<bounds x="332" y="363" width="30" height="7" />
</element>
<element ref="spacetext">
<bounds x="374" y="356" width="30" height="7" />
</element>
<element ref="avenger">
<bounds x="374" y="363" width="30" height="7" />
</element>
<screen index="0"><bounds x="0" y="0" width="300" height="400" /></screen>
<group ref="lamps"><bounds x="308" y="220" width="88" height="180" /></group>
</view>
</mamelayout>

View File

@ -133,6 +133,7 @@
#include "spacezap.lh"
#include "tenpindx.lh"
/*************************************
*
* Protected RAM
@ -1201,7 +1202,7 @@ void astrocde_state::astrocade_base(machine_config &config)
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
m_screen->set_raw(ASTROCADE_CLOCK, 455, 0, 352, 262, 0, 240);
m_screen->set_default_position(1.1, 0.0, 1.18, -0.018); /* clip out borders */
m_screen->set_default_position(1.1, 0.0, 1.18, -0.018); // clip out borders
m_screen->set_screen_update(FUNC(astrocde_state::screen_update_astrocde));
m_screen->set_palette(m_palette);
}
@ -1268,23 +1269,23 @@ void seawolf2_state::seawolf2(machine_config &config)
m_maincpu->set_addrmap(AS_PROGRAM, &seawolf2_state::seawolf2_map);
m_maincpu->set_addrmap(AS_IO, &seawolf2_state::port_map_discrete);
output_latch_device &lamplatch1(OUTPUT_LATCH(config, "lamplatch0")); // 74174 on game board at N2
lamplatch1.bit_handler<0>().set_output("lamp6"); // right player torpedo 4 available
lamplatch1.bit_handler<1>().set_output("lamp5"); // right player torpedo 3 available
lamplatch1.bit_handler<2>().set_output("lamp4"); // right player torpedo 2 available
lamplatch1.bit_handler<3>().set_output("lamp3"); // right player torpedo 1 available
lamplatch1.bit_handler<4>().set_output("lamp2"); // right player ready
lamplatch1.bit_handler<4>().append_output("lamp1").invert(); // right player reload (active low)
lamplatch1.bit_handler<5>().set_output("lamp0"); // right player explosion (hit)
output_latch_device &lamplatch0(OUTPUT_LATCH(config, "lamplatch0")); // 74174 on game board at N2
lamplatch0.bit_handler<0>().set_output("lamp6"); // right player torpedo 4 available
lamplatch0.bit_handler<1>().set_output("lamp5"); // right player torpedo 3 available
lamplatch0.bit_handler<2>().set_output("lamp4"); // right player torpedo 2 available
lamplatch0.bit_handler<3>().set_output("lamp3"); // right player torpedo 1 available
lamplatch0.bit_handler<4>().set_output("lamp2"); // right player ready
lamplatch0.bit_handler<4>().append_output("lamp1").invert(); // right player reload (active low)
lamplatch0.bit_handler<5>().set_output("lamp0"); // right player explosion (hit)
output_latch_device &lamplatch2(OUTPUT_LATCH(config, "lamplatch1")); // 74174 on game board at P2
lamplatch2.bit_handler<0>().set_output("lamp13"); // left player torpedo 4 available
lamplatch2.bit_handler<1>().set_output("lamp12"); // left player torpedo 3 available
lamplatch2.bit_handler<2>().set_output("lamp11"); // left player torpedo 2 available
lamplatch2.bit_handler<3>().set_output("lamp10"); // left player torpedo 1 available
lamplatch2.bit_handler<4>().set_output("lamp9"); // left player ready
lamplatch2.bit_handler<4>().append_output("lamp8").invert(); // left player reload (active low)
lamplatch2.bit_handler<5>().set_output("lamp7"); // left player explosion (hit)
output_latch_device &lamplatch1(OUTPUT_LATCH(config, "lamplatch1")); // 74174 on game board at P2
lamplatch1.bit_handler<0>().set_output("lamp13"); // left player torpedo 4 available
lamplatch1.bit_handler<1>().set_output("lamp12"); // left player torpedo 3 available
lamplatch1.bit_handler<2>().set_output("lamp11"); // left player torpedo 2 available
lamplatch1.bit_handler<3>().set_output("lamp10"); // left player torpedo 1 available
lamplatch1.bit_handler<4>().set_output("lamp9"); // left player ready
lamplatch1.bit_handler<4>().append_output("lamp8").invert(); // left player reload (active low)
lamplatch1.bit_handler<5>().set_output("lamp7"); // left player explosion (hit)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
@ -1357,8 +1358,8 @@ void astrocde_state::wow(machine_config &config)
outlatch.q_out_cb<7>().set(FUNC(astrocde_state::coin_counter_w<2>));
/* video hardware */
m_screen->set_default_position(1.0, 0.0, 1.0, 0.0); /* adjusted to match screenshots */
// m_screen->set_default_position(1.066, -0.004, 1.048, -0.026); /* adjusted to match flyer */
m_screen->set_default_position(1.0, 0.0, 1.0, 0.0); // adjusted to match screenshots
// m_screen->set_default_position(1.066, -0.004, 1.048, -0.026); // adjusted to match flyer
/* sound hardware */
SPEAKER(config, "center").front_center();
@ -1406,7 +1407,7 @@ void astrocde_state::gorf(machine_config &config)
WATCHDOG_TIMER(config, "watchdog").set_vblank_count("screen", 128); // MC14024 on CPU board at U18, CLK = VERTDR, Q7 used for RESET
/* video hardware */
m_screen->set_default_position(1.0, 0.0, 1.0, 0.0); /* adjusted to match flyer */
m_screen->set_default_position(1.0, 0.0, 1.0, 0.0); // adjusted to match flyer
/* sound hardware */
SPEAKER(config, "upper", 0.0, 0.0, 1.0);
@ -1507,7 +1508,7 @@ void tenpindx_state::tenpindx(machine_config &config)
m_maincpu->set_addrmap(AS_PROGRAM, &tenpindx_state::profpac_map);
m_maincpu->set_addrmap(AS_IO, &tenpindx_state::port_map_16col_pattern_tenpindx);
Z80(config, m_subcpu, ASTROCADE_CLOCK/4); /* real clock unknown */
Z80(config, m_subcpu, ASTROCADE_CLOCK/4); // real clock unknown
m_subcpu->set_daisy_config(tenpin_daisy_chain);
m_subcpu->set_addrmap(AS_PROGRAM, &tenpindx_state::sub_map);
m_subcpu->set_addrmap(AS_IO, &tenpindx_state::sub_io_map);
@ -1521,7 +1522,7 @@ void tenpindx_state::tenpindx(machine_config &config)
GENERIC_LATCH_8(config, m_soundlatch);
m_soundlatch->data_pending_callback().set_inputline(m_subcpu, INPUT_LINE_NMI);
ay8912_device &aysnd(AY8912(config, "aysnd", ASTROCADE_CLOCK/4)); /* real clock unknown */
ay8912_device &aysnd(AY8912(config, "aysnd", ASTROCADE_CLOCK/4)); // real clock unknown
aysnd.port_a_read_callback().set_ioport("DIPSW");
aysnd.add_route(ALL_OUTPUTS, "mono", 0.33);
}

View File

@ -16,6 +16,7 @@
#include "sound/astrocde.h"
#include "sound/samples.h"
#include "sound/votrax.h"
#include "emupal.h"
#include "screen.h"
@ -233,9 +234,9 @@ private:
class demndrgn_state : public astrocde_state
{
public:
demndrgn_state(const machine_config &mconfig, device_type type, const char *tag)
: astrocde_state(mconfig, type, tag)
, m_trackball(*this, {"MOVEX", "MOVEY"})
demndrgn_state(const machine_config &mconfig, device_type type, const char *tag) :
astrocde_state(mconfig, type, tag),
m_trackball(*this, {"MOVEX", "MOVEY"})
{ }
void demndrgn(machine_config &config);