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