summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Nigel Barnes <Pernod70@users.noreply.github.com>2022-03-20 20:27:36 +0000
committer Nigel Barnes <Pernod70@users.noreply.github.com>2022-03-20 20:30:25 +0000
commit268f23cbc1c85c410d5d277e56de24a01ec958fb (patch)
tree27fe364b2a051aacb4e3f895260ec473d7df57fa
parent57ab4eace9314b563e8522f13a5ef59d0425b562 (diff)
bbc_tube_80186/286: Added ibm5150 compatible software list.
-rw-r--r--src/devices/bus/bbc/tube/tube_80186.cpp1
-rw-r--r--src/devices/bus/bbc/tube/tube_80286.cpp24
-rw-r--r--src/devices/bus/bbc/tube/tube_80286.h4
3 files changed, 11 insertions, 18 deletions
diff --git a/src/devices/bus/bbc/tube/tube_80186.cpp b/src/devices/bus/bbc/tube/tube_80186.cpp
index 874a5b00013..db48f5458d1 100644
--- a/src/devices/bus/bbc/tube/tube_80186.cpp
+++ b/src/devices/bus/bbc/tube/tube_80186.cpp
@@ -81,6 +81,7 @@ void bbc_tube_80186_device::device_add_mconfig(machine_config &config)
/* software lists */
SOFTWARE_LIST(config, "flop_ls_80186").set_original("bbc_flop_80186");
+ SOFTWARE_LIST(config, "pc_disk_list").set_compatible("ibm5150");
}
void bbc_tube_pcplus_device::device_add_mconfig(machine_config &config)
diff --git a/src/devices/bus/bbc/tube/tube_80286.cpp b/src/devices/bus/bbc/tube/tube_80286.cpp
index 2164ffe526a..aa51a6c6b0f 100644
--- a/src/devices/bus/bbc/tube/tube_80286.cpp
+++ b/src/devices/bus/bbc/tube/tube_80286.cpp
@@ -39,7 +39,7 @@ void bbc_tube_80286_device::tube_80286_io(address_map &map)
{
map.unmap_value_high();
map(0x50, 0x50).r(FUNC(bbc_tube_80286_device::disable_boot_rom));
- map(0x60, 0x60).w(FUNC(bbc_tube_80286_device::irq_latch_w));
+ map(0x60, 0x60).lw8(NAME([this](uint8_t data) { m_irq_latch = data; }));
map(0x80, 0x8f).rw("ula", FUNC(tube_device::parasite_r), FUNC(tube_device::parasite_w)).umask16(0x00ff);
}
@@ -73,6 +73,7 @@ void bbc_tube_80286_device::device_add_mconfig(machine_config &config)
/* software lists */
SOFTWARE_LIST(config, "flop_ls_80186").set_original("bbc_flop_80186");
+ SOFTWARE_LIST(config, "pc_disk_list").set_compatible("ibm5150");
}
//-------------------------------------------------
@@ -93,12 +94,13 @@ const tiny_rom_entry *bbc_tube_80286_device::device_rom_region() const
//-------------------------------------------------
bbc_tube_80286_device::bbc_tube_80286_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, BBC_TUBE_80286, tag, owner, clock),
- device_bbc_tube_interface(mconfig, *this),
- m_i80286(*this, "i80286"),
- m_ula(*this, "ula"),
- m_ram(*this, "ram"),
- m_bootstrap(*this, "bootstrap")
+ : device_t(mconfig, BBC_TUBE_80286, tag, owner, clock)
+ , device_bbc_tube_interface(mconfig, *this)
+ , m_i80286(*this, "i80286")
+ , m_ula(*this, "ula")
+ , m_ram(*this, "ram")
+ , m_bootstrap(*this, "bootstrap")
+ , m_irq_latch(0)
{
}
@@ -108,7 +110,6 @@ bbc_tube_80286_device::bbc_tube_80286_device(const machine_config &mconfig, cons
void bbc_tube_80286_device::device_start()
{
- m_slot = dynamic_cast<bbc_tube_slot_device *>(owner());
}
//-------------------------------------------------
@@ -117,8 +118,6 @@ void bbc_tube_80286_device::device_start()
void bbc_tube_80286_device::device_reset()
{
- m_ula->reset();
-
address_space &program = m_i80286->space(AS_PROGRAM);
program.install_rom(0xc0000, 0xc3fff, 0x3c000, m_bootstrap->base());
@@ -147,11 +146,6 @@ uint8_t bbc_tube_80286_device::disable_boot_rom()
return 0xff;
}
-void bbc_tube_80286_device::irq_latch_w(uint8_t data)
-{
- m_irq_latch = data;
-}
-
//-------------------------------------------------
// irq vector callback
//-------------------------------------------------
diff --git a/src/devices/bus/bbc/tube/tube_80286.h b/src/devices/bus/bbc/tube/tube_80286.h
index a6e952d6bf2..980ec7e1a74 100644
--- a/src/devices/bus/bbc/tube/tube_80286.h
+++ b/src/devices/bus/bbc/tube/tube_80286.h
@@ -42,8 +42,6 @@ protected:
virtual void host_w(offs_t offset, uint8_t data) override;
private:
- uint8_t m_irq_latch;
-
IRQ_CALLBACK_MEMBER( irq_callback );
required_device<i80286_cpu_device> m_i80286;
@@ -51,8 +49,8 @@ private:
required_device<ram_device> m_ram;
required_memory_region m_bootstrap;
+ uint8_t m_irq_latch;
uint8_t disable_boot_rom();
- void irq_latch_w(uint8_t data);
void tube_80286_io(address_map &map);
void tube_80286_mem(address_map &map);