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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
|
// license:BSD-3-Clause
// copyright-holders:Jonathan Gevaryahu, Kevin Horton
/******************************************************************************
*
* Bare bones Realvoice PC driver
* By Jonathan Gevaryahu AKA Lord Nightmare
* Binary supplied by Kevin 'kevtris' Horton
*
******************************************************************************/
/* Core includes */
#include "emu.h"
#include "cpu/m6800/m6801.h"
#include "machine/mos6551.h"
#include "machine/terminal.h"
/* Components */
class rvoice_state : public driver_device
{
public:
rvoice_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag)
, m_maincpu(*this, "maincpu")
, m_terminal(*this, "terminal")
{ }
void rvoicepc(machine_config &config);
void init_rvoicepc();
private:
virtual void machine_reset() override;
void null_kbd_put(u8 data);
required_device<cpu_device> m_maincpu;
required_device<generic_terminal_device> m_terminal;
void hd63701_main_mem(address_map &map);
};
/* Devices */
void rvoice_state::init_rvoicepc()
{
}
void rvoice_state::machine_reset()
{
}
/******************************************************************************
Address Maps
******************************************************************************/
void rvoice_state::hd63701_main_mem(address_map &map)
{
map.unmap_value_high();
map(0x0000, 0x0027).m(m_maincpu, FUNC(hd6301y_cpu_device::hd6301y_io)); // INTERNAL REGS
map(0x0040, 0x005f).ram(); // INTERNAL RAM (overlaps acia)
map(0x0060, 0x007f).rw("acia65c51", FUNC(mos6551_device::read), FUNC(mos6551_device::write)); // ACIA 65C51
map(0x0080, 0x013f).ram(); // INTERNAL RAM (overlaps acia)
map(0x2000, 0x7fff).ram(); // EXTERNAL SRAM
map(0x8000, 0xffff).rom(); // 27512 EPROM
}
/******************************************************************************
Input Ports
******************************************************************************/
static INPUT_PORTS_START( rvoicepc )
INPUT_PORTS_END
/******************************************************************************
Machine Drivers
******************************************************************************/
void rvoice_state::null_kbd_put(u8 data)
{
}
void rvoice_state::rvoicepc(machine_config &config)
{
/* basic machine hardware */
HD63701Y0(config, m_maincpu, XTAL(7'372'800));
m_maincpu->set_addrmap(AS_PROGRAM, &rvoice_state::hd63701_main_mem);
//hd63701_cpu_device &playercpu(HD63701(config "playercpu", XTAL(7'372'800))); // not dumped yet
//playercpu.set_addrmap(AS_PROGRAM, &rvoice_state::hd63701_slave_mem);
//playercpu.set_addrmap(AS_PROGRAM, &rvoice_state::hd63701_slave_io);
config.set_maximum_quantum(attotime::from_hz(60));
mos6551_device &acia(MOS6551(config, "acia65c51", 0));
acia.set_xtal(1.8432_MHz_XTAL);
/* video hardware */
/* sound hardware */
GENERIC_TERMINAL(config, m_terminal, 0);
m_terminal->set_keyboard_callback(FUNC(rvoice_state::null_kbd_put));
}
/******************************************************************************
ROM Definitions
******************************************************************************/
ROM_START(rvoicepc)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("rv_pc.bin", 0x08000, 0x08000, CRC(4001cd5f) SHA1(d973c6e19e493eedd4f7216bc530ddb0b6c4921e))
ROM_CONTINUE(0x8000, 0x8000) // first half of 27c512 rom is blank due to stupid address decoder circuit
ROM_END
/******************************************************************************
Drivers
******************************************************************************/
// YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS
COMP( 1988?, rvoicepc, 0, 0, rvoicepc, rvoicepc, rvoice_state, init_rvoicepc, "Adaptive Communication Systems", "Realvoice PC", MACHINE_NOT_WORKING | MACHINE_NO_SOUND )
|