mephisto*: none of them have beeper device sound (nw)

This commit is contained in:
hap 2019-07-12 18:08:26 +02:00
parent 5581efe84a
commit 82b8ffe22e
11 changed files with 165 additions and 149 deletions

View File

@ -3,7 +3,8 @@
// thanks-to:Berger // thanks-to:Berger
/****************************************************************************** /******************************************************************************
CXG Chess 2001, also sold by Hanimex as HCG 1900 CXG Chess 2001, also sold by Hanimex as HCG 1900 and by CGL as Computachess Champion.
CXG Chess 3000 is assumed to be on similar hardware as this.
Hardware notes: Hardware notes:
- Zilog Z8400APS @ 4 MHz (8MHz XTAL) - Zilog Z8400APS @ 4 MHz (8MHz XTAL)
@ -37,7 +38,6 @@ public:
m_display(*this, "display"), m_display(*this, "display"),
m_board(*this, "board"), m_board(*this, "board"),
m_dac(*this, "dac"), m_dac(*this, "dac"),
m_speaker_off(*this, "speaker_off"),
m_inputs(*this, "IN.%u", 0) m_inputs(*this, "IN.%u", 0)
{ } { }
@ -54,15 +54,12 @@ private:
required_device<pwm_display_device> m_display; required_device<pwm_display_device> m_display;
required_device<sensorboard_device> m_board; required_device<sensorboard_device> m_board;
required_device<dac_bit_interface> m_dac; required_device<dac_bit_interface> m_dac;
required_device<timer_device> m_speaker_off;
required_ioport_array<2> m_inputs; required_ioport_array<2> m_inputs;
// periodic interrupts // periodic interrupts
template<int Line> TIMER_DEVICE_CALLBACK_MEMBER(irq_on) { m_maincpu->set_input_line(Line, ASSERT_LINE); } template<int Line> TIMER_DEVICE_CALLBACK_MEMBER(irq_on) { m_maincpu->set_input_line(Line, ASSERT_LINE); }
template<int Line> TIMER_DEVICE_CALLBACK_MEMBER(irq_off) { m_maincpu->set_input_line(Line, CLEAR_LINE); } template<int Line> TIMER_DEVICE_CALLBACK_MEMBER(irq_off) { m_maincpu->set_input_line(Line, CLEAR_LINE); }
TIMER_DEVICE_CALLBACK_MEMBER(speaker_off) { m_dac->write(0); }
// address maps // address maps
void main_map(address_map &map); void main_map(address_map &map);
@ -72,13 +69,18 @@ private:
DECLARE_READ8_MEMBER(input_r); DECLARE_READ8_MEMBER(input_r);
u16 m_inp_mux; u16 m_inp_mux;
int m_dac_data;
}; };
void ch2001_state::machine_start() void ch2001_state::machine_start()
{ {
// zerofill, register for savestates // zerofill
m_inp_mux = 0; m_inp_mux = 0;
m_dac_data = 0;
// register for savestates
save_item(NAME(m_inp_mux)); save_item(NAME(m_inp_mux));
save_item(NAME(m_dac_data));
} }
@ -91,9 +93,9 @@ void ch2001_state::machine_start()
WRITE8_MEMBER(ch2001_state::speaker_w) WRITE8_MEMBER(ch2001_state::speaker_w)
{ {
// 74ls109 clock pulse to speaker // 74ls109 toggle to speaker
m_dac->write(1); m_dac_data ^= 1;
m_speaker_off->adjust(attotime::from_usec(200)); // not accurate m_dac->write(m_dac_data);
} }
WRITE8_MEMBER(ch2001_state::leds_w) WRITE8_MEMBER(ch2001_state::leds_w)
@ -180,9 +182,9 @@ void ch2001_state::ch2001(machine_config &config)
Z80(config, m_maincpu, 8_MHz_XTAL/2); Z80(config, m_maincpu, 8_MHz_XTAL/2);
m_maincpu->set_addrmap(AS_PROGRAM, &ch2001_state::main_map); m_maincpu->set_addrmap(AS_PROGRAM, &ch2001_state::main_map);
const attotime irq_period = attotime::from_hz(484); // theoretical frequency from 555 timer (22nF, 100K+33K, 1K2), measurement was 568Hz const attotime irq_period = attotime::from_hz(533); // theoretical frequency from 555 timer (20nF, 100K+33K, 1K2), measurement was 568Hz
TIMER(config, m_irq_on).configure_periodic(FUNC(ch2001_state::irq_on<INPUT_LINE_IRQ0>), irq_period); TIMER(config, m_irq_on).configure_periodic(FUNC(ch2001_state::irq_on<INPUT_LINE_IRQ0>), irq_period);
m_irq_on->set_start_delay(irq_period - attotime::from_nsec(18300)); // active for 18.3us m_irq_on->set_start_delay(irq_period - attotime::from_nsec(16600)); // active for 16.6us
TIMER(config, "irq_off").configure_periodic(FUNC(ch2001_state::irq_off<INPUT_LINE_IRQ0>), irq_period); TIMER(config, "irq_off").configure_periodic(FUNC(ch2001_state::irq_off<INPUT_LINE_IRQ0>), irq_period);
SENSORBOARD(config, m_board).set_type(sensorboard_device::MAGNETS); SENSORBOARD(config, m_board).set_type(sensorboard_device::MAGNETS);
@ -197,8 +199,6 @@ void ch2001_state::ch2001(machine_config &config)
SPEAKER(config, "speaker").front_center(); SPEAKER(config, "speaker").front_center();
DAC_1BIT(config, m_dac).add_route(ALL_OUTPUTS, "speaker", 0.25); DAC_1BIT(config, m_dac).add_route(ALL_OUTPUTS, "speaker", 0.25);
VOLTAGE_REGULATOR(config, "vref").add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT); VOLTAGE_REGULATOR(config, "vref").add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT);
TIMER(config, m_speaker_off).configure_generic(FUNC(ch2001_state::speaker_off));
} }

View File

@ -40,7 +40,8 @@ How to play (quick guide)
#include "cpu/m68000/m68000.h" #include "cpu/m68000/m68000.h"
#include "machine/mmboard.h" #include "machine/mmboard.h"
#include "machine/timer.h" #include "machine/timer.h"
#include "sound/beep.h" #include "sound/dac.h"
#include "sound/volt_reg.h"
#include "speaker.h" #include "speaker.h"
// internal artwork // internal artwork
@ -54,7 +55,7 @@ public:
glasgow_state(const machine_config &mconfig, device_type type, const char *tag) glasgow_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag) : driver_device(mconfig, type, tag)
, m_maincpu(*this, "maincpu") , m_maincpu(*this, "maincpu")
, m_beep(*this, "beeper") , m_dac(*this, "dac")
, m_board(*this, "board") , m_board(*this, "board")
, m_keyboard(*this, "LINE%u", 0) , m_keyboard(*this, "LINE%u", 0)
, m_digits(*this, "digit%u", 0U) , m_digits(*this, "digit%u", 0U)
@ -75,7 +76,7 @@ protected:
void glasgow_mem(address_map &map); void glasgow_mem(address_map &map);
required_device<cpu_device> m_maincpu; required_device<cpu_device> m_maincpu;
required_device<beep_device> m_beep; required_device<dac_bit_interface> m_dac;
required_device<mephisto_board_device> m_board; required_device<mephisto_board_device> m_board;
required_ioport_array<2> m_keyboard; required_ioport_array<2> m_keyboard;
output_finder<4> m_digits; output_finder<4> m_digits;
@ -122,7 +123,7 @@ WRITE8_MEMBER( glasgow_state::glasgow_lcd_flag_w )
{ {
uint8_t const lcd_flag = data & 0x81; uint8_t const lcd_flag = data & 0x81;
m_beep->set_state(BIT(lcd_flag, 0)); m_dac->write(BIT(lcd_flag, 0));
if (lcd_flag) if (lcd_flag)
m_led7 = 255; m_led7 = 255;
@ -187,7 +188,7 @@ WRITE8_MEMBER( amsterd_state::write_board )
WRITE8_MEMBER( amsterd_state::write_beeper ) WRITE8_MEMBER( amsterd_state::write_beeper )
{ {
m_beep->set_state(BIT(data, 0)); m_dac->write(BIT(data, 0));
} }
READ8_MEMBER( amsterd_state::read_newkeys ) //Amsterdam, Roma, Dallas 32, Roma 32 READ8_MEMBER( amsterd_state::read_newkeys ) //Amsterdam, Roma, Dallas 32, Roma 32
@ -317,13 +318,15 @@ void glasgow_state::glasgow(machine_config &config)
MEPHISTO_SENSORS_BOARD(config, m_board); MEPHISTO_SENSORS_BOARD(config, m_board);
m_board->set_delay(attotime::from_msec(200)); m_board->set_delay(attotime::from_msec(200));
TIMER(config, "nmi_timer").configure_periodic(FUNC(glasgow_state::update_nmi), attotime::from_hz(50));
/* video hardware */ /* video hardware */
config.set_default_layout(layout_mephisto_glasgow); config.set_default_layout(layout_mephisto_glasgow);
SPEAKER(config, "mono").front_center(); /* sound hardware */
BEEP(config, m_beep, 44).add_route(ALL_OUTPUTS, "mono", 0.50); SPEAKER(config, "speaker").front_center();
DAC_1BIT(config, m_dac).add_route(ALL_OUTPUTS, "speaker", 0.25);
TIMER(config, "nmi_timer").configure_periodic(FUNC(glasgow_state::update_nmi), attotime::from_hz(50)); VOLTAGE_REGULATOR(config, "vref").add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT);
} }
void amsterd_state::amsterd(machine_config &config) void amsterd_state::amsterd(machine_config &config)

