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
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
|
// license: BSD-3-Clause
// copyright-holders: Dirk Best
/****************************************************************************
Liberty Electronics Freedom 120/Aspect 100
Serial terminal
Hardware:
- Z0840006PSC Z80 CPU
- XTAL 32 Mhz and 48 MHz
- MC2674B4P
- 27C256 labeled "G212011 6A22"
- M27C512 labeled "M2ASP11 C368"
- KM6264BL-7L x2 (next to ROM)
- MS6264L-70PC
- V61C16P70L x2
- SCN2681AC1N40
- XTAL 3.6864 MHz
- PAL labeled "10A8"
- PAL labeled "PL10251"
- PAL labeled "PL10151"
- Motorola IC "LS38BC712PP01"
- Battery
External:
- Serial port labeled "Main Port"
- Parallel port labeled "Parallel Port"
- Keyboard port
Status: Skeleton driver
****************************************************************************/
#include "emu.h"
#include "cpu/z80/z80.h"
#include "emupal.h"
#include "screen.h"
namespace {
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
class freedom120_state : public driver_device
{
public:
freedom120_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag),
m_maincpu(*this, "maincpu")
{ }
void freedom120(machine_config &config);
protected:
virtual void machine_start() override;
virtual void machine_reset() override;
private:
required_device<z80_device> m_maincpu;
void mem_map(address_map &map);
void io_map(address_map &map);
};
//**************************************************************************
// ADDRESS MAPS
//**************************************************************************
void freedom120_state::mem_map(address_map &map)
{
map(0x0000, 0xffff).rom();
}
void freedom120_state::io_map(address_map &map)
{
}
//**************************************************************************
// VIDEO EMULATION
//**************************************************************************
static const gfx_layout char_layout =
{
8, 16,
RGN_FRAC(1, 1),
1,
{ 0 },
{ STEP8(0, 1) },
{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8, 8*8, 9*8, 10*8, 11*8, 12*8, 13*8, 14*8, 15*8 },
8 * 16
};
static GFXDECODE_START(chars)
GFXDECODE_ENTRY("chargen", 0, char_layout, 0, 1)
GFXDECODE_END
//**************************************************************************
// MACHINE EMULATION
//**************************************************************************
void freedom120_state::machine_start()
{
}
void freedom120_state::machine_reset()
{
}
//**************************************************************************
// MACHINE DEFINTIONS
//**************************************************************************
void freedom120_state::freedom120(machine_config &config)
{
Z80(config, m_maincpu, 48_MHz_XTAL / 8); // unknown clock
m_maincpu->set_addrmap(AS_PROGRAM, &freedom120_state::mem_map);
m_maincpu->set_addrmap(AS_IO, &freedom120_state::io_map);
PALETTE(config, "palette", palette_device::MONOCHROME);
GFXDECODE(config, "gfxdecode", "palette", chars);
}
//**************************************************************************
// ROM DEFINITIONS
//**************************************************************************
ROM_START( free120 )
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("m2asp11.u241", 0x0000, 0x10000, CRC(c079f471) SHA1(4864660c9a4470a4a444943fe89d91dc44297c39))
ROM_REGION(0x8000, "chargen", 0)
ROM_LOAD("g212011.u242", 0x0000, 0x8000, CRC(18e6700f) SHA1(fdf22d11468f978661005be115ec0bcc043519fc))
ROM_END
} // anonymous namespace
//**************************************************************************
// SYSTEM DRIVERS
//**************************************************************************
// YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS
COMP( 1993, free120, 0, 0, freedom120, 0, freedom120_state, empty_init, "Liberty Electronics", "Freedom 120/Aspect 100", MACHINE_IS_SKELETON )
|