mirror of
https://github.com/holub/mame
synced 2025-04-26 10:13:37 +03:00
[marywu] Adding LEDs to the layout and mapping them to the IO ports of the 2 AY8910-3 sound chips
This commit is contained in:
parent
25cfbf81ab
commit
fae4820d5b
@ -31,6 +31,10 @@ public:
|
||||
|
||||
DECLARE_WRITE8_MEMBER(display_7seg_data_w);
|
||||
DECLARE_WRITE8_MEMBER(multiplex_7seg_w);
|
||||
DECLARE_WRITE8_MEMBER(ay1_port_a_w);
|
||||
DECLARE_WRITE8_MEMBER(ay1_port_b_w);
|
||||
DECLARE_WRITE8_MEMBER(ay2_port_a_w);
|
||||
DECLARE_WRITE8_MEMBER(ay2_port_b_w);
|
||||
DECLARE_READ8_MEMBER(keyboard_r);
|
||||
private:
|
||||
uint8_t m_selected_7seg_module;
|
||||
@ -94,6 +98,35 @@ static INPUT_PORTS_START( marywu )
|
||||
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_F)
|
||||
INPUT_PORTS_END
|
||||
|
||||
WRITE8_MEMBER( marywu_state::ay1_port_a_w )
|
||||
{
|
||||
for (uint8_t i=0; i<8; i++){
|
||||
output_set_led_value(i, (data & (1 << i)) ? 1 : 0);
|
||||
}
|
||||
}
|
||||
|
||||
WRITE8_MEMBER( marywu_state::ay1_port_b_w )
|
||||
{
|
||||
for (uint8_t i=0; i<8; i++){
|
||||
output_set_led_value(i+8, (data & (1 << i)) ? 1 : 0);
|
||||
}
|
||||
}
|
||||
|
||||
WRITE8_MEMBER( marywu_state::ay2_port_a_w )
|
||||
{
|
||||
for (uint8_t i=0; i<8; i++){
|
||||
output_set_led_value(i+16, (data & (1 << i)) ? 1 : 0);
|
||||
}
|
||||
}
|
||||
|
||||
WRITE8_MEMBER( marywu_state::ay2_port_b_w )
|
||||
{
|
||||
for (uint8_t i=0; i<6; i++){
|
||||
/* we only have 30 LEDs. The last 2 bits in this port are unused. */
|
||||
output_set_led_value(i+24, (data & (1 << i)) ? 1 : 0);
|
||||
}
|
||||
}
|
||||
|
||||
WRITE8_MEMBER( marywu_state::multiplex_7seg_w )
|
||||
{
|
||||
m_selected_7seg_module = data;
|
||||
@ -154,9 +187,13 @@ static MACHINE_CONFIG_START( marywu , marywu_state )
|
||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||
MCFG_SOUND_ADD("ay1", AY8910, XTAL_10_738635MHz) /* should it be perhaps a fraction of the XTAL clock ? */
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
|
||||
MCFG_AY8910_PORT_A_WRITE_CB(WRITE8(marywu_state, ay1_port_a_w))
|
||||
MCFG_AY8910_PORT_B_WRITE_CB(WRITE8(marywu_state, ay1_port_b_w))
|
||||
|
||||
MCFG_SOUND_ADD("ay2", AY8910, XTAL_10_738635MHz) /* should it be perhaps a fraction of the XTAL clock ? */
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
|
||||
MCFG_AY8910_PORT_A_WRITE_CB(WRITE8(marywu_state, ay2_port_a_w))
|
||||
MCFG_AY8910_PORT_B_WRITE_CB(WRITE8(marywu_state, ay2_port_b_w))
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
ROM_START( marywu )
|
||||
|
@ -1,3 +1,4 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- marywu.lay -->
|
||||
|
||||
<mamelayout version="2">
|
||||
@ -8,6 +9,18 @@
|
||||
</led7seg>
|
||||
</element>
|
||||
|
||||
<element name="led" defstate="0">
|
||||
<text string=""></text>
|
||||
<disk state="0">
|
||||
<color red="0.1" green="0.025" blue="0.028" />
|
||||
<bounds x="0.25" y="0.25" width="0.5" height="0.5" />
|
||||
</disk>
|
||||
<disk state="1">
|
||||
<color red="1.0" green="0.25" blue="0.28" />
|
||||
<bounds x="0.25" y="0.25" width="0.5" height="0.5" />
|
||||
</disk>
|
||||
</element>
|
||||
|
||||
<element name="background">
|
||||
<rect>
|
||||
<bounds left="0" top="0" right="1" bottom="1" />
|
||||
@ -19,10 +32,49 @@
|
||||
|
||||
<!-- Background -->
|
||||
<backdrop element="background">
|
||||
<bounds left="0" top="20" right="798" bottom="394" />
|
||||
<bounds left="0" top="20" right="798" bottom="770" />
|
||||
</backdrop>
|
||||
|
||||
<!-- LEDs -->
|
||||
|
||||
<bezel name="led4" element="led"><bounds x="199" y="160" width="40" height="40" /></bezel>
|
||||
<bezel name="led5" element="led"><bounds x="249" y="160" width="40" height="40" /></bezel>
|
||||
<bezel name="led6" element="led"><bounds x="324" y="160" width="40" height="40" /></bezel>
|
||||
<bezel name="led7" element="led"><bounds x="399" y="160" width="40" height="40" /></bezel>
|
||||
<bezel name="led8" element="led"><bounds x="474" y="160" width="40" height="40" /></bezel>
|
||||
<bezel name="led9" element="led"><bounds x="549" y="160" width="40" height="40" /></bezel>
|
||||
<bezel name="led10" element="led"><bounds x="599" y="160" width="40" height="40" /></bezel>
|
||||
|
||||
<bezel name="led3" element="led"><bounds x="199" y="210" width="40" height="40" /></bezel>
|
||||
<bezel name="led11" element="led"><bounds x="599" y="210" width="40" height="40" /></bezel>
|
||||
|
||||
<bezel name="led2" element="led"><bounds x="199" y="285" width="40" height="40" /></bezel>
|
||||
<bezel name="led12" element="led"><bounds x="599" y="285" width="40" height="40" /></bezel>
|
||||
|
||||
<bezel name="led1" element="led"><bounds x="199" y="360" width="40" height="40" /></bezel>
|
||||
<bezel name="led30" element="led"><bounds x="399" y="360" width="40" height="40" /></bezel>
|
||||
<bezel name="led13" element="led"><bounds x="599" y="360" width="40" height="40" /></bezel>
|
||||
|
||||
<bezel name="led0" element="led"><bounds x="199" y="435" width="40" height="40" /></bezel>
|
||||
<bezel name="led14" element="led"><bounds x="599" y="435" width="40" height="40" /></bezel>
|
||||
|
||||
<bezel name="led23" element="led"><bounds x="199" y="510" width="40" height="40" /></bezel>
|
||||
<bezel name="led15" element="led"><bounds x="599" y="510" width="40" height="40" /></bezel>
|
||||
|
||||
<bezel name="led22" element="led"><bounds x="199" y="560" width="40" height="40" /></bezel>
|
||||
<bezel name="led21" element="led"><bounds x="249" y="560" width="40" height="40" /></bezel>
|
||||
<bezel name="led20" element="led"><bounds x="324" y="560" width="40" height="40" /></bezel>
|
||||
<bezel name="led19" element="led"><bounds x="399" y="560" width="40" height="40" /></bezel>
|
||||
<bezel name="led18" element="led"><bounds x="474" y="560" width="40" height="40" /></bezel>
|
||||
<bezel name="led17" element="led"><bounds x="549" y="560" width="40" height="40" /></bezel>
|
||||
<bezel name="led16" element="led"><bounds x="599" y="560" width="40" height="40" /></bezel>
|
||||
|
||||
<bezel name="led29" element="led"><bounds x="199" y="660" width="40" height="40" /></bezel>
|
||||
<bezel name="led28" element="led"><bounds x="279" y="660" width="40" height="40" /></bezel>
|
||||
<bezel name="led27" element="led"><bounds x="359" y="660" width="40" height="40" /></bezel>
|
||||
<bezel name="led26" element="led"><bounds x="439" y="660" width="40" height="40" /></bezel>
|
||||
<bezel name="led25" element="led"><bounds x="519" y="660" width="40" height="40" /></bezel>
|
||||
<bezel name="led24" element="led"><bounds x="599" y="660" width="40" height="40" /></bezel>
|
||||
|
||||
<!-- Top 7seg display modules -->
|
||||
|
||||
@ -58,10 +110,10 @@
|
||||
<!-- Middle 7seg display module -->
|
||||
|
||||
<bezel name="digit25" element="digit">
|
||||
<bounds left="355" top="105" right="389" bottom="144" />
|
||||
<bounds left="355" top="421" right="389" bottom="460" />
|
||||
</bezel>
|
||||
<bezel name="digit24" element="digit">
|
||||
<bounds left="399" top="105" right="433" bottom="144" />
|
||||
<bounds left="399" top="421" right="433" bottom="460" />
|
||||
</bezel>
|
||||
|
||||
|
||||
@ -69,52 +121,52 @@
|
||||
<!-- Bottom 7seg display modules -->
|
||||
|
||||
<bezel name="digit15" element="digit">
|
||||
<bounds left="10" top="165" right="44" bottom="204" />
|
||||
<bounds left="10" top="721" right="44" bottom="760" />
|
||||
</bezel>
|
||||
<bezel name="digit14" element="digit">
|
||||
<bounds left="54" top="165" right="88" bottom="204" />
|
||||
<bounds left="54" top="721" right="88" bottom="760" />
|
||||
</bezel>
|
||||
<bezel name="digit13" element="digit">
|
||||
<bounds left="110" top="165" right="144" bottom="204" />
|
||||
<bounds left="110" top="721" right="144" bottom="760" />
|
||||
</bezel>
|
||||
<bezel name="digit12" element="digit">
|
||||
<bounds left="154" top="165" right="188" bottom="204" />
|
||||
<bounds left="154" top="721" right="188" bottom="760" />
|
||||
</bezel>
|
||||
<bezel name="digit11" element="digit">
|
||||
<bounds left="210" top="165" right="244" bottom="204" />
|
||||
<bounds left="210" top="721" right="244" bottom="760" />
|
||||
</bezel>
|
||||
<bezel name="digit10" element="digit">
|
||||
<bounds left="254" top="165" right="288" bottom="204" />
|
||||
<bounds left="254" top="721" right="288" bottom="760" />
|
||||
</bezel>
|
||||
<bezel name="digit9" element="digit">
|
||||
<bounds left="310" top="165" right="344" bottom="204" /> <!-- 144 -->
|
||||
<bounds left="310" top="721" right="344" bottom="760" />
|
||||
</bezel>
|
||||
<bezel name="digit8" element="digit">
|
||||
<bounds left="354" top="165" right="388" bottom="204" />
|
||||
<bounds left="354" top="721" right="388" bottom="760" />
|
||||
</bezel>
|
||||
<bezel name="digit7" element="digit">
|
||||
<bounds left="410" top="165" right="444" bottom="204" />
|
||||
<bounds left="410" top="721" right="444" bottom="760" />
|
||||
</bezel>
|
||||
<bezel name="digit6" element="digit">
|
||||
<bounds left="454" top="165" right="488" bottom="204" />
|
||||
<bounds left="454" top="721" right="488" bottom="760" />
|
||||
</bezel>
|
||||
<bezel name="digit5" element="digit">
|
||||
<bounds left="510" top="165" right="544" bottom="204" />
|
||||
<bounds left="510" top="721" right="544" bottom="760" />
|
||||
</bezel>
|
||||
<bezel name="digit4" element="digit">
|
||||
<bounds left="554" top="165" right="588" bottom="204" />
|
||||
<bounds left="554" top="721" right="588" bottom="760" />
|
||||
</bezel>
|
||||
<bezel name="digit3" element="digit">
|
||||
<bounds left="610" top="165" right="644" bottom="204" />
|
||||
<bounds left="610" top="721" right="644" bottom="760" />
|
||||
</bezel>
|
||||
<bezel name="digit2" element="digit">
|
||||
<bounds left="654" top="165" right="688" bottom="204" />
|
||||
<bounds left="654" top="721" right="688" bottom="760" />
|
||||
</bezel>
|
||||
<bezel name="digit1" element="digit">
|
||||
<bounds left="710" top="165" right="744" bottom="204" />
|
||||
<bounds left="710" top="721" right="744" bottom="760" />
|
||||
</bezel>
|
||||
<bezel name="digit0" element="digit">
|
||||
<bounds left="754" top="165" right="788" bottom="204" />
|
||||
<bounds left="754" top="721" right="788" bottom="760" />
|
||||
</bezel>
|
||||
</view>
|
||||
</mamelayout>
|
||||
|
Loading…
Reference in New Issue
Block a user