View File

@ -67,7 +67,8 @@ Mephisto 4 Turbo Kit 18mhz - (mm4tk)
#include "machine/74259.h" #include "machine/74259.h"
#include "machine/mmboard.h" #include "machine/mmboard.h"
#include "machine/timer.h" #include "machine/timer.h"
#include "sound/beep.h" #include "sound/dac.h"
#include "sound/volt_reg.h"
#include "speaker.h" #include "speaker.h"
// internal artwork // internal artwork
@ -81,7 +82,7 @@ public:
: driver_device(mconfig, type, tag) : driver_device(mconfig, type, tag)
, m_maincpu(*this, "maincpu") , m_maincpu(*this, "maincpu")
, m_outlatch(*this, "outlatch") , m_outlatch(*this, "outlatch")
, m_beep(*this, "beeper") , m_dac(*this, "dac")
, m_key1(*this, "KEY1_%u", 0U) , m_key1(*this, "KEY1_%u", 0U)
, m_key2(*this, "KEY2_%u", 0U) , m_key2(*this, "KEY2_%u", 0U)
, m_digits(*this, "digit%u", 0U) , m_digits(*this, "digit%u", 0U)
@ -95,7 +96,11 @@ public:
private: private:
required_device<m65c02_device> m_maincpu; required_device<m65c02_device> m_maincpu;
required_device<hc259_device> m_outlatch; required_device<hc259_device> m_outlatch;
required_device<beep_device> m_beep; required_device<dac_bit_interface> m_dac;
required_ioport_array<8> m_key1;
required_ioport_array<8> m_key2;
output_finder<4> m_digits;
DECLARE_WRITE8_MEMBER(write_lcd); DECLARE_WRITE8_MEMBER(write_lcd);
DECLARE_WRITE8_MEMBER(mephisto_NMI); DECLARE_WRITE8_MEMBER(mephisto_NMI);
DECLARE_READ8_MEMBER(read_keys); DECLARE_READ8_MEMBER(read_keys);
@ -114,10 +119,6 @@ private:
void mephisto_mem(address_map &map); void mephisto_mem(address_map &map);
void mm2_mem(address_map &map); void mm2_mem(address_map &map);
void rebel5_mem(address_map &map); void rebel5_mem(address_map &map);
required_ioport_array<8> m_key1;
required_ioport_array<8> m_key2;
output_finder<4> m_digits;
}; };
@ -294,12 +295,13 @@ void mephisto_state::mephisto(machine_config &config)
m_outlatch->q_out_cb<3>().set_output("led103"); m_outlatch->q_out_cb<3>().set_output("led103");
m_outlatch->q_out_cb<4>().set_output("led104"); m_outlatch->q_out_cb<4>().set_output("led104");
m_outlatch->q_out_cb<5>().set_output("led105"); m_outlatch->q_out_cb<5>().set_output("led105");
m_outlatch->q_out_cb<6>().set(m_beep, FUNC(beep_device::set_state)); m_outlatch->q_out_cb<6>().set(m_dac, FUNC(dac_bit_interface::write));
m_outlatch->q_out_cb<7>().set(FUNC(mephisto_state::write_led7)); m_outlatch->q_out_cb<7>().set(FUNC(mephisto_state::write_led7));
/* sound hardware */ /* sound hardware */
SPEAKER(config, "mono").front_center(); SPEAKER(config, "speaker").front_center();
BEEP(config, m_beep, 3250).add_route(ALL_OUTPUTS, "mono", 1.0); DAC_1BIT(config, m_dac).add_route(ALL_OUTPUTS, "speaker", 0.25);
VOLTAGE_REGULATOR(config, "vref").add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT);
TIMER(config, "nmi_timer").configure_periodic(FUNC(mephisto_state::update_nmi), attotime::from_hz(600)); TIMER(config, "nmi_timer").configure_periodic(FUNC(mephisto_state::update_nmi), attotime::from_hz(600));

View File

@ -21,6 +21,8 @@
#include "machine/nvram.h" #include "machine/nvram.h"
#include "machine/mmboard.h" #include "machine/mmboard.h"
#include "machine/timer.h" #include "machine/timer.h"
#include "sound/dac.h"
#include "sound/volt_reg.h"
#include "screen.h" #include "screen.h"
#include "speaker.h" #include "speaker.h"
#include "softlist.h" #include "softlist.h"
@ -41,7 +43,7 @@ public:
: driver_device(mconfig, type, tag) : driver_device(mconfig, type, tag)
, m_maincpu(*this, "maincpu") , m_maincpu(*this, "maincpu")
, m_board(*this, "board") , m_board(*this, "board")
, m_beeper(*this, "beeper") , m_dac(*this, "dac")
, m_keys(*this, "KEY.%u", 0) , m_keys(*this, "KEY.%u", 0)
, m_digits(*this, "digit%u", 0U) , m_digits(*this, "digit%u", 0U)
, m_low_leds(*this, "led%u", 0U) , m_low_leds(*this, "led%u", 0U)
@ -91,7 +93,7 @@ private:
required_device<cpu_device> m_maincpu; required_device<cpu_device> m_maincpu;
required_device<mephisto_board_device> m_board; required_device<mephisto_board_device> m_board;
required_device<beep_device> m_beeper; required_device<dac_bit_interface> m_dac;
optional_ioport_array<2> m_keys; optional_ioport_array<2> m_keys;
output_finder<8> m_digits; output_finder<8> m_digits;
output_finder<16> m_low_leds, m_high_leds; output_finder<16> m_low_leds, m_high_leds;
@ -228,7 +230,7 @@ WRITE8_MEMBER(mephisto_montec_state::montec_nmi_ack_w)
WRITE8_MEMBER(mephisto_montec_state::montec_beeper_w) WRITE8_MEMBER(mephisto_montec_state::montec_beeper_w)
{ {
m_beeper->set_state(BIT(data, 7) ? 0 : 1); m_dac->write(BIT(data, 7));
} }
WRITE8_MEMBER(mephisto_montec_state::megaiv_led_w) WRITE8_MEMBER(mephisto_montec_state::megaiv_led_w)
@ -247,7 +249,7 @@ WRITE8_MEMBER(mephisto_montec_state::megaiv_led_w)
} }
} }
m_beeper->set_state(BIT(data, 7)); m_dac->write(BIT(data, 7));
} }
READ8_MEMBER(mephisto_montec_state::megaiv_input_r) READ8_MEMBER(mephisto_montec_state::megaiv_input_r)
@ -324,7 +326,7 @@ WRITE8_MEMBER(mephisto_montec_state::smondial_led_data_w)
else else
m_leds_mux |= (1 << offset); m_leds_mux |= (1 << offset);
m_beeper->set_state(BIT(m_leds_mux, 7)); m_dac->write(BIT(m_leds_mux, 7));
} }
void mephisto_montec_state::smondial_mem(address_map &map) void mephisto_montec_state::smondial_mem(address_map &map)
@ -355,7 +357,7 @@ WRITE8_MEMBER(mephisto_montec_state::mondial2_input_mux_w)
} }
m_input_mux = data ^ 0xff; m_input_mux = data ^ 0xff;
m_beeper->set_state(BIT(data, 7)); m_dac->write(BIT(data, 7));
m_maincpu->set_input_line(M65C02_NMI_LINE, CLEAR_LINE); m_maincpu->set_input_line(M65C02_NMI_LINE, CLEAR_LINE);
} }
@ -396,7 +398,7 @@ WRITE8_MEMBER(mephisto_montec_state::mondial_input_mux_w)
} }
m_input_mux = data; m_input_mux = data;
m_beeper->set_state(BIT(data, 7)); m_dac->write(BIT(data, 7));
m_maincpu->set_input_line(M65C02_IRQ_LINE, CLEAR_LINE); m_maincpu->set_input_line(M65C02_IRQ_LINE, CLEAR_LINE);
} }
@ -516,8 +518,9 @@ void mephisto_montec_state::montec(machine_config &config)
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
SPEAKER(config, "mono").front_center(); SPEAKER(config, "speaker").front_center();
BEEP(config, m_beeper, 3250).add_route(ALL_OUTPUTS, "mono", 1.0); DAC_1BIT(config, m_dac).add_route(ALL_OUTPUTS, "speaker", 0.25);
VOLTAGE_REGULATOR(config, "vref").add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT);
MEPHISTO_SENSORS_BOARD(config, m_board); MEPHISTO_SENSORS_BOARD(config, m_board);
m_board->set_delay(attotime::from_msec(300)); m_board->set_delay(attotime::from_msec(300));

