mirror of
https://github.com/holub/mame
synced 2025-04-23 00:39:36 +03:00
Machines promoted to working
---------------------------------- Auto Race [hap, Sean Riddle] Missile Attack (Mattel) [hap, Sean Riddle] Football (Mattel) [hap, Sean Riddle] Baseball (Mattel) [hap, Sean Riddle] Gravity (Mattel) [hap, Sean Riddle]
This commit is contained in:
parent
134b58533e
commit
8f0042a609
@ -7,7 +7,8 @@
|
||||
TODO:
|
||||
- only one device dumped (Rockwell 8R) and it doesn't work at all
|
||||
- is unmapped ram mirrored? (that goes for subdevices too)
|
||||
- fix digit segment decoder, there should be a minus sign in it
|
||||
- Fix digit segment decoder, it's not on a neat PLA. There should be a minus
|
||||
sign in it, and more.
|
||||
|
||||
*/
|
||||
|
||||
|
@ -69,6 +69,7 @@ protected:
|
||||
void ram_w(u8 data);
|
||||
void set_pc(u8 pu, u8 pl);
|
||||
void set_bu(u8 bu);
|
||||
void seg_w(u16 seg);
|
||||
void op_illegal();
|
||||
|
||||
// opcode handlers
|
||||
|
@ -33,6 +33,11 @@ void b5000_cpu_device::set_bu(u8 bu)
|
||||
m_bu_delay = true;
|
||||
}
|
||||
|
||||
void b5000_cpu_device::seg_w(u16 seg)
|
||||
{
|
||||
m_write_seg(m_seg = seg);
|
||||
}
|
||||
|
||||
void b5000_cpu_device::op_illegal()
|
||||
{
|
||||
logerror("unknown opcode $%02X at $%03X\n", m_op, m_prev_pc);
|
||||
@ -260,8 +265,7 @@ void b5000_cpu_device::op_tc()
|
||||
void b5000_cpu_device::op_kseg()
|
||||
{
|
||||
// KSEG: reset segment outputs
|
||||
m_seg = 0;
|
||||
m_write_seg(0);
|
||||
seg_w(0);
|
||||
}
|
||||
|
||||
void b5000_cpu_device::op_atbz()
|
||||
@ -315,8 +319,7 @@ void b5000_cpu_device::op_tkbs()
|
||||
// step 2: load segments from RAM
|
||||
case 2:
|
||||
// note: SEG0(DP) from C flag is delayed 2 cycles
|
||||
m_seg |= decode_digit(ram_r()) << 1 | m_prev3_c;
|
||||
m_write_seg(m_seg);
|
||||
seg_w(m_seg | decode_digit(ram_r()) << 1 | m_prev3_c);
|
||||
m_tkbs_step = 0;
|
||||
return;
|
||||
|
||||
|
@ -8,7 +8,8 @@ MCU designed for Mattel's electronic games, I/O is a bit more versatile,
|
||||
and a speaker output was added. It was succeeded by B6100 with a larger ROM.
|
||||
|
||||
TODO:
|
||||
- confirm digit segment decoder (10, 11, 15 appear to be unused by the games)
|
||||
- any other changed opcodes?
|
||||
- confirm digit segment decoder (10, 11, 15 are unused by the games)
|
||||
|
||||
*/
|
||||
|
||||
@ -47,11 +48,10 @@ void b6000_cpu_device::device_reset()
|
||||
m_ram_addr = 0;
|
||||
m_a = 0;
|
||||
m_c = 0;
|
||||
m_seg = 0;
|
||||
|
||||
// clear outputs
|
||||
seg_w(0);
|
||||
m_write_str(0);
|
||||
m_write_seg(0);
|
||||
m_write_spk(0);
|
||||
}
|
||||
|
||||
@ -65,7 +65,7 @@ u16 b6000_cpu_device::decode_digit(u8 data)
|
||||
0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f,
|
||||
|
||||
// ?, ?, none, F, G, ?
|
||||
0x64, 0x64, 0x00, 0x20, 0x40, 0x64
|
||||
0, 0, 0x00, 0x20, 0x40, 0
|
||||
};
|
||||
return lut_segs[data & 0xf];
|
||||
}
|
||||
@ -75,13 +75,6 @@ u16 b6000_cpu_device::decode_digit(u8 data)
|
||||
// execute
|
||||
//-------------------------------------------------
|
||||
|
||||
void b6000_cpu_device::update_speaker()
|
||||
{
|
||||
// carry flag outputs to SPK
|
||||
if (m_c != m_prev_c)
|
||||
m_write_spk(m_c);
|
||||
}
|
||||
|
||||
void b6000_cpu_device::execute_one()
|
||||
{
|
||||
switch (m_op)
|
||||
@ -93,8 +86,6 @@ void b6000_cpu_device::execute_one()
|
||||
// rest is same as B5000
|
||||
default: b5000_cpu_device::execute_one(); break;
|
||||
}
|
||||
|
||||
update_speaker();
|
||||
}
|
||||
|
||||
|
||||
@ -104,13 +95,14 @@ void b6000_cpu_device::execute_one()
|
||||
|
||||
void b6000_cpu_device::op_tkbs()
|
||||
{
|
||||
// TKBS: load segments (no TKB step)
|
||||
m_seg |= decode_digit(ram_r());
|
||||
m_write_seg(m_seg);
|
||||
// TKBS: load segments and speaker (no TKB step)
|
||||
seg_w(m_seg | decode_digit(ram_r()));
|
||||
m_write_spk(m_c);
|
||||
}
|
||||
|
||||
void b6000_cpu_device::op_atbz()
|
||||
{
|
||||
// ATBZ: load strobe from A (no ATB step)
|
||||
m_write_str(1 << (m_a & 0xf));
|
||||
op_kseg();
|
||||
}
|
||||
|
@ -52,7 +52,6 @@ protected:
|
||||
// device-level overrides
|
||||
virtual void device_reset() override;
|
||||
|
||||
void update_speaker();
|
||||
virtual void execute_one() override;
|
||||
virtual u16 decode_digit(u8 data) override;
|
||||
|
||||
|
@ -130,7 +130,9 @@ void b6100_cpu_device::execute_one()
|
||||
break; // 0xfc
|
||||
}
|
||||
|
||||
update_speaker();
|
||||
// instead of with TKBS, carry flag directly outputs to SPK
|
||||
if (m_c != m_prev_c)
|
||||
m_write_spk(m_c);
|
||||
}
|
||||
|
||||
bool b6100_cpu_device::op_canskip(u8 op)
|
||||
|
@ -8,7 +8,7 @@ Applied Concepts Great Game Machine (GGM), electronic board game computer.
|
||||
|
||||
Hardware notes:
|
||||
- 6502A 2MHz, SYP6522 VIA
|
||||
- 2KB RAM(4*HM472114AP-2), no ROM on main PCB
|
||||
- 2KB RAM(4*HM472114AP-2 or 1*M58725P), no ROM on main PCB
|
||||
- 2*74164 shift register, 3*6118P VFD driver
|
||||
- 8-digit 14seg VFD panel (same one as in Speak & Spell)
|
||||
- 5*4 keypad(unlabeled by default), 1-bit sound
|
||||
@ -39,7 +39,6 @@ Other games:
|
||||
TODO:
|
||||
- it doesn't have nvram, it's a workaround for MAME forcing a hard reset when
|
||||
swapping in a new cartridge
|
||||
- what's VIA PB0 for? game toggles it once per irq
|
||||
- confirm display AP segment, is it used anywhere?
|
||||
- verify cartridge pinout, right now assume A0-A15 (max known cart size is 24KB).
|
||||
Boris/Sargon cartridge is A0-A11 and 2 CS lines, Steinitz uses the whole range.
|
||||
@ -237,7 +236,7 @@ void ggm_state::select_w(u8 data)
|
||||
|
||||
void ggm_state::control_w(u8 data)
|
||||
{
|
||||
// PB0: ?
|
||||
// PB0: DC/DC converter, toggles once per IRQ (probably for VFD, not needed for emulation)
|
||||
|
||||
// PB7: speaker out
|
||||
m_dac->write(BIT(data, 7));
|
||||
|
@ -26,9 +26,14 @@ TODO:
|
||||
#include "speaker.h"
|
||||
|
||||
// internal artwork
|
||||
#include "autorace.lh"
|
||||
#include "gravity.lh"
|
||||
#include "mbaseb.lh"
|
||||
#include "mfootb.lh"
|
||||
#include "misatk.lh"
|
||||
#include "rw18r.lh"
|
||||
|
||||
#include "hh_b5000_test.lh" // common test-layout - use external artwork
|
||||
//#include "hh_b5000_test.lh" // common test-layout - use external artwork
|
||||
|
||||
|
||||
class hh_b5000_state : public driver_device
|
||||
@ -42,6 +47,10 @@ public:
|
||||
m_inputs(*this, "IN.%u", 0)
|
||||
{ }
|
||||
|
||||
DECLARE_INPUT_CHANGED_MEMBER(power_button);
|
||||
template<int Sel> DECLARE_INPUT_CHANGED_MEMBER(switch_next) { if (newval) switch_change(Sel, param, true); }
|
||||
template<int Sel> DECLARE_INPUT_CHANGED_MEMBER(switch_prev) { if (newval) switch_change(Sel, param, false); }
|
||||
|
||||
protected:
|
||||
virtual void machine_start() override;
|
||||
virtual void machine_reset() override;
|
||||
@ -59,6 +68,7 @@ protected:
|
||||
u16 m_seg = 0;
|
||||
|
||||
u8 read_inputs(int columns);
|
||||
void switch_change(int sel, u32 mask, bool next);
|
||||
};
|
||||
|
||||
|
||||
@ -98,6 +108,27 @@ u8 hh_b5000_state::read_inputs(int columns)
|
||||
return ret;
|
||||
}
|
||||
|
||||
void hh_b5000_state::switch_change(int sel, u32 mask, bool next)
|
||||
{
|
||||
// config switches (for direct control)
|
||||
ioport_field *inp = m_inputs[sel]->field(mask);
|
||||
|
||||
if (next && inp->has_next_setting())
|
||||
inp->select_next_setting();
|
||||
else if (!next && inp->has_previous_setting())
|
||||
inp->select_previous_setting();
|
||||
}
|
||||
|
||||
INPUT_CHANGED_MEMBER(hh_b5000_state::power_button)
|
||||
{
|
||||
// power button or switch
|
||||
bool power = (param) ? (bool(param - 1)) : !newval;
|
||||
|
||||
if (!power && m_display != nullptr)
|
||||
m_display->clear();
|
||||
m_maincpu->set_input_line(INPUT_LINE_RESET, power ? CLEAR_LINE : ASSERT_LINE);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
@ -110,13 +141,15 @@ namespace {
|
||||
|
||||
/***************************************************************************
|
||||
|
||||
Mattel Auto Race
|
||||
Mattel Auto Race (model 9879)
|
||||
* B6000 MCU (label B6000CA, die label B6000-B)
|
||||
* 2-digit 7seg display, 21 other leds, 1-bit sound
|
||||
|
||||
This is Mattel's first handheld game. Hardware design (even the MCU) and
|
||||
programming was done at Rockwell. A European version was released as
|
||||
"Ski Slalom" (it's simply upside-down).
|
||||
This is Mattel's first electronic handheld game, also the first CPU-based
|
||||
handheld game overall. Hardware design (even the MCU) and programming
|
||||
was done at Rockwell.
|
||||
|
||||
A European version was released as "Ski Slalom", except it's upside-down.
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
@ -150,22 +183,31 @@ void autorace_state::write_seg(u16 data)
|
||||
|
||||
static INPUT_PORTS_START( autorace )
|
||||
PORT_START("IN.0") // KB
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_1)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_2)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_3)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_4)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) // does not auto-center on real device
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) // "
|
||||
PORT_CONFNAME( 0x0c, 0x0c, "Gear" )
|
||||
PORT_CONFSETTING( 0x0c, "1" )
|
||||
PORT_CONFSETTING( 0x04, "2" )
|
||||
PORT_CONFSETTING( 0x00, "3" )
|
||||
PORT_CONFSETTING( 0x08, "4" )
|
||||
|
||||
PORT_START("IN.1") // DIN
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_5)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_6)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_7)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_8)
|
||||
PORT_CONFNAME( 0x01, 0x00, "Factory Test" )
|
||||
PORT_CONFSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_CONFSETTING( 0x01, DEF_STR( On ) )
|
||||
|
||||
PORT_START("POWER") // power switch
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_b5000_state, power_button, 0) PORT_NAME("Start / Reset")
|
||||
|
||||
PORT_START("SWITCH") // fake
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_b5000_state, switch_prev<0>, 0x0c) PORT_NAME("Gear Switch Down")
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_b5000_state, switch_next<0>, 0x0c) PORT_NAME("Gear Switch Up")
|
||||
INPUT_PORTS_END
|
||||
|
||||
void autorace_state::autorace(machine_config &config)
|
||||
{
|
||||
// basic machine hardware
|
||||
B6000(config, m_maincpu, 240000); // approximation
|
||||
B6000(config, m_maincpu, 160000); // approximation
|
||||
m_maincpu->write_str().set(FUNC(autorace_state::write_str));
|
||||
m_maincpu->write_seg().set(FUNC(autorace_state::write_seg));
|
||||
m_maincpu->read_kb().set_ioport("IN.0");
|
||||
@ -174,7 +216,9 @@ void autorace_state::autorace(machine_config &config)
|
||||
|
||||
// video hardware
|
||||
PWM_DISPLAY(config, m_display).set_size(9, 8);
|
||||
config.set_default_layout(layout_hh_b5000_test);
|
||||
m_display->set_segmask(0x180, 0x7f);
|
||||
m_display->set_bri_levels(0.02, 0.2); // player led is brighter
|
||||
config.set_default_layout(layout_autorace);
|
||||
|
||||
// sound hardware
|
||||
SPEAKER(config, "mono").front_center();
|
||||
@ -194,14 +238,14 @@ ROM_END
|
||||
|
||||
/***************************************************************************
|
||||
|
||||
Mattel Missile Attack / Battlestar Galactica: Space Alert
|
||||
Mattel Missile Attack (model 2048) / Battlestar Galactica: Space Alert (model 2448)
|
||||
* B6000 MCU (label B6001CA/EA, die label B6001)
|
||||
* 2-digit 7seg display, 21 other leds, 1-bit sound
|
||||
|
||||
The initial release was titled Missile Attack, it didn't sell well (Mattel
|
||||
blamed it on NBC for not wanting to air their commercial). They changed
|
||||
the title/setting and advertised an upcoming rerelease as "Flash Gordon",
|
||||
but changed plans and named it "Battlestar Galactica: Space Alert".
|
||||
The initial release was called Missile Attack, it didn't sell well (Mattel
|
||||
blamed it on NBC for refusing to air their commercial). They changed the
|
||||
title/setting and advertised an upcoming rerelease as "Flash Gordon", but
|
||||
changed plans and named it "Battlestar Galactica: Space Alert".
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
@ -235,22 +279,24 @@ void misatk_state::write_seg(u16 data)
|
||||
|
||||
static INPUT_PORTS_START( misatk )
|
||||
PORT_START("IN.0") // KB
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_1)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_2)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_3)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_4)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) // does not auto-center on real device
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) // "
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON1 )
|
||||
|
||||
PORT_START("IN.1") // DIN
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_5)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_6)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_7)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_8)
|
||||
PORT_CONFNAME( 0x01, 0x00, "Factory Test" )
|
||||
PORT_CONFSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_CONFSETTING( 0x01, DEF_STR( On ) )
|
||||
|
||||
PORT_START("POWER") // power switch
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_b5000_state, power_button, 0) PORT_NAME("Arm / Off")
|
||||
INPUT_PORTS_END
|
||||
|
||||
void misatk_state::misatk(machine_config &config)
|
||||
{
|
||||
// basic machine hardware
|
||||
B6000(config, m_maincpu, 240000); // approximation
|
||||
B6000(config, m_maincpu, 250000); // approximation
|
||||
m_maincpu->write_str().set(FUNC(misatk_state::write_str));
|
||||
m_maincpu->write_seg().set(FUNC(misatk_state::write_seg));
|
||||
m_maincpu->read_kb().set_ioport("IN.0");
|
||||
@ -259,7 +305,9 @@ void misatk_state::misatk(machine_config &config)
|
||||
|
||||
// video hardware
|
||||
PWM_DISPLAY(config, m_display).set_size(9, 8);
|
||||
config.set_default_layout(layout_hh_b5000_test);
|
||||
m_display->set_segmask(0x180, 0x7f);
|
||||
m_display->set_bri_levels(0.015, 0.15); // player led is brighter
|
||||
config.set_default_layout(layout_misatk);
|
||||
|
||||
// sound hardware
|
||||
SPEAKER(config, "mono").front_center();
|
||||
@ -279,8 +327,8 @@ ROM_END
|
||||
|
||||
/***************************************************************************
|
||||
|
||||
Mattel Football
|
||||
* B6100 MCU (label B6100EB, die label B6100 A)
|
||||
Mattel Football (model 2024)
|
||||
* B6100 MCU (label B6100EB/-15, die label B6100 A)
|
||||
* 7-digit 7seg display, 27 other leds, 1-bit sound
|
||||
|
||||
When Football II came out, they renamed this one to Football I.
|
||||
@ -296,43 +344,59 @@ public:
|
||||
|
||||
void mfootb(machine_config &config);
|
||||
|
||||
DECLARE_INPUT_CHANGED_MEMBER(score_button) { update_display(); }
|
||||
|
||||
private:
|
||||
void update_display();
|
||||
void write_str(u16 data);
|
||||
void write_seg(u16 data);
|
||||
};
|
||||
|
||||
// handlers
|
||||
|
||||
void mfootb_state::update_display()
|
||||
{
|
||||
// 4th digit DP is from the SCORE button
|
||||
u8 dp = (m_inputs[1]->read() & 2) ? 0x80 : 0;
|
||||
m_display->matrix(m_str, (m_seg << 1 & 0x700) | dp | (m_seg & 0x7f));
|
||||
}
|
||||
|
||||
void mfootb_state::write_str(u16 data)
|
||||
{
|
||||
m_display->write_my(data);
|
||||
m_str = data;
|
||||
update_display();
|
||||
}
|
||||
|
||||
void mfootb_state::write_seg(u16 data)
|
||||
{
|
||||
m_display->write_mx(data);
|
||||
m_seg = data;
|
||||
update_display();
|
||||
}
|
||||
|
||||
// config
|
||||
|
||||
static INPUT_PORTS_START( mfootb )
|
||||
PORT_START("IN.0") // KB
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_1)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_2)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_3)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_4)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_16WAY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("Forward")
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_16WAY
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME("Kick")
|
||||
|
||||
PORT_START("IN.1") // DIN
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_5)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_6)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_7)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_8)
|
||||
PORT_CONFNAME( 0x01, 0x01, DEF_STR( Difficulty ) )
|
||||
PORT_CONFSETTING( 0x01, "1" ) // PRO 1
|
||||
PORT_CONFSETTING( 0x00, "2" ) // PRO 2
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 ) PORT_NAME("Score") PORT_CHANGED_MEMBER(DEVICE_SELF, mfootb_state, score_button, 0)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_START1 ) PORT_NAME("Status")
|
||||
PORT_CONFNAME( 0x08, 0x00, "Factory Test" )
|
||||
PORT_CONFSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_CONFSETTING( 0x08, DEF_STR( On ) )
|
||||
INPUT_PORTS_END
|
||||
|
||||
void mfootb_state::mfootb(machine_config &config)
|
||||
{
|
||||
// basic machine hardware
|
||||
B6100(config, m_maincpu, 240000); // approximation
|
||||
B6100(config, m_maincpu, 280000); // approximation
|
||||
m_maincpu->write_str().set(FUNC(mfootb_state::write_str));
|
||||
m_maincpu->write_seg().set(FUNC(mfootb_state::write_seg));
|
||||
m_maincpu->read_kb().set_ioport("IN.0");
|
||||
@ -340,8 +404,11 @@ void mfootb_state::mfootb(machine_config &config)
|
||||
m_maincpu->write_spk().set(m_speaker, FUNC(speaker_sound_device::level_w));
|
||||
|
||||
// video hardware
|
||||
PWM_DISPLAY(config, m_display).set_size(9, 10);
|
||||
config.set_default_layout(layout_hh_b5000_test);
|
||||
PWM_DISPLAY(config, m_display).set_size(9, 11);
|
||||
m_display->set_segmask(0x7f, 0x7f);
|
||||
m_display->set_segmask(0x08, 0xff); // only one digit has DP
|
||||
m_display->set_bri_levels(0.02, 0.2); // player led is brighter
|
||||
config.set_default_layout(layout_mfootb);
|
||||
|
||||
// sound hardware
|
||||
SPEAKER(config, "mono").front_center();
|
||||
@ -362,7 +429,7 @@ ROM_END
|
||||
|
||||
/***************************************************************************
|
||||
|
||||
Mattel Baseball
|
||||
Mattel Baseball (model 2942)
|
||||
* B6100 MCU (label B6101-12, die label B6101 A)
|
||||
* 4-digit 7seg display, 28 other leds, 1-bit sound
|
||||
|
||||
@ -391,29 +458,33 @@ void mbaseb_state::write_str(u16 data)
|
||||
|
||||
void mbaseb_state::write_seg(u16 data)
|
||||
{
|
||||
m_display->write_mx(data);
|
||||
m_display->write_mx(bitswap<10>(data,7,8,9,6,5,4,3,2,1,0));
|
||||
}
|
||||
|
||||
// config
|
||||
|
||||
static INPUT_PORTS_START( mbaseb )
|
||||
PORT_START("IN.0") // KB
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_1)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_2)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_3)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_4)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_NAME("Pitch")
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("Hit")
|
||||
|
||||
PORT_START("IN.1") // DIN
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_5)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_6)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_7)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_8)
|
||||
PORT_CONFNAME( 0x01, 0x01, DEF_STR( Difficulty ) )
|
||||
PORT_CONFSETTING( 0x01, "1" ) // PRO 1
|
||||
PORT_CONFSETTING( 0x00, "2" ) // PRO 2
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START1 ) PORT_NAME("Score")
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME("Run")
|
||||
PORT_CONFNAME( 0x08, 0x00, "Factory Test" )
|
||||
PORT_CONFSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_CONFSETTING( 0x08, DEF_STR( On ) )
|
||||
INPUT_PORTS_END
|
||||
|
||||
void mbaseb_state::mbaseb(machine_config &config)
|
||||
{
|
||||
// basic machine hardware
|
||||
B6100(config, m_maincpu, 240000); // approximation
|
||||
B6100(config, m_maincpu, 280000); // approximation
|
||||
m_maincpu->write_str().set(FUNC(mbaseb_state::write_str));
|
||||
m_maincpu->write_seg().set(FUNC(mbaseb_state::write_seg));
|
||||
m_maincpu->read_kb().set_ioport("IN.0");
|
||||
@ -422,7 +493,9 @@ void mbaseb_state::mbaseb(machine_config &config)
|
||||
|
||||
// video hardware
|
||||
PWM_DISPLAY(config, m_display).set_size(9, 10);
|
||||
config.set_default_layout(layout_hh_b5000_test);
|
||||
m_display->set_segmask(0x170, 0x7f);
|
||||
m_display->set_segmask(0x110, 0xff); // 2 digits have DP
|
||||
config.set_default_layout(layout_mbaseb);
|
||||
|
||||
// sound hardware
|
||||
SPEAKER(config, "mono").front_center();
|
||||
@ -443,12 +516,17 @@ ROM_END
|
||||
|
||||
/***************************************************************************
|
||||
|
||||
Mattel Gravity
|
||||
Mattel Gravity (model 8291)
|
||||
* B6100 MCU (label B6102-11, die label B6102 A)
|
||||
* 3-digit 7seg display, 27 other leds, 1-bit sound
|
||||
|
||||
It was advertised as "Catastrophe", but went unreleased. It got released
|
||||
later as "Gravity", presumedly only for the European market.
|
||||
It was advertised as "Catastrophe", but went unreleased. It got sold later
|
||||
as "Gravity", with a less catastrophic setting.
|
||||
|
||||
The game is basically 3 mini games in 1:
|
||||
- Juggling (Rumbling Rocks in Catastrophe)
|
||||
- Coin Drop (Quake Shock in Catastrophe)
|
||||
- Docking (Meteorite Shower in Catstrophe)
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
@ -482,22 +560,21 @@ void gravity_state::write_seg(u16 data)
|
||||
|
||||
static INPUT_PORTS_START( gravity )
|
||||
PORT_START("IN.0") // KB
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_1)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_2)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_3)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_4)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON3 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON2 )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON1 )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
|
||||
PORT_START("IN.1") // DIN
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_5)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_6)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_7)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_8)
|
||||
PORT_CONFNAME( 0x08, 0x00, "Factory Test" )
|
||||
PORT_CONFSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_CONFSETTING( 0x08, DEF_STR( On ) )
|
||||
INPUT_PORTS_END
|
||||
|
||||
void gravity_state::gravity(machine_config &config)
|
||||
{
|
||||
// basic machine hardware
|
||||
B6100(config, m_maincpu, 240000); // approximation
|
||||
B6100(config, m_maincpu, 250000); // approximation
|
||||
m_maincpu->write_str().set(FUNC(gravity_state::write_str));
|
||||
m_maincpu->write_seg().set(FUNC(gravity_state::write_seg));
|
||||
m_maincpu->read_kb().set_ioport("IN.0");
|
||||
@ -506,7 +583,8 @@ void gravity_state::gravity(machine_config &config)
|
||||
|
||||
// video hardware
|
||||
PWM_DISPLAY(config, m_display).set_size(9, 10);
|
||||
config.set_default_layout(layout_hh_b5000_test);
|
||||
m_display->set_segmask(0x1c0, 0x7f);
|
||||
config.set_default_layout(layout_gravity);
|
||||
|
||||
// sound hardware
|
||||
SPEAKER(config, "mono").front_center();
|
||||
@ -528,7 +606,7 @@ ROM_END
|
||||
/***************************************************************************
|
||||
|
||||
Rockwell 8R, Rockwell 18R
|
||||
* B5000 MCU (label B5000CC)
|
||||
* B5000 MCU (label B5000CC, die label B5000)
|
||||
* 8-digit 7seg display
|
||||
|
||||
This MCU was used in Rockwell 8R, 18R, and 9TR. It was also sold by
|
||||
@ -610,7 +688,7 @@ INPUT_PORTS_END
|
||||
void rw18r_state::rw18r(machine_config &config)
|
||||
{
|
||||
// basic machine hardware
|
||||
B5000(config, m_maincpu, 240000); // approximation
|
||||
B5000(config, m_maincpu, 250000); // approximation
|
||||
m_maincpu->write_str().set(FUNC(rw18r_state::write_str));
|
||||
m_maincpu->write_seg().set(FUNC(rw18r_state::write_seg));
|
||||
m_maincpu->read_kb().set(FUNC(rw18r_state::read_kb));
|
||||
@ -640,10 +718,10 @@ ROM_END
|
||||
***************************************************************************/
|
||||
|
||||
// YEAR NAME PARENT CMP MACHINE INPUT CLASS INIT COMPANY, FULLNAME, FLAGS
|
||||
CONS( 1976, autorace, 0, 0, autorace, autorace, autorace_state, empty_init, "Mattel Electronics", "Auto Race", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING )
|
||||
CONS( 1977, misatk, 0, 0, misatk, misatk, misatk_state, empty_init, "Mattel Electronics", "Missile Attack (Mattel)", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING )
|
||||
CONS( 1977, mfootb, 0, 0, mfootb, mfootb, mfootb_state, empty_init, "Mattel Electronics", "Football (Mattel)", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING )
|
||||
CONS( 1978, mbaseb, 0, 0, mbaseb, mbaseb, mbaseb_state, empty_init, "Mattel Electronics", "Baseball (Mattel)", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING )
|
||||
CONS( 1980, gravity, 0, 0, gravity, gravity, gravity_state, empty_init, "Mattel Electronics", "Gravity (Mattel)", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING )
|
||||
CONS( 1976, autorace, 0, 0, autorace, autorace, autorace_state, empty_init, "Mattel Electronics", "Auto Race", MACHINE_SUPPORTS_SAVE )
|
||||
CONS( 1977, misatk, 0, 0, misatk, misatk, misatk_state, empty_init, "Mattel Electronics", "Missile Attack (Mattel)", MACHINE_SUPPORTS_SAVE )
|
||||
CONS( 1977, mfootb, 0, 0, mfootb, mfootb, mfootb_state, empty_init, "Mattel Electronics", "Football (Mattel)", MACHINE_SUPPORTS_SAVE )
|
||||
CONS( 1978, mbaseb, 0, 0, mbaseb, mbaseb, mbaseb_state, empty_init, "Mattel Electronics", "Baseball (Mattel)", MACHINE_SUPPORTS_SAVE )
|
||||
CONS( 1980, gravity, 0, 0, gravity, gravity, gravity_state, empty_init, "Mattel Electronics", "Gravity (Mattel)", MACHINE_SUPPORTS_SAVE )
|
||||
|
||||
COMP( 1975, rw18r, 0, 0, rw18r, rw18r, rw18r_state, empty_init, "Rockwell", "18R (Rockwell)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_SOUND_HW | MACHINE_NOT_WORKING )
|
||||
|
@ -675,7 +675,7 @@ private:
|
||||
|
||||
void mfootb2_state::update_display()
|
||||
{
|
||||
m_display->matrix(m_d, (m_r & 0x7f) | (m_d >> 4 & 0x80) | (m_r << 1 & 0x700));
|
||||
m_display->matrix(m_d, (m_r << 1 & 0x700) | (m_d >> 4 & 0x80) | (m_r & 0x7f));
|
||||
}
|
||||
|
||||
void mfootb2_state::write_d(u16 data)
|
||||
@ -715,8 +715,8 @@ static INPUT_PORTS_START( mfootb2 )
|
||||
|
||||
PORT_START("IN.1") // DIO11
|
||||
PORT_CONFNAME( 0x400, 0x000, DEF_STR( Difficulty ) )
|
||||
PORT_CONFSETTING( 0x000, "1" )
|
||||
PORT_CONFSETTING( 0x400, "2" )
|
||||
PORT_CONFSETTING( 0x000, "1" ) // PRO 1
|
||||
PORT_CONFSETTING( 0x400, "2" ) // PRO 2
|
||||
INPUT_PORTS_END
|
||||
|
||||
void mfootb2_state::mfootb2(machine_config &config)
|
||||
@ -741,7 +741,7 @@ void mfootb2_state::mfootb2(machine_config &config)
|
||||
SPEAKER_SOUND(config, m_speaker);
|
||||
static const double speaker_levels[4] = { 0.0, 1.0, -1.0, 0.0 };
|
||||
m_speaker->set_levels(4, speaker_levels);
|
||||
m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
|
||||
m_speaker->add_route(ALL_OUTPUTS, "mono", 0.125);
|
||||
}
|
||||
|
||||
// roms
|
||||
@ -903,7 +903,7 @@ void brainbaf_state::brainbaf(machine_config &config)
|
||||
SPEAKER_SOUND(config, m_speaker);
|
||||
static const double speaker_levels[4] = { 0.0, 1.0, -1.0, 0.0 };
|
||||
m_speaker->set_levels(4, speaker_levels);
|
||||
m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
|
||||
m_speaker->add_route(ALL_OUTPUTS, "mono", 0.125);
|
||||
}
|
||||
|
||||
// roms
|
||||
@ -1081,7 +1081,7 @@ void horocomp_state::horocomp(machine_config &config)
|
||||
SPEAKER_SOUND(config, m_speaker);
|
||||
static const double speaker_levels[4] = { 0.0, 1.0, -1.0, 0.0 };
|
||||
m_speaker->set_levels(4, speaker_levels);
|
||||
m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
|
||||
m_speaker->add_route(ALL_OUTPUTS, "mono", 0.125);
|
||||
}
|
||||
|
||||
// roms
|
||||
@ -1572,7 +1572,7 @@ void rdqa_state::rdqa(machine_config &config)
|
||||
SPEAKER_SOUND(config, m_speaker);
|
||||
static const double speaker_levels[4] = { 0.0, 1.0, -1.0, 0.0 };
|
||||
m_speaker->set_levels(4, speaker_levels);
|
||||
m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
|
||||
m_speaker->add_route(ALL_OUTPUTS, "mono", 0.125);
|
||||
}
|
||||
|
||||
// roms
|
||||
|
82
src/mame/layout/autorace.lay
Normal file
82
src/mame/layout/autorace.lay
Normal file
@ -0,0 +1,82 @@
|
||||
<?xml version="1.0"?>
|
||||
<!--
|
||||
license:CC0
|
||||
-->
|
||||
<mamelayout version="2">
|
||||
|
||||
<!-- define elements -->
|
||||
|
||||
<element name="white"><rect><color red="0.8" green="0.8" blue="0.8" /></rect></element>
|
||||
|
||||
<element name="lane">
|
||||
<rect><bounds x="0" y="0" width="1" height="1" /><color red="0.8" green="0.8" blue="0.8" /></rect>
|
||||
<rect><bounds x="0.05" y="0" width="0.9" height="1" /><color red="0" green="0" blue="0" /></rect>
|
||||
</element>
|
||||
|
||||
<element name="gear" defstate="3">
|
||||
<rect><color red="0.8" green="0.8" blue="0.8" /></rect>
|
||||
<text state="3" string="GEAR:1"><color red="0.6" green="0.6" blue="0.6" /></text>
|
||||
<text state="1" string="GEAR:2"><color red="0.6" green="0.6" blue="0.6" /></text>
|
||||
<text state="0" string="GEAR:3"><color red="0.6" green="0.6" blue="0.6" /></text>
|
||||
<text state="2" string="GEAR:4"><color red="0.6" green="0.6" blue="0.6" /></text>
|
||||
</element>
|
||||
|
||||
<element name="digit" defstate="0">
|
||||
<led7seg><color red="1.0" green="0.1" blue="0.15" /></led7seg>
|
||||
</element>
|
||||
|
||||
<element name="led" defstate="0">
|
||||
<rect>
|
||||
<bounds x="0.0" y="0.0" width="1.0" height="1.0" />
|
||||
<color alpha="0" />
|
||||
</rect>
|
||||
<rect state="0">
|
||||
<bounds x="0.35" y="0.0" width="0.3" height="1.0" />
|
||||
<color red="0.1" green="0.01" blue="0.015" />
|
||||
</rect>
|
||||
<rect state="1">
|
||||
<bounds x="0.35" y="0.0" width="0.3" height="1.0" />
|
||||
<color red="0.5" green="0.05" blue="0.075" />
|
||||
</rect>
|
||||
<rect state="2">
|
||||
<bounds x="0.35" y="0.0" width="0.3" height="1.0" />
|
||||
<color red="1.0" green="0.1" blue="0.15" />
|
||||
</rect>
|
||||
</element>
|
||||
|
||||
|
||||
<!-- 7seg leds -->
|
||||
|
||||
<group name="digits">
|
||||
<element name="digit7" ref="digit"><bounds x="7" y="0" width="0.75" height="1" /></element>
|
||||
<element name="digit8" ref="digit"><bounds x="8" y="0" width="0.75" height="1" /></element>
|
||||
</group>
|
||||
|
||||
|
||||
<!-- build screen -->
|
||||
|
||||
<view name="Internal Layout">
|
||||
<bounds left="16" right="24" top="5.8" bottom="34.5" />
|
||||
|
||||
<!-- bezel -->
|
||||
<element ref="lane"><bounds x="18.69" y="9.7" width="2.62" height="24" /></element>
|
||||
|
||||
<element ref="white" inputtag="IN.0" inputmask="0x00" inputraw="yes"><bounds x="16" y="9.7" width="8" height="0.8" /></element>
|
||||
<collection name="Gear Position">
|
||||
<element ref="gear" inputtag="IN.0" inputmask="0x0c" inputraw="yes"><bounds x="16" y="9.7" width="8" height="0.8" /></element>
|
||||
</collection>
|
||||
|
||||
<!-- led matrix -->
|
||||
<repeat count="7">
|
||||
<param name="y" start="12.1" increment="3.2" />
|
||||
<param name="i1" start="6" increment="-1" />
|
||||
|
||||
<element name="~i1~.2" ref="led"><bounds x="17.0" y="~y~" width="1" height="0.8" /></element>
|
||||
<element name="~i1~.5" ref="led"><bounds x="19.5" y="~y~" width="1" height="0.8" /></element>
|
||||
<element name="~i1~.6" ref="led"><bounds x="22.0" y="~y~" width="1" height="0.8" /></element>
|
||||
</repeat>
|
||||
|
||||
<group ref="digits"><bounds x="18" y="6.6" width="4" height="2.3" /></group>
|
||||
|
||||
</view>
|
||||
</mamelayout>
|
@ -69,13 +69,13 @@ license:CC0
|
||||
<element ref="static_white"><bounds x="2" y="0" width="179" height="48" /></element>
|
||||
<element ref="static_black"><bounds x="4" y="11" width="175" height="26" /></element>
|
||||
|
||||
<element name="digit7" ref="digit"><bounds x="19.5" y="16" width="12" height="16" /></element>
|
||||
<element name="digit6" ref="digit"><bounds x="35.5" y="16" width="12" height="16" /></element>
|
||||
<element name="digit5" ref="digit"><bounds x="67.5" y="16" width="12" height="16" /></element>
|
||||
<element name="digit4" ref="digit"><bounds x="83.5" y="16" width="12" height="16" /></element>
|
||||
<element name="digit3" ref="digit"><bounds x="99.5" y="16" width="12" height="16" /></element>
|
||||
<element name="digit1" ref="digit"><bounds x="131.5" y="16" width="12" height="16" /></element>
|
||||
<element name="digit0" ref="digit"><bounds x="147.5" y="16" width="12" height="16" /></element>
|
||||
<element name="digit7" ref="digit"><bounds x="21" y="16" width="12" height="16" /></element>
|
||||
<element name="digit6" ref="digit"><bounds x="37" y="16" width="12" height="16" /></element>
|
||||
<element name="digit5" ref="digit"><bounds x="69" y="16" width="12" height="16" /></element>
|
||||
<element name="digit4" ref="digit"><bounds x="85" y="16" width="12" height="16" /></element>
|
||||
<element name="digit3" ref="digit"><bounds x="101" y="16" width="12" height="16" /></element>
|
||||
<element name="digit1" ref="digit"><bounds x="133" y="16" width="12" height="16" /></element>
|
||||
<element name="digit0" ref="digit"><bounds x="149" y="16" width="12" height="16" /></element>
|
||||
|
||||
<element ref="static_white"><bounds x="58" y="1" width="2" height="46" /></element>
|
||||
<element ref="static_white"><bounds x="123" y="1" width="2" height="46" /></element>
|
||||
|
67
src/mame/layout/gravity.lay
Normal file
67
src/mame/layout/gravity.lay
Normal file
@ -0,0 +1,67 @@
|
||||
<?xml version="1.0"?>
|
||||
<!--
|
||||
license:CC0
|
||||
-->
|
||||
<mamelayout version="2">
|
||||
|
||||
<!-- define elements -->
|
||||
|
||||
<element name="black"><rect><color red="0" green="0" blue="0" /></rect></element>
|
||||
<element name="white"><rect><color red="0.8" green="0.8" blue="0.8" /></rect></element>
|
||||
<element name="red"><rect><color red="0.4" green="0.1" blue="0.05" /></rect></element>
|
||||
|
||||
<element name="digit" defstate="0">
|
||||
<led7seg><color red="1.0" green="0.1" blue="0.15" /></led7seg>
|
||||
</element>
|
||||
|
||||
<element name="led" defstate="0">
|
||||
<disk state="0"><color red="0.1" green="0.01" blue="0.015" /></disk>
|
||||
<disk state="1"><color red="1.0" green="0.1" blue="0.15" /></disk>
|
||||
</element>
|
||||
|
||||
|
||||
<!-- 7seg leds -->
|
||||
|
||||
<group name="digits">
|
||||
<element name="digit6" ref="digit"><bounds x="0" y="0" width="0.8" height="1" /></element>
|
||||
<element name="digit7" ref="digit"><bounds x="1" y="0" width="0.8" height="1" /></element>
|
||||
<element name="digit8" ref="digit"><bounds x="2" y="0" width="0.8" height="1" /></element>
|
||||
</group>
|
||||
|
||||
|
||||
<!-- build screen -->
|
||||
|
||||
<view name="Internal Layout">
|
||||
<bounds left="0.5" right="13.5" top="0.1" bottom="22.075" />
|
||||
|
||||
<!-- 7segs -->
|
||||
<element ref="white"><bounds x="2.3" y="0.6" width="9.4" height="3.0" /></element>
|
||||
<element ref="black"><bounds x="2.45" y="0.75" width="9.1" height="2.7" /></element>
|
||||
<group ref="digits"><bounds x="4.85" y="1.3" width="4.3" height="1.6" /></group>
|
||||
|
||||
<!-- bezel -->
|
||||
<element ref="red"><bounds x="1" y="21.425" width="12" height="0.15" /></element>
|
||||
<element ref="red"><bounds x="1.25" y="15.425" width="11.5" height="0.15" /></element>
|
||||
|
||||
<repeat count="5">
|
||||
<param name="y" start="20.4" increment="-4" />
|
||||
<param name="x1" start="1.4" increment="0.15" />
|
||||
<param name="x2" start="12.0" increment="-0.15" />
|
||||
<element ref="white"><bounds x="~x1~" y="~y~" width="0.6" height="0.2" /></element>
|
||||
<element ref="white"><bounds x="~x2~" y="~y~" width="0.6" height="0.2" /></element>
|
||||
</repeat>
|
||||
|
||||
<!-- led matrix -->
|
||||
<repeat count="9">
|
||||
<param name="y" start="4" increment="2" />
|
||||
<param name="i1" start="8" increment="-1" />
|
||||
|
||||
<repeat count="3">
|
||||
<param name="x" start="4" increment="2.5" />
|
||||
<param name="i2" start="9" increment="-1" />
|
||||
<element name="~i1~.~i2~" ref="led"><bounds x="~x~" y="~y~" width="1" height="1" /></element>
|
||||
</repeat>
|
||||
</repeat>
|
||||
|
||||
</view>
|
||||
</mamelayout>
|
218
src/mame/layout/mbaseb.lay
Normal file
218
src/mame/layout/mbaseb.lay
Normal file
@ -0,0 +1,218 @@
|
||||
<?xml version="1.0"?>
|
||||
<!--
|
||||
license:CC0
|
||||
-->
|
||||
<mamelayout version="2">
|
||||
|
||||
<!-- define elements -->
|
||||
|
||||
<element name="diamond_white">
|
||||
<image><data><![CDATA[
|
||||
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="1414.21356" height="1414.21356">
|
||||
<rect width="1000.0" height="1000.0" x="500.0" y="-500.0" transform="rotate(45.0)" fill="#ffffff" />
|
||||
</svg>
|
||||
]]></data></image>
|
||||
</element>
|
||||
<element name="diamond_black">
|
||||
<image><data><![CDATA[
|
||||
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="1414.21356" height="1414.21356">
|
||||
<rect width="1000.0" height="1000.0" x="500.0" y="-500.0" transform="rotate(45.0)" fill="#000000" />
|
||||
</svg>
|
||||
]]></data></image>
|
||||
</element>
|
||||
<element name="diamond_green">
|
||||
<image><data><![CDATA[
|
||||
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="1414.21356" height="1414.21356">
|
||||
<rect width="1000.0" height="1000.0" x="500.0" y="-500.0" transform="rotate(45.0)" fill="#48a830" />
|
||||
</svg>
|
||||
]]></data></image>
|
||||
</element>
|
||||
|
||||
<element name="ring_mask">
|
||||
<disk><bounds x="0" y="0" width="1" height="1" /><color red="0" green="0" blue="0" /></disk>
|
||||
<disk><bounds x="0.03" y="0.03" width="0.94" height="0.94" /><color red="1" green="1" blue="1" /></disk>
|
||||
</element>
|
||||
|
||||
<element name="field_outer">
|
||||
<rect><bounds x="0" y="0" width="40" height="40" /><color red="0.285" green="0.659" blue="0.19" /></rect>
|
||||
<disk><bounds x="5.5" y="12.3" width="24" height="24" /><color red="0" green="0" blue="0" /></disk>
|
||||
</element>
|
||||
|
||||
<element name="home_base">
|
||||
<rect><bounds x="0" y="0" width="1.55" height="1.05" /><color red="1" green="1" blue="1" /></rect>
|
||||
<rect><bounds x="0.15" y="0.15" width="1.25" height="1.40" /><color red="0" green="0" blue="0" /></rect>
|
||||
</element>
|
||||
|
||||
<element name="black"><rect><color red="0.0" green="0.0" blue="0.0" /></rect></element>
|
||||
<element name="blackd"><disk><color red="0.0" green="0.0" blue="0.0" /></disk></element>
|
||||
<element name="green"><rect><color red="0.285" green="0.659" blue="0.19" /></rect></element>
|
||||
<element name="white"><rect><color red="1" green="1" blue="1" /></rect></element>
|
||||
<element name="whitem"><rect><color red="0.8" green="0.8" blue="0.8" /></rect></element>
|
||||
|
||||
<element name="text_p"><text string="P"><color red="0.8" green="0.8" blue="0.8" /></text></element>
|
||||
<element name="text_b"><text string="B"><color red="0.1" green="0.35" blue="0.7" /></text></element>
|
||||
|
||||
<element name="text_l1">
|
||||
<rect><color red="0.8" green="0.8" blue="0.8" /></rect>
|
||||
<text string="VISITORS"><color red="0.1" green="0.35" blue="0.7" /></text>
|
||||
</element>
|
||||
<element name="text_l2">
|
||||
<rect><color red="0.8" green="0.8" blue="0.8" /></rect>
|
||||
<text string="HOME"><color red="0.1" green="0.35" blue="0.7" /></text>
|
||||
</element>
|
||||
<element name="text_l3">
|
||||
<rect><color red="0.8" green="0.8" blue="0.8" /></rect>
|
||||
<text string="INNINGS"><color red="0.1" green="0.35" blue="0.7" /></text>
|
||||
</element>
|
||||
<element name="text_l4">
|
||||
<rect><color red="0.8" green="0.8" blue="0.8" /></rect>
|
||||
<text string="OUTS"><color red="0.1" green="0.35" blue="0.7" /></text>
|
||||
</element>
|
||||
<element name="text_l5">
|
||||
<rect><color red="0.8" green="0.8" blue="0.8" /></rect>
|
||||
<text string="BALLS"><color red="0.1" green="0.35" blue="0.7" /></text>
|
||||
</element>
|
||||
<element name="text_l6">
|
||||
<rect><color red="0.8" green="0.8" blue="0.8" /></rect>
|
||||
<text string="STRIKES"><color red="0.1" green="0.35" blue="0.7" /></text>
|
||||
</element>
|
||||
|
||||
<element name="led" defstate="0">
|
||||
<disk>
|
||||
<bounds x="0.0" y="0.0" width="1.0" height="1.0" />
|
||||
<color alpha="0" />
|
||||
</disk>
|
||||
<disk state="0">
|
||||
<bounds x="0.25" y="0.25" width="0.5" height="0.5" />
|
||||
<color red="0.1" green="0.01" blue="0.015" />
|
||||
</disk>
|
||||
<disk state="1">
|
||||
<bounds x="0.25" y="0.25" width="0.5" height="0.5" />
|
||||
<color red="1.0" green="0.1" blue="0.15" />
|
||||
</disk>
|
||||
</element>
|
||||
|
||||
<element name="digit" defstate="0">
|
||||
<led7seg><color red="1.0" green="0.1" blue="0.15" /></led7seg>
|
||||
</element>
|
||||
|
||||
|
||||
<!-- score/status panel -->
|
||||
|
||||
<group name="panel">
|
||||
<element ref="whitem"><bounds x="0" y="0" width="226" height="48" /></element>
|
||||
<element ref="black"><bounds x="2" y="11" width="54" height="26" /></element>
|
||||
<element ref="black"><bounds x="58" y="11" width="54" height="26" /></element>
|
||||
<element ref="black"><bounds x="114" y="11" width="54" height="26" /></element>
|
||||
<element ref="black"><bounds x="170" y="11" width="54" height="26" /></element>
|
||||
|
||||
<element name="digit5" ref="digit"><bounds x="21.5" y="14" width="15" height="20" /></element>
|
||||
<element name="digit4" ref="digit"><bounds x="77.5" y="14" width="15" height="20" /></element>
|
||||
<element name="digit6" ref="digit"><bounds x="133.5" y="14" width="15" height="20" /></element>
|
||||
<element name="digit8" ref="digit"><bounds x="189.5" y="14" width="15" height="20" /></element>
|
||||
|
||||
<element ref="text_l1"><bounds x="2" y="1" width="110" height="9" /></element>
|
||||
<element ref="text_l2"><bounds x="114" y="1" width="110" height="9" /></element>
|
||||
|
||||
<element ref="text_l3"><bounds x="2" y="38" width="54" height="9" /></element>
|
||||
<element ref="text_l4"><bounds x="58" y="38" width="54" height="9" /></element>
|
||||
<element ref="text_l5"><bounds x="114" y="38" width="54" height="9" /></element>
|
||||
<element ref="text_l6"><bounds x="170" y="38" width="54" height="9" /></element>
|
||||
</group>
|
||||
|
||||
|
||||
<!-- build screen -->
|
||||
|
||||
<view name="Internal Layout">
|
||||
<bounds left="5" right="30" top="-2" bottom="29.5" />
|
||||
|
||||
<!-- baseball field -->
|
||||
<element ref="diamond_green"><bounds x="10" y="10" width="15" height="15" /></element>
|
||||
<element ref="ring_mask" blend="multiply"><bounds x="10" y="10" width="15" height="15" /></element>
|
||||
<element ref="blackd"><bounds x="15.75" y="13.15" width="3.5" height="3.5" /></element>
|
||||
<element ref="black"><bounds x="15.75" y="14.9" width="3.5" height="15" /></element>
|
||||
|
||||
<element ref="diamond_white"><bounds x="16.4" y="7.8" width="2.2" height="2.2" /></element>
|
||||
<element ref="diamond_black"><bounds x="16.6" y="8.0" width="1.8" height="1.8" /></element>
|
||||
<element ref="diamond_white"><bounds x="7.8" y="16.4" width="2.2" height="2.2" /></element>
|
||||
<element ref="diamond_black"><bounds x="8.0" y="16.6" width="1.8" height="1.8" /></element>
|
||||
<element ref="diamond_white"><bounds x="25.0" y="16.4" width="2.2" height="2.2" /></element>
|
||||
<element ref="diamond_black"><bounds x="25.2" y="16.6" width="1.8" height="1.8" /></element>
|
||||
|
||||
<element ref="diamond_white"><bounds x="-12.0" y="12.4" width="30" height="30" /></element>
|
||||
<element ref="diamond_white"><bounds x="17.0" y="12.4" width="30" height="30" /></element>
|
||||
<element ref="diamond_black"><bounds x="-12.0" y="12.6" width="30" height="30" /></element>
|
||||
<element ref="diamond_black"><bounds x="17.0" y="12.6" width="30" height="30" /></element>
|
||||
|
||||
<element ref="field_outer" blend="add"><bounds x="0" y="-5" width="40" height="40" /></element>
|
||||
|
||||
<element ref="diamond_green"><bounds x="-12.0" y="13.4" width="30" height="30" /></element>
|
||||
<element ref="diamond_green"><bounds x="17.0" y="13.4" width="30" height="30" /></element>
|
||||
<element ref="green"><bounds x="5" y="28" width="30" height="10" /></element>
|
||||
|
||||
<element ref="black"><bounds x="16" y="26.75" width="3" height="10" /></element>
|
||||
<element ref="black"><bounds x="15.75" y="26.15" width="0.7" height="10" /></element>
|
||||
<element ref="black"><bounds x="18.55" y="26.15" width="0.7" height="10" /></element>
|
||||
|
||||
<element ref="white"><bounds x="17.15" y="26.65" width="0.7" height="0.15" /></element>
|
||||
<element ref="home_base" blend="add"><bounds x="16.725" y="25.3" width="1.55" height="1.55" /></element>
|
||||
|
||||
<element ref="whitem" blend="multiply"><bounds x="0" y="-5" width="40" height="40" /></element>
|
||||
|
||||
<element ref="text_p"><bounds x="16.25" y="14" width="1" height="1.6" /></element>
|
||||
<element ref="black"><bounds x="16.2" y="25" width="0.4" height="2" /></element>
|
||||
<element ref="text_b"><bounds x="15.9" y="25.25" width="1" height="1.6" /></element>
|
||||
|
||||
<!-- cut edges -->
|
||||
<element ref="black"><bounds x="-20" y="-25" width="80" height="25" /></element>
|
||||
<element ref="black"><bounds x="-20" y="29.5" width="80" height="25" /></element>
|
||||
<element ref="black"><bounds x="-20" y="-20" width="25" height="80" /></element>
|
||||
<element ref="black"><bounds x="30" y="-20" width="25" height="80" /></element>
|
||||
|
||||
<element ref="diamond_black"><bounds x="-12.0" y="16.8" width="30" height="30" /></element>
|
||||
<element ref="diamond_black"><bounds x="17.0" y="16.8" width="30" height="30" /></element>
|
||||
|
||||
<!-- leds -->
|
||||
<element name="5.7" ref="led"><bounds x="17.0" y="25.6" width="1" height="1" /></element>
|
||||
<element name="0.8" ref="led"><bounds x="19.866" y="22.733" width="1" height="1" /></element>
|
||||
<element name="0.7" ref="led"><bounds x="22.733" y="19.866" width="1" height="1" /></element>
|
||||
<element name="0.0" ref="led"><bounds x="25.6" y="17.0" width="1" height="1" /></element>
|
||||
<element name="1.8" ref="led"><bounds x="22.733" y="14.133" width="1" height="1" /></element>
|
||||
<element name="1.7" ref="led"><bounds x="19.866" y="11.266" width="1" height="1" /></element>
|
||||
<element name="1.0" ref="led"><bounds x="17.0" y="8.4" width="1" height="1" /></element>
|
||||
<element name="2.8" ref="led"><bounds x="14.133" y="11.266" width="1" height="1" /></element>
|
||||
<element name="2.7" ref="led"><bounds x="11.266" y="14.133" width="1" height="1" /></element>
|
||||
<element name="2.0" ref="led"><bounds x="8.4" y="17.0" width="1" height="1" /></element>
|
||||
<element name="3.8" ref="led"><bounds x="11.266" y="19.866" width="1" height="1" /></element>
|
||||
<element name="3.7" ref="led"><bounds x="14.133" y="22.733" width="1" height="1" /></element>
|
||||
|
||||
<element name="7.0" ref="led"><bounds x="17.0" y="14.85" width="1" height="1" /></element>
|
||||
<element name="7.9" ref="led"><bounds x="17.0" y="16.72" width="1" height="1" /></element>
|
||||
<element name="7.8" ref="led"><bounds x="17.0" y="18.59" width="1" height="1" /></element>
|
||||
<element name="7.7" ref="led"><bounds x="17.0" y="20.46" width="1" height="1" /></element>
|
||||
<element name="5.9" ref="led"><bounds x="17.0" y="22.33" width="1" height="1" /></element>
|
||||
<element name="5.8" ref="led"><bounds x="17.0" y="24.2" width="1" height="1" /></element>
|
||||
|
||||
<element name="6.9" ref="led"><bounds x="18.05" y="16.72" width="1" height="1" /></element>
|
||||
<element name="6.8" ref="led"><bounds x="18.35" y="18.59" width="1" height="1" /></element>
|
||||
<element name="6.7" ref="led"><bounds x="18.05" y="20.46" width="1" height="1" /></element>
|
||||
|
||||
<element name="4.9" ref="led"><bounds x="17.0" y="27.0" width="1" height="1" /></element>
|
||||
<element name="4.8" ref="led"><bounds x="17.0" y="28.1" width="1" height="1" /></element>
|
||||
|
||||
<element name="1.9" ref="led"><bounds x="7.8" y="13.26" width="1" height="1" /></element>
|
||||
<element name="0.9" ref="led"><bounds x="26.2" y="13.26" width="1" height="1" /></element>
|
||||
|
||||
<element ref="black"><bounds x="7.7" y="5.83" width="2" height="2" /></element>
|
||||
<element ref="black"><bounds x="16.5" y="2.9" width="2" height="2" /></element>
|
||||
<element ref="black"><bounds x="25.3" y="5.83" width="2" height="2" /></element>
|
||||
|
||||
<element name="2.9" ref="led"><bounds x="8.2" y="6.33" width="1" height="1" /></element>
|
||||
<element name="3.9" ref="led"><bounds x="17.0" y="3.4" width="1" height="1" /></element>
|
||||
<element name="8.9" ref="led"><bounds x="25.8" y="6.33" width="1" height="1" /></element>
|
||||
|
||||
<element ref="black"><bounds x="-20" y="-2" width="80" height="3.4" /></element>
|
||||
<group ref="panel"><bounds x="9.5" y="-2" width="16" height="3.4" /></group>
|
||||
|
||||
</view>
|
||||
</mamelayout>
|
164
src/mame/layout/mfootb.lay
Normal file
164
src/mame/layout/mfootb.lay
Normal file
@ -0,0 +1,164 @@
|
||||
<?xml version="1.0"?>
|
||||
<!--
|
||||
license:CC0
|
||||
-->
|
||||
<mamelayout version="2">
|
||||
|
||||
<!-- define elements -->
|
||||
|
||||
<element name="black"><rect><color red="0.0" green="0.0" blue="0.0" /></rect></element>
|
||||
<element name="white"><rect><color red="0.8" green="0.8" blue="0.8" /></rect></element>
|
||||
<element name="green"><rect><color red="0.1" green="0.5" blue="0.2" /></rect></element>
|
||||
|
||||
<element name="text_down">
|
||||
<rect><color red="0.8" green="0.8" blue="0.8" /></rect>
|
||||
<text string="DOWN"><color red="0.1" green="0.35" blue="0.7" /></text>
|
||||
</element>
|
||||
<element name="text_home">
|
||||
<rect><color red="0.8" green="0.8" blue="0.8" /></rect>
|
||||
<text string="HOME"><color red="0.1" green="0.35" blue="0.7" /></text>
|
||||
</element>
|
||||
<element name="text_yards">
|
||||
<rect><color red="0.8" green="0.8" blue="0.8" /></rect>
|
||||
<text string="YARDS TO GO"><color red="0.1" green="0.35" blue="0.7" /></text>
|
||||
</element>
|
||||
<element name="text_time">
|
||||
<rect><color red="0.8" green="0.8" blue="0.8" /></rect>
|
||||
<text string="TIME REMAINING"><color red="0.1" green="0.35" blue="0.7" /></text>
|
||||
</element>
|
||||
<element name="text_field">
|
||||
<rect><color red="0.8" green="0.8" blue="0.8" /></rect>
|
||||
<text string="FIELD POSITION"><color red="0.1" green="0.35" blue="0.7" /></text>
|
||||
</element>
|
||||
<element name="text_visitor">
|
||||
<rect><color red="0.8" green="0.8" blue="0.8" /></rect>
|
||||
<text string="VISITOR"><color red="0.1" green="0.35" blue="0.7" /></text>
|
||||
</element>
|
||||
|
||||
<element name="digit" defstate="0">
|
||||
<led7seg><color red="1.0" green="0.1" blue="0.15" /></led7seg>
|
||||
</element>
|
||||
<element name="seg" defstate="0">
|
||||
<rect>
|
||||
<bounds x="0.0" y="0.0" width="1.0" height="1.0" />
|
||||
<color alpha="0" />
|
||||
</rect>
|
||||
<rect state="0">
|
||||
<bounds x="0.25" y="0.15" width="0.5" height="0.7" />
|
||||
<color red="0.1" green="0.01" blue="0.015" />
|
||||
</rect>
|
||||
<rect state="1">
|
||||
<bounds x="0.25" y="0.15" width="0.5" height="0.7" />
|
||||
<color red="0.5" green="0.05" blue="0.075" />
|
||||
</rect>
|
||||
<rect state="2">
|
||||
<bounds x="0.25" y="0.15" width="0.5" height="0.7" />
|
||||
<color red="1.0" green="0.1" blue="0.15" />
|
||||
</rect>
|
||||
</element>
|
||||
|
||||
|
||||
<!-- score/status panel -->
|
||||
|
||||
<group name="panel">
|
||||
<element ref="white"><bounds x="2" y="0" width="179" height="48" /></element>
|
||||
<element ref="black"><bounds x="4" y="11" width="175" height="26" /></element>
|
||||
|
||||
<element name="digit0" ref="digit"><bounds x="21" y="16" width="12" height="16" /></element>
|
||||
<element name="digit1" ref="digit"><bounds x="37" y="16" width="12" height="16" /></element>
|
||||
<element name="digit2" ref="digit"><bounds x="69" y="16" width="12" height="16" /></element>
|
||||
<element name="digit3" ref="digit"><bounds x="85" y="16" width="12" height="16" /></element>
|
||||
<element name="digit4" ref="digit"><bounds x="101" y="16" width="12" height="16" /></element>
|
||||
<element name="digit5" ref="digit"><bounds x="133" y="16" width="12" height="16" /></element>
|
||||
<element name="digit6" ref="digit"><bounds x="149" y="16" width="12" height="16" /></element>
|
||||
|
||||
<element ref="white"><bounds x="58" y="1" width="2" height="46" /></element>
|
||||
<element ref="white"><bounds x="123" y="1" width="2" height="46" /></element>
|
||||
|
||||
<element ref="text_down"><bounds x="4" y="1" width="54" height="9" /></element>
|
||||
<element ref="text_field"><bounds x="58" y="1" width="67" height="9" /></element>
|
||||
<element ref="text_yards"><bounds x="124" y="1" width="56" height="9" /></element>
|
||||
|
||||
<element ref="text_home"><bounds x="4" y="38" width="54" height="9" /></element>
|
||||
<element ref="text_time"><bounds x="58" y="38" width="67" height="9" /></element>
|
||||
<element ref="text_visitor"><bounds x="124" y="38" width="56" height="9" /></element>
|
||||
</group>
|
||||
|
||||
|
||||
<!-- build screen -->
|
||||
|
||||
<view name="Internal Layout">
|
||||
<bounds left="0" right="183" top="-5.7" bottom="109" />
|
||||
|
||||
<element ref="green"><bounds x="-1" y="27" width="205" height="83" /></element>
|
||||
<group ref="panel"><bounds x="12" y="-5.7" width="159" height="42.6" /></group>
|
||||
|
||||
<!-- playing field -->
|
||||
<element ref="white"><bounds x="-1" y="53" width="205" height="54" /></element>
|
||||
|
||||
<element ref="black"><bounds x="2" y="55" width="19" height="50" /></element>
|
||||
<element ref="black"><bounds x="22" y="55" width="19" height="50" /></element>
|
||||
<element ref="black"><bounds x="42" y="55" width="19" height="50" /></element>
|
||||
<element ref="black"><bounds x="62" y="55" width="19" height="50" /></element>
|
||||
<element ref="black"><bounds x="82" y="55" width="19" height="50" /></element>
|
||||
<element ref="black"><bounds x="102" y="55" width="19" height="50" /></element>
|
||||
<element ref="black"><bounds x="122" y="55" width="19" height="50" /></element>
|
||||
<element ref="black"><bounds x="142" y="55" width="19" height="50" /></element>
|
||||
<element ref="black"><bounds x="162" y="55" width="19" height="50" /></element>
|
||||
|
||||
<element ref="white"><bounds x="0" y="71" width="203" height="1" /></element>
|
||||
<element ref="white"><bounds x="0" y="88" width="203" height="1" /></element>
|
||||
|
||||
<element ref="black"><bounds x="3.5" y="56" width="16" height="48" /></element>
|
||||
<element ref="black"><bounds x="23.5" y="56" width="16" height="48" /></element>
|
||||
<element ref="black"><bounds x="43.5" y="56" width="16" height="48" /></element>
|
||||
<element ref="black"><bounds x="63.5" y="56" width="16" height="48" /></element>
|
||||
<element ref="black"><bounds x="83.5" y="56" width="16" height="48" /></element>
|
||||
<element ref="black"><bounds x="103.5" y="56" width="16" height="48" /></element>
|
||||
<element ref="black"><bounds x="123.5" y="56" width="16" height="48" /></element>
|
||||
<element ref="black"><bounds x="143.5" y="56" width="16" height="48" /></element>
|
||||
<element ref="black"><bounds x="163.5" y="56" width="16" height="48" /></element>
|
||||
|
||||
<element name="0.10" ref="seg"><bounds x="7" y="62" width="9" height="2" /></element>
|
||||
<element name="0.9" ref="seg"><bounds x="7" y="79" width="9" height="2" /></element>
|
||||
<element name="0.8" ref="seg"><bounds x="7" y="96" width="9" height="2" /></element>
|
||||
|
||||
<element name="1.10" ref="seg"><bounds x="27" y="62" width="9" height="2" /></element>
|
||||
<element name="1.9" ref="seg"><bounds x="27" y="79" width="9" height="2" /></element>
|
||||
<element name="1.8" ref="seg"><bounds x="27" y="96" width="9" height="2" /></element>
|
||||
|
||||
<element name="2.10" ref="seg"><bounds x="47" y="62" width="9" height="2" /></element>
|
||||
<element name="2.9" ref="seg"><bounds x="47" y="79" width="9" height="2" /></element>
|
||||
<element name="2.8" ref="seg"><bounds x="47" y="96" width="9" height="2" /></element>
|
||||
|
||||
<element name="3.10" ref="seg"><bounds x="67" y="62" width="9" height="2" /></element>
|
||||
<element name="3.9" ref="seg"><bounds x="67" y="79" width="9" height="2" /></element>
|
||||
<element name="3.8" ref="seg"><bounds x="67" y="96" width="9" height="2" /></element>
|
||||
|
||||
<element name="4.10" ref="seg"><bounds x="87" y="62" width="9" height="2" /></element>
|
||||
<element name="4.9" ref="seg"><bounds x="87" y="79" width="9" height="2" /></element>
|
||||
<element name="4.8" ref="seg"><bounds x="87" y="96" width="9" height="2" /></element>
|
||||
|
||||
<element name="5.10" ref="seg"><bounds x="107" y="62" width="9" height="2" /></element>
|
||||
<element name="5.9" ref="seg"><bounds x="107" y="79" width="9" height="2" /></element>
|
||||
<element name="5.8" ref="seg"><bounds x="107" y="96" width="9" height="2" /></element>
|
||||
|
||||
<element name="6.10" ref="seg"><bounds x="127" y="62" width="9" height="2" /></element>
|
||||
<element name="6.9" ref="seg"><bounds x="127" y="79" width="9" height="2" /></element>
|
||||
<element name="6.8" ref="seg"><bounds x="127" y="96" width="9" height="2" /></element>
|
||||
|
||||
<element name="7.10" ref="seg"><bounds x="147" y="62" width="9" height="2" /></element>
|
||||
<element name="7.9" ref="seg"><bounds x="147" y="79" width="9" height="2" /></element>
|
||||
<element name="7.8" ref="seg"><bounds x="147" y="96" width="9" height="2" /></element>
|
||||
|
||||
<element name="8.10" ref="seg"><bounds x="167" y="62" width="9" height="2" /></element>
|
||||
<element name="8.9" ref="seg"><bounds x="167" y="79" width="9" height="2" /></element>
|
||||
<element name="8.8" ref="seg"><bounds x="167" y="96" width="9" height="2" /></element>
|
||||
|
||||
<!-- cut edges -->
|
||||
<element ref="black"><bounds x="-10" y="0" width="10" height="150" /></element>
|
||||
<element ref="black"><bounds x="183" y="0" width="100" height="150" /></element>
|
||||
<element ref="black"><bounds x="-10" y="109" width="300" height="10" /></element>
|
||||
|
||||
</view>
|
||||
</mamelayout>
|
@ -12,27 +12,27 @@ license:CC0
|
||||
|
||||
<element name="text_down">
|
||||
<rect><color red="0.8" green="0.8" blue="0.8" /></rect>
|
||||
<text string="DOWN"><color red="0.1" green="0.4" blue="0.8" /></text>
|
||||
<text string="DOWN"><color red="0.1" green="0.35" blue="0.7" /></text>
|
||||
</element>
|
||||
<element name="text_home">
|
||||
<rect><color red="0.8" green="0.8" blue="0.8" /></rect>
|
||||
<text string="HOME"><color red="0.1" green="0.4" blue="0.8" /></text>
|
||||
<text string="HOME"><color red="0.1" green="0.35" blue="0.7" /></text>
|
||||
</element>
|
||||
<element name="text_yards">
|
||||
<rect><color red="0.8" green="0.8" blue="0.8" /></rect>
|
||||
<text string="YARDS TO GO"><color red="0.1" green="0.4" blue="0.8" /></text>
|
||||
<text string="YARDS TO GO"><color red="0.1" green="0.35" blue="0.7" /></text>
|
||||
</element>
|
||||
<element name="text_time">
|
||||
<rect><color red="0.8" green="0.8" blue="0.8" /></rect>
|
||||
<text string="TIME REMAINING"><color red="0.1" green="0.4" blue="0.8" /></text>
|
||||
<text string="TIME REMAINING"><color red="0.1" green="0.35" blue="0.7" /></text>
|
||||
</element>
|
||||
<element name="text_field">
|
||||
<rect><color red="0.8" green="0.8" blue="0.8" /></rect>
|
||||
<text string="FIELD POSITION"><color red="0.1" green="0.4" blue="0.8" /></text>
|
||||
<text string="FIELD POSITION"><color red="0.1" green="0.35" blue="0.7" /></text>
|
||||
</element>
|
||||
<element name="text_visitors">
|
||||
<rect><color red="0.8" green="0.8" blue="0.8" /></rect>
|
||||
<text string="VISITORS"><color red="0.1" green="0.4" blue="0.8" /></text>
|
||||
<text string="VISITORS"><color red="0.1" green="0.35" blue="0.7" /></text>
|
||||
</element>
|
||||
|
||||
<element name="digit" defstate="0">
|
||||
@ -64,13 +64,13 @@ license:CC0
|
||||
<element ref="white"><bounds x="2" y="0" width="179" height="48" /></element>
|
||||
<element ref="black"><bounds x="4" y="11" width="175" height="26" /></element>
|
||||
|
||||
<element name="digit8" ref="digit"><bounds x="19.5" y="16" width="12" height="16" /></element>
|
||||
<element name="digit9" ref="digit"><bounds x="35.5" y="16" width="12" height="16" /></element>
|
||||
<element name="digit0" ref="digit"><bounds x="67.5" y="16" width="12" height="16" /></element>
|
||||
<element name="digit1" ref="digit"><bounds x="83.5" y="16" width="12" height="16" /></element>
|
||||
<element name="digit2" ref="digit"><bounds x="99.5" y="16" width="12" height="16" /></element>
|
||||
<element name="digit6" ref="digit"><bounds x="131.5" y="16" width="12" height="16" /></element>
|
||||
<element name="digit7" ref="digit"><bounds x="147.5" y="16" width="12" height="16" /></element>
|
||||
<element name="digit8" ref="digit"><bounds x="21" y="16" width="12" height="16" /></element>
|
||||
<element name="digit9" ref="digit"><bounds x="37" y="16" width="12" height="16" /></element>
|
||||
<element name="digit0" ref="digit"><bounds x="69" y="16" width="12" height="16" /></element>
|
||||
<element name="digit1" ref="digit"><bounds x="85" y="16" width="12" height="16" /></element>
|
||||
<element name="digit2" ref="digit"><bounds x="101" y="16" width="12" height="16" /></element>
|
||||
<element name="digit6" ref="digit"><bounds x="133" y="16" width="12" height="16" /></element>
|
||||
<element name="digit7" ref="digit"><bounds x="149" y="16" width="12" height="16" /></element>
|
||||
|
||||
<element ref="white"><bounds x="58" y="1" width="2" height="46" /></element>
|
||||
<element ref="white"><bounds x="123" y="1" width="2" height="46" /></element>
|
||||
|
@ -37,7 +37,7 @@ license:CC0
|
||||
<element ref="lcdm" blend="multiply"><bounds x="0" y="0" width="18" height="18" /></element>
|
||||
<element ref="lcda" blend="add"><bounds x="0" y="0" width="18" height="18" /></element>
|
||||
|
||||
<collection name="Paddle State">
|
||||
<collection name="Paddle Position">
|
||||
<!-- show live paddle position -->
|
||||
<element ref="text_p1" blend="add"><bounds x="10.75" y="0.1" width="5" height="0.75" /></element>
|
||||
<element ref="nothing" blend="add" inputtag="PADDLE" inputmask="0x00" inputraw="yes"><bounds x="15.95" y="0.1" width="2" height="0.75" /></element> <!-- block clickable input -->
|
||||
|
120
src/mame/layout/misatk.lay
Normal file
120
src/mame/layout/misatk.lay
Normal file
@ -0,0 +1,120 @@
|
||||
<?xml version="1.0"?>
|
||||
<!--
|
||||
license:CC0
|
||||
-->
|
||||
<mamelayout version="2">
|
||||
|
||||
<!-- define elements -->
|
||||
|
||||
<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="yellowm"><rect><color red="0.6" green="0.55" blue="0.2" /></rect></element>
|
||||
|
||||
<element name="ring">
|
||||
<disk><bounds x="0" y="0" width="1" height="1" /><color red="1" green="1" blue="1" /></disk>
|
||||
<disk><bounds x="0.0075" y="0.0075" width="0.985" height="0.985" /><color red="0" green="0" blue="0" /></disk>
|
||||
</element>
|
||||
|
||||
<element name="ring2">
|
||||
<disk><bounds x="0" y="0" width="1" height="1" /><color red="1" green="1" blue="1" /></disk>
|
||||
<disk><bounds x="2" y="0" width="1" height="1" /><color red="1" green="1" blue="1" /></disk>
|
||||
<rect><bounds x="0.5" y="0" width="2" height="1" /><color red="1" green="1" blue="1" /></rect>
|
||||
|
||||
<disk><bounds x="0.05" y="0.05" width="0.9" height="0.9" /><color red="0" green="0" blue="0" /></disk>
|
||||
<disk><bounds x="2.05" y="0.05" width="0.9" height="0.9" /><color red="0" green="0" blue="0" /></disk>
|
||||
<rect><bounds x="0.5" y="0.05" width="2" height="0.9" /><color red="0" green="0" blue="0" /></rect>
|
||||
</element>
|
||||
|
||||
<element name="text_-1"><text string=" "></text></element> <!-- loop overflow -->
|
||||
<element name="text_0"><text string="0"></text></element>
|
||||
<element name="text_1"><text string="1"></text></element>
|
||||
<element name="text_2"><text string="2"></text></element>
|
||||
<element name="text_3"><text string="3"></text></element>
|
||||
<element name="text_4"><text string="4"></text></element>
|
||||
<element name="text_5"><text string="5"></text></element>
|
||||
<element name="text_6"><text string="6"></text></element>
|
||||
|
||||
<element name="digit" defstate="0">
|
||||
<led7seg><color red="1.0" green="0.1" blue="0.15" /></led7seg>
|
||||
</element>
|
||||
|
||||
<element name="led" defstate="0">
|
||||
<rect>
|
||||
<bounds x="0.0" y="0.0" width="1.0" height="1.0" />
|
||||
<color alpha="0" />
|
||||
</rect>
|
||||
<rect state="0">
|
||||
<bounds x="0.35" y="0.0" width="0.3" height="1.0" />
|
||||
<color red="0.1" green="0.01" blue="0.015" />
|
||||
</rect>
|
||||
<rect state="1">
|
||||
<bounds x="0.35" y="0.0" width="0.3" height="1.0" />
|
||||
<color red="0.5" green="0.05" blue="0.075" />
|
||||
</rect>
|
||||
<rect state="2">
|
||||
<bounds x="0.35" y="0.0" width="0.3" height="1.0" />
|
||||
<color red="1.0" green="0.1" blue="0.15" />
|
||||
</rect>
|
||||
</element>
|
||||
|
||||
|
||||
<!-- 7seg leds -->
|
||||
|
||||
<group name="digits">
|
||||
<element name="digit7" ref="digit"><bounds x="7" y="0" width="0.75" height="1" /></element>
|
||||
<element name="digit8" ref="digit"><bounds x="8" y="0" width="0.75" height="1" /></element>
|
||||
</group>
|
||||
|
||||
|
||||
<!-- build screen -->
|
||||
|
||||
<view name="Internal Layout">
|
||||
<bounds left="12.5" right="27.6" top="3.4" bottom="35.64" />
|
||||
|
||||
<!-- bezel -->
|
||||
<element ref="white"><bounds x="13" y="3.9" width="14" height="0.14" /></element>
|
||||
<element ref="white"><bounds x="19.93" y="3.9" width="0.14" height="10" /></element>
|
||||
<element ref="ring2"><bounds x="15.5" y="5.5" width="9" height="3" /></element>
|
||||
|
||||
<repeat count="8">
|
||||
<param name="y" start="10" increment="3.2" />
|
||||
<element ref="ring"><bounds x="10" y="~y~" width="20" height="20" /></element>
|
||||
</repeat>
|
||||
<element ref="black"><bounds x="8" y="10" width="5" height="50" /></element>
|
||||
<element ref="black"><bounds x="27" y="10" width="5" height="50" /></element>
|
||||
<element ref="black"><bounds x="10" y="40" width="20" height="50" /></element>
|
||||
|
||||
<repeat count="4">
|
||||
<param name="y" start="13.5" increment="6.4" />
|
||||
<element ref="black"><bounds x="10" y="~y~" width="5.2" height="3.2" /></element>
|
||||
<element ref="black"><bounds x="24.8" y="~y~" width="5" height="3.2" /></element>
|
||||
</repeat>
|
||||
|
||||
<repeat count="4">
|
||||
<param name="y1" start="12.0" increment="6.4" />
|
||||
<param name="y2" start="15.1" increment="6.4" />
|
||||
<param name="i1" start="6" increment="-2" />
|
||||
<param name="i2" start="5" increment="-2" />
|
||||
<element ref="text_~i1~"><bounds x="13.3" y="~y1~" width="2" height="2.8" /></element>
|
||||
<element ref="text_~i1~"><bounds x="24.7" y="~y1~" width="2" height="2.8" /></element>
|
||||
<element ref="text_~i2~"><bounds x="13.3" y="~y2~" width="2" height="2.8" /></element>
|
||||
<element ref="text_~i2~"><bounds x="24.7" y="~y2~" width="2" height="2.8" /></element>
|
||||
</repeat>
|
||||
|
||||
<element ref="white"><bounds x="13" y="35" width="14" height="0.14" /></element>
|
||||
<element ref="yellowm" blend="multiply"><bounds x="0" y="0" width="50" height="50" /></element>
|
||||
|
||||
<!-- led matrix -->
|
||||
<repeat count="7">
|
||||
<param name="y" start="12.1" increment="3.2" />
|
||||
<param name="i1" start="6" increment="-1" />
|
||||
|
||||
<element name="~i1~.2" ref="led"><bounds x="17.0" y="~y~" width="1" height="0.8" /></element>
|
||||
<element name="~i1~.5" ref="led"><bounds x="19.5" y="~y~" width="1" height="0.8" /></element>
|
||||
<element name="~i1~.6" ref="led"><bounds x="22.0" y="~y~" width="1" height="0.8" /></element>
|
||||
</repeat>
|
||||
|
||||
<group ref="digits"><bounds x="18" y="5.85" width="4" height="2.3" /></group>
|
||||
|
||||
</view>
|
||||
</mamelayout>
|
@ -69,13 +69,13 @@ license:CC0
|
||||
<element ref="static_white"><bounds x="2" y="0" width="179" height="48" /></element>
|
||||
<element ref="static_black"><bounds x="4" y="11" width="175" height="26" /></element>
|
||||
|
||||
<element name="digit6" ref="digit"><bounds x="19.5" y="16" width="12" height="16" /></element>
|
||||
<element name="digit5" ref="digit"><bounds x="35.5" y="16" width="12" height="16" /></element>
|
||||
<element name="digit4" ref="digit"><bounds x="67.5" y="16" width="12" height="16" /></element>
|
||||
<element name="digit3" ref="digit"><bounds x="83.5" y="16" width="12" height="16" /></element>
|
||||
<element name="digit2" ref="digit"><bounds x="99.5" y="16" width="12" height="16" /></element>
|
||||
<element name="digit1" ref="digit"><bounds x="131.5" y="16" width="12" height="16" /></element>
|
||||
<element name="digit0" ref="digit"><bounds x="147.5" y="16" width="12" height="16" /></element>
|
||||
<element name="digit6" ref="digit"><bounds x="21" y="16" width="12" height="16" /></element>
|
||||
<element name="digit5" ref="digit"><bounds x="37" y="16" width="12" height="16" /></element>
|
||||
<element name="digit4" ref="digit"><bounds x="69" y="16" width="12" height="16" /></element>
|
||||
<element name="digit3" ref="digit"><bounds x="85" y="16" width="12" height="16" /></element>
|
||||
<element name="digit2" ref="digit"><bounds x="101" y="16" width="12" height="16" /></element>
|
||||
<element name="digit1" ref="digit"><bounds x="133" y="16" width="12" height="16" /></element>
|
||||
<element name="digit0" ref="digit"><bounds x="149" y="16" width="12" height="16" /></element>
|
||||
|
||||
<element ref="static_white"><bounds x="58" y="1" width="2" height="46" /></element>
|
||||
<element ref="static_white"><bounds x="123" y="1" width="2" height="46" /></element>
|
||||
|
@ -69,13 +69,13 @@ license:CC0
|
||||
<element ref="static_white"><bounds x="2" y="0" width="179" height="48" /></element>
|
||||
<element ref="static_black"><bounds x="4" y="11" width="175" height="26" /></element>
|
||||
|
||||
<element name="digit7" ref="digit"><bounds x="19.5" y="16" width="12" height="16" /></element>
|
||||
<element name="digit6" ref="digit"><bounds x="35.5" y="16" width="12" height="16" /></element>
|
||||
<element name="digit5" ref="digit"><bounds x="67.5" y="16" width="12" height="16" /></element>
|
||||
<element name="digit4" ref="digit"><bounds x="83.5" y="16" width="12" height="16" /></element>
|
||||
<element name="digit3" ref="digit"><bounds x="99.5" y="16" width="12" height="16" /></element>
|
||||
<element name="digit1" ref="digit"><bounds x="131.5" y="16" width="12" height="16" /></element>
|
||||
<element name="digit0" ref="digit"><bounds x="147.5" y="16" width="12" height="16" /></element>
|
||||
<element name="digit7" ref="digit"><bounds x="21" y="16" width="12" height="16" /></element>
|
||||
<element name="digit6" ref="digit"><bounds x="37" y="16" width="12" height="16" /></element>
|
||||
<element name="digit5" ref="digit"><bounds x="69" y="16" width="12" height="16" /></element>
|
||||
<element name="digit4" ref="digit"><bounds x="85" y="16" width="12" height="16" /></element>
|
||||
<element name="digit3" ref="digit"><bounds x="101" y="16" width="12" height="16" /></element>
|
||||
<element name="digit1" ref="digit"><bounds x="133" y="16" width="12" height="16" /></element>
|
||||
<element name="digit0" ref="digit"><bounds x="149" y="16" width="12" height="16" /></element>
|
||||
|
||||
<element ref="static_white"><bounds x="58" y="1" width="2" height="46" /></element>
|
||||
<element ref="static_white"><bounds x="123" y="1" width="2" height="46" /></element>
|
||||
|
Loading…
Reference in New Issue
Block a user