cz101: Add LCD display, inputs and a debug layout

This commit is contained in:
Dirk Best 2018-03-22 00:32:38 +01:00
parent b264c78526
commit f2069589e8
2 changed files with 450 additions and 4 deletions

View File

@ -6,12 +6,15 @@
Digital Synthesizer
Skeleton driver
***************************************************************************/
#include "emu.h"
#include "cpu/upd7810/upd7811.h"
#include "machine/clock.h"
#include "video/hd44780.h"
#include "screen.h"
#include "cz101.lh"
//**************************************************************************
@ -22,17 +25,46 @@ class cz101_state : public driver_device
{
public:
cz101_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag)
: driver_device(mconfig, type, tag),
m_maincpu(*this, "maincpu"),
m_hd44780(*this, "hd44780"),
m_keys(*this, "kc%u", 0),
m_port_b(0), m_port_c(0),
m_midi_clock(0)
{ }
void cz101(machine_config &config);
DECLARE_PALETTE_INIT(cz101);
HD44780_PIXEL_UPDATE(lcd_pixel_update);
protected:
virtual void machine_start() override;
virtual void machine_reset() override;
private:
required_device<upd7810_device> m_maincpu;
required_device<hd44780_device> m_hd44780;
required_ioport_array<16> m_keys;
void maincpu_map(address_map &map);
DECLARE_READ8_MEMBER(port_a_r);
DECLARE_WRITE8_MEMBER(port_a_w);
DECLARE_WRITE8_MEMBER(port_b_w);
DECLARE_READ8_MEMBER(port_c_r);
DECLARE_WRITE8_MEMBER(port_c_w);
DECLARE_WRITE8_MEMBER(led_1_w);
DECLARE_WRITE8_MEMBER(led_2_w);
DECLARE_WRITE8_MEMBER(led_3_w);
DECLARE_WRITE8_MEMBER(led_4_w);
DECLARE_READ8_MEMBER(keys_r);
DECLARE_WRITE_LINE_MEMBER(midi_clock_w);
uint8_t m_port_b;
uint8_t m_port_c;
uint8_t m_midi_clock;
};
@ -43,6 +75,13 @@ private:
void cz101_state::maincpu_map(address_map &map)
{
map(0x0000, 0x7fff).rom().region("program", 0);
map(0x8000, 0x8fff).ram();
map(0x9000, 0x97ff).noprw(); // rampack
map(0x9800, 0x9fff).w(this, FUNC(cz101_state::led_4_w));
map(0xa000, 0xa7ff).w(this, FUNC(cz101_state::led_3_w));
map(0xa800, 0xafff).w(this, FUNC(cz101_state::led_2_w));
map(0xb000, 0xb7ff).w(this, FUNC(cz101_state::led_1_w));
map(0xb800, 0xbfff).r(this, FUNC(cz101_state::keys_r));
}
@ -51,6 +90,151 @@ void cz101_state::maincpu_map(address_map &map)
//**************************************************************************
static INPUT_PORTS_START( cz101 )
PORT_START("kc0")
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("C2")
PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("C#2")
PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("D2")
PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("D#2")
PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("E2")
PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("F2")
PORT_BIT(0xc0, IP_ACTIVE_LOW, IPT_UNUSED)
PORT_START("kc1")
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("F#2")
PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("G2")
PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("G#2")
PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("A2")
PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("A#2")
PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("B2")
PORT_BIT(0xc0, IP_ACTIVE_LOW, IPT_UNUSED)
PORT_START("kc2")
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("C3")
PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("C#3")
PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("D3")
PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("D#3")
PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("E3")
PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("F3")
PORT_BIT(0xc0, IP_ACTIVE_LOW, IPT_UNUSED)
PORT_START("kc3")
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("F#3")
PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("G3")
PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("G#3")
PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("A3")
PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("A#3")
PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("B3")
PORT_BIT(0xc0, IP_ACTIVE_LOW, IPT_UNUSED)
PORT_START("kc4")
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("C4")
PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("C#4")
PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("D4")
PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("D#4")
PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("E4")
PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("F4")
PORT_BIT(0xc0, IP_ACTIVE_LOW, IPT_UNUSED)
PORT_START("kc5")
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("F#4")
PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("G4")
PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("G#4")
PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("A4")
PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("A#4")
PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("B4")
PORT_BIT(0xc0, IP_ACTIVE_LOW, IPT_UNUSED)
PORT_START("kc6")
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("C5")
PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("C#5")
PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("D5")
PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("D#5")
PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("E5")
PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("F5")
PORT_BIT(0xc0, IP_ACTIVE_LOW, IPT_UNUSED)
PORT_START("kc7")
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("F#5")
PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("G5")
PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("G#5")
PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("A5")
PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("A#5")
PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("B5")
PORT_BIT(0xc0, IP_ACTIVE_LOW, IPT_UNUSED)
PORT_START("kc8")
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("C6")
PORT_BIT(0xfe, IP_ACTIVE_LOW, IPT_UNUSED)
PORT_START("kc9")
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("PORTMNT ON/OFF")
PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("PORTMT TIME")
PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("VIBRATO ON/OFF")
PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("BEND RANGE")
PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("PRESET")
PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("INTERNAL")
PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("CARTRIDGE")
PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("COMP/RECALL")
PORT_START("kc10")
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("SOLO")
PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("TONE MIX")
PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("TRANSPOSE")
PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("WRITE")
PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("MIDI")
PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("PROTECT")
PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("SELECT")
PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("P")
PORT_START("kc11")
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("TONE 1")
PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("TONE 2")
PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("TONE 3")
PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("TONE 4")
PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("TONE 5")
PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("TONE 6")
PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("TONE 7")
PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("TONE 8")
PORT_START("kc12")
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("SAVE")
PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("LOAD")
PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("CURSOR \xe2\x97\x81") // ◁
PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("CURSOR \xe2\x96\xb7") // ▷
PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("ENV \xe2\x96\xbd") // ▽
PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("ENV \xe2\x96\xb3") // △
PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("ENV SUST.")
PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("ENV END")
PORT_START("kc13")
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("PACK DETECT")
PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("VIBRAT")
PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("DC01 WAVE")
PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("DC01 ENV")
PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("DCW1 KEY")
PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("DCW1 ENV")
PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("DCA1 KEY")
PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("DCA1 ENV")
PORT_START("kc14")
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("INITIALIZE")
PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("OCTAVE")
PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("DCO2 WAVE")
PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("DCO2 ENV")
PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("DCW2 KEY")
PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("DCW2 ENV")
PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("DCA2 KEY")
PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("DCA2 ENV")
PORT_START("kc15")
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("DETUNE")
PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("LINE SELECT")
PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("RING")
PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("NOISE")
PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("TUNE \xe2\x96\xbd") // ▽
PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("TUNE \xe2\x96\xb3") // △
PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("APO ON/OFF")
PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_UNUSED)
INPUT_PORTS_END
@ -58,8 +242,126 @@ INPUT_PORTS_END
// MACHINE EMULATION
//**************************************************************************
PALETTE_INIT_MEMBER( cz101_state, cz101 )
{
palette.set_pen_color(0, rgb_t(138, 146, 148)); // background
palette.set_pen_color(1, rgb_t( 92, 83, 88)); // lcd pixel on
palette.set_pen_color(2, rgb_t(131, 136, 139)); // lcd pixel off
}
HD44780_PIXEL_UPDATE( cz101_state::lcd_pixel_update )
{
// char size is 5x8
if (x > 4 || y > 7)
return;
if (line < 2 && pos < 16)
bitmap.pix16(1 + y + line*8 + line, 1 + pos*6 + x) = state ? 1 : 2;
}
WRITE8_MEMBER( cz101_state::led_4_w )
{
output().set_value("led_0", BIT(data, 7) ? 0 : 1);
output().set_value("led_1", BIT(data, 6) ? 0 : 1);
output().set_value("led_2", BIT(data, 5) ? 0 : 1);
output().set_value("led_3", BIT(data, 4) ? 0 : 1);
output().set_value("led_4", BIT(data, 3) ? 0 : 1);
output().set_value("led_5", BIT(data, 2) ? 0 : 1);
output().set_value("led_6", BIT(data, 1) ? 0 : 1);
output().set_value("led_7", BIT(data, 0) ? 0 : 1);
}
WRITE8_MEMBER( cz101_state::led_3_w )
{
output().set_value("led_8", BIT(data, 7) ? 0 : 1);
output().set_value("led_9", BIT(data, 6) ? 0 : 1);
output().set_value("led_10", BIT(data, 5) ? 0 : 1);
output().set_value("led_11", BIT(data, 4) ? 0 : 1);
output().set_value("led_12", BIT(data, 3) ? 0 : 1);
output().set_value("led_13", BIT(data, 2) ? 0 : 1);
output().set_value("led_14", BIT(data, 1) ? 0 : 1);
output().set_value("led_15", BIT(data, 0) ? 0 : 1);
}
WRITE8_MEMBER( cz101_state::led_2_w )
{
output().set_value("led_16", BIT(data, 7) ? 0 : 1);
output().set_value("led_17", BIT(data, 6) ? 0 : 1);
output().set_value("led_18", BIT(data, 5) ? 0 : 1);
output().set_value("led_19", BIT(data, 4) ? 0 : 1);
output().set_value("led_20", BIT(data, 3) ? 0 : 1);
output().set_value("led_21", BIT(data, 2) ? 0 : 1);
output().set_value("led_22", BIT(data, 1) ? 0 : 1);
output().set_value("led_23", BIT(data, 0) ? 0 : 1);
}
WRITE8_MEMBER( cz101_state::led_1_w )
{
output().set_value("led_24", BIT(data, 7) ? 0 : 1);
output().set_value("led_25", BIT(data, 6) ? 0 : 1);
output().set_value("led_26", BIT(data, 5) ? 0 : 1);
output().set_value("led_27", BIT(data, 4) ? 0 : 1);
output().set_value("led_28", BIT(data, 3) ? 0 : 1);
output().set_value("led_29", BIT(data, 2) ? 0 : 1);
output().set_value("led_30", BIT(data, 1) ? 0 : 1);
output().set_value("led_31", BIT(data, 0) ? 0 : 1);
}
READ8_MEMBER( cz101_state::keys_r )
{
return m_keys[m_port_b & 0x0f]->read();
}
READ8_MEMBER( cz101_state::port_a_r )
{
if ((BIT(m_port_c, 7) == 1) && (BIT(m_port_c, 6) == 1))
return m_hd44780->read(space, BIT(m_port_c, 5));
return 0xff;
}
WRITE8_MEMBER( cz101_state::port_a_w )
{
if ((BIT(m_port_c, 7) == 1) && (BIT(m_port_c, 6) == 0))
m_hd44780->write(space, BIT(m_port_c, 5), data);
}
WRITE8_MEMBER( cz101_state::port_b_w )
{
if (1)
logerror("port_b_w: %02x\n", data);
m_port_b = data;
}
READ8_MEMBER( cz101_state::port_c_r )
{
uint8_t data = 0;
data |= m_midi_clock << 2;
return data;
}
WRITE8_MEMBER( cz101_state::port_c_w )
{
if (1)
logerror("port_c_w: %02x\n", data);
m_port_c = data;
}
WRITE_LINE_MEMBER( cz101_state::midi_clock_w )
{
m_midi_clock = state;
}
void cz101_state::machine_start()
{
// register for save states
save_item(NAME(m_port_b));
save_item(NAME(m_port_c));
save_item(NAME(m_midi_clock));
}
void cz101_state::machine_reset()
@ -74,6 +376,32 @@ void cz101_state::machine_reset()
MACHINE_CONFIG_START( cz101_state::cz101 )
MCFG_CPU_ADD("maincpu", UPD7810, 10_MHz_XTAL) // actually 7811, but internal ROM disabled
MCFG_CPU_PROGRAM_MAP(maincpu_map)
MCFG_UPD7810_PORTA_READ_CB(READ8(cz101_state, port_a_r))
MCFG_UPD7810_PORTA_WRITE_CB(WRITE8(cz101_state, port_a_w))
MCFG_UPD7810_PORTB_WRITE_CB(WRITE8(cz101_state, port_b_w))
MCFG_UPD7810_PORTC_READ_CB(READ8(cz101_state, port_c_r))
MCFG_UPD7810_PORTC_WRITE_CB(WRITE8(cz101_state, port_c_w))
MCFG_CLOCK_ADD("midi_clock", 2_MHz_XTAL)
MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(cz101_state, midi_clock_w))
// video hardware
MCFG_SCREEN_ADD("screen", LCD)
MCFG_SCREEN_REFRESH_RATE(50)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_SIZE(6*16+1, 19)
MCFG_SCREEN_VISIBLE_AREA(0, 6*16, 0, 19-1)
MCFG_SCREEN_UPDATE_DEVICE("hd44780", hd44780_device, screen_update)
MCFG_SCREEN_PALETTE("palette")
MCFG_PALETTE_ADD("palette", 3)
MCFG_PALETTE_INIT_OWNER(cz101_state, cz101)
MCFG_HD44780_ADD("hd44780")
MCFG_HD44780_LCD_SIZE(2, 16)
MCFG_HD44780_PIXEL_UPDATE_CB(cz101_state, lcd_pixel_update)
MCFG_DEFAULT_LAYOUT(layout_cz101)
MACHINE_CONFIG_END
@ -95,4 +423,4 @@ ROM_END
//**************************************************************************
// YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS
CONS( 1984, cz101, 0, 0, cz101, cz101, cz101_state, 0, "Casio", "CZ-101", MACHINE_IS_SKELETON )
CONS( 1984, cz101, 0, 0, cz101, cz101, cz101_state, 0, "Casio", "CZ-101", MACHINE_NOT_WORKING | MACHINE_NO_SOUND )