View File

@ -12,6 +12,8 @@
#include "machine/nvram.h" #include "machine/nvram.h"
#include "machine/mmboard.h" #include "machine/mmboard.h"
#include "machine/timer.h" #include "machine/timer.h"
#include "sound/dac.h"
#include "sound/volt_reg.h"
#include "speaker.h" #include "speaker.h"
#include "mephisto_modena.lh" #include "mephisto_modena.lh"
@ -24,7 +26,7 @@ public:
: driver_device(mconfig, type, tag) : driver_device(mconfig, type, tag)
, m_maincpu(*this, "maincpu") , m_maincpu(*this, "maincpu")
, m_board(*this, "board") , m_board(*this, "board")
, m_beeper(*this, "beeper") , m_dac(*this, "dac")
, m_keys(*this, "KEY") , m_keys(*this, "KEY")
, m_digits(*this, "digit%u", 0U) , m_digits(*this, "digit%u", 0U)
, m_leds1(*this, "led%u", 100U) , m_leds1(*this, "led%u", 100U)
@ -48,7 +50,7 @@ protected:
private: private:
required_device<cpu_device> m_maincpu; required_device<cpu_device> m_maincpu;
required_device<mephisto_board_device> m_board; required_device<mephisto_board_device> m_board;
required_device<beep_device> m_beeper; required_device<dac_bit_interface> m_dac;
required_ioport m_keys; required_ioport m_keys;
output_finder<4> m_digits; output_finder<4> m_digits;
output_finder<8> m_leds1; output_finder<8> m_leds1;
@ -88,7 +90,7 @@ WRITE8_MEMBER(mephisto_modena_state::modena_led_w)
WRITE8_MEMBER(mephisto_modena_state::modena_io_w) WRITE8_MEMBER(mephisto_modena_state::modena_io_w)
{ {
m_io_ctrl = data; m_io_ctrl = data;
m_beeper->set_state(BIT(data, 6)); m_dac->write(BIT(data, 6));
} }
WRITE8_MEMBER(mephisto_modena_state::modena_digits_w) WRITE8_MEMBER(mephisto_modena_state::modena_digits_w)
@ -154,8 +156,9 @@ void mephisto_modena_state::modena(machine_config &config)
config.set_default_layout(layout_mephisto_modena); config.set_default_layout(layout_mephisto_modena);
/* sound hardware */ /* sound hardware */
SPEAKER(config, "mono").front_center(); SPEAKER(config, "speaker").front_center();
BEEP(config, m_beeper, 3250).add_route(ALL_OUTPUTS, "mono", 1.0); DAC_1BIT(config, m_dac).add_route(ALL_OUTPUTS, "speaker", 0.25);
VOLTAGE_REGULATOR(config, "vref").add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT);
} }

View File

@ -365,7 +365,7 @@ void mephisto_academy_state::academy(machine_config &config)
hc259_device &outlatch(HC259(config.replace(), "outlatch")); hc259_device &outlatch(HC259(config.replace(), "outlatch"));
outlatch.q_out_cb<1>().set(FUNC(mephisto_academy_state::academy_nmi_w)); outlatch.q_out_cb<1>().set(FUNC(mephisto_academy_state::academy_nmi_w));
outlatch.q_out_cb<2>().set("display:beeper", FUNC(beep_device::set_state)).invert(); outlatch.q_out_cb<2>().set("display:dac", FUNC(dac_byte_interface::write));
config.set_default_layout(layout_mephisto_academy); config.set_default_layout(layout_mephisto_academy);
} }

View File

@ -297,8 +297,8 @@ void risc2500_state::risc2500(machine_config &config)
/* sound hardware */ /* sound hardware */
SPEAKER(config, "speaker").front_center(); SPEAKER(config, "speaker").front_center();
DAC_2BIT_BINARY_WEIGHTED_ONES_COMPLEMENT(config, m_dac, 0).add_route(ALL_OUTPUTS, "speaker", 0.25); // unknown DAC DAC_2BIT_BINARY_WEIGHTED_ONES_COMPLEMENT(config, m_dac).add_route(ALL_OUTPUTS, "speaker", 0.25); // unknown DAC
voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref", 0)); voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref"));
vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT); vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT);
vref.add_route(0, "dac", -1.0, DAC_VREF_NEG_INPUT); vref.add_route(0, "dac", -1.0, DAC_VREF_NEG_INPUT);
} }

View File

