From 77c4b7a5511a1f912f0daa55913681ba63acd90b Mon Sep 17 00:00:00 2001 From: Ryan Holtz Date: Fri, 16 Nov 2018 07:03:00 +0100 Subject: New machines marked as NOT_WORKING ---------------------------------- Liberty Bell LB-4 [Al Kossow] --- scripts/target/mame/mess.lua | 1 + src/mame/drivers/lb4.cpp | 102 +++++++++++++++++++++++++++++++++++++++++++ src/mame/mame.lst | 3 ++ src/mame/mess.flt | 1 + 4 files changed, 107 insertions(+) create mode 100644 src/mame/drivers/lb4.cpp diff --git a/scripts/target/mame/mess.lua b/scripts/target/mame/mess.lua index ecfdcff3918..6f1886058c3 100644 --- a/scripts/target/mame/mess.lua +++ b/scripts/target/mame/mess.lua @@ -3764,6 +3764,7 @@ files { MAME_DIR .. "src/mame/drivers/jade.cpp", MAME_DIR .. "src/mame/drivers/jonos.cpp", MAME_DIR .. "src/mame/drivers/kron.cpp", + MAME_DIR .. "src/mame/drivers/lb4.cpp", MAME_DIR .. "src/mame/drivers/leapster.cpp", MAME_DIR .. "src/mame/drivers/lee1214.cpp", MAME_DIR .. "src/mame/drivers/learnwin.cpp", diff --git a/src/mame/drivers/lb4.cpp b/src/mame/drivers/lb4.cpp new file mode 100644 index 00000000000..dad490200e4 --- /dev/null +++ b/src/mame/drivers/lb4.cpp @@ -0,0 +1,102 @@ +// license:BSD-3-Clause +// copyright-holders:Ryan Holtz +/**************************************************************************** + + Liberty Electronics LB-4 serial terminal + + Known hardware: + - Motorola 6800 CPU + - Hitachi HD46505 (Motorola 6845-compatible) CRTC + - Hitachi HD46850 (Motorola 6850-compatible) ACIA + - Zilog Z8430 CTC + - 16.6698MHz Crystal + +****************************************************************************/ + +#include "emu.h" +#include "cpu/m6800/m6800.h" +#include "machine/6850acia.h" +#include "machine/z80ctc.h" +#include "video/mc6845.h" +#include "screen.h" +#include "emupal.h" + +#define MASTER_CLOCK 16.6698_MHz_XTAL + +class lb4_state : public driver_device +{ +public: + lb4_state(const machine_config &mconfig, device_type type, const char *tag) + : driver_device(mconfig, type, tag) + , m_maincpu(*this, "maincpu") + , m_acia(*this, "acia") + , m_ctc(*this, "ctc") + , m_crtc(*this, "crtc") + , m_gfxdecode(*this, "gfxdecode") + , m_palette(*this, "palette") + { } + + void lb4(machine_config &config); + +private: + void mem_map(address_map &map); + + required_device m_maincpu; + required_device m_acia; + required_device m_ctc; + required_device m_crtc; + required_device m_gfxdecode; + required_device m_palette; +}; + + +void lb4_state::mem_map(address_map &map) +{ + map(0xe000, 0xffff).rom().region("maincpu", 0); +} + +static const gfx_layout char_layout = +{ + 8,16, + RGN_FRAC(1,1), + 1, + { 0 }, + { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 }, + { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8, 8*8, 9*8, 10*8, 11*8, 12*8, 13*8, 14*8, 15*8 }, + 8*16 +}; + +static GFXDECODE_START(chars) + GFXDECODE_ENTRY("chars", 0, char_layout, 0, 1) +GFXDECODE_END + +void lb4_state::lb4(machine_config &config) +{ + // All dividers unknown/guessed + M6800(config, m_maincpu, MASTER_CLOCK / 16); + m_maincpu->set_addrmap(AS_PROGRAM, &lb4_state::mem_map); + + ACIA6850(config, m_acia, MASTER_CLOCK / 128); + + Z80CTC(config, m_ctc, MASTER_CLOCK / 4); + + H46505(config, m_crtc, MASTER_CLOCK); + + GFXDECODE(config, m_gfxdecode, m_palette, chars); + + PALETTE(config, m_palette, 2).set_init("palette", FUNC(palette_device::palette_init_monochrome)); +} + +static INPUT_PORTS_START( lb4 ) +INPUT_PORTS_END + +ROM_START( lb4 ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "u8.bin", 0xe000, 0x2000, CRC(2e375abc) SHA1(12ad1e49c5773c36c3a8d65845c9a50f9dec141f) ) + + ROM_REGION( 0x1000, "chars", 0 ) + ROM_LOAD( "u32.bin", 0x0000, 0x1000, CRC(f6d86e87) SHA1(c0885e4a35095a730d760bf91a1cf4e8edd6a2bb) ) +ROM_END + +// YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS +COMP( 197?, lb4, 0, 0, lb4, lb4, lb4_state, empty_init, "Liberty Electronics", "LB-4", MACHINE_NOT_WORKING | MACHINE_NO_SOUND_HW ) diff --git a/src/mame/mame.lst b/src/mame/mame.lst index b120d57de29..7ef56d4a003 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -18028,6 +18028,9 @@ medlanes // [1977?] @source:lb186.cpp lb186 // Ampro Little Board/186 +@source:lb4.cpp +lb4 // Liberty Electronics LB-4 + @source:lbeach.cpp lbeach // (c) 1979 Olympia / Seletron diff --git a/src/mame/mess.flt b/src/mame/mess.flt index be0402c82a8..799b17154fd 100644 --- a/src/mame/mess.flt +++ b/src/mame/mess.flt @@ -365,6 +365,7 @@ krz2000.cpp kyocera.cpp laser3k.cpp lb186.cpp +lb4.cpp lc80.cpp lcmate2.cpp leapster.cpp -- cgit v1.2.3