mirror of
https://github.com/holub/mame
synced 2025-10-04 16:34:53 +03:00
New working machine added
---------------- Intellect-02 [hap, Alex_LG]
This commit is contained in:
parent
c9b72d50f9
commit
1d866d3203
19
hash/intellect02.xml
Normal file
19
hash/intellect02.xml
Normal file
@ -0,0 +1,19 @@
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
|
||||
|
||||
<softwarelist name="intellect02" description="Intellect-02 Cartridges">
|
||||
|
||||
<!-- Intellect-02 Cartridges -->
|
||||
|
||||
<software name="chess">
|
||||
<description>Chess</description>
|
||||
<year>1983</year>
|
||||
<publisher>BREA Research Institute</publisher>
|
||||
<part name="cart" interface="intellect02">
|
||||
<dataarea name="rom" size="0x2000">
|
||||
<rom name="chess.bin" size="0x2000" crc="81691aac" sha1="2f358fd8f1f1b0d886a728155a01ce61f0d6c39b" offset="0x0000" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
</softwarelist>
|
@ -3858,6 +3858,7 @@ files {
|
||||
MAME_DIR .. "src/mame/drivers/ikt5a.cpp",
|
||||
MAME_DIR .. "src/mame/drivers/imsai.cpp",
|
||||
MAME_DIR .. "src/mame/drivers/indiana.cpp",
|
||||
MAME_DIR .. "src/mame/drivers/intellect02.cpp",
|
||||
MAME_DIR .. "src/mame/drivers/is48x.cpp",
|
||||
MAME_DIR .. "src/mame/drivers/itt1700.cpp",
|
||||
MAME_DIR .. "src/mame/machine/itt1700_kbd.cpp",
|
||||
|
@ -223,9 +223,9 @@ void arb_state::arb(machine_config &config)
|
||||
VOLTAGE_REGULATOR(config, "vref").add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT);
|
||||
|
||||
/* cartridge */
|
||||
generic_cartslot_device &cartslot(GENERIC_CARTSLOT(config, "cartslot", generic_plain_slot, "arb", "bin"));
|
||||
cartslot.set_device_load(device_image_load_delegate(&arb_state::device_image_load_cartridge, this));
|
||||
cartslot.set_must_be_loaded(true);
|
||||
GENERIC_CARTSLOT(config, m_cart, generic_plain_slot, "arb", "bin");
|
||||
m_cart->set_device_load(device_image_load_delegate(&arb_state::device_image_load_cartridge, this));
|
||||
m_cart->set_must_be_loaded(true);
|
||||
|
||||
SOFTWARE_LIST(config, "cart_list").set_original("arb");
|
||||
}
|
||||
|
@ -161,8 +161,8 @@ void as12_state::as12(machine_config &config)
|
||||
VOLTAGE_REGULATOR(config, "vref").add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT);
|
||||
|
||||
/* cartridge */
|
||||
generic_cartslot_device &cartslot(GENERIC_CARTSLOT(config, "cartslot", generic_plain_slot, "fidel_scc", "bin,dat"));
|
||||
cartslot.set_device_load(device_image_load_delegate(&as12_state::device_image_load_scc_cartridge, this));
|
||||
GENERIC_CARTSLOT(config, m_cart, generic_plain_slot, "fidel_scc", "bin,dat");
|
||||
m_cart->set_device_load(device_image_load_delegate(&as12_state::device_image_load_scc_cartridge, this));
|
||||
|
||||
SOFTWARE_LIST(config, "cart_list").set_original("fidel_scc");
|
||||
}
|
||||
|
@ -493,8 +493,8 @@ void eag_state::eag_base(machine_config &config)
|
||||
VOLTAGE_REGULATOR(config, "vref").add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT);
|
||||
|
||||
/* cartridge */
|
||||
generic_cartslot_device &cartslot(GENERIC_CARTSLOT(config, "cartslot", generic_plain_slot, "fidel_scc", "bin,dat"));
|
||||
cartslot.set_device_load(device_image_load_delegate(&eag_state::device_image_load_scc_cartridge, this));
|
||||
GENERIC_CARTSLOT(config, m_cart, generic_plain_slot, "fidel_scc", "bin,dat");
|
||||
m_cart->set_device_load(device_image_load_delegate(&eag_state::device_image_load_scc_cartridge, this));
|
||||
|
||||
SOFTWARE_LIST(config, "cart_list").set_original("fidel_scc");
|
||||
}
|
||||
|
@ -331,8 +331,8 @@ void elite_state::eas_base(machine_config &config)
|
||||
VOLTAGE_REGULATOR(config, "vref").add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT);
|
||||
|
||||
/* cartridge */
|
||||
generic_cartslot_device &cartslot(GENERIC_CARTSLOT(config, "cartslot", generic_plain_slot, "fidel_scc", "bin,dat"));
|
||||
cartslot.set_device_load(device_image_load_delegate(&elite_state::device_image_load_scc_cartridge, this));
|
||||
GENERIC_CARTSLOT(config, m_cart, generic_plain_slot, "fidel_scc", "bin,dat");
|
||||
m_cart->set_device_load(device_image_load_delegate(&elite_state::device_image_load_scc_cartridge, this));
|
||||
|
||||
SOFTWARE_LIST(config, "cart_list").set_original("fidel_scc");
|
||||
}
|
||||
|
@ -190,8 +190,8 @@ void sc12_state::sc12(machine_config &config)
|
||||
VOLTAGE_REGULATOR(config, "vref").add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT);
|
||||
|
||||
/* cartridge */
|
||||
generic_cartslot_device &cartslot(GENERIC_CARTSLOT(config, "cartslot", generic_plain_slot, "fidel_scc", "bin,dat"));
|
||||
cartslot.set_device_load(device_image_load_delegate(&sc12_state::device_image_load_scc_cartridge, this));
|
||||
GENERIC_CARTSLOT(config, m_cart, generic_plain_slot, "fidel_scc", "bin,dat");
|
||||
m_cart->set_device_load(device_image_load_delegate(&sc12_state::device_image_load_scc_cartridge, this));
|
||||
|
||||
SOFTWARE_LIST(config, "cart_list").set_original("fidel_scc");
|
||||
}
|
||||
|
@ -194,9 +194,9 @@ void sc6_state::sc6(machine_config &config)
|
||||
VOLTAGE_REGULATOR(config, "vref").add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT);
|
||||
|
||||
/* cartridge */
|
||||
generic_cartslot_device &cartslot(GENERIC_CARTSLOT(config, "cartslot", generic_plain_slot, "fidel_sc6", "bin"));
|
||||
cartslot.set_device_load(device_image_load_delegate(&sc6_state::device_image_load_cartridge, this));
|
||||
cartslot.set_must_be_loaded(true);
|
||||
GENERIC_CARTSLOT(config, m_cart, generic_plain_slot, "fidel_sc6", "bin");
|
||||
m_cart->set_device_load(device_image_load_delegate(&sc6_state::device_image_load_cartridge, this));
|
||||
m_cart->set_must_be_loaded(true);
|
||||
|
||||
SOFTWARE_LIST(config, "cart_list").set_original("fidel_sc6");
|
||||
}
|
||||
|
@ -226,8 +226,8 @@ void sc9_state::sc9d(machine_config &config)
|
||||
VOLTAGE_REGULATOR(config, "vref").add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT);
|
||||
|
||||
/* cartridge */
|
||||
generic_cartslot_device &cartslot(GENERIC_CARTSLOT(config, "cartslot", generic_plain_slot, "fidel_scc", "bin,dat"));
|
||||
cartslot.set_device_load(device_image_load_delegate(&sc9_state::device_image_load_scc_cartridge, this));
|
||||
GENERIC_CARTSLOT(config, m_cart, generic_plain_slot, "fidel_scc", "bin,dat");
|
||||
m_cart->set_device_load(device_image_load_delegate(&sc9_state::device_image_load_scc_cartridge, this));
|
||||
|
||||
SOFTWARE_LIST(config, "cart_list").set_original("fidel_scc");
|
||||
}
|
||||
|
314
src/mame/drivers/intellect02.cpp
Normal file
314
src/mame/drivers/intellect02.cpp
Normal file
@ -0,0 +1,314 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:hap
|
||||
/******************************************************************************
|
||||
|
||||
Интеллект-02 (Intellect-02) driver
|
||||
|
||||
This is a Soviet electronic board game console, a dozen or so cartridge games were
|
||||
made for it(can't say for certain how many released). PCB labels have prefix ДМП,
|
||||
it's assumed to have been designed by НИИ БРЭА (SRI BREA). First shown in 1983.
|
||||
|
||||
hardware notes:
|
||||
- КР580ВМ80А CPU (i8080 clone), speed unknown
|
||||
- КР580ИК55 (i8255 clone)
|
||||
- 1 KB RAM (8*КР565РУ2), cartridge port
|
||||
- 4-digit 7seg panel, 2 leds, 16 buttons
|
||||
|
||||
The hardware is very similar to Fidelity Chess Challenger 3. Actually, one of the
|
||||
first cartridges for this system, a Chess program, is a modified Chess Challenger 3 ROM.
|
||||
The chess engine was kept identical.
|
||||
|
||||
keypad legend:
|
||||
|
||||
СБ - сброс (reset)
|
||||
ВВ - ввод (input)
|
||||
ВИ - выбор игры (game select)
|
||||
СТ - стирание (erase)
|
||||
ПП - ?
|
||||
УИ - ?
|
||||
|
||||
TODO:
|
||||
- identify ПП, УИ, 0, 9 buttons (only the chess program is dumped and it doesn't use them)
|
||||
- verify cpu speed
|
||||
|
||||
******************************************************************************/
|
||||
|
||||
#include "emu.h"
|
||||
|
||||
#include "cpu/i8085/i8085.h"
|
||||
#include "machine/i8255.h"
|
||||
#include "machine/timer.h"
|
||||
#include "sound/dac.h"
|
||||
#include "sound/volt_reg.h"
|
||||
#include "speaker.h"
|
||||
#include "bus/generic/slot.h"
|
||||
#include "bus/generic/carts.h"
|
||||
#include "softlist.h"
|
||||
|
||||
// internal artwork
|
||||
#include "intellect02.lh"
|
||||
|
||||
|
||||
namespace {
|
||||
|
||||
class intel02_state : public driver_device
|
||||
{
|
||||
public:
|
||||
intel02_state(const machine_config &mconfig, device_type type, const char *tag) :
|
||||
driver_device(mconfig, type, tag),
|
||||
m_maincpu(*this, "maincpu"),
|
||||
m_ppi8255(*this, "ppi8255"),
|
||||
m_led_delay(*this, "led_delay_%u", 0),
|
||||
m_buttons(*this, "IN.%u", 0),
|
||||
m_dac(*this, "dac"),
|
||||
m_cart(*this, "cartslot"),
|
||||
m_digit(*this, "digit%u", 0U),
|
||||
m_led(*this, "led%u", 0U)
|
||||
{ }
|
||||
|
||||
// machine drivers
|
||||
void intel02(machine_config &config);
|
||||
|
||||
// assume that reset button is tied to RESET pin
|
||||
DECLARE_INPUT_CHANGED_MEMBER(reset_button) { m_maincpu->set_input_line(INPUT_LINE_RESET, newval ? ASSERT_LINE : CLEAR_LINE); }
|
||||
|
||||
protected:
|
||||
virtual void machine_start() override;
|
||||
|
||||
private:
|
||||
// devices/pointers
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<i8255_device> m_ppi8255;
|
||||
required_device_array<timer_device, 6> m_led_delay;
|
||||
required_ioport_array<2> m_buttons;
|
||||
required_device<dac_bit_interface> m_dac;
|
||||
required_device<generic_slot_device> m_cart;
|
||||
output_finder<4> m_digit;
|
||||
output_finder<2> m_led;
|
||||
|
||||
DECLARE_DEVICE_IMAGE_LOAD_MEMBER(cartridge);
|
||||
|
||||
// display stuff
|
||||
void update_display();
|
||||
TIMER_DEVICE_CALLBACK_MEMBER(led_delay_off);
|
||||
|
||||
u8 m_7seg_data;
|
||||
u8 m_led_select;
|
||||
u8 m_led_active;
|
||||
|
||||
// address maps
|
||||
void main_map(address_map &map);
|
||||
void main_io(address_map &map);
|
||||
|
||||
// I/O handlers
|
||||
DECLARE_READ8_MEMBER(input_r);
|
||||
DECLARE_WRITE8_MEMBER(_7seg_w);
|
||||
DECLARE_WRITE8_MEMBER(control_w);
|
||||
};
|
||||
|
||||
void intel02_state::machine_start()
|
||||
{
|
||||
// resolve handlers
|
||||
m_led.resolve();
|
||||
m_digit.resolve();
|
||||
|
||||
// zerofill
|
||||
m_7seg_data = 0;
|
||||
m_led_select = 0;
|
||||
m_led_active = 0;
|
||||
|
||||
// register for savestates
|
||||
save_item(NAME(m_7seg_data));
|
||||
save_item(NAME(m_led_select));
|
||||
save_item(NAME(m_led_active));
|
||||
}
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
Devices, I/O
|
||||
******************************************************************************/
|
||||
|
||||
// cartridge
|
||||
|
||||
DEVICE_IMAGE_LOAD_MEMBER(intel02_state, cartridge)
|
||||
{
|
||||
u32 size = m_cart->common_get_size("rom");
|
||||
m_cart->rom_alloc(size, GENERIC_ROM8_WIDTH, ENDIANNESS_LITTLE);
|
||||
m_cart->common_load_rom(m_cart->get_rom_base(), size, "rom");
|
||||
|
||||
return image_init_result::PASS;
|
||||
}
|
||||
|
||||
|
||||
// misc display handling
|
||||
|
||||
void intel02_state::update_display()
|
||||
{
|
||||
// latch digits (low 4 bits of led select)
|
||||
for (int i = 0; i < 4; i++)
|
||||
{
|
||||
if (BIT(m_led_select, i))
|
||||
m_digit[i] = m_7seg_data;
|
||||
else if (!BIT(m_led_active, i))
|
||||
m_digit[i] = 0;
|
||||
}
|
||||
|
||||
// led select d4: lose led, d5: win led
|
||||
m_led[0] = BIT(m_led_active, 4);
|
||||
m_led[1] = BIT(m_led_active, 5);
|
||||
}
|
||||
|
||||
TIMER_DEVICE_CALLBACK_MEMBER(intel02_state::led_delay_off)
|
||||
{
|
||||
u8 mask = 1 << param;
|
||||
m_led_active = (m_led_active & ~mask) | (m_led_select & mask);
|
||||
update_display();
|
||||
}
|
||||
|
||||
|
||||
// I8255 PPI
|
||||
|
||||
READ8_MEMBER(intel02_state::input_r)
|
||||
{
|
||||
// d0-d3: buttons through a priority encoder
|
||||
// d4-d7: buttons (direct)
|
||||
return (count_leading_zeros(m_buttons[0]->read()) - 17) | (~m_buttons[1]->read() << 4 & 0xf0);
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(intel02_state::_7seg_w)
|
||||
{
|
||||
// d0-d7: digit segment data
|
||||
m_7seg_data = bitswap<8>(data,7,0,1,2,3,4,5,6);
|
||||
update_display();
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(intel02_state::control_w)
|
||||
{
|
||||
// d0-d5: select digit/leds
|
||||
for (int i = 0; i < 6; i++)
|
||||
{
|
||||
if (BIT(data, i))
|
||||
m_led_active |= 1 << i;
|
||||
|
||||
// on falling edge, delay it going off to prevent flicker
|
||||
else if (BIT(m_led_select, i))
|
||||
m_led_delay[i]->adjust(attotime::from_msec(10), i);
|
||||
}
|
||||
|
||||
m_led_select = data;
|
||||
update_display();
|
||||
|
||||
// d6: unused?
|
||||
// it's a timer trigger on Chess Challenger 3
|
||||
|
||||
// d7: speaker out
|
||||
m_dac->write(BIT(data, 7));
|
||||
}
|
||||
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
Address Maps
|
||||
******************************************************************************/
|
||||
|
||||
void intel02_state::main_map(address_map &map)
|
||||
{
|
||||
map(0x0000, 0x1fff).r("cartslot", FUNC(generic_slot_device::read_rom));
|
||||
map(0xf000, 0xf3ff).ram();
|
||||
}
|
||||
|
||||
void intel02_state::main_io(address_map &map)
|
||||
{
|
||||
map.global_mask(0xff);
|
||||
map(0xf4, 0xf7).rw(m_ppi8255, FUNC(i8255_device::read), FUNC(i8255_device::write));
|
||||
}
|
||||
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
Input Ports
|
||||
******************************************************************************/
|
||||
|
||||
static INPUT_PORTS_START( intel02 )
|
||||
PORT_START("IN.0")
|
||||
PORT_BIT(0x003f, IP_ACTIVE_HIGH, IPT_UNKNOWN)
|
||||
PORT_BIT(0x0040, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("H8") PORT_CODE(KEYCODE_8) PORT_CODE(KEYCODE_8_PAD) PORT_CODE(KEYCODE_H)
|
||||
PORT_BIT(0x0080, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("G7") PORT_CODE(KEYCODE_7) PORT_CODE(KEYCODE_7_PAD) PORT_CODE(KEYCODE_G)
|
||||
PORT_BIT(0x0100, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("F6") PORT_CODE(KEYCODE_6) PORT_CODE(KEYCODE_6_PAD) PORT_CODE(KEYCODE_F)
|
||||
PORT_BIT(0x0200, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("E5") PORT_CODE(KEYCODE_5) PORT_CODE(KEYCODE_5_PAD) PORT_CODE(KEYCODE_E)
|
||||
PORT_BIT(0x0400, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("D4") PORT_CODE(KEYCODE_4) PORT_CODE(KEYCODE_4_PAD) PORT_CODE(KEYCODE_D)
|
||||
PORT_BIT(0x0800, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("C3") PORT_CODE(KEYCODE_3) PORT_CODE(KEYCODE_3_PAD) PORT_CODE(KEYCODE_C)
|
||||
PORT_BIT(0x1000, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("B2") PORT_CODE(KEYCODE_2) PORT_CODE(KEYCODE_2_PAD) PORT_CODE(KEYCODE_B)
|
||||
PORT_BIT(0x2000, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("A1") PORT_CODE(KEYCODE_1) PORT_CODE(KEYCODE_1_PAD) PORT_CODE(KEYCODE_A)
|
||||
PORT_BIT(0x4000, IP_ACTIVE_HIGH, IPT_UNKNOWN)
|
||||
|
||||
PORT_START("IN.1")
|
||||
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN)
|
||||
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Input") PORT_CODE(KEYCODE_ENTER) PORT_CODE(KEYCODE_ENTER_PAD)
|
||||
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Game Select") PORT_CODE(KEYCODE_S)
|
||||
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Erase") PORT_CODE(KEYCODE_DEL)
|
||||
|
||||
PORT_START("RESET")
|
||||
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Reset") PORT_CODE(KEYCODE_R) PORT_CHANGED_MEMBER(DEVICE_SELF, intel02_state, reset_button, nullptr)
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
Machine Drivers
|
||||
******************************************************************************/
|
||||
|
||||
void intel02_state::intel02(machine_config &config)
|
||||
{
|
||||
/* basic machine hardware */
|
||||
I8080(config, m_maincpu, 2000000);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &intel02_state::main_map);
|
||||
m_maincpu->set_addrmap(AS_IO, &intel02_state::main_io);
|
||||
|
||||
I8255(config, m_ppi8255);
|
||||
m_ppi8255->in_pa_callback().set(FUNC(intel02_state::input_r));
|
||||
m_ppi8255->tri_pa_callback().set_constant(0);
|
||||
m_ppi8255->out_pb_callback().set(FUNC(intel02_state::_7seg_w));
|
||||
m_ppi8255->tri_pb_callback().set_constant(0);
|
||||
m_ppi8255->out_pc_callback().set(FUNC(intel02_state::control_w));
|
||||
|
||||
/* display hardware */
|
||||
for (int i = 0; i < 6; i++)
|
||||
TIMER(config, m_led_delay[i]).configure_generic(FUNC(intel02_state::led_delay_off));
|
||||
|
||||
config.set_default_layout(layout_intellect02);
|
||||
|
||||
/* sound hardware */
|
||||
SPEAKER(config, "speaker").front_center();
|
||||
DAC_1BIT(config, m_dac).add_route(ALL_OUTPUTS, "speaker", 0.25);
|
||||
VOLTAGE_REGULATOR(config, "vref").add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT);
|
||||
|
||||
/* cartridge */
|
||||
GENERIC_CARTSLOT(config, m_cart, generic_plain_slot, "intellect02", "bin");
|
||||
m_cart->set_device_load(device_image_load_delegate(&intel02_state::device_image_load_cartridge, this));
|
||||
m_cart->set_must_be_loaded(true);
|
||||
|
||||
SOFTWARE_LIST(config, "cart_list").set_original("intellect02");
|
||||
}
|
||||
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
ROM Definitions
|
||||
******************************************************************************/
|
||||
|
||||
ROM_START( intel02 )
|
||||
ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASE00 )
|
||||
// nothing here, it's on a cartridge
|
||||
ROM_END
|
||||
|
||||
} // anonymous namespace
|
||||
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
Drivers
|
||||
******************************************************************************/
|
||||
|
||||
// YEAR NAME PARENT CMP MACHINE INPUT STATE INIT COMPANY, FULLNAME, FLAGS
|
||||
CONS( 1983, intel02, 0, 0, intel02, intel02, intel02_state, empty_init, "BREA Research Institute", "Intellect-02", MACHINE_SUPPORTS_SAVE )
|
38
src/mame/layout/intellect02.lay
Normal file
38
src/mame/layout/intellect02.lay
Normal file
@ -0,0 +1,38 @@
|
||||
<?xml version="1.0"?>
|
||||
<mamelayout version="2">
|
||||
|
||||
<!-- define elements -->
|
||||
|
||||
<element name="digit" defstate="0">
|
||||
<led7seg><color red="0.15" green="1.0" blue="0.05" /></led7seg>
|
||||
</element>
|
||||
|
||||
<element name="led" defstate="0">
|
||||
<disk state="1"><color red="1.0" green="0.1" blue="0.15" /></disk>
|
||||
<disk state="0"><color red="0.1" green="0.01" blue="0.015" /></disk>
|
||||
</element>
|
||||
|
||||
<element name="text_l1"><text string="PROGRESS INDICATOR" align="1"><color red="0.2" green="0.2" blue="0.2" /></text></element>
|
||||
<element name="text_l2"><text string="YOU WIN" align="1"><color red="0.8" green="0.8" blue="0.8" /></text></element>
|
||||
<element name="text_l3"><text string="YOU LOSE" align="1"><color red="0.8" green="0.8" blue="0.8" /></text></element>
|
||||
|
||||
|
||||
<!-- build screen -->
|
||||
|
||||
<view name="Internal Layout">
|
||||
<bounds left="7.5" right="41" top="7" bottom="19" />
|
||||
|
||||
<bezel element="text_l1"><bounds x="21" y="7.9" width="20" height="1.5" /></bezel>
|
||||
<bezel element="text_l2"><bounds x="8.5" y="7.9" width="8" height="1.5" /></bezel>
|
||||
<bezel element="text_l3"><bounds x="8.5" y="16.4" width="8" height="1.5" /></bezel>
|
||||
|
||||
<bezel name="led1" element="led"><bounds x="16" y="8" width="1.5" height="1.5" /></bezel>
|
||||
<bezel name="led0" element="led"><bounds x="16" y="16.5" width="1.5" height="1.5" /></bezel>
|
||||
|
||||
<bezel name="digit0" element="digit"><bounds x="20" y="10" width="4" height="6" /></bezel>
|
||||
<bezel name="digit1" element="digit"><bounds x="24" y="10" width="4" height="6" /></bezel>
|
||||
<bezel name="digit2" element="digit"><bounds x="32" y="10" width="4" height="6" /></bezel>
|
||||
<bezel name="digit3" element="digit"><bounds x="36" y="10" width="4" height="6" /></bezel>
|
||||
|
||||
</view>
|
||||
</mamelayout>
|
@ -15753,6 +15753,9 @@ inteladv
|
||||
intlc44 //
|
||||
intlc440 //
|
||||
|
||||
@source:intellect02.cpp
|
||||
intel02 //
|
||||
|
||||
@source:interact.cpp
|
||||
hector1 //
|
||||
interact //
|
||||
|
@ -350,6 +350,7 @@ indy_indigo2.cpp
|
||||
instruct.cpp
|
||||
inteladv.cpp
|
||||
intellec4.cpp
|
||||
intellect02.cpp
|
||||
interact.cpp
|
||||
interpro.cpp
|
||||
intv.cpp
|
||||
|
Loading…
Reference in New Issue
Block a user