@ -4,7 +4,8 @@
<!-- define elements --> <!-- define elements -->
<element name="blackb"><rect><color red="0" green="0" blue="0" /></rect></element> <element name="blackb"><rect><color red="0" green="0" blue="0" /></rect></element>
<element name="black"><rect><color red="0.15" green="0.15" blue="0.15" /></rect></element> <element name="white"><rect><color red="0.7" green="0.7" blue="0.7" /></rect></element>
<element name="disk_white"><disk><color red="0.7" green="0.7" blue="0.7" /></disk></element>
<element name="led" defstate="0"> <element name="led" defstate="0">
<disk state="1"><color red="1.0" green="0.1" blue="0.15" /></disk> <disk state="1"><color red="1.0" green="0.1" blue="0.15" /></disk>
@ -16,12 +17,12 @@
</element> </element>
<element name="butd" defstate="0"> <element name="butd" defstate="0">
<disk state="0"><color red="0.4" green="0.4" blue="0.4" /></disk> <disk state="0"><color red="0.2" green="0.2" blue="0.2" /></disk>
<disk state="1"><color red="0.3" green="0.3" blue="0.3" /></disk> <disk state="1"><color red="0.35" green="0.35" blue="0.35" /></disk>
</element> </element>
<element name="butr" defstate="0"> <element name="butr" defstate="0">
<rect state="0"><color red="0.4" green="0.4" blue="0.4" /></rect> <rect state="0"><color red="0.2" green="0.2" blue="0.2" /></rect>
<rect state="1"><color red="0.3" green="0.3" blue="0.3" /></rect> <rect state="1"><color red="0.35" green="0.35" blue="0.35" /></rect>
</element> </element>
<element name="text_1"> <element name="text_1">
@ -91,47 +92,47 @@
</element> </element>
<element name="text_white"> <element name="text_white">
<rect><color red="0.15" green="0.15" blue="0.15" /></rect> <rect><color red="0.7" green="0.7" blue="0.7" /></rect>
<text string="White"><color red="0.81" green="0.8" blue="0.79" /></text> <text string="White"><color red="0.01" green="0.01" blue="0.01" /></text>
</element> </element>
<element name="text_black"> <element name="text_black">
<rect><color red="0.15" green="0.15" blue="0.15" /></rect> <rect><color red="0.7" green="0.7" blue="0.7" /></rect>
<text string="Black"><color red="0.81" green="0.8" blue="0.79" /></text> <text string="Black"><color red="0.01" green="0.01" blue="0.01" /></text>
</element> </element>
<element name="text_p1"> <element name="text_p1">
<rect><color red="0.15" green="0.15" blue="0.15" /></rect> <rect><color red="0.7" green="0.7" blue="0.7" /></rect>
<text string="[K]"><color red="0.81" green="0.8" blue="0.79" /></text> <text string="[K]"><color red="0.01" green="0.01" blue="0.01" /></text>
</element> </element>
<element name="text_p2"> <element name="text_p2">
<rect><color red="0.15" green="0.15" blue="0.15" /></rect> <rect><color red="0.7" green="0.7" blue="0.7" /></rect>
<text string="[Q]"><color red="0.81" green="0.8" blue="0.79" /></text> <text string="[Q]"><color red="0.01" green="0.01" blue="0.01" /></text>
</element> </element>
<element name="text_p3"> <element name="text_p3">
<rect><color red="0.15" green="0.15" blue="0.15" /></rect> <rect><color red="0.7" green="0.7" blue="0.7" /></rect>
<text string="[R]"><color red="0.81" green="0.8" blue="0.79" /></text> <text string="[R]"><color red="0.01" green="0.01" blue="0.01" /></text>
</element> </element>
<element name="text_p4"> <element name="text_p4">
<rect><color red="0.15" green="0.15" blue="0.15" /></rect> <rect><color red="0.7" green="0.7" blue="0.7" /></rect>
<text string="[B]"><color red="0.81" green="0.8" blue="0.79" /></text> <text string="[B]"><color red="0.01" green="0.01" blue="0.01" /></text>
</element> </element>
<element name="text_p5"> <element name="text_p5">
<rect><color red="0.15" green="0.15" blue="0.15" /></rect> <rect><color red="0.7" green="0.7" blue="0.7" /></rect>
<text string="[N]"><color red="0.81" green="0.8" blue="0.79" /></text> <text string="[N]"><color red="0.01" green="0.01" blue="0.01" /></text>
</element> </element>
<element name="text_p6"> <element name="text_p6">
<rect><color red="0.15" green="0.15" blue="0.15" /></rect> <rect><color red="0.7" green="0.7" blue="0.7" /></rect>
<text string="[P]"><color red="0.81" green="0.8" blue="0.79" /></text> <text string="[P]"><color red="0.01" green="0.01" blue="0.01" /></text>
</element> </element>
<element name="text_b1"><text string="Set up"><color red="0.81" green="0.8" blue="0.79" /></text></element> <element name="text_b1"><text string="Set up"><color red="0.8" green="0.8" blue="0.8" /></text></element>
<element name="text_b2"><text string="New Game"><color red="0.81" green="0.8" blue="0.79" /></text></element> <element name="text_b2"><text string="New Game"><color red="0.8" green="0.8" blue="0.8" /></text></element>
<element name="text_b3"><text string="Hint"><color red="0.81" green="0.8" blue="0.79" /></text></element> <element name="text_b3"><text string="Hint"><color red="0.8" green="0.8" blue="0.8" /></text></element>
<element name="text_b4"><text string="Sound"><color red="0.81" green="0.8" blue="0.79" /></text></element> <element name="text_b4"><text string="Sound"><color red="0.8" green="0.8" blue="0.8" /></text></element>
<element name="text_b5"><text string="Level"><color red="0.81" green="0.8" blue="0.79" /></text></element> <element name="text_b5"><text string="Level"><color red="0.8" green="0.8" blue="0.8" /></text></element>
<element name="text_b6"><text string="Forward"><color red="0.81" green="0.8" blue="0.79" /></text></element> <element name="text_b6"><text string="Forward"><color red="0.8" green="0.8" blue="0.8" /></text></element>
<element name="text_b7"><text string="Take Back"><color red="0.81" green="0.8" blue="0.79" /></text></element> <element name="text_b7"><text string="Take Back"><color red="0.8" green="0.8" blue="0.8" /></text></element>
<element name="text_b8"><text string="Move"><color red="0.81" green="0.8" blue="0.79" /></text></element> <element name="text_b8"><text string="Move"><color red="0.8" green="0.8" blue="0.8" /></text></element>
<!-- sb board --> <!-- sb board -->
@ -298,9 +299,9 @@
<rect state="1"><color red="0" green="0" blue="0" /></rect> <rect state="1"><color red="0" green="0" blue="0" /></rect>
</element> </element>
<element name="text_uit1"><text string="S.BOARD"><color red="0.81" green="0.8" blue="0.79" /></text></element> <element name="text_uit1"><text string="S.BOARD"><color red="0.7" green="0.7" blue="0.7" /></text></element>
<element name="text_uit2"><text string="INTERFACE"><color red="0.81" green="0.8" blue="0.79" /></text></element> <element name="text_uit2"><text string="INTERFACE"><color red="0.7" green="0.7" blue="0.7" /></text></element>
<element name="text_uib1"><text string="BOARD:"><color red="0.81" green="0.8" blue="0.79" /></text></element> <element name="text_uib1"><text string="BOARD:"><color red="0.7" green="0.7" blue="0.7" /></text></element>
<element name="text_uib2"> <element name="text_uib2">
<rect><color red="0.85" green="0.74" blue="0.5" /></rect> <rect><color red="0.85" green="0.74" blue="0.5" /></rect>
<text string="RESET"><color red="0.01" green="0.01" blue="0.01" /></text> <text string="RESET"><color red="0.01" green="0.01" blue="0.01" /></text>
@ -309,13 +310,13 @@
<rect><color red="0.85" green="0.74" blue="0.5" /></rect> <rect><color red="0.85" green="0.74" blue="0.5" /></rect>
<text string="CLEAR"><color red="0.01" green="0.01" blue="0.01" /></text> <text string="CLEAR"><color red="0.01" green="0.01" blue="0.01" /></text>
</element> </element>
<element name="text_uis1"><text string="SPAWN:"><color red="0.81" green="0.8" blue="0.79" /></text></element> <element name="text_uis1"><text string="SPAWN:"><color red="0.7" green="0.7" blue="0.7" /></text></element>
<element name="text_uih1"><text string="HAND:"><color red="0.81" green="0.8" blue="0.79" /></text></element> <element name="text_uih1"><text string="HAND:"><color red="0.7" green="0.7" blue="0.7" /></text></element>
<element name="text_uih2"> <element name="text_uih2">
<rect><color red="0.85" green="0.74" blue="0.5" /></rect> <rect><color red="0.85" green="0.74" blue="0.5" /></rect>
<text string="REMOVE"><color red="0.01" green="0.01" blue="0.01" /></text> <text string="REMOVE"><color red="0.01" green="0.01" blue="0.01" /></text>
</element> </element>
<element name="text_uiu1"><text string="UNDO:"><color red="0.81" green="0.8" blue="0.79" /></text></element> <element name="text_uiu1"><text string="UNDO:"><color red="0.7" green="0.7" blue="0.7" /></text></element>
<element name="text_uiu2a"> <element name="text_uiu2a">
<rect><color red="0.85" green="0.74" blue="0.5" /></rect> <rect><color red="0.85" green="0.74" blue="0.5" /></rect>
<text string=" &lt;&lt;"><color red="0.01" green="0.01" blue="0.01" /></text> <text string=" &lt;&lt;"><color red="0.01" green="0.01" blue="0.01" /></text>
@ -334,13 +335,13 @@
</element> </element>
<element name="text_uiu3a" defstate="0"> <element name="text_uiu3a" defstate="0">
<simplecounter maxstate="999" digits="1" align="2"> <simplecounter maxstate="999" digits="1" align="2">
<color red="0.81" green="0.8" blue="0.79" /> <color red="0.7" green="0.7" blue="0.7" />
</simplecounter> </simplecounter>
</element> </element>
<element name="text_uiu3b"><text string="/"><color red="0.81" green="0.8" blue="0.79" /></text></element> <element name="text_uiu3b"><text string="/"><color red="0.7" green="0.7" blue="0.7" /></text></element>
<element name="text_uiu3c" defstate="0"> <element name="text_uiu3c" defstate="0">
<simplecounter maxstate="999" digits="1" align="1"> <simplecounter maxstate="999" digits="1" align="1">
<color red="0.81" green="0.8" blue="0.79" /> <color red="0.7" green="0.7" blue="0.7" />
</simplecounter> </simplecounter>
</element> </element>
@ -465,55 +466,55 @@
<bezel element="text_b2"><bounds x="7" y="101.4" width="12" height="1.8" /></bezel> <bezel element="text_b2"><bounds x="7" y="101.4" width="12" height="1.8" /></bezel>
<bezel element="butr" inputtag="IN.1" inputmask="0x02"><bounds x="10" y="103.8" width="6" height="2" /></bezel> <bezel element="butr" inputtag="IN.1" inputmask="0x02"><bounds x="10" y="103.8" width="6" height="2" /></bezel>
<bezel element="black"><bounds x="20.2" y="89.2" width="7.6" height="9" /></bezel> <bezel element="white"><bounds x="20.2" y="89.2" width="7.6" height="9" /></bezel>
<bezel element="blackb"><bounds x="20.5" y="89.5" width="7" height="8.4" /></bezel> <bezel element="blackb"><bounds x="20.5" y="89.5" width="7" height="8.4" /></bezel>
<bezel name="8.1" element="led2"><bounds x="23.25" y="90" width="1.5" height="1.5" /></bezel> <bezel name="8.1" element="led2"><bounds x="23.25" y="90" width="1.5" height="1.5" /></bezel>
<bezel element="black"><bounds x="21" y="91.8" width="6" height="2" /></bezel> <bezel element="white"><bounds x="21" y="91.8" width="6" height="2" /></bezel>
<bezel element="text_p1"><bounds x="21" y="91.9" width="6" height="1.5" /></bezel> <bezel element="text_p1"><bounds x="21" y="91.9" width="6" height="1.5" /></bezel>
<bezel element="butr" inputtag="IN.0" inputmask="0x02"><bounds x="21" y="94.3" width="6" height="2" /></bezel> <bezel element="butr" inputtag="IN.0" inputmask="0x02"><bounds x="21" y="94.3" width="6" height="2" /></bezel>
<bezel element="black"><bounds x="28.2" y="89.2" width="7.6" height="9" /></bezel> <bezel element="white"><bounds x="28.2" y="89.2" width="7.6" height="9" /></bezel>
<bezel element="blackb"><bounds x="28.5" y="89.5" width="7" height="8.4" /></bezel> <bezel element="blackb"><bounds x="28.5" y="89.5" width="7" height="8.4" /></bezel>
<bezel name="8.2" element="led2"><bounds x="31.25" y="90" width="1.5" height="1.5" /></bezel> <bezel name="8.2" element="led2"><bounds x="31.25" y="90" width="1.5" height="1.5" /></bezel>
<bezel element="black"><bounds x="29" y="91.8" width="6" height="2" /></bezel> <bezel element="white"><bounds x="29" y="91.8" width="6" height="2" /></bezel>
<bezel element="text_p2"><bounds x="29" y="91.9" width="6" height="1.5" /></bezel> <bezel element="text_p2"><bounds x="29" y="91.9" width="6" height="1.5" /></bezel>
<bezel element="butr" inputtag="IN.0" inputmask="0x04"><bounds x="29" y="94.3" width="6" height="2" /></bezel> <bezel element="butr" inputtag="IN.0" inputmask="0x04"><bounds x="29" y="94.3" width="6" height="2" /></bezel>
<bezel element="black"><bounds x="36.2" y="89.2" width="7.6" height="9" /></bezel> <bezel element="white"><bounds x="36.2" y="89.2" width="7.6" height="9" /></bezel>
<bezel element="blackb"><bounds x="36.5" y="89.5" width="7" height="8.4" /></bezel> <bezel element="blackb"><bounds x="36.5" y="89.5" width="7" height="8.4" /></bezel>
<bezel name="8.3" element="led2"><bounds x="39.25" y="90" width="1.5" height="1.5" /></bezel> <bezel name="8.3" element="led2"><bounds x="39.25" y="90" width="1.5" height="1.5" /></bezel>
<bezel element="black"><bounds x="37" y="91.8" width="6" height="2" /></bezel> <bezel element="white"><bounds x="37" y="91.8" width="6" height="2" /></bezel>
<bezel element="text_p3"><bounds x="37" y="91.9" width="6" height="1.5" /></bezel> <bezel element="text_p3"><bounds x="37" y="91.9" width="6" height="1.5" /></bezel>
<bezel element="butr" inputtag="IN.0" inputmask="0x08"><bounds x="37" y="94.3" width="6" height="2" /></bezel> <bezel element="butr" inputtag="IN.0" inputmask="0x08"><bounds x="37" y="94.3" width="6" height="2" /></bezel>
<bezel element="black"><bounds x="20.2" y="98.7" width="7.6" height="9" /></bezel> <bezel element="white"><bounds x="20.2" y="98.7" width="7.6" height="9" /></bezel>
<bezel element="blackb"><bounds x="20.5" y="99" width="7" height="8.4" /></bezel> <bezel element="blackb"><bounds x="20.5" y="99" width="7" height="8.4" /></bezel>
<bezel name="8.4" element="led2"><bounds x="23.25" y="99.5" width="1.5" height="1.5" /></bezel> <bezel name="8.4" element="led2"><bounds x="23.25" y="99.5" width="1.5" height="1.5" /></bezel>
<bezel element="black"><bounds x="21" y="101.3" width="6" height="2" /></bezel> <bezel element="white"><bounds x="21" y="101.3" width="6" height="2" /></bezel>
<bezel element="text_p4"><bounds x="21" y="101.4" width="6" height="1.5" /></bezel> <bezel element="text_p4"><bounds x="21" y="101.4" width="6" height="1.5" /></bezel>
<bezel element="butr" inputtag="IN.0" inputmask="0x10"><bounds x="21" y="103.8" width="6" height="2" /></bezel> <bezel element="butr" inputtag="IN.0" inputmask="0x10"><bounds x="21" y="103.8" width="6" height="2" /></bezel>
<bezel element="black"><bounds x="28.2" y="98.7" width="7.6" height="9" /></bezel> <bezel element="white"><bounds x="28.2" y="98.7" width="7.6" height="9" /></bezel>
<bezel element="blackb"><bounds x="28.5" y="99" width="7" height="8.4" /></bezel> <bezel element="blackb"><bounds x="28.5" y="99" width="7" height="8.4" /></bezel>
<bezel name="8.5" element="led2"><bounds x="31.25" y="99.5" width="1.5" height="1.5" /></bezel> <bezel name="8.5" element="led2"><bounds x="31.25" y="99.5" width="1.5" height="1.5" /></bezel>
<bezel element="black"><bounds x="29" y="101.3" width="6" height="2" /></bezel> <bezel element="white"><bounds x="29" y="101.3" width="6" height="2" /></bezel>
<bezel element="text_p5"><bounds x="29" y="101.4" width="6" height="1.5" /></bezel> <bezel element="text_p5"><bounds x="29" y="101.4" width="6" height="1.5" /></bezel>
<bezel element="butr" inputtag="IN.0" inputmask="0x20"><bounds x="29" y="103.8" width="6" height="2" /></bezel> <bezel element="butr" inputtag="IN.0" inputmask="0x20"><bounds x="29" y="103.8" width="6" height="2" /></bezel>
<bezel element="black"><bounds x="36.2" y="98.7" width="7.6" height="9" /></bezel> <bezel element="white"><bounds x="36.2" y="98.7" width="7.6" height="9" /></bezel>
<bezel element="blackb"><bounds x="36.5" y="99" width="7" height="8.4" /></bezel> <bezel element="blackb"><bounds x="36.5" y="99" width="7" height="8.4" /></bezel>
<bezel name="8.6" element="led2"><bounds x="39.25" y="99.5" width="1.5" height="1.5" /></bezel> <bezel name="8.6" element="led2"><bounds x="39.25" y="99.5" width="1.5" height="1.5" /></bezel>
<bezel element="black"><bounds x="37" y="101.3" width="6" height="2" /></bezel> <bezel element="white"><bounds x="37" y="101.3" width="6" height="2" /></bezel>
<bezel element="text_p6"><bounds x="37" y="101.4" width="6" height="1.5" /></bezel> <bezel element="text_p6"><bounds x="37" y="101.4" width="6" height="1.5" /></bezel>
<bezel element="butr" inputtag="IN.0" inputmask="0x40"><bounds x="37" y="103.8" width="6" height="2" /></bezel> <bezel element="butr" inputtag="IN.0" inputmask="0x40"><bounds x="37" y="103.8" width="6" height="2" /></bezel>
<bezel element="black"><bounds x="46.5" y="89.2" width="7" height="9" /></bezel> <bezel element="white"><bounds x="46.5" y="89.2" width="7" height="9" /></bezel>
<bezel element="blackb"><bounds x="46.8" y="89.5" width="6.4" height="8.4" /></bezel> <bezel element="blackb"><bounds x="46.8" y="89.5" width="6.4" height="8.4" /></bezel>
<bezel name="8.7" element="led2"><bounds x="49.25" y="90" width="1.5" height="1.5" /></bezel> <bezel name="8.7" element="led2"><bounds x="49.25" y="90" width="1.5" height="1.5" /></bezel>
<bezel element="text_white"><bounds x="48" y="91.8" width="4" height="1.5" /></bezel> <bezel element="text_white"><bounds x="48" y="91.8" width="4" height="1.5" /></bezel>
<bezel element="butd" inputtag="IN.0" inputmask="0x80"><bounds x="48.5" y="94" width="3" height="3" /></bezel> <bezel element="butd" inputtag="IN.0" inputmask="0x80"><bounds x="48.5" y="94" width="3" height="3" /></bezel>
<bezel element="black"><bounds x="46.5" y="98.7" width="7" height="9" /></bezel> <bezel element="white"><bounds x="46.5" y="98.7" width="7" height="9" /></bezel>
<bezel element="blackb"><bounds x="46.8" y="99" width="6.4" height="8.4" /></bezel> <bezel element="blackb"><bounds x="46.8" y="99" width="6.4" height="8.4" /></bezel>
<bezel name="8.0" element="led2"><bounds x="49.25" y="99.5" width="1.5" height="1.5" /></bezel> <bezel name="8.0" element="led2"><bounds x="49.25" y="99.5" width="1.5" height="1.5" /></bezel>
<bezel element="text_black"><bounds x="48" y="101.3" width="4" height="1.5" /></bezel> <bezel element="text_black"><bounds x="48" y="101.3" width="4" height="1.5" /></bezel>
@ -532,8 +533,8 @@
<bezel element="text_b8"><bounds x="68" y="98.7" width="12" height="1.8" /></bezel> <bezel element="text_b8"><bounds x="68" y="98.7" width="12" height="1.8" /></bezel>
<bezel element="butr" inputtag="IN.1" inputmask="0x20"><bounds x="73" y="101" width="2" height="6" /></bezel> <bezel element="butr" inputtag="IN.1" inputmask="0x20"><bounds x="73" y="101" width="2" height="6" /></bezel>
<bezel element="black"><bounds x="61.85" y="89.2" width="0.3" height="18.5" /></bezel> <bezel element="white"><bounds x="61.85" y="89.2" width="0.3" height="18.5" /></bezel>
<bezel element="black"><bounds x="69.85" y="89.2" width="0.3" height="18.5" /></bezel> <bezel element="white"><bounds x="69.85" y="89.2" width="0.3" height="18.5" /></bezel>
</view> </view>
</mamelayout> </mamelayout>

