1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
|
// license:BSD-3-Clause
// copyright-holders:
/***********************************************************************************************************************************
Skeleton driver for Data General Dasher 400 series terminals.
************************************************************************************************************************************/
#include "emu.h"
#include "cpu/m6809/m6809.h"
#include "machine/mc68681.h"
#include "machine/x2212.h"
//#include "video/crt9007.h"
#include "screen.h"
class d400_state : public driver_device
{
public:
d400_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag)
, m_maincpu(*this, "maincpu")
{ }
u32 screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void d461(machine_config &config);
void mem_map(address_map &map);
private:
required_device<cpu_device> m_maincpu;
};
u32 d400_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
return 0;
}
void d400_state::mem_map(address_map &map)
{
map(0x0000, 0x3fff).ram();
//AM_RANGE(0x4000, 0x403f) AM_DEVREADWRITE("vpac", crt9007_device, read, write)
map(0x4800, 0x48ff).ram();
map(0x5000, 0x50ff).ram();
map(0x6000, 0x6fff).ram();
map(0x7800, 0x780f).rw("duart", FUNC(scn2681_device::read), FUNC(scn2681_device::write));
map(0x7880, 0x78bf).rw("novram", FUNC(x2210_device::read), FUNC(x2210_device::write));
map(0x7c00, 0x7c00).nopw();
map(0x8000, 0xffff).rom().region("maincpu", 0);
}
static INPUT_PORTS_START( d461 )
INPUT_PORTS_END
MACHINE_CONFIG_START(d400_state::d461)
MCFG_DEVICE_ADD("maincpu", MC6809E, 4'000'000) // HD68B09EP
MCFG_DEVICE_PROGRAM_MAP(mem_map)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(XTAL(59'292'000) / 3, 1080, 0, 810, 305, 0, 300) // yes, 81 columns
//MCFG_SCREEN_RAW_PARAMS(XTAL(59'292'000) / 2, 1620, 0, 1215, 305, 0, 300) // for 135-column mode
MCFG_SCREEN_UPDATE_DRIVER(d400_state, screen_update)
MCFG_DEVICE_ADD("novram", X2210, 0)
MCFG_DEVICE_ADD("duart", SCN2681, XTAL(3'686'400))
MACHINE_CONFIG_END
/**************************************************************************************************************
Data General D461.
Chips: SCN2681A, X2210P, 2x HM6116P-2, 2x HM6264P-20, HD68B09EP, CRT9007, 1x 8-sw dip.
Crystals: 3.6864, 59.2920
***************************************************************************************************************/
ROM_START( d461 )
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD( "dgc_100_5776-05.bin", 0x0000, 0x8000, CRC(fdce2132) SHA1(82eac1751c31f99d4490505e16af5e7e7a52b310) )
ROM_END
COMP( 1986, d461, 0, 0, d461, d461, d400_state, 0, "Data General", "Dasher D461", MACHINE_IS_SKELETON )
|