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
|
// license:BSD-3-Clause
// copyright-holders:Andrei I. Holub
#include "emu.h"
#include "zxbus_adapter.h"
DEFINE_DEVICE_TYPE(ISA8_ZXBUS, zxbus_adapter_device, "zxbus_adapter", "ISA8 to ZXBUS Adapter")
zxbus_adapter_device::zxbus_adapter_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
: device_t(mconfig, ISA8_ZXBUS, tag, owner, clock)
, device_isa8_card_interface(mconfig, *this)
, m_isa_io_view(*this, "isa_io_view")
, m_zxbus(*this, "zxbus")
{
}
void zxbus_adapter_device::remap(int space_id, offs_t start, offs_t end)
{
if (space_id == AS_IO)
{
m_isa->space(isa8_device::AS_ISA_IO).install_view(0x0000, 0xffff, m_isa_io_view);
}
}
void zxbus_adapter_device::device_start()
{
set_isa_device();
remap(AS_IO, 0, 0xffff);
m_zxbus->set_io_space(m_isa_io_view[0], m_isa_io_view[0]);
m_isa_io_view.select(0);
}
void zxbus_adapter_device::device_add_mconfig(machine_config &config)
{
ZXBUS(config, m_zxbus, 0);
ZXBUS_SLOT(config, "card", 0, m_zxbus, zxbus_cards, nullptr);
}
|