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.
This commit is contained in:
Nigel Barnes 2021-11-14 16:20:25 +00:00
parent e8174a6df1
commit ebcd090edd
6 changed files with 1662 additions and 460 deletions

View File

@ -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:

View File

@ -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);
}

View File

@ -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,

View File

@ -467,6 +467,7 @@ const double XTAL::known_xtals[] = {
80'000'000, /* 80_MHz_XTAL ARM710 */
87'183'360, /* 87.18336_MHz_XTAL AT&T 630 MTG */
92'940'500, /* 92.9405_MHz_XTAL Sun cgthree */
96'000'000, /* 96_MHz_XTAL Acorn A680 */
99'522'000, /* 99.522_MHz_XTAL Radius Two Page Display */
100'000'000, /* 100_MHz_XTAL PSX-based Namco System 12, Vegas, Sony ZN1-2-based */
101'491'200, /* 101.4912_MHz_XTAL PSX-based Namco System 10 */

File diff suppressed because it is too large Load Diff

View File

@ -287,14 +287,21 @@ a7800 // Atari 7800 NTSC
a7800p // Atari 7800 PAL
@source:aa310.cpp
aa500 // 1986 Acorn A500
aa500d // 1987 Acorn A500 Domesday
aa305 // 1987 Acorn Archimedes 305
aa310 // 1987 Acorn Archimedes 310
aa440 // 1987 Acorn Archimedes 440
am4 // 1987 Acorn M4
aa680 // 1988 Acorn A680
ar140 // 1988 Acorn R140
aa3000 // 1989 Acorn Archimedes 3000
aa4101 // 1989 Acorn Archimedes 410/1
aa4201 // 1989 Acorn Archimedes 420/1
aa4401 // 1989 Acorn Archimedes 440/1
aa540 // 1990 Acorn Archimedes 540
ar225 // 1990 Acorn R225
ar260 // 1990 Acorn R260
aa5000 // 1991 Acorn A5000
aa4 // 1992 Acorn A4
aa3010 // 1992 Acorn A3010