mirror of
https://github.com/holub/mame
synced 2025-04-22 16:31:49 +03:00
wy50, wy75, wy85: Driver separation (nw)
This commit is contained in:
parent
1c89177b02
commit
ad8dd5dfd2
@ -3850,6 +3850,8 @@ files {
|
||||
MAME_DIR .. "src/mame/drivers/vsmilepro.cpp",
|
||||
MAME_DIR .. "src/mame/drivers/wicat.cpp",
|
||||
MAME_DIR .. "src/mame/drivers/wy100.cpp",
|
||||
MAME_DIR .. "src/mame/drivers/wy50.cpp",
|
||||
MAME_DIR .. "src/mame/drivers/wy85.cpp",
|
||||
MAME_DIR .. "src/mame/drivers/wyse.cpp",
|
||||
MAME_DIR .. "src/mame/drivers/xor100.cpp",
|
||||
MAME_DIR .. "src/mame/includes/xor100.h",
|
||||
|
212
src/mame/drivers/wy50.cpp
Normal file
212
src/mame/drivers/wy50.cpp
Normal file
@ -0,0 +1,212 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:AJR
|
||||
/*******************************************************************************
|
||||
|
||||
Skeleton driver for Wyse WY-50 and similar display terminals.
|
||||
|
||||
Wyse Technology introduced the WY-50 green screen terminal in the fall of
|
||||
1983. It was soon followed by the WY-75 ANSI X3.64-compatible terminal and
|
||||
the WY-350 64-color terminal. This generation of terminals quickly replaced
|
||||
the earlier WY-100, WY-200 and WY-300.
|
||||
|
||||
The available WY-50 schematics document several revisions of the logic
|
||||
board, apparently all functionally equivalent. The earlier version encodes
|
||||
character attributes through a slew of TTL gates. A later version
|
||||
integrates this logic with a L1A0219 custom gate array (80-435-00), which
|
||||
also takes over the address decoding. Both currently dumped sets use this
|
||||
second hardware revision (with some minor difference as to the position of
|
||||
the beeper). The 80-435-11 gate array from a still later revision also
|
||||
generates the dot clock.
|
||||
|
||||
Video memory is contained in two TMS4016-equivalent static RAMs (confirmed
|
||||
types include MSM2128-15RS and HM6116P-3). A third 4016-like RAM (usually
|
||||
SY2158A-2) is used for the row buffer, with A8-A10 tied to GND.
|
||||
|
||||
*******************************************************************************/
|
||||
|
||||
#include "emu.h"
|
||||
#include "cpu/mcs51/mcs51.h"
|
||||
#include "machine/er1400.h"
|
||||
#include "machine/mc2661.h"
|
||||
#include "video/scn2674.h"
|
||||
#include "screen.h"
|
||||
|
||||
class wy50_state : public driver_device
|
||||
{
|
||||
public:
|
||||
wy50_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: driver_device(mconfig, type, tag)
|
||||
, m_maincpu(*this, "maincpu")
|
||||
, m_earom(*this, "earom")
|
||||
, m_pvtc(*this, "pvtc")
|
||||
, m_sio(*this, "sio")
|
||||
, m_chargen(*this, "chargen")
|
||||
{
|
||||
}
|
||||
|
||||
void wy50(machine_config &config);
|
||||
|
||||
protected:
|
||||
virtual void machine_start() override;
|
||||
virtual void machine_reset() override;
|
||||
|
||||
private:
|
||||
SCN2672_DRAW_CHARACTER_MEMBER(draw_character);
|
||||
|
||||
DECLARE_READ8_MEMBER(pvtc_r);
|
||||
DECLARE_WRITE8_MEMBER(pvtc_w);
|
||||
DECLARE_READ8_MEMBER(sio_r);
|
||||
DECLARE_WRITE8_MEMBER(sio_w);
|
||||
u8 rbreg_r();
|
||||
void keyboard_w(u8 data);
|
||||
void earom_w(u8 data);
|
||||
u8 p1_r();
|
||||
void p1_w(u8 data);
|
||||
|
||||
void prg_map(address_map &map);
|
||||
void io_map(address_map &map);
|
||||
|
||||
required_device<mcs51_cpu_device> m_maincpu;
|
||||
required_device<er1400_device> m_earom;
|
||||
required_device<scn2672_device> m_pvtc;
|
||||
required_device<mc2661_device> m_sio;
|
||||
|
||||
required_region_ptr<u8> m_chargen;
|
||||
};
|
||||
|
||||
void wy50_state::machine_start()
|
||||
{
|
||||
}
|
||||
|
||||
void wy50_state::machine_reset()
|
||||
{
|
||||
keyboard_w(0);
|
||||
earom_w(0);
|
||||
}
|
||||
|
||||
SCN2672_DRAW_CHARACTER_MEMBER(wy50_state::draw_character)
|
||||
{
|
||||
}
|
||||
|
||||
READ8_MEMBER(wy50_state::pvtc_r)
|
||||
{
|
||||
return m_pvtc->read(space, offset >> 8);
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(wy50_state::pvtc_w)
|
||||
{
|
||||
m_pvtc->write(space, offset >> 8, data);
|
||||
}
|
||||
|
||||
READ8_MEMBER(wy50_state::sio_r)
|
||||
{
|
||||
return m_sio->read(space, offset >> 8);
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(wy50_state::sio_w)
|
||||
{
|
||||
m_sio->write(space, offset >> 8, data);
|
||||
}
|
||||
|
||||
u8 wy50_state::rbreg_r()
|
||||
{
|
||||
// LS374 row buffer diagnostic register
|
||||
return 0;
|
||||
}
|
||||
|
||||
void wy50_state::keyboard_w(u8 data)
|
||||
{
|
||||
}
|
||||
|
||||
void wy50_state::earom_w(u8 data)
|
||||
{
|
||||
m_earom->clock_w(BIT(data, 1));
|
||||
m_earom->c3_w(BIT(data, 2));
|
||||
m_earom->c2_w(BIT(data, 3));
|
||||
m_earom->c1_w(BIT(data, 4));
|
||||
m_earom->data_w(BIT(data, 3) ? BIT(data, 0) : 0);
|
||||
// Bit 5 = UPCHAR/NORM
|
||||
}
|
||||
|
||||
u8 wy50_state::p1_r()
|
||||
{
|
||||
// P1.0 = AUX RDY
|
||||
// P1.1 = NVD OUT
|
||||
// P1.4 = KEY (inverted)
|
||||
return 0xfd | (m_earom->data_r() << 1);
|
||||
}
|
||||
|
||||
void wy50_state::p1_w(u8 data)
|
||||
{
|
||||
// P1.2 = EXFONT
|
||||
// P1.3 = AUX RTS
|
||||
// P1.5 = BEEPER
|
||||
// P1.6 = REV/DIM PROT
|
||||
// P1.7 (inverted) = 80/132
|
||||
}
|
||||
|
||||
void wy50_state::prg_map(address_map &map)
|
||||
{
|
||||
map(0x0000, 0x1fff).rom().region("maincpu", 0);
|
||||
}
|
||||
|
||||
void wy50_state::io_map(address_map &map)
|
||||
{
|
||||
map(0x0000, 0x07ff).mirror(0x1800).ram();
|
||||
map(0x2000, 0x27ff).mirror(0x1800).ram();
|
||||
map(0x4000, 0x47ff).mirror(0x1800).rw(FUNC(wy50_state::pvtc_r), FUNC(wy50_state::pvtc_w));
|
||||
map(0x6000, 0x63ff).mirror(0x1c00).rw(FUNC(wy50_state::sio_r), FUNC(wy50_state::sio_w));
|
||||
map(0x8000, 0x8000).mirror(0x1fff).r(FUNC(wy50_state::rbreg_r));
|
||||
map(0xa000, 0xa000).mirror(0x1fff).w(FUNC(wy50_state::keyboard_w));
|
||||
map(0xc000, 0xc000).mirror(0x1fff).w(FUNC(wy50_state::earom_w));
|
||||
}
|
||||
|
||||
static INPUT_PORTS_START(wy50)
|
||||
INPUT_PORTS_END
|
||||
|
||||
void wy50_state::wy50(machine_config &config)
|
||||
{
|
||||
I8031(config, m_maincpu, 11_MHz_XTAL); // SAB8031P or SCN8031A
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &wy50_state::prg_map);
|
||||
m_maincpu->set_addrmap(AS_IO, &wy50_state::io_map);
|
||||
m_maincpu->port_in_cb<1>().set(FUNC(wy50_state::p1_r));
|
||||
m_maincpu->port_out_cb<1>().set(FUNC(wy50_state::p1_w));
|
||||
|
||||
ER1400(config, m_earom);
|
||||
|
||||
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
|
||||
screen.set_color(rgb_t::green());
|
||||
screen.set_raw(68.85_MHz_XTAL / 3, 102 * 10, 0, 80 * 10, 375, 0, 338);
|
||||
//screen.set_raw(68.85_MHz_XTAL / 2, 170 * 9, 0, 132 * 9, 375, 0, 338);
|
||||
screen.set_screen_update("pvtc", FUNC(scn2672_device::screen_update));
|
||||
|
||||
SCN2672(config, m_pvtc, 68.85_MHz_XTAL / 30); // SCN2672A or SCN2672B
|
||||
m_pvtc->set_screen("screen");
|
||||
m_pvtc->set_character_width(10); // 9 in 132-column mode
|
||||
m_pvtc->set_display_callback(FUNC(wy50_state::draw_character));
|
||||
m_pvtc->intr_callback().set_inputline(m_maincpu, MCS51_T0_LINE);
|
||||
m_pvtc->breq_callback().set_inputline(m_maincpu, MCS51_INT0_LINE);
|
||||
|
||||
MC2661(config, m_sio, 4.9152_MHz_XTAL); // SCN2661B
|
||||
m_sio->txrdy_handler().set_inputline(m_maincpu, MCS51_INT1_LINE);
|
||||
}
|
||||
|
||||
ROM_START(wy50)
|
||||
ROM_REGION(0x2000, "maincpu", 0)
|
||||
ROM_LOAD("2301_e.u6", 0x0000, 0x2000, CRC(2a62ea25) SHA1(f69c596aab307ef1872df29d353b5a61ff77bb74)) // iFD2764-3
|
||||
|
||||
ROM_REGION(0x1000, "chargen", 0)
|
||||
ROM_LOAD("2201_b.u16", 0x0000, 0x1000, CRC(ee318814) SHA1(0ac64b60ff978e607a087e9e6f4d547811c015c5)) // 2716
|
||||
ROM_END
|
||||
|
||||
ROM_START(wy75) // 8031, green, 101-key detached keyboard, EAROM labeled "MODE 1"
|
||||
ROM_REGION(0x2000, "maincpu", 0)
|
||||
ROM_LOAD("wy75_4001r.bin", 0x0000, 0x2000, CRC(d1e660e0) SHA1(81960e7780b86b9fe338b20d7bd50f7e991020a4))
|
||||
|
||||
ROM_REGION(0x1000, "chargen", 0)
|
||||
ROM_LOAD("wy75_4101a.bin", 0x0000, 0x1000, CRC(96d377db) SHA1(9e059cf067d84267f4e1d92b0509f137fb2ceb19))
|
||||
ROM_END
|
||||
|
||||
COMP(1984, wy50, 0, 0, wy50, wy50, wy50_state, empty_init, "Wyse Technology", "WY-50 (Rev. E)", MACHINE_IS_SKELETON)
|
||||
COMP(1984, wy75, 0, 0, wy50, wy50, wy50_state, empty_init, "Wyse Technology", "WY-75 (Rev. H)", MACHINE_IS_SKELETON)
|
||||
//COMP(1984, wy350, 0, 0, wy50, wy50, wy50_state, empty_init, "Wyse Technology", "WY-350", MACHINE_IS_SKELETON)
|
180
src/mame/drivers/wy85.cpp
Normal file
180
src/mame/drivers/wy85.cpp
Normal file
@ -0,0 +1,180 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:AJR
|
||||
/*******************************************************************************
|
||||
|
||||
Skeleton driver for Wyse WY-85 VT220-compatible terminal.
|
||||
|
||||
Unlike most later Wyse terminals, the WY-85 lacks a video gate array.
|
||||
However, the 105-key keyboard has its own gate array.
|
||||
|
||||
*******************************************************************************/
|
||||
|
||||
#include "emu.h"
|
||||
#include "cpu/mcs51/mcs51.h"
|
||||
#include "machine/er1400.h"
|
||||
#include "machine/mc68681.h"
|
||||
#include "video/scn2674.h"
|
||||
#include "screen.h"
|
||||
|
||||
class wy85_state : public driver_device
|
||||
{
|
||||
public:
|
||||
wy85_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: driver_device(mconfig, type, tag)
|
||||
, m_maincpu(*this, "maincpu")
|
||||
, m_earom(*this, "earom")
|
||||
, m_pvtc(*this, "pvtc")
|
||||
, m_duart(*this, "duart")
|
||||
, m_chargen(*this, "chargen")
|
||||
{
|
||||
}
|
||||
|
||||
void wy85(machine_config &config);
|
||||
|
||||
protected:
|
||||
virtual void machine_start() override;
|
||||
virtual void machine_reset() override;
|
||||
|
||||
private:
|
||||
SCN2672_DRAW_CHARACTER_MEMBER(draw_character);
|
||||
|
||||
DECLARE_READ8_MEMBER(pvtc_r);
|
||||
DECLARE_WRITE8_MEMBER(pvtc_w);
|
||||
DECLARE_READ8_MEMBER(duart_r);
|
||||
DECLARE_WRITE8_MEMBER(duart_w);
|
||||
void earom_w(u8 data);
|
||||
u8 misc_r();
|
||||
u8 p1_r();
|
||||
void p1_w(u8 data);
|
||||
void p3_w(u8 data);
|
||||
|
||||
void prg_map(address_map &map);
|
||||
void io_map(address_map &map);
|
||||
|
||||
required_device<mcs51_cpu_device> m_maincpu;
|
||||
required_device<er1400_device> m_earom;
|
||||
required_device<scn2672_device> m_pvtc;
|
||||
required_device<scn2681_device> m_duart;
|
||||
|
||||
required_region_ptr<u8> m_chargen;
|
||||
};
|
||||
|
||||
void wy85_state::machine_start()
|
||||
{
|
||||
}
|
||||
|
||||
void wy85_state::machine_reset()
|
||||
{
|
||||
earom_w(0);
|
||||
}
|
||||
|
||||
SCN2672_DRAW_CHARACTER_MEMBER(wy85_state::draw_character)
|
||||
{
|
||||
}
|
||||
|
||||
READ8_MEMBER(wy85_state::pvtc_r)
|
||||
{
|
||||
return m_pvtc->read(space, offset >> 8);
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(wy85_state::pvtc_w)
|
||||
{
|
||||
m_pvtc->write(space, offset >> 8, data);
|
||||
}
|
||||
|
||||
READ8_MEMBER(wy85_state::duart_r)
|
||||
{
|
||||
return m_duart->read(space, offset >> 8);
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(wy85_state::duart_w)
|
||||
{
|
||||
m_duart->write(space, offset >> 8, data);
|
||||
}
|
||||
|
||||
void wy85_state::earom_w(u8 data)
|
||||
{
|
||||
// SN74LS174N latch + 7406 inverter
|
||||
m_earom->clock_w(BIT(data, 1));
|
||||
m_earom->c3_w(BIT(data, 2));
|
||||
m_earom->c2_w(BIT(data, 3));
|
||||
m_earom->c1_w(BIT(data, 4));
|
||||
m_earom->data_w(BIT(data, 3) ? BIT(data, 0) : 0);
|
||||
}
|
||||
|
||||
u8 wy85_state::misc_r()
|
||||
{
|
||||
// Bit 2 = EAROM output
|
||||
// Bit 3 = keyboard return line?
|
||||
return m_earom->data_r() << 2;
|
||||
}
|
||||
|
||||
u8 wy85_state::p1_r()
|
||||
{
|
||||
return 0xff;
|
||||
}
|
||||
|
||||
void wy85_state::p1_w(u8 data)
|
||||
{
|
||||
// P1.7 = 80/132 column switch
|
||||
}
|
||||
|
||||
void wy85_state::p3_w(u8 data)
|
||||
{
|
||||
// P3.5 (T1) = keyboard clocK?
|
||||
}
|
||||
|
||||
void wy85_state::prg_map(address_map &map)
|
||||
{
|
||||
map(0x0000, 0x3fff).rom().region("maincpu", 0);
|
||||
}
|
||||
|
||||
void wy85_state::io_map(address_map &map)
|
||||
{
|
||||
map(0x0000, 0x1fff).ram(); // 4x HM6116P-3 (with 2 more in other capacities)
|
||||
map(0x2000, 0x2000).mirror(0xff).w(FUNC(wy85_state::earom_w));
|
||||
map(0x4000, 0x47ff).rw(FUNC(wy85_state::pvtc_r), FUNC(wy85_state::pvtc_w));
|
||||
map(0x6000, 0x6fff).rw(FUNC(wy85_state::duart_r), FUNC(wy85_state::duart_w));
|
||||
map(0xa000, 0xa000).mirror(0xff).r(FUNC(wy85_state::misc_r));
|
||||
}
|
||||
|
||||
static INPUT_PORTS_START(wy85)
|
||||
INPUT_PORTS_END
|
||||
|
||||
void wy85_state::wy85(machine_config &config)
|
||||
{
|
||||
I8032(config, m_maincpu, 11_MHz_XTAL); // SCN8032H
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &wy85_state::prg_map);
|
||||
m_maincpu->set_addrmap(AS_IO, &wy85_state::io_map);
|
||||
m_maincpu->port_in_cb<1>().set(FUNC(wy85_state::p1_r));
|
||||
m_maincpu->port_out_cb<1>().set(FUNC(wy85_state::p1_w));
|
||||
m_maincpu->port_out_cb<3>().set(FUNC(wy85_state::p3_w));
|
||||
|
||||
ER1400(config, m_earom); // M5G1400
|
||||
|
||||
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
|
||||
screen.set_color(rgb_t::green());
|
||||
//screen.set_raw(48.5568_MHz_XTAL / 3, 96 * 10, 0, 80 * 10, 281, 0, 260);
|
||||
screen.set_raw(48.5568_MHz_XTAL / 2, 160 * 9, 0, 132 * 9, 281, 0, 260);
|
||||
screen.set_screen_update("pvtc", FUNC(scn2672_device::screen_update));
|
||||
|
||||
SCN2672(config, m_pvtc, 48.5568_MHz_XTAL / 30); // SCN2672B
|
||||
m_pvtc->set_screen("screen");
|
||||
m_pvtc->set_character_width(9); // 10 in 80-column mode
|
||||
m_pvtc->set_display_callback(FUNC(wy85_state::draw_character));
|
||||
//m_pvtc->intr_callback().set_inputline(m_maincpu, MCS51_T0_LINE);
|
||||
m_pvtc->breq_callback().set_inputline(m_maincpu, MCS51_INT0_LINE);
|
||||
|
||||
SCN2681(config, m_duart, 3.6864_MHz_XTAL); // SCN2681A (+ 4x µA9636ATC drivers and UA9639CP receivers)
|
||||
m_duart->irq_cb().set_inputline(m_maincpu, MCS51_INT1_LINE);
|
||||
}
|
||||
|
||||
ROM_START(wy85)
|
||||
ROM_REGION(0x4000, "maincpu", 0)
|
||||
ROM_LOAD("250151-04_reva.5e", 0x0000, 0x4000, CRC(8fcb9f43) SHA1(6c7e1d27fa6014870c29ab2b8b856ae412bfc411)) // 27128
|
||||
|
||||
ROM_REGION(0x2000, "chargen", 0)
|
||||
ROM_LOAD("am9265.1h", 0x0000, 0x2000, CRC(5ee65b55) SHA1(a0b38a38838f262aaea22d212351e7441e4b07e8)) // AM9265EPC
|
||||
ROM_END
|
||||
|
||||
COMP(1985, wy85, 0, 0, wy85, wy85, wy85_state, empty_init, "Wyse Technology", "WY-85 (Rev. A)", MACHINE_IS_SKELETON)
|
@ -8,25 +8,16 @@ Wyse terminals.
|
||||
|
||||
WY-30+: P8031AH, OKI M76V020, TC5565APL-12, HY6116AP-15, Beeper, 31.2795, 7.3728 (for CPU)
|
||||
|
||||
WY-50: SAB8031P, SCN2672A (CRTC), SCN2661B (UART), 2x MSM2128-15RS, SY2158A, 80-435-00 (WYSE proprietory gate array),
|
||||
Beeper, 4.9152 (for UART), 11.000 (for CPU), 68.850 (for video).
|
||||
|
||||
WY-60: SC67336P, P8051AN-40196, SCN2661B, 7219-0629, 4.9152, 11.000, 39.710, 26.580, Beeper
|
||||
|
||||
WY-75: i8031-based
|
||||
|
||||
WY-85: 5x HM6116P-3, AM9265EPC, SCN2681A, SCN2672B, SCN8032H, 48.5568, 11.000, 3.6854, Beeper
|
||||
|
||||
WY-150: Philips P80C32SBPN, Toshiba 211009-02, Winbond ??, unknown crystal
|
||||
|
||||
CPU EPROM VIDEO RAM Row Buffer Font RAM Font ROM NVRAM Serial Dot Clk CPU Clk Ser Clk
|
||||
WY-30+ 8031 27128(250971-02) 211019-02 5565 6116 CAT59C11 31.2795 7.3728
|
||||
WY-50 8031 2764 2672/80-435-00 2x2Kx8 1Kx8 2716 ER-1400 2661 68.850 11.000 4.9152
|
||||
WY-55 8032 (251352-12) 211019-05 8k (8kx2) battery 16C452 49.423 14.7456
|
||||
WY-60 8051(202008-03) 27512(193003-01) 211003-02/205001-02 2064 ( 2064/2016/2016/2064) X24C04 2661 39.710/26.580 11.000 4.9152
|
||||
WY-85 8032 27128(250151-04) 2672 4x6116 6116 9265 M5G1400 2681 48.5568 11.000 3.6864
|
||||
WY-120 8032 27256(250412-01) SLA7490(211009-01) 6264/5564 6264 battery - 48.000 11.000 4.9152
|
||||
WY-150 8032 27512(251167-06) 211009-02 6264 (2x6264) battery - 48.000 11.000
|
||||
CPU EPROM VIDEO RAM Row Buffer Font RAM NVRAM Serial Dot Clk CPU Clk Ser Clk
|
||||
WY-30+ 8031 27128(250971-02) 211019-02 5565 6116 CAT59C11 31.2795 7.3728
|
||||
WY-55 8032 (251352-12) 211019-05 8k (8kx2) battery 16C452 49.423 14.7456
|
||||
WY-60 8051(202008-03) 27512(193003-01) 211003-02/205001-02 2064 ( 2064/2016/2016/2064) X24C04 2661 39.710/26.580 11.000 4.9152
|
||||
WY-120 8032 27256(250412-01) SLA7490(211009-01) 6264/5564 6264 battery - 48.000 11.000
|
||||
WY-150 8032 27512(251167-06) 211009-02 6264 (2x6264) battery - 48.000 11.000
|
||||
|
||||
|
||||
************************************************************************************************************************************/
|
||||
@ -53,8 +44,7 @@ private:
|
||||
|
||||
void wyse_state::mem_map(address_map &map)
|
||||
{
|
||||
map(0x0000, 0x1fff).rom();
|
||||
map(0xc000, 0xffff).ram().share("videoram");
|
||||
map(0x0000, 0x3fff).rom();
|
||||
}
|
||||
|
||||
void wyse_state::io_map(address_map &map)
|
||||
@ -65,18 +55,11 @@ static INPUT_PORTS_START( wyse )
|
||||
INPUT_PORTS_END
|
||||
|
||||
MACHINE_CONFIG_START(wyse_state::wyse)
|
||||
MCFG_DEVICE_ADD("maincpu", I8031, 11'000'000) // confirmed for WY-50
|
||||
MCFG_DEVICE_ADD("maincpu", I8031, 11'000'000)
|
||||
MCFG_DEVICE_PROGRAM_MAP(mem_map)
|
||||
MCFG_DEVICE_IO_MAP(io_map)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
ROM_START( wy50 )
|
||||
ROM_REGION( 0x10000, "maincpu", 0 )
|
||||
ROM_LOAD( "2301_e.u6", 0x0000, 0x2000, CRC(2a62ea25) SHA1(f69c596aab307ef1872df29d353b5a61ff77bb74) )
|
||||
ROM_REGION( 0x1000, "chargen", 0 )
|
||||
ROM_LOAD( "2201_b.u16", 0x0000, 0x1000, CRC(ee318814) SHA1(0ac64b60ff978e607a087e9e6f4d547811c015c5) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( wy30p )
|
||||
ROM_REGION( 0x10000, "maincpu", 0 )
|
||||
ROM_LOAD( "250971-02.u4", 0x0000, 0x4000, CRC(3666549c) SHA1(23c432da2083df4b355daf566dd6514d1f9a7690) )
|
||||
@ -94,20 +77,6 @@ ROM_START( wy60 )
|
||||
ROM_LOAD( "wy-60_4k.u6", 0x0000, 0x10000, CRC(6daf2824) SHA1(23cd039ec7ae71b0742e8eebf75be8cd5992e3fd) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( wy75 ) // 8031, green, 101-key detached keyboard, nvram
|
||||
ROM_REGION( 0x10000, "maincpu", 0 )
|
||||
ROM_LOAD( "wy75_4001r.bin", 0x000000, 0x002000, CRC(d1e660e0) SHA1(81960e7780b86b9fe338b20d7bd50f7e991020a4) )
|
||||
ROM_REGION( 0x1000, "chargen", 0 )
|
||||
ROM_LOAD( "wy75_4101a.bin", 0x000000, 0x001000, CRC(96d377db) SHA1(9e059cf067d84267f4e1d92b0509f137fb2ceb19) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( wy85 )
|
||||
ROM_REGION( 0x10000, "maincpu", 0 )
|
||||
ROM_LOAD( "250151-04_reva.5e", 0x0000, 0x4000, CRC(8fcb9f43) SHA1(6c7e1d27fa6014870c29ab2b8b856ae412bfc411) )
|
||||
ROM_REGION( 0x2000, "user1", 0 )
|
||||
ROM_LOAD( "am9265.1h", 0x0000, 0x2000, CRC(5ee65b55) SHA1(a0b38a38838f262aaea22d212351e7441e4b07e8) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( wy120 ) // b&w
|
||||
ROM_REGION( 0x10000, "maincpu", 0 )
|
||||
ROM_LOAD( "wy120_ver1.4.bin", 0x000000, 0x010000, CRC(6de23624) SHA1(ad90087237347662b5ae4fcc8a05d66d76c46a26) )
|
||||
@ -126,12 +95,9 @@ ROM_START( wy160 )
|
||||
ROM_LOAD( "251167-06.bin", 0x00000, 0x10000, CRC(36e920df) SHA1(8fb7f51b4f47ef63b21d421227d6fef98001e4e9) )
|
||||
ROM_END
|
||||
|
||||
COMP( 1984, wy50, 0, 0, wyse, wyse, wyse_state, empty_init, "Wyse Technology", "WY-50", MACHINE_IS_SKELETON )
|
||||
COMP( 1986, wy60, wy50, 0, wyse, wyse, wyse_state, empty_init, "Wyse Technology", "WY-60", MACHINE_IS_SKELETON )
|
||||
COMP( 1983, wy75, wy50, 0, wyse, wyse, wyse_state, empty_init, "Wyse Technology", "WY-75", MACHINE_IS_SKELETON )
|
||||
COMP( 1985, wy85, wy50, 0, wyse, wyse, wyse_state, empty_init, "Wyse Technology", "WY-85", MACHINE_IS_SKELETON )
|
||||
COMP( 1987, wy120, wy50, 0, wyse, wyse, wyse_state, empty_init, "Wyse Technology", "WY-120", MACHINE_IS_SKELETON )
|
||||
COMP( 1988, wy150, wy50, 0, wyse, wyse, wyse_state, empty_init, "Wyse Technology", "WY-150", MACHINE_IS_SKELETON )
|
||||
COMP( 1990, wy160, wy50, 0, wyse, wyse, wyse_state, empty_init, "Wyse Technology", "WY-160", MACHINE_IS_SKELETON )
|
||||
COMP( 1991, wy30p, wy50, 0, wyse, wyse, wyse_state, empty_init, "Wyse Technology", "WY-30+", MACHINE_IS_SKELETON )
|
||||
COMP( 1993, wy55, wy50, 0, wyse, wyse, wyse_state, empty_init, "Wyse Technology", "WY-55", MACHINE_IS_SKELETON )
|
||||
COMP( 1986, wy60, 0, 0, wyse, wyse, wyse_state, empty_init, "Wyse Technology", "WY-60", MACHINE_IS_SKELETON )
|
||||
COMP( 1987, wy120, 0, 0, wyse, wyse, wyse_state, empty_init, "Wyse Technology", "WY-120", MACHINE_IS_SKELETON )
|
||||
COMP( 1988, wy150, wy150, 0, wyse, wyse, wyse_state, empty_init, "Wyse Technology", "WY-150", MACHINE_IS_SKELETON )
|
||||
COMP( 1990, wy160, 0, 0, wyse, wyse, wyse_state, empty_init, "Wyse Technology", "WY-160", MACHINE_IS_SKELETON )
|
||||
COMP( 1991, wy30p, 0, 0, wyse, wyse, wyse_state, empty_init, "Wyse Technology", "WY-30+", MACHINE_IS_SKELETON )
|
||||
COMP( 1993, wy55, 0, 0, wyse, wyse, wyse_state, empty_init, "Wyse Technology", "WY-55", MACHINE_IS_SKELETON )
|
||||
|
@ -39458,12 +39458,16 @@ wwfsstaru4 // TA-0024 (c) 1989 (US)
|
||||
@source:wy100.cpp
|
||||
wy100 // WY-100
|
||||
|
||||
@source:wyse.cpp
|
||||
@source:wy50.cpp
|
||||
wy50 // WY-50
|
||||
wy75 // WY-75
|
||||
|
||||
@source:wy85.cpp
|
||||
wy85 // WY-85
|
||||
|
||||
@source:wyse.cpp
|
||||
wy55 // WY-55
|
||||
wy60 // WY-60
|
||||
wy75 // WY-75
|
||||
wy85 // WY-85
|
||||
wy120 // WY-120
|
||||
wy150 // WY-150
|
||||
wy160 // WY-160
|
||||
|
@ -821,6 +821,8 @@ wangpc.cpp
|
||||
wicat.cpp
|
||||
wswan.cpp
|
||||
wy100.cpp
|
||||
wy50.cpp
|
||||
wy85.cpp
|
||||
wyse.cpp
|
||||
x07.cpp
|
||||
x1.cpp
|
||||
|
Loading…
Reference in New Issue
Block a user