mirror of
https://github.com/holub/mame
synced 2025-04-16 21:44:32 +03:00
New machines marked as NOT_WORKING
---------------------------------- Human Designed Systems HDS200 [Bitsavers]
This commit is contained in:
parent
671e1e8404
commit
3d666945e0
@ -1283,6 +1283,7 @@ function linkProjects_mame_mess(_target, _subtarget)
|
|||||||
"grundy",
|
"grundy",
|
||||||
"h01x",
|
"h01x",
|
||||||
"hartung",
|
"hartung",
|
||||||
|
"hds",
|
||||||
"heathkit",
|
"heathkit",
|
||||||
"hec2hrp",
|
"hec2hrp",
|
||||||
"hegener",
|
"hegener",
|
||||||
@ -2569,6 +2570,11 @@ files {
|
|||||||
MAME_DIR .. "src/mame/drivers/gmaster.cpp",
|
MAME_DIR .. "src/mame/drivers/gmaster.cpp",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
createMESSProjects(_target, _subtarget, "hds")
|
||||||
|
files {
|
||||||
|
MAME_DIR .. "src/mame/drivers/hds200.cpp",
|
||||||
|
}
|
||||||
|
|
||||||
createMESSProjects(_target, _subtarget, "heathkit")
|
createMESSProjects(_target, _subtarget, "heathkit")
|
||||||
files {
|
files {
|
||||||
MAME_DIR .. "src/mame/drivers/et3400.cpp",
|
MAME_DIR .. "src/mame/drivers/et3400.cpp",
|
||||||
|
@ -327,6 +327,7 @@ const double XTAL::known_xtals[] = {
|
|||||||
22'464'000, /* 22.464_MHz_XTAL CIT-101 132-column display clock */
|
22'464'000, /* 22.464_MHz_XTAL CIT-101 132-column display clock */
|
||||||
22'579'000, /* 22.579_MHz_XTAL Sega System H1 SCSP clock */
|
22'579'000, /* 22.579_MHz_XTAL Sega System H1 SCSP clock */
|
||||||
22'656'000, /* 22.656_MHz_XTAL Super Pinball Action (~1440x NTSC line rate) */
|
22'656'000, /* 22.656_MHz_XTAL Super Pinball Action (~1440x NTSC line rate) */
|
||||||
|
22'680'000, /* 22.680_MHz_XTAL HDS200 80-columns display clock */
|
||||||
22'896'000, /* 22.896_MHz_XTAL DEC VT220 132-column display clock */
|
22'896'000, /* 22.896_MHz_XTAL DEC VT220 132-column display clock */
|
||||||
23'200'000, /* 23.2_MHz_XTAL Roland JV-80 & JV-880 PCM clock */
|
23'200'000, /* 23.2_MHz_XTAL Roland JV-80 & JV-880 PCM clock */
|
||||||
23'814'000, /* 23.814_MHz_XTAL TeleVideo TVI-912, 920 & 950 */
|
23'814'000, /* 23.814_MHz_XTAL TeleVideo TVI-912, 920 & 950 */
|
||||||
@ -402,6 +403,7 @@ const double XTAL::known_xtals[] = {
|
|||||||
34'000'000, /* 34_MHz_XTAL Gaelco PCBs */
|
34'000'000, /* 34_MHz_XTAL Gaelco PCBs */
|
||||||
34'291'712, /* 34.291712_MHz_XTAL Fairlight CMI master card */
|
34'291'712, /* 34.291712_MHz_XTAL Fairlight CMI master card */
|
||||||
34'846'000, /* 34.846_MHz_XTAL Visual 550 */
|
34'846'000, /* 34.846_MHz_XTAL Visual 550 */
|
||||||
|
35'640'000, /* 35.640_MHz_XTAL HDS200 132-column display clock */
|
||||||
35'834'400, /* 35.8344_MHz_XTAL Tab Products E-22 132-column display clock */
|
35'834'400, /* 35.8344_MHz_XTAL Tab Products E-22 132-column display clock */
|
||||||
35'840'000, /* 35.84_MHz_XTAL Akai MPC 60 voice PCB */
|
35'840'000, /* 35.84_MHz_XTAL Akai MPC 60 voice PCB */
|
||||||
35'904'000, /* 35.904_MHz_XTAL Used on HP98543 graphics board */
|
35'904'000, /* 35.904_MHz_XTAL Used on HP98543 graphics board */
|
||||||
|
176
src/mame/drivers/hds200.cpp
Normal file
176
src/mame/drivers/hds200.cpp
Normal file
@ -0,0 +1,176 @@
|
|||||||
|
// license: BSD-3-Clause
|
||||||
|
// copyright-holders: Dirk Best
|
||||||
|
/***************************************************************************
|
||||||
|
|
||||||
|
Human Designed Systems HDS200
|
||||||
|
|
||||||
|
ANSI/DEC-compatbile terminal
|
||||||
|
|
||||||
|
Hardware:
|
||||||
|
- Z80A (Z8400APS)
|
||||||
|
- Z80A DMA (Z8410APS)
|
||||||
|
- 2x SCN2681A
|
||||||
|
- SCN2674B
|
||||||
|
- 2x TMM2016BP-90 (2k)
|
||||||
|
- 1x TMM2016AP-10 (2k)
|
||||||
|
- MK48Z02B-25 (2k)
|
||||||
|
- XTAL 3.6864 MHz (next go DUARTs)
|
||||||
|
- XTAL 8 MHz (CPU)
|
||||||
|
- XTAL 22.680 MHz and 35.640 MHz (video)
|
||||||
|
|
||||||
|
TODO:
|
||||||
|
- Everything
|
||||||
|
|
||||||
|
Notes:
|
||||||
|
-
|
||||||
|
|
||||||
|
***************************************************************************/
|
||||||
|
|
||||||
|
#include "emu.h"
|
||||||
|
#include "cpu/z80/z80.h"
|
||||||
|
#include "machine/mc68681.h"
|
||||||
|
#include "machine/z80dma.h"
|
||||||
|
#include "machine/nvram.h"
|
||||||
|
#include "video/scn2674.h"
|
||||||
|
#include "emupal.h"
|
||||||
|
#include "screen.h"
|
||||||
|
|
||||||
|
|
||||||
|
namespace {
|
||||||
|
|
||||||
|
|
||||||
|
//**************************************************************************
|
||||||
|
// TYPE DEFINITIONS
|
||||||
|
//**************************************************************************
|
||||||
|
|
||||||
|
class hds200_state : public driver_device
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
hds200_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||||
|
: driver_device(mconfig, type, tag),
|
||||||
|
m_maincpu(*this, "maincpu"),
|
||||||
|
m_screen(*this, "screen"),
|
||||||
|
m_avdc(*this, "avdc")
|
||||||
|
{ }
|
||||||
|
|
||||||
|
void hds200(machine_config &config);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
virtual void machine_start() override;
|
||||||
|
|
||||||
|
private:
|
||||||
|
void mem_map(address_map &map);
|
||||||
|
void io_map(address_map &map);
|
||||||
|
|
||||||
|
required_device<z80_device> m_maincpu;
|
||||||
|
required_device<screen_device> m_screen;
|
||||||
|
required_device<scn2674_device> m_avdc;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
//**************************************************************************
|
||||||
|
// ADDRESS MAPS
|
||||||
|
//**************************************************************************
|
||||||
|
|
||||||
|
void hds200_state::mem_map(address_map &map)
|
||||||
|
{
|
||||||
|
map(0x0000, 0x5fff).rom().region("maincpu", 0);
|
||||||
|
map(0x6000, 0x7fff).ram();
|
||||||
|
map(0x8000, 0x9fff).ram();
|
||||||
|
map(0xa000, 0xbfff).ram();
|
||||||
|
}
|
||||||
|
|
||||||
|
void hds200_state::io_map(address_map &map)
|
||||||
|
{
|
||||||
|
map.global_mask(0xff);
|
||||||
|
map(0x60, 0x67).rw(m_avdc, FUNC(scn2674_device::read), FUNC(scn2674_device::write));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//**************************************************************************
|
||||||
|
// VIDEO EMULATION
|
||||||
|
//**************************************************************************
|
||||||
|
|
||||||
|
static const gfx_layout char_layout =
|
||||||
|
{
|
||||||
|
8,16,
|
||||||
|
RGN_FRAC(1,1),
|
||||||
|
1,
|
||||||
|
{ 0 },
|
||||||
|
{ STEP8(0,1) },
|
||||||
|
{ STEP16(0,8) },
|
||||||
|
8*16
|
||||||
|
};
|
||||||
|
|
||||||
|
static GFXDECODE_START(chars)
|
||||||
|
GFXDECODE_ENTRY("chargen", 0, char_layout, 0, 1)
|
||||||
|
GFXDECODE_END
|
||||||
|
|
||||||
|
|
||||||
|
//**************************************************************************
|
||||||
|
// MACHINE EMULATION
|
||||||
|
//**************************************************************************
|
||||||
|
|
||||||
|
void hds200_state::machine_start()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//**************************************************************************
|
||||||
|
// MACHINE DEFINTIONS
|
||||||
|
//**************************************************************************
|
||||||
|
|
||||||
|
void hds200_state::hds200(machine_config &config)
|
||||||
|
{
|
||||||
|
Z80(config, m_maincpu, 8_MHz_XTAL / 2); // divider not verified
|
||||||
|
m_maincpu->set_addrmap(AS_PROGRAM, &hds200_state::mem_map);
|
||||||
|
m_maincpu->set_addrmap(AS_IO, &hds200_state::io_map);
|
||||||
|
|
||||||
|
// NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
|
||||||
|
|
||||||
|
Z80DMA(config, "z80dma", 8_MHz_XTAL / 2); // divider not verified
|
||||||
|
|
||||||
|
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
|
||||||
|
m_screen->set_color(rgb_t::amber());
|
||||||
|
m_screen->set_raw(22.680_MHz_XTAL, 1008, 0, 720, 375, 0, 350); // 80-column mode
|
||||||
|
m_screen->set_screen_update(m_avdc, FUNC(scn2674_device::screen_update));
|
||||||
|
|
||||||
|
PALETTE(config, "palette", palette_device::MONOCHROME);
|
||||||
|
|
||||||
|
GFXDECODE(config, "gfxdecode", "palette", chars);
|
||||||
|
|
||||||
|
SCN2674(config, m_avdc, 22.680_MHz_XTAL / 9);
|
||||||
|
m_avdc->set_character_width(9);
|
||||||
|
m_avdc->set_screen("screen");
|
||||||
|
|
||||||
|
SCN2681(config, "duart1", 3.6864_MHz_XTAL);
|
||||||
|
|
||||||
|
SCN2681(config, "duart2", 3.6864_MHz_XTAL);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//**************************************************************************
|
||||||
|
// ROM DEFINITIONS
|
||||||
|
//**************************************************************************
|
||||||
|
|
||||||
|
ROM_START( hds200 )
|
||||||
|
ROM_REGION(0x8000, "maincpu", 0)
|
||||||
|
ROM_LOAD("u78.bin", 0x0000, 0x2000, CRC(518cfeb7) SHA1(3c214dede545a2a991fdd77311b3474b01b2123f))
|
||||||
|
ROM_LOAD("u79.bin", 0x2000, 0x2000, CRC(3a765c8a) SHA1(8ffb5fb07b086ac725f22c2643ecd2e061130b57))
|
||||||
|
ROM_LOAD("u80.bin", 0x4000, 0x2000, CRC(f72dfeeb) SHA1(7e09b8f0df8384f6b5c4d29cd59fa31f743de8b8))
|
||||||
|
ROM_LOAD("u81.bin", 0x6000, 0x2000, CRC(b3f430be) SHA1(dd5503de46c7f00f2e376104dff13224026f5870))
|
||||||
|
|
||||||
|
ROM_REGION(0x2000, "chargen", ROMREGION_INVERT)
|
||||||
|
ROM_LOAD("u56.bin", 0x0000, 0x2000, CRC(cd268bff) SHA1(42f2aa3f51ae53e5cbcb57f974e99b24bca5f56f))
|
||||||
|
ROM_END
|
||||||
|
|
||||||
|
|
||||||
|
} // anonymous namespace
|
||||||
|
|
||||||
|
|
||||||
|
//**************************************************************************
|
||||||
|
// SYSTEM DRIVERS
|
||||||
|
//**************************************************************************
|
||||||
|
|
||||||
|
// YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS
|
||||||
|
COMP( 198?, hds200, 0, 0, hds200, 0, hds200_state, empty_init, "Human Designed Systems", "HDS200", MACHINE_IS_SKELETON )
|
@ -16281,6 +16281,9 @@ hcastle // GX768 (c) 1988
|
|||||||
hcastlee // GX768 (c) 1988
|
hcastlee // GX768 (c) 1988
|
||||||
hcastlek // GX768 (c) 1988
|
hcastlek // GX768 (c) 1988
|
||||||
|
|
||||||
|
@source:hds200.cpp
|
||||||
|
hds200 // (c) Human Developed Systems
|
||||||
|
|
||||||
@source:headonb.cpp
|
@source:headonb.cpp
|
||||||
blackhol
|
blackhol
|
||||||
foolrace // bootleg
|
foolrace // bootleg
|
||||||
|
@ -395,6 +395,7 @@ harriet.cpp
|
|||||||
hawk.cpp
|
hawk.cpp
|
||||||
hazeltin.cpp
|
hazeltin.cpp
|
||||||
hazl1420.cpp
|
hazl1420.cpp
|
||||||
|
hds200.cpp
|
||||||
hec2hrp.cpp
|
hec2hrp.cpp
|
||||||
hektor.cpp
|
hektor.cpp
|
||||||
hhtiger.cpp
|
hhtiger.cpp
|
||||||
|
Loading…
Reference in New Issue
Block a user