diff options
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 |
commit | ebcd090edd9792a100c38e35325ed44d6f6d8864 (patch) | |
tree | c350ac77b1d54f0c326739c857a90d5785e23bfa /src/devices/machine | |
parent | e8174a6df19f6bd096e0d760a3d8f2fda1e0d707 (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.cpp | 3 | ||||
-rw-r--r-- | src/devices/machine/acorn_memc.cpp | 9 | ||||
-rw-r--r-- | src/devices/machine/pcf8573.h | 9 |
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, |