1 // license:BSD-3-Clause
2 // copyright-holders:AJR
3 /*******************************************************************************
4 
5     Skeleton device for Sanyo/Caravelle CDR-N820s.
6 
7 *******************************************************************************/
8 
9 #include "emu.h"
10 #include "bus/nscsi/cdrn820s.h"
11 #include "machine/wd33c9x.h"
12 
13 DEFINE_DEVICE_TYPE(CDRN820S, cdrn820s_device, "cdrn820s", "Caravelle CDR-N820s")
14 
cdrn820s_device(const machine_config & mconfig,device_type type,const char * tag,device_t * owner,u32 clock)15 cdrn820s_device::cdrn820s_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock)
16 	: device_t(mconfig, type, tag, owner, clock)
17 	, nscsi_slot_card_interface(mconfig, *this, "scsic")
18 	, m_h8(*this, "h8")
19 {
20 }
21 
cdrn820s_device(const machine_config & mconfig,const char * tag,device_t * owner,u32 clock)22 cdrn820s_device::cdrn820s_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
23 	: cdrn820s_device(mconfig, CDRN820S, tag, owner, clock)
24 {
25 }
26 
device_start()27 void cdrn820s_device::device_start()
28 {
29 }
30 
mem_map(address_map & map)31 void cdrn820s_device::mem_map(address_map &map)
32 {
33 	map(0x00000, 0x1ffff).rom().region("program", 0);
34 }
35 
device_add_mconfig(machine_config & config)36 void cdrn820s_device::device_add_mconfig(machine_config &config)
37 {
38 	H83048(config, m_h8, 8'000'000); // type and clock unknown
39 	m_h8->set_addrmap(AS_PROGRAM, &cdrn820s_device::mem_map);
40 	m_h8->set_mode_a20();
41 
42 	WD33C93A(config, "scsic", 10'000'000); // type and clock unknown
43 }
44 
45 ROM_START(cdrn820s)
46 	ROM_REGION16_BE(0x40000, "program", 0)
47 	ROM_LOAD("cdr_120.bin", 0x00000, 0x20000, CRC(8cac6862) SHA1(e498dcd9006d257ced6cd0b50c76608e9a8023f7)) // Caravelle CDR-N820S 1.20
48 ROM_END
49 
device_rom_region() const50 const tiny_rom_entry *cdrn820s_device::device_rom_region() const
51 {
52 	return ROM_NAME(cdrn820s);
53 }
54