summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/machine
diff options
context:
space:
mode:
author Nigel Barnes <Pernod70@users.noreply.github.com>2021-11-14 16:20:25 +0000
committer Nigel Barnes <Pernod70@users.noreply.github.com>2021-11-14 19:08:42 +0000
commitebcd090edd9792a100c38e35325ed44d6f6d8864 (patch)
treec350ac77b1d54f0c326739c857a90d5785e23bfa /src/devices/machine
parente8174a6df19f6bd096e0d760a3d8f2fda1e0d707 (diff)
New machines marked as NOT_WORKING
---------------------------------- Acorn A500 Development System Acorn M4 Acorn A680 UNIX Evaluation System New clones marked as NOT_WORKING -------------------------------- Acorn A500 Domesday Development System Acorn R140 Acorn R225 Acorn R260 aa310.cpp: - Added PC style IO devices (A5000/A4/A3010/A3020). - Added IDE interface (A5000/A4/A3020). - Added HD floppy drives (A5000/A4/A3010/A3020). - RTFM and Vertical Twist joystick interfaces are slot devices. - Acorn joystick interface (A3010). - Added Battery Management Unit (A4). - Partially implemented IOEB (A5000/A4/A3010/A3020). - Replaced all 8 bit wide ROM images with actual dumps. - Replaced all default CMOS with factory settings. - Added printer port to all machines. - Added serial port to all machines. - Added podule slots to all machines. - Added extension ROM socket (A5000/A4). - Machines are individually configured for floppies and hard discs. - Added support for Atari ST floppies.
Diffstat (limited to 'src/devices/machine')
-rw-r--r--src/devices/machine/acorn_ioc.cpp3
-rw-r--r--src/devices/machine/acorn_memc.cpp9
-rw-r--r--src/devices/machine/pcf8573.h9
3 files changed, 13 insertions, 8 deletions
diff --git a/src/devices/machine/acorn_ioc.cpp b/src/devices/machine/acorn_ioc.cpp
index 1a879cb7a2d..aa778ff7760 100644
--- a/src/devices/machine/acorn_ioc.cpp
+++ b/src/devices/machine/acorn_ioc.cpp
@@ -241,7 +241,8 @@ uint32_t acorn_ioc_device::registers_r(offs_t offset, uint32_t mem_mask)
return data;
case KART:
- change_interrupt(IRQ_STATUS_B, 0x80, CLEAR_LINE);
+ if (!machine().side_effects_disabled())
+ change_interrupt(IRQ_STATUS_B, 0x80, CLEAR_LINE);
return m_regs[KART];
case IRQ_STATUS_A:
diff --git a/src/devices/machine/acorn_memc.cpp b/src/devices/machine/acorn_memc.cpp
index 01d9af73d7e..1b8fc70544a 100644
--- a/src/devices/machine/acorn_memc.cpp
+++ b/src/devices/machine/acorn_memc.cpp
@@ -505,6 +505,15 @@ void acorn_memc_device::high_mem_w(offs_t offset, uint32_t data, uint32_t mem_ma
invalid_access(true, addr, data, mem_mask);
else if (addr < 0x1000000) // DRAM
m_space->write_dword(dram_address(addr), data, mem_mask);
+ else if (addr < 0x1400000) // Buffer enabled by IOC
+ {
+ if (ACCESSING_BITS_16_31)
+ {
+ data >>= 16;
+ mem_mask >>= 16;
+ }
+ m_space->write_dword(0x2000000 | addr, data, mem_mask);
+ }
else
m_space->write_dword(0x2000000 | addr, data, mem_mask);
}
diff --git a/src/devices/machine/pcf8573.h b/src/devices/machine/pcf8573.h
index 1a7fade8c1b..1085118da4f 100644
--- a/src/devices/machine/pcf8573.h
+++ b/src/devices/machine/pcf8573.h
@@ -35,13 +35,6 @@
#include "dirtc.h"
-/***************************************************************************
-CONSTANTS
-***************************************************************************/
-
-#define PCF8573_SLAVE_ADDRESS ( 0xd0 )
-
-
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
@@ -77,6 +70,8 @@ protected:
virtual void rtc_clock_updated(int year, int month, int day, int day_of_week, int hour, int minute, int second) override;
private:
+ static constexpr uint8_t PCF8573_SLAVE_ADDRESS = 0xd0;
+
enum
{
REG_HOURS = 0x00,