small cleanup to merlin.c, it is very similar to simon.c

I want to redo the merlin layout later, make it more similar/appealing.
This commit is contained in:
hap 2014-11-04 18:18:28 +01:00
parent d185076946
commit 282a6e03a5
4 changed files with 158 additions and 167 deletions

View File

@ -1,73 +1,63 @@
/* /***************************************************************************
Parker Bros Merlin handheld computer game Parker Bros Merlin handheld computer game
* TMS1100NLL MP3404A-N2 (has internal ROM)
*/ Other games assumed to be on similar hardware:
- Dr. Smith - by Tomy, released in Japan (basically a white version of Merlin,
let's assume for now that the ROM contents is identical)
- Master Merlin
Another sequel, called Split Second, looks like different hardware.
TODO:
- accurate rc osc
- is the rom dump good?
***************************************************************************/
#include "emu.h" #include "emu.h"
#include "cpu/tms0980/tms0980.h" #include "cpu/tms0980/tms0980.h"
#include "sound/speaker.h" #include "sound/speaker.h"
/* Layout */
#include "merlin.lh" #include "merlin.lh"
// master clock is a single stage RC oscillator: R=?, C=?
#define MERLIN_RC_CLOCK (500000)
class merlin_state : public driver_device class merlin_state : public driver_device
{ {
public: public:
merlin_state(const machine_config &mconfig, device_type type, const char *tag) merlin_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag), : driver_device(mconfig, type, tag),
m_speaker(*this, "speaker") , m_maincpu(*this, "maincpu"),
m_maincpu(*this, "maincpu") { } m_button_matrix(*this, "O"),
m_speaker(*this, "speaker")
virtual void machine_start(); { }
required_device<cpu_device> m_maincpu;
required_ioport_array<4> m_button_matrix;
required_device<speaker_sound_device> m_speaker; required_device<speaker_sound_device> m_speaker;
UINT16 m_o;
DECLARE_READ8_MEMBER(read_k); DECLARE_READ8_MEMBER(read_k);
DECLARE_WRITE16_MEMBER(write_o); DECLARE_WRITE16_MEMBER(write_o);
DECLARE_WRITE16_MEMBER(write_r); DECLARE_WRITE16_MEMBER(write_r);
protected: virtual void machine_start();
UINT16 m_o;
UINT16 m_r;
required_device<cpu_device> m_maincpu;
}; };
#define LOG 0 /***************************************************************************
I/O
static INPUT_PORTS_START( merlin ) ***************************************************************************/
PORT_START("O0")
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_BUTTON1) PORT_CODE(KEYCODE_0) PORT_NAME("R0") // R0
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_BUTTON2) PORT_CODE(KEYCODE_1) PORT_NAME("R1") // R1
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_BUTTON4) PORT_CODE(KEYCODE_3) PORT_NAME("R3") // R3
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_BUTTON3) PORT_CODE(KEYCODE_2) PORT_NAME("R2") // R2
PORT_START("O1") /* The keypad is a 4*4 matrix, connected like so:
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_BUTTON5) PORT_CODE(KEYCODE_4) PORT_NAME("R4") // R4
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_BUTTON6) PORT_CODE(KEYCODE_5) PORT_NAME("R5") // R5
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_BUTTON8) PORT_CODE(KEYCODE_7) PORT_NAME("R7") // R7
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_BUTTON7) PORT_CODE(KEYCODE_6) PORT_NAME("R6") // R6
PORT_START("O2")
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_BUTTON9) PORT_CODE(KEYCODE_8) PORT_NAME("R8") // R8
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_BUTTON10) PORT_CODE(KEYCODE_9) PORT_NAME("R9") // R9
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_BUTTON13) PORT_CODE(KEYCODE_S) PORT_NAME("Same Game") // SG - same game
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_BUTTON11) PORT_CODE(KEYCODE_MINUS) PORT_NAME("R10") // R10
PORT_START("O3")
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_UNUSED)
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_BUTTON15) PORT_CODE(KEYCODE_C) PORT_NAME("Comp Turn") // Comp Turn
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_BUTTON14) PORT_CODE(KEYCODE_H) PORT_NAME("Hit Me") // Hit me
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_BUTTON12) PORT_CODE(KEYCODE_N) PORT_NAME("New Game") // NG - new game
INPUT_PORTS_END
/*
The keypad is a 4*4 matrix, connected like so:
+----+ +----+ +----+ +----+ +----+ +----+ +----+ +----+
O0 o---| R0 |--| R1 |--| R2 |--| R3 | O0 o---| R0 |--| R1 |--| R2 |--| R3 |
@ -88,97 +78,93 @@ O3 o------+----| CT |--| NG |--| HM |
o o o o o o o o
K1 K2 K8 K4 K1 K2 K8 K4
SG = same game, CT = comp turn, NG = new game, HM = hit me SG = same game, CT = comp turn, NG = new game, HM = hit me */
*/
READ8_MEMBER(merlin_state::read_k) READ8_MEMBER(merlin_state::read_k)
{ {
UINT8 data = 0; UINT8 k = 0;
if (LOG) // read selected button rows
logerror( "read_k\n" ); for (int i = 0; i < 4; i++)
if (m_o & (1 << i))
k |= m_button_matrix[i]->read();
if ( m_o & 0x01 ) return k;
{
data |= ioport("O0")->read();
}
if ( m_o & 0x02 )
{
data |= ioport("O1")->read();
}
if ( m_o & 0x04 )
{
data |= ioport("O2")->read();
}
if ( m_o & 0x08 )
{
data |= ioport("O3")->read();
}
return data;
} }
/*
The speaker is connected to O4 through O6. The 3 outputs are paralleled for
increased current driving capability. They are passed thru a 220 ohm resistor
and then to the speaker, which has the other side grounded. The software then
toggles these lines to make sounds and noises. (There is no audio generator
other than toggling it with a software delay between to make tones).
*/
WRITE16_MEMBER(merlin_state::write_o) WRITE16_MEMBER(merlin_state::write_o)
{ {
if (LOG) // O0-O3: input mux
logerror( "write_o: write %02x\n", data );
m_o = data; m_o = data;
/* The speaker is connected to O4 through O6. The 3 outputs are paralleled for
increased current driving capability. They are passed thru a 220 ohm resistor
and then to the speaker, which has the other side grounded. The software then
toggles these lines to make sounds and noises. (There is no audio generator
other than toggling it with a software delay between to make tones). */
m_speaker->level_w(m_o & 0x70); m_speaker->level_w(m_o & 0x70);
} }
/*
LEDs:
R0
R1 R2 R3
R4 R5 R6
R7 R8 R9
R10
When that particular R output is high, that LED is on.
*/
WRITE16_MEMBER(merlin_state::write_r) WRITE16_MEMBER(merlin_state::write_r)
{ {
if (LOG) /* LEDs:
logerror( "write_r: write %04x\n", data );
m_r = data; R0
R1 R2 R3
output_set_value( "led_0", BIT( m_r, 0 ) ); R4 R5 R6
output_set_value( "led_1", BIT( m_r, 1 ) ); R7 R8 R9
output_set_value( "led_2", BIT( m_r, 2 ) ); R10
output_set_value( "led_3", BIT( m_r, 3 ) ); */
output_set_value( "led_4", BIT( m_r, 4 ) ); for (int i = 0; i < 11; i++)
output_set_value( "led_5", BIT( m_r, 5 ) ); output_set_lamp_value(i, data >> i & 1);
output_set_value( "led_6", BIT( m_r, 6 ) );
output_set_value( "led_7", BIT( m_r, 7 ) );
output_set_value( "led_8", BIT( m_r, 8 ) );
output_set_value( "led_9", BIT( m_r, 9 ) );
output_set_value( "led_10", BIT( m_r, 10 ) );
} }
/***************************************************************************
Inputs
***************************************************************************/
static INPUT_PORTS_START( merlin )
PORT_START("O.0")
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_BUTTON1) PORT_CODE(KEYCODE_0) PORT_NAME("Button R0")
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_BUTTON2) PORT_CODE(KEYCODE_1) PORT_NAME("Button R1")
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_BUTTON4) PORT_CODE(KEYCODE_3) PORT_NAME("Button R3")
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_BUTTON3) PORT_CODE(KEYCODE_2) PORT_NAME("Button R2")
PORT_START("O.1")
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_BUTTON5) PORT_CODE(KEYCODE_4) PORT_NAME("Button R4")
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_BUTTON6) PORT_CODE(KEYCODE_5) PORT_NAME("Button R5")
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_BUTTON8) PORT_CODE(KEYCODE_7) PORT_NAME("Button R7")
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_BUTTON7) PORT_CODE(KEYCODE_6) PORT_NAME("Button R6")
PORT_START("O.2")
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_BUTTON9) PORT_CODE(KEYCODE_8) PORT_NAME("Button R8")
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_BUTTON10) PORT_CODE(KEYCODE_9) PORT_NAME("Button R9")
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_BUTTON13) PORT_CODE(KEYCODE_S) PORT_NAME("Same Game")
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_BUTTON11) PORT_CODE(KEYCODE_MINUS) PORT_NAME("Button R10")
PORT_START("O.3")
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_UNUSED)
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_BUTTON15) PORT_CODE(KEYCODE_C) PORT_NAME("Comp Turn")
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_BUTTON14) PORT_CODE(KEYCODE_H) PORT_NAME("Hit Me")
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_BUTTON12) PORT_CODE(KEYCODE_N) PORT_NAME("New Game")
INPUT_PORTS_END
/***************************************************************************
Machine Config
***************************************************************************/
void merlin_state::machine_start() void merlin_state::machine_start()
{ {
m_o = 0;
save_item(NAME(m_o)); save_item(NAME(m_o));
save_item(NAME(m_r));
} }
@ -193,20 +179,32 @@ static const UINT16 merlin_output_pla[0x20] =
static MACHINE_CONFIG_START( merlin, merlin_state ) static MACHINE_CONFIG_START( merlin, merlin_state )
MCFG_CPU_ADD( "maincpu", TMS1100, 500000 ) /* Clock may be wrong */
MCFG_TMS1XXX_OUTPUT_PLA( merlin_output_pla ) /* basic machine hardware */
MCFG_TMS1XXX_READ_K( READ8( merlin_state, read_k ) ) MCFG_CPU_ADD( "maincpu", TMS1100, MERLIN_RC_CLOCK )
MCFG_TMS1XXX_WRITE_O( WRITE16( merlin_state, write_o ) ) MCFG_TMS1XXX_OUTPUT_PLA(merlin_output_pla)
MCFG_TMS1XXX_WRITE_R( WRITE16( merlin_state, write_r ) ) MCFG_TMS1XXX_READ_K(READ8( merlin_state, read_k))
MCFG_TMS1XXX_WRITE_O(WRITE16( merlin_state, write_o))
MCFG_TMS1XXX_WRITE_R(WRITE16( merlin_state, write_r))
MCFG_DEFAULT_LAYOUT(layout_merlin) MCFG_DEFAULT_LAYOUT(layout_merlin)
/* no video! */
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono") MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("speaker", SPEAKER_SOUND, 0) MCFG_SOUND_ADD("speaker", SPEAKER_SOUND, 0)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
MACHINE_CONFIG_END MACHINE_CONFIG_END
/***************************************************************************
Game driver(s)
***************************************************************************/
ROM_START( merlin ) ROM_START( merlin )
ROM_REGION( 0x800, "maincpu", 0 ) ROM_REGION( 0x800, "maincpu", 0 )
// This rom needs verification, that's why it is marked as a bad dump // This rom needs verification, that's why it is marked as a bad dump
@ -216,11 +214,5 @@ ROM_START( merlin )
ROM_LOAD( "mp3404", 0x0000, 0x800, BAD_DUMP CRC(7515a75d) SHA1(76ca3605d3fde1df62f79b9bb1f534c2a2ae0229) ) ROM_LOAD( "mp3404", 0x0000, 0x800, BAD_DUMP CRC(7515a75d) SHA1(76ca3605d3fde1df62f79b9bb1f534c2a2ae0229) )
ROM_END ROM_END
/***************************************************************************
Game driver(s) CONS( 1978, merlin, 0, 0, merlin, merlin, driver_device, 0, "Parker Brothers", "Merlin", GAME_SUPPORTS_SAVE )
***************************************************************************/
/* YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY FULLNAME FLAGS */
CONS( 1978, merlin, 0, 0, merlin, merlin, driver_device, 0, "Parker Brothers", "Merlin", 0 )

