diff options
174 files changed, 9842 insertions, 5664 deletions
diff --git a/scripts/src/bus.lua b/scripts/src/bus.lua index e1bf27c50b9..d77fe8c5d63 100644 --- a/scripts/src/bus.lua +++ b/scripts/src/bus.lua @@ -2142,6 +2142,29 @@ end --------------------------------------------------- -- +--@src/devices/bus/nscsi/cd.h,BUSES["NSCSI"] = true +--@src/devices/bus/nscsi/devices.h,BUSES["NSCSI"] = true +--@src/devices/bus/nscsi/hd.h,BUSES["NSCSI"] = true +--@src/devices/bus/nscsi/s1410.h,BUSES["NSCSI"] = true +--------------------------------------------------- + +if (BUSES["NSCSI"]~=null) then + files { + MAME_DIR .. "src/devices/bus/nscsi/cd.cpp", + MAME_DIR .. "src/devices/bus/nscsi/cd.h", + MAME_DIR .. "src/devices/bus/nscsi/cw7501.cpp", + MAME_DIR .. "src/devices/bus/nscsi/cw7501.h", + MAME_DIR .. "src/devices/bus/nscsi/devices.cpp", + MAME_DIR .. "src/devices/bus/nscsi/devices.h", + MAME_DIR .. "src/devices/bus/nscsi/hd.cpp", + MAME_DIR .. "src/devices/bus/nscsi/hd.h", + MAME_DIR .. "src/devices/bus/nscsi/s1410.cpp", + MAME_DIR .. "src/devices/bus/nscsi/s1410.h", + } +end + +--------------------------------------------------- +-- --@src/devices/bus/nubus/nubus.h,BUSES["NUBUS"] = true --------------------------------------------------- diff --git a/scripts/src/machine.lua b/scripts/src/machine.lua index 09192e522bc..39435e18798 100644 --- a/scripts/src/machine.lua +++ b/scripts/src/machine.lua @@ -2224,9 +2224,6 @@ end -- --@src/devices/machine/nscsi_bus.h,MACHINES["NSCSI"] = true --@src/devices/machine/nscsi_cb.h,MACHINES["NSCSI"] = true ---@src/devices/machine/nscsi_cd.h,MACHINES["NSCSI"] = true ---@src/devices/machine/nscsi_hd.h,MACHINES["NSCSI"] = true ---@src/devices/machine/nscsi_s1410.h,MACHINES["NSCSI"] = true --------------------------------------------------- if (MACHINES["NSCSI"]~=null) then @@ -2235,12 +2232,6 @@ if (MACHINES["NSCSI"]~=null) then MAME_DIR .. "src/devices/machine/nscsi_bus.h", MAME_DIR .. "src/devices/machine/nscsi_cb.cpp", MAME_DIR .. "src/devices/machine/nscsi_cb.h", - MAME_DIR .. "src/devices/machine/nscsi_cd.cpp", - MAME_DIR .. "src/devices/machine/nscsi_cd.h", - MAME_DIR .. "src/devices/machine/nscsi_hd.cpp", - MAME_DIR .. "src/devices/machine/nscsi_hd.h", - MAME_DIR .. "src/devices/machine/nscsi_s1410.cpp", - MAME_DIR .. "src/devices/machine/nscsi_s1410.h", } end diff --git a/scripts/target/mame/arcade.lua b/scripts/target/mame/arcade.lua index 70176340ecd..4430d442e01 100644 --- a/scripts/target/mame/arcade.lua +++ b/scripts/target/mame/arcade.lua @@ -732,6 +732,7 @@ BUSES["MIDI"] = true BUSES["NEOGEO"] = true BUSES["NEOGEO_CTRL"] = true --BUSES["NES"] = true +BUSES["NSCSI"] = true --BUSES["NUBUS"] = true --BUSES["O2"] = true --BUSES["ORICEXT"] = true diff --git a/scripts/target/mame/mess.lua b/scripts/target/mame/mess.lua index 83b8b4986dd..8d4203790e8 100644 --- a/scripts/target/mame/mess.lua +++ b/scripts/target/mame/mess.lua @@ -808,6 +808,7 @@ BUSES["NEOGEO_CTRL"] = true BUSES["NES"] = true BUSES["NES_CTRL"] = true BUSES["NEWBRAIN"] = true +BUSES["NSCSI"] = true BUSES["NUBUS"] = true BUSES["O2"] = true BUSES["ORICEXT"] = true @@ -1918,6 +1919,7 @@ files { MAME_DIR .. "src/mame/includes/coleco.h", MAME_DIR .. "src/mame/machine/coleco.cpp", MAME_DIR .. "src/mame/machine/coleco.h", + MAME_DIR .. "src/mame/drivers/wrinkles.cpp", } createMESSProjects(_target, _subtarget, "compugraphic") diff --git a/src/devices/bus/a2bus/a2hsscsi.cpp b/src/devices/bus/a2bus/a2hsscsi.cpp index 83455dc913a..98c612dae78 100644 --- a/src/devices/bus/a2bus/a2hsscsi.cpp +++ b/src/devices/bus/a2bus/a2hsscsi.cpp @@ -40,8 +40,7 @@ #include "emu.h" #include "a2hsscsi.h" -#include "machine/nscsi_cd.h" -#include "machine/nscsi_hd.h" +#include "bus/nscsi/devices.h" /*************************************************************************** PARAMETERS @@ -57,13 +56,6 @@ DEFINE_DEVICE_TYPE(A2BUS_HSSCSI, a2bus_hsscsi_device, "a2hsscsi", "Apple II High #define SCSI_BUS_TAG "scsibus" #define SCSI_5380_TAG "scsibus:7:ncr5380" -static void hsscsi_devices(device_slot_interface &device) -{ - device.option_add("cdrom", NSCSI_CDROM); - device.option_add("harddisk", NSCSI_HARDDISK); - device.option_add_internal("ncr5380", NCR53C80); -} - ROM_START( hsscsi ) ROM_REGION(0x8000, SCSI_ROM_REGION, 0) ROM_LOAD( "341-0803.bin", 0x0000, 0x8000, CRC(2c15618b) SHA1(7d32227299933bfc1b7f8bc2062906fdfe530674) ) @@ -80,14 +72,14 @@ ROM_END void a2bus_hsscsi_device::device_add_mconfig(machine_config &config) { NSCSI_BUS(config, m_scsibus); - NSCSI_CONNECTOR(config, "scsibus:0", hsscsi_devices, nullptr, false); - NSCSI_CONNECTOR(config, "scsibus:1", hsscsi_devices, nullptr, false); - NSCSI_CONNECTOR(config, "scsibus:2", hsscsi_devices, nullptr, false); - NSCSI_CONNECTOR(config, "scsibus:3", hsscsi_devices, nullptr, false); - NSCSI_CONNECTOR(config, "scsibus:4", hsscsi_devices, nullptr, false); - NSCSI_CONNECTOR(config, "scsibus:5", hsscsi_devices, nullptr, false); - NSCSI_CONNECTOR(config, "scsibus:6", hsscsi_devices, "harddisk", false); - NSCSI_CONNECTOR(config, "scsibus:7", hsscsi_devices, "ncr5380", true).set_option_machine_config("ncr5380", [this](device_t *device) { + NSCSI_CONNECTOR(config, "scsibus:0", default_scsi_devices, nullptr, false); + NSCSI_CONNECTOR(config, "scsibus:1", default_scsi_devices, nullptr, false); + NSCSI_CONNECTOR(config, "scsibus:2", default_scsi_devices, nullptr, false); + NSCSI_CONNECTOR(config, "scsibus:3", default_scsi_devices, nullptr, false); + NSCSI_CONNECTOR(config, "scsibus:4", default_scsi_devices, nullptr, false); + NSCSI_CONNECTOR(config, "scsibus:5", default_scsi_devices, nullptr, false); + NSCSI_CONNECTOR(config, "scsibus:6", default_scsi_devices, "harddisk", false); + NSCSI_CONNECTOR(config, "scsibus:7").option_set("ncr5380", NCR53C80).machine_config([this](device_t *device) { downcast<ncr53c80_device &>(*device).drq_handler().set(*this, FUNC(a2bus_hsscsi_device::drq_w)); }); } diff --git a/src/devices/bus/a2bus/a2scsi.cpp b/src/devices/bus/a2bus/a2scsi.cpp index 87e7c86dddc..9c3e4bc6c85 100644 --- a/src/devices/bus/a2bus/a2scsi.cpp +++ b/src/devices/bus/a2bus/a2scsi.cpp @@ -33,8 +33,7 @@ #include "emu.h" #include "a2scsi.h" -#include "machine/nscsi_cd.h" -#include "machine/nscsi_hd.h" +#include "bus/nscsi/devices.h" /*************************************************************************** PARAMETERS @@ -50,13 +49,6 @@ DEFINE_DEVICE_TYPE(A2BUS_SCSI, a2bus_scsi_device, "a2scsi", "Apple II SCSI Card" #define SCSI_BUS_TAG "scsibus" #define SCSI_5380_TAG "scsibus:7:ncr5380" -static void scsi_devices(device_slot_interface &device) -{ - device.option_add("cdrom", NSCSI_CDROM_APPLE); - device.option_add("harddisk", NSCSI_HARDDISK); - device.option_add_internal("ncr5380", NCR5380N); -} - ROM_START( scsi ) ROM_REGION(0x4000, SCSI_ROM_REGION, 0) // this is the Rev. C ROM ROM_LOAD( "341-0437-a.bin", 0x0000, 0x4000, CRC(5aff85d3) SHA1(451c85c46b92e6ad2ad930f055ccf0fe3049936d) ) @@ -73,14 +65,14 @@ ROM_END void a2bus_scsi_device::device_add_mconfig(machine_config &config) { NSCSI_BUS(config, m_scsibus); - NSCSI_CONNECTOR(config, "scsibus:0", scsi_devices, nullptr, false); - NSCSI_CONNECTOR(config, "scsibus:1", scsi_devices, "cdrom", false); - NSCSI_CONNECTOR(config, "scsibus:2", scsi_devices, nullptr, false); - NSCSI_CONNECTOR(config, "scsibus:3", scsi_devices, nullptr, false); - NSCSI_CONNECTOR(config, "scsibus:4", scsi_devices, nullptr, false); - NSCSI_CONNECTOR(config, "scsibus:5", scsi_devices, nullptr, false); - NSCSI_CONNECTOR(config, "scsibus:6", scsi_devices, "harddisk", false); - NSCSI_CONNECTOR(config, "scsibus:7", scsi_devices, "ncr5380", true).set_option_machine_config("ncr5380", [this](device_t *device) { + NSCSI_CONNECTOR(config, "scsibus:0", default_scsi_devices, nullptr, false); + NSCSI_CONNECTOR(config, "scsibus:1", default_scsi_devices, "cdrom", false); + NSCSI_CONNECTOR(config, "scsibus:2", default_scsi_devices, nullptr, false); + NSCSI_CONNECTOR(config, "scsibus:3", default_scsi_devices, nullptr, false); + NSCSI_CONNECTOR(config, "scsibus:4", default_scsi_devices, nullptr, false); + NSCSI_CONNECTOR(config, "scsibus:5", default_scsi_devices, nullptr, false); + NSCSI_CONNECTOR(config, "scsibus:6", default_scsi_devices, "harddisk", false); + NSCSI_CONNECTOR(config, "scsibus:7").option_set("ncr5380", NCR5380N).machine_config([this](device_t *device) { downcast<ncr5380n_device &>(*device).drq_handler().set(*this, FUNC(a2bus_scsi_device::drq_w)); }); } diff --git a/src/devices/bus/amiga/zorro/a590.cpp b/src/devices/bus/amiga/zorro/a590.cpp index 045a0eab7c8..01975c4a6ad 100644 --- a/src/devices/bus/amiga/zorro/a590.cpp +++ b/src/devices/bus/amiga/zorro/a590.cpp @@ -11,8 +11,7 @@ #include "emu.h" #include "a590.h" #include "machine/nscsi_bus.h" -#include "machine/nscsi_cd.h" -#include "machine/nscsi_hd.h" +#include "bus/nscsi/devices.h" //************************************************************************** @@ -115,12 +114,6 @@ ioport_constructor a2091_device::device_input_ports() const // device_add_mconfig - add device configuration //------------------------------------------------- -void dmac_hdc_device::scsi_devices(device_slot_interface &device) -{ - device.option_add("cdrom", NSCSI_CDROM); - device.option_add("harddisk", NSCSI_HARDDISK); -} - void dmac_hdc_device::wd33c93(device_t *device) { device->set_clock(10000000); @@ -137,12 +130,12 @@ void dmac_hdc_device::device_add_mconfig(machine_config &config) dmac.cfgout_handler().set(FUNC(dmac_hdc_device::dmac_cfgout_w)); NSCSI_BUS(config, "scsi", 0); - NSCSI_CONNECTOR(config, "scsi:0", scsi_devices, nullptr, false); - NSCSI_CONNECTOR(config, "scsi:1", scsi_devices, "harddisk", false); - NSCSI_CONNECTOR(config, "scsi:3", scsi_devices, nullptr, false); - NSCSI_CONNECTOR(config, "scsi:4", scsi_devices, nullptr, false); - NSCSI_CONNECTOR(config, "scsi:5", scsi_devices, nullptr, false); - NSCSI_CONNECTOR(config, "scsi:6", scsi_devices, nullptr, false); + NSCSI_CONNECTOR(config, "scsi:0", default_scsi_devices, nullptr, false); + NSCSI_CONNECTOR(config, "scsi:1", default_scsi_devices, "harddisk", false); + NSCSI_CONNECTOR(config, "scsi:3", default_scsi_devices, nullptr, false); + NSCSI_CONNECTOR(config, "scsi:4", default_scsi_devices, nullptr, false); + NSCSI_CONNECTOR(config, "scsi:5", default_scsi_devices, nullptr, false); + NSCSI_CONNECTOR(config, "scsi:6", default_scsi_devices, nullptr, false); NSCSI_CONNECTOR(config, "scsi:7").option_set("wd33c93", WD33C93A) .machine_config([this](device_t *device) { wd33c93(device); }); } diff --git a/src/devices/bus/gamegear/ggext.cpp b/src/devices/bus/gamegear/ggext.cpp index a886abe67f2..99d464e87b7 100644 --- a/src/devices/bus/gamegear/ggext.cpp +++ b/src/devices/bus/gamegear/ggext.cpp @@ -8,6 +8,7 @@ **********************************************************************/ #include "emu.h" +#include "screen.h" #include "ggext.h" // slot devices #include "smsctrladp.h" @@ -58,6 +59,7 @@ device_gg_ext_port_interface::~device_gg_ext_port_interface() gg_ext_port_device::gg_ext_port_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : device_t(mconfig, GG_EXT_PORT, tag, owner, clock), device_slot_interface(mconfig, *this), + m_screen(*this, finder_base::DUMMY_TAG), m_device(nullptr), m_th_pin_handler(*this) { diff --git a/src/devices/bus/gamegear/ggext.h b/src/devices/bus/gamegear/ggext.h index 89dd235a9b0..f2145e694fd 100644 --- a/src/devices/bus/gamegear/ggext.h +++ b/src/devices/bus/gamegear/ggext.h @@ -65,6 +65,11 @@ public: void th_pin_w(int state); + template <typename T> void set_screen_tag(T &&tag) { m_screen.set_tag(std::forward<T>(tag)); } + + // for peripherals that interact with the machine's screen + required_device<screen_device> m_screen; + //protected: // device-level overrides virtual void device_start() override; diff --git a/src/devices/bus/gamegear/smsctrladp.cpp b/src/devices/bus/gamegear/smsctrladp.cpp index 7260894e8f7..8308c55d81a 100644 --- a/src/devices/bus/gamegear/smsctrladp.cpp +++ b/src/devices/bus/gamegear/smsctrladp.cpp @@ -77,6 +77,7 @@ WRITE_LINE_MEMBER( sms_ctrl_adaptor_device::th_pin_w ) void sms_ctrl_adaptor_device::device_add_mconfig(machine_config &config) { SMS_CONTROL_PORT(config, m_subctrl_port, sms_control_port_devices, "joypad"); + m_subctrl_port->set_screen_tag(m_port->m_screen); m_subctrl_port->th_input_handler().set(FUNC(sms_ctrl_adaptor_device::th_pin_w)); } diff --git a/src/devices/bus/hp_dio/hp98265a.cpp b/src/devices/bus/hp_dio/hp98265a.cpp index c5c28eeda6b..623f2d00be1 100644 --- a/src/devices/bus/hp_dio/hp98265a.cpp +++ b/src/devices/bus/hp_dio/hp98265a.cpp @@ -10,8 +10,7 @@ #include "hp98265a.h" #include "machine/nscsi_bus.h" -#include "machine/nscsi_cd.h" -#include "machine/nscsi_hd.h" +#include "bus/nscsi/devices.h" #include "machine/mb87030.h" #define VERBOSE 0 @@ -22,12 +21,6 @@ DEFINE_DEVICE_TYPE_NS(HPDIO_98265A, bus::hp_dio, dio16_98265a_device, "hp98265a" namespace bus { namespace hp_dio { -static void scsi_devices(device_slot_interface &device) -{ - device.option_add("cdrom", NSCSI_CDROM); - device.option_add("harddisk", NSCSI_HARDDISK); -} - void dio16_98265a_device::mb87030_scsi_adapter(device_t *device) { mb87030_device &spc = downcast<mb87030_device &>(*device); @@ -41,19 +34,19 @@ void dio16_98265a_device::device_add_mconfig(machine_config &config) { NSCSI_BUS(config, m_scsibus, 0); nscsi_connector &scsicon0(NSCSI_CONNECTOR(config, "scsibus:0", 0)); - scsi_devices(scsicon0); + default_scsi_devices(scsicon0); scsicon0.set_default_option("harddisk"); - scsi_devices(NSCSI_CONNECTOR(config, "scsibus:1", 0)); - scsi_devices(NSCSI_CONNECTOR(config, "scsibus:2", 0)); - scsi_devices(NSCSI_CONNECTOR(config, "scsibus:3", 0)); - scsi_devices(NSCSI_CONNECTOR(config, "scsibus:4", 0)); + default_scsi_devices(NSCSI_CONNECTOR(config, "scsibus:1", 0)); + default_scsi_devices(NSCSI_CONNECTOR(config, "scsibus:2", 0)); + default_scsi_devices(NSCSI_CONNECTOR(config, "scsibus:3", 0)); + default_scsi_devices(NSCSI_CONNECTOR(config, "scsibus:4", 0)); nscsi_connector &scsicon6(NSCSI_CONNECTOR(config, "scsibus:5", 0)); - scsi_devices(scsicon6); + default_scsi_devices(scsicon6); scsicon6.set_default_option("cdrom"); - scsi_devices(NSCSI_CONNECTOR(config, "scsibus:6", 0)); + default_scsi_devices(NSCSI_CONNECTOR(config, "scsibus:6", 0)); nscsi_connector &scsicon7(NSCSI_CONNECTOR(config, "scsibus:7", 0)); scsicon7.option_add_internal("mb87030", MB87030); scsicon7.set_default_option("mb87030"); diff --git a/src/devices/bus/isa/aha1542b.cpp b/src/devices/bus/isa/aha1542b.cpp index dd4a011f82f..f1b26839fd1 100644 --- a/src/devices/bus/isa/aha1542b.cpp +++ b/src/devices/bus/isa/aha1542b.cpp @@ -12,10 +12,10 @@ #include "emu.h" #include "aha1542b.h" +#include "bus/nscsi/devices.h" #include "cpu/i8085/i8085.h" #include "machine/gen_latch.h" #include "machine/nscsi_bus.h" -#include "machine/nscsi_hd.h" DEFINE_DEVICE_TYPE(AHA1542A, aha1542a_device, "aha1542a", "AHA-1542A SCSI Controller") @@ -450,12 +450,6 @@ ioport_constructor aha1542b_device::device_input_ports() const return INPUT_PORTS_NAME(aha1542b); } -static void aha154x_scsi_devices(device_slot_interface &device) -{ - device.option_add("harddisk", NSCSI_HARDDISK); - device.option_add_internal("scsic", AIC6250); -} - void aha154x_device::scsic_config(device_t *device) { device->set_clock(20'000'000); @@ -468,15 +462,15 @@ void aha154x_device::scsic_config(device_t *device) void aha154x_device::scsi_add(machine_config &config) { NSCSI_BUS(config, "scsi"); - NSCSI_CONNECTOR(config, "scsi:0", aha154x_scsi_devices, nullptr); - NSCSI_CONNECTOR(config, "scsi:1", aha154x_scsi_devices, nullptr); - NSCSI_CONNECTOR(config, "scsi:2", aha154x_scsi_devices, nullptr); - NSCSI_CONNECTOR(config, "scsi:3", aha154x_scsi_devices, nullptr); - NSCSI_CONNECTOR(config, "scsi:4", aha154x_scsi_devices, nullptr); - NSCSI_CONNECTOR(config, "scsi:5", aha154x_scsi_devices, nullptr); - NSCSI_CONNECTOR(config, "scsi:6", aha154x_scsi_devices, nullptr); - NSCSI_CONNECTOR(config, "scsi:7", aha154x_scsi_devices, "scsic", true) - .set_option_machine_config("scsic", [this] (device_t *device) { scsic_config(device); }); + NSCSI_CONNECTOR(config, "scsi:0", default_scsi_devices, nullptr); + NSCSI_CONNECTOR(config, "scsi:1", default_scsi_devices, nullptr); + NSCSI_CONNECTOR(config, "scsi:2", default_scsi_devices, nullptr); + NSCSI_CONNECTOR(config, "scsi:3", default_scsi_devices, nullptr); + NSCSI_CONNECTOR(config, "scsi:4", default_scsi_devices, nullptr); + NSCSI_CONNECTOR(config, "scsi:5", default_scsi_devices, nullptr); + NSCSI_CONNECTOR(config, "scsi:6", default_scsi_devices, nullptr); + NSCSI_CONNECTOR(config, "scsi:7").option_set("scsic", AIC6250) + .machine_config([this] (device_t *device) { scsic_config(device); }); } void aha1542a_device::device_add_mconfig(machine_config &config) diff --git a/src/devices/bus/isa/aha174x.cpp b/src/devices/bus/isa/aha174x.cpp index f650e9efdf8..1b212fe6ae2 100644 --- a/src/devices/bus/isa/aha174x.cpp +++ b/src/devices/bus/isa/aha174x.cpp @@ -33,10 +33,10 @@ #include "emu.h" #include "aha174x.h" +#include "bus/nscsi/devices.h" #include "machine/aic6250.h" #include "machine/i82355.h" #include "machine/nscsi_bus.h" -#include "machine/nscsi_hd.h" DEFINE_DEVICE_TYPE(AHA1740, aha1740_device, "aha1740", "AHA-1740 Fast SCSI Host Adapter") DEFINE_DEVICE_TYPE(AHA1742A, aha1742a_device, "aha1742a", "AHA-1742A Fast SCSI Host Adapter") @@ -80,12 +80,6 @@ void aha174x_device::hpc_map(address_map &map) map(0x8000, 0xffff).rom().region("mcode", 0); } -static void aha174x_scsi_devices(device_slot_interface &device) -{ - device.option_add("harddisk", NSCSI_HARDDISK); - device.option_add_internal("scsic", AIC6251A); -} - void aha174x_device::scsic_config(device_t *device) { device->set_clock(40_MHz_XTAL / 2); // divider not verified @@ -107,15 +101,15 @@ void aha1740_device::device_add_mconfig(machine_config &config) IDT7201(config, m_fifo[1]); NSCSI_BUS(config, "scsi"); - NSCSI_CONNECTOR(config, "scsi:0", aha174x_scsi_devices, nullptr); - NSCSI_CONNECTOR(config, "scsi:1", aha174x_scsi_devices, nullptr); - NSCSI_CONNECTOR(config, "scsi:2", aha174x_scsi_devices, nullptr); - NSCSI_CONNECTOR(config, "scsi:3", aha174x_scsi_devices, nullptr); - NSCSI_CONNECTOR(config, "scsi:4", aha174x_scsi_devices, nullptr); - NSCSI_CONNECTOR(config, "scsi:5", aha174x_scsi_devices, nullptr); - NSCSI_CONNECTOR(config, "scsi:6", aha174x_scsi_devices, nullptr); - NSCSI_CONNECTOR(config, "scsi:7", aha174x_scsi_devices, "scsic", true) - .set_option_machine_config("scsic", [this] (device_t *device) { scsic_config(device); }); + NSCSI_CONNECTOR(config, "scsi:0", default_scsi_devices, nullptr); + NSCSI_CONNECTOR(config, "scsi:1", default_scsi_devices, nullptr); + NSCSI_CONNECTOR(config, "scsi:2", default_scsi_devices, nullptr); + NSCSI_CONNECTOR(config, "scsi:3", default_scsi_devices, nullptr); + NSCSI_CONNECTOR(config, "scsi:4", default_scsi_devices, nullptr); + NSCSI_CONNECTOR(config, "scsi:5", default_scsi_devices, nullptr); + NSCSI_CONNECTOR(config, "scsi:6", default_scsi_devices, nullptr); + NSCSI_CONNECTOR(config, "scsi:7").option_set("scsic", AIC6251A) + .machine_config([this] (device_t *device) { scsic_config(device); }); } void aha1742a_device::device_add_mconfig(machine_config &config) @@ -134,15 +128,15 @@ void aha1742a_device::device_add_mconfig(machine_config &config) IDT7201(config, m_fifo[1]); NSCSI_BUS(config, "scsi"); - NSCSI_CONNECTOR(config, "scsi:0", aha174x_scsi_devices, nullptr); - NSCSI_CONNECTOR(config, "scsi:1", aha174x_scsi_devices, nullptr); - NSCSI_CONNECTOR(config, "scsi:2", aha174x_scsi_devices, nullptr); - NSCSI_CONNECTOR(config, "scsi:3", aha174x_scsi_devices, nullptr); - NSCSI_CONNECTOR(config, "scsi:4", aha174x_scsi_devices, nullptr); - NSCSI_CONNECTOR(config, "scsi:5", aha174x_scsi_devices, nullptr); - NSCSI_CONNECTOR(config, "scsi:6", aha174x_scsi_devices, nullptr); - NSCSI_CONNECTOR(config, "scsi:7", aha174x_scsi_devices, "scsic", true) - .set_option_machine_config("scsic", [this] (device_t *device) { scsic_config(device); }); + NSCSI_CONNECTOR(config, "scsi:0", default_scsi_devices, nullptr); + NSCSI_CONNECTOR(config, "scsi:1", default_scsi_devices, nullptr); + NSCSI_CONNECTOR(config, "scsi:2", default_scsi_devices, nullptr); + NSCSI_CONNECTOR(config, "scsi:3", default_scsi_devices, nullptr); + NSCSI_CONNECTOR(config, "scsi:4", default_scsi_devices, nullptr); + NSCSI_CONNECTOR(config, "scsi:5", default_scsi_devices, nullptr); + NSCSI_CONNECTOR(config, "scsi:6", default_scsi_devices, nullptr); + NSCSI_CONNECTOR(config, "scsi:7").option_set("scsic", AIC6251A) + .machine_config([this] (device_t *device) { scsic_config(device); }); N82077AA(config, m_fdc, 24_MHz_XTAL); } diff --git a/src/devices/bus/isa/asc88.cpp b/src/devices/bus/isa/asc88.cpp index 00db6f498d5..c04570725f8 100644 --- a/src/devices/bus/isa/asc88.cpp +++ b/src/devices/bus/isa/asc88.cpp @@ -16,8 +16,8 @@ #include "emu.h" #include "asc88.h" +#include "bus/nscsi/devices.h" #include "machine/nscsi_bus.h" -#include "machine/nscsi_hd.h" DEFINE_DEVICE_TYPE(ASC88, asc88_device, "asc88", "ASC-88 SCSI Adapter") @@ -150,12 +150,6 @@ ioport_constructor asc88_device::device_input_ports() const return INPUT_PORTS_NAME(asc88); } -static void asc88_scsi_devices(device_slot_interface &device) -{ - device.option_add("harddisk", NSCSI_HARDDISK); - device.option_add_internal("scsic", NCR5380N); -} - void asc88_device::scsic_config(device_t *device) { downcast<ncr5380n_device &>(*device).irq_handler().set("^^", FUNC(asc88_device::irq_w)); @@ -165,15 +159,16 @@ void asc88_device::scsic_config(device_t *device) void asc88_device::device_add_mconfig(machine_config &config) { NSCSI_BUS(config, "scsi"); - NSCSI_CONNECTOR(config, "scsi:0", asc88_scsi_devices, nullptr); - NSCSI_CONNECTOR(config, "scsi:1", asc88_scsi_devices, nullptr); - NSCSI_CONNECTOR(config, "scsi:2", asc88_scsi_devices, nullptr); - NSCSI_CONNECTOR(config, "scsi:3", asc88_scsi_devices, nullptr); - NSCSI_CONNECTOR(config, "scsi:4", asc88_scsi_devices, nullptr); - NSCSI_CONNECTOR(config, "scsi:5", asc88_scsi_devices, nullptr); - NSCSI_CONNECTOR(config, "scsi:6", asc88_scsi_devices, nullptr); - NSCSI_CONNECTOR(config, "scsi:7", asc88_scsi_devices, "scsic", true) - .set_option_machine_config("scsic", [this] (device_t *device) { scsic_config(device); }); + NSCSI_CONNECTOR(config, "scsi:0", default_scsi_devices, nullptr); + NSCSI_CONNECTOR(config, "scsi:1", default_scsi_devices, nullptr); + NSCSI_CONNECTOR(config, "scsi:2", default_scsi_devices, nullptr); + NSCSI_CONNECTOR(config, "scsi:3", default_scsi_devices, nullptr); + NSCSI_CONNECTOR(config, "scsi:4", default_scsi_devices, nullptr); + NSCSI_CONNECTOR(config, "scsi:5", default_scsi_devices, nullptr); + NSCSI_CONNECTOR(config, "scsi:6", default_scsi_devices, nullptr); + NSCSI_CONNECTOR(config, "scsi:7", default_scsi_devices, "scsic", true) + .option_add_internal("scsic", NCR5380N) + .machine_config([this] (device_t *device) { scsic_config(device); }); EEPROM_93C06_16BIT(config, m_eeprom); // NMC9306N } diff --git a/src/devices/bus/isa/bt54x.cpp b/src/devices/bus/isa/bt54x.cpp index d8ef31a848f..1c3c4bdf3f1 100644 --- a/src/devices/bus/isa/bt54x.cpp +++ b/src/devices/bus/isa/bt54x.cpp @@ -17,10 +17,9 @@ #include "emu.h" #include "bt54x.h" +#include "bus/nscsi/devices.h" #include "machine/ncr5390.h" //#include "machine/ncr86c05.h" -#include "machine/nscsi_cd.h" -#include "machine/nscsi_hd.h" DEFINE_DEVICE_TYPE(BT542B, bt542b_device, "bt542b", "BusTek BT-542B SCSI Host Adapter") // Rev. G or earlier DEFINE_DEVICE_TYPE(BT542BH, bt542bh_device, "bt542bh", "BusLogic BT-542B SCSI Host Adapter (Rev. H)") @@ -68,20 +67,6 @@ void bt54x_device::local_map(address_map &map) map(0xf8000, 0xfffff).rom().region("mpu", 0); } -static void scsi_devices(device_slot_interface &device) -{ - device.option_add("cdrom", NSCSI_CDROM); - device.option_add("harddisk", NSCSI_HARDDISK); - device.option_add_internal("scsic", NCR53C94); -} - -static void fast_scsi_devices(device_slot_interface &device) -{ - device.option_add("cdrom", NSCSI_CDROM); - device.option_add("harddisk", NSCSI_HARDDISK); - device.option_add_internal("scsic", NCR53CF94); // FAS216 -} - void bt54x_device::asc_config(device_t *device) { ncr53c94_device &asc = downcast<ncr53c94_device &>(*device); @@ -109,14 +94,16 @@ void bt54x_device::fsc_base(machine_config &config) //busintf.dma_ack_callback().set("scsi:7:scsic", FUNC(ncr53cf94_device::dma_w)); NSCSI_BUS(config, "scsi"); - NSCSI_CONNECTOR(config, "scsi:0", fast_scsi_devices, nullptr); - NSCSI_CONNECTOR(config, "scsi:1", fast_scsi_devices, nullptr); - NSCSI_CONNECTOR(config, "scsi:2", fast_scsi_devices, nullptr); - NSCSI_CONNECTOR(config, "scsi:3", fast_scsi_devices, nullptr); - NSCSI_CONNECTOR(config, "scsi:4", fast_scsi_devices, nullptr); - NSCSI_CONNECTOR(config, "scsi:5", fast_scsi_devices, nullptr); - NSCSI_CONNECTOR(config, "scsi:6", fast_scsi_devices, nullptr); - NSCSI_CONNECTOR(config, "scsi:7", fast_scsi_devices, "scsic", true).set_option_machine_config("scsic", [this] (device_t *device) { fsc_config(device); }); + NSCSI_CONNECTOR(config, "scsi:0", default_scsi_devices, nullptr); + NSCSI_CONNECTOR(config, "scsi:1", default_scsi_devices, nullptr); + NSCSI_CONNECTOR(config, "scsi:2", default_scsi_devices, nullptr); + NSCSI_CONNECTOR(config, "scsi:3", default_scsi_devices, nullptr); + NSCSI_CONNECTOR(config, "scsi:4", default_scsi_devices, nullptr); + NSCSI_CONNECTOR(config, "scsi:5", default_scsi_devices, nullptr); + NSCSI_CONNECTOR(config, "scsi:6", default_scsi_devices, nullptr); + NSCSI_CONNECTOR(config, "scsi:7", default_scsi_devices, "scsic", true) + .option_add_internal("scsic", NCR53CF94) // FAS216 + .machine_config([this] (device_t *device) { fsc_config(device); }); } void bt542b_device::device_add_mconfig(machine_config &config) @@ -129,14 +116,16 @@ void bt542b_device::device_add_mconfig(machine_config &config) //busintf.dma_ack_callback().set("scsi:7:scsic", FUNC(ncr53c94_device::dma_w)); NSCSI_BUS(config, "scsi"); - NSCSI_CONNECTOR(config, "scsi:0", scsi_devices, nullptr); - NSCSI_CONNECTOR(config, "scsi:1", scsi_devices, nullptr); - NSCSI_CONNECTOR(config, "scsi:2", scsi_devices, nullptr); - NSCSI_CONNECTOR(config, "scsi:3", scsi_devices, nullptr); - NSCSI_CONNECTOR(config, "scsi:4", scsi_devices, nullptr); - NSCSI_CONNECTOR(config, "scsi:5", scsi_devices, nullptr); - NSCSI_CONNECTOR(config, "scsi:6", scsi_devices, nullptr); - NSCSI_CONNECTOR(config, "scsi:7", scsi_devices, "scsic", true).set_option_machine_config("scsic", [this] (device_t *device) { asc_config(device); }); + NSCSI_CONNECTOR(config, "scsi:0", default_scsi_devices, nullptr); + NSCSI_CONNECTOR(config, "scsi:1", default_scsi_devices, nullptr); + NSCSI_CONNECTOR(config, "scsi:2", default_scsi_devices, nullptr); + NSCSI_CONNECTOR(config, "scsi:3", default_scsi_devices, nullptr); + NSCSI_CONNECTOR(config, "scsi:4", default_scsi_devices, nullptr); + NSCSI_CONNECTOR(config, "scsi:5", default_scsi_devices, nullptr); + NSCSI_CONNECTOR(config, "scsi:6", default_scsi_devices, nullptr); + NSCSI_CONNECTOR(config, "scsi:7", default_scsi_devices, "scsic", true) + .option_add_internal("scsic", NCR53C94) + .machine_config([this] (device_t *device) { asc_config(device); }); DP8473(config, m_fdc, 24_MHz_XTAL); } diff --git a/src/devices/bus/isa/tekram_dc820.cpp b/src/devices/bus/isa/tekram_dc820.cpp index ab2375856ce..56ffd8e4ccb 100644 --- a/src/devices/bus/isa/tekram_dc820.cpp +++ b/src/devices/bus/isa/tekram_dc820.cpp @@ -23,11 +23,11 @@ #include "emu.h" #include "tekram_dc820.h" +#include "bus/nscsi/devices.h" #include "cpu/i86/i186.h" #include "machine/i82355.h" #include "machine/ncr5390.h" #include "machine/nscsi_bus.h" -#include "machine/nscsi_hd.h" DEFINE_DEVICE_TYPE(TEKRAM_DC320B, tekram_dc320b_device, "dc320b", "Tekram DC-320B SCSI Controller") DEFINE_DEVICE_TYPE(TEKRAM_DC320E, tekram_dc320e_device, "dc320e", "Tekram DC-320E SCSI Controller") @@ -192,12 +192,6 @@ void tekram_dc820_device::mpu_map(address_map &map) map(0xf0000, 0xfffff).rom().region("firmware", 0); } -static void tekram_scsi_devices(device_slot_interface &device) -{ - device.option_add("harddisk", NSCSI_HARDDISK); - device.option_add_internal("scsic", NCR53CF94); // or Emulex FAS216 -} - void tekram_eisa_scsi_device::scsic_config(device_t *device) { device->set_clock(40_MHz_XTAL); @@ -207,15 +201,15 @@ void tekram_eisa_scsi_device::scsic_config(device_t *device) void tekram_eisa_scsi_device::scsi_add(machine_config &config) { NSCSI_BUS(config, "scsi"); - NSCSI_CONNECTOR(config, "scsi:0", tekram_scsi_devices, nullptr); - NSCSI_CONNECTOR(config, "scsi:1", tekram_scsi_devices, nullptr); - NSCSI_CONNECTOR(config, "scsi:2", tekram_scsi_devices, nullptr); - NSCSI_CONNECTOR(config, "scsi:3", tekram_scsi_devices, nullptr); - NSCSI_CONNECTOR(config, "scsi:4", tekram_scsi_devices, nullptr); - NSCSI_CONNECTOR(config, "scsi:5", tekram_scsi_devices, nullptr); - NSCSI_CONNECTOR(config, "scsi:6", tekram_scsi_devices, nullptr); - NSCSI_CONNECTOR(config, "scsi:7", tekram_scsi_devices, "scsic", true) - .set_option_machine_config("scsic", [this] (device_t *device) { scsic_config(device); }); + NSCSI_CONNECTOR(config, "scsi:0", default_scsi_devices, nullptr); + NSCSI_CONNECTOR(config, "scsi:1", default_scsi_devices, nullptr); + NSCSI_CONNECTOR(config, "scsi:2", default_scsi_devices, nullptr); + NSCSI_CONNECTOR(config, "scsi:3", default_scsi_devices, nullptr); + NSCSI_CONNECTOR(config, "scsi:4", default_scsi_devices, nullptr); + NSCSI_CONNECTOR(config, "scsi:5", default_scsi_devices, nullptr); + NSCSI_CONNECTOR(config, "scsi:6", default_scsi_devices, nullptr); + NSCSI_CONNECTOR(config, "scsi:7").option_set("scsic", NCR53CF94) // or Emulex FAS216 + .machine_config([this] (device_t *device) { scsic_config(device); }); } void tekram_dc320b_device::device_add_mconfig(machine_config &config) diff --git a/src/devices/bus/isa/ultra14f.cpp b/src/devices/bus/isa/ultra14f.cpp index 3ae8cb79811..8b60f908139 100644 --- a/src/devices/bus/isa/ultra14f.cpp +++ b/src/devices/bus/isa/ultra14f.cpp @@ -9,10 +9,10 @@ #include "emu.h" #include "ultra14f.h" +#include "bus/nscsi/devices.h" #include "cpu/m68000/m68000.h" #include "machine/ncr5390.h" #include "machine/nscsi_bus.h" -#include "machine/nscsi_hd.h" DEFINE_DEVICE_TYPE(ULTRA14F, ultra14f_device, "ultra14f", "Ultra-14F SCSI Host Adapter") @@ -36,12 +36,6 @@ void ultra14f_device::uscpu_map(address_map &map) map(0x3f8000, 0x3fffff).ram(); } -static void u14f_scsi_devices(device_slot_interface &device) -{ - device.option_add("harddisk", NSCSI_HARDDISK); - device.option_add_internal("scsic", NCR53CF94); // Emulex FAS216 or similar custom-marked as USC060-6-40B -} - void ultra14f_device::scsic_config(device_t *device) { device->set_clock(40_MHz_XTAL); @@ -54,15 +48,15 @@ void ultra14f_device::device_add_mconfig(machine_config &config) m_uscpu->set_addrmap(AS_PROGRAM, &ultra14f_device::uscpu_map); NSCSI_BUS(config, "scsi"); - NSCSI_CONNECTOR(config, "scsi:0", u14f_scsi_devices, nullptr); - NSCSI_CONNECTOR(config, "scsi:1", u14f_scsi_devices, nullptr); - NSCSI_CONNECTOR(config, "scsi:2", u14f_scsi_devices, nullptr); - NSCSI_CONNECTOR(config, "scsi:3", u14f_scsi_devices, nullptr); - NSCSI_CONNECTOR(config, "scsi:4", u14f_scsi_devices, nullptr); - NSCSI_CONNECTOR(config, "scsi:5", u14f_scsi_devices, nullptr); - NSCSI_CONNECTOR(config, "scsi:6", u14f_scsi_devices, nullptr); - NSCSI_CONNECTOR(config, "scsi:7", u14f_scsi_devices, "scsic", true) - .set_option_machine_config("scsic", [this] (device_t *device) { scsic_config(device); }); + NSCSI_CONNECTOR(config, "scsi:0", default_scsi_devices, nullptr); + NSCSI_CONNECTOR(config, "scsi:1", default_scsi_devices, nullptr); + NSCSI_CONNECTOR(config, "scsi:2", default_scsi_devices, nullptr); + NSCSI_CONNECTOR(config, "scsi:3", default_scsi_devices, nullptr); + NSCSI_CONNECTOR(config, "scsi:4", default_scsi_devices, nullptr); + NSCSI_CONNECTOR(config, "scsi:5", default_scsi_devices, nullptr); + NSCSI_CONNECTOR(config, "scsi:6", default_scsi_devices, nullptr); + NSCSI_CONNECTOR(config, "scsi:7").option_set("scsic", NCR53CF94) // Emulex FAS216 or similar custom-marked as USC060-6-40B + .machine_config([this] (device_t *device) { scsic_config(device); }); DP8473(config, m_fdc, 24_MHz_XTAL); // custom-marked as USC020-1-24 } diff --git a/src/devices/bus/isa/ultra24f.cpp b/src/devices/bus/isa/ultra24f.cpp index 46341bed4c2..211c1ab4b80 100644 --- a/src/devices/bus/isa/ultra24f.cpp +++ b/src/devices/bus/isa/ultra24f.cpp @@ -9,10 +9,10 @@ #include "emu.h" #include "ultra24f.h" +#include "bus/nscsi/devices.h" #include "cpu/m68000/m68000.h" #include "machine/ncr5390.h" #include "machine/nscsi_bus.h" -#include "machine/nscsi_hd.h" DEFINE_DEVICE_TYPE(ULTRA24F, ultra24f_device, "ultra24f", "Ultra-24F SCSI Host Adapter") @@ -58,12 +58,6 @@ void ultra24f_device::uscpu_map(address_map &map) map(0xffc000, 0xffffff).ram(); } -static void u24f_scsi_devices(device_slot_interface &device) -{ - device.option_add("harddisk", NSCSI_HARDDISK); - device.option_add_internal("scsic", NCR53CF94); // Emulex FAS216 -} - void ultra24f_device::scsic_config(device_t *device) { device->set_clock(40_MHz_XTAL); @@ -78,15 +72,15 @@ void ultra24f_device::device_add_mconfig(machine_config &config) I82355(config, m_bmic, 0); NSCSI_BUS(config, "scsi"); - NSCSI_CONNECTOR(config, "scsi:0", u24f_scsi_devices, nullptr); - NSCSI_CONNECTOR(config, "scsi:1", u24f_scsi_devices, nullptr); - NSCSI_CONNECTOR(config, "scsi:2", u24f_scsi_devices, nullptr); - NSCSI_CONNECTOR(config, "scsi:3", u24f_scsi_devices, nullptr); - NSCSI_CONNECTOR(config, "scsi:4", u24f_scsi_devices, nullptr); - NSCSI_CONNECTOR(config, "scsi:5", u24f_scsi_devices, nullptr); - NSCSI_CONNECTOR(config, "scsi:6", u24f_scsi_devices, nullptr); - NSCSI_CONNECTOR(config, "scsi:7", u24f_scsi_devices, "scsic", true) - .set_option_machine_config("scsic", [this] (device_t *device) { scsic_config(device); }); + NSCSI_CONNECTOR(config, "scsi:0", default_scsi_devices, nullptr); + NSCSI_CONNECTOR(config, "scsi:1", default_scsi_devices, nullptr); + NSCSI_CONNECTOR(config, "scsi:2", default_scsi_devices, nullptr); + NSCSI_CONNECTOR(config, "scsi:3", default_scsi_devices, nullptr); + NSCSI_CONNECTOR(config, "scsi:4", default_scsi_devices, nullptr); + NSCSI_CONNECTOR(config, "scsi:5", default_scsi_devices, nullptr); + NSCSI_CONNECTOR(config, "scsi:6", default_scsi_devices, nullptr); + NSCSI_CONNECTOR(config, "scsi:7").option_set("scsic", NCR53CF94) // Emulex FAS216 + .machine_config([this] (device_t *device) { scsic_config(device); }); DP8473(config, m_fdc, 24_MHz_XTAL); // custom-marked as USC020-1-24 } diff --git a/src/devices/bus/nes_ctrl/ctrl.cpp b/src/devices/bus/nes_ctrl/ctrl.cpp index bacbd952c8a..a946eeb80fb 100644 --- a/src/devices/bus/nes_ctrl/ctrl.cpp +++ b/src/devices/bus/nes_ctrl/ctrl.cpp @@ -41,6 +41,7 @@ **********************************************************************/ #include "emu.h" +#include "screen.h" #include "ctrl.h" // slot devices #include "4score.h" @@ -104,6 +105,7 @@ device_nes_control_port_interface::~device_nes_control_port_interface() nes_control_port_device::nes_control_port_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : device_t(mconfig, NES_CONTROL_PORT, tag, owner, clock), device_slot_interface(mconfig, *this), + m_screen(*this, finder_base::DUMMY_TAG), m_device(nullptr) { } diff --git a/src/devices/bus/nes_ctrl/ctrl.h b/src/devices/bus/nes_ctrl/ctrl.h index 27579717878..0acefbf4654 100644 --- a/src/devices/bus/nes_ctrl/ctrl.h +++ b/src/devices/bus/nes_ctrl/ctrl.h @@ -67,10 +67,16 @@ public: uint8_t read_bit34(); uint8_t read_exp(offs_t offset); void write(uint8_t data); + template <typename T> void set_screen_tag(T &&tag) { m_screen.set_tag(std::forward<T>(tag)); } + + // for peripherals that interact with the machine's screen + required_device<screen_device> m_screen; protected: // device-level overrides virtual void device_start() override; + + // devices device_nes_control_port_interface *m_device; }; diff --git a/src/devices/bus/nes_ctrl/hori.cpp b/src/devices/bus/nes_ctrl/hori.cpp index 1515277abb6..394ebcc9239 100644 --- a/src/devices/bus/nes_ctrl/hori.cpp +++ b/src/devices/bus/nes_ctrl/hori.cpp @@ -61,16 +61,22 @@ static void hori_adapter(device_slot_interface &device) void nes_horitwin_device::device_add_mconfig(machine_config &config) { - NES_CONTROL_PORT(config, "port1", hori_adapter, "joypad"); - NES_CONTROL_PORT(config, "port2", hori_adapter, "joypad"); + NES_CONTROL_PORT(config, m_port1, hori_adapter, "joypad"); + NES_CONTROL_PORT(config, m_port2, hori_adapter, "joypad"); + m_port1->set_screen_tag(m_port->m_screen); + m_port2->set_screen_tag(m_port->m_screen); } void nes_hori4p_device::device_add_mconfig(machine_config &config) { - NES_CONTROL_PORT(config, "port1", hori_adapter, "joypad"); - NES_CONTROL_PORT(config, "port2", hori_adapter, "joypad"); - NES_CONTROL_PORT(config, "port3", hori_adapter, "joypad"); - NES_CONTROL_PORT(config, "port4", hori_adapter, "joypad"); + NES_CONTROL_PORT(config, m_port1, hori_adapter, "joypad"); + NES_CONTROL_PORT(config, m_port2, hori_adapter, "joypad"); + NES_CONTROL_PORT(config, m_port3, hori_adapter, "joypad"); + NES_CONTROL_PORT(config, m_port4, hori_adapter, "joypad"); + m_port1->set_screen_tag(m_port->m_screen); + m_port2->set_screen_tag(m_port->m_screen); + m_port3->set_screen_tag(m_port->m_screen); + m_port4->set_screen_tag(m_port->m_screen); } diff --git a/src/devices/bus/nes_ctrl/hori.h b/src/devices/bus/nes_ctrl/hori.h index 287384c6ca5..c5ba00ffbeb 100644 --- a/src/devices/bus/nes_ctrl/hori.h +++ b/src/devices/bus/nes_ctrl/hori.h @@ -30,7 +30,6 @@ public: protected: // device-level overrides virtual void device_start() override { } - virtual void device_add_mconfig(machine_config &config) override; virtual uint8_t read_exp(offs_t offset) override; @@ -53,9 +52,8 @@ public: protected: // device-level overrides virtual void device_start() override { } - - virtual ioport_constructor device_input_ports() const override; virtual void device_add_mconfig(machine_config &config) override; + virtual ioport_constructor device_input_ports() const override; virtual uint8_t read_exp(offs_t offset) override; virtual void write(uint8_t data) override; diff --git a/src/devices/bus/nes_ctrl/joypad.cpp b/src/devices/bus/nes_ctrl/joypad.cpp index f8ae2c30e95..0605eea2d9a 100644 --- a/src/devices/bus/nes_ctrl/joypad.cpp +++ b/src/devices/bus/nes_ctrl/joypad.cpp @@ -174,7 +174,8 @@ static void arcstick_daisy(device_slot_interface &device) void nes_arcstick_device::device_add_mconfig(machine_config &config) { // expansion port to allow daisy chaining - NES_CONTROL_PORT(config, "subexp", arcstick_daisy, nullptr); + NES_CONTROL_PORT(config, m_daisychain, arcstick_daisy, nullptr); + m_daisychain->set_screen_tag(m_port->m_screen); } diff --git a/src/devices/bus/nes_ctrl/zapper.cpp b/src/devices/bus/nes_ctrl/zapper.cpp index 746246a8c76..da3df413a40 100644 --- a/src/devices/bus/nes_ctrl/zapper.cpp +++ b/src/devices/bus/nes_ctrl/zapper.cpp @@ -7,8 +7,8 @@ **********************************************************************/ #include "emu.h" -#include "zapper.h" #include "screen.h" +#include "zapper.h" //************************************************************************** // DEVICE DEFINITIONS @@ -48,7 +48,6 @@ ioport_constructor nes_zapper_device::device_input_ports() const nes_zapper_device::nes_zapper_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : device_t(mconfig, NES_ZAPPER, tag, owner, clock), - device_video_interface(mconfig, *this), device_nes_control_port_interface(mconfig, *this), m_lightx(*this, "ZAPPER_X"), m_lighty(*this, "ZAPPER_Y"), @@ -86,17 +85,17 @@ uint8_t nes_zapper_device::read_bit34() int y = m_lighty->read(); // update the screen if necessary - if (!screen().vblank()) + if (!m_port->m_screen->vblank()) { - int vpos = screen().vpos(); - int hpos = screen().hpos(); + int vpos = m_port->m_screen->vpos(); + int hpos = m_port->m_screen->hpos(); if (vpos > y || (vpos == y && hpos >= x)) - screen().update_now(); + m_port->m_screen->update_now(); } // get the pixel at the gun position - rgb_t pix = screen().pixel(x, y); + rgb_t pix = m_port->m_screen->pixel(x, y); // check if the cursor is over a bright pixel // FIXME: still a gross hack diff --git a/src/devices/bus/nes_ctrl/zapper.h b/src/devices/bus/nes_ctrl/zapper.h index 5c5c60c9386..5ae68fd0a6e 100644 --- a/src/devices/bus/nes_ctrl/zapper.h +++ b/src/devices/bus/nes_ctrl/zapper.h @@ -21,7 +21,6 @@ // ======================> nes_zapper_device class nes_zapper_device : public device_t, - public device_video_interface, public device_nes_control_port_interface { public: diff --git a/src/devices/machine/nscsi_cd.cpp b/src/devices/bus/nscsi/cd.cpp index ebfa49f1cae..19b32cc785a 100644 --- a/src/devices/machine/nscsi_cd.cpp +++ b/src/devices/bus/nscsi/cd.cpp @@ -1,7 +1,7 @@ // license:BSD-3-Clause // copyright-holders:Olivier Galibert #include "emu.h" -#include "machine/nscsi_cd.h" +#include "bus/nscsi/cd.h" #define VERBOSE 0 #include "logmacro.h" diff --git a/src/devices/machine/nscsi_cd.h b/src/devices/bus/nscsi/cd.h index 9f10e52023a..1a87e150b13 100644 --- a/src/devices/machine/nscsi_cd.h +++ b/src/devices/bus/nscsi/cd.h @@ -1,7 +1,7 @@ // license:BSD-3-Clause // copyright-holders:Olivier Galibert -#ifndef MAME_MACHINE_NSCSI_CD_H -#define MAME_MACHINE_NSCSI_CD_H +#ifndef MAME_BUS_NSCSI_CD_H +#define MAME_BUS_NSCSI_CD_H #pragma once @@ -123,4 +123,4 @@ DECLARE_DEVICE_TYPE(NSCSI_XM5701, nscsi_toshiba_xm5701_device) DECLARE_DEVICE_TYPE(NSCSI_XM5701SUN, nscsi_toshiba_xm5701_sun_device) DECLARE_DEVICE_TYPE(NSCSI_CDROM_APPLE, nscsi_cdrom_apple_device) -#endif // MAME_MACHINE_NSCSI_CD_H +#endif // MAME_BUS_NSCSI_CD_H diff --git a/src/devices/bus/nscsi/cw7501.cpp b/src/devices/bus/nscsi/cw7501.cpp new file mode 100644 index 00000000000..c3ff2286f57 --- /dev/null +++ b/src/devices/bus/nscsi/cw7501.cpp @@ -0,0 +1,96 @@ +// license:BSD-3-Clause +// copyright-holders:AJR +/******************************************************************************* + + Skeleton device for Panasonic CW-7501 CD-R drive and clones. + +*******************************************************************************/ + +#include "emu.h" +#include "bus/nscsi/cw7501.h" +#include "machine/ncr5390.h" + +DEFINE_DEVICE_TYPE(CW7501, cw7501_device, "cw7501", "Panasonic CW-7501 CD-R") +DEFINE_DEVICE_TYPE(CDR4210, cdr4210_device, "cdr4210", "Creative Technology Blaster CD-R 4210") + +cw7501_device::cw7501_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock) + : device_t(mconfig, type, tag, owner, clock) + , nscsi_slot_card_interface(mconfig, *this, "scsic") + , m_cdcpu(*this, "cdcpu") +{ +} + +cw7501_device::cw7501_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) + : cw7501_device(mconfig, CW7501, tag, owner, clock) +{ +} + +cdr4210_device::cdr4210_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) + : cw7501_device(mconfig, CDR4210, tag, owner, clock) +{ +} + +void cw7501_device::device_start() +{ + m_mystery_address = 0; + + save_item(NAME(m_mystery_address)); +} + +u8 cw7501_device::mystery_data_r() +{ + if (!machine().side_effects_disabled()) + logerror("%s: Reading from mystery register #%02X\n", machine().describe_context(), m_mystery_address); + + return 0; +} + +void cw7501_device::mystery_data_w(u8 data) +{ + logerror("%s: Writing %02X to mystery register #%02X\n", machine().describe_context(), data, m_mystery_address); +} + +void cw7501_device::mystery_address_w(u8 data) +{ + m_mystery_address = data; +} + +void cw7501_device::mem_map(address_map &map) +{ + map(0x000880, 0x007fff).ram(); + map(0x008000, 0x03ffff).rom().region("flash", 0x08000); + map(0x050000, 0x050000).w(FUNC(cw7501_device::mystery_address_w)); + map(0x050001, 0x050001).rw(FUNC(cw7501_device::mystery_data_r), FUNC(cw7501_device::mystery_data_w)); + map(0x058000, 0x05800f).m("scsic", FUNC(ncr53cf94_device::map)); + map(0x060000, 0x060003).noprw(); // ? +} + +void cw7501_device::device_add_mconfig(machine_config &config) +{ + M37710S4(config, m_cdcpu, 12'500'000); // type and clock are total guesses + m_cdcpu->set_addrmap(AS_PROGRAM, &cw7501_device::mem_map); + + NCR53CF94(config, "scsic", 25'000'000); // type and clock guessed +} + +ROM_START(cw7501) + ROM_REGION16_LE(0x40000, "flash", 0) + ROM_LOAD("mk200.bin", 0x00000, 0x40000, CRC(12efd802) SHA1(2986ee5eedbe0cb662a9a7e7fa4e6ca7ccd8c539)) // v2.00 (1996) +ROM_END + +const tiny_rom_entry *cw7501_device::device_rom_region() const +{ + return ROM_NAME(cw7501); +} + +ROM_START(cdr4210) + ROM_REGION16_LE(0x40000, "flash", 0) + ROM_LOAD("cr113.bin", 0x00000, 0x40000, CRC(fd2faff9) SHA1(6aafdedf12240ad347427287c0db289f90bd064d)) // v1.13 (1996) +ROM_END + +const tiny_rom_entry *cdr4210_device::device_rom_region() const +{ + return ROM_NAME(cdr4210); +} + +// another clone: Plasmon CDR 4240 diff --git a/src/devices/bus/nscsi/cw7501.h b/src/devices/bus/nscsi/cw7501.h new file mode 100644 index 00000000000..0b785c4d3ba --- /dev/null +++ b/src/devices/bus/nscsi/cw7501.h @@ -0,0 +1,52 @@ +// license:BSD-3-Clause +// copyright-holders:AJR + +#ifndef MAME_BUS_NSCSI_CW7501 +#define MAME_BUS_NSCSI_CW7501 1 + +#pragma once + +#include "cpu/m37710/m37710.h" +#include "machine/nscsi_bus.h" + +class cw7501_device : public device_t, public nscsi_slot_card_interface +{ +public: + cw7501_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); + + static constexpr feature_type unemulated_features() { return feature::DISK; } + +protected: + cw7501_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock); + + virtual void device_start() override; + virtual void device_add_mconfig(machine_config &config) override; + virtual const tiny_rom_entry *device_rom_region() const override; + +private: + u8 mystery_data_r(); + void mystery_data_w(u8 data); + void mystery_address_w(u8 data); + + void mem_map(address_map &map); + + required_device<m37710s4_device> m_cdcpu; + + u8 m_mystery_address; +}; + +class cdr4210_device : public cw7501_device +{ +public: + cdr4210_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); + + static constexpr feature_type unemulated_features() { return feature::DISK; } + +protected: + virtual const tiny_rom_entry *device_rom_region() const override; +}; + +DECLARE_DEVICE_TYPE(CW7501, cw7501_device) +DECLARE_DEVICE_TYPE(CDR4210, cdr4210_device) + +#endif // MAME_BUS_NSCSI_CW7501 diff --git a/src/devices/bus/nscsi/devices.cpp b/src/devices/bus/nscsi/devices.cpp new file mode 100644 index 00000000000..5013bb12795 --- /dev/null +++ b/src/devices/bus/nscsi/devices.cpp @@ -0,0 +1,16 @@ +// license:BSD-3-Clause +// copyright-holders:AJR + +#include "bus/nscsi/cd.h" +#include "bus/nscsi/cw7501.h" +#include "bus/nscsi/hd.h" +#include "bus/nscsi/s1410.h" + +void default_scsi_devices(device_slot_interface &device) +{ + device.option_add("cdrom", NSCSI_CDROM); + device.option_add("harddisk", NSCSI_HARDDISK); + device.option_add("s1410", NSCSI_S1410); + device.option_add("cw7501", CW7501); + device.option_add("cdr4210", CDR4210); +}; diff --git a/src/devices/bus/nscsi/devices.h b/src/devices/bus/nscsi/devices.h new file mode 100644 index 00000000000..9958577517a --- /dev/null +++ b/src/devices/bus/nscsi/devices.h @@ -0,0 +1,11 @@ +// license:BSD-3-Clause +// copyright-holders:AJR + +#ifndef MAME_BUS_NSCSI_DEVICES_H +#define MAME_BUS_NSCSI_DEVICES_H + +#pragma once + +extern void default_scsi_devices(device_slot_interface &device); + +#endif // MAME_BUS_NSCSI_DEVICES_H diff --git a/src/devices/machine/nscsi_hd.cpp b/src/devices/bus/nscsi/hd.cpp index 5d320a75158..f2639673a92 100644 --- a/src/devices/machine/nscsi_hd.cpp +++ b/src/devices/bus/nscsi/hd.cpp @@ -1,7 +1,7 @@ // license:BSD-3-Clause // copyright-holders:Olivier Galibert #include "emu.h" -#include "machine/nscsi_hd.h" +#include "bus/nscsi/hd.h" #include "imagedev/harddriv.h" #define LOG_GENERAL (1U << 0) diff --git a/src/devices/machine/nscsi_hd.h b/src/devices/bus/nscsi/hd.h index 5ddbf3e8519..7ee1f851d26 100644 --- a/src/devices/machine/nscsi_hd.h +++ b/src/devices/bus/nscsi/hd.h @@ -1,7 +1,7 @@ // license:BSD-3-Clause // copyright-holders:Olivier Galibert -#ifndef MAME_MACHINE_NSCSI_HD_H -#define MAME_MACHINE_NSCSI_HD_H +#ifndef MAME_BUS_NSCSI_HD_H +#define MAME_BUS_NSCSI_HD_H #pragma once @@ -35,4 +35,4 @@ protected: DECLARE_DEVICE_TYPE(NSCSI_HARDDISK, nscsi_harddisk_device) -#endif // MAME_MACHINE_NSCSI_HD_H +#endif // MAME_BUS_NSCSI_HD_H diff --git a/src/devices/machine/nscsi_s1410.cpp b/src/devices/bus/nscsi/s1410.cpp index 7b39b28a76c..5ecf65ef693 100644 --- a/src/devices/machine/nscsi_s1410.cpp +++ b/src/devices/bus/nscsi/s1410.cpp @@ -1,7 +1,7 @@ // license:BSD-3-Clause // copyright-holders:Olivier Galibert #include "emu.h" -#include "machine/nscsi_s1410.h" +#include "bus/nscsi/s1410.h" DEFINE_DEVICE_TYPE(NSCSI_S1410, nscsi_s1410_device, "scsi_s1410", "S1410 Hard Disk") diff --git a/src/devices/machine/nscsi_s1410.h b/src/devices/bus/nscsi/s1410.h index a6234d4c027..bd44a53c830 100644 --- a/src/devices/machine/nscsi_s1410.h +++ b/src/devices/bus/nscsi/s1410.h @@ -6,7 +6,7 @@ #pragma once #include "machine/nscsi_bus.h" -#include "machine/nscsi_hd.h" +#include "bus/nscsi/hd.h" class nscsi_s1410_device : public nscsi_harddisk_device { @@ -75,4 +75,4 @@ protected: DECLARE_DEVICE_TYPE(NSCSI_S1410, nscsi_s1410_device) -#endif // MAME_MACHINE_NSCSI_S1410_H +#endif // MAME_BUS_NSCSI_S1410_H diff --git a/src/devices/bus/sms_ctrl/lphaser.cpp b/src/devices/bus/sms_ctrl/lphaser.cpp index 261f6b13504..72d155c2225 100644 --- a/src/devices/bus/sms_ctrl/lphaser.cpp +++ b/src/devices/bus/sms_ctrl/lphaser.cpp @@ -19,9 +19,8 @@ Notes: **********************************************************************/ #include "emu.h" -#include "lphaser.h" - #include "screen.h" +#include "lphaser.h" @@ -85,15 +84,11 @@ ioport_constructor sms_light_phaser_device::device_input_ports() const sms_light_phaser_device::sms_light_phaser_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : device_t(mconfig, SMS_LIGHT_PHASER, tag, owner, clock), - device_video_interface(mconfig, *this), device_sms_control_port_interface(mconfig, *this), m_lphaser_pins(*this, "CTRL_PORT"), m_lphaser_x(*this, "LPHASER_X"), m_lphaser_y(*this, "LPHASER_Y"), m_sensor_last_state(0), m_lphaser_timer(nullptr) { - // Workaround for failed validation that occurs when running on a driver - // with Sega Scope emulation, which adds 2 screens (left/right lenses). - set_screen(*this, ":screen"); } @@ -150,10 +145,10 @@ uint8_t sms_light_phaser_device::peripheral_r() int sms_light_phaser_device::bright_aim_area( emu_timer *timer, int lgun_x, int lgun_y ) { const int r_x_r = LGUN_RADIUS * LGUN_RADIUS; - const rectangle &visarea = screen().visible_area(); + const rectangle &visarea = m_port->m_screen->visible_area(); rectangle aim_area; - int beam_x = screen().hpos(); - int beam_y = screen().vpos(); + int beam_x = m_port->m_screen->hpos(); + int beam_y = m_port->m_screen->vpos(); int beam_x_orig = beam_x; int beam_y_orig = beam_y; int dy, result = 1; @@ -231,8 +226,8 @@ int sms_light_phaser_device::bright_aim_area( emu_timer *timer, int lgun_x, int /* brightness of the lightgray color in the frame drawn by Light Phaser games */ const uint8_t sensor_min_brightness = 0x7f; - screen().update_now(); - color = screen().pixel(beam_x, beam_y); + m_port->m_screen->update_now(); + color = m_port->m_screen->pixel(beam_x, beam_y); /* reference: http://www.w3.org/TR/AERT#color-contrast */ brightness = (color.r() * 0.299) + (color.g() * 0.587) + (color.b() * 0.114); @@ -257,14 +252,14 @@ int sms_light_phaser_device::bright_aim_area( emu_timer *timer, int lgun_x, int } } - timer->adjust(screen().time_until_pos(beam_y, beam_x)); + timer->adjust(m_port->m_screen->time_until_pos(beam_y, beam_x)); return result; } uint16_t sms_light_phaser_device::screen_hpos_nonscaled(int scaled_hpos) { - const rectangle &visarea = screen().visible_area(); + const rectangle &visarea = m_port->m_screen->visible_area(); int offset_x = (scaled_hpos * (visarea.max_x - visarea.min_x)) / 255; return visarea.min_x + offset_x; } @@ -272,7 +267,7 @@ uint16_t sms_light_phaser_device::screen_hpos_nonscaled(int scaled_hpos) uint16_t sms_light_phaser_device::screen_vpos_nonscaled(int scaled_vpos) { - const rectangle &visarea = screen().visible_area(); + const rectangle &visarea = m_port->m_screen->visible_area(); int offset_y = (scaled_vpos * (visarea.max_y - visarea.min_y)) / 255; return visarea.min_y + offset_y; } diff --git a/src/devices/bus/sms_ctrl/lphaser.h b/src/devices/bus/sms_ctrl/lphaser.h index c9d145f861b..123241e2663 100644 --- a/src/devices/bus/sms_ctrl/lphaser.h +++ b/src/devices/bus/sms_ctrl/lphaser.h @@ -23,7 +23,6 @@ // ======================> sms_light_phaser_device class sms_light_phaser_device : public device_t, - public device_video_interface, public device_sms_control_port_interface { public: diff --git a/src/devices/bus/sms_ctrl/multitap.cpp b/src/devices/bus/sms_ctrl/multitap.cpp index c892f6022d0..2e5c0e0701a 100644 --- a/src/devices/bus/sms_ctrl/multitap.cpp +++ b/src/devices/bus/sms_ctrl/multitap.cpp @@ -131,4 +131,8 @@ void sms_multitap_device::device_add_mconfig(machine_config &config) SMS_CONTROL_PORT(config, m_subctrl2_port, sms_control_port_devices, "joypad"); SMS_CONTROL_PORT(config, m_subctrl3_port, sms_control_port_devices, "joypad"); SMS_CONTROL_PORT(config, m_subctrl4_port, sms_control_port_devices, "joypad"); + m_subctrl1_port->set_screen_tag(m_port->m_screen); + m_subctrl2_port->set_screen_tag(m_port->m_screen); + m_subctrl3_port->set_screen_tag(m_port->m_screen); + m_subctrl4_port->set_screen_tag(m_port->m_screen); } diff --git a/src/devices/bus/sms_ctrl/rfu.cpp b/src/devices/bus/sms_ctrl/rfu.cpp index 1b13fc3e921..b8e991e71d3 100644 --- a/src/devices/bus/sms_ctrl/rfu.cpp +++ b/src/devices/bus/sms_ctrl/rfu.cpp @@ -135,5 +135,6 @@ WRITE_LINE_MEMBER( sms_rapid_fire_device::th_pin_w ) void sms_rapid_fire_device::device_add_mconfig(machine_config &config) { SMS_CONTROL_PORT(config, m_subctrl_port, sms_control_port_devices, "joypad"); + m_subctrl_port->set_screen_tag(m_port->m_screen); m_subctrl_port->th_input_handler().set(FUNC(sms_rapid_fire_device::th_pin_w)); } diff --git a/src/devices/bus/sms_ctrl/smsctrl.cpp b/src/devices/bus/sms_ctrl/smsctrl.cpp index acb14593b47..a2c117dcb74 100644 --- a/src/devices/bus/sms_ctrl/smsctrl.cpp +++ b/src/devices/bus/sms_ctrl/smsctrl.cpp @@ -7,6 +7,7 @@ **********************************************************************/ #include "emu.h" +#include "screen.h" #include "smsctrl.h" // slot devices @@ -65,6 +66,7 @@ device_sms_control_port_interface::~device_sms_control_port_interface() sms_control_port_device::sms_control_port_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : device_t(mconfig, SMS_CONTROL_PORT, tag, owner, clock), device_slot_interface(mconfig, *this), + m_screen(*this, finder_base::DUMMY_TAG), m_device(nullptr), m_th_pin_handler(*this) { diff --git a/src/devices/bus/sms_ctrl/smsctrl.h b/src/devices/bus/sms_ctrl/smsctrl.h index af475a68a66..ced9176efb0 100644 --- a/src/devices/bus/sms_ctrl/smsctrl.h +++ b/src/devices/bus/sms_ctrl/smsctrl.h @@ -62,6 +62,11 @@ public: void th_pin_w(int state); + template <typename T> void set_screen_tag(T &&tag) { m_screen.set_tag(std::forward<T>(tag)); } + + // for peripherals that interact with the machine's screen + required_device<screen_device> m_screen; + protected: // device-level overrides virtual void device_start() override; diff --git a/src/devices/cpu/f2mc16/f2mc16.cpp b/src/devices/cpu/f2mc16/f2mc16.cpp index 9cda22ea9ea..7f2c737d9da 100644 --- a/src/devices/cpu/f2mc16/f2mc16.cpp +++ b/src/devices/cpu/f2mc16/f2mc16.cpp @@ -213,6 +213,7 @@ void f2mc16_device::execute_run() { case 0x00: // NOP m_icount--; + m_pc++; break; case 0x03: @@ -366,8 +367,12 @@ void f2mc16_device::execute_run() m_icount -= 3; break; + // ADDL A, #imm32 case 0x18: - // util::stream_format(stream, "ADDL A, #$%08x", opcodes.r16(pc+1) | (opcodes.r16(pc+3)<<16)); + m_tmp32 = read_32((m_pcb << 16) | (m_pc+1)); + m_acc = doADD_32(m_acc, m_tmp32); + m_pc += 5; + m_icount -= 4; break; // SUBL A, #imm32 @@ -802,27 +807,37 @@ void f2mc16_device::execute_run() break; case 0x75: // ea-type instructions - fatalerror("Unknown F2MC EA75 opcode %02x\n", opcode); + opcodes_ea75(read_8((m_pcb<<16) | (m_pc+1))); break; case 0x76: // ea-type instructions - fatalerror("Unknown F2MC EA76 opcode %02x\n", opcode); + opcodes_ea76(read_8((m_pcb<<16) | (m_pc+1))); break; case 0x77: // ea-type instructions - fatalerror("Unknown F2MC EA77 opcode %02x\n", opcode); + opcodes_ea77(read_8((m_pcb<<16) | (m_pc+1))); break; case 0x78: // ea-type instructions - fatalerror("Unknown F2MC EA78 opcode %02x\n", opcode); + opcodes_ea78(read_8((m_pcb<<16) | (m_pc+1))); break; // MOV A, Rx case 0x80: case 0x81: case 0x82: case 0x83: case 0x84: case 0x85: case 0x86: case 0x87: + m_acc <<= 16; + m_acc |= read_rX(opcode & 7); + setNZ_8(m_acc & 0xff); + m_pc++; + m_icount -= 2; break; // MOVW A, RWx case 0x88: case 0x89: case 0x8a: case 0x8b: case 0x8c: case 0x8d: case 0x8e: case 0x8f: + m_acc <<= 16; + m_acc |= read_rwX(opcode & 7); + setNZ_16(m_acc & 0xff); + m_pc++; + m_icount -= 2; break; // MOV Rx, A @@ -859,10 +874,12 @@ void f2mc16_device::execute_run() m_pc += 3; break; + // MOVX A, Rx case 0xb0: case 0xb1: case 0xb2: case 0xb3: case 0xb4: case 0xb5: case 0xb6: case 0xb7: // util::stream_format(stream, "MOVX A, R%d", (opcode & 0x7)); break; + // MOVW A, @RWx + disp8 case 0xb8: case 0xb9: case 0xba: case 0xbb: case 0xbc: case 0xbd: case 0xbe: case 0xbf: m_tmp8 = read_8((m_pcb<<16) | (m_pc+1)); m_tmp16 = read_rwX(opcode & 0x7) + (s8)m_tmp8; @@ -873,6 +890,7 @@ void f2mc16_device::execute_run() m_icount -= 10; break; + // MOVX A, @Rx + disp8 case 0xc0: case 0xc1: case 0xc2: case 0xc3: case 0xc4: case 0xc5: case 0xc6: case 0xc7: // util::stream_format(stream, "MOVX A, @R%d+%02x", (opcode & 0x7), operand); break; @@ -903,7 +921,7 @@ void f2mc16_device::execute_run() case 0xe0: case 0xe1: case 0xe2: case 0xe3: case 0xe4: case 0xe5: case 0xe6: case 0xe7: case 0xe8: case 0xe9: case 0xea: case 0xeb: case 0xec: case 0xed: case 0xee: case 0xef: - // util::stream_format(stream, "CALL #$%01x", (opcode & 0xf)); + // util::stream_format(stream, "CALLV #$%01x", (opcode & 0xf)); break; // BEQ @@ -1307,6 +1325,19 @@ void f2mc16_device::opcodes_ea71(u8 operand) { switch (operand) { + // CALLP @RWx + disp8 + case 0x30: case 0x31: case 0x32: case 0x33: case 0x34: case 0x35: case 0x36: case 0x37: + push_16(m_pcb); + push_16(m_pc+4); + m_tmp8 = read_8((m_pcb << 16) | (m_pc + 2)); + m_tmp16 = read_rwX(operand & 7) + (s8)m_tmp8; + printf("CALLP EAR = %04x\n", m_tmp16); + m_tmp32 = read_32(getRWbank(operand & 7, m_tmp16)); + m_pc = m_tmp32 & 0xffff; + m_pcb = (m_tmp32 >> 16) & 0xff; + m_icount -= 11; + break; + // INCL @RWx + disp8 case 0x50: case 0x51: case 0x52: case 0x53: case 0x54: case 0x55: case 0x56: case 0x57: m_tmp8 = read_8((m_pcb<<16) | (m_pc+2)); @@ -1441,7 +1472,7 @@ void f2mc16_device::opcodes_ea74(u8 operand) switch (operand) { // CMP A, @RWx + disp8 - case 0x70: case 0x71: case 0x72: case 0x73: case 0x74: case 0x75: case 0x76: case 0x57: + case 0x70: case 0x71: case 0x72: case 0x73: case 0x74: case 0x75: case 0x76: case 0x77: m_tmp8 = read_8((m_pcb<<16) | (m_pc+2)); m_tmp16 = read_rwX(operand & 7) + (s8)m_tmp8; m_tmp8 = read_8(getRWbank(operand & 7, m_tmp16)); @@ -1456,6 +1487,56 @@ void f2mc16_device::opcodes_ea74(u8 operand) } } +void f2mc16_device::opcodes_ea75(u8 operand) +{ + switch (operand) + { + default: + fatalerror("Unknown F2MC EA75 opcode %02x (PC=%x)\n", operand, (m_pcb<<16) | m_pc); + break; + } +} + +void f2mc16_device::opcodes_ea76(u8 operand) +{ + switch (operand) + { + // CMPW A, @RWx + disp8 + case 0x70: case 0x71: case 0x72: case 0x73: case 0x74: case 0x75: case 0x76: case 0x77: + m_tmp8 = read_8((m_pcb<<16) | (m_pc+2)); + m_tmp16 = read_rwX(operand & 7) + (s8)m_tmp8; + m_tmp16 = read_16(getRWbank(operand & 7, m_tmp16)); + doCMP_16(m_acc & 0xffff, m_tmp16); + m_pc += 3; + m_icount -= 10; + break; + + default: + fatalerror("Unknown F2MC EA76 opcode %02x (PC=%x)\n", operand, (m_pcb<<16) | m_pc); + break; + } +} + +void f2mc16_device::opcodes_ea77(u8 operand) +{ + switch (operand) + { + default: + fatalerror("Unknown F2MC EA77 opcode %02x (PC=%x)\n", operand, (m_pcb<<16) | m_pc); + break; + } +} + +void f2mc16_device::opcodes_ea78(u8 operand) +{ + switch (operand) + { + default: + fatalerror("Unknown F2MC EA78 opcode %02x (PC=%x)\n", operand, (m_pcb<<16) | m_pc); + break; + } +} + void f2mc16_device::execute_set_input(int inputnum, int state) { } diff --git a/src/devices/cpu/f2mc16/f2mc16.h b/src/devices/cpu/f2mc16/f2mc16.h index 0fdfb3a5c33..1467aa1462c 100644 --- a/src/devices/cpu/f2mc16/f2mc16.h +++ b/src/devices/cpu/f2mc16/f2mc16.h @@ -365,7 +365,7 @@ private: inline u16 doADD_16(u16 lhs, u16 rhs) { m_tmp32 = lhs + rhs; - m_ps &= ~F_V|F_C; + m_ps &= ~(F_C|F_V); if ((m_tmp32 ^ lhs) & (m_tmp32 ^ rhs) & 0x8000) { m_ps |= F_V; @@ -378,6 +378,22 @@ private: return m_tmp32 & 0xffff; } + inline u32 doADD_32(u32 lhs, u32 rhs) + { + m_tmp64 = lhs + rhs; + m_ps &= ~(F_C|F_V); + if ((m_tmp64 ^ lhs) & (m_tmp64 ^ rhs) & 0x80000000) + { + m_ps |= F_V; + } + if (m_tmp64 > 0xffffffff) + { + m_ps |= F_C; + } + setNZ_32(m_tmp64 & 0xffffffff); + + return m_tmp64 & 0xffffffff; + } inline void take_branch() { @@ -393,6 +409,10 @@ private: void opcodes_ea72(u8 operand); void opcodes_ea73(u8 operand); void opcodes_ea74(u8 operand); + void opcodes_ea75(u8 operand); + void opcodes_ea76(u8 operand); + void opcodes_ea77(u8 operand); + void opcodes_ea78(u8 operand); }; DECLARE_DEVICE_TYPE(F2MC16, f2mc16_device) diff --git a/src/devices/cpu/f2mc16/f2mc16dasm.cpp b/src/devices/cpu/f2mc16/f2mc16dasm.cpp index 674b62ea3cd..c00972bcc29 100644 --- a/src/devices/cpu/f2mc16/f2mc16dasm.cpp +++ b/src/devices/cpu/f2mc16/f2mc16dasm.cpp @@ -409,7 +409,7 @@ offs_t f2mc16_disassembler::disassemble(std::ostream &stream, offs_t pc, const d break; case 0x4b: - util::stream_format(stream, "MOVL A, #$%04x", opcodes.r32(pc+1)); + util::stream_format(stream, "MOVL A, #$%08x", opcodes.r32(pc+1)); bytes = 5; break; diff --git a/src/devices/cpu/m37710/m37710.cpp b/src/devices/cpu/m37710/m37710.cpp index 7aa6b8e2994..6efe3c8e056 100644 --- a/src/devices/cpu/m37710/m37710.cpp +++ b/src/devices/cpu/m37710/m37710.cpp @@ -6,7 +6,7 @@ The 7700 series is based on the WDC 65C816 core, with the following notable changes: - - Second accumulator called "B" (on the 65816, "A" and "B" were the + - Second 16-bit accumulator called "B" (on the 65816, "A" and "B" were the two 8-bit halves of the 16-bit "C" accumulator). - 6502 emulation mode and XCE instruction are not present. - No NMI line. BRK and the watchdog interrupt are non-maskable, but there @@ -28,6 +28,9 @@ not the upper 8 bits of X or Y when in 8-bit X. The 7700 preserves the top bits of all registers in all modes (code in the C74 BIOS starting at d881 requires this!). + - Unlike the 65C816, the program bank register (known here as PG) is + incremented when PC overflows from 0xFFFF, and may be incremented or + decremented when the address for a relative branch is calculated. The various 7700 series models differ primarily by their on board peripherals. The 7750 and later models do include some additional @@ -506,7 +509,7 @@ void m37710_cpu_device::port_w(offs_t offset, uint8_t data) else { uint8_t d = m_port_dir[p]; - if (d != 0xff) + if (d != 0) m_port_out_cb[p](0, data & d, d); m_port_regs[p] = data; } @@ -612,30 +615,30 @@ uint8_t m37710_cpu_device::uart0_ctrl_reg0_r() { LOGMASKED(LOG_UART, "uart0_ctrl_reg0_r: UART0 transmit/recv ctrl 0 = %x (PC=%x)\n", m_uart_ctrl_reg0[0], REG_PB<<16 | REG_PC); - //return m_uart_ctrl_reg0[0]; - return 0x08; // not hooked up yet + return m_uart_ctrl_reg0[0]; } void m37710_cpu_device::uart0_ctrl_reg0_w(uint8_t data) { LOGMASKED(LOG_UART, "uart0_ctrl_reg0_w %x: UART0 transmit/recv ctrl 0 = %x\n", data, m_uart_ctrl_reg0[0]); - m_uart_ctrl_reg0[0] = data; + // Tx empty flag is read-only + m_uart_ctrl_reg0[0] = (data & ~8) | (m_uart_ctrl_reg0[0] & 8); } uint8_t m37710_cpu_device::uart1_ctrl_reg0_r() { LOGMASKED(LOG_UART, "uart1_ctrl_reg0_r: UART1 transmit/recv ctrl 0 = %x (PC=%x)\n", m_uart_ctrl_reg0[1], REG_PB<<16 | REG_PC); - //return m_uart_ctrl_reg0[1]; - return 0xff; // not hooked up yet + return m_uart_ctrl_reg0[1]; } void m37710_cpu_device::uart1_ctrl_reg0_w(uint8_t data) { LOGMASKED(LOG_UART, "uart1_ctrl_reg0_w %x: UART1 transmit/recv ctrl 0 = %x\n", data, m_uart_ctrl_reg0[1]); - m_uart_ctrl_reg0[1] = data; + // Tx empty flag is read-only + m_uart_ctrl_reg0[1] = (data & ~8) | (m_uart_ctrl_reg0[1] & 8); } uint8_t m37710_cpu_device::uart0_ctrl_reg1_r() @@ -647,9 +650,9 @@ uint8_t m37710_cpu_device::uart0_ctrl_reg1_r() void m37710_cpu_device::uart0_ctrl_reg1_w(uint8_t data) { - LOGMASKED(LOG_UART, "uart0_ctrl_reg0_w %x: UART0 transmit/recv ctrl 1 = %x\n", data, m_uart_ctrl_reg1[0]); + LOGMASKED(LOG_UART, "uart0_ctrl_reg1_w %x: UART0 transmit/recv ctrl 1 = %x\n", data, m_uart_ctrl_reg1[0]); - m_uart_ctrl_reg1[0] = data; + m_uart_ctrl_reg1[0] = (m_uart_ctrl_reg1[0] & (BIT(data, 2) ? 0xfa : 0x0a)) | (data & 0x05); } uint8_t m37710_cpu_device::uart1_ctrl_reg1_r() @@ -663,7 +666,7 @@ void m37710_cpu_device::uart1_ctrl_reg1_w(uint8_t data) { LOGMASKED(LOG_UART, "uart1_ctrl_reg1_w %x: UART1 transmit/recv ctrl 1 = %x\n", data, m_uart_ctrl_reg1[1]); - m_uart_ctrl_reg1[1] = data; + m_uart_ctrl_reg1[1] = (m_uart_ctrl_reg1[1] & (BIT(data, 2) ? 0xfa : 0x0a)) | (data & 0x05); } uint16_t m37710_cpu_device::uart0_rbuf_r() diff --git a/src/devices/cpu/m37710/m37710.h b/src/devices/cpu/m37710/m37710.h index a4a339de2c7..0dc273ccce4 100644 --- a/src/devices/cpu/m37710/m37710.h +++ b/src/devices/cpu/m37710/m37710.h @@ -190,6 +190,8 @@ protected: virtual void device_reset() override; // device_execute_interface overrides + virtual uint64_t execute_clocks_to_cycles(uint64_t clocks) const override { return (clocks + 2 - 1) / 2; } + virtual uint64_t execute_cycles_to_clocks(uint64_t cycles) const override { return (cycles * 2); } virtual uint32_t execute_min_cycles() const override { return 1; } virtual uint32_t execute_max_cycles() const override { return 20; /* rough guess */ } virtual uint32_t execute_input_lines() const override { return M37710_LINE_MAX; } diff --git a/src/devices/machine/53c7xx.cpp b/src/devices/machine/53c7xx.cpp index a3466da81f1..14f339c30f7 100644 --- a/src/devices/machine/53c7xx.cpp +++ b/src/devices/machine/53c7xx.cpp @@ -89,6 +89,7 @@ DEFINE_DEVICE_TYPE(NCR53C7XX, ncr53c7xx_device, "ncr537xx", "NCR 53C7xx SCSI") ncr53c7xx_device::ncr53c7xx_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : nscsi_device(mconfig, NCR53C7XX, tag, owner, clock), + nscsi_slot_card_interface(mconfig, *this, DEVICE_SELF), device_execute_interface(mconfig, *this), m_icount(0), m_irq_handler(*this), diff --git a/src/devices/machine/53c7xx.h b/src/devices/machine/53c7xx.h index 50d59c1d1b4..e6b846f0945 100644 --- a/src/devices/machine/53c7xx.h +++ b/src/devices/machine/53c7xx.h @@ -16,7 +16,7 @@ #include "machine/nscsi_bus.h" -class ncr53c7xx_device : public nscsi_device, public device_execute_interface +class ncr53c7xx_device : public nscsi_device, public nscsi_slot_card_interface, public device_execute_interface { public: // construction/destruction diff --git a/src/devices/machine/aic6250.cpp b/src/devices/machine/aic6250.cpp index 512d1625d8d..9c149f51627 100644 --- a/src/devices/machine/aic6250.cpp +++ b/src/devices/machine/aic6250.cpp @@ -49,6 +49,7 @@ static char const *const aic6250_phase[] = { "DATA OUT", "*", "DATA IN", "*", "C aic6250_device::aic6250_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) : nscsi_device(mconfig, type, tag, owner, clock) + , nscsi_slot_card_interface(mconfig, *this, DEVICE_SELF) , m_int_cb(*this) , m_breq_cb(*this) , m_port_a_r_cb(*this) diff --git a/src/devices/machine/aic6250.h b/src/devices/machine/aic6250.h index 2a4ba02d118..9f6febfd8a7 100644 --- a/src/devices/machine/aic6250.h +++ b/src/devices/machine/aic6250.h @@ -8,7 +8,7 @@ #include "machine/nscsi_bus.h" -class aic6250_device : public nscsi_device +class aic6250_device : public nscsi_device, public nscsi_slot_card_interface { public: aic6250_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); diff --git a/src/devices/machine/at_keybc.cpp b/src/devices/machine/at_keybc.cpp index c6d2e037973..80cea51d4d2 100644 --- a/src/devices/machine/at_keybc.cpp +++ b/src/devices/machine/at_keybc.cpp @@ -12,6 +12,13 @@ are no longer implemented, the pin assignments are different, and interrupt outputs are latched externally using a 74ALS74 at ZM87. + Many of the ICs that provide functional compatibility with the AT + and/or PS/2 "8042" keyboard controllers do not incorporate actual + UPI-41 microcontroller cores. This even applies to some directly + equivalent 40-pin DIPs such as the JETkey "Keyboard BIOS" V3.0 + and V5.0, which were found to be Samsung Electronics ASICs when + decapped. + PC/AT I/O pin assignments: P10: NC no connection P11: NC no connection diff --git a/src/devices/machine/laserdsc.cpp b/src/devices/machine/laserdsc.cpp index 7794ebb026e..436a238fe88 100644 --- a/src/devices/machine/laserdsc.cpp +++ b/src/devices/machine/laserdsc.cpp @@ -92,8 +92,7 @@ laserdisc_device::laserdisc_device(const machine_config &mconfig, device_type ty m_videopalette(nullptr), m_overenable(false), m_overindex(0), - m_overtex(nullptr), - m_overlay_palette(*this, finder_base::DUMMY_TAG) + m_overtex(nullptr) { // initialize overlay_config m_orig_config.m_overposx = m_orig_config.m_overposy = 0.0f; @@ -157,7 +156,7 @@ uint32_t laserdisc_device::screen_update(screen_device &screen, bitmap_rgb32 &bi { // handle the overlay if present screen_bitmap &overbitmap = m_overbitmap[m_overindex]; - if (overbitmap.valid() && (!m_overupdate_ind16.isnull() || !m_overupdate_rgb32.isnull())) + if (overbitmap.valid() && !m_overupdate_rgb32.isnull()) { // scale the cliprect to the overlay size rectangle clip(m_overclip); @@ -167,10 +166,7 @@ uint32_t laserdisc_device::screen_update(screen_device &screen, bitmap_rgb32 &bi clip.max_y = (cliprect.max_y + 1) * overbitmap.height() / bitmap.height() - 1; // call the update callback - if (!m_overupdate_ind16.isnull()) - m_overupdate_ind16(screen, overbitmap.as_ind16(), clip); - else - m_overupdate_rgb32(screen, overbitmap.as_rgb32(), clip); + m_overupdate_rgb32(screen, overbitmap.as_rgb32(), clip); } // if this is the last update, do the rendering @@ -218,10 +214,6 @@ uint32_t laserdisc_device::screen_update(screen_device &screen, bitmap_rgb32 &bi void laserdisc_device::device_start() { - // if we have a palette and it's not started, wait for it - if (m_overlay_palette != nullptr && !m_overlay_palette->started()) - throw device_missing_dependencies(); - // initialize the various pieces init_disc(); init_video(); @@ -278,9 +270,6 @@ void laserdisc_device::device_reset() void laserdisc_device::device_validity_check(validity_checker &valid) const { - texture_format texformat = !m_overupdate_ind16.isnull() ? TEXFORMAT_PALETTE16 : TEXFORMAT_RGB32; - if (m_overlay_palette == nullptr && texformat == TEXFORMAT_PALETTE16) - osd_printf_error("Overlay screen does not have palette defined\n"); } //------------------------------------------------- @@ -741,19 +730,12 @@ void laserdisc_device::init_video() if (m_overenable) { // bind our handlers - m_overupdate_ind16.bind_relative_to(*owner()); m_overupdate_rgb32.bind_relative_to(*owner()); - // configure bitmap formats - bitmap_format format = !m_overupdate_ind16.isnull() ? BITMAP_FORMAT_IND16 : BITMAP_FORMAT_RGB32; - texture_format texformat = !m_overupdate_ind16.isnull() ? TEXFORMAT_PALETTEA16 : TEXFORMAT_ARGB32; - // allocate overlay bitmaps for (auto & elem : m_overbitmap) { - elem.set_format(format, texformat); - if (format==BITMAP_FORMAT_IND16) - elem.set_palette(m_overlay_palette->palette()); + elem.set_format(BITMAP_FORMAT_RGB32, TEXFORMAT_ARGB32); elem.resize(m_overwidth, m_overheight); } diff --git a/src/devices/machine/laserdsc.h b/src/devices/machine/laserdsc.h index 510d22366ec..78f4ad2702a 100644 --- a/src/devices/machine/laserdsc.h +++ b/src/devices/machine/laserdsc.h @@ -117,48 +117,29 @@ public: uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); // configuration - bool overlay_configured() const { return (m_overwidth > 0 && m_overheight > 0 && (!m_overupdate_ind16.isnull() || !m_overupdate_rgb32.isnull())); } + bool overlay_configured() const { return (m_overwidth > 0 && m_overheight > 0 && (!m_overupdate_rgb32.isnull())); } void get_overlay_config(laserdisc_overlay_config &config) { config = static_cast<laserdisc_overlay_config &>(*this); } void set_overlay_config(const laserdisc_overlay_config &config) { static_cast<laserdisc_overlay_config &>(*this) = config; } // configuration helpers template <typename... T> void set_get_disc(T &&... args) { m_getdisc_callback = get_disc_delegate(std::forward<T>(args)...); } template <typename... T> void set_audio(T &&... args) { m_audio_callback = audio_delegate(std::forward<T>(args)...); } - template <class FunctionClass> // FIXME: these should be aware of current device for resolving the tag - void set_overlay(uint32_t width, uint32_t height, u32 (FunctionClass::*callback)(screen_device &, bitmap_ind16 &, const rectangle &), const char *name) - { - set_overlay(width, height, screen_update_ind16_delegate(callback, name, nullptr, static_cast<FunctionClass *>(nullptr))); - } template <class FunctionClass> void set_overlay(uint32_t width, uint32_t height, u32 (FunctionClass::*callback)(screen_device &, bitmap_rgb32 &, const rectangle &), const char *name) { set_overlay(width, height, screen_update_rgb32_delegate(callback, name, nullptr, static_cast<FunctionClass *>(nullptr))); } template <class FunctionClass> - void set_overlay(uint32_t width, uint32_t height, const char *devname, u32 (FunctionClass::*callback)(screen_device &, bitmap_ind16 &, const rectangle &), const char *name) - { - set_overlay(width, height, screen_update_ind16_delegate(callback, name, devname, static_cast<FunctionClass *>(nullptr))); - } - template <class FunctionClass> void set_overlay(uint32_t width, uint32_t height, const char *devname, u32 (FunctionClass::*callback)(screen_device &, bitmap_rgb32 &, const rectangle &), const char *name) { set_overlay(width, height, screen_update_rgb32_delegate(callback, name, devname, static_cast<FunctionClass *>(nullptr))); } - void set_overlay(uint32_t width, uint32_t height, screen_update_ind16_delegate &&update) - { - m_overwidth = width; - m_overheight = height; - m_overclip.set(0, width - 1, 0, height - 1); - m_overupdate_ind16 = std::move(update); - m_overupdate_rgb32 = screen_update_rgb32_delegate(); - } void set_overlay(uint32_t width, uint32_t height, screen_update_rgb32_delegate &&update) { m_overwidth = width; m_overheight = height; m_overclip.set(0, width - 1, 0, height - 1); - m_overupdate_ind16 = screen_update_ind16_delegate(); m_overupdate_rgb32 = std::move(update); } void set_overlay_clip(int32_t minx, int32_t maxx, int32_t miny, int32_t maxy) { m_overclip.set(minx, maxx, miny, maxy); } @@ -172,7 +153,6 @@ public: m_orig_config.m_overscalex = m_overscalex = scalex; m_orig_config.m_overscaley = m_overscaley = scaley; } - template <typename T> void set_overlay_palette(T &&tag) { m_overlay_palette.set_tag(std::forward<T>(tag)); } protected: // timer IDs @@ -297,7 +277,6 @@ private: uint32_t m_overwidth; // overlay screen width uint32_t m_overheight; // overlay screen height rectangle m_overclip; // overlay visarea - screen_update_ind16_delegate m_overupdate_ind16; // overlay update delegate screen_update_rgb32_delegate m_overupdate_rgb32; // overlay update delegate // disc parameters @@ -351,7 +330,6 @@ private: screen_bitmap m_overbitmap[2]; // overlay bitmaps int m_overindex; // index of the overlay bitmap render_texture * m_overtex; // texture for the overlay - optional_device<palette_device> m_overlay_palette; // overlay screen palette }; // iterator - interface iterator works for subclasses too diff --git a/src/devices/machine/mb87030.cpp b/src/devices/machine/mb87030.cpp index cd0b4f2beae..25420dfad54 100644 --- a/src/devices/machine/mb87030.cpp +++ b/src/devices/machine/mb87030.cpp @@ -18,6 +18,7 @@ mb87030_device::mb87030_device(const machine_config &mconfig, const char *tag, d mb87030_device::mb87030_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) : nscsi_device(mconfig, type, tag, owner, clock), + nscsi_slot_card_interface(mconfig, *this, DEVICE_SELF), m_irq_handler(*this), m_dreq_handler(*this) { diff --git a/src/devices/machine/mb87030.h b/src/devices/machine/mb87030.h index 560e53c90c0..dc07f0edb9b 100644 --- a/src/devices/machine/mb87030.h +++ b/src/devices/machine/mb87030.h @@ -8,7 +8,7 @@ #include "machine/nscsi_bus.h" #include <queue> -class mb87030_device : public nscsi_device +class mb87030_device : public nscsi_device, public nscsi_slot_card_interface { public: mb87030_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); diff --git a/src/devices/machine/ncr5380n.cpp b/src/devices/machine/ncr5380n.cpp index 9681fbf4a7f..7adb63800d9 100644 --- a/src/devices/machine/ncr5380n.cpp +++ b/src/devices/machine/ncr5380n.cpp @@ -36,6 +36,7 @@ void ncr5380n_device::map(address_map &map) ncr5380n_device::ncr5380n_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) : nscsi_device(mconfig, type, tag, owner, clock) + , nscsi_slot_card_interface(mconfig, *this, DEVICE_SELF) , m_fake_clock(10000000) , tm(nullptr), status(0), istatus(0), m_mode(0) , m_outdata(0), m_busstatus(0), m_dmalatch(0), m_icommand(0), m_tcommand(0), clock_conv(0), sync_offset(0), sync_period(0), bus_id(0), select_timeout(0) diff --git a/src/devices/machine/ncr5380n.h b/src/devices/machine/ncr5380n.h index 28cd0ec5fee..5bf01b10bb8 100644 --- a/src/devices/machine/ncr5380n.h +++ b/src/devices/machine/ncr5380n.h @@ -16,7 +16,7 @@ #include "machine/nscsi_bus.h" -class ncr5380n_device : public nscsi_device +class ncr5380n_device : public nscsi_device, public nscsi_slot_card_interface { public: ncr5380n_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); diff --git a/src/devices/machine/ncr5390.cpp b/src/devices/machine/ncr5390.cpp index 10b7510d707..b513566bb3a 100644 --- a/src/devices/machine/ncr5390.cpp +++ b/src/devices/machine/ncr5390.cpp @@ -124,6 +124,7 @@ void ncr53c94_device::write(offs_t offset, uint8_t data) ncr5390_device::ncr5390_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) : nscsi_device(mconfig, type, tag, owner, clock) + , nscsi_slot_card_interface(mconfig, *this, DEVICE_SELF) , tm(nullptr), config(0), status(0), istatus(0), clock_conv(0), sync_offset(0), sync_period(0), bus_id(0) , select_timeout(0), seq(0), tcount(0), tcounter(0), mode(0), fifo_pos(0), command_pos(0), state(0), xfr_phase(0), command_length(0), dma_dir(0), irq(false), drq(false), test_mode(false) , m_irq_handler(*this) diff --git a/src/devices/machine/ncr5390.h b/src/devices/machine/ncr5390.h index 7cc2469bde5..76952fe0f7b 100644 --- a/src/devices/machine/ncr5390.h +++ b/src/devices/machine/ncr5390.h @@ -7,7 +7,7 @@ #include "machine/nscsi_bus.h" -class ncr5390_device : public nscsi_device +class ncr5390_device : public nscsi_device, public nscsi_slot_card_interface { public: ncr5390_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); diff --git a/src/devices/machine/nscsi_bus.cpp b/src/devices/machine/nscsi_bus.cpp index c8ac3428735..c2274f49c95 100644 --- a/src/devices/machine/nscsi_bus.cpp +++ b/src/devices/machine/nscsi_bus.cpp @@ -125,19 +125,15 @@ void nscsi_bus_device::ctrl_wait(int refid, uint32_t lines, uint32_t mask) dev[refid].wait_ctrl = (w & ~mask) | (lines & mask); } -void nscsi_bus_device::device_config_complete() +void nscsi_bus_device::device_resolve_objects() { - char id[3]; for(int i=0; i<16; i++) { - sprintf(id, "%d", i); - nscsi_connector *conn = downcast<nscsi_connector *>(subdevice(id)); - if(conn) { - nscsi_device *sdev = conn->get_device(); - if(sdev) { - int rid = devcnt++; - dev[rid].dev = sdev; - sdev->connect_to_bus(this, rid, i); - } + device_t *subdev = subdevice(string_format("%d", i).c_str()); + nscsi_device *sdev = subdev ? downcast<nscsi_connector &>(*subdev).get_device() : nullptr; + if(sdev) { + int rid = devcnt++; + dev[rid].dev = sdev; + sdev->connect_to_bus(this, rid, i); } } } @@ -153,18 +149,34 @@ nscsi_connector::~nscsi_connector() { } +void nscsi_connector::device_validity_check(validity_checker &valid) const +{ + device_t *const carddev = get_card_device(); + if (carddev && !dynamic_cast<nscsi_slot_card_interface *>(carddev)) + osd_printf_error("Card device %s (%s) does not implement nscsi_slot_card_interface\n", carddev->tag(), carddev->name()); +} + void nscsi_connector::device_start() { } nscsi_device *nscsi_connector::get_device() { - return dynamic_cast<nscsi_device *>(get_card_device()); + nscsi_slot_card_interface *connected = dynamic_cast<nscsi_slot_card_interface *>(get_card_device()); + if (connected) + return connected->device().subdevice<nscsi_device>(connected->m_nscsi.finder_tag()); + else + return nullptr; +} + +nscsi_slot_card_interface::nscsi_slot_card_interface(const machine_config &mconfig, device_t &device, const char *nscsi_tag) : + device_slot_card_interface(mconfig, device), + m_nscsi(device, nscsi_tag) +{ } nscsi_device::nscsi_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) : - device_t(mconfig, type, tag, owner, clock), - device_slot_card_interface(mconfig, *this) + device_t(mconfig, type, tag, owner, clock) { scsi_id = scsi_refid = -1; scsi_bus = nullptr; @@ -187,6 +199,12 @@ void nscsi_device::device_start() } +nscsi_full_device::nscsi_full_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) : + nscsi_device(mconfig, type, tag, owner, clock), + nscsi_slot_card_interface(mconfig, *this, DEVICE_SELF) +{ +} + const char *const nscsi_full_device::command_names[256] = { /* 00 */ "TEST_UNIT_READY", "REZERO", "?", "REQUEST_SENSE", "FORMAT_UNIT", "?", "?", "REASSIGN_BLOCKS", /* 08 */ "READ_6/RECIEVE", "?", "WRITE_6/SEND", "SEEK", "?", "?", "?", "?", diff --git a/src/devices/machine/nscsi_bus.h b/src/devices/machine/nscsi_bus.h index 244eda94fe8..6ee65f470c7 100644 --- a/src/devices/machine/nscsi_bus.h +++ b/src/devices/machine/nscsi_bus.h @@ -23,7 +23,7 @@ public: protected: virtual void device_start() override; virtual void device_reset() override; - virtual void device_config_complete() override; + virtual void device_resolve_objects() override; private: struct dev_t { @@ -60,10 +60,22 @@ public: nscsi_device *get_device(); protected: + virtual void device_validity_check(validity_checker &valid) const override; virtual void device_start() override; }; -class nscsi_device : public device_t, public device_slot_card_interface +class nscsi_slot_card_interface : public device_slot_card_interface +{ + friend class nscsi_connector; + +public: + nscsi_slot_card_interface(const machine_config &mconfig, device_t &device, const char *nscsi_tag); + +private: + required_device<nscsi_device> m_nscsi; +}; + +class nscsi_device : public device_t { public: // Here because the biggest users are the devices, not the bus @@ -128,7 +140,7 @@ protected: nscsi_bus_device *scsi_bus; }; -class nscsi_full_device : public nscsi_device +class nscsi_full_device : public nscsi_device, public nscsi_slot_card_interface { public: virtual void scsi_ctrl_changed() override; @@ -300,7 +312,7 @@ protected: SBUF_SENSE }; - using nscsi_device::nscsi_device; + nscsi_full_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); virtual void device_start() override; virtual void device_reset() override; diff --git a/src/devices/machine/nscsi_cb.cpp b/src/devices/machine/nscsi_cb.cpp index 0bd3f76af21..5d42caf8265 100644 --- a/src/devices/machine/nscsi_cb.cpp +++ b/src/devices/machine/nscsi_cb.cpp @@ -7,6 +7,7 @@ DEFINE_DEVICE_TYPE(NSCSI_CB, nscsi_callback_device, "nscsi_cb", "SCSI callback ( nscsi_callback_device::nscsi_callback_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : nscsi_device(mconfig, NSCSI_CB, tag, owner, clock), + nscsi_slot_card_interface(mconfig, *this, DEVICE_SELF), m_write_rst(*this), m_write_atn(*this), m_write_ack(*this), diff --git a/src/devices/machine/nscsi_cb.h b/src/devices/machine/nscsi_cb.h index 575e8f19298..8a97b76c29f 100644 --- a/src/devices/machine/nscsi_cb.h +++ b/src/devices/machine/nscsi_cb.h @@ -8,7 +8,7 @@ #include "machine/nscsi_bus.h" -class nscsi_callback_device : public nscsi_device +class nscsi_callback_device : public nscsi_device, public nscsi_slot_card_interface { public: nscsi_callback_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); diff --git a/src/devices/machine/sensorboard.cpp b/src/devices/machine/sensorboard.cpp index 63fb92a8649..2fd22010ec3 100644 --- a/src/devices/machine/sensorboard.cpp +++ b/src/devices/machine/sensorboard.cpp @@ -438,11 +438,8 @@ INPUT_CHANGED_MEMBER(sensorboard_device::sensor) INPUT_CHANGED_MEMBER(sensorboard_device::ui_spawn) { - if (!newval) - return; - - u8 pos = (u8)(uintptr_t)param; - if (pos > m_maxspawn) + u8 pos = (newval) ? (u8)(uintptr_t)param : 32 - count_leading_zeros(m_inp_spawn->read()); + if (pos == 0 || pos > m_maxspawn) return; cancel_sensor(); diff --git a/src/devices/machine/wd33c9x.cpp b/src/devices/machine/wd33c9x.cpp index ab82c36ec0a..476c6cc913c 100644 --- a/src/devices/machine/wd33c9x.cpp +++ b/src/devices/machine/wd33c9x.cpp @@ -359,6 +359,7 @@ DEFINE_DEVICE_TYPE(WD33C93B, wd33c93b_device, "wd33c93b", "Western Digital WD33C wd33c9x_base_device::wd33c9x_base_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) : nscsi_device{ mconfig, type, tag, owner, clock } + , nscsi_slot_card_interface(mconfig, *this, DEVICE_SELF) , m_addr{ 0 } , m_regs{ 0 } , m_command_length{ 0 } diff --git a/src/devices/machine/wd33c9x.h b/src/devices/machine/wd33c9x.h index 65e97852e00..bdfb84fe8d9 100644 --- a/src/devices/machine/wd33c9x.h +++ b/src/devices/machine/wd33c9x.h @@ -11,7 +11,7 @@ #include "machine/nscsi_bus.h" -class wd33c9x_base_device : public nscsi_device +class wd33c9x_base_device : public nscsi_device, public nscsi_slot_card_interface { public: auto irq_cb() { return m_irq_cb.bind(); } diff --git a/src/devices/sound/es5506.cpp b/src/devices/sound/es5506.cpp index 2702d58fa25..bc690058fe7 100644 --- a/src/devices/sound/es5506.cpp +++ b/src/devices/sound/es5506.cpp @@ -1049,7 +1049,7 @@ void es5506_device::generate_samples(int32_t **outputs, int offset, int samples) /* generate from the appropriate source */ if (!base) { - logerror("es5506: nullptr region base %d\n",voice->control >> 14); + LOG("es5506: nullptr region base %d\n",voice->control >> 14); generate_dummy(voice, base, left, right, samples); } else if (voice->control & 0x2000) @@ -1060,7 +1060,7 @@ void es5506_device::generate_samples(int32_t **outputs, int offset, int samples) /* does this voice have it's IRQ bit raised? */ if (voice->control&CONTROL_IRQ) { - logerror("es5506: IRQ raised on voice %d!!\n",v); + LOG("es5506: IRQ raised on voice %d!!\n",v); /* only update voice vector if existing IRQ is acked by host */ if (m_irqv&0x80) @@ -1118,7 +1118,7 @@ void es5505_device::generate_samples(int32_t **outputs, int offset, int samples) /* generate from the appropriate source */ if (!base) { - logerror("es5506: nullptr region base %d\n",voice->control >> 14); + LOG("es5506: nullptr region base %d\n",voice->control >> 14); generate_dummy(voice, base, left, right, samples); } else if (voice->control & 0x2000) @@ -1129,7 +1129,7 @@ void es5505_device::generate_samples(int32_t **outputs, int offset, int samples) /* does this voice have it's IRQ bit raised? */ if (voice->control&CONTROL_IRQ) { - logerror("es5506: IRQ raised on voice %d!!\n",v); + LOG("es5506: IRQ raised on voice %d!!\n",v); /* only update voice vector if existing IRQ is acked by host */ if (m_irqv&0x80) diff --git a/src/emu/render.cpp b/src/emu/render.cpp index 34d29285162..e896c3748f1 100644 --- a/src/emu/render.cpp +++ b/src/emu/render.cpp @@ -361,7 +361,7 @@ void render_texture::set_bitmap(bitmap_t &bitmap, const rectangle &sbounds, text assert(bitmap.cliprect().contains(sbounds)); // ensure we have a valid palette for palettized modes - if (format == TEXFORMAT_PALETTE16 || format == TEXFORMAT_PALETTEA16) + if (format == TEXFORMAT_PALETTE16) assert(bitmap.palette() != nullptr); // invalidate references to the old bitmap @@ -501,7 +501,6 @@ const rgb_t *render_texture::get_adjusted_palette(render_container &container) switch (m_format) { case TEXFORMAT_PALETTE16: - case TEXFORMAT_PALETTEA16: assert(m_bitmap->palette() != nullptr); @@ -684,7 +683,6 @@ const rgb_t *render_container::bcg_lookup_table(int texformat, palette_t *palett switch (texformat) { case TEXFORMAT_PALETTE16: - case TEXFORMAT_PALETTEA16: if (m_palclient == nullptr) // if adjusted palette hasn't been created yet, create it { m_palclient = std::make_unique<palette_client>(*palette); @@ -2866,7 +2864,7 @@ void render_target::add_clear_and_optimize_primitive_list(render_primitive_list case render_primitive::QUAD: { // stop when we hit an alpha texture - if (PRIMFLAG_GET_TEXFORMAT(prim.flags) == TEXFORMAT_ARGB32 || PRIMFLAG_GET_TEXFORMAT(prim.flags) == TEXFORMAT_PALETTEA16) + if (PRIMFLAG_GET_TEXFORMAT(prim.flags) == TEXFORMAT_ARGB32) goto done; // if this quad can't be cleanly removed from the extents list, we're done diff --git a/src/emu/rendersw.hxx b/src/emu/rendersw.hxx index 32df8b833ff..b1a032258d1 100644 --- a/src/emu/rendersw.hxx +++ b/src/emu/rendersw.hxx @@ -796,102 +796,6 @@ private: //************************************************************************** - // 16-BIT ALPHA PALETTE RASTERIZERS - //************************************************************************** - - //------------------------------------------------- - // draw_quad_palettea16_alpha - perform - // rasterization using standard alpha blending - //------------------------------------------------- - - static void draw_quad_palettea16_alpha(const render_primitive &prim, _PixelType *dstdata, u32 pitch, quad_setup_data &setup) - { - s32 dudx = setup.dudx; - s32 dvdx = setup.dvdx; - s32 endx = setup.endx; - - // ensure all parameters are valid - assert(prim.texture.palette != nullptr); - - // fast case: no coloring, no alpha - if (prim.color.r >= 1.0f && prim.color.g >= 1.0f && prim.color.b >= 1.0f && is_opaque(prim.color.a)) - { - // loop over rows - for (s32 y = setup.starty; y < setup.endy; y++) - { - _PixelType *dest = dstdata + y * pitch + setup.startx; - s32 curu = setup.startu + (y - setup.starty) * setup.dudy; - s32 curv = setup.startv + (y - setup.starty) * setup.dvdy; - - // loop over cols - for (s32 x = setup.startx; x < endx; x++) - { - u32 pix = get_texel_palette16a(prim.texture, curu, curv); - u32 ta = pix >> 24; - if (ta != 0) - { - u32 dpix = _NoDestRead ? 0 : *dest; - u32 invta = 0x100 - ta; - u32 r = (source32_r(pix) * ta + dest_r(dpix) * invta) >> 8; - u32 g = (source32_g(pix) * ta + dest_g(dpix) * invta) >> 8; - u32 b = (source32_b(pix) * ta + dest_b(dpix) * invta) >> 8; - - *dest = dest_assemble_rgb(r, g, b); - } - dest++; - curu += dudx; - curv += dvdx; - } - } - } - - // alpha and/or coloring case - else - { - u32 sr = u32(256.0f * prim.color.r); - u32 sg = u32(256.0f * prim.color.g); - u32 sb = u32(256.0f * prim.color.b); - u32 sa = u32(256.0f * prim.color.a); - - // clamp R,G,B and inverse A to 0-256 range - if (sr > 0x100) { if (s32(sr) < 0) sr = 0; else sr = 0x100; } - if (sg > 0x100) { if (s32(sg) < 0) sg = 0; else sg = 0x100; } - if (sb > 0x100) { if (s32(sb) < 0) sb = 0; else sb = 0x100; } - if (sa > 0x100) { if (s32(sa) < 0) sa = 0; else sa = 0x100; } - - // loop over rows - for (s32 y = setup.starty; y < setup.endy; y++) - { - _PixelType *dest = dstdata + y * pitch + setup.startx; - s32 curu = setup.startu + (y - setup.starty) * setup.dudy; - s32 curv = setup.startv + (y - setup.starty) * setup.dvdy; - - // loop over cols - for (s32 x = setup.startx; x < endx; x++) - { - u32 pix = get_texel_palette16a(prim.texture, curu, curv); - u32 ta = (pix >> 24) * sa; - if (ta != 0) - { - u32 dpix = _NoDestRead ? 0 : *dest; - u32 invsta = (0x10000 - ta) << 8; - u32 r = (source32_r(pix) * sr * ta + dest_r(dpix) * invsta) >> 24; - u32 g = (source32_g(pix) * sg * ta + dest_g(dpix) * invsta) >> 24; - u32 b = (source32_b(pix) * sb * ta + dest_b(dpix) * invsta) >> 24; - - *dest = dest_assemble_rgb(r, g, b); - } - dest++; - curu += dudx; - curv += dvdx; - } - } - } - } - - - - //************************************************************************** // 16-BIT YUY RASTERIZERS //************************************************************************** @@ -1392,23 +1296,22 @@ private: } - - //************************************************************************** - // 32-BIT ARGB QUAD RASTERIZERS - //************************************************************************** - //------------------------------------------------- - // draw_quad_argb32_alpha - perform - // rasterization using standard alpha blending + // draw_quad_rgb32_multiply - perform + // rasterization using RGB multiply //------------------------------------------------- - static void draw_quad_argb32_alpha(const render_primitive &prim, _PixelType *dstdata, u32 pitch, quad_setup_data &setup) + static void draw_quad_rgb32_multiply(const render_primitive &prim, _PixelType *dstdata, u32 pitch, quad_setup_data &setup) { const rgb_t *palbase = prim.texture.palette; s32 dudx = setup.dudx; s32 dvdx = setup.dvdx; s32 endx = setup.endx; + // simply can't do this without reading from the dest + if (_NoDestRead) + return; + // fast case: no coloring, no alpha if (prim.color.r >= 1.0f && prim.color.g >= 1.0f && prim.color.b >= 1.0f && is_opaque(prim.color.a)) { @@ -1426,42 +1329,28 @@ private: for (s32 x = setup.startx; x < endx; x++) { u32 pix = get_texel_argb32(prim.texture, curu, curv); - u32 ta = pix >> 24; - if (ta != 0) - { - u32 dpix = _NoDestRead ? 0 : *dest; - u32 invta = 0x100 - ta; - u32 r = (source32_r(pix) * ta + dest_r(dpix) * invta) >> 8; - u32 g = (source32_g(pix) * ta + dest_g(dpix) * invta) >> 8; - u32 b = (source32_b(pix) * ta + dest_b(dpix) * invta) >> 8; + u32 dpix = _NoDestRead ? 0 : *dest; + u32 r = (source32_r(pix) * dest_r(dpix)) >> (8 - _SrcShiftR); + u32 g = (source32_g(pix) * dest_g(dpix)) >> (8 - _SrcShiftG); + u32 b = (source32_b(pix) * dest_b(dpix)) >> (8 - _SrcShiftB); - *dest = dest_assemble_rgb(r, g, b); - } - dest++; + *dest++ = dest_assemble_rgb(r, g, b); curu += dudx; curv += dvdx; } } - - // lookup case else { // loop over cols for (s32 x = setup.startx; x < endx; x++) { u32 pix = get_texel_argb32(prim.texture, curu, curv); - u32 ta = pix >> 24; - if (ta != 0) - { - u32 dpix = _NoDestRead ? 0 : *dest; - u32 invta = 0x100 - ta; - u32 r = ((palbase[(pix >> 16) & 0xff] >> _SrcShiftR) * ta + dest_r(dpix) * invta) >> 8; - u32 g = ((palbase[(pix >> 8) & 0xff] >> _SrcShiftG) * ta + dest_g(dpix) * invta) >> 8; - u32 b = ((palbase[(pix >> 0) & 0xff] >> _SrcShiftB) * ta + dest_b(dpix) * invta) >> 8; + u32 dpix = _NoDestRead ? 0 : *dest; + u32 r = (palbase[(pix >> 16) & 0xff] * dest_r(dpix)) >> 8; + u32 g = (palbase[(pix >> 8) & 0xff] * dest_g(dpix)) >> 8; + u32 b = (palbase[(pix >> 0) & 0xff] * dest_b(dpix)) >> 8; - *dest = dest_assemble_rgb(r, g, b); - } - dest++; + *dest++ = dest_assemble_rgb(r, g, b); curu += dudx; curv += dvdx; } @@ -1472,16 +1361,14 @@ private: // alpha and/or coloring case else { - u32 sr = u32(256.0f * prim.color.r); - u32 sg = u32(256.0f * prim.color.g); - u32 sb = u32(256.0f * prim.color.b); - u32 sa = u32(256.0f * prim.color.a); + u32 sr = u32(256.0f * prim.color.r * prim.color.a); + u32 sg = u32(256.0f * prim.color.g * prim.color.a); + u32 sb = u32(256.0f * prim.color.b * prim.color.a); - // clamp R,G,B and inverse A to 0-256 range + // clamp R,G,B to 0-256 range if (sr > 0x100) { if (s32(sr) < 0) sr = 0; else sr = 0x100; } if (sg > 0x100) { if (s32(sg) < 0) sg = 0; else sg = 0x100; } if (sb > 0x100) { if (s32(sb) < 0) sb = 0; else sb = 0x100; } - if (sa > 0x100) { if (s32(sa) < 0) sa = 0; else sa = 0x100; } // loop over rows for (s32 y = setup.starty; y < setup.endy; y++) @@ -1497,43 +1384,28 @@ private: for (s32 x = setup.startx; x < endx; x++) { u32 pix = get_texel_argb32(prim.texture, curu, curv); - u32 ta = (pix >> 24) * sa; - if (ta != 0) - { - u32 dpix = _NoDestRead ? 0 : *dest; - u32 invsta = (0x10000 - ta) << 8; - u32 r = (source32_r(pix) * sr * ta + dest_r(dpix) * invsta) >> 24; - u32 g = (source32_g(pix) * sg * ta + dest_g(dpix) * invsta) >> 24; - u32 b = (source32_b(pix) * sb * ta + dest_b(dpix) * invsta) >> 24; + u32 dpix = _NoDestRead ? 0 : *dest; + u32 r = (source32_r(pix) * sr * dest_r(dpix)) >> (16 - _SrcShiftR); + u32 g = (source32_g(pix) * sg * dest_g(dpix)) >> (16 - _SrcShiftG); + u32 b = (source32_b(pix) * sb * dest_b(dpix)) >> (16 - _SrcShiftB); - *dest = dest_assemble_rgb(r, g, b); - } - dest++; + *dest++ = dest_assemble_rgb(r, g, b); curu += dudx; curv += dvdx; } } - - - // lookup case else { // loop over cols for (s32 x = setup.startx; x < endx; x++) { u32 pix = get_texel_argb32(prim.texture, curu, curv); - u32 ta = (pix >> 24) * sa; - if (ta != 0) - { - u32 dpix = _NoDestRead ? 0 : *dest; - u32 invsta = (0x10000 - ta) << 8; - u32 r = ((palbase[(pix >> 16) & 0xff] >> _SrcShiftR) * sr * ta + dest_r(dpix) * invsta) >> 24; - u32 g = ((palbase[(pix >> 8) & 0xff] >> _SrcShiftG) * sg * ta + dest_g(dpix) * invsta) >> 24; - u32 b = ((palbase[(pix >> 0) & 0xff] >> _SrcShiftB) * sb * ta + dest_b(dpix) * invsta) >> 24; + u32 dpix = _NoDestRead ? 0 : *dest; + u32 r = (palbase[(pix >> 16) & 0xff] * sr * dest_r(dpix)) >> 16; + u32 g = (palbase[(pix >> 8) & 0xff] * sg * dest_g(dpix)) >> 16; + u32 b = (palbase[(pix >> 0) & 0xff] * sb * dest_b(dpix)) >> 16; - *dest = dest_assemble_rgb(r, g, b); - } - dest++; + *dest++ = dest_assemble_rgb(r, g, b); curu += dudx; curv += dvdx; } @@ -1543,22 +1415,22 @@ private: } + //************************************************************************** + // 32-BIT ARGB QUAD RASTERIZERS + //************************************************************************** + //------------------------------------------------- - // draw_quad_argb32_multiply - perform - // rasterization using RGB multiply + // draw_quad_argb32_alpha - perform + // rasterization using standard alpha blending //------------------------------------------------- - static void draw_quad_argb32_multiply(const render_primitive &prim, _PixelType *dstdata, u32 pitch, quad_setup_data &setup) + static void draw_quad_argb32_alpha(const render_primitive &prim, _PixelType *dstdata, u32 pitch, quad_setup_data &setup) { const rgb_t *palbase = prim.texture.palette; s32 dudx = setup.dudx; s32 dvdx = setup.dvdx; s32 endx = setup.endx; - // simply can't do this without reading from the dest - if (_NoDestRead) - return; - // fast case: no coloring, no alpha if (prim.color.r >= 1.0f && prim.color.g >= 1.0f && prim.color.b >= 1.0f && is_opaque(prim.color.a)) { @@ -1576,28 +1448,42 @@ private: for (s32 x = setup.startx; x < endx; x++) { u32 pix = get_texel_argb32(prim.texture, curu, curv); - u32 dpix = _NoDestRead ? 0 : *dest; - u32 r = (source32_r(pix) * dest_r(dpix)) >> (8 - _SrcShiftR); - u32 g = (source32_g(pix) * dest_g(dpix)) >> (8 - _SrcShiftG); - u32 b = (source32_b(pix) * dest_b(dpix)) >> (8 - _SrcShiftB); + u32 ta = pix >> 24; + if (ta != 0) + { + u32 dpix = _NoDestRead ? 0 : *dest; + u32 invta = 0x100 - ta; + u32 r = (source32_r(pix) * ta + dest_r(dpix) * invta) >> 8; + u32 g = (source32_g(pix) * ta + dest_g(dpix) * invta) >> 8; + u32 b = (source32_b(pix) * ta + dest_b(dpix) * invta) >> 8; - *dest++ = dest_assemble_rgb(r, g, b); + *dest = dest_assemble_rgb(r, g, b); + } + dest++; curu += dudx; curv += dvdx; } } + + // lookup case else { // loop over cols for (s32 x = setup.startx; x < endx; x++) { u32 pix = get_texel_argb32(prim.texture, curu, curv); - u32 dpix = _NoDestRead ? 0 : *dest; - u32 r = (palbase[(pix >> 16) & 0xff] * dest_r(dpix)) >> 8; - u32 g = (palbase[(pix >> 8) & 0xff] * dest_g(dpix)) >> 8; - u32 b = (palbase[(pix >> 0) & 0xff] * dest_b(dpix)) >> 8; + u32 ta = pix >> 24; + if (ta != 0) + { + u32 dpix = _NoDestRead ? 0 : *dest; + u32 invta = 0x100 - ta; + u32 r = ((palbase[(pix >> 16) & 0xff] >> _SrcShiftR) * ta + dest_r(dpix) * invta) >> 8; + u32 g = ((palbase[(pix >> 8) & 0xff] >> _SrcShiftG) * ta + dest_g(dpix) * invta) >> 8; + u32 b = ((palbase[(pix >> 0) & 0xff] >> _SrcShiftB) * ta + dest_b(dpix) * invta) >> 8; - *dest++ = dest_assemble_rgb(r, g, b); + *dest = dest_assemble_rgb(r, g, b); + } + dest++; curu += dudx; curv += dvdx; } @@ -1608,14 +1494,16 @@ private: // alpha and/or coloring case else { - u32 sr = u32(256.0f * prim.color.r * prim.color.a); - u32 sg = u32(256.0f * prim.color.g * prim.color.a); - u32 sb = u32(256.0f * prim.color.b * prim.color.a); + u32 sr = u32(256.0f * prim.color.r); + u32 sg = u32(256.0f * prim.color.g); + u32 sb = u32(256.0f * prim.color.b); + u32 sa = u32(256.0f * prim.color.a); // clamp R,G,B and inverse A to 0-256 range if (sr > 0x100) { if (s32(sr) < 0) sr = 0; else sr = 0x100; } if (sg > 0x100) { if (s32(sg) < 0) sg = 0; else sg = 0x100; } if (sb > 0x100) { if (s32(sb) < 0) sb = 0; else sb = 0x100; } + if (sa > 0x100) { if (s32(sa) < 0) sa = 0; else sa = 0x100; } // loop over rows for (s32 y = setup.starty; y < setup.endy; y++) @@ -1631,28 +1519,43 @@ private: for (s32 x = setup.startx; x < endx; x++) { u32 pix = get_texel_argb32(prim.texture, curu, curv); - u32 dpix = _NoDestRead ? 0 : *dest; - u32 r = (source32_r(pix) * sr * dest_r(dpix)) >> (16 - _SrcShiftR); - u32 g = (source32_g(pix) * sg * dest_g(dpix)) >> (16 - _SrcShiftG); - u32 b = (source32_b(pix) * sb * dest_b(dpix)) >> (16 - _SrcShiftB); + u32 ta = (pix >> 24) * sa; + if (ta != 0) + { + u32 dpix = _NoDestRead ? 0 : *dest; + u32 invsta = (0x10000 - ta) << 8; + u32 r = (source32_r(pix) * sr * ta + dest_r(dpix) * invsta) >> 24; + u32 g = (source32_g(pix) * sg * ta + dest_g(dpix) * invsta) >> 24; + u32 b = (source32_b(pix) * sb * ta + dest_b(dpix) * invsta) >> 24; - *dest++ = dest_assemble_rgb(r, g, b); + *dest = dest_assemble_rgb(r, g, b); + } + dest++; curu += dudx; curv += dvdx; } } + + + // lookup case else { // loop over cols for (s32 x = setup.startx; x < endx; x++) { u32 pix = get_texel_argb32(prim.texture, curu, curv); - u32 dpix = _NoDestRead ? 0 : *dest; - u32 r = (palbase[(pix >> 16) & 0xff] * sr * dest_r(dpix)) >> 16; - u32 g = (palbase[(pix >> 8) & 0xff] * sg * dest_g(dpix)) >> 16; - u32 b = (palbase[(pix >> 0) & 0xff] * sb * dest_b(dpix)) >> 16; + u32 ta = (pix >> 24) * sa; + if (ta != 0) + { + u32 dpix = _NoDestRead ? 0 : *dest; + u32 invsta = (0x10000 - ta) << 8; + u32 r = ((palbase[(pix >> 16) & 0xff] >> _SrcShiftR) * sr * ta + dest_r(dpix) * invsta) >> 24; + u32 g = ((palbase[(pix >> 8) & 0xff] >> _SrcShiftG) * sg * ta + dest_g(dpix) * invsta) >> 24; + u32 b = ((palbase[(pix >> 0) & 0xff] >> _SrcShiftB) * sb * ta + dest_b(dpix) * invsta) >> 24; - *dest++ = dest_assemble_rgb(r, g, b); + *dest = dest_assemble_rgb(r, g, b); + } + dest++; curu += dudx; curv += dvdx; } @@ -1884,10 +1787,6 @@ private: draw_quad_palette16_add(prim, dstdata, pitch, setup); break; - case PRIMFLAG_TEXFORMAT(TEXFORMAT_PALETTEA16) | PRIMFLAG_BLENDMODE(BLENDMODE_ALPHA): - draw_quad_palettea16_alpha(prim, dstdata, pitch, setup); - break; - case PRIMFLAG_TEXFORMAT(TEXFORMAT_YUY16) | PRIMFLAG_BLENDMODE(BLENDMODE_NONE): case PRIMFLAG_TEXFORMAT(TEXFORMAT_YUY16) | PRIMFLAG_BLENDMODE(BLENDMODE_ALPHA): draw_quad_yuy16_none(prim, dstdata, pitch, setup); @@ -1903,6 +1802,11 @@ private: draw_quad_rgb32(prim, dstdata, pitch, setup); break; + case PRIMFLAG_TEXFORMAT(TEXFORMAT_RGB32) | PRIMFLAG_BLENDMODE(BLENDMODE_RGB_MULTIPLY): + case PRIMFLAG_TEXFORMAT(TEXFORMAT_ARGB32) | PRIMFLAG_BLENDMODE(BLENDMODE_RGB_MULTIPLY): + draw_quad_rgb32_multiply(prim, dstdata, pitch, setup); + break; + case PRIMFLAG_TEXFORMAT(TEXFORMAT_RGB32) | PRIMFLAG_BLENDMODE(BLENDMODE_ADD): draw_quad_rgb32_add(prim, dstdata, pitch, setup); break; @@ -1911,10 +1815,6 @@ private: draw_quad_argb32_alpha(prim, dstdata, pitch, setup); break; - case PRIMFLAG_TEXFORMAT(TEXFORMAT_ARGB32) | PRIMFLAG_BLENDMODE(BLENDMODE_RGB_MULTIPLY): - draw_quad_argb32_multiply(prim, dstdata, pitch, setup); - break; - case PRIMFLAG_TEXFORMAT(TEXFORMAT_ARGB32) | PRIMFLAG_BLENDMODE(BLENDMODE_ADD): draw_quad_argb32_add(prim, dstdata, pitch, setup); break; diff --git a/src/emu/screen.h b/src/emu/screen.h index a2b0b5eb0a4..98d049be8ae 100644 --- a/src/emu/screen.h +++ b/src/emu/screen.h @@ -33,8 +33,7 @@ enum screen_type_enum enum texture_format { TEXFORMAT_UNDEFINED = 0, // require a format to be specified - TEXFORMAT_PALETTE16, // 16bpp palettized, alpha ignored - TEXFORMAT_PALETTEA16, // 16bpp palettized, alpha respected + TEXFORMAT_PALETTE16, // 16bpp palettized, no alpha TEXFORMAT_RGB32, // 32bpp 8-8-8 RGB TEXFORMAT_ARGB32, // 32bpp 8-8-8-8 ARGB TEXFORMAT_YUY16 // 16bpp 8-8 Y/Cb, Y/Cr in sequence diff --git a/src/mame/drivers/4dpi.cpp b/src/mame/drivers/4dpi.cpp index 4fb914dcf21..95643af993b 100644 --- a/src/mame/drivers/4dpi.cpp +++ b/src/mame/drivers/4dpi.cpp @@ -55,8 +55,8 @@ // buses and connectors #include "machine/nscsi_bus.h" -#include "machine/nscsi_hd.h" -#include "machine/nscsi_cd.h" +#include "bus/nscsi/hd.h" +#include "bus/nscsi/cd.h" #include "bus/rs232/rs232.h" #include "bus/sgikbd/sgikbd.h" #include "bus/rs232/hlemouse.h" diff --git a/src/mame/drivers/alg.cpp b/src/mame/drivers/alg.cpp index e341d5dc1af..2cb251611c7 100644 --- a/src/mame/drivers/alg.cpp +++ b/src/mame/drivers/alg.cpp @@ -322,8 +322,6 @@ void alg_state::alg_r1(machine_config &config) m_laserdisc->set_screen("screen"); m_laserdisc->set_overlay(512*2, 262, FUNC(amiga_state::screen_update_amiga)); m_laserdisc->set_overlay_clip((129-8)*2, (449+8-1)*2, 44-8, 244+8-1); - m_laserdisc->set_overlay_palette(m_palette); - PALETTE(config, m_palette, FUNC(alg_state::amiga_palette), 4097); diff --git a/src/mame/drivers/ampro.cpp b/src/mame/drivers/ampro.cpp index 2d11883ec3c..013192e6699 100644 --- a/src/mame/drivers/ampro.cpp +++ b/src/mame/drivers/ampro.cpp @@ -23,8 +23,7 @@ of a hard drive of up to 88MB. #include "cpu/z80/z80.h" #include "imagedev/floppy.h" #include "machine/ncr5380n.h" -#include "machine/nscsi_cd.h" -#include "machine/nscsi_hd.h" +#include "bus/nscsi/devices.h" #include "machine/output_latch.h" #include "machine/z80daisy.h" #include "machine/z80ctc.h" @@ -160,12 +159,6 @@ static void ampro_floppies(device_slot_interface &device) device.option_add("525dd", FLOPPY_525_DD); } -static void scsi_devices(device_slot_interface &device) -{ - device.option_add("harddisk", NSCSI_HARDDISK); - device.option_add_internal("ncr", NCR5380N); -} - /* Input ports */ static INPUT_PORTS_START( ampro ) PORT_START("ID") @@ -247,14 +240,14 @@ void ampro_state::ampro(machine_config &config) SOFTWARE_LIST(config, "flop_list").set_original("ampro"); NSCSI_BUS(config, "scsi"); - NSCSI_CONNECTOR(config, "scsi:0", scsi_devices, nullptr); - NSCSI_CONNECTOR(config, "scsi:1", scsi_devices, nullptr); - NSCSI_CONNECTOR(config, "scsi:2", scsi_devices, nullptr); - NSCSI_CONNECTOR(config, "scsi:3", scsi_devices, nullptr); - NSCSI_CONNECTOR(config, "scsi:4", scsi_devices, nullptr); - NSCSI_CONNECTOR(config, "scsi:5", scsi_devices, nullptr); - NSCSI_CONNECTOR(config, "scsi:6", scsi_devices, nullptr); - NSCSI_CONNECTOR(config, "scsi:7", scsi_devices, "ncr", true).set_option_machine_config("ncr", [] (device_t *device) { + NSCSI_CONNECTOR(config, "scsi:0", default_scsi_devices, nullptr); + NSCSI_CONNECTOR(config, "scsi:1", default_scsi_devices, nullptr); + NSCSI_CONNECTOR(config, "scsi:2", default_scsi_devices, nullptr); + NSCSI_CONNECTOR(config, "scsi:3", default_scsi_devices, nullptr); + NSCSI_CONNECTOR(config, "scsi:4", default_scsi_devices, nullptr); + NSCSI_CONNECTOR(config, "scsi:5", default_scsi_devices, nullptr); + NSCSI_CONNECTOR(config, "scsi:6", default_scsi_devices, nullptr); + NSCSI_CONNECTOR(config, "scsi:7").option_set("ncr", NCR5380N).machine_config([] (device_t *device) { //downcast<ncr5380n_device &>(*device).irq_handler().set(m_ctc, FUNC(z80ctc_device::trg2)); // only if JMP3 shorted //downcast<ncr5380n_device &>(*device).drq_handler().set(m_dart, FUNC(z80dart_device::dcda_w)); // only if JMP8 shorted }); diff --git a/src/mame/drivers/cking_master.cpp b/src/mame/drivers/cking_master.cpp index cfb72a740ac..bf9d7b93192 100644 --- a/src/mame/drivers/cking_master.cpp +++ b/src/mame/drivers/cking_master.cpp @@ -117,8 +117,11 @@ u8 master_state::input_r() u8 data = 0; // d0-d7: multiplexed inputs + // read chessboard sensors if (m_inp_mux < 8) data = m_board->read_file(m_inp_mux, true); + + // read other buttons else if (m_inp_mux < 10) data = m_inputs[m_inp_mux - 8]->read(); diff --git a/src/mame/drivers/coco12.cpp b/src/mame/drivers/coco12.cpp index 49942d0621f..a3d64f90193 100644 --- a/src/mame/drivers/coco12.cpp +++ b/src/mame/drivers/coco12.cpp @@ -468,7 +468,6 @@ void coco12_state::coco(machine_config &config) CASSETTE(config, m_cassette); m_cassette->set_formats(coco_cassette_formats); m_cassette->set_default_state(CASSETTE_PLAY | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED); - m_cassette->add_route(ALL_OUTPUTS, "speaker", 0.15); rs232_port_device &rs232(RS232_PORT(config, RS232_TAG, default_rs232_devices, "printer")); rs232.dcd_handler().set(PIA1_TAG, FUNC(pia6821_device::ca1_w)); diff --git a/src/mame/drivers/coco3.cpp b/src/mame/drivers/coco3.cpp index d64171d14ab..9e01fc9751d 100644 --- a/src/mame/drivers/coco3.cpp +++ b/src/mame/drivers/coco3.cpp @@ -279,7 +279,6 @@ void coco3_state::coco3(machine_config &config) CASSETTE(config, m_cassette); m_cassette->set_formats(coco_cassette_formats); m_cassette->set_default_state(CASSETTE_PLAY | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED); - m_cassette->add_route(ALL_OUTPUTS, "speaker", 0.15); rs232_port_device &rs232(RS232_PORT(config, RS232_TAG, default_rs232_devices, "printer")); rs232.dcd_handler().set(PIA1_TAG, FUNC(pia6821_device::ca1_w)); diff --git a/src/mame/drivers/cps3.cpp b/src/mame/drivers/cps3.cpp index ad6db84fde7..5986ad19a8a 100644 --- a/src/mame/drivers/cps3.cpp +++ b/src/mame/drivers/cps3.cpp @@ -464,7 +464,7 @@ hardware modification to the security cart..... #include "machine/intelfsh.h" #include "machine/nvram.h" #include "includes/cps3.h" -#include "machine/nscsi_cd.h" +#include "bus/nscsi/cd.h" #include "machine/wd33c9x.h" #include "screen.h" #include "speaker.h" diff --git a/src/mame/drivers/cxg_ch2001.cpp b/src/mame/drivers/cxg_ch2001.cpp index 31aaf84949a..ea29e4aae2f 100644 --- a/src/mame/drivers/cxg_ch2001.cpp +++ b/src/mame/drivers/cxg_ch2001.cpp @@ -115,8 +115,11 @@ READ8_MEMBER(ch2001_state::input_r) u8 data = 0; // d0-d7: multiplexed inputs + // read chessboard sensors if (m_inp_mux < 8) data = m_board->read_file(m_inp_mux, true); + + // read other buttons else if (m_inp_mux < 10) data = m_inputs[m_inp_mux - 8]->read(); diff --git a/src/mame/drivers/deco_ld.cpp b/src/mame/drivers/deco_ld.cpp index 04f2dced8be..553b43ece79 100644 --- a/src/mame/drivers/deco_ld.cpp +++ b/src/mame/drivers/deco_ld.cpp @@ -163,17 +163,16 @@ private: DECLARE_READ8_MEMBER(sound_status_r); DECLARE_WRITE8_MEMBER(decold_sound_cmd_w); virtual void machine_start() override; - uint32_t screen_update_rblaster(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + uint32_t screen_update_rblaster(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); INTERRUPT_GEN_MEMBER(sound_interrupt); - void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect, uint8_t *spriteram, uint16_t tile_bank ); + void draw_sprites(bitmap_rgb32 &bitmap, const rectangle &cliprect, uint8_t *spriteram, uint16_t tile_bank ); void rblaster_map(address_map &map); void rblaster_sound_map(address_map &map); }; -void deco_ld_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect, uint8_t *spriteram, uint16_t tile_bank ) +void deco_ld_state::draw_sprites(bitmap_rgb32 &bitmap, const rectangle &cliprect, uint8_t *spriteram, uint16_t tile_bank ) { gfx_element *gfx = m_gfxdecode->gfx(1); - int i,spr_offs,x,y,col,fx,fy; /* [+0] ---- -x-- flip X @@ -184,68 +183,67 @@ void deco_ld_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect [+3] x coord */ - for(i=0;i<0x20;i+=4) + for (int i = 0; i < 0x20; i += 4) { - if(~spriteram[i+0] & 1) + if (~spriteram[i] & 1) continue; - spr_offs = spriteram[i+1]|tile_bank; - x = spriteram[i+3]; - y = spriteram[i+2]; - col = 6; /* TODO */ - fx = (spriteram[i+0] & 0x04) ? 1 : 0; - fy = (spriteram[i+0] & 0x02) ? 1 : 0; + int spr_offs = spriteram[i + 1] | tile_bank; + int x = spriteram[i + 3]; + int y = spriteram[i + 2]; + int col = 6; /* TODO */ + int fx = (spriteram[i] & 0x04) ? 1 : 0; + int fy = (spriteram[i] & 0x02) ? 1 : 0; - gfx->transpen(bitmap,cliprect,spr_offs,col,fx,fy,x,y,0); + gfx->transpen(bitmap, cliprect, spr_offs, col, fx, fy, x, y, 0); } - for(i=0x3e0;i<0x400;i+=4) + for (int i = 0x3e0; i < 0x400; i += 4) { - if(~spriteram[i+0] & 1) + if (~spriteram[i] & 1) continue; - spr_offs = spriteram[i+1]|tile_bank; - x = spriteram[i+3]; - y = spriteram[i+2]; - col = 6; /* TODO */ - fx = (spriteram[i+0] & 0x04) ? 1 : 0; - fy = (spriteram[i+0] & 0x02) ? 1 : 0; + int spr_offs = spriteram[i + 1] | tile_bank; + int x = spriteram[i + 3]; + int y = spriteram[i + 2]; + int col = 6; /* TODO */ + int fx = (spriteram[i] & 0x04) ? 1 : 0; + int fy = (spriteram[i] & 0x02) ? 1 : 0; - gfx->transpen(bitmap,cliprect,spr_offs,col,fx,fy,x,y,0); + gfx->transpen(bitmap, cliprect, spr_offs, col, fx, fy, x, y, 0); } } -uint32_t deco_ld_state::screen_update_rblaster(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) +uint32_t deco_ld_state::screen_update_rblaster(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) { gfx_element *gfx = m_gfxdecode->gfx(0); - int y,x; bitmap.fill(0, cliprect); - draw_sprites(bitmap,cliprect,m_vram1,0x000); - draw_sprites(bitmap,cliprect,m_vram0,0x100); + draw_sprites(bitmap, cliprect, m_vram1, 0x000); + draw_sprites(bitmap, cliprect, m_vram0, 0x100); - for (y=0;y<32;y++) + for (int y = 0; y < 32; y++) { - for (x=0;x<32;x++) + for (int x = 0; x < 32; x++) { - int attr = m_attr0[x+y*32]; - int tile = m_vram0[x+y*32] | ((attr & 3) << 8); + int attr = m_attr0[x + y * 32]; + int tile = m_vram0[x + y * 32] | ((attr & 3) << 8); int colour = (6 & 0x7); /* TODO */ - gfx->transpen(bitmap,cliprect,tile|0x400,colour,0,0,x*8,y*8,0); + gfx->transpen(bitmap, cliprect, tile | 0x400, colour, 0, 0, x * 8, y * 8, 0); } } - for (y=0;y<32;y++) + for (int y = 0; y < 32; y++) { - for (x=0;x<32;x++) + for (int x = 0; x < 32; x++) { - int attr = m_attr1[x+y*32]; - int tile = m_vram1[x+y*32] | ((attr & 3) << 8); + int attr = m_attr1[x + y * 32]; + int tile = m_vram1[x + y * 32] | ((attr & 3) << 8); int colour = (6 & 0x7); /* TODO */ - gfx->transpen(bitmap,cliprect,tile,colour,0,0,x*8,y*8,0); + gfx->transpen(bitmap, cliprect, tile, colour, 0, 0, x * 8, y * 8, 0); } } @@ -478,7 +476,6 @@ void deco_ld_state::rblaster(machine_config &config) SONY_LDP1000(config, m_laserdisc, 0); m_laserdisc->set_overlay(256, 256, FUNC(deco_ld_state::screen_update_rblaster)); //m_laserdisc->set_overlay_clip(0, 256-1, 8, 240-1); - m_laserdisc->set_overlay_palette(m_palette); m_laserdisc->add_route(0, "lspeaker", 1.0); m_laserdisc->add_route(1, "rspeaker", 1.0); diff --git a/src/mame/drivers/decstation.cpp b/src/mame/drivers/decstation.cpp index 04623dfa6a4..17ffb7eac0d 100644 --- a/src/mame/drivers/decstation.cpp +++ b/src/mame/drivers/decstation.cpp @@ -65,8 +65,8 @@ #include "machine/z80scc.h" #include "machine/ncr5390.h" #include "machine/nscsi_bus.h" -#include "machine/nscsi_cd.h" -#include "machine/nscsi_hd.h" +#include "bus/nscsi/cd.h" +#include "bus/nscsi/hd.h" #include "machine/dec_lk201.h" #include "machine/am79c90.h" #include "machine/dc7085.h" diff --git a/src/mame/drivers/dlair.cpp b/src/mame/drivers/dlair.cpp index c14042dd9ce..4c2ef3c9511 100644 --- a/src/mame/drivers/dlair.cpp +++ b/src/mame/drivers/dlair.cpp @@ -128,7 +128,7 @@ private: virtual void machine_start() override; virtual void machine_reset() override; void dleuro_palette(palette_device &palette) const; - uint32_t screen_update_dleuro(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + uint32_t screen_update_dleuro(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); DECLARE_WRITE_LINE_MEMBER(write_speaker); void dleuro_io_map(address_map &map); @@ -220,16 +220,18 @@ void dlair_state::dleuro_palette(palette_device &palette) const * *************************************/ -uint32_t dlair_state::screen_update_dleuro(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) +uint32_t dlair_state::screen_update_dleuro(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) { // redraw the overlay for (int y = 0; y < 32; y++) + { for (int x = 0; x < 32; x++) { uint8_t const *const base = &m_videoram[y * 64 + x * 2 + 1]; // TODO: opaque? - m_gfxdecode->gfx(0)->opaque(bitmap,cliprect, base[0], base[1], 0, 0, 10 * x, 16 * y); + m_gfxdecode->gfx(0)->opaque(bitmap, cliprect, base[0], base[1], 0, 0, 10 * x, 16 * y); } + } return 0; } @@ -782,7 +784,6 @@ void dlair_state::dleuro(machine_config &config) PHILIPS_22VP932(config, m_22vp932, 0); m_22vp932->set_overlay(256, 256, FUNC(dlair_state::screen_update_dleuro)); - m_22vp932->set_overlay_palette(m_palette); m_22vp932->add_route(0, "lspeaker", 1.0); m_22vp932->add_route(1, "rspeaker", 1.0); diff --git a/src/mame/drivers/esh.cpp b/src/mame/drivers/esh.cpp index ad1335700c0..38a52dcf039 100644 --- a/src/mame/drivers/esh.cpp +++ b/src/mame/drivers/esh.cpp @@ -90,7 +90,6 @@ private: /* VIDEO GOODS */ uint32_t esh_state::screen_update_esh(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) { - int charx, chary; const uint8_t pal_bank = m_ld_video_visible == true ? 0x10 : 0x00; const uint32_t trans_mask = m_ld_video_visible == true ? 0 : -1; gfx_element *gfx;// = m_gfxdecode->gfx(0); @@ -100,9 +99,9 @@ uint32_t esh_state::screen_update_esh(screen_device &screen, bitmap_rgb32 &bitma /* Draw tiles */ - for (charx = 0; charx < 32; charx++) + for (int charx = 0; charx < 32; charx++) { - for (chary = 0; chary < 32; chary++) + for (int chary = 0; chary < 32; chary++) { int current_screen_character = (chary*32) + charx; @@ -372,7 +371,6 @@ void esh_state::esh(machine_config &config) PIONEER_LDV1000(config, m_laserdisc, 0); m_laserdisc->command_strobe_callback().set(FUNC(esh_state::ld_command_strobe_cb)); m_laserdisc->set_overlay(256, 256, FUNC(esh_state::screen_update_esh)); - m_laserdisc->set_overlay_palette(m_palette); m_laserdisc->add_route(0, "lspeaker", 1.0); m_laserdisc->add_route(1, "rspeaker", 1.0); diff --git a/src/mame/drivers/fidel_dames.cpp b/src/mame/drivers/fidel_dames.cpp index 8b4206effe7..defdd7443df 100644 --- a/src/mame/drivers/fidel_dames.cpp +++ b/src/mame/drivers/fidel_dames.cpp @@ -11,12 +11,20 @@ Hardware notes: - 4-digit 7seg panel, sensory board with 50 buttons - PCB label 510-1030A01 -It's a checkers game for once instead of chess +It's a checkers game for once instead of chess. + +When playing it on MAME with the sensorboard device, use the modifier keys +(eg. hold CTRL to ignore sensor). The game expects the player to press a sensor +only once when doing a multiple capture. + +TODO: +- doesn't announce winner/loser when the game ends, or is this normal? ******************************************************************************/ #include "emu.h" #include "cpu/z80/z80.h" +#include "machine/sensorboard.h" #include "machine/timer.h" #include "sound/dac.h" #include "sound/volt_reg.h" @@ -36,6 +44,7 @@ public: driver_device(mconfig, type, tag), m_maincpu(*this, "maincpu"), m_irq_on(*this, "irq_on"), + m_board(*this, "board"), m_display(*this, "display"), m_dac(*this, "dac"), m_inputs(*this, "IN.%u", 0) @@ -51,9 +60,10 @@ private: // devices/pointers required_device<cpu_device> m_maincpu; required_device<timer_device> m_irq_on; + required_device<sensorboard_device> m_board; required_device<pwm_display_device> m_display; required_device<dac_bit_interface> m_dac; - required_ioport_array<8> m_inputs; + required_ioport_array<2> m_inputs; // address maps void main_map(address_map &map); @@ -68,6 +78,9 @@ private: DECLARE_WRITE8_MEMBER(select_w); DECLARE_READ8_MEMBER(input_r); + void init_board(int state); + u8 read_board_row(u8 row); + u8 m_inp_mux; u8 m_led_select; }; @@ -89,6 +102,44 @@ void dsc_state::machine_start() Devices, I/O ******************************************************************************/ +// sensorboard handlers + +void dsc_state::init_board(int state) +{ + for (int i = 0; i < 20; i++) + { + m_board->write_piece(i % 5, i / 5, 1); // white + m_board->write_piece(i % 5, i / 5 + 6, 3); // black + } +} + +u8 dsc_state::read_board_row(u8 row) +{ + u8 data = 0; + + // inputs to sensorboard translation table + static const u8 lut_i2sb[64] = + { + 0x00, 0x50, 0x60, 0x70, 0x40, 0x30, 0x20, 0x10, + 0x01, 0x51, 0x61, 0x71, 0x41, 0x31, 0x21, 0x11, + 0x02, 0x52, 0x62, 0x72, 0x42, 0x32, 0x22, 0x12, + 0x03, 0x83, 0x84, 0x82, 0x91, 0x81, 0x90, 0x80, + 0xff, 0x93, 0x94, 0x92, 0xff, 0xff, 0xff, 0xff, + 0x04, 0x53, 0x63, 0x73, 0x43, 0x33, 0x23, 0x13, + 0xff, 0x54, 0x64, 0x74, 0x44, 0x34, 0x24, 0x14, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff + }; + + for (int i = 0; i < 8; i++) + { + u8 pos = lut_i2sb[row * 8 + i]; + data = data << 1 | m_board->read_sensor(pos & 0xf, pos >> 4); + } + + return data; +} + + // TTL void dsc_state::update_display() @@ -119,10 +170,16 @@ READ8_MEMBER(dsc_state::input_r) u8 data = 0; // d0-d7: multiplexed inputs (active low) - // read checkerboard for (int i = 0; i < 8; i++) if (BIT(~m_inp_mux, i)) - data |= m_inputs[i]->read(); + { + // read checkerboard + data |= read_board_row(i); + + // read other buttons + if (i >= 6) + data |= m_inputs[i - 6]->read(); + } return ~data; } @@ -149,98 +206,11 @@ void dsc_state::main_map(address_map &map) Input Ports ******************************************************************************/ -INPUT_PORTS_START( generic_cb_buttons ) - PORT_START("IN.0") - PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - - PORT_START("IN.1") - PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - - PORT_START("IN.2") - PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - - PORT_START("IN.3") - PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - - PORT_START("IN.4") - PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - - PORT_START("IN.5") - PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - - PORT_START("IN.6") - PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - - PORT_START("IN.7") - PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") -INPUT_PORTS_END - static INPUT_PORTS_START( dsc ) - PORT_INCLUDE( generic_cb_buttons ) - - PORT_MODIFY("IN.4") - PORT_BIT(0x8f, IP_ACTIVE_HIGH, IPT_UNUSED) - - PORT_MODIFY("IN.6") + PORT_START("IN.0") PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_1) PORT_CODE(KEYCODE_1_PAD) PORT_NAME("Black King") - PORT_MODIFY("IN.7") + PORT_START("IN.1") PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_2) PORT_CODE(KEYCODE_2_PAD) PORT_NAME("Black") PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_3) PORT_CODE(KEYCODE_3_PAD) PORT_NAME("White King") PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_4) PORT_CODE(KEYCODE_4_PAD) PORT_NAME("White") @@ -268,6 +238,12 @@ void dsc_state::dsc(machine_config &config) m_irq_on->set_start_delay(irq_period - attotime::from_usec(41)); // active for 41us TIMER(config, "irq_off").configure_periodic(FUNC(dsc_state::irq_off<INPUT_LINE_IRQ0>), irq_period); + SENSORBOARD(config, m_board).set_type(sensorboard_device::BUTTONS); + m_board->init_cb().set(FUNC(dsc_state::init_board)); + m_board->set_size(5, 10); // 2 columns per x (eg. square 1 & 6 are same x) + m_board->set_spawnpoints(4); + m_board->set_delay(attotime::from_msec(100)); + /* video hardware */ PWM_DISPLAY(config, m_display).set_size(4, 8); m_display->set_segmask(0xf, 0x7f); @@ -299,4 +275,4 @@ ROM_END ******************************************************************************/ // YEAR NAME PARENT CMP MACHINE INPUT STATE INIT COMPANY, FULLNAME, FLAGS -CONS( 1981, damesc, 0, 0, dsc, dsc, dsc_state, empty_init, "Fidelity Electronics", "Dame Sensory Challenger", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS ) +CONS( 1981, damesc, 0, 0, dsc, dsc, dsc_state, empty_init, "Fidelity Electronics", "Dame Sensory Challenger", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) diff --git a/src/mame/drivers/firefox.cpp b/src/mame/drivers/firefox.cpp index 60f32448ccb..a2bd450efd6 100644 --- a/src/mame/drivers/firefox.cpp +++ b/src/mame/drivers/firefox.cpp @@ -257,35 +257,32 @@ void firefox_state::video_start() uint32_t firefox_state::screen_update_firefox(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) { - int sprite; int gfxtop = screen.visible_area().top(); bitmap.fill(m_palette->pen_color(256), cliprect); - for( sprite = 0; sprite < 32; sprite++ ) + for (int sprite = 0; sprite < 32; sprite++) { - uint8_t *sprite_data = m_spriteram + ( 0x200 * m_sprite_bank ) + ( sprite * 16 ); - int flags = sprite_data[ 0 ]; - int y = sprite_data[ 1 ] + ( 256 * ( ( flags >> 0 ) & 1 ) ); - int x = sprite_data[ 2 ] + ( 256 * ( ( flags >> 1 ) & 1 ) ); + uint8_t *sprite_data = m_spriteram + (0x200 * m_sprite_bank) + (sprite * 16); + int flags = sprite_data[0]; + int y = sprite_data[1] + (256 * ((flags >> 0) & 1)); + int x = sprite_data[2] + (256 * ((flags >> 1) & 1)); - if( x != 0 ) + if (x != 0) { - int row; - - for( row = 0; row < 8; row++ ) + for (int row = 0; row < 8; row++) { - int color = ( flags >> 2 ) & 0x03; + int color = (flags >> 2) & 0x03; int flipy = flags & 0x10; int flipx = flags & 0x20; - int code = sprite_data[ 15 - row ] + ( 256 * ( ( flags >> 6 ) & 3 ) ); + int code = sprite_data[15 - row] + (256 * ((flags >> 6) & 3)); - m_gfxdecode->gfx( 1 )->transpen(bitmap,cliprect, code, color, flipx, flipy, x + 8, gfxtop + 500 - y - ( row * 16 ), 0 ); + m_gfxdecode->gfx(1)->transpen(bitmap, cliprect, code, color, flipx, flipy, x + 8, gfxtop + 500 - y - (row * 16), 0); } } } - m_bgtiles->draw(screen, bitmap, cliprect, 0, 0 ); + m_bgtiles->draw(screen, bitmap, cliprect, 0, 0); return 0; } @@ -693,7 +690,6 @@ void firefox_state::firefox(machine_config &config) PHILIPS_22VP931(config, m_laserdisc, 0); m_laserdisc->set_overlay(64*8, 525, FUNC(firefox_state::screen_update_firefox)); m_laserdisc->set_overlay_clip(7*8, 53*8-1, 44, 480+44); - m_laserdisc->set_overlay_palette(m_palette); m_laserdisc->add_route(0, "lspeaker", 0.50); m_laserdisc->add_route(1, "rspeaker", 0.50); m_laserdisc->add_ntsc_screen(config, "screen"); diff --git a/src/mame/drivers/glasgow.cpp b/src/mame/drivers/glasgow.cpp index a8ff923dd62..aeae4ab3463 100644 --- a/src/mame/drivers/glasgow.cpp +++ b/src/mame/drivers/glasgow.cpp @@ -30,10 +30,7 @@ How to play (quick guide) 3. Computer plays black, it will work out its move and beep. 4. Read the move in the display, or look for the flashing LEDs. 5. Move the computer's piece in the same way you moved yours. -6. If a piece is being taken, firstly click on the piece then click the blank - area at bottom right. This causes the piece to disappear. After that, - move the piece that took the other piece. -7. You'll need to read the official user manual for advanced features, or if +6. You'll need to read the official user manual for advanced features, or if you get messages such as "Err1". @@ -46,7 +43,9 @@ How to play (quick guide) #include "sound/beep.h" #include "speaker.h" -#include "glasgow.lh" +// internal artwork +#include "mephisto_amsterdam.lh" +#include "mephisto_glasgow.lh" class glasgow_state : public driver_device @@ -84,8 +83,6 @@ protected: uint8_t m_lcd_shift_counter; uint8_t m_led7; uint8_t m_key_select; - -private: }; @@ -268,45 +265,45 @@ void amsterd_state::dallas32_mem(address_map &map) static INPUT_PORTS_START( new_keyboard ) //Amsterdam, Dallas 32, Roma, Roma 32 PORT_START("LINE0") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("A 1") PORT_CODE(KEYCODE_A) PORT_CODE(KEYCODE_1) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("B 2") PORT_CODE(KEYCODE_B) PORT_CODE(KEYCODE_2) - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("C 3") PORT_CODE(KEYCODE_C) PORT_CODE(KEYCODE_3) - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("D 4") PORT_CODE(KEYCODE_D) PORT_CODE(KEYCODE_4) - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("E 5") PORT_CODE(KEYCODE_E) PORT_CODE(KEYCODE_5) - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("F 6") PORT_CODE(KEYCODE_F) PORT_CODE(KEYCODE_6) - PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("9") PORT_CODE(KEYCODE_9) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("0") PORT_CODE(KEYCODE_0) + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("A 1") PORT_CODE(KEYCODE_A) PORT_CODE(KEYCODE_1) PORT_CODE(KEYCODE_1_PAD) + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("B 2") PORT_CODE(KEYCODE_B) PORT_CODE(KEYCODE_2) PORT_CODE(KEYCODE_2_PAD) + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("C 3") PORT_CODE(KEYCODE_C) PORT_CODE(KEYCODE_3) PORT_CODE(KEYCODE_3_PAD) + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("D 4") PORT_CODE(KEYCODE_D) PORT_CODE(KEYCODE_4) PORT_CODE(KEYCODE_4_PAD) + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("E 5") PORT_CODE(KEYCODE_E) PORT_CODE(KEYCODE_5) PORT_CODE(KEYCODE_5_PAD) + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("F 6") PORT_CODE(KEYCODE_F) PORT_CODE(KEYCODE_6) PORT_CODE(KEYCODE_6_PAD) + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("9") PORT_CODE(KEYCODE_9) PORT_CODE(KEYCODE_9_PAD) + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("0") PORT_CODE(KEYCODE_0) PORT_CODE(KEYCODE_0_PAD) PORT_START("LINE1") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("INF") PORT_CODE(KEYCODE_I) PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("POS") PORT_CODE(KEYCODE_O) PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("LEV") PORT_CODE(KEYCODE_L) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("MEM") PORT_CODE(KEYCODE_M) - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("CLR") PORT_CODE(KEYCODE_BACKSPACE) - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("ENT") PORT_CODE(KEYCODE_ENTER) - PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("G 7") PORT_CODE(KEYCODE_G) PORT_CODE(KEYCODE_7) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("H 8") PORT_CODE(KEYCODE_H) PORT_CODE(KEYCODE_8) + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("CLR") PORT_CODE(KEYCODE_BACKSPACE) PORT_CODE(KEYCODE_DEL) + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("ENT") PORT_CODE(KEYCODE_ENTER) PORT_CODE(KEYCODE_ENTER_PAD) + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("G 7") PORT_CODE(KEYCODE_G) PORT_CODE(KEYCODE_7) PORT_CODE(KEYCODE_7_PAD) + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("H 8") PORT_CODE(KEYCODE_H) PORT_CODE(KEYCODE_8) PORT_CODE(KEYCODE_8_PAD) INPUT_PORTS_END static INPUT_PORTS_START( old_keyboard ) //Glasgow,Dallas PORT_START("LINE0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("9") PORT_CODE(KEYCODE_9) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("CL") PORT_CODE(KEYCODE_BACKSPACE) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("C 3") PORT_CODE(KEYCODE_C) PORT_CODE(KEYCODE_3) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("ENT") PORT_CODE(KEYCODE_ENTER) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("D 4") PORT_CODE(KEYCODE_D) PORT_CODE(KEYCODE_4) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("A 1") PORT_CODE(KEYCODE_A) PORT_CODE(KEYCODE_1) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("F 6") PORT_CODE(KEYCODE_F) PORT_CODE(KEYCODE_6) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("B 2") PORT_CODE(KEYCODE_B) PORT_CODE(KEYCODE_2) + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("9") PORT_CODE(KEYCODE_9) PORT_CODE(KEYCODE_9_PAD) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("CL") PORT_CODE(KEYCODE_BACKSPACE) PORT_CODE(KEYCODE_DEL) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("C 3") PORT_CODE(KEYCODE_C) PORT_CODE(KEYCODE_3) PORT_CODE(KEYCODE_3_PAD) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("ENT") PORT_CODE(KEYCODE_ENTER) PORT_CODE(KEYCODE_ENTER_PAD) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("D 4") PORT_CODE(KEYCODE_D) PORT_CODE(KEYCODE_4) PORT_CODE(KEYCODE_4_PAD) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("A 1") PORT_CODE(KEYCODE_A) PORT_CODE(KEYCODE_1) PORT_CODE(KEYCODE_1_PAD) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("F 6") PORT_CODE(KEYCODE_F) PORT_CODE(KEYCODE_6) PORT_CODE(KEYCODE_6_PAD) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("B 2") PORT_CODE(KEYCODE_B) PORT_CODE(KEYCODE_2) PORT_CODE(KEYCODE_2_PAD) PORT_START("LINE1") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("E 5") PORT_CODE(KEYCODE_E) PORT_CODE(KEYCODE_5) + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("E 5") PORT_CODE(KEYCODE_E) PORT_CODE(KEYCODE_5) PORT_CODE(KEYCODE_5_PAD) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("INF") PORT_CODE(KEYCODE_I) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("0") PORT_CODE(KEYCODE_0) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("0") PORT_CODE(KEYCODE_0) PORT_CODE(KEYCODE_0_PAD) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("POS") PORT_CODE(KEYCODE_O) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("H 8") PORT_CODE(KEYCODE_H) PORT_CODE(KEYCODE_8) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("H 8") PORT_CODE(KEYCODE_H) PORT_CODE(KEYCODE_8) PORT_CODE(KEYCODE_8_PAD) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("LEV") PORT_CODE(KEYCODE_L) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("G 7") PORT_CODE(KEYCODE_G) PORT_CODE(KEYCODE_7) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("G 7") PORT_CODE(KEYCODE_G) PORT_CODE(KEYCODE_7) PORT_CODE(KEYCODE_7_PAD) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("MEM") PORT_CODE(KEYCODE_M) INPUT_PORTS_END @@ -317,10 +314,11 @@ void glasgow_state::glasgow(machine_config &config) M68000(config, m_maincpu, 12_MHz_XTAL); m_maincpu->set_addrmap(AS_PROGRAM, &glasgow_state::glasgow_mem); - MEPHISTO_SENSORS_BOARD(config, m_board, 0); + MEPHISTO_SENSORS_BOARD(config, m_board); + m_board->set_delay(attotime::from_msec(200)); /* video hardware */ - config.set_default_layout(layout_glasgow); + config.set_default_layout(layout_mephisto_glasgow); SPEAKER(config, "mono").front_center(); BEEP(config, m_beep, 44).add_route(ALL_OUTPUTS, "mono", 0.50); @@ -334,11 +332,13 @@ void amsterd_state::amsterd(machine_config &config) /* basic machine hardware */ m_maincpu->set_addrmap(AS_PROGRAM, &amsterd_state::amsterd_mem); + + config.set_default_layout(layout_mephisto_amsterdam); } void amsterd_state::dallas32(machine_config &config) { - glasgow(config); + amsterd(config); /* basic machine hardware */ M68020(config.replace(), m_maincpu, 14_MHz_XTAL); diff --git a/src/mame/drivers/gottlieb.cpp b/src/mame/drivers/gottlieb.cpp index ba5f2b9f230..25c0bdb61d5 100644 --- a/src/mame/drivers/gottlieb.cpp +++ b/src/mame/drivers/gottlieb.cpp @@ -1802,7 +1802,6 @@ void gottlieb_state::g2laser(machine_config &config) m_laserdisc->set_audio(FUNC(gottlieb_state::laserdisc_audio_process), this); m_laserdisc->set_overlay(GOTTLIEB_VIDEO_HCOUNT, GOTTLIEB_VIDEO_VCOUNT, FUNC(gottlieb_state::screen_update)); m_laserdisc->set_overlay_clip(0, GOTTLIEB_VIDEO_HBLANK-1, 0, GOTTLIEB_VIDEO_VBLANK-8); - m_laserdisc->set_overlay_palette("palette"); m_laserdisc->add_route(0, "speaker", 1.0); m_laserdisc->set_screen(m_screen); /* right channel is processed as data */ @@ -1868,7 +1867,6 @@ void gottlieb_state::cobram3(machine_config &config) m_laserdisc->set_audio(FUNC(gottlieb_state::laserdisc_audio_process), this); m_laserdisc->set_overlay(GOTTLIEB_VIDEO_HCOUNT, GOTTLIEB_VIDEO_VCOUNT, FUNC(gottlieb_state::screen_update)); m_laserdisc->set_overlay_clip(0, GOTTLIEB_VIDEO_HBLANK-1, 0, GOTTLIEB_VIDEO_VBLANK-8); - m_laserdisc->set_overlay_palette("palette"); m_laserdisc->add_route(0, "speaker", 1.0); m_laserdisc->set_screen(m_screen); /* right channel is processed as data */ diff --git a/src/mame/drivers/gpworld.cpp b/src/mame/drivers/gpworld.cpp index 90147b8dcdf..df0edef9ad1 100644 --- a/src/mame/drivers/gpworld.cpp +++ b/src/mame/drivers/gpworld.cpp @@ -508,7 +508,6 @@ void gpworld_state::gpworld(machine_config &config) PIONEER_LDV1000(config, m_laserdisc, 0); m_laserdisc->set_overlay(512, 256, FUNC(gpworld_state::screen_update)); - m_laserdisc->set_overlay_palette(m_palette); m_laserdisc->add_route(0, "lspeaker", 1.0); m_laserdisc->add_route(1, "rspeaker", 1.0); diff --git a/src/mame/drivers/indy_indigo2.cpp b/src/mame/drivers/indy_indigo2.cpp index ca6b520801f..3faea787328 100644 --- a/src/mame/drivers/indy_indigo2.cpp +++ b/src/mame/drivers/indy_indigo2.cpp @@ -64,8 +64,8 @@ #include "machine/hpc3.h" #include "machine/ioc2.h" #include "machine/nscsi_bus.h" -#include "machine/nscsi_cd.h" -#include "machine/nscsi_hd.h" +#include "bus/nscsi/cd.h" +#include "bus/nscsi/hd.h" #include "machine/sgi.h" #include "machine/vino.h" #include "machine/wd33c9x.h" diff --git a/src/mame/drivers/istellar.cpp b/src/mame/drivers/istellar.cpp index f31809d82d2..a9d4bd4166d 100644 --- a/src/mame/drivers/istellar.cpp +++ b/src/mame/drivers/istellar.cpp @@ -77,24 +77,21 @@ private: /* VIDEO GOODS */ uint32_t istellar_state::screen_update_istellar(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) { - int x, y; - /* clear */ bitmap.fill(0, cliprect); /* Draw tiles */ - for (y = 0; y < 32; y++) + for (int y = 0; y < 32; y++) { - for (x = 0; x < 32; x++) + for (int x = 0; x < 32; x++) { - int tile = m_tile_ram[x+y*32]; - int attr = m_tile_control_ram[x+y*32]; + int tile = m_tile_ram[x + y * 32]; + int attr = m_tile_control_ram[x + y * 32]; - m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,tile,attr & 0x0f,0, 0, x*8, y*8, 0); + m_gfxdecode->gfx(0)->transpen(bitmap, cliprect, tile, attr & 0x0f, 0, 0, x * 8, y * 8, 0); } } - /* Draw sprites */ return 0; @@ -298,7 +295,6 @@ void istellar_state::istellar(machine_config &config) PIONEER_LDV1000(config, m_laserdisc, 0); m_laserdisc->set_overlay(256, 256, FUNC(istellar_state::screen_update_istellar)); - m_laserdisc->set_overlay_palette(m_palette); m_laserdisc->add_route(0, "lspeaker", 1.0); m_laserdisc->add_route(1, "rspeaker", 1.0); diff --git a/src/mame/drivers/itech32.cpp b/src/mame/drivers/itech32.cpp index 23dfe433d47..d11c61cf430 100644 --- a/src/mame/drivers/itech32.cpp +++ b/src/mame/drivers/itech32.cpp @@ -357,6 +357,7 @@ Notes: #include "cpu/m68000/m68000.h" #include "cpu/m6809/m6809.h" #include "cpu/tms32031/tms32031.h" +#include "machine/input_merger.h" #include "machine/nvram.h" #include "machine/watchdog.h" @@ -425,9 +426,7 @@ void itech32_state::machine_start() save_item(NAME(m_xint_state)); save_item(NAME(m_qint_state)); save_item(NAME(m_irq_base)); - save_item(NAME(m_sound_data)); save_item(NAME(m_sound_return)); - save_item(NAME(m_sound_int_state)); save_item(NAME(m_special_result)); save_item(NAME(m_p1_effx)); save_item(NAME(m_p1_effy)); @@ -443,9 +442,7 @@ void itech32_state::machine_start() void itech32_state::machine_reset() { m_vint_state = m_xint_state = m_qint_state = 0; - m_sound_data = 0; m_sound_return = 0; - m_sound_int_state = 0; } void drivedge_state::machine_start() @@ -493,7 +490,7 @@ void itech32_state::color_w(u8 data) CUSTOM_INPUT_MEMBER(itech32_state::special_port_r) { - if (m_sound_int_state) + if (m_soundlatch->pending_r()) m_special_result ^= 1; return m_special_result; @@ -670,17 +667,13 @@ void itech32_state::sound_bank_w(u8 data) * *************************************/ -TIMER_CALLBACK_MEMBER(itech32_state::delayed_sound_data_w) -{ - m_sound_data = param; - m_sound_int_state = 1; - m_soundcpu->set_input_line(M6809_IRQ_LINE, ASSERT_LINE); -} - - void itech32_state::sound_data_w(u8 data) { - machine().scheduler().synchronize(timer_expired_delegate(FUNC(itech32_state::delayed_sound_data_w),this), data & 0xff); + // seems hacky, but sound CPU should lose fewer bytes this way + if (m_soundlatch2.found() && m_soundlatch->pending_r()) + m_soundlatch2->write(data); + else + m_soundlatch->write(data); } @@ -690,23 +683,20 @@ u8 itech32_state::sound_return_r() } -u8 itech32_state::sound_data_r() +void itech32_state::sound_return_w(u8 data) { - m_soundcpu->set_input_line(M6809_IRQ_LINE, CLEAR_LINE); - m_sound_int_state = 0; - return m_sound_data; + m_sound_return = data; } -void itech32_state::sound_return_w(u8 data) +u8 itech32_state::sound_data_buffer_r() { - m_sound_return = data; + return m_soundlatch->pending_r() << 7; } -u8 itech32_state::sound_data_buffer_r() +void itech32_state::sound_control_w(u8 data) { - return 0; } @@ -1034,7 +1024,7 @@ void itech32_state::itech020_map(address_map &map) void itech32_state::sound_map(address_map &map) { map(0x0000, 0x0000).w(FUNC(itech32_state::sound_return_w)); - map(0x0400, 0x0400).r(FUNC(itech32_state::sound_data_r)); + map(0x0400, 0x0400).r(m_soundlatch, FUNC(generic_latch_8_device::read)); map(0x0800, 0x083f).mirror(0x80).rw("ensoniq", FUNC(es5506_device::read), FUNC(es5506_device::write)); map(0x0c00, 0x0c00).w(FUNC(itech32_state::sound_bank_w)); map(0x1000, 0x1000).nopw(); /* noisy */ @@ -1048,11 +1038,13 @@ void itech32_state::sound_map(address_map &map) /*------ Rev 2 sound board memory layout ------*/ void itech32_state::sound_020_map(address_map &map) { - map(0x0000, 0x0000).mirror(0x400).r(FUNC(itech32_state::sound_data_r)); + map(0x0000, 0x0000).r(m_soundlatch, FUNC(generic_latch_8_device::read)); + map(0x0400, 0x0400).r(m_soundlatch2, FUNC(generic_latch_8_device::read)); map(0x0800, 0x083f).mirror(0x80).rw("ensoniq", FUNC(es5506_device::read), FUNC(es5506_device::write)); map(0x0c00, 0x0c00).w(FUNC(itech32_state::sound_bank_w)); map(0x1400, 0x1400).w(FUNC(itech32_state::firq_clear_w)); map(0x1800, 0x1800).r(FUNC(itech32_state::sound_data_buffer_r)).nopw(); + map(0x1c00, 0x1c00).w(FUNC(itech32_state::sound_control_w)); map(0x2000, 0x3fff).ram(); map(0x4000, 0x7fff).bankr("soundbank"); map(0x8000, 0xffff).rom(); @@ -1665,6 +1657,8 @@ void itech32_state::base_devices(machine_config &config) MC6809E(config, m_soundcpu, SOUND_CLOCK/8); // EF68B09EP m_soundcpu->set_addrmap(AS_PROGRAM, &itech32_state::sound_map); + GENERIC_LATCH_8(config, m_soundlatch).data_pending_callback().set_inputline(m_soundcpu, INPUT_LINE_IRQ0); + nvram_device &nvram(NVRAM(config, "nvram")); nvram.set_custom_handler(FUNC(itech32_state::nvram_init)); @@ -1726,8 +1720,6 @@ void itech32_state::bloodstm(machine_config &config) void drivedge_state::drivedge(machine_config &config) { - base_devices(config); - /* basic machine hardware */ M68EC020(config, m_maincpu, CPU020_CLOCK); m_maincpu->set_addrmap(AS_PROGRAM, &drivedge_state::main_map); @@ -1738,6 +1730,7 @@ void drivedge_state::drivedge(machine_config &config) TMS32031(config, m_dsp[1], TMS_CLOCK); m_dsp[1]->set_addrmap(AS_PROGRAM, &drivedge_state::tms2_map); + base_devices(config); m_palette->set_format(palette_device::xBGR_888, 32768); via(config); @@ -1760,14 +1753,20 @@ void drivedge_state::drivedge(machine_config &config) void itech32_state::sftm(machine_config &config) { - base_devices(config); - M68EC020(config, m_maincpu, CPU020_CLOCK); m_maincpu->set_addrmap(AS_PROGRAM, &itech32_state::itech020_map); + base_devices(config); + m_soundcpu->set_addrmap(AS_PROGRAM, &itech32_state::sound_020_map); m_soundcpu->set_periodic_int(FUNC(itech32_state::irq1_line_assert), attotime::from_hz(4*60)); + INPUT_MERGER_ANY_HIGH(config, "soundirq").output_handler().set_inputline(m_soundcpu, M6809_IRQ_LINE); + m_soundlatch->data_pending_callback().set("soundirq", FUNC(input_merger_device::in_w<0>)); + + GENERIC_LATCH_8(config, m_soundlatch2); + m_soundlatch2->data_pending_callback().set("soundirq", FUNC(input_merger_device::in_w<1>)); + m_palette->set_format(palette_device::xRGB_888, 32768); } diff --git a/src/mame/drivers/kinst.cpp b/src/mame/drivers/kinst.cpp index aaa86789fed..69b198b2b00 100644 --- a/src/mame/drivers/kinst.cpp +++ b/src/mame/drivers/kinst.cpp @@ -199,7 +199,8 @@ public: m_rombase(*this, "rombase"), m_maincpu(*this, "maincpu"), m_ata(*this, "ata"), - m_dcs(*this, "dcs") + m_dcs(*this, "dcs"), + m_palette(*this, "palette") { } @@ -221,6 +222,7 @@ private: required_device<mips3_device> m_maincpu; required_device<ata_interface_device> m_ata; required_device<dcs_audio_2k_device> m_dcs; + required_device<palette_device> m_palette; uint32_t *m_video_base; const uint8_t *m_control_map; @@ -231,7 +233,7 @@ private: TIMER_IRQ0_STOP }; - uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); INTERRUPT_GEN_MEMBER(irq0_start); DECLARE_READ32_MEMBER(control_r); DECLARE_WRITE32_MEMBER(control_w); @@ -313,13 +315,15 @@ void kinst_state::machine_reset() * *************************************/ -uint32_t kinst_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) +uint32_t kinst_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) { + const pen_t *pen = m_palette->pens(); + /* loop over rows and copy to the destination */ for (int y = cliprect.min_y; y <= cliprect.max_y; y++) { uint32_t *src = &m_video_base[640/4 * y]; - uint16_t *dest = &bitmap.pix16(y, cliprect.min_x); + uint32_t *dest = &bitmap.pix32(y, cliprect.min_x); /* loop over columns */ for (int x = cliprect.min_x; x < cliprect.max_x; x += 2) @@ -327,8 +331,8 @@ uint32_t kinst_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, uint32_t data = *src++; /* store two pixels */ - *dest++ = (data >> 0) & 0x7fff; - *dest++ = (data >> 16) & 0x7fff; + *dest++ = pen[(data >> 0) & 0x7fff]; + *dest++ = pen[(data >> 16) & 0x7fff]; } } return 0; @@ -738,9 +742,8 @@ void kinst_state::kinst(machine_config &config) screen.set_size(320, 240); screen.set_visarea(0, 319, 0, 239); screen.set_screen_update(FUNC(kinst_state::screen_update)); - screen.set_palette("palette"); - PALETTE(config, "palette", palette_device::BGR_555); + PALETTE(config, m_palette, palette_device::BGR_555); /* sound hardware */ DCS_AUDIO_2K(config, m_dcs, 0); diff --git a/src/mame/drivers/konblands.cpp b/src/mame/drivers/konblands.cpp index 6078b275cb5..b7ad79ff59b 100644 --- a/src/mame/drivers/konblands.cpp +++ b/src/mame/drivers/konblands.cpp @@ -45,7 +45,7 @@ public: private: // screen updates - uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); void konblands_palette(palette_device &palette) const; DECLARE_READ8_MEMBER(ldp_r); DECLARE_WRITE8_MEMBER(ldp_w); @@ -102,19 +102,18 @@ void konblands_state::video_start() { } -uint32_t konblands_state::screen_update( screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect ) +uint32_t konblands_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) { gfx_element *gfx = m_gfxdecode->gfx(0); - int y,x; int count = 0; - for (y=0;y<32;y++) + for (int y = 0; y < 32; y++) { - for (x=0;x<64;x++) + for (int x = 0; x < 64; x++) { uint8_t tile = m_vram[count]; - gfx->opaque(bitmap,cliprect,tile,0,0,0,x*8,y*8); + gfx->opaque(bitmap, cliprect, tile, 0, 0, 0, x * 8, y * 8); count++; } @@ -289,7 +288,6 @@ void konblands_state::konblands(machine_config &config) m_laserdisc->command_strobe_callback().set(FUNC(konblands_state::ld_command_strobe_cb)); // TODO: might be different m_laserdisc->set_overlay(512, 256, FUNC(konblands_state::screen_update)); - m_laserdisc->set_overlay_palette("palette"); /* video hardware */ m_laserdisc->add_ntsc_screen(config, "screen"); diff --git a/src/mame/drivers/krz2000.cpp b/src/mame/drivers/krz2000.cpp index 6e622905596..213f93c0369 100644 --- a/src/mame/drivers/krz2000.cpp +++ b/src/mame/drivers/krz2000.cpp @@ -24,8 +24,8 @@ #include "machine/bankdev.h" #include "machine/upd765.h" #include "machine/ncr5380n.h" -#include "machine/nscsi_cd.h" -#include "machine/nscsi_hd.h" +#include "bus/nscsi/cd.h" +#include "bus/nscsi/hd.h" #include "video/t6963c.h" #include "screen.h" #include "emupal.h" diff --git a/src/mame/drivers/lb186.cpp b/src/mame/drivers/lb186.cpp index 92ddb98e54e..b2488e4b979 100644 --- a/src/mame/drivers/lb186.cpp +++ b/src/mame/drivers/lb186.cpp @@ -5,8 +5,8 @@ #include "cpu/i86/i186.h" #include "machine/wd_fdc.h" #include "machine/mc68681.h" +#include "bus/nscsi/hd.h" #include "bus/rs232/rs232.h" -#include "machine/nscsi_hd.h" #include "machine/ncr5380n.h" #include "imagedev/floppy.h" #include "formats/pc_dsk.h" diff --git a/src/mame/drivers/lgp.cpp b/src/mame/drivers/lgp.cpp index f2f4fc4d76d..76b21aa9428 100644 --- a/src/mame/drivers/lgp.cpp +++ b/src/mame/drivers/lgp.cpp @@ -124,8 +124,6 @@ private: /* VIDEO GOODS */ uint32_t lgp_state::screen_update_lgp(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) { - int charx, chary; - /* make color 0 transparent */ m_palette->set_pen_color(0, rgb_t(0,0,0,0)); @@ -133,18 +131,18 @@ uint32_t lgp_state::screen_update_lgp(screen_device &screen, bitmap_rgb32 &bitma bitmap.fill(0, cliprect); /* Draw tiles */ - for (charx = 0; charx < 32; charx++) + for (int charx = 0; charx < 32; charx++) { - for (chary = 0; chary < 32; chary++) + for (int chary = 0; chary < 32; chary++) { - int current_screen_character = (chary*32) + charx; + int current_screen_character = (chary * 32) + charx; /* Somewhere there's a flag that offsets the tilemap by 0x100*x */ /* Palette is likely set somewhere as well (tile_control_ram?) */ - m_gfxdecode->gfx(0)->transpen(bitmap,cliprect, + m_gfxdecode->gfx(0)->transpen(bitmap, cliprect, m_tile_ram[current_screen_character], 0, - 0, 0, charx*8, chary*8, 0); + 0, 0, charx * 8, chary * 8, 0); } } @@ -426,7 +424,6 @@ void lgp_state::lgp(machine_config &config) PIONEER_LDV1000(config, m_laserdisc, 0); m_laserdisc->command_strobe_callback().set(FUNC(lgp_state::ld_command_strobe_cb)); m_laserdisc->set_overlay(256, 256, FUNC(lgp_state::screen_update_lgp)); - m_laserdisc->set_overlay_palette(m_palette); m_laserdisc->add_route(0, "lspeaker", 1.0); m_laserdisc->add_route(1, "rspeaker", 1.0); diff --git a/src/mame/drivers/mephisto.cpp b/src/mame/drivers/mephisto.cpp index d1c142e3194..e86eef1fae2 100644 --- a/src/mame/drivers/mephisto.cpp +++ b/src/mame/drivers/mephisto.cpp @@ -70,7 +70,9 @@ Mephisto 4 Turbo Kit 18mhz - (mm4tk) #include "sound/beep.h" #include "speaker.h" -#include "mephisto.lh" +// internal artwork +#include "mephisto_mm2.lh" + class mephisto_state : public driver_device { @@ -90,8 +92,6 @@ public: void mm2(machine_config &config); void mephisto(machine_config &config); - void init_mephisto(); - private: required_device<m65c02_device> m_maincpu; required_device<hc259_device> m_outlatch; @@ -197,42 +197,41 @@ void mephisto_state::mm2_mem(address_map &map) map(0x8000, 0xffff).rom(); } -INPUT_PORTS_EXTERN( chessboard ); static INPUT_PORTS_START( mephisto ) PORT_START("KEY1_0") //Port $2c00 - PORT_BIT(0x080, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("CLEAR") PORT_CODE(KEYCODE_F1) + PORT_BIT(0x080, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("CLEAR") PORT_CODE(KEYCODE_DEL) PORT_CODE(KEYCODE_BACKSPACE) PORT_START("KEY1_1") //Port $2c01 - PORT_BIT(0x080, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("POS") PORT_CODE(KEYCODE_F2) + PORT_BIT(0x080, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("POS") PORT_CODE(KEYCODE_O) PORT_START("KEY1_2") //Port $2c02 - PORT_BIT(0x080, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("MEM") PORT_CODE(KEYCODE_F3) + PORT_BIT(0x080, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("MEM") PORT_CODE(KEYCODE_M) PORT_START("KEY1_3") //Port $2c03 - PORT_BIT(0x080, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("INFO") PORT_CODE(KEYCODE_F4) + PORT_BIT(0x080, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("INFO") PORT_CODE(KEYCODE_I) PORT_START("KEY1_4") //Port $2c04 - PORT_BIT(0x080, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("LEV") PORT_CODE(KEYCODE_F5) + PORT_BIT(0x080, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("LEV") PORT_CODE(KEYCODE_L) PORT_START("KEY1_5") //Port $2c05 - PORT_BIT(0x080, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("ENT") PORT_CODE(KEYCODE_ENTER) + PORT_BIT(0x080, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("ENT") PORT_CODE(KEYCODE_ENTER) PORT_CODE(KEYCODE_ENTER_PAD) PORT_START("KEY1_6") //Port $2c06 - PORT_BIT(0x080, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("0") PORT_CODE(KEYCODE_0) + PORT_BIT(0x080, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("0") PORT_CODE(KEYCODE_0) PORT_CODE(KEYCODE_0_PAD) PORT_START("KEY1_7") //Port $2c07 - PORT_BIT(0x080, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("9") PORT_CODE(KEYCODE_9) + PORT_BIT(0x080, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("9") PORT_CODE(KEYCODE_9) PORT_CODE(KEYCODE_9_PAD) PORT_START("KEY2_0") //Port $2c08 - PORT_BIT(0x080, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("E 5") PORT_CODE(KEYCODE_E) PORT_CODE(KEYCODE_5) + PORT_BIT(0x080, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("E 5") PORT_CODE(KEYCODE_E) PORT_CODE(KEYCODE_5) PORT_CODE(KEYCODE_5_PAD) PORT_START("KEY2_1") //Port $2c09 - PORT_BIT(0x080, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("F 6") PORT_CODE(KEYCODE_F) PORT_CODE(KEYCODE_6) + PORT_BIT(0x080, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("F 6") PORT_CODE(KEYCODE_F) PORT_CODE(KEYCODE_6) PORT_CODE(KEYCODE_6_PAD) PORT_START("KEY2_2") //Port $2c0a - PORT_BIT(0x080, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("G 7") PORT_CODE(KEYCODE_G) PORT_CODE(KEYCODE_7) + PORT_BIT(0x080, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("G 7") PORT_CODE(KEYCODE_G) PORT_CODE(KEYCODE_7) PORT_CODE(KEYCODE_7_PAD) PORT_START("KEY2_3") //Port $2c0b - PORT_BIT(0x080, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("A 1") PORT_CODE(KEYCODE_A) PORT_CODE(KEYCODE_1) + PORT_BIT(0x080, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("A 1") PORT_CODE(KEYCODE_A) PORT_CODE(KEYCODE_1) PORT_CODE(KEYCODE_1_PAD) PORT_START("KEY2_4") //Port $2c0c - PORT_BIT(0x080, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("H 8") PORT_CODE(KEYCODE_H) PORT_CODE(KEYCODE_8) + PORT_BIT(0x080, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("H 8") PORT_CODE(KEYCODE_H) PORT_CODE(KEYCODE_8) PORT_CODE(KEYCODE_8_PAD) PORT_START("KEY2_5") //Port $2c0d - PORT_BIT(0x080, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("B 2") PORT_CODE(KEYCODE_B) PORT_CODE(KEYCODE_2) + PORT_BIT(0x080, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("B 2") PORT_CODE(KEYCODE_B) PORT_CODE(KEYCODE_2) PORT_CODE(KEYCODE_2_PAD) PORT_START("KEY2_6") //Port $2c0e - PORT_BIT(0x080, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("C 3") PORT_CODE(KEYCODE_C) PORT_CODE(KEYCODE_3) + PORT_BIT(0x080, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("C 3") PORT_CODE(KEYCODE_C) PORT_CODE(KEYCODE_3) PORT_CODE(KEYCODE_3_PAD) PORT_START("KEY2_7") //Port $2c0f - PORT_BIT(0x080, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("D 4") PORT_CODE(KEYCODE_D) PORT_CODE(KEYCODE_4) + PORT_BIT(0x080, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("D 4") PORT_CODE(KEYCODE_D) PORT_CODE(KEYCODE_4) PORT_CODE(KEYCODE_4_PAD) INPUT_PORTS_END @@ -258,39 +257,27 @@ TIMER_DEVICE_CALLBACK_MEMBER(mephisto_state::update_irq)//only mm2 void mephisto_state::machine_start() { m_digits.resolve(); + + save_item(NAME(m_lcd_shift_counter)); + save_item(NAME(m_led7)); + save_item(NAME(m_allowNMI)); + m_lcd_shift_counter = 3; m_allowNMI = 1; } MACHINE_START_MEMBER(mephisto_state,mm2) { - m_digits.resolve(); - m_lcd_shift_counter = 3; + mephisto_state::machine_start(); + m_led7=0xff; + m_allowNMI = 0; } - void mephisto_state::machine_reset() { m_lcd_shift_counter = 3; m_allowNMI = 1; - -/* adjust artwork depending on current emulation*/ - - if (!strcmp(machine().system().name,"mm2") ) - output().set_value("MM",1); - else if (!strcmp(machine().system().name,"mm4") ) - output().set_value("MM",2); - else if (!strcmp(machine().system().name,"mm4tk") ) - output().set_value("MM",5); - else if (!strcmp(machine().system().name,"mm5tk") ) - output().set_value("MM",5); - else if (!strcmp(machine().system().name,"mm5") ) - output().set_value("MM",3); - else if (!strcmp(machine().system().name,"mm50") ) - output().set_value("MM",3); - else if (!strcmp(machine().system().name,"rebel5") ) - output().set_value("MM",4); } @@ -316,8 +303,8 @@ void mephisto_state::mephisto(machine_config &config) TIMER(config, "nmi_timer").configure_periodic(FUNC(mephisto_state::update_nmi), attotime::from_hz(600)); - MEPHISTO_SENSORS_BOARD(config, "board", 0); - config.set_default_layout(layout_mephisto); + MEPHISTO_SENSORS_BOARD(config, "board"); + config.set_default_layout(layout_mephisto_mm2); } void mephisto_state::rebel5(machine_config &config) @@ -404,22 +391,17 @@ ROM_START(mm50) ROM_END -void mephisto_state::init_mephisto() -{ - m_lcd_shift_counter = 3; -} - /*************************************************************************** Game driver(s) ***************************************************************************/ -/* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME, FLAGS */ -CONS( 1984, mm2, mm4, 0, mm2, mephisto, mephisto_state, init_mephisto, "Hegener & Glaser", "Mephisto MM II", MACHINE_NOT_WORKING|MACHINE_REQUIRES_ARTWORK | MACHINE_CLICKABLE_ARTWORK ) -CONS( 1986, rebel5, mm4, 0, rebel5, mephisto, mephisto_state, init_mephisto, "Hegener & Glaser", "Mephisto Rebell 5.0", MACHINE_NOT_WORKING|MACHINE_REQUIRES_ARTWORK | MACHINE_CLICKABLE_ARTWORK ) -CONS( 1987, mm4, 0, 0, mephisto, mephisto, mephisto_state, init_mephisto, "Hegener & Glaser", "Mephisto MM IV", MACHINE_NOT_WORKING|MACHINE_REQUIRES_ARTWORK | MACHINE_CLICKABLE_ARTWORK ) -CONS( 1987, mm4tk, mm4, 0, mm4tk, mephisto, mephisto_state, init_mephisto, "Hegener & Glaser", "Mephisto MM IV (TurboKit + HG440)", MACHINE_NOT_WORKING|MACHINE_REQUIRES_ARTWORK | MACHINE_CLICKABLE_ARTWORK ) -CONS( 1990, mm5, mm4, 0, mephisto, mephisto, mephisto_state, init_mephisto, "Hegener & Glaser", "Mephisto MM V (V5.1)", MACHINE_NOT_WORKING|MACHINE_REQUIRES_ARTWORK | MACHINE_CLICKABLE_ARTWORK ) -CONS( 1990, mm50, mm4, 0, mephisto, mephisto, mephisto_state, init_mephisto, "Hegener & Glaser", "Mephisto MM V (V5.0)", MACHINE_NOT_WORKING|MACHINE_REQUIRES_ARTWORK | MACHINE_CLICKABLE_ARTWORK ) -CONS( 1990, mm5tk, mm4, 0, mm4tk, mephisto, mephisto_state, init_mephisto, "Hegener & Glaser", "Mephisto MM V (V5.1) (TurboKit + HG550)", MACHINE_NOT_WORKING|MACHINE_REQUIRES_ARTWORK | MACHINE_CLICKABLE_ARTWORK ) +/* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY, FULLNAME, FLAGS */ +CONS( 1984, mm2, mm4, 0, mm2, mephisto, mephisto_state, empty_init, "Hegener & Glaser", "Mephisto MM II", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) +CONS( 1986, rebel5, mm4, 0, rebel5, mephisto, mephisto_state, empty_init, "Hegener & Glaser", "Mephisto Rebell 5.0", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) +CONS( 1987, mm4, 0, 0, mephisto, mephisto, mephisto_state, empty_init, "Hegener & Glaser", "Mephisto MM IV", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) +CONS( 1987, mm4tk, mm4, 0, mm4tk, mephisto, mephisto_state, empty_init, "Hegener & Glaser", "Mephisto MM IV (TurboKit + HG440)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) +CONS( 1990, mm5, mm4, 0, mephisto, mephisto, mephisto_state, empty_init, "Hegener & Glaser", "Mephisto MM V (V5.1)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) +CONS( 1990, mm50, mm4, 0, mephisto, mephisto, mephisto_state, empty_init, "Hegener & Glaser", "Mephisto MM V (V5.0)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) +CONS( 1990, mm5tk, mm4, 0, mm4tk, mephisto, mephisto_state, empty_init, "Hegener & Glaser", "Mephisto MM V (V5.1) (TurboKit + HG550)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) diff --git a/src/mame/drivers/mephisto_montec.cpp b/src/mame/drivers/mephisto_montec.cpp index eec48437d00..57b232541ad 100644 --- a/src/mame/drivers/mephisto_montec.cpp +++ b/src/mame/drivers/mephisto_montec.cpp @@ -470,7 +470,8 @@ void mephisto_montec_state::montec(machine_config &config) SPEAKER(config, "mono").front_center(); BEEP(config, m_beeper, 3250).add_route(ALL_OUTPUTS, "mono", 1.0); - MEPHISTO_SENSORS_BOARD(config, m_board, 0); + MEPHISTO_SENSORS_BOARD(config, m_board); + m_board->set_delay(attotime::from_msec(300)); config.set_default_layout(layout_mephisto_montec); } @@ -479,6 +480,7 @@ void mephisto_montec_state::monteciv(machine_config &config) { montec(config); m_maincpu->set_clock(XTAL(8'000'000)); + m_board->set_delay(attotime::from_msec(150)); } void mephisto_montec_state::megaiv(machine_config &config) @@ -488,7 +490,8 @@ void mephisto_montec_state::megaiv(machine_config &config) m_maincpu->set_addrmap(AS_PROGRAM, &mephisto_montec_state::megaiv_mem); m_maincpu->set_periodic_int(FUNC(mephisto_montec_state::nmi_line_pulse), attotime::from_hz(XTAL(4'915'200) / (1 << 13))); - MEPHISTO_BUTTONS_BOARD(config.replace(), m_board, 0); + MEPHISTO_BUTTONS_BOARD(config.replace(), m_board); + m_board->set_delay(attotime::from_msec(250)); m_board->set_disable_leds(true); config.set_default_layout(layout_mephisto_megaiv); } diff --git a/src/mame/drivers/mindset.cpp b/src/mame/drivers/mindset.cpp index 9740400eb0b..ff0feb4772a 100644 --- a/src/mame/drivers/mindset.cpp +++ b/src/mame/drivers/mindset.cpp @@ -11,6 +11,8 @@ #include "screen.h" #include "speaker.h" +#include "mindset.lh" + class mindset_state: public driver_device { public: @@ -28,6 +30,10 @@ protected: required_device<floppy_connector> m_fdco[2]; required_shared_ptr<u16> m_vram; required_ioport_array<11> m_kbd_row; + output_finder<2> m_floppy_leds; + output_finder<> m_red_led; + output_finder<> m_yellow_led; + output_finder<> m_green_led; memory_access_cache<1, 0, ENDIANNESS_LITTLE> *m_gcos; @@ -36,7 +42,10 @@ protected: bool m_genlock[16]; u16 m_dispctrl, m_screenpos, m_intpos, m_intaddr, m_fdc_dma_count; u8 m_kbd_p1, m_kbd_p2, m_borderidx; - bool m_fdc_intext, m_fdc_int; + bool m_fdc_intext, m_fdc_int, m_fdc_drq, m_trap_int, m_trap_drq; + + u16 m_trap_data[8]; + u32 m_trap_pos, m_trap_len; static u16 gco_blend_0(u16, u16); static u16 gco_blend_1(u16, u16); @@ -86,6 +95,13 @@ protected: u8 fdc_dma_r(); void fdc_dma_w(u8 data); + u16 trap_dma_r(offs_t, u16); + u16 trap_r(offs_t offset); + void trap_w(offs_t offset, u16 data); + u16 trap_clear_interrupt(); + + template<int floppy> void floppy_led_cb(floppy_image_device *, int state); + u16 keyscan(); u32 screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); @@ -111,20 +127,64 @@ mindset_state::mindset_state(const machine_config &mconfig, device_type type, co m_fdc(*this, "fdc"), m_fdco{{*this, "fdc:0"}, {*this, "fdc:1"}}, m_vram(*this, "vram"), - m_kbd_row(*this, "K%02u", 0U) + m_kbd_row(*this, "K%02u", 0U), + m_floppy_leds(*this, "drive%u_led", 0U), + m_red_led(*this, "red_led"), + m_yellow_led(*this, "yellow_led"), + m_green_led(*this, "green_led") { } +template<int floppy> void mindset_state::floppy_led_cb(floppy_image_device *, int state) +{ + m_floppy_leds[floppy] = state; +} + void mindset_state::machine_start() { + m_floppy_leds.resolve(); + m_red_led.resolve(); + m_yellow_led.resolve(); + m_green_led.resolve(); + m_gcos = m_maincpu->space(AS_PROGRAM).cache<1, 0, ENDIANNESS_LITTLE>(); for(int i=0; i<2; i++) m_floppy[i] = m_fdco[i]->get_device(); + + if(m_floppy[0]) + m_floppy[0]->setup_led_cb(floppy_image_device::led_cb(&mindset_state::floppy_led_cb<0>, this)); + if(m_floppy[1]) + m_floppy[1]->setup_led_cb(floppy_image_device::led_cb(&mindset_state::floppy_led_cb<1>, this)); + + save_item(NAME(m_fdc_intext)); + save_item(NAME(m_fdc_int)); + save_item(NAME(m_fdc_drq)); + save_item(NAME(m_trap_int)); + save_item(NAME(m_trap_drq)); + save_item(NAME(m_trap_pos)); + save_item(NAME(m_trap_len)); + save_item(NAME(m_trap_data)); + save_item(NAME(m_palette)); + save_item(NAME(m_genlock)); + save_item(NAME(m_dispctrl)); + save_item(NAME(m_screenpos)); + save_item(NAME(m_intpos)); + save_item(NAME(m_intaddr)); + save_item(NAME(m_fdc_dma_count)); + save_item(NAME(m_kbd_p1)); + save_item(NAME(m_kbd_p2)); + save_item(NAME(m_borderidx)); } void mindset_state::machine_reset() { - m_fdc_intext = m_fdc_int = false; + m_fdc_intext = m_fdc_int = m_trap_int = m_fdc_drq = m_trap_drq = false; + m_trap_pos = m_trap_len = 0; + memset(m_trap_data, 0, sizeof(m_trap_data)); + memset(m_palette, 0, sizeof(m_palette)); + memset(m_genlock, 0, sizeof(m_genlock)); + m_dispctrl = m_screenpos = m_intpos = m_intaddr = m_fdc_dma_count = 0; + m_kbd_p1 = m_kbd_p2 = m_borderidx = 0; } int mindset_state::sys_t0_r() @@ -160,6 +220,10 @@ void mindset_state::sys_p1_w(u8 data) void mindset_state::sys_p2_w(u8 data) { m_maincpu->int3_w(!(data & 0x80)); + m_red_led = !BIT(data, 2); + m_yellow_led = !BIT(data, 1); + m_green_led = !BIT(data, 0); + // logerror("power %s\n", data & 0x40 ? // logerror("SYS: write p2 %02x\n", data); } @@ -202,6 +266,40 @@ u16 mindset_state::keyscan() for(unsigned int i=0; i<11; i++) if(!(src & (1 << i))) res &= m_kbd_row[i]->read(); + if(!(src & 0x2000)) { + switch((src >> 1) & 3) { + case 0: + res &= 0xc0; + break; + case 1: + res &= 0xc0; + break; + case 2: + res &= 0xc0; + break; + case 3: + res &= 0xc0; + break; + } + } + if(!(src & 0x8000)) { + switch((src >> 1) & 3) { + case 0: + res &= 0xc0; + break; + case 1: + res &= 0xc0; + break; + case 2: + res &= 0xc0; + break; + case 3: + res &= 0xc0; + break; + } + } + + // logerror("scan src=%04x %04x %d%d/%d(%03x)\n", src, 0xffff ^ src, (src >> 15) & 1, (src >> 13) & 1, (src >> 11) & 3, m_kbdcpu->pc()); return res; } @@ -222,9 +320,22 @@ void mindset_state::dispctrl_w(u16 data) u16 mindset_state::dispreg_r() { - // a..5 needed to pass the display test - // 0080 needed to allow uploading the palette - return 0xa085; + switch((m_dispctrl >> 4) & 7) { + case 1: { // Read vram at interrupt position + u16 v = m_vram[m_intaddr >> 1]; + if(m_intaddr & 1) + v >>= 8; + return sw(v << 4); + break; + } + case 5: { + // wants 0080 set to be able to upload the palette + return 0x0080; + } + } + + logerror("dispreg read %x\n", (m_dispctrl >> 4) & 7); + return 0; } void mindset_state::dispreg_w(u16 data) @@ -235,7 +346,7 @@ void mindset_state::dispreg_w(u16 data) logerror("screen position (%d, %d)\n", (data >> 8) & 15, (data >> 12) & 15); break; case 1: - m_borderidx = data & 0xf; + m_borderidx = (data >> 8) & 0xf; logerror("border color %x\n", m_borderidx); break; case 2: { @@ -243,19 +354,26 @@ void mindset_state::dispreg_w(u16 data) int intx = (159 - ((m_intpos >> 8) & 255)) * ((m_dispctrl & 0x100) ? 2 : 4); int inty = 199 - (m_intpos & 255); m_intaddr = 0; - int mode_type = (m_dispctrl & 0x6000) >> 13; + bool bank = m_dispctrl & 0x4000; + bool ibm_mode = m_dispctrl & 0x2000; + // bool interleave = m_dispctrl & 0x0800; int pixels_per_byte_order = (m_dispctrl & 0x0600) >> 9; bool large_pixels = m_dispctrl & 0x0100; - switch(mode_type) { - case 0: - m_intaddr = inty * (160 >> (pixels_per_byte_order - large_pixels + 1)) + (intx >> (pixels_per_byte_order - large_pixels + 2)); - break; - case 1: + if(ibm_mode) m_intaddr = (inty & 1) * 0x2000 + (inty >> 1) * 80 + (intx >> (3 - large_pixels)) ; - break; + else { + int stepy = 0; + if(pixels_per_byte_order == 2) stepy = 40; + if(pixels_per_byte_order == 1) stepy = 80; + if(pixels_per_byte_order == 0) stepy = 160; + + m_intaddr = inty * stepy + (intx >> (pixels_per_byte_order - large_pixels + 2)); } - logerror("interrupt position (%3d, %3d) %04x.%04x = %04x (%d,%d)\n", intx, inty, m_dispctrl, m_intpos, m_intaddr, pixels_per_byte_order, large_pixels); + if(bank) + m_intaddr += 16000; + + logerror("interrupt position (%3d, %3d) ramdac address %04x\n", intx, inty, m_intaddr); break; } case 4: { @@ -284,7 +402,7 @@ void mindset_state::dispreg_w(u16 data) u32 mindset_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) { // Temporary gross hack - if(cliprect.max_y != 399) + if(cliprect.max_y != 479) return 0; const u16 *bank = m_dispctrl & 0x4000 ? m_vram + 8000 : m_vram; bool ibm_mode = m_dispctrl & 0x2000; @@ -292,6 +410,12 @@ u32 mindset_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, co int pixels_per_byte_order = (m_dispctrl & 0x0600) >> 9; bool large_pixels = m_dispctrl & 0x0100; + bitmap.fill(m_palette[m_borderidx]); + + int dx = ((m_screenpos >> 8) & 15) * (751 - 640) / 15; + int dy = ((m_screenpos >> 12) & 15) * (480 - 400) / 15; + + if(ibm_mode) { if(large_pixels) { if(!interleave) { @@ -302,7 +426,7 @@ u32 mindset_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, co for(u32 yy=0; yy<2; yy++) { const u16 *src = bank + 4096*yy; for(u32 y=yy; y<200; y+=2) { - u32 *dest = &bitmap.pix32(2*y+1); + u32 *dest = &bitmap.pix32(2*y+field+dy, dx); for(u32 x=0; x<320; x+=8) { u16 sv = *src++; *dest++ = m_palette[palind[(sv >> 6) & 3]]; @@ -340,7 +464,7 @@ u32 mindset_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, co for(int field=0; field<2; field++) { const u16 *src = bank; for(u32 y=0; y<200; y++) { - u32 *dest = &bitmap.pix32(2*y+field); + u32 *dest = &bitmap.pix32(2*y+field+dy, dx); for(u32 x=0; x<320; x+=4) { u16 sv = *src++; *dest++ = m_palette[(sv >> 4) & 15]; @@ -361,7 +485,7 @@ u32 mindset_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, co for(int field=0; field<2; field++) { const u16 *src = bank; for(u32 y=0; y<200; y++) { - u32 *dest = &bitmap.pix32(2*y+field); + u32 *dest = &bitmap.pix32(2*y+field+dy, dx); for(u32 x=0; x<320; x+=8) { u16 sv = *src++; *dest++ = m_palette[palind[(sv >> 6) & 3]]; @@ -390,7 +514,7 @@ u32 mindset_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, co for(int field=0; field<2; field++) { const u16 *src = bank; for(u32 y=0; y<200; y++) { - u32 *dest = &bitmap.pix32(2*y+field); + u32 *dest = &bitmap.pix32(2*y+field+dy, dx); for(u32 x=0; x<320; x+=16) { u16 sv = *src++; *dest++ = m_palette[palind[(sv >> 7) & 1]]; @@ -441,7 +565,7 @@ u32 mindset_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, co m_palette[1] = 0xffffff; const u16 *src = bank; for(u32 y=0; y<200; y++) { - u32 *dest = &bitmap.pix32(2*y+field); + u32 *dest = &bitmap.pix32(2*y+field+dy, dx); for(u32 x=0; x<640; x+=8) { u16 sv = *src++; *dest++ = m_palette[palind[(sv >> 6) & 3]]; @@ -462,7 +586,7 @@ u32 mindset_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, co for(int field=0; field<2; field++) { const u16 *src = bank; for(u32 y=0; y<200; y++) { - u32 *dest = &bitmap.pix32(2*y+field); + u32 *dest = &bitmap.pix32(2*y+field+dy, dx); for(u32 x=0; x<640; x+=16) { u16 sv = *src++; *dest++ = m_palette[palind[(sv >> 7) & 1]]; @@ -583,10 +707,11 @@ void mindset_state::blit(u16 packet_seg, u16 packet_adr) // x = go right to left (unimplemented) // f = fast (no idea what it means) // n = invert collision flag (unimplemented) - // p = pattern fill (semi-implemented, used by fill_dest_buffer) + // p = pattern fill (used by fill_dest_buffer) // i/f = increment source / don't (used by blt_copy_word) if(mode & 0x200) { + // pattern fill u16 src = m_gcos->read_word((src_seg << 4) + src_adr); for(u16 w=0; w != width/2; w++) { m_gcos->write_word((dst_seg << 4) + dst_adr, src); @@ -596,6 +721,7 @@ void mindset_state::blit(u16 packet_seg, u16 packet_adr) } else { auto blend = gco_blend[(mode >> 2) & 7]; + // Need to rotate rmask depending on the shifts too u16 awmask = ((wmask << 16) | wmask) >> (15 - dst_sft); u16 swmask, mwmask, ewmask; if(dst_sft >= width) { @@ -685,7 +811,7 @@ void mindset_state::gco_w(u16) u16 packet_adr = sw(m_gcos->read_word(0xbfd78)); u16 global_mode = sw(m_gcos->read_word(0xbfd76)); - if(1) + if(0) logerror("GCO: start %04x:%04x mode %04x (%05x)\n", packet_seg, packet_adr, global_mode, m_maincpu->pc()); switch(global_mode) { @@ -715,13 +841,13 @@ void mindset_state::fdc_int_w(int state) if(!m_fdc_intext && state) m_fdc_int = true; m_fdc_intext = state; - m_maincpu->int0_w(m_fdc_int); + m_maincpu->int0_w(m_fdc_int || m_trap_int); } u16 mindset_state::fdc_clear_interrupt() { m_fdc_int = false; - m_maincpu->int0_w(m_fdc_int); + m_maincpu->int0_w(m_fdc_int || m_trap_int); return 0x0000; } @@ -752,6 +878,48 @@ void mindset_state::fdc_dma_w(u8 data) m_fdc_dma_count--; } +u16 mindset_state::trap_clear_interrupt() +{ + m_trap_int = false; + m_maincpu->int0_w(m_fdc_int || m_trap_int); + return 0x0000; +} + +u16 mindset_state::trap_r(offs_t offset) +{ + // machine().debug_break(); + logerror("trap_r %04x\n", offset << 1); + m_trap_data[m_trap_len++] = (offset << 1) | 0x8000; + m_trap_data[m_trap_len++] = 0; + m_trap_drq = true; + m_maincpu->drq1_w(m_fdc_drq || m_trap_drq); + return 0; +} + +void mindset_state::trap_w(offs_t offset, u16 data) +{ + // machine().debug_break(); + logerror("trap_w %04x, %04x\n", offset << 1, data); + m_trap_data[m_trap_len++] = offset << 1; + m_trap_data[m_trap_len++] = data; + m_trap_drq = true; + m_maincpu->drq1_w(m_fdc_drq || m_trap_drq); +} + +u16 mindset_state::trap_dma_r(offs_t, u16 mem_mask) +{ + u16 res = m_trap_pos < m_trap_len ? m_trap_data[m_trap_pos++] : 0; + logerror("trap dma %04x @ %04x\n", res, mem_mask); + if(m_trap_pos >= m_trap_len) { + m_trap_drq = false; + m_trap_int = true; + m_maincpu->drq1_w(m_fdc_drq || m_trap_drq); + m_maincpu->int0_w(m_fdc_int || m_trap_int); + m_trap_pos = m_trap_len = 0; + } + return res; +} + void mindset_state::maincpu_mem(address_map &map) { map(0x00000, 0x3ffff).ram(); @@ -761,6 +929,10 @@ void mindset_state::maincpu_mem(address_map &map) void mindset_state::maincpu_io(address_map &map) { + map(0x0000, 0x7fff).rw(FUNC(mindset_state::trap_r), FUNC(mindset_state::trap_w)); + + map(0x8040, 0x8041).r(FUNC(mindset_state::trap_dma_r)); + map(0x8048, 0x8049).r(FUNC(mindset_state::trap_clear_interrupt)); map(0x8050, 0x8050).w(FUNC(mindset_state::fdc_ctrl_w)); map(0x8054, 0x8054).rw(FUNC(mindset_state::fdc_dma_r), FUNC(mindset_state::fdc_dma_w)); map(0x8058, 0x8059).w(FUNC(mindset_state::fdc_dma_count_w)); @@ -772,7 +944,7 @@ void mindset_state::maincpu_io(address_map &map) map(0x80c0, 0x80c0).lr8("id3f", []() -> u8 { return 0x3f; }); // serial type 1, maybe? map(0x8100, 0x8100).lr8("id5f", []() -> u8 { return 0x5f; }); // serial type 2 map(0x8140, 0x8140).lr8("id70", []() -> u8 { return 0x70; }); // parallel printer, init writes 0x82 at +6 - map(0x8180, 0x8180).lr8("id73", []() -> u8 { return 0x73; }); // serial type 3 + map(0x8180, 0x8180).lr8("rs232-id", []() -> u8 { return 0x73; }); // rs232 map(0x8280, 0x8283).rw(m_syscpu, FUNC(i8042_device::upi41_master_r), FUNC(i8042_device::upi41_master_w)).umask16(0x00ff); map(0x82a0, 0x82a3).rw(m_soundcpu, FUNC(i8042_device::upi41_master_r), FUNC(i8042_device::upi41_master_w)).umask16(0x00ff); @@ -789,6 +961,7 @@ static void pc_dd_floppies(device_slot_interface &device) void mindset_state::mindset(machine_config &config) { config.m_perfect_cpu_quantum = ":syscpu"; + config.set_default_layout(layout_mindset); I80186(config, m_maincpu, 12_MHz_XTAL/2); m_maincpu->set_addrmap(AS_PROGRAM, &mindset_state::maincpu_mem); @@ -813,19 +986,21 @@ void mindset_state::mindset(machine_config &config) m_kbdcpu->t1_in_cb().set(FUNC(mindset_state::kbd_t1_r)); // Should be NTSC actually... we'll see + // Pretty sure the pixel clock is the 14.x one, the 12MHz one would only allow 630 pixels + SCREEN(config, m_screen, SCREEN_TYPE_RASTER); m_screen->set_refresh_hz(60); m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(100)); - m_screen->set_size(640, 400); - m_screen->set_visarea(0, 639, 0, 399); + m_screen->set_size(751, 480); + m_screen->set_visarea(0, 750, 0, 479); m_screen->set_screen_update(FUNC(mindset_state::screen_update)); // Should be at the position indicated by display reg 2 - m_screen->scanline().set([this](int scanline) { m_maincpu->int2_w(scanline == 198); }); + m_screen->scanline().set([this](int scanline) { m_maincpu->int2_w(scanline == 398); }); m_screen->screen_vblank().set(m_maincpu, FUNC(i80186_cpu_device::int1_w)); I8272A(config, m_fdc, 16_MHz_XTAL/2, true); m_fdc->intrq_wr_callback().set(FUNC(mindset_state::fdc_int_w)); - m_fdc->drq_wr_callback().set(m_maincpu, FUNC(i80186_cpu_device::drq1_w)); + m_fdc->drq_wr_callback().set([this](int state) { m_fdc_drq = state; m_maincpu->drq1_w(m_fdc_drq || m_trap_drq); }); m_fdc->set_ready_line_connected(false); FLOPPY_CONNECTOR(config, m_fdco[0], pc_dd_floppies, "525dd", mindset_state::floppy_formats); FLOPPY_CONNECTOR(config, m_fdco[1], pc_dd_floppies, "525dd", mindset_state::floppy_formats); diff --git a/src/mame/drivers/mmodular.cpp b/src/mame/drivers/mmodular.cpp index 25a256d9d92..8a06d813482 100644 --- a/src/mame/drivers/mmodular.cpp +++ b/src/mame/drivers/mmodular.cpp @@ -41,7 +41,11 @@ #include "screen.h" #include "speaker.h" -#include "mmodular.lh" +// internal artwork +#include "mephisto_alm16.lh" +#include "mephisto_alm32.lh" +#include "mephisto_berlin.lh" +#include "mephisto_gen32.lh" class mmodular_state : public driver_device @@ -77,11 +81,13 @@ public: , m_keys(*this, "KEY") { } + void berl16(machine_config &config); void berlinp(machine_config &config); private: DECLARE_READ8_MEMBER(berlinp_input_r); + void berl16_mem(address_map &map); void berlinp_mem(address_map &map); required_device<mephisto_board_device> m_board; @@ -177,6 +183,18 @@ READ8_MEMBER(berlinp_state::berlinp_input_r) return m_board->input_r(space, offset) ^ 0xff; } +void berlinp_state::berl16_mem(address_map &map) +{ + map(0x000000, 0x01ffff).rom(); + map(0x800000, 0x87ffff).ram(); + map(0x900000, 0x907fff).ram().share("nvram"); + map(0xa00000, 0xa00000).r(FUNC(berlinp_state::berlinp_input_r)); + map(0xb00000, 0xb00000).w(m_board, FUNC(mephisto_board_device::mux_w)); + map(0xc00000, 0xc00000).w("display", FUNC(mephisto_display_modul_device::latch_w)); + map(0xd00008, 0xd00008).w("display", FUNC(mephisto_display_modul_device::io_w)); + map(0xe00000, 0xe00000).w(m_board, FUNC(mephisto_board_device::led_w)); +} + void berlinp_state::berlinp_mem(address_map &map) { map(0x000000, 0x03ffff).rom(); @@ -261,9 +279,9 @@ void mmodular_state::alm16(machine_config &config) maincpu.set_addrmap(AS_PROGRAM, &mmodular_state::alm16_mem); maincpu.set_periodic_int(FUNC(mmodular_state::irq2_line_hold), attotime::from_hz(600)); - MEPHISTO_SENSORS_BOARD(config, "board", 0); - MEPHISTO_DISPLAY_MODUL(config, "display", 0); - config.set_default_layout(layout_mmodular); + MEPHISTO_SENSORS_BOARD(config, "board"); + MEPHISTO_DISPLAY_MODUL(config, "display"); + config.set_default_layout(layout_mephisto_alm16); } @@ -282,9 +300,9 @@ void mmodular_state::alm32(machine_config &config) NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); - MEPHISTO_SENSORS_BOARD(config, "board", 0); - MEPHISTO_DISPLAY_MODUL(config, "display", 0); - config.set_default_layout(layout_mmodular); + MEPHISTO_SENSORS_BOARD(config, "board"); + MEPHISTO_DISPLAY_MODUL(config, "display"); + config.set_default_layout(layout_mephisto_alm32); } @@ -303,9 +321,9 @@ void mmodular_state::gen32(machine_config &config) NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); - MEPHISTO_SENSORS_BOARD(config, "board", 0); - MEPHISTO_DISPLAY_MODUL(config, "display", 0); - config.set_default_layout(layout_mmodular); + MEPHISTO_SENSORS_BOARD(config, "board"); + MEPHISTO_DISPLAY_MODUL(config, "display"); + config.set_default_layout(layout_mephisto_gen32); } @@ -317,9 +335,17 @@ void berlinp_state::berlinp(machine_config &config) NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); - MEPHISTO_BUTTONS_BOARD(config, m_board, 0); - MEPHISTO_DISPLAY_MODUL(config, "display", 0); - config.set_default_layout(layout_mmodular); + MEPHISTO_BUTTONS_BOARD(config, m_board); + MEPHISTO_DISPLAY_MODUL(config, "display"); + config.set_default_layout(layout_mephisto_berlin); +} + +void berlinp_state::berl16(machine_config &config) +{ + berlinp(config); + m68000_device &maincpu(M68000(config.replace(), "maincpu", XTAL(12'000'000))); + maincpu.set_addrmap(AS_PROGRAM, &berlinp_state::berl16_mem); + maincpu.set_periodic_int(FUNC(berlinp_state::irq2_line_hold), attotime::from_hz(750)); } @@ -385,11 +411,23 @@ ROM_START( lyon32 ) ROM_LOAD("lyon32.bin", 0x00000, 0x20000, CRC(5c128b06) SHA1(954c8f0d3fae29900cb1e9c14a41a9a07a8e185f)) ROM_END +ROM_START( berl16 ) + ROM_REGION16_BE( 0x20000, "maincpu", 0 ) + ROM_LOAD16_BYTE("berlin_68000_even.bin", 0x00000, 0x10000, CRC(31337f15) SHA1(0dcacb153a6f8376e6f1c2f3e57e60aad4370740)) + ROM_LOAD16_BYTE("berlin_68000_odd.bin", 0x00001, 0x10000, CRC(cc146819) SHA1(e4b2c6e496eff4a657a0718be292f563fb4e5688)) +ROM_END + ROM_START( berlinp ) ROM_REGION32_BE( 0x40000, "maincpu", 0 ) ROM_LOAD("berlinp.bin", 0x00000, 0x40000, CRC(82fbaf6e) SHA1(729b7cef3dfaecc4594a6178fc4ba6015afa6202)) ROM_END +ROM_START( berl16l ) + ROM_REGION16_BE( 0x20000, "maincpu", 0 ) + ROM_LOAD16_BYTE("berlin_68000_london_even.bin", 0x00000, 0x10000, CRC(0ccddbc6) SHA1(90effdc9f2811a24d450b74ccfb24995ce896b86)) + ROM_LOAD16_BYTE("berlin_68000_london_odd.bin", 0x00001, 0x10000, CRC(5edac658) SHA1(18ebebc5ceffd9a01798d8a3709875120bd096f7)) +ROM_END + ROM_START( bpl32 ) ROM_REGION32_BE( 0x40000, "maincpu", 0 ) ROM_LOAD("bpl32.bin", 0x00000, 0x40000, CRC(d75e170f) SHA1(ac0ebdaa114abd4fef87361a03df56928768b1ae)) @@ -414,5 +452,7 @@ CONS( 1996, lond020, alm32, 0, van32, alm32, mmodular_state, empty_in CONS( 1996, lond030, gen32, 0, gen32, gen32, mmodular_state, init_gen32, "Hegener & Glaser", "Mephisto Genius 68030 London Upgrade", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_TIMING | MACHINE_CLICKABLE_ARTWORK ) // not modular boards +CONS( 1992, berl16, 0, 0, berl16, berlinp, berlinp_state, empty_init, "Hegener & Glaser", "Mephisto Berlin 68000", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_TIMING | MACHINE_CLICKABLE_ARTWORK ) CONS( 1994, berlinp, 0, 0, berlinp, berlinp, berlinp_state, empty_init, "Hegener & Glaser", "Mephisto Berlin Pro 68020", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_TIMING | MACHINE_CLICKABLE_ARTWORK ) +CONS( 1996, berl16l, berl16, 0, berl16, berlinp, berlinp_state, empty_init, "Hegener & Glaser", "Mephisto Berlin 68000 London Upgrade", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_TIMING | MACHINE_CLICKABLE_ARTWORK ) CONS( 1996, bpl32, berlinp, 0, berlinp, berlinp, berlinp_state, empty_init, "Hegener & Glaser", "Mephisto Berlin Pro London Upgrade", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_TIMING | MACHINE_CLICKABLE_ARTWORK ) diff --git a/src/mame/drivers/model2.cpp b/src/mame/drivers/model2.cpp index 196a75344e9..caa20f2a83c 100644 --- a/src/mame/drivers/model2.cpp +++ b/src/mame/drivers/model2.cpp @@ -2531,6 +2531,9 @@ void model2o_state::model2o(machine_config &config) NVRAM(config, "backup1", nvram_device::DEFAULT_ALL_1); + model2_timers(config); + model2_screen(config); + model1io_device &ioboard(SEGA_MODEL1IO(config, "ioboard", 0)); ioboard.set_default_bios_tag("epr14869c"); ioboard.read_callback().set("dpram", FUNC(mb8421_device::left_r)); @@ -2540,9 +2543,6 @@ void model2o_state::model2o(machine_config &config) MB8421(config, "dpram", 0); - model2_timers(config); - model2_screen(config); - SEGAM1AUDIO(config, m_m1audio, 0); m_m1audio->rxd_handler().set(m_uart, FUNC(i8251_device::write_rxd)); diff --git a/src/mame/drivers/modena.cpp b/src/mame/drivers/modena.cpp index 43fce448759..61601a7e8c5 100644 --- a/src/mame/drivers/modena.cpp +++ b/src/mame/drivers/modena.cpp @@ -149,7 +149,7 @@ void mephisto_modena_state::modena(machine_config &config) NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); - MEPHISTO_BUTTONS_BOARD(config, m_board, 0); + MEPHISTO_BUTTONS_BOARD(config, m_board); m_board->set_disable_leds(true); config.set_default_layout(layout_mephisto_modena); diff --git a/src/mame/drivers/mpu5.cpp b/src/mame/drivers/mpu5.cpp index 2ee65220b1b..405d699e4d4 100644 --- a/src/mame/drivers/mpu5.cpp +++ b/src/mame/drivers/mpu5.cpp @@ -4,8 +4,7 @@ /* This file contains the hardware emulation, the mpu5.c contains the set listings */ -/* - Many of the games in here also seem to exist on other hardware. +/* Many of the games in here also seem to exist on other hardware. MPU5 @@ -37,10 +36,105 @@ In general things have been added here if the rom structure and initial code looks like the MPU5 boot code - 15/07/11 - rom loading for most games added, still some missing tho and clones still need sorting out properly. */ +/* BARCREST MPU5 XP53922-v1 + ______________________________________________________________________ + | _________ _______________ ____________________ __ | + | |__SW1___| ||||BUTTONS|||| ||LAMPS_1||||||||||| | | | + | ________________ ____________________ | | | + | |||||PAYOUT||||| ||LAMPS_2||||||||||| | | | + | __ |L| | + | |S| |E| | + | |W| |D| | + | |I| |S| | + | |T| | | | + | |_| | | | + | __ | | | + | |D| _________ _________ _________ _________ _________ |_| | + | |A| |4116R LF| TPIC6B273N TPIC6B273N TPIC6B273N |4116R LF| __ | + | |T| _________ _________ _________ __________ _________ |M| | + | |A| |4116R LF| M74HC257B1 M74HC257B1 |ATMEL | TPIC6B273N |E| | + | |P| ____________________ |BARCREST | _________ |T| | + | |_| _________ |BARCREST 881687 | |881685 X | TPIC6B273N |E| | + | __ |CNY74-4 | |_0605_FU___________| |_0544____| |R| | + | |C| ________________________________ |S| | + | |O| |.....CON1 (to game cart).......| | | | + | |I| |_______________________________| |_| | + | |_| _________ _________ _________ _________ __ | + | __ |MC1489PG |74ACT541 |74ACT541 |74ACT541 |B| | + | |A| _________ ____________ _________ _________ |A| | + | |U| |MC1488P| |_GAL20V8B__| |74ACT541 |74ACT541 |R| | + | |X| XTAL1 |B| | + | |_| ________________ _______________ |U| | + | __ | SCC68681C1N40 | |BS62LV1027PCP55 __ |_| | + | |A| |__NXP__________| |__BSI_________|SN75176BP F | + | |U| _______________ U o -> LED -12 + | |X| |BS62LV1027PCP55 S o -> LED +12 + | |P| __________ |__BSI_________| E o -> LED +24 + | |O| |MC68340AG16E o -> LED + +34 + | |R| |L75M | F | + | |T| |QGR0633 | ______ __ U o -> LED STATUS + | |_| |_________| M74HC08N MS6610BSG S o -> LED HALT + | __ ____ __ E __ | + | |A| BATT SWBAT |A| | + | |L| |U| | + | |P| ______________ ___ |D| | + | |_| |||VEND-BUS||| |MIC |_| | + |_____________________________________________________________________| + +SW1 = 8 dipswitches +SWBAT = Single jumper for battery + +XTAL1 = 3.6864MHz +MIC = Microphone + +SWIT = SWITCHES +DATAP = DATAPORT (female DB25) +COI = COINS +AUX = AUX-RS232 +ALP = ALPHA +AUD = AUDIO +BARBU = BARBUS + +Buttons Payout Lamps 1 Lamps 2 Leds Meters Audio + 1 - H3 1 - PAY0 1 - H0 1 \ 1 - C7 \ C 1 - 0V 1 - R+ + 2 - H2 2 - PAY1 2 - H1 2 | 2 - C6 | A 2 - GAP 2 - L- + 3 - H1 3 - PAY2 3 - H2 3 | HIGH 3 - C5 | T 3 - M0 3 - R- + 4 - H0 4 - PAY3 4 - H3 4 | SIDE 4 - C4 | H 4 - M1 4 - L+ + 5 - GAP 5 - 0V 5 - H4 5 | 34V 5 - C3 | O 5 - M2 5 - 0V + 6 - L3 6 - GAP 6 - H5 6 | 6 - C2 | D 6 - M3 6 - GAP + 7 - L2 7 - +24V 7 - GAP 7 | 7 - C1 | E 7 - M4 7 - RIN + 8 - L1 8 - IN0 8 - H6 8 | 8 - C0 / S 8 - M5 8 - LIN + 9 - L0 9 - IN1 9 - H7 9 / 9 - A7 \ 9 - M6 9 - MIC +10 - SW0 10 - IN2 10 - L0 10 \ 10 - A6 | A 10 - M7 +11 - SW1 11 - IN3 11 - L1 11 | 11 - A5 | N 11 \ SENSE +12 - SW2 12 - +12V 12 - L2 12 | LOW 12 - A4 | O 12 / +13 - SW3 13 - +5V 13 - L3 13 | SIDE 13 - GAP| D 13 +12 + 14 - 0V 14 - L4 14 | 0V 14 - A3 | E + 15 - L5 15 | 15 - A2 | S + 16 - L6 16 | 16 - A1 | + 17 - L7 17 / 17 - A0 / + +Switches Aux-RS232 Aux Port Alpha Vend-Bus + 1 - SW0 1 - +12 1 - AX7 1 - CLK 1 - -34 + 2 - GAP 2 - TX 2 - AX6 2 - D 2 - +12 + 3 - SW1 3 - RX 3 - AX5 3 - RES 3 - GAP + 4 - SW2 4 - RTS 4 - AX4 4 - 0V 4 - TX \ + 5 - SW3 5 - CTS 5 - AX3 5 - GAP 5 - RX / RS232 + 6 - L7 6 - GAP 6 - AX2 6 - 0V 6 - RX \ + 7 - L6 7 - 0V 7 - AX1 7 - +12 7 - TX / VEND + 8 - L5 8 - AX0 8 - TX - O.C. + 9 - L4 9 - 11 9 - 0V + 10 - 10 + 11 - ST + 12 - +5 + 13 - +12 + 14 - GAP + 15 - 0V +*/ + #include "emu.h" diff --git a/src/mame/drivers/nes.cpp b/src/mame/drivers/nes.cpp index 5631a9a21fc..b2aacb90e2a 100644 --- a/src/mame/drivers/nes.cpp +++ b/src/mame/drivers/nes.cpp @@ -77,6 +77,8 @@ void nes_state::nes(machine_config &config) NES_CONTROL_PORT(config, m_ctrl1, nes_control_port1_devices, "joypad"); NES_CONTROL_PORT(config, m_ctrl2, nes_control_port2_devices, "joypad"); + m_ctrl1->set_screen_tag(m_screen); + m_ctrl2->set_screen_tag(m_screen); NES_CART_SLOT(config, m_cartslot, NTSC_APU_CLOCK, nes_cart, nullptr); SOFTWARE_LIST(config, "cart_list").set_original("nes"); @@ -112,6 +114,9 @@ void nes_state::famicom(machine_config &config) NES_CONTROL_PORT(config.replace(), m_ctrl1, fc_control_port1_devices, "joypad"); NES_CONTROL_PORT(config.replace(), m_ctrl2, fc_control_port2_devices, "joypad"); NES_CONTROL_PORT(config, m_exp, fc_expansion_devices, nullptr); + m_ctrl1->set_screen_tag(m_screen); + m_ctrl2->set_screen_tag(m_screen); + m_exp->set_screen_tag(m_screen); SOFTWARE_LIST(config, "flop_list").set_original("famicom_flop"); SOFTWARE_LIST(config, "cass_list").set_original("famicom_cass"); @@ -142,6 +147,9 @@ void nes_state::famipalc(machine_config &config) NES_CONTROL_PORT(config.replace(), m_ctrl1, fc_control_port1_devices, "joypad"); NES_CONTROL_PORT(config.replace(), m_ctrl2, fc_control_port2_devices, "joypad"); NES_CONTROL_PORT(config, m_exp, fc_expansion_devices, nullptr); + m_ctrl1->set_screen_tag(m_screen); + m_ctrl2->set_screen_tag(m_screen); + m_exp->set_screen_tag(m_screen); SOFTWARE_LIST(config, "cass_list").set_original("famicom_cass"); } diff --git a/src/mame/drivers/nes_vt.cpp b/src/mame/drivers/nes_vt.cpp index 8c9e241d5e3..7f18938c98e 100644 --- a/src/mame/drivers/nes_vt.cpp +++ b/src/mame/drivers/nes_vt.cpp @@ -1395,6 +1395,8 @@ void nes_vt_state::nes_vt(machine_config &config) NES_CONTROL_PORT(config, m_ctrl1, nes_control_port1_devices, "joypad"); NES_CONTROL_PORT(config, m_ctrl2, nes_control_port2_devices, "joypad"); + m_ctrl1->set_screen_tag(m_screen); + m_ctrl2->set_screen_tag(m_screen); } void nes_vt_state::nes_vt_ddr(machine_config &config) @@ -1403,6 +1405,8 @@ void nes_vt_state::nes_vt_ddr(machine_config &config) NES_CONTROL_PORT(config, m_ctrl1, majesco_control_port1_devices, "ddr"); NES_CONTROL_PORT(config, m_ctrl2, majesco_control_port2_devices, nullptr); + m_ctrl1->set_screen_tag(m_screen); + m_ctrl2->set_screen_tag(m_screen); } void nes_vt_state::nes_vt_hum(machine_config &config) diff --git a/src/mame/drivers/next.cpp b/src/mame/drivers/next.cpp index ace185152d0..013cdd6c270 100644 --- a/src/mame/drivers/next.cpp +++ b/src/mame/drivers/next.cpp @@ -28,8 +28,8 @@ #include "emu.h" #include "includes/next.h" -#include "machine/nscsi_cd.h" -#include "machine/nscsi_hd.h" +#include "bus/nscsi/cd.h" +#include "bus/nscsi/hd.h" #include "screen.h" #include "softlist.h" diff --git a/src/mame/drivers/nmk16.cpp b/src/mame/drivers/nmk16.cpp index 7d2f6bfda4b..f05cada4446 100644 --- a/src/mame/drivers/nmk16.cpp +++ b/src/mame/drivers/nmk16.cpp @@ -132,7 +132,7 @@ Questions / Notes Sound notes for games with a Z80: mustangb and tdragonb use the Seibu Raiden sound hardware and a modified -Z80 program (but the music is intact and recognizable). See audio/seibu.c +Z80 program (but the music is intact and recognizable). See audio/seibu.cpp for more info on this. --- @@ -140,9 +140,9 @@ for more info on this. Afega Games 95 Twin Action this is a hack of Mustang with new graphics -97 Red Hawk US Version of Stagger 1 +97 Red Hawk 98 Sen Jin - Guardian Storm -98 Stagger I +98 Stagger I Japanese release of Red Hawk 98 Bubble 2000 By Tuning, but it seems to be the same HW / Hot Bubble @@ -154,6 +154,8 @@ Afega Games Afega stands for "Art-Fiction Electronic Game" +Reference of music tempo: + stagger1 - https://www.youtube.com/watch?v=xWszb2fP07M ********************************************************************/ @@ -176,7 +178,7 @@ Afega stands for "Art-Fiction Electronic Game" #include "speaker.h" -WRITE16_MEMBER(nmk16_state::nmk16_x0016_w) +void nmk16_state::nmk004_x0016_w(u16 data) { // this is part of a watchdog scheme // generating an NMI on the NMK004 keeps a timer alive @@ -185,7 +187,7 @@ WRITE16_MEMBER(nmk16_state::nmk16_x0016_w) } -WRITE16_MEMBER(nmk16_state::nmk16_bioship_x0016_w) +void nmk16_state::nmk004_bioship_x0016_w(u16 data) { // ugly, ugly logic invert hack, but otherwise bioship doesn't hit the NMI enough to keep the game alive! m_nmk004->nmi_w(BIT(data, 0) ? CLEAR_LINE : ASSERT_LINE); @@ -208,24 +210,20 @@ WRITE16_MEMBER(nmk16_state::nmk16_bioship_x0016_w) **********************************************************/ -WRITE16_MEMBER(nmk16_state::nmk16_mainram_strange_w) +void nmk16_state::mainram_strange_w(offs_t offset, u16 data/*, u16 mem_mask*/) { #if 0 - uint16_t* dstram; - - dstram = m_mainram; - if (!ACCESSING_BITS_8_15) { - dstram[offset] = (data & 0x00ff) | ((data & 0x00ff)<<8); + m_mainram[offset] = (data & 0x00ff) | ((data & 0x00ff)<<8); } else if (!ACCESSING_BITS_0_7) { - dstram[offset] = (data & 0xff00) | ((data & 0xff00)>>8); + m_mainram[offset] = (data & 0xff00) | ((data & 0xff00) >> 8); } else { - dstram[offset] = data; + m_mainram[offset] = data; } #endif // as of SVN 30715 the 68k core replicates the above behavior, providing mirrored bits in 'data' regardless of the value of 'mem_mask' @@ -233,26 +231,35 @@ WRITE16_MEMBER(nmk16_state::nmk16_mainram_strange_w) } +// tdragon2, raphero has address-swapped mainram handler +u16 nmk16_state::mainram_swapped_r(offs_t offset) +{ + return m_mainram[bitswap<16>(offset, 15, 14, 13, 12, 11, 7, 9, 8, 10, 6, 5, 4, 3, 2, 1, 0)]; +} -WRITE8_MEMBER(nmk16_state::ssmissin_soundbank_w) +void nmk16_state::mainram_swapped_w(offs_t offset, u16 data, u16 mem_mask) { - m_okibank[0]->set_entry(data & 0x3); + COMBINE_DATA(&m_mainram[bitswap<16>(offset, 15, 14, 13, 12, 11, 7, 9, 8, 10, 6, 5, 4, 3, 2, 1, 0)]); } +void nmk16_state::ssmissin_soundbank_w(u8 data) +{ + m_okibank[0]->set_entry(data & 0x3); +} -WRITE16_MEMBER(nmk16_state::tharrier_mcu_control_w) +void nmk16_state::tharrier_mcu_control_w(u16 data) { // logerror("%04x: mcu_control_w %02x\n",m_maincpu->pc(),data); } -READ16_MEMBER(nmk16_state::tharrier_mcu_r) +u16 nmk16_state::tharrier_mcu_r(offs_t offset, u16 mem_mask) { /* The MCU is mapped as the top byte for byte accesses only, all word accesses are to the input port */ if (ACCESSING_BITS_8_15 && !ACCESSING_BITS_0_7) { - static const uint8_t to_main[] = + static const u8 to_main[] = { 0x82,0xc7,0x00,0x2c,0x6c,0x00,0x9f,0xc7,0x00,0x29,0x69,0x00,0x8b,0xc7,0x00 }; @@ -279,20 +286,20 @@ READ16_MEMBER(nmk16_state::tharrier_mcu_r) } } -WRITE16_MEMBER(nmk16_state::macross2_sound_reset_w) +void nmk16_state::macross2_sound_reset_w(u16 data) { /* PCB behaviour verified by Corrado Tomaselli at MAME Italia Forum: every time music changes Z80 is reset */ m_audiocpu->set_input_line(INPUT_LINE_RESET, data ? CLEAR_LINE : ASSERT_LINE); } -WRITE8_MEMBER(nmk16_state::macross2_sound_bank_w) +void nmk16_state::macross2_sound_bank_w(u8 data) { m_audiobank->set_entry(data & 0x07); } -template<int Chip> -WRITE8_MEMBER(nmk16_state::tharrier_oki6295_bankswitch_w) +template<unsigned Chip> +void nmk16_state::tharrier_oki_bankswitch_w(u8 data) { data &= 3; if (data != 3) @@ -305,22 +312,22 @@ WRITE8_MEMBER(nmk16_state::tharrier_oki6295_bankswitch_w) ***************************************************************************/ -template<int Layer> -WRITE16_MEMBER(nmk16_state::nmk_bgvideoram_w) +template<unsigned Layer> +void nmk16_state::bgvideoram_w(offs_t offset, u16 data, u16 mem_mask) { - COMBINE_DATA(&m_nmk_bgvideoram[Layer][offset]); + COMBINE_DATA(&m_bgvideoram[Layer][offset]); if ((offset >> 13) == m_tilerambank) m_bg_tilemap[Layer]->mark_tile_dirty(offset & 0x1fff); } -WRITE16_MEMBER(nmk16_state::nmk_txvideoram_w) +void nmk16_state::txvideoram_w(offs_t offset, u16 data, u16 mem_mask) { - COMBINE_DATA(&m_nmk_txvideoram[offset]); + COMBINE_DATA(&m_txvideoram[offset]); m_tx_tilemap->mark_tile_dirty(offset); } -template<int Layer> -WRITE8_MEMBER(nmk16_state::nmk_scroll_w) +template<unsigned Layer> +void nmk16_state::scroll_w(offs_t offset, u8 data) { m_scroll[Layer][offset] = data; @@ -330,12 +337,16 @@ WRITE8_MEMBER(nmk16_state::nmk_scroll_w) } else { - if ((m_nmk_bgvideoram[Layer].bytes() > 0x4000) && (offset == 0)) + if ((m_bgvideoram[Layer].bytes() > 0x4000) && (offset == 0)) { - int newbank = (m_scroll[Layer][0] >> 4) & ((m_nmk_bgvideoram[Layer].bytes() >> 14)-1); + int newbank = (m_scroll[Layer][0] >> 4) & ((m_bgvideoram[Layer].bytes() >> 14) - 1); if (m_tilerambank != newbank) + { m_tilerambank = newbank; + if (m_bg_tilemap[Layer]) + m_bg_tilemap[Layer]->mark_all_dirty(); + } } m_bg_tilemap[Layer]->set_scrollx(0,((m_scroll[Layer][0] << 8) | m_scroll[Layer][1]) - m_videoshift); } @@ -352,14 +363,14 @@ void nmk16_state::vandyke_map(address_map &map) map(0x080008, 0x080009).portr("DSW1"); map(0x08000a, 0x08000b).portr("DSW2"); map(0x08000f, 0x08000f).r(m_nmk004, FUNC(nmk004_device::read)); - map(0x080016, 0x080017).w(FUNC(nmk16_state::nmk16_x0016_w)); - map(0x080019, 0x080019).w(FUNC(nmk16_state::nmk_tilebank_w)); + map(0x080016, 0x080017).w(FUNC(nmk16_state::nmk004_x0016_w)); + map(0x080019, 0x080019).w(FUNC(nmk16_state::tilebank_w)); map(0x08001f, 0x08001f).w(m_nmk004, FUNC(nmk004_device::write)); map(0x088000, 0x0887ff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); map(0x08c000, 0x08c007).w(FUNC(nmk16_state::vandyke_scroll_w)); - map(0x090000, 0x093fff).ram().w(FUNC(nmk16_state::nmk_bgvideoram_w<0>)).share("nmk_bgvideoram0"); + map(0x090000, 0x093fff).ram().w(FUNC(nmk16_state::bgvideoram_w<0>)).share("bgvideoram0"); map(0x094000, 0x097fff).ram(); /* what is this? */ - map(0x09d000, 0x09d7ff).ram().w(FUNC(nmk16_state::nmk_txvideoram_w)).share("nmk_txvideoram"); + map(0x09d000, 0x09d7ff).ram().w(FUNC(nmk16_state::txvideoram_w)).share("txvideoram"); map(0x0f0000, 0x0fffff).ram().share("mainram"); } @@ -373,13 +384,13 @@ void nmk16_state::vandykeb_map(address_map &map) // map(0x08000f, 0x08000f).r(m_nmk004, FUNC(nmk004_device::read)); map(0x080010, 0x08001d).w(FUNC(nmk16_state::vandykeb_scroll_w)); /* 10, 12, 1a, 1c */ map(0x080016, 0x080017).nopw(); /* IRQ enable? */ - map(0x080019, 0x080019).w(FUNC(nmk16_state::nmk_tilebank_w)); + map(0x080019, 0x080019).w(FUNC(nmk16_state::tilebank_w)); // map(0x08001f, 0x08001f).w(m_nmk004, FUNC(nmk004_device::write)); map(0x088000, 0x0887ff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); map(0x08c000, 0x08c007).nopw(); /* just in case... */ - map(0x090000, 0x093fff).ram().w(FUNC(nmk16_state::nmk_bgvideoram_w<0>)).share("nmk_bgvideoram0"); + map(0x090000, 0x093fff).ram().w(FUNC(nmk16_state::bgvideoram_w<0>)).share("bgvideoram0"); map(0x094000, 0x097fff).ram(); /* what is this? */ - map(0x09d000, 0x09d7ff).ram().w(FUNC(nmk16_state::nmk_txvideoram_w)).share("nmk_txvideoram"); + map(0x09d000, 0x09d7ff).ram().w(FUNC(nmk16_state::txvideoram_w)).share("txvideoram"); map(0x0f0000, 0x0fffff).ram().share("mainram"); } @@ -391,13 +402,13 @@ void nmk16_state::manybloc_map(address_map &map) map(0x080004, 0x080005).portr("DSW1"); map(0x080010, 0x080011).nopw(); /* See notes at the top of the driver */ map(0x080012, 0x080013).nopw(); /* See notes at the top of the driver */ - map(0x080015, 0x080015).w(FUNC(nmk16_state::nmk_flipscreen_w)); + map(0x080015, 0x080015).w(FUNC(nmk16_state::flipscreen_w)); map(0x08001c, 0x08001d).nopw(); /* See notes at the top of the driver */ map(0x08001f, 0x08001f).r("soundlatch2", FUNC(generic_latch_8_device::read)).w(m_soundlatch, FUNC(generic_latch_8_device::write)).umask16(0x00ff); map(0x088000, 0x0883ff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); - map(0x090000, 0x093fff).ram().w(FUNC(nmk16_state::nmk_bgvideoram_w<0>)).share("nmk_bgvideoram0"); + map(0x090000, 0x093fff).ram().w(FUNC(nmk16_state::bgvideoram_w<0>)).share("bgvideoram0"); map(0x09c000, 0x09cfff).ram().w(FUNC(nmk16_state::manybloc_scroll_w)).share("scrollram"); - map(0x09d000, 0x09d7ff).ram().w(FUNC(nmk16_state::nmk_txvideoram_w)).share("nmk_txvideoram"); + map(0x09d000, 0x09d7ff).ram().w(FUNC(nmk16_state::txvideoram_w)).share("txvideoram"); map(0x0f0000, 0x0fffff).ram().share("mainram"); } @@ -408,16 +419,16 @@ void nmk16_tomagic_state::tomagic_map(address_map &map) map(0x080002, 0x080003).portr("IN1"); map(0x080008, 0x080009).portr("DSW1"); map(0x08000a, 0x08000b).portr("DSW2"); - map(0x080014, 0x080015).w(FUNC(nmk16_tomagic_state::nmk_flipscreen_w)); - map(0x080018, 0x080019).w(FUNC(nmk16_tomagic_state::nmk_tilebank_w)); + map(0x080014, 0x080015).w(FUNC(nmk16_tomagic_state::flipscreen_w)); + map(0x080018, 0x080019).w(FUNC(nmk16_tomagic_state::tilebank_w)); map(0x08001f, 0x08001f).w(m_soundlatch, FUNC(generic_latch_8_device::write)); map(0x088000, 0x0887ff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); map(0x08c000, 0x08c1ff).writeonly().share("scrollram"); map(0x08c200, 0x08c3ff).writeonly().share("scrollramy"); - map(0x090000, 0x093fff).ram().w(FUNC(nmk16_tomagic_state::nmk_bgvideoram_w<0>)).share("nmk_bgvideoram0"); + map(0x090000, 0x093fff).ram().w(FUNC(nmk16_tomagic_state::bgvideoram_w<0>)).share("bgvideoram0"); map(0x094001, 0x094001).w(m_oki[0], FUNC(okim6295_device::write)); map(0x094003, 0x094003).r(m_oki[0], FUNC(okim6295_device::read)); - map(0x09c000, 0x09cfff).mirror(0x001000).ram().w(FUNC(nmk16_tomagic_state::nmk_txvideoram_w)).share("nmk_txvideoram"); + map(0x09c000, 0x09cfff).mirror(0x001000).ram().w(FUNC(nmk16_tomagic_state::txvideoram_w)).share("txvideoram"); map(0x0f0000, 0x0fffff).ram().share("mainram"); } @@ -440,21 +451,21 @@ void nmk16_state::tharrier_map(address_map &map) { map(0x000000, 0x03ffff).rom(); map(0x080000, 0x080001).portr("IN0"); - map(0x080002, 0x080003).r(FUNC(nmk16_state::tharrier_mcu_r)); // AM_READ_PORT("IN1") + map(0x080002, 0x080003).r(FUNC(nmk16_state::tharrier_mcu_r)); // .portr("IN1"); map(0x080004, 0x080005).portr("DSW1"); map(0x08000f, 0x08000f).r("soundlatch2", FUNC(generic_latch_8_device::read)); /* from Z80 */ map(0x080010, 0x080011).w(FUNC(nmk16_state::tharrier_mcu_control_w)); map(0x080012, 0x080013).nopw(); -// map(0x080015, 0x080015).w(FUNC(nmk16_state::nmk_flipscreen_w)); -// map(0x080019, 0x080019).w(FUNC(nmk16_state::nmk_tilebank_w)); +// map(0x080015, 0x080015).w(FUNC(nmk16_state::flipscreen_w)); +// map(0x080019, 0x080019).w(FUNC(nmk16_state::tilebank_w)); map(0x08001f, 0x08001f).w(m_soundlatch, FUNC(generic_latch_8_device::write)); map(0x080202, 0x080203).portr("IN2"); map(0x088000, 0x0883ff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); -// map(0x08c000, 0x08c007).w(FUNC(nmk16_state::nmk_scroll_w<0>)).umask16(0x00ff); - map(0x090000, 0x093fff).ram().w(FUNC(nmk16_state::nmk_bgvideoram_w<0>)).share("nmk_bgvideoram0"); +// map(0x08c000, 0x08c007).w(FUNC(nmk16_state::scroll_w<0>)).umask16(0x00ff); + map(0x090000, 0x093fff).ram().w(FUNC(nmk16_state::bgvideoram_w<0>)).share("bgvideoram0"); map(0x09c000, 0x09c7ff).ram(); /* Unused txvideoram area? */ - map(0x09d000, 0x09d7ff).ram().w(FUNC(nmk16_state::nmk_txvideoram_w)).share("nmk_txvideoram"); - map(0x0f0000, 0x0fffff).ram().w(FUNC(nmk16_state::nmk16_mainram_strange_w)).share("mainram"); + map(0x09d000, 0x09d7ff).ram().w(FUNC(nmk16_state::txvideoram_w)).share("txvideoram"); + map(0x0f0000, 0x0fffff).ram().w(FUNC(nmk16_state::mainram_strange_w)).share("mainram"); } void nmk16_state::tharrier_sound_map(address_map &map) @@ -464,8 +475,8 @@ void nmk16_state::tharrier_sound_map(address_map &map) map(0xf000, 0xf000).r(m_soundlatch, FUNC(generic_latch_8_device::read)).w("soundlatch2", FUNC(generic_latch_8_device::write)); map(0xf400, 0xf400).rw(m_oki[0], FUNC(okim6295_device::read), FUNC(okim6295_device::write)); map(0xf500, 0xf500).rw(m_oki[1], FUNC(okim6295_device::read), FUNC(okim6295_device::write)); - map(0xf600, 0xf600).w(FUNC(nmk16_state::tharrier_oki6295_bankswitch_w<0>)); - map(0xf700, 0xf700).w(FUNC(nmk16_state::tharrier_oki6295_bankswitch_w<1>)); + map(0xf600, 0xf600).w(FUNC(nmk16_state::tharrier_oki_bankswitch_w<0>)); + map(0xf700, 0xf700).w(FUNC(nmk16_state::tharrier_oki_bankswitch_w<1>)); } void nmk16_state::tharrier_sound_io_map(address_map &map) @@ -485,15 +496,15 @@ void nmk16_state::mustang_map(address_map &map) map(0x080004, 0x080005).portr("DSW1"); map(0x08000f, 0x08000f).r(m_nmk004, FUNC(nmk004_device::read)); map(0x08000e, 0x08000f).nopw(); - map(0x080015, 0x080015).w(FUNC(nmk16_state::nmk_flipscreen_w)); - map(0x080016, 0x080017).w(FUNC(nmk16_state::nmk16_x0016_w)); // frame number? + map(0x080015, 0x080015).w(FUNC(nmk16_state::flipscreen_w)); + map(0x080016, 0x080017).w(FUNC(nmk16_state::nmk004_x0016_w)); // frame number? map(0x08001f, 0x08001f).w(m_nmk004, FUNC(nmk004_device::write)); map(0x088000, 0x0887ff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); map(0x08c000, 0x08c001).w(FUNC(nmk16_state::mustang_scroll_w)); map(0x08c002, 0x08c087).nopw(); // ?? - map(0x090000, 0x093fff).ram().w(FUNC(nmk16_state::nmk_bgvideoram_w<0>)).share("nmk_bgvideoram0"); - map(0x09c000, 0x09c7ff).ram().w(FUNC(nmk16_state::nmk_txvideoram_w)).share("nmk_txvideoram"); - map(0x0f0000, 0x0fffff).ram().w(FUNC(nmk16_state::nmk16_mainram_strange_w)).share("mainram"); + map(0x090000, 0x093fff).ram().w(FUNC(nmk16_state::bgvideoram_w<0>)).share("bgvideoram0"); + map(0x09c000, 0x09c7ff).ram().w(FUNC(nmk16_state::txvideoram_w)).share("txvideoram"); + map(0x0f0000, 0x0fffff).ram().w(FUNC(nmk16_state::mainram_strange_w)).share("mainram"); } void nmk16_state::mustangb_map(address_map &map) @@ -503,15 +514,15 @@ void nmk16_state::mustangb_map(address_map &map) map(0x080002, 0x080003).portr("IN1"); map(0x080004, 0x080005).portr("DSW1"); map(0x08000e, 0x08000f).noprw(); - map(0x080015, 0x080015).w(FUNC(nmk16_state::nmk_flipscreen_w)); + map(0x080015, 0x080015).w(FUNC(nmk16_state::flipscreen_w)); map(0x080016, 0x080017).nopw(); // frame number? map(0x08001e, 0x08001f).w("seibu_sound", FUNC(seibu_sound_device::main_mustb_w)); map(0x088000, 0x0887ff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); map(0x08c000, 0x08c001).w(FUNC(nmk16_state::mustang_scroll_w)); map(0x08c002, 0x08c087).nopw(); // ?? - map(0x090000, 0x093fff).ram().w(FUNC(nmk16_state::nmk_bgvideoram_w<0>)).share("nmk_bgvideoram0"); - map(0x09c000, 0x09c7ff).ram().w(FUNC(nmk16_state::nmk_txvideoram_w)).share("nmk_txvideoram"); - map(0x0f0000, 0x0fffff).ram().w(FUNC(nmk16_state::nmk16_mainram_strange_w)).share("mainram"); + map(0x090000, 0x093fff).ram().w(FUNC(nmk16_state::bgvideoram_w<0>)).share("bgvideoram0"); + map(0x09c000, 0x09c7ff).ram().w(FUNC(nmk16_state::txvideoram_w)).share("txvideoram"); + map(0x0f0000, 0x0fffff).ram().w(FUNC(nmk16_state::mainram_strange_w)).share("mainram"); } void nmk16_state::twinactn_map(address_map &map) @@ -521,15 +532,15 @@ void nmk16_state::twinactn_map(address_map &map) map(0x080002, 0x080003).portr("IN1"); map(0x080004, 0x080005).portr("DSW1"); map(0x08000e, 0x08000f).noprw(); - map(0x080015, 0x080015).w(FUNC(nmk16_state::nmk_flipscreen_w)); + map(0x080015, 0x080015).w(FUNC(nmk16_state::flipscreen_w)); map(0x080016, 0x080017).nopw(); // frame number? map(0x08001f, 0x08001f).w(m_soundlatch, FUNC(generic_latch_8_device::write)); map(0x088000, 0x0887ff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); map(0x08c000, 0x08c001).w(FUNC(nmk16_state::mustang_scroll_w)); map(0x08c002, 0x08c087).nopw(); // ?? - map(0x090000, 0x093fff).ram().w(FUNC(nmk16_state::nmk_bgvideoram_w<0>)).share("nmk_bgvideoram0"); - map(0x09c000, 0x09c7ff).ram().w(FUNC(nmk16_state::nmk_txvideoram_w)).share("nmk_txvideoram"); - map(0x0f0000, 0x0fffff).ram().w(FUNC(nmk16_state::nmk16_mainram_strange_w)).share("mainram"); + map(0x090000, 0x093fff).ram().w(FUNC(nmk16_state::bgvideoram_w<0>)).share("bgvideoram0"); + map(0x09c000, 0x09c7ff).ram().w(FUNC(nmk16_state::txvideoram_w)).share("txvideoram"); + map(0x0f0000, 0x0fffff).ram().w(FUNC(nmk16_state::mainram_strange_w)).share("mainram"); } void nmk16_state::acrobatm_map(address_map &map) @@ -541,14 +552,14 @@ void nmk16_state::acrobatm_map(address_map &map) map(0xc0008, 0xc0009).portr("DSW1"); map(0xc000a, 0xc000b).portr("DSW2"); map(0xc000f, 0xc000f).r(m_nmk004, FUNC(nmk004_device::read)); - map(0xc0015, 0xc0015).w(FUNC(nmk16_state::nmk_flipscreen_w)); - map(0xc0016, 0xc0017).w(FUNC(nmk16_state::nmk16_x0016_w)); - map(0xc0019, 0xc0019).w(FUNC(nmk16_state::nmk_tilebank_w)); + map(0xc0015, 0xc0015).w(FUNC(nmk16_state::flipscreen_w)); + map(0xc0016, 0xc0017).w(FUNC(nmk16_state::nmk004_x0016_w)); + map(0xc0019, 0xc0019).w(FUNC(nmk16_state::tilebank_w)); map(0xc001f, 0xc001f).w(m_nmk004, FUNC(nmk004_device::write)); map(0xc4000, 0xc45ff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); - map(0xc8000, 0xc8007).ram().w(FUNC(nmk16_state::nmk_scroll_w<0>)).umask16(0x00ff); - map(0xcc000, 0xcffff).ram().w(FUNC(nmk16_state::nmk_bgvideoram_w<0>)).share("nmk_bgvideoram0"); - map(0xd4000, 0xd47ff).ram().w(FUNC(nmk16_state::nmk_txvideoram_w)).share("nmk_txvideoram"); + map(0xc8000, 0xc8007).ram().w(FUNC(nmk16_state::scroll_w<0>)).umask16(0x00ff); + map(0xcc000, 0xcffff).ram().w(FUNC(nmk16_state::bgvideoram_w<0>)).share("bgvideoram0"); + map(0xd4000, 0xd47ff).ram().w(FUNC(nmk16_state::txvideoram_w)).share("txvideoram"); } void nmk16_state::bioship_map(address_map &map) @@ -559,15 +570,15 @@ void nmk16_state::bioship_map(address_map &map) map(0x080008, 0x080009).portr("DSW1"); map(0x08000a, 0x08000b).portr("DSW2"); map(0x08000f, 0x08000f).r(m_nmk004, FUNC(nmk004_device::read)); -// map(0xc0015, 0xc0015).w(FUNC(nmk16_state::nmk_flipscreen_w)); - map(0x080016, 0x080017).w(FUNC(nmk16_state::nmk16_bioship_x0016_w)); +// map(0xc0015, 0xc0015).w(FUNC(nmk16_state::flipscreen_w)); + map(0x080016, 0x080017).w(FUNC(nmk16_state::nmk004_bioship_x0016_w)); map(0x08001f, 0x08001f).w(m_nmk004, FUNC(nmk004_device::write)); map(0x084001, 0x084001).w(FUNC(nmk16_state::bioship_bank_w)); map(0x088000, 0x0887ff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); - map(0x08c000, 0x08c007).ram().w(FUNC(nmk16_state::nmk_scroll_w<1>)).umask16(0xff00); - map(0x08c010, 0x08c017).ram().w(FUNC(nmk16_state::nmk_scroll_w<0>)).umask16(0xff00); - map(0x090000, 0x093fff).ram().w(FUNC(nmk16_state::nmk_bgvideoram_w<1>)).share("nmk_bgvideoram1"); - map(0x09c000, 0x09c7ff).ram().w(FUNC(nmk16_state::nmk_txvideoram_w)).share("nmk_txvideoram"); + map(0x08c000, 0x08c007).ram().w(FUNC(nmk16_state::scroll_w<1>)).umask16(0xff00); + map(0x08c010, 0x08c017).ram().w(FUNC(nmk16_state::scroll_w<0>)).umask16(0xff00); + map(0x090000, 0x093fff).ram().w(FUNC(nmk16_state::bgvideoram_w<1>)).share("bgvideoram1"); + map(0x09c000, 0x09c7ff).ram().w(FUNC(nmk16_state::txvideoram_w)).share("txvideoram"); map(0x0f0000, 0x0fffff).ram().share("mainram"); } @@ -585,7 +596,7 @@ printed on the up-left corner of the screen). #define PROT_JSR(_offs_,_protvalue_,_pc_) \ - if(m_mainram[(_offs_)/2] == _protvalue_) \ + if (m_mainram[(_offs_)/2] == _protvalue_) \ { \ m_mainram[(_offs_)/2] = 0xffff; /*(MCU job done)*/ \ m_mainram[(_offs_+2-0x10)/2] = 0x4ef9;/*JMP*/\ @@ -593,9 +604,9 @@ printed on the up-left corner of the screen). m_mainram[(_offs_+6-0x10)/2] = _pc_; /*LO-DWORD*/\ } #define PROT_INPUT(_offs_,_protvalue_,_protinput_,_input_) \ - if(m_mainram[_offs_] == _protvalue_) \ + if (m_mainram[_offs_] == _protvalue_) \ { \ - m_mainram[_protinput_] = ((_input_ & 0xffff0000)>>16);\ + m_mainram[_protinput_] = ((_input_ & 0xffff0000) >> 16);\ m_mainram[_protinput_+1] = (_input_ & 0x0000ffff);\ } @@ -672,12 +683,12 @@ f0 - player bombs (8c36) */ -WRITE16_MEMBER(nmk16_state::hachamf_mainram_w) +void nmk16_state::hachamf_mainram_w(offs_t offset, u16 data, u16 mem_mask) { COMBINE_DATA(&m_mainram[offset]); #define DUMMYA 0x7b9c // 7960 - switch(offset) + switch (offset) { case 0xe058/2: PROT_INPUT(0xe058/2,0xc71f,0xe000/2,0x00080000); break; case 0xe182/2: PROT_INPUT(0xe182/2,0x865d,0xe004/2,0x00080002); break; @@ -716,7 +727,7 @@ WRITE16_MEMBER(nmk16_state::hachamf_mainram_w) case 0xe1fe/2: PROT_JSR(0xe1fe,0x8026,0x8d0c);//8c36 PROT_JSR(0xe1fe,0x8016,DUMMYA); break; //unused case 0xef00/2: - if(m_mainram[0xef00/2] == 0x60fe) + if (m_mainram[0xef00/2] == 0x60fe) { m_mainram[0xef00/2] = 0x0000; //this is the coin counter m_mainram[0xef02/2] = 0x0000; @@ -739,26 +750,25 @@ void nmk16_state::hachamf_map(address_map &map) map(0x080008, 0x080009).portr("DSW1"); map(0x08000a, 0x08000b).portr("DSW2"); map(0x08000f, 0x08000f).r(m_nmk004, FUNC(nmk004_device::read)); - map(0x080015, 0x080015).w(FUNC(nmk16_state::nmk_flipscreen_w)); - map(0x080016, 0x080017).w(FUNC(nmk16_state::nmk16_x0016_w)); - map(0x080019, 0x080019).w(FUNC(nmk16_state::nmk_tilebank_w)); + map(0x080015, 0x080015).w(FUNC(nmk16_state::flipscreen_w)); + map(0x080016, 0x080017).w(FUNC(nmk16_state::nmk004_x0016_w)); + map(0x080019, 0x080019).w(FUNC(nmk16_state::tilebank_w)); map(0x08001f, 0x08001f).w(m_nmk004, FUNC(nmk004_device::write)); /* Video Region */ map(0x088000, 0x0887ff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); - map(0x08c000, 0x08c007).w(FUNC(nmk16_state::nmk_scroll_w<0>)).umask16(0x00ff); - map(0x090000, 0x093fff).ram().w(FUNC(nmk16_state::nmk_bgvideoram_w<0>)).share("nmk_bgvideoram0"); - map(0x09c000, 0x09c7ff).ram().w(FUNC(nmk16_state::nmk_txvideoram_w)).share("nmk_txvideoram"); + map(0x08c000, 0x08c007).w(FUNC(nmk16_state::scroll_w<0>)).umask16(0x00ff); + map(0x090000, 0x093fff).ram().w(FUNC(nmk16_state::bgvideoram_w<0>)).share("bgvideoram0"); + map(0x09c000, 0x09c7ff).ram().w(FUNC(nmk16_state::txvideoram_w)).share("txvideoram"); /* Main RAM, inc sprites, shared with MCU */ map(0x0f0000, 0x0fffff).ram().share("mainram"); // ram is shared with MCU } - -WRITE16_MEMBER(nmk16_state::tdragon_mainram_w) +void nmk16_state::tdragon_mainram_w(offs_t offset, u16 data, u16 mem_mask) { COMBINE_DATA(&m_mainram[offset]); - switch(offset) + switch (offset) { case 0xe066/2: PROT_INPUT(0xe066/2,0xe23e,0xe000/2,0x000c0000); break; case 0xe144/2: PROT_INPUT(0xe144/2,0xf54d,0xe004/2,0x000c0002); break; @@ -797,7 +807,7 @@ WRITE16_MEMBER(nmk16_state::tdragon_mainram_w) case 0xe7fe/2: PROT_JSR(0xe7fe,0x8026,0xa57a); PROT_JSR(0xe7fe,0x8016,0xa57a); break; case 0xef00/2: - if(m_mainram[0xef00/2] == 0x60fe) + if (m_mainram[0xef00/2] == 0x60fe) { m_mainram[0xef00/2] = 0x0000; //this is the coin counter m_mainram[0xef02/2] = 0x0000; @@ -810,34 +820,34 @@ WRITE16_MEMBER(nmk16_state::tdragon_mainram_w) } /*coin setting MCU simulation*/ -void nmk16_state::mcu_run(uint8_t dsw_setting) +void nmk16_state::mcu_run(u8 dsw_setting) { - uint16_t coin_input; - uint8_t dsw[2]; - uint8_t i; + u16 coin_input; + u8 dsw[2]; + u8 i; /*Accept the start button but needs some m68k processing first,otherwise you can't start a play with 1 credit inserted*/ - if(m_start_helper & 1 && m_mainram[0x9000/2] & 0x0200) /*start 1 */ + if (m_start_helper & 1 && m_mainram[0x9000/2] & 0x0200) /*start 1 */ { m_mainram[0xef00/2]--; m_start_helper = m_start_helper & 2; } - if(m_start_helper & 2 && m_mainram[0x9000/2] & 0x0100) /*start 2*/ + if (m_start_helper & 2 && m_mainram[0x9000/2] & 0x0100) /*start 2*/ { m_mainram[0xef00/2]--; m_start_helper = m_start_helper & 1; } /*needed because of the uncompatibility of the dsw settings.*/ - if(dsw_setting) // Thunder Dragon + if (dsw_setting) // Thunder Dragon { dsw[0] = (m_dsw_io[1]->read() & 0x7); dsw[1] = (m_dsw_io[1]->read() & 0x38) >> 3; - for(i=0;i<2;i++) + for (i = 0; i < 2; i++) { - switch(dsw[i] & 7) + switch (dsw[i] & 7) { - case 0: m_mainram[0x9000/2]|=0x4000; break; //free play + case 0: m_mainram[0x9000/2] |= 0x4000; break; //free play case 1: m_coin_count_frac[i] = 1; m_coin_count[i] = 4; break; case 2: m_coin_count_frac[i] = 1; m_coin_count[i] = 3; break; case 3: m_coin_count_frac[i] = 1; m_coin_count[i] = 2; break; @@ -852,11 +862,11 @@ void nmk16_state::mcu_run(uint8_t dsw_setting) { dsw[0] = (m_dsw_io[0]->read() & 0x0700) >> 8; dsw[1] = (m_dsw_io[0]->read() & 0x3800) >> 11; - for(i=0;i<2;i++) + for (i = 0; i < 2; i++) { - switch(dsw[i] & 7) + switch (dsw[i] & 7) { - case 0: m_mainram[0x9000/2]|=0x4000; break; //free play + case 0: m_mainram[0x9000/2] |= 0x4000; break; //free play case 1: m_coin_count_frac[i] = 4; m_coin_count[i] = 1; break; case 2: m_coin_count_frac[i] = 3; m_coin_count[i] = 1; break; case 3: m_coin_count_frac[i] = 2; m_coin_count[i] = 1; break; @@ -871,51 +881,51 @@ void nmk16_state::mcu_run(uint8_t dsw_setting) /*read the coin port*/ coin_input = (~(m_in_io[0]->read())); - if(coin_input & 0x01)//coin 1 + if (coin_input & 0x01)//coin 1 { - if((m_input_pressed & 0x01) == 0) + if ((m_input_pressed & 0x01) == 0) { - if(m_coin_count_frac[0] != 1) + if (m_coin_count_frac[0] != 1) { - m_mainram[0xef02/2]+=m_coin_count[0]; - if(m_coin_count_frac[0] == m_mainram[0xef02/2]) + m_mainram[0xef02/2] += m_coin_count[0]; + if (m_coin_count_frac[0] == m_mainram[0xef02/2]) { - m_mainram[0xef00/2]+=m_coin_count[0]; + m_mainram[0xef00/2] += m_coin_count[0]; m_mainram[0xef02/2] = 0; } } else - m_mainram[0xef00/2]+=m_coin_count[0]; + m_mainram[0xef00/2] += m_coin_count[0]; } m_input_pressed = (m_input_pressed & 0xfe) | 1; } else m_input_pressed = (m_input_pressed & 0xfe); - if(coin_input & 0x02)//coin 2 + if (coin_input & 0x02)//coin 2 { - if((m_input_pressed & 0x02) == 0) + if ((m_input_pressed & 0x02) == 0) { - if(m_coin_count_frac[1] != 1) + if (m_coin_count_frac[1] != 1) { - m_mainram[0xef02/2]+=m_coin_count[1]; - if(m_coin_count_frac[1] == m_mainram[0xef02/2]) + m_mainram[0xef02/2] += m_coin_count[1]; + if (m_coin_count_frac[1] == m_mainram[0xef02/2]) { - m_mainram[0xef00/2]+=m_coin_count[1]; + m_mainram[0xef00/2] += m_coin_count[1]; m_mainram[0xef02/2] = 0; } } else - m_mainram[0xef00/2]+=m_coin_count[1]; + m_mainram[0xef00/2] += m_coin_count[1]; } m_input_pressed = (m_input_pressed & 0xfd) | 2; } else m_input_pressed = (m_input_pressed & 0xfd); - if(coin_input & 0x04)//service 1 + if (coin_input & 0x04)//service 1 { - if((m_input_pressed & 0x04) == 0) + if ((m_input_pressed & 0x04) == 0) m_mainram[0xef00/2]++; m_input_pressed = (m_input_pressed & 0xfb) | 4; } @@ -923,11 +933,11 @@ void nmk16_state::mcu_run(uint8_t dsw_setting) m_input_pressed = (m_input_pressed & 0xfb); /*The 0x9000 ram address is the status */ - if(m_mainram[0xef00/2] > 0 && m_mainram[0x9000/2] & 0x8000) //enable start button + if (m_mainram[0xef00/2] > 0 && m_mainram[0x9000/2] & 0x8000) //enable start button { - if(coin_input & 0x08)//start 1 + if (coin_input & 0x08)//start 1 { - if((m_input_pressed & 0x08) == 0 && (!(m_mainram[0x9000/2] & 0x0200))) //start 1 + if ((m_input_pressed & 0x08) == 0 && (!(m_mainram[0x9000/2] & 0x0200))) //start 1 m_start_helper = 1; m_input_pressed = (m_input_pressed & 0xf7) | 8; @@ -935,10 +945,10 @@ void nmk16_state::mcu_run(uint8_t dsw_setting) else m_input_pressed = (m_input_pressed & 0xf7); - if(coin_input & 0x10)//start 2 + if (coin_input & 0x10)//start 2 { /*Decrease two coins to let two players play with one start 2 button and two credits inserted at the insert coin screen.*/ - if((m_input_pressed & 0x10) == 0 && (!(m_mainram[0x9000/2] & 0x0100))) // start 2 + if ((m_input_pressed & 0x10) == 0 && (!(m_mainram[0x9000/2] & 0x0100))) // start 2 m_start_helper = (m_mainram[0x9000/2] == 0x8000) ? (3) : (2); m_input_pressed = (m_input_pressed & 0xef) | 0x10; @@ -973,18 +983,18 @@ void nmk16_state::tdragon_map(address_map &map) map(0x0c0008, 0x0c0009).portr("DSW1"); map(0x0c000a, 0x0c000b).portr("DSW2"); map(0x0c000f, 0x0c000f).r(m_nmk004, FUNC(nmk004_device::read)); - map(0x0c0015, 0x0c0015).w(FUNC(nmk16_state::nmk_flipscreen_w)); /* Maybe */ - map(0x0c0016, 0x0c0017).w(FUNC(nmk16_state::nmk16_x0016_w)); - map(0x0c0019, 0x0c0019).w(FUNC(nmk16_state::nmk_tilebank_w)); /* Tile Bank ? */ + map(0x0c0015, 0x0c0015).w(FUNC(nmk16_state::flipscreen_w)); /* Maybe */ + map(0x0c0016, 0x0c0017).w(FUNC(nmk16_state::nmk004_x0016_w)); + map(0x0c0019, 0x0c0019).w(FUNC(nmk16_state::tilebank_w)); /* Tile Bank ? */ map(0x0c001f, 0x0c001f).w(m_nmk004, FUNC(nmk004_device::write)); - map(0x0c4000, 0x0c4007).ram().w(FUNC(nmk16_state::nmk_scroll_w<0>)).umask16(0x00ff); + map(0x0c4000, 0x0c4007).ram().w(FUNC(nmk16_state::scroll_w<0>)).umask16(0x00ff); map(0x0c8000, 0x0c87ff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); - map(0x0cc000, 0x0cffff).ram().w(FUNC(nmk16_state::nmk_bgvideoram_w<0>)).share("nmk_bgvideoram0"); - map(0x0d0000, 0x0d07ff).ram().w(FUNC(nmk16_state::nmk_txvideoram_w)).share("nmk_txvideoram"); + map(0x0cc000, 0x0cffff).ram().w(FUNC(nmk16_state::bgvideoram_w<0>)).share("bgvideoram0"); + map(0x0d0000, 0x0d07ff).ram().w(FUNC(nmk16_state::txvideoram_w)).share("txvideoram"); } // No sprites without this. Is it actually protection? -READ16_MEMBER(nmk16_state::tdragonb_prot_r) +u16 nmk16_state::tdragonb_prot_r() { return 0x0003; } @@ -998,13 +1008,13 @@ void nmk16_state::tdragonb_map(address_map &map) map(0x0c0002, 0x0c0003).portr("IN1"); map(0x0c0008, 0x0c0009).portr("DSW1"); map(0x0c000a, 0x0c000b).portr("DSW2"); - map(0x0c0015, 0x0c0015).w(FUNC(nmk16_state::nmk_flipscreen_w)); /* Maybe */ - map(0x0c0019, 0x0c0019).w(FUNC(nmk16_state::nmk_tilebank_w)); /* Tile Bank ? */ + map(0x0c0015, 0x0c0015).w(FUNC(nmk16_state::flipscreen_w)); /* Maybe */ + map(0x0c0019, 0x0c0019).w(FUNC(nmk16_state::tilebank_w)); /* Tile Bank ? */ map(0x0c001e, 0x0c001f).w("seibu_sound", FUNC(seibu_sound_device::main_mustb_w)); - map(0x0c4000, 0x0c4007).ram().w(FUNC(nmk16_state::nmk_scroll_w<0>)).umask16(0x00ff); + map(0x0c4000, 0x0c4007).ram().w(FUNC(nmk16_state::scroll_w<0>)).umask16(0x00ff); map(0x0c8000, 0x0c87ff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); - map(0x0cc000, 0x0cffff).ram().w(FUNC(nmk16_state::nmk_bgvideoram_w<0>)).share("nmk_bgvideoram0"); - map(0x0d0000, 0x0d07ff).ram().w(FUNC(nmk16_state::nmk_txvideoram_w)).share("nmk_txvideoram"); + map(0x0cc000, 0x0cffff).ram().w(FUNC(nmk16_state::bgvideoram_w<0>)).share("bgvideoram0"); + map(0x0d0000, 0x0d07ff).ram().w(FUNC(nmk16_state::txvideoram_w)).share("txvideoram"); } void nmk16_state::ssmissin_map(address_map &map) @@ -1015,13 +1025,13 @@ void nmk16_state::ssmissin_map(address_map &map) map(0x0c0004, 0x0c0005).portr("IN1"); map(0x0c0006, 0x0c0007).portr("DSW1"); // AM_RANGE(0x0c000e, 0x0c000f) AM_READ(??) - map(0x0c0015, 0x0c0015).w(FUNC(nmk16_state::nmk_flipscreen_w)); /* Maybe */ - map(0x0c0019, 0x0c0019).w(FUNC(nmk16_state::nmk_tilebank_w)); /* Tile Bank ? */ + map(0x0c0015, 0x0c0015).w(FUNC(nmk16_state::flipscreen_w)); /* Maybe */ + map(0x0c0019, 0x0c0019).w(FUNC(nmk16_state::tilebank_w)); /* Tile Bank ? */ map(0x0c001f, 0x0c001f).w(m_soundlatch, FUNC(generic_latch_8_device::write)); - map(0x0c4000, 0x0c4007).ram().w(FUNC(nmk16_state::nmk_scroll_w<0>)).umask16(0x00ff); + map(0x0c4000, 0x0c4007).ram().w(FUNC(nmk16_state::scroll_w<0>)).umask16(0x00ff); map(0x0c8000, 0x0c87ff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); - map(0x0cc000, 0x0cffff).ram().w(FUNC(nmk16_state::nmk_bgvideoram_w<0>)).share("nmk_bgvideoram0"); - map(0x0d0000, 0x0d07ff).mirror(0x1800).ram().w(FUNC(nmk16_state::nmk_txvideoram_w)).share("nmk_txvideoram"); //mirror for airattck + map(0x0cc000, 0x0cffff).ram().w(FUNC(nmk16_state::bgvideoram_w<0>)).share("bgvideoram0"); + map(0x0d0000, 0x0d07ff).mirror(0x1800).ram().w(FUNC(nmk16_state::txvideoram_w)).share("txvideoram"); //mirror for airattck } void nmk16_state::ssmissin_sound_map(address_map &map) @@ -1035,13 +1045,13 @@ void nmk16_state::ssmissin_sound_map(address_map &map) void nmk16_state::oki1_map(address_map &map) { - map(0x00000, 0x1ffff).rom(); + map(0x00000, 0x1ffff).rom().region("oki1", 0); map(0x20000, 0x3ffff).bankr("okibank1"); } void nmk16_state::oki2_map(address_map &map) { - map(0x00000, 0x1ffff).rom(); + map(0x00000, 0x1ffff).rom().region("oki2", 0); map(0x20000, 0x3ffff).bankr("okibank2"); } @@ -1053,15 +1063,15 @@ void nmk16_state::strahl_map(address_map &map) map(0x80008, 0x80009).portr("DSW1"); map(0x8000a, 0x8000b).portr("DSW2"); map(0x8000f, 0x8000f).r(m_nmk004, FUNC(nmk004_device::read)); - map(0x80015, 0x80015).w(FUNC(nmk16_state::nmk_flipscreen_w)); - map(0x80016, 0x80017).w(FUNC(nmk16_state::nmk16_x0016_w)); + map(0x80015, 0x80015).w(FUNC(nmk16_state::flipscreen_w)); + map(0x80016, 0x80017).w(FUNC(nmk16_state::nmk004_x0016_w)); map(0x8001f, 0x8001f).w(m_nmk004, FUNC(nmk004_device::write)); - map(0x84000, 0x84007).ram().w(FUNC(nmk16_state::nmk_scroll_w<0>)).umask16(0x00ff); - map(0x88000, 0x88007).ram().w(FUNC(nmk16_state::nmk_scroll_w<1>)).umask16(0x00ff); + map(0x84000, 0x84007).ram().w(FUNC(nmk16_state::scroll_w<0>)).umask16(0x00ff); + map(0x88000, 0x88007).ram().w(FUNC(nmk16_state::scroll_w<1>)).umask16(0x00ff); map(0x8c000, 0x8c7ff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); - map(0x90000, 0x93fff).ram().w(FUNC(nmk16_state::nmk_bgvideoram_w<0>)).share("nmk_bgvideoram0"); - map(0x94000, 0x97fff).ram().w(FUNC(nmk16_state::nmk_bgvideoram_w<1>)).share("nmk_bgvideoram1"); - map(0x9c000, 0x9c7ff).ram().w(FUNC(nmk16_state::nmk_txvideoram_w)).share("nmk_txvideoram"); + map(0x90000, 0x93fff).ram().w(FUNC(nmk16_state::bgvideoram_w<0>)).share("bgvideoram0"); + map(0x94000, 0x97fff).ram().w(FUNC(nmk16_state::bgvideoram_w<1>)).share("bgvideoram1"); + map(0x9c000, 0x9c7ff).ram().w(FUNC(nmk16_state::txvideoram_w)).share("txvideoram"); map(0xf0000, 0xfffff).ram().share("mainram"); } @@ -1073,15 +1083,15 @@ void nmk16_state::macross_map(address_map &map) map(0x080008, 0x080009).portr("DSW1"); map(0x08000a, 0x08000b).portr("DSW2"); map(0x08000f, 0x08000f).r(m_nmk004, FUNC(nmk004_device::read)); - map(0x080015, 0x080015).w(FUNC(nmk16_state::nmk_flipscreen_w)); - map(0x080016, 0x080017).w(FUNC(nmk16_state::nmk16_x0016_w)); - map(0x080019, 0x080019).w(FUNC(nmk16_state::nmk_tilebank_w)); + map(0x080015, 0x080015).w(FUNC(nmk16_state::flipscreen_w)); + map(0x080016, 0x080017).w(FUNC(nmk16_state::nmk004_x0016_w)); + map(0x080019, 0x080019).w(FUNC(nmk16_state::tilebank_w)); map(0x08001f, 0x08001f).w(m_nmk004, FUNC(nmk004_device::write)); map(0x088000, 0x0887ff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); - map(0x08c000, 0x08c007).ram().w(FUNC(nmk16_state::nmk_scroll_w<0>)).umask16(0x00ff); - map(0x090000, 0x093fff).ram().w(FUNC(nmk16_state::nmk_bgvideoram_w<0>)).share("nmk_bgvideoram0"); - map(0x09c000, 0x09c7ff).ram().w(FUNC(nmk16_state::nmk_txvideoram_w)).share("nmk_txvideoram"); - map(0x0f0000, 0x0fffff).ram().w(FUNC(nmk16_state::nmk16_mainram_strange_w)).share("mainram"); + map(0x08c000, 0x08c007).ram().w(FUNC(nmk16_state::scroll_w<0>)).umask16(0x00ff); + map(0x090000, 0x093fff).ram().w(FUNC(nmk16_state::bgvideoram_w<0>)).share("bgvideoram0"); + map(0x09c000, 0x09c7ff).ram().w(FUNC(nmk16_state::txvideoram_w)).share("txvideoram"); + map(0x0f0000, 0x0fffff).ram().w(FUNC(nmk16_state::mainram_strange_w)).share("mainram"); } void nmk16_state::gunnail_map(address_map &map) @@ -1092,16 +1102,16 @@ void nmk16_state::gunnail_map(address_map &map) map(0x080008, 0x080009).portr("DSW1"); map(0x08000a, 0x08000b).portr("DSW2"); map(0x08000f, 0x08000f).r(m_nmk004, FUNC(nmk004_device::read)); - map(0x080015, 0x080015).w(FUNC(nmk16_state::nmk_flipscreen_w)); - map(0x080016, 0x080017).w(FUNC(nmk16_state::nmk16_x0016_w)); - map(0x080019, 0x080019).w(FUNC(nmk16_state::nmk_tilebank_w)); + map(0x080015, 0x080015).w(FUNC(nmk16_state::flipscreen_w)); + map(0x080016, 0x080017).w(FUNC(nmk16_state::nmk004_x0016_w)); + map(0x080019, 0x080019).w(FUNC(nmk16_state::tilebank_w)); map(0x08001f, 0x08001f).w(m_nmk004, FUNC(nmk004_device::write)); map(0x088000, 0x0887ff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); map(0x08c000, 0x08c1ff).writeonly().share("scrollram"); map(0x08c200, 0x08c3ff).writeonly().share("scrollramy"); map(0x08c400, 0x08c7ff).writeonly(); // unknown - map(0x090000, 0x093fff).ram().w(FUNC(nmk16_state::nmk_bgvideoram_w<0>)).share("nmk_bgvideoram0"); - map(0x09c000, 0x09cfff).mirror(0x001000).ram().w(FUNC(nmk16_state::nmk_txvideoram_w)).share("nmk_txvideoram"); + map(0x090000, 0x093fff).ram().w(FUNC(nmk16_state::bgvideoram_w<0>)).share("bgvideoram0"); + map(0x09c000, 0x09cfff).mirror(0x001000).ram().w(FUNC(nmk16_state::txvideoram_w)).share("txvideoram"); map(0x0f0000, 0x0fffff).ram().share("mainram"); } @@ -1113,16 +1123,16 @@ void nmk16_state::gunnailb_map(address_map &map) map(0x080008, 0x080009).portr("DSW1"); map(0x08000a, 0x08000b).portr("DSW2"); // map(0x08000e, 0x08000f).nopr(); - map(0x080015, 0x080015).w(FUNC(nmk16_state::nmk_flipscreen_w)); + map(0x080015, 0x080015).w(FUNC(nmk16_state::flipscreen_w)); // map(0x080016, 0x080017).noprw(); - map(0x080019, 0x080019).w(FUNC(nmk16_state::nmk_tilebank_w)); + map(0x080019, 0x080019).w(FUNC(nmk16_state::tilebank_w)); // map(0x08001e, 0x08001f).nopw(); map(0x088000, 0x0887ff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); map(0x08c000, 0x08c1ff).writeonly().share("scrollram"); map(0x08c200, 0x08c3ff).writeonly().share("scrollramy"); map(0x08c400, 0x08c7ff).writeonly(); // unknown - map(0x090000, 0x093fff).ram().w(FUNC(nmk16_state::nmk_bgvideoram_w<0>)).share("nmk_bgvideoram0"); - map(0x09c000, 0x09cfff).mirror(0x001000).ram().w(FUNC(nmk16_state::nmk_txvideoram_w)).share("nmk_txvideoram"); + map(0x090000, 0x093fff).ram().w(FUNC(nmk16_state::bgvideoram_w<0>)).share("bgvideoram0"); + map(0x09c000, 0x09cfff).mirror(0x001000).ram().w(FUNC(nmk16_state::txvideoram_w)).share("txvideoram"); map(0x0f0000, 0x0fffff).ram().share("mainram"); // map(0x194000, 0x194000) } @@ -1151,20 +1161,26 @@ void nmk16_state::macross2_map(address_map &map) map(0x100008, 0x100009).portr("DSW1"); map(0x10000a, 0x10000b).portr("DSW2"); map(0x10000f, 0x10000f).r("soundlatch2", FUNC(generic_latch_8_device::read)); /* from Z80 */ - map(0x100015, 0x100015).w(FUNC(nmk16_state::nmk_flipscreen_w)); + map(0x100015, 0x100015).w(FUNC(nmk16_state::flipscreen_w)); map(0x100016, 0x100017).w(FUNC(nmk16_state::macross2_sound_reset_w)); /* Z80 reset */ - map(0x100019, 0x100019).w(FUNC(nmk16_state::nmk_tilebank_w)); + map(0x100019, 0x100019).w(FUNC(nmk16_state::tilebank_w)); map(0x10001f, 0x10001f).w(m_soundlatch, FUNC(generic_latch_8_device::write)); /* to Z80 */ map(0x120000, 0x1207ff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); - map(0x130000, 0x130007).ram().w(FUNC(nmk16_state::nmk_scroll_w<0>)).umask16(0x00ff); - map(0x140000, 0x14ffff).ram().w(FUNC(nmk16_state::nmk_bgvideoram_w<0>)).share("nmk_bgvideoram0"); - map(0x170000, 0x170fff).mirror(0x1000).ram().w(FUNC(nmk16_state::nmk_txvideoram_w)).share("nmk_txvideoram"); + map(0x130000, 0x130007).ram().w(FUNC(nmk16_state::scroll_w<0>)).umask16(0x00ff); + map(0x140000, 0x14ffff).ram().w(FUNC(nmk16_state::bgvideoram_w<0>)).share("bgvideoram0"); + map(0x170000, 0x170fff).mirror(0x1000).ram().w(FUNC(nmk16_state::txvideoram_w)).share("txvideoram"); map(0x1f0000, 0x1fffff).ram().share("mainram"); } +void nmk16_state::tdragon2_map(address_map &map) +{ // mainram address scrambled + macross2_map(map); + map(0x1f0000, 0x1fffff).rw(FUNC(nmk16_state::mainram_swapped_r), FUNC(nmk16_state::mainram_swapped_w)).share("mainram"); +} + void nmk16_state::tdragon3h_map(address_map &map) { // bootleg has these 2 swapped - macross2_map(map); + tdragon2_map(map); map(0x10000e, 0x10000f).portr("DSW2"); map(0x10000b, 0x10000b).r("soundlatch2", FUNC(generic_latch_8_device::read)); /* from Z80 */ } @@ -1177,17 +1193,17 @@ void nmk16_state::raphero_map(address_map &map) map(0x100008, 0x100009).portr("DSW1"); map(0x10000a, 0x10000b).portr("DSW2"); map(0x10000f, 0x10000f).r("soundlatch2", FUNC(generic_latch_8_device::read)); /* from Z80 */ - map(0x100015, 0x100015).w(FUNC(nmk16_state::nmk_flipscreen_w)); + map(0x100015, 0x100015).w(FUNC(nmk16_state::flipscreen_w)); map(0x100016, 0x100017).nopw(); /* IRQ enable or z80 sound reset like in Macross 2? */ - map(0x100019, 0x100019).w(FUNC(nmk16_state::nmk_tilebank_w)); + map(0x100019, 0x100019).w(FUNC(nmk16_state::tilebank_w)); map(0x10001f, 0x10001f).w(m_soundlatch, FUNC(generic_latch_8_device::write)); /* to Z80 */ map(0x120000, 0x1207ff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); map(0x130000, 0x1301ff).ram().w(FUNC(nmk16_state::raphero_scroll_w)).share("scrollram"); map(0x130200, 0x1303ff).ram().share("scrollramy"); map(0x130400, 0x1307ff).ram(); - map(0x140000, 0x14ffff).ram().w(FUNC(nmk16_state::nmk_bgvideoram_w<0>)).share("nmk_bgvideoram0"); - map(0x170000, 0x170fff).mirror(0x1000).ram().w(FUNC(nmk16_state::nmk_txvideoram_w)).share("nmk_txvideoram"); - map(0x1f0000, 0x1fffff).ram().share("mainram"); + map(0x140000, 0x14ffff).ram().w(FUNC(nmk16_state::bgvideoram_w<0>)).share("bgvideoram0"); + map(0x170000, 0x170fff).mirror(0x1000).ram().w(FUNC(nmk16_state::txvideoram_w)).share("txvideoram"); + map(0x1f0000, 0x1fffff).rw(FUNC(nmk16_state::mainram_swapped_r), FUNC(nmk16_state::mainram_swapped_w)).share("mainram"); } void nmk16_state::raphero_sound_mem_map(address_map &map) @@ -1229,14 +1245,14 @@ void nmk16_state::bjtwin_map(address_map &map) map(0x080002, 0x080003).portr("IN1"); map(0x080008, 0x080009).portr("DSW1"); map(0x08000a, 0x08000b).portr("DSW2"); - map(0x080015, 0x080015).w(FUNC(nmk16_state::nmk_flipscreen_w)); + map(0x080015, 0x080015).w(FUNC(nmk16_state::flipscreen_w)); map(0x084001, 0x084001).rw(m_oki[0], FUNC(okim6295_device::read), FUNC(okim6295_device::write)); map(0x084011, 0x084011).rw(m_oki[1], FUNC(okim6295_device::read), FUNC(okim6295_device::write)); map(0x084020, 0x08402f).w("nmk112", FUNC(nmk112_device::okibank_w)).umask16(0x00ff); map(0x088000, 0x0887ff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); - map(0x094001, 0x094001).w(FUNC(nmk16_state::nmk_tilebank_w)); + map(0x094001, 0x094001).w(FUNC(nmk16_state::tilebank_w)); map(0x094002, 0x094003).nopw(); /* IRQ enable? */ - map(0x09c000, 0x09cfff).mirror(0x1000).ram().w(FUNC(nmk16_state::nmk_bgvideoram_w<0>)).share("nmk_bgvideoram0"); + map(0x09c000, 0x09cfff).mirror(0x1000).ram().w(FUNC(nmk16_state::bgvideoram_w<0>)).share("bgvideoram0"); map(0x0f0000, 0x0fffff).ram().share("mainram"); } @@ -3964,17 +3980,6 @@ static INPUT_PORTS_START( dolmen ) INPUT_PORTS_END -static const gfx_layout charlayout = -{ - 8,8, - RGN_FRAC(1,1), - 4, - { STEP4(0,1) }, - { STEP8(0,4) }, - { STEP8(0,4*8) }, - 32*8 -}; - static const gfx_layout tilelayout = { 16,16, @@ -3987,42 +3992,41 @@ static const gfx_layout tilelayout = }; static GFXDECODE_START( gfx_tharrier ) - GFXDECODE_ENTRY( "fgtile", 0, charlayout, 0x000, 16 ) /* color 0x200-0x2ff */ - GFXDECODE_ENTRY( "bgtile", 0, tilelayout, 0x000, 16 ) /* color 0x000-0x0ff */ - GFXDECODE_ENTRY( "sprites", 0, tilelayout, 0x100, 16 ) /* color 0x100-0x1ff */ + GFXDECODE_ENTRY( "fgtile", 0, gfx_8x8x4_packed_msb, 0x000, 16 ) /* color 0x000-0x0ff */ + GFXDECODE_ENTRY( "bgtile", 0, tilelayout, 0x000, 16 ) /* color 0x000-0x0ff */ + GFXDECODE_ENTRY( "sprites", 0, tilelayout, 0x100, 16 ) /* color 0x100-0x1ff */ GFXDECODE_END static GFXDECODE_START( gfx_macross ) - GFXDECODE_ENTRY( "fgtile", 0, charlayout, 0x200, 16 ) /* color 0x200-0x2ff */ - GFXDECODE_ENTRY( "bgtile", 0, tilelayout, 0x000, 16 ) /* color 0x000-0x0ff */ - GFXDECODE_ENTRY( "sprites", 0, tilelayout, 0x100, 16 ) /* color 0x100-0x1ff */ + GFXDECODE_ENTRY( "fgtile", 0, gfx_8x8x4_packed_msb, 0x200, 16 ) /* color 0x200-0x2ff */ + GFXDECODE_ENTRY( "bgtile", 0, tilelayout, 0x000, 16 ) /* color 0x000-0x0ff */ + GFXDECODE_ENTRY( "sprites", 0, tilelayout, 0x100, 16 ) /* color 0x100-0x1ff */ GFXDECODE_END static GFXDECODE_START( gfx_macross2 ) - GFXDECODE_ENTRY( "fgtile", 0, charlayout, 0x300, 16 ) /* color 0x300-0x3ff */ - GFXDECODE_ENTRY( "bgtile", 0, tilelayout, 0x000, 16 ) /* color 0x000-0x0ff */ - GFXDECODE_ENTRY( "sprites", 0, tilelayout, 0x100, 32 ) /* color 0x100-0x2ff */ + GFXDECODE_ENTRY( "fgtile", 0, gfx_8x8x4_packed_msb, 0x300, 16 ) /* color 0x300-0x3ff */ + GFXDECODE_ENTRY( "bgtile", 0, tilelayout, 0x000, 16 ) /* color 0x000-0x0ff */ + GFXDECODE_ENTRY( "sprites", 0, tilelayout, 0x100, 32 ) /* color 0x100-0x2ff */ GFXDECODE_END static GFXDECODE_START( gfx_bjtwin ) - GFXDECODE_ENTRY( "fgtile", 0, charlayout, 0x000, 16 ) /* color 0x000-0x0ff */ - GFXDECODE_ENTRY( "bgtile", 0, charlayout, 0x000, 16 ) /* color 0x000-0x0ff */ - GFXDECODE_ENTRY( "sprites", 0, tilelayout, 0x100, 16 ) /* color 0x100-0x1ff */ + GFXDECODE_ENTRY( "fgtile", 0, gfx_8x8x4_packed_msb, 0x000, 16 ) /* color 0x000-0x0ff */ + GFXDECODE_ENTRY( "bgtile", 0, gfx_8x8x4_packed_msb, 0x000, 16 ) /* color 0x000-0x0ff */ + GFXDECODE_ENTRY( "sprites", 0, tilelayout, 0x100, 16 ) /* color 0x100-0x1ff */ GFXDECODE_END - static GFXDECODE_START( gfx_bioship ) - GFXDECODE_ENTRY( "fgtile", 0, charlayout, 0x300, 16 ) /* color 0x300-0x3ff */ - GFXDECODE_ENTRY( "bgtile", 0, tilelayout, 0x100, 16 ) /* color 0x100-0x1ff */ - GFXDECODE_ENTRY( "sprites", 0, tilelayout, 0x200, 16 ) /* color 0x200-0x2ff */ - GFXDECODE_ENTRY( "gfx4", 0, tilelayout, 0x000, 16 ) /* color 0x000-0x0ff */ + GFXDECODE_ENTRY( "fgtile", 0, gfx_8x8x4_packed_msb, 0x300, 16 ) /* color 0x300-0x3ff */ + GFXDECODE_ENTRY( "bgtile", 0, tilelayout, 0x100, 16 ) /* color 0x100-0x1ff */ + GFXDECODE_ENTRY( "sprites", 0, tilelayout, 0x200, 16 ) /* color 0x200-0x2ff */ + GFXDECODE_ENTRY( "gfx4", 0, tilelayout, 0x000, 16 ) /* color 0x000-0x0ff */ GFXDECODE_END static GFXDECODE_START( gfx_strahl ) - GFXDECODE_ENTRY( "fgtile", 0, charlayout, 0x000, 16 ) /* color 0x000-0x0ff */ - GFXDECODE_ENTRY( "bgtile", 0, tilelayout, 0x300, 16 ) /* color 0x300-0x3ff */ - GFXDECODE_ENTRY( "sprites", 0, tilelayout, 0x100, 16 ) /* color 0x100-0x1ff */ - GFXDECODE_ENTRY( "gfx4", 0, tilelayout, 0x200, 16 ) /* color 0x200-0x2ff */ + GFXDECODE_ENTRY( "fgtile", 0, gfx_8x8x4_packed_msb, 0x000, 16 ) /* color 0x000-0x0ff */ + GFXDECODE_ENTRY( "bgtile", 0, tilelayout, 0x300, 16 ) /* color 0x300-0x3ff */ + GFXDECODE_ENTRY( "sprites", 0, tilelayout, 0x100, 16 ) /* color 0x100-0x1ff */ + GFXDECODE_ENTRY( "gfx4", 0, tilelayout, 0x200, 16 ) /* color 0x200-0x2ff */ GFXDECODE_END @@ -4064,7 +4068,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(nmk16_state::nmk16_scanline) int scanline = param; - if(scanline == VBOUT_sCANLINE) // vblank-out irq + if (scanline == VBOUT_sCANLINE) // vblank-out irq m_maincpu->set_input_line(4, HOLD_LINE); if (scanline == SPRDMA_SCANLINE) @@ -4076,15 +4080,15 @@ TIMER_DEVICE_CALLBACK_MEMBER(nmk16_state::nmk16_scanline) /* Vblank-in irq, Vandyke definitely relies that irq fires at scanline ~0 instead of 112 (as per previous cpu_getiloops function implementation), mostly noticeable with sword collisions and related attract mode behaviour. */ - if(scanline == VBIN_SCANLINE) + if (scanline == VBIN_SCANLINE) m_maincpu->set_input_line(2, HOLD_LINE); /* time from IRQ2 to first IRQ1 fire. is not stated, 25 is a guess */ - if(scanline == IRQ1_SCANLINE) + if (scanline == IRQ1_SCANLINE) m_maincpu->set_input_line(1, HOLD_LINE); /* 8.9ms from first IRQ1 to second IRQ1 fire. approx 128 lines (half frame time) */ - if(scanline == IRQ1_SCANLINE+(NUM_SCANLINES/2)) // if this happens too late bioship sprites will glitch on the left edge + if (scanline == IRQ1_SCANLINE+(NUM_SCANLINES/2)) // if this happens too late bioship sprites will glitch on the left edge m_maincpu->set_input_line(1, HOLD_LINE); } @@ -4258,11 +4262,11 @@ void nmk16_state::bioship(machine_config &config) ymsnd.add_route(2, "mono", 0.50); ymsnd.add_route(3, "mono", 1.20); - OKIM6295(config, m_oki[0], BIOSHIP_CRYSTAL2 / 3 , okim6295_device::PIN7_LOW); /* 4.0 Mhz, Pin 7 High (verified) */ + OKIM6295(config, m_oki[0], BIOSHIP_CRYSTAL2 / 3, okim6295_device::PIN7_LOW); /* 4.0 Mhz, Pin 7 High (verified) */ m_oki[0]->set_addrmap(0, &nmk16_state::oki1_map); m_oki[0]->add_route(ALL_OUTPUTS, "mono", 0.10); - OKIM6295(config, m_oki[1], BIOSHIP_CRYSTAL2 / 3 , okim6295_device::PIN7_LOW); /* 4.0 Mhz, Pin 7 High (verified) */ + OKIM6295(config, m_oki[1], BIOSHIP_CRYSTAL2 / 3, okim6295_device::PIN7_LOW); /* 4.0 Mhz, Pin 7 High (verified) */ m_oki[1]->set_addrmap(0, &nmk16_state::oki2_map); m_oki[1]->add_route(ALL_OUTPUTS, "mono", 0.10); } @@ -4734,7 +4738,7 @@ void nmk16_state::tdragon2(machine_config &config) { /* basic machine hardware */ M68000(config, m_maincpu, 10000000); /* 10 MHz */ - m_maincpu->set_addrmap(AS_PROGRAM, &nmk16_state::macross2_map); + m_maincpu->set_addrmap(AS_PROGRAM, &nmk16_state::tdragon2_map); set_hacky_interrupt_timing(config); Z80(config, m_audiocpu, 4000000); /* 4 MHz */ @@ -4743,7 +4747,7 @@ void nmk16_state::tdragon2(machine_config &config) /* video hardware */ set_hacky_screen_hires(config); - m_screen->set_screen_update(FUNC(nmk16_state::screen_update_tdragon2)); + m_screen->set_screen_update(FUNC(nmk16_state::screen_update_macross)); GFXDECODE(config, m_gfxdecode, m_palette, gfx_macross2); PALETTE(config, m_palette).set_format(palette_device::RRRRGGGGBBBBRGBx, 1024); @@ -4793,7 +4797,7 @@ void nmk16_state::raphero(machine_config &config) /* video hardware */ set_hacky_screen_hires(config); - m_screen->set_screen_update(FUNC(nmk16_state::screen_update_tdragon2)); + m_screen->set_screen_update(FUNC(nmk16_state::screen_update_macross)); GFXDECODE(config, m_gfxdecode, m_palette, gfx_macross2); PALETTE(config, m_palette).set_format(palette_device::RRRRGGGGBBBBRGBx, 1024); @@ -4857,7 +4861,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(nmk16_state::manybloc_scanline) { int scanline = param; - if(scanline == 248) // vblank-out irq + if (scanline == 248) // vblank-out irq m_maincpu->set_input_line(4, HOLD_LINE); if (scanline == 248) @@ -4867,7 +4871,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(nmk16_state::manybloc_scanline) } /* This is either vblank-in or sprite dma irq complete */ - if(scanline == 0) + if (scanline == 0) m_maincpu->set_input_line(2, HOLD_LINE); } @@ -4955,48 +4959,44 @@ void nmk16_tomagic_state::tomagic(machine_config &config) } -uint8_t nmk16_state::decode_byte(uint8_t src, const uint8_t *bitp) +u8 nmk16_state::decode_byte(u8 src, const u8 *bitp) { - uint8_t ret, i; - - ret = 0; - for (i=0; i<8; i++) - ret |= (((src >> bitp[i]) & 1) << (7-i)); + u8 ret = 0; + for (int i = 0; i < 8; i++) + ret |= (((src >> bitp[i]) & 1) << (7 - i)); return ret; } -uint32_t nmk16_state::bjtwin_address_map_bg0(uint32_t addr) +u32 nmk16_state::bjtwin_address_map_bg0(u32 addr) { - return ((addr&0x00004)>> 2) | ((addr&0x00800)>> 10) | ((addr&0x40000)>>16); + return ((addr & 0x00004) >> 2) | ((addr & 0x00800) >> 10) | ((addr & 0x40000) >> 16); } -uint16_t nmk16_state::decode_word(uint16_t src, const uint8_t *bitp) +u16 nmk16_state::decode_word(u16 src, const u8 *bitp) { - uint16_t ret, i; - - ret=0; - for (i=0; i<16; i++) - ret |= (((src >> bitp[i]) & 1) << (15-i)); + u16 ret = 0; + for (int i = 0; i < 16; i++) + ret |= (((src >> bitp[i]) & 1) << (15 - i)); return ret; } -uint32_t nmk16_state::bjtwin_address_map_sprites(uint32_t addr) +u32 nmk16_state::bjtwin_address_map_sprites(u32 addr) { - return ((addr&0x00010)>> 4) | ((addr&0x20000)>>16) | ((addr&0x100000)>>18); + return ((addr & 0x00010) >> 4) | ((addr & 0x20000) >> 16) | ((addr & 0x100000) >> 18); } void nmk16_state::decode_gfx() { /* GFX are scrambled. We decode them here. (BIG Thanks to Antiriad for descrambling info) */ - uint8_t *rom; - int A, len; + u8 *rom; + int len; - static const uint8_t decode_data_bg[8][8] = + static const u8 decode_data_bg[8][8] = { {0x3,0x0,0x7,0x2,0x5,0x1,0x4,0x6}, {0x1,0x2,0x6,0x5,0x4,0x0,0x3,0x7}, @@ -5008,7 +5008,7 @@ void nmk16_state::decode_gfx() {0x3,0x4,0x7,0x6,0x2,0x0,0x5,0x1}, }; - static const uint8_t decode_data_sprite[8][16] = + static const u8 decode_data_sprite[8][16] = { {0x9,0x3,0x4,0x5,0x7,0x1,0xb,0x8,0x0,0xd,0x2,0xc,0xe,0x6,0xf,0xa}, {0x1,0x3,0xc,0x4,0x0,0xf,0xb,0xa,0x8,0x5,0xe,0x6,0xd,0x2,0x7,0x9}, @@ -5025,17 +5025,17 @@ void nmk16_state::decode_gfx() /* background */ rom = memregion("bgtile")->base(); len = memregion("bgtile")->bytes(); - for (A = 0;A < len;A++) + for (int A = 0; A < len; A++) { - rom[A] = decode_byte( rom[A], decode_data_bg[bjtwin_address_map_bg0(A)]); + rom[A] = decode_byte(rom[A], decode_data_bg[bjtwin_address_map_bg0(A)]); } /* sprites */ rom = memregion("sprites")->base(); len = memregion("sprites")->bytes(); - for (A = 0;A < len;A += 2) + for (int A = 0; A < len; A += 2) { - uint16_t tmp = decode_word( rom[A+1]*256 + rom[A], decode_data_sprite[bjtwin_address_map_sprites(A)]); + u16 tmp = decode_word(rom[A+1]*256 + rom[A], decode_data_sprite[bjtwin_address_map_sprites(A)]); rom[A+1] = tmp >> 8; rom[A] = tmp & 0xff; } @@ -5046,70 +5046,70 @@ void nmk16_state::decode_tdragonb() /* Descrambling Info Again Taken from Raine, Huge Thanks to Antiriad and the Raine Team for going Open Source, best of luck in future development. */ - uint8_t *rom; - int A, len; + u8 *rom; + int len; /* The Main 68k Program of the Bootleg is Bitswapped */ - static const uint8_t decode_data_tdragonb[1][16] = + static const u8 decode_data_tdragonb[1][16] = { {0xe,0xc,0xa,0x8,0x7,0x5,0x3,0x1,0xf,0xd,0xb,0x9,0x6,0x4,0x2,0x0}, }; /* Graphic Roms Could Also Do With Rearranging to make things simpler */ - static const uint8_t decode_data_tdragonbgfx[1][8] = + static const u8 decode_data_tdragonbgfx[1][8] = { {0x7,0x6,0x5,0x3,0x4,0x2,0x1,0x0}, }; rom = memregion("maincpu")->base(); len = memregion("maincpu")->bytes(); - for (A = 0;A < len;A += 2) + for (int A = 0; A < len; A += 2) { - int h = A+NATIVE_ENDIAN_VALUE_LE_BE(1,0), l = A+NATIVE_ENDIAN_VALUE_LE_BE(0,1); - uint16_t tmp = decode_word( rom[h]*256 + rom[l], decode_data_tdragonb[0]); + int h = A + NATIVE_ENDIAN_VALUE_LE_BE(1,0), l = A + NATIVE_ENDIAN_VALUE_LE_BE(0,1); + u16 tmp = decode_word(rom[h]*256 + rom[l], decode_data_tdragonb[0]); rom[h] = tmp >> 8; rom[l] = tmp & 0xff; } rom = memregion("bgtile")->base(); len = memregion("bgtile")->bytes(); - for (A = 0;A < len;A++) + for (int A = 0; A < len; A++) { - rom[A] = decode_byte( rom[A], decode_data_tdragonbgfx[0]); + rom[A] = decode_byte(rom[A], decode_data_tdragonbgfx[0]); } rom = memregion("sprites")->base(); len = memregion("sprites")->bytes(); - for (A = 0;A < len;A++) + for (int A = 0; A < len; A++) { - rom[A] = decode_byte( rom[A], decode_data_tdragonbgfx[0]); + rom[A] = decode_byte(rom[A], decode_data_tdragonbgfx[0]); } } void nmk16_state::decode_ssmissin() { /* Like Thunder Dragon Bootleg without the Program Rom Swapping */ - uint8_t *rom; - int A, len; + u8 *rom; + int len; /* Graphic Roms Could Also Do With Rearranging to make things simpler */ - static const uint8_t decode_data_tdragonbgfx[1][8] = + static const u8 decode_data_ssmissingfx[1][8] = { {0x7,0x6,0x5,0x3,0x4,0x2,0x1,0x0}, }; rom = memregion("bgtile")->base(); len = memregion("bgtile")->bytes(); - for (A = 0;A < len;A++) + for (int A = 0; A < len; A++) { - rom[A] = decode_byte( rom[A], decode_data_tdragonbgfx[0]); + rom[A] = decode_byte(rom[A], decode_data_ssmissingfx[0]); } rom = memregion("sprites")->base(); len = memregion("sprites")->bytes(); - for (A = 0;A < len;A++) + for (int A = 0; A < len; A++) { - rom[A] = decode_byte( rom[A], decode_data_tdragonbgfx[0]); + rom[A] = decode_byte(rom[A], decode_data_ssmissingfx[0]); } } @@ -5140,7 +5140,7 @@ void nmk16_state::init_tharrier() void nmk16_state::init_hachamf_prot() { - uint16_t *rom = (uint16_t *)memregion("maincpu")->base(); + u16 *rom = (u16 *)memregion("maincpu")->base(); //rom[0x0006/2] = 0x7dc2; /* replace reset vector with the "real" one */ @@ -5148,7 +5148,7 @@ void nmk16_state::init_hachamf_prot() rom[0x048a/2] = 0x4e71; rom[0x04aa/2] = 0x4e71; - m_maincpu->space(AS_PROGRAM).install_write_handler(0x0f0000, 0x0fffff, write16_delegate(FUNC(nmk16_state::hachamf_mainram_w),this)); + m_maincpu->space(AS_PROGRAM).install_write_handler(0x0f0000, 0x0fffff, write16s_delegate(FUNC(nmk16_state::hachamf_mainram_w),this)); save_protregs(); } @@ -5159,7 +5159,7 @@ void nmk16_state::init_tdragonb() void nmk16_state::init_tdragon_prot() { - uint16_t *rom = (uint16_t *)memregion("maincpu")->base(); + u16 *rom = (u16 *)memregion("maincpu")->base(); //rom[0x94b0/2] = 0; /* Patch out JMP to shared memory (protection) */ //rom[0x94b2/2] = 0x92f4; @@ -5168,7 +5168,7 @@ void nmk16_state::init_tdragon_prot() rom[0x048a/2] = 0x4e71; rom[0x04aa/2] = 0x4e71; - m_maincpu->space(AS_PROGRAM).install_write_handler(0x0b0000, 0x0bffff, write16_delegate(FUNC(nmk16_state::tdragon_mainram_w),this)); + m_maincpu->space(AS_PROGRAM).install_write_handler(0x0b0000, 0x0bffff, write16s_delegate(FUNC(nmk16_state::tdragon_mainram_w),this)); save_protregs(); } @@ -5179,6 +5179,11 @@ void nmk16_state::init_ssmissin() m_okibank[0]->configure_entries(0, 4, memregion("oki1")->base() + 0x80000, 0x20000); } +void nmk16_state::init_twinactn() +{ + m_okibank[0]->configure_entries(0, 4, memregion("oki1")->base(), 0x20000); +} + void nmk16_state::init_bjtwin() { /* Patch ROM to enable test mode */ @@ -5197,7 +5202,7 @@ void nmk16_state::init_bjtwin() * 008F7E: 207C 000F 9000 movea.l #$f9000, A0 */ #if 0 - uint16_t *rom = (uint16_t *)memregion("maincpu")->base(); + u16 *rom = (u16 *)memregion("maincpu")->base(); rom[0x09172/2] = 0x6006; /* patch checksum error */ rom[0x08f74/2] = 0x4e71; #endif @@ -5213,18 +5218,18 @@ void nmk16_state::init_gunnailb() } /* NO NMK004, it has a PIC instead */ -READ16_MEMBER(nmk16_state::vandykeb_r){ return 0x0000; } +u16 nmk16_state::vandykeb_r(){ return 0x0000; } void nmk16_state::init_vandykeb() { m_okibank[0]->configure_entries(0, 4, memregion("oki1")->base() + 0x20000, 0x20000); - m_maincpu->space(AS_PROGRAM).install_read_handler(0x08000e, 0x08000f, read16_delegate(FUNC(nmk16_state::vandykeb_r),this)); + m_maincpu->space(AS_PROGRAM).install_read_handler(0x08000e, 0x08000f, read16smo_delegate(FUNC(nmk16_state::vandykeb_r),this)); m_maincpu->space(AS_PROGRAM).nop_write(0x08001e, 0x08001f); } void nmk16_tomagic_state::init_tomagic() { // rearrange data so that we can use standard decode - uint8_t *rom = memregion("sprites")->base(); + u8 *rom = memregion("sprites")->base(); int size = memregion("sprites")->bytes(); for (int i = 0; i < size; i++) rom[i] = bitswap<8>(rom[i], 0,1,2,3,4,5,6,7); @@ -5241,60 +5246,60 @@ void nmk16_tomagic_state::init_tomagic() ***************************************************************************/ -READ16_MEMBER(nmk16_state::afega_unknown_r) +u16 afega_state::afega_unknown_r() { /* This fixes the text in Service Mode. */ return 0x0100; } -template<int Scroll> -WRITE16_MEMBER(nmk16_state::afega_scroll_w) +template<unsigned Scroll> +void afega_state::afega_scroll_w(offs_t offset, u16 data, u16 mem_mask) { COMBINE_DATA(&m_afega_scroll[Scroll][offset]); } -void nmk16_state::afega_map(address_map &map) +void afega_state::afega_map(address_map &map) { map.global_mask(0xfffff); map(0x000000, 0x07ffff).rom(); map(0x080000, 0x080001).portr("IN0"); // Buttons map(0x080002, 0x080003).portr("IN1"); // P1 + P2 map(0x080004, 0x080005).portr("DSW1"); // 2 x DSW - map(0x080012, 0x080013).r(FUNC(nmk16_state::afega_unknown_r)); + map(0x080012, 0x080013).r(FUNC(afega_state::afega_unknown_r)); map(0x08001f, 0x08001f).w(m_soundlatch, FUNC(generic_latch_8_device::write)); // To Sound CPU - map(0x084000, 0x084003).ram().w(FUNC(nmk16_state::afega_scroll_w<0>)); // Scroll on redhawkb (mirror or changed?..) - map(0x084004, 0x084007).ram().w(FUNC(nmk16_state::afega_scroll_w<1>)); // Scroll on redhawkb (mirror or changed?..) + map(0x084000, 0x084003).ram().w(FUNC(afega_state::afega_scroll_w<0>)); // Scroll on redhawkb (mirror or changed?..) + map(0x084004, 0x084007).ram().w(FUNC(afega_state::afega_scroll_w<1>)); // Scroll on redhawkb (mirror or changed?..) map(0x088000, 0x0885ff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); // Palette - map(0x08c000, 0x08c003).ram().w(FUNC(nmk16_state::afega_scroll_w<0>)).share("afega_scroll_0"); // Scroll - map(0x08c004, 0x08c007).ram().w(FUNC(nmk16_state::afega_scroll_w<1>)).share("afega_scroll_1"); // - map(0x090000, 0x093fff).ram().w(FUNC(nmk16_state::nmk_bgvideoram_w<0>)).share("nmk_bgvideoram0"); // Layer 0 // ? - map(0x09c000, 0x09c7ff).ram().w(FUNC(nmk16_state::nmk_txvideoram_w)).share("nmk_txvideoram"); // Layer 1 + map(0x08c000, 0x08c003).ram().w(FUNC(afega_state::afega_scroll_w<0>)).share("afega_scroll_0"); // Scroll + map(0x08c004, 0x08c007).ram().w(FUNC(afega_state::afega_scroll_w<1>)).share("afega_scroll_1"); // + map(0x090000, 0x093fff).ram().w(FUNC(afega_state::bgvideoram_w<0>)).share("bgvideoram0"); // Layer 0 // ? + map(0x09c000, 0x09c7ff).ram().w(FUNC(afega_state::txvideoram_w)).share("txvideoram"); // Layer 1 - map(0x0c0000, 0x0cffff).ram().w(FUNC(nmk16_state::nmk16_mainram_strange_w)).share("mainram"); - map(0x0f0000, 0x0fffff).ram().w(FUNC(nmk16_state::nmk16_mainram_strange_w)).share("mainram"); + map(0x0c0000, 0x0cffff).ram().w(FUNC(afega_state::mainram_strange_w)).share("mainram"); + map(0x0f0000, 0x0fffff).ram().w(FUNC(afega_state::mainram_strange_w)).share("mainram"); } // firehawk has 0x100000 bytes of program ROM (at least the switchable version) so the above can't work. -void nmk16_state::firehawk_map(address_map &map) +void afega_state::firehawk_map(address_map &map) { map.global_mask(0x3fffff); map(0x000000, 0x0fffff).rom(); map(0x280000, 0x280001).portr("IN0"); // Buttons map(0x280002, 0x280003).portr("IN1"); // P1 + P2 map(0x280004, 0x280005).portr("DSW1"); // 2 x DSW - map(0x280012, 0x280013).r(FUNC(nmk16_state::afega_unknown_r)); + map(0x280012, 0x280013).r(FUNC(afega_state::afega_unknown_r)); map(0x28001f, 0x28001f).w(m_soundlatch, FUNC(generic_latch_8_device::write)); // To Sound CPU - map(0x284000, 0x284003).ram().w(FUNC(nmk16_state::afega_scroll_w<0>)); // Scroll on redhawkb (mirror or changed?..) - map(0x284004, 0x284007).ram().w(FUNC(nmk16_state::afega_scroll_w<1>)); // Scroll on redhawkb (mirror or changed?..) + map(0x284000, 0x284003).ram().w(FUNC(afega_state::afega_scroll_w<0>)); // Scroll on redhawkb (mirror or changed?..) + map(0x284004, 0x284007).ram().w(FUNC(afega_state::afega_scroll_w<1>)); // Scroll on redhawkb (mirror or changed?..) map(0x288000, 0x2885ff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); // Palette - map(0x28c000, 0x28c003).ram().w(FUNC(nmk16_state::afega_scroll_w<0>)).share("afega_scroll_0"); // Scroll - map(0x28c004, 0x28c007).ram().w(FUNC(nmk16_state::afega_scroll_w<1>)).share("afega_scroll_1"); // - map(0x290000, 0x293fff).ram().w(FUNC(nmk16_state::nmk_bgvideoram_w<0>)).share("nmk_bgvideoram0"); // Layer 0 // ? - map(0x29c000, 0x29c7ff).ram().w(FUNC(nmk16_state::nmk_txvideoram_w)).share("nmk_txvideoram"); // Layer 1 + map(0x28c000, 0x28c003).ram().w(FUNC(afega_state::afega_scroll_w<0>)).share("afega_scroll_0"); // Scroll + map(0x28c004, 0x28c007).ram().w(FUNC(afega_state::afega_scroll_w<1>)).share("afega_scroll_1"); // + map(0x290000, 0x293fff).ram().w(FUNC(afega_state::bgvideoram_w<0>)).share("bgvideoram0"); // Layer 0 // ? + map(0x29c000, 0x29c7ff).ram().w(FUNC(afega_state::txvideoram_w)).share("txvideoram"); // Layer 1 - map(0x3c0000, 0x3cffff).ram().w(FUNC(nmk16_state::nmk16_mainram_strange_w)).share("mainram"); - map(0x3f0000, 0x3fffff).ram().w(FUNC(nmk16_state::nmk16_mainram_strange_w)).share("mainram"); + map(0x3c0000, 0x3cffff).ram().w(FUNC(afega_state::mainram_strange_w)).share("mainram"); + map(0x3f0000, 0x3fffff).ram().w(FUNC(afega_state::mainram_strange_w)).share("mainram"); } @@ -5305,15 +5310,15 @@ void nmk16_state::firehawk_map(address_map &map) ***************************************************************************/ -WRITE8_MEMBER(nmk16_state::spec2k_oki1_banking_w) +void afega_state::spec2k_oki1_banking_w(u8 data) { - if(data == 0xfe) + if (data == 0xfe) m_oki[1]->set_rom_bank(0); - else if(data == 0xff) + else if (data == 0xff) m_oki[1]->set_rom_bank(1); } -void nmk16_state::afega_sound_cpu(address_map &map) +void afega_state::afega_sound_cpu(address_map &map) { map(0x0003, 0x0003).nopw(); // bug in sound prg? map(0x0004, 0x0004).nopw(); // bug in sound prg? @@ -5324,37 +5329,18 @@ void nmk16_state::afega_sound_cpu(address_map &map) map(0xf80a, 0xf80a).rw(m_oki[0], FUNC(okim6295_device::read), FUNC(okim6295_device::write)); // M6295 } -void nmk16_state::firehawk_sound_cpu(address_map &map) +void afega_state::firehawk_sound_cpu(address_map &map) { map(0x0000, 0xefff).rom(); map(0xf000, 0xf7ff).ram(); map(0xf800, 0xffff).ram(); // not used, only tested map(0xfff0, 0xfff0).r(m_soundlatch, FUNC(generic_latch_8_device::read)); - map(0xfff2, 0xfff2).w(FUNC(nmk16_state::spec2k_oki1_banking_w)); + map(0xfff2, 0xfff2).w(FUNC(afega_state::spec2k_oki1_banking_w)); map(0xfff8, 0xfff8).rw(m_oki[1], FUNC(okim6295_device::read), FUNC(okim6295_device::write)); map(0xfffa, 0xfffa).rw(m_oki[0], FUNC(okim6295_device::read), FUNC(okim6295_device::write)); } -WRITE8_MEMBER(nmk16_state::twinactn_oki_bank_w) -{ - m_oki[0]->set_rom_bank(data & 3); - - if (data & (~3)) - logerror("%s: invalid oki bank %02x\n", machine().describe_context(), data); - -// logerror("%04x: oki bank %02x\n", m_audiocpu->pc(), data); -} - -void nmk16_state::twinactn_sound_cpu(address_map &map) -{ - map(0x0000, 0x7fff).rom(); - map(0x8000, 0x87ff).ram(); - map(0x9000, 0x9000).w(FUNC(nmk16_state::twinactn_oki_bank_w)); - map(0x9800, 0x9800).rw(m_oki[0], FUNC(okim6295_device::read), FUNC(okim6295_device::write)); - map(0xa000, 0xa000).r(m_soundlatch, FUNC(generic_latch_8_device::read)); // From Main CPU -} - /*************************************************************************** @@ -5363,67 +5349,39 @@ void nmk16_state::twinactn_sound_cpu(address_map &map) ***************************************************************************/ -static const gfx_layout layout_8x8x4 = -{ - 8,8, - RGN_FRAC(1,1), - 4, - { STEP4(0,1) }, - { STEP8(0,4) }, - { STEP8(0,8*4) }, - 8*8*4 -}; - -static const gfx_layout layout_16x16x4 = -{ - 16,16, - RGN_FRAC(1,1), - 4, - { STEP4(0,1) }, - { STEP8(0,4), STEP8(8*8*4*2,4) }, - { STEP8(0,8*4), STEP8(8*8*4*1,8*4) }, - 16*16*4 -}; - -static const gfx_layout layout_16x16x8 = +static const gfx_layout tilelayout_8bpp = { 16,16, RGN_FRAC(1,2), 8, - { STEP4(RGN_FRAC(0,2),1), STEP4(RGN_FRAC(1,2),1) }, - { STEP8(0,4), STEP8(8*8*4*2,4) }, - { STEP8(0,8*4), STEP8(8*8*4*1,8*4) }, + { STEP4(RGN_FRAC(0,2),1), STEP4(RGN_FRAC(1,2),1) }, + { STEP8(0,4), STEP8(4*8*16,4) }, + { STEP16(0,4*8) }, 16*16*4 }; -static const gfx_layout layout_16x16x4_swapped = +static const gfx_layout tilelayout_swapnibble = { 16,16, RGN_FRAC(1,1), 4, - { STEP4(0,1) }, - { 4,0,12,8,20,16,28,24, 512+4,512+0,512+12,512+8,512+20,512+16,512+28,512+24}, - { STEP8(0,8*4), STEP8(8*8*4*1,8*4) }, + { STEP4(0,1) }, + { 4,0,12,8,20,16,28,24, 512+4,512+0,512+12,512+8,512+20,512+16,512+28,512+24 }, + { STEP16(0,4*8) }, 16*16*4 }; static GFXDECODE_START( gfx_grdnstrm ) - GFXDECODE_ENTRY( "fgtile", 0, layout_8x8x4, 256*2, 16 ) // [2] Layer 1 - GFXDECODE_ENTRY( "bgtile", 0, layout_16x16x8, 256*0, 1 ) // [1] Layer 0 - GFXDECODE_ENTRY( "sprites", 0, layout_16x16x4, 256*1, 16 ) // [0] Sprites -GFXDECODE_END - -static GFXDECODE_START( gfx_stagger1 ) - GFXDECODE_ENTRY( "fgtile", 0, layout_8x8x4, 256*2, 16 ) // [2] Layer 1 - GFXDECODE_ENTRY( "bgtile", 0, layout_16x16x4, 256*0, 16 ) // [1] Layer 0 - GFXDECODE_ENTRY( "sprites", 0, layout_16x16x4, 256*1, 16 ) // [0] Sprites + GFXDECODE_ENTRY( "fgtile", 0, gfx_8x8x4_packed_msb, 0x200, 16 ) // [2] Layer 1 + GFXDECODE_ENTRY( "bgtile", 0, tilelayout_8bpp, 0x000, 1 ) // [1] Layer 0 + GFXDECODE_ENTRY( "sprites", 0, tilelayout, 0x100, 16 ) // [0] Sprites GFXDECODE_END static GFXDECODE_START( gfx_redhawkb ) - GFXDECODE_ENTRY( "fgtile", 0, layout_8x8x4, 256*2, 16 ) // [2] Layer 1 - GFXDECODE_ENTRY( "bgtile", 0, layout_16x16x4_swapped, 256*0, 16 ) // [1] Layer 0 - GFXDECODE_ENTRY( "sprites", 0, layout_16x16x4_swapped, 256*1, 16 ) // [0] Sprites + GFXDECODE_ENTRY( "fgtile", 0, gfx_8x8x4_packed_msb, 0x200, 16 ) // [2] Layer 1 + GFXDECODE_ENTRY( "bgtile", 0, tilelayout_swapnibble, 0x000, 16 ) // [1] Layer 0 + GFXDECODE_ENTRY( "sprites", 0, tilelayout_swapnibble, 0x100, 16 ) // [0] Sprites GFXDECODE_END @@ -5435,61 +5393,58 @@ GFXDECODE_END ***************************************************************************/ -void nmk16_state::stagger1(machine_config &config) +void afega_state::stagger1(machine_config &config) { /* basic machine hardware */ M68000(config, m_maincpu, XTAL(12'000'000)); /* 68000p10 running at 12mhz, verified on pcb */ - m_maincpu->set_addrmap(AS_PROGRAM, &nmk16_state::afega_map); + m_maincpu->set_addrmap(AS_PROGRAM, &afega_state::afega_map); set_hacky_interrupt_timing(config); Z80(config, m_audiocpu, XTAL(4'000'000)); /* verified on pcb */ - m_audiocpu->set_addrmap(AS_PROGRAM, &nmk16_state::afega_sound_cpu); + m_audiocpu->set_addrmap(AS_PROGRAM, &afega_state::afega_sound_cpu); /* video hardware */ set_hacky_screen_lowres(config); - m_screen->set_screen_update(FUNC(nmk16_state::screen_update_afega)); + m_screen->set_screen_update(FUNC(afega_state::screen_update_afega)); - GFXDECODE(config, m_gfxdecode, m_palette, gfx_stagger1); + GFXDECODE(config, m_gfxdecode, m_palette, gfx_macross); PALETTE(config, m_palette).set_format(palette_device::RRRRGGGGBBBBRGBx, 768); - MCFG_VIDEO_START_OVERRIDE(nmk16_state,afega) + MCFG_VIDEO_START_OVERRIDE(afega_state,afega) /* sound hardware */ - SPEAKER(config, "lspeaker").front_left(); - SPEAKER(config, "rspeaker").front_right(); + SPEAKER(config, "mono").front_center(); GENERIC_LATCH_8(config, m_soundlatch); m_soundlatch->data_pending_callback().set_inputline(m_audiocpu, 0); ym2151_device &ymsnd(YM2151(config, "ymsnd", XTAL(4'000'000))); /* verified on pcb */ ymsnd.irq_handler().set_inputline(m_audiocpu, 0); - ymsnd.add_route(0, "lspeaker", 0.30); - ymsnd.add_route(1, "rspeaker", 0.30); + ymsnd.add_route(ALL_OUTPUTS, "mono", 0.15); OKIM6295(config, m_oki[0], XTAL(4'000'000)/4, okim6295_device::PIN7_HIGH); /* verified on pcb */ - m_oki[0]->add_route(ALL_OUTPUTS, "lspeaker", 0.70); - m_oki[0]->add_route(ALL_OUTPUTS, "rspeaker", 0.70); + m_oki[0]->add_route(ALL_OUTPUTS, "mono", 0.70); } -void nmk16_state::redhawki(machine_config &config) +void afega_state::redhawki(machine_config &config) { stagger1(config); /* basic machine hardware */ /* video hardware */ - m_screen->set_screen_update(FUNC(nmk16_state::screen_update_redhawki)); + m_screen->set_screen_update(FUNC(afega_state::screen_update_redhawki)); } -void nmk16_state::redhawkb(machine_config &config) +void afega_state::redhawkb(machine_config &config) { stagger1(config); /* basic machine hardware */ /* video hardware */ m_gfxdecode->set_info(gfx_redhawkb); - m_screen->set_screen_update(FUNC(nmk16_state::screen_update_redhawkb)); + m_screen->set_screen_update(FUNC(afega_state::screen_update_redhawkb)); } -void nmk16_state::grdnstrm(machine_config &config) +void afega_state::grdnstrm(machine_config &config) { stagger1(config); @@ -5497,45 +5452,45 @@ void nmk16_state::grdnstrm(machine_config &config) /* video hardware */ m_gfxdecode->set_info(gfx_grdnstrm); - MCFG_VIDEO_START_OVERRIDE(nmk16_state,grdnstrm) - m_screen->set_screen_update(FUNC(nmk16_state::screen_update_firehawk)); + MCFG_VIDEO_START_OVERRIDE(afega_state,grdnstrm) + m_screen->set_screen_update(FUNC(afega_state::screen_update_firehawk)); } -void nmk16_state::grdnstrmk(machine_config &config) /* Side by side with PCB, the music seems too fast as well */ +void afega_state::grdnstrmk(machine_config &config) /* Side by side with PCB, the music seems too fast as well */ { stagger1(config); /* video hardware */ m_screen->set_refresh_hz(57); /* Side by side with PCB, MAME is too fast at 56 */ m_gfxdecode->set_info(gfx_grdnstrm); - MCFG_VIDEO_START_OVERRIDE(nmk16_state,grdnstrm) + MCFG_VIDEO_START_OVERRIDE(afega_state,grdnstrm) } -void nmk16_state::popspops(machine_config &config) +void afega_state::popspops(machine_config &config) { grdnstrm(config); /* video hardware */ - m_screen->set_screen_update(FUNC(nmk16_state::screen_update_bubl2000)); + m_screen->set_screen_update(FUNC(afega_state::screen_update_bubl2000)); } -void nmk16_state::firehawk(machine_config &config) +void afega_state::firehawk(machine_config &config) { /* basic machine hardware */ M68000(config, m_maincpu, 12000000); - m_maincpu->set_addrmap(AS_PROGRAM, &nmk16_state::firehawk_map); + m_maincpu->set_addrmap(AS_PROGRAM, &afega_state::firehawk_map); set_hacky_interrupt_timing(config); Z80(config, m_audiocpu, 4000000); - m_audiocpu->set_addrmap(AS_PROGRAM, &nmk16_state::firehawk_sound_cpu); + m_audiocpu->set_addrmap(AS_PROGRAM, &afega_state::firehawk_sound_cpu); /* video hardware */ set_hacky_screen_lowres(config); - m_screen->set_screen_update(FUNC(nmk16_state::screen_update_firehawk)); + m_screen->set_screen_update(FUNC(afega_state::screen_update_firehawk)); GFXDECODE(config, m_gfxdecode, m_palette, gfx_grdnstrm); PALETTE(config, m_palette).set_format(palette_device::RRRRGGGGBBBBRGBx, 768); - MCFG_VIDEO_START_OVERRIDE(nmk16_state,grdnstrm) + MCFG_VIDEO_START_OVERRIDE(afega_state,grdnstrm) /* sound hardware */ SPEAKER(config, "mono").front_center(); @@ -5550,10 +5505,10 @@ void nmk16_state::firehawk(machine_config &config) m_oki[1]->add_route(ALL_OUTPUTS, "mono", 1.0); } -void nmk16_state::spec2k(machine_config &config) +void afega_state::spec2k(machine_config &config) { firehawk(config); - m_maincpu->set_addrmap(AS_PROGRAM, &nmk16_state::afega_map); + m_maincpu->set_addrmap(AS_PROGRAM, &afega_state::afega_map); } @@ -5565,7 +5520,7 @@ void nmk16_state::twinactn(machine_config &config) set_hacky_interrupt_timing(config); Z80(config, m_audiocpu, 4000000); - m_audiocpu->set_addrmap(AS_PROGRAM, &nmk16_state::twinactn_sound_cpu); + m_audiocpu->set_addrmap(AS_PROGRAM, &nmk16_state::ssmissin_sound_map); /* video hardware */ set_hacky_screen_lowres(config); @@ -5582,6 +5537,7 @@ void nmk16_state::twinactn(machine_config &config) m_soundlatch->data_pending_callback().set_inputline(m_audiocpu, 0); OKIM6295(config, m_oki[0], 1000000, okim6295_device::PIN7_HIGH); + m_oki[0]->set_addrmap(0, &nmk16_state::oki1_map); m_oki[0]->add_route(ALL_OUTPUTS, "mono", 1.0); } @@ -5599,16 +5555,15 @@ void nmk16_state::twinactn(machine_config &config) static void decryptcode( running_machine &machine, int a23, int a22, int a21, int a20, int a19, int a18, int a17, int a16, int a15, int a14, int a13, int a12, int a11, int a10, int a9, int a8, int a7, int a6, int a5, int a4, int a3, int a2, int a1, int a0 ) { - int i; - uint8_t *RAM = machine.root_device().memregion( "maincpu" )->base(); - size_t size = machine.root_device().memregion( "maincpu" )->bytes(); - std::vector<uint8_t> buffer( size ); + u8 *RAM = machine.root_device().memregion("maincpu")->base(); + size_t size = machine.root_device().memregion("maincpu")->bytes(); + std::vector<u8> buffer(size); - memcpy( &buffer[0], RAM, size ); - for( i = 0; i < size; i++ ) + memcpy(&buffer[0], RAM, size); + for (int i = 0; i < size; i++) { - RAM[ i ] = buffer[ bitswap<24>( i, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, - a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0 ) ]; + RAM[i] = buffer[bitswap<24>(i, a23, a22, a21, a20, a19, a18, a17, a16, a15, a14, a13, a12, + a11, a10, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0)]; } } @@ -5741,17 +5696,17 @@ ROM_END ROM_START( tharrier ) ROM_REGION( 0x40000, "maincpu", 0 ) - ROM_LOAD16_BYTE( "2.bin" , 0x00000, 0x20000, CRC(f3887a44) SHA1(4e5b660d33ba1d1e00263030efa67e2db376a234) ) - ROM_LOAD16_BYTE( "3.bin" , 0x00001, 0x20000, CRC(65c247f6) SHA1(9f35f2b6f54814b4c4d23e2d78db8043e678fef2) ) + ROM_LOAD16_BYTE( "2.bin", 0x00000, 0x20000, CRC(f3887a44) SHA1(4e5b660d33ba1d1e00263030efa67e2db376a234) ) + ROM_LOAD16_BYTE( "3.bin", 0x00001, 0x20000, CRC(65c247f6) SHA1(9f35f2b6f54814b4c4d23e2d78db8043e678fef2) ) ROM_REGION( 0x010000, "audiocpu", 0 ) - ROM_LOAD( "12" , 0x00000, 0x10000, CRC(b959f837) SHA1(073b14935e7d5b0cad19a3471fd26e9e3a363827) ) + ROM_LOAD( "12", 0x00000, 0x10000, CRC(b959f837) SHA1(073b14935e7d5b0cad19a3471fd26e9e3a363827) ) ROM_REGION( 0x020000, "fgtile", 0 ) - ROM_LOAD( "1.bin" , 0x000000, 0x10000, CRC(005c26c3) SHA1(ee88d8f956b9b0a8ba5fb49c5c05f6ed6f01729c) ) + ROM_LOAD( "1.bin", 0x000000, 0x10000, CRC(005c26c3) SHA1(ee88d8f956b9b0a8ba5fb49c5c05f6ed6f01729c) ) ROM_REGION( 0x080000, "bgtile", 0 ) - ROM_LOAD( "89050-4" , 0x000000, 0x80000, CRC(64d7d687) SHA1(dcfeac71fd577439e31cc1186b720388fbdc6ca0) ) + ROM_LOAD( "89050-4", 0x000000, 0x80000, CRC(64d7d687) SHA1(dcfeac71fd577439e31cc1186b720388fbdc6ca0) ) ROM_REGION( 0x100000, "sprites", 0 ) ROM_LOAD16_BYTE( "89050-13", 0x000000, 0x80000, CRC(24db3fa4) SHA1(e0d76c479dfcacf03c04ec4760caecf3fd1e2ff7) ) /* Sprites */ @@ -5774,17 +5729,17 @@ ROM_END ROM_START( tharrieru ) ROM_REGION( 0x40000, "maincpu", 0 ) - ROM_LOAD16_BYTE( "2" , 0x00000, 0x20000, CRC(78923aaa) SHA1(28338f49581180604403e1bd200f524fc4cb8b9f) ) - ROM_LOAD16_BYTE( "3" , 0x00001, 0x20000, CRC(99cea259) SHA1(75abfb08b2358dd13809ade5a2dfffeb8b8df82c) ) + ROM_LOAD16_BYTE( "2", 0x00000, 0x20000, CRC(78923aaa) SHA1(28338f49581180604403e1bd200f524fc4cb8b9f) ) + ROM_LOAD16_BYTE( "3", 0x00001, 0x20000, CRC(99cea259) SHA1(75abfb08b2358dd13809ade5a2dfffeb8b8df82c) ) ROM_REGION( 0x010000, "audiocpu", 0 ) - ROM_LOAD( "12" , 0x00000, 0x10000, CRC(b959f837) SHA1(073b14935e7d5b0cad19a3471fd26e9e3a363827) ) + ROM_LOAD( "12", 0x00000, 0x10000, CRC(b959f837) SHA1(073b14935e7d5b0cad19a3471fd26e9e3a363827) ) ROM_REGION( 0x020000, "fgtile", 0 ) - ROM_LOAD( "1" , 0x000000, 0x10000, CRC(c7402e4a) SHA1(25cade2f8d4784887f0f51beb48b1e6b695629c2) ) + ROM_LOAD( "1", 0x000000, 0x10000, CRC(c7402e4a) SHA1(25cade2f8d4784887f0f51beb48b1e6b695629c2) ) ROM_REGION( 0x080000, "bgtile", 0 ) - ROM_LOAD( "89050-4" , 0x000000, 0x80000, CRC(64d7d687) SHA1(dcfeac71fd577439e31cc1186b720388fbdc6ca0) ) + ROM_LOAD( "89050-4", 0x000000, 0x80000, CRC(64d7d687) SHA1(dcfeac71fd577439e31cc1186b720388fbdc6ca0) ) ROM_REGION( 0x100000, "sprites", 0 ) ROM_LOAD16_BYTE( "89050-13", 0x000000, 0x80000, CRC(24db3fa4) SHA1(e0d76c479dfcacf03c04ec4760caecf3fd1e2ff7) ) /* Sprites */ @@ -5830,7 +5785,7 @@ ROM_START( mustang ) ROM_LOAD( "90058-6", 0x00000, 0x80000, CRC(233c1776) SHA1(7010a2f914611698a65bf4f22bc1753a9ed26277) ) /* 0x20000 - 0x80000 banked */ ROM_REGION( 0x200, "proms", 0 ) - ROM_LOAD( "10.bpr", 0x00000, 0x100, CRC(633ab1c9) SHA1(acd99fcca41eaab7948ca84988352f1d7d519c61) ) /* unknown */ + ROM_LOAD( "10.bpr", 0x00000, 0x100, CRC(633ab1c9) SHA1(acd99fcca41eaab7948ca84988352f1d7d519c61) ) /* unknown */ ROM_LOAD( "90058-11", 0x00100, 0x100, CRC(cfdbb86c) SHA1(588822f6308a860937349c9106c2b4b1a75823ec) ) /* unknown */ ROM_END @@ -7045,7 +7000,7 @@ ROM_START( sabotenb ) ROM_LOAD( "ic35.sb3", 0x000000, 0x010000, CRC(eb7bc99d) SHA1(b3063afd58025a441d4750c22483e9129da402e7) ) /* 8x8 tiles */ ROM_REGION( 0x200000, "bgtile", 0 ) - ROM_LOAD( "ic32.sb4", 0x000000, 0x200000, CRC(24c62205) SHA1(3ab0ca5d7c698328d91421ccf6f7dafc20df3c8d) ) /* 16x16 tiles */ + ROM_LOAD( "ic32.sb4", 0x000000, 0x200000, CRC(24c62205) SHA1(3ab0ca5d7c698328d91421ccf6f7dafc20df3c8d) ) /* 8x8 tiles */ ROM_REGION( 0x200000, "sprites", 0 ) ROM_LOAD16_WORD_SWAP( "ic100.sb5", 0x000000, 0x200000, CRC(b20f166e) SHA1(074d770fd6d233040a80a92f4467d81f961c650b) ) /* Sprites */ @@ -7066,7 +7021,7 @@ ROM_START( sabotenba ) ROM_LOAD( "ic35.sb3", 0x000000, 0x010000, CRC(eb7bc99d) SHA1(b3063afd58025a441d4750c22483e9129da402e7) ) /* 8x8 tiles */ ROM_REGION( 0x200000, "bgtile", 0 ) - ROM_LOAD( "ic32.sb4", 0x000000, 0x200000, CRC(24c62205) SHA1(3ab0ca5d7c698328d91421ccf6f7dafc20df3c8d) ) /* 16x16 tiles */ + ROM_LOAD( "ic32.sb4", 0x000000, 0x200000, CRC(24c62205) SHA1(3ab0ca5d7c698328d91421ccf6f7dafc20df3c8d) ) /* 8x8 tiles */ ROM_REGION( 0x200000, "sprites", 0 ) ROM_LOAD16_WORD_SWAP( "ic100.sb5", 0x000000, 0x200000, CRC(b20f166e) SHA1(074d770fd6d233040a80a92f4467d81f961c650b) ) /* Sprites */ @@ -7110,7 +7065,7 @@ ROM_START( bjtwin ) ROM_LOAD( "93087-3.bin", 0x000000, 0x010000, CRC(aa13df7c) SHA1(162d4f12364c68028e86fe97ee75c262daa4c699) ) /* 8x8 tiles */ ROM_REGION( 0x100000, "bgtile", 0 ) - ROM_LOAD( "93087-4.bin", 0x000000, 0x100000, CRC(8a4f26d0) SHA1(be057a2b6d28c623ac1f16cf02ddbe12ca430b4a) ) /* 16x16 tiles */ + ROM_LOAD( "93087-4.bin", 0x000000, 0x100000, CRC(8a4f26d0) SHA1(be057a2b6d28c623ac1f16cf02ddbe12ca430b4a) ) /* 8x8 tiles */ ROM_REGION( 0x100000, "sprites", 0 ) ROM_LOAD16_WORD_SWAP( "93087-5.bin", 0x000000, 0x100000, CRC(bb06245d) SHA1(c91e2284d95370b8ef2eb1b9d6305fdd6cde23a0) ) /* Sprites */ @@ -7135,7 +7090,7 @@ ROM_START( bjtwina ) ROM_LOAD( "93087-3.bin", 0x000000, 0x010000, CRC(aa13df7c) SHA1(162d4f12364c68028e86fe97ee75c262daa4c699) ) /* 8x8 tiles */ ROM_REGION( 0x100000, "bgtile", 0 ) - ROM_LOAD( "93087-4.bin", 0x000000, 0x100000, CRC(8a4f26d0) SHA1(be057a2b6d28c623ac1f16cf02ddbe12ca430b4a) ) /* 16x16 tiles */ + ROM_LOAD( "93087-4.bin", 0x000000, 0x100000, CRC(8a4f26d0) SHA1(be057a2b6d28c623ac1f16cf02ddbe12ca430b4a) ) /* 8x8 tiles */ ROM_REGION( 0x100000, "sprites", 0 ) ROM_LOAD16_WORD_SWAP( "93087-5.bin", 0x000000, 0x100000, CRC(bb06245d) SHA1(c91e2284d95370b8ef2eb1b9d6305fdd6cde23a0) ) /* Sprites */ @@ -7214,7 +7169,7 @@ ROM_START( nouryoku ) ROM_LOAD( "ic35.3", 0x000000, 0x010000, CRC(03d0c3b1) SHA1(4d5427c324e2141d0a953cc5133d10b327827e0b) ) /* 8x8 tiles */ ROM_REGION( 0x200000, "bgtile", 0 ) - ROM_LOAD( "ic32.4", 0x000000, 0x200000, CRC(88d454fd) SHA1(c79c48d9b3602266499a5dd0b15fd2fb032809be) ) /* 16x16 tiles */ + ROM_LOAD( "ic32.4", 0x000000, 0x200000, CRC(88d454fd) SHA1(c79c48d9b3602266499a5dd0b15fd2fb032809be) ) /* 8x8 tiles */ ROM_REGION( 0x200000, "sprites", 0 ) ROM_LOAD16_WORD_SWAP( "ic100.5", 0x000000, 0x200000, CRC(24d3e24e) SHA1(71e38637953ec98bf308824aaef5628803aead21) ) /* Sprites */ @@ -7394,7 +7349,7 @@ Other: Lattice pLSI 1032 x 2 ***************************************************************************/ -void nmk16_state::init_redhawk() +void afega_state::init_redhawk() { decryptcode( machine(), 23, 22, 21, 20, 19, 18, 16, 15, 14, 17, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 ); } @@ -7443,7 +7398,7 @@ ROM_START( redhawke ) /* Excellent Co., Ldt license (no code scramble), (c) 1997 ROM_LOAD( "5", 0x00000, 0x40000, CRC(e911ce33) SHA1(a29c4dea98a22235122303325c63c15fadd3431d) ) ROM_END -void nmk16_state::init_redhawki() +void afega_state::init_redhawki() { decryptcode( machine(), 23, 22, 21, 20, 19, 18, 15, 16, 17, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 ); } @@ -7470,7 +7425,7 @@ ROM_START( redhawki ) ROM_LOAD( "5", 0x00000, 0x40000, CRC(e911ce33) SHA1(a29c4dea98a22235122303325c63c15fadd3431d) ) ROM_END -void nmk16_state::init_redhawkg() +void afega_state::init_redhawkg() { decryptcode( machine(), 23, 22, 21, 20, 19, 18, 15, 14, 16, 17, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 ); } @@ -7607,7 +7562,7 @@ AF1-B1.UC3 mask ROM read as 27C160 - Backgrounds ***************************************************************************/ -void nmk16_state::init_grdnstrm() +void afega_state::init_grdnstrm() { decryptcode( machine(), 23, 22, 21, 20, 19, 18, 16, 17, 14, 15, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 ); } @@ -7700,9 +7655,9 @@ ROM_START( grdnstrmv ) /* Apples Industries license - Vertical version */ ROM_LOAD( "afega1.u95", 0x00000, 0x40000, CRC(e911ce33) SHA1(a29c4dea98a22235122303325c63c15fadd3431d) ) ROM_END -void nmk16_state::init_grdnstrmg() +void afega_state::init_grdnstrmg() { - decryptcode( machine(), 23, 22, 21, 20, 19, 18, 13, 16, 15 ,14, 17, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 ); + decryptcode( machine(), 23, 22, 21, 20, 19, 18, 13, 16, 15, 14, 17, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 ); } ROM_START( grdnstrmg ) /* Germany */ @@ -7734,7 +7689,7 @@ ROM_START( grdnstrmg ) /* Germany */ ROM_LOAD( "gs2_s2.uc18", 0x00000, 0x40000, CRC(e911ce33) SHA1(a29c4dea98a22235122303325c63c15fadd3431d) ) // ROM_END -void nmk16_state::init_grdnstrmau() +void afega_state::init_grdnstrmau() { decryptcode( machine(), 23, 22, 21, 20, 19, 18, 13, 16, 14, 15, 17, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 ); } @@ -7789,7 +7744,7 @@ ROM_START( redfoxwp2 ) ROM_LOAD( "afega1.u95", 0x00000, 0x40000, CRC(e911ce33) SHA1(a29c4dea98a22235122303325c63c15fadd3431d) ) ROM_END -void nmk16_state::init_redfoxwp2a() +void afega_state::init_redfoxwp2a() { decryptcode( machine(), 23, 22, 21, 20, 19, 18, 16, 17, 13, 14, 15, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 ); } @@ -7942,7 +7897,7 @@ V1.2 V1.2 The PCB had a genuine Tuning stick with 11 & 98 struck out for month and year ***************************************************************************/ -void nmk16_state::init_bubl2000() +void afega_state::init_bubl2000() { decryptcode( machine(), 23, 22, 21, 20, 19, 18, 13, 14, 15, 16, 17, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 ); } @@ -8143,15 +8098,10 @@ ROM_START( dolmen ) /* Original source of the caveman concept for Bubble 2000 / ROM_REGION( 0x20000, "fgtile", 0 ) /* Layer 1, 8x8x4 */ ROM_LOAD( "afega6.uj11", 0x00000, 0x20000, CRC(13fa4415) SHA1(193524ebccbaae6b8c00893c42399c38cafdbd79) ) - ROM_REGION( 0x100000, "oki1", 0 ) /* Samples */ + ROM_REGION( 0x80000, "oki1", 0 ) /* Samples */ ROM_LOAD( "afega2.su12", 0x000000, 0x20000, CRC(1a2ce1c2) SHA1(ae6991fbfe57d35f32b541367d3b31244456713e) ) - ROM_RELOAD( 0x040000, 0x20000 ) - ROM_RELOAD( 0x080000, 0x20000 ) - ROM_RELOAD( 0x0c0000, 0x20000 ) ROM_RELOAD( 0x020000, 0x20000 ) - ROM_RELOAD( 0x060000, 0x20000 ) - ROM_LOAD( "afega3.su13", 0x0a0000, 0x20000, CRC(d3531018) SHA1(940067a8634339258666c89319cb0e1b43f2af56) ) - ROM_CONTINUE( 0x0e0000, 0x20000 ) + ROM_LOAD( "afega3.su13", 0x040000, 0x40000, CRC(d3531018) SHA1(940067a8634339258666c89319cb0e1b43f2af56) ) ROM_END @@ -8297,7 +8247,7 @@ UC1, UC2 & UC3 have solder pads for both MX29F1610 Flash & 27C160 EPROMs ***************************************************************************/ -void nmk16_state::init_spec2k() +void afega_state::init_spec2k() { decryptcode( machine(), 23, 22, 21, 20, 19, 18, 17, 13, 14, 15, 16, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 ); } @@ -8391,15 +8341,10 @@ ROM_START( twinactn ) ROM_REGION( 0x20000, "fgtile", 0 ) /* Layer 1, 8x8x4 */ ROM_LOAD( "afega.uj11", 0x00000, 0x20000, CRC(3f439e92) SHA1(27e5b1b0aa3b13fa35e3f83793037314b2942aa2) ) - ROM_REGION( 0x100000, "oki1", 0 ) /* Samples */ + ROM_REGION( 0x80000, "oki1", 0 ) /* Samples */ ROM_LOAD( "afega.su12", 0x000000, 0x20000, CRC(91d665f3) SHA1(10b5b07ed28ea78b6d3493afc03e003a8468c007) ) - ROM_RELOAD( 0x040000, 0x20000 ) - ROM_RELOAD( 0x080000, 0x20000 ) - ROM_RELOAD( 0x0c0000, 0x20000 ) ROM_RELOAD( 0x020000, 0x20000 ) - ROM_RELOAD( 0x060000, 0x20000 ) - ROM_LOAD( "afega.su13", 0x0a0000, 0x20000, CRC(30e1c306) SHA1(c859f11fd329793b11e96264e91c79a557b488a4) ) - ROM_CONTINUE( 0x0e0000, 0x20000 ) + ROM_LOAD( "afega.su13", 0x040000, 0x40000, CRC(30e1c306) SHA1(c859f11fd329793b11e96264e91c79a557b488a4) ) ROM_END /*************************************************************************** @@ -8420,9 +8365,9 @@ GAME( 1990, mustangs, mustang, mustang, mustang, nmk16_state, empty GAME( 1990, bioship, 0, bioship, bioship, nmk16_state, empty_init, ROT0, "UPL (American Sammy license)", "Bio-ship Paladin", 0 ) // US version but no regional notice GAME( 1990, sbsgomo, bioship, bioship, bioship, nmk16_state, empty_init, ROT0, "UPL", "Space Battle Ship Gomorrah", 0 ) -GAME( 1990, vandyke, 0, vandyke, vandyke, nmk16_state, empty_init, ROT270, "UPL", "Vandyke (Japan)", 0 ) -GAME( 1990, vandykejal, vandyke, vandyke, vandyke, nmk16_state, empty_init, ROT270, "UPL (Jaleco license)", "Vandyke (Jaleco, set 1)", 0 ) -GAME( 1990, vandykejal2,vandyke, vandyke, vandyke, nmk16_state, empty_init, ROT270, "UPL (Jaleco license)", "Vandyke (Jaleco, set 2)", 0 ) +GAME( 1990, vandyke, 0, vandyke, vandyke, nmk16_state, empty_init, ROT270, "UPL", "Vandyke (Japan)", 0 ) +GAME( 1990, vandykejal, vandyke, vandyke, vandyke, nmk16_state, empty_init, ROT270, "UPL (Jaleco license)", "Vandyke (Jaleco, set 1)", 0 ) +GAME( 1990, vandykejal2,vandyke, vandyke, vandyke, nmk16_state, empty_init, ROT270, "UPL (Jaleco license)", "Vandyke (Jaleco, set 2)", 0 ) GAME( 1990, vandykeb, vandyke, vandykeb, vandykeb, nmk16_state, init_vandykeb, ROT270, "bootleg", "Vandyke (bootleg with PIC16c57)", MACHINE_NO_SOUND ) GAME( 1991, blkheart, 0, blkheart, blkheart, nmk16_state, empty_init, ROT0, "UPL", "Black Heart", 0 ) @@ -8471,12 +8416,17 @@ GAME( 1993, bjtwina, bjtwin, bjtwin, bjtwin, nmk16_state, init_ GAME( 1993, bjtwinp, bjtwin, bjtwin, bjtwin, nmk16_state, empty_init, ROT270, "NMK", "Bombjack Twin (prototype? with adult pictures, set 1)", MACHINE_NO_COCKTAIL ) // Cheap looking PCB, but Genuine NMK PCB, GFX aren't encrypted (maybe Korean version not proto?) GAME( 1993, bjtwinpa, bjtwin, bjtwin, bjtwin, nmk16_state, init_bjtwin, ROT270, "NMK", "Bombjack Twin (prototype? with adult pictures, set 2)", MACHINE_NO_COCKTAIL ) // same PCB as above, different program revision, GFX are encrypted - GAME( 1995, nouryoku, 0, bjtwin, nouryoku, nmk16_state, init_nmk, ROT0, "Tecmo", "Nouryoku Koujou Iinkai", MACHINE_NO_COCKTAIL ) GAME( 1995, nouryokup, nouryoku, bjtwin, nouryoku, nmk16_state, empty_init, ROT0, "Tecmo", "Nouryoku Koujou Iinkai (prototype)", MACHINE_NO_COCKTAIL ) // GFX aren't encrypted /* Non NMK boards */ +// bee-oh board - different display / interrupt timing to others? +GAME( 1991, manybloc, 0, manybloc, manybloc, nmk16_state, init_tharrier, ROT270, "Bee-Oh", "Many Block", MACHINE_NO_COCKTAIL | MACHINE_IMPERFECT_SOUND ) + +// clone board, different sound / bg hardware, but similar memory maps, same tx layer, sprites etc. +GAME( 1997, tomagic, 0, tomagic, tomagic, nmk16_tomagic_state, init_tomagic, ROT0, "Hobbitron T.K.Trading Co. Ltd.", "Tom Tom Magic", 0 ) + // these use the seibu sound system (sound / music stolen from Raiden) rather than the bootleggers copying the nmk004 GAME( 1990, mustangb, mustang, mustangb, mustang, nmk16_state, empty_init, ROT0, "bootleg", "US AAF Mustang (bootleg)", 0 ) GAME( 1990, mustangb2, mustang, mustangb, mustang, nmk16_state, empty_init, ROT0, "bootleg (TAB Austria)", "US AAF Mustang (TAB Austria bootleg)", 0 ) // PCB and ROMs have TAB Austria stickers @@ -8489,45 +8439,39 @@ GAME( 1996, airattck, 0, ssmissin, airattck, nmk16_state, init_ GAME( 1996, airattcka, airattck, ssmissin, airattck, nmk16_state, init_ssmissin, ROT270, "Comad", "Air Attack (set 2)", MACHINE_NO_COCKTAIL ) // afega & clones -GAME( 1995, twinactn, 0, twinactn, twinactn, nmk16_state, empty_init, ROT0, "Afega", "Twin Action", 0 ) // hacked from USSAF Mustang - -GAME( 1995, dolmen, 0, twinactn, dolmen, nmk16_state, empty_init, ROT0, "Afega", "Dolmen", 0 ) - -GAME( 1998, stagger1, 0, stagger1, stagger1, nmk16_state, empty_init, ROT270, "Afega", "Stagger I (Japan)", 0 ) -GAME( 1997, redhawk, stagger1, stagger1, stagger1, nmk16_state, init_redhawk, ROT270, "Afega (New Vision Ent. license)", "Red Hawk (US)", 0 ) -GAME( 1997, redhawki, stagger1, redhawki, stagger1, nmk16_state, init_redhawki, ROT0, "Afega (Hea Dong Corp license)", "Red Hawk (Italy)", 0 ) // bootleg? strange scroll regs -GAME( 1997, redhawkg, stagger1, redhawki, stagger1, nmk16_state, init_redhawkg, ROT0, "Afega", "Red Hawk (Greece)", 0 ) -GAME( 1997, redhawke, stagger1, stagger1, stagger1, nmk16_state, empty_init, ROT270, "Afega (Excellent Co. license)", "Red Hawk (Excellent Co., Ltd)", 0 ) -GAME( 1997, redhawkk, stagger1, stagger1, stagger1, nmk16_state, empty_init, ROT270, "Afega", "Red Hawk (Korea)", 0 ) -GAME( 1997, redhawkb, stagger1, redhawkb, redhawkb, nmk16_state, empty_init, ROT0, "bootleg", "Vince (bootleg of Red Hawk)", 0 ) - -GAME( 1998, grdnstrm, 0, grdnstrm, grdnstrm, nmk16_state, empty_init, ORIENTATION_FLIP_Y, "Afega (Apples Industries license)", "Guardian Storm (horizontal, not encrypted)", 0 ) -GAME( 1998, grdnstrmv, grdnstrm, grdnstrmk, grdnstrk, nmk16_state, init_grdnstrm, ROT270, "Afega (Apples Industries license)", "Guardian Storm (vertical)", 0 ) -GAME( 1998, grdnstrmj, grdnstrm, grdnstrmk, grdnstrk, nmk16_state, init_grdnstrmg, ROT270, "Afega", "Sen Jing - Guardian Storm (Japan)", 0 ) -GAME( 1998, grdnstrmk, grdnstrm, grdnstrmk, grdnstrk, nmk16_state, init_grdnstrm, ROT270, "Afega", "Jeon Sin - Guardian Storm (Korea)", 0 ) -GAME( 1998, redfoxwp2, grdnstrm, grdnstrmk, grdnstrk, nmk16_state, init_grdnstrm, ROT270, "Afega", "Hong Hu Zhanji II (China, set 1)", 0 ) -GAME( 1998, redfoxwp2a, grdnstrm, grdnstrmk, grdnstrk, nmk16_state, init_redfoxwp2a, ROT270, "Afega", "Hong Hu Zhanji II (China, set 2)", 0 ) -GAME( 1998, grdnstrmg, grdnstrm, grdnstrmk, grdnstrk, nmk16_state, init_grdnstrmg, ROT270, "Afega", "Guardian Storm (Germany)", 0 ) -GAME( 1998, grdnstrmau, grdnstrm, grdnstrm, grdnstrm, nmk16_state, init_grdnstrmau, ORIENTATION_FLIP_Y, "Afega", "Guardian Storm (horizontal, Australia)", 0 ) +GAME( 1995, twinactn, 0, twinactn, twinactn, nmk16_state, init_twinactn, ROT0, "Afega", "Twin Action", 0 ) // hacked from USSAF Mustang + +GAME( 1995, dolmen, 0, twinactn, dolmen, nmk16_state, init_twinactn, ROT0, "Afega", "Dolmen", 0 ) + +GAME( 1998, stagger1, 0, stagger1, stagger1, afega_state, empty_init, ROT270, "Afega", "Stagger I (Japan)", 0 ) +GAME( 1997, redhawk, stagger1, stagger1, stagger1, afega_state, init_redhawk, ROT270, "Afega (New Vision Ent. license)", "Red Hawk (USA, Canada & South America)", 0 ) +GAME( 1997, redhawki, stagger1, redhawki, stagger1, afega_state, init_redhawki, ROT0, "Afega (Hea Dong Corp license)", "Red Hawk (horizontal, Italy)", 0 ) // bootleg? strange scroll regs +GAME( 1997, redhawkg, stagger1, redhawki, stagger1, afega_state, init_redhawkg, ROT0, "Afega", "Red Hawk (horizontal, Greece)", 0 ) +GAME( 1997, redhawke, stagger1, stagger1, stagger1, afega_state, empty_init, ROT270, "Afega (Excellent Co. license)", "Red Hawk (Excellent Co., Ltd)", 0 ) // earlier revision? different afega logo and score and credit number fonts compared to other sets +GAME( 1997, redhawkk, stagger1, stagger1, stagger1, afega_state, empty_init, ROT270, "Afega", "Red Hawk (Korea)", 0 ) +GAME( 1997, redhawkb, stagger1, redhawkb, redhawkb, afega_state, empty_init, ROT0, "bootleg (Vince)", "Red Hawk (horizontal, bootleg)", 0 ) + +GAME( 1998, grdnstrm, 0, grdnstrm, grdnstrm, afega_state, empty_init, ORIENTATION_FLIP_Y, "Afega (Apples Industries license)", "Guardian Storm (horizontal, not encrypted)", 0 ) +GAME( 1998, grdnstrmv, grdnstrm, grdnstrmk, grdnstrk, afega_state, init_grdnstrm, ROT270, "Afega (Apples Industries license)", "Guardian Storm (vertical)", 0 ) +GAME( 1998, grdnstrmj, grdnstrm, grdnstrmk, grdnstrk, afega_state, init_grdnstrmg, ROT270, "Afega", "Sen Jing - Guardian Storm (Japan)", 0 ) +GAME( 1998, grdnstrmk, grdnstrm, grdnstrmk, grdnstrk, afega_state, init_grdnstrm, ROT270, "Afega", "Jeon Sin - Guardian Storm (Korea)", 0 ) +GAME( 1998, redfoxwp2, grdnstrm, grdnstrmk, grdnstrk, afega_state, init_grdnstrm, ROT270, "Afega", "Hong Hu Zhanji II (China, set 1)", 0 ) +GAME( 1998, redfoxwp2a, grdnstrm, grdnstrmk, grdnstrk, afega_state, init_redfoxwp2a, ROT270, "Afega", "Hong Hu Zhanji II (China, set 2)", 0 ) +GAME( 1998, grdnstrmg, grdnstrm, grdnstrmk, grdnstrk, afega_state, init_grdnstrmg, ROT270, "Afega", "Guardian Storm (Germany)", 0 ) +GAME( 1998, grdnstrmau, grdnstrm, grdnstrm, grdnstrm, afega_state, init_grdnstrmau, ORIENTATION_FLIP_Y, "Afega", "Guardian Storm (horizontal, Australia)", 0 ) // is there a 'bubble 2000' / 'hot bubble' version with Afega copyright, or is the only Afega release dolmen above, this seems like a sequel, not a clone? -GAME( 1998, bubl2000, 0, popspops, bubl2000, nmk16_state, init_bubl2000, ROT0, "Afega (Tuning license)", "Bubble 2000", 0 ) // on a tuning board - Has a Demo Sound DSW -GAME( 1998, bubl2000a, bubl2000, popspops, bubl2000a, nmk16_state, init_bubl2000, ROT0, "Afega (Tuning license)", "Bubble 2000 V1.2", 0 ) // on a tuning board - No Demo Sounds -GAME( 1998, hotbubl, bubl2000, popspops, bubl2000, nmk16_state, init_bubl2000, ROT0, "Afega (Pandora license)", "Hot Bubble (Korea, with adult pictures)" , 0 ) // on an afega board .. -GAME( 1998, hotbubla, bubl2000, popspops, bubl2000, nmk16_state, init_bubl2000, ROT0, "Afega (Pandora license)", "Hot Bubble (Korea)" , 0 ) // on an afega board .. +GAME( 1998, bubl2000, 0, popspops, bubl2000, afega_state, init_bubl2000, ROT0, "Afega (Tuning license)", "Bubble 2000", 0 ) // on a tuning board - Has a Demo Sound DSW +GAME( 1998, bubl2000a, bubl2000, popspops, bubl2000a, afega_state, init_bubl2000, ROT0, "Afega (Tuning license)", "Bubble 2000 V1.2", 0 ) // on a tuning board - No Demo Sounds +GAME( 1998, hotbubl, bubl2000, popspops, bubl2000, afega_state, init_bubl2000, ROT0, "Afega (Pandora license)", "Hot Bubble (Korea, with adult pictures)", 0 ) // on an afega board .. +GAME( 1998, hotbubla, bubl2000, popspops, bubl2000, afega_state, init_bubl2000, ROT0, "Afega (Pandora license)", "Hot Bubble (Korea)", 0 ) // on an afega board .. -GAME( 1999, popspops, 0, popspops, popspops, nmk16_state, init_grdnstrm, ROT0, "Afega", "Pop's Pop's", 0 ) +GAME( 1999, popspops, 0, popspops, popspops, afega_state, init_grdnstrm, ROT0, "Afega", "Pop's Pop's", 0 ) -GAME( 2000, mangchi, 0, popspops, mangchi, nmk16_state, init_bubl2000, ROT0, "Afega", "Mang-Chi", 0 ) +GAME( 2000, mangchi, 0, popspops, mangchi, afega_state, init_bubl2000, ROT0, "Afega", "Mang-Chi", 0 ) // these two are very similar games, but the exact parent/clone relationship is unknown -GAME( 2000, spec2k, 0, spec2k, spec2k, nmk16_state, init_spec2k, ROT270, "Yona Tech", "Spectrum 2000 (vertical)", MACHINE_IMPERFECT_GRAPHICS ) // the ships sometimes scroll off the screen if you insert a coin during the attract demo? verify it doesn't happen on real hw(!) -GAME( 2000, spec2kh, spec2k, spec2k, spec2k, nmk16_state, init_spec2k, ORIENTATION_FLIP_Y, "Yona Tech", "Spectrum 2000 (horizontal, buggy) (Europe)", 0 ) // this has odd bugs even on real hardware, eg glitchy 3 step destruction sequence of some larger enemies -GAME( 2001, firehawk, spec2k, firehawk, firehawk, nmk16_state, empty_init, ORIENTATION_FLIP_Y, "ESD", "Fire Hawk (World) / Huohu Chuanshuo (China) (horizontal)", 0 ) -GAME( 2001, firehawkv, spec2k, firehawk, firehawkv, nmk16_state, empty_init, ORIENTATION_FLIP_Y, "ESD", "Fire Hawk (World) / Huohu Chuanshuo (China) (switchable orientation)", MACHINE_NOT_WORKING ) // incomplete dump, vertical mode gfx not dumped - -// bee-oh board - different display / interrupt timing to others? -GAME( 1991, manybloc, 0, manybloc, manybloc, nmk16_state, init_tharrier, ROT270, "Bee-Oh", "Many Block", MACHINE_NO_COCKTAIL | MACHINE_IMPERFECT_SOUND ) - -// clone board, different sound / bg hardware, but similar memory maps, same tx layer, sprites etc. -GAME( 1997, tomagic, 0, tomagic, tomagic, nmk16_tomagic_state, init_tomagic, ROT0, "Hobbitron T.K.Trading Co. Ltd.", "Tom Tom Magic", 0 ) +GAME( 2000, spec2k, 0, spec2k, spec2k, afega_state, init_spec2k, ROT270, "Yona Tech", "Spectrum 2000 (vertical, Korea)", MACHINE_IMPERFECT_GRAPHICS ) // the ships sometimes scroll off the screen if you insert a coin during the attract demo? verify it doesn't happen on real hw(!) +GAME( 2000, spec2kh, spec2k, spec2k, spec2k, afega_state, init_spec2k, ORIENTATION_FLIP_Y, "Yona Tech", "Spectrum 2000 (horizontal, buggy) (Europe)", 0 ) // this has odd bugs even on real hardware, eg glitchy 3 step destruction sequence of some larger enemies +GAME( 2001, firehawk, spec2k, firehawk, firehawk, afega_state, empty_init, ORIENTATION_FLIP_Y, "ESD", "Fire Hawk (World) / Huohu Chuanshuo (China) (horizontal)", 0 ) +GAME( 2001, firehawkv, spec2k, firehawk, firehawkv, afega_state, empty_init, ORIENTATION_FLIP_Y, "ESD", "Fire Hawk (World) / Huohu Chuanshuo (China) (switchable orientation)", MACHINE_NOT_WORKING ) // incomplete dump, vertical mode gfx not dumped diff --git a/src/mame/drivers/pmd85.cpp b/src/mame/drivers/pmd85.cpp index 94c88be77f3..6a7dec2dc20 100644 --- a/src/mame/drivers/pmd85.cpp +++ b/src/mame/drivers/pmd85.cpp @@ -38,6 +38,7 @@ Notes on emulation status and to do list: 10. PMD-85, Didaktik Alfa 2 and Didaktik Beta (ROMs and documentation needed). 11. FDD interface (ROMs and disk images needed). 12. "Duch & Pampuch" Mato game displays scores with incorrect characters. +13. Tape save in pmd851 is badly formatted - cannot be loaded. PMD-85 technical information ============================ @@ -169,6 +170,16 @@ I/O ports ROM module is not supported by Didaktik Alfa and Mato. +Commands +-------- +DUMP aaaa - dump memory from aaaa +JUMP aaaa - start program at aaaa +MEM aaaa - show 16 bytes from aaaa-up +MGLD xx - load file number xx from cassette +MGSV xx aaaa bbbb yyyyyyyy - save memory range aaaa to bbbb to cassette with file number xx and filename yyyyyyyy +SUB aaaa bb cc dd... - write bytes to memory starting at aaaa with bb,cc,dd... + + *******************************************************************************/ #include "emu.h" diff --git a/src/mame/drivers/polgar.cpp b/src/mame/drivers/polgar.cpp index 7a6534bebc0..9f1222f8ea2 100644 --- a/src/mame/drivers/polgar.cpp +++ b/src/mame/drivers/polgar.cpp @@ -311,8 +311,8 @@ void mephisto_polgar_state::polgar(machine_config &config) outlatch.q_out_cb<4>().set_output("led104"); outlatch.q_out_cb<5>().set_output("led105"); - MEPHISTO_SENSORS_BOARD(config, "board", 0); - MEPHISTO_DISPLAY_MODUL(config, "display", 0); + MEPHISTO_SENSORS_BOARD(config, "board"); + MEPHISTO_DISPLAY_MODUL(config, "display"); config.set_default_layout(layout_mephisto_lcd); } @@ -342,8 +342,8 @@ void mephisto_risc_state::mrisc(machine_config &config) outlatch.q_out_cb<5>().set_output("led105"); outlatch.parallel_out_cb().set_membank("rombank").rshift(6).mask(0x03).exor(0x01); - MEPHISTO_SENSORS_BOARD(config, "board", 0); - MEPHISTO_DISPLAY_MODUL(config, "display", 0); + MEPHISTO_SENSORS_BOARD(config, "board"); + MEPHISTO_DISPLAY_MODUL(config, "display"); config.set_default_layout(layout_mephisto_lcd); } @@ -352,7 +352,7 @@ void mephisto_milano_state::milano(machine_config &config) polgar(config); subdevice<m65c02_device>("maincpu")->set_addrmap(AS_PROGRAM, &mephisto_milano_state::milano_mem); - MEPHISTO_BUTTONS_BOARD(config.replace(), m_board, 0); + MEPHISTO_BUTTONS_BOARD(config.replace(), m_board); m_board->set_disable_leds(true); config.set_default_layout(layout_mephisto_milano); } diff --git a/src/mame/drivers/poly88.cpp b/src/mame/drivers/poly88.cpp index 530a4d8b446..b588693a5a1 100644 --- a/src/mame/drivers/poly88.cpp +++ b/src/mame/drivers/poly88.cpp @@ -8,8 +8,7 @@ Poly-88 driver by Miodrag Milanovic 2019-05-25 Poly8813 new roms ToDo: -- POLY88 - MT 06231: Cassette saving hangs. Also, the system has different - formats depending on a switch. Only one format is currently emulated. +- POLY88 - Polyphase format not working because 8251 device doesn't support sync. - POLY8813 - Schematic shows a 8251 on the main board. - POLY8813 - Schematic of FDC shows a mc6852 and i8255, no dedicated fdc chip. @@ -100,7 +99,9 @@ static INPUT_PORTS_START( poly88 ) PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_UNUSED) PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_UNUSED) PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_UNUSED) - PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_UNUSED) + PORT_CONFNAME( 0x80, 0x00, "Tape Mode") + PORT_CONFSETTING( 0x00, "Byte (300 baud)") + PORT_CONFSETTING( 0x80, "Polyphase (2400 baud)") PORT_START("LINE0") PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("0") PORT_CODE(KEYCODE_0) @@ -173,12 +174,6 @@ static INPUT_PORTS_START( poly88 ) PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("LF") PORT_CODE(KEYCODE_RALT) INPUT_PORTS_END -static const struct CassetteOptions poly88_cassette_options = -{ - 1, /* channels */ - 16, /* bits per sample */ - 7200 /* sample frequency */ -}; /* F4 Character Displayer */ static const gfx_layout poly88_charlayout = @@ -219,23 +214,25 @@ void poly88_state::poly88(machine_config &config) GFXDECODE(config, "gfxdecode", "palette", gfx_poly88); PALETTE(config, "palette", palette_device::MONOCHROME); - /* audio hardware */ SPEAKER(config, "mono").front_center(); /* cassette */ CASSETTE(config, m_cassette); - m_cassette->set_create_opts(&poly88_cassette_options); m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_SPEAKER_ENABLED); m_cassette->add_route(ALL_OUTPUTS, "mono", 0.05); + TIMER(config, "kansas_r").configure_periodic(FUNC(poly88_state::kansas_r), attotime::from_hz(40000)); /* uart */ I8251(config, m_usart, 16.5888_MHz_XTAL / 9); - m_usart->txd_handler().set(FUNC(poly88_state::write_cas_tx)); - m_usart->rxrdy_handler().set(FUNC(poly88_state::poly88_usart_rxready)); + m_usart->rxrdy_handler().set(FUNC(poly88_state::usart_ready_w)); + m_usart->txrdy_handler().set(FUNC(poly88_state::usart_ready_w)); + m_usart->txd_handler().set([this] (bool state) { m_txd = state; }); + m_usart->dtr_handler().set([this] (bool state) { m_dtr = state; }); + m_usart->rts_handler().set([this] (bool state) { m_rts = state; }); MM5307AA(config, m_brg, 16.5888_MHz_XTAL / 18); - m_brg->output_cb().set(FUNC(poly88_state::cassette_txc_rxc_w)); + m_brg->output_cb().set(FUNC(poly88_state::cassette_clock_w)); /* snapshot */ SNAPSHOT(config, "snapshot", "img", attotime::from_seconds(2)).set_load_callback(FUNC(poly88_state::snapshot_cb), this); diff --git a/src/mame/drivers/r9751.cpp b/src/mame/drivers/r9751.cpp index c7b6d851c9a..0eb7b3a64ba 100644 --- a/src/mame/drivers/r9751.cpp +++ b/src/mame/drivers/r9751.cpp @@ -53,8 +53,8 @@ #include "machine/terminal.h" #include "machine/nscsi_bus.h" -#include "machine/nscsi_cd.h" -#include "machine/nscsi_hd.h" +#include "bus/nscsi/cd.h" +#include "bus/nscsi/hd.h" #include "machine/wd33c9x.h" diff --git a/src/mame/drivers/rastersp.cpp b/src/mame/drivers/rastersp.cpp index 411c4cdff64..6e4fd1fd0ab 100644 --- a/src/mame/drivers/rastersp.cpp +++ b/src/mame/drivers/rastersp.cpp @@ -16,11 +16,11 @@ ****************************************************************************/ #include "emu.h" +#include "bus/nscsi/hd.h" #include "cpu/i386/i386.h" #include "cpu/tms32031/tms32031.h" #include "machine/53c7xx.h" #include "machine/mc146818.h" -#include "machine/nscsi_hd.h" #include "machine/nvram.h" #include "machine/timer.h" #include "sound/dac.h" diff --git a/src/mame/drivers/sbrkout.cpp b/src/mame/drivers/sbrkout.cpp index 77bc57eea4e..80e44e4804c 100644 --- a/src/mame/drivers/sbrkout.cpp +++ b/src/mame/drivers/sbrkout.cpp @@ -79,7 +79,7 @@ private: virtual void machine_start() override; virtual void machine_reset() override; virtual void video_start() override; - uint32_t screen_update_sbrkout(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + uint32_t screen_update_sbrkout(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); TIMER_CALLBACK_MEMBER(scanline_callback); TIMER_CALLBACK_MEMBER(pot_trigger_callback); void update_nmi_state(); @@ -369,14 +369,13 @@ WRITE8_MEMBER(sbrkout_state::sbrkout_videoram_w) * *************************************/ -uint32_t sbrkout_state::screen_update_sbrkout(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) +uint32_t sbrkout_state::screen_update_sbrkout(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) { uint8_t *videoram = m_videoram; - int ball; m_bg_tilemap->draw(screen, bitmap, cliprect, 0, 0); - for (ball = 2; ball >= 0; ball--) + for (int ball = 2; ball >= 0; ball--) { int code = ((videoram[0x380 + 0x18 + ball * 2 + 1] & 0x80) >> 7); int sx = 31 * 8 - videoram[0x380 + 0x10 + ball * 2]; @@ -581,7 +580,6 @@ void sbrkout_state::sbrkout(machine_config &config) SCREEN(config, m_screen, SCREEN_TYPE_RASTER); m_screen->set_raw(MAIN_CLOCK/2, 384, 0, 256, 262, 0, 224); m_screen->set_screen_update(FUNC(sbrkout_state::screen_update_sbrkout)); - m_screen->set_palette(m_palette); PALETTE(config, m_palette, palette_device::MONOCHROME); diff --git a/src/mame/drivers/segald.cpp b/src/mame/drivers/segald.cpp index 8f5f3de8a64..24d4ca2866c 100644 --- a/src/mame/drivers/segald.cpp +++ b/src/mame/drivers/segald.cpp @@ -82,15 +82,13 @@ private: /* VIDEO GOODS */ void segald_state::astron_draw_characters(bitmap_rgb32 &bitmap,const rectangle &cliprect) { - uint8_t characterX, characterY; - - for (characterX = 0; characterX < 32; characterX++) + for (uint8_t character_x = 0; character_x < 32; character_x++) { - for (characterY = 0; characterY < 32; characterY++) + for (uint8_t character_y = 0; character_y < 32; character_y++) { - int current_screen_character = (characterY*32) + characterX; - m_gfxdecode->gfx(0)->transpen(bitmap,cliprect, m_fix_ram[current_screen_character], - 1, 0, 0, characterX*8, characterY*8, 0); + int current_screen_character = (character_y * 32) + character_x; + m_gfxdecode->gfx(0)->transpen(bitmap, cliprect, m_fix_ram[current_screen_character], + 1, 0, 0, character_x * 8, character_y * 8, 0); } } } @@ -107,15 +105,11 @@ void segald_state::astron_draw_sprites(bitmap_rgb32 &bitmap, const rectangle &cl /* const uint8_t SPR_GFXOFS_LO = 6;*/ /* const uint8_t SPR_GFXOFS_HI = 7;*/ - int sx,sy; - int spr_number; - int spr_base; - - for (spr_number = 0; spr_number < 32; spr_number++) + for (int spr_number = 0; spr_number < 32; spr_number++) { - spr_base = 0x10 * spr_number; - sy = m_obj_ram[spr_base + SPR_Y_TOP]; - sx = m_obj_ram[spr_base + SPR_X_LO]; + int spr_base = 0x10 * spr_number; + int sy = m_obj_ram[spr_base + SPR_Y_TOP]; + int sx = m_obj_ram[spr_base + SPR_X_LO]; if (sx != 0 || sy != 0) logerror("Hey! A sprite's not at 0,0 : %d %d", sx, sy); @@ -387,7 +381,6 @@ void segald_state::astron(machine_config &config) PIONEER_LDV1000(config, m_laserdisc, 0); m_laserdisc->set_overlay(256, 256, FUNC(segald_state::screen_update_astron)); - m_laserdisc->set_overlay_palette(m_palette); m_laserdisc->add_route(0, "lspeaker", 1.0); m_laserdisc->add_route(1, "rspeaker", 1.0); diff --git a/src/mame/drivers/seta.cpp b/src/mame/drivers/seta.cpp index dda4504a30e..983d64cada1 100644 --- a/src/mame/drivers/seta.cpp +++ b/src/mame/drivers/seta.cpp @@ -12082,7 +12082,7 @@ GAME( 1989, metafox, 0, metafox, metafox, seta_state, init_meta /* 68000 */ -GAME( 1989?,setaroul, 0, setaroul, setaroul, setaroul_state, empty_init, ROT270, "Visco", "The Roulette (Visco)", 0 ) +GAME( 1989?,setaroul, 0, setaroul, setaroul, setaroul_state, empty_init, ROT270, "Visco", "The Roulette (Visco)", MACHINE_CLICKABLE_ARTWORK ) GAME( 1989, drgnunit, 0, drgnunit, drgnunit, seta_state, empty_init, ROT0, "Seta", "Dragon Unit / Castle of Dragon", 0 ) @@ -12095,9 +12095,9 @@ GAME( 1990, thunderlbl2,thunderl,thunderlbl,thunderl, seta_state, empty_ini GAME( 1994, wiggie, 0, wiggie, thunderl, seta_state, init_wiggie, ROT270, "Promat", "Wiggie Waggie", MACHINE_IMPERFECT_GRAPHICS ) // hack of Thunder & Lightning GAME( 1994, superbar, wiggie, superbar, thunderl, seta_state, init_wiggie, ROT270, "Promat", "Super Bar", MACHINE_IMPERFECT_GRAPHICS ) // hack of Thunder & Lightning -GAME( 1990, jockeyc, 0, jockeyc, jockeyc, jockeyc_state, empty_init, ROT0, "Seta (Visco license)", "Jockey Club (v1.18)", 0 ) -GAME( 1993, inttoote2, jockeyc, jockeyc, jockeyc, jockeyc_state, empty_init, ROT0, "bootleg (Coinmaster)", "International Toote II (v1.24, P387.V01)", 0 ) -GAME( 1998, inttoote, jockeyc, inttoote, inttoote, jockeyc_state, init_inttoote, ROT0, "bootleg (Coinmaster)", "International Toote (Germany, P523.V01)", MACHINE_NOT_WORKING | MACHINE_UNEMULATED_PROTECTION ) +GAME( 1990, jockeyc, 0, jockeyc, jockeyc, jockeyc_state, empty_init, ROT0, "Seta (Visco license)", "Jockey Club (v1.18)", MACHINE_CLICKABLE_ARTWORK ) +GAME( 1993, inttoote2, jockeyc, jockeyc, jockeyc, jockeyc_state, empty_init, ROT0, "bootleg (Coinmaster)", "International Toote II (v1.24, P387.V01)", MACHINE_CLICKABLE_ARTWORK ) +GAME( 1998, inttoote, jockeyc, inttoote, inttoote, jockeyc_state, init_inttoote, ROT0, "bootleg (Coinmaster)", "International Toote (Germany, P523.V01)", MACHINE_NOT_WORKING | MACHINE_UNEMULATED_PROTECTION | MACHINE_CLICKABLE_ARTWORK ) GAME( 1991, rezon, 0, rezon, rezon, seta_state, init_rezon, ROT0, "Allumer", "Rezon", 0 ) GAME( 1992, rezont, rezon, rezon, rezont, seta_state, init_rezon, ROT0, "Allumer (Taito license)", "Rezon (Taito)", 0 ) diff --git a/src/mame/drivers/sms.cpp b/src/mame/drivers/sms.cpp index 849fb122164..9bee323b0ab 100644 --- a/src/mame/drivers/sms.cpp +++ b/src/mame/drivers/sms.cpp @@ -502,9 +502,11 @@ void sms_state::sms_base(machine_config &config) SOFTWARE_LIST(config, "cart_list").set_original("sms"); SMS_CONTROL_PORT(config, m_port_ctrl1, sms_control_port_devices, "joypad"); + m_port_ctrl1->set_screen_tag(m_main_scr); m_port_ctrl1->th_input_handler().set(FUNC(sms_state::sms_ctrl1_th_input)); SMS_CONTROL_PORT(config, m_port_ctrl2, sms_control_port_devices, "joypad"); + m_port_ctrl2->set_screen_tag(m_main_scr); m_port_ctrl2->th_input_handler().set(FUNC(sms_state::sms_ctrl2_th_input)); } @@ -991,6 +993,7 @@ void sms_state::gamegear(machine_config &config) SOFTWARE_LIST(config, "cart_list").set_original("gamegear"); GG_EXT_PORT(config, m_port_gg_ext, gg_ext_port_devices, nullptr); + m_port_gg_ext->set_screen_tag(m_main_scr); m_port_gg_ext->th_input_handler().set(FUNC(sms_state::gg_ext_th_input)); m_is_gamegear = true; diff --git a/src/mame/drivers/sun3.cpp b/src/mame/drivers/sun3.cpp index 78e65bf33da..520df9cbe3d 100644 --- a/src/mame/drivers/sun3.cpp +++ b/src/mame/drivers/sun3.cpp @@ -189,8 +189,8 @@ fefc34a - start of mem_size, which queries ECC registers for each memory board #include "machine/z80scc.h" #include "machine/am79c90.h" #include "machine/ncr5380n.h" -#include "machine/nscsi_cd.h" -#include "machine/nscsi_hd.h" +#include "bus/nscsi/cd.h" +#include "bus/nscsi/hd.h" #include "bus/rs232/rs232.h" #include "bus/sunkbd/sunkbd.h" diff --git a/src/mame/drivers/sun4.cpp b/src/mame/drivers/sun4.cpp index 7f13ed74617..5f3e6d9f8cd 100644 --- a/src/mame/drivers/sun4.cpp +++ b/src/mame/drivers/sun4.cpp @@ -411,6 +411,8 @@ #include "emu.h" +#include "bus/nscsi/cd.h" +#include "bus/nscsi/hd.h" #include "bus/rs232/rs232.h" #include "bus/sunkbd/sunkbd.h" #include "bus/sunmouse/sunmouse.h" @@ -422,8 +424,6 @@ #include "machine/bankdev.h" #include "machine/ncr5390.h" #include "machine/nscsi_bus.h" -#include "machine/nscsi_cd.h" -#include "machine/nscsi_hd.h" #include "machine/nvram.h" #include "machine/ram.h" #include "machine/sun4c_mmu.h" diff --git a/src/mame/drivers/superdq.cpp b/src/mame/drivers/superdq.cpp index 3cc3a1267bf..5bc30815604 100644 --- a/src/mame/drivers/superdq.cpp +++ b/src/mame/drivers/superdq.cpp @@ -346,7 +346,6 @@ void superdq_state::superdq(machine_config &config) PIONEER_LDV1000(config, m_laserdisc, 0); m_laserdisc->set_overlay(256, 256, FUNC(superdq_state::screen_update_superdq)); - m_laserdisc->set_overlay_palette(m_palette); m_laserdisc->add_route(0, "lspeaker", 1.0); m_laserdisc->add_route(1, "rspeaker", 1.0); diff --git a/src/mame/drivers/tti.cpp b/src/mame/drivers/tti.cpp index 16e3f606c26..16b1f5b8815 100644 --- a/src/mame/drivers/tti.cpp +++ b/src/mame/drivers/tti.cpp @@ -16,14 +16,14 @@ Other: LED, 20MHz crystal. Next to the MC68901P is another chip just as large (4 ************************************************************************************************************************************/ #include "emu.h" +#include "bus/nscsi/cd.h" +#include "bus/nscsi/hd.h" #include "bus/rs232/rs232.h" #include "cpu/m68000/m68000.h" #include "machine/74259.h" #include "machine/eepromser.h" #include "machine/mc68901.h" #include "machine/ncr5390.h" -#include "machine/nscsi_cd.h" -#include "machine/nscsi_hd.h" class tti_state : public driver_device { diff --git a/src/mame/drivers/tvg01.cpp b/src/mame/drivers/tvg01.cpp index 66f3bea3848..6c50360e8cd 100644 --- a/src/mame/drivers/tvg01.cpp +++ b/src/mame/drivers/tvg01.cpp @@ -1,8 +1,62 @@ // license:BSD-3-Clause -// copyright-holders:AJR +// copyright-holders:AJR, Roberto Fresca /******************************************************************************* - Skeleton driver for gambling game on "TVG01" PCB. + The Boat + 1997(c) Hit Gun Co, LTD. + + Gambling/Amusing game + Selectable through DIP switches. + + Driver by AJR. + Additional work by Roberto Fresca. + +******************************************************************************* + + Hardware specs... + + Seems based on MSX2. + PCB is marked "TVG01" + + CPU: + 1x Sharp LH0080A (Z80-A). (IC26) + + I/O: + 2x NEC D8255AC-2 PPI. (IC23, IC27) + + Sound: + 1x GI AY-3-8910A. (IC18) + 1x Fujitsu MB3712 (audio amp) (IC2) + + Video: + 1x Yamaha V9938 VDP (scratched) (IC13) + + RAM: + 4x Fujitsu MB81464-15 (256 Kbit DRAM) (VRAM) (IC6, IC7, IC9, IC10) + 1x NEC D449C-2 (2K x 8 Static RAM) (WRK RAM) (IC1) + + ROM: + 2x Mitsubishi M5L27128K for program. (IC3, IC5) + 3x Mitsubishi M5L27128K for graphics. (IC8, IC11, IC14) + 1x Empty socket for extra data. (*) (IC16) + + Other: + 1x 21.47727 MHz Xtal. + 1x 8 DIP switches bank. + 1x 2x18 pins edge connector. + 1x 2x10 pins edge connector. + + + (*) Note: The CE line of the extra ROM that should be located in the + empty socket, is tied to PPI port B, D3. + +******************************************************************************* + + Todo: + + - Find the selector for the PPI2 port C multiplexed inputs. + - Demux the PPI2 port C inputs. + *******************************************************************************/ @@ -56,29 +110,48 @@ void tvg01_state::io_map(address_map &map) } static INPUT_PORTS_START(boatrace) + PORT_START("IN0") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_NAME("P1 - Coin (1 credit)") // P1 - coin (1 credit) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN4 ) PORT_NAME("P2 - Key Up (10 credits)") // P2 - keyup (10 credits) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK) PORT_NAME("Analyze / Bookkeeping") // analyze (bookkeeping) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("P2 - Key Out") PORT_CODE(KEYCODE_W) // P2 - keyout + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN3 ) PORT_NAME("P1 - Key Up (10 credits)") // P1 - keyup (10 credits) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Hopper") PORT_CODE(KEYCODE_H) // hopper line + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_NAME("P2 - Coin (1 credit)") // P2 - coin (1 credit) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("P1 - Key Out") PORT_CODE(KEYCODE_Q) // P1 - keyout + + PORT_START("IN1") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("12, 16, 26, 45, 56, TS (take score)") PORT_CODE(KEYCODE_Z) // Both players: 12, 16, 26, 45, 56, TS (take score) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("13, 23, 34, ST (start), Small") PORT_CODE(KEYCODE_X) // Both players: 13, 23, 34, ST (start), Small + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("14, 24, 35, SH, BG (big)") PORT_CODE(KEYCODE_C) // Both players: 14, 24, 35, SH, BG (big) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("15, 25, 36, NG (next game)") PORT_CODE(KEYCODE_V) // Both players: 15, 25, 36, NG (next game) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("46") PORT_CODE(KEYCODE_B) // Both players: 46 + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Unk-1") PORT_CODE(KEYCODE_N) // unknown + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Unk-2") PORT_CODE(KEYCODE_M) // unknown + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Unk-3") PORT_CODE(KEYCODE_S) // unknown + PORT_START("DSW") - PORT_DIPNAME(0x01, 0x01, DEF_STR(Unknown)) + PORT_DIPNAME(0x01, 0x01, DEF_STR(Unknown)) PORT_DIPLOCATION("DSW:8") PORT_DIPSETTING(0x01, DEF_STR(Off)) PORT_DIPSETTING(0x00, DEF_STR(On)) - PORT_DIPNAME(0x02, 0x02, DEF_STR(Unknown)) + PORT_DIPNAME(0x02, 0x02, DEF_STR(Unknown)) PORT_DIPLOCATION("DSW:7") PORT_DIPSETTING(0x02, DEF_STR(Off)) PORT_DIPSETTING(0x00, DEF_STR(On)) - PORT_DIPNAME(0x04, 0x04, DEF_STR(Unknown)) - PORT_DIPSETTING(0x04, DEF_STR(Off)) - PORT_DIPSETTING(0x00, DEF_STR(On)) - PORT_DIPNAME(0x08, 0x08, DEF_STR(Unknown)) - PORT_DIPSETTING(0x08, DEF_STR(Off)) - PORT_DIPSETTING(0x00, DEF_STR(On)) - PORT_DIPNAME(0x10, 0x10, DEF_STR(Unknown)) + PORT_DIPNAME(0x0c, 0x0c, DEF_STR(Coinage)) PORT_DIPLOCATION("DSW:6,5") + PORT_DIPSETTING(0x0c, "1 Coin 1 Credit / 1 Pulse 10 Credits") + PORT_DIPSETTING(0x08, "1 Coin 2 Credit / 1 Pulse 20 Credits") + PORT_DIPSETTING(0x04, "1 Coin 5 Credit / 1 Pulse 50 Credits") + PORT_DIPSETTING(0x00, "1 Coin 10 Credit / 1 Pulse 100 Credits") + PORT_DIPNAME(0x10, 0x10, "Key Out") PORT_DIPLOCATION("DSW:4") PORT_DIPSETTING(0x10, DEF_STR(Off)) PORT_DIPSETTING(0x00, DEF_STR(On)) - PORT_DIPNAME(0x20, 0x20, DEF_STR(Unknown)) + PORT_DIPNAME(0x20, 0x20, DEF_STR(Unknown)) PORT_DIPLOCATION("DSW:3") PORT_DIPSETTING(0x20, DEF_STR(Off)) PORT_DIPSETTING(0x00, DEF_STR(On)) - PORT_DIPNAME(0x40, 0x40, DEF_STR(Unknown)) + PORT_DIPNAME(0x40, 0x40, "Unknown (Should be OFF)") PORT_DIPLOCATION("DSW:2") PORT_DIPSETTING(0x40, DEF_STR(Off)) PORT_DIPSETTING(0x00, DEF_STR(On)) - PORT_DIPNAME(0x80, 0x80, DEF_STR(Unknown)) + PORT_DIPNAME(0x80, 0x80, "Test Mode") PORT_DIPLOCATION("DSW:1") PORT_DIPSETTING(0x80, DEF_STR(Off)) PORT_DIPSETTING(0x00, DEF_STR(On)) INPUT_PORTS_END @@ -92,16 +165,17 @@ void tvg01_state::boatrace(machine_config &config) NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); // D449C-2 + battery i8255_device &ppi1(I8255(config, "ppi1")); // D8255AC-2 + ppi1.in_pa_callback().set_ioport("IN0"); ppi1.out_pb_callback().set_membank("gfxbank").mask(0x03); i8255_device &ppi2(I8255(config, "ppi2")); // D8255AC-2 - ppi2.in_pc_callback().set_constant(0xff); + ppi2.in_pc_callback().set_ioport("IN1"); SCREEN(config, "screen", SCREEN_TYPE_RASTER); v9938_device &vdp(V9938(config, "vdp", 21.477272_MHz_XTAL)); // unknown type (surface-scratched 64-pin SDIP) vdp.set_screen_ntsc("screen"); - vdp.set_vram_size(0x40000); // 4x MB81464-15 + vdp.set_vram_size(0x20000); // 4x MB81464-15 vdp.int_cb().set_inputline("maincpu", INPUT_LINE_IRQ0); SPEAKER(config, "mono").front_center(); @@ -120,7 +194,8 @@ ROM_START(boatrace) ROM_LOAD("3.ic8", 0x8000, 0x4000, CRC(74b44e32) SHA1(b36c90a13511c5bf4aef079ac506605096e39067)) ROM_LOAD("4.ic11", 0x4000, 0x4000, CRC(4ea36fa3) SHA1(b020a478e8dd72154916c67d71255b5a6a822d6d)) ROM_LOAD("5.ic14", 0xc000, 0x4000, CRC(7899a587) SHA1(13cbb7e837e14bc49d8b34dbf876b666cdf48979)) - // Empty socket for one more ROM (IC16) + // Empty socket for one more ROM (IC16), ROM_END -GAME(19??, boatrace, 0, boatrace, boatrace, tvg01_state, empty_init, ROT0, "<unknown>", "All-Japan Boat Race", MACHINE_NOT_WORKING) // title is tentative +// YEAR NAME PARENT MACHINE INPUT STATE INIT ROT COMPANY FULLNAME FLAGS +GAME(1987, boatrace, 0, boatrace, boatrace, tvg01_state, empty_init, ROT0, "Hit Gun Co, LTD", "The Boat", MACHINE_NOT_WORKING) diff --git a/src/mame/drivers/uknc.cpp b/src/mame/drivers/uknc.cpp index 3a5bfaed28d..21319efbf4c 100644 --- a/src/mame/drivers/uknc.cpp +++ b/src/mame/drivers/uknc.cpp @@ -27,7 +27,7 @@ public: private: virtual void machine_reset() override; virtual void video_start() override; - uint32_t screen_update_uknc(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); required_device<k1801vm2_device> m_maincpu; void uknc_mem(address_map &map); @@ -62,7 +62,7 @@ void uknc_state::video_start() { } -uint32_t uknc_state::screen_update_uknc(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) +uint32_t uknc_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) { return 0; } @@ -84,8 +84,7 @@ void uknc_state::uknc(machine_config &config) screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */ screen.set_size(640, 480); screen.set_visarea(0, 640-1, 0, 480-1); - screen.set_screen_update(FUNC(uknc_state::screen_update_uknc)); - screen.set_palette("palette"); + screen.set_screen_update(FUNC(uknc_state::screen_update)); PALETTE(config, "palette", palette_device::MONOCHROME); } diff --git a/src/mame/drivers/univac.cpp b/src/mame/drivers/univac.cpp index a0b33aabd68..80bd1e3e586 100644 --- a/src/mame/drivers/univac.cpp +++ b/src/mame/drivers/univac.cpp @@ -132,6 +132,7 @@ public: , m_sio(*this, "sio") , m_alarm(*this, "alarm") , m_screen(*this, "screen") + , m_palette(*this, "palette") , m_keyboard(*this, "keyboard") , m_printer(*this, "printer") , m_p_chargen(*this, "chargen") @@ -180,7 +181,7 @@ private: DECLARE_WRITE_LINE_MEMBER(loopback_rxcb_w); DECLARE_WRITE_LINE_MEMBER(porte6_w); - u32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + u32 screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); void io_map(address_map &map); void mem_map(address_map &map); @@ -195,6 +196,7 @@ private: required_device<z80sio_device> m_sio; required_device<speaker_sound_device> m_alarm; required_device<screen_device> m_screen; + required_device<palette_device> m_palette; required_device<uts_keyboard_port_device> m_keyboard; required_device<rs232_port_device> m_printer; @@ -481,7 +483,7 @@ void univac_state::machine_start() save_item(NAME(m_sio_wrdyb)); } -uint32_t univac_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) +uint32_t univac_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) { if (!m_display_enable) { @@ -489,29 +491,29 @@ uint32_t univac_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap return 0; } - u8 y,ra,chr; - uint16_t sy=0,x,ma=0,gfx; + const pen_t *pen = m_palette->pens(); + + uint16_t sy=0,ma=0; m_framecnt++; - for (y = 0; y < 25; y++) + for (u8 y = 0; y < 25; y++) { - for (ra = 0; ra < 14; ra++) + for (u8 ra = 0; ra < 14; ra++) { - uint16_t *p = &bitmap.pix16(sy++); + uint32_t *p = &bitmap.pix32(sy++); - for (x = ma; x < ma + 80; x++) + for (uint16_t x = ma; x < ma + 80; x++) { - chr = ram_r(x ^ m_disp_mask); // bit 7 = rv attribute (or dim, depending on control-page setting) + u8 chr = ram_r(x ^ m_disp_mask); // bit 7 = rv attribute (or dim, depending on control-page setting) - gfx = m_p_chargen[((chr & 0x7f)<<4) | ra]; + uint16_t gfx = m_p_chargen[((chr & 0x7f)<<4) | ra]; // chars 1C, 1D, 1F need special handling if ((chr >= 0x1c) && (chr <= 0x1f) && BIT(gfx, 7)) { gfx &= 0x7f; - // They also blink - if (m_framecnt & 16) + if (m_framecnt & 16) // They also blink gfx = 0; } @@ -520,18 +522,13 @@ uint32_t univac_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap gfx = ~gfx; /* Display a scanline of a character */ - *p++ = BIT(gfx, 8); - *p++ = BIT(gfx, 7); - *p++ = BIT(gfx, 6); - *p++ = BIT(gfx, 5); - *p++ = BIT(gfx, 4); - *p++ = BIT(gfx, 3); - *p++ = BIT(gfx, 2); - *p++ = BIT(gfx, 1); - *p++ = BIT(gfx, 0); + for (int bit = 8; bit >= 0; bit--) + { + *p++ = pen[BIT(gfx, bit)]; + } } } - ma+=80; + ma += 80; } return 0; } @@ -588,9 +585,8 @@ void univac_state::uts20(machine_config &config) /* video hardware */ SCREEN(config, m_screen, SCREEN_TYPE_RASTER, rgb_t::green()); m_screen->set_screen_update(FUNC(univac_state::screen_update)); - m_screen->set_palette("palette"); - PALETTE(config, "palette", palette_device::MONOCHROME); - GFXDECODE(config, "gfxdecode", "palette", gfx_uts); + PALETTE(config, m_palette, palette_device::MONOCHROME); + GFXDECODE(config, "gfxdecode", m_palette, gfx_uts); dp835x_device &crtc(DP835X_A(config, "crtc", 19'980'000)); crtc.set_screen("screen"); diff --git a/src/mame/drivers/wrinkles.cpp b/src/mame/drivers/wrinkles.cpp new file mode 100644 index 00000000000..170bc86f349 --- /dev/null +++ b/src/mame/drivers/wrinkles.cpp @@ -0,0 +1,136 @@ +// license:BSD-3-Clause +// copyright-holders:hap +/****************************************************************************** + +Coleco Talking Wrinkles, a plushie dog handpuppet toy + +Hardware is a P80C31BH @ 11MHz and a 32KB ROM, RAM is in the MCU. +It also has a cartridge slot, but no known cartridges were released. +The speech technology is by Electronic Speech Systems. + +TODO: +- add sensors + +******************************************************************************/ + +#include "emu.h" +#include "cpu/mcs51/mcs51.h" +#include "sound/dac.h" +#include "sound/volt_reg.h" +#include "speaker.h" + + +namespace { + +class wrinkles_state : public driver_device +{ +public: + wrinkles_state(const machine_config &mconfig, device_type type, const char *tag) : + driver_device(mconfig, type, tag), + m_maincpu(*this, "maincpu") + { } + + void wrinkles(machine_config &config); + +protected: + virtual void machine_start() override; + +private: + // devices/pointers + required_device<mcs51_cpu_device> m_maincpu; + + void main_map(address_map &map); + + // I/O handlers + DECLARE_WRITE8_MEMBER(sensor_w); + DECLARE_READ8_MEMBER(sensor_r); +}; + +void wrinkles_state::machine_start() +{ +} + + + +/****************************************************************************** + I/O +******************************************************************************/ + +WRITE8_MEMBER(wrinkles_state::sensor_w) +{ +} + +READ8_MEMBER(wrinkles_state::sensor_r) +{ + // sensors here + // d1: hold down for power-off? + // d7: mouth sensor? + // other: ? + return 0xff; +} + + + +/****************************************************************************** + Address Maps +******************************************************************************/ + +void wrinkles_state::main_map(address_map &map) +{ + map.global_mask(0x7fff); + map(0x0000, 0x7fff).rom(); +} + + + +/****************************************************************************** + Input Ports +******************************************************************************/ + +static INPUT_PORTS_START( wrinkles ) +INPUT_PORTS_END + + + +/****************************************************************************** + Machine Configs +******************************************************************************/ + +void wrinkles_state::wrinkles(machine_config &config) +{ + /* basic machine hardware */ + I80C31(config, m_maincpu, 11_MHz_XTAL); + m_maincpu->set_addrmap(AS_PROGRAM, &wrinkles_state::main_map); + m_maincpu->port_in_cb<1>().set(FUNC(wrinkles_state::sensor_r)); + m_maincpu->port_out_cb<1>().set(FUNC(wrinkles_state::sensor_w)); + m_maincpu->port_out_cb<3>().set("dac", FUNC(dac_8bit_r2r_device::write)); + + /* sound hardware */ + SPEAKER(config, "speaker").front_center(); + DAC_8BIT_R2R(config, "dac").add_route(ALL_OUTPUTS, "speaker", 0.5); + 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); +} + + + +/****************************************************************************** + ROM Definitions +******************************************************************************/ + +ROM_START( wrinkles ) + ROM_REGION( 0x8000, "maincpu", 0 ) + ROM_LOAD("umua117_wrkl_dif4.u3", 0x0000, 0x8000, CRC(4ec8ddbf) SHA1(beb165d933659859a4f966168ca121843cd6642b) ) +ROM_END + +} // anonymous namespace + + + +/****************************************************************************** + Drivers +******************************************************************************/ + +// YEAR NAME PARENT CMP MACHINE INPUT CLASS INIT COMPANY, FULLNAME, FLAGS +CONS( 1986, wrinkles, 0, 0, wrinkles, wrinkles, wrinkles_state, empty_init, "Coleco / Ganz", "Talking Wrinkles", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING ) diff --git a/src/mame/includes/interpro.h b/src/mame/includes/interpro.h index ad28c68a546..32db12daba8 100644 --- a/src/mame/includes/interpro.h +++ b/src/mame/includes/interpro.h @@ -24,8 +24,8 @@ #include "machine/ncr5390.h" #include "machine/nscsi_bus.h" -#include "machine/nscsi_cd.h" -#include "machine/nscsi_hd.h" +#include "bus/nscsi/cd.h" +#include "bus/nscsi/hd.h" #include "bus/rs232/rs232.h" diff --git a/src/mame/includes/itech32.h b/src/mame/includes/itech32.h index 92d97047d00..0dd727808d0 100644 --- a/src/mame/includes/itech32.h +++ b/src/mame/includes/itech32.h @@ -12,6 +12,7 @@ #pragma once #include "machine/6522via.h" +#include "machine/gen_latch.h" #include "machine/nvram.h" #include "machine/ticket.h" #include "machine/timekpr.h" @@ -39,6 +40,8 @@ public: m_palette(*this, "palette"), m_ticket(*this, "ticket"), m_timekeeper(*this, "m48t02"), + m_soundlatch(*this, "soundlatch"), + m_soundlatch2(*this, "soundlatch2"), m_main_ram(*this, "main_ram", 0), m_nvram(*this, "nvram", 0), m_video(*this, "video", 0), @@ -83,6 +86,8 @@ protected: required_device<palette_device> m_palette; required_device<ticket_dispenser_device> m_ticket; optional_device<timekeeper_device> m_timekeeper; + required_device<generic_latch_8_device> m_soundlatch; + optional_device<generic_latch_8_device> m_soundlatch2; optional_shared_ptr<u16> m_main_ram; optional_shared_ptr<u16> m_nvram; @@ -99,9 +104,7 @@ protected: u8 m_xint_state; u8 m_qint_state; u8 m_irq_base; - u8 m_sound_data; u8 m_sound_return; - u8 m_sound_int_state; offs_t m_itech020_prot_address; int m_special_result; int m_p1_effx; @@ -148,9 +151,9 @@ protected: void sound_bank_w(u8 data); void sound_data_w(u8 data); u8 sound_return_r(); - u8 sound_data_r(); void sound_return_w(u8 data); u8 sound_data_buffer_r(); + void sound_control_w(u8 data); void firq_clear_w(u8 data); void timekill_colora_w(u8 data); void timekill_colorbc_w(u8 data); @@ -176,7 +179,6 @@ protected: u32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); WRITE_LINE_MEMBER(generate_int1); - TIMER_CALLBACK_MEMBER(delayed_sound_data_w); TIMER_CALLBACK_MEMBER(scanline_interrupt); inline offs_t compute_safe_address(int x, int y); inline void disable_clipping(); diff --git a/src/mame/includes/jazz.h b/src/mame/includes/jazz.h index 8bcf2e7cbbb..e4f1d75f847 100644 --- a/src/mame/includes/jazz.h +++ b/src/mame/includes/jazz.h @@ -34,8 +34,8 @@ // busses and connectors #include "machine/nscsi_bus.h" -#include "machine/nscsi_cd.h" -#include "machine/nscsi_hd.h" +#include "bus/nscsi/cd.h" +#include "bus/nscsi/hd.h" #include "bus/rs232/rs232.h" #include "bus/pc_kbd/pc_kbdc.h" #include "bus/pc_kbd/keyboards.h" diff --git a/src/mame/includes/mips.h b/src/mame/includes/mips.h index aff93ac1e94..a4c0c9e0462 100644 --- a/src/mame/includes/mips.h +++ b/src/mame/includes/mips.h @@ -29,8 +29,8 @@ // busses and connectors #include "machine/nscsi_bus.h" -#include "machine/nscsi_cd.h" -#include "machine/nscsi_hd.h" +#include "bus/nscsi/cd.h" +#include "bus/nscsi/hd.h" #include "bus/pc_kbd/pc_kbdc.h" #include "bus/pc_kbd/keyboards.h" diff --git a/src/mame/includes/nmk16.h b/src/mame/includes/nmk16.h index 1ba5719f9ef..bd29bef9fbe 100644 --- a/src/mame/includes/nmk16.h +++ b/src/mame/includes/nmk16.h @@ -27,13 +27,12 @@ public: m_palette(*this, "palette"), m_nmk004(*this, "nmk004"), m_soundlatch(*this, "soundlatch"), - m_nmk_bgvideoram(*this, "nmk_bgvideoram%u", 0U), - m_nmk_txvideoram(*this, "nmk_txvideoram"), + m_bgvideoram(*this, "bgvideoram%u", 0U), + m_txvideoram(*this, "txvideoram"), m_mainram(*this, "mainram"), m_gunnail_scrollram(*this, "scrollram"), m_spriteram(*this, "spriteram"), m_gunnail_scrollramy(*this, "scrollramy"), - m_afega_scroll(*this, "afega_scroll_%u", 0U), m_tilemap_rom(*this, "tilerom"), m_audiobank(*this, "audiobank"), m_okibank(*this, "okibank%u", 1U), @@ -43,38 +42,30 @@ public: { } void vandyke(machine_config &config); - void redhawkb(machine_config &config); - void grdnstrm(machine_config &config); void tdragon_prot(machine_config &config); void tdragon2(machine_config &config); void tharrier(machine_config &config); void raphero(machine_config &config); void tdragon(machine_config &config); void tdragonb(machine_config &config); - void twinactn(machine_config &config); - void firehawk(machine_config &config); void gunnail(machine_config &config); void gunnailb(machine_config &config); void hachamf(machine_config &config); - void redhawki(machine_config &config); void bjtwin(machine_config &config); void ssmissin(machine_config &config); void bioship(machine_config &config); - void spec2k(machine_config &config); void macross2(machine_config &config); void blkheart(machine_config &config); - void stagger1(machine_config &config); void manybloc(machine_config &config); void acrobatm(machine_config &config); void strahl(machine_config &config); void tdragon3h(machine_config &config); void atombjt(machine_config &config); void hachamf_prot(machine_config &config); - void popspops(machine_config &config); - void grdnstrmk(machine_config &config); void macross(machine_config &config); void mustangb(machine_config &config); void mustang(machine_config &config); + void twinactn(machine_config &config); void vandykeb(machine_config &config); void init_nmk(); @@ -82,31 +73,23 @@ public: void init_vandykeb(); void init_tdragonb(); void init_ssmissin(); + void init_twinactn(); void init_hachamf_prot(); - void init_redhawk(); - void init_redhawkg(); - void init_redhawki(); void init_tdragon_prot(); - void init_bubl2000(); void init_banked_audiocpu(); - void init_grdnstrm(); - void init_grdnstrmau(); void init_gunnailb(); - void init_spec2k(); - void init_redfoxwp2a(); - void init_grdnstrmg(); void init_bjtwin(); void init_atombjt(); DECLARE_VIDEO_START(gunnail); TIMER_DEVICE_CALLBACK_MEMBER(nmk16_scanline); - uint32_t screen_update_macross(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + u32 screen_update_macross(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); - DECLARE_WRITE16_MEMBER(nmk_txvideoram_w); - DECLARE_WRITE8_MEMBER(nmk_flipscreen_w); - DECLARE_WRITE8_MEMBER(nmk_tilebank_w); + void txvideoram_w(offs_t offset, u16 data, u16 mem_mask = ~0); + void flipscreen_w(u8 data); + void tilebank_w(u8 data); - DECLARE_WRITE8_MEMBER(macross2_sound_bank_w); + void macross2_sound_bank_w(u8 data); protected: required_device<cpu_device> m_maincpu; @@ -118,15 +101,14 @@ protected: optional_device<nmk004_device> m_nmk004; optional_device<generic_latch_8_device> m_soundlatch; - optional_shared_ptr_array<uint16_t, 2> m_nmk_bgvideoram; - optional_shared_ptr<uint16_t> m_nmk_txvideoram; - required_shared_ptr<uint16_t> m_mainram; - optional_shared_ptr<uint16_t> m_gunnail_scrollram; - optional_shared_ptr<uint8_t> m_spriteram; - optional_shared_ptr<uint16_t> m_gunnail_scrollramy; - optional_shared_ptr_array<uint16_t, 2> m_afega_scroll; + optional_shared_ptr_array<u16, 2> m_bgvideoram; + optional_shared_ptr<u16> m_txvideoram; + required_shared_ptr<u16> m_mainram; + optional_shared_ptr<u16> m_gunnail_scrollram; + optional_shared_ptr<u8> m_spriteram; + optional_shared_ptr<u16> m_gunnail_scrollramy; - optional_region_ptr<uint16_t> m_tilemap_rom; + optional_region_ptr<u16> m_tilemap_rom; optional_memory_bank m_audiobank; optional_memory_bank_array<2> m_okibank; @@ -138,45 +120,43 @@ protected: int m_tilerambank; int m_sprdma_base; int mask[4*2]; - std::unique_ptr<uint16_t[]> m_spriteram_old; - std::unique_ptr<uint16_t[]> m_spriteram_old2; + std::unique_ptr<u16[]> m_spriteram_old; + std::unique_ptr<u16[]> m_spriteram_old2; int m_bgbank; int m_videoshift; int m_bioship_background_bank; tilemap_t *m_bg_tilemap[2]; tilemap_t *m_tx_tilemap; int m_mustang_bg_xscroll; - uint8_t m_scroll[2][4]; - uint16_t m_vscroll[4]; + u8 m_scroll[2][4]; + u16 m_vscroll[4]; int m_prot_count; - uint8_t m_input_pressed; - uint8_t m_start_helper; - uint8_t m_coin_count[2]; - uint8_t m_coin_count_frac[2]; - DECLARE_WRITE16_MEMBER(nmk16_mainram_strange_w); - DECLARE_WRITE8_MEMBER(ssmissin_soundbank_w); - DECLARE_WRITE16_MEMBER(tharrier_mcu_control_w); - DECLARE_READ16_MEMBER(tharrier_mcu_r); - DECLARE_WRITE16_MEMBER(macross2_sound_reset_w); - template<int Chip> DECLARE_WRITE8_MEMBER(tharrier_oki6295_bankswitch_w); - DECLARE_WRITE16_MEMBER(hachamf_mainram_w); - DECLARE_WRITE16_MEMBER(tdragon_mainram_w); - DECLARE_READ16_MEMBER(vandykeb_r); - DECLARE_READ16_MEMBER(tdragonb_prot_r); - DECLARE_READ16_MEMBER(afega_unknown_r); - template<int Scroll> DECLARE_WRITE16_MEMBER(afega_scroll_w); - template<int Layer> DECLARE_WRITE16_MEMBER(nmk_bgvideoram_w); - DECLARE_WRITE16_MEMBER(mustang_scroll_w); - DECLARE_WRITE16_MEMBER(raphero_scroll_w); - template<int Layer> DECLARE_WRITE8_MEMBER(nmk_scroll_w); - DECLARE_WRITE16_MEMBER(vandyke_scroll_w); - DECLARE_WRITE16_MEMBER(vandykeb_scroll_w); - DECLARE_WRITE16_MEMBER(manybloc_scroll_w); - DECLARE_WRITE8_MEMBER(bioship_bank_w); - DECLARE_WRITE8_MEMBER(spec2k_oki1_banking_w); - DECLARE_WRITE8_MEMBER(twinactn_oki_bank_w); - DECLARE_WRITE16_MEMBER(nmk16_x0016_w); - DECLARE_WRITE16_MEMBER(nmk16_bioship_x0016_w); + u8 m_input_pressed; + u8 m_start_helper; + u8 m_coin_count[2]; + u8 m_coin_count_frac[2]; + void mainram_strange_w(offs_t offset, u16 data/*, u16 mem_mask = ~0*/); + u16 mainram_swapped_r(offs_t offset); + void mainram_swapped_w(offs_t offset, u16 data, u16 mem_mask = ~0); + void ssmissin_soundbank_w(u8 data); + void tharrier_mcu_control_w(u16 data); + u16 tharrier_mcu_r(offs_t offset, u16 mem_mask = ~0); + void macross2_sound_reset_w(u16 data); + template<unsigned Chip> void tharrier_oki_bankswitch_w(u8 data); + void hachamf_mainram_w(offs_t offset, u16 data, u16 mem_mask = ~0); + void tdragon_mainram_w(offs_t offset, u16 data, u16 mem_mask = ~0); + u16 vandykeb_r(); + u16 tdragonb_prot_r(); + template<unsigned Layer> void bgvideoram_w(offs_t offset, u16 data, u16 mem_mask = ~0); + void mustang_scroll_w(u16 data); + void raphero_scroll_w(offs_t offset, u16 data, u16 mem_mask = ~0); + template<unsigned Layer> void scroll_w(offs_t offset, u8 data); + void vandyke_scroll_w(offs_t offset, u16 data); + void vandykeb_scroll_w(offs_t offset, u16 data, u16 mem_mask = ~0); + void manybloc_scroll_w(offs_t offset, u16 data, u16 mem_mask = ~0); + void bioship_bank_w(u8 data); + void nmk004_x0016_w(u16 data); + void nmk004_bioship_x0016_w(u16 data); void save_protregs(); void set_hacky_interrupt_timing(machine_config &config); @@ -184,59 +164,42 @@ protected: void set_hacky_screen_hires(machine_config &config); TILEMAP_MAPPER_MEMBER(tilemap_scan_pages); - template<int Layer, int Gfx> TILE_GET_INFO_MEMBER(common_get_bg_tile_info); + template<unsigned Layer, unsigned Gfx> TILE_GET_INFO_MEMBER(common_get_bg_tile_info); TILE_GET_INFO_MEMBER(common_get_tx_tile_info); TILE_GET_INFO_MEMBER(bioship_get_bg_tile_info); TILE_GET_INFO_MEMBER(bjtwin_get_bg_tile_info); - TILE_GET_INFO_MEMBER(get_tile_info_0_8bit); DECLARE_VIDEO_START(macross); DECLARE_VIDEO_START(bioship); DECLARE_VIDEO_START(strahl); DECLARE_VIDEO_START(macross2); DECLARE_VIDEO_START(bjtwin); - DECLARE_VIDEO_START(afega); - DECLARE_VIDEO_START(grdnstrm); - uint32_t screen_update_tharrier(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); - uint32_t screen_update_manybloc(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); - uint32_t screen_update_strahl(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); - uint32_t screen_update_tdragon2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); - uint32_t screen_update_bjtwin(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); - uint32_t screen_update_afega(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); - uint32_t screen_update_firehawk(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); - uint32_t screen_update_redhawki(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); - uint32_t screen_update_redhawkb(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); - uint32_t screen_update_bubl2000(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + u32 screen_update_tharrier(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + u32 screen_update_manybloc(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + u32 screen_update_strahl(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + u32 screen_update_bjtwin(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); TIMER_DEVICE_CALLBACK_MEMBER(tdragon_mcu_sim); TIMER_DEVICE_CALLBACK_MEMBER(hachamf_mcu_sim); TIMER_DEVICE_CALLBACK_MEMBER(manybloc_scanline); - void nmk16_video_init(); - inline void nmk16_draw_sprite(bitmap_ind16 &bitmap, const rectangle &cliprect, uint16_t *spr); - inline void nmk16_draw_sprite_flipsupported(bitmap_ind16 &bitmap, const rectangle &cliprect, uint16_t *spr); - void nmk16_draw_sprites_swap(bitmap_ind16 &bitmap, const rectangle &cliprect, int *bittbl); - void nmk16_draw_sprites_swap_flipsupported(bitmap_ind16 &bitmap, const rectangle &cliprect, int *bittbl); - void nmk16_draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect); - void nmk16_draw_sprites_flipsupported(bitmap_ind16 &bitmap, const rectangle &cliprect); - void nmk16_bg_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int layer = 0); - void nmk16_tx_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); - void video_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect,int dsw_flipscreen,int xoffset, int yoffset,int attr_mask); - void redhawki_video_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect ); - void mcu_run(uint8_t dsw_setting); - uint8_t decode_byte(uint8_t src, const uint8_t *bitp); - uint32_t bjtwin_address_map_bg0(uint32_t addr); - uint16_t decode_word(uint16_t src, const uint8_t *bitp); - uint32_t bjtwin_address_map_sprites(uint32_t addr); + void video_init(); + inline void draw_sprite(bitmap_ind16 &bitmap, const rectangle &cliprect, u16 *spr); + inline void draw_sprite_flipsupported(bitmap_ind16 &bitmap, const rectangle &cliprect, u16 *spr); + void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect); + void draw_sprites_flipsupported(bitmap_ind16 &bitmap, const rectangle &cliprect); + void bg_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int layer = 0); + void tx_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + void mcu_run(u8 dsw_setting); + u8 decode_byte(u8 src, const u8 *bitp); + u32 bjtwin_address_map_bg0(u32 addr); + u16 decode_word(u16 src, const u8 *bitp); + u32 bjtwin_address_map_sprites(u32 addr); void decode_gfx(); void decode_tdragonb(); void decode_ssmissin(); void acrobatm_map(address_map &map); - void afega_map(address_map &map); - void afega_sound_cpu(address_map &map); void atombjt_map(address_map &map); void bioship_map(address_map &map); void bjtwin_map(address_map &map); - void firehawk_map(address_map &map); - void firehawk_sound_cpu(address_map &map); void gunnail_map(address_map &map); void gunnailb_map(address_map &map); void gunnailb_sound_map(address_map &map); @@ -256,6 +219,7 @@ protected: void ssmissin_map(address_map &map); void ssmissin_sound_map(address_map &map); void strahl_map(address_map &map); + void tdragon2_map(address_map &map); void tdragon3h_map(address_map &map); void tdragon_map(address_map &map); void tdragonb_map(address_map &map); @@ -263,11 +227,61 @@ protected: void tharrier_sound_io_map(address_map &map); void tharrier_sound_map(address_map &map); void twinactn_map(address_map &map); - void twinactn_sound_cpu(address_map &map); void vandyke_map(address_map &map); void vandykeb_map(address_map &map); }; +class afega_state : public nmk16_state +{ +public: + afega_state(const machine_config &mconfig, device_type type, const char *tag) : + nmk16_state(mconfig, type, tag), + m_afega_scroll(*this, "afega_scroll_%u", 0U) + {} + + void firehawk(machine_config &config); + void grdnstrm(machine_config &config); + void grdnstrmk(machine_config &config); + void popspops(machine_config &config); + void redhawki(machine_config &config); + void redhawkb(machine_config &config); + void stagger1(machine_config &config); + void spec2k(machine_config &config); + void init_bubl2000(); + void init_grdnstrm(); + void init_grdnstrmau(); + void init_redfoxwp2a(); + void init_grdnstrmg(); + void init_redhawk(); + void init_redhawkg(); + void init_redhawki(); + void init_spec2k(); + +private: + optional_shared_ptr_array<u16, 2> m_afega_scroll; + + u16 afega_unknown_r(); + void spec2k_oki1_banking_w(u8 data); + template<unsigned Scroll> void afega_scroll_w(offs_t offset, u16 data, u16 mem_mask = ~0); + + TILE_GET_INFO_MEMBER(get_bg_tile_info_4bit); + TILE_GET_INFO_MEMBER(get_bg_tile_info_8bit); + DECLARE_VIDEO_START(afega); + DECLARE_VIDEO_START(grdnstrm); + u32 screen_update_afega(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + u32 screen_update_firehawk(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + u32 screen_update_redhawki(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + u32 screen_update_redhawkb(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + u32 screen_update_bubl2000(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + void video_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int dsw_flipscreen, int xoffset, int yoffset, int attr_mask); + void redhawki_video_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + + void afega_map(address_map &map); + void afega_sound_cpu(address_map &map); + void firehawk_map(address_map &map); + void firehawk_sound_cpu(address_map &map); +}; + class nmk16_tomagic_state : public nmk16_state { public: diff --git a/src/mame/includes/poly88.h b/src/mame/includes/poly88.h index 6619b3b9ca7..1cc3dbbacc0 100644 --- a/src/mame/includes/poly88.h +++ b/src/mame/includes/poly88.h @@ -14,6 +14,7 @@ #include "machine/mm5307.h" #include "imagedev/cassette.h" #include "imagedev/snapquik.h" +#include "machine/timer.h" class poly88_state : public driver_device { @@ -24,21 +25,21 @@ public: TIMER_KEYBOARD }; - poly88_state(const machine_config &mconfig, device_type type, const char *tag) : - driver_device(mconfig, type, tag), - m_video_ram(*this, "video_ram"), - m_maincpu(*this, "maincpu"), - m_usart(*this, "usart"), - m_brg(*this, "brg"), - m_cassette(*this, "cassette"), - m_linec(*this, "LINEC"), - m_line0(*this, "LINE0"), - m_line1(*this, "LINE1"), - m_line2(*this, "LINE2"), - m_line3(*this, "LINE3"), - m_line4(*this, "LINE4"), - m_line5(*this, "LINE5"), - m_line6(*this, "LINE6") + poly88_state(const machine_config &mconfig, device_type type, const char *tag) + : driver_device(mconfig, type, tag) + , m_video_ram(*this, "video_ram") + , m_maincpu(*this, "maincpu") + , m_usart(*this, "usart") + , m_brg(*this, "brg") + , m_cassette(*this, "cassette") + , m_linec(*this, "LINEC") + , m_line0(*this, "LINE0") + , m_line1(*this, "LINE1") + , m_line2(*this, "LINE2") + , m_line3(*this, "LINE3") + , m_line4(*this, "LINE4") + , m_line5(*this, "LINE5") + , m_line6(*this, "LINE6") { } void poly88(machine_config &config); @@ -49,25 +50,23 @@ public: private: required_shared_ptr<uint8_t> m_video_ram; uint8_t *m_FNT; - uint8_t m_intr; uint8_t m_last_code; uint8_t m_int_vector; emu_timer * m_usart_timer; emu_timer * m_keyboard_timer; - int m_previous_level; - int m_clk_level_tape; void baud_rate_w(uint8_t data); uint8_t keyboard_r(); void intr_w(uint8_t data); + bool m_dtr, m_rts, m_txd, m_rxd, m_cassold; + u8 m_cass_data[4]; virtual void machine_reset() override; virtual void video_start() override; uint32_t screen_update_poly88(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); INTERRUPT_GEN_MEMBER(poly88_interrupt); - TIMER_CALLBACK_MEMBER(poly88_usart_timer_callback); TIMER_CALLBACK_MEMBER(keyboard_callback); - DECLARE_WRITE_LINE_MEMBER(cassette_txc_rxc_w); - DECLARE_WRITE_LINE_MEMBER(write_cas_tx); - DECLARE_WRITE_LINE_MEMBER(poly88_usart_rxready); + TIMER_DEVICE_CALLBACK_MEMBER(kansas_r); + DECLARE_WRITE_LINE_MEMBER(cassette_clock_w); + DECLARE_WRITE_LINE_MEMBER(usart_ready_w); IRQ_CALLBACK_MEMBER(poly88_irq_callback); DECLARE_SNAPSHOT_LOAD_MEMBER(snapshot_cb); @@ -90,8 +89,6 @@ private: required_ioport m_line6; uint8_t row_number(uint8_t code); virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override; - - int m_cas_tx; }; #endif // MAME_INCLUDES_POLY88_H diff --git a/src/mame/layout/chessmst.lay b/src/mame/layout/chessmst.lay index 3ddc2be5b5e..738c935f26e 100644 --- a/src/mame/layout/chessmst.lay +++ b/src/mame/layout/chessmst.lay @@ -21,56 +21,56 @@ </disk> </element> - <element name="text_1"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="1"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_2"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="2"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_3"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="3"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_4"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="4"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_5"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="5"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_6"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="6"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_7"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="7"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_8"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="8"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - - <element name="text_a"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="A"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_b"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="B"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_c"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="C"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_d"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="D"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_e"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="E"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_f"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="F"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_g"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="G"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_h"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="H"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - - <element name="text_b1"> <rect><color red="1.00" green="0.88" blue="0.55" /></rect> <text string="1"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_b2"> <rect><color red="1.00" green="0.88" blue="0.55" /></rect> <text string="2"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_b3"> <rect><color red="1.00" green="0.88" blue="0.55" /></rect> <text string="3"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_b4"> <rect><color red="1.00" green="0.88" blue="0.55" /></rect> <text string="4"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_b5"> <rect><color red="1.00" green="0.88" blue="0.55" /></rect> <text string="5"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_b6"> <rect><color red="1.00" green="0.88" blue="0.55" /></rect> <text string="6"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_b7"> <rect><color red="1.00" green="0.88" blue="0.55" /></rect> <text string="7"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_b8"> <rect><color red="1.00" green="0.88" blue="0.55" /></rect> <text string="8"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_chessmaster"> <rect><color red="1.00" green="0.88" blue="0.55" /></rect> <text string="CHESS-MASTER" ><color red="0.17" green="0.15" blue="0.15" /></text> </element> - <element name="text_newgame"> <rect><color red="1.00" green="0.88" blue="0.55" /></rect> <text string="NEW GAME" ><color red="0.17" green="0.15" blue="0.15" /></text> </element> - <element name="text_level"> <rect><color red="1.00" green="0.88" blue="0.55" /></rect> <text string="LEVEL" ><color red="0.17" green="0.15" blue="0.15" /></text> </element> - <element name="text_color"> <rect><color red="1.00" green="0.88" blue="0.55" /></rect> <text string="COLOR" ><color red="0.17" green="0.15" blue="0.15" /></text> </element> - <element name="text_board"> <rect><color red="1.00" green="0.88" blue="0.55" /></rect> <text string="BOARD" ><color red="0.17" green="0.15" blue="0.15" /></text> </element> - <element name="text_selfplay"> <rect><color red="1.00" green="0.88" blue="0.55" /></rect> <text string="SELF PLAY" ><color red="0.17" green="0.15" blue="0.15" /></text> </element> - <element name="text_referee"> <rect><color red="1.00" green="0.88" blue="0.55" /></rect> <text string="REFEREE" ><color red="0.17" green="0.15" blue="0.15" /></text> </element> - <element name="text_random"> <rect><color red="1.00" green="0.88" blue="0.55" /></rect> <text string="RANDOM" ><color red="0.17" green="0.15" blue="0.15" /></text> </element> - <element name="text_hint"> <rect><color red="1.00" green="0.88" blue="0.55" /></rect> <text string="HINT" ><color red="0.17" green="0.15" blue="0.15" /></text> </element> - <element name="text_white"> <rect><color red="1.00" green="0.88" blue="0.55" /></rect> <text string="WHITE" align="2"><color red="0.17" green="0.15" blue="0.15" /></text> </element> - <element name="text_black"> <rect><color red="1.00" green="0.88" blue="0.55" /></rect> <text string="BLACK" align="2"><color red="0.17" green="0.15" blue="0.15" /></text> </element> + <element name="text_1"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="1"><color red="0.01" green="0.01" blue="0.01" /></text> </element> + <element name="text_2"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="2"><color red="0.01" green="0.01" blue="0.01" /></text> </element> + <element name="text_3"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="3"><color red="0.01" green="0.01" blue="0.01" /></text> </element> + <element name="text_4"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="4"><color red="0.01" green="0.01" blue="0.01" /></text> </element> + <element name="text_5"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="5"><color red="0.01" green="0.01" blue="0.01" /></text> </element> + <element name="text_6"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="6"><color red="0.01" green="0.01" blue="0.01" /></text> </element> + <element name="text_7"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="7"><color red="0.01" green="0.01" blue="0.01" /></text> </element> + <element name="text_8"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="8"><color red="0.01" green="0.01" blue="0.01" /></text> </element> + + <element name="text_a"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="A"><color red="0.01" green="0.01" blue="0.01" /></text> </element> + <element name="text_b"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="B"><color red="0.01" green="0.01" blue="0.01" /></text> </element> + <element name="text_c"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="C"><color red="0.01" green="0.01" blue="0.01" /></text> </element> + <element name="text_d"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="D"><color red="0.01" green="0.01" blue="0.01" /></text> </element> + <element name="text_e"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="E"><color red="0.01" green="0.01" blue="0.01" /></text> </element> + <element name="text_f"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="F"><color red="0.01" green="0.01" blue="0.01" /></text> </element> + <element name="text_g"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="G"><color red="0.01" green="0.01" blue="0.01" /></text> </element> + <element name="text_h"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="H"><color red="0.01" green="0.01" blue="0.01" /></text> </element> + + <element name="text_b1"> <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string="1"><color red="0.01" green="0.01" blue="0.01" /></text> </element> + <element name="text_b2"> <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string="2"><color red="0.01" green="0.01" blue="0.01" /></text> </element> + <element name="text_b3"> <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string="3"><color red="0.01" green="0.01" blue="0.01" /></text> </element> + <element name="text_b4"> <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string="4"><color red="0.01" green="0.01" blue="0.01" /></text> </element> + <element name="text_b5"> <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string="5"><color red="0.01" green="0.01" blue="0.01" /></text> </element> + <element name="text_b6"> <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string="6"><color red="0.01" green="0.01" blue="0.01" /></text> </element> + <element name="text_b7"> <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string="7"><color red="0.01" green="0.01" blue="0.01" /></text> </element> + <element name="text_b8"> <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string="8"><color red="0.01" green="0.01" blue="0.01" /></text> </element> + <element name="text_chessmaster"> <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string="CHESS-MASTER" ><color red="0.17" green="0.15" blue="0.15" /></text> </element> + <element name="text_newgame"> <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string="NEW GAME" ><color red="0.17" green="0.15" blue="0.15" /></text> </element> + <element name="text_level"> <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string="LEVEL" ><color red="0.17" green="0.15" blue="0.15" /></text> </element> + <element name="text_color"> <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string="COLOR" ><color red="0.17" green="0.15" blue="0.15" /></text> </element> + <element name="text_board"> <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string="BOARD" ><color red="0.17" green="0.15" blue="0.15" /></text> </element> + <element name="text_selfplay"> <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string="SELF PLAY" ><color red="0.17" green="0.15" blue="0.15" /></text> </element> + <element name="text_referee"> <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string="REFEREE" ><color red="0.17" green="0.15" blue="0.15" /></text> </element> + <element name="text_random"> <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string="RANDOM" ><color red="0.17" green="0.15" blue="0.15" /></text> </element> + <element name="text_hint"> <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string="HINT" ><color red="0.17" green="0.15" blue="0.15" /></text> </element> + <element name="text_white"> <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string="WHITE" align="2"><color red="0.17" green="0.15" blue="0.15" /></text> </element> + <element name="text_black"> <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string="BLACK" align="2"><color red="0.17" green="0.15" blue="0.15" /></text> </element> <element name="text_king" > <image file="chess/bk.png"/></element> <element name="text_queen" > <image file="chess/bq.png"/></element> <element name="text_rook" > <image file="chess/br.png"/></element> <element name="text_bishop" > <image file="chess/bb.png"/></element> <element name="text_knight" > <image file="chess/bn.png"/></element> <element name="text_pawn" > <image file="chess/bp.png"/></element> - <element name="text_change"> <rect><color red="1.00" green="0.88" blue="0.55" /></rect> <text string="CHANGE" align="2"><color red="0.17" green="0.15" blue="0.15" /></text> </element> - <element name="text_board1"> <rect><color red="1.00" green="0.88" blue="0.55" /></rect> <text string="BOARD" align="1"><color red="0.17" green="0.15" blue="0.15" /></text> </element> - <element name="text_halt"> <rect><color red="1.00" green="0.88" blue="0.55" /></rect> <text string="HALT" ><color red="0.17" green="0.15" blue="0.15" /></text> </element> - <element name="text_reset"> <rect><color red="1.00" green="0.88" blue="0.55" /></rect> <text string="RESET" ><color red="0.17" green="0.15" blue="0.15" /></text> </element> - <element name="text_check"> <rect><color red="1.00" green="0.88" blue="0.55" /></rect> <text string="CHECK" ><color red="0.17" green="0.15" blue="0.15" /></text> </element> - <element name="text_your"> <rect><color red="1.00" green="0.88" blue="0.55" /></rect> <text string="YOUR" ><color red="0.17" green="0.15" blue="0.15" /></text> </element> - <element name="text_cms"> <rect><color red="1.00" green="0.88" blue="0.55" /></rect> <text string="CM'S" ><color red="0.17" green="0.15" blue="0.15" /></text> </element> + <element name="text_change"> <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string="CHANGE" align="2"><color red="0.17" green="0.15" blue="0.15" /></text> </element> + <element name="text_board1"> <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string="BOARD" align="1"><color red="0.17" green="0.15" blue="0.15" /></text> </element> + <element name="text_halt"> <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string="HALT" ><color red="0.17" green="0.15" blue="0.15" /></text> </element> + <element name="text_reset"> <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string="RESET" ><color red="0.17" green="0.15" blue="0.15" /></text> </element> + <element name="text_check"> <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string="CHECK" ><color red="0.17" green="0.15" blue="0.15" /></text> </element> + <element name="text_your"> <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string="YOUR" ><color red="0.17" green="0.15" blue="0.15" /></text> </element> + <element name="text_cms"> <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string="CM'S" ><color red="0.17" green="0.15" blue="0.15" /></text> </element> <element name="piece" defstate="0"> <image file="chess/wp.png" state="1"/> @@ -106,8 +106,8 @@ <!-- sb board --> - <element name="cblack"><rect><color red="0.64" green="0.08" blue="0.11" /></rect></element> - <element name="cwhite"><rect><color red="1.00" green="0.88" blue="0.55" /></rect></element> + <element name="cblack"><rect><color red="0.56" green="0.33" blue="0.12" /></rect></element> + <element name="cwhite"><rect><color red="0.84" green="0.75" blue="0.50" /></rect></element> <element name="hlbb" defstate="0"> <text string=" "><bounds x="0" y="0" width="1" height="1" /></text> @@ -118,122 +118,118 @@ </element> <group name="sb_board"> - <bounds x="0" y="0" width="81" height="81" /> - <bezel element="cwhite"><bounds x="0" y="0" width="0.5" height="81" /></bezel> - <bezel element="cwhite"><bounds x="80.5" y="0" width="0.5" height="81" /></bezel> - <bezel element="cwhite"><bounds x="0" y="0" width="81" height="0.5" /></bezel> - <bezel element="cwhite"><bounds x="0" y="80.5" width="81" height="0.5" /></bezel> + <bounds x="0" y="0" width="80" height="80" /> <!-- squares (avoid seams) --> - <bezel element="cwhite"><bounds x="0.5" y="0.5" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="10.5" y="0.5" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="20.5" y="0.5" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="30.5" y="0.5" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="40.5" y="0.5" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="50.5" y="0.5" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="60.5" y="0.5" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="70.5" y="0.5" width="10" height="10" /></bezel> - - <bezel element="cblack"><bounds x="0.5" y="10.5" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="10.5" y="10.5" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="20.5" y="10.5" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="30.5" y="10.5" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="40.5" y="10.5" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="50.5" y="10.5" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="60.5" y="10.5" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="70.5" y="10.5" width="10" height="10" /></bezel> - - <bezel element="cwhite"><bounds x="0.5" y="20.5" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="10.5" y="20.5" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="20.5" y="20.5" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="30.5" y="20.5" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="40.5" y="20.5" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="50.5" y="20.5" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="60.5" y="20.5" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="70.5" y="20.5" width="10" height="10" /></bezel> - - <bezel element="cblack"><bounds x="0.5" y="30.5" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="10.5" y="30.5" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="20.5" y="30.5" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="30.5" y="30.5" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="40.5" y="30.5" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="50.5" y="30.5" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="60.5" y="30.5" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="70.5" y="30.5" width="10" height="10" /></bezel> - - <bezel element="cwhite"><bounds x="0.5" y="40.5" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="10.5" y="40.5" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="20.5" y="40.5" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="30.5" y="40.5" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="40.5" y="40.5" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="50.5" y="40.5" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="60.5" y="40.5" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="70.5" y="40.5" width="10" height="10" /></bezel> - - <bezel element="cblack"><bounds x="0.5" y="50.5" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="10.5" y="50.5" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="20.5" y="50.5" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="30.5" y="50.5" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="40.5" y="50.5" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="50.5" y="50.5" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="60.5" y="50.5" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="70.5" y="50.5" width="10" height="10" /></bezel> - - <bezel element="cwhite"><bounds x="0.5" y="60.5" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="10.5" y="60.5" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="20.5" y="60.5" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="30.5" y="60.5" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="40.5" y="60.5" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="50.5" y="60.5" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="60.5" y="60.5" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="70.5" y="60.5" width="10" height="10" /></bezel> - - <bezel element="cblack"><bounds x="0.5" y="70.5" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="10.5" y="70.5" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="20.5" y="70.5" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="30.5" y="70.5" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="40.5" y="70.5" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="50.5" y="70.5" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="60.5" y="70.5" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="70.5" y="70.5" width="10" height="10" /></bezel> + <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> - <!-- sensors, pieces --> + <!-- LEDs --> <repeat count="8"> - <param name="y" start="0.5" increment="10" /> - <param name="i" start="8" increment="-1" /> + <param name="y" start="8.1" increment="10" /> + <param name="i" start="1" increment="1" /> - <bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x01"><bounds x="0.5" y="~y~" width="10" height="10" /><color alpha="0.1" /></bezel> - <bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x02"><bounds x="10.5" y="~y~" width="10" height="10" /><color alpha="0.1" /></bezel> - <bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x04"><bounds x="20.5" y="~y~" width="10" height="10" /><color alpha="0.1" /></bezel> - <bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x08"><bounds x="30.5" y="~y~" width="10" height="10" /><color alpha="0.1" /></bezel> - <bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x10"><bounds x="40.5" y="~y~" width="10" height="10" /><color alpha="0.1" /></bezel> - <bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x20"><bounds x="50.5" y="~y~" width="10" height="10" /><color alpha="0.1" /></bezel> - <bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x40"><bounds x="60.5" y="~y~" width="10" height="10" /><color alpha="0.1" /></bezel> - <bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x80"><bounds x="70.5" y="~y~" width="10" height="10" /><color alpha="0.1" /></bezel> - - <bezel name="piece_a~i~" element="piece"><bounds x="1" y="~y~" width="9" height="9" /></bezel> - <bezel name="piece_b~i~" element="piece"><bounds x="11" y="~y~" width="9" height="9" /></bezel> - <bezel name="piece_c~i~" element="piece"><bounds x="21" y="~y~" width="9" height="9" /></bezel> - <bezel name="piece_d~i~" element="piece"><bounds x="31" y="~y~" width="9" height="9" /></bezel> - <bezel name="piece_e~i~" element="piece"><bounds x="41" y="~y~" width="9" height="9" /></bezel> - <bezel name="piece_f~i~" element="piece"><bounds x="51" y="~y~" width="9" height="9" /></bezel> - <bezel name="piece_g~i~" element="piece"><bounds x="61" y="~y~" width="9" height="9" /></bezel> - <bezel name="piece_h~i~" element="piece"><bounds x="71" y="~y~" width="9" height="9" /></bezel> + <bezel name="led_a~i~" element="led"><bounds x="0.3" y="~y~" width="1.5" height="1.5" /></bezel> + <bezel name="led_b~i~" element="led"><bounds x="10.3" y="~y~" width="1.5" height="1.5" /></bezel> + <bezel name="led_c~i~" element="led"><bounds x="20.3" y="~y~" width="1.5" height="1.5" /></bezel> + <bezel name="led_d~i~" element="led"><bounds x="30.3" y="~y~" width="1.5" height="1.5" /></bezel> + <bezel name="led_e~i~" element="led"><bounds x="40.3" y="~y~" width="1.5" height="1.5" /></bezel> + <bezel name="led_f~i~" element="led"><bounds x="50.3" y="~y~" width="1.5" height="1.5" /></bezel> + <bezel name="led_g~i~" element="led"><bounds x="60.3" y="~y~" width="1.5" height="1.5" /></bezel> + <bezel name="led_h~i~" element="led"><bounds x="70.3" y="~y~" width="1.5" height="1.5" /></bezel> </repeat> - <!-- LEDs --> + <!-- sensors, pieces --> <repeat count="8"> - <param name="y" start="8.4" increment="10" /> - <param name="i" start="1" increment="1" /> + <param name="y" start="0" increment="10" /> + <param name="i" start="8" increment="-1" /> - <bezel name="led_a~i~" element="led"><bounds x="1" y="~y~" width="1.5" height="1.5" /></bezel> - <bezel name="led_b~i~" element="led"><bounds x="11" y="~y~" width="1.5" height="1.5" /></bezel> - <bezel name="led_c~i~" element="led"><bounds x="21" y="~y~" width="1.5" height="1.5" /></bezel> - <bezel name="led_d~i~" element="led"><bounds x="31" y="~y~" width="1.5" height="1.5" /></bezel> - <bezel name="led_e~i~" element="led"><bounds x="41" y="~y~" width="1.5" height="1.5" /></bezel> - <bezel name="led_f~i~" element="led"><bounds x="51" y="~y~" width="1.5" height="1.5" /></bezel> - <bezel name="led_g~i~" element="led"><bounds x="61" y="~y~" width="1.5" height="1.5" /></bezel> - <bezel name="led_h~i~" element="led"><bounds x="71" y="~y~" width="1.5" height="1.5" /></bezel> + <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> @@ -248,34 +244,34 @@ <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="1.00" green="0.88" blue="0.55" /></rect> + <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string="RESET"><color red="0.01" green="0.01" blue="0.01" /></text> </element> <element name="text_uib3"> - <rect><color red="1.00" green="0.88" blue="0.55" /></rect> + <rect><color red="0.84" green="0.75" blue="0.50" /></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="1.00" green="0.88" blue="0.55" /></rect> + <rect><color red="0.84" green="0.75" blue="0.50" /></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="1.00" green="0.88" blue="0.55" /></rect> + <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string=" <<"><color red="0.01" green="0.01" blue="0.01" /></text> </element> <element name="text_uiu2b"> - <rect><color red="1.00" green="0.88" blue="0.55" /></rect> + <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string=" < "><color red="0.01" green="0.01" blue="0.01" /></text> </element> <element name="text_uiu2c"> - <rect><color red="1.00" green="0.88" blue="0.55" /></rect> + <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string=" >"><color red="0.01" green="0.01" blue="0.01" /></text> </element> <element name="text_uiu2d"> - <rect><color red="1.00" green="0.88" blue="0.55" /></rect> + <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string=" >>"><color red="0.01" green="0.01" blue="0.01" /></text> </element> <element name="text_uiu3a" defstate="0"> @@ -376,8 +372,8 @@ <view name="Internal Layout"> <bounds left="0" right="130" top="0" bottom="90" /> - <bezel element="cblack"><bounds x="13" y="0" width="120" height="90.5" /></bezel> - <bezel element="cwhite"><bounds x="102" y="0" width="30" height="90.5" /></bezel> + <bezel element="cblack"><bounds x="13" y="0" width="117" height="90" /></bezel> + <bezel element="cwhite"><bounds x="102" y="0" width="28" height="90" /></bezel> <!-- chessboard coords --> @@ -468,7 +464,8 @@ <bezel element="hlb" inputtag="EXTRA" inputmask="0x02"><bounds x="108" y="79" width="4" height="4" /></bezel> <bezel element="hlb" inputtag="EXTRA" inputmask="0x01"><bounds x="122" y="79" width="4" height="4" /></bezel> - <group ref="sb_board"><bounds x="17" y="4" width="81" height="81" /></group> + <bezel element="cwhite"><bounds x="17" y="4" width="81" height="81" /></bezel> + <group ref="sb_board"><bounds x="17.5" y="4.5" width="80" height="80" /></group> <group ref="sb_ui"><bounds x="1.5" y="4" width="10" height="80" /></group> </view> </mamelayout> diff --git a/src/mame/layout/chessmstdm.lay b/src/mame/layout/chessmstdm.lay index 94a12915ab2..2c382ab40eb 100644 --- a/src/mame/layout/chessmstdm.lay +++ b/src/mame/layout/chessmstdm.lay @@ -30,42 +30,42 @@ </disk> </element> - <element name="text_1"> <rect><color red="1.00" green="0.88" blue="0.55" /></rect> <text string="1"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_2"> <rect><color red="1.00" green="0.88" blue="0.55" /></rect> <text string="2"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_3"> <rect><color red="1.00" green="0.88" blue="0.55" /></rect> <text string="3"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_4"> <rect><color red="1.00" green="0.88" blue="0.55" /></rect> <text string="4"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_5"> <rect><color red="1.00" green="0.88" blue="0.55" /></rect> <text string="5"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_6"> <rect><color red="1.00" green="0.88" blue="0.55" /></rect> <text string="6"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_7"> <rect><color red="1.00" green="0.88" blue="0.55" /></rect> <text string="7"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_8"> <rect><color red="1.00" green="0.88" blue="0.55" /></rect> <text string="8"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - - <element name="text_a"> <rect><color red="1.00" green="0.88" blue="0.55" /></rect> <text string="A"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_b"> <rect><color red="1.00" green="0.88" blue="0.55" /></rect> <text string="B"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_c"> <rect><color red="1.00" green="0.88" blue="0.55" /></rect> <text string="C"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_d"> <rect><color red="1.00" green="0.88" blue="0.55" /></rect> <text string="D"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_e"> <rect><color red="1.00" green="0.88" blue="0.55" /></rect> <text string="E"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_f"> <rect><color red="1.00" green="0.88" blue="0.55" /></rect> <text string="F"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_g"> <rect><color red="1.00" green="0.88" blue="0.55" /></rect> <text string="G"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_h"> <rect><color red="1.00" green="0.88" blue="0.55" /></rect> <text string="H"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - - <element name="text_chessmaster"> <rect><color red="1.00" green="0.88" blue="0.55" /></rect> <text string="CHESS-MASTER" align="1"><color red="0.17" green="0.15" blue="0.15" /></text> </element> - <element name="text_diamond"> <rect><color red="1.00" green="0.88" blue="0.55" /></rect> <text string="diamond" align="1"><color red="0.17" green="0.15" blue="0.15" /></text> </element> - <element name="text_monitor"> <rect><color red="1.00" green="0.88" blue="0.55" /></rect> <text string="MONITOR" align="1"><color red="0.17" green="0.15" blue="0.15" /></text> </element> - <element name="text_view"> <rect><color red="1.00" green="0.88" blue="0.55" /></rect> <text string="VIEW" align="1"><color red="0.17" green="0.15" blue="0.15" /></text> </element> - <element name="text_reset"> <rect><color red="1.00" green="0.88" blue="0.55" /></rect> <text string="RESET" align="1"><color red="0.17" green="0.15" blue="0.15" /></text> </element> - <element name="text_selection"> <rect><color red="1.00" green="0.88" blue="0.55" /></rect> <text string="SELECTION" align="1"><color red="0.17" green="0.15" blue="0.15" /></text> </element> - <element name="text_dialogue"> <rect><color red="1.00" green="0.88" blue="0.55" /></rect> <text string="DIALOGUE" align="1"><color red="0.17" green="0.15" blue="0.15" /></text> </element> - <element name="text_function"> <rect><color red="1.00" green="0.88" blue="0.55" /></rect> <text string="FUNCTION" align="1"><color red="0.17" green="0.15" blue="0.15" /></text> </element> - <element name="text_notation"> <rect><color red="1.00" green="0.88" blue="0.55" /></rect> <text string="NOTATION" align="1"><color red="0.17" green="0.15" blue="0.15" /></text> </element> - <element name="text_parameter"> <rect><color red="1.00" green="0.88" blue="0.55" /></rect> <text string="PARAMETER" align="1"><color red="0.17" green="0.15" blue="0.15" /></text> </element> - <element name="text_information"> <rect><color red="1.00" green="0.88" blue="0.55" /></rect> <text string="INFORMATION" align="1"><color red="0.17" green="0.15" blue="0.15" /></text> </element> - <element name="text_board"> <rect><color red="1.00" green="0.88" blue="0.55" /></rect> <text string="BOARD" align="1"><color red="0.17" green="0.15" blue="0.15" /></text> </element> - <element name="text_match"> <rect><color red="1.00" green="0.88" blue="0.55" /></rect> <text string="MATCH" align="1"><color red="0.17" green="0.15" blue="0.15" /></text> </element> - <element name="text_time"> <rect><color red="1.00" green="0.88" blue="0.55" /></rect> <text string="TIME" align="1"><color red="0.17" green="0.15" blue="0.15" /></text> </element> - <element name="text_enter"> <rect><color red="1.00" green="0.88" blue="0.55" /></rect> <text string="ENTER" align="1"><color red="0.17" green="0.15" blue="0.15" /></text> </element> - <element name="text_playmode"> <rect><color red="1.00" green="0.88" blue="0.55" /></rect> <text string="PLAYMODE" align="1"><color red="0.17" green="0.15" blue="0.15" /></text> </element> - <element name="text_move_fore"> <rect><color red="1.00" green="0.88" blue="0.55" /></rect> <text string="MOVE FORE" ><color red="0.17" green="0.15" blue="0.15" /></text> </element> - <element name="text_move_back"> <rect><color red="1.00" green="0.88" blue="0.55" /></rect> <text string="MOVE BACK" ><color red="0.17" green="0.15" blue="0.15" /></text> </element> + <element name="text_1"> <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string="1"><color red="0.01" green="0.01" blue="0.01" /></text> </element> + <element name="text_2"> <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string="2"><color red="0.01" green="0.01" blue="0.01" /></text> </element> + <element name="text_3"> <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string="3"><color red="0.01" green="0.01" blue="0.01" /></text> </element> + <element name="text_4"> <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string="4"><color red="0.01" green="0.01" blue="0.01" /></text> </element> + <element name="text_5"> <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string="5"><color red="0.01" green="0.01" blue="0.01" /></text> </element> + <element name="text_6"> <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string="6"><color red="0.01" green="0.01" blue="0.01" /></text> </element> + <element name="text_7"> <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string="7"><color red="0.01" green="0.01" blue="0.01" /></text> </element> + <element name="text_8"> <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string="8"><color red="0.01" green="0.01" blue="0.01" /></text> </element> + + <element name="text_a"> <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string="A"><color red="0.01" green="0.01" blue="0.01" /></text> </element> + <element name="text_b"> <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string="B"><color red="0.01" green="0.01" blue="0.01" /></text> </element> + <element name="text_c"> <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string="C"><color red="0.01" green="0.01" blue="0.01" /></text> </element> + <element name="text_d"> <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string="D"><color red="0.01" green="0.01" blue="0.01" /></text> </element> + <element name="text_e"> <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string="E"><color red="0.01" green="0.01" blue="0.01" /></text> </element> + <element name="text_f"> <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string="F"><color red="0.01" green="0.01" blue="0.01" /></text> </element> + <element name="text_g"> <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string="G"><color red="0.01" green="0.01" blue="0.01" /></text> </element> + <element name="text_h"> <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string="H"><color red="0.01" green="0.01" blue="0.01" /></text> </element> + + <element name="text_chessmaster"> <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string="CHESS-MASTER" align="1"><color red="0.17" green="0.15" blue="0.15" /></text> </element> + <element name="text_diamond"> <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string="diamond" align="1"><color red="0.17" green="0.15" blue="0.15" /></text> </element> + <element name="text_monitor"> <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string="MONITOR" align="1"><color red="0.17" green="0.15" blue="0.15" /></text> </element> + <element name="text_view"> <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string="VIEW" align="1"><color red="0.17" green="0.15" blue="0.15" /></text> </element> + <element name="text_reset"> <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string="RESET" align="1"><color red="0.17" green="0.15" blue="0.15" /></text> </element> + <element name="text_selection"> <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string="SELECTION" align="1"><color red="0.17" green="0.15" blue="0.15" /></text> </element> + <element name="text_dialogue"> <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string="DIALOGUE" align="1"><color red="0.17" green="0.15" blue="0.15" /></text> </element> + <element name="text_function"> <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string="FUNCTION" align="1"><color red="0.17" green="0.15" blue="0.15" /></text> </element> + <element name="text_notation"> <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string="NOTATION" align="1"><color red="0.17" green="0.15" blue="0.15" /></text> </element> + <element name="text_parameter"> <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string="PARAMETER" align="1"><color red="0.17" green="0.15" blue="0.15" /></text> </element> + <element name="text_information"> <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string="INFORMATION" align="1"><color red="0.17" green="0.15" blue="0.15" /></text> </element> + <element name="text_board"> <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string="BOARD" align="1"><color red="0.17" green="0.15" blue="0.15" /></text> </element> + <element name="text_match"> <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string="MATCH" align="1"><color red="0.17" green="0.15" blue="0.15" /></text> </element> + <element name="text_time"> <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string="TIME" align="1"><color red="0.17" green="0.15" blue="0.15" /></text> </element> + <element name="text_enter"> <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string="ENTER" align="1"><color red="0.17" green="0.15" blue="0.15" /></text> </element> + <element name="text_playmode"> <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string="PLAYMODE" align="1"><color red="0.17" green="0.15" blue="0.15" /></text> </element> + <element name="text_move_fore"> <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string="MOVE FORE" ><color red="0.17" green="0.15" blue="0.15" /></text> </element> + <element name="text_move_back"> <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string="MOVE BACK" ><color red="0.17" green="0.15" blue="0.15" /></text> </element> <element name="piece" defstate="0"> @@ -103,7 +103,7 @@ <!-- sb board --> <element name="cblack"><rect><color red="0.44" green="0.08" blue="0.01" /></rect></element> - <element name="cwhite"><rect><color red="1.00" green="0.88" blue="0.55" /></rect></element> + <element name="cwhite"><rect><color red="0.84" green="0.75" blue="0.50" /></rect></element> <element name="hlbb" defstate="0"> <text string=" "><bounds x="0" y="0" width="1" height="1" /></text> @@ -114,122 +114,118 @@ </element> <group name="sb_board"> - <bounds x="0" y="0" width="81" height="81" /> - <bezel element="cblack"><bounds x="0" y="0" width="0.5" height="81" /></bezel> - <bezel element="cblack"><bounds x="80.5" y="0" width="0.5" height="81" /></bezel> - <bezel element="cblack"><bounds x="0" y="0" width="81" height="0.5" /></bezel> - <bezel element="cblack"><bounds x="0" y="80.5" width="81" height="0.5" /></bezel> + <bounds x="0" y="0" width="80" height="80" /> <!-- squares (avoid seams) --> - <bezel element="cwhite"><bounds x="0.5" y="0.5" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="10.5" y="0.5" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="20.5" y="0.5" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="30.5" y="0.5" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="40.5" y="0.5" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="50.5" y="0.5" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="60.5" y="0.5" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="70.5" y="0.5" width="10" height="10" /></bezel> - - <bezel element="cblack"><bounds x="0.5" y="10.5" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="10.5" y="10.5" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="20.5" y="10.5" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="30.5" y="10.5" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="40.5" y="10.5" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="50.5" y="10.5" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="60.5" y="10.5" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="70.5" y="10.5" width="10" height="10" /></bezel> - - <bezel element="cwhite"><bounds x="0.5" y="20.5" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="10.5" y="20.5" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="20.5" y="20.5" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="30.5" y="20.5" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="40.5" y="20.5" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="50.5" y="20.5" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="60.5" y="20.5" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="70.5" y="20.5" width="10" height="10" /></bezel> - - <bezel element="cblack"><bounds x="0.5" y="30.5" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="10.5" y="30.5" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="20.5" y="30.5" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="30.5" y="30.5" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="40.5" y="30.5" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="50.5" y="30.5" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="60.5" y="30.5" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="70.5" y="30.5" width="10" height="10" /></bezel> - - <bezel element="cwhite"><bounds x="0.5" y="40.5" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="10.5" y="40.5" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="20.5" y="40.5" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="30.5" y="40.5" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="40.5" y="40.5" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="50.5" y="40.5" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="60.5" y="40.5" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="70.5" y="40.5" width="10" height="10" /></bezel> - - <bezel element="cblack"><bounds x="0.5" y="50.5" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="10.5" y="50.5" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="20.5" y="50.5" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="30.5" y="50.5" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="40.5" y="50.5" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="50.5" y="50.5" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="60.5" y="50.5" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="70.5" y="50.5" width="10" height="10" /></bezel> - - <bezel element="cwhite"><bounds x="0.5" y="60.5" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="10.5" y="60.5" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="20.5" y="60.5" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="30.5" y="60.5" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="40.5" y="60.5" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="50.5" y="60.5" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="60.5" y="60.5" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="70.5" y="60.5" width="10" height="10" /></bezel> - - <bezel element="cblack"><bounds x="0.5" y="70.5" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="10.5" y="70.5" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="20.5" y="70.5" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="30.5" y="70.5" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="40.5" y="70.5" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="50.5" y="70.5" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="60.5" y="70.5" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="70.5" y="70.5" width="10" height="10" /></bezel> + <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> - <!-- sensors, pieces --> + <!-- LEDs --> <repeat count="8"> - <param name="y" start="0.5" increment="10" /> - <param name="i" start="8" increment="-1" /> + <param name="y" start="8.1" increment="10" /> + <param name="i" start="1" increment="1" /> - <bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x01"><bounds x="0.5" y="~y~" width="10" height="10" /><color alpha="0.1" /></bezel> - <bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x02"><bounds x="10.5" y="~y~" width="10" height="10" /><color alpha="0.1" /></bezel> - <bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x04"><bounds x="20.5" y="~y~" width="10" height="10" /><color alpha="0.1" /></bezel> - <bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x08"><bounds x="30.5" y="~y~" width="10" height="10" /><color alpha="0.1" /></bezel> - <bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x10"><bounds x="40.5" y="~y~" width="10" height="10" /><color alpha="0.1" /></bezel> - <bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x20"><bounds x="50.5" y="~y~" width="10" height="10" /><color alpha="0.1" /></bezel> - <bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x40"><bounds x="60.5" y="~y~" width="10" height="10" /><color alpha="0.1" /></bezel> - <bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x80"><bounds x="70.5" y="~y~" width="10" height="10" /><color alpha="0.1" /></bezel> - - <bezel name="piece_a~i~" element="piece"><bounds x="1" y="~y~" width="9" height="9" /></bezel> - <bezel name="piece_b~i~" element="piece"><bounds x="11" y="~y~" width="9" height="9" /></bezel> - <bezel name="piece_c~i~" element="piece"><bounds x="21" y="~y~" width="9" height="9" /></bezel> - <bezel name="piece_d~i~" element="piece"><bounds x="31" y="~y~" width="9" height="9" /></bezel> - <bezel name="piece_e~i~" element="piece"><bounds x="41" y="~y~" width="9" height="9" /></bezel> - <bezel name="piece_f~i~" element="piece"><bounds x="51" y="~y~" width="9" height="9" /></bezel> - <bezel name="piece_g~i~" element="piece"><bounds x="61" y="~y~" width="9" height="9" /></bezel> - <bezel name="piece_h~i~" element="piece"><bounds x="71" y="~y~" width="9" height="9" /></bezel> + <bezel name="led_a~i~" element="led"><bounds x="0.3" y="~y~" width="1.5" height="1.5" /></bezel> + <bezel name="led_b~i~" element="led"><bounds x="10.3" y="~y~" width="1.5" height="1.5" /></bezel> + <bezel name="led_c~i~" element="led"><bounds x="20.3" y="~y~" width="1.5" height="1.5" /></bezel> + <bezel name="led_d~i~" element="led"><bounds x="30.3" y="~y~" width="1.5" height="1.5" /></bezel> + <bezel name="led_e~i~" element="led"><bounds x="40.3" y="~y~" width="1.5" height="1.5" /></bezel> + <bezel name="led_f~i~" element="led"><bounds x="50.3" y="~y~" width="1.5" height="1.5" /></bezel> + <bezel name="led_g~i~" element="led"><bounds x="60.3" y="~y~" width="1.5" height="1.5" /></bezel> + <bezel name="led_h~i~" element="led"><bounds x="70.3" y="~y~" width="1.5" height="1.5" /></bezel> </repeat> - <!-- LEDs --> + <!-- sensors, pieces --> <repeat count="8"> - <param name="y" start="8.4" increment="10" /> - <param name="i" start="1" increment="1" /> + <param name="y" start="0" increment="10" /> + <param name="i" start="8" increment="-1" /> - <bezel name="led_a~i~" element="led"><bounds x="1" y="~y~" width="1.5" height="1.5" /></bezel> - <bezel name="led_b~i~" element="led"><bounds x="11" y="~y~" width="1.5" height="1.5" /></bezel> - <bezel name="led_c~i~" element="led"><bounds x="21" y="~y~" width="1.5" height="1.5" /></bezel> - <bezel name="led_d~i~" element="led"><bounds x="31" y="~y~" width="1.5" height="1.5" /></bezel> - <bezel name="led_e~i~" element="led"><bounds x="41" y="~y~" width="1.5" height="1.5" /></bezel> - <bezel name="led_f~i~" element="led"><bounds x="51" y="~y~" width="1.5" height="1.5" /></bezel> - <bezel name="led_g~i~" element="led"><bounds x="61" y="~y~" width="1.5" height="1.5" /></bezel> - <bezel name="led_h~i~" element="led"><bounds x="71" y="~y~" width="1.5" height="1.5" /></bezel> + <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> @@ -245,34 +241,34 @@ <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="1.00" green="0.88" blue="0.55" /></rect> + <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string="RESET"><color red="0.01" green="0.01" blue="0.01" /></text> </element> <element name="text_uib3"> - <rect><color red="1.00" green="0.88" blue="0.55" /></rect> + <rect><color red="0.84" green="0.75" blue="0.50" /></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="1.00" green="0.88" blue="0.55" /></rect> + <rect><color red="0.84" green="0.75" blue="0.50" /></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="1.00" green="0.88" blue="0.55" /></rect> + <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string=" <<"><color red="0.01" green="0.01" blue="0.01" /></text> </element> <element name="text_uiu2b"> - <rect><color red="1.00" green="0.88" blue="0.55" /></rect> + <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string=" < "><color red="0.01" green="0.01" blue="0.01" /></text> </element> <element name="text_uiu2c"> - <rect><color red="1.00" green="0.88" blue="0.55" /></rect> + <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string=" >"><color red="0.01" green="0.01" blue="0.01" /></text> </element> <element name="text_uiu2d"> - <rect><color red="1.00" green="0.88" blue="0.55" /></rect> + <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string=" >>"><color red="0.01" green="0.01" blue="0.01" /></text> </element> <element name="text_uiu3a" defstate="0"> @@ -373,7 +369,7 @@ <view name="Internal Layout"> <bounds left="0" right="130" top="0" bottom="90" /> - <bezel element="cwhite"><bounds x="13" y="0" width="120" height="90" /></bezel> + <bezel element="cwhite"><bounds x="13" y="0" width="117" height="90" /></bezel> <!-- chessboard coords --> @@ -440,7 +436,8 @@ <bezel name="digit1" element="digit"> <bounds x="114" y="3.5" width="5.66" height="8.5" /></bezel> <bezel name="digit0" element="digit"> <bounds x="120" y="3.5" width="5.66" height="8.5" /></bezel> - <group ref="sb_board"><bounds x="17" y="4" width="81" height="81" /></group> + <bezel element="cblack"><bounds x="17" y="4" width="81" height="81" /></bezel> + <group ref="sb_board"><bounds x="17.5" y="4.5" width="80" height="80" /></group> <group ref="sb_ui"><bounds x="1.5" y="4" width="10" height="80" /></group> </view> </mamelayout> diff --git a/src/mame/layout/coco3.lay b/src/mame/layout/coco3.lay index 5bb06a96148..0a4205d8cdd 100644 --- a/src/mame/layout/coco3.lay +++ b/src/mame/layout/coco3.lay @@ -1,12 +1,12 @@ <?xml version="1.0"?> <mamelayout version="2"> <view name="Composite"> - <bounds left="0" top="0" right="4" bottom="3" /> <screen index="0"> <bounds left="0" top="0" right="4" bottom="3" /> </screen> + <!-- workaround for MAME selecting a 2-screen view by default --> - <screen index="1"><bounds left="10" top="0" right="14" bottom="3" /></screen> + <screen index="1"><bounds left="0" top="0" right="4" bottom="3" /><color alpha="0" /></screen> </view> <view name="RGB"> diff --git a/src/mame/layout/cxg_ch2001.lay b/src/mame/layout/cxg_ch2001.lay index 49cb4c4c9b3..5c04a96f11a 100644 --- a/src/mame/layout/cxg_ch2001.lay +++ b/src/mame/layout/cxg_ch2001.lay @@ -4,10 +4,7 @@ <!-- define elements --> <element name="blackb"><rect><color red="0" green="0" blue="0" /></rect></element> - <element name="black"><rect><color red="0.17" green="0.15" blue="0.15" /></rect></element> - <element name="white"><rect><color red="0.81" green="0.8" blue="0.79" /></rect></element> - <element name="disk_black"><disk><color red="0.17" green="0.15" blue="0.15" /></disk></element> - <element name="disk_white"><disk><color red="0.81" green="0.8" blue="0.79" /></disk></element> + <element name="black"><rect><color red="0.15" green="0.15" blue="0.15" /></rect></element> <element name="led" defstate="0"> <disk state="1"><color red="1.0" green="0.1" blue="0.15" /></disk> @@ -19,112 +16,112 @@ </element> <element name="butd" defstate="0"> - <disk state="0"><color red="0.17" green="0.15" blue="0.15" /></disk> - <disk state="1"><color red="0.34" green="0.3" blue="0.3" /></disk> + <disk state="0"><color red="0.4" green="0.4" blue="0.4" /></disk> + <disk state="1"><color red="0.3" green="0.3" blue="0.3" /></disk> </element> <element name="butr" defstate="0"> - <rect state="0"><color red="0.17" green="0.15" blue="0.15" /></rect> - <rect state="1"><color red="0.34" green="0.3" blue="0.3" /></rect> + <rect state="0"><color red="0.4" green="0.4" blue="0.4" /></rect> + <rect state="1"><color red="0.3" green="0.3" blue="0.3" /></rect> </element> <element name="text_1"> - <rect><color red="0.81" green="0.8" blue="0.79" /></rect> + <rect><color red="0.85" green="0.74" blue="0.5" /></rect> <text string="1"><color red="0.01" green="0.01" blue="0.01" /></text> </element> <element name="text_2"> - <rect><color red="0.81" green="0.8" blue="0.79" /></rect> + <rect><color red="0.85" green="0.74" blue="0.5" /></rect> <text string="2"><color red="0.01" green="0.01" blue="0.01" /></text> </element> <element name="text_3"> - <rect><color red="0.81" green="0.8" blue="0.79" /></rect> + <rect><color red="0.85" green="0.74" blue="0.5" /></rect> <text string="3"><color red="0.01" green="0.01" blue="0.01" /></text> </element> <element name="text_4"> - <rect><color red="0.81" green="0.8" blue="0.79" /></rect> + <rect><color red="0.85" green="0.74" blue="0.5" /></rect> <text string="4"><color red="0.01" green="0.01" blue="0.01" /></text> </element> <element name="text_5"> - <rect><color red="0.81" green="0.8" blue="0.79" /></rect> + <rect><color red="0.85" green="0.74" blue="0.5" /></rect> <text string="5"><color red="0.01" green="0.01" blue="0.01" /></text> </element> <element name="text_6"> - <rect><color red="0.81" green="0.8" blue="0.79" /></rect> + <rect><color red="0.85" green="0.74" blue="0.5" /></rect> <text string="6"><color red="0.01" green="0.01" blue="0.01" /></text> </element> <element name="text_7"> - <rect><color red="0.81" green="0.8" blue="0.79" /></rect> + <rect><color red="0.85" green="0.74" blue="0.5" /></rect> <text string="7"><color red="0.01" green="0.01" blue="0.01" /></text> </element> <element name="text_8"> - <rect><color red="0.81" green="0.8" blue="0.79" /></rect> + <rect><color red="0.85" green="0.74" blue="0.5" /></rect> <text string="8"><color red="0.01" green="0.01" blue="0.01" /></text> </element> <element name="text_a"> - <rect><color red="0.81" green="0.8" blue="0.79" /></rect> + <rect><color red="0.85" green="0.74" blue="0.5" /></rect> <text string="A"><color red="0.01" green="0.01" blue="0.01" /></text> </element> <element name="text_b"> - <rect><color red="0.81" green="0.8" blue="0.79" /></rect> + <rect><color red="0.85" green="0.74" blue="0.5" /></rect> <text string="B"><color red="0.01" green="0.01" blue="0.01" /></text> </element> <element name="text_c"> - <rect><color red="0.81" green="0.8" blue="0.79" /></rect> + <rect><color red="0.85" green="0.74" blue="0.5" /></rect> <text string="C"><color red="0.01" green="0.01" blue="0.01" /></text> </element> <element name="text_d"> - <rect><color red="0.81" green="0.8" blue="0.79" /></rect> + <rect><color red="0.85" green="0.74" blue="0.5" /></rect> <text string="D"><color red="0.01" green="0.01" blue="0.01" /></text> </element> <element name="text_e"> - <rect><color red="0.81" green="0.8" blue="0.79" /></rect> + <rect><color red="0.85" green="0.74" blue="0.5" /></rect> <text string="E"><color red="0.01" green="0.01" blue="0.01" /></text> </element> <element name="text_f"> - <rect><color red="0.81" green="0.8" blue="0.79" /></rect> + <rect><color red="0.85" green="0.74" blue="0.5" /></rect> <text string="F"><color red="0.01" green="0.01" blue="0.01" /></text> </element> <element name="text_g"> - <rect><color red="0.81" green="0.8" blue="0.79" /></rect> + <rect><color red="0.85" green="0.74" blue="0.5" /></rect> <text string="G"><color red="0.01" green="0.01" blue="0.01" /></text> </element> <element name="text_h"> - <rect><color red="0.81" green="0.8" blue="0.79" /></rect> + <rect><color red="0.85" green="0.74" blue="0.5" /></rect> <text string="H"><color red="0.01" green="0.01" blue="0.01" /></text> </element> <element name="text_white"> - <rect><color red="0.81" green="0.8" blue="0.79" /></rect> - <text string="White"><color red="0.01" green="0.01" blue="0.01" /></text> + <rect><color red="0.15" green="0.15" blue="0.15" /></rect> + <text string="White"><color red="0.81" green="0.8" blue="0.79" /></text> </element> <element name="text_black"> - <rect><color red="0.81" green="0.8" blue="0.79" /></rect> - <text string="Black"><color red="0.01" green="0.01" blue="0.01" /></text> + <rect><color red="0.15" green="0.15" blue="0.15" /></rect> + <text string="Black"><color red="0.81" green="0.8" blue="0.79" /></text> </element> <element name="text_p1"> - <rect><color red="0.81" green="0.8" blue="0.79" /></rect> - <text string="[K]"><color red="0.01" green="0.01" blue="0.01" /></text> + <rect><color red="0.15" green="0.15" blue="0.15" /></rect> + <text string="[K]"><color red="0.81" green="0.8" blue="0.79" /></text> </element> <element name="text_p2"> - <rect><color red="0.81" green="0.8" blue="0.79" /></rect> - <text string="[Q]"><color red="0.01" green="0.01" blue="0.01" /></text> + <rect><color red="0.15" green="0.15" blue="0.15" /></rect> + <text string="[Q]"><color red="0.81" green="0.8" blue="0.79" /></text> </element> <element name="text_p3"> - <rect><color red="0.81" green="0.8" blue="0.79" /></rect> - <text string="[R]"><color red="0.01" green="0.01" blue="0.01" /></text> + <rect><color red="0.15" green="0.15" blue="0.15" /></rect> + <text string="[R]"><color red="0.81" green="0.8" blue="0.79" /></text> </element> <element name="text_p4"> - <rect><color red="0.81" green="0.8" blue="0.79" /></rect> - <text string="[B]"><color red="0.01" green="0.01" blue="0.01" /></text> + <rect><color red="0.15" green="0.15" blue="0.15" /></rect> + <text string="[B]"><color red="0.81" green="0.8" blue="0.79" /></text> </element> <element name="text_p5"> - <rect><color red="0.81" green="0.8" blue="0.79" /></rect> - <text string="[N]"><color red="0.01" green="0.01" blue="0.01" /></text> + <rect><color red="0.15" green="0.15" blue="0.15" /></rect> + <text string="[N]"><color red="0.81" green="0.8" blue="0.79" /></text> </element> <element name="text_p6"> - <rect><color red="0.81" green="0.8" blue="0.79" /></rect> - <text string="[P]"><color red="0.01" green="0.01" blue="0.01" /></text> + <rect><color red="0.15" green="0.15" blue="0.15" /></rect> + <text string="[P]"><color red="0.81" green="0.8" blue="0.79" /></text> </element> <element name="text_b1"><text string="Set up"><color red="0.81" green="0.8" blue="0.79" /></text></element> @@ -139,8 +136,8 @@ <!-- sb board --> - <element name="cblack"><rect><color red="0.5" green="0.22" blue="0.3" /></rect></element> - <element name="cwhite"><rect><color red="0.81" green="0.8" blue="0.79" /></rect></element> + <element name="cblack"><rect><color red="0.65" green="0.2" blue="0.35" /></rect></element> + <element name="cwhite"><rect><color red="0.85" green="0.74" blue="0.5" /></rect></element> <element name="hlbb" defstate="0"> <text string=" "><bounds x="0" y="0" width="1" height="1" /></text> @@ -305,34 +302,34 @@ <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> + <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> </element> <element name="text_uib3"> - <rect><color red="0.81" green="0.8" blue="0.79" /></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> </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> + <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> </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> + <rect><color red="0.85" green="0.74" blue="0.5" /></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> + <rect><color red="0.85" green="0.74" blue="0.5" /></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> + <rect><color red="0.85" green="0.74" blue="0.5" /></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> + <rect><color red="0.85" green="0.74" blue="0.5" /></rect> <text string=" >>"><color red="0.01" green="0.01" blue="0.01" /></text> </element> <element name="text_uiu3a" defstate="0"> @@ -433,8 +430,9 @@ <view name="Internal Layout"> <bounds left="-14" right="88" top="-2" bottom="108.8" /> - <bezel element="white"><bounds x="-2" y="-2" width="90" height="90" /></bezel> - <bezel element="black"><bounds x="2" y="2" width="82" height="82" /></bezel> + <bezel element="cwhite"><bounds x="-2" y="-2" width="90" height="90" /></bezel> + <bezel element="cblack"><bounds x="1.5" y="1.5" width="83" height="83" /></bezel> + <bezel element="cwhite"><bounds x="2" y="2" width="82" height="82" /></bezel> <group ref="sb_board"><bounds x="3" y="3" width="80" height="80" /></group> <group ref="sb_ui"><bounds x="-13" y="3" width="10" height="80" /></group> @@ -467,55 +465,55 @@ <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="white"><bounds x="20.2" y="89.2" width="7.6" height="9" /></bezel> + <bezel element="black"><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 name="8.1" element="led2"><bounds x="23.25" y="90" width="1.5" height="1.5" /></bezel> - <bezel element="white"><bounds x="21" y="91.8" width="6" height="2" /></bezel> + <bezel element="black"><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="butr" inputtag="IN.0" inputmask="0x02"><bounds x="21" y="94.3" width="6" height="2" /></bezel> - <bezel element="white"><bounds x="28.2" y="89.2" width="7.6" height="9" /></bezel> + <bezel element="black"><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 name="8.2" element="led2"><bounds x="31.25" y="90" width="1.5" height="1.5" /></bezel> - <bezel element="white"><bounds x="29" y="91.8" width="6" height="2" /></bezel> + <bezel element="black"><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="butr" inputtag="IN.0" inputmask="0x04"><bounds x="29" y="94.3" width="6" height="2" /></bezel> - <bezel element="white"><bounds x="36.2" y="89.2" width="7.6" height="9" /></bezel> + <bezel element="black"><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 name="8.3" element="led2"><bounds x="39.25" y="90" width="1.5" height="1.5" /></bezel> - <bezel element="white"><bounds x="37" y="91.8" width="6" height="2" /></bezel> + <bezel element="black"><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="butr" inputtag="IN.0" inputmask="0x08"><bounds x="37" y="94.3" width="6" height="2" /></bezel> - <bezel element="white"><bounds x="20.2" y="98.7" width="7.6" height="9" /></bezel> + <bezel element="black"><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 name="8.4" element="led2"><bounds x="23.25" y="99.5" width="1.5" height="1.5" /></bezel> - <bezel element="white"><bounds x="21" y="101.3" width="6" height="2" /></bezel> + <bezel element="black"><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="butr" inputtag="IN.0" inputmask="0x10"><bounds x="21" y="103.8" width="6" height="2" /></bezel> - <bezel element="white"><bounds x="28.2" y="98.7" width="7.6" height="9" /></bezel> + <bezel element="black"><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 name="8.5" element="led2"><bounds x="31.25" y="99.5" width="1.5" height="1.5" /></bezel> - <bezel element="white"><bounds x="29" y="101.3" width="6" height="2" /></bezel> + <bezel element="black"><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="butr" inputtag="IN.0" inputmask="0x20"><bounds x="29" y="103.8" width="6" height="2" /></bezel> - <bezel element="white"><bounds x="36.2" y="98.7" width="7.6" height="9" /></bezel> + <bezel element="black"><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 name="8.6" element="led2"><bounds x="39.25" y="99.5" width="1.5" height="1.5" /></bezel> - <bezel element="white"><bounds x="37" y="101.3" width="6" height="2" /></bezel> + <bezel element="black"><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="butr" inputtag="IN.0" inputmask="0x40"><bounds x="37" y="103.8" width="6" height="2" /></bezel> - <bezel element="white"><bounds x="46.5" y="89.2" width="7" height="9" /></bezel> + <bezel element="black"><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 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="butd" inputtag="IN.0" inputmask="0x80"><bounds x="48.5" y="94" width="3" height="3" /></bezel> - <bezel element="white"><bounds x="46.5" y="98.7" width="7" height="9" /></bezel> + <bezel element="black"><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 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> @@ -534,8 +532,8 @@ <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="white"><bounds x="61.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> + <bezel element="black"><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> </view> </mamelayout> diff --git a/src/mame/layout/fidel_csc.lay b/src/mame/layout/fidel_csc.lay index fe95d67ed69..27e774d550b 100644 --- a/src/mame/layout/fidel_csc.lay +++ b/src/mame/layout/fidel_csc.lay @@ -459,7 +459,7 @@ <!-- build screen --> <view name="Internal Layout"> - <bounds left="-12" right="98" top="-17" bottom="87" /> + <bounds left="-12" right="98" top="-13.5" bottom="87" /> <bezel element="white"><bounds x="0" y="-1" width="98" height="88" /></bezel> @@ -529,50 +529,50 @@ <!-- panel 7seg leds --> <bezel name="digit3" element="digit"> - <bounds x="33" y="-13.5" width="5.66" height="8.5" /> + <bounds x="33" y="-11.5" width="5.66" height="8.5" /> </bezel> <bezel name="digit2" element="digit"> - <bounds x="38.66" y="-13.5" width="5.66" height="8.5" /> + <bounds x="38.66" y="-11.5" width="5.66" height="8.5" /> </bezel> <bezel name="digit1" element="digit"> - <bounds x="47.16" y="-13.5" width="5.66" height="8.5" /> + <bounds x="47.16" y="-11.5" width="5.66" height="8.5" /> </bezel> <bezel name="digit0" element="digit"> - <bounds x="52.82" y="-13.5" width="5.66" height="8.5" /> + <bounds x="52.82" y="-11.5" width="5.66" height="8.5" /> </bezel> <bezel name="2.7" element="led"> - <bounds x="45.58" y="-12" width="0.85" height="0.85" /> + <bounds x="45.58" y="-10" width="0.85" height="0.85" /> </bezel> <bezel name="3.7" element="led"> - <bounds x="45.13" y="-7.35" width="0.85" height="0.85" /> + <bounds x="45.13" y="-5.35" width="0.85" height="0.85" /> </bezel> <!-- panel buttons --> - <bezel element="black"><bounds x="73" y="-13.5" width="5" height="3" /></bezel> - <bezel element="text_tm"><bounds x="73.05" y="-13.45" width="4.9" height="2.9" /></bezel> - <bezel element="hlp" inputtag="IN.2" inputmask="0x100"><bounds x="73" y="-13.5" width="5" height="3" /><color alpha="0.25" /></bezel> + <bezel element="black"><bounds x="73" y="-11.5" width="5" height="3" /></bezel> + <bezel element="text_tm"><bounds x="73.05" y="-11.45" width="4.9" height="2.9" /></bezel> + <bezel element="hlp" inputtag="IN.2" inputmask="0x100"><bounds x="73" y="-11.5" width="5" height="3" /><color alpha="0.25" /></bezel> - <bezel element="black"><bounds x="79.2" y="-13.5" width="5" height="3" /></bezel> - <bezel element="text_rv"><bounds x="79.25" y="-13.45" width="4.9" height="2.9" /></bezel> - <bezel element="hlp" inputtag="IN.1" inputmask="0x100"><bounds x="79.2" y="-13.5" width="5" height="3" /><color alpha="0.25" /></bezel> + <bezel element="black"><bounds x="79.2" y="-11.5" width="5" height="3" /></bezel> + <bezel element="text_rv"><bounds x="79.25" y="-11.45" width="4.9" height="2.9" /></bezel> + <bezel element="hlp" inputtag="IN.1" inputmask="0x100"><bounds x="79.2" y="-11.5" width="5" height="3" /><color alpha="0.25" /></bezel> - <bezel element="black"><bounds x="85.4" y="-13.5" width="5" height="3" /></bezel> - <bezel element="text_speak"><bounds x="85.45" y="-13.45" width="4.9" height="2.9" /></bezel> - <bezel element="hlp" inputtag="IN.0" inputmask="0x100"><bounds x="85.4" y="-13.5" width="5" height="3" /><color alpha="0.25" /></bezel> + <bezel element="black"><bounds x="85.4" y="-11.5" width="5" height="3" /></bezel> + <bezel element="text_speak"><bounds x="85.45" y="-11.45" width="4.9" height="2.9" /></bezel> + <bezel element="hlp" inputtag="IN.0" inputmask="0x100"><bounds x="85.4" y="-11.5" width="5" height="3" /><color alpha="0.25" /></bezel> - <bezel element="black"><bounds x="73" y="-8" width="5" height="3" /></bezel> - <bezel element="text_st"><bounds x="73.05" y="-7.95" width="4.9" height="2.9" /></bezel> - <bezel element="hlp" inputtag="IN.5" inputmask="0x100"><bounds x="73" y="-8" width="5" height="3" /><color alpha="0.25" /></bezel> + <bezel element="black"><bounds x="73" y="-6" width="5" height="3" /></bezel> + <bezel element="text_st"><bounds x="73.05" y="-5.95" width="4.9" height="2.9" /></bezel> + <bezel element="hlp" inputtag="IN.5" inputmask="0x100"><bounds x="73" y="-6" width="5" height="3" /><color alpha="0.25" /></bezel> - <bezel element="black"><bounds x="79.2" y="-8" width="5" height="3" /></bezel> - <bezel element="text_dm"><bounds x="79.25" y="-7.95" width="4.9" height="2.9" /></bezel> - <bezel element="hlp" inputtag="IN.4" inputmask="0x100"><bounds x="79.2" y="-8" width="5" height="3" /><color alpha="0.25" /></bezel> + <bezel element="black"><bounds x="79.2" y="-6" width="5" height="3" /></bezel> + <bezel element="text_dm"><bounds x="79.25" y="-5.95" width="4.9" height="2.9" /></bezel> + <bezel element="hlp" inputtag="IN.4" inputmask="0x100"><bounds x="79.2" y="-6" width="5" height="3" /><color alpha="0.25" /></bezel> - <bezel element="black"><bounds x="85.4" y="-8" width="5" height="3" /></bezel> - <bezel element="text_lv"><bounds x="85.45" y="-7.95" width="4.9" height="2.9" /></bezel> - <bezel element="hlp" inputtag="IN.3" inputmask="0x100"><bounds x="85.4" y="-8" width="5" height="3" /><color alpha="0.25" /></bezel> + <bezel element="black"><bounds x="85.4" y="-6" width="5" height="3" /></bezel> + <bezel element="text_lv"><bounds x="85.45" y="-5.95" width="4.9" height="2.9" /></bezel> + <bezel element="hlp" inputtag="IN.3" inputmask="0x100"><bounds x="85.4" y="-6" width="5" height="3" /><color alpha="0.25" /></bezel> </view> </mamelayout> diff --git a/src/mame/layout/fidel_dsc.lay b/src/mame/layout/fidel_dsc.lay index 33237310fad..0c2c00c6e41 100644 --- a/src/mame/layout/fidel_dsc.lay +++ b/src/mame/layout/fidel_dsc.lay @@ -3,6 +3,11 @@ <!-- define elements --> + <element name="black"><rect><color red="0.17" green="0.15" blue="0.15" /></rect></element> + <element name="white"><rect><color red="0.81" green="0.8" blue="0.79" /></rect></element> + <element name="disk_black"><disk><color red="0.17" green="0.15" blue="0.15" /></disk></element> + <element name="disk_white"><disk><color red="0.81" green="0.8" blue="0.79" /></disk></element> + <element name="digit" defstate="0"> <led7seg><color red="1.0" green="0.1" blue="0.15" /></led7seg> </element> @@ -12,16 +17,6 @@ <disk state="0"><color red="0.1" green="0.01" blue="0.015" /></disk> </element> - <element name="hl" defstate="0"> - <text string=" "> - <bounds x="0.0" y="0.0" width="1.0" height="1.0" /> - <color red="0.0" green="0.0" blue="0.0" /> - </text> - <disk state="1"> - <bounds x="0.12" y="0.12" width="0.76" height="0.76" /> - <color red="1.0" green="1.0" blue="1.0" /> - </disk> - </element> <element name="hlb" defstate="0"> <text string=" "> <bounds x="0.0" y="0.0" width="1.0" height="1.0" /> @@ -33,210 +28,205 @@ </disk> </element> - <element name="black"><rect><color red="0.17" green="0.15" blue="0.15" /></rect></element> - <element name="white"><rect><color red="0.81" green="0.8" blue="0.79" /></rect></element> - <element name="disk_black"><disk><color red="0.17" green="0.15" blue="0.15" /></disk></element> - <element name="disk_white"><disk><color red="0.81" green="0.8" blue="0.79" /></disk></element> - - <element name="text_1"> - <rect><color red="0.17" green="0.15" blue="0.15" /></rect> - <text string="1" align="2"><color red="0.81" green="0.8" blue="0.79" /></text> + <element name="text_e00"> + <rect><color red="0.41" green="0.4" blue="0.39" /></rect> + <text string="1" align="2"><color red="0.86" green="0.85" blue="0.84" /></text> </element> - <element name="text_2"> - <rect><color red="0.17" green="0.15" blue="0.15" /></rect> - <text string="2" align="2"><color red="0.81" green="0.8" blue="0.79" /></text> + <element name="text_e01"> + <rect><color red="0.41" green="0.4" blue="0.39" /></rect> + <text string="2" align="2"><color red="0.86" green="0.85" blue="0.84" /></text> </element> - <element name="text_3"> - <rect><color red="0.17" green="0.15" blue="0.15" /></rect> - <text string="3" align="2"><color red="0.81" green="0.8" blue="0.79" /></text> + <element name="text_e02"> + <rect><color red="0.41" green="0.4" blue="0.39" /></rect> + <text string="3" align="2"><color red="0.86" green="0.85" blue="0.84" /></text> </element> - <element name="text_4"> - <rect><color red="0.17" green="0.15" blue="0.15" /></rect> - <text string="4" align="2"><color red="0.81" green="0.8" blue="0.79" /></text> + <element name="text_e03"> + <rect><color red="0.41" green="0.4" blue="0.39" /></rect> + <text string="4" align="2"><color red="0.86" green="0.85" blue="0.84" /></text> </element> - <element name="text_5"> - <rect><color red="0.17" green="0.15" blue="0.15" /></rect> - <text string="5" align="2"><color red="0.81" green="0.8" blue="0.79" /></text> + <element name="text_e04"> + <rect><color red="0.41" green="0.4" blue="0.39" /></rect> + <text string="5" align="2"><color red="0.86" green="0.85" blue="0.84" /></text> </element> - <element name="text_6"> - <rect><color red="0.17" green="0.15" blue="0.15" /></rect> - <text string="6" align="2"><color red="0.81" green="0.8" blue="0.79" /></text> + <element name="text_o00"> + <rect><color red="0.41" green="0.4" blue="0.39" /></rect> + <text string="6" align="2"><color red="0.86" green="0.85" blue="0.84" /></text> </element> - <element name="text_7"> - <rect><color red="0.17" green="0.15" blue="0.15" /></rect> - <text string="7" align="2"><color red="0.81" green="0.8" blue="0.79" /></text> + <element name="text_o01"> + <rect><color red="0.41" green="0.4" blue="0.39" /></rect> + <text string="7" align="2"><color red="0.86" green="0.85" blue="0.84" /></text> </element> - <element name="text_8"> - <rect><color red="0.17" green="0.15" blue="0.15" /></rect> - <text string="8" align="2"><color red="0.81" green="0.8" blue="0.79" /></text> + <element name="text_o02"> + <rect><color red="0.41" green="0.4" blue="0.39" /></rect> + <text string="8" align="2"><color red="0.86" green="0.85" blue="0.84" /></text> </element> - <element name="text_9"> - <rect><color red="0.17" green="0.15" blue="0.15" /></rect> - <text string="9" align="2"><color red="0.81" green="0.8" blue="0.79" /></text> + <element name="text_o03"> + <rect><color red="0.41" green="0.4" blue="0.39" /></rect> + <text string="9" align="2"><color red="0.86" green="0.85" blue="0.84" /></text> </element> - <element name="text_10"> - <rect><color red="0.17" green="0.15" blue="0.15" /></rect> - <text string="10" align="2"><color red="0.81" green="0.8" blue="0.79" /></text> + <element name="text_o04"> + <rect><color red="0.41" green="0.4" blue="0.39" /></rect> + <text string="10" align="2"><color red="0.86" green="0.85" blue="0.84" /></text> </element> - <element name="text_11"> - <rect><color red="0.17" green="0.15" blue="0.15" /></rect> - <text string="11" align="2"><color red="0.81" green="0.8" blue="0.79" /></text> + <element name="text_e10"> + <rect><color red="0.41" green="0.4" blue="0.39" /></rect> + <text string="11" align="2"><color red="0.86" green="0.85" blue="0.84" /></text> </element> - <element name="text_12"> - <rect><color red="0.17" green="0.15" blue="0.15" /></rect> - <text string="12" align="2"><color red="0.81" green="0.8" blue="0.79" /></text> + <element name="text_e11"> + <rect><color red="0.41" green="0.4" blue="0.39" /></rect> + <text string="12" align="2"><color red="0.86" green="0.85" blue="0.84" /></text> </element> - <element name="text_13"> - <rect><color red="0.17" green="0.15" blue="0.15" /></rect> - <text string="13" align="2"><color red="0.81" green="0.8" blue="0.79" /></text> + <element name="text_e12"> + <rect><color red="0.41" green="0.4" blue="0.39" /></rect> + <text string="13" align="2"><color red="0.86" green="0.85" blue="0.84" /></text> </element> - <element name="text_14"> - <rect><color red="0.17" green="0.15" blue="0.15" /></rect> - <text string="14" align="2"><color red="0.81" green="0.8" blue="0.79" /></text> + <element name="text_e13"> + <rect><color red="0.41" green="0.4" blue="0.39" /></rect> + <text string="14" align="2"><color red="0.86" green="0.85" blue="0.84" /></text> </element> - <element name="text_15"> - <rect><color red="0.17" green="0.15" blue="0.15" /></rect> - <text string="15" align="2"><color red="0.81" green="0.8" blue="0.79" /></text> + <element name="text_e14"> + <rect><color red="0.41" green="0.4" blue="0.39" /></rect> + <text string="15" align="2"><color red="0.86" green="0.85" blue="0.84" /></text> </element> - <element name="text_16"> - <rect><color red="0.17" green="0.15" blue="0.15" /></rect> - <text string="16" align="2"><color red="0.81" green="0.8" blue="0.79" /></text> + <element name="text_o10"> + <rect><color red="0.41" green="0.4" blue="0.39" /></rect> + <text string="16" align="2"><color red="0.86" green="0.85" blue="0.84" /></text> </element> - <element name="text_17"> - <rect><color red="0.17" green="0.15" blue="0.15" /></rect> - <text string="17" align="2"><color red="0.81" green="0.8" blue="0.79" /></text> + <element name="text_o11"> + <rect><color red="0.41" green="0.4" blue="0.39" /></rect> + <text string="17" align="2"><color red="0.86" green="0.85" blue="0.84" /></text> </element> - <element name="text_18"> - <rect><color red="0.17" green="0.15" blue="0.15" /></rect> - <text string="18" align="2"><color red="0.81" green="0.8" blue="0.79" /></text> + <element name="text_o12"> + <rect><color red="0.41" green="0.4" blue="0.39" /></rect> + <text string="18" align="2"><color red="0.86" green="0.85" blue="0.84" /></text> </element> - <element name="text_19"> - <rect><color red="0.17" green="0.15" blue="0.15" /></rect> - <text string="19" align="2"><color red="0.81" green="0.8" blue="0.79" /></text> + <element name="text_o13"> + <rect><color red="0.41" green="0.4" blue="0.39" /></rect> + <text string="19" align="2"><color red="0.86" green="0.85" blue="0.84" /></text> </element> - <element name="text_20"> - <rect><color red="0.17" green="0.15" blue="0.15" /></rect> - <text string="20" align="2"><color red="0.81" green="0.8" blue="0.79" /></text> + <element name="text_o14"> + <rect><color red="0.41" green="0.4" blue="0.39" /></rect> + <text string="20" align="2"><color red="0.86" green="0.85" blue="0.84" /></text> </element> - <element name="text_21"> - <rect><color red="0.17" green="0.15" blue="0.15" /></rect> - <text string="21" align="2"><color red="0.81" green="0.8" blue="0.79" /></text> + <element name="text_e20"> + <rect><color red="0.41" green="0.4" blue="0.39" /></rect> + <text string="21" align="2"><color red="0.86" green="0.85" blue="0.84" /></text> </element> - <element name="text_22"> - <rect><color red="0.17" green="0.15" blue="0.15" /></rect> - <text string="22" align="2"><color red="0.81" green="0.8" blue="0.79" /></text> + <element name="text_e21"> + <rect><color red="0.41" green="0.4" blue="0.39" /></rect> + <text string="22" align="2"><color red="0.86" green="0.85" blue="0.84" /></text> </element> - <element name="text_23"> - <rect><color red="0.17" green="0.15" blue="0.15" /></rect> - <text string="23" align="2"><color red="0.81" green="0.8" blue="0.79" /></text> + <element name="text_e22"> + <rect><color red="0.41" green="0.4" blue="0.39" /></rect> + <text string="23" align="2"><color red="0.86" green="0.85" blue="0.84" /></text> </element> - <element name="text_24"> - <rect><color red="0.17" green="0.15" blue="0.15" /></rect> - <text string="24" align="2"><color red="0.81" green="0.8" blue="0.79" /></text> + <element name="text_e23"> + <rect><color red="0.41" green="0.4" blue="0.39" /></rect> + <text string="24" align="2"><color red="0.86" green="0.85" blue="0.84" /></text> </element> - <element name="text_25"> - <rect><color red="0.17" green="0.15" blue="0.15" /></rect> - <text string="25" align="2"><color red="0.81" green="0.8" blue="0.79" /></text> + <element name="text_e24"> + <rect><color red="0.41" green="0.4" blue="0.39" /></rect> + <text string="25" align="2"><color red="0.86" green="0.85" blue="0.84" /></text> </element> - <element name="text_26"> - <rect><color red="0.17" green="0.15" blue="0.15" /></rect> - <text string="26" align="2"><color red="0.81" green="0.8" blue="0.79" /></text> + <element name="text_o20"> + <rect><color red="0.41" green="0.4" blue="0.39" /></rect> + <text string="26" align="2"><color red="0.86" green="0.85" blue="0.84" /></text> </element> - <element name="text_27"> - <rect><color red="0.17" green="0.15" blue="0.15" /></rect> - <text string="27" align="2"><color red="0.81" green="0.8" blue="0.79" /></text> + <element name="text_o21"> + <rect><color red="0.41" green="0.4" blue="0.39" /></rect> + <text string="27" align="2"><color red="0.86" green="0.85" blue="0.84" /></text> </element> - <element name="text_28"> - <rect><color red="0.17" green="0.15" blue="0.15" /></rect> - <text string="28" align="2"><color red="0.81" green="0.8" blue="0.79" /></text> + <element name="text_o22"> + <rect><color red="0.41" green="0.4" blue="0.39" /></rect> + <text string="28" align="2"><color red="0.86" green="0.85" blue="0.84" /></text> </element> - <element name="text_29"> - <rect><color red="0.17" green="0.15" blue="0.15" /></rect> - <text string="29" align="2"><color red="0.81" green="0.8" blue="0.79" /></text> + <element name="text_o23"> + <rect><color red="0.41" green="0.4" blue="0.39" /></rect> + <text string="29" align="2"><color red="0.86" green="0.85" blue="0.84" /></text> </element> - <element name="text_30"> - <rect><color red="0.17" green="0.15" blue="0.15" /></rect> - <text string="30" align="2"><color red="0.81" green="0.8" blue="0.79" /></text> + <element name="text_o24"> + <rect><color red="0.41" green="0.4" blue="0.39" /></rect> + <text string="30" align="2"><color red="0.86" green="0.85" blue="0.84" /></text> </element> - <element name="text_31"> - <rect><color red="0.17" green="0.15" blue="0.15" /></rect> - <text string="31" align="2"><color red="0.81" green="0.8" blue="0.79" /></text> + <element name="text_e30"> + <rect><color red="0.41" green="0.4" blue="0.39" /></rect> + <text string="31" align="2"><color red="0.86" green="0.85" blue="0.84" /></text> </element> - <element name="text_32"> - <rect><color red="0.17" green="0.15" blue="0.15" /></rect> - <text string="32" align="2"><color red="0.81" green="0.8" blue="0.79" /></text> + <element name="text_e31"> + <rect><color red="0.41" green="0.4" blue="0.39" /></rect> + <text string="32" align="2"><color red="0.86" green="0.85" blue="0.84" /></text> </element> - <element name="text_33"> - <rect><color red="0.17" green="0.15" blue="0.15" /></rect> - <text string="33" align="2"><color red="0.81" green="0.8" blue="0.79" /></text> + <element name="text_e32"> + <rect><color red="0.41" green="0.4" blue="0.39" /></rect> + <text string="33" align="2"><color red="0.86" green="0.85" blue="0.84" /></text> </element> - <element name="text_34"> - <rect><color red="0.17" green="0.15" blue="0.15" /></rect> - <text string="34" align="2"><color red="0.81" green="0.8" blue="0.79" /></text> + <element name="text_e33"> + <rect><color red="0.41" green="0.4" blue="0.39" /></rect> + <text string="34" align="2"><color red="0.86" green="0.85" blue="0.84" /></text> </element> - <element name="text_35"> - <rect><color red="0.17" green="0.15" blue="0.15" /></rect> - <text string="35" align="2"><color red="0.81" green="0.8" blue="0.79" /></text> + <element name="text_e34"> + <rect><color red="0.41" green="0.4" blue="0.39" /></rect> + <text string="35" align="2"><color red="0.86" green="0.85" blue="0.84" /></text> </element> - <element name="text_36"> - <rect><color red="0.17" green="0.15" blue="0.15" /></rect> - <text string="36" align="2"><color red="0.81" green="0.8" blue="0.79" /></text> + <element name="text_o30"> + <rect><color red="0.41" green="0.4" blue="0.39" /></rect> + <text string="36" align="2"><color red="0.86" green="0.85" blue="0.84" /></text> </element> - <element name="text_37"> - <rect><color red="0.17" green="0.15" blue="0.15" /></rect> - <text string="37" align="2"><color red="0.81" green="0.8" blue="0.79" /></text> + <element name="text_o31"> + <rect><color red="0.41" green="0.4" blue="0.39" /></rect> + <text string="37" align="2"><color red="0.86" green="0.85" blue="0.84" /></text> </element> - <element name="text_38"> - <rect><color red="0.17" green="0.15" blue="0.15" /></rect> - <text string="38" align="2"><color red="0.81" green="0.8" blue="0.79" /></text> + <element name="text_o32"> + <rect><color red="0.41" green="0.4" blue="0.39" /></rect> + <text string="38" align="2"><color red="0.86" green="0.85" blue="0.84" /></text> </element> - <element name="text_39"> - <rect><color red="0.17" green="0.15" blue="0.15" /></rect> - <text string="39" align="2"><color red="0.81" green="0.8" blue="0.79" /></text> + <element name="text_o33"> + <rect><color red="0.41" green="0.4" blue="0.39" /></rect> + <text string="39" align="2"><color red="0.86" green="0.85" blue="0.84" /></text> </element> - <element name="text_40"> - <rect><color red="0.17" green="0.15" blue="0.15" /></rect> - <text string="40" align="2"><color red="0.81" green="0.8" blue="0.79" /></text> + <element name="text_o34"> + <rect><color red="0.41" green="0.4" blue="0.39" /></rect> + <text string="40" align="2"><color red="0.86" green="0.85" blue="0.84" /></text> </element> - <element name="text_41"> - <rect><color red="0.17" green="0.15" blue="0.15" /></rect> - <text string="41" align="2"><color red="0.81" green="0.8" blue="0.79" /></text> + <element name="text_e40"> + <rect><color red="0.41" green="0.4" blue="0.39" /></rect> + <text string="41" align="2"><color red="0.86" green="0.85" blue="0.84" /></text> </element> - <element name="text_42"> - <rect><color red="0.17" green="0.15" blue="0.15" /></rect> - <text string="42" align="2"><color red="0.81" green="0.8" blue="0.79" /></text> + <element name="text_e41"> + <rect><color red="0.41" green="0.4" blue="0.39" /></rect> + <text string="42" align="2"><color red="0.86" green="0.85" blue="0.84" /></text> </element> - <element name="text_43"> - <rect><color red="0.17" green="0.15" blue="0.15" /></rect> - <text string="43" align="2"><color red="0.81" green="0.8" blue="0.79" /></text> + <element name="text_e42"> + <rect><color red="0.41" green="0.4" blue="0.39" /></rect> + <text string="43" align="2"><color red="0.86" green="0.85" blue="0.84" /></text> </element> - <element name="text_44"> - <rect><color red="0.17" green="0.15" blue="0.15" /></rect> - <text string="44" align="2"><color red="0.81" green="0.8" blue="0.79" /></text> + <element name="text_e43"> + <rect><color red="0.41" green="0.4" blue="0.39" /></rect> + <text string="44" align="2"><color red="0.86" green="0.85" blue="0.84" /></text> </element> - <element name="text_45"> - <rect><color red="0.17" green="0.15" blue="0.15" /></rect> - <text string="45" align="2"><color red="0.81" green="0.8" blue="0.79" /></text> + <element name="text_e44"> + <rect><color red="0.41" green="0.4" blue="0.39" /></rect> + <text string="45" align="2"><color red="0.86" green="0.85" blue="0.84" /></text> </element> - <element name="text_46"> - <rect><color red="0.17" green="0.15" blue="0.15" /></rect> - <text string="46" align="2"><color red="0.81" green="0.8" blue="0.79" /></text> + <element name="text_o40"> + <rect><color red="0.41" green="0.4" blue="0.39" /></rect> + <text string="46" align="2"><color red="0.86" green="0.85" blue="0.84" /></text> </element> - <element name="text_47"> - <rect><color red="0.17" green="0.15" blue="0.15" /></rect> - <text string="47" align="2"><color red="0.81" green="0.8" blue="0.79" /></text> + <element name="text_o41"> + <rect><color red="0.41" green="0.4" blue="0.39" /></rect> + <text string="47" align="2"><color red="0.86" green="0.85" blue="0.84" /></text> </element> - <element name="text_48"> - <rect><color red="0.17" green="0.15" blue="0.15" /></rect> - <text string="48" align="2"><color red="0.81" green="0.8" blue="0.79" /></text> + <element name="text_o42"> + <rect><color red="0.41" green="0.4" blue="0.39" /></rect> + <text string="48" align="2"><color red="0.86" green="0.85" blue="0.84" /></text> </element> - <element name="text_49"> - <rect><color red="0.17" green="0.15" blue="0.15" /></rect> - <text string="49" align="2"><color red="0.81" green="0.8" blue="0.79" /></text> + <element name="text_o43"> + <rect><color red="0.41" green="0.4" blue="0.39" /></rect> + <text string="49" align="2"><color red="0.86" green="0.85" blue="0.84" /></text> </element> - <element name="text_50"> - <rect><color red="0.17" green="0.15" blue="0.15" /></rect> - <text string="50" align="2"><color red="0.81" green="0.8" blue="0.79" /></text> + <element name="text_o44"> + <rect><color red="0.41" green="0.4" blue="0.39" /></rect> + <text string="50" align="2"><color red="0.86" green="0.85" blue="0.84" /></text> </element> <element name="text_re"> @@ -259,222 +249,274 @@ <disk><color red="0.81" green="0.8" blue="0.79" /></disk> <text string="LV"><color red="0.17" green="0.15" blue="0.15" /></text> </element> + <element name="text_wk"> + <disk><color red="0.81" green="0.8" blue="0.79" /></disk> + <text string="[K]"><color red="0.17" green="0.15" blue="0.15" /></text> + </element> + <element name="text_bk"> + <disk><color red="0.17" green="0.15" blue="0.15" /></disk> + <text string="[K]"><color red="0.81" green="0.8" blue="0.79" /></text> + </element> -<!-- build screen --> +<!-- sb board --> - <view name="Internal Layout"> - <bounds left="-1" right="118" top="-13.5" bottom="107" /> - - <bezel element="white"><bounds x="-1.5" y="-1" width="120" height="108.5" /></bezel> - - <!-- checkerboard bezel --> - - <bezel element="black"><bounds x="13" y="3" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="33" y="3" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="53" y="3" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="73" y="3" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="93" y="3" width="10" height="10" /></bezel> - - <bezel element="black"><bounds x="3" y="13" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="23" y="13" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="43" y="13" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="63" y="13" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="83" y="13" width="10" height="10" /></bezel> - - <bezel element="black"><bounds x="13" y="23" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="33" y="23" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="53" y="23" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="73" y="23" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="93" y="23" width="10" height="10" /></bezel> - - <bezel element="black"><bounds x="3" y="33" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="23" y="33" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="43" y="33" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="63" y="33" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="83" y="33" width="10" height="10" /></bezel> - - <bezel element="black"><bounds x="13" y="43" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="33" y="43" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="53" y="43" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="73" y="43" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="93" y="43" width="10" height="10" /></bezel> - - <bezel element="black"><bounds x="3" y="53" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="23" y="53" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="43" y="53" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="63" y="53" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="83" y="53" width="10" height="10" /></bezel> - - <bezel element="black"><bounds x="13" y="63" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="33" y="63" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="53" y="63" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="73" y="63" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="93" y="63" width="10" height="10" /></bezel> - - <bezel element="black"><bounds x="3" y="73" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="23" y="73" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="43" y="73" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="63" y="73" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="83" y="73" width="10" height="10" /></bezel> - - <bezel element="black"><bounds x="13" y="83" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="33" y="83" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="53" y="83" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="73" y="83" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="93" y="83" width="10" height="10" /></bezel> - - <bezel element="black"><bounds x="3" y="93" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="23" y="93" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="43" y="93" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="63" y="93" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="83" y="93" width="10" height="10" /></bezel> - - <!-- checkerboard labels --> - - <bezel element="text_1"><bounds x="18" y="10" width="4.7" height="2.95" /></bezel> - <bezel element="text_2"><bounds x="38" y="10" width="4.7" height="2.95" /></bezel> - <bezel element="text_3"><bounds x="58" y="10" width="4.7" height="2.95" /></bezel> - <bezel element="text_4"><bounds x="78" y="10" width="4.7" height="2.95" /></bezel> - <bezel element="text_5"><bounds x="98" y="10" width="4.7" height="2.95" /></bezel> - - <bezel element="text_6"><bounds x="8" y="20" width="4.7" height="2.95" /></bezel> - <bezel element="text_7"><bounds x="28" y="20" width="4.7" height="2.95" /></bezel> - <bezel element="text_8"><bounds x="48" y="20" width="4.7" height="2.95" /></bezel> - <bezel element="text_9"><bounds x="68" y="20" width="4.7" height="2.95" /></bezel> - <bezel element="text_10"><bounds x="88" y="20" width="4.7" height="2.95" /></bezel> - - <bezel element="text_11"><bounds x="18" y="30" width="4.7" height="2.95" /></bezel> - <bezel element="text_12"><bounds x="38" y="30" width="4.7" height="2.95" /></bezel> - <bezel element="text_13"><bounds x="58" y="30" width="4.7" height="2.95" /></bezel> - <bezel element="text_14"><bounds x="78" y="30" width="4.7" height="2.95" /></bezel> - <bezel element="text_15"><bounds x="98" y="30" width="4.7" height="2.95" /></bezel> - - <bezel element="text_16"><bounds x="8" y="40" width="4.7" height="2.95" /></bezel> - <bezel element="text_17"><bounds x="28" y="40" width="4.7" height="2.95" /></bezel> - <bezel element="text_18"><bounds x="48" y="40" width="4.7" height="2.95" /></bezel> - <bezel element="text_19"><bounds x="68" y="40" width="4.7" height="2.95" /></bezel> - <bezel element="text_20"><bounds x="88" y="40" width="4.7" height="2.95" /></bezel> - - <bezel element="text_21"><bounds x="18" y="50" width="4.7" height="2.95" /></bezel> - <bezel element="text_22"><bounds x="38" y="50" width="4.7" height="2.95" /></bezel> - <bezel element="text_23"><bounds x="58" y="50" width="4.7" height="2.95" /></bezel> - <bezel element="text_24"><bounds x="78" y="50" width="4.7" height="2.95" /></bezel> - <bezel element="text_25"><bounds x="98" y="50" width="4.7" height="2.95" /></bezel> - - <bezel element="text_26"><bounds x="8" y="60" width="4.7" height="2.95" /></bezel> - <bezel element="text_27"><bounds x="28" y="60" width="4.7" height="2.95" /></bezel> - <bezel element="text_28"><bounds x="48" y="60" width="4.7" height="2.95" /></bezel> - <bezel element="text_29"><bounds x="68" y="60" width="4.7" height="2.95" /></bezel> - <bezel element="text_30"><bounds x="88" y="60" width="4.7" height="2.95" /></bezel> - - <bezel element="text_31"><bounds x="18" y="70" width="4.7" height="2.95" /></bezel> - <bezel element="text_32"><bounds x="38" y="70" width="4.7" height="2.95" /></bezel> - <bezel element="text_33"><bounds x="58" y="70" width="4.7" height="2.95" /></bezel> - <bezel element="text_34"><bounds x="78" y="70" width="4.7" height="2.95" /></bezel> - <bezel element="text_35"><bounds x="98" y="70" width="4.7" height="2.95" /></bezel> - - <bezel element="text_36"><bounds x="8" y="80" width="4.7" height="2.95" /></bezel> - <bezel element="text_37"><bounds x="28" y="80" width="4.7" height="2.95" /></bezel> - <bezel element="text_38"><bounds x="48" y="80" width="4.7" height="2.95" /></bezel> - <bezel element="text_39"><bounds x="68" y="80" width="4.7" height="2.95" /></bezel> - <bezel element="text_40"><bounds x="88" y="80" width="4.7" height="2.95" /></bezel> - - <bezel element="text_41"><bounds x="18" y="90" width="4.7" height="2.95" /></bezel> - <bezel element="text_42"><bounds x="38" y="90" width="4.7" height="2.95" /></bezel> - <bezel element="text_43"><bounds x="58" y="90" width="4.7" height="2.95" /></bezel> - <bezel element="text_44"><bounds x="78" y="90" width="4.7" height="2.95" /></bezel> - <bezel element="text_45"><bounds x="98" y="90" width="4.7" height="2.95" /></bezel> - - <bezel element="text_46"><bounds x="8" y="100" width="4.7" height="2.95" /></bezel> - <bezel element="text_47"><bounds x="28" y="100" width="4.7" height="2.95" /></bezel> - <bezel element="text_48"><bounds x="48" y="100" width="4.7" height="2.95" /></bezel> - <bezel element="text_49"><bounds x="68" y="100" width="4.7" height="2.95" /></bezel> - <bezel element="text_50"><bounds x="88" y="100" width="4.7" height="2.95" /></bezel> - - <!-- checkerboard sensors --> - - <bezel element="hl" inputtag="IN.3" inputmask="0x02"><bounds x="13" y="3" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="IN.3" inputmask="0x08"><bounds x="33" y="3" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="IN.4" inputmask="0x10"><bounds x="53" y="3" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="IN.4" inputmask="0x40"><bounds x="73" y="3" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="IN.4" inputmask="0x20"><bounds x="93" y="3" width="10" height="10" /><color alpha="0.2" /></bezel> - - <bezel element="hl" inputtag="IN.3" inputmask="0x01"><bounds x="3" y="13" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="IN.3" inputmask="0x04"><bounds x="23" y="13" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="IN.3" inputmask="0x10"><bounds x="43" y="13" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="IN.3" inputmask="0x40"><bounds x="63" y="13" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="IN.3" inputmask="0x20"><bounds x="83" y="13" width="10" height="10" /><color alpha="0.2" /></bezel> - - <bezel element="hl" inputtag="IN.0" inputmask="0x10"><bounds x="13" y="23" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="IN.1" inputmask="0x10"><bounds x="33" y="23" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="IN.2" inputmask="0x10"><bounds x="53" y="23" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="IN.5" inputmask="0x10"><bounds x="73" y="23" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="IN.6" inputmask="0x10"><bounds x="93" y="23" width="10" height="10" /><color alpha="0.2" /></bezel> - - <bezel element="hl" inputtag="IN.0" inputmask="0x20"><bounds x="3" y="33" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="IN.1" inputmask="0x20"><bounds x="23" y="33" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="IN.2" inputmask="0x20"><bounds x="43" y="33" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="IN.5" inputmask="0x20"><bounds x="63" y="33" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="IN.6" inputmask="0x20"><bounds x="83" y="33" width="10" height="10" /><color alpha="0.2" /></bezel> - - <bezel element="hl" inputtag="IN.0" inputmask="0x40"><bounds x="13" y="43" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="IN.1" inputmask="0x40"><bounds x="33" y="43" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="IN.2" inputmask="0x40"><bounds x="53" y="43" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="IN.5" inputmask="0x40"><bounds x="73" y="43" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="IN.6" inputmask="0x40"><bounds x="93" y="43" width="10" height="10" /><color alpha="0.2" /></bezel> - - <bezel element="hl" inputtag="IN.0" inputmask="0x08"><bounds x="3" y="53" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="IN.1" inputmask="0x08"><bounds x="23" y="53" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="IN.2" inputmask="0x08"><bounds x="43" y="53" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="IN.5" inputmask="0x08"><bounds x="63" y="53" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="IN.6" inputmask="0x08"><bounds x="83" y="53" width="10" height="10" /><color alpha="0.2" /></bezel> - - <bezel element="hl" inputtag="IN.0" inputmask="0x04"><bounds x="13" y="63" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="IN.1" inputmask="0x04"><bounds x="33" y="63" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="IN.2" inputmask="0x04"><bounds x="53" y="63" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="IN.5" inputmask="0x04"><bounds x="73" y="63" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="IN.6" inputmask="0x04"><bounds x="93" y="63" width="10" height="10" /><color alpha="0.2" /></bezel> - - <bezel element="hl" inputtag="IN.0" inputmask="0x02"><bounds x="3" y="73" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="IN.1" inputmask="0x02"><bounds x="23" y="73" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="IN.2" inputmask="0x02"><bounds x="43" y="73" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="IN.5" inputmask="0x02"><bounds x="63" y="73" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="IN.6" inputmask="0x02"><bounds x="83" y="73" width="10" height="10" /><color alpha="0.2" /></bezel> - - <bezel element="hl" inputtag="IN.0" inputmask="0x01"><bounds x="13" y="83" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="IN.1" inputmask="0x01"><bounds x="33" y="83" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="IN.2" inputmask="0x01"><bounds x="53" y="83" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="IN.5" inputmask="0x01"><bounds x="73" y="83" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="IN.6" inputmask="0x01"><bounds x="93" y="83" width="10" height="10" /><color alpha="0.2" /></bezel> - - <bezel element="hl" inputtag="IN.0" inputmask="0x80"><bounds x="3" y="93" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="IN.1" inputmask="0x80"><bounds x="23" y="93" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="IN.2" inputmask="0x80"><bounds x="43" y="93" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="IN.3" inputmask="0x80"><bounds x="63" y="93" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="IN.5" inputmask="0x80"><bounds x="83" y="93" width="10" height="10" /><color alpha="0.2" /></bezel> + <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> - <!-- 7seg leds --> + <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> - <bezel name="digit3" element="digit"> - <bounds x="84.18" y="-11.5" width="5.66" height="8.5" /> - </bezel> - <bezel name="digit2" element="digit"> - <bounds x="89.84" y="-11.5" width="5.66" height="8.5" /> - </bezel> - <bezel name="digit1" element="digit"> - <bounds x="98.34" y="-11.5" width="5.66" height="8.5" /> - </bezel> - <bezel name="digit0" element="digit"> - <bounds x="104" y="-11.5" width="5.66" height="8.5" /> - </bezel> + <element name="piece" defstate="0"> + <text string=" "><bounds x="0" y="0" width="1" height="1" /></text> + <disk state="1"> + <bounds x="0.1" y="0.1" width="0.8" height="0.8" /> + <color red="1" green="0.9" blue="0.6" /> + </disk> + <disk state="2"> + <bounds x="0.1" y="0.1" width="0.8" height="0.8" /> + <color red="1" green="0.9" blue="0.6" /> + </disk> + <text state="2" string="[K]"> + <bounds x="0.12" y="0.2" width="0.8" height="0.55" /> + <color red="0.75" green="0.4" blue="0" /> + </text> - <bezel name="1.7" element="led"> - <bounds x="96.76" y="-10" width="0.85" height="0.85" /> - </bezel> - <bezel name="0.7" element="led"> - <bounds x="96.31" y="-5.35" width="0.85" height="0.85" /> - </bezel> + <disk state="3"> + <bounds x="0.1" y="0.1" width="0.8" height="0.8" /> + <color red="0.3" green="0.1" blue="0" /> + </disk> + <disk state="4"> + <bounds x="0.1" y="0.1" width="0.8" height="0.8" /> + <color red="0.3" green="0.1" blue="0" /> + </disk> + <text state="4" string="[K]"> + <bounds x="0.12" y="0.2" width="0.8" height="0.55" /> + <color red="0.75" green="0.2" blue="0" /> + </text> + + <!-- selected pieces --> + <disk state="5"> + <bounds x="0.1" y="0.1" width="0.8" height="0.8" /> + <color red="0.8" green="0.7" blue="0.4" /> + </disk> + <disk state="6"> + <bounds x="0.1" y="0.1" width="0.8" height="0.8" /> + <color red="0.8" green="0.7" blue="0.4" /> + </disk> + <text state="6" string="[K]"> + <bounds x="0.12" y="0.2" width="0.8" height="0.55" /> + <color red="0.6" green="0.25" blue="0" /> + </text> + + <disk state="7"> + <bounds x="0.1" y="0.1" width="0.8" height="0.8" /> + <color red="0.45" green="0.2" blue="0.1" /> + </disk> + <disk state="8"> + <bounds x="0.1" y="0.1" width="0.8" height="0.8" /> + <color red="0.45" green="0.2" blue="0.1" /> + </disk> + <text state="8" string="[K]"> + <bounds x="0.12" y="0.2" width="0.8" height="0.55" /> + <color red="0.9" green="0.35" blue="0.1" /> + </text> + </element> + + <group name="sb_board"> + <bounds x="0" y="0" width="100" height="100" /> + + <!-- squares, labels --> + <repeat count="5"> + <param name="y" start="0" increment="20" /> + <param name="yl" start="7.5" increment="20" /> + <param name="yi" start="0" increment="1" /> + <repeat count="5"> + <param name="x" start="10" increment="20" /> + <param name="xl" start="15" increment="20" /> + <param name="xi" start="0" increment="1" /> + <bezel element="cblack"><bounds x="~x~" y="~y~" width="10" height="10" /></bezel> + <bezel element="text_e~yi~~xi~"><bounds x="~xl~" y="~yl~" width="4.9" height="2.48" /></bezel> + </repeat> + </repeat> + <repeat count="5"> + <param name="y" start="10" increment="20" /> + <param name="yl" start="17.5" increment="20" /> + <param name="yi" start="0" increment="1" /> + <repeat count="5"> + <param name="x" start="0" increment="20" /> + <param name="xl" start="5" increment="20" /> + <param name="xi" start="0" increment="1" /> + <bezel element="cblack"><bounds x="~x~" y="~y~" width="10" height="10" /></bezel> + <bezel element="text_o~yi~~xi~"><bounds x="~xl~" y="~yl~" width="4.9" height="2.48" /></bezel> + </repeat> + </repeat> + + <!-- sensors, pieces --> + <repeat count="5"> + <param name="y" start="0" increment="20" /> + <param name="i" start="10" increment="-2" /> + + <bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x01"><bounds x="10" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x02"><bounds x="30" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x04"><bounds x="50" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x08"><bounds x="70" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x10"><bounds x="90" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + + <bezel name="piece_a~i~" element="piece"><bounds x="10" y="~y~" width="10" height="10" /></bezel> + <bezel name="piece_b~i~" element="piece"><bounds x="30" y="~y~" width="10" height="10" /></bezel> + <bezel name="piece_c~i~" element="piece"><bounds x="50" y="~y~" width="10" height="10" /></bezel> + <bezel name="piece_d~i~" element="piece"><bounds x="70" y="~y~" width="10" height="10" /></bezel> + <bezel name="piece_e~i~" element="piece"><bounds x="90" y="~y~" width="10" height="10" /></bezel> + </repeat> + <repeat count="5"> + <param name="y" start="10" increment="20" /> + <param name="i" start="9" increment="-2" /> + + <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="20" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x04"><bounds x="40" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x08"><bounds x="60" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x10"><bounds x="80" 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="20" y="~y~" width="10" height="10" /></bezel> + <bezel name="piece_c~i~" element="piece"><bounds x="40" y="~y~" width="10" height="10" /></bezel> + <bezel name="piece_d~i~" element="piece"><bounds x="60" y="~y~" width="10" height="10" /></bezel> + <bezel name="piece_e~i~" element="piece"><bounds x="80" 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="63" /> + <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="62" 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="8" /></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="5" y="23" width="4" height="4" /></bezel> + <bezel name="piece_ui4" element="piece"><bounds x="5" y="27" 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="5" y="23" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0008"><bounds x="5" y="27" width="4" height="4" /><color alpha="0.25" /></bezel> + + <!-- hand --> + <bezel element="text_uih1"><bounds x="0" y="34" width="10" height="2" /></bezel> + <bezel element="cblack"><bounds x="1" y="36.5" width="8" height="6" /></bezel> + <bezel name="piece_ui0" element="piece"><bounds x="2" y="36.5" width="6" height="6" /></bezel> + + <bezel element="cwhite"><bounds x="1" y="43.5" width="8" height="2.5" /></bezel> + <bezel element="text_uih2"><bounds x="1.5" y="43.75" width="7" height="2" /></bezel> + <bezel element="hlub" inputtag="board:UI" inputmask="0x08"><bounds x="1" y="43.5" width="8" height="2.5" /><color alpha="0.25" /></bezel> + + <!-- undo --> + <bezel element="text_uiu1"><bounds x="0" y="49" width="10" height="2" /></bezel> + <bezel element="cwhite"><bounds x="1" y="51.5" width="1.7" height="6" /></bezel> + <bezel element="cwhite"><bounds x="3.1" y="51.5" width="1.7" height="6" /></bezel> + <bezel element="cwhite"><bounds x="5.2" y="51.5" width="1.7" height="6" /></bezel> + <bezel element="cwhite"><bounds x="7.3" y="51.5" width="1.7" height="6" /></bezel> + <bezel element="text_uiu2a"><bounds x="1" y="52.5" width="1.7" height="4" /></bezel> + <bezel element="text_uiu2b"><bounds x="3.1" y="52.5" width="1.7" height="4" /></bezel> + <bezel element="text_uiu2c"><bounds x="5.2" y="52.5" width="1.7" height="4" /></bezel> + <bezel element="text_uiu2d"><bounds x="7.3" y="52.5" width="1.7" height="4" /></bezel> + + <bezel element="hlub" inputtag="board:UI" inputmask="0x10"><bounds x="1" y="51.5" width="1.7" height="6" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:UI" inputmask="0x20"><bounds x="3.1" y="51.5" width="1.7" height="6" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:UI" inputmask="0x40"><bounds x="5.2" y="51.5" width="1.7" height="6" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:UI" inputmask="0x80"><bounds x="7.3" y="51.5" width="1.7" height="6" /><color alpha="0.25" /></bezel> + + <bezel name="count_ui0" element="text_uiu3a"><bounds x="0" y="58" width="4" height="2" /></bezel> + <bezel name="count_ui1" element="text_uiu3c"><bounds x="6" y="58" width="4" height="2" /></bezel> + <bezel element="text_uiu3b"><bounds x="4" y="58" width="2" height="2" /></bezel> + </group> + + +<!-- build screen --> + + <view name="Internal Layout"> + <bounds left="-16" right="118" top="-13.5" bottom="107" /> + + <bezel element="white"><bounds x="-1" y="-1" width="119" height="108" /></bezel> + <group ref="sb_board"><bounds x="3" y="3" width="100" height="100" /></group> + <group ref="sb_ui"><bounds x="-14.75" y="13.625" width="12.5" height="78.75" /></group> <!-- right side --> @@ -506,34 +548,40 @@ <bezel element="text_lv"><bounds x="108" y="36.5" width="5" height="3" /></bezel> <bezel element="text_cl"><bounds x="108" y="46.5" width="5" height="3" /></bezel> <bezel element="text_rv"><bounds x="108" y="56.5" width="5" height="3" /></bezel> + <bezel element="text_wk"><bounds x="108.5" y="76.2" width="4.5" height="3" /></bezel> + <bezel element="text_bk"><bounds x="108.5" y="96.2" width="4.5" height="3" /></bezel> + + <bezel element="hlb" inputtag="IN.1" inputmask="0x10"><bounds x="107" y="14.5" width="7" height="7" /><color alpha="0.3" /></bezel> + <bezel element="hlb" inputtag="IN.1" inputmask="0x20"><bounds x="107" y="24.5" width="7" height="7" /><color alpha="0.3" /></bezel> + <bezel element="hlb" inputtag="IN.1" inputmask="0x40"><bounds x="107" y="34.5" width="7" height="7" /><color alpha="0.3" /></bezel> + <bezel element="hlb" inputtag="IN.1" inputmask="0x80"><bounds x="107" y="44.5" width="7" height="7" /><color alpha="0.3" /></bezel> + <bezel element="hlb" inputtag="IN.1" inputmask="0x08"><bounds x="107" y="54.5" width="7" height="7" /><color alpha="0.3" /></bezel> + <bezel element="hlb" inputtag="IN.1" inputmask="0x04"><bounds x="107" y="64.5" width="7" height="7" /><color alpha="0.3" /></bezel> + <bezel element="hlb" inputtag="IN.1" inputmask="0x02"><bounds x="107" y="74.5" width="7" height="7" /><color alpha="0.3" /></bezel> + <bezel element="hlb" inputtag="IN.1" inputmask="0x01"><bounds x="107" y="84.5" width="7" height="7" /><color alpha="0.3" /></bezel> + <bezel element="hlb" inputtag="IN.0" inputmask="0x80"><bounds x="107" y="94.5" width="7" height="7" /><color alpha="0.3" /></bezel> + + <!-- 7seg leds --> + + <bezel name="digit3" element="digit"> + <bounds x="84.18" y="-11.5" width="5.66" height="8.5" /> + </bezel> + <bezel name="digit2" element="digit"> + <bounds x="89.84" y="-11.5" width="5.66" height="8.5" /> + </bezel> + <bezel name="digit1" element="digit"> + <bounds x="98.34" y="-11.5" width="5.66" height="8.5" /> + </bezel> + <bezel name="digit0" element="digit"> + <bounds x="104" y="-11.5" width="5.66" height="8.5" /> + </bezel> - <bezel element="black"><bounds x="109" y="76.5" width="3" height="0.3" /></bezel> - <bezel element="black"><bounds x="109" y="77.5" width="3" height="0.3" /></bezel> - <bezel element="black"><bounds x="109" y="78.1" width="3" height="0.3" /></bezel> - <bezel element="black"><bounds x="109" y="79.1" width="3" height="0.3" /></bezel> - <bezel element="black"><bounds x="109" y="76.6" width="0.3" height="1.1" /></bezel> - <bezel element="black"><bounds x="109" y="78.2" width="0.3" height="1.1" /></bezel> - <bezel element="black"><bounds x="111.7" y="76.6" width="0.3" height="1.1" /></bezel> - <bezel element="black"><bounds x="111.7" y="78.2" width="0.3" height="1.1" /></bezel> - - <bezel element="white"><bounds x="109" y="96.5" width="3" height="0.3" /></bezel> - <bezel element="white"><bounds x="109" y="97.5" width="3" height="0.3" /></bezel> - <bezel element="white"><bounds x="109" y="98.1" width="3" height="0.3" /></bezel> - <bezel element="white"><bounds x="109" y="99.1" width="3" height="0.3" /></bezel> - <bezel element="white"><bounds x="109" y="96.6" width="0.3" height="1.1" /></bezel> - <bezel element="white"><bounds x="109" y="98.2" width="0.3" height="1.1" /></bezel> - <bezel element="white"><bounds x="111.7" y="96.6" width="0.3" height="1.1" /></bezel> - <bezel element="white"><bounds x="111.7" y="98.2" width="0.3" height="1.1" /></bezel> - - <bezel element="hlb" inputtag="IN.7" inputmask="0x10"><bounds x="107" y="14.5" width="7" height="7" /><color alpha="0.3" /></bezel> - <bezel element="hlb" inputtag="IN.7" inputmask="0x20"><bounds x="107" y="24.5" width="7" height="7" /><color alpha="0.3" /></bezel> - <bezel element="hlb" inputtag="IN.7" inputmask="0x40"><bounds x="107" y="34.5" width="7" height="7" /><color alpha="0.3" /></bezel> - <bezel element="hlb" inputtag="IN.7" inputmask="0x80"><bounds x="107" y="44.5" width="7" height="7" /><color alpha="0.3" /></bezel> - <bezel element="hlb" inputtag="IN.7" inputmask="0x08"><bounds x="107" y="54.5" width="7" height="7" /><color alpha="0.3" /></bezel> - <bezel element="hlb" inputtag="IN.7" inputmask="0x04"><bounds x="107" y="64.5" width="7" height="7" /><color alpha="0.3" /></bezel> - <bezel element="hlb" inputtag="IN.7" inputmask="0x02"><bounds x="107" y="74.5" width="7" height="7" /><color alpha="0.3" /></bezel> - <bezel element="hlb" inputtag="IN.7" inputmask="0x01"><bounds x="107" y="84.5" width="7" height="7" /><color alpha="0.3" /></bezel> - <bezel element="hlb" inputtag="IN.6" inputmask="0x80"><bounds x="107" y="94.5" width="7" height="7" /><color alpha="0.3" /></bezel> + <bezel name="1.7" element="led"> + <bounds x="96.76" y="-10" width="0.85" height="0.85" /> + </bezel> + <bezel name="0.7" element="led"> + <bounds x="96.31" y="-5.35" width="0.85" height="0.85" /> + </bezel> </view> </mamelayout> diff --git a/src/mame/layout/fidel_su9.lay b/src/mame/layout/fidel_su9.lay index 1ef33f56df5..f06e409dcda 100644 --- a/src/mame/layout/fidel_su9.lay +++ b/src/mame/layout/fidel_su9.lay @@ -484,7 +484,7 @@ <!-- build screen --> <view name="Internal Layout"> - <bounds left="-13" right="99.5" top="-17.5" bottom="87.5" /> + <bounds left="-13" right="99.5" top="-14" bottom="87.5" /> <bezel element="white"><bounds x="-1" y="-1.5" width="100.5" height="89" /></bezel> <bezel element="cblack"><bounds x="3" y="2.5" width="81" height="81" /></bezel> @@ -562,50 +562,50 @@ <!-- panel 7seg leds --> <bezel name="digit3" element="digit"> - <bounds x="33" y="-14" width="5.66" height="8.5" /> + <bounds x="33" y="-12" width="5.66" height="8.5" /> </bezel> <bezel name="digit2" element="digit"> - <bounds x="38.66" y="-14" width="5.66" height="8.5" /> + <bounds x="38.66" y="-12" width="5.66" height="8.5" /> </bezel> <bezel name="digit1" element="digit"> - <bounds x="47.16" y="-14" width="5.66" height="8.5" /> + <bounds x="47.16" y="-12" width="5.66" height="8.5" /> </bezel> <bezel name="digit0" element="digit"> - <bounds x="52.82" y="-14" width="5.66" height="8.5" /> + <bounds x="52.82" y="-12" width="5.66" height="8.5" /> </bezel> <bezel name="2.7" element="led"> - <bounds x="45.58" y="-12.5" width="0.85" height="0.85" /> + <bounds x="45.58" y="-10.5" width="0.85" height="0.85" /> </bezel> <bezel name="3.7" element="led"> - <bounds x="45.13" y="-7.85" width="0.85" height="0.85" /> + <bounds x="45.13" y="-5.85" width="0.85" height="0.85" /> </bezel> <!-- panel buttons --> - <bezel element="black"><bounds x="73" y="-14" width="5" height="3" /></bezel> - <bezel element="text_tmp"><bounds x="73.05" y="-13.95" width="4.9" height="2.9" /></bezel> - <bezel element="hlp" inputtag="IN.2" inputmask="0x100"><bounds x="73" y="-14" width="5" height="3" /><color alpha="0.25" /></bezel> + <bezel element="black"><bounds x="73" y="-12" width="5" height="3" /></bezel> + <bezel element="text_tmp"><bounds x="73.05" y="-11.95" width="4.9" height="2.9" /></bezel> + <bezel element="hlp" inputtag="IN.2" inputmask="0x100"><bounds x="73" y="-12" width="5" height="3" /><color alpha="0.25" /></bezel> - <bezel element="black"><bounds x="79.2" y="-14" width="5" height="3" /></bezel> - <bezel element="text_rvp"><bounds x="79.25" y="-13.95" width="4.9" height="2.9" /></bezel> - <bezel element="hlp" inputtag="IN.1" inputmask="0x100"><bounds x="79.2" y="-14" width="5" height="3" /><color alpha="0.25" /></bezel> + <bezel element="black"><bounds x="79.2" y="-12" width="5" height="3" /></bezel> + <bezel element="text_rvp"><bounds x="79.25" y="-11.95" width="4.9" height="2.9" /></bezel> + <bezel element="hlp" inputtag="IN.1" inputmask="0x100"><bounds x="79.2" y="-12" width="5" height="3" /><color alpha="0.25" /></bezel> - <bezel element="black"><bounds x="85.4" y="-14" width="5" height="3" /></bezel> - <bezel element="text_speak"><bounds x="85.45" y="-13.95" width="4.9" height="2.9" /></bezel> - <bezel element="hlp" inputtag="IN.0" inputmask="0x100"><bounds x="85.4" y="-14" width="5" height="3" /><color alpha="0.25" /></bezel> + <bezel element="black"><bounds x="85.4" y="-12" width="5" height="3" /></bezel> + <bezel element="text_speak"><bounds x="85.45" y="-11.95" width="4.9" height="2.9" /></bezel> + <bezel element="hlp" inputtag="IN.0" inputmask="0x100"><bounds x="85.4" y="-12" width="5" height="3" /><color alpha="0.25" /></bezel> - <bezel element="black"><bounds x="73" y="-8.5" width="5" height="3" /></bezel> - <bezel element="text_stp"><bounds x="73.05" y="-8.45" width="4.9" height="2.9" /></bezel> - <bezel element="hlp" inputtag="IN.5" inputmask="0x100"><bounds x="73" y="-8.5" width="5" height="3" /><color alpha="0.25" /></bezel> + <bezel element="black"><bounds x="73" y="-6.5" width="5" height="3" /></bezel> + <bezel element="text_stp"><bounds x="73.05" y="-6.45" width="4.9" height="2.9" /></bezel> + <bezel element="hlp" inputtag="IN.5" inputmask="0x100"><bounds x="73" y="-6.5" width="5" height="3" /><color alpha="0.25" /></bezel> - <bezel element="black"><bounds x="79.2" y="-8.5" width="5" height="3" /></bezel> - <bezel element="text_dmp"><bounds x="79.25" y="-8.45" width="4.9" height="2.9" /></bezel> - <bezel element="hlp" inputtag="IN.4" inputmask="0x100"><bounds x="79.2" y="-8.5" width="5" height="3" /><color alpha="0.25" /></bezel> + <bezel element="black"><bounds x="79.2" y="-6.5" width="5" height="3" /></bezel> + <bezel element="text_dmp"><bounds x="79.25" y="-6.45" width="4.9" height="2.9" /></bezel> + <bezel element="hlp" inputtag="IN.4" inputmask="0x100"><bounds x="79.2" y="-6.5" width="5" height="3" /><color alpha="0.25" /></bezel> - <bezel element="black"><bounds x="85.4" y="-8.5" width="5" height="3" /></bezel> - <bezel element="text_lvp"><bounds x="85.45" y="-8.45" width="4.9" height="2.9" /></bezel> - <bezel element="hlp" inputtag="IN.3" inputmask="0x100"><bounds x="85.4" y="-8.5" width="5" height="3" /><color alpha="0.25" /></bezel> + <bezel element="black"><bounds x="85.4" y="-6.5" width="5" height="3" /></bezel> + <bezel element="text_lvp"><bounds x="85.45" y="-6.45" width="4.9" height="2.9" /></bezel> + <bezel element="hlp" inputtag="IN.3" inputmask="0x100"><bounds x="85.4" y="-6.5" width="5" height="3" /><color alpha="0.25" /></bezel> </view> </mamelayout> diff --git a/src/mame/layout/glasgow.lay b/src/mame/layout/glasgow.lay deleted file mode 100644 index a53d96a942e..00000000000 --- a/src/mame/layout/glasgow.lay +++ /dev/null @@ -1,313 +0,0 @@ -<?xml version="1.0"?> -<mamelayout version="2"> - <element name="digit" defstate="0"> - <led7seg> - <color red="0.75" green="0.0" blue="0.0" /> - </led7seg> - </element> - <element name="led" defstate="0"> - <disk state="0"> - <color red="0.20" green="0.0" blue="0.0" /> - </disk> - <disk state="1"> - <color red="0.95" green="0.0" blue="0.0" /> - </disk> - </element> - <element name="hl" defstate="0"> - <text string=" "> - <bounds x="0.0" y="0.0" width="1.0" height="1.0" /> - <color red="0.0" green="0.0" blue="0.0" /> - </text> - <disk state="1"> - <bounds x="0.12" y="0.12" width="0.76" height="0.76" /> - <color red="1.0" green="1.0" blue="1.0" /> - </disk> - </element> - <element name="hlb" defstate="0"> - <rect state="0"> - <bounds x="0.0" y="0.0" width="1.0" height="1.0" /> - <color red="0.4" green="0.4" blue="0.4" /> - </rect> - <rect state="1"> - <bounds x="0.0" y="0.0" width="1.0" height="1.0" /> - <color red="0.4" green="0.4" blue="0.4" /> - </rect> - </element> - - <element name="led_background"><rect><color red="0" green="0" blue="0" /></rect></element> - <element name="background"><rect><color red="0.64" green="0.08" blue="0.11" /></rect></element> - <element name="black"><rect><color red="0.64" green="0.08" blue="0.11" /></rect></element> - <element name="white"><rect><color red="1.00" green="0.88" blue="0.55" /></rect></element> - - <element name="text_1"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="1"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_2"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="2"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_3"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="3"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_4"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="4"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_5"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="5"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_6"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="6"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_7"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="7"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_8"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="8"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_a"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="A"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_b"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="B"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_c"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="C"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_d"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="D"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_e"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="E"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_f"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="F"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_g"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="G"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_h"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="H"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - -<!-- build screen --> - - <view name="Chessboard + Display"> - <bezel element="background"><bounds x="-1" y="0" width="87" height="87" /></bezel> - - <!-- chessboard coords --> - - <bezel element="text_8"><bounds x="-0.8" y="7" width="2" height="2" /></bezel> - <bezel element="text_7"><bounds x="-0.8" y="17" width="2" height="2" /></bezel> - <bezel element="text_6"><bounds x="-0.8" y="27" width="2" height="2" /></bezel> - <bezel element="text_5"><bounds x="-0.8" y="37" width="2" height="2" /></bezel> - <bezel element="text_4"><bounds x="-0.8" y="47" width="2" height="2" /></bezel> - <bezel element="text_3"><bounds x="-0.8" y="57" width="2" height="2" /></bezel> - <bezel element="text_2"><bounds x="-0.8" y="67" width="2" height="2" /></bezel> - <bezel element="text_1"><bounds x="-0.8" y="77" width="2" height="2" /></bezel> - - <bezel element="text_a"><bounds x="7" y="85" width="2" height="2" /></bezel> - <bezel element="text_b"><bounds x="17" y="85" width="2" height="2" /></bezel> - <bezel element="text_c"><bounds x="27" y="85" width="2" height="2" /></bezel> - <bezel element="text_d"><bounds x="37" y="85" width="2" height="2" /></bezel> - <bezel element="text_e"><bounds x="47" y="85" width="2" height="2" /></bezel> - <bezel element="text_f"><bounds x="57" y="85" width="2" height="2" /></bezel> - <bezel element="text_g"><bounds x="67" y="85" width="2" height="2" /></bezel> - <bezel element="text_h"><bounds x="77" y="85" width="2" height="2" /></bezel> - - <!-- chessboard bezel --> - - <bezel element="white"><bounds x="2" y="2" width="82" height="82" /></bezel> - <bezel element="white"><bounds x="3" y="3" width="80" height="80" /></bezel> - - <bezel element="black"><bounds x="13" y="2.5" width="10" height="10.5" /></bezel> - <bezel element="black"><bounds x="33" y="2.5" width="10" height="10.5" /></bezel> - <bezel element="black"><bounds x="53" y="2.5" width="10" height="10.5" /></bezel> - <bezel element="black"><bounds x="73" y="2.5" width="10.5" height="10.5" /></bezel> - - <bezel element="black"><bounds x="2.5" y="13" width="10.5" height="10" /></bezel> - <bezel element="black"><bounds x="23" y="13" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="43" y="13" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="63" y="13" width="10" height="10" /></bezel> - - <bezel element="black"><bounds x="13" y="23" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="33" y="23" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="53" y="23" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="73" y="23" width="10.5" height="10" /></bezel> - - <bezel element="black"><bounds x="2.5" y="33" width="10.5" height="10" /></bezel> - <bezel element="black"><bounds x="23" y="33" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="43" y="33" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="63" y="33" width="10" height="10" /></bezel> - - <bezel element="black"><bounds x="13" y="43" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="33" y="43" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="53" y="43" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="73" y="43" width="10.5" height="10" /></bezel> - - <bezel element="black"><bounds x="2.5" y="53" width="10.5" height="10" /></bezel> - <bezel element="black"><bounds x="23" y="53" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="43" y="53" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="63" y="53" width="10" height="10" /></bezel> - - <bezel element="black"><bounds x="13" y="63" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="33" y="63" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="53" y="63" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="73" y="63" width="10.5" height="10" /></bezel> - - <bezel element="black"><bounds x="2.5" y="73" width="10.5" height="10.5" /></bezel> - <bezel element="black"><bounds x="23" y="73" width="10" height="10.5" /></bezel> - <bezel element="black"><bounds x="43" y="73" width="10" height="10.5" /></bezel> - <bezel element="black"><bounds x="63" y="73" width="10" height="10.5" /></bezel> - - <!-- chessboard leds --> - - <bezel name="led0" element="led"><bounds x="11.2" y="81.3" width="1.5" height="1.5" /></bezel> - <bezel name="led1" element="led"><bounds x="21.2" y="81.3" width="1.5" height="1.5" /></bezel> - <bezel name="led2" element="led"><bounds x="31.2" y="81.3" width="1.5" height="1.5" /></bezel> - <bezel name="led3" element="led"><bounds x="41.2" y="81.3" width="1.5" height="1.5" /></bezel> - <bezel name="led4" element="led"><bounds x="51.2" y="81.3" width="1.5" height="1.5" /></bezel> - <bezel name="led5" element="led"><bounds x="61.2" y="81.3" width="1.5" height="1.5" /></bezel> - <bezel name="led6" element="led"><bounds x="71.2" y="81.3" width="1.5" height="1.5" /></bezel> - <bezel name="led7" element="led"><bounds x="81.2" y="81.3" width="1.5" height="1.5" /></bezel> - - <bezel name="led8" element="led"><bounds x="11.2" y="71.3" width="1.5" height="1.5" /></bezel> - <bezel name="led9" element="led"><bounds x="21.2" y="71.3" width="1.5" height="1.5" /></bezel> - <bezel name="led10" element="led"><bounds x="31.2" y="71.3" width="1.5" height="1.5" /></bezel> - <bezel name="led11" element="led"><bounds x="41.2" y="71.3" width="1.5" height="1.5" /></bezel> - <bezel name="led12" element="led"><bounds x="51.2" y="71.3" width="1.5" height="1.5" /></bezel> - <bezel name="led13" element="led"><bounds x="61.2" y="71.3" width="1.5" height="1.5" /></bezel> - <bezel name="led14" element="led"><bounds x="71.2" y="71.3" width="1.5" height="1.5" /></bezel> - <bezel name="led15" element="led"><bounds x="81.2" y="71.3" width="1.5" height="1.5" /></bezel> - - <bezel name="led16" element="led"><bounds x="11.2" y="61.3" width="1.5" height="1.5" /></bezel> - <bezel name="led17" element="led"><bounds x="21.2" y="61.3" width="1.5" height="1.5" /></bezel> - <bezel name="led18" element="led"><bounds x="31.2" y="61.3" width="1.5" height="1.5" /></bezel> - <bezel name="led19" element="led"><bounds x="41.2" y="61.3" width="1.5" height="1.5" /></bezel> - <bezel name="led20" element="led"><bounds x="51.2" y="61.3" width="1.5" height="1.5" /></bezel> - <bezel name="led21" element="led"><bounds x="61.2" y="61.3" width="1.5" height="1.5" /></bezel> - <bezel name="led22" element="led"><bounds x="71.2" y="61.3" width="1.5" height="1.5" /></bezel> - <bezel name="led23" element="led"><bounds x="81.2" y="61.3" width="1.5" height="1.5" /></bezel> - - <bezel name="led24" element="led"><bounds x="11.2" y="51.3" width="1.5" height="1.5" /></bezel> - <bezel name="led25" element="led"><bounds x="21.2" y="51.3" width="1.5" height="1.5" /></bezel> - <bezel name="led26" element="led"><bounds x="31.2" y="51.3" width="1.5" height="1.5" /></bezel> - <bezel name="led27" element="led"><bounds x="41.2" y="51.3" width="1.5" height="1.5" /></bezel> - <bezel name="led28" element="led"><bounds x="51.2" y="51.3" width="1.5" height="1.5" /></bezel> - <bezel name="led29" element="led"><bounds x="61.2" y="51.3" width="1.5" height="1.5" /></bezel> - <bezel name="led30" element="led"><bounds x="71.2" y="51.3" width="1.5" height="1.5" /></bezel> - <bezel name="led31" element="led"><bounds x="81.2" y="51.3" width="1.5" height="1.5" /></bezel> - - <bezel name="led32" element="led"><bounds x="11.2" y="41.3" width="1.5" height="1.5" /></bezel> - <bezel name="led33" element="led"><bounds x="21.2" y="41.3" width="1.5" height="1.5" /></bezel> - <bezel name="led34" element="led"><bounds x="31.2" y="41.3" width="1.5" height="1.5" /></bezel> - <bezel name="led35" element="led"><bounds x="41.2" y="41.3" width="1.5" height="1.5" /></bezel> - <bezel name="led36" element="led"><bounds x="51.2" y="41.3" width="1.5" height="1.5" /></bezel> - <bezel name="led37" element="led"><bounds x="61.2" y="41.3" width="1.5" height="1.5" /></bezel> - <bezel name="led38" element="led"><bounds x="71.2" y="41.3" width="1.5" height="1.5" /></bezel> - <bezel name="led39" element="led"><bounds x="81.2" y="41.3" width="1.5" height="1.5" /></bezel> - - <bezel name="led40" element="led"><bounds x="11.2" y="31.3" width="1.5" height="1.5" /></bezel> - <bezel name="led41" element="led"><bounds x="21.2" y="31.3" width="1.5" height="1.5" /></bezel> - <bezel name="led42" element="led"><bounds x="31.2" y="31.3" width="1.5" height="1.5" /></bezel> - <bezel name="led43" element="led"><bounds x="41.2" y="31.3" width="1.5" height="1.5" /></bezel> - <bezel name="led44" element="led"><bounds x="51.2" y="31.3" width="1.5" height="1.5" /></bezel> - <bezel name="led45" element="led"><bounds x="61.2" y="31.3" width="1.5" height="1.5" /></bezel> - <bezel name="led46" element="led"><bounds x="71.2" y="31.3" width="1.5" height="1.5" /></bezel> - <bezel name="led47" element="led"><bounds x="81.2" y="31.3" width="1.5" height="1.5" /></bezel> - - <bezel name="led48" element="led"><bounds x="11.2" y="21.3" width="1.5" height="1.5" /></bezel> - <bezel name="led49" element="led"><bounds x="21.2" y="21.3" width="1.5" height="1.5" /></bezel> - <bezel name="led50" element="led"><bounds x="31.2" y="21.3" width="1.5" height="1.5" /></bezel> - <bezel name="led51" element="led"><bounds x="41.2" y="21.3" width="1.5" height="1.5" /></bezel> - <bezel name="led52" element="led"><bounds x="51.2" y="21.3" width="1.5" height="1.5" /></bezel> - <bezel name="led53" element="led"><bounds x="61.2" y="21.3" width="1.5" height="1.5" /></bezel> - <bezel name="led54" element="led"><bounds x="71.2" y="21.3" width="1.5" height="1.5" /></bezel> - <bezel name="led55" element="led"><bounds x="81.2" y="21.3" width="1.5" height="1.5" /></bezel> - - <bezel name="led56" element="led"><bounds x="11.2" y="11.3" width="1.5" height="1.5" /></bezel> - <bezel name="led57" element="led"><bounds x="21.2" y="11.3" width="1.5" height="1.5" /></bezel> - <bezel name="led58" element="led"><bounds x="31.2" y="11.3" width="1.5" height="1.5" /></bezel> - <bezel name="led59" element="led"><bounds x="41.2" y="11.3" width="1.5" height="1.5" /></bezel> - <bezel name="led60" element="led"><bounds x="51.2" y="11.3" width="1.5" height="1.5" /></bezel> - <bezel name="led61" element="led"><bounds x="61.2" y="11.3" width="1.5" height="1.5" /></bezel> - <bezel name="led62" element="led"><bounds x="71.2" y="11.3" width="1.5" height="1.5" /></bezel> - <bezel name="led63" element="led"><bounds x="81.2" y="11.3" width="1.5" height="1.5" /></bezel> - - <!-- chessboard sensors --> - - <bezel element="hl" inputtag="board:IN.7" inputmask="0x01"><bounds x="3" y="3" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.7" inputmask="0x02"><bounds x="13" y="3" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.7" inputmask="0x04"><bounds x="23" y="3" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.7" inputmask="0x08"><bounds x="33" y="3" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.7" inputmask="0x10"><bounds x="43" y="3" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.7" inputmask="0x20"><bounds x="53" y="3" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.7" inputmask="0x40"><bounds x="63" y="3" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.7" inputmask="0x80"><bounds x="73" y="3" width="10" height="10" /><color alpha="0.2" /></bezel> - - <bezel element="hl" inputtag="board:IN.6" inputmask="0x01"><bounds x="3" y="13" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.6" inputmask="0x02"><bounds x="13" y="13" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.6" inputmask="0x04"><bounds x="23" y="13" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.6" inputmask="0x08"><bounds x="33" y="13" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.6" inputmask="0x10"><bounds x="43" y="13" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.6" inputmask="0x20"><bounds x="53" y="13" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.6" inputmask="0x40"><bounds x="63" y="13" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.6" inputmask="0x80"><bounds x="73" y="13" width="10" height="10" /><color alpha="0.4" /></bezel> - - <bezel element="hl" inputtag="board:IN.5" inputmask="0x01"><bounds x="3" y="23" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.5" inputmask="0x02"><bounds x="13" y="23" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.5" inputmask="0x04"><bounds x="23" y="23" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.5" inputmask="0x08"><bounds x="33" y="23" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.5" inputmask="0x10"><bounds x="43" y="23" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.5" inputmask="0x20"><bounds x="53" y="23" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.5" inputmask="0x40"><bounds x="63" y="23" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.5" inputmask="0x80"><bounds x="73" y="23" width="10" height="10" /><color alpha="0.2" /></bezel> - - <bezel element="hl" inputtag="board:IN.4" inputmask="0x01"><bounds x="3" y="33" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.4" inputmask="0x02"><bounds x="13" y="33" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.4" inputmask="0x04"><bounds x="23" y="33" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.4" inputmask="0x08"><bounds x="33" y="33" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.4" inputmask="0x10"><bounds x="43" y="33" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.4" inputmask="0x20"><bounds x="53" y="33" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.4" inputmask="0x40"><bounds x="63" y="33" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.4" inputmask="0x80"><bounds x="73" y="33" width="10" height="10" /><color alpha="0.4" /></bezel> - - <bezel element="hl" inputtag="board:IN.3" inputmask="0x01"><bounds x="3" y="43" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.3" inputmask="0x02"><bounds x="13" y="43" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.3" inputmask="0x04"><bounds x="23" y="43" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.3" inputmask="0x08"><bounds x="33" y="43" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.3" inputmask="0x10"><bounds x="43" y="43" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.3" inputmask="0x20"><bounds x="53" y="43" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.3" inputmask="0x40"><bounds x="63" y="43" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.3" inputmask="0x80"><bounds x="73" y="43" width="10" height="10" /><color alpha="0.2" /></bezel> - - <bezel element="hl" inputtag="board:IN.2" inputmask="0x01"><bounds x="3" y="53" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.2" inputmask="0x02"><bounds x="13" y="53" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.2" inputmask="0x04"><bounds x="23" y="53" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.2" inputmask="0x08"><bounds x="33" y="53" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.2" inputmask="0x10"><bounds x="43" y="53" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.2" inputmask="0x20"><bounds x="53" y="53" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.2" inputmask="0x40"><bounds x="63" y="53" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.2" inputmask="0x80"><bounds x="73" y="53" width="10" height="10" /><color alpha="0.4" /></bezel> - - <bezel element="hl" inputtag="board:IN.1" inputmask="0x01"><bounds x="3" y="63" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.1" inputmask="0x02"><bounds x="13" y="63" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.1" inputmask="0x04"><bounds x="23" y="63" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.1" inputmask="0x08"><bounds x="33" y="63" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.1" inputmask="0x10"><bounds x="43" y="63" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.1" inputmask="0x20"><bounds x="53" y="63" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.1" inputmask="0x40"><bounds x="63" y="63" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.1" inputmask="0x80"><bounds x="73" y="63" width="10" height="10" /><color alpha="0.2" /></bezel> - - <bezel element="hl" inputtag="board:IN.0" inputmask="0x01"><bounds x="3" y="73" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.0" inputmask="0x02"><bounds x="13" y="73" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.0" inputmask="0x04"><bounds x="23" y="73" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.0" inputmask="0x08"><bounds x="33" y="73" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.0" inputmask="0x10"><bounds x="43" y="73" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.0" inputmask="0x20"><bounds x="53" y="73" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.0" inputmask="0x40"><bounds x="63" y="73" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.0" inputmask="0x80"><bounds x="73" y="73" width="10" height="10" /><color alpha="0.4" /></bezel> - - <!-- Display panel --> - - <bezel element="led_background"> - <bounds x="32" y="87" width="21" height="7" /> - </bezel> - <bezel name="digit0" element="digit"> - <bounds x="33" y="88" width="4" height="5" /> - </bezel> - <bezel name="digit1" element="digit"> - <bounds x="38" y="88" width="4" height="5" /> - </bezel> - <bezel name="digit2" element="digit"> - <bounds x="43" y="88" width="4" height="5" /> - </bezel> - <bezel name="digit3" element="digit"> - <bounds x="48" y="88" width="4" height="5" /> - </bezel> - </view> - - <view name="Display"> - <bezel element="led_background"> - <bounds x="0" y="0" width="21" height="7" /> - </bezel> - <bezel name="digit0" element="digit"> - <bounds x="1" y="1" width="4" height="5" /> - </bezel> - <bezel name="digit1" element="digit"> - <bounds x="6" y="1" width="4" height="5" /> - </bezel> - <bezel name="digit2" element="digit"> - <bounds x="11" y="1" width="4" height="5" /> - </bezel> - <bezel name="digit3" element="digit"> - <bounds x="16" y="1" width="4" height="5" /> - </bezel> - </view> -</mamelayout> diff --git a/src/mame/layout/mephisto.lay b/src/mame/layout/mephisto.lay deleted file mode 100644 index 5204f53d58d..00000000000 --- a/src/mame/layout/mephisto.lay +++ /dev/null @@ -1,345 +0,0 @@ -<?xml version="1.0"?> -<mamelayout version="2"> -<!-- define elements --> - <element name="digit" defstate="0"> - <led7seg> - <color red="0.75" green="0.0" blue="0.0" /> - </led7seg> - </element> - <element name="led" defstate="0"> - <disk state="0"> - <color red="0.20" green="0.0" blue="0.0" /> - </disk> - <disk state="1"> - <color red="0.95" green="0.0" blue="0.0" /> - </disk> - </element> - <element name="hl" defstate="0"> - <text string=" "> - <bounds x="0.0" y="0.0" width="1.0" height="1.0" /> - <color red="0.0" green="0.0" blue="0.0" /> - </text> - <disk state="1"> - <bounds x="0.12" y="0.12" width="0.76" height="0.76" /> - <color red="1.0" green="1.0" blue="1.0" /> - </disk> - </element> - <element name="hlb" defstate="0"> - <rect state="0"> - <bounds x="0.0" y="0.0" width="1.0" height="1.0" /> - <color red="0.4" green="0.4" blue="0.4" /> - </rect> - <rect state="1"> - <bounds x="0.0" y="0.0" width="1.0" height="1.0" /> - <color red="0.4" green="0.4" blue="0.4" /> - </rect> - </element> - - <element name="background"><rect><color red="0.64" green="0.08" blue="0.11" /></rect></element> - <element name="black"><rect><color red="0.64" green="0.08" blue="0.11" /></rect></element> - <element name="white"><rect><color red="1.00" green="0.88" blue="0.55" /></rect></element> - - <element name="text_1"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="1"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_2"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="2"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_3"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="3"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_4"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="4"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_5"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="5"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_6"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="6"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_7"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="7"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_8"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="8"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_a"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="A"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_b"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="B"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_c"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="C"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_d"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="D"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_e"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="E"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_f"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="F"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_g"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="G"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_h"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="H"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - -<!-- build screen --> - - <view name="Chessboard + Display"> - <bezel element="background"><bounds x="-1" y="0" width="87" height="87" /></bezel> - - <!-- chessboard coords --> - - <bezel element="text_8"><bounds x="-0.8" y="7" width="2" height="2" /></bezel> - <bezel element="text_7"><bounds x="-0.8" y="17" width="2" height="2" /></bezel> - <bezel element="text_6"><bounds x="-0.8" y="27" width="2" height="2" /></bezel> - <bezel element="text_5"><bounds x="-0.8" y="37" width="2" height="2" /></bezel> - <bezel element="text_4"><bounds x="-0.8" y="47" width="2" height="2" /></bezel> - <bezel element="text_3"><bounds x="-0.8" y="57" width="2" height="2" /></bezel> - <bezel element="text_2"><bounds x="-0.8" y="67" width="2" height="2" /></bezel> - <bezel element="text_1"><bounds x="-0.8" y="77" width="2" height="2" /></bezel> - - <bezel element="text_a"><bounds x="7" y="85" width="2" height="2" /></bezel> - <bezel element="text_b"><bounds x="17" y="85" width="2" height="2" /></bezel> - <bezel element="text_c"><bounds x="27" y="85" width="2" height="2" /></bezel> - <bezel element="text_d"><bounds x="37" y="85" width="2" height="2" /></bezel> - <bezel element="text_e"><bounds x="47" y="85" width="2" height="2" /></bezel> - <bezel element="text_f"><bounds x="57" y="85" width="2" height="2" /></bezel> - <bezel element="text_g"><bounds x="67" y="85" width="2" height="2" /></bezel> - <bezel element="text_h"><bounds x="77" y="85" width="2" height="2" /></bezel> - - <!-- chessboard bezel --> - - <bezel element="white"><bounds x="2" y="2" width="82" height="82" /></bezel> - <bezel element="white"><bounds x="3" y="3" width="80" height="80" /></bezel> - - <bezel element="black"><bounds x="13" y="2.5" width="10" height="10.5" /></bezel> - <bezel element="black"><bounds x="33" y="2.5" width="10" height="10.5" /></bezel> - <bezel element="black"><bounds x="53" y="2.5" width="10" height="10.5" /></bezel> - <bezel element="black"><bounds x="73" y="2.5" width="10.5" height="10.5" /></bezel> - - <bezel element="black"><bounds x="2.5" y="13" width="10.5" height="10" /></bezel> - <bezel element="black"><bounds x="23" y="13" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="43" y="13" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="63" y="13" width="10" height="10" /></bezel> - - <bezel element="black"><bounds x="13" y="23" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="33" y="23" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="53" y="23" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="73" y="23" width="10.5" height="10" /></bezel> - - <bezel element="black"><bounds x="2.5" y="33" width="10.5" height="10" /></bezel> - <bezel element="black"><bounds x="23" y="33" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="43" y="33" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="63" y="33" width="10" height="10" /></bezel> - - <bezel element="black"><bounds x="13" y="43" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="33" y="43" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="53" y="43" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="73" y="43" width="10.5" height="10" /></bezel> - - <bezel element="black"><bounds x="2.5" y="53" width="10.5" height="10" /></bezel> - <bezel element="black"><bounds x="23" y="53" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="43" y="53" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="63" y="53" width="10" height="10" /></bezel> - - <bezel element="black"><bounds x="13" y="63" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="33" y="63" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="53" y="63" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="73" y="63" width="10.5" height="10" /></bezel> - - <bezel element="black"><bounds x="2.5" y="73" width="10.5" height="10.5" /></bezel> - <bezel element="black"><bounds x="23" y="73" width="10" height="10.5" /></bezel> - <bezel element="black"><bounds x="43" y="73" width="10" height="10.5" /></bezel> - <bezel element="black"><bounds x="63" y="73" width="10" height="10.5" /></bezel> - - <!-- chessboard leds --> - - <bezel name="led0" element="led"><bounds x="11.2" y="81.3" width="1.5" height="1.5" /></bezel> - <bezel name="led1" element="led"><bounds x="21.2" y="81.3" width="1.5" height="1.5" /></bezel> - <bezel name="led2" element="led"><bounds x="31.2" y="81.3" width="1.5" height="1.5" /></bezel> - <bezel name="led3" element="led"><bounds x="41.2" y="81.3" width="1.5" height="1.5" /></bezel> - <bezel name="led4" element="led"><bounds x="51.2" y="81.3" width="1.5" height="1.5" /></bezel> - <bezel name="led5" element="led"><bounds x="61.2" y="81.3" width="1.5" height="1.5" /></bezel> - <bezel name="led6" element="led"><bounds x="71.2" y="81.3" width="1.5" height="1.5" /></bezel> - <bezel name="led7" element="led"><bounds x="81.2" y="81.3" width="1.5" height="1.5" /></bezel> - - <bezel name="led8" element="led"><bounds x="11.2" y="71.3" width="1.5" height="1.5" /></bezel> - <bezel name="led9" element="led"><bounds x="21.2" y="71.3" width="1.5" height="1.5" /></bezel> - <bezel name="led10" element="led"><bounds x="31.2" y="71.3" width="1.5" height="1.5" /></bezel> - <bezel name="led11" element="led"><bounds x="41.2" y="71.3" width="1.5" height="1.5" /></bezel> - <bezel name="led12" element="led"><bounds x="51.2" y="71.3" width="1.5" height="1.5" /></bezel> - <bezel name="led13" element="led"><bounds x="61.2" y="71.3" width="1.5" height="1.5" /></bezel> - <bezel name="led14" element="led"><bounds x="71.2" y="71.3" width="1.5" height="1.5" /></bezel> - <bezel name="led15" element="led"><bounds x="81.2" y="71.3" width="1.5" height="1.5" /></bezel> - - <bezel name="led16" element="led"><bounds x="11.2" y="61.3" width="1.5" height="1.5" /></bezel> - <bezel name="led17" element="led"><bounds x="21.2" y="61.3" width="1.5" height="1.5" /></bezel> - <bezel name="led18" element="led"><bounds x="31.2" y="61.3" width="1.5" height="1.5" /></bezel> - <bezel name="led19" element="led"><bounds x="41.2" y="61.3" width="1.5" height="1.5" /></bezel> - <bezel name="led20" element="led"><bounds x="51.2" y="61.3" width="1.5" height="1.5" /></bezel> - <bezel name="led21" element="led"><bounds x="61.2" y="61.3" width="1.5" height="1.5" /></bezel> - <bezel name="led22" element="led"><bounds x="71.2" y="61.3" width="1.5" height="1.5" /></bezel> - <bezel name="led23" element="led"><bounds x="81.2" y="61.3" width="1.5" height="1.5" /></bezel> - - <bezel name="led24" element="led"><bounds x="11.2" y="51.3" width="1.5" height="1.5" /></bezel> - <bezel name="led25" element="led"><bounds x="21.2" y="51.3" width="1.5" height="1.5" /></bezel> - <bezel name="led26" element="led"><bounds x="31.2" y="51.3" width="1.5" height="1.5" /></bezel> - <bezel name="led27" element="led"><bounds x="41.2" y="51.3" width="1.5" height="1.5" /></bezel> - <bezel name="led28" element="led"><bounds x="51.2" y="51.3" width="1.5" height="1.5" /></bezel> - <bezel name="led29" element="led"><bounds x="61.2" y="51.3" width="1.5" height="1.5" /></bezel> - <bezel name="led30" element="led"><bounds x="71.2" y="51.3" width="1.5" height="1.5" /></bezel> - <bezel name="led31" element="led"><bounds x="81.2" y="51.3" width="1.5" height="1.5" /></bezel> - - <bezel name="led32" element="led"><bounds x="11.2" y="41.3" width="1.5" height="1.5" /></bezel> - <bezel name="led33" element="led"><bounds x="21.2" y="41.3" width="1.5" height="1.5" /></bezel> - <bezel name="led34" element="led"><bounds x="31.2" y="41.3" width="1.5" height="1.5" /></bezel> - <bezel name="led35" element="led"><bounds x="41.2" y="41.3" width="1.5" height="1.5" /></bezel> - <bezel name="led36" element="led"><bounds x="51.2" y="41.3" width="1.5" height="1.5" /></bezel> - <bezel name="led37" element="led"><bounds x="61.2" y="41.3" width="1.5" height="1.5" /></bezel> - <bezel name="led38" element="led"><bounds x="71.2" y="41.3" width="1.5" height="1.5" /></bezel> - <bezel name="led39" element="led"><bounds x="81.2" y="41.3" width="1.5" height="1.5" /></bezel> - - <bezel name="led40" element="led"><bounds x="11.2" y="31.3" width="1.5" height="1.5" /></bezel> - <bezel name="led41" element="led"><bounds x="21.2" y="31.3" width="1.5" height="1.5" /></bezel> - <bezel name="led42" element="led"><bounds x="31.2" y="31.3" width="1.5" height="1.5" /></bezel> - <bezel name="led43" element="led"><bounds x="41.2" y="31.3" width="1.5" height="1.5" /></bezel> - <bezel name="led44" element="led"><bounds x="51.2" y="31.3" width="1.5" height="1.5" /></bezel> - <bezel name="led45" element="led"><bounds x="61.2" y="31.3" width="1.5" height="1.5" /></bezel> - <bezel name="led46" element="led"><bounds x="71.2" y="31.3" width="1.5" height="1.5" /></bezel> - <bezel name="led47" element="led"><bounds x="81.2" y="31.3" width="1.5" height="1.5" /></bezel> - - <bezel name="led48" element="led"><bounds x="11.2" y="21.3" width="1.5" height="1.5" /></bezel> - <bezel name="led49" element="led"><bounds x="21.2" y="21.3" width="1.5" height="1.5" /></bezel> - <bezel name="led50" element="led"><bounds x="31.2" y="21.3" width="1.5" height="1.5" /></bezel> - <bezel name="led51" element="led"><bounds x="41.2" y="21.3" width="1.5" height="1.5" /></bezel> - <bezel name="led52" element="led"><bounds x="51.2" y="21.3" width="1.5" height="1.5" /></bezel> - <bezel name="led53" element="led"><bounds x="61.2" y="21.3" width="1.5" height="1.5" /></bezel> - <bezel name="led54" element="led"><bounds x="71.2" y="21.3" width="1.5" height="1.5" /></bezel> - <bezel name="led55" element="led"><bounds x="81.2" y="21.3" width="1.5" height="1.5" /></bezel> - - <bezel name="led56" element="led"><bounds x="11.2" y="11.3" width="1.5" height="1.5" /></bezel> - <bezel name="led57" element="led"><bounds x="21.2" y="11.3" width="1.5" height="1.5" /></bezel> - <bezel name="led58" element="led"><bounds x="31.2" y="11.3" width="1.5" height="1.5" /></bezel> - <bezel name="led59" element="led"><bounds x="41.2" y="11.3" width="1.5" height="1.5" /></bezel> - <bezel name="led60" element="led"><bounds x="51.2" y="11.3" width="1.5" height="1.5" /></bezel> - <bezel name="led61" element="led"><bounds x="61.2" y="11.3" width="1.5" height="1.5" /></bezel> - <bezel name="led62" element="led"><bounds x="71.2" y="11.3" width="1.5" height="1.5" /></bezel> - <bezel name="led63" element="led"><bounds x="81.2" y="11.3" width="1.5" height="1.5" /></bezel> - - <!-- chessboard sensors --> - - <bezel element="hl" inputtag="board:IN.7" inputmask="0x01"><bounds x="3" y="3" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.7" inputmask="0x02"><bounds x="13" y="3" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.7" inputmask="0x04"><bounds x="23" y="3" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.7" inputmask="0x08"><bounds x="33" y="3" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.7" inputmask="0x10"><bounds x="43" y="3" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.7" inputmask="0x20"><bounds x="53" y="3" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.7" inputmask="0x40"><bounds x="63" y="3" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.7" inputmask="0x80"><bounds x="73" y="3" width="10" height="10" /><color alpha="0.2" /></bezel> - - <bezel element="hl" inputtag="board:IN.6" inputmask="0x01"><bounds x="3" y="13" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.6" inputmask="0x02"><bounds x="13" y="13" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.6" inputmask="0x04"><bounds x="23" y="13" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.6" inputmask="0x08"><bounds x="33" y="13" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.6" inputmask="0x10"><bounds x="43" y="13" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.6" inputmask="0x20"><bounds x="53" y="13" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.6" inputmask="0x40"><bounds x="63" y="13" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.6" inputmask="0x80"><bounds x="73" y="13" width="10" height="10" /><color alpha="0.4" /></bezel> - - <bezel element="hl" inputtag="board:IN.5" inputmask="0x01"><bounds x="3" y="23" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.5" inputmask="0x02"><bounds x="13" y="23" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.5" inputmask="0x04"><bounds x="23" y="23" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.5" inputmask="0x08"><bounds x="33" y="23" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.5" inputmask="0x10"><bounds x="43" y="23" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.5" inputmask="0x20"><bounds x="53" y="23" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.5" inputmask="0x40"><bounds x="63" y="23" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.5" inputmask="0x80"><bounds x="73" y="23" width="10" height="10" /><color alpha="0.2" /></bezel> - - <bezel element="hl" inputtag="board:IN.4" inputmask="0x01"><bounds x="3" y="33" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.4" inputmask="0x02"><bounds x="13" y="33" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.4" inputmask="0x04"><bounds x="23" y="33" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.4" inputmask="0x08"><bounds x="33" y="33" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.4" inputmask="0x10"><bounds x="43" y="33" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.4" inputmask="0x20"><bounds x="53" y="33" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.4" inputmask="0x40"><bounds x="63" y="33" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.4" inputmask="0x80"><bounds x="73" y="33" width="10" height="10" /><color alpha="0.4" /></bezel> - - <bezel element="hl" inputtag="board:IN.3" inputmask="0x01"><bounds x="3" y="43" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.3" inputmask="0x02"><bounds x="13" y="43" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.3" inputmask="0x04"><bounds x="23" y="43" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.3" inputmask="0x08"><bounds x="33" y="43" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.3" inputmask="0x10"><bounds x="43" y="43" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.3" inputmask="0x20"><bounds x="53" y="43" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.3" inputmask="0x40"><bounds x="63" y="43" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.3" inputmask="0x80"><bounds x="73" y="43" width="10" height="10" /><color alpha="0.2" /></bezel> - - <bezel element="hl" inputtag="board:IN.2" inputmask="0x01"><bounds x="3" y="53" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.2" inputmask="0x02"><bounds x="13" y="53" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.2" inputmask="0x04"><bounds x="23" y="53" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.2" inputmask="0x08"><bounds x="33" y="53" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.2" inputmask="0x10"><bounds x="43" y="53" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.2" inputmask="0x20"><bounds x="53" y="53" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.2" inputmask="0x40"><bounds x="63" y="53" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.2" inputmask="0x80"><bounds x="73" y="53" width="10" height="10" /><color alpha="0.4" /></bezel> - - <bezel element="hl" inputtag="board:IN.1" inputmask="0x01"><bounds x="3" y="63" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.1" inputmask="0x02"><bounds x="13" y="63" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.1" inputmask="0x04"><bounds x="23" y="63" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.1" inputmask="0x08"><bounds x="33" y="63" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.1" inputmask="0x10"><bounds x="43" y="63" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.1" inputmask="0x20"><bounds x="53" y="63" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.1" inputmask="0x40"><bounds x="63" y="63" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.1" inputmask="0x80"><bounds x="73" y="63" width="10" height="10" /><color alpha="0.2" /></bezel> - - <bezel element="hl" inputtag="board:IN.0" inputmask="0x01"><bounds x="3" y="73" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.0" inputmask="0x02"><bounds x="13" y="73" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.0" inputmask="0x04"><bounds x="23" y="73" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.0" inputmask="0x08"><bounds x="33" y="73" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.0" inputmask="0x10"><bounds x="43" y="73" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.0" inputmask="0x20"><bounds x="53" y="73" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.0" inputmask="0x40"><bounds x="63" y="73" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.0" inputmask="0x80"><bounds x="73" y="73" width="10" height="10" /><color alpha="0.4" /></bezel> - - <!-- LCD panel --> - - <bezel name="digit0" element="digit"> - <bounds x="33" y="88" width="4" height="5" /> - </bezel> - <bezel name="digit1" element="digit"> - <bounds x="38" y="88" width="4" height="5" /> - </bezel> - <bezel name="digit2" element="digit"> - <bounds x="43" y="88" width="4" height="5" /> - </bezel> - <bezel name="digit3" element="digit"> - <bounds x="48" y="88" width="4" height="5" /> - </bezel> - - <bezel name="led100" element="led"> - <bounds x="33" y="95" width="1.5" height="1.5" /> - </bezel> - <bezel name="led101" element="led"> - <bounds x="36" y="95" width="1.5" height="1.5" /> - </bezel> - <bezel name="led102" element="led"> - <bounds x="39" y="95" width="1.5" height="1.5" /> - </bezel> - <bezel name="led103" element="led"> - <bounds x="42" y="95" width="1.5" height="1.5" /> - </bezel> - <bezel name="led104" element="led"> - <bounds x="45" y="95" width="1.5" height="1.5" /> - </bezel> - <bezel name="led105" element="led"> - <bounds x="48" y="95" width="1.5" height="1.5" /> - </bezel> - </view> - - <view name="Display"> - <bezel name="digit0" element="digit"> - <bounds x="33" y="0" width="4" height="5" /> - </bezel> - <bezel name="digit1" element="digit"> - <bounds x="38" y="0" width="4" height="5" /> - </bezel> - <bezel name="digit2" element="digit"> - <bounds x="43" y="0" width="4" height="5" /> - </bezel> - <bezel name="digit3" element="digit"> - <bounds x="48" y="0" width="4" height="5" /> - </bezel> - - <bezel name="led100" element="led"> - <bounds x="33" y="7" width="1.5" height="1.5" /> - </bezel> - <bezel name="led101" element="led"> - <bounds x="36" y="7" width="1.5" height="1.5" /> - </bezel> - <bezel name="led102" element="led"> - <bounds x="39" y="7" width="1.5" height="1.5" /> - </bezel> - <bezel name="led103" element="led"> - <bounds x="42" y="7" width="1.5" height="1.5" /> - </bezel> - <bezel name="led104" element="led"> - <bounds x="45" y="7" width="1.5" height="1.5" /> - </bezel> - <bezel name="led105" element="led"> - <bounds x="48" y="7" width="1.5" height="1.5" /> - </bezel> - </view> -</mamelayout> diff --git a/src/mame/layout/mephisto_academy.lay b/src/mame/layout/mephisto_academy.lay index c67fe49c0ae..af4b236a3b8 100644 --- a/src/mame/layout/mephisto_academy.lay +++ b/src/mame/layout/mephisto_academy.lay @@ -1,6 +1,6 @@ <?xml version="1.0"?> <mamelayout version="2"> - <!-- define elements --> +<!-- define elements --> <element name="led" defstate="0"> <disk state="0"> <color red="0.20" green="0.0" blue="0.0" /> @@ -9,29 +9,28 @@ <color red="0.95" green="0.0" blue="0.0" /> </disk> </element> - <element name="hl" defstate="0"> - <text string=" "> + <element name="hlbr" defstate="0"> + <rect state="0"> <bounds x="0.0" y="0.0" width="1.0" height="1.0" /> - <color red="0.0" green="0.0" blue="0.0" /> - </text> - <disk state="1"> - <bounds x="0.12" y="0.12" width="0.76" height="0.76" /> - <color red="1.0" green="1.0" blue="1.0" /> - </disk> + <color red="0.8" green="0.0" blue="0.0" /> + </rect> + <rect state="1"> + <bounds x="0.0" y="0.0" width="1.0" height="1.0" /> + <color red="0.6" green="0.0" blue="0.0" /> + </rect> </element> <element name="hlb" defstate="0"> <rect state="0"> <bounds x="0.0" y="0.0" width="1.0" height="1.0" /> - <color red="1" green="1" blue="1" /> + <color red="0.1" green="0.1" blue="0.1" /> </rect> <rect state="1"> <bounds x="0.0" y="0.0" width="1.0" height="1.0" /> - <color red="0.8" green="0.8" blue="0.8" /> + <color red="0.3" green="0.3" blue="0.3" /> </rect> </element> <element name="background"><rect><color red="0.59" green="0.39" blue="0.20" /></rect></element> - <element name="black"><rect><color red="0.59" green="0.39" blue="0.20" /></rect></element> <element name="white"><rect><color red="0.80" green="0.73" blue="0.63" /></rect></element> <element name="text_1"> <rect><color red="0.59" green="0.39" blue="0.20" /></rect> <text string="1"> <color red="0.01" green="0.01" blue="0.01" /></text> </element> @@ -69,13 +68,311 @@ <element name="text_p6"> <rect><color red="0.59" green="0.39" blue="0.20" /></rect> <text string="[P]"> <color red="1" green="1" blue="1" /></text> </element> <element name="text_lcd"> <rect><color red="0.59" green="0.39" blue="0.20" /></rect> <text string="MULTI INFO LCD"><color red="1" green="1" blue="1" /></text> </element> - <!-- build screen --> + + <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> + + +<!-- sb board --> + + <element name="cblack"> <rect><color red="0.59" green="0.39" blue="0.20" /></rect></element> + <element name="cwhite"> <rect><color red="0.80" green="0.73" blue="0.63" /></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> + + <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> + + <!-- chessboard leds --> + <repeat count="8"> + <param name="x" start="8.2" increment="10" /> + <param name="la" start="0" increment="1" /> + <param name="lb" start="8" increment="1" /> + <param name="lc" start="16" increment="1" /> + <param name="ld" start="24" increment="1" /> + <param name="le" start="32" increment="1" /> + <param name="lf" start="40" increment="1" /> + <param name="lg" start="48" increment="1" /> + <param name="lh" start="56" increment="1" /> + + <bezel name="led~la~" element="led"><bounds x="~x~" y="78.3" width="1.5" height="1.5" /></bezel> + <bezel name="led~lb~" element="led"><bounds x="~x~" y="68.3" width="1.5" height="1.5" /></bezel> + <bezel name="led~lc~" element="led"><bounds x="~x~" y="58.3" width="1.5" height="1.5" /></bezel> + <bezel name="led~ld~" element="led"><bounds x="~x~" y="48.3" width="1.5" height="1.5" /></bezel> + <bezel name="led~le~" element="led"><bounds x="~x~" y="38.3" width="1.5" height="1.5" /></bezel> + <bezel name="led~lf~" element="led"><bounds x="~x~" y="28.3" width="1.5" height="1.5" /></bezel> + <bezel name="led~lg~" element="led"><bounds x="~x~" y="18.3" width="1.5" height="1.5" /></bezel> + <bezel name="led~lh~" element="led"><bounds x="~x~" y="8.3" width="1.5" height="1.5" /></bezel> + </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:board:RANK.~i~" inputmask="0x01"><bounds x="0" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x02"><bounds x="10" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x04"><bounds x="20" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x08"><bounds x="30" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x10"><bounds x="40" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x20"><bounds x="50" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x40"><bounds x="60" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board: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.80" green="0.73" blue="0.63" /></rect> + <text string="RESET"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_uib3"> + <rect><color red="0.80" green="0.73" blue="0.63" /></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.80" green="0.73" blue="0.63" /></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.80" green="0.73" blue="0.63" /></rect> + <text string=" <<"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_uiu2b"> + <rect><color red="0.80" green="0.73" blue="0.63" /></rect> + <text string=" < "><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_uiu2c"> + <rect><color red="0.80" green="0.73" blue="0.63" /></rect> + <text string=" >"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_uiu2d"> + <rect><color red="0.80" green="0.73" blue="0.63" /></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: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: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:board:SPAWN" inputmask="0x0001"><bounds x="1" y="23" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0002"><bounds x="1" y="27" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0004"><bounds x="1" y="31" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0008"><bounds x="5" y="23" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0010"><bounds x="5" y="27" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0020"><bounds x="5" y="31" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0040"><bounds x="1" y="36" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0080"><bounds x="1" y="40" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0100"><bounds x="1" y="44" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0200"><bounds x="5" y="36" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0400"><bounds x="5" y="40" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board: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: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: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: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: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: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> + <group name="panel"> - <bezel element="background"><bounds x="25" y="0" width="50.25" height="8.5" /></bezel> - <bezel element="background"><bounds x="1" y="0" width="24" height="1" /></bezel> - <bezel element="background"><bounds x="1" y="5.5" width="24" height="3" /></bezel> - <bezel element="background"><bounds x="0" y="0" width="1" height="8.5" /></bezel> - <screen index="0"><bounds x="1" y="1" width="24" height="4.5" /></screen> + <bounds left="0" right="75.25" top="0" bottom="8.5" /> + <screen index="0" blend="alpha"><bounds x="1" y="1" width="24" height="4.5" /></screen> <bezel element="text_lcd"> <bounds x="1" y="5.8" width="24" height="1.7" /> </bezel> <bezel name="led100" element="led"> <bounds x="29.1" y="0.1" width="1.3" height="1.3" /> </bezel> @@ -102,133 +399,50 @@ <bezel element="text_p3"> <bounds x="45.25" y="6.5" width="5" height="1.5" /> </bezel> <bezel element="text_p2"> <bounds x="52.25" y="6.5" width="5" height="1.5" /> </bezel> <bezel element="text_p1"> <bounds x="58.25" y="6.5" width="5" height="1.5" /> </bezel> - <bezel element="text_newgame"> <bounds x="65.25" y="6.70" width="9" height="1.5" /> </bezel> - <bezel element="text_black"> <bounds x="64" y="0" width="2" height="1.3" /> </bezel> - <bezel element="text_white"> <bounds x="70" y="0" width="2" height="1.3" /> </bezel> - - <bezel element="hlb" inputtag="KEY" inputmask="0x01"> <bounds x="29" y="3.75" width="1.5" height="2.5" /> <color red="0" green="0" blue="0" /> </bezel> - <bezel element="hlb" inputtag="KEY" inputmask="0x02"> <bounds x="35" y="3.75" width="1.5" height="2.5" /> <color red="0" green="0" blue="0" /> </bezel> - <bezel element="hlb" inputtag="KEY" inputmask="0x04"> <bounds x="41" y="3.75" width="1.5" height="2.5" /> <color red="0" green="0" blue="0" /> </bezel> - <bezel element="hlb" inputtag="KEY" inputmask="0x08"> <bounds x="47" y="3.75" width="1.5" height="2.5" /> <color red="0" green="0" blue="0" /> </bezel> - <bezel element="hlb" inputtag="KEY" inputmask="0x10"> <bounds x="54" y="3.75" width="1.5" height="2.5" /> <color red="0" green="0" blue="0" /> </bezel> - <bezel element="hlb" inputtag="KEY" inputmask="0x20"> <bounds x="60" y="3.75" width="1.5" height="2.5" /> <color red="0" green="0" blue="0" /> </bezel> - <bezel element="hlb" inputtag="KEY" inputmask="0x40"> <bounds x="66" y="3.75" width="1.5" height="2.5" /> <color red="0.8" green="0" blue="0" /> </bezel> - <bezel element="hlb" inputtag="KEY" inputmask="0x80"> <bounds x="72" y="3.75" width="1.5" height="2.5" /> <color red="0.8" green="0" blue="0" /> </bezel> + <bezel element="text_newgame"> <bounds x="65.25" y="6.70" width="9" height="1.5" /> </bezel> + <bezel element="text_black"> <bounds x="64" y="0" width="2" height="1.3" /> </bezel> + <bezel element="text_white"> <bounds x="70" y="0" width="2" height="1.3" /> </bezel> + + <bezel element="hlb" inputtag="KEY" inputmask="0x01"> <bounds x="29" y="3.75" width="1.5" height="2.5" /> </bezel> + <bezel element="hlb" inputtag="KEY" inputmask="0x02"> <bounds x="35" y="3.75" width="1.5" height="2.5" /> </bezel> + <bezel element="hlb" inputtag="KEY" inputmask="0x04"> <bounds x="41" y="3.75" width="1.5" height="2.5" /> </bezel> + <bezel element="hlb" inputtag="KEY" inputmask="0x08"> <bounds x="47" y="3.75" width="1.5" height="2.5" /> </bezel> + <bezel element="hlb" inputtag="KEY" inputmask="0x10"> <bounds x="54" y="3.75" width="1.5" height="2.5" /> </bezel> + <bezel element="hlb" inputtag="KEY" inputmask="0x20"> <bounds x="60" y="3.75" width="1.5" height="2.5" /> </bezel> + <bezel element="hlbr" inputtag="KEY" inputmask="0x40"> <bounds x="66" y="3.75" width="1.5" height="2.5" /> </bezel> + <bezel element="hlbr" inputtag="KEY" inputmask="0x80"> <bounds x="72" y="3.75" width="1.5" height="2.5" /> </bezel> </group> - <view name="Chessboard + Display"> - <bezel element="background"><bounds x="-1" y="0" width="87" height="88" /></bezel> +<!-- build screen --> + <view name="Internal Layout"> + <bounds left="0" right="100" top="0" bottom="98" /> + <element ref="background"><bounds x="13" y="0" width="87" height="98" /></element> - <!-- chessboard coords --> + <!-- chessboard coords --> + <bezel element="white"><bounds x="16.5" y="2.5" width="81" height="81" /></bezel> + <bezel element="text_8"><bounds x="13.7" y="7" width="2" height="2" /></bezel> + <bezel element="text_7"><bounds x="13.7" y="17" width="2" height="2" /></bezel> + <bezel element="text_6"><bounds x="13.7" y="27" width="2" height="2" /></bezel> + <bezel element="text_5"><bounds x="13.7" y="37" width="2" height="2" /></bezel> + <bezel element="text_4"><bounds x="13.7" y="47" width="2" height="2" /></bezel> + <bezel element="text_3"><bounds x="13.7" y="57" width="2" height="2" /></bezel> + <bezel element="text_2"><bounds x="13.7" y="67" width="2" height="2" /></bezel> + <bezel element="text_1"><bounds x="13.7" y="77" width="2" height="2" /></bezel> - <repeat count="8"> - <param name="num" start="8" increment="-1" /> - <param name="y" start="7" increment="10" /> - <bezel element="text_~num~"> - <bounds x="-0.8" y="~y~" width="2" height="2" /> - </bezel> - </repeat> + <bezel element="text_a"><bounds x="21" y="84.5" width="2" height="2" /></bezel> + <bezel element="text_b"><bounds x="31" y="84.5" width="2" height="2" /></bezel> + <bezel element="text_c"><bounds x="41" y="84.5" width="2" height="2" /></bezel> + <bezel element="text_d"><bounds x="51" y="84.5" width="2" height="2" /></bezel> + <bezel element="text_e"><bounds x="61" y="84.5" width="2" height="2" /></bezel> + <bezel element="text_f"><bounds x="71" y="84.5" width="2" height="2" /></bezel> + <bezel element="text_g"><bounds x="81" y="84.5" width="2" height="2" /></bezel> + <bezel element="text_h"><bounds x="91" y="84.5" width="2" height="2" /></bezel> - <bezel element="text_a"><bounds x="7" y="85" width="2" height="2" /></bezel> - <bezel element="text_b"><bounds x="17" y="85" width="2" height="2" /></bezel> - <bezel element="text_c"><bounds x="27" y="85" width="2" height="2" /></bezel> - <bezel element="text_d"><bounds x="37" y="85" width="2" height="2" /></bezel> - <bezel element="text_e"><bounds x="47" y="85" width="2" height="2" /></bezel> - <bezel element="text_f"><bounds x="57" y="85" width="2" height="2" /></bezel> - <bezel element="text_g"><bounds x="67" y="85" width="2" height="2" /></bezel> - <bezel element="text_h"><bounds x="77" y="85" width="2" height="2" /></bezel> - - <!-- chessboard bezel --> - - <bezel element="white"><bounds x="2" y="2" width="82" height="82" /></bezel> - <bezel element="white"><bounds x="3" y="3" width="80" height="80" /></bezel> - - <bezel element="black"><bounds x="13" y="2.5" width="10" height="10.5" /></bezel> - <bezel element="black"><bounds x="33" y="2.5" width="10" height="10.5" /></bezel> - <bezel element="black"><bounds x="53" y="2.5" width="10" height="10.5" /></bezel> - <bezel element="black"><bounds x="73" y="2.5" width="10.5" height="10.5" /></bezel> - - <bezel element="black"><bounds x="2.5" y="13" width="10.5" height="10" /></bezel> - <bezel element="black"><bounds x="23" y="13" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="43" y="13" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="63" y="13" width="10" height="10" /></bezel> - - <bezel element="black"><bounds x="13" y="23" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="33" y="23" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="53" y="23" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="73" y="23" width="10.5" height="10" /></bezel> - - <bezel element="black"><bounds x="2.5" y="33" width="10.5" height="10" /></bezel> - <bezel element="black"><bounds x="23" y="33" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="43" y="33" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="63" y="33" width="10" height="10" /></bezel> - - <bezel element="black"><bounds x="13" y="43" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="33" y="43" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="53" y="43" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="73" y="43" width="10.5" height="10" /></bezel> - - <bezel element="black"><bounds x="2.5" y="53" width="10.5" height="10" /></bezel> - <bezel element="black"><bounds x="23" y="53" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="43" y="53" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="63" y="53" width="10" height="10" /></bezel> - - <bezel element="black"><bounds x="13" y="63" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="33" y="63" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="53" y="63" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="73" y="63" width="10.5" height="10" /></bezel> - - <bezel element="black"><bounds x="2.5" y="73" width="10.5" height="10.5" /></bezel> - <bezel element="black"><bounds x="23" y="73" width="10" height="10.5" /></bezel> - <bezel element="black"><bounds x="43" y="73" width="10" height="10.5" /></bezel> - <bezel element="black"><bounds x="63" y="73" width="10" height="10.5" /></bezel> - - <!-- chessboard LEDs --> - <repeat count="8"> - <param name="ledy" start="81.3" increment="-10" /> - <param name="rowno" start="0" increment="8" /> - <repeat count="8"> - <param name="ledx" start="11.2" increment="10" /> - <param name="ledno" start="~rowno~" increment="1" /> - <bezel name="led~ledno~" element="led"> - <bounds x="~ledx~" y="~ledy~" width="1.5" height="1.5" /> - </bezel> - </repeat> - </repeat> - - <!-- chessboard sensors --> - <repeat count="4"> - <param name="pairy" start="3" increment="20" /> - <param name="pairno" start="7" increment="-2" /> - <repeat count="2"> - <param name="rowy" start="~pairy~" increment="10" /> - <param name="rowno" start="~pairno~" increment="-1" /> - <param name="lalpha" start="0.4" increment="-0.2" /> - <param name="ralpha" start="0.2" increment="0.2" /> - <repeat count="4"> - <param name="lx" start="3" increment="20" /> - <param name="rx" start="13" increment="20" /> - <param name="lmask" start="0x01" lshift="2" /> - <param name="rmask" start="0x02" lshift="2" /> - <bezel element="hl" inputtag="board:IN.~rowno~" inputmask="~lmask~"> - <bounds x="~lx~" y="~rowy~" width="10" height="10" /> - <color alpha="~lalpha~" /> - </bezel> - <bezel element="hl" inputtag="board:IN.~rowno~" inputmask="~rmask~"> - <bounds x="~rx~" y="~rowy~" width="10" height="10" /> - <color alpha="~ralpha~" /> - </bezel> - </repeat> - </repeat> - </repeat> - <!-- LCD panel --> - <bezel element="background"><bounds x="-1" y="88" width="6" height="8.5" /></bezel> - <bezel element="background"><bounds x="80" y="88" width="6" height="8.5" /></bezel> - <group ref="panel"><bounds x="5" y="88" width="75.25" height="8.5" /></group> - </view> + <!-- LCD panel --> + <group ref="panel"><bounds x="18" y="88" width="75.25" height="8.5" /></group> - <view name="Display"> - <group ref="panel"><bounds x="0" y="0" width="75.25" height="8.5" /></group> + <group ref="sb_board"><bounds x="17" y="3" width="80" height="80" /></group> + <group ref="sb_ui"><bounds x="1.5" y="3" width="10" height="80" /></group> </view> </mamelayout> diff --git a/src/mame/layout/mephisto_alm16.lay b/src/mame/layout/mephisto_alm16.lay new file mode 100644 index 00000000000..e8fc020edf5 --- /dev/null +++ b/src/mame/layout/mephisto_alm16.lay @@ -0,0 +1,434 @@ +<?xml version="1.0"?> +<mamelayout version="2"> +<!-- define elements --> + <element name="led" defstate="0"> + <disk state="0"> + <color red="0.20" green="0.0" blue="0.0" /> + </disk> + <disk state="1"> + <color red="0.95" green="0.0" blue="0.0" /> + </disk> + </element> + + <element name="text_1"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="1"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_2"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="2"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_3"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="3"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_4"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="4"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_5"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="5"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_6"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="6"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_7"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="7"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_8"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="8"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_a"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="A"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_b"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="B"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_c"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="C"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_d"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="D"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_e"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="E"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_f"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="F"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_g"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="G"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_h"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="H"><color red="0.87" green="0.87" blue="0.84" /></text> </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> + + +<!-- sb board --> + + <element name="cblack"><rect><color red="0.56" green="0.33" blue="0.12" /></rect></element> + <element name="cwhite"><rect><color red="0.84" green="0.75" blue="0.50" /></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> + + <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> + + <!-- chessboard leds --> + <repeat count="8"> + <param name="x" start="8.2" increment="10" /> + <param name="la" start="0" increment="1" /> + <param name="lb" start="8" increment="1" /> + <param name="lc" start="16" increment="1" /> + <param name="ld" start="24" increment="1" /> + <param name="le" start="32" increment="1" /> + <param name="lf" start="40" increment="1" /> + <param name="lg" start="48" increment="1" /> + <param name="lh" start="56" increment="1" /> + + <bezel name="led~la~" element="led"><bounds x="~x~" y="78.3" width="1.5" height="1.5" /></bezel> + <bezel name="led~lb~" element="led"><bounds x="~x~" y="68.3" width="1.5" height="1.5" /></bezel> + <bezel name="led~lc~" element="led"><bounds x="~x~" y="58.3" width="1.5" height="1.5" /></bezel> + <bezel name="led~ld~" element="led"><bounds x="~x~" y="48.3" width="1.5" height="1.5" /></bezel> + <bezel name="led~le~" element="led"><bounds x="~x~" y="38.3" width="1.5" height="1.5" /></bezel> + <bezel name="led~lf~" element="led"><bounds x="~x~" y="28.3" width="1.5" height="1.5" /></bezel> + <bezel name="led~lg~" element="led"><bounds x="~x~" y="18.3" width="1.5" height="1.5" /></bezel> + <bezel name="led~lh~" element="led"><bounds x="~x~" y="8.3" width="1.5" height="1.5" /></bezel> + </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:board:RANK.~i~" inputmask="0x01"><bounds x="0" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x02"><bounds x="10" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x04"><bounds x="20" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x08"><bounds x="30" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x10"><bounds x="40" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x20"><bounds x="50" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x40"><bounds x="60" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board: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.84" green="0.75" blue="0.50" /></rect> + <text string="RESET"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_uib3"> + <rect><color red="0.84" green="0.75" blue="0.50" /></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.84" green="0.75" blue="0.50" /></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.84" green="0.75" blue="0.50" /></rect> + <text string=" <<"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_uiu2b"> + <rect><color red="0.84" green="0.75" blue="0.50" /></rect> + <text string=" < "><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_uiu2c"> + <rect><color red="0.84" green="0.75" blue="0.50" /></rect> + <text string=" >"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_uiu2d"> + <rect><color red="0.84" green="0.75" blue="0.50" /></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: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: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:board:SPAWN" inputmask="0x0001"><bounds x="1" y="23" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0002"><bounds x="1" y="27" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0004"><bounds x="1" y="31" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0008"><bounds x="5" y="23" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0010"><bounds x="5" y="27" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0020"><bounds x="5" y="31" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0040"><bounds x="1" y="36" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0080"><bounds x="1" y="40" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0100"><bounds x="1" y="44" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0200"><bounds x="5" y="36" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0400"><bounds x="5" y="40" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board: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: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: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: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: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: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 --> + + <element name="text_lcd"><text string="GRAPHIC DISPLAY MODUL"><color red="0.64" green="0.59" blue="0.30" /></text></element> + <element name="static_lcd"><rect><color red="0.5412" green="0.57255" blue="0.5804" /></rect></element> + + <group name="panel"> + <element ref="static_lcd"><bounds x="0" y="0" width="24.5" height="6.5" /></element> + <screen index="0" blend="alpha"><bounds x="0.25" y="1" width="24" height="4.5" /></screen> + </group> + + +<!-- Buttons --> + + <element name="gray"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect></element> + <element name="green"><rect><color red="0" green="0.5" blue="0.25" /></rect></element> + <element name="red"> <rect><color red="0.75" green="0.15" blue="0.15" /></rect></element> + + <element name="text_ent"><rect><color red="0" green="0.5" blue="0.25" /></rect> <text string="ENT"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_cl"> <rect><color red="0.75" green="0.15" blue="0.15" /></rect><text string="CL"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_left"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect><text string="←"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_up"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect><text string="↑"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_right"><rect><color red="0.25" green="0.25" blue="0.25" /></rect><text string="→"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_down"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect><text string="↓"> <color red="1" green="1" blue="1" /></text> </element> + + <element name="keys" defstate="0"> + <rect state="1"><color red="0.0" green="0.0" blue="0.0" /></rect> + </element> + + <group name="buttons"> + <bounds x="76" y="89.5" width="17" height="17" /> + + <bezel element="green"><bounds x="76" y="89.5" width="5" height="5" /></bezel> + <bezel element="gray"> <bounds x="82" y="89.5" width="5" height="5" /></bezel> + <bezel element="red"> <bounds x="88" y="89.5" width="5" height="5" /></bezel> + <bezel element="gray"> <bounds x="76" y="95.5" width="5" height="5" /></bezel> + <bezel element="gray"> <bounds x="88" y="95.5" width="5" height="5" /></bezel> + <bezel element="gray"> <bounds x="82" y="101.5" width="5" height="5" /></bezel> + + <bezel element="text_ent"> <bounds x="76" y="90.7" width="5" height="2.6" /></bezel> + <bezel element="text_up"> <bounds x="82.5" y="90" width="4" height="4" /></bezel> + <bezel element="text_cl"> <bounds x="88" y="90.7" width="5" height="2.6" /></bezel> + <bezel element="text_left"> <bounds x="76.5" y="96" width="4" height="4" /></bezel> + <bezel element="text_right"><bounds x="88.5" y="96" width="4" height="4" /></bezel> + <bezel element="text_down"> <bounds x="82.5" y="102" width="4" height="4" /></bezel> + + <bezel element="keys" inputtag="KEY1" inputmask="0x0200"> <!-- ENT --> + <bounds x="76" y="89.5" width="5" height="5" /><color alpha="0.25" /> + </bezel> + <bezel element="keys" inputtag="KEY2" inputmask="0x0200"> <!-- Up --> + <bounds x="82" y="89.5" width="5" height="5" /><color alpha="0.25" /> + </bezel> + <bezel element="keys" inputtag="KEY3" inputmask="0x0200"> <!-- CL --> + <bounds x="88" y="89.5" width="5" height="5" /><color alpha="0.25" /> + </bezel> + <bezel element="keys" inputtag="KEY1" inputmask="0x0100"> <!-- Left --> + <bounds x="76" y="95.5" width="5" height="5" /><color alpha="0.25" /> + </bezel> + <bezel element="keys" inputtag="KEY2" inputmask="0x0100"> <!-- Right --> + <bounds x="88" y="95.5" width="5" height="5" /><color alpha="0.25" /> + </bezel> + <bezel element="keys" inputtag="KEY3" inputmask="0x0100"> <!-- Down --> + <bounds x="82" y="101.5" width="5" height="5" /><color alpha="0.25" /> + </bezel> + </group> + + +<!-- build screen --> + + <view name="Internal Layout"> + <bounds left="0" right="101" top="0" bottom="103" /> + <bezel element="cblack"><bounds x="14" y="0" width="87" height="87" /></bezel> + <bezel element="cwhite"><bounds x="17" y="2" width="81" height="81" /></bezel> + + <bezel element="text_lcd"><bounds x="47.5" y="89" width="24.5" height="2" /></bezel> + <group ref="panel"><bounds x="47.5" y="91.8" width="24.5" height="6.5" /></group> + <group ref="buttons"><bounds x="77.5" y="88.5" width="13" height="13" /></group> + + <group ref="sb_board"><bounds x="17.5" y="2.5" width="80" height="80" /></group> + <group ref="sb_ui"><bounds x="1.5" y="3" width="10" height="80" /></group> + + <!-- chessboard coords --> + + <bezel element="text_8"><bounds x="14.7" y="7" width="2" height="2" /></bezel> + <bezel element="text_7"><bounds x="14.7" y="17" width="2" height="2" /></bezel> + <bezel element="text_6"><bounds x="14.7" y="27" width="2" height="2" /></bezel> + <bezel element="text_5"><bounds x="14.7" y="37" width="2" height="2" /></bezel> + <bezel element="text_4"><bounds x="14.7" y="47" width="2" height="2" /></bezel> + <bezel element="text_3"><bounds x="14.7" y="57" width="2" height="2" /></bezel> + <bezel element="text_2"><bounds x="14.7" y="67" width="2" height="2" /></bezel> + <bezel element="text_1"><bounds x="14.7" y="77" width="2" height="2" /></bezel> + + <bezel element="text_a"><bounds x="21.5" y="84" width="2" height="2" /></bezel> + <bezel element="text_b"><bounds x="31.5" y="84" width="2" height="2" /></bezel> + <bezel element="text_c"><bounds x="41.5" y="84" width="2" height="2" /></bezel> + <bezel element="text_d"><bounds x="51.5" y="84" width="2" height="2" /></bezel> + <bezel element="text_e"><bounds x="61.5" y="84" width="2" height="2" /></bezel> + <bezel element="text_f"><bounds x="71.5" y="84" width="2" height="2" /></bezel> + <bezel element="text_g"><bounds x="81.5" y="84" width="2" height="2" /></bezel> + <bezel element="text_h"><bounds x="91.5" y="84" width="2" height="2" /></bezel> + </view> + +</mamelayout> diff --git a/src/mame/layout/mephisto_alm32.lay b/src/mame/layout/mephisto_alm32.lay new file mode 100644 index 00000000000..4d83a64bcb1 --- /dev/null +++ b/src/mame/layout/mephisto_alm32.lay @@ -0,0 +1,434 @@ +<?xml version="1.0"?> +<mamelayout version="2"> +<!-- define elements --> + <element name="led" defstate="0"> + <disk state="0"> + <color red="0.20" green="0.0" blue="0.0" /> + </disk> + <disk state="1"> + <color red="0.95" green="0.0" blue="0.0" /> + </disk> + </element> + + <element name="text_1"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="1"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_2"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="2"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_3"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="3"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_4"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="4"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_5"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="5"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_6"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="6"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_7"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="7"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_8"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="8"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_a"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="A"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_b"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="B"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_c"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="C"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_d"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="D"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_e"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="E"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_f"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="F"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_g"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="G"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_h"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="H"><color red="0.87" green="0.87" blue="0.84" /></text> </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> + + +<!-- sb board --> + + <element name="cblack"><rect><color red="0.56" green="0.33" blue="0.12" /></rect></element> + <element name="cwhite"><rect><color red="0.84" green="0.75" blue="0.50" /></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> + + <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> + + <!-- chessboard leds --> + <repeat count="8"> + <param name="x" start="8.2" increment="10" /> + <param name="la" start="0" increment="1" /> + <param name="lb" start="8" increment="1" /> + <param name="lc" start="16" increment="1" /> + <param name="ld" start="24" increment="1" /> + <param name="le" start="32" increment="1" /> + <param name="lf" start="40" increment="1" /> + <param name="lg" start="48" increment="1" /> + <param name="lh" start="56" increment="1" /> + + <bezel name="led~la~" element="led"><bounds x="~x~" y="78.3" width="1.5" height="1.5" /></bezel> + <bezel name="led~lb~" element="led"><bounds x="~x~" y="68.3" width="1.5" height="1.5" /></bezel> + <bezel name="led~lc~" element="led"><bounds x="~x~" y="58.3" width="1.5" height="1.5" /></bezel> + <bezel name="led~ld~" element="led"><bounds x="~x~" y="48.3" width="1.5" height="1.5" /></bezel> + <bezel name="led~le~" element="led"><bounds x="~x~" y="38.3" width="1.5" height="1.5" /></bezel> + <bezel name="led~lf~" element="led"><bounds x="~x~" y="28.3" width="1.5" height="1.5" /></bezel> + <bezel name="led~lg~" element="led"><bounds x="~x~" y="18.3" width="1.5" height="1.5" /></bezel> + <bezel name="led~lh~" element="led"><bounds x="~x~" y="8.3" width="1.5" height="1.5" /></bezel> + </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:board:RANK.~i~" inputmask="0x01"><bounds x="0" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x02"><bounds x="10" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x04"><bounds x="20" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x08"><bounds x="30" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x10"><bounds x="40" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x20"><bounds x="50" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x40"><bounds x="60" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board: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.84" green="0.75" blue="0.50" /></rect> + <text string="RESET"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_uib3"> + <rect><color red="0.84" green="0.75" blue="0.50" /></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.84" green="0.75" blue="0.50" /></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.84" green="0.75" blue="0.50" /></rect> + <text string=" <<"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_uiu2b"> + <rect><color red="0.84" green="0.75" blue="0.50" /></rect> + <text string=" < "><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_uiu2c"> + <rect><color red="0.84" green="0.75" blue="0.50" /></rect> + <text string=" >"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_uiu2d"> + <rect><color red="0.84" green="0.75" blue="0.50" /></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: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: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:board:SPAWN" inputmask="0x0001"><bounds x="1" y="23" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0002"><bounds x="1" y="27" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0004"><bounds x="1" y="31" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0008"><bounds x="5" y="23" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0010"><bounds x="5" y="27" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0020"><bounds x="5" y="31" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0040"><bounds x="1" y="36" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0080"><bounds x="1" y="40" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0100"><bounds x="1" y="44" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0200"><bounds x="5" y="36" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0400"><bounds x="5" y="40" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board: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: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: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: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: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: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 --> + + <element name="text_lcd"><text string="GRAPHIC DISPLAY MODUL"><color red="0.64" green="0.59" blue="0.30" /></text></element> + <element name="static_lcd"><rect><color red="0.5412" green="0.57255" blue="0.5804" /></rect></element> + + <group name="panel"> + <element ref="static_lcd"><bounds x="0" y="0" width="24.5" height="6.5" /></element> + <screen index="0" blend="alpha"><bounds x="0.25" y="1" width="24" height="4.5" /></screen> + </group> + + +<!-- Buttons --> + + <element name="gray"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect></element> + <element name="green"><rect><color red="0" green="0.5" blue="0.25" /></rect></element> + <element name="red"> <rect><color red="0.75" green="0.15" blue="0.15" /></rect></element> + + <element name="text_ent"><rect><color red="0" green="0.5" blue="0.25" /></rect> <text string="ENT"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_cl"> <rect><color red="0.75" green="0.15" blue="0.15" /></rect><text string="CL"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_left"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect><text string="←"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_up"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect><text string="↑"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_right"><rect><color red="0.25" green="0.25" blue="0.25" /></rect><text string="→"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_down"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect><text string="↓"> <color red="1" green="1" blue="1" /></text> </element> + + <element name="keys" defstate="0"> + <rect state="1"><color red="0.0" green="0.0" blue="0.0" /></rect> + </element> + + <group name="buttons"> + <bounds x="76" y="89.5" width="17" height="17" /> + + <bezel element="green"><bounds x="76" y="89.5" width="5" height="5" /></bezel> + <bezel element="gray"> <bounds x="82" y="89.5" width="5" height="5" /></bezel> + <bezel element="red"> <bounds x="88" y="89.5" width="5" height="5" /></bezel> + <bezel element="gray"> <bounds x="76" y="95.5" width="5" height="5" /></bezel> + <bezel element="gray"> <bounds x="88" y="95.5" width="5" height="5" /></bezel> + <bezel element="gray"> <bounds x="82" y="101.5" width="5" height="5" /></bezel> + + <bezel element="text_ent"> <bounds x="76" y="90.7" width="5" height="2.6" /></bezel> + <bezel element="text_up"> <bounds x="82.5" y="90" width="4" height="4" /></bezel> + <bezel element="text_cl"> <bounds x="88" y="90.7" width="5" height="2.6" /></bezel> + <bezel element="text_left"> <bounds x="76.5" y="96" width="4" height="4" /></bezel> + <bezel element="text_right"><bounds x="88.5" y="96" width="4" height="4" /></bezel> + <bezel element="text_down"> <bounds x="82.5" y="102" width="4" height="4" /></bezel> + + <bezel element="keys" inputtag="KEY3" inputmask="0x8000"> <!-- ENT --> + <bounds x="76" y="89.5" width="5" height="5" /><color alpha="0.25" /> + </bezel> + <bezel element="keys" inputtag="KEY2" inputmask="0x8000"> <!-- Up --> + <bounds x="82" y="89.5" width="5" height="5" /><color alpha="0.25" /> + </bezel> + <bezel element="keys" inputtag="KEY1" inputmask="0x8000"> <!-- CL --> + <bounds x="88" y="89.5" width="5" height="5" /><color alpha="0.25" /> + </bezel> + <bezel element="keys" inputtag="KEY3" inputmask="0x4000"> <!-- Left --> + <bounds x="76" y="95.5" width="5" height="5" /><color alpha="0.25" /> + </bezel> + <bezel element="keys" inputtag="KEY1" inputmask="0x4000"> <!-- Right --> + <bounds x="88" y="95.5" width="5" height="5" /><color alpha="0.25" /> + </bezel> + <bezel element="keys" inputtag="KEY2" inputmask="0x4000"> <!-- Down --> + <bounds x="82" y="101.5" width="5" height="5" /><color alpha="0.25" /> + </bezel> + </group> + + +<!-- build screen --> + + <view name="Internal Layout"> + <bounds left="0" right="101" top="0" bottom="103" /> + <bezel element="cblack"><bounds x="14" y="0" width="87" height="87" /></bezel> + <bezel element="cwhite"><bounds x="17" y="2" width="81" height="81" /></bezel> + + <bezel element="text_lcd"><bounds x="47.5" y="89" width="24.5" height="2" /></bezel> + <group ref="panel"><bounds x="47.5" y="91.8" width="24.5" height="6.5" /></group> + <group ref="buttons"><bounds x="77.5" y="88.5" width="13" height="13" /></group> + + <group ref="sb_board"><bounds x="17.5" y="2.5" width="80" height="80" /></group> + <group ref="sb_ui"><bounds x="1.5" y="3" width="10" height="80" /></group> + + <!-- chessboard coords --> + + <bezel element="text_8"><bounds x="14.7" y="7" width="2" height="2" /></bezel> + <bezel element="text_7"><bounds x="14.7" y="17" width="2" height="2" /></bezel> + <bezel element="text_6"><bounds x="14.7" y="27" width="2" height="2" /></bezel> + <bezel element="text_5"><bounds x="14.7" y="37" width="2" height="2" /></bezel> + <bezel element="text_4"><bounds x="14.7" y="47" width="2" height="2" /></bezel> + <bezel element="text_3"><bounds x="14.7" y="57" width="2" height="2" /></bezel> + <bezel element="text_2"><bounds x="14.7" y="67" width="2" height="2" /></bezel> + <bezel element="text_1"><bounds x="14.7" y="77" width="2" height="2" /></bezel> + + <bezel element="text_a"><bounds x="21.5" y="84" width="2" height="2" /></bezel> + <bezel element="text_b"><bounds x="31.5" y="84" width="2" height="2" /></bezel> + <bezel element="text_c"><bounds x="41.5" y="84" width="2" height="2" /></bezel> + <bezel element="text_d"><bounds x="51.5" y="84" width="2" height="2" /></bezel> + <bezel element="text_e"><bounds x="61.5" y="84" width="2" height="2" /></bezel> + <bezel element="text_f"><bounds x="71.5" y="84" width="2" height="2" /></bezel> + <bezel element="text_g"><bounds x="81.5" y="84" width="2" height="2" /></bezel> + <bezel element="text_h"><bounds x="91.5" y="84" width="2" height="2" /></bezel> + </view> + +</mamelayout> diff --git a/src/mame/layout/mephisto_amsterdam.lay b/src/mame/layout/mephisto_amsterdam.lay new file mode 100644 index 00000000000..67e68a93fa1 --- /dev/null +++ b/src/mame/layout/mephisto_amsterdam.lay @@ -0,0 +1,559 @@ +<?xml version="1.0"?> +<mamelayout version="2"> + + <!-- 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" green="1" blue="1" /> + </led7seg> + </element> + + <element name="led" defstate="0"> + <disk state="0"> + <color red="0.20" green="0.0" blue="0.0" /> + </disk> + <disk state="1"> + <color red="0.95" green="0.0" blue="0.0" /> + </disk> + </element> + <element name="hlb" defstate="0"> + <rect state="0"> + <bounds x="0.0" y="0.0" width="1.0" height="1.0" /> + <color red="0.4" green="0.4" blue="0.4" /> + </rect> + <rect state="1"> + <bounds x="0.0" y="0.0" width="1.0" height="1.0" /> + <color red="0.4" green="0.4" blue="0.4" /> + </rect> + </element> + + <element name="text_1"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="1"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_2"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="2"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_3"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="3"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_4"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="4"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_5"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="5"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_6"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="6"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_7"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="7"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_8"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="8"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_a"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="A"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_b"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="B"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_c"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="C"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_d"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="D"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_e"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="E"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_f"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="F"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_g"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="G"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_h"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="H"><color red="0.87" green="0.87" blue="0.84" /></text> </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> + + +<!-- sb board --> + + <element name="cblack"><rect><color red="0.56" green="0.33" blue="0.12" /></rect></element> + <element name="cwhite"><rect><color red="0.84" green="0.75" blue="0.50" /></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> + + <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> + + <!-- chessboard leds --> + <repeat count="8"> + <param name="x" start="8.2" increment="10" /> + <param name="la" start="0" increment="1" /> + <param name="lb" start="8" increment="1" /> + <param name="lc" start="16" increment="1" /> + <param name="ld" start="24" increment="1" /> + <param name="le" start="32" increment="1" /> + <param name="lf" start="40" increment="1" /> + <param name="lg" start="48" increment="1" /> + <param name="lh" start="56" increment="1" /> + + <bezel name="led~la~" element="led"><bounds x="~x~" y="78.3" width="1.5" height="1.5" /></bezel> + <bezel name="led~lb~" element="led"><bounds x="~x~" y="68.3" width="1.5" height="1.5" /></bezel> + <bezel name="led~lc~" element="led"><bounds x="~x~" y="58.3" width="1.5" height="1.5" /></bezel> + <bezel name="led~ld~" element="led"><bounds x="~x~" y="48.3" width="1.5" height="1.5" /></bezel> + <bezel name="led~le~" element="led"><bounds x="~x~" y="38.3" width="1.5" height="1.5" /></bezel> + <bezel name="led~lf~" element="led"><bounds x="~x~" y="28.3" width="1.5" height="1.5" /></bezel> + <bezel name="led~lg~" element="led"><bounds x="~x~" y="18.3" width="1.5" height="1.5" /></bezel> + <bezel name="led~lh~" element="led"><bounds x="~x~" y="8.3" width="1.5" height="1.5" /></bezel> + </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:board:RANK.~i~" inputmask="0x01"><bounds x="0" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x02"><bounds x="10" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x04"><bounds x="20" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x08"><bounds x="30" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x10"><bounds x="40" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x20"><bounds x="50" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x40"><bounds x="60" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board: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.84" green="0.75" blue="0.50" /></rect> + <text string="RESET"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_uib3"> + <rect><color red="0.84" green="0.75" blue="0.50" /></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.84" green="0.75" blue="0.50" /></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.84" green="0.75" blue="0.50" /></rect> + <text string=" <<"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_uiu2b"> + <rect><color red="0.84" green="0.75" blue="0.50" /></rect> + <text string=" < "><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_uiu2c"> + <rect><color red="0.84" green="0.75" blue="0.50" /></rect> + <text string=" >"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_uiu2d"> + <rect><color red="0.84" green="0.75" blue="0.50" /></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: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: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:board:SPAWN" inputmask="0x0001"><bounds x="1" y="23" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0002"><bounds x="1" y="27" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0004"><bounds x="1" y="31" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0008"><bounds x="5" y="23" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0010"><bounds x="5" y="27" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0020"><bounds x="5" y="31" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0040"><bounds x="1" y="36" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0080"><bounds x="1" y="40" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0100"><bounds x="1" y="44" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0200"><bounds x="5" y="36" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0400"><bounds x="5" y="40" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board: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: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: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: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: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: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> + + +<!-- 7seg panel --> + + <group name="panel"> + <bezel name="digit0" element="digit"><bounds x="0" y="0" width="10" height="15" /></bezel> + <bezel name="digit1" element="digit"><bounds x="10" y="0" width="10" height="15" /></bezel> + <bezel name="digit2" element="digit"><bounds x="20" y="0" width="10" height="15" /></bezel> + <bezel name="digit3" element="digit"><bounds x="30" y="0" width="10" height="15" /></bezel> + </group> + + +<!-- buttons --> + + <element name="gray"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect></element> + <element name="black"><rect><color red="0" green="0" blue="0" /></rect></element> + <element name="white"><rect><color red="1" green="1" blue="1" /></rect></element> + + <element name="keys" defstate="0"> + <rect state="1"><color red="0.0" green="0.0" blue="0.0" /></rect> + </element> + + <element name="text_info"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect> <text string="INFO"><color red="1" green="1" blue="1" /></text> </element> + <element name="text_pos"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect> <text string="POS"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_lev"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect> <text string="LEV"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_mem"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect> <text string="MEM"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_cl"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect> <text string="CL"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_ent"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect> <text string="ENT"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_res"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect> <text string="RES"> <color red="1" green="1" blue="1" /></text> </element> + + <element name="text_a1"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect> <text string="A"><color red="1" green="1" blue="1" /></text> </element> + <element name="text_b2"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect> <text string="B"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_c3"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect> <text string="C"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_d4"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect> <text string="D"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_e5"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect> <text string="E"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_f6"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect> <text string="F"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_g7"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect> <text string="G"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_h8"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect> <text string="H"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_l9"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect> <text string="←"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_r0"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect> <text string="→"> <color red="1" green="1" blue="1" /></text> </element> + + <element name="text_1a"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect> <text string="1"><color red="1" green="1" blue="1" /></text> </element> + <element name="text_2b"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect> <text string="2"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_3c"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect> <text string="3"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_4d"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect> <text string="4"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_5e"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect> <text string="5"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_6f"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect> <text string="6"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_7g"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect> <text string="7"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_8h"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect> <text string="8"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_9l"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect> <text string="9"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_0r"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect> <text string="0"> <color red="1" green="1" blue="1" /></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> + + <group name="buttons"> + <bounds x="69" y="93" width="29" height="14" /> + + <bezel element="gray"><bounds x="69" y="93" width="4" height="4" /></bezel> + <bezel element="gray"><bounds x="74" y="93" width="4" height="4" /></bezel> + <bezel element="gray"><bounds x="79" y="93" width="4" height="4" /></bezel> + <bezel element="gray"><bounds x="84" y="93" width="4" height="4" /></bezel> + <bezel element="gray"><bounds x="89" y="93" width="4" height="4" /></bezel> + <bezel element="gray"><bounds x="94" y="93" width="4" height="4" /></bezel> + + <bezel element="gray"><bounds x="69" y="98" width="4" height="4" /></bezel> + <bezel element="gray"><bounds x="74" y="98" width="4" height="4" /></bezel> + <bezel element="gray"><bounds x="79" y="98" width="4" height="4" /></bezel> + <bezel element="gray"><bounds x="84" y="98" width="4" height="4" /></bezel> + <bezel element="gray"><bounds x="89" y="98" width="4" height="4" /></bezel> + <bezel element="gray"><bounds x="94" y="98" width="4" height="4" /></bezel> + + <bezel element="gray"><bounds x="69" y="103" width="4" height="4" /></bezel> + <bezel element="gray"><bounds x="74" y="103" width="4" height="4" /></bezel> + <bezel element="gray"><bounds x="79" y="103" width="4" height="4" /></bezel> + <bezel element="gray"><bounds x="84" y="103" width="4" height="4" /></bezel> + <bezel element="gray"><bounds x="89" y="103" width="4" height="4" /></bezel> + <bezel element="gray"><bounds x="94" y="103" width="4" height="4" /></bezel> + + <bezel element="text_info"><bounds x="69.3" y="94" width="3.67" height="2.2" /></bezel> + <bezel element="text_pos"> <bounds x="74.3" y="94" width="3.67" height="2.2" /></bezel> + <bezel element="text_lev"> <bounds x="79.3" y="94" width="3.67" height="2.2" /></bezel> + <bezel element="text_mem"> <bounds x="84.3" y="94" width="3.67" height="2.2" /></bezel> + <bezel element="text_cl"> <bounds x="89.3" y="94" width="3.67" height="2.2" /></bezel> + <bezel element="text_ent"> <bounds x="94.3" y="94" width="3.67" height="2.2" /></bezel> + <bezel element="text_res"> <bounds x="69.3" y="104" width="3.67" height="2.2" /></bezel> + <bezel element="text_res"> <bounds x="74.3" y="104" width="3.67" height="2.2" /></bezel> + + <bezel element="text_a1"><bounds x="69" y="98" width="2" height="2.2" /></bezel> + <bezel element="text_b2"><bounds x="74" y="98" width="2" height="2.2" /></bezel> + <bezel element="text_c3"><bounds x="79" y="98" width="2" height="2.2" /></bezel> + <bezel element="text_d4"><bounds x="84" y="98" width="2" height="2.2" /></bezel> + <bezel element="text_e5"><bounds x="89" y="98" width="2" height="2.2" /></bezel> + <bezel element="text_f6"><bounds x="94" y="98" width="2" height="2.2" /></bezel> + <bezel element="text_g7"><bounds x="79" y="103" width="2" height="2.2" /></bezel> + <bezel element="text_h8"><bounds x="84" y="103" width="2" height="2.2" /></bezel> + <bezel element="text_l9"><bounds x="90" y="103" width="2" height="1.8" /></bezel> + <bezel element="text_r0"><bounds x="95.2" y="103" width="2" height="1.8" /></bezel> + + <bezel element="text_1a"><bounds x="71" y="99.5" width="1.97" height="2.2" /></bezel> + <bezel element="text_2b"><bounds x="76" y="99.5" width="1.97" height="2.2" /></bezel> + <bezel element="text_3c"><bounds x="81" y="99.5" width="1.97" height="2.2" /></bezel> + <bezel element="text_4d"><bounds x="86" y="99.5" width="1.97" height="2.2" /></bezel> + <bezel element="text_5e"><bounds x="91" y="99.5" width="1.97" height="2.2" /></bezel> + <bezel element="text_6f"><bounds x="96" y="99.5" width="1.97" height="2.2" /></bezel> + <bezel element="text_7g"><bounds x="81" y="104.5" width="1.97" height="2.2" /></bezel> + <bezel element="text_8h"><bounds x="86" y="104.5" width="1.97" height="2.2" /></bezel> + <bezel element="text_9l"><bounds x="91" y="104.5" width="1.97" height="2.2" /></bezel> + <bezel element="text_0r"><bounds x="96" y="104.5" width="1.97" height="2.2" /></bezel> + + <bezel element="text_p6" ><bounds x="76" y="98" width="1.8" height="1.7" /></bezel> + <bezel element="text_p5" ><bounds x="81" y="98" width="1.8" height="1.7" /></bezel> + <bezel element="text_p4" ><bounds x="86" y="98" width="1.8" height="1.7" /></bezel> + <bezel element="text_p3" ><bounds x="91" y="98" width="1.8" height="1.7" /></bezel> + <bezel element="text_p2" ><bounds x="96" y="98" width="1.8" height="1.7" /></bezel> + <bezel element="text_p1" ><bounds x="81" y="103" width="1.8" height="1.7" /></bezel> + <bezel element="black"><bounds x="89.5" y="105.1" width="1.3" height="1.3" /></bezel> + <bezel element="white"><bounds x="94.5" y="105.1" width="1.3" height="1.3" /></bezel> + + <!-- Buttons (new_keyboard)--> + <bezel element="keys" inputtag="LINE1" inputmask="0x01"> <!-- INFO --> + <bounds x="69" y="93" width="4" height="4" /><color alpha="0.25" /> + </bezel> + <bezel element="keys" inputtag="LINE1" inputmask="0x02"> <!-- POS --> + <bounds x="74" y="93" width="4" height="4" /><color alpha="0.25" /> + </bezel> + <bezel element="keys" inputtag="LINE1" inputmask="0x04"> <!-- LEV --> + <bounds x="79" y="93" width="4" height="4" /><color alpha="0.25" /> + </bezel> + <bezel element="keys" inputtag="LINE1" inputmask="0x08"> <!-- MEM --> + <bounds x="84" y="93" width="4" height="4" /><color alpha="0.25" /> + </bezel> + <bezel element="keys" inputtag="LINE1" inputmask="0x10"> <!-- CL --> + <bounds x="89" y="93" width="4" height="4" /><color alpha="0.25" /> + </bezel> + <bezel element="keys" inputtag="LINE1" inputmask="0x20"> <!-- ENT --> + <bounds x="94" y="93" width="4" height="4" /><color alpha="0.25" /> + </bezel> + + <bezel element="keys" inputtag="LINE0" inputmask="0x01"> <!-- A1 --> + <bounds x="69" y="98" width="4" height="4" /><color alpha="0.25" /> + </bezel> + <bezel element="keys" inputtag="LINE0" inputmask="0x02"> <!-- B2 --> + <bounds x="74" y="98" width="4" height="4" /><color alpha="0.25" /> + </bezel> + <bezel element="keys" inputtag="LINE0" inputmask="0x04"> <!-- C3 --> + <bounds x="79" y="98" width="4" height="4" /><color alpha="0.25" /> + </bezel> + <bezel element="keys" inputtag="LINE0" inputmask="0x08"> <!-- D4 --> + <bounds x="84" y="98" width="4" height="4" /><color alpha="0.25" /> + </bezel> + <bezel element="keys" inputtag="LINE0" inputmask="0x10"> <!-- E5 --> + <bounds x="89" y="98" width="4" height="4" /><color alpha="0.25" /> + </bezel> + <bezel element="keys" inputtag="LINE0" inputmask="0x20"> <!-- F6 --> + <bounds x="94" y="98" width="4" height="4" /><color alpha="0.25" /> + </bezel> + + <bezel element="keys" inputtag="LINE1" inputmask="0x40"> <!-- G7 --> + <bounds x="79" y="103" width="4" height="4" /><color alpha="0.25" /> + </bezel> + <bezel element="keys" inputtag="LINE1" inputmask="0x80"> <!-- H8 --> + <bounds x="84" y="103" width="4" height="4" /><color alpha="0.25" /> + </bezel> + <bezel element="keys" inputtag="LINE0" inputmask="0x40"> <!-- 9 --> + <bounds x="89" y="103" width="4" height="4" /><color alpha="0.25" /> + </bezel> + <bezel element="keys" inputtag="LINE0" inputmask="0x80"> <!-- 0 --> + <bounds x="94" y="103" width="4" height="4" /><color alpha="0.25" /> + </bezel> + </group> + + +<!-- build screen --> + + <view name="Internal Layout"> + <bounds left="0" right="101" top="0" bottom="104" /> + <bezel element="cblack"><bounds x="14" y="0" width="87" height="87" /></bezel> + <bezel element="cwhite"><bounds x="17" y="2" width="81" height="81" /></bezel> + + <group ref="panel"><bounds x="37.5" y="91" width="23" height="8" /></group> + + <group ref="buttons"><bounds x="67.5" y="88.5" width="29" height="14" /></group> + + <group ref="sb_board"><bounds x="17.5" y="2.5" width="80" height="80" /></group> + <group ref="sb_ui"><bounds x="1.5" y="3" width="10" height="80" /></group> + + <!-- chessboard coords --> + + <bezel element="text_8"><bounds x="14.7" y="7" width="2" height="2" /></bezel> + <bezel element="text_7"><bounds x="14.7" y="17" width="2" height="2" /></bezel> + <bezel element="text_6"><bounds x="14.7" y="27" width="2" height="2" /></bezel> + <bezel element="text_5"><bounds x="14.7" y="37" width="2" height="2" /></bezel> + <bezel element="text_4"><bounds x="14.7" y="47" width="2" height="2" /></bezel> + <bezel element="text_3"><bounds x="14.7" y="57" width="2" height="2" /></bezel> + <bezel element="text_2"><bounds x="14.7" y="67" width="2" height="2" /></bezel> + <bezel element="text_1"><bounds x="14.7" y="77" width="2" height="2" /></bezel> + + <bezel element="text_a"><bounds x="21.5" y="84" width="2" height="2" /></bezel> + <bezel element="text_b"><bounds x="31.5" y="84" width="2" height="2" /></bezel> + <bezel element="text_c"><bounds x="41.5" y="84" width="2" height="2" /></bezel> + <bezel element="text_d"><bounds x="51.5" y="84" width="2" height="2" /></bezel> + <bezel element="text_e"><bounds x="61.5" y="84" width="2" height="2" /></bezel> + <bezel element="text_f"><bounds x="71.5" y="84" width="2" height="2" /></bezel> + <bezel element="text_g"><bounds x="81.5" y="84" width="2" height="2" /></bezel> + <bezel element="text_h"><bounds x="91.5" y="84" width="2" height="2" /></bezel> + </view> + +</mamelayout> diff --git a/src/mame/layout/mephisto_berlin.lay b/src/mame/layout/mephisto_berlin.lay new file mode 100644 index 00000000000..dfc7ee7697a --- /dev/null +++ b/src/mame/layout/mephisto_berlin.lay @@ -0,0 +1,402 @@ +<?xml version="1.0"?> +<mamelayout version="2"> +<!-- define elements --> + <element name="led" defstate="0"> + <disk state="0"> + <color red="0.20" green="0.0" blue="0.0" /> + </disk> + <disk state="1"> + <color red="0.95" green="0.0" blue="0.0" /> + </disk> + </element> + <element name="hlb" defstate="0"> + <rect state="0"> + <bounds x="0.0" y="0.0" width="1.0" height="1.0" /> + <color red="0.4" green="0.4" blue="0.4" /> + </rect> + <rect state="1"> + <bounds x="0.0" y="0.0" width="1.0" height="1.0" /> + <color red="0.7" green="0.7" blue="0.7" /> + </rect> + </element> + + <element name="text_1"> <rect><color red="0" green="0" blue="0" /></rect> <text string="1"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_2"> <rect><color red="0" green="0" blue="0" /></rect> <text string="2"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_3"> <rect><color red="0" green="0" blue="0" /></rect> <text string="3"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_4"> <rect><color red="0" green="0" blue="0" /></rect> <text string="4"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_5"> <rect><color red="0" green="0" blue="0" /></rect> <text string="5"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_6"> <rect><color red="0" green="0" blue="0" /></rect> <text string="6"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_7"> <rect><color red="0" green="0" blue="0" /></rect> <text string="7"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_8"> <rect><color red="0" green="0" blue="0" /></rect> <text string="8"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_a"> <rect><color red="0" green="0" blue="0" /></rect> <text string="A"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_b"> <rect><color red="0" green="0" blue="0" /></rect> <text string="B"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_c"> <rect><color red="0" green="0" blue="0" /></rect> <text string="C"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_d"> <rect><color red="0" green="0" blue="0" /></rect> <text string="D"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_e"> <rect><color red="0" green="0" blue="0" /></rect> <text string="E"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_f"> <rect><color red="0" green="0" blue="0" /></rect> <text string="F"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_g"> <rect><color red="0" green="0" blue="0" /></rect> <text string="G"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_h"> <rect><color red="0" green="0" blue="0" /></rect> <text string="H"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_up"> <rect><color red="0" green="0" blue="0" /></rect> <text string="UP"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_down"> <rect><color red="0" green="0" blue="0" /></rect> <text string="DOWN"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_left"> <rect><color red="0" green="0" blue="0" /></rect> <text string="LEFT"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_right"> <rect><color red="0" green="0" blue="0" /></rect> <text string="RIGHT"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_enter"> <rect><color red="0" green="0" blue="0" /></rect> <text string="ENTER"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_clear"> <rect><color red="0" green="0" blue="0" /></rect> <text string="CLEAR"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_newgame"> <rect><color red="0" green="0" blue="0" /></rect> <text string="NEW GAME"> <color red="1" green="1" blue="1" /></text> </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> + + +<!-- sb board --> + + <element name="cwhite"><rect><color red="1.00" green="1.00" blue="1.00" /></rect></element> + <element name="cblack"><rect><color red="0.40" green="0.40" blue="0.40" /></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> + + <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> + + <!-- chessboard leds --> + <repeat count="8"> + <param name="x" start="0.2" increment="10" /> + <param name="la" start="0" increment="1" /> + <param name="lb" start="8" increment="1" /> + <param name="lc" start="16" increment="1" /> + <param name="ld" start="24" increment="1" /> + <param name="le" start="32" increment="1" /> + <param name="lf" start="40" increment="1" /> + <param name="lg" start="48" increment="1" /> + <param name="lh" start="56" increment="1" /> + + <bezel name="led~la~" element="led"><bounds x="~x~" y="78.3" width="1.5" height="1.5" /></bezel> + <bezel name="led~lb~" element="led"><bounds x="~x~" y="68.3" width="1.5" height="1.5" /></bezel> + <bezel name="led~lc~" element="led"><bounds x="~x~" y="58.3" width="1.5" height="1.5" /></bezel> + <bezel name="led~ld~" element="led"><bounds x="~x~" y="48.3" width="1.5" height="1.5" /></bezel> + <bezel name="led~le~" element="led"><bounds x="~x~" y="38.3" width="1.5" height="1.5" /></bezel> + <bezel name="led~lf~" element="led"><bounds x="~x~" y="28.3" width="1.5" height="1.5" /></bezel> + <bezel name="led~lg~" element="led"><bounds x="~x~" y="18.3" width="1.5" height="1.5" /></bezel> + <bezel name="led~lh~" element="led"><bounds x="~x~" y="8.3" width="1.5" height="1.5" /></bezel> + </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:board:RANK.~i~" inputmask="0x01"><bounds x="0" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x02"><bounds x="10" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x04"><bounds x="20" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x08"><bounds x="30" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x10"><bounds x="40" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x20"><bounds x="50" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x40"><bounds x="60" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board: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="1.00" green="1.00" blue="1.00" /></rect> + <text string="RESET"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_uib3"> + <rect><color red="1.00" green="1.00" blue="1.00" /></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="1.00" green="1.00" blue="1.00" /></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="1.00" green="1.00" blue="1.00" /></rect> + <text string=" <<"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_uiu2b"> + <rect><color red="1.00" green="1.00" blue="1.00" /></rect> + <text string=" < "><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_uiu2c"> + <rect><color red="1.00" green="1.00" blue="1.00" /></rect> + <text string=" >"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_uiu2d"> + <rect><color red="1.00" green="1.00" blue="1.00" /></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: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: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:board:SPAWN" inputmask="0x0001"><bounds x="1" y="23" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0002"><bounds x="1" y="27" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0004"><bounds x="1" y="31" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0008"><bounds x="5" y="23" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0010"><bounds x="5" y="27" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0020"><bounds x="5" y="31" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0040"><bounds x="1" y="36" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0080"><bounds x="1" y="40" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0100"><bounds x="1" y="44" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0200"><bounds x="5" y="36" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0400"><bounds x="5" y="40" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board: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: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: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: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: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: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> + + + <group name="panel"> + <bounds left="0" right="24" top="0" bottom="24" /> + <screen index="0"><bounds x="0" y="0" width="24" height="4.5" /></screen> + + <bezel element="hlb" inputtag="KEY" inputmask="0x04"> <bounds x="0.5" y="11" width="5" height="1" /> </bezel> + <bezel element="hlb" inputtag="KEY" inputmask="0x08"> <bounds x="6.5" y="11" width="5" height="1" /> </bezel> + <bezel element="hlb" inputtag="KEY" inputmask="0x10"> <bounds x="12.5" y="11" width="5" height="1" /> </bezel> + <bezel element="hlb" inputtag="KEY" inputmask="0x20"> <bounds x="18.5" y="11" width="5" height="1" /> </bezel> + <bezel element="hlb" inputtag="KEY" inputmask="0x40"> <bounds x="0.5" y="20" width="5" height="1" /> </bezel> + <bezel element="hlb" inputtag="KEY" inputmask="0x80"> <bounds x="6.5" y="20" width="5" height="1" /> </bezel> + <bezel element="hlb" inputtag="KEY" inputmask="0x02"> <bounds x="12.5" y="20" width="5" height="1" /> </bezel> + <bezel element="hlb" inputtag="KEY" inputmask="0x01"> <bounds x="18.5" y="20" width="5" height="1" /> </bezel> + + <bezel element="text_up"> <bounds x="0.5" y="12.5" width="5" height="1.4" /> </bezel> + <bezel element="text_down"> <bounds x="6.5" y="12.5" width="5" height="1.4" /> </bezel> + <bezel element="text_left"> <bounds x="12.5" y="12.5" width="5" height="1.4" /> </bezel> + <bezel element="text_right"> <bounds x="18.5" y="12.5" width="5" height="1.4" /> </bezel> + <bezel element="text_newgame"> <bounds x="0.5" y="21.5" width="11" height="1.4" /> </bezel> + <bezel element="text_clear"> <bounds x="12.5" y="21.5" width="5" height="1.4" /> </bezel> + <bezel element="text_enter"> <bounds x="18.5" y="21.5" width="5" height="1.4" /> </bezel> + </group> + +<!-- build screen --> + <view name="Internal Layout"> + <bounds left="0" right="129" top="0" bottom="90" /> + + <!-- chessboard coords --> + + <bezel element="text_8"><bounds x="15.2" y="7" width="2" height="2" /></bezel> + <bezel element="text_7"><bounds x="15.2" y="17" width="2" height="2" /></bezel> + <bezel element="text_6"><bounds x="15.2" y="27" width="2" height="2" /></bezel> + <bezel element="text_5"><bounds x="15.2" y="37" width="2" height="2" /></bezel> + <bezel element="text_4"><bounds x="15.2" y="47" width="2" height="2" /></bezel> + <bezel element="text_3"><bounds x="15.2" y="57" width="2" height="2" /></bezel> + <bezel element="text_2"><bounds x="15.2" y="67" width="2" height="2" /></bezel> + <bezel element="text_1"><bounds x="15.2" y="77" width="2" height="2" /></bezel> + <bezel element="text_a"><bounds x="24" y="86" width="2" height="2" /></bezel> + <bezel element="text_b"><bounds x="34" y="86" width="2" height="2" /></bezel> + <bezel element="text_c"><bounds x="44" y="86" width="2" height="2" /></bezel> + <bezel element="text_d"><bounds x="54" y="86" width="2" height="2" /></bezel> + <bezel element="text_e"><bounds x="64" y="86" width="2" height="2" /></bezel> + <bezel element="text_f"><bounds x="74" y="86" width="2" height="2" /></bezel> + <bezel element="text_g"><bounds x="84" y="86" width="2" height="2" /></bezel> + <bezel element="text_h"><bounds x="94" y="86" width="2" height="2" /></bezel> + + <bezel element="cwhite"><bounds x="19" y="2" width="82" height="82" /></bezel> + + <!-- LCD panel --> + <group ref="panel"><bounds x="103" y="58" width="24" height="24" /></group> + + <group ref="sb_board"><bounds x="20" y="3" width="80" height="80" /></group> + <group ref="sb_ui"><bounds x="1.5" y="3" width="10" height="80" /></group> + </view> +</mamelayout> diff --git a/src/mame/layout/mephisto_gen32.lay b/src/mame/layout/mephisto_gen32.lay new file mode 100644 index 00000000000..babacbb12b8 --- /dev/null +++ b/src/mame/layout/mephisto_gen32.lay @@ -0,0 +1,434 @@ +<?xml version="1.0"?> +<mamelayout version="2"> +<!-- define elements --> + <element name="led" defstate="0"> + <disk state="0"> + <color red="0.20" green="0.0" blue="0.0" /> + </disk> + <disk state="1"> + <color red="0.95" green="0.0" blue="0.0" /> + </disk> + </element> + + <element name="text_1"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="1"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_2"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="2"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_3"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="3"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_4"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="4"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_5"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="5"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_6"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="6"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_7"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="7"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_8"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="8"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_a"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="A"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_b"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="B"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_c"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="C"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_d"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="D"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_e"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="E"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_f"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="F"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_g"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="G"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_h"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="H"><color red="0.87" green="0.87" blue="0.84" /></text> </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> + + +<!-- sb board --> + + <element name="cblack"><rect><color red="0.56" green="0.33" blue="0.12" /></rect></element> + <element name="cwhite"><rect><color red="0.84" green="0.75" blue="0.50" /></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> + + <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> + + <!-- chessboard leds --> + <repeat count="8"> + <param name="x" start="8.2" increment="10" /> + <param name="la" start="0" increment="1" /> + <param name="lb" start="8" increment="1" /> + <param name="lc" start="16" increment="1" /> + <param name="ld" start="24" increment="1" /> + <param name="le" start="32" increment="1" /> + <param name="lf" start="40" increment="1" /> + <param name="lg" start="48" increment="1" /> + <param name="lh" start="56" increment="1" /> + + <bezel name="led~la~" element="led"><bounds x="~x~" y="78.3" width="1.5" height="1.5" /></bezel> + <bezel name="led~lb~" element="led"><bounds x="~x~" y="68.3" width="1.5" height="1.5" /></bezel> + <bezel name="led~lc~" element="led"><bounds x="~x~" y="58.3" width="1.5" height="1.5" /></bezel> + <bezel name="led~ld~" element="led"><bounds x="~x~" y="48.3" width="1.5" height="1.5" /></bezel> + <bezel name="led~le~" element="led"><bounds x="~x~" y="38.3" width="1.5" height="1.5" /></bezel> + <bezel name="led~lf~" element="led"><bounds x="~x~" y="28.3" width="1.5" height="1.5" /></bezel> + <bezel name="led~lg~" element="led"><bounds x="~x~" y="18.3" width="1.5" height="1.5" /></bezel> + <bezel name="led~lh~" element="led"><bounds x="~x~" y="8.3" width="1.5" height="1.5" /></bezel> + </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:board:RANK.~i~" inputmask="0x01"><bounds x="0" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x02"><bounds x="10" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x04"><bounds x="20" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x08"><bounds x="30" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x10"><bounds x="40" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x20"><bounds x="50" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x40"><bounds x="60" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board: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.84" green="0.75" blue="0.50" /></rect> + <text string="RESET"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_uib3"> + <rect><color red="0.84" green="0.75" blue="0.50" /></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.84" green="0.75" blue="0.50" /></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.84" green="0.75" blue="0.50" /></rect> + <text string=" <<"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_uiu2b"> + <rect><color red="0.84" green="0.75" blue="0.50" /></rect> + <text string=" < "><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_uiu2c"> + <rect><color red="0.84" green="0.75" blue="0.50" /></rect> + <text string=" >"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_uiu2d"> + <rect><color red="0.84" green="0.75" blue="0.50" /></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: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: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:board:SPAWN" inputmask="0x0001"><bounds x="1" y="23" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0002"><bounds x="1" y="27" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0004"><bounds x="1" y="31" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0008"><bounds x="5" y="23" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0010"><bounds x="5" y="27" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0020"><bounds x="5" y="31" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0040"><bounds x="1" y="36" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0080"><bounds x="1" y="40" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0100"><bounds x="1" y="44" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0200"><bounds x="5" y="36" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0400"><bounds x="5" y="40" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board: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: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: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: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: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: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 --> + + <element name="text_lcd"><text string="GRAPHIC DISPLAY MODUL"><color red="0.64" green="0.59" blue="0.30" /></text></element> + <element name="static_lcd"><rect><color red="0.5412" green="0.57255" blue="0.5804" /></rect></element> + + <group name="panel"> + <element ref="static_lcd"><bounds x="0" y="0" width="24.5" height="6.5" /></element> + <screen index="0" blend="alpha"><bounds x="0.25" y="1" width="24" height="4.5" /></screen> + </group> + + +<!-- Buttons --> + + <element name="gray"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect></element> + <element name="green"><rect><color red="0" green="0.5" blue="0.25" /></rect></element> + <element name="red"> <rect><color red="0.75" green="0.15" blue="0.15" /></rect></element> + + <element name="text_ent"><rect><color red="0" green="0.5" blue="0.25" /></rect> <text string="ENT"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_cl"> <rect><color red="0.75" green="0.15" blue="0.15" /></rect><text string="CL"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_left"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect><text string="←"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_up"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect><text string="↑"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_right"><rect><color red="0.25" green="0.25" blue="0.25" /></rect><text string="→"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_down"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect><text string="↓"> <color red="1" green="1" blue="1" /></text> </element> + + <element name="keys" defstate="0"> + <rect state="1"><color red="0.0" green="0.0" blue="0.0" /></rect> + </element> + + <group name="buttons"> + <bounds x="76" y="89.5" width="17" height="17" /> + + <bezel element="green"><bounds x="76" y="89.5" width="5" height="5" /></bezel> + <bezel element="gray"> <bounds x="82" y="89.5" width="5" height="5" /></bezel> + <bezel element="red"> <bounds x="88" y="89.5" width="5" height="5" /></bezel> + <bezel element="gray"> <bounds x="76" y="95.5" width="5" height="5" /></bezel> + <bezel element="gray"> <bounds x="88" y="95.5" width="5" height="5" /></bezel> + <bezel element="gray"> <bounds x="82" y="101.5" width="5" height="5" /></bezel> + + <bezel element="text_ent"> <bounds x="76" y="90.7" width="5" height="2.6" /></bezel> + <bezel element="text_up"> <bounds x="82.5" y="90" width="4" height="4" /></bezel> + <bezel element="text_cl"> <bounds x="88" y="90.7" width="5" height="2.6" /></bezel> + <bezel element="text_left"> <bounds x="76.5" y="96" width="4" height="4" /></bezel> + <bezel element="text_right"><bounds x="88.5" y="96" width="4" height="4" /></bezel> + <bezel element="text_down"> <bounds x="82.5" y="102" width="4" height="4" /></bezel> + + <bezel element="keys" inputtag="KEY1" inputmask="0x01000000"> <!-- ENT --> + <bounds x="76" y="89.5" width="5" height="5" /><color alpha="0.25" /> + </bezel> + <bezel element="keys" inputtag="KEY2" inputmask="0x01000000"> <!-- Up --> + <bounds x="82" y="89.5" width="5" height="5" /><color alpha="0.25" /> + </bezel> + <bezel element="keys" inputtag="KEY3" inputmask="0x01000000"> <!-- CL --> + <bounds x="88" y="89.5" width="5" height="5" /><color alpha="0.25" /> + </bezel> + <bezel element="keys" inputtag="KEY1" inputmask="0x02000000"> <!-- Left --> + <bounds x="76" y="95.5" width="5" height="5" /><color alpha="0.25" /> + </bezel> + <bezel element="keys" inputtag="KEY3" inputmask="0x02000000"> <!-- Right --> + <bounds x="88" y="95.5" width="5" height="5" /><color alpha="0.25" /> + </bezel> + <bezel element="keys" inputtag="KEY2" inputmask="0x02000000"> <!-- Down --> + <bounds x="82" y="101.5" width="5" height="5" /><color alpha="0.25" /> + </bezel> + </group> + + +<!-- build screen --> + + <view name="Internal Layout"> + <bounds left="0" right="101" top="0" bottom="103" /> + <bezel element="cblack"><bounds x="14" y="0" width="87" height="87" /></bezel> + <bezel element="cwhite"><bounds x="17" y="2" width="81" height="81" /></bezel> + + <bezel element="text_lcd"><bounds x="47.5" y="89" width="24.5" height="2" /></bezel> + <group ref="panel"><bounds x="47.5" y="91.8" width="24.5" height="6.5" /></group> + <group ref="buttons"><bounds x="77.5" y="88.5" width="13" height="13" /></group> + + <group ref="sb_board"><bounds x="17.5" y="2.5" width="80" height="80" /></group> + <group ref="sb_ui"><bounds x="1.5" y="3" width="10" height="80" /></group> + + <!-- chessboard coords --> + + <bezel element="text_8"><bounds x="14.7" y="7" width="2" height="2" /></bezel> + <bezel element="text_7"><bounds x="14.7" y="17" width="2" height="2" /></bezel> + <bezel element="text_6"><bounds x="14.7" y="27" width="2" height="2" /></bezel> + <bezel element="text_5"><bounds x="14.7" y="37" width="2" height="2" /></bezel> + <bezel element="text_4"><bounds x="14.7" y="47" width="2" height="2" /></bezel> + <bezel element="text_3"><bounds x="14.7" y="57" width="2" height="2" /></bezel> + <bezel element="text_2"><bounds x="14.7" y="67" width="2" height="2" /></bezel> + <bezel element="text_1"><bounds x="14.7" y="77" width="2" height="2" /></bezel> + + <bezel element="text_a"><bounds x="21.5" y="84" width="2" height="2" /></bezel> + <bezel element="text_b"><bounds x="31.5" y="84" width="2" height="2" /></bezel> + <bezel element="text_c"><bounds x="41.5" y="84" width="2" height="2" /></bezel> + <bezel element="text_d"><bounds x="51.5" y="84" width="2" height="2" /></bezel> + <bezel element="text_e"><bounds x="61.5" y="84" width="2" height="2" /></bezel> + <bezel element="text_f"><bounds x="71.5" y="84" width="2" height="2" /></bezel> + <bezel element="text_g"><bounds x="81.5" y="84" width="2" height="2" /></bezel> + <bezel element="text_h"><bounds x="91.5" y="84" width="2" height="2" /></bezel> + </view> + +</mamelayout> diff --git a/src/mame/layout/mephisto_glasgow.lay b/src/mame/layout/mephisto_glasgow.lay new file mode 100644 index 00000000000..945226549ee --- /dev/null +++ b/src/mame/layout/mephisto_glasgow.lay @@ -0,0 +1,556 @@ +<?xml version="1.0"?> +<mamelayout version="2"> + + <!-- 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" green="1" blue="1" /> + </led7seg> + </element> + + <element name="led" defstate="0"> + <disk state="0"> + <color red="0.20" green="0.0" blue="0.0" /> + </disk> + <disk state="1"> + <color red="0.95" green="0.0" blue="0.0" /> + </disk> + </element> + <element name="hlb" defstate="0"> + <rect state="0"> + <bounds x="0.0" y="0.0" width="1.0" height="1.0" /> + <color red="0.4" green="0.4" blue="0.4" /> + </rect> + <rect state="1"> + <bounds x="0.0" y="0.0" width="1.0" height="1.0" /> + <color red="0.4" green="0.4" blue="0.4" /> + </rect> + </element> + + <element name="text_1"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="1"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_2"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="2"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_3"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="3"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_4"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="4"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_5"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="5"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_6"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="6"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_7"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="7"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_8"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="8"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_a"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="A"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_b"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="B"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_c"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="C"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_d"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="D"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_e"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="E"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_f"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="F"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_g"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="G"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_h"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="H"><color red="0.87" green="0.87" blue="0.84" /></text> </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> + + +<!-- sb board --> + + <element name="cblack"><rect><color red="0.56" green="0.33" blue="0.12" /></rect></element> + <element name="cwhite"><rect><color red="0.84" green="0.75" blue="0.50" /></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> + + <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> + + <!-- chessboard leds --> + <repeat count="8"> + <param name="x" start="8.2" increment="10" /> + <param name="la" start="0" increment="1" /> + <param name="lb" start="8" increment="1" /> + <param name="lc" start="16" increment="1" /> + <param name="ld" start="24" increment="1" /> + <param name="le" start="32" increment="1" /> + <param name="lf" start="40" increment="1" /> + <param name="lg" start="48" increment="1" /> + <param name="lh" start="56" increment="1" /> + + <bezel name="led~la~" element="led"><bounds x="~x~" y="78.3" width="1.5" height="1.5" /></bezel> + <bezel name="led~lb~" element="led"><bounds x="~x~" y="68.3" width="1.5" height="1.5" /></bezel> + <bezel name="led~lc~" element="led"><bounds x="~x~" y="58.3" width="1.5" height="1.5" /></bezel> + <bezel name="led~ld~" element="led"><bounds x="~x~" y="48.3" width="1.5" height="1.5" /></bezel> + <bezel name="led~le~" element="led"><bounds x="~x~" y="38.3" width="1.5" height="1.5" /></bezel> + <bezel name="led~lf~" element="led"><bounds x="~x~" y="28.3" width="1.5" height="1.5" /></bezel> + <bezel name="led~lg~" element="led"><bounds x="~x~" y="18.3" width="1.5" height="1.5" /></bezel> + <bezel name="led~lh~" element="led"><bounds x="~x~" y="8.3" width="1.5" height="1.5" /></bezel> + </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:board:RANK.~i~" inputmask="0x01"><bounds x="0" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x02"><bounds x="10" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x04"><bounds x="20" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x08"><bounds x="30" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x10"><bounds x="40" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x20"><bounds x="50" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x40"><bounds x="60" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board: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.84" green="0.75" blue="0.50" /></rect> + <text string="RESET"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_uib3"> + <rect><color red="0.84" green="0.75" blue="0.50" /></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.84" green="0.75" blue="0.50" /></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.84" green="0.75" blue="0.50" /></rect> + <text string=" <<"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_uiu2b"> + <rect><color red="0.84" green="0.75" blue="0.50" /></rect> + <text string=" < "><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_uiu2c"> + <rect><color red="0.84" green="0.75" blue="0.50" /></rect> + <text string=" >"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_uiu2d"> + <rect><color red="0.84" green="0.75" blue="0.50" /></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: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: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:board:SPAWN" inputmask="0x0001"><bounds x="1" y="23" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0002"><bounds x="1" y="27" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0004"><bounds x="1" y="31" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0008"><bounds x="5" y="23" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0010"><bounds x="5" y="27" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0020"><bounds x="5" y="31" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0040"><bounds x="1" y="36" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0080"><bounds x="1" y="40" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0100"><bounds x="1" y="44" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0200"><bounds x="5" y="36" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0400"><bounds x="5" y="40" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board: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: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: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: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: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: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> + + +<!-- Display panel --> + + <group name="panel"> + <bezel name="digit0" element="digit"><bounds x="0" y="0" width="10" height="15" /></bezel> + <bezel name="digit1" element="digit"><bounds x="10" y="0" width="10" height="15" /></bezel> + <bezel name="digit2" element="digit"><bounds x="20" y="0" width="10" height="15" /></bezel> + <bezel name="digit3" element="digit"><bounds x="30" y="0" width="10" height="15" /></bezel> + </group> + + +<!-- buttons --> + + <element name="gray"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect></element> + <element name="black"><rect><color red="0" green="0" blue="0" /></rect></element> + <element name="white"><rect><color red="1" green="1" blue="1" /></rect></element> + + <element name="keys" defstate="0"> + <rect state="1"><color red="0.0" green="0.0" blue="0.0" /></rect> + </element> + + <element name="text_info"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect> <text string="INFO"><color red="1" green="1" blue="1" /></text> </element> + <element name="text_pos"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect> <text string="POS"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_lev"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect> <text string="LEV"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_mem"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect> <text string="MEM"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_cl"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect> <text string="CL"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_ent"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect> <text string="ENT"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_res"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect> <text string="RES"> <color red="1" green="1" blue="1" /></text> </element> + + <element name="text_a1"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect> <text string="A"><color red="1" green="1" blue="1" /></text> </element> + <element name="text_b2"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect> <text string="B"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_c3"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect> <text string="C"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_d4"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect> <text string="D"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_e5"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect> <text string="E"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_f6"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect> <text string="F"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_g7"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect> <text string="G"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_h8"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect> <text string="H"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_l9"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect> <text string="←"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_r0"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect> <text string="→"> <color red="1" green="1" blue="1" /></text> </element> + + <element name="text_1a"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect> <text string="1"><color red="1" green="1" blue="1" /></text> </element> + <element name="text_2b"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect> <text string="2"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_3c"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect> <text string="3"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_4d"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect> <text string="4"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_5e"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect> <text string="5"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_6f"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect> <text string="6"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_7g"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect> <text string="7"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_8h"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect> <text string="8"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_9l"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect> <text string="9"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_0r"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect> <text string="0"> <color red="1" green="1" blue="1" /></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> + + <group name="buttons"> + <bounds x="69" y="93" width="29" height="14" /> + + <bezel element="gray"><bounds x="69" y="93" width="4" height="4" /></bezel> + <bezel element="gray"><bounds x="74" y="93" width="4" height="4" /></bezel> + <bezel element="gray"><bounds x="79" y="93" width="4" height="4" /></bezel> + <bezel element="gray"><bounds x="84" y="93" width="4" height="4" /></bezel> + <bezel element="gray"><bounds x="89" y="93" width="4" height="4" /></bezel> + <bezel element="gray"><bounds x="94" y="93" width="4" height="4" /></bezel> + + <bezel element="gray"><bounds x="69" y="98" width="4" height="4" /></bezel> + <bezel element="gray"><bounds x="74" y="98" width="4" height="4" /></bezel> + <bezel element="gray"><bounds x="79" y="98" width="4" height="4" /></bezel> + <bezel element="gray"><bounds x="84" y="98" width="4" height="4" /></bezel> + <bezel element="gray"><bounds x="89" y="98" width="4" height="4" /></bezel> + <bezel element="gray"><bounds x="94" y="98" width="4" height="4" /></bezel> + + <bezel element="gray"><bounds x="69" y="103" width="4" height="4" /></bezel> + <bezel element="gray"><bounds x="74" y="103" width="4" height="4" /></bezel> + <bezel element="gray"><bounds x="79" y="103" width="4" height="4" /></bezel> + <bezel element="gray"><bounds x="84" y="103" width="4" height="4" /></bezel> + <bezel element="gray"><bounds x="89" y="103" width="4" height="4" /></bezel> + <bezel element="gray"><bounds x="94" y="103" width="4" height="4" /></bezel> + + <bezel element="text_info"><bounds x="69.3" y="94" width="3.68" height="2.2" /></bezel> + <bezel element="text_pos"> <bounds x="74.3" y="94" width="3.68" height="2.2" /></bezel> + <bezel element="text_lev"> <bounds x="79.3" y="94" width="3.68" height="2.2" /></bezel> + <bezel element="text_mem"> <bounds x="84.3" y="94" width="3.68" height="2.2" /></bezel> + <bezel element="text_cl"> <bounds x="89.3" y="94" width="3.68" height="2.2" /></bezel> + <bezel element="text_ent"> <bounds x="94.3" y="94" width="3.68" height="2.2" /></bezel> + + <bezel element="text_a1"><bounds x="69" y="98" width="2" height="2.2" /></bezel> + <bezel element="text_b2"><bounds x="74" y="98" width="2" height="2.2" /></bezel> + <bezel element="text_c3"><bounds x="79" y="98" width="2" height="2.2" /></bezel> + <bezel element="text_d4"><bounds x="84" y="98" width="2" height="2.2" /></bezel> + <bezel element="text_e5"><bounds x="69" y="103" width="2" height="2.2" /></bezel> + <bezel element="text_f6"><bounds x="74" y="103" width="2" height="2.2" /></bezel> + <bezel element="text_g7"><bounds x="79" y="103" width="2" height="2.2" /></bezel> + <bezel element="text_h8"><bounds x="84" y="103" width="2" height="2.2" /></bezel> + <bezel element="text_l9"><bounds x="90" y="103" width="2" height="1.8" /></bezel> + <bezel element="text_r0"><bounds x="95.2" y="103" width="2" height="1.8" /></bezel> + + <bezel element="text_1a"><bounds x="71" y="99.5" width="1.98" height="2.2" /></bezel> + <bezel element="text_2b"><bounds x="76" y="99.5" width="1.98" height="2.2" /></bezel> + <bezel element="text_3c"><bounds x="81" y="99.5" width="1.98" height="2.2" /></bezel> + <bezel element="text_4d"><bounds x="86" y="99.5" width="1.98" height="2.2" /></bezel> + <bezel element="text_5e"><bounds x="71" y="104.5" width="1.98" height="2.2" /></bezel> + <bezel element="text_6f"><bounds x="76" y="104.5" width="1.98" height="2.2" /></bezel> + <bezel element="text_7g"><bounds x="81" y="104.5" width="1.98" height="2.2" /></bezel> + <bezel element="text_8h"><bounds x="86" y="104.5" width="1.98" height="2.2" /></bezel> + <bezel element="text_9l"><bounds x="91" y="104.5" width="1.98" height="2.2" /></bezel> + <bezel element="text_0r"><bounds x="96" y="104.5" width="1.98" height="2.2" /></bezel> + + <bezel element="text_p6" ><bounds x="76" y="98" width="1.8" height="1.7" /></bezel> + <bezel element="text_p5" ><bounds x="81" y="98" width="1.8" height="1.7" /></bezel> + <bezel element="text_p4" ><bounds x="86" y="98" width="1.8" height="1.7" /></bezel> + <bezel element="text_p3" ><bounds x="71" y="103" width="1.8" height="1.7" /></bezel> + <bezel element="text_p2" ><bounds x="76" y="103" width="1.8" height="1.7" /></bezel> + <bezel element="text_p1" ><bounds x="81" y="103" width="1.8" height="1.7" /></bezel> + <bezel element="black"><bounds x="89.5" y="105.1" width="1.3" height="1.3" /></bezel> + <bezel element="white"><bounds x="94.5" y="105.1" width="1.3" height="1.3" /></bezel> + + <!-- Buttons (old_keyboard)--> + <bezel element="keys" inputtag="LINE1" inputmask="0x02"> <!-- INFO --> + <bounds x="69" y="93" width="4" height="4" /><color alpha="0.25" /> + </bezel> + <bezel element="keys" inputtag="LINE1" inputmask="0x08"> <!-- POS --> + <bounds x="74" y="93" width="4" height="4" /><color alpha="0.25" /> + </bezel> + <bezel element="keys" inputtag="LINE1" inputmask="0x20"> <!-- LEV --> + <bounds x="79" y="93" width="4" height="4" /><color alpha="0.25" /> + </bezel> + <bezel element="keys" inputtag="LINE1" inputmask="0x80"> <!-- MEM --> + <bounds x="84" y="93" width="4" height="4" /><color alpha="0.25" /> + </bezel> + <bezel element="keys" inputtag="LINE0" inputmask="0x02"> <!-- CL --> + <bounds x="89" y="93" width="4" height="4" /><color alpha="0.25" /> + </bezel> + <bezel element="keys" inputtag="LINE0" inputmask="0x08"> <!-- ENT --> + <bounds x="94" y="93" width="4" height="4" /><color alpha="0.25" /> + </bezel> + + <bezel element="keys" inputtag="LINE0" inputmask="0x20"> <!-- A1 --> + <bounds x="69" y="98" width="4" height="4" /><color alpha="0.25" /> + </bezel> + <bezel element="keys" inputtag="LINE0" inputmask="0x80"> <!-- B2 --> + <bounds x="74" y="98" width="4" height="4" /><color alpha="0.25" /> + </bezel> + <bezel element="keys" inputtag="LINE0" inputmask="0x04"> <!-- C3 --> + <bounds x="79" y="98" width="4" height="4" /><color alpha="0.25" /> + </bezel> + <bezel element="keys" inputtag="LINE0" inputmask="0x10"> <!-- D4 --> + <bounds x="84" y="98" width="4" height="4" /><color alpha="0.25" /> + </bezel> + + <bezel element="keys" inputtag="LINE1" inputmask="0x01"> <!-- E5 --> + <bounds x="69" y="103" width="4" height="4" /><color alpha="0.25" /> + </bezel> + <bezel element="keys" inputtag="LINE0" inputmask="0x40"> <!-- F6 --> + <bounds x="74" y="103" width="4" height="4" /><color alpha="0.25" /> + </bezel> + <bezel element="keys" inputtag="LINE1" inputmask="0x40"> <!-- G7 --> + <bounds x="79" y="103" width="4" height="4" /><color alpha="0.25" /> + </bezel> + <bezel element="keys" inputtag="LINE1" inputmask="0x10"> <!-- H8 --> + <bounds x="84" y="103" width="4" height="4" /><color alpha="0.25" /> + </bezel> + <bezel element="keys" inputtag="LINE0" inputmask="0x01"> <!-- 9 --> + <bounds x="89" y="103" width="4" height="4" /><color alpha="0.25" /> + </bezel> + <bezel element="keys" inputtag="LINE1" inputmask="0x04"> <!-- 0 --> + <bounds x="94" y="103" width="4" height="4" /><color alpha="0.25" /> + </bezel> + </group> + + +<!-- build screen --> + + <view name="Internal Layout"> + <bounds left="0" right="101" top="0" bottom="104" /> + <bezel element="cblack"><bounds x="14" y="0" width="87" height="87" /></bezel> + <bezel element="cwhite"><bounds x="17" y="2" width="81" height="81" /></bezel> + + <!-- chessboard coords --> + + <bezel element="text_8"><bounds x="14.7" y="7" width="2" height="2" /></bezel> + <bezel element="text_7"><bounds x="14.7" y="17" width="2" height="2" /></bezel> + <bezel element="text_6"><bounds x="14.7" y="27" width="2" height="2" /></bezel> + <bezel element="text_5"><bounds x="14.7" y="37" width="2" height="2" /></bezel> + <bezel element="text_4"><bounds x="14.7" y="47" width="2" height="2" /></bezel> + <bezel element="text_3"><bounds x="14.7" y="57" width="2" height="2" /></bezel> + <bezel element="text_2"><bounds x="14.7" y="67" width="2" height="2" /></bezel> + <bezel element="text_1"><bounds x="14.7" y="77" width="2" height="2" /></bezel> + + <bezel element="text_a"><bounds x="21.5" y="84" width="2" height="2" /></bezel> + <bezel element="text_b"><bounds x="31.5" y="84" width="2" height="2" /></bezel> + <bezel element="text_c"><bounds x="41.5" y="84" width="2" height="2" /></bezel> + <bezel element="text_d"><bounds x="51.5" y="84" width="2" height="2" /></bezel> + <bezel element="text_e"><bounds x="61.5" y="84" width="2" height="2" /></bezel> + <bezel element="text_f"><bounds x="71.5" y="84" width="2" height="2" /></bezel> + <bezel element="text_g"><bounds x="81.5" y="84" width="2" height="2" /></bezel> + <bezel element="text_h"><bounds x="91.5" y="84" width="2" height="2" /></bezel> + + <group ref="panel"><bounds x="37.5" y="91.5" width="23" height="8" /></group> + + <group ref="buttons"><bounds x="67.5" y="88.5" width="29" height="14" /></group> + + <group ref="sb_board"><bounds x="17.5" y="2.5" width="80" height="80" /></group> + <group ref="sb_ui"><bounds x="1.5" y="3" width="10" height="80" /></group> + </view> +</mamelayout> diff --git a/src/mame/layout/mephisto_lcd.lay b/src/mame/layout/mephisto_lcd.lay index 0aee33c571f..20188bdddf6 100644 --- a/src/mame/layout/mephisto_lcd.lay +++ b/src/mame/layout/mephisto_lcd.lay @@ -9,16 +9,6 @@ <color red="0.95" green="0.0" blue="0.0" /> </disk> </element> - <element name="hl" defstate="0"> - <text string=" "> - <bounds x="0.0" y="0.0" width="1.0" height="1.0" /> - <color red="0.0" green="0.0" blue="0.0" /> - </text> - <disk state="1"> - <bounds x="0.12" y="0.12" width="0.76" height="0.76" /> - <color red="1.0" green="1.0" blue="1.0" /> - </disk> - </element> <element name="hlb" defstate="0"> <rect state="0"> <bounds x="0.0" y="0.0" width="1.0" height="1.0" /> @@ -26,30 +16,26 @@ </rect> <rect state="1"> <bounds x="0.0" y="0.0" width="1.0" height="1.0" /> - <color red="0.4" green="0.4" blue="0.4" /> + <color red="0.7" green="0.7" blue="0.7" /> </rect> </element> - <element name="background"><rect><color red="0.64" green="0.08" blue="0.11" /></rect></element> - <element name="black"><rect><color red="0.64" green="0.08" blue="0.11" /></rect></element> - <element name="white"><rect><color red="1.00" green="0.88" blue="0.55" /></rect></element> - - <element name="text_1"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="1"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_2"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="2"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_3"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="3"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_4"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="4"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_5"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="5"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_6"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="6"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_7"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="7"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_8"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="8"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_a"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="A"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_b"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="B"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_c"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="C"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_d"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="D"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_e"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="E"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_f"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="F"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_g"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="G"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_h"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="H"><color red="0.01" green="0.01" blue="0.01" /></text> </element> + <element name="text_1"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="1"><color red="0.01" green="0.01" blue="0.01" /></text> </element> + <element name="text_2"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="2"><color red="0.01" green="0.01" blue="0.01" /></text> </element> + <element name="text_3"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="3"><color red="0.01" green="0.01" blue="0.01" /></text> </element> + <element name="text_4"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="4"><color red="0.01" green="0.01" blue="0.01" /></text> </element> + <element name="text_5"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="5"><color red="0.01" green="0.01" blue="0.01" /></text> </element> + <element name="text_6"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="6"><color red="0.01" green="0.01" blue="0.01" /></text> </element> + <element name="text_7"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="7"><color red="0.01" green="0.01" blue="0.01" /></text> </element> + <element name="text_8"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="8"><color red="0.01" green="0.01" blue="0.01" /></text> </element> + <element name="text_a"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="A"><color red="0.01" green="0.01" blue="0.01" /></text> </element> + <element name="text_b"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="B"><color red="0.01" green="0.01" blue="0.01" /></text> </element> + <element name="text_c"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="C"><color red="0.01" green="0.01" blue="0.01" /></text> </element> + <element name="text_d"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="D"><color red="0.01" green="0.01" blue="0.01" /></text> </element> + <element name="text_e"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="E"><color red="0.01" green="0.01" blue="0.01" /></text> </element> + <element name="text_f"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="F"><color red="0.01" green="0.01" blue="0.01" /></text> </element> + <element name="text_g"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="G"><color red="0.01" green="0.01" blue="0.01" /></text> </element> + <element name="text_h"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="H"><color red="0.01" green="0.01" blue="0.01" /></text> </element> <element name="text_trn"> <rect><color red="0" green="0" blue="0" /></rect> <text string="TRN"> <color red="0.76" green="0.74" blue="0.41" /></text> </element> <element name="text_info"> <rect><color red="0" green="0" blue="0" /></rect> <text string="INFO"> <color red="0.76" green="0.74" blue="0.41" /></text> </element> <element name="text_mem"> <rect><color red="0" green="0" blue="0" /></rect> <text string="MEM"> <color red="0.76" green="0.74" blue="0.41" /></text> </element> @@ -66,266 +52,376 @@ <element name="text_p6"> <rect><color red="0" green="0" blue="0" /></rect> <text string="[P]"> <color red="0.76" green="0.74" blue="0.41" /></text> </element> <element name="text_lcd"> <rect><color red="0" green="0" blue="0" /></rect> <text string="16/32 BIT DISPLAY MODUL"><color red="0.76" green="0.74" blue="0.41" /></text> </element> -<!-- build screen --> + + <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> + + +<!-- sb board --> + + <element name="cblack"><rect><color red="0.56" green="0.33" blue="0.12" /></rect></element> + <element name="cwhite"><rect><color red="0.84" green="0.75" blue="0.50" /></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> + + <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> + + <!-- chessboard leds --> + <repeat count="8"> + <param name="x" start="8.2" increment="10" /> + <param name="la" start="0" increment="1" /> + <param name="lb" start="8" increment="1" /> + <param name="lc" start="16" increment="1" /> + <param name="ld" start="24" increment="1" /> + <param name="le" start="32" increment="1" /> + <param name="lf" start="40" increment="1" /> + <param name="lg" start="48" increment="1" /> + <param name="lh" start="56" increment="1" /> + + <bezel name="led~la~" element="led"><bounds x="~x~" y="78.3" width="1.5" height="1.5" /></bezel> + <bezel name="led~lb~" element="led"><bounds x="~x~" y="68.3" width="1.5" height="1.5" /></bezel> + <bezel name="led~lc~" element="led"><bounds x="~x~" y="58.3" width="1.5" height="1.5" /></bezel> + <bezel name="led~ld~" element="led"><bounds x="~x~" y="48.3" width="1.5" height="1.5" /></bezel> + <bezel name="led~le~" element="led"><bounds x="~x~" y="38.3" width="1.5" height="1.5" /></bezel> + <bezel name="led~lf~" element="led"><bounds x="~x~" y="28.3" width="1.5" height="1.5" /></bezel> + <bezel name="led~lg~" element="led"><bounds x="~x~" y="18.3" width="1.5" height="1.5" /></bezel> + <bezel name="led~lh~" element="led"><bounds x="~x~" y="8.3" width="1.5" height="1.5" /></bezel> + </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:board:RANK.~i~" inputmask="0x01"><bounds x="0" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x02"><bounds x="10" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x04"><bounds x="20" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x08"><bounds x="30" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x10"><bounds x="40" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x20"><bounds x="50" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x40"><bounds x="60" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board: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.84" green="0.75" blue="0.50" /></rect> + <text string="RESET"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_uib3"> + <rect><color red="0.84" green="0.75" blue="0.50" /></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.84" green="0.75" blue="0.50" /></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.84" green="0.75" blue="0.50" /></rect> + <text string=" <<"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_uiu2b"> + <rect><color red="0.84" green="0.75" blue="0.50" /></rect> + <text string=" < "><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_uiu2c"> + <rect><color red="0.84" green="0.75" blue="0.50" /></rect> + <text string=" >"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_uiu2d"> + <rect><color red="0.84" green="0.75" blue="0.50" /></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: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: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:board:SPAWN" inputmask="0x0001"><bounds x="1" y="23" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0002"><bounds x="1" y="27" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0004"><bounds x="1" y="31" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0008"><bounds x="5" y="23" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0010"><bounds x="5" y="27" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0020"><bounds x="5" y="31" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0040"><bounds x="1" y="36" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0080"><bounds x="1" y="40" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0100"><bounds x="1" y="44" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0200"><bounds x="5" y="36" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0400"><bounds x="5" y="40" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board: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: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: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: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: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: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> + <group name="panel"> - <screen index="0"><bounds x="0" y="3" width="24" height="4.5" /></screen> - <bezel element="text_lcd"> <bounds x="0" y="0.5" width="24" height="1.5" /> </bezel> - - <bezel name="led100" element="led"> <bounds x="27.1" y="0.1" width="1.3" height="1.3" /> </bezel> - <bezel name="led101" element="led"> <bounds x="32.1" y="0.1" width="1.3" height="1.3" /> </bezel> - <bezel name="led102" element="led"> <bounds x="37.1" y="0.1" width="1.3" height="1.3" /> </bezel> - <bezel name="led103" element="led"> <bounds x="42.1" y="0.1" width="1.3" height="1.3" /> </bezel> - <bezel name="led104" element="led"> <bounds x="47.1" y="0.1" width="1.3" height="1.3" /> </bezel> - <bezel name="led105" element="led"> <bounds x="52.1" y="0.1" width="1.3" height="1.3" /> </bezel> - - <bezel element="text_trn"> <bounds x="28.5" y="0" width="2.5" height="1.2" /> </bezel> - <bezel element="text_info"> <bounds x="33.5" y="0" width="2.5" height="1.2" /> </bezel> - <bezel element="text_mem"> <bounds x="38.5" y="0" width="2.5" height="1.2" /> </bezel> - <bezel element="text_pos"> <bounds x="43.5" y="0" width="2.5" height="1.2" /> </bezel> - <bezel element="text_lev"> <bounds x="48.5" y="0" width="2.5" height="1.2" /> </bezel> - <bezel element="text_fct"> <bounds x="53.5" y="0" width="2.5" height="1.2" /> </bezel> - <bezel element="text_ent"> <bounds x="47.5" y="7" width="3.5" height="1.2" /> </bezel> - <bezel element="text_cl"> <bounds x="52.5" y="7" width="3.5" height="1.3" /> </bezel> - - <bezel element="text_p6"> <bounds x="27.5" y="4.5" width="4" height="1.7" /></bezel> - <bezel element="text_p5"> <bounds x="32.5" y="4.5" width="4" height="1.7" /></bezel> - <bezel element="text_p4"> <bounds x="37.5" y="4.5" width="4" height="1.7" /></bezel> - <bezel element="text_p3"> <bounds x="42.5" y="4.5" width="4" height="1.7" /></bezel> - <bezel element="text_p2"> <bounds x="47.5" y="4.5" width="4" height="1.7" /></bezel> - <bezel element="text_p1"> <bounds x="52.5" y="4.5" width="4" height="1.7" /></bezel> - - <bezel element="hlb" inputtag="KEY" inputmask="0x01"> <bounds x="27.5" y="2" width="3.5" height="2.5" /> </bezel> - <bezel element="hlb" inputtag="KEY" inputmask="0x02"> <bounds x="32.5" y="2" width="3.5" height="2.5" /> </bezel> - <bezel element="hlb" inputtag="KEY" inputmask="0x04"> <bounds x="37.5" y="2" width="3.5" height="2.5" /> </bezel> - <bezel element="hlb" inputtag="KEY" inputmask="0x08"> <bounds x="42.5" y="2" width="3.5" height="2.5" /> </bezel> - <bezel element="hlb" inputtag="KEY" inputmask="0x10"> <bounds x="47.5" y="2" width="3.5" height="2.5" /> </bezel> - <bezel element="hlb" inputtag="KEY" inputmask="0x20"> <bounds x="52.5" y="2" width="3.5" height="2.5" /> </bezel> - <bezel element="hlb" inputtag="KEY" inputmask="0x40"> <bounds x="47.5" y="9" width="3.5" height="2.5" /> </bezel> - <bezel element="hlb" inputtag="KEY" inputmask="0x80"> <bounds x="52.5" y="9" width="3.5" height="2.5" /> </bezel> + <bounds left="0" right="60" top="0" bottom="14" /> + <screen index="0"><bounds x="1" y="3" width="24" height="4.5" /></screen> + <bezel element="text_lcd"> <bounds x="1" y="0.5" width="24" height="1.5" /> </bezel> + + <bezel name="led100" element="led"> <bounds x="29.1" y="1" width="1.3" height="1.3" /> </bezel> + <bezel name="led101" element="led"> <bounds x="34.1" y="1" width="1.3" height="1.3" /> </bezel> + <bezel name="led102" element="led"> <bounds x="39.1" y="1" width="1.3" height="1.3" /> </bezel> + <bezel name="led103" element="led"> <bounds x="44.1" y="1" width="1.3" height="1.3" /> </bezel> + <bezel name="led104" element="led"> <bounds x="49.1" y="1" width="1.3" height="1.3" /> </bezel> + <bezel name="led105" element="led"> <bounds x="54.1" y="1" width="1.3" height="1.3" /> </bezel> + + <bezel element="text_trn"> <bounds x="30.5" y="1" width="2.5" height="1.2" /> </bezel> + <bezel element="text_info"> <bounds x="35.5" y="1" width="2.5" height="1.2" /> </bezel> + <bezel element="text_mem"> <bounds x="40.5" y="1" width="2.5" height="1.2" /> </bezel> + <bezel element="text_pos"> <bounds x="45.5" y="1" width="2.5" height="1.2" /> </bezel> + <bezel element="text_lev"> <bounds x="50.5" y="1" width="2.5" height="1.2" /> </bezel> + <bezel element="text_fct"> <bounds x="55.5" y="1" width="2.5" height="1.2" /> </bezel> + <bezel element="text_ent"> <bounds x="49.5" y="8" width="3.5" height="1.2" /> </bezel> + <bezel element="text_cl"> <bounds x="54.5" y="8" width="3.5" height="1.3" /> </bezel> + + <bezel element="text_p6"> <bounds x="29.5" y="5.55" width="3.5" height="1.7" /></bezel> + <bezel element="text_p5"> <bounds x="34.5" y="5.55" width="3.5" height="1.7" /></bezel> + <bezel element="text_p4"> <bounds x="39.5" y="5.55" width="3.5" height="1.7" /></bezel> + <bezel element="text_p3"> <bounds x="44.5" y="5.55" width="3.5" height="1.7" /></bezel> + <bezel element="text_p2"> <bounds x="49.5" y="5.55" width="3.5" height="1.7" /></bezel> + <bezel element="text_p1"> <bounds x="54.5" y="5.55" width="3.5" height="1.7" /></bezel> + + <bezel element="hlb" inputtag="KEY" inputmask="0x01"> <bounds x="29.5" y="3" width="3.5" height="2.5" /> </bezel> + <bezel element="hlb" inputtag="KEY" inputmask="0x02"> <bounds x="34.5" y="3" width="3.5" height="2.5" /> </bezel> + <bezel element="hlb" inputtag="KEY" inputmask="0x04"> <bounds x="39.5" y="3" width="3.5" height="2.5" /> </bezel> + <bezel element="hlb" inputtag="KEY" inputmask="0x08"> <bounds x="44.5" y="3" width="3.5" height="2.5" /> </bezel> + <bezel element="hlb" inputtag="KEY" inputmask="0x10"> <bounds x="49.5" y="3" width="3.5" height="2.5" /> </bezel> + <bezel element="hlb" inputtag="KEY" inputmask="0x20"> <bounds x="54.5" y="3" width="3.5" height="2.5" /> </bezel> + <bezel element="hlb" inputtag="KEY" inputmask="0x40"> <bounds x="49.5" y="10" width="3.5" height="2.5" /> </bezel> + <bezel element="hlb" inputtag="KEY" inputmask="0x80"> <bounds x="54.5" y="10" width="3.5" height="2.5" /> </bezel> </group> - <view name="Chessboard + Display Modul"> - <bounds left="-1" right="86" top="0" bottom="100.5" /> - <bezel element="background"><bounds x="-1" y="0" width="87" height="87" /></bezel> + <view name="Internal Layout"> + <bounds left="0" right="101" top="0" bottom="103" /> + <bezel element="cblack"><bounds x="14" y="0" width="87" height="87" /></bezel> + <bezel element="cwhite"><bounds x="17" y="2" width="81" height="81" /></bezel> <!-- chessboard coords --> - <bezel element="text_8"><bounds x="-0.8" y="7" width="2" height="2" /></bezel> - <bezel element="text_7"><bounds x="-0.8" y="17" width="2" height="2" /></bezel> - <bezel element="text_6"><bounds x="-0.8" y="27" width="2" height="2" /></bezel> - <bezel element="text_5"><bounds x="-0.8" y="37" width="2" height="2" /></bezel> - <bezel element="text_4"><bounds x="-0.8" y="47" width="2" height="2" /></bezel> - <bezel element="text_3"><bounds x="-0.8" y="57" width="2" height="2" /></bezel> - <bezel element="text_2"><bounds x="-0.8" y="67" width="2" height="2" /></bezel> - <bezel element="text_1"><bounds x="-0.8" y="77" width="2" height="2" /></bezel> - - <bezel element="text_a"><bounds x="7" y="85" width="2" height="2" /></bezel> - <bezel element="text_b"><bounds x="17" y="85" width="2" height="2" /></bezel> - <bezel element="text_c"><bounds x="27" y="85" width="2" height="2" /></bezel> - <bezel element="text_d"><bounds x="37" y="85" width="2" height="2" /></bezel> - <bezel element="text_e"><bounds x="47" y="85" width="2" height="2" /></bezel> - <bezel element="text_f"><bounds x="57" y="85" width="2" height="2" /></bezel> - <bezel element="text_g"><bounds x="67" y="85" width="2" height="2" /></bezel> - <bezel element="text_h"><bounds x="77" y="85" width="2" height="2" /></bezel> - - <!-- chessboard bezel --> - - <bezel element="white"><bounds x="2" y="2" width="82" height="82" /></bezel> - <bezel element="white"><bounds x="3" y="3" width="80" height="80" /></bezel> - - <bezel element="black"><bounds x="13" y="2.5" width="10" height="10.5" /></bezel> - <bezel element="black"><bounds x="33" y="2.5" width="10" height="10.5" /></bezel> - <bezel element="black"><bounds x="53" y="2.5" width="10" height="10.5" /></bezel> - <bezel element="black"><bounds x="73" y="2.5" width="10.5" height="10.5" /></bezel> - - <bezel element="black"><bounds x="2.5" y="13" width="10.5" height="10" /></bezel> - <bezel element="black"><bounds x="23" y="13" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="43" y="13" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="63" y="13" width="10" height="10" /></bezel> - - <bezel element="black"><bounds x="13" y="23" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="33" y="23" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="53" y="23" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="73" y="23" width="10.5" height="10" /></bezel> - - <bezel element="black"><bounds x="2.5" y="33" width="10.5" height="10" /></bezel> - <bezel element="black"><bounds x="23" y="33" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="43" y="33" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="63" y="33" width="10" height="10" /></bezel> - - <bezel element="black"><bounds x="13" y="43" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="33" y="43" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="53" y="43" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="73" y="43" width="10.5" height="10" /></bezel> - - <bezel element="black"><bounds x="2.5" y="53" width="10.5" height="10" /></bezel> - <bezel element="black"><bounds x="23" y="53" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="43" y="53" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="63" y="53" width="10" height="10" /></bezel> - - <bezel element="black"><bounds x="13" y="63" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="33" y="63" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="53" y="63" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="73" y="63" width="10.5" height="10" /></bezel> - - <bezel element="black"><bounds x="2.5" y="73" width="10.5" height="10.5" /></bezel> - <bezel element="black"><bounds x="23" y="73" width="10" height="10.5" /></bezel> - <bezel element="black"><bounds x="43" y="73" width="10" height="10.5" /></bezel> - <bezel element="black"><bounds x="63" y="73" width="10" height="10.5" /></bezel> - - <!-- chessboard leds --> - - <bezel name="led0" element="led"><bounds x="11.2" y="81.3" width="1.5" height="1.5" /></bezel> - <bezel name="led1" element="led"><bounds x="21.2" y="81.3" width="1.5" height="1.5" /></bezel> - <bezel name="led2" element="led"><bounds x="31.2" y="81.3" width="1.5" height="1.5" /></bezel> - <bezel name="led3" element="led"><bounds x="41.2" y="81.3" width="1.5" height="1.5" /></bezel> - <bezel name="led4" element="led"><bounds x="51.2" y="81.3" width="1.5" height="1.5" /></bezel> - <bezel name="led5" element="led"><bounds x="61.2" y="81.3" width="1.5" height="1.5" /></bezel> - <bezel name="led6" element="led"><bounds x="71.2" y="81.3" width="1.5" height="1.5" /></bezel> - <bezel name="led7" element="led"><bounds x="81.2" y="81.3" width="1.5" height="1.5" /></bezel> - - <bezel name="led8" element="led"><bounds x="11.2" y="71.3" width="1.5" height="1.5" /></bezel> - <bezel name="led9" element="led"><bounds x="21.2" y="71.3" width="1.5" height="1.5" /></bezel> - <bezel name="led10" element="led"><bounds x="31.2" y="71.3" width="1.5" height="1.5" /></bezel> - <bezel name="led11" element="led"><bounds x="41.2" y="71.3" width="1.5" height="1.5" /></bezel> - <bezel name="led12" element="led"><bounds x="51.2" y="71.3" width="1.5" height="1.5" /></bezel> - <bezel name="led13" element="led"><bounds x="61.2" y="71.3" width="1.5" height="1.5" /></bezel> - <bezel name="led14" element="led"><bounds x="71.2" y="71.3" width="1.5" height="1.5" /></bezel> - <bezel name="led15" element="led"><bounds x="81.2" y="71.3" width="1.5" height="1.5" /></bezel> - - <bezel name="led16" element="led"><bounds x="11.2" y="61.3" width="1.5" height="1.5" /></bezel> - <bezel name="led17" element="led"><bounds x="21.2" y="61.3" width="1.5" height="1.5" /></bezel> - <bezel name="led18" element="led"><bounds x="31.2" y="61.3" width="1.5" height="1.5" /></bezel> - <bezel name="led19" element="led"><bounds x="41.2" y="61.3" width="1.5" height="1.5" /></bezel> - <bezel name="led20" element="led"><bounds x="51.2" y="61.3" width="1.5" height="1.5" /></bezel> - <bezel name="led21" element="led"><bounds x="61.2" y="61.3" width="1.5" height="1.5" /></bezel> - <bezel name="led22" element="led"><bounds x="71.2" y="61.3" width="1.5" height="1.5" /></bezel> - <bezel name="led23" element="led"><bounds x="81.2" y="61.3" width="1.5" height="1.5" /></bezel> - - <bezel name="led24" element="led"><bounds x="11.2" y="51.3" width="1.5" height="1.5" /></bezel> - <bezel name="led25" element="led"><bounds x="21.2" y="51.3" width="1.5" height="1.5" /></bezel> - <bezel name="led26" element="led"><bounds x="31.2" y="51.3" width="1.5" height="1.5" /></bezel> - <bezel name="led27" element="led"><bounds x="41.2" y="51.3" width="1.5" height="1.5" /></bezel> - <bezel name="led28" element="led"><bounds x="51.2" y="51.3" width="1.5" height="1.5" /></bezel> - <bezel name="led29" element="led"><bounds x="61.2" y="51.3" width="1.5" height="1.5" /></bezel> - <bezel name="led30" element="led"><bounds x="71.2" y="51.3" width="1.5" height="1.5" /></bezel> - <bezel name="led31" element="led"><bounds x="81.2" y="51.3" width="1.5" height="1.5" /></bezel> - - <bezel name="led32" element="led"><bounds x="11.2" y="41.3" width="1.5" height="1.5" /></bezel> - <bezel name="led33" element="led"><bounds x="21.2" y="41.3" width="1.5" height="1.5" /></bezel> - <bezel name="led34" element="led"><bounds x="31.2" y="41.3" width="1.5" height="1.5" /></bezel> - <bezel name="led35" element="led"><bounds x="41.2" y="41.3" width="1.5" height="1.5" /></bezel> - <bezel name="led36" element="led"><bounds x="51.2" y="41.3" width="1.5" height="1.5" /></bezel> - <bezel name="led37" element="led"><bounds x="61.2" y="41.3" width="1.5" height="1.5" /></bezel> - <bezel name="led38" element="led"><bounds x="71.2" y="41.3" width="1.5" height="1.5" /></bezel> - <bezel name="led39" element="led"><bounds x="81.2" y="41.3" width="1.5" height="1.5" /></bezel> - - <bezel name="led40" element="led"><bounds x="11.2" y="31.3" width="1.5" height="1.5" /></bezel> - <bezel name="led41" element="led"><bounds x="21.2" y="31.3" width="1.5" height="1.5" /></bezel> - <bezel name="led42" element="led"><bounds x="31.2" y="31.3" width="1.5" height="1.5" /></bezel> - <bezel name="led43" element="led"><bounds x="41.2" y="31.3" width="1.5" height="1.5" /></bezel> - <bezel name="led44" element="led"><bounds x="51.2" y="31.3" width="1.5" height="1.5" /></bezel> - <bezel name="led45" element="led"><bounds x="61.2" y="31.3" width="1.5" height="1.5" /></bezel> - <bezel name="led46" element="led"><bounds x="71.2" y="31.3" width="1.5" height="1.5" /></bezel> - <bezel name="led47" element="led"><bounds x="81.2" y="31.3" width="1.5" height="1.5" /></bezel> - - <bezel name="led48" element="led"><bounds x="11.2" y="21.3" width="1.5" height="1.5" /></bezel> - <bezel name="led49" element="led"><bounds x="21.2" y="21.3" width="1.5" height="1.5" /></bezel> - <bezel name="led50" element="led"><bounds x="31.2" y="21.3" width="1.5" height="1.5" /></bezel> - <bezel name="led51" element="led"><bounds x="41.2" y="21.3" width="1.5" height="1.5" /></bezel> - <bezel name="led52" element="led"><bounds x="51.2" y="21.3" width="1.5" height="1.5" /></bezel> - <bezel name="led53" element="led"><bounds x="61.2" y="21.3" width="1.5" height="1.5" /></bezel> - <bezel name="led54" element="led"><bounds x="71.2" y="21.3" width="1.5" height="1.5" /></bezel> - <bezel name="led55" element="led"><bounds x="81.2" y="21.3" width="1.5" height="1.5" /></bezel> - - <bezel name="led56" element="led"><bounds x="11.2" y="11.3" width="1.5" height="1.5" /></bezel> - <bezel name="led57" element="led"><bounds x="21.2" y="11.3" width="1.5" height="1.5" /></bezel> - <bezel name="led58" element="led"><bounds x="31.2" y="11.3" width="1.5" height="1.5" /></bezel> - <bezel name="led59" element="led"><bounds x="41.2" y="11.3" width="1.5" height="1.5" /></bezel> - <bezel name="led60" element="led"><bounds x="51.2" y="11.3" width="1.5" height="1.5" /></bezel> - <bezel name="led61" element="led"><bounds x="61.2" y="11.3" width="1.5" height="1.5" /></bezel> - <bezel name="led62" element="led"><bounds x="71.2" y="11.3" width="1.5" height="1.5" /></bezel> - <bezel name="led63" element="led"><bounds x="81.2" y="11.3" width="1.5" height="1.5" /></bezel> - - <!-- chessboard sensors --> - - <bezel element="hl" inputtag="board:IN.7" inputmask="0x01"><bounds x="3" y="3" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.7" inputmask="0x02"><bounds x="13" y="3" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.7" inputmask="0x04"><bounds x="23" y="3" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.7" inputmask="0x08"><bounds x="33" y="3" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.7" inputmask="0x10"><bounds x="43" y="3" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.7" inputmask="0x20"><bounds x="53" y="3" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.7" inputmask="0x40"><bounds x="63" y="3" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.7" inputmask="0x80"><bounds x="73" y="3" width="10" height="10" /><color alpha="0.2" /></bezel> - - <bezel element="hl" inputtag="board:IN.6" inputmask="0x01"><bounds x="3" y="13" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.6" inputmask="0x02"><bounds x="13" y="13" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.6" inputmask="0x04"><bounds x="23" y="13" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.6" inputmask="0x08"><bounds x="33" y="13" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.6" inputmask="0x10"><bounds x="43" y="13" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.6" inputmask="0x20"><bounds x="53" y="13" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.6" inputmask="0x40"><bounds x="63" y="13" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.6" inputmask="0x80"><bounds x="73" y="13" width="10" height="10" /><color alpha="0.4" /></bezel> - - <bezel element="hl" inputtag="board:IN.5" inputmask="0x01"><bounds x="3" y="23" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.5" inputmask="0x02"><bounds x="13" y="23" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.5" inputmask="0x04"><bounds x="23" y="23" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.5" inputmask="0x08"><bounds x="33" y="23" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.5" inputmask="0x10"><bounds x="43" y="23" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.5" inputmask="0x20"><bounds x="53" y="23" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.5" inputmask="0x40"><bounds x="63" y="23" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.5" inputmask="0x80"><bounds x="73" y="23" width="10" height="10" /><color alpha="0.2" /></bezel> - - <bezel element="hl" inputtag="board:IN.4" inputmask="0x01"><bounds x="3" y="33" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.4" inputmask="0x02"><bounds x="13" y="33" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.4" inputmask="0x04"><bounds x="23" y="33" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.4" inputmask="0x08"><bounds x="33" y="33" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.4" inputmask="0x10"><bounds x="43" y="33" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.4" inputmask="0x20"><bounds x="53" y="33" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.4" inputmask="0x40"><bounds x="63" y="33" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.4" inputmask="0x80"><bounds x="73" y="33" width="10" height="10" /><color alpha="0.4" /></bezel> - - <bezel element="hl" inputtag="board:IN.3" inputmask="0x01"><bounds x="3" y="43" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.3" inputmask="0x02"><bounds x="13" y="43" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.3" inputmask="0x04"><bounds x="23" y="43" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.3" inputmask="0x08"><bounds x="33" y="43" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.3" inputmask="0x10"><bounds x="43" y="43" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.3" inputmask="0x20"><bounds x="53" y="43" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.3" inputmask="0x40"><bounds x="63" y="43" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.3" inputmask="0x80"><bounds x="73" y="43" width="10" height="10" /><color alpha="0.2" /></bezel> - - <bezel element="hl" inputtag="board:IN.2" inputmask="0x01"><bounds x="3" y="53" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.2" inputmask="0x02"><bounds x="13" y="53" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.2" inputmask="0x04"><bounds x="23" y="53" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.2" inputmask="0x08"><bounds x="33" y="53" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.2" inputmask="0x10"><bounds x="43" y="53" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.2" inputmask="0x20"><bounds x="53" y="53" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.2" inputmask="0x40"><bounds x="63" y="53" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.2" inputmask="0x80"><bounds x="73" y="53" width="10" height="10" /><color alpha="0.4" /></bezel> - - <bezel element="hl" inputtag="board:IN.1" inputmask="0x01"><bounds x="3" y="63" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.1" inputmask="0x02"><bounds x="13" y="63" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.1" inputmask="0x04"><bounds x="23" y="63" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.1" inputmask="0x08"><bounds x="33" y="63" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.1" inputmask="0x10"><bounds x="43" y="63" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.1" inputmask="0x20"><bounds x="53" y="63" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.1" inputmask="0x40"><bounds x="63" y="63" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.1" inputmask="0x80"><bounds x="73" y="63" width="10" height="10" /><color alpha="0.2" /></bezel> - - <bezel element="hl" inputtag="board:IN.0" inputmask="0x01"><bounds x="3" y="73" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.0" inputmask="0x02"><bounds x="13" y="73" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.0" inputmask="0x04"><bounds x="23" y="73" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.0" inputmask="0x08"><bounds x="33" y="73" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.0" inputmask="0x10"><bounds x="43" y="73" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.0" inputmask="0x20"><bounds x="53" y="73" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.0" inputmask="0x40"><bounds x="63" y="73" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.0" inputmask="0x80"><bounds x="73" y="73" width="10" height="10" /><color alpha="0.4" /></bezel> + <bezel element="text_8"><bounds x="14.2" y="7" width="2" height="2" /></bezel> + <bezel element="text_7"><bounds x="14.2" y="17" width="2" height="2" /></bezel> + <bezel element="text_6"><bounds x="14.2" y="27" width="2" height="2" /></bezel> + <bezel element="text_5"><bounds x="14.2" y="37" width="2" height="2" /></bezel> + <bezel element="text_4"><bounds x="14.2" y="47" width="2" height="2" /></bezel> + <bezel element="text_3"><bounds x="14.2" y="57" width="2" height="2" /></bezel> + <bezel element="text_2"><bounds x="14.2" y="67" width="2" height="2" /></bezel> + <bezel element="text_1"><bounds x="14.2" y="77" width="2" height="2" /></bezel> + + <bezel element="text_a"><bounds x="21.5" y="84" width="2" height="2" /></bezel> + <bezel element="text_b"><bounds x="31.5" y="84" width="2" height="2" /></bezel> + <bezel element="text_c"><bounds x="41.5" y="84" width="2" height="2" /></bezel> + <bezel element="text_d"><bounds x="51.5" y="84" width="2" height="2" /></bezel> + <bezel element="text_e"><bounds x="61.5" y="84" width="2" height="2" /></bezel> + <bezel element="text_f"><bounds x="71.5" y="84" width="2" height="2" /></bezel> + <bezel element="text_g"><bounds x="81.5" y="84" width="2" height="2" /></bezel> + <bezel element="text_h"><bounds x="91.5" y="84" width="2" height="2" /></bezel> <!-- LCD panel --> - <group ref="panel"><bounds x="28" y="88" width="56" height="11.5" /></group> - </view> + <group ref="panel"><bounds x="40" y="88" width="60" height="14" /></group> + + <group ref="sb_board"><bounds x="17.5" y="2.5" width="80" height="80" /></group> + <group ref="sb_ui"><bounds x="1.5" y="3" width="10" height="80" /></group> - <view name="Display Modul"> - <group ref="panel"><bounds x="0" y="0" width="56" height="11.5" /></group> </view> </mamelayout> diff --git a/src/mame/layout/mephisto_megaiv.lay b/src/mame/layout/mephisto_megaiv.lay index b90656a2fc9..3a52011ad59 100644 --- a/src/mame/layout/mephisto_megaiv.lay +++ b/src/mame/layout/mephisto_megaiv.lay @@ -1,11 +1,14 @@ <?xml version="1.0"?> <mamelayout version="2"> <!-- define elements --> + + <!-- 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="0.75" green="0.0" blue="0.0" /> + <color red="1" green="1" blue="1" /> </led7seg> </element> + <element name="led" defstate="0"> <rect state="0"> <color red="0.20" green="0.0" blue="0.0" /> @@ -14,31 +17,21 @@ <color red="0.95" green="0.0" blue="0.0" /> </rect> </element> - <element name="hl" defstate="0"> + <element name="hlb" defstate="0"> <text string=" "> <bounds x="0.0" y="0.0" width="1.0" height="1.0" /> <color red="0.0" green="0.0" blue="0.0" /> </text> <disk state="1"> - <bounds x="0.12" y="0.12" width="0.76" height="0.76" /> - <color red="0.5" green="0.5" blue="0.5" /> - </disk> - </element> - <element name="hlb" defstate="0"> - <rect state="0"> - <bounds x="0.0" y="0.0" width="1.0" height="1.0" /> - <color red="1" green="1" blue="1" /> - </rect> - <rect state="1"> <bounds x="0.0" y="0.0" width="1.0" height="1.0" /> - <color red="0.8" green="0.8" blue="0.8" /> - </rect> + <color red="1.0" green="1.0" blue="1.0" /> + </disk> </element> <element name="led7seg_background"><rect><color red="0" green="0" blue="0" /> </rect></element> <element name="background"> <rect><color red="0.90" green="0.91" blue="0.89" /></rect></element> <element name="black"> <rect><color red="0" green="0" blue="0" /> </rect></element> - <element name="white"> <rect><color red="0.90" green="0.91" blue="0.89" /></rect></element> + <element name="red"> <rect><color red="0.8" green="0" blue="0" /> </rect></element> <element name="text_1"> <rect><color red="0.90" green="0.91" blue="0.89" /></rect> <text string="1"> <color red="0" green="0" blue="0" /></text> </element> <element name="text_2"> <rect><color red="0.90" green="0.91" blue="0.89" /></rect> <text string="2"> <color red="0" green="0" blue="0" /></text> </element> @@ -80,17 +73,297 @@ <element name="text_res"> <rect><color red="0.90" green="0.91" blue="0.89" /></rect> <text string="RES"> <color red="0" green="0" blue="0" /></text> </element> <element name="text_lcd"> <rect><color red="0.90" green="0.91" blue="0.89" /></rect> <text string="MULTI INFO LCD"> <color red="0" green="0" blue="0" /></text> </element> -<!-- build screen --> + + <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> + + +<!-- sb board --> + + <element name="cwhite"><rect><color red="1.00" green="1.00" blue="1.00" /></rect></element> + <element name="cblack"><rect><color red="0.30" green="0.30" blue="0.30" /></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> + + <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> + + <!-- sensors, pieces --> + <repeat count="8"> + <param name="y" start="0" increment="10" /> + <param name="i" start="8" increment="-1" /> + + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x01"><bounds x="0" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x02"><bounds x="10" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x04"><bounds x="20" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x08"><bounds x="30" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x10"><bounds x="40" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x20"><bounds x="50" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x40"><bounds x="60" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board: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="1.00" green="1.00" blue="1.00" /></rect> + <text string="RESET"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_uib3"> + <rect><color red="1.00" green="1.00" blue="1.00" /></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="1.00" green="1.00" blue="1.00" /></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="1.00" green="1.00" blue="1.00" /></rect> + <text string=" <<"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_uiu2b"> + <rect><color red="1.00" green="1.00" blue="1.00" /></rect> + <text string=" < "><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_uiu2c"> + <rect><color red="1.00" green="1.00" blue="1.00" /></rect> + <text string=" >"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_uiu2d"> + <rect><color red="1.00" green="1.00" blue="1.00" /></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: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: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:board:SPAWN" inputmask="0x0001"><bounds x="1" y="23" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0002"><bounds x="1" y="27" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0004"><bounds x="1" y="31" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0008"><bounds x="5" y="23" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0010"><bounds x="5" y="27" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0020"><bounds x="5" y="31" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0040"><bounds x="1" y="36" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0080"><bounds x="1" y="40" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0100"><bounds x="1" y="44" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0200"><bounds x="5" y="36" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0400"><bounds x="5" y="40" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board: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: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: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: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: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: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> + <group name="panel"> + <bounds left="0" right="79" top="0" bottom="13" /> <bezel element="background"><bounds x="0" y="0" width="79" height="13" /></bezel> <bezel element="text_lcd"> <bounds x="0.5" y="0" width="9" height="1.5" /> </bezel> - <bezel element="led7seg_background"> <bounds x="0.5" y="1.5" width="9" height="4" /> </bezel> + <bezel element="led7seg_background"> <bounds x="0.5" y="1.5" width="9" height="4" /> </bezel> <bezel name="digit0" element="digit"> <bounds x="1" y="2" width="2" height="3" /> </bezel> <bezel name="digit1" element="digit"> <bounds x="3" y="2" width="2" height="3" /> </bezel> <bezel name="digit2" element="digit"> <bounds x="5" y="2" width="2" height="3" /> </bezel> <bezel name="digit3" element="digit"> <bounds x="7" y="2" width="2" height="3" /> </bezel> - <bezel element="led7seg_background"> <bounds x="0.5" y="7.5" width="9" height="4" /> </bezel> + <bezel element="led7seg_background"> <bounds x="0.5" y="7.5" width="9" height="4" /> </bezel> <bezel name="digit4" element="digit"> <bounds x="1" y="8" width="2" height="3" /> </bezel> <bezel name="digit5" element="digit"> <bounds x="3" y="8" width="2" height="3" /> </bezel> <bezel name="digit6" element="digit"> <bounds x="5" y="8" width="2" height="3" /> </bezel> @@ -105,22 +378,22 @@ <bezel name="led106" element="led"> <bounds x="64.1" y="0.25" width="1.3" height="1" /> </bezel> <bezel name="led107" element="led"> <bounds x="72.6" y="0.25" width="1.3" height="1" /> </bezel> - <bezel element="hlb" inputtag="KEY.1" inputmask="0x01"> <bounds x="13" y="2" width="6" height="4" /> <color red="0" green="0" blue="0" /></bezel> - <bezel element="hlb" inputtag="KEY.1" inputmask="0x10"> <bounds x="21.5" y="2" width="6" height="4" /> <color red="0" green="0" blue="0" /></bezel> - <bezel element="hlb" inputtag="KEY.0" inputmask="0x01"> <bounds x="30" y="2" width="6" height="4" /> <color red="0" green="0" blue="0" /></bezel> - <bezel element="hlb" inputtag="KEY.0" inputmask="0x10"> <bounds x="38.5" y="2" width="6" height="4" /> <color red="0" green="0" blue="0" /></bezel> - <bezel element="hlb" inputtag="KEY.1" inputmask="0x02"> <bounds x="47" y="2" width="6" height="4" /> <color red="0" green="0" blue="0" /></bezel> - <bezel element="hlb" inputtag="KEY.1" inputmask="0x20"> <bounds x="55.5" y="2" width="6" height="4" /> <color red="0" green="0" blue="0" /></bezel> - <bezel element="hlb" inputtag="KEY.0" inputmask="0x02"> <bounds x="64" y="2" width="6" height="4" /> <color red="0" green="0" blue="0" /></bezel> - <bezel element="hlb" inputtag="KEY.0" inputmask="0x20"> <bounds x="72.5" y="2" width="6" height="4" /> <color red="0" green="0" blue="0" /></bezel> - <bezel element="hlb" inputtag="KEY.1" inputmask="0x04"> <bounds x="13" y="7.5" width="6" height="4" /> <color red="0" green="0" blue="0" /></bezel> - <bezel element="hlb" inputtag="KEY.1" inputmask="0x40"> <bounds x="21.5" y="7.5" width="6" height="4" /> <color red="0" green="0" blue="0" /></bezel> - <bezel element="hlb" inputtag="KEY.0" inputmask="0x04"> <bounds x="30" y="7.5" width="6" height="4" /> <color red="0" green="0" blue="0" /></bezel> - <bezel element="hlb" inputtag="KEY.0" inputmask="0x40"> <bounds x="38.5" y="7.5" width="6" height="4" /> <color red="0" green="0" blue="0" /></bezel> - <bezel element="hlb" inputtag="KEY.1" inputmask="0x08"> <bounds x="47" y="7.5" width="6" height="4" /> <color red="0" green="0" blue="0" /></bezel> - <bezel element="hlb" inputtag="KEY.1" inputmask="0x80"> <bounds x="55.5" y="7.5" width="6" height="4" /> <color red="0" green="0" blue="0" /></bezel> - <bezel element="hlb" inputtag="KEY.0" inputmask="0x08"> <bounds x="64" y="7.5" width="6" height="4" /> <color red="0.8" green="0" blue="0" /></bezel> - <bezel element="hlb" inputtag="KEY.0" inputmask="0x80"> <bounds x="72.5" y="7.5" width="6" height="4" /> <color red="0.8" green="0" blue="0" /></bezel> + <bezel element="black"> <bounds x="13" y="2" width="6" height="4" /> </bezel> + <bezel element="black"> <bounds x="21.5" y="2" width="6" height="4" /> </bezel> + <bezel element="black"> <bounds x="30" y="2" width="6" height="4" /> </bezel> + <bezel element="black"> <bounds x="38.5" y="2" width="6" height="4" /> </bezel> + <bezel element="black"> <bounds x="47" y="2" width="6" height="4" /> </bezel> + <bezel element="black"> <bounds x="55.5" y="2" width="6" height="4" /> </bezel> + <bezel element="black"> <bounds x="64" y="2" width="6" height="4" /> </bezel> + <bezel element="black"> <bounds x="72.5" y="2" width="6" height="4" /> </bezel> + <bezel element="black"> <bounds x="13" y="7.5" width="6" height="4" /> </bezel> + <bezel element="black"> <bounds x="21.5" y="7.5" width="6" height="4" /> </bezel> + <bezel element="black"> <bounds x="30" y="7.5" width="6" height="4" /> </bezel> + <bezel element="black"> <bounds x="38.5" y="7.5" width="6" height="4" /> </bezel> + <bezel element="black"> <bounds x="47" y="7.5" width="6" height="4" /> </bezel> + <bezel element="black"> <bounds x="55.5" y="7.5" width="6" height="4" /> </bezel> + <bezel element="red"> <bounds x="64" y="7.5" width="6" height="4" /> </bezel> + <bezel element="red"> <bounds x="72.5" y="7.5" width="6" height="4" /> </bezel> <bezel element="text_book"> <bounds x="15" y="0" width="4" height="1.5" /> </bezel> <bezel element="text_pos"> <bounds x="23.5" y="0" width="3" height="1.5" /> </bezel> @@ -128,8 +401,8 @@ <bezel element="text_info"> <bounds x="40.5" y="0" width="4" height="1.5" /> </bezel> <bezel element="text_err"> <bounds x="49" y="0" width="3" height="1.5" /> </bezel> <bezel element="text_lev"> <bounds x="57.5" y="0" width="3" height="1.5" /> </bezel> - <bezel element="text_black"> <bounds x="66" y="0" width="1" height="1.5" /> </bezel> - <bezel element="text_white"> <bounds x="75" y="0" width="1" height="1.5" /> </bezel> + <bezel element="text_black"> <bounds x="66" y="0" width="1" height="1.5" /> </bezel> + <bezel element="text_white"> <bounds x="75" y="0" width="1" height="1.5" /> </bezel> <bezel element="text_b1"> <bounds x="13.5" y="2.5" width="5" height="1.5" /> </bezel> <bezel element="text_b2"> <bounds x="22" y="2.5" width="5" height="1.5" /> </bezel> <bezel element="text_b3"> <bounds x="30.5" y="2.5" width="5" height="1.5" /> </bezel> @@ -138,7 +411,7 @@ <bezel element="text_b6"> <bounds x="56" y="2.5" width="5" height="1.5" /> </bezel> <bezel element="text_b7"> <bounds x="64.5" y="2.5" width="5" height="1.5" /> </bezel> <bezel element="text_b8"> <bounds x="73" y="2.5" width="5" height="1.5" /> </bezel> - <bezel element="text_book9"> <bounds x="13.5" y="8" width="5" height="1.5" /> </bezel> + <bezel element="text_book9"> <bounds x="13.5" y="8" width="5" height="1.5" /> </bezel> <bezel element="text_pos0"> <bounds x="22" y="8" width="5" height="1.5" /> </bezel> <bezel element="text_mem"> <bounds x="30.5" y="8" width="5" height="1.5" /> </bezel> <bezel element="text_info"> <bounds x="39" y="8" width="5" height="1.5" /> </bezel> @@ -146,175 +419,80 @@ <bezel element="text_lev"> <bounds x="56" y="8" width="5" height="1.5" /> </bezel> <bezel element="text_ent"> <bounds x="64.5" y="8" width="5" height="1.5" /> </bezel> <bezel element="text_res"> <bounds x="73" y="8" width="5" height="1.5" /> </bezel> + + <bezel element="hlb" inputtag="KEY.1" inputmask="0x01"> <bounds x="13" y="2" width="6" height="4" /> <color alpha="0.3"/></bezel> + <bezel element="hlb" inputtag="KEY.1" inputmask="0x10"> <bounds x="21.5" y="2" width="6" height="4" /> <color alpha="0.3"/></bezel> + <bezel element="hlb" inputtag="KEY.0" inputmask="0x01"> <bounds x="30" y="2" width="6" height="4" /> <color alpha="0.3"/></bezel> + <bezel element="hlb" inputtag="KEY.0" inputmask="0x10"> <bounds x="38.5" y="2" width="6" height="4" /> <color alpha="0.3"/></bezel> + <bezel element="hlb" inputtag="KEY.1" inputmask="0x02"> <bounds x="47" y="2" width="6" height="4" /> <color alpha="0.3"/></bezel> + <bezel element="hlb" inputtag="KEY.1" inputmask="0x20"> <bounds x="55.5" y="2" width="6" height="4" /> <color alpha="0.3"/></bezel> + <bezel element="hlb" inputtag="KEY.0" inputmask="0x02"> <bounds x="64" y="2" width="6" height="4" /> <color alpha="0.3"/></bezel> + <bezel element="hlb" inputtag="KEY.0" inputmask="0x20"> <bounds x="72.5" y="2" width="6" height="4" /> <color alpha="0.3"/></bezel> + <bezel element="hlb" inputtag="KEY.1" inputmask="0x04"> <bounds x="13" y="7.5" width="6" height="4" /> <color alpha="0.3"/></bezel> + <bezel element="hlb" inputtag="KEY.1" inputmask="0x40"> <bounds x="21.5" y="7.5" width="6" height="4" /> <color alpha="0.3"/></bezel> + <bezel element="hlb" inputtag="KEY.0" inputmask="0x04"> <bounds x="30" y="7.5" width="6" height="4" /> <color alpha="0.3"/></bezel> + <bezel element="hlb" inputtag="KEY.0" inputmask="0x40"> <bounds x="38.5" y="7.5" width="6" height="4" /> <color alpha="0.3"/></bezel> + <bezel element="hlb" inputtag="KEY.1" inputmask="0x08"> <bounds x="47" y="7.5" width="6" height="4" /> <color alpha="0.3"/></bezel> + <bezel element="hlb" inputtag="KEY.1" inputmask="0x80"> <bounds x="55.5" y="7.5" width="6" height="4" /> <color alpha="0.3"/></bezel> + <bezel element="hlb" inputtag="KEY.0" inputmask="0x08"> <bounds x="64" y="7.5" width="6" height="4" /> <color alpha="0.3"/></bezel> + <bezel element="hlb" inputtag="KEY.0" inputmask="0x80"> <bounds x="72.5" y="7.5" width="6" height="4" /> <color alpha="0.3"/></bezel> </group> - <view name="Chessboard + Display"> - <bezel element="background"><bounds x="-2" y="0" width="88" height="102" /></bezel> + +<!-- build screen --> + <view name="Internal Layout"> + <bounds left="0" right="101" top="0" bottom="102" /> + <bezel element="background"><bounds x="13" y="0" width="88" height="102" /></bezel> <!-- chessboard coords --> - <bezel element="text_8"><bounds x="-1.5" y="7" width="2" height="2" /></bezel> - <bezel element="text_7"><bounds x="-1.5" y="17" width="2" height="2" /></bezel> - <bezel element="text_6"><bounds x="-1.5" y="27" width="2" height="2" /></bezel> - <bezel element="text_5"><bounds x="-1.5" y="37" width="2" height="2" /></bezel> - <bezel element="text_4"><bounds x="-1.5" y="47" width="2" height="2" /></bezel> - <bezel element="text_3"><bounds x="-1.5" y="57" width="2" height="2" /></bezel> - <bezel element="text_2"><bounds x="-1.5" y="67" width="2" height="2" /></bezel> - <bezel element="text_1"><bounds x="-1.5" y="77" width="2" height="2" /></bezel> - - <bezel element="text_a"><bounds x="7" y="86" width="2" height="2" /></bezel> - <bezel element="text_b"><bounds x="17" y="86" width="2" height="2" /></bezel> - <bezel element="text_c"><bounds x="27" y="86" width="2" height="2" /></bezel> - <bezel element="text_d"><bounds x="37" y="86" width="2" height="2" /></bezel> - <bezel element="text_e"><bounds x="47" y="86" width="2" height="2" /></bezel> - <bezel element="text_f"><bounds x="57" y="86" width="2" height="2" /></bezel> - <bezel element="text_g"><bounds x="67" y="86" width="2" height="2" /></bezel> - <bezel element="text_h"><bounds x="77" y="86" width="2" height="2" /></bezel> + <bezel element="text_8"><bounds x="13.5" y="7" width="2" height="2" /></bezel> + <bezel element="text_7"><bounds x="13.5" y="17" width="2" height="2" /></bezel> + <bezel element="text_6"><bounds x="13.5" y="27" width="2" height="2" /></bezel> + <bezel element="text_5"><bounds x="13.5" y="37" width="2" height="2" /></bezel> + <bezel element="text_4"><bounds x="13.5" y="47" width="2" height="2" /></bezel> + <bezel element="text_3"><bounds x="13.5" y="57" width="2" height="2" /></bezel> + <bezel element="text_2"><bounds x="13.5" y="67" width="2" height="2" /></bezel> + <bezel element="text_1"><bounds x="13.5" y="77" width="2" height="2" /></bezel> + + <bezel element="text_a"><bounds x="22" y="86" width="2" height="2" /></bezel> + <bezel element="text_b"><bounds x="32" y="86" width="2" height="2" /></bezel> + <bezel element="text_c"><bounds x="42" y="86" width="2" height="2" /></bezel> + <bezel element="text_d"><bounds x="52" y="86" width="2" height="2" /></bezel> + <bezel element="text_e"><bounds x="62" y="86" width="2" height="2" /></bezel> + <bezel element="text_f"><bounds x="72" y="86" width="2" height="2" /></bezel> + <bezel element="text_g"><bounds x="82" y="86" width="2" height="2" /></bezel> + <bezel element="text_h"><bounds x="92" y="86" width="2" height="2" /></bezel> <!-- chessboard bezel --> - <bezel element="black"><bounds x="2.5" y="2.5" width="81" height="81" /></bezel> - <bezel element="white"><bounds x="3" y="3" width="80" height="80" /></bezel> - - <bezel element="black"><bounds x="13" y="2.5" width="10" height="10.5" /></bezel> - <bezel element="black"><bounds x="33" y="2.5" width="10" height="10.5" /></bezel> - <bezel element="black"><bounds x="53" y="2.5" width="10" height="10.5" /></bezel> - <bezel element="black"><bounds x="73" y="2.5" width="10.5" height="10.5" /></bezel> - - <bezel element="black"><bounds x="2.5" y="13" width="10.5" height="10" /></bezel> - <bezel element="black"><bounds x="23" y="13" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="43" y="13" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="63" y="13" width="10" height="10" /></bezel> - - <bezel element="black"><bounds x="13" y="23" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="33" y="23" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="53" y="23" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="73" y="23" width="10.5" height="10" /></bezel> - - <bezel element="black"><bounds x="2.5" y="33" width="10.5" height="10" /></bezel> - <bezel element="black"><bounds x="23" y="33" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="43" y="33" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="63" y="33" width="10" height="10" /></bezel> - - <bezel element="black"><bounds x="13" y="43" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="33" y="43" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="53" y="43" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="73" y="43" width="10.5" height="10" /></bezel> - - <bezel element="black"><bounds x="2.5" y="53" width="10.5" height="10" /></bezel> - <bezel element="black"><bounds x="23" y="53" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="43" y="53" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="63" y="53" width="10" height="10" /></bezel> - - <bezel element="black"><bounds x="13" y="63" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="33" y="63" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="53" y="63" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="73" y="63" width="10.5" height="10" /></bezel> - - <bezel element="black"><bounds x="2.5" y="73" width="10.5" height="10.5" /></bezel> - <bezel element="black"><bounds x="23" y="73" width="10" height="10.5" /></bezel> - <bezel element="black"><bounds x="43" y="73" width="10" height="10.5" /></bezel> - <bezel element="black"><bounds x="63" y="73" width="10" height="10.5" /></bezel> + <bezel element="black"><bounds x="17.5" y="2.5" width="81" height="81" /></bezel> <!-- chessboard leds --> - <bezel name="led0" element="led"><bounds x="0.5" y="77.25" width="1" height="1.5" /></bezel> - <bezel name="led1" element="led"><bounds x="0.5" y="67.25" width="1" height="1.5" /></bezel> - <bezel name="led2" element="led"><bounds x="0.5" y="57.25" width="1" height="1.5" /></bezel> - <bezel name="led3" element="led"><bounds x="0.5" y="47.25" width="1" height="1.5" /></bezel> - <bezel name="led4" element="led"><bounds x="0.5" y="37.25" width="1" height="1.5" /></bezel> - <bezel name="led5" element="led"><bounds x="0.5" y="27.25" width="1" height="1.5" /></bezel> - <bezel name="led6" element="led"><bounds x="0.5" y="17.25" width="1" height="1.5" /></bezel> - <bezel name="led7" element="led"><bounds x="0.5" y="7.25" width="1" height="1.5" /></bezel> - - <bezel name="led8" element="led"><bounds x="7.25" y="84.5" width="1.5" height="1" /></bezel> - <bezel name="led9" element="led"><bounds x="17.25" y="84.5" width="1.5" height="1" /></bezel> - <bezel name="led10" element="led"><bounds x="27.25" y="84.5" width="1.5" height="1" /></bezel> - <bezel name="led11" element="led"><bounds x="37.25" y="84.5" width="1.5" height="1" /></bezel> - <bezel name="led12" element="led"><bounds x="47.25" y="84.5" width="1.5" height="1" /></bezel> - <bezel name="led13" element="led"><bounds x="57.25" y="84.5" width="1.5" height="1" /></bezel> - <bezel name="led14" element="led"><bounds x="67.25" y="84.5" width="1.5" height="1" /></bezel> - <bezel name="led15" element="led"><bounds x="77.25" y="84.5" width="1.5" height="1" /></bezel> - - <!-- chessboard sensors --> - - <bezel element="hl" inputtag="board:IN.7" inputmask="0x01"><bounds x="3" y="3" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.7" inputmask="0x02"><bounds x="13" y="3" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.7" inputmask="0x04"><bounds x="23" y="3" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.7" inputmask="0x08"><bounds x="33" y="3" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.7" inputmask="0x10"><bounds x="43" y="3" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.7" inputmask="0x20"><bounds x="53" y="3" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.7" inputmask="0x40"><bounds x="63" y="3" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.7" inputmask="0x80"><bounds x="73" y="3" width="10" height="10" /><color alpha="0.2" /></bezel> - - <bezel element="hl" inputtag="board:IN.6" inputmask="0x01"><bounds x="3" y="13" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.6" inputmask="0x02"><bounds x="13" y="13" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.6" inputmask="0x04"><bounds x="23" y="13" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.6" inputmask="0x08"><bounds x="33" y="13" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.6" inputmask="0x10"><bounds x="43" y="13" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.6" inputmask="0x20"><bounds x="53" y="13" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.6" inputmask="0x40"><bounds x="63" y="13" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.6" inputmask="0x80"><bounds x="73" y="13" width="10" height="10" /><color alpha="0.4" /></bezel> - - <bezel element="hl" inputtag="board:IN.5" inputmask="0x01"><bounds x="3" y="23" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.5" inputmask="0x02"><bounds x="13" y="23" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.5" inputmask="0x04"><bounds x="23" y="23" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.5" inputmask="0x08"><bounds x="33" y="23" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.5" inputmask="0x10"><bounds x="43" y="23" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.5" inputmask="0x20"><bounds x="53" y="23" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.5" inputmask="0x40"><bounds x="63" y="23" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.5" inputmask="0x80"><bounds x="73" y="23" width="10" height="10" /><color alpha="0.2" /></bezel> - - <bezel element="hl" inputtag="board:IN.4" inputmask="0x01"><bounds x="3" y="33" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.4" inputmask="0x02"><bounds x="13" y="33" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.4" inputmask="0x04"><bounds x="23" y="33" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.4" inputmask="0x08"><bounds x="33" y="33" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.4" inputmask="0x10"><bounds x="43" y="33" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.4" inputmask="0x20"><bounds x="53" y="33" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.4" inputmask="0x40"><bounds x="63" y="33" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.4" inputmask="0x80"><bounds x="73" y="33" width="10" height="10" /><color alpha="0.4" /></bezel> - - <bezel element="hl" inputtag="board:IN.3" inputmask="0x01"><bounds x="3" y="43" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.3" inputmask="0x02"><bounds x="13" y="43" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.3" inputmask="0x04"><bounds x="23" y="43" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.3" inputmask="0x08"><bounds x="33" y="43" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.3" inputmask="0x10"><bounds x="43" y="43" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.3" inputmask="0x20"><bounds x="53" y="43" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.3" inputmask="0x40"><bounds x="63" y="43" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.3" inputmask="0x80"><bounds x="73" y="43" width="10" height="10" /><color alpha="0.2" /></bezel> - - <bezel element="hl" inputtag="board:IN.2" inputmask="0x01"><bounds x="3" y="53" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.2" inputmask="0x02"><bounds x="13" y="53" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.2" inputmask="0x04"><bounds x="23" y="53" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.2" inputmask="0x08"><bounds x="33" y="53" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.2" inputmask="0x10"><bounds x="43" y="53" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.2" inputmask="0x20"><bounds x="53" y="53" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.2" inputmask="0x40"><bounds x="63" y="53" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.2" inputmask="0x80"><bounds x="73" y="53" width="10" height="10" /><color alpha="0.4" /></bezel> - - <bezel element="hl" inputtag="board:IN.1" inputmask="0x01"><bounds x="3" y="63" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.1" inputmask="0x02"><bounds x="13" y="63" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.1" inputmask="0x04"><bounds x="23" y="63" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.1" inputmask="0x08"><bounds x="33" y="63" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.1" inputmask="0x10"><bounds x="43" y="63" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.1" inputmask="0x20"><bounds x="53" y="63" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.1" inputmask="0x40"><bounds x="63" y="63" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.1" inputmask="0x80"><bounds x="73" y="63" width="10" height="10" /><color alpha="0.2" /></bezel> - - <bezel element="hl" inputtag="board:IN.0" inputmask="0x01"><bounds x="3" y="73" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.0" inputmask="0x02"><bounds x="13" y="73" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.0" inputmask="0x04"><bounds x="23" y="73" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.0" inputmask="0x08"><bounds x="33" y="73" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.0" inputmask="0x10"><bounds x="43" y="73" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.0" inputmask="0x20"><bounds x="53" y="73" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.0" inputmask="0x40"><bounds x="63" y="73" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.0" inputmask="0x80"><bounds x="73" y="73" width="10" height="10" /><color alpha="0.4" /></bezel> + <bezel name="led0" element="led"><bounds x="15.5" y="77.25" width="1" height="1.5" /></bezel> + <bezel name="led1" element="led"><bounds x="15.5" y="67.25" width="1" height="1.5" /></bezel> + <bezel name="led2" element="led"><bounds x="15.5" y="57.25" width="1" height="1.5" /></bezel> + <bezel name="led3" element="led"><bounds x="15.5" y="47.25" width="1" height="1.5" /></bezel> + <bezel name="led4" element="led"><bounds x="15.5" y="37.25" width="1" height="1.5" /></bezel> + <bezel name="led5" element="led"><bounds x="15.5" y="27.25" width="1" height="1.5" /></bezel> + <bezel name="led6" element="led"><bounds x="15.5" y="17.25" width="1" height="1.5" /></bezel> + <bezel name="led7" element="led"><bounds x="15.5" y="7.25" width="1" height="1.5" /></bezel> + + <bezel name="led8" element="led"><bounds x="22.25" y="84.5" width="1.5" height="1" /></bezel> + <bezel name="led9" element="led"><bounds x="32.25" y="84.5" width="1.5" height="1" /></bezel> + <bezel name="led10" element="led"><bounds x="42.25" y="84.5" width="1.5" height="1" /></bezel> + <bezel name="led11" element="led"><bounds x="52.25" y="84.5" width="1.5" height="1" /></bezel> + <bezel name="led12" element="led"><bounds x="62.25" y="84.5" width="1.5" height="1" /></bezel> + <bezel name="led13" element="led"><bounds x="72.25" y="84.5" width="1.5" height="1" /></bezel> + <bezel name="led14" element="led"><bounds x="82.25" y="84.5" width="1.5" height="1" /></bezel> + <bezel name="led15" element="led"><bounds x="92.25" y="84.5" width="1.5" height="1" /></bezel> + <!-- LCD panel --> - <group ref="panel"><bounds x="3" y="89" width="79" height="13" /></group> - </view> + <group ref="panel"><bounds x="18" y="89" width="79" height="13" /></group> - <view name="Display"> - <group ref="panel"><bounds x="0" y="0" width="79" height="13" /></group> + <group ref="sb_board"><bounds x="18" y="3" width="80" height="80" /></group> + <group ref="sb_ui"><bounds x="1.5" y="3" width="10" height="80" /></group> </view> </mamelayout> diff --git a/src/mame/layout/mephisto_milano.lay b/src/mame/layout/mephisto_milano.lay index 080dcb47fef..84f5bab31d9 100644 --- a/src/mame/layout/mephisto_milano.lay +++ b/src/mame/layout/mephisto_milano.lay @@ -9,16 +9,6 @@ <color red="0.95" green="0.0" blue="0.0" /> </disk> </element> - <element name="hl" defstate="0"> - <text string=" "> - <bounds x="0.0" y="0.0" width="1.0" height="1.0" /> - <color red="0.0" green="0.0" blue="0.0" /> - </text> - <disk state="1"> - <bounds x="0.12" y="0.12" width="0.76" height="0.76" /> - <color red="1.0" green="1.0" blue="1.0" /> - </disk> - </element> <element name="hlb" defstate="0"> <rect state="0"> <bounds x="0.0" y="0.0" width="1.0" height="1.0" /> @@ -26,14 +16,10 @@ </rect> <rect state="1"> <bounds x="0.0" y="0.0" width="1.0" height="1.0" /> - <color red="0.4" green="0.4" blue="0.4" /> + <color red="0.7" green="0.7" blue="0.7" /> </rect> </element> - <element name="background"><rect><color red="0" green="0" blue="0" /></rect></element> - <element name="black"><rect><color red="0" green="0" blue="0" /></rect></element> - <element name="white"><rect><color red="1" green="1" blue="1" /></rect></element> - <element name="text_1"> <rect><color red="0" green="0" blue="0" /></rect> <text string="1"> <color red="1" green="1" blue="1" /></text> </element> <element name="text_2"> <rect><color red="0" green="0" blue="0" /></rect> <text string="2"> <color red="1" green="1" blue="1" /></text> </element> <element name="text_3"> <rect><color red="0" green="0" blue="0" /></rect> <text string="3"> <color red="1" green="1" blue="1" /></text> </element> @@ -66,9 +52,288 @@ <element name="text_p5"> <rect><color red="0" green="0" blue="0" /></rect> <text string="[N]"> <color red="1" green="1" blue="1" /></text> </element> <element name="text_p6"> <rect><color red="0" green="0" blue="0" /></rect> <text string="[P]"> <color red="1" green="1" blue="1" /></text> </element> -<!-- build screen --> + <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> + + +<!-- sb board --> + + <element name="cwhite"><rect><color red="1.00" green="1.00" blue="1.00" /></rect></element> + <element name="cblack"><rect><color red="0.40" green="0.40" blue="0.40" /></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> + + <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> + + <!-- sensors, pieces --> + <repeat count="8"> + <param name="y" start="0" increment="10" /> + <param name="i" start="8" increment="-1" /> + + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x01"><bounds x="0" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x02"><bounds x="10" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x04"><bounds x="20" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x08"><bounds x="30" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x10"><bounds x="40" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x20"><bounds x="50" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x40"><bounds x="60" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board: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="1.00" green="1.00" blue="1.00" /></rect> + <text string="RESET"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_uib3"> + <rect><color red="1.00" green="1.00" blue="1.00" /></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="1.00" green="1.00" blue="1.00" /></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="1.00" green="1.00" blue="1.00" /></rect> + <text string=" <<"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_uiu2b"> + <rect><color red="1.00" green="1.00" blue="1.00" /></rect> + <text string=" < "><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_uiu2c"> + <rect><color red="1.00" green="1.00" blue="1.00" /></rect> + <text string=" >"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_uiu2d"> + <rect><color red="1.00" green="1.00" blue="1.00" /></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: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: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:board:SPAWN" inputmask="0x0001"><bounds x="1" y="23" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0002"><bounds x="1" y="27" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0004"><bounds x="1" y="31" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0008"><bounds x="5" y="23" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0010"><bounds x="5" y="27" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0020"><bounds x="5" y="31" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0040"><bounds x="1" y="36" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0080"><bounds x="1" y="40" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0100"><bounds x="1" y="44" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0200"><bounds x="5" y="36" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0400"><bounds x="5" y="40" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board: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: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: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: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: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: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> + <group name="panel"> + <bounds left="0" right="24" top="0" bottom="24" /> <screen index="0"><bounds x="0" y="0" width="24" height="4.5" /></screen> <bezel element="hlb" inputtag="KEY" inputmask="0x01"> <bounds x="0.5" y="11" width="5" height="1" /> </bezel> @@ -80,199 +345,77 @@ <bezel element="hlb" inputtag="KEY" inputmask="0x40"> <bounds x="12.5" y="20" width="5" height="1" /> </bezel> <bezel element="hlb" inputtag="KEY" inputmask="0x80"> <bounds x="18.5" y="20" width="5" height="1" /> </bezel> - <bezel element="text_training"> <bounds x="0.5" y="9" width="5" height="1.2" /> </bezel> - <bezel element="text_info"> <bounds x="6.5" y="9" width="5" height="1.2" /> </bezel> - <bezel element="text_memory"> <bounds x="12.5" y="9" width="5" height="1.2" /> </bezel> - <bezel element="text_position"> <bounds x="18.5" y="9" width="5" height="1.2" /> </bezel> - <bezel element="text_level"> <bounds x="0.5" y="18" width="5" height="1.2" /> </bezel> - <bezel element="text_function"> <bounds x="6.5" y="18" width="5" height="1.2" /> </bezel> - <bezel element="text_enter"> <bounds x="12.5" y="18" width="5" height="1.2" /> </bezel> - <bezel element="text_clear"> <bounds x="18.5" y="18" width="5" height="1.2" /> </bezel> - <bezel element="text_p6"> <bounds x="0.5" y="12" width="5" height="1.7" /> </bezel> - <bezel element="text_p5"> <bounds x="6.5" y="12" width="5" height="1.7" /> </bezel> - <bezel element="text_p4"> <bounds x="12.5" y="12" width="5" height="1.7" /> </bezel> - <bezel element="text_p3"> <bounds x="18.5" y="12" width="5" height="1.7" /> </bezel> - <bezel element="text_p2"> <bounds x="0.5" y="21" width="5" height="1.7" /> </bezel> - <bezel element="text_p1"> <bounds x="6.5" y="21" width="5" height="1.7" /> </bezel> - <bezel element="text_newgame"> <bounds x="12.5" y="22" width="11" height="1.4" /> </bezel> - - <bezel name="led100" element="led"> <bounds x="2.5" y="7" width="1.2" height="1.2" /> </bezel> - <bezel name="led101" element="led"> <bounds x="8.5" y="7" width="1.2" height="1.2" /> </bezel> - <bezel name="led102" element="led"> <bounds x="14.5" y="7" width="1.2" height="1.2" /> </bezel> - <bezel name="led103" element="led"> <bounds x="20.5" y="7" width="1.2" height="1.2" /> </bezel> - <bezel name="led104" element="led"> <bounds x="2.5" y="16" width="1.2" height="1.2" /> </bezel> - <bezel name="led105" element="led"> <bounds x="8.5" y="16" width="1.2" height="1.2" /> </bezel> + <bezel element="text_training"> <bounds x="0.5" y="9" width="5" height="1.2" /> </bezel> + <bezel element="text_info"> <bounds x="6.5" y="9" width="5" height="1.2" /> </bezel> + <bezel element="text_memory"> <bounds x="12.5" y="9" width="5" height="1.2" /> </bezel> + <bezel element="text_position"> <bounds x="18.5" y="9" width="5" height="1.2" /> </bezel> + <bezel element="text_level"> <bounds x="0.5" y="18" width="5" height="1.2" /> </bezel> + <bezel element="text_function"> <bounds x="6.5" y="18" width="5" height="1.2" /> </bezel> + <bezel element="text_enter"> <bounds x="12.5" y="18" width="5" height="1.2" /> </bezel> + <bezel element="text_clear"> <bounds x="18.5" y="18" width="5" height="1.2" /> </bezel> + <bezel element="text_p6"> <bounds x="0.5" y="12.5" width="5" height="1.7" /> </bezel> + <bezel element="text_p5"> <bounds x="6.5" y="12.5" width="5" height="1.7" /> </bezel> + <bezel element="text_p4"> <bounds x="12.5" y="12.5" width="5" height="1.7" /> </bezel> + <bezel element="text_p3"> <bounds x="18.5" y="12.5" width="5" height="1.7" /> </bezel> + <bezel element="text_p2"> <bounds x="0.5" y="21.5" width="5" height="1.7" /> </bezel> + <bezel element="text_p1"> <bounds x="6.5" y="21.5" width="5" height="1.7" /> </bezel> + <bezel element="text_newgame"> <bounds x="12.5" y="21.5" width="11" height="1.4" /> </bezel> + + <bezel name="led100" element="led"> <bounds x="2.4" y="7" width="1.2" height="1.2" /> </bezel> + <bezel name="led101" element="led"> <bounds x="8.4" y="7" width="1.2" height="1.2" /> </bezel> + <bezel name="led102" element="led"> <bounds x="14.4" y="7" width="1.2" height="1.2" /> </bezel> + <bezel name="led103" element="led"> <bounds x="20.4" y="7" width="1.2" height="1.2" /> </bezel> + <bezel name="led104" element="led"> <bounds x="2.4" y="16" width="1.2" height="1.2" /> </bezel> + <bezel name="led105" element="led"> <bounds x="8.4" y="16" width="1.2" height="1.2" /> </bezel> </group> - - <view name="Chessboard + Display"> - <bounds left="-2" right="112" top="0" bottom="89" /> - <bezel element="background"><bounds x="-2" y="0" width="88" height="89" /></bezel> +<!-- build screen --> + <view name="Internal Layout"> + <bounds left="0" right="129" top="0" bottom="90" /> <!-- chessboard coords --> - <bezel element="text_8"><bounds x="-1.8" y="7" width="2" height="2" /></bezel> - <bezel element="text_7"><bounds x="-1.8" y="17" width="2" height="2" /></bezel> - <bezel element="text_6"><bounds x="-1.8" y="27" width="2" height="2" /></bezel> - <bezel element="text_5"><bounds x="-1.8" y="37" width="2" height="2" /></bezel> - <bezel element="text_4"><bounds x="-1.8" y="47" width="2" height="2" /></bezel> - <bezel element="text_3"><bounds x="-1.8" y="57" width="2" height="2" /></bezel> - <bezel element="text_2"><bounds x="-1.8" y="67" width="2" height="2" /></bezel> - <bezel element="text_1"><bounds x="-1.8" y="77" width="2" height="2" /></bezel> - - <bezel element="text_a"><bounds x="7" y="87" width="2" height="2" /></bezel> - <bezel element="text_b"><bounds x="17" y="87" width="2" height="2" /></bezel> - <bezel element="text_c"><bounds x="27" y="87" width="2" height="2" /></bezel> - <bezel element="text_d"><bounds x="37" y="87" width="2" height="2" /></bezel> - <bezel element="text_e"><bounds x="47" y="87" width="2" height="2" /></bezel> - <bezel element="text_f"><bounds x="57" y="87" width="2" height="2" /></bezel> - <bezel element="text_g"><bounds x="67" y="87" width="2" height="2" /></bezel> - <bezel element="text_h"><bounds x="77" y="87" width="2" height="2" /></bezel> - - <!-- chessboard bezel --> - - <bezel element="white"><bounds x="2" y="2" width="82" height="82" /></bezel> - <bezel element="white"><bounds x="3" y="3" width="80" height="80" /></bezel> - - <bezel element="black"><bounds x="13" y="2.5" width="10" height="10.5" /></bezel> - <bezel element="black"><bounds x="33" y="2.5" width="10" height="10.5" /></bezel> - <bezel element="black"><bounds x="53" y="2.5" width="10" height="10.5" /></bezel> - <bezel element="black"><bounds x="73" y="2.5" width="10.5" height="10.5" /></bezel> - - <bezel element="black"><bounds x="2.5" y="13" width="10.5" height="10" /></bezel> - <bezel element="black"><bounds x="23" y="13" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="43" y="13" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="63" y="13" width="10" height="10" /></bezel> - - <bezel element="black"><bounds x="13" y="23" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="33" y="23" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="53" y="23" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="73" y="23" width="10.5" height="10" /></bezel> - - <bezel element="black"><bounds x="2.5" y="33" width="10.5" height="10" /></bezel> - <bezel element="black"><bounds x="23" y="33" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="43" y="33" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="63" y="33" width="10" height="10" /></bezel> - - <bezel element="black"><bounds x="13" y="43" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="33" y="43" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="53" y="43" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="73" y="43" width="10.5" height="10" /></bezel> - - <bezel element="black"><bounds x="2.5" y="53" width="10.5" height="10" /></bezel> - <bezel element="black"><bounds x="23" y="53" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="43" y="53" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="63" y="53" width="10" height="10" /></bezel> - - <bezel element="black"><bounds x="13" y="63" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="33" y="63" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="53" y="63" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="73" y="63" width="10.5" height="10" /></bezel> - - <bezel element="black"><bounds x="2.5" y="73" width="10.5" height="10.5" /></bezel> - <bezel element="black"><bounds x="23" y="73" width="10" height="10.5" /></bezel> - <bezel element="black"><bounds x="43" y="73" width="10" height="10.5" /></bezel> - <bezel element="black"><bounds x="63" y="73" width="10" height="10.5" /></bezel> + <bezel element="text_8"><bounds x="15.2" y="7" width="2" height="2" /></bezel> + <bezel element="text_7"><bounds x="15.2" y="17" width="2" height="2" /></bezel> + <bezel element="text_6"><bounds x="15.2" y="27" width="2" height="2" /></bezel> + <bezel element="text_5"><bounds x="15.2" y="37" width="2" height="2" /></bezel> + <bezel element="text_4"><bounds x="15.2" y="47" width="2" height="2" /></bezel> + <bezel element="text_3"><bounds x="15.2" y="57" width="2" height="2" /></bezel> + <bezel element="text_2"><bounds x="15.2" y="67" width="2" height="2" /></bezel> + <bezel element="text_1"><bounds x="15.2" y="77" width="2" height="2" /></bezel> + <bezel element="text_a"><bounds x="24" y="87" width="2" height="2" /></bezel> + <bezel element="text_b"><bounds x="34" y="87" width="2" height="2" /></bezel> + <bezel element="text_c"><bounds x="44" y="87" width="2" height="2" /></bezel> + <bezel element="text_d"><bounds x="54" y="87" width="2" height="2" /></bezel> + <bezel element="text_e"><bounds x="64" y="87" width="2" height="2" /></bezel> + <bezel element="text_f"><bounds x="74" y="87" width="2" height="2" /></bezel> + <bezel element="text_g"><bounds x="84" y="87" width="2" height="2" /></bezel> + <bezel element="text_h"><bounds x="94" y="87" width="2" height="2" /></bezel> + + <bezel element="cwhite"><bounds x="19" y="2" width="82" height="82" /></bezel> <!-- chessboard leds --> - - <bezel name="led0" element="led"><bounds x="7.25" y="85" width="1.5" height="1.5" /></bezel> - <bezel name="led1" element="led"><bounds x="17.25" y="85" width="1.5" height="1.5" /></bezel> - <bezel name="led2" element="led"><bounds x="27.25" y="85" width="1.5" height="1.5" /></bezel> - <bezel name="led3" element="led"><bounds x="37.25" y="85" width="1.5" height="1.5" /></bezel> - <bezel name="led4" element="led"><bounds x="47.25" y="85" width="1.5" height="1.5" /></bezel> - <bezel name="led5" element="led"><bounds x="57.25" y="85" width="1.5" height="1.5" /></bezel> - <bezel name="led6" element="led"><bounds x="67.25" y="85" width="1.5" height="1.5" /></bezel> - <bezel name="led7" element="led"><bounds x="77.25" y="85" width="1.5" height="1.5" /></bezel> - - <bezel name="led8" element="led"><bounds x="0" y="77.25" width="1.5" height="1.5" /></bezel> - <bezel name="led9" element="led"><bounds x="0" y="67.25" width="1.5" height="1.5" /></bezel> - <bezel name="led10" element="led"><bounds x="0" y="57.25" width="1.5" height="1.5" /></bezel> - <bezel name="led11" element="led"><bounds x="0" y="47.25" width="1.5" height="1.5" /></bezel> - <bezel name="led12" element="led"><bounds x="0" y="37.25" width="1.5" height="1.5" /></bezel> - <bezel name="led13" element="led"><bounds x="0" y="27.25" width="1.5" height="1.5" /></bezel> - <bezel name="led14" element="led"><bounds x="0" y="17.25" width="1.5" height="1.5" /></bezel> - <bezel name="led15" element="led"><bounds x="0" y="7.25" width="1.5" height="1.5" /></bezel> - - <!-- chessboard sensors --> - - <bezel element="hl" inputtag="board:IN.7" inputmask="0x01"><bounds x="3" y="3" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.7" inputmask="0x02"><bounds x="13" y="3" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.7" inputmask="0x04"><bounds x="23" y="3" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.7" inputmask="0x08"><bounds x="33" y="3" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.7" inputmask="0x10"><bounds x="43" y="3" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.7" inputmask="0x20"><bounds x="53" y="3" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.7" inputmask="0x40"><bounds x="63" y="3" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.7" inputmask="0x80"><bounds x="73" y="3" width="10" height="10" /><color alpha="0.2" /></bezel> - - <bezel element="hl" inputtag="board:IN.6" inputmask="0x01"><bounds x="3" y="13" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.6" inputmask="0x02"><bounds x="13" y="13" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.6" inputmask="0x04"><bounds x="23" y="13" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.6" inputmask="0x08"><bounds x="33" y="13" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.6" inputmask="0x10"><bounds x="43" y="13" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.6" inputmask="0x20"><bounds x="53" y="13" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.6" inputmask="0x40"><bounds x="63" y="13" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.6" inputmask="0x80"><bounds x="73" y="13" width="10" height="10" /><color alpha="0.4" /></bezel> - - <bezel element="hl" inputtag="board:IN.5" inputmask="0x01"><bounds x="3" y="23" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.5" inputmask="0x02"><bounds x="13" y="23" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.5" inputmask="0x04"><bounds x="23" y="23" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.5" inputmask="0x08"><bounds x="33" y="23" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.5" inputmask="0x10"><bounds x="43" y="23" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.5" inputmask="0x20"><bounds x="53" y="23" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.5" inputmask="0x40"><bounds x="63" y="23" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.5" inputmask="0x80"><bounds x="73" y="23" width="10" height="10" /><color alpha="0.2" /></bezel> - - <bezel element="hl" inputtag="board:IN.4" inputmask="0x01"><bounds x="3" y="33" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.4" inputmask="0x02"><bounds x="13" y="33" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.4" inputmask="0x04"><bounds x="23" y="33" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.4" inputmask="0x08"><bounds x="33" y="33" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.4" inputmask="0x10"><bounds x="43" y="33" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.4" inputmask="0x20"><bounds x="53" y="33" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.4" inputmask="0x40"><bounds x="63" y="33" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.4" inputmask="0x80"><bounds x="73" y="33" width="10" height="10" /><color alpha="0.4" /></bezel> - - <bezel element="hl" inputtag="board:IN.3" inputmask="0x01"><bounds x="3" y="43" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.3" inputmask="0x02"><bounds x="13" y="43" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.3" inputmask="0x04"><bounds x="23" y="43" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.3" inputmask="0x08"><bounds x="33" y="43" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.3" inputmask="0x10"><bounds x="43" y="43" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.3" inputmask="0x20"><bounds x="53" y="43" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.3" inputmask="0x40"><bounds x="63" y="43" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.3" inputmask="0x80"><bounds x="73" y="43" width="10" height="10" /><color alpha="0.2" /></bezel> - - <bezel element="hl" inputtag="board:IN.2" inputmask="0x01"><bounds x="3" y="53" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.2" inputmask="0x02"><bounds x="13" y="53" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.2" inputmask="0x04"><bounds x="23" y="53" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.2" inputmask="0x08"><bounds x="33" y="53" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.2" inputmask="0x10"><bounds x="43" y="53" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.2" inputmask="0x20"><bounds x="53" y="53" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.2" inputmask="0x40"><bounds x="63" y="53" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.2" inputmask="0x80"><bounds x="73" y="53" width="10" height="10" /><color alpha="0.4" /></bezel> - - <bezel element="hl" inputtag="board:IN.1" inputmask="0x01"><bounds x="3" y="63" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.1" inputmask="0x02"><bounds x="13" y="63" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.1" inputmask="0x04"><bounds x="23" y="63" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.1" inputmask="0x08"><bounds x="33" y="63" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.1" inputmask="0x10"><bounds x="43" y="63" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.1" inputmask="0x20"><bounds x="53" y="63" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.1" inputmask="0x40"><bounds x="63" y="63" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.1" inputmask="0x80"><bounds x="73" y="63" width="10" height="10" /><color alpha="0.2" /></bezel> - - <bezel element="hl" inputtag="board:IN.0" inputmask="0x01"><bounds x="3" y="73" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.0" inputmask="0x02"><bounds x="13" y="73" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.0" inputmask="0x04"><bounds x="23" y="73" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.0" inputmask="0x08"><bounds x="33" y="73" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.0" inputmask="0x10"><bounds x="43" y="73" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.0" inputmask="0x20"><bounds x="53" y="73" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.0" inputmask="0x40"><bounds x="63" y="73" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.0" inputmask="0x80"><bounds x="73" y="73" width="10" height="10" /><color alpha="0.4" /></bezel> + <bezel name="led0" element="led"><bounds x="24.25" y="85" width="1.5" height="1.5" /></bezel> + <bezel name="led1" element="led"><bounds x="34.25" y="85" width="1.5" height="1.5" /></bezel> + <bezel name="led2" element="led"><bounds x="44.25" y="85" width="1.5" height="1.5" /></bezel> + <bezel name="led3" element="led"><bounds x="54.25" y="85" width="1.5" height="1.5" /></bezel> + <bezel name="led4" element="led"><bounds x="64.25" y="85" width="1.5" height="1.5" /></bezel> + <bezel name="led5" element="led"><bounds x="74.25" y="85" width="1.5" height="1.5" /></bezel> + <bezel name="led6" element="led"><bounds x="84.25" y="85" width="1.5" height="1.5" /></bezel> + <bezel name="led7" element="led"><bounds x="94.25" y="85" width="1.5" height="1.5" /></bezel> + <bezel name="led8" element="led"><bounds x="17" y="77.25" width="1.5" height="1.5" /></bezel> + <bezel name="led9" element="led"><bounds x="17" y="67.25" width="1.5" height="1.5" /></bezel> + <bezel name="led10" element="led"><bounds x="17" y="57.25" width="1.5" height="1.5" /></bezel> + <bezel name="led11" element="led"><bounds x="17" y="47.25" width="1.5" height="1.5" /></bezel> + <bezel name="led12" element="led"><bounds x="17" y="37.25" width="1.5" height="1.5" /></bezel> + <bezel name="led13" element="led"><bounds x="17" y="27.25" width="1.5" height="1.5" /></bezel> + <bezel name="led14" element="led"><bounds x="17" y="17.25" width="1.5" height="1.5" /></bezel> + <bezel name="led15" element="led"><bounds x="17" y="7.25" width="1.5" height="1.5" /></bezel> <!-- LCD panel --> - <group ref="panel"><bounds x="86" y="58" width="24" height="23.5" /></group> - </view> + <group ref="panel"><bounds x="103" y="58" width="24" height="24" /></group> - <view name="Display Only"> - <group ref="panel"><bounds x="0" y="0" width="24" height="23.5" /></group> + <group ref="sb_board"><bounds x="20" y="3" width="80" height="80" /></group> + <group ref="sb_ui"><bounds x="1.5" y="3" width="10" height="80" /></group> </view> </mamelayout> diff --git a/src/mame/layout/mephisto_mm2.lay b/src/mame/layout/mephisto_mm2.lay new file mode 100644 index 00000000000..5da8cc19b44 --- /dev/null +++ b/src/mame/layout/mephisto_mm2.lay @@ -0,0 +1,575 @@ +<?xml version="1.0"?> +<mamelayout version="2"> +<!-- define elements --> + + <!-- 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" green="1" blue="1" /> + </led7seg> + </element> + + <element name="led" defstate="0"> + <disk state="0"> + <color red="0.20" green="0.0" blue="0.0" /> + </disk> + <disk state="1"> + <color red="0.95" green="0.0" blue="0.0" /> + </disk> + </element> + <element name="hlb" defstate="0"> + <rect state="0"> + <bounds x="0.0" y="0.0" width="1.0" height="1.0" /> + <color red="0.4" green="0.4" blue="0.4" /> + </rect> + <rect state="1"> + <bounds x="0.0" y="0.0" width="1.0" height="1.0" /> + <color red="0.4" green="0.4" blue="0.4" /> + </rect> + </element> + + <element name="text_1"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="1"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_2"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="2"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_3"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="3"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_4"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="4"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_5"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="5"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_6"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="6"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_7"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="7"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_8"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="8"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_a"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="A"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_b"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="B"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_c"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="C"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_d"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="D"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_e"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="E"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_f"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="F"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_g"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="G"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_h"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="H"><color red="0.87" green="0.87" blue="0.84" /></text> </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> + + +<!-- sb board --> + + <element name="cblack"><rect><color red="0.56" green="0.33" blue="0.12" /></rect></element> + <element name="cwhite"><rect><color red="0.84" green="0.75" blue="0.50" /></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> + + <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="10" height="10" /></bezel> + <bezel element="cblack"><bounds x="10" y="0" width="10" height="10" /></bezel> + <bezel element="cwhite"><bounds x="20" y="0" width="10" height="10" /></bezel> + <bezel element="cblack"><bounds x="30" y="0" width="10" height="10" /></bezel> + <bezel element="cwhite"><bounds x="40" y="0" width="10" height="10" /></bezel> + <bezel element="cblack"><bounds x="50" y="0" width="10" height="10" /></bezel> + <bezel element="cwhite"><bounds x="60" y="0" width="10" height="10" /></bezel> + <bezel element="cblack"><bounds x="70" y="0" width="10" height="10" /></bezel> + + <bezel element="cblack"><bounds x="0" y="10" width="10" height="10" /></bezel> + <bezel element="cwhite"><bounds x="10" y="10" width="10" height="10" /></bezel> + <bezel element="cblack"><bounds x="20" y="10" width="10" height="10" /></bezel> + <bezel element="cwhite"><bounds x="30" y="10" width="10" height="10" /></bezel> + <bezel element="cblack"><bounds x="40" y="10" width="10" height="10" /></bezel> + <bezel element="cwhite"><bounds x="50" y="10" width="10" height="10" /></bezel> + <bezel element="cblack"><bounds x="60" y="10" width="10" height="10" /></bezel> + <bezel element="cwhite"><bounds x="70" y="10" width="10" height="10" /></bezel> + + <bezel element="cwhite"><bounds x="0" y="20" width="10" height="10" /></bezel> + <bezel element="cblack"><bounds x="10" y="20" width="10" height="10" /></bezel> + <bezel element="cwhite"><bounds x="20" y="20" width="10" height="10" /></bezel> + <bezel element="cblack"><bounds x="30" y="20" width="10" height="10" /></bezel> + <bezel element="cwhite"><bounds x="40" y="20" width="10" height="10" /></bezel> + <bezel element="cblack"><bounds x="50" y="20" width="10" height="10" /></bezel> + <bezel element="cwhite"><bounds x="60" y="20" width="10" height="10" /></bezel> + <bezel element="cblack"><bounds x="70" y="20" width="10" height="10" /></bezel> + + <bezel element="cblack"><bounds x="0" y="30" width="10" height="10" /></bezel> + <bezel element="cwhite"><bounds x="10" y="30" width="10" height="10" /></bezel> + <bezel element="cblack"><bounds x="20" y="30" width="10" height="10" /></bezel> + <bezel element="cwhite"><bounds x="30" y="30" width="10" height="10" /></bezel> + <bezel element="cblack"><bounds x="40" y="30" width="10" height="10" /></bezel> + <bezel element="cwhite"><bounds x="50" y="30" width="10" height="10" /></bezel> + <bezel element="cblack"><bounds x="60" y="30" width="10" height="10" /></bezel> + <bezel element="cwhite"><bounds x="70" y="30" width="10" height="10" /></bezel> + + <bezel element="cwhite"><bounds x="0" y="40" width="10" height="10" /></bezel> + <bezel element="cblack"><bounds x="10" y="40" width="10" height="10" /></bezel> + <bezel element="cwhite"><bounds x="20" y="40" width="10" height="10" /></bezel> + <bezel element="cblack"><bounds x="30" y="40" width="10" height="10" /></bezel> + <bezel element="cwhite"><bounds x="40" y="40" width="10" height="10" /></bezel> + <bezel element="cblack"><bounds x="50" y="40" width="10" height="10" /></bezel> + <bezel element="cwhite"><bounds x="60" y="40" width="10" height="10" /></bezel> + <bezel element="cblack"><bounds x="70" y="40" width="10" height="10" /></bezel> + + <bezel element="cblack"><bounds x="0" y="50" width="10" height="10" /></bezel> + <bezel element="cwhite"><bounds x="10" y="50" width="10" height="10" /></bezel> + <bezel element="cblack"><bounds x="20" y="50" width="10" height="10" /></bezel> + <bezel element="cwhite"><bounds x="30" y="50" width="10" height="10" /></bezel> + <bezel element="cblack"><bounds x="40" y="50" width="10" height="10" /></bezel> + <bezel element="cwhite"><bounds x="50" y="50" width="10" height="10" /></bezel> + <bezel element="cblack"><bounds x="60" y="50" width="10" height="10" /></bezel> + <bezel element="cwhite"><bounds x="70" y="50" width="10" height="10" /></bezel> + + <bezel element="cwhite"><bounds x="0" y="60" width="10" height="10" /></bezel> + <bezel element="cblack"><bounds x="10" y="60" width="10" height="10" /></bezel> + <bezel element="cwhite"><bounds x="20" y="60" width="10" height="10" /></bezel> + <bezel element="cblack"><bounds x="30" y="60" width="10" height="10" /></bezel> + <bezel element="cwhite"><bounds x="40" y="60" width="10" height="10" /></bezel> + <bezel element="cblack"><bounds x="50" y="60" width="10" height="10" /></bezel> + <bezel element="cwhite"><bounds x="60" y="60" width="10" height="10" /></bezel> + <bezel element="cblack"><bounds x="70" y="60" width="10" height="10" /></bezel> + + <bezel element="cblack"><bounds x="0" y="70" width="10" height="10" /></bezel> + <bezel element="cwhite"><bounds x="10" y="70" width="10" height="10" /></bezel> + <bezel element="cblack"><bounds x="20" y="70" width="10" height="10" /></bezel> + <bezel element="cwhite"><bounds x="30" y="70" width="10" height="10" /></bezel> + <bezel element="cblack"><bounds x="40" y="70" width="10" height="10" /></bezel> + <bezel element="cwhite"><bounds x="50" y="70" width="10" height="10" /></bezel> + <bezel element="cblack"><bounds x="60" y="70" width="10" height="10" /></bezel> + <bezel element="cwhite"><bounds x="70" y="70" width="10" height="10" /></bezel> + + <!-- chessboard leds --> + <repeat count="8"> + <param name="x" start="8.2" increment="10" /> + <param name="la" start="0" increment="1" /> + <param name="lb" start="8" increment="1" /> + <param name="lc" start="16" increment="1" /> + <param name="ld" start="24" increment="1" /> + <param name="le" start="32" increment="1" /> + <param name="lf" start="40" increment="1" /> + <param name="lg" start="48" increment="1" /> + <param name="lh" start="56" increment="1" /> + + <bezel name="led~la~" element="led"><bounds x="~x~" y="78.3" width="1.5" height="1.5" /></bezel> + <bezel name="led~lb~" element="led"><bounds x="~x~" y="68.3" width="1.5" height="1.5" /></bezel> + <bezel name="led~lc~" element="led"><bounds x="~x~" y="58.3" width="1.5" height="1.5" /></bezel> + <bezel name="led~ld~" element="led"><bounds x="~x~" y="48.3" width="1.5" height="1.5" /></bezel> + <bezel name="led~le~" element="led"><bounds x="~x~" y="38.3" width="1.5" height="1.5" /></bezel> + <bezel name="led~lf~" element="led"><bounds x="~x~" y="28.3" width="1.5" height="1.5" /></bezel> + <bezel name="led~lg~" element="led"><bounds x="~x~" y="18.3" width="1.5" height="1.5" /></bezel> + <bezel name="led~lh~" element="led"><bounds x="~x~" y="8.3" width="1.5" height="1.5" /></bezel> + </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:board:RANK.~i~" inputmask="0x01"><bounds x="0" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x02"><bounds x="10" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x04"><bounds x="20" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x08"><bounds x="30" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x10"><bounds x="40" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x20"><bounds x="50" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x40"><bounds x="60" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board: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.84" green="0.75" blue="0.50" /></rect> + <text string="RESET"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_uib3"> + <rect><color red="0.84" green="0.75" blue="0.50" /></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.84" green="0.75" blue="0.50" /></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.84" green="0.75" blue="0.50" /></rect> + <text string=" <<"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_uiu2b"> + <rect><color red="0.84" green="0.75" blue="0.50" /></rect> + <text string=" < "><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_uiu2c"> + <rect><color red="0.84" green="0.75" blue="0.50" /></rect> + <text string=" >"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_uiu2d"> + <rect><color red="0.84" green="0.75" blue="0.50" /></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: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: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:board:SPAWN" inputmask="0x0001"><bounds x="1" y="23" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0002"><bounds x="1" y="27" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0004"><bounds x="1" y="31" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0008"><bounds x="5" y="23" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0010"><bounds x="5" y="27" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0020"><bounds x="5" y="31" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0040"><bounds x="1" y="36" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0080"><bounds x="1" y="40" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0100"><bounds x="1" y="44" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0200"><bounds x="5" y="36" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0400"><bounds x="5" y="40" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board: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: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: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: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: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: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> + + +<!-- 7seg panel --> + + <group name="panel1"> + <bezel name="digit0" element="digit"><bounds x="0" y="0" width="10" height="15" /></bezel> + <bezel name="digit1" element="digit"><bounds x="10" y="0" width="10" height="15" /></bezel> + <bezel name="digit2" element="digit"><bounds x="20" y="0" width="10" height="15" /></bezel> + <bezel name="digit3" element="digit"><bounds x="30" y="0" width="10" height="15" /></bezel> + </group> + + +<!-- led panel --> + + <element name="black"><rect><color red="0" green="0" blue="0" /></rect></element> + <element name="white2"><rect><color red="0.8" green="0.8" blue="0.8" /></rect></element> + <element name="dblack"><disk><color red="0" green="0" blue="0" /></disk></element> + <element name="dwhite"><disk><color red="0.8" green="0.8" blue="0.8" /></disk></element> + + <element name="led_play"><text string="PLAY" align="1"><color red="0.8" green="0.8" blue="0.8" /></text> </element> + <element name="led_pos"> <text string="POS" align="1"> <color red="0.8" green="0.8" blue="0.8" /></text> </element> + <element name="led_mem"> <text string="MEM" align="1"> <color red="0.8" green="0.8" blue="0.8" /></text> </element> + + <group name="panel2"> + <bounds x="69.1" y="89.9" width="29" height="1.5" /> + + <bezel element="led_play"><bounds x="70.7" y="89.9" width="3.2" height="1.5" /></bezel> + <bezel element="led_pos"> <bounds x="75.7" y="89.9" width="3.2" height="1.5" /></bezel> + <bezel element="led_mem"> <bounds x="80.7" y="89.9" width="3.2" height="1.5" /></bezel> + <bezel element="dwhite"><bounds x="85.9" y="89.9" width="1.4" height="1.4" /></bezel> + <bezel element="dblack"><bounds x="86.0" y="90.0" width="1.2" height="1.2" /></bezel> + <bezel element="dwhite"><bounds x="86.45" y="90.45" width="0.4" height="0.4" /></bezel> + <bezel element="white2"><bounds x="90.9" y="90.0" width="1.2" height="1.2" /></bezel> + <bezel element="black"><bounds x="91.05" y="90.15" width="0.9" height="0.9" /></bezel> + <bezel element="white2"><bounds x="95.7" y="90.0" width="1.2" height="1.2" /></bezel> + + <bezel name="led100" element="led"> <bounds x="69.1" y="90" width="1.3" height="1.3" /> </bezel> + <bezel name="led101" element="led"> <bounds x="74.1" y="90" width="1.3" height="1.3" /> </bezel> + <bezel name="led102" element="led"> <bounds x="79.1" y="90" width="1.3" height="1.3" /> </bezel> + <bezel name="led103" element="led"> <bounds x="84.1" y="90" width="1.3" height="1.3" /> </bezel> + <bezel name="led104" element="led"> <bounds x="89.1" y="90" width="1.3" height="1.3" /> </bezel> + <bezel name="led105" element="led"> <bounds x="94.1" y="90" width="1.3" height="1.3" /> </bezel> + </group> + + +<!-- buttons --> + + <element name="gray"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect></element> + <element name="white"><rect><color red="1" green="1" blue="1" /></rect></element> + + <element name="keys" defstate="0"> + <rect state="1"><color red="0.0" green="0.0" blue="0.0" /></rect> + </element> + + <element name="text_cl"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect> <text string="CL"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_pos"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect> <text string="POS"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_mem"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect> <text string="MEM"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_info"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect> <text string="INFO"><color red="1" green="1" blue="1" /></text> </element> + <element name="text_lev"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect> <text string="LEV"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_ent"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect> <text string="ENT"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_res"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect> <text string="RES"> <color red="1" green="1" blue="1" /></text> </element> + + <element name="text_a1"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect> <text string="A1"><color red="1" green="1" blue="1" /></text> </element> + <element name="text_b2"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect> <text string="B2"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_c3"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect> <text string="C3"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_d4"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect> <text string="D4"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_e5"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect> <text string="E5"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_f6"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect> <text string="F6"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_g7"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect> <text string="G7"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_h8"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect> <text string="H8"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_9l"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect> <text string="9"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_0r"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect> <text string="0"> <color red="1" green="1" blue="1" /></text> </element> + + <element name="text_l9"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect> <text string="←"> <color red="1" green="1" blue="1" /></text> </element> + <element name="text_r0"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect> <text string="→"> <color red="1" green="1" blue="1" /></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> + + <group name="buttons"> + <bounds x="69" y="93" width="29" height="14" /> + + <bezel element="gray"><bounds x="69" y="93" width="4" height="4" /></bezel> + <bezel element="gray"><bounds x="74" y="93" width="4" height="4" /></bezel> + <bezel element="gray"><bounds x="79" y="93" width="4" height="4" /></bezel> + <bezel element="gray"><bounds x="84" y="93" width="4" height="4" /></bezel> + <bezel element="gray"><bounds x="89" y="93" width="4" height="4" /></bezel> + <bezel element="gray"><bounds x="94" y="93" width="4" height="4" /></bezel> + + <bezel element="gray"><bounds x="69" y="98" width="4" height="4" /></bezel> + <bezel element="gray"><bounds x="74" y="98" width="4" height="4" /></bezel> + <bezel element="gray"><bounds x="79" y="98" width="4" height="4" /></bezel> + <bezel element="gray"><bounds x="84" y="98" width="4" height="4" /></bezel> + <bezel element="gray"><bounds x="89" y="98" width="4" height="4" /></bezel> + <bezel element="gray"><bounds x="94" y="98" width="4" height="4" /></bezel> + + <bezel element="gray"><bounds x="69" y="103" width="4" height="4" /></bezel> + <bezel element="gray"><bounds x="74" y="103" width="4" height="4" /></bezel> + <bezel element="gray"><bounds x="79" y="103" width="4" height="4" /></bezel> + <bezel element="gray"><bounds x="84" y="103" width="4" height="4" /></bezel> + <bezel element="gray"><bounds x="89" y="103" width="4" height="4" /></bezel> + <bezel element="gray"><bounds x="94" y="103" width="4" height="4" /></bezel> + + <bezel element="text_cl"> <bounds x="69.3" y="94" width="3.67" height="2.2" /></bezel> + <bezel element="text_pos"> <bounds x="74.3" y="94" width="3.67" height="2.2" /></bezel> + <bezel element="text_mem"> <bounds x="79.3" y="94" width="3.67" height="2.2" /></bezel> + <bezel element="text_info"><bounds x="84.3" y="94" width="3.67" height="2.2" /></bezel> + <bezel element="text_lev"> <bounds x="89.3" y="94" width="3.67" height="2.2" /></bezel> + <bezel element="text_ent"> <bounds x="94.3" y="94" width="3.67" height="2.2" /></bezel> + <bezel element="text_res"> <bounds x="69.3" y="104" width="3.67" height="2.2" /></bezel> + <bezel element="text_res"> <bounds x="74.3" y="104" width="3.67" height="2.2" /></bezel> + + <bezel element="text_l9"><bounds x="90.0" y="103" width="2" height="1.8" /></bezel> + <bezel element="text_r0"><bounds x="95.2" y="103" width="2" height="1.8" /></bezel> + + <bezel element="text_a1"><bounds x="70.7" y="99.5" width="2.27" height="2.2" /></bezel> + <bezel element="text_b2"><bounds x="75.7" y="99.5" width="2.27" height="2.2" /></bezel> + <bezel element="text_c3"><bounds x="80.7" y="99.5" width="2.27" height="2.2" /></bezel> + <bezel element="text_d4"><bounds x="85.7" y="99.5" width="2.27" height="2.2" /></bezel> + <bezel element="text_e5"><bounds x="90.7" y="99.5" width="2.27" height="2.2" /></bezel> + <bezel element="text_f6"><bounds x="95.7" y="99.5" width="2.27" height="2.2" /></bezel> + <bezel element="text_g7"><bounds x="80" y="104.2" width="2.27" height="2.2" /></bezel> + <bezel element="text_h8"><bounds x="85" y="104.2" width="2.27" height="2.2" /></bezel> + <bezel element="text_9l"><bounds x="91" y="104.5" width="1.97" height="2.2" /></bezel> + <bezel element="text_0r"><bounds x="96" y="104.5" width="1.97" height="2.2" /></bezel> + + <bezel element="text_p6" ><bounds x="69" y="98" width="2" height="1.9" /></bezel> + <bezel element="text_p5" ><bounds x="74" y="98" width="2" height="1.9" /></bezel> + <bezel element="text_p4" ><bounds x="79" y="98" width="2" height="1.9" /></bezel> + <bezel element="text_p3" ><bounds x="84" y="98" width="2" height="1.9" /></bezel> + <bezel element="text_p2" ><bounds x="89" y="98" width="2" height="1.9" /></bezel> + <bezel element="text_p1" ><bounds x="94" y="98" width="2" height="1.9" /></bezel> + <bezel element="black"><bounds x="89.5" y="105.1" width="1.3" height="1.3" /></bezel> + <bezel element="white"><bounds x="94.5" y="105.1" width="1.3" height="1.3" /></bezel> + + <bezel element="keys" inputtag="KEY1_0" inputmask="0x80"> <!-- CL --> + <bounds x="69" y="93" width="4" height="4" /><color alpha="0.25" /> + </bezel> + <bezel element="keys" inputtag="KEY1_1" inputmask="0x80"> <!-- POS --> + <bounds x="74" y="93" width="4" height="4" /><color alpha="0.25" /> + </bezel> + <bezel element="keys" inputtag="KEY1_2" inputmask="0x80"> <!-- MEM --> + <bounds x="79" y="93" width="4" height="4" /><color alpha="0.25" /> + </bezel> + <bezel element="keys" inputtag="KEY1_3" inputmask="0x80"> <!-- INFO --> + <bounds x="84" y="93" width="4" height="4" /><color alpha="0.25" /> + </bezel> + <bezel element="keys" inputtag="KEY1_4" inputmask="0x80"> <!-- LEV --> + <bounds x="89" y="93" width="4" height="4" /><color alpha="0.25" /> + </bezel> + <bezel element="keys" inputtag="KEY1_5" inputmask="0x80"> <!-- ENT --> + <bounds x="94" y="93" width="4" height="4" /><color alpha="0.25" /> + </bezel> + + <bezel element="keys" inputtag="KEY2_3" inputmask="0x80"> <!-- A1 --> + <bounds x="69" y="98" width="4" height="4" /><color alpha="0.25" /> + </bezel> + <bezel element="keys" inputtag="KEY2_5" inputmask="0x80"> <!-- B2 --> + <bounds x="74" y="98" width="4" height="4" /><color alpha="0.25" /> + </bezel> + <bezel element="keys" inputtag="KEY2_6" inputmask="0x80"> <!-- C3 --> + <bounds x="79" y="98" width="4" height="4" /><color alpha="0.25" /> + </bezel> + <bezel element="keys" inputtag="KEY2_7" inputmask="0x80"> <!-- D4 --> + <bounds x="84" y="98" width="4" height="4" /><color alpha="0.25" /> + </bezel> + <bezel element="keys" inputtag="KEY2_0" inputmask="0x80"> <!-- E5 --> + <bounds x="89" y="98" width="4" height="4" /><color alpha="0.25" /> + </bezel> + <bezel element="keys" inputtag="KEY2_1" inputmask="0x80"> <!-- F6 --> + <bounds x="94" y="98" width="4" height="4" /><color alpha="0.25" /> + </bezel> + + <bezel element="keys" inputtag="KEY2_2" inputmask="0x80"> <!-- G7 --> + <bounds x="79" y="103" width="4" height="4" /><color alpha="0.25" /> + </bezel> + <bezel element="keys" inputtag="KEY2_4" inputmask="0x80"> <!-- H8 --> + <bounds x="84" y="103" width="4" height="4" /><color alpha="0.25" /> + </bezel> + <bezel element="keys" inputtag="KEY1_7" inputmask="0x80"> <!-- 9 --> + <bounds x="89" y="103" width="4" height="4" /><color alpha="0.25" /> + </bezel> + <bezel element="keys" inputtag="KEY1_6" inputmask="0x80"> <!-- 0 --> + <bounds x="94" y="103" width="4" height="4" /><color alpha="0.25" /> + </bezel> + </group> + + +<!-- build screen --> + + <view name="Internal Layout"> + <bounds left="0" right="101" top="0" bottom="106.5" /> + <bezel element="cblack"><bounds x="14" y="0" width="87" height="87" /></bezel> + <bezel element="cwhite"><bounds x="17" y="2" width="81" height="81" /></bezel> + + <group ref="panel1"><bounds x="37.5" y="91" width="23" height="8" /></group> + <group ref="panel2"><bounds x="67.5" y="88.25" width="29" height="1.5" /></group> + <group ref="buttons"><bounds x="67.5" y="91" width="29" height="14" /></group> + + <group ref="sb_board"><bounds x="17.5" y="2.5" width="80" height="80" /></group> + <group ref="sb_ui"><bounds x="1.5" y="3" width="10" height="80" /></group> + + <!-- chessboard coords --> + + <bezel element="text_8"><bounds x="14.7" y="7" width="2" height="2" /></bezel> + <bezel element="text_7"><bounds x="14.7" y="17" width="2" height="2" /></bezel> + <bezel element="text_6"><bounds x="14.7" y="27" width="2" height="2" /></bezel> + <bezel element="text_5"><bounds x="14.7" y="37" width="2" height="2" /></bezel> + <bezel element="text_4"><bounds x="14.7" y="47" width="2" height="2" /></bezel> + <bezel element="text_3"><bounds x="14.7" y="57" width="2" height="2" /></bezel> + <bezel element="text_2"><bounds x="14.7" y="67" width="2" height="2" /></bezel> + <bezel element="text_1"><bounds x="14.7" y="77" width="2" height="2" /></bezel> + + <bezel element="text_a"><bounds x="21.5" y="84" width="2" height="2" /></bezel> + <bezel element="text_b"><bounds x="31.5" y="84" width="2" height="2" /></bezel> + <bezel element="text_c"><bounds x="41.5" y="84" width="2" height="2" /></bezel> + <bezel element="text_d"><bounds x="51.5" y="84" width="2" height="2" /></bezel> + <bezel element="text_e"><bounds x="61.5" y="84" width="2" height="2" /></bezel> + <bezel element="text_f"><bounds x="71.5" y="84" width="2" height="2" /></bezel> + <bezel element="text_g"><bounds x="81.5" y="84" width="2" height="2" /></bezel> + <bezel element="text_h"><bounds x="91.5" y="84" width="2" height="2" /></bezel> + </view> + +</mamelayout> diff --git a/src/mame/layout/mephisto_modena.lay b/src/mame/layout/mephisto_modena.lay index 2908d489b04..9f85e574415 100644 --- a/src/mame/layout/mephisto_modena.lay +++ b/src/mame/layout/mephisto_modena.lay @@ -1,11 +1,14 @@ <?xml version="1.0"?> <mamelayout version="2"> <!-- define elements --> + + <!-- 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="0.75" green="0.0" blue="0.0" /> + <color red="1" green="1" blue="1" /> </led7seg> </element> + <element name="led" defstate="0"> <disk state="0"> <color red="0.20" green="0.0" blue="0.0" /> @@ -14,16 +17,6 @@ <color red="0.95" green="0.0" blue="0.0" /> </disk> </element> - <element name="hl" defstate="0"> - <text string=" "> - <bounds x="0.0" y="0.0" width="1.0" height="1.0" /> - <color red="0.0" green="0.0" blue="0.0" /> - </text> - <disk state="1"> - <bounds x="0.12" y="0.12" width="0.76" height="0.76" /> - <color red="0.5" green="0.5" blue="0.5" /> - </disk> - </element> <element name="hlb" defstate="0"> <rect state="0"> <bounds x="0.0" y="0.0" width="1.0" height="1.0" /> @@ -31,14 +24,10 @@ </rect> <rect state="1"> <bounds x="0.0" y="0.0" width="1.0" height="1.0" /> - <color red="0.4" green="0.4" blue="0.4" /> + <color red="0.7" green="0.7" blue="0.7" /> </rect> </element> - <element name="background"> <rect><color red="0" green="0" blue="0" /></rect></element> - <element name="black"> <rect><color red="0" green="0" blue="0" /></rect></element> - <element name="white"> <rect><color red="1" green="1" blue="1" /></rect></element> - <element name="text_1"> <rect><color red="0" green="0" blue="0" /></rect> <text string="1"> <color red="1" green="1" blue="1" /></text> </element> <element name="text_2"> <rect><color red="0" green="0" blue="0" /></rect> <text string="2"> <color red="1" green="1" blue="1" /></text> </element> <element name="text_3"> <rect><color red="0" green="0" blue="0" /></rect> <text string="3"> <color red="1" green="1" blue="1" /></text> </element> @@ -71,167 +60,373 @@ <element name="text_p5"> <rect><color red="0" green="0" blue="0" /></rect> <text string="[N]"> <color red="1" green="1" blue="1" /></text> </element> <element name="text_p6"> <rect><color red="0" green="0" blue="0" /></rect> <text string="[P]"> <color red="1" green="1" blue="1" /></text> </element> -<!-- build screen --> - <group name="panel"> - <bezel name="digit3" element="digit"> <bounds x="2" y="0" width="4" height="5" /> </bezel> - <bezel name="digit2" element="digit"> <bounds x="7" y="0" width="4" height="5" /> </bezel> - <bezel name="digit1" element="digit"> <bounds x="12" y="0" width="4" height="5" /> </bezel> - <bezel name="digit0" element="digit"> <bounds x="17" y="0" width="4" height="5" /> </bezel> - - <bezel element="hlb" inputtag="KEY" inputmask="0x01"> <bounds x="0" y="11" width="5" height="1" /> </bezel> - <bezel element="hlb" inputtag="KEY" inputmask="0x02"> <bounds x="6" y="11" width="5" height="1" /> </bezel> - <bezel element="hlb" inputtag="KEY" inputmask="0x04"> <bounds x="12" y="11" width="5" height="1" /> </bezel> - <bezel element="hlb" inputtag="KEY" inputmask="0x08"> <bounds x="18" y="11" width="5" height="1" /> </bezel> - <bezel element="hlb" inputtag="KEY" inputmask="0x10"> <bounds x="0" y="20" width="5" height="1" /> </bezel> - <bezel element="hlb" inputtag="KEY" inputmask="0x20"> <bounds x="6" y="20" width="5" height="1" /> </bezel> - <bezel element="hlb" inputtag="KEY" inputmask="0x40"> <bounds x="12" y="20" width="5" height="1" /> </bezel> - <bezel element="hlb" inputtag="KEY" inputmask="0x80"> <bounds x="18" y="20" width="5" height="1" /> </bezel> - - <bezel element="text_book"> <bounds x="0" y="9" width="5" height="1.2" /> </bezel> - <bezel element="text_info"> <bounds x="6" y="9" width="5" height="1.2" /> </bezel> - <bezel element="text_memory"> <bounds x="12" y="9" width="5" height="1.2" /> </bezel> - <bezel element="text_position"> <bounds x="18" y="9" width="5" height="1.2" /> </bezel> - <bezel element="text_level"> <bounds x="0" y="18" width="5" height="1.2" /> </bezel> - <bezel element="text_function"> <bounds x="6" y="18" width="5" height="1.2" /> </bezel> - <bezel element="text_enter"> <bounds x="12" y="18" width="5" height="1.2" /> </bezel> - <bezel element="text_clear"> <bounds x="18" y="18" width="5" height="1.2" /> </bezel> - - <bezel element="text_p6"> <bounds x="0" y="12" width="5" height="1.7" /> </bezel> - <bezel element="text_p5"> <bounds x="6" y="12" width="5" height="1.7" /> </bezel> - <bezel element="text_p4"> <bounds x="12" y="12" width="5" height="1.7" /> </bezel> - <bezel element="text_p3"> <bounds x="18" y="12" width="5" height="1.7" /> </bezel> - <bezel element="text_p2"> <bounds x="0" y="21" width="5" height="1.7" /> </bezel> - <bezel element="text_p1"> <bounds x="6" y="21" width="5" height="1.7" /> </bezel> - <bezel element="text_newgame"> <bounds x="12" y="22" width="11" height="1.4" /> </bezel> - - <bezel name="led100" element="led"> <bounds x="1.75" y="7" width="1.2" height="1.2" /> </bezel> - <bezel name="led101" element="led"> <bounds x="7.75" y="7" width="1.2" height="1.2" /> </bezel> - <bezel name="led102" element="led"> <bounds x="13.75" y="7" width="1.2" height="1.2" /> </bezel> - <bezel name="led103" element="led"> <bounds x="19.75" y="7" width="1.2" height="1.2" /> </bezel> - <bezel name="led104" element="led"> <bounds x="1.75" y="16" width="1.2" height="1.2" /> </bezel> - <bezel name="led105" element="led"> <bounds x="7.75" y="16" width="1.2" height="1.2" /> </bezel> + <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> + + +<!-- sb board --> + + <element name="cwhite"><rect><color red="1.00" green="1.00" blue="1.00" /></rect></element> + <element name="cblack"><rect><color red="0.40" green="0.40" blue="0.40" /></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> + + <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> + + <!-- sensors, pieces --> + <repeat count="8"> + <param name="y" start="0" increment="10" /> + <param name="i" start="8" increment="-1" /> + + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x01"><bounds x="0" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x02"><bounds x="10" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x04"><bounds x="20" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x08"><bounds x="30" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x10"><bounds x="40" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x20"><bounds x="50" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x40"><bounds x="60" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board: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="1.00" green="1.00" blue="1.00" /></rect> + <text string="RESET"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_uib3"> + <rect><color red="1.00" green="1.00" blue="1.00" /></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="1.00" green="1.00" blue="1.00" /></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="1.00" green="1.00" blue="1.00" /></rect> + <text string=" <<"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_uiu2b"> + <rect><color red="1.00" green="1.00" blue="1.00" /></rect> + <text string=" < "><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_uiu2c"> + <rect><color red="1.00" green="1.00" blue="1.00" /></rect> + <text string=" >"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_uiu2d"> + <rect><color red="1.00" green="1.00" blue="1.00" /></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: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: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:board:SPAWN" inputmask="0x0001"><bounds x="1" y="23" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0002"><bounds x="1" y="27" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0004"><bounds x="1" y="31" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0008"><bounds x="5" y="23" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0010"><bounds x="5" y="27" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0020"><bounds x="5" y="31" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0040"><bounds x="1" y="36" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0080"><bounds x="1" y="40" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0100"><bounds x="1" y="44" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0200"><bounds x="5" y="36" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0400"><bounds x="5" y="40" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board: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: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: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: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: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: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> - <view name="Chessboard + Display"> - <bounds left="-2" right="112" top="0" bottom="89" /> - <bezel element="background"><bounds x="-2" y="0" width="88" height="89" /></bezel> + <group name="panel"> + <bounds left="0" right="24" top="0" bottom="24" /> + <bezel name="digit3" element="digit"> <bounds x="2.5" y="0" width="4" height="5" /> </bezel> + <bezel name="digit2" element="digit"> <bounds x="7.5" y="0" width="4" height="5" /> </bezel> + <bezel name="digit1" element="digit"> <bounds x="12.5" y="0" width="4" height="5" /> </bezel> + <bezel name="digit0" element="digit"> <bounds x="17.5" y="0" width="4" height="5" /> </bezel> + + <bezel element="hlb" inputtag="KEY" inputmask="0x01"> <bounds x="0.5" y="11" width="5" height="1" /> </bezel> + <bezel element="hlb" inputtag="KEY" inputmask="0x02"> <bounds x="6.5" y="11" width="5" height="1" /> </bezel> + <bezel element="hlb" inputtag="KEY" inputmask="0x04"> <bounds x="12.5" y="11" width="5" height="1" /> </bezel> + <bezel element="hlb" inputtag="KEY" inputmask="0x08"> <bounds x="18.5" y="11" width="5" height="1" /> </bezel> + <bezel element="hlb" inputtag="KEY" inputmask="0x10"> <bounds x="0.5" y="20" width="5" height="1" /> </bezel> + <bezel element="hlb" inputtag="KEY" inputmask="0x20"> <bounds x="6.5" y="20" width="5" height="1" /> </bezel> + <bezel element="hlb" inputtag="KEY" inputmask="0x40"> <bounds x="12.5" y="20" width="5" height="1" /> </bezel> + <bezel element="hlb" inputtag="KEY" inputmask="0x80"> <bounds x="18.5" y="20" width="5" height="1" /> </bezel> + + <bezel element="text_book"> <bounds x="0.5" y="9" width="5" height="1.2" /> </bezel> + <bezel element="text_info"> <bounds x="6.5" y="9" width="5" height="1.2" /> </bezel> + <bezel element="text_memory"> <bounds x="12.5" y="9" width="5" height="1.2" /> </bezel> + <bezel element="text_position"> <bounds x="18.5" y="9" width="5" height="1.2" /> </bezel> + <bezel element="text_level"> <bounds x="0.5" y="18" width="5" height="1.2" /> </bezel> + <bezel element="text_function"> <bounds x="6.5" y="18" width="5" height="1.2" /> </bezel> + <bezel element="text_enter"> <bounds x="12.5" y="18" width="5" height="1.2" /> </bezel> + <bezel element="text_clear"> <bounds x="18.5" y="18" width="5" height="1.2" /> </bezel> + <bezel element="text_p6"> <bounds x="0.5" y="12.5" width="5" height="1.7" /> </bezel> + <bezel element="text_p5"> <bounds x="6.5" y="12.5" width="5" height="1.7" /> </bezel> + <bezel element="text_p4"> <bounds x="12.5" y="12.5" width="5" height="1.7" /> </bezel> + <bezel element="text_p3"> <bounds x="18.5" y="12.5" width="5" height="1.7" /> </bezel> + <bezel element="text_p2"> <bounds x="0.5" y="21.5" width="5" height="1.7" /> </bezel> + <bezel element="text_p1"> <bounds x="6.5" y="21.5" width="5" height="1.7" /> </bezel> + <bezel element="text_newgame"> <bounds x="12.5" y="21.5" width="11" height="1.4" /> </bezel> + + <bezel name="led100" element="led"> <bounds x="2.4" y="7" width="1.2" height="1.2" /> </bezel> + <bezel name="led101" element="led"> <bounds x="8.4" y="7" width="1.2" height="1.2" /> </bezel> + <bezel name="led102" element="led"> <bounds x="14.4" y="7" width="1.2" height="1.2" /> </bezel> + <bezel name="led103" element="led"> <bounds x="20.4" y="7" width="1.2" height="1.2" /> </bezel> + <bezel name="led104" element="led"> <bounds x="2.4" y="16" width="1.2" height="1.2" /> </bezel> + <bezel name="led105" element="led"> <bounds x="8.4" y="16" width="1.2" height="1.2" /> </bezel> + </group> + +<!-- build screen --> + <view name="Internal Layout"> + <bounds left="0" right="129" top="0" bottom="90" /> <!-- chessboard coords --> - <bezel element="text_8"><bounds x="-1.8" y="7" width="2" height="2" /></bezel> - <bezel element="text_7"><bounds x="-1.8" y="17" width="2" height="2" /></bezel> - <bezel element="text_6"><bounds x="-1.8" y="27" width="2" height="2" /></bezel> - <bezel element="text_5"><bounds x="-1.8" y="37" width="2" height="2" /></bezel> - <bezel element="text_4"><bounds x="-1.8" y="47" width="2" height="2" /></bezel> - <bezel element="text_3"><bounds x="-1.8" y="57" width="2" height="2" /></bezel> - <bezel element="text_2"><bounds x="-1.8" y="67" width="2" height="2" /></bezel> - <bezel element="text_1"><bounds x="-1.8" y="77" width="2" height="2" /></bezel> - <bezel element="text_a"><bounds x="7" y="87" width="2" height="2" /></bezel> - <bezel element="text_b"><bounds x="17" y="87" width="2" height="2" /></bezel> - <bezel element="text_c"><bounds x="27" y="87" width="2" height="2" /></bezel> - <bezel element="text_d"><bounds x="37" y="87" width="2" height="2" /></bezel> - <bezel element="text_e"><bounds x="47" y="87" width="2" height="2" /></bezel> - <bezel element="text_f"><bounds x="57" y="87" width="2" height="2" /></bezel> - <bezel element="text_g"><bounds x="67" y="87" width="2" height="2" /></bezel> - <bezel element="text_h"><bounds x="77" y="87" width="2" height="2" /></bezel> - - <!-- chessboard bezel --> - - <bezel element="white"><bounds x="2" y="2" width="82" height="82" /></bezel> - <bezel element="white"><bounds x="3" y="3" width="80" height="80" /></bezel> - - <bezel element="black"><bounds x="13" y="2.5" width="10" height="10.5" /></bezel> - <bezel element="black"><bounds x="33" y="2.5" width="10" height="10.5" /></bezel> - <bezel element="black"><bounds x="53" y="2.5" width="10" height="10.5" /></bezel> - <bezel element="black"><bounds x="73" y="2.5" width="10.5" height="10.5" /></bezel> - - <bezel element="black"><bounds x="2.5" y="13" width="10.5" height="10" /></bezel> - <bezel element="black"><bounds x="23" y="13" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="43" y="13" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="63" y="13" width="10" height="10" /></bezel> - - <bezel element="black"><bounds x="13" y="23" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="33" y="23" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="53" y="23" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="73" y="23" width="10.5" height="10" /></bezel> - - <bezel element="black"><bounds x="2.5" y="33" width="10.5" height="10" /></bezel> - <bezel element="black"><bounds x="23" y="33" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="43" y="33" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="63" y="33" width="10" height="10" /></bezel> - - <bezel element="black"><bounds x="13" y="43" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="33" y="43" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="53" y="43" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="73" y="43" width="10.5" height="10" /></bezel> - - <bezel element="black"><bounds x="2.5" y="53" width="10.5" height="10" /></bezel> - <bezel element="black"><bounds x="23" y="53" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="43" y="53" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="63" y="53" width="10" height="10" /></bezel> - - <bezel element="black"><bounds x="13" y="63" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="33" y="63" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="53" y="63" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="73" y="63" width="10.5" height="10" /></bezel> - - <bezel element="black"><bounds x="2.5" y="73" width="10.5" height="10.5" /></bezel> - <bezel element="black"><bounds x="23" y="73" width="10" height="10.5" /></bezel> - <bezel element="black"><bounds x="43" y="73" width="10" height="10.5" /></bezel> - <bezel element="black"><bounds x="63" y="73" width="10" height="10.5" /></bezel> + <bezel element="text_8"><bounds x="15.2" y="7" width="2" height="2" /></bezel> + <bezel element="text_7"><bounds x="15.2" y="17" width="2" height="2" /></bezel> + <bezel element="text_6"><bounds x="15.2" y="27" width="2" height="2" /></bezel> + <bezel element="text_5"><bounds x="15.2" y="37" width="2" height="2" /></bezel> + <bezel element="text_4"><bounds x="15.2" y="47" width="2" height="2" /></bezel> + <bezel element="text_3"><bounds x="15.2" y="57" width="2" height="2" /></bezel> + <bezel element="text_2"><bounds x="15.2" y="67" width="2" height="2" /></bezel> + <bezel element="text_1"><bounds x="15.2" y="77" width="2" height="2" /></bezel> + <bezel element="text_a"><bounds x="24" y="87" width="2" height="2" /></bezel> + <bezel element="text_b"><bounds x="34" y="87" width="2" height="2" /></bezel> + <bezel element="text_c"><bounds x="44" y="87" width="2" height="2" /></bezel> + <bezel element="text_d"><bounds x="54" y="87" width="2" height="2" /></bezel> + <bezel element="text_e"><bounds x="64" y="87" width="2" height="2" /></bezel> + <bezel element="text_f"><bounds x="74" y="87" width="2" height="2" /></bezel> + <bezel element="text_g"><bounds x="84" y="87" width="2" height="2" /></bezel> + <bezel element="text_h"><bounds x="94" y="87" width="2" height="2" /></bezel> - <!-- chessboard leds --> + <bezel element="cwhite"><bounds x="19" y="2" width="82" height="82" /></bezel> - <bezel name="led0" element="led"><bounds x="7.25" y="85" width="1.5" height="1.5" /></bezel> - <bezel name="led1" element="led"><bounds x="17.25" y="85" width="1.5" height="1.5" /></bezel> - <bezel name="led2" element="led"><bounds x="27.25" y="85" width="1.5" height="1.5" /></bezel> - <bezel name="led3" element="led"><bounds x="37.25" y="85" width="1.5" height="1.5" /></bezel> - <bezel name="led4" element="led"><bounds x="47.25" y="85" width="1.5" height="1.5" /></bezel> - <bezel name="led5" element="led"><bounds x="57.25" y="85" width="1.5" height="1.5" /></bezel> - <bezel name="led6" element="led"><bounds x="67.25" y="85" width="1.5" height="1.5" /></bezel> - <bezel name="led7" element="led"><bounds x="77.25" y="85" width="1.5" height="1.5" /></bezel> - <bezel name="led8" element="led"><bounds x="0" y="77.25" width="1.5" height="1.5" /></bezel> - <bezel name="led9" element="led"><bounds x="0" y="67.25" width="1.5" height="1.5" /></bezel> - <bezel name="led10" element="led"><bounds x="0" y="57.25" width="1.5" height="1.5" /></bezel> - <bezel name="led11" element="led"><bounds x="0" y="47.25" width="1.5" height="1.5" /></bezel> - <bezel name="led12" element="led"><bounds x="0" y="37.25" width="1.5" height="1.5" /></bezel> - <bezel name="led13" element="led"><bounds x="0" y="27.25" width="1.5" height="1.5" /></bezel> - <bezel name="led14" element="led"><bounds x="0" y="17.25" width="1.5" height="1.5" /></bezel> - <bezel name="led15" element="led"><bounds x="0" y="7.25" width="1.5" height="1.5" /></bezel> - - <!-- chessboard sensors --> - - <repeat count="4"> - <param name="pairy" start="3" increment="20" /> - <param name="pairno" start="7" increment="-2" /> - <repeat count="2"> - <param name="rowy" start="~pairy~" increment="10" /> - <param name="rowno" start="~pairno~" increment="-1" /> - <param name="lalpha" start="0.2" increment="0.3" /> - <param name="ralpha" start="0.5" increment="-0.3" /> - <repeat count="4"> - <param name="lx" start="3" increment="20" /> - <param name="rx" start="13" increment="20" /> - <param name="lmask" start="0x01" lshift="2" /> - <param name="rmask" start="0x02" lshift="2" /> - <bezel element="hl" inputtag="board:IN.~rowno~" inputmask="~lmask~"> - <bounds x="~lx~" y="~rowy~" width="10" height="10" /> - <color alpha="~lalpha~" /> - </bezel> - <bezel element="hl" inputtag="board:IN.~rowno~" inputmask="~rmask~"> - <bounds x="~rx~" y="~rowy~" width="10" height="10" /> - <color alpha="~ralpha~" /> - </bezel> - </repeat> - </repeat> - </repeat> + <!-- chessboard leds --> + <bezel name="led0" element="led"><bounds x="24.25" y="85" width="1.5" height="1.5" /></bezel> + <bezel name="led1" element="led"><bounds x="34.25" y="85" width="1.5" height="1.5" /></bezel> + <bezel name="led2" element="led"><bounds x="44.25" y="85" width="1.5" height="1.5" /></bezel> + <bezel name="led3" element="led"><bounds x="54.25" y="85" width="1.5" height="1.5" /></bezel> + <bezel name="led4" element="led"><bounds x="64.25" y="85" width="1.5" height="1.5" /></bezel> + <bezel name="led5" element="led"><bounds x="74.25" y="85" width="1.5" height="1.5" /></bezel> + <bezel name="led6" element="led"><bounds x="84.25" y="85" width="1.5" height="1.5" /></bezel> + <bezel name="led7" element="led"><bounds x="94.25" y="85" width="1.5" height="1.5" /></bezel> + <bezel name="led8" element="led"><bounds x="17" y="77.25" width="1.5" height="1.5" /></bezel> + <bezel name="led9" element="led"><bounds x="17" y="67.25" width="1.5" height="1.5" /></bezel> + <bezel name="led10" element="led"><bounds x="17" y="57.25" width="1.5" height="1.5" /></bezel> + <bezel name="led11" element="led"><bounds x="17" y="47.25" width="1.5" height="1.5" /></bezel> + <bezel name="led12" element="led"><bounds x="17" y="37.25" width="1.5" height="1.5" /></bezel> + <bezel name="led13" element="led"><bounds x="17" y="27.25" width="1.5" height="1.5" /></bezel> + <bezel name="led14" element="led"><bounds x="17" y="17.25" width="1.5" height="1.5" /></bezel> + <bezel name="led15" element="led"><bounds x="17" y="7.25" width="1.5" height="1.5" /></bezel> <!-- LCD panel --> - <group ref="panel"><bounds x="87" y="58" width="23" height="23.5" /></group> - </view> + <group ref="panel"><bounds x="103" y="58" width="24" height="24" /></group> - <view name="Display Only"> - <group ref="panel"><bounds x="0" y="0" width="23" height="23.5" /></group> + <group ref="sb_board"><bounds x="20" y="3" width="80" height="80" /></group> + <group ref="sb_ui"><bounds x="1.5" y="3" width="10" height="80" /></group> </view> </mamelayout> diff --git a/src/mame/layout/mephisto_mondial2.lay b/src/mame/layout/mephisto_mondial2.lay index 0122999b804..07778dd9d15 100644 --- a/src/mame/layout/mephisto_mondial2.lay +++ b/src/mame/layout/mephisto_mondial2.lay @@ -9,22 +9,8 @@ <color red="0.95" green="0.0" blue="0.0" /> </rect> </element> - <element name="hl" defstate="0"> - <text string=" "> - <bounds x="0.0" y="0.0" width="1.0" height="1.0" /> - <color red="0.0" green="0.0" blue="0.0" /> - </text> - <disk state="1"> - <bounds x="0.12" y="0.12" width="0.76" height="0.76" /> - <color red="0.5" green="0.5" blue="0.5" /> - </disk> - </element> <element name="hlb" defstate="0"> - <rect state="0"> - <bounds x="0.0" y="0.0" width="1.0" height="1.0" /> - <color red="1" green="1" blue="1" /> - </rect> - <rect state="1"> + <rect> <bounds x="0.0" y="0.0" width="1.0" height="1.0" /> <color red="1" green="1" blue="1" /> </rect> @@ -34,14 +20,13 @@ </rect> <rect state="1"> <bounds x="0.08" y="0.08" width="0.84" height="0.84" /> - <color red="0" green="0" blue="0" /> + <color red="0.2" green="0.2" blue="0.2" /> </rect> </element> <element name="background"> <rect><color red="0.90" green="0.91" blue="0.89" /></rect></element> <element name="panel_background"> <rect><color red="0" green="0" blue="0" /></rect></element> <element name="black"> <rect><color red="0" green="0" blue="0" /> </rect></element> - <element name="white"> <rect><color red="0.90" green="0.91" blue="0.89" /></rect></element> <element name="text_1"> <rect><color red="0.90" green="0.91" blue="0.89" /></rect> <text string="1"> <color red="0" green="0" blue="0" /></text> </element> <element name="text_2"> <rect><color red="0.90" green="0.91" blue="0.89" /></rect> <text string="2"> <color red="0" green="0" blue="0" /></text> </element> @@ -60,29 +45,308 @@ <element name="text_g"> <rect><color red="0.90" green="0.91" blue="0.89" /></rect> <text string="G"> <color red="0" green="0" blue="0" /></text> </element> <element name="text_h"> <rect><color red="0.90" green="0.91" blue="0.89" /></rect> <text string="H"> <color red="0" green="0" blue="0" /></text> </element> - <element name="text_pos"> <rect><color red="0" green="0" blue="0" /></rect> <text align="1" string="POS"> <color red="0.90" green="0.91" blue="0.89" /></text> </element> - <element name="text_mem"> <rect><color red="0" green="0" blue="0" /></rect> <text align="1" string="MEM"> <color red="0.90" green="0.91" blue="0.89" /></text> </element> - <element name="text_info"> <rect><color red="0" green="0" blue="0" /></rect> <text align="1" string="INFO"> <color red="0.90" green="0.91" blue="0.89" /></text> </element> - <element name="text_err"> <rect><color red="0" green="0" blue="0" /></rect> <text align="1" string="ERR"> <color red="0.90" green="0.91" blue="0.89" /></text> </element> - <element name="text_lev"> <rect><color red="0" green="0" blue="0" /></rect> <text align="1" string="LEV"> <color red="0.90" green="0.91" blue="0.89" /></text> </element> - <element name="text_plus"> <rect><color red="0" green="0" blue="0" /></rect> <text align="1" string="+"> <color red="0.90" green="0.91" blue="0.89" /></text> </element> - <element name="text_black"> <rect><color red="0" green="0" blue="0" /></rect> <text align="1" string="□"> <color red="0.90" green="0.91" blue="0.89" /></text> </element> - <element name="text_white"> <rect><color red="0" green="0" blue="0" /></rect> <text align="1" string="■"> <color red="0.90" green="0.91" blue="0.89" /></text> </element> - <element name="text_b1"> <rect><color red="0" green="0" blue="0" /></rect> <text align="1" string="[P] 1"> <color red="0.90" green="0.91" blue="0.89" /></text> </element> - <element name="text_b2"> <rect><color red="0" green="0" blue="0" /></rect> <text align="1" string="[N] 2"> <color red="0.90" green="0.91" blue="0.89" /></text> </element> - <element name="text_b3"> <rect><color red="0" green="0" blue="0" /></rect> <text align="1" string="[B] 3"> <color red="0.90" green="0.91" blue="0.89" /></text> </element> - <element name="text_b4"> <rect><color red="0" green="0" blue="0" /></rect> <text align="1" string="[R] 4"> <color red="0.90" green="0.91" blue="0.89" /></text> </element> - <element name="text_b5"> <rect><color red="0" green="0" blue="0" /></rect> <text align="1" string="[Q] 5"> <color red="0.90" green="0.91" blue="0.89" /></text> </element> - <element name="text_b6"> <rect><color red="0" green="0" blue="0" /></rect> <text align="1" string="[K] 6"> <color red="0.90" green="0.91" blue="0.89" /></text> </element> - <element name="text_b7"> <rect><color red="0" green="0" blue="0" /></rect> <text align="1" string="□ 7"> <color red="0.90" green="0.91" blue="0.89" /></text> </element> - <element name="text_b8"> <rect><color red="0" green="0" blue="0" /></rect> <text align="1" string="■ 8"> <color red="0.90" green="0.91" blue="0.89" /></text> </element> - <element name="text_play"> <rect><color red="0" green="0" blue="0" /></rect> <text align="1" string="PLAY"> <color red="0.90" green="0.91" blue="0.89" /></text> </element> - <element name="text_cl"> <rect><color red="0" green="0" blue="0" /></rect> <text align="1" string="CL"> <color red="0.90" green="0.91" blue="0.89" /></text> </element> - <element name="text_ent"> <rect><color red="0" green="0" blue="0" /></rect> <text align="1" string="ENT"> <color red="0.90" green="0.91" blue="0.89" /></text> </element> - <element name="text_res"> <rect><color red="0" green="0" blue="0" /></rect> <text align="1" string="RES"> <color red="0.90" green="0.91" blue="0.89" /></text> </element> + <element name="text_pos"> <text align="1" string="POS"> <color red="0.90" green="0.91" blue="0.89" /></text> </element> + <element name="text_mem"> <text align="1" string="MEM"> <color red="0.90" green="0.91" blue="0.89" /></text> </element> + <element name="text_info"> <text align="1" string="INFO"> <color red="0.90" green="0.91" blue="0.89" /></text> </element> + <element name="text_err"> <text align="1" string="ERR"> <color red="0.90" green="0.91" blue="0.89" /></text> </element> + <element name="text_lev"> <text align="1" string="LEV"> <color red="0.90" green="0.91" blue="0.89" /></text> </element> + <element name="text_plus"> <text align="1" string="+"> <color red="0.90" green="0.91" blue="0.89" /></text> </element> + <element name="text_black"> <text align="1" string="□"> <color red="0.90" green="0.91" blue="0.89" /></text> </element> + <element name="text_white"> <text align="1" string="■"> <color red="0.90" green="0.91" blue="0.89" /></text> </element> + <element name="text_b1"> <text align="1" string="[P] 1"> <color red="0.90" green="0.91" blue="0.89" /></text> </element> + <element name="text_b2"> <text align="1" string="[N] 2"> <color red="0.90" green="0.91" blue="0.89" /></text> </element> + <element name="text_b3"> <text align="1" string="[B] 3"> <color red="0.90" green="0.91" blue="0.89" /></text> </element> + <element name="text_b4"> <text align="1" string="[R] 4"> <color red="0.90" green="0.91" blue="0.89" /></text> </element> + <element name="text_b5"> <text align="1" string="[Q] 5"> <color red="0.90" green="0.91" blue="0.89" /></text> </element> + <element name="text_b6"> <text align="1" string="[K] 6"> <color red="0.90" green="0.91" blue="0.89" /></text> </element> + <element name="text_b7"> <text align="1" string="□ 7"> <color red="0.90" green="0.91" blue="0.89" /></text> </element> + <element name="text_b8"> <text align="1" string="■ 8"> <color red="0.90" green="0.91" blue="0.89" /></text> </element> + <element name="text_play"> <text align="1" string="PLAY"> <color red="0.90" green="0.91" blue="0.89" /></text> </element> + <element name="text_cl"> <text align="1" string="CL"> <color red="0.90" green="0.91" blue="0.89" /></text> </element> + <element name="text_ent"> <text align="1" string="ENT"> <color red="0.90" green="0.91" blue="0.89" /></text> </element> + <element name="text_res"> <text align="1" string="RES"> <color red="0.90" green="0.91" blue="0.89" /></text> </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> + + +<!-- sb board --> + + <element name="cwhite"><rect><color red="1.00" green="1.00" blue="1.00" /></rect></element> + <element name="cblack"><rect><color red="0.30" green="0.30" blue="0.30" /></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> + + <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> + + <!-- sensors, pieces --> + <repeat count="8"> + <param name="y" start="0" increment="10" /> + <param name="i" start="8" increment="-1" /> + + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x01"><bounds x="0" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x02"><bounds x="10" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x04"><bounds x="20" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x08"><bounds x="30" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x10"><bounds x="40" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x20"><bounds x="50" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x40"><bounds x="60" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board: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="1.00" green="1.00" blue="1.00" /></rect> + <text string="RESET"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_uib3"> + <rect><color red="1.00" green="1.00" blue="1.00" /></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="1.00" green="1.00" blue="1.00" /></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="1.00" green="1.00" blue="1.00" /></rect> + <text string=" <<"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_uiu2b"> + <rect><color red="1.00" green="1.00" blue="1.00" /></rect> + <text string=" < "><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_uiu2c"> + <rect><color red="1.00" green="1.00" blue="1.00" /></rect> + <text string=" >"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_uiu2d"> + <rect><color red="1.00" green="1.00" blue="1.00" /></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: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: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:board:SPAWN" inputmask="0x0001"><bounds x="1" y="23" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0002"><bounds x="1" y="27" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0004"><bounds x="1" y="31" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0008"><bounds x="5" y="23" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0010"><bounds x="5" y="27" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0020"><bounds x="5" y="31" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0040"><bounds x="1" y="36" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0080"><bounds x="1" y="40" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0100"><bounds x="1" y="44" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0200"><bounds x="5" y="36" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0400"><bounds x="5" y="40" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board: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: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: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: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: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: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> -<!-- build screen --> <group name="panel"> + <bounds left="0" right="78" top="0" bottom="12" /> <bezel element="panel_background"><bounds x="0" y="0" width="78" height="12" /></bezel> <bezel name="led100" element="led"> <bounds x="1.1" y="0.25" width="1.3" height="1" /> </bezel> @@ -139,174 +403,61 @@ <bezel element="text_res"> <bounds x="72" y="9.5" width="4" height="1.5" /> </bezel> </group> - <view name="Chessboard + Display"> - <bezel element="background"><bounds x="-2" y="0" width="88" height="102" /></bezel> + +<!-- build screen --> + <view name="Internal Layout"> + <bounds left="0" right="101" top="0" bottom="102" /> + <bezel element="background"><bounds x="13" y="0" width="88" height="102" /></bezel> <!-- chessboard coords --> - <bezel element="text_8"><bounds x="-1.5" y="7" width="2" height="2" /></bezel> - <bezel element="text_7"><bounds x="-1.5" y="17" width="2" height="2" /></bezel> - <bezel element="text_6"><bounds x="-1.5" y="27" width="2" height="2" /></bezel> - <bezel element="text_5"><bounds x="-1.5" y="37" width="2" height="2" /></bezel> - <bezel element="text_4"><bounds x="-1.5" y="47" width="2" height="2" /></bezel> - <bezel element="text_3"><bounds x="-1.5" y="57" width="2" height="2" /></bezel> - <bezel element="text_2"><bounds x="-1.5" y="67" width="2" height="2" /></bezel> - <bezel element="text_1"><bounds x="-1.5" y="77" width="2" height="2" /></bezel> - - <bezel element="text_a"><bounds x="7" y="86" width="2" height="2" /></bezel> - <bezel element="text_b"><bounds x="17" y="86" width="2" height="2" /></bezel> - <bezel element="text_c"><bounds x="27" y="86" width="2" height="2" /></bezel> - <bezel element="text_d"><bounds x="37" y="86" width="2" height="2" /></bezel> - <bezel element="text_e"><bounds x="47" y="86" width="2" height="2" /></bezel> - <bezel element="text_f"><bounds x="57" y="86" width="2" height="2" /></bezel> - <bezel element="text_g"><bounds x="67" y="86" width="2" height="2" /></bezel> - <bezel element="text_h"><bounds x="77" y="86" width="2" height="2" /></bezel> + <bezel element="text_8"><bounds x="13.5" y="7" width="2" height="2" /></bezel> + <bezel element="text_7"><bounds x="13.5" y="17" width="2" height="2" /></bezel> + <bezel element="text_6"><bounds x="13.5" y="27" width="2" height="2" /></bezel> + <bezel element="text_5"><bounds x="13.5" y="37" width="2" height="2" /></bezel> + <bezel element="text_4"><bounds x="13.5" y="47" width="2" height="2" /></bezel> + <bezel element="text_3"><bounds x="13.5" y="57" width="2" height="2" /></bezel> + <bezel element="text_2"><bounds x="13.5" y="67" width="2" height="2" /></bezel> + <bezel element="text_1"><bounds x="13.5" y="77" width="2" height="2" /></bezel> + + <bezel element="text_a"><bounds x="22" y="86" width="2" height="2" /></bezel> + <bezel element="text_b"><bounds x="32" y="86" width="2" height="2" /></bezel> + <bezel element="text_c"><bounds x="42" y="86" width="2" height="2" /></bezel> + <bezel element="text_d"><bounds x="52" y="86" width="2" height="2" /></bezel> + <bezel element="text_e"><bounds x="62" y="86" width="2" height="2" /></bezel> + <bezel element="text_f"><bounds x="72" y="86" width="2" height="2" /></bezel> + <bezel element="text_g"><bounds x="82" y="86" width="2" height="2" /></bezel> + <bezel element="text_h"><bounds x="92" y="86" width="2" height="2" /></bezel> <!-- chessboard bezel --> - <bezel element="black"><bounds x="2.5" y="2.5" width="81" height="81" /></bezel> - <bezel element="white"><bounds x="3" y="3" width="80" height="80" /></bezel> - - <bezel element="black"><bounds x="13" y="2.5" width="10" height="10.5" /></bezel> - <bezel element="black"><bounds x="33" y="2.5" width="10" height="10.5" /></bezel> - <bezel element="black"><bounds x="53" y="2.5" width="10" height="10.5" /></bezel> - <bezel element="black"><bounds x="73" y="2.5" width="10.5" height="10.5" /></bezel> - - <bezel element="black"><bounds x="2.5" y="13" width="10.5" height="10" /></bezel> - <bezel element="black"><bounds x="23" y="13" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="43" y="13" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="63" y="13" width="10" height="10" /></bezel> - - <bezel element="black"><bounds x="13" y="23" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="33" y="23" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="53" y="23" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="73" y="23" width="10.5" height="10" /></bezel> - - <bezel element="black"><bounds x="2.5" y="33" width="10.5" height="10" /></bezel> - <bezel element="black"><bounds x="23" y="33" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="43" y="33" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="63" y="33" width="10" height="10" /></bezel> - - <bezel element="black"><bounds x="13" y="43" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="33" y="43" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="53" y="43" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="73" y="43" width="10.5" height="10" /></bezel> - - <bezel element="black"><bounds x="2.5" y="53" width="10.5" height="10" /></bezel> - <bezel element="black"><bounds x="23" y="53" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="43" y="53" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="63" y="53" width="10" height="10" /></bezel> - - <bezel element="black"><bounds x="13" y="63" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="33" y="63" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="53" y="63" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="73" y="63" width="10.5" height="10" /></bezel> - - <bezel element="black"><bounds x="2.5" y="73" width="10.5" height="10.5" /></bezel> - <bezel element="black"><bounds x="23" y="73" width="10" height="10.5" /></bezel> - <bezel element="black"><bounds x="43" y="73" width="10" height="10.5" /></bezel> - <bezel element="black"><bounds x="63" y="73" width="10" height="10.5" /></bezel> + <bezel element="black"><bounds x="17.5" y="2.5" width="81" height="81" /></bezel> <!-- chessboard leds --> - <bezel name="led0" element="led"><bounds x="0.5" y="77.25" width="1" height="1.5" /></bezel> - <bezel name="led1" element="led"><bounds x="0.5" y="67.25" width="1" height="1.5" /></bezel> - <bezel name="led2" element="led"><bounds x="0.5" y="57.25" width="1" height="1.5" /></bezel> - <bezel name="led3" element="led"><bounds x="0.5" y="47.25" width="1" height="1.5" /></bezel> - <bezel name="led4" element="led"><bounds x="0.5" y="37.25" width="1" height="1.5" /></bezel> - <bezel name="led5" element="led"><bounds x="0.5" y="27.25" width="1" height="1.5" /></bezel> - <bezel name="led6" element="led"><bounds x="0.5" y="17.25" width="1" height="1.5" /></bezel> - <bezel name="led7" element="led"><bounds x="0.5" y="7.25" width="1" height="1.5" /></bezel> - - <bezel name="led8" element="led"><bounds x="7.25" y="84.5" width="1.5" height="1" /></bezel> - <bezel name="led9" element="led"><bounds x="17.25" y="84.5" width="1.5" height="1" /></bezel> - <bezel name="led10" element="led"><bounds x="27.25" y="84.5" width="1.5" height="1" /></bezel> - <bezel name="led11" element="led"><bounds x="37.25" y="84.5" width="1.5" height="1" /></bezel> - <bezel name="led12" element="led"><bounds x="47.25" y="84.5" width="1.5" height="1" /></bezel> - <bezel name="led13" element="led"><bounds x="57.25" y="84.5" width="1.5" height="1" /></bezel> - <bezel name="led14" element="led"><bounds x="67.25" y="84.5" width="1.5" height="1" /></bezel> - <bezel name="led15" element="led"><bounds x="77.25" y="84.5" width="1.5" height="1" /></bezel> - - <!-- chessboard sensors --> - - <bezel element="hl" inputtag="board:IN.7" inputmask="0x01"><bounds x="3" y="3" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.7" inputmask="0x02"><bounds x="13" y="3" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.7" inputmask="0x04"><bounds x="23" y="3" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.7" inputmask="0x08"><bounds x="33" y="3" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.7" inputmask="0x10"><bounds x="43" y="3" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.7" inputmask="0x20"><bounds x="53" y="3" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.7" inputmask="0x40"><bounds x="63" y="3" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.7" inputmask="0x80"><bounds x="73" y="3" width="10" height="10" /><color alpha="0.2" /></bezel> - - <bezel element="hl" inputtag="board:IN.6" inputmask="0x01"><bounds x="3" y="13" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.6" inputmask="0x02"><bounds x="13" y="13" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.6" inputmask="0x04"><bounds x="23" y="13" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.6" inputmask="0x08"><bounds x="33" y="13" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.6" inputmask="0x10"><bounds x="43" y="13" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.6" inputmask="0x20"><bounds x="53" y="13" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.6" inputmask="0x40"><bounds x="63" y="13" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.6" inputmask="0x80"><bounds x="73" y="13" width="10" height="10" /><color alpha="0.4" /></bezel> - - <bezel element="hl" inputtag="board:IN.5" inputmask="0x01"><bounds x="3" y="23" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.5" inputmask="0x02"><bounds x="13" y="23" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.5" inputmask="0x04"><bounds x="23" y="23" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.5" inputmask="0x08"><bounds x="33" y="23" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.5" inputmask="0x10"><bounds x="43" y="23" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.5" inputmask="0x20"><bounds x="53" y="23" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.5" inputmask="0x40"><bounds x="63" y="23" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.5" inputmask="0x80"><bounds x="73" y="23" width="10" height="10" /><color alpha="0.2" /></bezel> - - <bezel element="hl" inputtag="board:IN.4" inputmask="0x01"><bounds x="3" y="33" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.4" inputmask="0x02"><bounds x="13" y="33" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.4" inputmask="0x04"><bounds x="23" y="33" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.4" inputmask="0x08"><bounds x="33" y="33" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.4" inputmask="0x10"><bounds x="43" y="33" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.4" inputmask="0x20"><bounds x="53" y="33" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.4" inputmask="0x40"><bounds x="63" y="33" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.4" inputmask="0x80"><bounds x="73" y="33" width="10" height="10" /><color alpha="0.4" /></bezel> - - <bezel element="hl" inputtag="board:IN.3" inputmask="0x01"><bounds x="3" y="43" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.3" inputmask="0x02"><bounds x="13" y="43" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.3" inputmask="0x04"><bounds x="23" y="43" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.3" inputmask="0x08"><bounds x="33" y="43" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.3" inputmask="0x10"><bounds x="43" y="43" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.3" inputmask="0x20"><bounds x="53" y="43" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.3" inputmask="0x40"><bounds x="63" y="43" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.3" inputmask="0x80"><bounds x="73" y="43" width="10" height="10" /><color alpha="0.2" /></bezel> - - <bezel element="hl" inputtag="board:IN.2" inputmask="0x01"><bounds x="3" y="53" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.2" inputmask="0x02"><bounds x="13" y="53" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.2" inputmask="0x04"><bounds x="23" y="53" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.2" inputmask="0x08"><bounds x="33" y="53" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.2" inputmask="0x10"><bounds x="43" y="53" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.2" inputmask="0x20"><bounds x="53" y="53" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.2" inputmask="0x40"><bounds x="63" y="53" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.2" inputmask="0x80"><bounds x="73" y="53" width="10" height="10" /><color alpha="0.4" /></bezel> - - <bezel element="hl" inputtag="board:IN.1" inputmask="0x01"><bounds x="3" y="63" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.1" inputmask="0x02"><bounds x="13" y="63" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.1" inputmask="0x04"><bounds x="23" y="63" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.1" inputmask="0x08"><bounds x="33" y="63" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.1" inputmask="0x10"><bounds x="43" y="63" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.1" inputmask="0x20"><bounds x="53" y="63" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.1" inputmask="0x40"><bounds x="63" y="63" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.1" inputmask="0x80"><bounds x="73" y="63" width="10" height="10" /><color alpha="0.2" /></bezel> - - <bezel element="hl" inputtag="board:IN.0" inputmask="0x01"><bounds x="3" y="73" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.0" inputmask="0x02"><bounds x="13" y="73" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.0" inputmask="0x04"><bounds x="23" y="73" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.0" inputmask="0x08"><bounds x="33" y="73" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.0" inputmask="0x10"><bounds x="43" y="73" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.0" inputmask="0x20"><bounds x="53" y="73" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.0" inputmask="0x40"><bounds x="63" y="73" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.0" inputmask="0x80"><bounds x="73" y="73" width="10" height="10" /><color alpha="0.4" /></bezel> + <bezel name="led0" element="led"><bounds x="15.5" y="77.25" width="1" height="1.5" /></bezel> + <bezel name="led1" element="led"><bounds x="15.5" y="67.25" width="1" height="1.5" /></bezel> + <bezel name="led2" element="led"><bounds x="15.5" y="57.25" width="1" height="1.5" /></bezel> + <bezel name="led3" element="led"><bounds x="15.5" y="47.25" width="1" height="1.5" /></bezel> + <bezel name="led4" element="led"><bounds x="15.5" y="37.25" width="1" height="1.5" /></bezel> + <bezel name="led5" element="led"><bounds x="15.5" y="27.25" width="1" height="1.5" /></bezel> + <bezel name="led6" element="led"><bounds x="15.5" y="17.25" width="1" height="1.5" /></bezel> + <bezel name="led7" element="led"><bounds x="15.5" y="7.25" width="1" height="1.5" /></bezel> + + <bezel name="led8" element="led"><bounds x="22.25" y="84.5" width="1.5" height="1" /></bezel> + <bezel name="led9" element="led"><bounds x="32.25" y="84.5" width="1.5" height="1" /></bezel> + <bezel name="led10" element="led"><bounds x="42.25" y="84.5" width="1.5" height="1" /></bezel> + <bezel name="led11" element="led"><bounds x="52.25" y="84.5" width="1.5" height="1" /></bezel> + <bezel name="led12" element="led"><bounds x="62.25" y="84.5" width="1.5" height="1" /></bezel> + <bezel name="led13" element="led"><bounds x="72.25" y="84.5" width="1.5" height="1" /></bezel> + <bezel name="led14" element="led"><bounds x="82.25" y="84.5" width="1.5" height="1" /></bezel> + <bezel name="led15" element="led"><bounds x="92.25" y="84.5" width="1.5" height="1" /></bezel> + <!-- LCD panel --> - <bezel element="panel_background"><bounds x="0" y="88.5" width="84" height="13.5" /></bezel> - <group ref="panel"><bounds x="3" y="89" width="78" height="12" /></group> - </view> + <group ref="panel"><bounds x="18" y="89" width="78" height="12" /></group> - <view name="Display"> - <group ref="panel"><bounds x="0" y="0" width="78" height="12" /></group> + <group ref="sb_board"><bounds x="18" y="3" width="80" height="80" /></group> + <group ref="sb_ui"><bounds x="1.5" y="3" width="10" height="80" /></group> </view> </mamelayout> diff --git a/src/mame/layout/mephisto_montec.lay b/src/mame/layout/mephisto_montec.lay index 5e6aa5c2cf8..ba25ffec318 100644 --- a/src/mame/layout/mephisto_montec.lay +++ b/src/mame/layout/mephisto_montec.lay @@ -1,11 +1,14 @@ <?xml version="1.0"?> <mamelayout version="2"> <!-- define elements --> + + <!-- 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="0.75" green="0.0" blue="0.0" /> + <color red="1" green="1" blue="1" /> </led7seg> </element> + <element name="led" defstate="0"> <disk state="0"> <color red="0.20" green="0.0" blue="0.0" /> @@ -14,31 +17,30 @@ <color red="0.95" green="0.0" blue="0.0" /> </disk> </element> - <element name="hl" defstate="0"> - <text string=" "> + <element name="hlbr" defstate="0"> + <rect state="0"> <bounds x="0.0" y="0.0" width="1.0" height="1.0" /> - <color red="0.0" green="0.0" blue="0.0" /> - </text> - <disk state="1"> - <bounds x="0.12" y="0.12" width="0.76" height="0.76" /> - <color red="1.0" green="1.0" blue="1.0" /> - </disk> + <color red="0.8" green="0.0" blue="0.0" /> + </rect> + <rect state="1"> + <bounds x="0.0" y="0.0" width="1.0" height="1.0" /> + <color red="0.6" green="0.0" blue="0.0" /> + </rect> </element> <element name="hlb" defstate="0"> <rect state="0"> <bounds x="0.0" y="0.0" width="1.0" height="1.0" /> - <color red="1" green="1" blue="1" /> + <color red="0.1" green="0.1" blue="0.1" /> </rect> <rect state="1"> <bounds x="0.0" y="0.0" width="1.0" height="1.0" /> - <color red="0.8" green="0.8" blue="0.8" /> + <color red="0.3" green="0.3" blue="0.3" /> </rect> </element> <element name="led7seg_background"><rect><color red="0" green="0" blue="0" /> </rect></element> - <element name="background"> <rect><color red="0.59" green="0.39" blue="0.20" /></rect></element> - <element name="black"> <rect><color red="0.59" green="0.39" blue="0.20" /></rect></element> - <element name="white"> <rect><color red="0.80" green="0.73" blue="0.63" /></rect></element> + <element name="background"><rect><color red="0.59" green="0.39" blue="0.20" /></rect></element> + <element name="white"><rect><color red="0.80" green="0.73" blue="0.63" /></rect></element> <element name="text_1"> <rect><color red="0.59" green="0.39" blue="0.20" /></rect> <text string="1"> <color red="0" green="0" blue="0" /></text> </element> <element name="text_2"> <rect><color red="0.59" green="0.39" blue="0.20" /></rect> <text string="2"> <color red="0" green="0" blue="0" /></text> </element> @@ -80,8 +82,309 @@ <element name="text_res"> <rect><color red="0.59" green="0.39" blue="0.20" /></rect> <text string="RES"> <color red="1" green="1" blue="1" /></text> </element> <element name="text_lcd"> <rect><color red="0.59" green="0.39" blue="0.20" /></rect> <text string="MULTI INFO LCD"> <color red="1" green="1" blue="1" /></text> </element> -<!-- build screen --> + <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> + + +<!-- sb board --> + + <element name="cblack"> <rect><color red="0.59" green="0.39" blue="0.20" /></rect></element> + <element name="cwhite"> <rect><color red="0.80" green="0.73" blue="0.63" /></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> + + <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> + + <!-- chessboard leds --> + <repeat count="8"> + <param name="x" start="8.2" increment="10" /> + <param name="la" start="0" increment="1" /> + <param name="lb" start="8" increment="1" /> + <param name="lc" start="16" increment="1" /> + <param name="ld" start="24" increment="1" /> + <param name="le" start="32" increment="1" /> + <param name="lf" start="40" increment="1" /> + <param name="lg" start="48" increment="1" /> + <param name="lh" start="56" increment="1" /> + + <bezel name="led~la~" element="led"><bounds x="~x~" y="78.3" width="1.5" height="1.5" /></bezel> + <bezel name="led~lb~" element="led"><bounds x="~x~" y="68.3" width="1.5" height="1.5" /></bezel> + <bezel name="led~lc~" element="led"><bounds x="~x~" y="58.3" width="1.5" height="1.5" /></bezel> + <bezel name="led~ld~" element="led"><bounds x="~x~" y="48.3" width="1.5" height="1.5" /></bezel> + <bezel name="led~le~" element="led"><bounds x="~x~" y="38.3" width="1.5" height="1.5" /></bezel> + <bezel name="led~lf~" element="led"><bounds x="~x~" y="28.3" width="1.5" height="1.5" /></bezel> + <bezel name="led~lg~" element="led"><bounds x="~x~" y="18.3" width="1.5" height="1.5" /></bezel> + <bezel name="led~lh~" element="led"><bounds x="~x~" y="8.3" width="1.5" height="1.5" /></bezel> + </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:board:RANK.~i~" inputmask="0x01"><bounds x="0" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x02"><bounds x="10" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x04"><bounds x="20" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x08"><bounds x="30" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x10"><bounds x="40" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x20"><bounds x="50" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x40"><bounds x="60" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board: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.80" green="0.73" blue="0.63" /></rect> + <text string="RESET"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_uib3"> + <rect><color red="0.80" green="0.73" blue="0.63" /></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.80" green="0.73" blue="0.63" /></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.80" green="0.73" blue="0.63" /></rect> + <text string=" <<"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_uiu2b"> + <rect><color red="0.80" green="0.73" blue="0.63" /></rect> + <text string=" < "><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_uiu2c"> + <rect><color red="0.80" green="0.73" blue="0.63" /></rect> + <text string=" >"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_uiu2d"> + <rect><color red="0.80" green="0.73" blue="0.63" /></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: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: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:board:SPAWN" inputmask="0x0001"><bounds x="1" y="23" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0002"><bounds x="1" y="27" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0004"><bounds x="1" y="31" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0008"><bounds x="5" y="23" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0010"><bounds x="5" y="27" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0020"><bounds x="5" y="31" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0040"><bounds x="1" y="36" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0080"><bounds x="1" y="40" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0100"><bounds x="1" y="44" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0200"><bounds x="5" y="36" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0400"><bounds x="5" y="40" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board: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: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: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: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: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: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> + <group name="panel"> + <bounds left="0" right="80" top="0" bottom="13" /> <bezel element="background"><bounds x="0" y="0" width="80" height="13" /></bezel> <bezel element="text_lcd"> <bounds x="0.5" y="0" width="9" height="1.5"/></bezel> @@ -111,8 +414,8 @@ <bezel element="text_info"> <bounds x="42" y="0" width="4" height="1.5" /> </bezel> <bezel element="text_err"> <bounds x="51" y="0" width="3" height="1.5" /> </bezel> <bezel element="text_lev"> <bounds x="60" y="0" width="3" height="1.5" /> </bezel> - <bezel element="text_black"> <bounds x="69" y="0" width="1" height="1.5" /> </bezel> - <bezel element="text_white"> <bounds x="78" y="0" width="1" height="1.5" /> </bezel> + <bezel element="text_black"> <bounds x="69" y="0" width="1" height="1.5" /> </bezel> + <bezel element="text_white"> <bounds x="78" y="0" width="1" height="1.5" /> </bezel> <bezel element="text_b1"> <bounds x="11.25" y="5" width="5" height="1.5" /> </bezel> <bezel element="text_b2"> <bounds x="20.25" y="5" width="5" height="1.5" /> </bezel> <bezel element="text_b3"> <bounds x="29.25" y="5" width="5" height="1.5" /> </bezel> @@ -121,7 +424,7 @@ <bezel element="text_b6"> <bounds x="56.25" y="5" width="5" height="1.5" /> </bezel> <bezel element="text_b7"> <bounds x="65.25" y="5" width="5" height="1.5" /> </bezel> <bezel element="text_b8"> <bounds x="74.25" y="5" width="5" height="1.5" /> </bezel> - <bezel element="text_book9"> <bounds x="11.25" y="11" width="5" height="1.5" /> </bezel> + <bezel element="text_book9"> <bounds x="11.25" y="11" width="5" height="1.5" /> </bezel> <bezel element="text_pos0"> <bounds x="20.25" y="11" width="5" height="1.5" /> </bezel> <bezel element="text_mem"> <bounds x="29.25" y="11" width="5" height="1.5" /> </bezel> <bezel element="text_info"> <bounds x="38.25" y="11" width="5" height="1.5" /> </bezel> @@ -130,245 +433,54 @@ <bezel element="text_ent"> <bounds x="65.25" y="11" width="5" height="1.5" /> </bezel> <bezel element="text_res"> <bounds x="74.25" y="11" width="5" height="1.5" /> </bezel> - <bezel element="hlb" inputtag="KEY.0" inputmask="0x01"> <bounds x="13" y="2" width="1.5" height="2.5" /> <color red="0" green="0" blue="0" /></bezel> - <bezel element="hlb" inputtag="KEY.0" inputmask="0x02"> <bounds x="22" y="2" width="1.5" height="2.5" /> <color red="0" green="0" blue="0" /></bezel> - <bezel element="hlb" inputtag="KEY.0" inputmask="0x04"> <bounds x="31" y="2" width="1.5" height="2.5" /> <color red="0" green="0" blue="0" /></bezel> - <bezel element="hlb" inputtag="KEY.0" inputmask="0x08"> <bounds x="40" y="2" width="1.5" height="2.5" /> <color red="0" green="0" blue="0" /></bezel> - <bezel element="hlb" inputtag="KEY.0" inputmask="0x10"> <bounds x="49" y="2" width="1.5" height="2.5" /> <color red="0" green="0" blue="0" /></bezel> - <bezel element="hlb" inputtag="KEY.0" inputmask="0x20"> <bounds x="58" y="2" width="1.5" height="2.5" /> <color red="0" green="0" blue="0" /></bezel> - <bezel element="hlb" inputtag="KEY.0" inputmask="0x40"> <bounds x="67" y="2" width="1.5" height="2.5" /> <color red="0" green="0" blue="0" /></bezel> - <bezel element="hlb" inputtag="KEY.0" inputmask="0x80"> <bounds x="76" y="2" width="1.5" height="2.5" /> <color red="0" green="0" blue="0" /></bezel> - <bezel element="hlb" inputtag="KEY.1" inputmask="0x01"> <bounds x="13" y="8" width="1.5" height="2.5" /> <color red="0" green="0" blue="0" /></bezel> - <bezel element="hlb" inputtag="KEY.1" inputmask="0x02"> <bounds x="22" y="8" width="1.5" height="2.5" /> <color red="0" green="0" blue="0" /></bezel> - <bezel element="hlb" inputtag="KEY.1" inputmask="0x04"> <bounds x="31" y="8" width="1.5" height="2.5" /> <color red="0" green="0" blue="0" /></bezel> - <bezel element="hlb" inputtag="KEY.1" inputmask="0x08"> <bounds x="40" y="8" width="1.5" height="2.5" /> <color red="0" green="0" blue="0" /></bezel> - <bezel element="hlb" inputtag="KEY.1" inputmask="0x10"> <bounds x="49" y="8" width="1.5" height="2.5" /> <color red="0" green="0" blue="0" /></bezel> - <bezel element="hlb" inputtag="KEY.1" inputmask="0x20"> <bounds x="58" y="8" width="1.5" height="2.5" /> <color red="0" green="0" blue="0" /></bezel> - <bezel element="hlb" inputtag="KEY.1" inputmask="0x40"> <bounds x="67" y="8" width="1.5" height="2.5" /> <color red="0" green="0" blue="0" /></bezel> - <bezel element="hlb" inputtag="KEY.1" inputmask="0x80"> <bounds x="76" y="8" width="1.5" height="2.5" /> <color red="0.8" green="0" blue="0" /></bezel> + <bezel element="hlb" inputtag="KEY.0" inputmask="0x01"> <bounds x="13" y="2" width="1.5" height="2.5" /> </bezel> + <bezel element="hlb" inputtag="KEY.0" inputmask="0x02"> <bounds x="22" y="2" width="1.5" height="2.5" /> </bezel> + <bezel element="hlb" inputtag="KEY.0" inputmask="0x04"> <bounds x="31" y="2" width="1.5" height="2.5" /> </bezel> + <bezel element="hlb" inputtag="KEY.0" inputmask="0x08"> <bounds x="40" y="2" width="1.5" height="2.5" /> </bezel> + <bezel element="hlb" inputtag="KEY.0" inputmask="0x10"> <bounds x="49" y="2" width="1.5" height="2.5" /> </bezel> + <bezel element="hlb" inputtag="KEY.0" inputmask="0x20"> <bounds x="58" y="2" width="1.5" height="2.5" /> </bezel> + <bezel element="hlb" inputtag="KEY.0" inputmask="0x40"> <bounds x="67" y="2" width="1.5" height="2.5" /> </bezel> + <bezel element="hlb" inputtag="KEY.0" inputmask="0x80"> <bounds x="76" y="2" width="1.5" height="2.5" /> </bezel> + <bezel element="hlb" inputtag="KEY.1" inputmask="0x01"> <bounds x="13" y="8" width="1.5" height="2.5" /> </bezel> + <bezel element="hlb" inputtag="KEY.1" inputmask="0x02"> <bounds x="22" y="8" width="1.5" height="2.5" /> </bezel> + <bezel element="hlb" inputtag="KEY.1" inputmask="0x04"> <bounds x="31" y="8" width="1.5" height="2.5" /> </bezel> + <bezel element="hlb" inputtag="KEY.1" inputmask="0x08"> <bounds x="40" y="8" width="1.5" height="2.5" /> </bezel> + <bezel element="hlb" inputtag="KEY.1" inputmask="0x10"> <bounds x="49" y="8" width="1.5" height="2.5" /> </bezel> + <bezel element="hlb" inputtag="KEY.1" inputmask="0x20"> <bounds x="58" y="8" width="1.5" height="2.5" /> </bezel> + <bezel element="hlb" inputtag="KEY.1" inputmask="0x40"> <bounds x="67" y="8" width="1.5" height="2.5" /> </bezel> + <bezel element="hlbr" inputtag="KEY.1" inputmask="0x80"> <bounds x="76" y="8" width="1.5" height="2.5" /> </bezel> </group> - <view name="Chessboard + Display"> - <bezel element="background"><bounds x="-1" y="0" width="87" height="102" /></bezel> +<!-- build screen --> + <view name="Internal Layout"> + <bounds left="0" right="100" top="0" bottom="102" /> + <bezel element="background"><bounds x="13" y="0" width="87" height="102" /></bezel> <!-- chessboard coords --> + <bezel element="white"><bounds x="16" y="2" width="82" height="82" /></bezel> + <bezel element="text_8"><bounds x="13.2" y="7" width="2" height="2" /></bezel> + <bezel element="text_7"><bounds x="13.2" y="17" width="2" height="2" /></bezel> + <bezel element="text_6"><bounds x="13.2" y="27" width="2" height="2" /></bezel> + <bezel element="text_5"><bounds x="13.2" y="37" width="2" height="2" /></bezel> + <bezel element="text_4"><bounds x="13.2" y="47" width="2" height="2" /></bezel> + <bezel element="text_3"><bounds x="13.2" y="57" width="2" height="2" /></bezel> + <bezel element="text_2"><bounds x="13.2" y="67" width="2" height="2" /></bezel> + <bezel element="text_1"><bounds x="13.2" y="77" width="2" height="2" /></bezel> + + <bezel element="text_a"><bounds x="21" y="85" width="2" height="2" /></bezel> + <bezel element="text_b"><bounds x="31" y="85" width="2" height="2" /></bezel> + <bezel element="text_c"><bounds x="41" y="85" width="2" height="2" /></bezel> + <bezel element="text_d"><bounds x="51" y="85" width="2" height="2" /></bezel> + <bezel element="text_e"><bounds x="61" y="85" width="2" height="2" /></bezel> + <bezel element="text_f"><bounds x="71" y="85" width="2" height="2" /></bezel> + <bezel element="text_g"><bounds x="81" y="85" width="2" height="2" /></bezel> + <bezel element="text_h"><bounds x="91" y="85" width="2" height="2" /></bezel> - <bezel element="text_8"><bounds x="-0.8" y="7" width="2" height="2" /></bezel> - <bezel element="text_7"><bounds x="-0.8" y="17" width="2" height="2" /></bezel> - <bezel element="text_6"><bounds x="-0.8" y="27" width="2" height="2" /></bezel> - <bezel element="text_5"><bounds x="-0.8" y="37" width="2" height="2" /></bezel> - <bezel element="text_4"><bounds x="-0.8" y="47" width="2" height="2" /></bezel> - <bezel element="text_3"><bounds x="-0.8" y="57" width="2" height="2" /></bezel> - <bezel element="text_2"><bounds x="-0.8" y="67" width="2" height="2" /></bezel> - <bezel element="text_1"><bounds x="-0.8" y="77" width="2" height="2" /></bezel> - - <bezel element="text_a"><bounds x="7" y="85" width="2" height="2" /></bezel> - <bezel element="text_b"><bounds x="17" y="85" width="2" height="2" /></bezel> - <bezel element="text_c"><bounds x="27" y="85" width="2" height="2" /></bezel> - <bezel element="text_d"><bounds x="37" y="85" width="2" height="2" /></bezel> - <bezel element="text_e"><bounds x="47" y="85" width="2" height="2" /></bezel> - <bezel element="text_f"><bounds x="57" y="85" width="2" height="2" /></bezel> - <bezel element="text_g"><bounds x="67" y="85" width="2" height="2" /></bezel> - <bezel element="text_h"><bounds x="77" y="85" width="2" height="2" /></bezel> - - <!-- chessboard bezel --> - - <bezel element="white"><bounds x="2" y="2" width="82" height="82" /></bezel> - <bezel element="white"><bounds x="3" y="3" width="80" height="80" /></bezel> - - <bezel element="black"><bounds x="13" y="2.5" width="10" height="10.5" /></bezel> - <bezel element="black"><bounds x="33" y="2.5" width="10" height="10.5" /></bezel> - <bezel element="black"><bounds x="53" y="2.5" width="10" height="10.5" /></bezel> - <bezel element="black"><bounds x="73" y="2.5" width="10.5" height="10.5" /></bezel> - - <bezel element="black"><bounds x="2.5" y="13" width="10.5" height="10" /></bezel> - <bezel element="black"><bounds x="23" y="13" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="43" y="13" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="63" y="13" width="10" height="10" /></bezel> - - <bezel element="black"><bounds x="13" y="23" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="33" y="23" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="53" y="23" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="73" y="23" width="10.5" height="10" /></bezel> - - <bezel element="black"><bounds x="2.5" y="33" width="10.5" height="10" /></bezel> - <bezel element="black"><bounds x="23" y="33" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="43" y="33" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="63" y="33" width="10" height="10" /></bezel> - - <bezel element="black"><bounds x="13" y="43" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="33" y="43" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="53" y="43" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="73" y="43" width="10.5" height="10" /></bezel> - - <bezel element="black"><bounds x="2.5" y="53" width="10.5" height="10" /></bezel> - <bezel element="black"><bounds x="23" y="53" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="43" y="53" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="63" y="53" width="10" height="10" /></bezel> - - <bezel element="black"><bounds x="13" y="63" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="33" y="63" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="53" y="63" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="73" y="63" width="10.5" height="10" /></bezel> - - <bezel element="black"><bounds x="2.5" y="73" width="10.5" height="10.5" /></bezel> - <bezel element="black"><bounds x="23" y="73" width="10" height="10.5" /></bezel> - <bezel element="black"><bounds x="43" y="73" width="10" height="10.5" /></bezel> - <bezel element="black"><bounds x="63" y="73" width="10" height="10.5" /></bezel> - - <!-- chessboard leds --> - - <bezel name="led0" element="led"><bounds x="11.2" y="81.3" width="1.5" height="1.5" /></bezel> - <bezel name="led1" element="led"><bounds x="21.2" y="81.3" width="1.5" height="1.5" /></bezel> - <bezel name="led2" element="led"><bounds x="31.2" y="81.3" width="1.5" height="1.5" /></bezel> - <bezel name="led3" element="led"><bounds x="41.2" y="81.3" width="1.5" height="1.5" /></bezel> - <bezel name="led4" element="led"><bounds x="51.2" y="81.3" width="1.5" height="1.5" /></bezel> - <bezel name="led5" element="led"><bounds x="61.2" y="81.3" width="1.5" height="1.5" /></bezel> - <bezel name="led6" element="led"><bounds x="71.2" y="81.3" width="1.5" height="1.5" /></bezel> - <bezel name="led7" element="led"><bounds x="81.2" y="81.3" width="1.5" height="1.5" /></bezel> - - <bezel name="led8" element="led"><bounds x="11.2" y="71.3" width="1.5" height="1.5" /></bezel> - <bezel name="led9" element="led"><bounds x="21.2" y="71.3" width="1.5" height="1.5" /></bezel> - <bezel name="led10" element="led"><bounds x="31.2" y="71.3" width="1.5" height="1.5" /></bezel> - <bezel name="led11" element="led"><bounds x="41.2" y="71.3" width="1.5" height="1.5" /></bezel> - <bezel name="led12" element="led"><bounds x="51.2" y="71.3" width="1.5" height="1.5" /></bezel> - <bezel name="led13" element="led"><bounds x="61.2" y="71.3" width="1.5" height="1.5" /></bezel> - <bezel name="led14" element="led"><bounds x="71.2" y="71.3" width="1.5" height="1.5" /></bezel> - <bezel name="led15" element="led"><bounds x="81.2" y="71.3" width="1.5" height="1.5" /></bezel> - - <bezel name="led16" element="led"><bounds x="11.2" y="61.3" width="1.5" height="1.5" /></bezel> - <bezel name="led17" element="led"><bounds x="21.2" y="61.3" width="1.5" height="1.5" /></bezel> - <bezel name="led18" element="led"><bounds x="31.2" y="61.3" width="1.5" height="1.5" /></bezel> - <bezel name="led19" element="led"><bounds x="41.2" y="61.3" width="1.5" height="1.5" /></bezel> - <bezel name="led20" element="led"><bounds x="51.2" y="61.3" width="1.5" height="1.5" /></bezel> - <bezel name="led21" element="led"><bounds x="61.2" y="61.3" width="1.5" height="1.5" /></bezel> - <bezel name="led22" element="led"><bounds x="71.2" y="61.3" width="1.5" height="1.5" /></bezel> - <bezel name="led23" element="led"><bounds x="81.2" y="61.3" width="1.5" height="1.5" /></bezel> - - <bezel name="led24" element="led"><bounds x="11.2" y="51.3" width="1.5" height="1.5" /></bezel> - <bezel name="led25" element="led"><bounds x="21.2" y="51.3" width="1.5" height="1.5" /></bezel> - <bezel name="led26" element="led"><bounds x="31.2" y="51.3" width="1.5" height="1.5" /></bezel> - <bezel name="led27" element="led"><bounds x="41.2" y="51.3" width="1.5" height="1.5" /></bezel> - <bezel name="led28" element="led"><bounds x="51.2" y="51.3" width="1.5" height="1.5" /></bezel> - <bezel name="led29" element="led"><bounds x="61.2" y="51.3" width="1.5" height="1.5" /></bezel> - <bezel name="led30" element="led"><bounds x="71.2" y="51.3" width="1.5" height="1.5" /></bezel> - <bezel name="led31" element="led"><bounds x="81.2" y="51.3" width="1.5" height="1.5" /></bezel> - - <bezel name="led32" element="led"><bounds x="11.2" y="41.3" width="1.5" height="1.5" /></bezel> - <bezel name="led33" element="led"><bounds x="21.2" y="41.3" width="1.5" height="1.5" /></bezel> - <bezel name="led34" element="led"><bounds x="31.2" y="41.3" width="1.5" height="1.5" /></bezel> - <bezel name="led35" element="led"><bounds x="41.2" y="41.3" width="1.5" height="1.5" /></bezel> - <bezel name="led36" element="led"><bounds x="51.2" y="41.3" width="1.5" height="1.5" /></bezel> - <bezel name="led37" element="led"><bounds x="61.2" y="41.3" width="1.5" height="1.5" /></bezel> - <bezel name="led38" element="led"><bounds x="71.2" y="41.3" width="1.5" height="1.5" /></bezel> - <bezel name="led39" element="led"><bounds x="81.2" y="41.3" width="1.5" height="1.5" /></bezel> - - <bezel name="led40" element="led"><bounds x="11.2" y="31.3" width="1.5" height="1.5" /></bezel> - <bezel name="led41" element="led"><bounds x="21.2" y="31.3" width="1.5" height="1.5" /></bezel> - <bezel name="led42" element="led"><bounds x="31.2" y="31.3" width="1.5" height="1.5" /></bezel> - <bezel name="led43" element="led"><bounds x="41.2" y="31.3" width="1.5" height="1.5" /></bezel> - <bezel name="led44" element="led"><bounds x="51.2" y="31.3" width="1.5" height="1.5" /></bezel> - <bezel name="led45" element="led"><bounds x="61.2" y="31.3" width="1.5" height="1.5" /></bezel> - <bezel name="led46" element="led"><bounds x="71.2" y="31.3" width="1.5" height="1.5" /></bezel> - <bezel name="led47" element="led"><bounds x="81.2" y="31.3" width="1.5" height="1.5" /></bezel> - - <bezel name="led48" element="led"><bounds x="11.2" y="21.3" width="1.5" height="1.5" /></bezel> - <bezel name="led49" element="led"><bounds x="21.2" y="21.3" width="1.5" height="1.5" /></bezel> - <bezel name="led50" element="led"><bounds x="31.2" y="21.3" width="1.5" height="1.5" /></bezel> - <bezel name="led51" element="led"><bounds x="41.2" y="21.3" width="1.5" height="1.5" /></bezel> - <bezel name="led52" element="led"><bounds x="51.2" y="21.3" width="1.5" height="1.5" /></bezel> - <bezel name="led53" element="led"><bounds x="61.2" y="21.3" width="1.5" height="1.5" /></bezel> - <bezel name="led54" element="led"><bounds x="71.2" y="21.3" width="1.5" height="1.5" /></bezel> - <bezel name="led55" element="led"><bounds x="81.2" y="21.3" width="1.5" height="1.5" /></bezel> - - <bezel name="led56" element="led"><bounds x="11.2" y="11.3" width="1.5" height="1.5" /></bezel> - <bezel name="led57" element="led"><bounds x="21.2" y="11.3" width="1.5" height="1.5" /></bezel> - <bezel name="led58" element="led"><bounds x="31.2" y="11.3" width="1.5" height="1.5" /></bezel> - <bezel name="led59" element="led"><bounds x="41.2" y="11.3" width="1.5" height="1.5" /></bezel> - <bezel name="led60" element="led"><bounds x="51.2" y="11.3" width="1.5" height="1.5" /></bezel> - <bezel name="led61" element="led"><bounds x="61.2" y="11.3" width="1.5" height="1.5" /></bezel> - <bezel name="led62" element="led"><bounds x="71.2" y="11.3" width="1.5" height="1.5" /></bezel> - <bezel name="led63" element="led"><bounds x="81.2" y="11.3" width="1.5" height="1.5" /></bezel> - - <!-- chessboard sensors --> - - <bezel element="hl" inputtag="board:IN.7" inputmask="0x01"><bounds x="3" y="3" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.7" inputmask="0x02"><bounds x="13" y="3" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.7" inputmask="0x04"><bounds x="23" y="3" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.7" inputmask="0x08"><bounds x="33" y="3" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.7" inputmask="0x10"><bounds x="43" y="3" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.7" inputmask="0x20"><bounds x="53" y="3" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.7" inputmask="0x40"><bounds x="63" y="3" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.7" inputmask="0x80"><bounds x="73" y="3" width="10" height="10" /><color alpha="0.2" /></bezel> - - <bezel element="hl" inputtag="board:IN.6" inputmask="0x01"><bounds x="3" y="13" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.6" inputmask="0x02"><bounds x="13" y="13" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.6" inputmask="0x04"><bounds x="23" y="13" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.6" inputmask="0x08"><bounds x="33" y="13" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.6" inputmask="0x10"><bounds x="43" y="13" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.6" inputmask="0x20"><bounds x="53" y="13" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.6" inputmask="0x40"><bounds x="63" y="13" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.6" inputmask="0x80"><bounds x="73" y="13" width="10" height="10" /><color alpha="0.4" /></bezel> - - <bezel element="hl" inputtag="board:IN.5" inputmask="0x01"><bounds x="3" y="23" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.5" inputmask="0x02"><bounds x="13" y="23" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.5" inputmask="0x04"><bounds x="23" y="23" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.5" inputmask="0x08"><bounds x="33" y="23" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.5" inputmask="0x10"><bounds x="43" y="23" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.5" inputmask="0x20"><bounds x="53" y="23" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.5" inputmask="0x40"><bounds x="63" y="23" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.5" inputmask="0x80"><bounds x="73" y="23" width="10" height="10" /><color alpha="0.2" /></bezel> - - <bezel element="hl" inputtag="board:IN.4" inputmask="0x01"><bounds x="3" y="33" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.4" inputmask="0x02"><bounds x="13" y="33" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.4" inputmask="0x04"><bounds x="23" y="33" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.4" inputmask="0x08"><bounds x="33" y="33" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.4" inputmask="0x10"><bounds x="43" y="33" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.4" inputmask="0x20"><bounds x="53" y="33" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.4" inputmask="0x40"><bounds x="63" y="33" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.4" inputmask="0x80"><bounds x="73" y="33" width="10" height="10" /><color alpha="0.4" /></bezel> - - <bezel element="hl" inputtag="board:IN.3" inputmask="0x01"><bounds x="3" y="43" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.3" inputmask="0x02"><bounds x="13" y="43" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.3" inputmask="0x04"><bounds x="23" y="43" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.3" inputmask="0x08"><bounds x="33" y="43" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.3" inputmask="0x10"><bounds x="43" y="43" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.3" inputmask="0x20"><bounds x="53" y="43" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.3" inputmask="0x40"><bounds x="63" y="43" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.3" inputmask="0x80"><bounds x="73" y="43" width="10" height="10" /><color alpha="0.2" /></bezel> - - <bezel element="hl" inputtag="board:IN.2" inputmask="0x01"><bounds x="3" y="53" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.2" inputmask="0x02"><bounds x="13" y="53" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.2" inputmask="0x04"><bounds x="23" y="53" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.2" inputmask="0x08"><bounds x="33" y="53" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.2" inputmask="0x10"><bounds x="43" y="53" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.2" inputmask="0x20"><bounds x="53" y="53" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.2" inputmask="0x40"><bounds x="63" y="53" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.2" inputmask="0x80"><bounds x="73" y="53" width="10" height="10" /><color alpha="0.4" /></bezel> - - <bezel element="hl" inputtag="board:IN.1" inputmask="0x01"><bounds x="3" y="63" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.1" inputmask="0x02"><bounds x="13" y="63" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.1" inputmask="0x04"><bounds x="23" y="63" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.1" inputmask="0x08"><bounds x="33" y="63" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.1" inputmask="0x10"><bounds x="43" y="63" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.1" inputmask="0x20"><bounds x="53" y="63" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.1" inputmask="0x40"><bounds x="63" y="63" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.1" inputmask="0x80"><bounds x="73" y="63" width="10" height="10" /><color alpha="0.2" /></bezel> - - <bezel element="hl" inputtag="board:IN.0" inputmask="0x01"><bounds x="3" y="73" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.0" inputmask="0x02"><bounds x="13" y="73" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.0" inputmask="0x04"><bounds x="23" y="73" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.0" inputmask="0x08"><bounds x="33" y="73" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.0" inputmask="0x10"><bounds x="43" y="73" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.0" inputmask="0x20"><bounds x="53" y="73" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.0" inputmask="0x40"><bounds x="63" y="73" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.0" inputmask="0x80"><bounds x="73" y="73" width="10" height="10" /><color alpha="0.4" /></bezel> <!-- LCD panel --> - <group ref="panel"><bounds x="3" y="88" width="80" height="13" /></group> - </view> + <group ref="panel"><bounds x="17" y="88" width="80" height="13" /></group> - <view name="Display"> - <group ref="panel"><bounds x="0" y="0" width="80" height="13" /></group> + <group ref="sb_board"><bounds x="17" y="3" width="80" height="80" /></group> + <group ref="sb_ui"><bounds x="1.5" y="3" width="10" height="80" /></group> </view> </mamelayout> diff --git a/src/mame/layout/mephisto_smondial2.lay b/src/mame/layout/mephisto_smondial2.lay index 1294e648ca4..d2c1ccf517a 100644 --- a/src/mame/layout/mephisto_smondial2.lay +++ b/src/mame/layout/mephisto_smondial2.lay @@ -1,11 +1,14 @@ <?xml version="1.0"?> <mamelayout version="2"> <!-- define elements --> + + <!-- 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="0.75" green="0.0" blue="0.0" /> + <color red="1" green="1" blue="1" /> </led7seg> </element> + <element name="led" defstate="0"> <rect state="0"> <color red="0.20" green="0.0" blue="0.0" /> @@ -14,31 +17,21 @@ <color red="0.95" green="0.0" blue="0.0" /> </rect> </element> - <element name="hl" defstate="0"> + <element name="hlb" defstate="0"> <text string=" "> <bounds x="0.0" y="0.0" width="1.0" height="1.0" /> <color red="0.0" green="0.0" blue="0.0" /> </text> <disk state="1"> - <bounds x="0.12" y="0.12" width="0.76" height="0.76" /> - <color red="0.5" green="0.5" blue="0.5" /> - </disk> - </element> - <element name="hlb" defstate="0"> - <rect state="0"> - <bounds x="0.0" y="0.0" width="1.0" height="1.0" /> - <color red="1" green="1" blue="1" /> - </rect> - <rect state="1"> <bounds x="0.0" y="0.0" width="1.0" height="1.0" /> - <color red="0.8" green="0.8" blue="0.8" /> - </rect> + <color red="1.0" green="1.0" blue="1.0" /> + </disk> </element> <element name="led7seg_background"><rect><color red="0" green="0" blue="0" /> </rect></element> <element name="background"> <rect><color red="0.90" green="0.91" blue="0.89" /></rect></element> <element name="black"> <rect><color red="0" green="0" blue="0" /> </rect></element> - <element name="white"> <rect><color red="0.90" green="0.91" blue="0.89" /></rect></element> + <element name="red"> <rect><color red="0.8" green="0" blue="0" /> </rect></element> <element name="text_1"> <rect><color red="0.90" green="0.91" blue="0.89" /></rect> <text string="1"> <color red="0" green="0" blue="0" /></text> </element> <element name="text_2"> <rect><color red="0.90" green="0.91" blue="0.89" /></rect> <text string="2"> <color red="0" green="0" blue="0" /></text> </element> @@ -83,17 +76,297 @@ <element name="text_res"> <rect><color red="0.8" green="0" blue="0" /></rect> <text string="RES"> <color red="1" green="1" blue="1" /></text> </element> <element name="text_lcd"> <rect><color red="0.90" green="0.91" blue="0.89" /></rect> <text string="MULTI INFO LCD"><color red="0" green="0" blue="0" /></text> </element> -<!-- build screen --> + + <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> + + +<!-- sb board --> + + <element name="cwhite"><rect><color red="1.00" green="1.00" blue="1.00" /></rect></element> + <element name="cblack"><rect><color red="0.30" green="0.30" blue="0.30" /></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> + + <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> + + <!-- sensors, pieces --> + <repeat count="8"> + <param name="y" start="0" increment="10" /> + <param name="i" start="8" increment="-1" /> + + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x01"><bounds x="0" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x02"><bounds x="10" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x04"><bounds x="20" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x08"><bounds x="30" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x10"><bounds x="40" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x20"><bounds x="50" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x40"><bounds x="60" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel> + <bezel element="hlbb" inputtag="board: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="1.00" green="1.00" blue="1.00" /></rect> + <text string="RESET"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_uib3"> + <rect><color red="1.00" green="1.00" blue="1.00" /></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="1.00" green="1.00" blue="1.00" /></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="1.00" green="1.00" blue="1.00" /></rect> + <text string=" <<"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_uiu2b"> + <rect><color red="1.00" green="1.00" blue="1.00" /></rect> + <text string=" < "><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_uiu2c"> + <rect><color red="1.00" green="1.00" blue="1.00" /></rect> + <text string=" >"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_uiu2d"> + <rect><color red="1.00" green="1.00" blue="1.00" /></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: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: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:board:SPAWN" inputmask="0x0001"><bounds x="1" y="23" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0002"><bounds x="1" y="27" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0004"><bounds x="1" y="31" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0008"><bounds x="5" y="23" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0010"><bounds x="5" y="27" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0020"><bounds x="5" y="31" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0040"><bounds x="1" y="36" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0080"><bounds x="1" y="40" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0100"><bounds x="1" y="44" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0200"><bounds x="5" y="36" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0400"><bounds x="5" y="40" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board: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: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: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: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: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: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> + <group name="panel"> + <bounds left="0" right="79" top="0" bottom="13" /> <bezel element="background"><bounds x="0" y="0" width="79" height="13" /></bezel> <bezel element="text_lcd"> <bounds x="0.5" y="0" width="9" height="1.5" /> </bezel> - <bezel element="led7seg_background"> <bounds x="0.5" y="1.5" width="9" height="4" /> </bezel> + <bezel element="led7seg_background"> <bounds x="0.5" y="1.5" width="9" height="4" /> </bezel> <bezel name="digit0" element="digit"> <bounds x="1" y="2" width="2" height="3" /> </bezel> <bezel name="digit1" element="digit"> <bounds x="3" y="2" width="2" height="3" /> </bezel> <bezel name="digit2" element="digit"> <bounds x="5" y="2" width="2" height="3" /> </bezel> <bezel name="digit3" element="digit"> <bounds x="7" y="2" width="2" height="3" /> </bezel> - <bezel element="led7seg_background"> <bounds x="0.5" y="7.5" width="9" height="4" /> </bezel> + <bezel element="led7seg_background"> <bounds x="0.5" y="7.5" width="9" height="4" /> </bezel> <bezel name="digit4" element="digit"> <bounds x="1" y="8" width="2" height="3" /> </bezel> <bezel name="digit5" element="digit"> <bounds x="3" y="8" width="2" height="3" /> </bezel> <bezel name="digit6" element="digit"> <bounds x="5" y="8" width="2" height="3" /> </bezel> @@ -108,31 +381,31 @@ <bezel name="led106" element="led"> <bounds x="64.1" y="0.25" width="1.3" height="1" /> </bezel> <bezel name="led107" element="led"> <bounds x="72.6" y="0.25" width="1.3" height="1" /> </bezel> - <bezel element="hlb" inputtag="KEY.1" inputmask="0x01"> <bounds x="13" y="2" width="6" height="4" /> <color red="0" green="0" blue="0" /></bezel> - <bezel element="hlb" inputtag="KEY.1" inputmask="0x10"> <bounds x="21.5" y="2" width="6" height="4" /> <color red="0" green="0" blue="0" /></bezel> - <bezel element="hlb" inputtag="KEY.0" inputmask="0x01"> <bounds x="30" y="2" width="6" height="4" /> <color red="0" green="0" blue="0" /></bezel> - <bezel element="hlb" inputtag="KEY.0" inputmask="0x10"> <bounds x="38.5" y="2" width="6" height="4" /> <color red="0" green="0" blue="0" /></bezel> - <bezel element="hlb" inputtag="KEY.1" inputmask="0x02"> <bounds x="47" y="2" width="6" height="4" /> <color red="0" green="0" blue="0" /></bezel> - <bezel element="hlb" inputtag="KEY.1" inputmask="0x20"> <bounds x="55.5" y="2" width="6" height="4" /> <color red="0" green="0" blue="0" /></bezel> - <bezel element="hlb" inputtag="KEY.0" inputmask="0x02"> <bounds x="64" y="2" width="6" height="4" /> <color red="0" green="0" blue="0" /></bezel> - <bezel element="hlb" inputtag="KEY.0" inputmask="0x20"> <bounds x="72.5" y="2" width="6" height="4" /> <color red="0" green="0" blue="0" /></bezel> - <bezel element="hlb" inputtag="KEY.1" inputmask="0x04"> <bounds x="13" y="7.5" width="6" height="4" /> <color red="0.8" green="0" blue="0" /></bezel> - <bezel element="hlb" inputtag="KEY.1" inputmask="0x40"> <bounds x="21.5" y="7.5" width="6" height="4" /> <color red="0" green="0" blue="0" /></bezel> - <bezel element="hlb" inputtag="KEY.0" inputmask="0x04"> <bounds x="30" y="7.5" width="6" height="4" /> <color red="0" green="0" blue="0" /></bezel> - <bezel element="hlb" inputtag="KEY.0" inputmask="0x40"> <bounds x="38.5" y="7.5" width="6" height="4" /> <color red="0" green="0" blue="0" /></bezel> - <bezel element="hlb" inputtag="KEY.1" inputmask="0x08"> <bounds x="47" y="7.5" width="6" height="4" /> <color red="0" green="0" blue="0" /></bezel> - <bezel element="hlb" inputtag="KEY.1" inputmask="0x80"> <bounds x="55.5" y="7.5" width="6" height="4" /> <color red="0" green="0" blue="0" /></bezel> - <bezel element="hlb" inputtag="KEY.0" inputmask="0x08"> <bounds x="64" y="7.5" width="6" height="4" /> <color red="0" green="0" blue="0" /></bezel> - <bezel element="hlb" inputtag="KEY.0" inputmask="0x80"> <bounds x="72.5" y="7.5" width="6" height="4" /> <color red="0.8" green="0" blue="0" /></bezel> - - <bezel element="text_tutor"> <bounds x="15" y="0" width="4" height="1.5" /> </bezel> + <bezel element="black"> <bounds x="13" y="2" width="6" height="4" /> </bezel> + <bezel element="black"> <bounds x="21.5" y="2" width="6" height="4" /> </bezel> + <bezel element="black"> <bounds x="30" y="2" width="6" height="4" /> </bezel> + <bezel element="black"> <bounds x="38.5" y="2" width="6" height="4" /> </bezel> + <bezel element="black"> <bounds x="47" y="2" width="6" height="4" /> </bezel> + <bezel element="black"> <bounds x="55.5" y="2" width="6" height="4" /> </bezel> + <bezel element="black"> <bounds x="64" y="2" width="6" height="4" /> </bezel> + <bezel element="black"> <bounds x="72.5" y="2" width="6" height="4" /> </bezel> + <bezel element="red"> <bounds x="13" y="7.5" width="6" height="4" /> </bezel> + <bezel element="black"> <bounds x="21.5" y="7.5" width="6" height="4" /> </bezel> + <bezel element="black"> <bounds x="30" y="7.5" width="6" height="4" /> </bezel> + <bezel element="black"> <bounds x="38.5" y="7.5" width="6" height="4" /> </bezel> + <bezel element="black"> <bounds x="47" y="7.5" width="6" height="4" /> </bezel> + <bezel element="black"> <bounds x="55.5" y="7.5" width="6" height="4" /> </bezel> + <bezel element="black"> <bounds x="64" y="7.5" width="6" height="4" /> </bezel> + <bezel element="red"> <bounds x="72.5" y="7.5" width="6" height="4" /> </bezel> + + <bezel element="text_tutor"> <bounds x="15" y="0" width="4" height="1.5" /> </bezel> <bezel element="text_info"> <bounds x="23.5" y="0" width="3.5" height="1.5" /> </bezel> <bezel element="text_wpos"> <bounds x="32" y="0" width="3" height="1.5" /> </bezel> <bezel element="text_wmem"> <bounds x="40.5" y="0" width="3" height="1.5" /> </bezel> <bezel element="text_wlev"> <bounds x="49" y="0" width="3" height="1.5" /> </bezel> <bezel element="text_play"> <bounds x="57.5" y="0" width="3.5" height="1.5" /> </bezel> - <bezel element="text_black"> <bounds x="66" y="0" width="1" height="1.5" /> </bezel> - <bezel element="text_white"> <bounds x="75" y="0" width="1" height="1.5" /> </bezel> + <bezel element="text_black"> <bounds x="66" y="0" width="1" height="1.5" /> </bezel> + <bezel element="text_white"> <bounds x="75" y="0" width="1" height="1.5" /> </bezel> <bezel element="text_b1"> <bounds x="13.5" y="3.25" width="5" height="1.5" /> </bezel> <bezel element="text_b2"> <bounds x="22" y="3.25" width="5" height="1.5" /> </bezel> <bezel element="text_b3"> <bounds x="30.5" y="3.25" width="5" height="1.5" /> </bezel> @@ -141,183 +414,88 @@ <bezel element="text_b6"> <bounds x="56" y="3.25" width="5" height="1.5" /> </bezel> <bezel element="text_b7"> <bounds x="64.5" y="3.25" width="5" height="1.5" /> </bezel> <bezel element="text_b8"> <bounds x="73" y="3.25" width="5" height="1.5" /> </bezel> - <bezel element="text_help9"> <bounds x="13.5" y="8.75" width="5" height="1.5" /> </bezel> - <bezel element="text_info0"> <bounds x="22" y="8.75" width="5" height="1.5" /> </bezel> + <bezel element="text_help9"> <bounds x="13.5" y="8.75" width="5" height="1.5" /> </bezel> + <bezel element="text_info0"> <bounds x="22" y="8.75" width="5" height="1.5" /> </bezel> <bezel element="text_pos"> <bounds x="30.5" y="8.75" width="5" height="1.5" /> </bezel> <bezel element="text_mem"> <bounds x="39" y="8.75" width="5" height="1.5" /> </bezel> <bezel element="text_lev"> <bounds x="47.5" y="8.75" width="5" height="1.5" /> </bezel> <bezel element="text_cl"> <bounds x="56" y="8.75" width="5" height="1.5" /> </bezel> <bezel element="text_ent"> <bounds x="64.5" y="8.75" width="5" height="1.5" /> </bezel> <bezel element="text_res"> <bounds x="73" y="8.75" width="5" height="1.5" /> </bezel> + + <bezel element="hlb" inputtag="KEY.1" inputmask="0x01"> <bounds x="13" y="2" width="6" height="4" /> <color alpha="0.3" /></bezel> + <bezel element="hlb" inputtag="KEY.1" inputmask="0x10"> <bounds x="21.5" y="2" width="6" height="4" /> <color alpha="0.3" /></bezel> + <bezel element="hlb" inputtag="KEY.0" inputmask="0x01"> <bounds x="30" y="2" width="6" height="4" /> <color alpha="0.3" /></bezel> + <bezel element="hlb" inputtag="KEY.0" inputmask="0x10"> <bounds x="38.5" y="2" width="6" height="4" /> <color alpha="0.3" /></bezel> + <bezel element="hlb" inputtag="KEY.1" inputmask="0x02"> <bounds x="47" y="2" width="6" height="4" /> <color alpha="0.3" /></bezel> + <bezel element="hlb" inputtag="KEY.1" inputmask="0x20"> <bounds x="55.5" y="2" width="6" height="4" /> <color alpha="0.3" /></bezel> + <bezel element="hlb" inputtag="KEY.0" inputmask="0x02"> <bounds x="64" y="2" width="6" height="4" /> <color alpha="0.3" /></bezel> + <bezel element="hlb" inputtag="KEY.0" inputmask="0x20"> <bounds x="72.5" y="2" width="6" height="4" /> <color alpha="0.3" /></bezel> + <bezel element="hlb" inputtag="KEY.1" inputmask="0x04"> <bounds x="13" y="7.5" width="6" height="4" /> <color alpha="0.3" /></bezel> + <bezel element="hlb" inputtag="KEY.1" inputmask="0x40"> <bounds x="21.5" y="7.5" width="6" height="4" /> <color alpha="0.3" /></bezel> + <bezel element="hlb" inputtag="KEY.0" inputmask="0x04"> <bounds x="30" y="7.5" width="6" height="4" /> <color alpha="0.3" /></bezel> + <bezel element="hlb" inputtag="KEY.0" inputmask="0x40"> <bounds x="38.5" y="7.5" width="6" height="4" /> <color alpha="0.3" /></bezel> + <bezel element="hlb" inputtag="KEY.1" inputmask="0x08"> <bounds x="47" y="7.5" width="6" height="4" /> <color alpha="0.3" /></bezel> + <bezel element="hlb" inputtag="KEY.1" inputmask="0x80"> <bounds x="55.5" y="7.5" width="6" height="4" /> <color alpha="0.3" /></bezel> + <bezel element="hlb" inputtag="KEY.0" inputmask="0x08"> <bounds x="64" y="7.5" width="6" height="4" /> <color alpha="0.3" /></bezel> + <bezel element="hlb" inputtag="KEY.0" inputmask="0x80"> <bounds x="72.5" y="7.5" width="6" height="4" /> <color alpha="0.3" /></bezel> </group> - <view name="Chessboard + Display"> - <bezel element="background"><bounds x="-2" y="0" width="88" height="102" /></bezel> + +<!-- build screen --> + <view name="Internal Layout"> + <bounds left="0" right="101" top="0" bottom="102" /> + <bezel element="background"><bounds x="13" y="0" width="88" height="102" /></bezel> <!-- chessboard coords --> - <bezel element="text_8"><bounds x="-1.5" y="7" width="2" height="2" /></bezel> - <bezel element="text_7"><bounds x="-1.5" y="17" width="2" height="2" /></bezel> - <bezel element="text_6"><bounds x="-1.5" y="27" width="2" height="2" /></bezel> - <bezel element="text_5"><bounds x="-1.5" y="37" width="2" height="2" /></bezel> - <bezel element="text_4"><bounds x="-1.5" y="47" width="2" height="2" /></bezel> - <bezel element="text_3"><bounds x="-1.5" y="57" width="2" height="2" /></bezel> - <bezel element="text_2"><bounds x="-1.5" y="67" width="2" height="2" /></bezel> - <bezel element="text_1"><bounds x="-1.5" y="77" width="2" height="2" /></bezel> - - <bezel element="text_a"><bounds x="7" y="86" width="2" height="2" /></bezel> - <bezel element="text_b"><bounds x="17" y="86" width="2" height="2" /></bezel> - <bezel element="text_c"><bounds x="27" y="86" width="2" height="2" /></bezel> - <bezel element="text_d"><bounds x="37" y="86" width="2" height="2" /></bezel> - <bezel element="text_e"><bounds x="47" y="86" width="2" height="2" /></bezel> - <bezel element="text_f"><bounds x="57" y="86" width="2" height="2" /></bezel> - <bezel element="text_g"><bounds x="67" y="86" width="2" height="2" /></bezel> - <bezel element="text_h"><bounds x="77" y="86" width="2" height="2" /></bezel> + <bezel element="text_8"><bounds x="13.5" y="7" width="2" height="2" /></bezel> + <bezel element="text_7"><bounds x="13.5" y="17" width="2" height="2" /></bezel> + <bezel element="text_6"><bounds x="13.5" y="27" width="2" height="2" /></bezel> + <bezel element="text_5"><bounds x="13.5" y="37" width="2" height="2" /></bezel> + <bezel element="text_4"><bounds x="13.5" y="47" width="2" height="2" /></bezel> + <bezel element="text_3"><bounds x="13.5" y="57" width="2" height="2" /></bezel> + <bezel element="text_2"><bounds x="13.5" y="67" width="2" height="2" /></bezel> + <bezel element="text_1"><bounds x="13.5" y="77" width="2" height="2" /></bezel> + + <bezel element="text_a"><bounds x="22" y="86" width="2" height="2" /></bezel> + <bezel element="text_b"><bounds x="32" y="86" width="2" height="2" /></bezel> + <bezel element="text_c"><bounds x="42" y="86" width="2" height="2" /></bezel> + <bezel element="text_d"><bounds x="52" y="86" width="2" height="2" /></bezel> + <bezel element="text_e"><bounds x="62" y="86" width="2" height="2" /></bezel> + <bezel element="text_f"><bounds x="72" y="86" width="2" height="2" /></bezel> + <bezel element="text_g"><bounds x="82" y="86" width="2" height="2" /></bezel> + <bezel element="text_h"><bounds x="92" y="86" width="2" height="2" /></bezel> <!-- chessboard bezel --> - <bezel element="black"><bounds x="2.5" y="2.5" width="81" height="81" /></bezel> - <bezel element="white"><bounds x="3" y="3" width="80" height="80" /></bezel> - - <bezel element="black"><bounds x="13" y="2.5" width="10" height="10.5" /></bezel> - <bezel element="black"><bounds x="33" y="2.5" width="10" height="10.5" /></bezel> - <bezel element="black"><bounds x="53" y="2.5" width="10" height="10.5" /></bezel> - <bezel element="black"><bounds x="73" y="2.5" width="10.5" height="10.5" /></bezel> - - <bezel element="black"><bounds x="2.5" y="13" width="10.5" height="10" /></bezel> - <bezel element="black"><bounds x="23" y="13" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="43" y="13" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="63" y="13" width="10" height="10" /></bezel> - - <bezel element="black"><bounds x="13" y="23" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="33" y="23" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="53" y="23" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="73" y="23" width="10.5" height="10" /></bezel> - - <bezel element="black"><bounds x="2.5" y="33" width="10.5" height="10" /></bezel> - <bezel element="black"><bounds x="23" y="33" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="43" y="33" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="63" y="33" width="10" height="10" /></bezel> - - <bezel element="black"><bounds x="13" y="43" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="33" y="43" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="53" y="43" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="73" y="43" width="10.5" height="10" /></bezel> - - <bezel element="black"><bounds x="2.5" y="53" width="10.5" height="10" /></bezel> - <bezel element="black"><bounds x="23" y="53" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="43" y="53" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="63" y="53" width="10" height="10" /></bezel> - - <bezel element="black"><bounds x="13" y="63" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="33" y="63" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="53" y="63" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="73" y="63" width="10.5" height="10" /></bezel> - - <bezel element="black"><bounds x="2.5" y="73" width="10.5" height="10.5" /></bezel> - <bezel element="black"><bounds x="23" y="73" width="10" height="10.5" /></bezel> - <bezel element="black"><bounds x="43" y="73" width="10" height="10.5" /></bezel> - <bezel element="black"><bounds x="63" y="73" width="10" height="10.5" /></bezel> + <bezel element="black"><bounds x="17.5" y="2.5" width="81" height="81" /></bezel> <!-- chessboard leds --> - <bezel name="led0" element="led"><bounds x="0.5" y="77.25" width="1" height="1.5" /></bezel> - <bezel name="led1" element="led"><bounds x="0.5" y="67.25" width="1" height="1.5" /></bezel> - <bezel name="led2" element="led"><bounds x="0.5" y="57.25" width="1" height="1.5" /></bezel> - <bezel name="led3" element="led"><bounds x="0.5" y="47.25" width="1" height="1.5" /></bezel> - <bezel name="led4" element="led"><bounds x="0.5" y="37.25" width="1" height="1.5" /></bezel> - <bezel name="led5" element="led"><bounds x="0.5" y="27.25" width="1" height="1.5" /></bezel> - <bezel name="led6" element="led"><bounds x="0.5" y="17.25" width="1" height="1.5" /></bezel> - <bezel name="led7" element="led"><bounds x="0.5" y="7.25" width="1" height="1.5" /></bezel> - - <bezel name="led8" element="led"><bounds x="7.25" y="84.5" width="1.5" height="1" /></bezel> - <bezel name="led9" element="led"><bounds x="17.25" y="84.5" width="1.5" height="1" /></bezel> - <bezel name="led10" element="led"><bounds x="27.25" y="84.5" width="1.5" height="1" /></bezel> - <bezel name="led11" element="led"><bounds x="37.25" y="84.5" width="1.5" height="1" /></bezel> - <bezel name="led12" element="led"><bounds x="47.25" y="84.5" width="1.5" height="1" /></bezel> - <bezel name="led13" element="led"><bounds x="57.25" y="84.5" width="1.5" height="1" /></bezel> - <bezel name="led14" element="led"><bounds x="67.25" y="84.5" width="1.5" height="1" /></bezel> - <bezel name="led15" element="led"><bounds x="77.25" y="84.5" width="1.5" height="1" /></bezel> - - <!-- chessboard sensors --> - - <bezel element="hl" inputtag="board:IN.7" inputmask="0x01"><bounds x="3" y="3" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.7" inputmask="0x02"><bounds x="13" y="3" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.7" inputmask="0x04"><bounds x="23" y="3" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.7" inputmask="0x08"><bounds x="33" y="3" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.7" inputmask="0x10"><bounds x="43" y="3" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.7" inputmask="0x20"><bounds x="53" y="3" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.7" inputmask="0x40"><bounds x="63" y="3" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.7" inputmask="0x80"><bounds x="73" y="3" width="10" height="10" /><color alpha="0.2" /></bezel> - - <bezel element="hl" inputtag="board:IN.6" inputmask="0x01"><bounds x="3" y="13" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.6" inputmask="0x02"><bounds x="13" y="13" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.6" inputmask="0x04"><bounds x="23" y="13" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.6" inputmask="0x08"><bounds x="33" y="13" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.6" inputmask="0x10"><bounds x="43" y="13" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.6" inputmask="0x20"><bounds x="53" y="13" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.6" inputmask="0x40"><bounds x="63" y="13" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.6" inputmask="0x80"><bounds x="73" y="13" width="10" height="10" /><color alpha="0.4" /></bezel> - - <bezel element="hl" inputtag="board:IN.5" inputmask="0x01"><bounds x="3" y="23" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.5" inputmask="0x02"><bounds x="13" y="23" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.5" inputmask="0x04"><bounds x="23" y="23" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.5" inputmask="0x08"><bounds x="33" y="23" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.5" inputmask="0x10"><bounds x="43" y="23" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.5" inputmask="0x20"><bounds x="53" y="23" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.5" inputmask="0x40"><bounds x="63" y="23" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.5" inputmask="0x80"><bounds x="73" y="23" width="10" height="10" /><color alpha="0.2" /></bezel> - - <bezel element="hl" inputtag="board:IN.4" inputmask="0x01"><bounds x="3" y="33" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.4" inputmask="0x02"><bounds x="13" y="33" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.4" inputmask="0x04"><bounds x="23" y="33" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.4" inputmask="0x08"><bounds x="33" y="33" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.4" inputmask="0x10"><bounds x="43" y="33" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.4" inputmask="0x20"><bounds x="53" y="33" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.4" inputmask="0x40"><bounds x="63" y="33" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.4" inputmask="0x80"><bounds x="73" y="33" width="10" height="10" /><color alpha="0.4" /></bezel> - - <bezel element="hl" inputtag="board:IN.3" inputmask="0x01"><bounds x="3" y="43" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.3" inputmask="0x02"><bounds x="13" y="43" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.3" inputmask="0x04"><bounds x="23" y="43" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.3" inputmask="0x08"><bounds x="33" y="43" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.3" inputmask="0x10"><bounds x="43" y="43" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.3" inputmask="0x20"><bounds x="53" y="43" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.3" inputmask="0x40"><bounds x="63" y="43" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.3" inputmask="0x80"><bounds x="73" y="43" width="10" height="10" /><color alpha="0.2" /></bezel> - - <bezel element="hl" inputtag="board:IN.2" inputmask="0x01"><bounds x="3" y="53" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.2" inputmask="0x02"><bounds x="13" y="53" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.2" inputmask="0x04"><bounds x="23" y="53" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.2" inputmask="0x08"><bounds x="33" y="53" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.2" inputmask="0x10"><bounds x="43" y="53" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.2" inputmask="0x20"><bounds x="53" y="53" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.2" inputmask="0x40"><bounds x="63" y="53" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.2" inputmask="0x80"><bounds x="73" y="53" width="10" height="10" /><color alpha="0.4" /></bezel> - - <bezel element="hl" inputtag="board:IN.1" inputmask="0x01"><bounds x="3" y="63" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.1" inputmask="0x02"><bounds x="13" y="63" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.1" inputmask="0x04"><bounds x="23" y="63" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.1" inputmask="0x08"><bounds x="33" y="63" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.1" inputmask="0x10"><bounds x="43" y="63" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.1" inputmask="0x20"><bounds x="53" y="63" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.1" inputmask="0x40"><bounds x="63" y="63" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.1" inputmask="0x80"><bounds x="73" y="63" width="10" height="10" /><color alpha="0.2" /></bezel> - - <bezel element="hl" inputtag="board:IN.0" inputmask="0x01"><bounds x="3" y="73" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.0" inputmask="0x02"><bounds x="13" y="73" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.0" inputmask="0x04"><bounds x="23" y="73" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.0" inputmask="0x08"><bounds x="33" y="73" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.0" inputmask="0x10"><bounds x="43" y="73" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.0" inputmask="0x20"><bounds x="53" y="73" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.0" inputmask="0x40"><bounds x="63" y="73" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.0" inputmask="0x80"><bounds x="73" y="73" width="10" height="10" /><color alpha="0.4" /></bezel> + <bezel name="led0" element="led"><bounds x="15.5" y="77.25" width="1" height="1.5" /></bezel> + <bezel name="led1" element="led"><bounds x="15.5" y="67.25" width="1" height="1.5" /></bezel> + <bezel name="led2" element="led"><bounds x="15.5" y="57.25" width="1" height="1.5" /></bezel> + <bezel name="led3" element="led"><bounds x="15.5" y="47.25" width="1" height="1.5" /></bezel> + <bezel name="led4" element="led"><bounds x="15.5" y="37.25" width="1" height="1.5" /></bezel> + <bezel name="led5" element="led"><bounds x="15.5" y="27.25" width="1" height="1.5" /></bezel> + <bezel name="led6" element="led"><bounds x="15.5" y="17.25" width="1" height="1.5" /></bezel> + <bezel name="led7" element="led"><bounds x="15.5" y="7.25" width="1" height="1.5" /></bezel> + + <bezel name="led8" element="led"><bounds x="22.25" y="84.5" width="1.5" height="1" /></bezel> + <bezel name="led9" element="led"><bounds x="32.25" y="84.5" width="1.5" height="1" /></bezel> + <bezel name="led10" element="led"><bounds x="42.25" y="84.5" width="1.5" height="1" /></bezel> + <bezel name="led11" element="led"><bounds x="52.25" y="84.5" width="1.5" height="1" /></bezel> + <bezel name="led12" element="led"><bounds x="62.25" y="84.5" width="1.5" height="1" /></bezel> + <bezel name="led13" element="led"><bounds x="72.25" y="84.5" width="1.5" height="1" /></bezel> + <bezel name="led14" element="led"><bounds x="82.25" y="84.5" width="1.5" height="1" /></bezel> + <bezel name="led15" element="led"><bounds x="92.25" y="84.5" width="1.5" height="1" /></bezel> + <!-- LCD panel --> - <group ref="panel"><bounds x="3" y="89" width="79" height="13" /></group> - </view> + <group ref="panel"><bounds x="18" y="89" width="79" height="13" /></group> - <view name="Display"> - <group ref="panel"><bounds x="0" y="0" width="79" height="13" /></group> + <group ref="sb_board"><bounds x="18" y="3" width="80" height="80" /></group> + <group ref="sb_ui"><bounds x="1.5" y="3" width="10" height="80" /></group> </view> </mamelayout> diff --git a/src/mame/layout/mindset.lay b/src/mame/layout/mindset.lay new file mode 100644 index 00000000000..dd178c5308b --- /dev/null +++ b/src/mame/layout/mindset.lay @@ -0,0 +1,64 @@ +<?xml version="1.0"?> +<mamelayout version="2"> + <element name="rled" defstate="0"> + <rect state="1"> + <color red="0.75" green="0.0" blue="0.0" /> + </rect> + <rect state="0"> + <color red="0.20" green="0.0" blue="0.0" /> + </rect> + </element> + <element name="yled" defstate="0"> + <rect state="1"> + <color red="0.75" green="0.75" blue="0.0" /> + </rect> + <rect state="0"> + <color red="0.20" green="0.20" blue="0.0" /> + </rect> + </element> + <element name="gled" defstate="0"> + <rect state="1"> + <color red="0.0" green="0.75" blue="0.0" /> + </rect> + <rect state="0"> + <color red="0.0" green="0.20" blue="0.0" /> + </rect> + </element> + <element name="DRIVE0"> + <text string="A"> + <color red="1.0" green="1.0" blue="1.0" /> + </text> + </element> + <element name="DRIVE1"> + <text string="B"> + <color red="1.0" green="1.0" blue="1.0" /> + </text> + </element> + + <view name="Default Layout"> + <screen index="0"> + <bounds x="61" y="0" width="751" height="480" /> + </screen> + <bezel name="red_led" element="rled"> + <bounds x="15" y="3" width="10" height="10" /> + </bezel> + <bezel name="yellow_led" element="yled"> + <bounds x="15" y="18" width="10" height="10" /> + </bezel> + <bezel name="green_led" element="gled"> + <bounds x="15" y="33" width="10" height="10" /> + </bezel> + <bezel name="label0" element="DRIVE0"> + <bounds x="0" y="60" width="15" height="16" /> + </bezel> + <bezel name="drive0_led" element="gled"> + <bounds x="15" y="63" width="10" height="10" /> + </bezel> + <bezel name="label1" element="DRIVE1"> + <bounds x="0" y="74" width="15" height="16" /> + </bezel> + <bezel name="drive1_led" element="gled"> + <bounds x="15" y="79" width="10" height="10" /> + </bezel> + </view> +</mamelayout> diff --git a/src/mame/layout/mmodular.lay b/src/mame/layout/mmodular.lay deleted file mode 100644 index c79af50ef82..00000000000 --- a/src/mame/layout/mmodular.lay +++ /dev/null @@ -1,279 +0,0 @@ -<?xml version="1.0"?> -<mamelayout version="2"> -<!-- define elements --> - <element name="led" defstate="0"> - <disk state="0"> - <color red="0.20" green="0.0" blue="0.0" /> - </disk> - <disk state="1"> - <color red="0.95" green="0.0" blue="0.0" /> - </disk> - </element> - <element name="hl" defstate="0"> - <text string=" "> - <bounds x="0.0" y="0.0" width="1.0" height="1.0" /> - <color red="0.0" green="0.0" blue="0.0" /> - </text> - <disk state="1"> - <bounds x="0.12" y="0.12" width="0.76" height="0.76" /> - <color red="1.0" green="1.0" blue="1.0" /> - </disk> - </element> - <element name="hlb" defstate="0"> - <rect state="0"> - <bounds x="0.0" y="0.0" width="1.0" height="1.0" /> - <color red="0.4" green="0.4" blue="0.4" /> - </rect> - <rect state="1"> - <bounds x="0.0" y="0.0" width="1.0" height="1.0" /> - <color red="0.4" green="0.4" blue="0.4" /> - </rect> - </element> - - <element name="background"><rect><color red="0.64" green="0.08" blue="0.11" /></rect></element> - <element name="black"><rect><color red="0.64" green="0.08" blue="0.11" /></rect></element> - <element name="white"><rect><color red="1.00" green="0.88" blue="0.55" /></rect></element> - - <element name="text_1"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="1"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_2"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="2"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_3"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="3"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_4"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="4"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_5"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="5"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_6"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="6"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_7"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="7"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_8"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="8"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_a"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="A"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_b"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="B"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_c"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="C"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_d"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="D"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_e"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="E"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_f"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="F"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_g"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="G"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_h"> <rect><color red="0.64" green="0.08" blue="0.11" /></rect> <text string="H"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - -<!-- build screen --> - - <view name="Chessboard + Display Modul"> - <bezel element="background"><bounds x="-1" y="0" width="87" height="87" /></bezel> - - <!-- chessboard coords --> - - <bezel element="text_8"><bounds x="-0.8" y="7" width="2" height="2" /></bezel> - <bezel element="text_7"><bounds x="-0.8" y="17" width="2" height="2" /></bezel> - <bezel element="text_6"><bounds x="-0.8" y="27" width="2" height="2" /></bezel> - <bezel element="text_5"><bounds x="-0.8" y="37" width="2" height="2" /></bezel> - <bezel element="text_4"><bounds x="-0.8" y="47" width="2" height="2" /></bezel> - <bezel element="text_3"><bounds x="-0.8" y="57" width="2" height="2" /></bezel> - <bezel element="text_2"><bounds x="-0.8" y="67" width="2" height="2" /></bezel> - <bezel element="text_1"><bounds x="-0.8" y="77" width="2" height="2" /></bezel> - - <bezel element="text_a"><bounds x="7" y="85" width="2" height="2" /></bezel> - <bezel element="text_b"><bounds x="17" y="85" width="2" height="2" /></bezel> - <bezel element="text_c"><bounds x="27" y="85" width="2" height="2" /></bezel> - <bezel element="text_d"><bounds x="37" y="85" width="2" height="2" /></bezel> - <bezel element="text_e"><bounds x="47" y="85" width="2" height="2" /></bezel> - <bezel element="text_f"><bounds x="57" y="85" width="2" height="2" /></bezel> - <bezel element="text_g"><bounds x="67" y="85" width="2" height="2" /></bezel> - <bezel element="text_h"><bounds x="77" y="85" width="2" height="2" /></bezel> - - <!-- chessboard bezel --> - - <bezel element="white"><bounds x="2" y="2" width="82" height="82" /></bezel> - <bezel element="white"><bounds x="3" y="3" width="80" height="80" /></bezel> - - <bezel element="black"><bounds x="13" y="2.5" width="10" height="10.5" /></bezel> - <bezel element="black"><bounds x="33" y="2.5" width="10" height="10.5" /></bezel> - <bezel element="black"><bounds x="53" y="2.5" width="10" height="10.5" /></bezel> - <bezel element="black"><bounds x="73" y="2.5" width="10.5" height="10.5" /></bezel> - - <bezel element="black"><bounds x="2.5" y="13" width="10.5" height="10" /></bezel> - <bezel element="black"><bounds x="23" y="13" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="43" y="13" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="63" y="13" width="10" height="10" /></bezel> - - <bezel element="black"><bounds x="13" y="23" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="33" y="23" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="53" y="23" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="73" y="23" width="10.5" height="10" /></bezel> - - <bezel element="black"><bounds x="2.5" y="33" width="10.5" height="10" /></bezel> - <bezel element="black"><bounds x="23" y="33" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="43" y="33" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="63" y="33" width="10" height="10" /></bezel> - - <bezel element="black"><bounds x="13" y="43" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="33" y="43" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="53" y="43" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="73" y="43" width="10.5" height="10" /></bezel> - - <bezel element="black"><bounds x="2.5" y="53" width="10.5" height="10" /></bezel> - <bezel element="black"><bounds x="23" y="53" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="43" y="53" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="63" y="53" width="10" height="10" /></bezel> - - <bezel element="black"><bounds x="13" y="63" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="33" y="63" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="53" y="63" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="73" y="63" width="10.5" height="10" /></bezel> - - <bezel element="black"><bounds x="2.5" y="73" width="10.5" height="10.5" /></bezel> - <bezel element="black"><bounds x="23" y="73" width="10" height="10.5" /></bezel> - <bezel element="black"><bounds x="43" y="73" width="10" height="10.5" /></bezel> - <bezel element="black"><bounds x="63" y="73" width="10" height="10.5" /></bezel> - - <!-- chessboard leds --> - - <bezel name="led0" element="led"><bounds x="11.2" y="81.3" width="1.5" height="1.5" /></bezel> - <bezel name="led1" element="led"><bounds x="21.2" y="81.3" width="1.5" height="1.5" /></bezel> - <bezel name="led2" element="led"><bounds x="31.2" y="81.3" width="1.5" height="1.5" /></bezel> - <bezel name="led3" element="led"><bounds x="41.2" y="81.3" width="1.5" height="1.5" /></bezel> - <bezel name="led4" element="led"><bounds x="51.2" y="81.3" width="1.5" height="1.5" /></bezel> - <bezel name="led5" element="led"><bounds x="61.2" y="81.3" width="1.5" height="1.5" /></bezel> - <bezel name="led6" element="led"><bounds x="71.2" y="81.3" width="1.5" height="1.5" /></bezel> - <bezel name="led7" element="led"><bounds x="81.2" y="81.3" width="1.5" height="1.5" /></bezel> - - <bezel name="led8" element="led"><bounds x="11.2" y="71.3" width="1.5" height="1.5" /></bezel> - <bezel name="led9" element="led"><bounds x="21.2" y="71.3" width="1.5" height="1.5" /></bezel> - <bezel name="led10" element="led"><bounds x="31.2" y="71.3" width="1.5" height="1.5" /></bezel> - <bezel name="led11" element="led"><bounds x="41.2" y="71.3" width="1.5" height="1.5" /></bezel> - <bezel name="led12" element="led"><bounds x="51.2" y="71.3" width="1.5" height="1.5" /></bezel> - <bezel name="led13" element="led"><bounds x="61.2" y="71.3" width="1.5" height="1.5" /></bezel> - <bezel name="led14" element="led"><bounds x="71.2" y="71.3" width="1.5" height="1.5" /></bezel> - <bezel name="led15" element="led"><bounds x="81.2" y="71.3" width="1.5" height="1.5" /></bezel> - - <bezel name="led16" element="led"><bounds x="11.2" y="61.3" width="1.5" height="1.5" /></bezel> - <bezel name="led17" element="led"><bounds x="21.2" y="61.3" width="1.5" height="1.5" /></bezel> - <bezel name="led18" element="led"><bounds x="31.2" y="61.3" width="1.5" height="1.5" /></bezel> - <bezel name="led19" element="led"><bounds x="41.2" y="61.3" width="1.5" height="1.5" /></bezel> - <bezel name="led20" element="led"><bounds x="51.2" y="61.3" width="1.5" height="1.5" /></bezel> - <bezel name="led21" element="led"><bounds x="61.2" y="61.3" width="1.5" height="1.5" /></bezel> - <bezel name="led22" element="led"><bounds x="71.2" y="61.3" width="1.5" height="1.5" /></bezel> - <bezel name="led23" element="led"><bounds x="81.2" y="61.3" width="1.5" height="1.5" /></bezel> - - <bezel name="led24" element="led"><bounds x="11.2" y="51.3" width="1.5" height="1.5" /></bezel> - <bezel name="led25" element="led"><bounds x="21.2" y="51.3" width="1.5" height="1.5" /></bezel> - <bezel name="led26" element="led"><bounds x="31.2" y="51.3" width="1.5" height="1.5" /></bezel> - <bezel name="led27" element="led"><bounds x="41.2" y="51.3" width="1.5" height="1.5" /></bezel> - <bezel name="led28" element="led"><bounds x="51.2" y="51.3" width="1.5" height="1.5" /></bezel> - <bezel name="led29" element="led"><bounds x="61.2" y="51.3" width="1.5" height="1.5" /></bezel> - <bezel name="led30" element="led"><bounds x="71.2" y="51.3" width="1.5" height="1.5" /></bezel> - <bezel name="led31" element="led"><bounds x="81.2" y="51.3" width="1.5" height="1.5" /></bezel> - - <bezel name="led32" element="led"><bounds x="11.2" y="41.3" width="1.5" height="1.5" /></bezel> - <bezel name="led33" element="led"><bounds x="21.2" y="41.3" width="1.5" height="1.5" /></bezel> - <bezel name="led34" element="led"><bounds x="31.2" y="41.3" width="1.5" height="1.5" /></bezel> - <bezel name="led35" element="led"><bounds x="41.2" y="41.3" width="1.5" height="1.5" /></bezel> - <bezel name="led36" element="led"><bounds x="51.2" y="41.3" width="1.5" height="1.5" /></bezel> - <bezel name="led37" element="led"><bounds x="61.2" y="41.3" width="1.5" height="1.5" /></bezel> - <bezel name="led38" element="led"><bounds x="71.2" y="41.3" width="1.5" height="1.5" /></bezel> - <bezel name="led39" element="led"><bounds x="81.2" y="41.3" width="1.5" height="1.5" /></bezel> - - <bezel name="led40" element="led"><bounds x="11.2" y="31.3" width="1.5" height="1.5" /></bezel> - <bezel name="led41" element="led"><bounds x="21.2" y="31.3" width="1.5" height="1.5" /></bezel> - <bezel name="led42" element="led"><bounds x="31.2" y="31.3" width="1.5" height="1.5" /></bezel> - <bezel name="led43" element="led"><bounds x="41.2" y="31.3" width="1.5" height="1.5" /></bezel> - <bezel name="led44" element="led"><bounds x="51.2" y="31.3" width="1.5" height="1.5" /></bezel> - <bezel name="led45" element="led"><bounds x="61.2" y="31.3" width="1.5" height="1.5" /></bezel> - <bezel name="led46" element="led"><bounds x="71.2" y="31.3" width="1.5" height="1.5" /></bezel> - <bezel name="led47" element="led"><bounds x="81.2" y="31.3" width="1.5" height="1.5" /></bezel> - - <bezel name="led48" element="led"><bounds x="11.2" y="21.3" width="1.5" height="1.5" /></bezel> - <bezel name="led49" element="led"><bounds x="21.2" y="21.3" width="1.5" height="1.5" /></bezel> - <bezel name="led50" element="led"><bounds x="31.2" y="21.3" width="1.5" height="1.5" /></bezel> - <bezel name="led51" element="led"><bounds x="41.2" y="21.3" width="1.5" height="1.5" /></bezel> - <bezel name="led52" element="led"><bounds x="51.2" y="21.3" width="1.5" height="1.5" /></bezel> - <bezel name="led53" element="led"><bounds x="61.2" y="21.3" width="1.5" height="1.5" /></bezel> - <bezel name="led54" element="led"><bounds x="71.2" y="21.3" width="1.5" height="1.5" /></bezel> - <bezel name="led55" element="led"><bounds x="81.2" y="21.3" width="1.5" height="1.5" /></bezel> - - <bezel name="led56" element="led"><bounds x="11.2" y="11.3" width="1.5" height="1.5" /></bezel> - <bezel name="led57" element="led"><bounds x="21.2" y="11.3" width="1.5" height="1.5" /></bezel> - <bezel name="led58" element="led"><bounds x="31.2" y="11.3" width="1.5" height="1.5" /></bezel> - <bezel name="led59" element="led"><bounds x="41.2" y="11.3" width="1.5" height="1.5" /></bezel> - <bezel name="led60" element="led"><bounds x="51.2" y="11.3" width="1.5" height="1.5" /></bezel> - <bezel name="led61" element="led"><bounds x="61.2" y="11.3" width="1.5" height="1.5" /></bezel> - <bezel name="led62" element="led"><bounds x="71.2" y="11.3" width="1.5" height="1.5" /></bezel> - <bezel name="led63" element="led"><bounds x="81.2" y="11.3" width="1.5" height="1.5" /></bezel> - - <!-- chessboard sensors --> - - <bezel element="hl" inputtag="board:IN.7" inputmask="0x01"><bounds x="3" y="3" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.7" inputmask="0x02"><bounds x="13" y="3" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.7" inputmask="0x04"><bounds x="23" y="3" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.7" inputmask="0x08"><bounds x="33" y="3" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.7" inputmask="0x10"><bounds x="43" y="3" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.7" inputmask="0x20"><bounds x="53" y="3" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.7" inputmask="0x40"><bounds x="63" y="3" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.7" inputmask="0x80"><bounds x="73" y="3" width="10" height="10" /><color alpha="0.2" /></bezel> - - <bezel element="hl" inputtag="board:IN.6" inputmask="0x01"><bounds x="3" y="13" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.6" inputmask="0x02"><bounds x="13" y="13" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.6" inputmask="0x04"><bounds x="23" y="13" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.6" inputmask="0x08"><bounds x="33" y="13" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.6" inputmask="0x10"><bounds x="43" y="13" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.6" inputmask="0x20"><bounds x="53" y="13" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.6" inputmask="0x40"><bounds x="63" y="13" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.6" inputmask="0x80"><bounds x="73" y="13" width="10" height="10" /><color alpha="0.4" /></bezel> - - <bezel element="hl" inputtag="board:IN.5" inputmask="0x01"><bounds x="3" y="23" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.5" inputmask="0x02"><bounds x="13" y="23" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.5" inputmask="0x04"><bounds x="23" y="23" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.5" inputmask="0x08"><bounds x="33" y="23" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.5" inputmask="0x10"><bounds x="43" y="23" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.5" inputmask="0x20"><bounds x="53" y="23" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.5" inputmask="0x40"><bounds x="63" y="23" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.5" inputmask="0x80"><bounds x="73" y="23" width="10" height="10" /><color alpha="0.2" /></bezel> - - <bezel element="hl" inputtag="board:IN.4" inputmask="0x01"><bounds x="3" y="33" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.4" inputmask="0x02"><bounds x="13" y="33" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.4" inputmask="0x04"><bounds x="23" y="33" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.4" inputmask="0x08"><bounds x="33" y="33" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.4" inputmask="0x10"><bounds x="43" y="33" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.4" inputmask="0x20"><bounds x="53" y="33" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.4" inputmask="0x40"><bounds x="63" y="33" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.4" inputmask="0x80"><bounds x="73" y="33" width="10" height="10" /><color alpha="0.4" /></bezel> - - <bezel element="hl" inputtag="board:IN.3" inputmask="0x01"><bounds x="3" y="43" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.3" inputmask="0x02"><bounds x="13" y="43" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.3" inputmask="0x04"><bounds x="23" y="43" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.3" inputmask="0x08"><bounds x="33" y="43" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.3" inputmask="0x10"><bounds x="43" y="43" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.3" inputmask="0x20"><bounds x="53" y="43" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.3" inputmask="0x40"><bounds x="63" y="43" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.3" inputmask="0x80"><bounds x="73" y="43" width="10" height="10" /><color alpha="0.2" /></bezel> - - <bezel element="hl" inputtag="board:IN.2" inputmask="0x01"><bounds x="3" y="53" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.2" inputmask="0x02"><bounds x="13" y="53" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.2" inputmask="0x04"><bounds x="23" y="53" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.2" inputmask="0x08"><bounds x="33" y="53" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.2" inputmask="0x10"><bounds x="43" y="53" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.2" inputmask="0x20"><bounds x="53" y="53" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.2" inputmask="0x40"><bounds x="63" y="53" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.2" inputmask="0x80"><bounds x="73" y="53" width="10" height="10" /><color alpha="0.4" /></bezel> - - <bezel element="hl" inputtag="board:IN.1" inputmask="0x01"><bounds x="3" y="63" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.1" inputmask="0x02"><bounds x="13" y="63" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.1" inputmask="0x04"><bounds x="23" y="63" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.1" inputmask="0x08"><bounds x="33" y="63" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.1" inputmask="0x10"><bounds x="43" y="63" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.1" inputmask="0x20"><bounds x="53" y="63" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.1" inputmask="0x40"><bounds x="63" y="63" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.1" inputmask="0x80"><bounds x="73" y="63" width="10" height="10" /><color alpha="0.2" /></bezel> - - <bezel element="hl" inputtag="board:IN.0" inputmask="0x01"><bounds x="3" y="73" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.0" inputmask="0x02"><bounds x="13" y="73" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.0" inputmask="0x04"><bounds x="23" y="73" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.0" inputmask="0x08"><bounds x="33" y="73" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.0" inputmask="0x10"><bounds x="43" y="73" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.0" inputmask="0x20"><bounds x="53" y="73" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="board:IN.0" inputmask="0x40"><bounds x="63" y="73" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="board:IN.0" inputmask="0x80"><bounds x="73" y="73" width="10" height="10" /><color alpha="0.4" /></bezel> - - <!-- LCD panel --> - <screen index="0"><bounds x="30" y="88" width="24" height="4.5" /></screen> - </view> - - <view name="Display Modul"> - <screen index="0"><bounds x="0" y="0" width="24" height="4.5" /></screen> - </view> -</mamelayout> diff --git a/src/mame/layout/model1io2.lay b/src/mame/layout/model1io2.lay index 1a552d3352c..f029cd09bf1 100644 --- a/src/mame/layout/model1io2.lay +++ b/src/mame/layout/model1io2.lay @@ -18,12 +18,12 @@ </element> <view name="Default"> - <screen tag="ioboard:screen"> - <bounds left="0" top="0" right="1" bottom="1" /> - </screen> <screen tag="screen"> <bounds left="0" top="0" right="4" bottom="3" /> </screen> + + <!-- workaround for MAME selecting a 2-screen view by default --> + <screen tag="ioboard:screen"><bounds left="0" top="0" right="4" bottom="3" /><color alpha="0" /></screen> </view> <view name="Diagnostic"> diff --git a/src/mame/layout/saitek_risc2500.lay b/src/mame/layout/saitek_risc2500.lay index b2b095749f2..45796b14371 100644 --- a/src/mame/layout/saitek_risc2500.lay +++ b/src/mame/layout/saitek_risc2500.lay @@ -70,6 +70,7 @@ <element name="sym_white"> <rect><color red="0.00" green="0.00" blue="0.00" /></rect> <text string="○" state="1"> <color red="1.0" green="1.0" blue="1.0" /> </text> </element> <element name="sym_black"> <text string="●" state="1"> <color red="1.0" green="1.0" blue="1.0" /> </text> </element> <element name="background"><rect><color red="0.63" green="0.63" blue="0.63" /></rect></element> + <element name="blackb"><rect><color red="0" green="0" blue="0" /></rect></element> <element name="piece" defstate="0"> <image file="chess/wp.png" state="1"/> @@ -120,76 +121,76 @@ <bounds x="0" y="0" width="80" height="80" /> <!-- squares (avoid seams) --> - <bezel element="cwhite"><bounds x="0" y="0" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="10" y="0" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="20" y="0" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="30" y="0" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="40" y="0" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="50" y="0" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="60" y="0" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="70" y="0" width="10" height="10" /></bezel> - - <bezel element="cblack"><bounds x="0" y="10" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="10" y="10" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="20" y="10" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="30" y="10" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="40" y="10" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="50" y="10" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="60" y="10" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="70" y="10" width="10" height="10" /></bezel> - - <bezel element="cwhite"><bounds x="0" y="20" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="10" y="20" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="20" y="20" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="30" y="20" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="40" y="20" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="50" y="20" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="60" y="20" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="70" y="20" width="10" height="10" /></bezel> - - <bezel element="cblack"><bounds x="0" y="30" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="10" y="30" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="20" y="30" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="30" y="30" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="40" y="30" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="50" y="30" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="60" y="30" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="70" y="30" width="10" height="10" /></bezel> - - <bezel element="cwhite"><bounds x="0" y="40" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="10" y="40" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="20" y="40" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="30" y="40" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="40" y="40" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="50" y="40" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="60" y="40" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="70" y="40" width="10" height="10" /></bezel> - - <bezel element="cblack"><bounds x="0" y="50" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="10" y="50" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="20" y="50" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="30" y="50" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="40" y="50" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="50" y="50" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="60" y="50" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="70" y="50" width="10" height="10" /></bezel> - - <bezel element="cwhite"><bounds x="0" y="60" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="10" y="60" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="20" y="60" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="30" y="60" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="40" y="60" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="50" y="60" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="60" y="60" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="70" y="60" width="10" height="10" /></bezel> - - <bezel element="cblack"><bounds x="0" y="70" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="10" y="70" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="20" y="70" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="30" y="70" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="40" y="70" width="10" height="10" /></bezel> - <bezel element="cwhite"><bounds x="50" y="70" width="10" height="10" /></bezel> - <bezel element="cblack"><bounds x="60" y="70" width="10" height="10" /></bezel> + <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> <!-- sensors, pieces --> @@ -197,23 +198,23 @@ <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.1" /></bezel> - <bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x02"><bounds x="10" y="~y~" width="10" height="10" /><color alpha="0.1" /></bezel> - <bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x04"><bounds x="20" y="~y~" width="10" height="10" /><color alpha="0.1" /></bezel> - <bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x08"><bounds x="30" y="~y~" width="10" height="10" /><color alpha="0.1" /></bezel> - <bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x10"><bounds x="40" y="~y~" width="10" height="10" /><color alpha="0.1" /></bezel> - <bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x20"><bounds x="50" y="~y~" width="10" height="10" /><color alpha="0.1" /></bezel> - <bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x40"><bounds x="60" y="~y~" width="10" height="10" /><color alpha="0.1" /></bezel> - <bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x80"><bounds x="70" y="~y~" width="10" height="10" /><color alpha="0.1" /></bezel> - - <bezel name="piece_a~i~" element="piece"><bounds x="0.5" y="~y~" width="9" height="9" /></bezel> - <bezel name="piece_b~i~" element="piece"><bounds x="10.5" y="~y~" width="9" height="9" /></bezel> - <bezel name="piece_c~i~" element="piece"><bounds x="20.5" y="~y~" width="9" height="9" /></bezel> - <bezel name="piece_d~i~" element="piece"><bounds x="30.5" y="~y~" width="9" height="9" /></bezel> - <bezel name="piece_e~i~" element="piece"><bounds x="40.5" y="~y~" width="9" height="9" /></bezel> - <bezel name="piece_f~i~" element="piece"><bounds x="50.5" y="~y~" width="9" height="9" /></bezel> - <bezel name="piece_g~i~" element="piece"><bounds x="60.5" y="~y~" width="9" height="9" /></bezel> - <bezel name="piece_h~i~" element="piece"><bounds x="70.5" y="~y~" width="9" height="9" /></bezel> + <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> @@ -354,7 +355,7 @@ <!-- LCD panel --> <group name="lcd"> <bounds x="0" y="0" width="30" height="11.2" /> - <screen index="0"><bounds x="0" y="0" width="30" height="4" /></screen> + <screen index="0" blend="alpha"><bounds x="0" y="0" width="30" height="4" /></screen> <bezel name="sym12" element="sym_colon" ><bounds x="12.0" y="4.5" width="1.5" height="3" /></bezel> <bezel name="sym13" element="sym_colon" ><bounds x="24.2" y="4.5" width="1.5" height="3" /></bezel> @@ -385,12 +386,10 @@ <!-- build screen --> <view name="Internal Layout"> - <bounds x="0" y="0" width="166.5" height="90" /> + <bounds x="0" y="0" width="167" height="90" /> - <bezel element="background"><bounds x="13" y="0" width="95" height="90" /></bezel> - <bezel element="background"><bounds x="108" y="16" width="60" height="74" /></bezel> - <bezel element="background"><bounds x="108" y="0" width="60" height="4" /></bezel> - <bezel element="background"><bounds x="138" y="0" width="30" height="20" /></bezel> + <element ref="background"><bounds x="13" y="0" width="154" height="90" /></element> + <element ref="blackb"><bounds x="108" y="4" width="30" height="12" /></element> <bezel element="text_8" ><bounds x="18" y="7" width="2" height="2" /></bezel> <bezel element="text_7" ><bounds x="18" y="17" width="2" height="2" /></bezel> @@ -469,7 +468,7 @@ <bezel element="hlb" inputtag="P0" inputmask="0x40000000"><bounds x="154" y="70" width="7" height="2" /></bezel> <group ref="lcd"><bounds x="108" y="4.5" width="30" height="11.2" /></group> - <group ref="sb_board"><bounds x="21" y="2" width="81" height="81" /></group> + <group ref="sb_board"><bounds x="21" y="2" width="80" height="80" /></group> <group ref="sb_ui"><bounds x="1.5" y="5" width="10" height="80" /></group> </view> diff --git a/src/mame/layout/sms1.lay b/src/mame/layout/sms1.lay index c6988743e6f..b390da57e59 100644 --- a/src/mame/layout/sms1.lay +++ b/src/mame/layout/sms1.lay @@ -1,14 +1,13 @@ <?xml version="1.0"?> <mamelayout version="2"> <view name="Main Screen Standard (4:3)"> - <bounds left="0" top="0" right="4" bottom="3" /> <screen index="0"> <bounds left="0" top="0" right="4" bottom="3" /> </screen> <!-- workaround for MAME selecting a 3-screen view by default --> - <screen index="1"><bounds left="10" top="0" right="14" bottom="3" /></screen> - <screen index="2"><bounds left="10" top="0" right="14" bottom="3" /></screen> + <screen index="1"><bounds left="0" top="0" right="4" bottom="3" /><color alpha="0" /></screen> + <screen index="2"><bounds left="0" top="0" right="4" bottom="3" /><color alpha="0" /></screen> </view> <view name="SegaScope Left LCD Standard (4:3)"> diff --git a/src/mame/machine/hpc1.cpp b/src/mame/machine/hpc1.cpp index a4c32d5d5c1..8ffb6e25a14 100644 --- a/src/mame/machine/hpc1.cpp +++ b/src/mame/machine/hpc1.cpp @@ -11,8 +11,8 @@ #include "bus/rs232/rs232.h" #include "bus/rs232/hlemouse.h" #include "machine/nscsi_bus.h" -#include "machine/nscsi_cd.h" -#include "machine/nscsi_hd.h" +#include "bus/nscsi/cd.h" +#include "bus/nscsi/hd.h" #include "bus/sgikbd/sgikbd.h" #include "machine/hpc1.h" #include "speaker.h" diff --git a/src/mame/machine/iteagle_fpga.cpp b/src/mame/machine/iteagle_fpga.cpp index 6a585fc24ec..7e2a416af34 100644 --- a/src/mame/machine/iteagle_fpga.cpp +++ b/src/mame/machine/iteagle_fpga.cpp @@ -87,6 +87,10 @@ void iteagle_fpga_device::device_start() status = 0x5555; command = 0x5555; + // always keep this device memory ranges active + command |= 3; + command_mask &= ~3; + add_map(sizeof(m_fpga_regs), M_IO, FUNC(iteagle_fpga_device::fpga_map)); // fpga defaults to base address 0x00000300 bank_infos[0].adr = 0x00000300 & (~(bank_infos[0].size - 1)); @@ -721,6 +725,10 @@ void iteagle_eeprom_device::device_start() pci_device::device_start(); skip_map_regs(1); add_map(0x10, M_IO, FUNC(iteagle_eeprom_device::eeprom_map)); + + // always keep this device memory ranges active + command |= 3; + command_mask &= ~3; } void iteagle_eeprom_device::device_reset() @@ -819,6 +827,10 @@ void iteagle_periph_device::device_start() m_rtc_regs[0xb] = 0x02; // 24-hour format m_rtc->set_base(m_rtc_regs, sizeof(m_rtc_regs)); + // always keep this device memory ranges active + command |= 3; + command_mask &= ~3; + // Save states save_item(NAME(m_ctrl_regs)); } diff --git a/src/mame/machine/mmboard.cpp b/src/mame/machine/mmboard.cpp index 2e00ab158f9..66340bf3e11 100644 --- a/src/mame/machine/mmboard.cpp +++ b/src/mame/machine/mmboard.cpp @@ -24,173 +24,28 @@ DEFINE_DEVICE_TYPE(MEPHISTO_DISPLAY_MODUL, mephisto_display_modul_device, "mdisp // IMPLEMENTATION //*************************************************************************** -static INPUT_PORTS_START( mephisto_sensors_board ) - PORT_START("IN.0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER) PORT_TOGGLE - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER) PORT_TOGGLE - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER) PORT_TOGGLE - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER) PORT_TOGGLE - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER) PORT_TOGGLE - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER) PORT_TOGGLE - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER) PORT_TOGGLE - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER) PORT_TOGGLE - PORT_START("IN.1") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER) PORT_TOGGLE - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER) PORT_TOGGLE - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER) PORT_TOGGLE - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER) PORT_TOGGLE - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER) PORT_TOGGLE - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER) PORT_TOGGLE - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER) PORT_TOGGLE - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER) PORT_TOGGLE - PORT_START("IN.2") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER) PORT_TOGGLE - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER) PORT_TOGGLE - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER) PORT_TOGGLE - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER) PORT_TOGGLE - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER) PORT_TOGGLE - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER) PORT_TOGGLE - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER) PORT_TOGGLE - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER) PORT_TOGGLE - PORT_START("IN.3") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER) PORT_TOGGLE - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER) PORT_TOGGLE - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER) PORT_TOGGLE - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER) PORT_TOGGLE - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER) PORT_TOGGLE - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER) PORT_TOGGLE - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER) PORT_TOGGLE - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER) PORT_TOGGLE - PORT_START("IN.4") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER) PORT_TOGGLE - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER) PORT_TOGGLE - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER) PORT_TOGGLE - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER) PORT_TOGGLE - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER) PORT_TOGGLE - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER) PORT_TOGGLE - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER) PORT_TOGGLE - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER) PORT_TOGGLE - PORT_START("IN.5") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER) PORT_TOGGLE - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER) PORT_TOGGLE - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER) PORT_TOGGLE - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER) PORT_TOGGLE - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER) PORT_TOGGLE - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER) PORT_TOGGLE - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER) PORT_TOGGLE - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER) PORT_TOGGLE - PORT_START("IN.6") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER) PORT_TOGGLE - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER) PORT_TOGGLE - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER) PORT_TOGGLE - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER) PORT_TOGGLE - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER) PORT_TOGGLE - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER) PORT_TOGGLE - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER) PORT_TOGGLE - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER) PORT_TOGGLE - PORT_START("IN.7") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER) PORT_TOGGLE - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER) PORT_TOGGLE - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER) PORT_TOGGLE - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER) PORT_TOGGLE - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER) PORT_TOGGLE - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER) PORT_TOGGLE - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER) PORT_TOGGLE - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER) PORT_TOGGLE -INPUT_PORTS_END - -static INPUT_PORTS_START( mephisto_buttons_board ) - PORT_START("IN.0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER) - PORT_START("IN.1") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER) - PORT_START("IN.2") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER) - PORT_START("IN.3") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER) - PORT_START("IN.4") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER) - PORT_START("IN.5") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER) - PORT_START("IN.6") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER) - PORT_START("IN.7") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER) -INPUT_PORTS_END - - //------------------------------------------------- -// input_ports - device-specific input ports +// device_add_mconfig - add device-specific +// machine configuration //------------------------------------------------- -ioport_constructor mephisto_sensors_board_device::device_input_ports() const +void mephisto_sensors_board_device::device_add_mconfig(machine_config &config) { - return INPUT_PORTS_NAME( mephisto_sensors_board ); + SENSORBOARD(config, m_board); + m_board->set_type(sensorboard_device::MAGNETS); + m_board->init_cb().set(m_board, FUNC(sensorboard_device::preset_chess)); } //------------------------------------------------- -// input_ports - device-specific input ports +// device_add_mconfig - add device-specific +// machine configuration //------------------------------------------------- -ioport_constructor mephisto_buttons_board_device::device_input_ports() const +void mephisto_buttons_board_device::device_add_mconfig(machine_config &config) { - return INPUT_PORTS_NAME( mephisto_buttons_board ); + SENSORBOARD(config, m_board); + m_board->set_type(sensorboard_device::BUTTONS); + m_board->init_cb().set(m_board, FUNC(sensorboard_device::preset_chess)); } //************************************************************************** @@ -203,7 +58,8 @@ ioport_constructor mephisto_buttons_board_device::device_input_ports() const mephisto_board_device::mephisto_board_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) : device_t(mconfig, type, tag, owner, clock) - , m_sensors(*this, "IN.%u", 0) + , m_board(*this, "board") + , m_sensordelay(attotime::from_msec(150)) , m_led(*this, "led%u", 0U) , m_disable_leds(false) { @@ -241,6 +97,8 @@ void mephisto_board_device::device_start() save_item(NAME(m_mux)); save_item(NAME(m_leds)); save_item(NAME(m_leds_state)); + + m_board->set_delay(m_sensordelay); } //------------------------------------------------- @@ -283,7 +141,7 @@ READ8_MEMBER( mephisto_board_device::input_r ) for (int i=0; i<8; i++) if (!BIT(m_mux, i)) - data &= m_sensors[i]->read(); + data &= ~m_board->read_rank(i); return data; } diff --git a/src/mame/machine/mmboard.h b/src/mame/machine/mmboard.h index 6df2c3f828e..2ea9ed3eec1 100644 --- a/src/mame/machine/mmboard.h +++ b/src/mame/machine/mmboard.h @@ -12,6 +12,7 @@ #pragma once +#include "machine/sensorboard.h" #include "sound/beep.h" #include "video/hd44780.h" #include "emupal.h" @@ -33,6 +34,7 @@ public: // configuration helpers void set_disable_leds(int _disable_leds) { m_disable_leds = _disable_leds; } + void set_delay(attotime _sensordelay) { m_sensordelay = _sensordelay; } DECLARE_READ8_MEMBER(input_r); DECLARE_WRITE8_MEMBER(led_w); @@ -47,8 +49,9 @@ protected: virtual void device_start() override; virtual void device_reset() override; -private: - required_ioport_array<8> m_sensors; +protected: + required_device<sensorboard_device> m_board; + attotime m_sensordelay; output_finder<64> m_led; emu_timer * m_leds_update_timer; emu_timer * m_leds_refresh_timer; @@ -64,12 +67,12 @@ class mephisto_sensors_board_device : public mephisto_board_device { public: // construction/destruction - mephisto_sensors_board_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + mephisto_sensors_board_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0); protected: // optional information overrides - virtual ioport_constructor device_input_ports() const override; + virtual void device_add_mconfig(machine_config &config) override; }; @@ -79,12 +82,12 @@ class mephisto_buttons_board_device : public mephisto_board_device { public: // construction/destruction - mephisto_buttons_board_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + mephisto_buttons_board_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0); protected: // optional information overrides - virtual ioport_constructor device_input_ports() const override; + virtual void device_add_mconfig(machine_config &config) override; }; @@ -94,7 +97,7 @@ class mephisto_display_modul_device : public device_t { public: // construction/destruction - mephisto_display_modul_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + mephisto_display_modul_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0); DECLARE_WRITE8_MEMBER(latch_w); DECLARE_WRITE8_MEMBER(io_w); diff --git a/src/mame/machine/pmd85.cpp b/src/mame/machine/pmd85.cpp index acddc4e1978..faa9fcf8d73 100644 --- a/src/mame/machine/pmd85.cpp +++ b/src/mame/machine/pmd85.cpp @@ -826,4 +826,7 @@ void pmd85_state::machine_reset() m_pmd853_memory_mapping = 1; m_startup_mem_map = 1; (this->*update_memory)(); + + if (m_uart) + m_uart->write_cts(0); } diff --git a/src/mame/machine/poly88.cpp b/src/mame/machine/poly88.cpp index 2eb167a8796..dec62c27b59 100644 --- a/src/mame/machine/poly88.cpp +++ b/src/mame/machine/poly88.cpp @@ -18,9 +18,6 @@ void poly88_state::device_timer(emu_timer &timer, device_timer_id id, int param, { switch (id) { - case TIMER_USART: - poly88_usart_timer_callback(ptr, param); - break; case TIMER_KEYBOARD: keyboard_callback(ptr, param); break; @@ -30,19 +27,11 @@ void poly88_state::device_timer(emu_timer &timer, device_timer_id id, int param, } -TIMER_CALLBACK_MEMBER(poly88_state::poly88_usart_timer_callback) -{ - m_int_vector = 0xe7; - m_maincpu->set_input_line(0, HOLD_LINE); -} - +// bits 0-3 baud rate; bit 4 (0=cassette, 1=rs232); bit 5 (1=disable rom and ram) void poly88_state::baud_rate_w(uint8_t data) { logerror("poly88_baud_rate_w %02x\n",data); m_brg->control_w(data & 15); - - // FIXME - m_usart_timer->adjust(attotime::zero, 0, attotime::from_hz(300)); } uint8_t poly88_state::row_number(uint8_t code) { @@ -154,79 +143,98 @@ IRQ_CALLBACK_MEMBER(poly88_state::poly88_irq_callback) return m_int_vector; } -WRITE_LINE_MEMBER(poly88_state::write_cas_tx) +TIMER_DEVICE_CALLBACK_MEMBER( poly88_state::kansas_r ) { - m_cas_tx = state; -} - -WRITE_LINE_MEMBER(poly88_state::cassette_txc_rxc_w) -{ - int data; - int current_level; + if (BIT(m_linec->read(), 7)) + return; -// if (!(ioport("DSW0")->read() & 0x02)) /* V.24 / Tape Switch */ - //{ - /* tape reading */ - if (m_cassette->get_state()&CASSETTE_PLAY) - { - if (m_clk_level_tape) - { - m_previous_level = (m_cassette->input() > 0.038) ? 1 : 0; - m_clk_level_tape = 0; - } - else - { - current_level = (m_cassette->input() > 0.038) ? 1 : 0; + // no tape - set uart to idle + m_cass_data[1]++; + if (m_dtr || (m_cass_data[1] > 32)) + { + m_cass_data[1] = 32; + m_rxd = 1; + } - if (m_previous_level!=current_level) - { - data = (!m_previous_level && current_level) ? 1 : 0; -//data = current_level; - m_usart->write_rxd(data); + // turn 1200/2400Hz to a bit + uint8_t cass_ws = (m_cassette->input() > +0.04) ? 1 : 0; - m_clk_level_tape = 1; - } - } + if (cass_ws != m_cass_data[0]) + { + m_cass_data[0] = cass_ws; + m_rxd = (m_cass_data[1] < 12) ? 1 : 0; + m_cass_data[1] = 0; + } +} - m_usart->write_rxc(m_clk_level_tape); +WRITE_LINE_MEMBER(poly88_state::cassette_clock_w) +{ + // incoming @4800Hz (bit), 2400Hz (polyphase) + if (BIT(m_linec->read(), 7)) + { + // polyphase + // SAVE + if (!m_rts) + m_cassette->output((m_txd ^ state) ? 1.0 : -1.0); + // LOAD + if (!m_dtr) + { + u8 cass_ws = (m_cassette->input() > +0.04) ? 1 : 0; + if (state) + m_usart->write_rxd(cass_ws); } + } + else + { + // byte mode 300 baud Kansas City format + u8 twobit = m_cass_data[3] & 3; - /* tape writing */ - if (m_cassette->get_state()&CASSETTE_RECORD) + // SAVE + if (m_rts && (twobit == 0)) + { + m_cassette->output(0); + m_cass_data[3] = 0; // reset waveforms + } + else + if (state) { - data = m_cas_tx; - data ^= m_clk_level_tape; - m_cassette->output(data&0x01 ? 1 : -1); + if (twobit == 0) + m_cassold = m_txd; - m_clk_level_tape = m_clk_level_tape ? 0 : 1; - m_usart->write_txc(m_clk_level_tape); + if (m_cassold) + m_cassette->output(BIT(m_cass_data[3], 0) ? -1.0 : +1.0); // 2400Hz + else + m_cassette->output(BIT(m_cass_data[3], 1) ? -1.0 : +1.0); // 1200Hz - return; + m_cass_data[3]++; } - m_clk_level_tape = 1; + // LOAD + if (state && !m_dtr && (twobit == 0)) + m_usart->write_rxd(m_rxd); + } + if (!m_rts) m_usart->write_txc(state); -// } + + if (!m_dtr) + m_usart->write_rxc(state); } void poly88_state::init_poly88() { - m_previous_level = 0; - m_clk_level_tape = 1; - - m_usart_timer = timer_alloc(TIMER_USART); m_keyboard_timer = timer_alloc(TIMER_KEYBOARD); m_keyboard_timer->adjust(attotime::from_hz(24000), 0, attotime::from_hz(24000)); } void poly88_state::machine_reset() { - m_intr = 0; m_last_code = 0; + m_usart->write_rxd(1); m_usart->write_cts(0); m_brg->control_w(0); + m_dtr = m_rts = m_txd = m_rxd = m_cassold = 1; } INTERRUPT_GEN_MEMBER(poly88_state::poly88_interrupt) @@ -235,10 +243,13 @@ INTERRUPT_GEN_MEMBER(poly88_state::poly88_interrupt) device.execute().set_input_line(0, HOLD_LINE); } -WRITE_LINE_MEMBER(poly88_state::poly88_usart_rxready) +WRITE_LINE_MEMBER(poly88_state::usart_ready_w) { - //drvm_int_vector = 0xe7; - //execute().set_input_line(0, HOLD_LINE); + if (state) + { + m_int_vector = 0xe7; + m_maincpu->set_input_line(0, HOLD_LINE); + } } uint8_t poly88_state::keyboard_r() diff --git a/src/mame/mame.lst b/src/mame/mame.lst index f58bed174e8..abb9ea2e4d4 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -21999,7 +21999,9 @@ van32 // 1991 Mephisto Vancouver 68020 gen32 // 1993 Mephisto Genius 68030 lond020 // 1996 Mephisto London 68020 lond030 // 1996 Mephisto Genius 68030 London Upgrade +berl16 // 1992 Mephisto Berlin 68000 berlinp // 1994 Mephisto Berlin Pro 68020 +berl16l // 1996 Mephisto Berlin 68000 London Upgrade bpl32 // 1996 Mephisto Berlin Pro London Upgrade @source:mod8.cpp @@ -40162,6 +40164,9 @@ wrallya // (c) 1993 - Ref 930705 wrallyat // (c) 1993 - Ref 930217 wrallyb // (c) 1993 - Ref 930217 +@source:wrinkles.cpp +wrinkles + @source:wswan.cpp wscolor // Bandai WonderSwan Color Handheld wswan // Bandai WonderSwan Handheld diff --git a/src/mame/mess.flt b/src/mame/mess.flt index 988c0c620aa..20fd3854b01 100644 --- a/src/mame/mess.flt +++ b/src/mame/mess.flt @@ -904,6 +904,7 @@ vtech2.cpp vtech_eu3a12.cpp wangpc.cpp wicat.cpp +wrinkles.cpp wswan.cpp wy100.cpp wy150.cpp diff --git a/src/mame/video/itech32.cpp b/src/mame/video/itech32.cpp index e2bb96a7917..9716fa8a72f 100644 --- a/src/mame/video/itech32.cpp +++ b/src/mame/video/itech32.cpp @@ -367,7 +367,7 @@ TIMER_CALLBACK_MEMBER(itech32_state::scanline_interrupt) m_scanline_timer->adjust(m_screen->time_until_pos(VIDEO_INTSCANLINE)); /* set the interrupt bit in the status reg */ - logerror("-------------- (DISPLAY INT @ %d) ----------------\n", m_screen->vpos()); + //logerror("-------------- (DISPLAY INT @ %d) ----------------\n", m_screen->vpos()); VIDEO_INTSTATE |= VIDEOINT_SCANLINE; /* update the interrupt state */ diff --git a/src/mame/video/nmk16.cpp b/src/mame/video/nmk16.cpp index 061fcf39509..e2c60ca0ea2 100644 --- a/src/mame/video/nmk16.cpp +++ b/src/mame/video/nmk16.cpp @@ -33,50 +33,38 @@ TILEMAP_MAPPER_MEMBER(nmk16_state::tilemap_scan_pages) { - return (row & 0xf) | ((col & 0xff) << 4) | ((row & 0x10) << 8); + return (row & 0xf) | ((col & 0xff) << 4) | ((row & 0x10) << 8); } -template<int Layer, int Gfx> +template<unsigned Layer, unsigned Gfx> TILE_GET_INFO_MEMBER(nmk16_state::common_get_bg_tile_info) { - int code = m_nmk_bgvideoram[Layer][(m_tilerambank << 13)|tile_index]; - SET_TILE_INFO_MEMBER(Gfx,(code & 0xfff) | (m_bgbank << 12),code >> 12,0); + const u16 code = m_bgvideoram[Layer][(m_tilerambank << 13) | tile_index]; + SET_TILE_INFO_MEMBER(Gfx, (code & 0xfff) | (m_bgbank << 12), code >> 12, 0); } TILE_GET_INFO_MEMBER(nmk16_state::common_get_tx_tile_info) { - int code = m_nmk_txvideoram[tile_index]; - SET_TILE_INFO_MEMBER(0, - code & 0xfff, - code >> 12, - 0); + const u16 code = m_txvideoram[tile_index]; + SET_TILE_INFO_MEMBER(0, code & 0xfff, code >> 12, 0); } TILE_GET_INFO_MEMBER(nmk16_state::bioship_get_bg_tile_info) { - int code = m_tilemap_rom[(m_bioship_background_bank << 13) | tile_index]; // ROM Based - SET_TILE_INFO_MEMBER(3,(code & 0xfff),code >> 12,0); + const u16 code = m_tilemap_rom[(m_bioship_background_bank << 13) | tile_index]; // ROM Based + SET_TILE_INFO_MEMBER(3, code & 0xfff, code >> 12, 0); } TILE_GET_INFO_MEMBER(nmk16_state::bjtwin_get_bg_tile_info) { - int code = m_nmk_bgvideoram[0][tile_index]; - int bank = (code & 0x800) ? 1 : 0; + const u16 code = m_bgvideoram[0][tile_index]; + const u8 bank = BIT(code, 11); SET_TILE_INFO_MEMBER(bank, (code & 0x7ff) + ((bank) ? (m_bgbank << 11) : 0), code >> 12, 0); } -TILE_GET_INFO_MEMBER(nmk16_state::get_tile_info_0_8bit) -{ - uint16_t code = m_nmk_bgvideoram[0][tile_index]; - SET_TILE_INFO_MEMBER(1, - code, - 0, - 0); -} - /*************************************************************************** @@ -84,10 +72,10 @@ TILE_GET_INFO_MEMBER(nmk16_state::get_tile_info_0_8bit) ***************************************************************************/ -void nmk16_state::nmk16_video_init() +void nmk16_state::video_init() { - m_spriteram_old = make_unique_clear<uint16_t[]>(0x1000/2); - m_spriteram_old2 = make_unique_clear<uint16_t[]>(0x1000/2); + m_spriteram_old = make_unique_clear<u16[]>(0x1000/2); + m_spriteram_old2 = make_unique_clear<u16[]>(0x1000/2); m_videoshift = 0; /* 256x224 screen, no shift */ m_tilerambank = 0; @@ -105,18 +93,18 @@ void nmk16_state::nmk16_video_init() } -VIDEO_START_MEMBER(nmk16_state,bioship) +VIDEO_START_MEMBER(nmk16_state, bioship) { m_sprlimit = 384 * 263; // ROM Based Tilemap - m_bg_tilemap[0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(nmk16_state::bioship_get_bg_tile_info),this), tilemap_mapper_delegate(FUNC(nmk16_state::tilemap_scan_pages),this),16,16,256,32); - m_bg_tilemap[1] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(&nmk16_state::common_get_bg_tile_info<1, 1>, "bg1_gfx1",this), tilemap_mapper_delegate(FUNC(nmk16_state::tilemap_scan_pages),this),16,16,256,32); - m_tx_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(nmk16_state::common_get_tx_tile_info),this),TILEMAP_SCAN_COLS,8,8,32,32); + m_bg_tilemap[0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(nmk16_state::bioship_get_bg_tile_info), this), tilemap_mapper_delegate(FUNC(nmk16_state::tilemap_scan_pages), this), 16, 16, 256, 32); + m_bg_tilemap[1] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(&nmk16_state::common_get_bg_tile_info<1, 1>, "bg1_gfx1", this), tilemap_mapper_delegate(FUNC(nmk16_state::tilemap_scan_pages), this), 16, 16, 256, 32); + m_tx_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(nmk16_state::common_get_tx_tile_info), this),TILEMAP_SCAN_COLS, 8, 8, 32, 32); m_bg_tilemap[1]->set_transparent_pen(15); m_tx_tilemap->set_transparent_pen(15); - nmk16_video_init(); + video_init(); m_bioship_background_bank=0; save_item(NAME(m_bioship_background_bank)); } @@ -124,18 +112,18 @@ VIDEO_START_MEMBER(nmk16_state,bioship) VIDEO_START_MEMBER(nmk16_state,macross) { m_sprlimit = 384 * 263; - m_bg_tilemap[0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(&nmk16_state::common_get_bg_tile_info<0, 1>, "bg0_gfx1",this), tilemap_mapper_delegate(FUNC(nmk16_state::tilemap_scan_pages),this),16,16,256,32); - m_tx_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(nmk16_state::common_get_tx_tile_info),this),TILEMAP_SCAN_COLS,8,8,32,32); + m_bg_tilemap[0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(&nmk16_state::common_get_bg_tile_info<0, 1>, "bg0_gfx1", this), tilemap_mapper_delegate(FUNC(nmk16_state::tilemap_scan_pages), this), 16, 16, 256, 32); + m_tx_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(nmk16_state::common_get_tx_tile_info), this),TILEMAP_SCAN_COLS, 8, 8, 32, 32); m_tx_tilemap->set_transparent_pen(15); - nmk16_video_init(); + video_init(); } VIDEO_START_MEMBER(nmk16_state,strahl) { - VIDEO_START_CALL_MEMBER( macross ); - m_bg_tilemap[1] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(&nmk16_state::common_get_bg_tile_info<1, 3>, "bg1_gfx3",this), tilemap_mapper_delegate(FUNC(nmk16_state::tilemap_scan_pages),this),16,16,256,32); + VIDEO_START_CALL_MEMBER(macross); + m_bg_tilemap[1] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(&nmk16_state::common_get_bg_tile_info<1, 3>, "bg1_gfx3", this), tilemap_mapper_delegate(FUNC(nmk16_state::tilemap_scan_pages), this), 16, 16, 256, 32); m_bg_tilemap[1]->set_transparent_pen(15); m_sprdma_base = 0xf000; @@ -144,33 +132,33 @@ VIDEO_START_MEMBER(nmk16_state,strahl) VIDEO_START_MEMBER(nmk16_state,macross2) { m_sprlimit = 512 * 263; // not verified - m_bg_tilemap[0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(&nmk16_state::common_get_bg_tile_info<0, 1>, "bg0_gfx1",this), tilemap_mapper_delegate(FUNC(nmk16_state::tilemap_scan_pages),this),16,16,256,32); - m_tx_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(nmk16_state::common_get_tx_tile_info),this),TILEMAP_SCAN_COLS,8,8,64,32); + m_bg_tilemap[0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(&nmk16_state::common_get_bg_tile_info<0, 1>, "bg0_gfx1", this), tilemap_mapper_delegate(FUNC(nmk16_state::tilemap_scan_pages), this), 16, 16, 256, 32); + m_tx_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(nmk16_state::common_get_tx_tile_info), this),TILEMAP_SCAN_COLS, 8, 8, 64, 32); m_tx_tilemap->set_transparent_pen(15); - nmk16_video_init(); + video_init(); m_videoshift = 64; /* 384x224 screen, leftmost 64 pixels have to be retrieved */ /* from the other side of the tilemap (!) */ } VIDEO_START_MEMBER(nmk16_state,gunnail) { - VIDEO_START_CALL_MEMBER( macross2 ); + VIDEO_START_CALL_MEMBER(macross2); m_bg_tilemap[0]->set_scroll_rows(512); } -VIDEO_START_MEMBER(nmk16_state,bjtwin) +VIDEO_START_MEMBER(nmk16_state, bjtwin) { m_sprlimit = 512 * 263; // not verified - m_bg_tilemap[0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(nmk16_state::bjtwin_get_bg_tile_info),this),TILEMAP_SCAN_COLS,8,8,64,32); + m_bg_tilemap[0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(nmk16_state::bjtwin_get_bg_tile_info), this),TILEMAP_SCAN_COLS, 8, 8, 64, 32); - nmk16_video_init(); + video_init(); m_videoshift = 64; /* 384x224 screen, leftmost 64 pixels have to be retrieved */ /* from the other side of the tilemap (!) */ } -WRITE16_MEMBER(nmk16_state::mustang_scroll_w) +void nmk16_state::mustang_scroll_w(u16 data) { // osd_printf_debug("mustang %04x %04x %04x\n",offset,data,mem_mask); @@ -197,7 +185,7 @@ WRITE16_MEMBER(nmk16_state::mustang_scroll_w) m_bg_tilemap[0]->set_scrollx(0,m_mustang_bg_xscroll - m_videoshift); } -WRITE16_MEMBER(nmk16_state::vandyke_scroll_w) +void nmk16_state::vandyke_scroll_w(offs_t offset, u16 data) { m_vscroll[offset] = data; @@ -205,7 +193,7 @@ WRITE16_MEMBER(nmk16_state::vandyke_scroll_w) m_bg_tilemap[0]->set_scrolly(0,m_vscroll[2] * 256 + (m_vscroll[3] >> 8)); } -WRITE16_MEMBER(nmk16_state::vandykeb_scroll_w) +void nmk16_state::vandykeb_scroll_w(offs_t offset, u16 data, u16 mem_mask) { switch (offset) { @@ -219,7 +207,7 @@ WRITE16_MEMBER(nmk16_state::vandykeb_scroll_w) m_bg_tilemap[0]->set_scrolly(0,m_vscroll[2] * 256 + (m_vscroll[3] >> 8)); } -WRITE16_MEMBER(nmk16_state::manybloc_scroll_w) +void nmk16_state::manybloc_scroll_w(offs_t offset, u16 data, u16 mem_mask) { COMBINE_DATA(&m_gunnail_scrollram[offset]); @@ -227,12 +215,12 @@ WRITE16_MEMBER(nmk16_state::manybloc_scroll_w) m_bg_tilemap[0]->set_scrolly(0,m_gunnail_scrollram[0xc2/2]); } -WRITE8_MEMBER(nmk16_state::nmk_flipscreen_w) +void nmk16_state::flipscreen_w(u8 data) { flip_screen_set(data & 0x01); } -WRITE8_MEMBER(nmk16_state::nmk_tilebank_w) +void nmk16_state::tilebank_w(u8 data) { if (m_bgbank != data) { @@ -243,20 +231,25 @@ WRITE8_MEMBER(nmk16_state::nmk_tilebank_w) } } -WRITE16_MEMBER(nmk16_state::raphero_scroll_w) +void nmk16_state::raphero_scroll_w(offs_t offset, u16 data, u16 mem_mask) { COMBINE_DATA(&m_gunnail_scrollram[offset]); - if ((m_nmk_bgvideoram[0].bytes() > 0x4000) && (offset == 0)) + if ((m_bgvideoram[0].bytes() > 0x4000) && (offset == 0)) { - int newbank = (m_gunnail_scrollram[0] >> 12) & ((m_nmk_bgvideoram[0].bytes() >> 14)-1); + int newbank = (m_gunnail_scrollram[0] >> 12) & ((m_bgvideoram[0].bytes() >> 14) - 1); if (m_tilerambank != newbank) { m_tilerambank = newbank; + for (int layer = 0; layer < 2; layer++) + { + if (m_bg_tilemap[layer]) + m_bg_tilemap[layer]->mark_all_dirty(); + } } } } -WRITE8_MEMBER(nmk16_state::bioship_bank_w) +void nmk16_state::bioship_bank_w(u8 data) { if (m_bioship_background_bank != data) { @@ -272,21 +265,19 @@ WRITE8_MEMBER(nmk16_state::bioship_bank_w) ***************************************************************************/ - // manybloc uses extra flip bits on the sprites, but these break other games -inline void nmk16_state::nmk16_draw_sprite(bitmap_ind16 &bitmap, const rectangle &cliprect, uint16_t *spr) +inline void nmk16_state::draw_sprite(bitmap_ind16 &bitmap, const rectangle &cliprect, u16 *spr) { - if(!(spr[0] & 0x0001)) + if (!(spr[0] & 0x0001)) return; - int sx = (spr[4] & 0x1ff) + m_videoshift; - int sy = spr[6] & 0x1ff; - int code = spr[3]; - int color = spr[7]; - int w = spr[1] & 0x00f; - int h = (spr[1] & 0x0f0) >> 4; - int xx,yy,x; + int sx = (spr[4] & 0x1ff) + m_videoshift; + int sy = spr[6] & 0x1ff; + int code = spr[3]; + const u16 color = spr[7]; + const int w = spr[1] & 0x00f; + const int h = (spr[1] & 0x0f0) >> 4; int delta = 16; if (flip_screen()) @@ -296,18 +287,18 @@ inline void nmk16_state::nmk16_draw_sprite(bitmap_ind16 &bitmap, const rectangle delta = -16; } - yy = h; + int yy = h; do { - x = sx; - xx = w; + int x = sx; + int xx = w; do { - m_gfxdecode->gfx(2)->transpen(bitmap,cliprect, + m_gfxdecode->gfx(2)->transpen(bitmap, cliprect, code, color, flip_screen(), flip_screen(), - ((x + 16) & 0x1ff) - 16,sy & 0x1ff,15); + ((x + 16) & 0x1ff) - 16,sy & 0x1ff, 15); m_sprclk += 128; // 128 clock per each 16x16 tile if (m_sprclk >= m_sprlimit) return; @@ -320,21 +311,20 @@ inline void nmk16_state::nmk16_draw_sprite(bitmap_ind16 &bitmap, const rectangle } while (--yy >= 0); } -inline void nmk16_state::nmk16_draw_sprite_flipsupported(bitmap_ind16 &bitmap, const rectangle &cliprect, uint16_t *spr) +inline void nmk16_state::draw_sprite_flipsupported(bitmap_ind16 &bitmap, const rectangle &cliprect, u16 *spr) { - if(!(spr[0] & 0x0001)) + if (!(spr[0] & 0x0001)) return; - int sx = (spr[4] & 0x1ff) + m_videoshift; - int sy = spr[6] & 0x1ff; - int code = spr[3]; - int color = spr[7]; - int w = spr[1] & 0x00f; - int h = (spr[1] & 0x0f0) >> 4; - int flipy = (spr[1] & 0x200) >> 9; - int flipx = (spr[1] & 0x100) >> 8; + int sx = (spr[4] & 0x1ff) + m_videoshift; + int sy = spr[6] & 0x1ff; + int code = spr[3]; + const u16 color = spr[7]; + const int w = spr[1] & 0x00f; + const int h = (spr[1] & 0x0f0) >> 4; + int flipy = (spr[1] & 0x200) >> 9; + int flipx = (spr[1] & 0x100) >> 8; - int xx,yy,x; int delta = 16; flipx ^= flip_screen(); @@ -347,19 +337,19 @@ inline void nmk16_state::nmk16_draw_sprite_flipsupported(bitmap_ind16 &bitmap, c delta = -16; } - yy = h; - sy += flipy ? (delta*h) : 0; + int yy = h; + sy += flipy ? (delta * h) : 0; do { - x = sx + (flipx ? (delta*w) : 0); - xx = w; + int x = sx + (flipx ? (delta * w) : 0); + int xx = w; do { - m_gfxdecode->gfx(2)->transpen(bitmap,cliprect, + m_gfxdecode->gfx(2)->transpen(bitmap, cliprect, code, color, flipx, flipy, - ((x + 16) & 0x1ff) - 16,sy & 0x1ff,15); + ((x + 16) & 0x1ff) - 16,sy & 0x1ff, 15); m_sprclk += 128; // 128 clock per each 16x16 tile if (m_sprclk >= m_sprlimit) return; @@ -371,65 +361,31 @@ inline void nmk16_state::nmk16_draw_sprite_flipsupported(bitmap_ind16 &bitmap, c } while (--yy >= 0); } -void nmk16_state::nmk16_draw_sprites_swap(bitmap_ind16 &bitmap, const rectangle &cliprect, int *bittbl) -{ - m_sprclk = 0; - int i; - - for (i = 0; i < 0x100; i++) - { - m_sprclk += 16; // 16 clock per each reading - if (m_sprclk >= m_sprlimit) - return; - - int spr = bitswap<8>(i, bittbl[0], bittbl[1], bittbl[2], bittbl[3], bittbl[4], bittbl[5], bittbl[6], bittbl[7]); - nmk16_draw_sprite(bitmap, cliprect, m_spriteram_old2.get() + (spr * 16/2)); - } -} - -void nmk16_state::nmk16_draw_sprites_swap_flipsupported(bitmap_ind16 &bitmap, const rectangle &cliprect, int *bittbl) +void nmk16_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect) { m_sprclk = 0; - int i; - for ( i = 0; i < 0x100; i++ ) + for (int offs = 0; offs < 0x1000/2; offs += 8) { m_sprclk += 16; // 16 clock per each reading if (m_sprclk >= m_sprlimit) return; - int spr = bitswap<8>(i, bittbl[0], bittbl[1], bittbl[2], bittbl[3], bittbl[4], bittbl[5], bittbl[6], bittbl[7]); - nmk16_draw_sprite_flipsupported(bitmap, cliprect, m_spriteram_old2.get() + (spr * 16/2)); + draw_sprite(bitmap, cliprect, m_spriteram_old2.get() + offs); } } -void nmk16_state::nmk16_draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect) +void nmk16_state::draw_sprites_flipsupported(bitmap_ind16 &bitmap, const rectangle &cliprect) { m_sprclk = 0; - int offs; - for (offs = 0; offs < 0x1000/2; offs += 8) + for (int offs = 0; offs < 0x1000/2; offs += 8) { m_sprclk += 16; // 16 clock per each reading if (m_sprclk >= m_sprlimit) return; - nmk16_draw_sprite(bitmap, cliprect, m_spriteram_old2.get() + offs); - } -} - -void nmk16_state::nmk16_draw_sprites_flipsupported(bitmap_ind16 &bitmap, const rectangle &cliprect) -{ - m_sprclk = 0; - int offs; - - for (offs = 0; offs < 0x1000/2; offs += 8) - { - m_sprclk += 16; // 16 clock per each reading - if (m_sprclk >= m_sprlimit) - return; - - nmk16_draw_sprite_flipsupported(bitmap, cliprect, m_spriteram_old2.get() + offs); + draw_sprite_flipsupported(bitmap, cliprect, m_spriteram_old2.get() + offs); } } @@ -441,19 +397,18 @@ void nmk16_state::nmk16_draw_sprites_flipsupported(bitmap_ind16 &bitmap, const r ***************************************************************************/ -void nmk16_state::nmk16_bg_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int layer) +void nmk16_state::bg_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int layer) { if (m_gunnail_scrollram && m_gunnail_scrollramy) { // the hardware supports per-scanline X *and* Y scroll which isn't // supported by tilemaps so we have to draw the tilemap one line at a time - int i=16; - int y1; + int i = 16; rectangle bgclip = cliprect; - y1 = cliprect.min_y; + int y1 = cliprect.min_y; while (y1 <= cliprect.max_y) { - int const yscroll = m_gunnail_scrollramy[0] + m_gunnail_scrollramy[y1]; + const int yscroll = m_gunnail_scrollramy[0] + m_gunnail_scrollramy[y1]; bgclip.min_y = y1; bgclip.max_y = y1; @@ -463,7 +418,7 @@ void nmk16_state::nmk16_bg_update(screen_device &screen, bitmap_ind16 &bitmap, c m_bg_tilemap[layer]->set_scrolly(0, yscroll); m_bg_tilemap[layer]->set_scrollx((i + yscroll) & 0x1ff, m_gunnail_scrollram[0] + m_gunnail_scrollram[i] - m_videoshift); - m_bg_tilemap[layer]->draw(screen, bitmap, bgclip, 0,0); + m_bg_tilemap[layer]->draw(screen, bitmap, bgclip, 0, 0); y1++; i++; @@ -471,14 +426,14 @@ void nmk16_state::nmk16_bg_update(screen_device &screen, bitmap_ind16 &bitmap, c } else { - m_bg_tilemap[layer]->draw(screen, bitmap, cliprect, 0,0); + m_bg_tilemap[layer]->draw(screen, bitmap, cliprect, 0, 0); } } -void nmk16_state::nmk16_tx_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) +void nmk16_state::tx_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { m_tx_tilemap->set_scrollx(0,-m_videoshift); - m_tx_tilemap->draw(screen, bitmap, cliprect, 0,0); + m_tx_tilemap->draw(screen, bitmap, cliprect, 0, 0); } /*************************************************************************** @@ -489,62 +444,50 @@ void nmk16_state::nmk16_tx_update(screen_device &screen, bitmap_ind16 &bitmap, c ***************************************************************************/ -uint32_t nmk16_state::screen_update_macross(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) +u32 nmk16_state::screen_update_macross(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { - nmk16_bg_update(screen,bitmap,cliprect,0); - nmk16_draw_sprites(bitmap,cliprect); - nmk16_tx_update(screen,bitmap,cliprect); + bg_update(screen, bitmap, cliprect, 0); + draw_sprites(bitmap, cliprect); + tx_update(screen, bitmap, cliprect); return 0; } -uint32_t nmk16_state::screen_update_manybloc(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) +u32 nmk16_state::screen_update_manybloc(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { - nmk16_bg_update(screen,bitmap,cliprect,0); - nmk16_draw_sprites_flipsupported(bitmap,cliprect); - nmk16_tx_update(screen,bitmap,cliprect); + bg_update(screen, bitmap, cliprect, 0); + draw_sprites_flipsupported(bitmap, cliprect); + tx_update(screen, bitmap, cliprect); return 0; } -uint32_t nmk16_state::screen_update_tharrier(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) +u32 nmk16_state::screen_update_tharrier(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { /* I think the protection device probably copies this to the regs... */ - uint16_t tharrier_scroll = m_mainram[0x9f00/2]; + u16 tharrier_scroll = m_mainram[0x9f00/2]; - m_bg_tilemap[0]->set_scrollx(0,tharrier_scroll); + m_bg_tilemap[0]->set_scrollx(0, tharrier_scroll); - nmk16_bg_update(screen,bitmap,cliprect,0); - nmk16_draw_sprites_flipsupported(bitmap,cliprect); - nmk16_tx_update(screen,bitmap,cliprect); + bg_update(screen, bitmap, cliprect, 0); + draw_sprites_flipsupported(bitmap, cliprect); + tx_update(screen, bitmap, cliprect); return 0; } -uint32_t nmk16_state::screen_update_tdragon2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) +u32 nmk16_state::screen_update_strahl(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { - static int bittbl[8] = { - 4, 6, 5, 7, 3, 2, 1, 0 - }; - - nmk16_bg_update(screen,bitmap,cliprect,0); - nmk16_draw_sprites_swap(bitmap,cliprect, bittbl); - nmk16_tx_update(screen,bitmap,cliprect); - return 0; -} - -uint32_t nmk16_state::screen_update_strahl(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) -{ - nmk16_bg_update(screen,bitmap,cliprect,0); - nmk16_bg_update(screen,bitmap,cliprect,1); - nmk16_draw_sprites(bitmap,cliprect); - nmk16_tx_update(screen,bitmap,cliprect); + bg_update(screen, bitmap, cliprect, 0); + bg_update(screen, bitmap, cliprect, 1); + draw_sprites(bitmap, cliprect); + tx_update(screen, bitmap, cliprect); return 0; } -uint32_t nmk16_state::screen_update_bjtwin(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) +u32 nmk16_state::screen_update_bjtwin(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { m_bg_tilemap[0]->set_scrollx(0,-m_videoshift); - nmk16_bg_update(screen,bitmap,cliprect,0); - nmk16_draw_sprites(bitmap,cliprect); + bg_update(screen, bitmap, cliprect, 0); + draw_sprites(bitmap, cliprect); return 0; } @@ -557,51 +500,67 @@ uint32_t nmk16_state::screen_update_bjtwin(screen_device &screen, bitmap_ind16 & ***************************************************************************/ -VIDEO_START_MEMBER(nmk16_state,afega) +TILE_GET_INFO_MEMBER(afega_state::get_bg_tile_info_4bit) +{ + const u16 code = m_bgvideoram[0][tile_index]; + SET_TILE_INFO_MEMBER(1, code & 0xfff, code >> 12, 0); +} + +TILE_GET_INFO_MEMBER(afega_state::get_bg_tile_info_8bit) +{ + const u16 code = m_bgvideoram[0][tile_index]; + SET_TILE_INFO_MEMBER(1, code, 0, 0); +} + +VIDEO_START_MEMBER(afega_state,afega) { m_sprlimit = 384 * 263; - m_spriteram_old = make_unique_clear<uint16_t[]>(0x1000/2); - m_spriteram_old2 = make_unique_clear<uint16_t[]>(0x1000/2); + m_sprclk = 0; + m_spriteram_old = make_unique_clear<u16[]>(0x1000/2); + m_spriteram_old2 = make_unique_clear<u16[]>(0x1000/2); m_bg_tilemap[0] = &machine().tilemap().create( *m_gfxdecode, - tilemap_get_info_delegate(&nmk16_state::common_get_bg_tile_info<0, 1>, "bg0_gfx1",this), - tilemap_mapper_delegate(FUNC(nmk16_state::tilemap_scan_pages),this), - 16,16, 256,32); + tilemap_get_info_delegate(FUNC(afega_state::get_bg_tile_info_4bit), this), + tilemap_mapper_delegate(FUNC(afega_state::tilemap_scan_pages), this), + 16, 16, 256, 32); m_tx_tilemap = &machine().tilemap().create( *m_gfxdecode, - tilemap_get_info_delegate(FUNC(nmk16_state::common_get_tx_tile_info),this), + tilemap_get_info_delegate(FUNC(afega_state::common_get_tx_tile_info), this), TILEMAP_SCAN_COLS, - 8,8, 32,32); + 8, 8, 32, 32); m_tx_tilemap->set_transparent_pen(0xf); save_pointer(NAME(m_spriteram_old), 0x1000/2); save_pointer(NAME(m_spriteram_old2), 0x1000/2); + save_item(NAME(m_sprclk)); } -VIDEO_START_MEMBER(nmk16_state,grdnstrm) +VIDEO_START_MEMBER(afega_state,grdnstrm) { m_sprlimit = 384 * 263; - m_spriteram_old = make_unique_clear<uint16_t[]>(0x1000/2); - m_spriteram_old2 = make_unique_clear<uint16_t[]>(0x1000/2); + m_sprclk = 0; + m_spriteram_old = make_unique_clear<u16[]>(0x1000/2); + m_spriteram_old2 = make_unique_clear<u16[]>(0x1000/2); m_bg_tilemap[0] = &machine().tilemap().create( *m_gfxdecode, - tilemap_get_info_delegate(FUNC(nmk16_state::get_tile_info_0_8bit),this), - tilemap_mapper_delegate(FUNC(nmk16_state::tilemap_scan_pages),this), - 16,16, 256,32); + tilemap_get_info_delegate(FUNC(afega_state::get_bg_tile_info_8bit), this), + tilemap_mapper_delegate(FUNC(afega_state::tilemap_scan_pages), this), + 16, 16, 256, 32); m_tx_tilemap = &machine().tilemap().create( *m_gfxdecode, - tilemap_get_info_delegate(FUNC(nmk16_state::common_get_tx_tile_info),this), + tilemap_get_info_delegate(FUNC(afega_state::common_get_tx_tile_info), this), TILEMAP_SCAN_COLS, - 8,8, 32,32); + 8, 8, 32, 32); m_tx_tilemap->set_transparent_pen(0xf); save_pointer(NAME(m_spriteram_old), 0x1000/2); save_pointer(NAME(m_spriteram_old2), 0x1000/2); + save_item(NAME(m_sprclk)); } @@ -613,7 +572,7 @@ VIDEO_START_MEMBER(nmk16_state,grdnstrm) ***************************************************************************/ -void nmk16_state::video_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, +void afega_state::video_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int dsw_flipscreen, // 1 = Horizontal and vertical screen flip are hardwired to 2 dip switches int xoffset, int yoffset, // bg_tilemap0 offsets int attr_mask // "sprite active" mask @@ -621,49 +580,47 @@ void nmk16_state::video_update(screen_device &screen, bitmap_ind16 &bitmap, cons { if (dsw_flipscreen) { - flip_screen_x_set(~ioport("DSW1")->read() & 0x0100); - flip_screen_y_set(~ioport("DSW1")->read() & 0x0200); + flip_screen_x_set(~m_dsw_io[0]->read() & 0x0100); + flip_screen_y_set(~m_dsw_io[0]->read() & 0x0200); } - m_bg_tilemap[0]->set_scrollx(0, m_afega_scroll[0][1] + xoffset); m_bg_tilemap[0]->set_scrolly(0, m_afega_scroll[0][0] + yoffset); m_tx_tilemap->set_scrollx(0, m_afega_scroll[1][1]); m_tx_tilemap->set_scrolly(0, m_afega_scroll[1][0]); + m_bg_tilemap[0]->draw(screen, bitmap, cliprect, 0, 0); - m_bg_tilemap[0]->draw(screen, bitmap, cliprect, 0,0); - - nmk16_draw_sprites_flipsupported(bitmap,cliprect); + draw_sprites_flipsupported(bitmap, cliprect); - m_tx_tilemap->draw(screen, bitmap, cliprect, 0,0); + m_tx_tilemap->draw(screen, bitmap, cliprect, 0, 0); } -void nmk16_state::redhawki_video_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect ) +void afega_state::redhawki_video_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { m_bg_tilemap[0]->set_scrollx(0, m_afega_scroll[1][0]&0xff); m_bg_tilemap[0]->set_scrolly(0, m_afega_scroll[1][1]&0xff); - m_bg_tilemap[0]->draw(screen, bitmap, cliprect, 0,0); + m_bg_tilemap[0]->draw(screen, bitmap, cliprect, 0, 0); - nmk16_draw_sprites_flipsupported(bitmap,cliprect); + draw_sprites_flipsupported(bitmap, cliprect); } -uint32_t nmk16_state::screen_update_afega(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { video_update(screen,bitmap,cliprect, 1, -0x100,+0x000, 0x0001); return 0; } -uint32_t nmk16_state::screen_update_bubl2000(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect){ video_update(screen,bitmap,cliprect, 0, -0x100,+0x000, 0x0001); return 0; } // no flipscreen support, I really would confirmation from the schematics -uint32_t nmk16_state::screen_update_redhawkb(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect){ video_update(screen,bitmap,cliprect, 0, +0x000,+0x100, 0x0001); return 0; } -uint32_t nmk16_state::screen_update_redhawki(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect){ redhawki_video_update(screen,bitmap,cliprect); return 0;} // strange scroll regs +u32 afega_state::screen_update_afega(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { video_update(screen, bitmap, cliprect, 1, -0x100, +0x000, 0x0001); return 0; } +u32 afega_state::screen_update_bubl2000(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect){ video_update(screen, bitmap, cliprect, 0, -0x100, +0x000, 0x0001); return 0; } // no flipscreen support, I really would confirmation from the schematics +u32 afega_state::screen_update_redhawkb(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect){ video_update(screen, bitmap, cliprect, 0, +0x000, +0x100, 0x0001); return 0; } +u32 afega_state::screen_update_redhawki(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect){ redhawki_video_update(screen, bitmap, cliprect); return 0;} // strange scroll regs -uint32_t nmk16_state::screen_update_firehawk(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) +u32 afega_state::screen_update_firehawk(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { m_bg_tilemap[0]->set_scrolly(0, m_afega_scroll[1][1] + 0x100); m_bg_tilemap[0]->set_scrollx(0, m_afega_scroll[0][1] - 0x100); - m_bg_tilemap[0]->draw(screen, bitmap, cliprect, 0,0); + m_bg_tilemap[0]->draw(screen, bitmap, cliprect, 0, 0); - nmk16_draw_sprites_flipsupported(bitmap,cliprect); + draw_sprites_flipsupported(bitmap, cliprect); - m_tx_tilemap->draw(screen, bitmap, cliprect, 0,0); + m_tx_tilemap->draw(screen, bitmap, cliprect, 0, 0); return 0; } diff --git a/src/osd/modules/render/bgfxutil.cpp b/src/osd/modules/render/bgfxutil.cpp index cbf2428d61f..5ba76cbd2a1 100644 --- a/src/osd/modules/render/bgfxutil.cpp +++ b/src/osd/modules/render/bgfxutil.cpp @@ -31,9 +31,6 @@ const bgfx::Memory* bgfx_util::mame_texture_data_to_bgfx_texture_data(uint32_t f case PRIMFLAG_TEXFORMAT(TEXFORMAT_PALETTE16): copy_util::copyline_palette16(dst_line, src_line16, width, palette); break; - case PRIMFLAG_TEXFORMAT(TEXFORMAT_PALETTEA16): - copy_util::copyline_palettea16(dst_line, src_line16, width, palette); - break; case PRIMFLAG_TEXFORMAT(TEXFORMAT_YUY16): copy_util::copyline_yuy16_to_argb(dst_line, src_line16, width, palette, 1); break; diff --git a/src/osd/modules/render/copyutil.h b/src/osd/modules/render/copyutil.h index 81a880555cd..715fcba0dca 100644 --- a/src/osd/modules/render/copyutil.h +++ b/src/osd/modules/render/copyutil.h @@ -24,15 +24,6 @@ public: } } - static inline void copyline_palettea16(uint32_t *dst, const uint16_t *src, int width, const rgb_t *palette) - { - for (int x = 0; x < width; x++) - { - rgb_t srcpixel = palette[*src++]; - *dst++ = (srcpixel.a() << 24) | (srcpixel.b() << 16) | (srcpixel.g() << 8) | srcpixel.r(); - } - } - static inline void copyline_rgb32(uint32_t *dst, const uint32_t *src, int width, const rgb_t *palette) { int x; diff --git a/src/osd/modules/render/d3d/d3dcomm.h b/src/osd/modules/render/d3d/d3dcomm.h index 95dcac48ca7..d576c5e7d0c 100644 --- a/src/osd/modules/render/d3d/d3dcomm.h +++ b/src/osd/modules/render/d3d/d3dcomm.h @@ -144,7 +144,6 @@ private: void compute_size_subroutine(int texwidth, int texheight, int* p_width, int* p_height); inline void copyline_palette16(uint32_t *dst, const uint16_t *src, int width, const rgb_t *palette, int xborderpix); - inline void copyline_palettea16(uint32_t *dst, const uint16_t *src, int width, const rgb_t *palette, int xborderpix); inline void copyline_rgb32(uint32_t *dst, const uint32_t *src, int width, const rgb_t *palette, int xborderpix); inline void copyline_argb32(uint32_t *dst, const uint32_t *src, int width, const rgb_t *palette, int xborderpix); inline void copyline_yuy16_to_yuy2(uint16_t *dst, const uint16_t *src, int width, const rgb_t *palette); diff --git a/src/osd/modules/render/draw13.cpp b/src/osd/modules/render/draw13.cpp index 9282c35e9b4..f99ebf70601 100644 --- a/src/osd/modules/render/draw13.cpp +++ b/src/osd/modules/render/draw13.cpp @@ -705,9 +705,6 @@ texture_info::texture_info(renderer_sdl2 *renderer, const render_texinfo &texsou case TEXFORMAT_PALETTE16: m_format = SDL_TEXFORMAT_PALETTE16; break; - case TEXFORMAT_PALETTEA16: - m_format = SDL_TEXFORMAT_PALETTE16A; - break; case TEXFORMAT_YUY16: m_format = texsource.palette ? SDL_TEXFORMAT_YUY16_PALETTED : SDL_TEXFORMAT_YUY16; break; diff --git a/src/osd/modules/render/drawd3d.cpp b/src/osd/modules/render/drawd3d.cpp index dceac6ef412..fd1331c47eb 100644 --- a/src/osd/modules/render/drawd3d.cpp +++ b/src/osd/modules/render/drawd3d.cpp @@ -2011,7 +2011,7 @@ texture_info::texture_info(d3d_texture_manager *manager, const render_texinfo* t { format = m_texture_manager->get_yuv_format(); } - else if (PRIMFLAG_GET_TEXFORMAT(flags) == TEXFORMAT_ARGB32 || PRIMFLAG_GET_TEXFORMAT(flags) == TEXFORMAT_PALETTEA16) + else if (PRIMFLAG_GET_TEXFORMAT(flags) == TEXFORMAT_ARGB32) { format = D3DFMT_A8R8G8B8; } @@ -2230,21 +2230,6 @@ inline void texture_info::copyline_palette16(uint32_t *dst, const uint16_t *src, //============================================================ -// copyline_palettea16 -//============================================================ - -inline void texture_info::copyline_palettea16(uint32_t *dst, const uint16_t *src, int width, const rgb_t *palette, int xborderpix) -{ - if (xborderpix) - *dst++ = palette[*src]; - for (int x = 0; x < width; x++) - *dst++ = palette[*src++]; - if (xborderpix) - *dst++ = palette[*--src]; -} - - -//============================================================ // copyline_rgb32 //============================================================ @@ -2457,10 +2442,6 @@ void texture_info::set_data(const render_texinfo *texsource, uint32_t flags) copyline_palette16((uint32_t *)dst, (uint16_t *)texsource->base + srcy * texsource->rowpixels, texsource->width, texsource->palette, m_xborderpix); break; - case TEXFORMAT_PALETTEA16: - copyline_palettea16((uint32_t *)dst, (uint16_t *)texsource->base + srcy * texsource->rowpixels, texsource->width, texsource->palette, m_xborderpix); - break; - case TEXFORMAT_RGB32: copyline_rgb32((uint32_t *)dst, (uint32_t *)texsource->base + srcy * texsource->rowpixels, texsource->width, texsource->palette, m_xborderpix); break; diff --git a/src/osd/modules/render/drawogl.cpp b/src/osd/modules/render/drawogl.cpp index 95345878cfd..6c1cb405316 100644 --- a/src/osd/modules/render/drawogl.cpp +++ b/src/osd/modules/render/drawogl.cpp @@ -1908,9 +1908,6 @@ ogl_texture_info *renderer_ogl::texture_create(const render_texinfo *texsource, case TEXFORMAT_PALETTE16: texture->format = SDL_TEXFORMAT_PALETTE16; break; - case TEXFORMAT_PALETTEA16: - texture->format = SDL_TEXFORMAT_PALETTE16A; - break; case TEXFORMAT_YUY16: if (texsource->palette != nullptr) texture->format = SDL_TEXFORMAT_YUY16_PALETTED; @@ -2067,30 +2064,6 @@ static inline void copyline_palette16(uint32_t *dst, const uint16_t *src, int wi //============================================================ -// copyline_palettea16 -//============================================================ - -static inline void copyline_palettea16(uint32_t *dst, const uint16_t *src, int width, const rgb_t *palette, int xborderpix, int xprescale) -{ - int x; - - assert(xborderpix == 0 || xborderpix == 1); - if (xborderpix) - *dst++ = palette[*src]; - for (x = 0; x < width; x++) - { - int srcpix = *src++; - uint32_t dstval = palette[srcpix]; - for (int x2 = 0; x2 < xprescale; x2++) - *dst++ = dstval; - } - if (xborderpix) - *dst++ = palette[*--src]; -} - - - -//============================================================ // copyline_rgb32 //============================================================ @@ -2359,10 +2332,6 @@ static void texture_set_data(ogl_texture_info *texture, const render_texinfo *te copyline_palette16((uint32_t *)dst, (uint16_t *)texsource->base + y * texsource->rowpixels, texsource->width, texsource->palette, texture->borderpix, texture->xprescale); break; - case TEXFORMAT_PALETTEA16: - copyline_palettea16((uint32_t *)dst, (uint16_t *)texsource->base + y * texsource->rowpixels, texsource->width, texsource->palette, texture->borderpix, texture->xprescale); - break; - case TEXFORMAT_RGB32: copyline_rgb32((uint32_t *)dst, (uint32_t *)texsource->base + y * texsource->rowpixels, texsource->width, texsource->palette, texture->borderpix, texture->xprescale); break; |