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
|
// license: BSD-3-Clause
// copyright-holders: Angelo Salese
#include "emu.h"
#include "options.h"
#include "amd98.h"
#include "fdd_2dd.h"
#include "fdd_2hd.h"
#include "lgy98.h"
#include "lha201.h"
#include "pc9801_02.h"
#include "pc9801_14.h"
#include "pc9801_26.h"
#include "pc9801_27.h"
#include "pc9801_55.h"
#include "pc9801_86.h"
#include "pc9801_118.h"
#include "pcfxga.h"
#include "mif201.h"
#include "mpu_pc98.h"
#include "sb16_ct2720.h"
#include "sound_orchestra.h"
#include "sound.h"
#include "speakboard.h"
#include "wavestar.h"
void pc98_cbus_devices(device_slot_interface &device)
{
// sound cards
// NEC
device.option_add("pc9801_14", PC9801_14);
device.option_add("pc9801_26", PC9801_26);
device.option_add("pc9801_86", PC9801_86);
device.option_add("pc9801_118", PC9801_118);
// System Sacom
device.option_add("amd98", AMD98);
// Creative Labs
device.option_add("sb16", SB16_CT2720);
// SNE
device.option_add("sound_orchestra", SOUND_ORCHESTRA);
// Idol Japan
device.option_add("speakboard", SPEAKBOARD);
// device.option_add("sparkboard", SPARKBOARD);
// QVision
device.option_add("wavestar", QVISION_WAVESTAR);
// doujinshi HW
// MAD Factory / Doujin Hard (同人ハード)
// MAD Factory Chibi-Oto: an ADPCM override for -86
// MAD Factory Otomi-chan: "TORIE9211 MAD FACTORY" printed on proto PCB, just overrides for ADPCM for -86?
device.option_add("otomichan_kai", OTOMICHAN_KAI);
// MIDI
device.option_add("mpu_pc98", MPU_PC98);
// File Bay
// for first gen only
device.option_add("fdd_2dd", FDD_2DD_BRIDGE);
device.option_add("fdd_2hd", FDD_2HD_BRIDGE);
// PC-9801-08 (2dd, external unit)
// PC-9801-15 (8' unit)
// SASI
device.option_add("pc9801_27", PC9801_27);
// SCSI
// NEC
// device_option_add("pc9801_55", PC9801_55);
device.option_add("pc9801_55u", PC9801_55U);
device.option_add("pc9801_55l", PC9801_55L);
// device.option_add("pc9801_92", PC9801_92);
// Logitec
device.option_add("lha201", LHA201);
// Ethernet
device.option_add("lgy98", LGY98);
// Systems on card
device.option_add("pcfxga", PCFXGA_CBUS);
// internal sound options
device.option_add_internal("sound_pc9821ce", SOUND_PC9821CE);
device.option_add_internal("sound_pc9821cx3", SOUND_PC9821CX3);
}
void pc98_cbus_ram_devices(device_slot_interface &device)
{
device.option_add("128kb", PC9801_02_128KB);
device.option_add("256kb", PC9801_02_256KB);
device.option_add("384kb", PC9801_02_384KB);
device.option_add("512kb", PC9801_02_512KB);
device.option_add("640kb", PC9801_02_640KB);
}
// TODO: add just a subset for now, all needs to be verified if compatible with this C-Bus variant.
void pc88va_cbus_devices(device_slot_interface &device)
{
device.option_add("pc9801_27", PC9801_27);
// device.option_add("pc9801_55u", PC9801_55U);
// device.option_add("pc9801_55l", PC9801_55L);
device.option_add("mif_201", MIF201);
device.option_add("mpu_pc98", MPU_PC98);
}
// https://man.openbsd.org/cbus.4
// Add the known options only for now
void luna88k2_cbus_devices(device_slot_interface &device)
{
// testable thru diagnostic
// a 4MB EMS board (I/O Data PIO-9X34P-2M/4M? Pokes port $e8 bit 7 in-between A20 gate enabling)
// PC9861K serial (access port $00b0, unless that's a red herring and is related to above)
// Allied Telesis CentreCOM LA-98
device.option_add("pc9801_86", PC9801_86);
// PCMCIA options
// I/O Data RSA-98 & RSA-98III/S
// https://gist.github.com/ao-kenji/6cef238e2b327585225e80ac563af0cf
}
|