View File

@ -8,10 +8,15 @@
* TMS1000 (has internal ROM), SN75494 lamp driver * TMS1000 (has internal ROM), SN75494 lamp driver
Newer revisions have a smaller 16-pin MB4850 chip instead of the TMS1000. Newer revisions have a smaller 16-pin MB4850 chip instead of the TMS1000.
It has been decapped, but we couldn't yet find the internal ROM. This one has been decapped too, but we couldn't yet find the internal ROM.
Other games assumed to be on similar hardware:
- Pocket Simon
- Super Simon
TODO: TODO:
- accurate rc osc
- where's the skill switch? - where's the skill switch?
***************************************************************************/ ***************************************************************************/
@ -22,6 +27,10 @@
#include "simon.lh" #include "simon.lh"
// master clock is a single stage RC oscillator: R=?, C=?
// this is an approximation compared with old recordings
#define SIMON_RC_CLOCK (330000)
class simon_state : public driver_device class simon_state : public driver_device
{ {
@ -37,7 +46,6 @@ public:
required_ioport_array<3> m_button_matrix; required_ioport_array<3> m_button_matrix;
required_device<speaker_sound_device> m_speaker; required_device<speaker_sound_device> m_speaker;
UINT16 m_o;
UINT16 m_r; UINT16 m_r;
DECLARE_READ8_MEMBER(read_k); DECLARE_READ8_MEMBER(read_k);
@ -45,7 +53,6 @@ public:
DECLARE_WRITE16_MEMBER(write_r); DECLARE_WRITE16_MEMBER(write_r);
virtual void machine_start(); virtual void machine_start();
virtual void machine_reset();
}; };
@ -57,14 +64,14 @@ public:
READ8_MEMBER(simon_state::read_k) READ8_MEMBER(simon_state::read_k)
{ {
UINT8 ret = 0; UINT8 k = 0;
// read selected button rows // read selected button rows
for (int i = 0; i < 3; i++) for (int i = 0; i < 3; i++)
if (m_r & (1 << i)) if (m_r & (1 << i))
ret |= m_button_matrix[i]->read(); k |= m_button_matrix[i]->read();
return ret; return k;
} }
WRITE16_MEMBER(simon_state::write_r) WRITE16_MEMBER(simon_state::write_r)
@ -85,7 +92,6 @@ WRITE16_MEMBER(simon_state::write_r)
WRITE16_MEMBER(simon_state::write_o) WRITE16_MEMBER(simon_state::write_o)
{ {
// N/C // N/C
m_o = data;
} }
@ -125,16 +131,9 @@ INPUT_PORTS_END
***************************************************************************/ ***************************************************************************/
void simon_state::machine_reset()
{
}
void simon_state::machine_start() void simon_state::machine_start()
{ {
m_o = 0;
m_r = 0; m_r = 0;
save_item(NAME(m_o));
save_item(NAME(m_r)); save_item(NAME(m_r));
} }
@ -152,7 +151,7 @@ static const UINT16 simon_output_pla[0x20] =
static MACHINE_CONFIG_START( simon, simon_state ) static MACHINE_CONFIG_START( simon, simon_state )
/* basic machine hardware */ /* basic machine hardware */
MCFG_CPU_ADD( "maincpu", TMS1000, 330000 ) // RC osc, approximation compared with recordings MCFG_CPU_ADD( "maincpu", TMS1000, SIMON_RC_CLOCK )
MCFG_TMS1XXX_OUTPUT_PLA(simon_output_pla) MCFG_TMS1XXX_OUTPUT_PLA(simon_output_pla)
MCFG_TMS1XXX_READ_K(READ8(simon_state, read_k)) MCFG_TMS1XXX_READ_K(READ8(simon_state, read_k))
MCFG_TMS1XXX_WRITE_O(WRITE16(simon_state, write_o)) MCFG_TMS1XXX_WRITE_O(WRITE16(simon_state, write_o))
@ -172,7 +171,7 @@ MACHINE_CONFIG_END
/*************************************************************************** /***************************************************************************
Game drivers Game driver(s)
***************************************************************************/ ***************************************************************************/

