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; return data;
case KART: 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]; return m_regs[KART];
case IRQ_STATUS_A: 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); invalid_access(true, addr, data, mem_mask);
else if (addr < 0x1000000) // DRAM else if (addr < 0x1000000) // DRAM
m_space->write_dword(dram_address(addr), data, mem_mask); 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 else
m_space->write_dword(0x2000000 | addr, data, mem_mask); m_space->write_dword(0x2000000 | addr, data, mem_mask);
} }

View File

@ -35,13 +35,6 @@
#include "dirtc.h" #include "dirtc.h"
/***************************************************************************
CONSTANTS
***************************************************************************/
#define PCF8573_SLAVE_ADDRESS ( 0xd0 )
//************************************************************************** //**************************************************************************
// TYPE DEFINITIONS // 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; virtual void rtc_clock_updated(int year, int month, int day, int day_of_week, int hour, int minute, int second) override;
private: private:
static constexpr uint8_t PCF8573_SLAVE_ADDRESS = 0xd0;
enum enum
{ {
REG_HOURS = 0x00, REG_HOURS = 0x00,

View File

@ -467,6 +467,7 @@ const double XTAL::known_xtals[] = {
80'000'000, /* 80_MHz_XTAL ARM710 */ 80'000'000, /* 80_MHz_XTAL ARM710 */
87'183'360, /* 87.18336_MHz_XTAL AT&T 630 MTG */ 87'183'360, /* 87.18336_MHz_XTAL AT&T 630 MTG */
92'940'500, /* 92.9405_MHz_XTAL Sun cgthree */ 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 */ 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 */ 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 */ 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 a7800p // Atari 7800 PAL
@source:aa310.cpp @source:aa310.cpp
aa500 // 1986 Acorn A500
aa500d // 1987 Acorn A500 Domesday
aa305 // 1987 Acorn Archimedes 305 aa305 // 1987 Acorn Archimedes 305
aa310 // 1987 Acorn Archimedes 310 aa310 // 1987 Acorn Archimedes 310
aa440 // 1987 Acorn Archimedes 440 aa440 // 1987 Acorn Archimedes 440
am4 // 1987 Acorn M4
aa680 // 1988 Acorn A680
ar140 // 1988 Acorn R140
aa3000 // 1989 Acorn Archimedes 3000 aa3000 // 1989 Acorn Archimedes 3000
aa4101 // 1989 Acorn Archimedes 410/1 aa4101 // 1989 Acorn Archimedes 410/1
aa4201 // 1989 Acorn Archimedes 420/1 aa4201 // 1989 Acorn Archimedes 420/1
aa4401 // 1989 Acorn Archimedes 440/1 aa4401 // 1989 Acorn Archimedes 440/1
aa540 // 1990 Acorn Archimedes 540 aa540 // 1990 Acorn Archimedes 540
ar225 // 1990 Acorn R225
ar260 // 1990 Acorn R260
aa5000 // 1991 Acorn A5000 aa5000 // 1991 Acorn A5000
aa4 // 1992 Acorn A4 aa4 // 1992 Acorn A4
aa3010 // 1992 Acorn A3010 aa3010 // 1992 Acorn A3010