118
src/mame/layout/cz101.lay Normal file
View File

@ -0,0 +1,118 @@
<?xml version="1.0"?>
<mamelayout version="2">
<element name="background">
</element>
<element name="led" defstate="0">
<rect state="0">
<color red="0" green="0.2" blue="0" />
</rect>
<rect state="1">
<color red="0" green="0.8" blue="0" />
</rect>
</element>
<view name="Debugging Lamps">
<bezel element="background">
<bounds x="0" y="0" width="776" height="200" />
</bezel>
<screen index="0">
<bounds left="0" top="0" right="776" bottom="152" />
</screen>
<bezel name="led_0" element="led">
<bounds x="10" y="160" width="10" height="10" />
</bezel>
<bezel name="led_1" element="led">
<bounds x="30" y="160" width="10" height="10" />
</bezel>
<bezel name="led_2" element="led">
<bounds x="50" y="160" width="10" height="10" />
</bezel>
<bezel name="led_3" element="led">
<bounds x="70" y="160" width="10" height="10" />
</bezel>
<bezel name="led_4" element="led">
<bounds x="90" y="160" width="10" height="10" />
</bezel>
<bezel name="led_5" element="led">
<bounds x="110" y="160" width="10" height="10" />
</bezel>
<bezel name="led_6" element="led">
<bounds x="130" y="160" width="10" height="10" />
</bezel>
<bezel name="led_7" element="led">
<bounds x="150" y="160" width="10" height="10" />
</bezel>
<bezel name="led_8" element="led">
<bounds x="170" y="160" width="10" height="10" />
</bezel>
<bezel name="led_9" element="led">
<bounds x="190" y="160" width="10" height="10" />
</bezel>
<bezel name="led_10" element="led">
<bounds x="210" y="160" width="10" height="10" />
</bezel>
<bezel name="led_11" element="led">
<bounds x="230" y="160" width="10" height="10" />
</bezel>
<bezel name="led_12" element="led">
<bounds x="250" y="160" width="10" height="10" />
</bezel>
<bezel name="led_13" element="led">
<bounds x="270" y="160" width="10" height="10" />
</bezel>
<bezel name="led_14" element="led">
<bounds x="290" y="160" width="10" height="10" />
</bezel>
<bezel name="led_15" element="led">
<bounds x="310" y="160" width="10" height="10" />
</bezel>
<bezel name="led_16" element="led">
<bounds x="330" y="160" width="10" height="10" />
</bezel>
<bezel name="led_17" element="led">
<bounds x="350" y="160" width="10" height="10" />
</bezel>
<bezel name="led_18" element="led">
<bounds x="370" y="160" width="10" height="10" />
</bezel>
<bezel name="led_19" element="led">
<bounds x="390" y="160" width="10" height="10" />
</bezel>
<bezel name="led_20" element="led">
<bounds x="410" y="160" width="10" height="10" />
</bezel>
<bezel name="led_21" element="led">
<bounds x="430" y="160" width="10" height="10" />
</bezel>
<bezel name="led_22" element="led">
<bounds x="450" y="160" width="10" height="10" />
</bezel>
<bezel name="led_23" element="led">
<bounds x="470" y="160" width="10" height="10" />
</bezel>
<bezel name="led_24" element="led">
<bounds x="10" y="180" width="10" height="10" />
</bezel>
<bezel name="led_25" element="led">
<bounds x="30" y="180" width="10" height="10" />
</bezel>
<bezel name="led_26" element="led">
<bounds x="50" y="180" width="10" height="10" />
</bezel>
<bezel name="led_27" element="led">
<bounds x="70" y="180" width="10" height="10" />
</bezel>
<bezel name="led_28" element="led">
<bounds x="90" y="180" width="10" height="10" />
</bezel>
<bezel name="led_29" element="led">
<bounds x="110" y="180" width="10" height="10" />
</bezel>
<bezel name="led_30" element="led">
<bounds x="130" y="180" width="10" height="10" />
</bezel>
<bezel name="led_31" element="led">
<bounds x="150" y="180" width="10" height="10" />
</bezel>
</view>
</mamelayout>