diff options
Diffstat (limited to 'src/mame/drivers/cz101.cpp')
-rw-r--r-- | src/mame/drivers/cz101.cpp | 432 |
1 files changed, 0 insertions, 432 deletions
diff --git a/src/mame/drivers/cz101.cpp b/src/mame/drivers/cz101.cpp deleted file mode 100644 index 3798b82d4e5..00000000000 --- a/src/mame/drivers/cz101.cpp +++ /dev/null @@ -1,432 +0,0 @@ -// license: BSD-3-Clause -// copyright-holders: Dirk Best -/*************************************************************************** - - Casio CZ-101 - - Digital Synthesizer - - TODO: - - To get the display to show something, our uPD7810 core needs to - output the full port value even if the port is set as input (port a). - - Currently seems to hang while processing the serial ports (midi). Our - uPD7810 core is lacking the externally clocked serial mode. - -***************************************************************************/ - -#include "emu.h" -#include "cpu/upd7810/upd7811.h" -#include "machine/clock.h" -#include "video/hd44780.h" -#include "emupal.h" -#include "screen.h" - -#define VERBOSE 1 -#include "logmacro.h" - -#include "cz101.lh" - - -//************************************************************************** -// TYPE DEFINITIONS -//************************************************************************** - -class cz101_state : public driver_device -{ -public: - cz101_state(const machine_config &mconfig, device_type type, const char *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) - { } - - void cz101(machine_config &config); - - void cz101_palette(palette_device &palette) const; - 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); - - uint8_t m_port_b; - uint8_t m_port_c; -}; - - -//************************************************************************** -// ADDRESS MAPS -//************************************************************************** - -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(FUNC(cz101_state::led_4_w)); - map(0xa000, 0xa7ff).w(FUNC(cz101_state::led_3_w)); - map(0xa800, 0xafff).w(FUNC(cz101_state::led_2_w)); - map(0xb000, 0xb7ff).w(FUNC(cz101_state::led_1_w)); - map(0xb800, 0xbfff).r(FUNC(cz101_state::keys_r)); -} - - -//************************************************************************** -// INPUT PORT DEFINITIONS -//************************************************************************** - -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 - - -//************************************************************************** -// MACHINE EMULATION -//************************************************************************** - -void cz101_state::cz101_palette(palette_device &palette) const -{ - 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(); -} - -// 76543210 lcd data bus - -READ8_MEMBER( cz101_state::port_a_r ) -{ - if ((BIT(m_port_c, 7) == 1) && (BIT(m_port_c, 6) == 1)) - return m_hd44780->read(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(BIT(m_port_c, 5), data); -} - -// 7------- nmi output -// -6------ music lsi write enable -// --5----- music lsi chip select -// ---4---- music lsi irq input -// ----3210 key select output - -WRITE8_MEMBER( cz101_state::port_b_w ) -{ - LOG("port_b_w: %02x\n", data); - - m_port_b = data; -} - -// 7------- lcd e -// -6------ lcd rw -// --5----- lcd rs -// ---4---- not used -// ----3--- power down detection output -// -----2-- midi clock -// ------1- midi input -// -------0 midi output - -WRITE8_MEMBER( cz101_state::port_c_w ) -{ - LOG("port_c_w: %02x\n", data); - - m_port_c = data; -} - -void cz101_state::machine_start() -{ - // register for save states - save_item(NAME(m_port_b)); - save_item(NAME(m_port_c)); -} - -void cz101_state::machine_reset() -{ -} - - -//************************************************************************** -// MACHINE DEFINTIONS -//************************************************************************** - -void cz101_state::cz101(machine_config &config) -{ - UPD7810(config, m_maincpu, 10_MHz_XTAL); // actually 7811, but internal ROM disabled - m_maincpu->set_addrmap(AS_PROGRAM, &cz101_state::maincpu_map); - m_maincpu->pa_in_cb().set(FUNC(cz101_state::port_a_r)); - m_maincpu->pa_out_cb().set(FUNC(cz101_state::port_a_w)); - m_maincpu->pb_out_cb().set(FUNC(cz101_state::port_b_w)); - m_maincpu->pc_out_cb().set(FUNC(cz101_state::port_c_w)); - - CLOCK(config, "midi_clock", 2_MHz_XTAL)/*.signal_handler().set(m_maincpu, FUNC(upd7810_device::sck_w))*/; // not supported yet - - // video hardware - screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_LCD)); - screen.set_refresh_hz(50); - screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */ - screen.set_size(6*16+1, 19); - screen.set_visarea_full(); - screen.set_screen_update("hd44780", FUNC(hd44780_device::screen_update)); - screen.set_palette("palette"); - - PALETTE(config, "palette", FUNC(cz101_state::cz101_palette), 3); - - HD44780(config, m_hd44780, 0); - m_hd44780->set_lcd_size(2, 16); - m_hd44780->set_pixel_update_cb(FUNC(cz101_state::lcd_pixel_update)); - - config.set_default_layout(layout_cz101); -} - - -//************************************************************************** -// ROM DEFINITIONS -//************************************************************************** - -ROM_START( cz101 ) - ROM_REGION(0x1000, "maincpu", 0) - ROM_LOAD("upd7811.bin", 0x0000, 0x1000, CRC(597ac04a) SHA1(96451a764296eaa22aaad3cba121226dcba865f4)) - - ROM_REGION(0x8000, "program", 0) - ROM_LOAD("5f3_s40.bin", 0x0000, 0x8000, CRC(c417bc57) SHA1(2aa5bfb76dc0a56797cf5dd547197816cedfa370)) -ROM_END - - -//************************************************************************** -// SYSTEM DRIVERS -//************************************************************************** - -// YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS -CONS( 1984, cz101, 0, 0, cz101, cz101, cz101_state, empty_init, "Casio", "CZ-101", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) |