summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/rc2014/modules.cpp
blob: 8ce74ae2cc1891d45dfb76432454cade8990d25d (plain) (blame)
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
// license:BSD-3-Clause
// copyright-holders:Miodrag Milanovic
/**********************************************************************

    RC2014 Modules

**********************************************************************/

#include "emu.h"
#include "bus/rc2014/rc2014.h"

#include "bus/rc2014/cf.h"
#include "bus/rc2014/clock.h"
#include "bus/rc2014/edge.h"
#include "bus/rc2014/fdc.h"
#include "bus/rc2014/ide.h"
#include "bus/rc2014/micro.h"
#include "bus/rc2014/ram.h"
#include "bus/rc2014/rom.h"
#include "bus/rc2014/romram.h"
#include "bus/rc2014/rtc.h"
#include "bus/rc2014/serial.h"
#include "bus/rc2014/sound.h"
#include "bus/rc2014/z180cpu.h"
#include "bus/rc2014/z80cpu.h"

void rc2014_bus_modules(device_slot_interface &device)
{
	device.option_add("z80", RC2014_Z80CPU);
	// Z80 2.1 on standard bus is same as Z80 module
	device.option_add("z80_21_40p", RC2014_Z80CPU);
	device.option_add("clock", RC2014_SINGLE_CLOCK);
	device.option_add("dual_clk_40p", RC2014_DUAL_CLOCK_40P);
	device.option_add("ram32k", RC2014_RAM_32K);
	device.option_add("ram64k_40p", RC2014_RAM_64K_40P);
	device.option_add("sw_rom", RC2014_SWITCHABLE_ROM);
	device.option_add("serial", RC2014_SERIAL_IO);
	device.option_add("sio_40p", RC2014_DUAL_SERIAL_40P);
	device.option_add("cf", RC2014_COMPACT_FLASH);
	device.option_add("rom_ram", RC2014_ROM_RAM_512);
	device.option_add("rtc", RC2014_DS1302_RTC);
	device.option_add("ym_sound", RC2014_YM2149_SOUND);
	device.option_add("ay_sound", RC2014_AY8190_SOUND);
	device.option_add("82c55_ide", RC2014_82C55_IDE);
	device.option_add("ide_hdd", RC2014_IDE_HDD);
	device.option_add("fdc_smc", RC2014_FDC9266);
	device.option_add("fdc_wdc", RC2014_WD37C65);
	device.option_add("micro", RC2014_MICRO);
}

// Mini mezzanine boards
void rc2014_mini_bus_modules(device_slot_interface &device)
{
	rc2014_bus_modules(device);
	device.option_add("mini", RC2014_MICRO);
	device.option_add("mini_cpm", RC2014_MINI_CPM);
}

void rc2014_bus_edge_modules(device_slot_interface &device)
{
	device.option_add("sc141", RC2014_SC141);
	device.option_add("sc147", RC2014_SC147);
	rc2014_bus_modules(device);
}
void rc2014_ext_bus_modules(device_slot_interface &device)
{
	rc2014_bus_modules(device);
	device.option_add("z80_21", RC2014_Z80CPU_21);
	device.option_add("dual_clk", RC2014_DUAL_CLOCK);
	device.option_add("sio", RC2014_DUAL_SERIAL);
	device.option_add("page_rom", RC2014_PAGABLE_ROM);
	device.option_add("ram64k", RC2014_RAM_64K);
}

void rc2014_rc80_bus_modules(device_slot_interface &device)
{
	rc2014_ext_bus_modules(device);
	device.option_add("sc111", RC2014_SC111);
	device.option_add("sc119", RC2014_SC119);
}

void rc2014_rc80_bus_edge_modules(device_slot_interface &device)
{
	device.option_add("sc106", RC2014_SC106);
	device.option_add("sc107", RC2014_SC107);
	device.option_add("sc113", RC2014_SC113);
	rc2014_rc80_bus_modules(device);
}