View File

@ -4,9 +4,9 @@
<!-- define elements --> <!-- define elements -->
<element name="black"><rect><color red="0.07" green="0.08" blue="0.07" /></rect></element> <element name="black"><rect><color red="0.07" green="0.08" blue="0.07" /></rect></element>
<element name="green"><rect><color red="0.0" green="0.55" blue="0.25" /></rect></element> <element name="green"><rect><color red="0.1" green="0.65" blue="0.35" /></rect></element>
<element name="disk_black"><disk><color red="0.07" green="0.08" blue="0.07" /></disk></element> <element name="disk_black"><disk><color red="0.07" green="0.08" blue="0.07" /></disk></element>
<element name="disk_green"><disk><color red="0.0" green="0.55" blue="0.25" /></disk></element> <element name="disk_green"><disk><color red="0.1" green="0.65" blue="0.35" /></disk></element>
<element name="led" defstate="0"> <element name="led" defstate="0">
<disk state="1"><color red="1.0" green="0.1" blue="0.15" /></disk> <disk state="1"><color red="1.0" green="0.1" blue="0.15" /></disk>
@ -25,126 +25,126 @@
</element> </element>
<element name="text_1"> <element name="text_1">
<rect><color red="0.0" green="0.55" blue="0.25" /></rect> <rect><color red="0.1" green="0.65" blue="0.35" /></rect>
<text string="1"><color red="0.01" green="0.01" blue="0.01" /></text> <text string="1"><color red="0.01" green="0.01" blue="0.01" /></text>
</element> </element>
<element name="text_2"> <element name="text_2">
<rect><color red="0.0" green="0.55" blue="0.25" /></rect> <rect><color red="0.1" green="0.65" blue="0.35" /></rect>
<text string="2"><color red="0.01" green="0.01" blue="0.01" /></text> <text string="2"><color red="0.01" green="0.01" blue="0.01" /></text>
</element> </element>
<element name="text_3"> <element name="text_3">
<rect><color red="0.0" green="0.55" blue="0.25" /></rect> <rect><color red="0.1" green="0.65" blue="0.35" /></rect>
<text string="3"><color red="0.01" green="0.01" blue="0.01" /></text> <text string="3"><color red="0.01" green="0.01" blue="0.01" /></text>
</element> </element>
<element name="text_4"> <element name="text_4">
<rect><color red="0.0" green="0.55" blue="0.25" /></rect> <rect><color red="0.1" green="0.65" blue="0.35" /></rect>
<text string="4"><color red="0.01" green="0.01" blue="0.01" /></text> <text string="4"><color red="0.01" green="0.01" blue="0.01" /></text>
</element> </element>
<element name="text_5"> <element name="text_5">
<rect><color red="0.0" green="0.55" blue="0.25" /></rect> <rect><color red="0.1" green="0.65" blue="0.35" /></rect>
<text string="5"><color red="0.01" green="0.01" blue="0.01" /></text> <text string="5"><color red="0.01" green="0.01" blue="0.01" /></text>
</element> </element>
<element name="text_6"> <element name="text_6">
<rect><color red="0.0" green="0.55" blue="0.25" /></rect> <rect><color red="0.1" green="0.65" blue="0.35" /></rect>
<text string="6"><color red="0.01" green="0.01" blue="0.01" /></text> <text string="6"><color red="0.01" green="0.01" blue="0.01" /></text>
</element> </element>
<element name="text_7"> <element name="text_7">
<rect><color red="0.0" green="0.55" blue="0.25" /></rect> <rect><color red="0.1" green="0.65" blue="0.35" /></rect>
<text string="7"><color red="0.01" green="0.01" blue="0.01" /></text> <text string="7"><color red="0.01" green="0.01" blue="0.01" /></text>
</element> </element>
<element name="text_8"> <element name="text_8">
<rect><color red="0.0" green="0.55" blue="0.25" /></rect> <rect><color red="0.1" green="0.65" blue="0.35" /></rect>
<text string="8"><color red="0.01" green="0.01" blue="0.01" /></text> <text string="8"><color red="0.01" green="0.01" blue="0.01" /></text>
</element> </element>
<element name="text_a"> <element name="text_a">
<rect><color red="0.0" green="0.55" blue="0.25" /></rect> <rect><color red="0.1" green="0.65" blue="0.35" /></rect>
<text string="A"><color red="0.01" green="0.01" blue="0.01" /></text> <text string="A"><color red="0.01" green="0.01" blue="0.01" /></text>
</element> </element>
<element name="text_b"> <element name="text_b">
<rect><color red="0.0" green="0.55" blue="0.25" /></rect> <rect><color red="0.1" green="0.65" blue="0.35" /></rect>
<text string="B"><color red="0.01" green="0.01" blue="0.01" /></text> <text string="B"><color red="0.01" green="0.01" blue="0.01" /></text>
</element> </element>
<element name="text_c"> <element name="text_c">
<rect><color red="0.0" green="0.55" blue="0.25" /></rect> <rect><color red="0.1" green="0.65" blue="0.35" /></rect>
<text string="C"><color red="0.01" green="0.01" blue="0.01" /></text> <text string="C"><color red="0.01" green="0.01" blue="0.01" /></text>
</element> </element>
<element name="text_d"> <element name="text_d">
<rect><color red="0.0" green="0.55" blue="0.25" /></rect> <rect><color red="0.1" green="0.65" blue="0.35" /></rect>
<text string="D"><color red="0.01" green="0.01" blue="0.01" /></text> <text string="D"><color red="0.01" green="0.01" blue="0.01" /></text>
</element> </element>
<element name="text_e"> <element name="text_e">
<rect><color red="0.0" green="0.55" blue="0.25" /></rect> <rect><color red="0.1" green="0.65" blue="0.35" /></rect>
<text string="E"><color red="0.01" green="0.01" blue="0.01" /></text> <text string="E"><color red="0.01" green="0.01" blue="0.01" /></text>
</element> </element>
<element name="text_f"> <element name="text_f">
<rect><color red="0.0" green="0.55" blue="0.25" /></rect> <rect><color red="0.1" green="0.65" blue="0.35" /></rect>
<text string="F"><color red="0.01" green="0.01" blue="0.01" /></text> <text string="F"><color red="0.01" green="0.01" blue="0.01" /></text>
</element> </element>
<element name="text_g"> <element name="text_g">
<rect><color red="0.0" green="0.55" blue="0.25" /></rect> <rect><color red="0.1" green="0.65" blue="0.35" /></rect>
<text string="G"><color red="0.01" green="0.01" blue="0.01" /></text> <text string="G"><color red="0.01" green="0.01" blue="0.01" /></text>
</element> </element>
<element name="text_h"> <element name="text_h">
<rect><color red="0.0" green="0.55" blue="0.25" /></rect> <rect><color red="0.1" green="0.65" blue="0.35" /></rect>
<text string="H"><color red="0.01" green="0.01" blue="0.01" /></text> <text string="H"><color red="0.01" green="0.01" blue="0.01" /></text>
</element> </element>
<element name="text_re"> <element name="text_re">
<disk><color red="0.0" green="0.55" blue="0.25" /></disk> <disk><color red="0.1" green="0.65" blue="0.35" /></disk>
<text string="RE"><color red="0.01" green="0.01" blue="0.01" /></text> <text string="RE"><color red="0.01" green="0.01" blue="0.01" /></text>
</element> </element>
<element name="text_spk"> <element name="text_spk">
<disk><color red="0.0" green="0.55" blue="0.25" /></disk> <disk><color red="0.1" green="0.65" blue="0.35" /></disk>
<text string="spk"><color red="0.01" green="0.01" blue="0.01" /></text> <text string="spk"><color red="0.01" green="0.01" blue="0.01" /></text>
</element> </element>
<element name="text_pv"> <element name="text_pv">
<disk><color red="0.0" green="0.55" blue="0.25" /></disk> <disk><color red="0.1" green="0.65" blue="0.35" /></disk>
<text string="PV"><color red="0.01" green="0.01" blue="0.01" /></text> <text string="PV"><color red="0.01" green="0.01" blue="0.01" /></text>
</element> </element>
<element name="text_lv"> <element name="text_lv">
<disk><color red="0.0" green="0.55" blue="0.25" /></disk> <disk><color red="0.1" green="0.65" blue="0.35" /></disk>
<text string="LV"><color red="0.01" green="0.01" blue="0.01" /></text> <text string="LV"><color red="0.01" green="0.01" blue="0.01" /></text>
</element> </element>
<element name="text_cl"> <element name="text_cl">
<disk><color red="0.0" green="0.55" blue="0.25" /></disk> <disk><color red="0.1" green="0.65" blue="0.35" /></disk>
<text string="CL"><color red="0.01" green="0.01" blue="0.01" /></text> <text string="CL"><color red="0.01" green="0.01" blue="0.01" /></text>
</element> </element>
<element name="text_dm"> <element name="text_dm">
<disk><color red="0.0" green="0.55" blue="0.25" /></disk> <disk><color red="0.1" green="0.65" blue="0.35" /></disk>
<text string="DM"><color red="0.01" green="0.01" blue="0.01" /></text> <text string="DM"><color red="0.01" green="0.01" blue="0.01" /></text>
</element> </element>
<element name="text_rv"> <element name="text_rv">
<disk><color red="0.0" green="0.55" blue="0.25" /></disk> <disk><color red="0.1" green="0.65" blue="0.35" /></disk>
<text string="RV"><color red="0.01" green="0.01" blue="0.01" /></text> <text string="RV"><color red="0.01" green="0.01" blue="0.01" /></text>
</element> </element>
<element name="text_st"> <element name="text_st">
<disk><color red="0.0" green="0.55" blue="0.25" /></disk> <disk><color red="0.1" green="0.65" blue="0.35" /></disk>
<text string="ST"><color red="0.01" green="0.01" blue="0.01" /></text> <text string="ST"><color red="0.01" green="0.01" blue="0.01" /></text>
</element> </element>
<element name="text_exp"> <element name="text_exp">
<rect><color red="0.0" green="0.55" blue="0.25" /></rect> <rect><color red="0.1" green="0.65" blue="0.35" /></rect>
<text string="EXPERT"><color red="0.01" green="0.01" blue="0.01" /></text> <text string="EXPERT"><color red="0.01" green="0.01" blue="0.01" /></text>
</element> </element>
<element name="text_mon"> <element name="text_mon">
<rect><color red="0.0" green="0.55" blue="0.25" /></rect> <rect><color red="0.1" green="0.65" blue="0.35" /></rect>
<text string="MONITOR"><color red="0.01" green="0.01" blue="0.01" /></text> <text string="MONITOR"><color red="0.01" green="0.01" blue="0.01" /></text>
</element> </element>
<element name="text_sa"> <element name="text_sa">
<rect><color red="0.0" green="0.55" blue="0.25" /></rect> <rect><color red="0.1" green="0.65" blue="0.35" /></rect>
<text string="Set-up &quot;A&quot;"><color red="0.01" green="0.01" blue="0.01" /></text> <text string="Set-up &quot;A&quot;"><color red="0.01" green="0.01" blue="0.01" /></text>
</element> </element>
<element name="text_sb"> <element name="text_sb">
<rect><color red="0.0" green="0.55" blue="0.25" /></rect> <rect><color red="0.1" green="0.65" blue="0.35" /></rect>
<text string="Set-up &quot;B&quot;"><color red="0.01" green="0.01" blue="0.01" /></text> <text string="Set-up &quot;B&quot;"><color red="0.01" green="0.01" blue="0.01" /></text>
</element> </element>
<!-- sb board --> <!-- sb board -->
<element name="cblack"><rect><color red="0.0" green="0.3" blue="0.12" /></rect></element> <element name="cblack"><rect><color red="0.005" green="0.35" blue="0.15" /></rect></element>
<element name="cwhite"><rect><color red="0.0" green="0.55" blue="0.25" /></rect></element> <element name="cwhite"><rect><color red="0.1" green="0.65" blue="0.35" /></rect></element>
<element name="hlbb" defstate="0"> <element name="hlbb" defstate="0">
<text string=" "><bounds x="0" y="0" width="1" height="1" /></text> <text string=" "><bounds x="0" y="0" width="1" height="1" /></text>
@ -247,38 +247,38 @@
<element name="text_uit2"><text string="INTERFACE"><color red="0.81" green="0.8" blue="0.79" /></text></element> <element name="text_uit2"><text string="INTERFACE"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="text_uib1"><text string="BOARD:"><color red="0.81" green="0.8" blue="0.79" /></text></element> <element name="text_uib1"><text string="BOARD:"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="text_uib2a"> <element name="text_uib2a">
<rect><color red="0.0" green="0.55" blue="0.25" /></rect> <rect><color red="0.1" green="0.65" blue="0.35" /></rect>
<text string="RESET A"><color red="0.01" green="0.01" blue="0.01" /></text> <text string="RESET A"><color red="0.01" green="0.01" blue="0.01" /></text>
</element> </element>
<element name="text_uib2b"> <element name="text_uib2b">
<rect><color red="0.0" green="0.55" blue="0.25" /></rect> <rect><color red="0.1" green="0.65" blue="0.35" /></rect>
<text string="RESET B"><color red="0.01" green="0.01" blue="0.01" /></text> <text string="RESET B"><color red="0.01" green="0.01" blue="0.01" /></text>
</element> </element>
<element name="text_uib3"> <element name="text_uib3">
<rect><color red="0.0" green="0.55" blue="0.25" /></rect> <rect><color red="0.1" green="0.65" blue="0.35" /></rect>
<text string="CLEAR"><color red="0.01" green="0.01" blue="0.01" /></text> <text string="CLEAR"><color red="0.01" green="0.01" blue="0.01" /></text>
</element> </element>
<element name="text_uis1"><text string="SPAWN:"><color red="0.81" green="0.8" blue="0.79" /></text></element> <element name="text_uis1"><text string="SPAWN:"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="text_uih1"><text string="HAND:"><color red="0.81" green="0.8" blue="0.79" /></text></element> <element name="text_uih1"><text string="HAND:"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="text_uih2"> <element name="text_uih2">
<rect><color red="0.0" green="0.55" blue="0.25" /></rect> <rect><color red="0.1" green="0.65" blue="0.35" /></rect>
<text string="REMOVE"><color red="0.01" green="0.01" blue="0.01" /></text> <text string="REMOVE"><color red="0.01" green="0.01" blue="0.01" /></text>
</element> </element>
<element name="text_uiu1"><text string="UNDO:"><color red="0.81" green="0.8" blue="0.79" /></text></element> <element name="text_uiu1"><text string="UNDO:"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="text_uiu2a"> <element name="text_uiu2a">
<rect><color red="0.0" green="0.55" blue="0.25" /></rect> <rect><color red="0.1" green="0.65" blue="0.35" /></rect>
<text string=" &lt;&lt;"><color red="0.01" green="0.01" blue="0.01" /></text> <text string=" &lt;&lt;"><color red="0.01" green="0.01" blue="0.01" /></text>
</element> </element>
<element name="text_uiu2b"> <element name="text_uiu2b">
<rect><color red="0.0" green="0.55" blue="0.25" /></rect> <rect><color red="0.1" green="0.65" blue="0.35" /></rect>
<text string=" &lt; "><color red="0.01" green="0.01" blue="0.01" /></text> <text string=" &lt; "><color red="0.01" green="0.01" blue="0.01" /></text>
</element> </element>
<element name="text_uiu2c"> <element name="text_uiu2c">
<rect><color red="0.0" green="0.55" blue="0.25" /></rect> <rect><color red="0.1" green="0.65" blue="0.35" /></rect>
<text string=" &gt;"><color red="0.01" green="0.01" blue="0.01" /></text> <text string=" &gt;"><color red="0.01" green="0.01" blue="0.01" /></text>
</element> </element>
<element name="text_uiu2d"> <element name="text_uiu2d">
<rect><color red="0.0" green="0.55" blue="0.25" /></rect> <rect><color red="0.1" green="0.65" blue="0.35" /></rect>
<text string=" &gt;&gt;"><color red="0.01" green="0.01" blue="0.01" /></text> <text string=" &gt;&gt;"><color red="0.01" green="0.01" blue="0.01" /></text>
</element> </element>
<element name="text_uiu3a" defstate="0"> <element name="text_uiu3a" defstate="0">