View File

@ -370,98 +370,98 @@
<!-- LEDs and number buttons --> <!-- LEDs and number buttons -->
<bezel name="led_0" element="led"> <bezel name="lamp0" element="led">
<bounds x="100" y="20" width="20" height="10" /> <bounds x="100" y="20" width="20" height="10" />
</bezel> </bezel>
<bezel element="0" inputtag="O0" inputmask="0x01"> <bezel element="0" inputtag="O.0" inputmask="0x01">
<bounds x="100" y="32" width="20" height="10" /> <bounds x="100" y="32" width="20" height="10" />
</bezel> </bezel>
<bezel name="led_1" element="led"> <bezel name="lamp1" element="led">
<bounds x="50" y="50" width="20" height="10" /> <bounds x="50" y="50" width="20" height="10" />
</bezel> </bezel>
<bezel element="1" inputtag="O0" inputmask="0x02"> <bezel element="1" inputtag="O.0" inputmask="0x02">
<bounds x="50" y="62" width="20" height="10" /> <bounds x="50" y="62" width="20" height="10" />
</bezel> </bezel>
<bezel name="led_2" element="led"> <bezel name="lamp2" element="led">
<bounds x="100" y="50" width="20" height="10" /> <bounds x="100" y="50" width="20" height="10" />
</bezel> </bezel>
<bezel element="2" inputtag="O0" inputmask="0x08"> <bezel element="2" inputtag="O.0" inputmask="0x08">
<bounds x="100" y="62" width="20" height="10" /> <bounds x="100" y="62" width="20" height="10" />
</bezel> </bezel>
<bezel name="led_3" element="led"> <bezel name="lamp3" element="led">
<bounds x="150" y="50" width="20" height="10" /> <bounds x="150" y="50" width="20" height="10" />
</bezel> </bezel>
<bezel element="3" inputtag="O0" inputmask="0x04"> <bezel element="3" inputtag="O.0" inputmask="0x04">
<bounds x="150" y="62" width="20" height="10" /> <bounds x="150" y="62" width="20" height="10" />
</bezel> </bezel>
<bezel name="led_4" element="led"> <bezel name="lamp4" element="led">
<bounds x="50" y="80" width="20" height="10" /> <bounds x="50" y="80" width="20" height="10" />
</bezel> </bezel>
<bezel element="4" inputtag="O1" inputmask="0x01"> <bezel element="4" inputtag="O.1" inputmask="0x01">
<bounds x="50" y="92" width="20" height="10" /> <bounds x="50" y="92" width="20" height="10" />
</bezel> </bezel>
<bezel name="led_5" element="led"> <bezel name="lamp5" element="led">
<bounds x="100" y="80" width="20" height="10" /> <bounds x="100" y="80" width="20" height="10" />
</bezel> </bezel>
<bezel element="5" inputtag="O1" inputmask="0x02"> <bezel element="5" inputtag="O.1" inputmask="0x02">
<bounds x="100" y="92" width="20" height="10" /> <bounds x="100" y="92" width="20" height="10" />
</bezel> </bezel>
<bezel name="led_6" element="led"> <bezel name="lamp6" element="led">
<bounds x="150" y="80" width="20" height="10" /> <bounds x="150" y="80" width="20" height="10" />
</bezel> </bezel>
<bezel element="6" inputtag="O1" inputmask="0x08"> <bezel element="6" inputtag="O.1" inputmask="0x08">
<bounds x="150" y="92" width="20" height="10" /> <bounds x="150" y="92" width="20" height="10" />
</bezel> </bezel>
<bezel name="led_7" element="led"> <bezel name="lamp7" element="led">
<bounds x="50" y="110" width="20" height="10" /> <bounds x="50" y="110" width="20" height="10" />
</bezel> </bezel>
<bezel element="7" inputtag="O1" inputmask="0x04"> <bezel element="7" inputtag="O.1" inputmask="0x04">
<bounds x="50" y="122" width="20" height="10" /> <bounds x="50" y="122" width="20" height="10" />
</bezel> </bezel>
<bezel name="led_8" element="led"> <bezel name="lamp8" element="led">
<bounds x="100" y="110" width="20" height="10" /> <bounds x="100" y="110" width="20" height="10" />
</bezel> </bezel>
<bezel element="8" inputtag="O2" inputmask="0x01"> <bezel element="8" inputtag="O.2" inputmask="0x01">
<bounds x="100" y="122" width="20" height="10" /> <bounds x="100" y="122" width="20" height="10" />
</bezel> </bezel>
<bezel name="led_9" element="led"> <bezel name="lamp9" element="led">
<bounds x="150" y="110" width="20" height="10" /> <bounds x="150" y="110" width="20" height="10" />
</bezel> </bezel>
<bezel element="9" inputtag="O2" inputmask="0x02"> <bezel element="9" inputtag="O.2" inputmask="0x02">
<bounds x="150" y="122" width="20" height="10" /> <bounds x="150" y="122" width="20" height="10" />
</bezel> </bezel>
<bezel name="led_10" element="led"> <bezel name="lamp10" element="led">
<bounds x="100" y="140" width="20" height="10" /> <bounds x="100" y="140" width="20" height="10" />
</bezel> </bezel>
<bezel element="10" inputtag="O2" inputmask="0x08"> <bezel element="10" inputtag="O.2" inputmask="0x08">
<bounds x="100" y="152" width="20" height="10" /> <bounds x="100" y="152" width="20" height="10" />
</bezel> </bezel>
<!-- Other buttons --> <!-- Other buttons -->
<bezel element="new_game" inputtag="O3" inputmask="0x08"> <bezel element="new_game" inputtag="O.3" inputmask="0x08">
<bounds x="75" y="170" width="30" height="30" /> <bounds x="75" y="170" width="30" height="30" />
</bezel> </bezel>
<bezel element="same_game" inputtag="O2" inputmask="0x04"> <bezel element="same_game" inputtag="O.2" inputmask="0x04">
<bounds x="125" y="170" width="30" height="30" /> <bounds x="125" y="170" width="30" height="30" />
</bezel> </bezel>
<bezel element="hit_me" inputtag="O3" inputmask="0x04"> <bezel element="hit_me" inputtag="O.3" inputmask="0x04">
<bounds x="75" y="210" width="30" height="30" /> <bounds x="75" y="210" width="30" height="30" />
</bezel> </bezel>
<bezel element="comp_turn" inputtag="O3" inputmask="0x02"> <bezel element="comp_turn" inputtag="O.3" inputmask="0x02">
<bounds x="125" y="210" width="30" height="30" /> <bounds x="125" y="210" width="30" height="30" />
</bezel> </bezel>
</view> </view>

View File

@ -49,7 +49,7 @@
</disk> </disk>
<disk state="1"> <disk state="1">
<color red="0.8" green="0.25" blue="0.1" /> <color red="0.8" green="0.25" blue="0.1" />
<bounds x="0.30" y="0.30" width="0.4" height="0.4" /> <bounds x="0.28" y="0.28" width="0.44" height="0.44" />
</disk> </disk>
</element> </element>
<element name="button_y" defstate="0"> <element name="button_y" defstate="0">
@ -60,7 +60,7 @@
</disk> </disk>
<disk state="1"> <disk state="1">
<color red="0.8" green="0.78" blue="0.1" /> <color red="0.8" green="0.78" blue="0.1" />
<bounds x="0.30" y="0.30" width="0.4" height="0.4" /> <bounds x="0.28" y="0.28" width="0.44" height="0.44" />
</disk> </disk>
</element> </element>