diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/mame/drivers/saitek_corona.cpp | 156 | ||||
-rw-r--r-- | src/mame/drivers/saitek_stratos.cpp | 184 | ||||
-rw-r--r-- | src/mame/includes/saitek_stratos.h | 72 | ||||
-rw-r--r-- | src/mame/layout/saitek_corona.lay | 661 | ||||
-rw-r--r-- | src/mame/mame.lst | 6 | ||||
-rw-r--r-- | src/mame/mess.flt | 1 |
6 files changed, 962 insertions, 118 deletions
diff --git a/src/mame/drivers/saitek_corona.cpp b/src/mame/drivers/saitek_corona.cpp new file mode 100644 index 00000000000..32cc8f1a2fe --- /dev/null +++ b/src/mame/drivers/saitek_corona.cpp @@ -0,0 +1,156 @@ +// license:BSD-3-Clause +// copyright-holders:hap +/*************************************************************************** + +Saitek Corona. This is a subclass of saitek_corona_state. +Please refer to saitek_stratos.cpp for driver notes. + +To be brief, Saitek Corona has two "HELIOS" chips, I/O addressing is completely +different compared to Stratos/Turbo King. + +***************************************************************************/ + +#include "emu.h" +#include "includes/saitek_stratos.h" + +#include "cpu/m6502/m65c02.h" +#include "machine/nvram.h" +#include "machine/sensorboard.h" +#include "sound/dac.h" +#include "sound/volt_reg.h" + +#include "softlist.h" +#include "speaker.h" + +// internal artwork +#include "saitek_corona.lh" // clickable + + +class corona_state : public saitek_stratos_state +{ +public: + corona_state(const machine_config &mconfig, device_type type, const char *tag) : + saitek_stratos_state(mconfig, type, tag), + m_board(*this, "board"), + m_dac(*this, "dac") + { } + + // machine drivers + void corona(machine_config &config); + +protected: + virtual void machine_start() override; + virtual void machine_reset() override; + +private: + // devices/pointers + required_device<sensorboard_device> m_board; + required_device<dac_bit_interface> m_dac; + + void main_map(address_map &map); +}; + +void corona_state::machine_start() +{ + saitek_stratos_state::machine_start(); +} + +void corona_state::machine_reset() +{ + saitek_stratos_state::machine_reset(); +} + + + +/****************************************************************************** + I/O +******************************************************************************/ + +// HELIOS + + +/****************************************************************************** + Address Maps +******************************************************************************/ + +void corona_state::main_map(address_map &map) +{ + map(0x0000, 0x1fff).ram(); + map(0x8000, 0xffff).rom(); +} + + + +/****************************************************************************** + Input Ports +******************************************************************************/ + +static INPUT_PORTS_START( corona ) + PORT_INCLUDE( saitek_stratos ) + + PORT_MODIFY("IN.6") + PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_CUSTOM) +INPUT_PORTS_END + + + +/****************************************************************************** + Machine Drivers +******************************************************************************/ + +void corona_state::corona(machine_config &config) +{ + /* basic machine hardware */ + M65C02(config, m_maincpu, 5_MHz_XTAL); // see set_cpu_freq + m_maincpu->set_addrmap(AS_PROGRAM, &corona_state::main_map); + m_maincpu->set_periodic_int(FUNC(corona_state::irq0_line_hold), attotime::from_hz(100)); + + SENSORBOARD(config, m_board).set_type(sensorboard_device::MAGNETS); + m_board->init_cb().set(m_board, FUNC(sensorboard_device::preset_chess)); + m_board->set_delay(attotime::from_msec(200)); + + /* video hardware */ + PWM_DISPLAY(config, m_display).set_size(2+4, 8+1); + config.set_default_layout(layout_saitek_corona); + + TIMER(config, "lcd_busy").configure_generic(timer_device::expired_delegate()); + + /* sound hardware */ + SPEAKER(config, "speaker").front_center(); + 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); + + /* extension rom */ + GENERIC_CARTSLOT(config, m_extrom, generic_plain_slot, "saitek_egr", "bin"); + m_extrom->set_device_load(FUNC(corona_state::extrom_load), this); + + SOFTWARE_LIST(config, "cart_list").set_original("saitek_egr"); +} + + + +/****************************************************************************** + ROM Definitions +******************************************************************************/ + +ROM_START( corona ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD("w2_708g_u2.u2", 0x0000, 0x8000, CRC(52568bb4) SHA1(83fe91787e17bbefc2b3ec651ddb11c88990060d) ) + ROM_LOAD("bw2_708a_u3.u3", 0x8000, 0x8000, CRC(32848f73) SHA1(a447543e3eb4757f9afed26fde77b66985eb96a7) ) +ROM_END + +ROM_START( coronaa ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD("w2_a14c_u2.u2", 0x0000, 0x8000, CRC(be82e199) SHA1(cfcc573774b6907ed137dca01fa7f3fce493a89f) ) + ROM_LOAD("bw2_a14_u3.u3", 0x8000, 0x8000, CRC(abe87285) SHA1(b15f7ddeac78d252cf413ba4085523e44c6d15df) ) +ROM_END + + + +/****************************************************************************** + Drivers +******************************************************************************/ + +/* YEAR NAME PARENT CMP MACHINE INPUT CLASS INIT COMPANY, FULLNAME, FLAGS */ +CONS( 1988, corona, 0, 0, corona, corona, corona_state, empty_init, "Saitek", "Kasparov Corona (ver. D+)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS | MACHINE_CLICKABLE_ARTWORK ) // aka Corona II +CONS( 1988, coronaa, corona, 0, corona, corona, corona_state, empty_init, "Saitek", "Kasparov Corona (ver. D)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS | MACHINE_CLICKABLE_ARTWORK ) diff --git a/src/mame/drivers/saitek_stratos.cpp b/src/mame/drivers/saitek_stratos.cpp index 1f8cc6517c3..2d6ca005429 100644 --- a/src/mame/drivers/saitek_stratos.cpp +++ b/src/mame/drivers/saitek_stratos.cpp @@ -7,7 +7,7 @@ SciSys/Saitek Stratos chesscomputer family (1986-1990) - Stratos - Turbo King -- Corona +- Corona --> it's in saitek_corona.cpp - *Simultano *: not dumped yet @@ -34,7 +34,6 @@ Simultano has an extra LCD screen representing the chessboard state. TODO: - emulate LCD at lower level, probably an MCU with embedded LCDC - add LCD 7*7 DMD, it's in m_lcd_data[0x30 to 0x3b] but scrambled -- corona: different addressmap, 64 leds - tking different internal artwork - irq timing is derived from the main XTAL, but result should be similar with 5MHz and 5.67MHz, there are a couple of "FREQ. SEL" nodes on the PCB, maybe related (not the ones in input ports) @@ -45,82 +44,51 @@ TODO: ***************************************************************************/ #include "emu.h" +#include "includes/saitek_stratos.h" + #include "cpu/m6502/m65c02.h" #include "machine/nvram.h" #include "machine/sensorboard.h" -#include "machine/timer.h" #include "sound/dac.h" #include "sound/volt_reg.h" -#include "video/pwm.h" -#include "bus/generic/slot.h" -#include "bus/generic/carts.h" #include "softlist.h" #include "speaker.h" -#include <algorithm> - // internal artwork #include "saitek_stratos.lh" // clickable -namespace { - -class stratos_state : public driver_device +class stratos_state : public saitek_stratos_state { public: stratos_state(const machine_config &mconfig, device_type type, const char *tag) : - driver_device(mconfig, type, tag), - m_maincpu(*this, "maincpu"), + saitek_stratos_state(mconfig, type, tag), m_nvram(*this, "nvram.u7"), m_rombank(*this, "rombank"), m_nvrambank(*this, "nvrambank"), - m_lcd_busy(*this, "lcd_busy"), m_board(*this, "board"), - m_display(*this, "display"), - m_dac(*this, "dac"), - m_extrom(*this, "extrom"), - m_out_digit(*this, "digit%u", 0U), - m_out_lcd(*this, "lcd%u.%u.%u", 0U, 0U, 0U), - m_inputs(*this, "IN.%u", 0) + m_dac(*this, "dac") { } - DECLARE_INPUT_CHANGED_MEMBER(cpu_freq) { set_cpu_freq(); } - DECLARE_INPUT_CHANGED_MEMBER(acl_button) { if (newval) power_off(); } - DECLARE_INPUT_CHANGED_MEMBER(go_button); - // machine drivers void stratos(machine_config &config); - void corona(machine_config &config); void tking2(machine_config &config); protected: virtual void machine_start() override; virtual void machine_reset() override; - virtual void device_post_load() override { update_lcd(); } private: // devices/pointers - required_device<m65c02_device> m_maincpu; required_device<nvram_device> m_nvram; required_memory_bank m_rombank; required_memory_bank m_nvrambank; - required_device<timer_device> m_lcd_busy; required_device<sensorboard_device> m_board; - required_device<pwm_display_device> m_display; required_device<dac_bit_interface> m_dac; - required_device<generic_slot_device> m_extrom; - output_finder<8+1> m_out_digit; - output_finder<4, 16, 4> m_out_lcd; - required_ioport_array<8+1> m_inputs; void main_map(address_map &map); - - void clear_lcd() { std::fill_n(m_lcd_data, ARRAY_LENGTH(m_lcd_data), 0); } void update_leds(); - void update_lcd(); - void power_off(); - void set_cpu_freq(); // I/O handlers DECLARE_WRITE8_MEMBER(select_w); @@ -130,9 +98,6 @@ private: DECLARE_READ8_MEMBER(control_r); DECLARE_WRITE8_MEMBER(control_w); DECLARE_READ8_MEMBER(lcd_r); - DECLARE_WRITE8_MEMBER(lcd_w); - - DECLARE_DEVICE_IMAGE_LOAD_MEMBER(extrom_load); DECLARE_READ8_MEMBER(extrom_r); std::unique_ptr<u8[]> m_nvram_data; @@ -140,19 +105,49 @@ private: u8 m_select; u8 m_control; u8 m_led_data; - bool m_power; - - u8 m_lcd_count; - u8 m_lcd_address; - u8 m_lcd_data[0x40]; }; -void stratos_state::machine_start() +// saitek_stratos_state + +void saitek_stratos_state::machine_start() { // resolve handlers m_out_digit.resolve(); m_out_lcd.resolve(); + // zerofill + m_power = false; + m_lcd_count = 0; + m_lcd_address = 0; + + // register for savestates + save_item(NAME(m_power)); + save_item(NAME(m_lcd_count)); + save_item(NAME(m_lcd_address)); + save_item(NAME(m_lcd_data)); +} + +void saitek_stratos_state::machine_reset() +{ + m_power = true; + m_lcd_count = 0; + clear_lcd(); + + set_cpu_freq(); +} + +void saitek_stratos_state::set_cpu_freq() +{ + // released with either 5MHz or 5.67MHz speeds + m_maincpu->set_unscaled_clock((ioport("FAKE")->read() & 1) ? 5.67_MHz_XTAL : 5_MHz_XTAL); +} + +// stratos_state + +void stratos_state::machine_start() +{ + saitek_stratos_state::machine_start(); + // init banks m_rombank->configure_entries(0, 2, memregion("maincpu")->base(), 0x8000); @@ -165,38 +160,19 @@ void stratos_state::machine_start() m_select = 0; m_control = 0; m_led_data = 0; - m_power = false; - - m_lcd_count = 0; - m_lcd_address = 0; - clear_lcd(); // register for savestates save_item(NAME(m_select)); save_item(NAME(m_control)); save_item(NAME(m_led_data)); - save_item(NAME(m_power)); - - save_item(NAME(m_lcd_count)); - save_item(NAME(m_lcd_address)); - save_item(NAME(m_lcd_data)); } void stratos_state::machine_reset() { - m_power = true; - m_lcd_count = 0; + saitek_stratos_state::machine_reset(); m_rombank->set_entry(0); m_nvrambank->set_entry(0); - - set_cpu_freq(); -} - -void stratos_state::set_cpu_freq() -{ - // released with either 5MHz or 5.67MHz speeds - m_maincpu->set_unscaled_clock((ioport("FAKE")->read() & 1) ? 5.67_MHz_XTAL : 5_MHz_XTAL); } @@ -207,7 +183,7 @@ void stratos_state::set_cpu_freq() // soft power on/off -INPUT_CHANGED_MEMBER(stratos_state::go_button) +INPUT_CHANGED_MEMBER(saitek_stratos_state::go_button) { if (newval && !m_power) { @@ -216,7 +192,7 @@ INPUT_CHANGED_MEMBER(stratos_state::go_button) } } -void stratos_state::power_off() +void saitek_stratos_state::power_off() { m_power = false; m_maincpu->set_input_line(INPUT_LINE_RESET, ASSERT_LINE); @@ -230,7 +206,7 @@ void stratos_state::power_off() // Endgame ROM -DEVICE_IMAGE_LOAD_MEMBER(stratos_state::extrom_load) +DEVICE_IMAGE_LOAD_MEMBER(saitek_stratos_state::extrom_load) { u32 size = m_extrom->common_get_size("rom"); @@ -256,7 +232,7 @@ READ8_MEMBER(stratos_state::extrom_r) // LCD HLE -void stratos_state::update_lcd() +void saitek_stratos_state::update_lcd() { // output individual segments for (int i = 0; i < 0x40; i++) @@ -274,13 +250,7 @@ void stratos_state::update_lcd() m_out_digit[i + 5] = (m_lcd_data[0x11 + i * 2] << 4 | m_lcd_data[0x11 + i * 2 + 1]) & 0x7f; } -READ8_MEMBER(stratos_state::lcd_r) -{ - // unknown, maybe resets lcd controller - return 0; -} - -WRITE8_MEMBER(stratos_state::lcd_w) +void saitek_stratos_state::lcd_w(u8 data) { // d0-d3: lcd data // d4-d7: unused? @@ -308,6 +278,12 @@ WRITE8_MEMBER(stratos_state::lcd_w) m_lcd_busy->adjust(attotime::from_usec(50)); // ? } +READ8_MEMBER(stratos_state::lcd_r) +{ + // unknown, maybe resets lcd controller + return 0; +} + // HELIOS @@ -411,7 +387,7 @@ void stratos_state::main_map(address_map &map) Input Ports ******************************************************************************/ -static INPUT_PORTS_START( stratos ) +INPUT_PORTS_START( saitek_stratos ) PORT_START("IN.0") PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_E) PORT_NAME("Set Up") PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_R) PORT_CODE(KEYCODE_L) PORT_NAME("Level") @@ -433,7 +409,7 @@ static INPUT_PORTS_START( stratos ) PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_1) PORT_CODE(KEYCODE_1_PAD) PORT_NAME("King") PORT_START("IN.4") - PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_U) PORT_NAME("Play") + PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_B) PORT_NAME("Play") PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_V) PORT_NAME("Tab / Color") PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_C) PORT_CODE(KEYCODE_MINUS) PORT_CODE(KEYCODE_MINUS_PAD) PORT_NAME("-") @@ -458,17 +434,17 @@ static INPUT_PORTS_START( stratos ) PORT_CONFSETTING( 0x80, DEF_STR( Normal ) ) PORT_START("RESET") - PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_A) PORT_CHANGED_MEMBER(DEVICE_SELF, stratos_state, go_button, nullptr) PORT_NAME("Go") - PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_F1) PORT_CHANGED_MEMBER(DEVICE_SELF, stratos_state, acl_button, nullptr) PORT_NAME("ACL") + PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_A) PORT_CHANGED_MEMBER(DEVICE_SELF, saitek_stratos_state, go_button, nullptr) PORT_NAME("Go") + PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_F1) PORT_CHANGED_MEMBER(DEVICE_SELF, saitek_stratos_state, acl_button, nullptr) PORT_NAME("ACL") PORT_START("FAKE") - PORT_CONFNAME( 0x01, 0x00, "CPU Frequency" ) PORT_CHANGED_MEMBER(DEVICE_SELF, stratos_state, cpu_freq, nullptr) // factory set + PORT_CONFNAME( 0x01, 0x00, "CPU Frequency" ) PORT_CHANGED_MEMBER(DEVICE_SELF, saitek_stratos_state, cpu_freq, nullptr) // factory set PORT_CONFSETTING( 0x00, "5MHz" ) PORT_CONFSETTING( 0x01, "5.67MHz" ) INPUT_PORTS_END static INPUT_PORTS_START( tking2 ) - PORT_INCLUDE( stratos ) + PORT_INCLUDE( saitek_stratos ) PORT_MODIFY("IN.5") PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_CUSTOM) @@ -512,18 +488,12 @@ void stratos_state::stratos(machine_config &config) SOFTWARE_LIST(config, "cart_list").set_original("saitek_egr"); } -void stratos_state::corona(machine_config &config) -{ - stratos(config); - - m_board->set_type(sensorboard_device::MAGNETS); -} - void stratos_state::tking2(machine_config &config) { stratos(config); + m_maincpu->set_periodic_int(FUNC(stratos_state::irq0_line_hold), attotime::from_hz(100)); - // seems much more responsive + // seems much more responsive (not just because of higher irq rate) m_board->set_delay(attotime::from_msec(200)); } @@ -565,33 +535,15 @@ ROM_START( tkingb ) // PCB rev. 7 ROM_END -ROM_START( corona ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD("w2_708g_u2.u2", 0x0000, 0x8000, CRC(52568bb4) SHA1(83fe91787e17bbefc2b3ec651ddb11c88990060d) ) - ROM_LOAD("bw2_708a_u3.u3", 0x8000, 0x8000, CRC(32848f73) SHA1(a447543e3eb4757f9afed26fde77b66985eb96a7) ) -ROM_END - -ROM_START( coronaa ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD("w2_a14c_u2.u2", 0x0000, 0x8000, CRC(be82e199) SHA1(cfcc573774b6907ed137dca01fa7f3fce493a89f) ) - ROM_LOAD("bw2_a14_u3.u3", 0x8000, 0x8000, CRC(abe87285) SHA1(b15f7ddeac78d252cf413ba4085523e44c6d15df) ) -ROM_END - -} // anonymous namespace - - /****************************************************************************** Drivers ******************************************************************************/ -/* YEAR NAME PARENT CMP MACHINE INPUT CLASS INIT COMPANY, FULLNAME, FLAGS */ -CONS( 1986, stratos, 0, 0, stratos, stratos, stratos_state, empty_init, "SciSys", "Kasparov Stratos (set 1)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS | MACHINE_CLICKABLE_ARTWORK ) -CONS( 1986, stratosa, stratos, 0, stratos, stratos, stratos_state, empty_init, "SciSys", "Kasparov Stratos (set 2)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS | MACHINE_CLICKABLE_ARTWORK ) - -CONS( 1990, tking, 0, 0, tking2, tking2, stratos_state, empty_init, "Saitek", "Kasparov Turbo King (set 1, ver. D)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS | MACHINE_CLICKABLE_ARTWORK ) // aka Turbo King II -CONS( 1988, tkinga, tking, 0, stratos, stratos, stratos_state, empty_init, "Saitek", "Kasparov Turbo King (set 2)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS | MACHINE_CLICKABLE_ARTWORK ) // oldest? -CONS( 1988, tkingb, tking, 0, stratos, stratos, stratos_state, empty_init, "Saitek", "Kasparov Turbo King (set 3)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS | MACHINE_CLICKABLE_ARTWORK ) +/* YEAR NAME PARENT CMP MACHINE INPUT CLASS INIT COMPANY, FULLNAME, FLAGS */ +CONS( 1986, stratos, 0, 0, stratos, saitek_stratos, stratos_state, empty_init, "SciSys", "Kasparov Stratos (set 1)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS | MACHINE_CLICKABLE_ARTWORK ) +CONS( 1986, stratosa, stratos, 0, stratos, saitek_stratos, stratos_state, empty_init, "SciSys", "Kasparov Stratos (set 2)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS | MACHINE_CLICKABLE_ARTWORK ) -CONS( 1988, corona, 0, 0, corona, stratos, stratos_state, empty_init, "Saitek", "Kasparov Corona (ver. D+)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS | MACHINE_CLICKABLE_ARTWORK ) // aka Corona II -CONS( 1988, coronaa, corona, 0, corona, stratos, stratos_state, empty_init, "Saitek", "Kasparov Corona (ver. D)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS | MACHINE_CLICKABLE_ARTWORK ) +CONS( 1990, tking, 0, 0, tking2, tking2, stratos_state, empty_init, "Saitek", "Kasparov Turbo King (set 1, ver. D)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS | MACHINE_CLICKABLE_ARTWORK ) // aka Turbo King II +CONS( 1988, tkinga, tking, 0, stratos, saitek_stratos, stratos_state, empty_init, "Saitek", "Kasparov Turbo King (set 2)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS | MACHINE_CLICKABLE_ARTWORK ) // oldest? +CONS( 1988, tkingb, tking, 0, stratos, saitek_stratos, stratos_state, empty_init, "Saitek", "Kasparov Turbo King (set 3)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS | MACHINE_CLICKABLE_ARTWORK ) diff --git a/src/mame/includes/saitek_stratos.h b/src/mame/includes/saitek_stratos.h new file mode 100644 index 00000000000..231ea8b53b9 --- /dev/null +++ b/src/mame/includes/saitek_stratos.h @@ -0,0 +1,72 @@ +// license:BSD-3-Clause +// copyright-holders:hap +/* + + Saitek Stratos family chess computers shared class + Used in: saitek_stratos.cpp (main driver), saitek_corona.cpp + +*/ + +#ifndef MAME_INCLUDES_SAITEK_STRATOS_H +#define MAME_INCLUDES_SAITEK_STRATOS_H + +#pragma once + +#include "machine/timer.h" +#include "video/pwm.h" +#include "bus/generic/slot.h" +#include "bus/generic/carts.h" + +#include <algorithm> + + +class saitek_stratos_state : public driver_device +{ +public: + saitek_stratos_state(const machine_config &mconfig, device_type type, const char *tag) : + driver_device(mconfig, type, tag), + m_maincpu(*this, "maincpu"), + m_lcd_busy(*this, "lcd_busy"), + m_display(*this, "display"), + m_extrom(*this, "extrom"), + m_out_digit(*this, "digit%u", 0U), + m_out_lcd(*this, "lcd%u.%u.%u", 0U, 0U, 0U), + m_inputs(*this, "IN.%u", 0) + { } + + DECLARE_INPUT_CHANGED_MEMBER(cpu_freq) { set_cpu_freq(); } + DECLARE_INPUT_CHANGED_MEMBER(acl_button) { if (newval) power_off(); } + DECLARE_INPUT_CHANGED_MEMBER(go_button); + +protected: + virtual void machine_start() override; + virtual void machine_reset() override; + virtual void device_post_load() override { update_lcd(); } + + // devices/pointers + required_device<cpu_device> m_maincpu; + required_device<timer_device> m_lcd_busy; + required_device<pwm_display_device> m_display; + required_device<generic_slot_device> m_extrom; + output_finder<8+1> m_out_digit; + output_finder<4, 16, 4> m_out_lcd; + required_ioport_array<8+1> m_inputs; + + // common handlers + void clear_lcd() { std::fill_n(m_lcd_data, ARRAY_LENGTH(m_lcd_data), 0); } + void update_lcd(); + void power_off(); + void set_cpu_freq(); + + DECLARE_DEVICE_IMAGE_LOAD_MEMBER(extrom_load); + void lcd_w(u8 data); + + bool m_power; + u8 m_lcd_count; + u8 m_lcd_address; + u8 m_lcd_data[0x40]; +}; + +INPUT_PORTS_EXTERN( saitek_stratos ); + +#endif // MAME_INCLUDES_SAITEK_STRATOS_H diff --git a/src/mame/layout/saitek_corona.lay b/src/mame/layout/saitek_corona.lay new file mode 100644 index 00000000000..af4152e892a --- /dev/null +++ b/src/mame/layout/saitek_corona.lay @@ -0,0 +1,661 @@ +<?xml version="1.0"?> +<mamelayout version="2"> + +<!-- define elements --> + + <element name="black"><rect><color red="0.21" green="0.2" blue="0.2" /></rect></element> + <element name="whitew"><rect><color red="1" green="1" blue="1" /></rect></element> + <element name="text_mode"><text string="Mode" align="1"><color red="0.36" green="0.35" blue="0.35" /></text></element> + + <!-- our digit element is bright-on-dark, this means the lcd panel is the wrong colour here --> + + <element name="digit" defstate="0"> + <led7seg><color red="1.0" green="1.0" blue="1.0" /></led7seg> + </element> + <element name="ldot" defstate="0"> + <rect state="1"><color red="1.0" green="1.0" blue="1.0" /></rect> + <rect state="0"><color red="0.12157" green="0.12157" blue="0.12157" /></rect> + </element> + + <element name="ledo"> + <rect><color red="0.1" green="0.1" blue="0.1" /></rect> + </element> + <element name="ledr" defstate="0"> + <rect state="0"><color red="0" green="0" blue="0" /></rect> + <rect state="1"><color red="1" green="0" blue="0" /></rect> + </element> + <element name="ledg" defstate="0"> + <rect state="0"><color red="0" green="0" blue="0" /></rect> + <rect state="1"><color red="0" green="1" blue="0" /></rect> + </element> + + <element name="led" defstate="0"> + <disk state="1"><color red="1.0" green="0.1" blue="0.15" /></disk> + <disk state="0"><color red="0.1" green="0.01" blue="0.015" /></disk> + </element> + + <element name="hl" defstate="0"> + <text string=" "/> + <rect state="1"><color red="1" green="1" blue="1" /></rect> + </element> + + <element name="text_go"> + <rect><color red="0.21" green="0.2" blue="0.2" /></rect> + <text string="Go"><color red="0.81" green="0.8" blue="0.79" /></text> + </element> + <element name="text_stop"> + <rect><color red="0.21" green="0.2" blue="0.2" /></rect> + <text string="Stop"><color red="0.81" green="0.8" blue="0.79" /></text> + </element> + <element name="text_newgame"> + <rect><color red="0.21" green="0.2" blue="0.2" /></rect> + <text string="New Game"> <color red="0.81" green="0.8" blue="0.79" /></text> + </element> + <element name="text_sound"> + <rect><color red="0.21" green="0.2" blue="0.2" /></rect> + <text string="Sound"><color red="0.81" green="0.8" blue="0.79" /></text> + </element> + <element name="text_plus"> + <rect><color red="0.21" green="0.2" blue="0.2" /></rect> + <text string="+"><color red="0.81" green="0.8" blue="0.79" /></text> + </element> + <element name="text_minus"> + <rect><color red="0.21" green="0.2" blue="0.2" /></rect> + <text string="-"><color red="0.81" green="0.8" blue="0.79" /></text> + </element> + <element name="text_function"> + <rect><color red="0.21" green="0.2" blue="0.2" /></rect> + <text string="Function"> <color red="0.81" green="0.8" blue="0.79" /></text> + </element> + <element name="text_tabcolor"> + <rect><color red="0.21" green="0.2" blue="0.2" /></rect> + <text string="Tab/Color"><color red="0.81" green="0.8" blue="0.79" /></text> + </element> + + <element name="text_normal"> + <rect><color red="0.21" green="0.2" blue="0.2" /></rect> + <text string="Normal"><color red="0.81" green="0.8" blue="0.79" /></text> + </element> + <element name="text_analysis"> + <rect><color red="0.21" green="0.2" blue="0.2" /></rect> + <text string="Analysis"><color red="0.81" green="0.8" blue="0.79" /></text> + </element> + <element name="text_setup"> + <rect><color red="0.21" green="0.2" blue="0.2" /></rect> + <text string="Set Up"><color red="0.81" green="0.8" blue="0.79" /></text> + </element> + <element name="text_level"> + <rect><color red="0.21" green="0.2" blue="0.2" /></rect> + <text string="Level"><color red="0.81" green="0.8" blue="0.79" /></text> + </element> + <element name="text_library"> + <rect><color red="0.21" green="0.2" blue="0.2" /></rect> + <text string="Library"><color red="0.81" green="0.8" blue="0.79" /></text> + </element> + <element name="text_info"> + <rect><color red="0.21" green="0.2" blue="0.2" /></rect> + <text string="Info"><color red="0.81" green="0.8" blue="0.79" /></text> + </element> + <element name="text_scroll"> + <rect><color red="0.21" green="0.2" blue="0.2" /></rect> + <text string="LCD Scroll"><color red="0.81" green="0.8" blue="0.79" /></text> + </element> + <element name="text_play"> + <rect><color red="0.21" green="0.2" blue="0.2" /></rect> + <text string="Play"><color red="0.81" green="0.8" blue="0.79" /></text> + </element> + + <element name="text_white"><text string="White"><color red="0.71" green="0.7" blue="0.7" /></text></element> + <element name="text_black"><text string="Black"><color red="0.71" green="0.7" blue="0.7" /></text></element> + <element name="text_check"><text string="Check"><color red="0.71" green="0.7" blue="0.7" /></text></element> + <element name="text_end"><text string="End"><color red="0.71" green="0.7" blue="0.7" /></text></element> + + <element name="text_p1"><image file="chess/wk.png"/></element> + <element name="text_p2"><image file="chess/wq.png"/></element> + <element name="text_p3"><image file="chess/wr.png"/></element> + <element name="text_p4"><image file="chess/wb.png"/></element> + <element name="text_p5"><image file="chess/wn.png"/></element> + <element name="text_p6"><image file="chess/wp.png"/></element> + + <element name="text_1"> + <rect><color red="0.41" green="0.4" blue="0.39" /></rect> + <text string="1" align="1"><color red="0.9" green="0.9" blue="0.9" /></text> + </element> + <element name="text_2"> + <rect><color red="0.81" green="0.8" blue="0.79" /></rect> + <text string="2" align="1"><color red="0.05" green="0.05" blue="0.05" /></text> + </element> + <element name="text_3"> + <rect><color red="0.41" green="0.4" blue="0.39" /></rect> + <text string="3" align="1"><color red="0.9" green="0.9" blue="0.9" /></text> + </element> + <element name="text_4"> + <rect><color red="0.81" green="0.8" blue="0.79" /></rect> + <text string="4" align="1"><color red="0.05" green="0.05" blue="0.05" /></text> + </element> + <element name="text_5"> + <rect><color red="0.41" green="0.4" blue="0.39" /></rect> + <text string="5" align="1"><color red="0.9" green="0.9" blue="0.9" /></text> + </element> + <element name="text_6"> + <rect><color red="0.81" green="0.8" blue="0.79" /></rect> + <text string="6" align="1"><color red="0.05" green="0.05" blue="0.05" /></text> + </element> + <element name="text_7"> + <rect><color red="0.41" green="0.4" blue="0.39" /></rect> + <text string="7" align="1"><color red="0.9" green="0.9" blue="0.9" /></text> + </element> + <element name="text_8"> + <rect><color red="0.81" green="0.8" blue="0.79" /></rect> + <text string="8" align="1"><color red="0.05" green="0.05" blue="0.05" /></text> + </element> + + <element name="text_a"> + <rect><color red="0.41" green="0.4" blue="0.39" /></rect> + <text string="A"><color red="0.9" green="0.9" blue="0.9" /></text> + </element> + <element name="text_b"> + <rect><color red="0.81" green="0.8" blue="0.79" /></rect> + <text string="B"><color red="0.05" green="0.05" blue="0.05" /></text> + </element> + <element name="text_c"> + <rect><color red="0.41" green="0.4" blue="0.39" /></rect> + <text string="C"><color red="0.9" green="0.9" blue="0.9" /></text> + </element> + <element name="text_d"> + <rect><color red="0.81" green="0.8" blue="0.79" /></rect> + <text string="D"><color red="0.05" green="0.05" blue="0.05" /></text> + </element> + <element name="text_e"> + <rect><color red="0.41" green="0.4" blue="0.39" /></rect> + <text string="E"><color red="0.9" green="0.9" blue="0.9" /></text> + </element> + <element name="text_f"> + <rect><color red="0.81" green="0.8" blue="0.79" /></rect> + <text string="F"><color red="0.05" green="0.05" blue="0.05" /></text> + </element> + <element name="text_g"> + <rect><color red="0.41" green="0.4" blue="0.39" /></rect> + <text string="G"><color red="0.9" green="0.9" blue="0.9" /></text> + </element> + <element name="text_h"> + <rect><color red="0.81" green="0.8" blue="0.79" /></rect> + <text string="H"><color red="0.05" green="0.05" blue="0.05" /></text> + </element> + + +<!-- sb board --> + + <element name="cblack"><rect><color red="0.41" green="0.4" blue="0.39" /></rect></element> + <element name="cwhite"><rect><color red="0.81" green="0.8" blue="0.79" /></rect></element> + + <element name="hlbb" defstate="0"> + <text string=" "><bounds x="0" y="0" width="1" height="1" /></text> + <disk state="1"> + <bounds x="0.12" y="0.12" width="0.76" height="0.76" /> + <color red="0" green="0" blue="0" /> + </disk> + </element> + + <element name="piece" defstate="0"> + <image file="chess/wp.png" state="1"/> + <image file="chess/wn.png" state="2"/> + <image file="chess/wb.png" state="3"/> + <image file="chess/wr.png" state="4"/> + <image file="chess/wq.png" state="5"/> + <image file="chess/wk.png" state="6"/> + + <image file="chess/bp.png" state="7"/> + <image file="chess/bn.png" state="8"/> + <image file="chess/bb.png" state="9"/> + <image file="chess/br.png" state="10"/> + <image file="chess/bq.png" state="11"/> + <image file="chess/bk.png" state="12"/> + + <!-- selected pieces --> + <image file="chess/wp.png" state="13"><color alpha="0.5" /></image> + <image file="chess/wn.png" state="14"><color alpha="0.5" /></image> + <image file="chess/wb.png" state="15"><color alpha="0.5" /></image> + <image file="chess/wr.png" state="16"><color alpha="0.5" /></image> + <image file="chess/wq.png" state="17"><color alpha="0.5" /></image> + <image file="chess/wk.png" state="18"><color alpha="0.5" /></image> + + <image file="chess/bp.png" state="19"><color alpha="0.5" /></image> + <image file="chess/bn.png" state="20"><color alpha="0.5" /></image> + <image file="chess/bb.png" state="21"><color alpha="0.5" /></image> + <image file="chess/br.png" state="22"><color alpha="0.5" /></image> + <image file="chess/bq.png" state="23"><color alpha="0.5" /></image> + <image file="chess/bk.png" state="24"><color alpha="0.5" /></image> + </element> + + <group name="sb_board"> + <bounds x="0" y="0" width="80" height="80" /> + + <!-- squares (avoid seams) --> + <bezel element="cwhite"><bounds x="0" y="0" width="11" height="11" /></bezel> + <bezel element="cblack"><bounds x="10" y="0" width="11" height="11" /></bezel> + <bezel element="cwhite"><bounds x="20" y="0" width="11" height="11" /></bezel> + <bezel element="cblack"><bounds x="30" y="0" width="11" height="11" /></bezel> + <bezel element="cwhite"><bounds x="40" y="0" width="11" height="11" /></bezel> + <bezel element="cblack"><bounds x="50" y="0" width="11" height="11" /></bezel> + <bezel element="cwhite"><bounds x="60" y="0" width="11" height="11" /></bezel> + <bezel element="cblack"><bounds x="70" y="0" width="10" height="11" /></bezel> + + <bezel element="cblack"><bounds x="0" y="10" width="11" height="11" /></bezel> + <bezel element="cwhite"><bounds x="10" y="10" width="11" height="11" /></bezel> + <bezel element="cblack"><bounds x="20" y="10" width="11" height="11" /></bezel> + <bezel element="cwhite"><bounds x="30" y="10" width="11" height="11" /></bezel> + <bezel element="cblack"><bounds x="40" y="10" width="11" height="11" /></bezel> + <bezel element="cwhite"><bounds x="50" y="10" width="11" height="11" /></bezel> + <bezel element="cblack"><bounds x="60" y="10" width="11" height="11" /></bezel> + <bezel element="cwhite"><bounds x="70" y="10" width="10" height="11" /></bezel> + + <bezel element="cwhite"><bounds x="0" y="20" width="11" height="11" /></bezel> + <bezel element="cblack"><bounds x="10" y="20" width="11" height="11" /></bezel> + <bezel element="cwhite"><bounds x="20" y="20" width="11" height="11" /></bezel> + <bezel element="cblack"><bounds x="30" y="20" width="11" height="11" /></bezel> + <bezel element="cwhite"><bounds x="40" y="20" width="11" height="11" /></bezel> + <bezel element="cblack"><bounds x="50" y="20" width="11" height="11" /></bezel> + <bezel element="cwhite"><bounds x="60" y="20" width="11" height="11" /></bezel> + <bezel element="cblack"><bounds x="70" y="20" width="10" height="11" /></bezel> + + <bezel element="cblack"><bounds x="0" y="30" width="11" height="11" /></bezel> + <bezel element="cwhite"><bounds x="10" y="30" width="11" height="11" /></bezel> + <bezel element="cblack"><bounds x="20" y="30" width="11" height="11" /></bezel> + <bezel element="cwhite"><bounds x="30" y="30" width="11" height="11" /></bezel> + <bezel element="cblack"><bounds x="40" y="30" width="11" height="11" /></bezel> + <bezel element="cwhite"><bounds x="50" y="30" width="11" height="11" /></bezel> + <bezel element="cblack"><bounds x="60" y="30" width="11" height="11" /></bezel> + <bezel element="cwhite"><bounds x="70" y="30" width="10" height="11" /></bezel> + + <bezel element="cwhite"><bounds x="0" y="40" width="11" height="11" /></bezel> + <bezel element="cblack"><bounds x="10" y="40" width="11" height="11" /></bezel> + <bezel element="cwhite"><bounds x="20" y="40" width="11" height="11" /></bezel> + <bezel element="cblack"><bounds x="30" y="40" width="11" height="11" /></bezel> + <bezel element="cwhite"><bounds x="40" y="40" width="11" height="11" /></bezel> + <bezel element="cblack"><bounds x="50" y="40" width="11" height="11" /></bezel> + <bezel element="cwhite"><bounds x="60" y="40" width="11" height="11" /></bezel> + <bezel element="cblack"><bounds x="70" y="40" width="10" height="11" /></bezel> + + <bezel element="cblack"><bounds x="0" y="50" width="11" height="11" /></bezel> + <bezel element="cwhite"><bounds x="10" y="50" width="11" height="11" /></bezel> + <bezel element="cblack"><bounds x="20" y="50" width="11" height="11" /></bezel> + <bezel element="cwhite"><bounds x="30" y="50" width="11" height="11" /></bezel> + <bezel element="cblack"><bounds x="40" y="50" width="11" height="11" /></bezel> + <bezel element="cwhite"><bounds x="50" y="50" width="11" height="11" /></bezel> + <bezel element="cblack"><bounds x="60" y="50" width="11" height="11" /></bezel> + <bezel element="cwhite"><bounds x="70" y="50" width="10" height="11" /></bezel> + + <bezel element="cwhite"><bounds x="0" y="60" width="11" height="11" /></bezel> + <bezel element="cblack"><bounds x="10" y="60" width="11" height="11" /></bezel> + <bezel element="cwhite"><bounds x="20" y="60" width="11" height="11" /></bezel> + <bezel element="cblack"><bounds x="30" y="60" width="11" height="11" /></bezel> + <bezel element="cwhite"><bounds x="40" y="60" width="11" height="11" /></bezel> + <bezel element="cblack"><bounds x="50" y="60" width="11" height="11" /></bezel> + <bezel element="cwhite"><bounds x="60" y="60" width="11" height="11" /></bezel> + <bezel element="cblack"><bounds x="70" y="60" width="10" height="11" /></bezel> + + <bezel element="cblack"><bounds x="0" y="70" width="11" height="10" /></bezel> + <bezel element="cwhite"><bounds x="10" y="70" width="11" height="10" /></bezel> + <bezel element="cblack"><bounds x="20" y="70" width="11" height="10" /></bezel> + <bezel element="cwhite"><bounds x="30" y="70" width="11" height="10" /></bezel> + <bezel element="cblack"><bounds x="40" y="70" width="11" height="10" /></bezel> + <bezel element="cwhite"><bounds x="50" y="70" width="11" height="10" /></bezel> + <bezel element="cblack"><bounds x="60" y="70" width="11" height="10" /></bezel> + <bezel element="cwhite"><bounds x="70" y="70" width="10" height="10" /></bezel> + + <!-- coords --> + <bezel element="text_8"><bounds x="0.25" y="4.3" width="2" height="1.4" /></bezel> + <bezel element="text_7"><bounds x="0.25" y="14.3" width="2" height="1.4" /></bezel> + <bezel element="text_6"><bounds x="0.25" y="24.3" width="2" height="1.4" /></bezel> + <bezel element="text_5"><bounds x="0.25" y="34.3" width="2" height="1.4" /></bezel> + <bezel element="text_4"><bounds x="0.25" y="44.3" width="2" height="1.4" /></bezel> + <bezel element="text_3"><bounds x="0.25" y="54.3" width="2" height="1.4" /></bezel> + <bezel element="text_2"><bounds x="0.25" y="64.3" width="2" height="1.4" /></bezel> + <bezel element="text_1"><bounds x="0.25" y="74.3" width="2" height="1.4" /></bezel> + + <bezel element="text_a"><bounds x="4" y="78.55" width="2" height="1.4" /></bezel> + <bezel element="text_b"><bounds x="14" y="78.55" width="2" height="1.4" /></bezel> + <bezel element="text_c"><bounds x="24" y="78.55" width="2" height="1.4" /></bezel> + <bezel element="text_d"><bounds x="34" y="78.55" width="2" height="1.4" /></bezel> + <bezel element="text_e"><bounds x="44" y="78.55" width="2" height="1.4" /></bezel> + <bezel element="text_f"><bounds x="54" y="78.55" width="2" height="1.4" /></bezel> + <bezel element="text_g"><bounds x="64" y="78.55" width="2" height="1.4" /></bezel> + <bezel element="text_h"><bounds x="74" y="78.55" width="2" height="1.4" /></bezel> + + <!-- leds --> + <repeat count="8"> + <param name="y" start="8.3" increment="10" /> + <param name="i2" start="7" increment="-1" /> + + <repeat count="8"> + <param name="x" start="0.2" increment="10" /> + <param name="i1" start="2" increment="1" /> + <bezel name="~i1~.~i2~" element="led"><bounds x="~x~" y="~y~" width="1.5" height="1.5" /></bezel> + </repeat> + </repeat> + + <!-- sensors, pieces --> + <repeat count="8"> + <param name="y" start="0" increment="10" /> + <param name="i" start="8" increment="-1" /> + + <bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x01"><bounds x="0" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x02"><bounds x="10" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x04"><bounds x="20" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x08"><bounds x="30" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x10"><bounds x="40" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x20"><bounds x="50" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x40"><bounds x="60" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x80"><bounds x="70" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + + <bezel name="piece_a~i~" element="piece"><bounds x="0" y="~y~" width="10" height="10" /></bezel> + <bezel name="piece_b~i~" element="piece"><bounds x="10" y="~y~" width="10" height="10" /></bezel> + <bezel name="piece_c~i~" element="piece"><bounds x="20" y="~y~" width="10" height="10" /></bezel> + <bezel name="piece_d~i~" element="piece"><bounds x="30" y="~y~" width="10" height="10" /></bezel> + <bezel name="piece_e~i~" element="piece"><bounds x="40" y="~y~" width="10" height="10" /></bezel> + <bezel name="piece_f~i~" element="piece"><bounds x="50" y="~y~" width="10" height="10" /></bezel> + <bezel name="piece_g~i~" element="piece"><bounds x="60" y="~y~" width="10" height="10" /></bezel> + <bezel name="piece_h~i~" element="piece"><bounds x="70" y="~y~" width="10" height="10" /></bezel> + </repeat> + </group> + + +<!-- sb ui --> + + <element name="hlub" defstate="0"> + <rect state="1"><color red="0" green="0" blue="0" /></rect> + </element> + + <element name="text_uit1"><text string="S.BOARD"><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_uib2"> + <rect><color red="0.81" green="0.8" blue="0.79" /></rect> + <text string="RESET"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_uib3"> + <rect><color red="0.81" green="0.8" blue="0.79" /></rect> + <text string="CLEAR"><color red="0.01" green="0.01" blue="0.01" /></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_uih2"> + <rect><color red="0.81" green="0.8" blue="0.79" /></rect> + <text string="REMOVE"><color red="0.01" green="0.01" blue="0.01" /></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"> + <rect><color red="0.81" green="0.8" blue="0.79" /></rect> + <text string=" <<"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_uiu2b"> + <rect><color red="0.81" green="0.8" blue="0.79" /></rect> + <text string=" < "><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_uiu2c"> + <rect><color red="0.81" green="0.8" blue="0.79" /></rect> + <text string=" >"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_uiu2d"> + <rect><color red="0.81" green="0.8" blue="0.79" /></rect> + <text string=" >>"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_uiu3a" defstate="0"> + <simplecounter maxstate="999" digits="1" align="2"> + <color red="0.81" green="0.8" blue="0.79" /> + </simplecounter> + </element> + <element name="text_uiu3b"><text string="/"><color red="0.81" green="0.8" blue="0.79" /></text></element> + <element name="text_uiu3c" defstate="0"> + <simplecounter maxstate="999" digits="1" align="1"> + <color red="0.81" green="0.8" blue="0.79" /> + </simplecounter> + </element> + + <group name="sb_ui"> + <bounds x="0" y="0" width="10" height="80" /> + <bezel element="cblack"><bounds x="0" y="0" width="10" height="1" /></bezel> + <bezel element="cblack"><bounds x="0" y="7" width="10" height="1" /></bezel> + <bezel element="cblack"><bounds x="0" y="79" width="10" height="1" /></bezel> + <bezel element="text_uit1"><bounds x="0" y="2" width="10" height="2" /></bezel> + <bezel element="text_uit2"><bounds x="0" y="4" width="10" height="2" /></bezel> + + <!-- board --> + <bezel element="text_uib1"><bounds x="0" y="9" width="10" height="2" /></bezel> + <bezel element="cwhite"><bounds x="1" y="11.5" width="8" height="2.5" /></bezel> + <bezel element="cwhite"><bounds x="1" y="15" width="8" height="2.5" /></bezel> + + <bezel element="text_uib2"><bounds x="1.5" y="11.75" width="7" height="2" /></bezel> + <bezel element="text_uib3"><bounds x="1.5" y="15.25" width="7" height="2" /></bezel> + + <bezel element="hlub" inputtag="board:UI" inputmask="0x200"><bounds x="1" y="11.5" width="8" height="2.5" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:UI" inputmask="0x100"><bounds x="1" y="15" width="8" height="2.5" /><color alpha="0.25" /></bezel> + + <!-- spawn --> + <bezel element="text_uis1"><bounds x="0" y="20.5" width="10" height="2" /></bezel> + <bezel element="cwhite"><bounds x="1" y="23" width="8" height="12" /></bezel> + <bezel element="cwhite"><bounds x="1" y="36" width="8" height="12" /></bezel> + + <bezel name="piece_ui1" element="piece"><bounds x="1" y="23" width="4" height="4" /></bezel> + <bezel name="piece_ui2" element="piece"><bounds x="1" y="27" width="4" height="4" /></bezel> + <bezel name="piece_ui3" element="piece"><bounds x="1" y="31" width="4" height="4" /></bezel> + <bezel name="piece_ui4" element="piece"><bounds x="5" y="23" width="4" height="4" /></bezel> + <bezel name="piece_ui5" element="piece"><bounds x="5" y="27" width="4" height="4" /></bezel> + <bezel name="piece_ui6" element="piece"><bounds x="5" y="31" width="4" height="4" /></bezel> + <bezel name="piece_ui7" element="piece"><bounds x="1" y="36" width="4" height="4" /></bezel> + <bezel name="piece_ui8" element="piece"><bounds x="1" y="40" width="4" height="4" /></bezel> + <bezel name="piece_ui9" element="piece"><bounds x="1" y="44" width="4" height="4" /></bezel> + <bezel name="piece_ui10" element="piece"><bounds x="5" y="36" width="4" height="4" /></bezel> + <bezel name="piece_ui11" element="piece"><bounds x="5" y="40" width="4" height="4" /></bezel> + <bezel name="piece_ui12" element="piece"><bounds x="5" y="44" width="4" height="4" /></bezel> + + <bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0001"><bounds x="1" y="23" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0002"><bounds x="1" y="27" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0004"><bounds x="1" y="31" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0008"><bounds x="5" y="23" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0010"><bounds x="5" y="27" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0020"><bounds x="5" y="31" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0040"><bounds x="1" y="36" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0080"><bounds x="1" y="40" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0100"><bounds x="1" y="44" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0200"><bounds x="5" y="36" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0400"><bounds x="5" y="40" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0800"><bounds x="5" y="44" width="4" height="4" /><color alpha="0.25" /></bezel> + + <!-- hand --> + <bezel element="text_uih1"><bounds x="0" y="51" width="10" height="2" /></bezel> + <bezel element="cblack"><bounds x="1" y="53.5" width="8" height="6" /></bezel> + <bezel name="piece_ui0" element="piece"><bounds x="2" y="53.5" width="6" height="6" /></bezel> + + <bezel element="cwhite"><bounds x="1" y="60.5" width="8" height="2.5" /></bezel> + <bezel element="text_uih2"><bounds x="1.5" y="60.75" width="7" height="2" /></bezel> + <bezel element="hlub" inputtag="board:UI" inputmask="0x08"><bounds x="1" y="60.5" width="8" height="2.5" /><color alpha="0.25" /></bezel> + + <!-- undo --> + <bezel element="text_uiu1"><bounds x="0" y="66" width="10" height="2" /></bezel> + <bezel element="cwhite"><bounds x="1" y="68.5" width="1.7" height="6" /></bezel> + <bezel element="cwhite"><bounds x="3.1" y="68.5" width="1.7" height="6" /></bezel> + <bezel element="cwhite"><bounds x="5.2" y="68.5" width="1.7" height="6" /></bezel> + <bezel element="cwhite"><bounds x="7.3" y="68.5" width="1.7" height="6" /></bezel> + <bezel element="text_uiu2a"><bounds x="1" y="69.5" width="1.7" height="4" /></bezel> + <bezel element="text_uiu2b"><bounds x="3.1" y="69.5" width="1.7" height="4" /></bezel> + <bezel element="text_uiu2c"><bounds x="5.2" y="69.5" width="1.7" height="4" /></bezel> + <bezel element="text_uiu2d"><bounds x="7.3" y="69.5" width="1.7" height="4" /></bezel> + + <bezel element="hlub" inputtag="board:UI" inputmask="0x10"><bounds x="1" y="68.5" width="1.7" height="6" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:UI" inputmask="0x20"><bounds x="3.1" y="68.5" width="1.7" height="6" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:UI" inputmask="0x40"><bounds x="5.2" y="68.5" width="1.7" height="6" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:UI" inputmask="0x80"><bounds x="7.3" y="68.5" width="1.7" height="6" /><color alpha="0.25" /></bezel> + + <bezel name="count_ui0" element="text_uiu3a"><bounds x="0" y="75" width="4" height="2" /></bezel> + <bezel name="count_ui1" element="text_uiu3c"><bounds x="6" y="75" width="4" height="2" /></bezel> + <bezel element="text_uiu3b"><bounds x="4" y="75" width="2" height="2" /></bezel> + </group> + + +<!-- lcd panel --> + + <group name="lcd1"> + <bounds x="15.5" y="0" width="22.5" height="14" /> + + <bezel name="digit0" element="digit"><bounds x="15.5" y="0" width="4" height="6" /></bezel> + <bezel name="digit1" element="digit"><bounds x="20" y="0" width="4" height="6" /></bezel> + <bezel name="digit2" element="digit"><bounds x="24" y="0" width="4" height="6" /></bezel> + <bezel name="digit3" element="digit"><bounds x="30" y="0" width="4" height="6" /></bezel> + <bezel name="digit4" element="digit"><bounds x="34" y="0" width="4" height="6" /></bezel> + + <bezel name="lcd0.0.0" element="ldot"><bounds x="28.91" y="1.8" width="0.6" height="0.6" /></bezel> + <bezel name="lcd0.0.0" element="ldot"><bounds x="28.69" y="3.65" width="0.6" height="0.6" /></bezel> + + <bezel name="digit5" element="digit"><bounds x="20" y="8" width="4" height="6" /></bezel> + <bezel name="digit6" element="digit"><bounds x="24" y="8" width="4" height="6" /></bezel> + <bezel name="digit7" element="digit"><bounds x="30" y="8" width="4" height="6" /></bezel> + <bezel name="digit8" element="digit"><bounds x="34" y="8" width="4" height="6" /></bezel> + + <bezel name="lcd1.0.0" element="ldot"><bounds x="28.91" y="9.8" width="0.6" height="0.6" /></bezel> + <bezel name="lcd1.0.0" element="ldot"><bounds x="28.69" y="11.65" width="0.6" height="0.6" /></bezel> + </group> + + +<!-- build screen --> + + <view name="Internal Layout"> + <bounds left="-2.5" right="103" top="8.5" bottom="102" /> + + <group ref="sb_board"><bounds x="10" y="10" width="80" height="80" /></group> + <group ref="sb_ui"><bounds x="-1.5" y="10" width="10" height="80" /></group> + + <group ref="lcd1"><bounds x="26.64" y="92" width="12.86" height="8" /></group> + <bezel element="whitew"><bounds x="25.14" y="91.5" width="14.86" height="9" /><color alpha="0.125" /></bezel> + + <!-- button panel --> + <element ref="black"><bounds x="92.5" y="40.5" width="9" height="0.25" /></element> + <element ref="black"><bounds x="92.5" y="44.25" width="9" height="0.25" /></element> + <element ref="black"><bounds x="92.5" y="45.5" width="9" height="0.25" /></element> + <element ref="black"><bounds x="92.5" y="49.25" width="9" height="0.25" /></element> + <element ref="black"><bounds x="92.5" y="50.5" width="9" height="0.25" /></element> + <element ref="black"><bounds x="92.5" y="54.25" width="9" height="0.25" /></element> + <element ref="black"><bounds x="92.5" y="55.5" width="9" height="0.25" /></element> + <element ref="black"><bounds x="92.5" y="59.25" width="9" height="0.25" /></element> + + <element ref="text_mode"><bounds x="92.5" y="59.4" width="9" height="1.4" /></element> + <element ref="black"><bounds x="91.75" y="60.5" width="0.25" height="24" /></element> + <element ref="black"><bounds x="102" y="60.5" width="0.25" height="24" /></element> + + <element ref="black"><bounds x="92.5" y="10.5" width="9" height="4" /></element> + <element ref="black"><bounds x="92.5" y="15.5" width="9" height="4" /></element> + <element ref="black"><bounds x="92.5" y="20.5" width="9" height="4" /></element> + <element ref="black"><bounds x="92.5" y="25.5" width="9" height="4" /></element> + <element ref="black"><bounds x="92.5" y="30.5" width="9" height="4" /></element> + <element ref="black"><bounds x="92.5" y="35.5" width="9" height="4" /></element> + + <element ref="black"><bounds x="92.5" y="60.5" width="9" height="4" /></element> + <element ref="black"><bounds x="92.5" y="65.5" width="9" height="4" /></element> + <element ref="black"><bounds x="92.5" y="70.5" width="9" height="4" /></element> + <element ref="black"><bounds x="92.5" y="75.5" width="9" height="4" /></element> + <element ref="black"><bounds x="92.5" y="80.5" width="9" height="4" /></element> + <element ref="black"><bounds x="92.5" y="85.5" width="9" height="4" /></element> + + <element ref="black"><bounds x="45.5" y="91.5" width="9" height="4" /></element> + <element ref="black"><bounds x="45.5" y="96.5" width="9" height="4" /></element> + <element ref="black"><bounds x="55.5" y="91.5" width="9" height="4" /></element> + <element ref="black"><bounds x="55.5" y="96.5" width="9" height="4" /></element> + <element ref="black"><bounds x="70.5" y="91.5" width="9" height="4" /></element> + <element ref="black"><bounds x="70.5" y="96.5" width="9" height="4" /></element> + <element ref="black"><bounds x="80.5" y="91.5" width="9" height="4" /></element> + <element ref="black"><bounds x="80.5" y="96.5" width="9" height="4" /></element> + <element ref="black"><bounds x="92.5" y="91.5" width="9" height="4" /></element> + <element ref="black"><bounds x="92.5" y="96.5" width="9" height="4" /></element> + + <element ref="text_go"> <bounds x="45.6" y="92.5" width="8.8" height="2" /></element> + <element ref="text_stop"> <bounds x="45.6" y="97.5" width="8.8" height="2" /></element> + <element ref="text_newgame"> <bounds x="55.6" y="92.5" width="8.8" height="2" /></element> + <element ref="text_sound"> <bounds x="55.6" y="97.5" width="8.8" height="2" /></element> + <element ref="text_plus"> <bounds x="70.6" y="92.0" width="8.8" height="3" /></element> + <element ref="text_minus"> <bounds x="70.6" y="96.6" width="8.8" height="3.8" /></element> + <element ref="text_function"><bounds x="80.6" y="92.5" width="8.8" height="2" /></element> + <element ref="text_tabcolor"><bounds x="80.6" y="97.5" width="8.8" height="2" /></element> + <element ref="text_scroll"> <bounds x="92.6" y="92.5" width="8.8" height="2" /></element> + <element ref="text_play"> <bounds x="92.6" y="97.5" width="8.8" height="2" /></element> + + <element ref="text_p1"><bounds x="95.4" y="10.8" width="3.2" height="3.2" /><color alpha="0.75" /></element> + <element ref="text_p2"><bounds x="95.4" y="15.8" width="3.2" height="3.2" /><color alpha="0.75" /></element> + <element ref="text_p3"><bounds x="95.4" y="20.8" width="3.2" height="3.2" /><color alpha="0.75" /></element> + <element ref="text_p4"><bounds x="95.4" y="25.8" width="3.2" height="3.2" /><color alpha="0.75" /></element> + <element ref="text_p5"><bounds x="95.4" y="30.8" width="3.2" height="3.2" /><color alpha="0.75" /></element> + <element ref="text_p6"><bounds x="95.4" y="35.8" width="3.2" height="3.2" /><color alpha="0.75" /></element> + + <element ref="text_white"> <bounds x="92.6" y="41.5" width="8.8" height="2" /></element> + <element ref="text_black"> <bounds x="92.6" y="46.5" width="8.8" height="2" /></element> + <element ref="text_check"> <bounds x="92.6" y="51.5" width="8.8" height="2" /></element> + <element ref="text_end"> <bounds x="92.6" y="56.5" width="8.8" height="2" /></element> + + <element ref="text_normal"> <bounds x="92.6" y="61.5" width="8.8" height="2" /></element> + <element ref="text_analysis"><bounds x="92.6" y="66.5" width="8.8" height="2" /></element> + <element ref="text_setup"> <bounds x="92.6" y="71.5" width="8.8" height="2" /></element> + <element ref="text_level"> <bounds x="92.6" y="76.5" width="8.8" height="2" /></element> + <element ref="text_library"> <bounds x="92.6" y="81.5" width="8.8" height="2" /></element> + <element ref="text_info"> <bounds x="92.6" y="86.5" width="8.8" height="2" /></element> + + <element ref="ledo"><bounds x="93" y="11" width="1.6" height="0.6" /></element> + <element ref="ledo"><bounds x="93" y="16" width="1.6" height="0.6" /></element> + <element ref="ledo"><bounds x="93" y="21" width="1.6" height="0.6" /></element> + <element ref="ledo"><bounds x="93" y="26" width="1.6" height="0.6" /></element> + <element ref="ledo"><bounds x="93" y="31" width="1.6" height="0.6" /></element> + <element ref="ledo"><bounds x="93" y="36" width="1.6" height="0.6" /></element> + <element ref="ledo"><bounds x="93" y="41" width="1.6" height="0.6" /></element> + <element ref="ledo"><bounds x="93" y="46" width="1.6" height="0.6" /></element> + <element ref="ledo"><bounds x="93" y="51" width="1.6" height="0.6" /></element> + <element ref="ledo"><bounds x="93" y="56" width="1.6" height="0.6" /></element> + <element ref="ledo"><bounds x="93" y="61" width="1.6" height="0.6" /></element> + + <element ref="ledr" name="1.7" blend="add"><bounds x="93" y="11" width="1.6" height="0.6" /></element> + <element ref="ledr" name="1.6" blend="add"><bounds x="93" y="16" width="1.6" height="0.6" /></element> + <element ref="ledr" name="1.5" blend="add"><bounds x="93" y="21" width="1.6" height="0.6" /></element> + <element ref="ledr" name="1.4" blend="add"><bounds x="93" y="26" width="1.6" height="0.6" /></element> + <element ref="ledr" name="1.3" blend="add"><bounds x="93" y="31" width="1.6" height="0.6" /></element> + <element ref="ledr" name="1.2" blend="add"><bounds x="93" y="36" width="1.6" height="0.6" /></element> + + <element ref="ledg" name="0.7" blend="add"><bounds x="93" y="11" width="1.6" height="0.6" /></element> + <element ref="ledg" name="0.6" blend="add"><bounds x="93" y="16" width="1.6" height="0.6" /></element> + <element ref="ledg" name="0.5" blend="add"><bounds x="93" y="21" width="1.6" height="0.6" /></element> + <element ref="ledg" name="0.4" blend="add"><bounds x="93" y="26" width="1.6" height="0.6" /></element> + <element ref="ledg" name="0.3" blend="add"><bounds x="93" y="31" width="1.6" height="0.6" /></element> + <element ref="ledg" name="0.2" blend="add"><bounds x="93" y="36" width="1.6" height="0.6" /></element> + + <element ref="ledr" name="0.8" blend="add"><bounds x="93" y="41" width="1.6" height="0.6" /></element> + <element ref="ledr" name="1.8" blend="add"><bounds x="93" y="46" width="1.6" height="0.6" /></element> + <element ref="ledr" name="0.0" blend="add"><bounds x="93" y="51" width="1.6" height="0.6" /></element> + <element ref="ledr" name="1.0" blend="add"><bounds x="93" y="56" width="1.6" height="0.6" /></element> + + <element ref="ledg" name="0.1" blend="add"><bounds x="93" y="61" width="1.6" height="0.6" /></element> + <element ref="ledr" name="1.1" blend="add"><bounds x="93" y="61" width="1.6" height="0.6" /></element> + + <element ref="hl" inputtag="IN.3" inputmask="0x04"><bounds x="92.5" y="10.5" width="9" height="4" /><color alpha="0.15" /></element> + <element ref="hl" inputtag="IN.3" inputmask="0x01"><bounds x="92.5" y="15.5" width="9" height="4" /><color alpha="0.15" /></element> + <element ref="hl" inputtag="IN.2" inputmask="0x01"><bounds x="92.5" y="20.5" width="9" height="4" /><color alpha="0.15" /></element> + <element ref="hl" inputtag="IN.2" inputmask="0x04"><bounds x="92.5" y="25.5" width="9" height="4" /><color alpha="0.15" /></element> + <element ref="hl" inputtag="IN.3" inputmask="0x02"><bounds x="92.5" y="30.5" width="9" height="4" /><color alpha="0.15" /></element> + <element ref="hl" inputtag="IN.2" inputmask="0x02"><bounds x="92.5" y="35.5" width="9" height="4" /><color alpha="0.15" /></element> + + <element ref="hl" inputtag="IN.7" inputmask="0x04"><bounds x="92.5" y="60.5" width="9" height="4" /><color alpha="0.15" /></element> + <element ref="hl" inputtag="IN.7" inputmask="0x02"><bounds x="92.5" y="65.5" width="9" height="4" /><color alpha="0.15" /></element> + <element ref="hl" inputtag="IN.0" inputmask="0x01"><bounds x="92.5" y="70.5" width="9" height="4" /><color alpha="0.15" /></element> + <element ref="hl" inputtag="IN.0" inputmask="0x02"><bounds x="92.5" y="75.5" width="9" height="4" /><color alpha="0.15" /></element> + <element ref="hl" inputtag="IN.6" inputmask="0x01"><bounds x="92.5" y="80.5" width="9" height="4" /><color alpha="0.15" /></element> + <element ref="hl" inputtag="IN.6" inputmask="0x02"><bounds x="92.5" y="85.5" width="9" height="4" /><color alpha="0.15" /></element> + + <element ref="hl" inputtag="RESET" inputmask="0x01"><bounds x="45.5" y="91.5" width="9" height="4" /><color alpha="0.15" /></element> + <element ref="hl" inputtag="IN.1" inputmask="0x02"><bounds x="45.5" y="96.5" width="9" height="4" /><color alpha="0.15" /></element> + <element ref="hl" inputtag="IN.1" inputmask="0x04"><bounds x="55.5" y="91.5" width="9" height="4" /><color alpha="0.15" /></element> + <element ref="hl" inputtag="IN.1" inputmask="0x01"><bounds x="55.5" y="96.5" width="9" height="4" /><color alpha="0.15" /></element> + <element ref="hl" inputtag="IN.5" inputmask="0x01"><bounds x="70.5" y="91.5" width="9" height="4" /><color alpha="0.15" /></element> + <element ref="hl" inputtag="IN.4" inputmask="0x04"><bounds x="70.5" y="96.5" width="9" height="4" /><color alpha="0.15" /></element> + <element ref="hl" inputtag="IN.5" inputmask="0x02"><bounds x="80.5" y="91.5" width="9" height="4" /><color alpha="0.15" /></element> + <element ref="hl" inputtag="IN.4" inputmask="0x02"><bounds x="80.5" y="96.5" width="9" height="4" /><color alpha="0.15" /></element> + <element ref="hl" inputtag="IN.x" inputmask="0x01"><bounds x="92.5" y="91.5" width="9" height="4" /><color alpha="0.15" /></element> + <element ref="hl" inputtag="IN.4" inputmask="0x01"><bounds x="92.5" y="96.5" width="9" height="4" /><color alpha="0.15" /></element> + + </view> +</mamelayout> diff --git a/src/mame/mame.lst b/src/mame/mame.lst index bce9f1dfe74..3c3b6c7ce28 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -34112,6 +34112,10 @@ sage2 // @source:saitek_chesstrv.cpp chesstrv // +@source:saitek_corona.cpp +corona +coronaa + @source:saitek_cp2000.cpp cp2000 // @@ -34123,8 +34127,6 @@ risc2500 // montreux // @source:saitek_stratos.cpp -corona -coronaa stratos stratosa tking diff --git a/src/mame/mess.flt b/src/mame/mess.flt index f486bb025cd..1ba447dd2f1 100644 --- a/src/mame/mess.flt +++ b/src/mame/mess.flt @@ -692,6 +692,7 @@ rzone.cpp sacstate.cpp sage2.cpp saitek_chesstrv.cpp +saitek_corona.cpp saitek_cp2000.cpp saitek_delta1.cpp saitek_risc2500.cpp |