New machines marked as NOT_WORKING

----------------------------------
Lee Data 1220 Display Terminal [Bitsavers]
This commit is contained in:
AJR 2020-08-11 18:47:46 -04:00
parent 19f596c3ad
commit 1125310173
4 changed files with 151 additions and 0 deletions

View File

@ -4383,6 +4383,7 @@ files {
MAME_DIR .. "src/mame/drivers/krokha.cpp",
MAME_DIR .. "src/mame/drivers/kron.cpp",
MAME_DIR .. "src/mame/drivers/lee1214.cpp",
MAME_DIR .. "src/mame/drivers/lee1220.cpp",
MAME_DIR .. "src/mame/drivers/learnwin.cpp",
MAME_DIR .. "src/mame/drivers/lft.cpp",
MAME_DIR .. "src/mame/drivers/lg-dvd.cpp",

View File

@ -0,0 +1,146 @@
// license:BSD-3-Clause
// copyright-holders:AJR
/****************************************************************************
Skeleton driver for Lee Data 1220 terminal (IBM 3278-compatible).
****************************************************************************/
#include "emu.h"
#include "cpu/i8085/i8085.h"
#include "cpu/mcs48/mcs48.h"
#include "machine/am9517a.h"
#include "machine/i8251.h"
#include "machine/pit8253.h"
//#include "machine/wd1933.h"
#include "video/mc6845.h"
#include "screen.h"
#include <algorithm>
class lee1220_state : public driver_device
{
public:
lee1220_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag)
, m_maincpu(*this, "maincpu")
, m_crtc(*this, "crtc")
{
}
void lee1220(machine_config &config);
protected:
virtual void machine_start() override;
private:
MC6845_UPDATE_ROW(update_row);
u8 sdlc_r(offs_t offset);
void sdlc_w(offs_t offset, u8 data);
u8 c0_r();
void mem_map(address_map &map);
void io_map(address_map &map);
required_device<cpu_device> m_maincpu;
//required_device<wd1933_device> m_sdlc;
required_device<hd6845s_device> m_crtc;
u8 m_sdlc_reg[6];
};
void lee1220_state::machine_start()
{
std::fill_n(&m_sdlc_reg[0], 6, 0);
save_item(NAME(m_sdlc_reg));
}
MC6845_UPDATE_ROW(lee1220_state::update_row)
{
}
u8 lee1220_state::sdlc_r(offs_t offset)
{
return m_sdlc_reg[offset]; //m_sdlc->read(~offset & 7);
}
void lee1220_state::sdlc_w(offs_t offset, u8 data)
{
logerror("%s: Writing %02X to WD1933 register %d\n", machine().describe_context(), data, offset);
m_sdlc_reg[offset] = data;
//m_sdlc->write(~offset & 7, ~data);
}
u8 lee1220_state::c0_r()
{
return 0;
}
void lee1220_state::mem_map(address_map &map)
{
map(0x0000, 0x2fff).rom().region("program", 0);
map(0x4000, 0x4fff).ram();
map(0x7800, 0x7fff).ram();
map(0x8000, 0xbfff).ram();
}
void lee1220_state::io_map(address_map &map)
{
map(0x80, 0x8f).rw("dmac", FUNC(am9517a_device::read), FUNC(am9517a_device::write));
map(0x90, 0x95).rw(FUNC(lee1220_state::sdlc_r), FUNC(lee1220_state::sdlc_w));
map(0xa0, 0xa0).w("crtc", FUNC(hd6845s_device::address_w));
map(0xa1, 0xa1).w("crtc", FUNC(hd6845s_device::register_w));
map(0xb0, 0xb1).rw("usart", FUNC(i8251_device::read), FUNC(i8251_device::write));
map(0xc0, 0xc0).r(FUNC(lee1220_state::c0_r));
map(0xd0, 0xd3).w("pit", FUNC(pit8253_device::write));
}
static INPUT_PORTS_START(lee1220)
INPUT_PORTS_END
void lee1220_state::lee1220(machine_config &config)
{
I8085A(config, m_maincpu, 10'000'000); // Intel P8085AH-2
m_maincpu->set_addrmap(AS_PROGRAM, &lee1220_state::mem_map);
m_maincpu->set_addrmap(AS_IO, &lee1220_state::io_map);
AM9517A(config, "dmac", 5'000'000); // Intel P8237A-5
I8748(config, "kbdmcu", 5.9904_MHz_XTAL);
//WD1933(config, m_sdlc); // WDC WD1933PL-11
i8251_device &usart(I8251(config, "usart", 0)); // NEC D8251AC
usart.rxrdy_handler().set_inputline(m_maincpu, I8085_RST55_LINE);
PIT8253(config, "pit"); // Intel D8253-5
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_color(rgb_t::green());
screen.set_raw(28'944'000, 1152, 0, 960, 420, 0, 400);
screen.set_screen_update(m_crtc, FUNC(hd6845s_device::screen_update));
HD6845S(config, m_crtc, 2'412'000); // Hitachi HD46505SP/HD6845SP
m_crtc->set_screen("screen");
m_crtc->set_show_border_area(false);
m_crtc->set_char_width(12);
m_crtc->set_update_row_callback(FUNC(lee1220_state::update_row));
}
// Main board XTALs: X1 = 28.944 MHz, X2 = 47.46816 MHz
// TTL daughterboard XTAL: X1 = 5.0688 MHz
// Keyboard XTAL: #20 = 5.9904 MHz
ROM_START(lee1220)
ROM_REGION(0x3000, "program", 0)
ROM_LOAD("13260303.u21", 0x0000, 0x1000, CRC(28692f78) SHA1(60957e773cb4350d82b02db8f741bd32a43365f1))
ROM_LOAD("13260403.u22", 0x1000, 0x1000, CRC(3c54a251) SHA1(8d2849a2590be5cf765d26ff80a170b263a4b080))
ROM_LOAD("13260503.u23", 0x2000, 0x1000, CRC(0872e674) SHA1(24d07a2cfccf03e90334daea810fe0e7c533e5ec))
ROM_REGION(0x400, "kbdmcu", 0)
ROM_LOAD("03278_d8748.2", 0x000, 0x400, CRC(a63ce4d8) SHA1(a713f3aae5e9096a627fab13573eee2170b42b1a))
ROM_END
COMP(1983, lee1220, 0, 0, lee1220, lee1220, lee1220_state, empty_init, "Lee Data", "1220 Display Terminal", MACHINE_IS_SKELETON)

View File

@ -19297,6 +19297,9 @@ spielmast // Yuvo
@source:lee1214.cpp
lee1214d //
@source:lee1220.cpp
lee1220 //
@source:legionna.cpp
cupsoc // (c) 1992 Seibu
cupsoca // (c) 1992 Seibu

View File

@ -493,6 +493,7 @@ leapfrog_leappad.cpp
leapster.cpp
learnwin.cpp
lee1214.cpp
lee1220.cpp
lft.cpp
lft_chiptune.cpp
lft_craft.cpp