View File

@ -9,6 +9,7 @@
#include "emu.h" #include "emu.h"
#include "mmboard.h" #include "mmboard.h"
#include "sound/volt_reg.h"
//************************************************************************** //**************************************************************************
@ -170,7 +171,7 @@ WRITE8_MEMBER( mephisto_board_device::led_w )
mephisto_display_modul_device::mephisto_display_modul_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) mephisto_display_modul_device::mephisto_display_modul_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
: device_t(mconfig, MEPHISTO_DISPLAY_MODUL, tag, owner, clock) : device_t(mconfig, MEPHISTO_DISPLAY_MODUL, tag, owner, clock)
, m_lcdc(*this, "hd44780") , m_lcdc(*this, "hd44780")
, m_beeper(*this, "beeper") , m_dac(*this, "dac")
{ {
} }
@ -193,8 +194,11 @@ void mephisto_display_modul_device::device_add_mconfig(machine_config &config)
m_lcdc->set_lcd_size(2, 16); m_lcdc->set_lcd_size(2, 16);
/* sound hardware */ /* sound hardware */
SPEAKER(config, "mono").front_center(); SPEAKER(config, "speaker").front_center();
BEEP(config, m_beeper, 3250).add_route(ALL_OUTPUTS, "mono", 1.0); DAC_2BIT_BINARY_WEIGHTED_ONES_COMPLEMENT(config, m_dac).add_route(ALL_OUTPUTS, "speaker", 0.25);
voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref"));
vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT);
vref.add_route(0, "dac", -1.0, DAC_VREF_NEG_INPUT);
} }
@ -234,7 +238,7 @@ WRITE8_MEMBER(mephisto_display_modul_device::io_w)
if (BIT(data, 1) && !BIT(m_ctrl, 1)) if (BIT(data, 1) && !BIT(m_ctrl, 1))
m_lcdc->write(BIT(data, 0), m_latch); m_lcdc->write(BIT(data, 0), m_latch);
m_beeper->set_state(BIT(data, 2) | BIT(data, 3)); m_dac->write(data >> 2 & 3);
m_ctrl = data; m_ctrl = data;
} }

View File

@ -13,8 +13,8 @@
#include "machine/sensorboard.h" #include "machine/sensorboard.h"
#include "sound/beep.h"
#include "video/hd44780.h" #include "video/hd44780.h"
#include "sound/dac.h"
#include "emupal.h" #include "emupal.h"
#include "screen.h" #include "screen.h"
#include "speaker.h" #include "speaker.h"
@ -112,7 +112,7 @@ protected:
private: private:
optional_device<hd44780_device> m_lcdc; optional_device<hd44780_device> m_lcdc;
required_device<beep_device> m_beeper; required_device<dac_byte_interface> m_dac;
uint8_t m_latch; uint8_t m_latch;
uint8_t m_ctrl; uint8_t m_ctrl;
}; };