summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--scripts/src/bus.lua2
-rw-r--r--src/devices/bus/bbc/tube/tube.cpp4
-rw-r--r--src/devices/bus/bbc/tube/tube_arm.cpp151
-rw-r--r--src/devices/bus/bbc/tube/tube_arm.h61
-rw-r--r--src/mame/drivers/bbc.cpp48
5 files changed, 241 insertions, 25 deletions
diff --git a/scripts/src/bus.lua b/scripts/src/bus.lua
index 4c329ee49a3..62dcbe0ed8c 100644
--- a/scripts/src/bus.lua
+++ b/scripts/src/bus.lua
@@ -306,6 +306,8 @@ if (BUSES["BBC_TUBE"]~=null) then
MAME_DIR .. "src/devices/bus/bbc/tube/tube_80186.h",
MAME_DIR .. "src/devices/bus/bbc/tube/tube_80286.cpp",
MAME_DIR .. "src/devices/bus/bbc/tube/tube_80286.h",
+ MAME_DIR .. "src/devices/bus/bbc/tube/tube_arm.cpp",
+ MAME_DIR .. "src/devices/bus/bbc/tube/tube_arm.h",
MAME_DIR .. "src/devices/bus/bbc/tube/tube_casper.cpp",
MAME_DIR .. "src/devices/bus/bbc/tube/tube_casper.h",
MAME_DIR .. "src/devices/bus/bbc/tube/tube_z80.cpp",
diff --git a/src/devices/bus/bbc/tube/tube.cpp b/src/devices/bus/bbc/tube/tube.cpp
index 13bb4430230..ab232a6ce04 100644
--- a/src/devices/bus/bbc/tube/tube.cpp
+++ b/src/devices/bus/bbc/tube/tube.cpp
@@ -124,7 +124,7 @@ WRITE8_MEMBER(bbc_tube_slot_device::host_w)
#include "tube_65c102.h"
#include "tube_80186.h"
#include "tube_80286.h"
-//#include "tube_arm.h"
+#include "tube_arm.h"
#include "tube_casper.h"
//#include "tube_x25.h"
#include "tube_z80.h"
@@ -140,7 +140,7 @@ SLOT_INTERFACE_START( bbc_extube_devices )
SLOT_INTERFACE("z80", BBC_TUBE_Z80) /* Acorn ANC04 Z80 2nd processor */
// SLOT_INTERFACE("32016", BBC_TUBE_32016) /* Acorn ANC05 32016 2nd processor */
// SLOT_INTERFACE("camb", BBC_TUBE_CAMB) /* Acorn ANC06 Cambridge Co-Processor */
-// SLOT_INTERFACE("arm", BBC_TUBE_ARM) /* Acorn ANC13 ARM Evaluation System */
+ SLOT_INTERFACE("arm", BBC_TUBE_ARM) /* Acorn ANC13 ARM Evaluation System */
SLOT_INTERFACE("80286", BBC_TUBE_80286) /* Acorn 80286 2nd Processor */
// SLOT_INTERFACE("a500", BBC_TUBE_A500) /* Acorn A500 2nd Processor */
SLOT_INTERFACE("casper", BBC_TUBE_CASPER) /* Casper 68000 2nd Processor */
diff --git a/src/devices/bus/bbc/tube/tube_arm.cpp b/src/devices/bus/bbc/tube/tube_arm.cpp
new file mode 100644
index 00000000000..7243f2989c7
--- /dev/null
+++ b/src/devices/bus/bbc/tube/tube_arm.cpp
@@ -0,0 +1,151 @@
+// license:BSD-3-Clause
+// copyright-holders:Nigel Barnes
+/**********************************************************************
+
+ Acorn ANC13 ARM Evaluation System
+
+**********************************************************************/
+
+
+#include "emu.h"
+#include "tube_arm.h"
+#include "softlist_dev.h"
+
+
+//**************************************************************************
+// DEVICE DEFINITIONS
+//**************************************************************************
+
+DEFINE_DEVICE_TYPE(BBC_TUBE_ARM, bbc_tube_arm_device, "bbc_tube_arm", "ARM Evaluation System")
+
+
+//-------------------------------------------------
+// ADDRESS_MAP( tube_arm_mem )
+//-------------------------------------------------
+
+static ADDRESS_MAP_START(tube_arm_mem, AS_PROGRAM, 32, bbc_tube_arm_device)
+ ADDRESS_MAP_UNMAP_HIGH
+ AM_RANGE(0x0000000, 0x03fffff) AM_READWRITE8(ram_r, ram_w, 0xffffffff)
+ AM_RANGE(0x1000000, 0x100001f) AM_DEVREADWRITE8("ula", tube_device, parasite_r, parasite_w, 0x000000ff)
+ AM_RANGE(0x3000000, 0x3003fff) AM_ROM AM_REGION("bootstrap", 0) AM_MIRROR(0xc000)
+ADDRESS_MAP_END
+
+//-------------------------------------------------
+// ROM( tube_arm )
+//-------------------------------------------------
+
+ROM_START( tube_arm )
+ ROM_REGION(0x4000, "bootstrap", 0)
+ ROM_DEFAULT_BIOS("101")
+ ROM_SYSTEM_BIOS(0, "101", "Executive v1.00 (14th August 1986)")
+ ROMX_LOAD("ARMeval_101.rom", 0x0000, 0x4000, CRC(cab85473) SHA1(f86bbc4894e62725b8ef22d44e7f44d37c98ac14), ROM_BIOS(1))
+ ROM_SYSTEM_BIOS(1, "100", "Executive v1.00 (6th June 1986)")
+ ROMX_LOAD("ARMeval_100.rom", 0x0000, 0x4000, CRC(ed80462a) SHA1(ba33eaf1a23cfef6fc1b88aa516ca2b3693e69d9), ROM_BIOS(2))
+ ROM_SYSTEM_BIOS(2, "005", "Brazil v-.005 (8th August 1986)")
+ ROMX_LOAD("Brazil_005.rom", 0x0000, 0x4000, CRC(7c27c098) SHA1(abcc71cbc43489e89a87aac64e67b17daef5895a), ROM_BIOS(3))
+ROM_END
+
+//-------------------------------------------------
+// device_add_mconfig - add device configuration
+//-------------------------------------------------
+
+MACHINE_CONFIG_MEMBER(bbc_tube_arm_device::device_add_mconfig)
+ MCFG_CPU_ADD("arm", ARM, XTAL_20MHz / 3)
+ MCFG_CPU_PROGRAM_MAP(tube_arm_mem)
+
+ MCFG_TUBE_ADD("ula")
+ MCFG_TUBE_HIRQ_HANDLER(DEVWRITELINE(DEVICE_SELF_OWNER, bbc_tube_slot_device, irq_w))
+ MCFG_TUBE_PNMI_HANDLER(INPUTLINE("arm", ARM_FIRQ_LINE))
+ MCFG_TUBE_PIRQ_HANDLER(INPUTLINE("arm", ARM_IRQ_LINE))
+
+ /* internal ram */
+ MCFG_RAM_ADD(RAM_TAG)
+ MCFG_RAM_DEFAULT_SIZE("4M")
+ MCFG_RAM_DEFAULT_VALUE(0x00)
+
+ /* software lists */
+ MCFG_SOFTWARE_LIST_ADD("flop_ls_arm", "bbc_flop_arm")
+MACHINE_CONFIG_END
+
+//-------------------------------------------------
+// rom_region - device-specific ROM region
+//-------------------------------------------------
+
+const tiny_rom_entry *bbc_tube_arm_device::device_rom_region() const
+{
+ return ROM_NAME( tube_arm );
+}
+
+//**************************************************************************
+// LIVE DEVICE
+//**************************************************************************
+
+//-------------------------------------------------
+// bbc_tube_arm_device - constructor
+//-------------------------------------------------
+
+bbc_tube_arm_device::bbc_tube_arm_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, BBC_TUBE_ARM, tag, owner, clock),
+ device_bbc_tube_interface(mconfig, *this),
+ m_arm(*this, "arm"),
+ m_ula(*this, "ula"),
+ m_ram(*this, "ram"),
+ m_bootstrap(*this, "bootstrap"),
+ m_rom_select(true)
+{
+}
+
+//-------------------------------------------------
+// device_start - device-specific startup
+//-------------------------------------------------
+
+void bbc_tube_arm_device::device_start()
+{
+ m_slot = dynamic_cast<bbc_tube_slot_device *>(owner());
+}
+
+//-------------------------------------------------
+// device_reset - device-specific reset
+//-------------------------------------------------
+
+void bbc_tube_arm_device::device_reset()
+{
+ /* enable the reset vector to be fetched from ROM */
+ m_rom_select = true;
+}
+
+
+//**************************************************************************
+// IMPLEMENTATION
+//**************************************************************************
+
+READ8_MEMBER(bbc_tube_arm_device::host_r)
+{
+ return m_ula->host_r(space, offset);
+}
+
+WRITE8_MEMBER(bbc_tube_arm_device::host_w)
+{
+ m_ula->host_w(space, offset, data);
+}
+
+
+READ8_MEMBER(bbc_tube_arm_device::ram_r)
+{
+ uint8_t data;
+
+ if (m_rom_select)
+ data = m_bootstrap->base()[offset & 0x3fff];
+ else
+ data = m_ram->pointer()[offset];
+
+ return data;
+}
+
+WRITE8_MEMBER(bbc_tube_arm_device::ram_w)
+{
+ /* clear ROM select on first write */
+ if (!machine().side_effect_disabled()) m_rom_select = false;
+
+ m_ram->pointer()[offset] = data;
+}
diff --git a/src/devices/bus/bbc/tube/tube_arm.h b/src/devices/bus/bbc/tube/tube_arm.h
new file mode 100644
index 00000000000..6f2e43ef43d
--- /dev/null
+++ b/src/devices/bus/bbc/tube/tube_arm.h
@@ -0,0 +1,61 @@
+// license:BSD-3-Clause
+// copyright-holders:Nigel Barnes
+/**********************************************************************
+
+ Acorn ANC13 ARM Evaluation System
+
+**********************************************************************/
+
+
+#ifndef MAME_BUS_BBC_TUBE_ARM_H
+#define MAME_BUS_BBC_TUBE_ARM_H
+
+#include "tube.h"
+#include "cpu/arm/arm.h"
+#include "machine/ram.h"
+#include "machine/tube.h"
+
+//**************************************************************************
+// TYPE DEFINITIONS
+//**************************************************************************
+
+// ======================> bbc_tube_arm_device
+
+class bbc_tube_arm_device :
+ public device_t,
+ public device_bbc_tube_interface
+{
+public:
+ // construction/destruction
+ bbc_tube_arm_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+
+ DECLARE_READ8_MEMBER( ram_r );
+ DECLARE_WRITE8_MEMBER( ram_w );
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
+ // optional information overrides
+ virtual void device_add_mconfig(machine_config &config) override;
+ virtual const tiny_rom_entry *device_rom_region() const override;
+
+ virtual DECLARE_READ8_MEMBER( host_r ) override;
+ virtual DECLARE_WRITE8_MEMBER( host_w ) override;
+
+private:
+ required_device<arm_cpu_device> m_arm;
+ required_device<tube_device> m_ula;
+ required_device<ram_device> m_ram;
+ required_memory_region m_bootstrap;
+
+ bool m_rom_select;
+};
+
+
+// device type definition
+DECLARE_DEVICE_TYPE(BBC_TUBE_ARM, bbc_tube_arm_device)
+
+
+#endif /* MAME_BUS_BBC_TUBE_ARM_H */
diff --git a/src/mame/drivers/bbc.cpp b/src/mame/drivers/bbc.cpp
index 3e8734da8f7..b9def522eb2 100644
--- a/src/mame/drivers/bbc.cpp
+++ b/src/mame/drivers/bbc.cpp
@@ -225,7 +225,7 @@ static ADDRESS_MAP_START( bbcbp_mem, AS_PROGRAM, 8, bbc_state )
AM_RANGE(0xb000, 0xbfff) AM_READ_BANK("bank6") /* b000-bfff Rest of paged ROM area */
AM_RANGE(0xfe30, 0xfe3f) AM_READWRITE(bbc_fe_r, bbc_page_selectbp_w) /* R: fe30-fe3f NC Not Connected */
/* W: fe30-fe3f 84LS161 Paged ROM selector */
- AM_RANGE(0xfe80, 0xfe83) AM_WRITE(bbc_wd1770_status_w) /* fe80-fe83 1770 FDC Drive control register */
+ AM_RANGE(0xfe80, 0xfe83) AM_READWRITE(bbc_fe_r, bbc_wd1770_status_w) /* fe80-fe83 1770 FDC Drive control register */
AM_RANGE(0xfe84, 0xfe9f) AM_DEVREADWRITE("wd1770", wd1770_device, read, write) /* fe84-fe9f 1770 FDC Floppy disc controller */
AM_RANGE(0xfee0, 0xfeff) AM_DEVREADWRITE("tube", bbc_tube_slot_device, host_r, host_w) /* fee0-feff Tube ULA Tube system interface */
AM_IMPORT_FROM(bbc_base)
@@ -239,7 +239,7 @@ static ADDRESS_MAP_START( bbcbp128_mem, AS_PROGRAM, 8, bbc_state )
AM_RANGE(0xb000, 0xbfff) AM_READ_BANK("bank6") AM_WRITE(bbc_memorybp6_128_w) /* b000-bfff Rest of paged ROM area */
AM_RANGE(0xfe30, 0xfe3f) AM_READWRITE(bbc_fe_r, bbc_page_selectbp_w) /* R: fe30-fe3f NC Not Connected */
/* W: fe30-fe3f 84LS161 Paged ROM selector */
- AM_RANGE(0xfe80, 0xfe83) AM_WRITE(bbc_wd1770_status_w) /* fe80-fe83 1770 FDC Drive control register */
+ AM_RANGE(0xfe80, 0xfe83) AM_READWRITE(bbc_fe_r, bbc_wd1770_status_w) /* fe80-fe83 1770 FDC Drive control register */
AM_RANGE(0xfe84, 0xfe9f) AM_DEVREADWRITE("wd1770", wd1770_device, read, write) /* fe84-fe9f 1770 FDC Floppy disc controller */
AM_RANGE(0xfee0, 0xfeff) AM_DEVREADWRITE("tube", bbc_tube_slot_device, host_r, host_w) /* fee0-feff Tube ULA Tube system interface */
AM_IMPORT_FROM(bbc_base)
@@ -422,8 +422,13 @@ static INPUT_PORTS_START(bbc_keyboard)
/* Keyboard columns 10 -> 12 are reserved for BBC Master */
PORT_START("COL10")
+ PORT_BIT(0xff, IP_ACTIVE_LOW, IPT_UNUSED)
+
PORT_START("COL11")
+ PORT_BIT(0xff, IP_ACTIVE_LOW, IPT_UNUSED)
+
PORT_START("COL12")
+ PORT_BIT(0xff, IP_ACTIVE_LOW, IPT_UNUSED)
INPUT_PORTS_END
@@ -526,7 +531,7 @@ static INPUT_PORTS_START(bbc_dipswitch)
PORT_MODIFY("COL6")
PORT_DIPNAME(0x01, 0x01, "Boot") PORT_DIPLOCATION("KBD:5")
- PORT_DIPSETTING( 0x00, "SHIFT" )
+ PORT_DIPSETTING( 0x00, "BREAK" )
PORT_DIPSETTING( 0x01, "SHIFT-BREAK" )
PORT_MODIFY("COL7")
@@ -778,7 +783,7 @@ FLOPPY_FORMATS_MEMBER( bbc_state::floppy_formats_bbc )
FLOPPY_OPUS_DDCPM_FORMAT,
FLOPPY_FSD_FORMAT,
FLOPPY_PC_FORMAT
-FLOPPY_FORMATS_END0
+FLOPPY_FORMATS_END
FLOPPY_FORMATS_MEMBER( bbc_state::floppy_formats_bbcm )
FLOPPY_ACORN_SSD_FORMAT,
@@ -788,11 +793,11 @@ FLOPPY_FORMATS_MEMBER( bbc_state::floppy_formats_bbcm )
FLOPPY_ACORN_DOS_FORMAT,
FLOPPY_FSD_FORMAT,
FLOPPY_PC_FORMAT
-FLOPPY_FORMATS_END0
+FLOPPY_FORMATS_END
FLOPPY_FORMATS_MEMBER( bbc_state::floppy_formats_bbcmc )
FLOPPY_ACORN_ADFS_OLD_FORMAT
-FLOPPY_FORMATS_END0
+FLOPPY_FORMATS_END
static SLOT_INTERFACE_START( bbc_floppies_525 )
SLOT_INTERFACE("525sssd", FLOPPY_525_SSSD)
@@ -1429,7 +1434,7 @@ static MACHINE_CONFIG_START( bbcm )
MCFG_ECONET_SLOT_ADD("econet254", 254, econet_devices, nullptr)
/* analogue port */
- MCFG_BBC_ANALOGUE_SLOT_ADD("analogue", bbc_analogue_devices, "acornjoy")
+ MCFG_BBC_ANALOGUE_SLOT_ADD("analogue", bbc_analogue_devices, nullptr)
/* 1mhz bus port */
MCFG_BBC_1MHZBUS_SLOT_ADD("1mhzbus", bbc_1mhzbus_devices, nullptr)
@@ -1510,12 +1515,9 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( bbcmarm, bbcm )
/* Add ARM co-processor */
- //MCFG_DEVICE_MODIFY("extube")
- //MCFG_SLOT_DEFAULT_OPTION("arm")
- //MCFG_SLOT_FIXED(true)
-
- /* software lists */
- MCFG_SOFTWARE_LIST_ADD("flop_ls_arm", "bbc_flop_arm")
+ MCFG_DEVICE_MODIFY("extube")
+ MCFG_SLOT_DEFAULT_OPTION("arm")
+ MCFG_SLOT_FIXED(true)
MACHINE_CONFIG_END
@@ -2023,7 +2025,7 @@ ROM_START(bbcm)
ROM_SYSTEM_BIOS( 1, "mos350", "Enhanced MOS 3.50" )
ROMX_LOAD("mos350.ic24", 0x20000, 0x20000, CRC(141027b9) SHA1(85211b5bc7c7a269952d2b063b7ec0e1f0196803), ROM_BIOS(2))
ROM_COPY("option", 0x20000, 0x40000, 0x4000) /* Move loaded roms into place */
- ROM_FILL(0x20000, 0x4000, 0xFFFF)
+ ROM_FILL(0x20000, 0x4000, 0xff)
/* 00000 rom 0 SK3 Rear Cartridge bottom 16K */
/* 04000 rom 1 SK3 Rear Cartridge top 16K */
/* 08000 rom 2 SK4 Front Cartridge bottom 16K */
@@ -2064,7 +2066,7 @@ ROM_START(bbcmaiv)
ROM_SYSTEM_BIOS( 0, "mos320", "MOS 3.20" )
ROMX_LOAD("mos320.ic24", 0x20000, 0x20000, CRC(0f747ebe) SHA1(eacacbec3892dc4809ad5800e6c8299ff9eb528f), ROM_BIOS(1))
ROM_COPY("option", 0x20000, 0x40000, 0x4000) /* Move loaded roms into place */
- ROM_FILL(0x20000, 0x4000, 0xFFFF)
+ ROM_FILL(0x20000, 0x4000, 0xff)
/* 00000 rom 0 SK3 Rear Cartridge bottom 16K */
/* 04000 rom 1 SK3 Rear Cartridge top 16K */
/* 08000 rom 2 SK4 Front Cartridge bottom 16K */
@@ -2101,7 +2103,7 @@ ROM_START(bbcmet)
ROMX_LOAD("mos400.ic24", 0x30000, 0x10000, CRC(81729034) SHA1(d4bc2c7f5e66b5298786138f395908e70c772971), ROM_BIOS(1))
ROM_COPY("option", 0x34000, 0x24000, 0xC000) /* Mirror */
ROM_COPY("option", 0x30000, 0x40000, 0x4000) /* Move loaded roms into place */
- ROM_FILL(0x30000, 0x4000, 0xFFFF)
+ ROM_FILL(0x30000, 0x4000, 0xff)
/* 00000 rom 0 SK3 Rear Cartridge bottom 16K */
/* 04000 rom 1 SK3 Rear Cartridge top 16K */
/* 08000 rom 2 SK4 Front Cartridge bottom 16K */
@@ -2136,7 +2138,7 @@ ROM_START(bbcmarm)
ROM_SYSTEM_BIOS( 0, "mos320", "Original MOS 3.20" )
ROMX_LOAD("mos320.ic24", 0x20000, 0x20000, CRC(0f747ebe) SHA1(eacacbec3892dc4809ad5800e6c8299ff9eb528f), ROM_BIOS(1))
ROM_COPY("option", 0x20000, 0x40000, 0x4000) /* Move loaded roms into place */
- ROM_FILL(0x20000, 0x4000, 0xFFFF)
+ ROM_FILL(0x20000, 0x4000, 0xff)
/* 00000 rom 0 SK3 Rear Cartridge bottom 16K */
/* 04000 rom 1 SK3 Rear Cartridge top 16K */
/* 08000 rom 2 SK4 Front Cartridge bottom 16K */
@@ -2174,7 +2176,7 @@ ROM_START(bbcmc)
ROM_SYSTEM_BIOS( 1, "mos500", "Original MOS 5.00" )
ROMX_LOAD("mos500.ic49", 0x30000, 0x10000, CRC(f6170023) SHA1(140d002d2d9cd34b47197a2ba823505af2a84633), ROM_BIOS(2))
ROM_COPY("option", 0x30000, 0x40000, 0x4000) /* Move loaded roms into place */
- ROM_FILL(0x30000, 0x4000, 0xFFFF)
+ ROM_FILL(0x30000, 0x4000, 0xff)
/* 00000 rom 0 EXTERNAL */
/* 04000 rom 1 EXTERNAL */
/* 08000 rom 2 IC23 SPARE SOCKET */
@@ -2205,7 +2207,7 @@ ROM_START(bbcmc_ar)
ROM_SYSTEM_BIOS( 0, "mos511i", "International MOS 5.11" )
ROMX_LOAD("mos511.ic49", 0x30000, 0x10000, BAD_DUMP CRC(8708803c) SHA1(d2170c8b9b536f3ad84a4a603a7fe712500cc751), ROM_BIOS(1)) /* Merged individual ROM bank dumps */
ROM_COPY("option", 0x30000, 0x40000, 0x4000) /* Move loaded roms into place */
- ROM_FILL(0x30000, 0x4000, 0xFFFF)
+ ROM_FILL(0x30000, 0x4000, 0xff)
/* 00000 rom 0 EXTERNAL */
/* 04000 rom 1 EXTERNAL */
/* 08000 rom 2 IC23 International */
@@ -2238,7 +2240,7 @@ ROM_START(pro128s)
ROM_SYSTEM_BIOS(0, "mos510o", "Olivetti MOS 5.10")
ROMX_LOAD("mos510o.ic49", 0x30000, 0x10000, CRC(c16858d3) SHA1(ad231ed21a55e493b553703285530d1cacd3de7a), ROM_BIOS(1))
ROM_COPY("option", 0x30000, 0x40000, 0x4000) /* Move loaded roms into place */
- ROM_FILL(0x30000, 0x4000, 0xFFFF)
+ ROM_FILL(0x30000, 0x4000, 0xff)
/* 00000 rom 0 EXTERNAL */
/* 04000 rom 1 EXTERNAL */
/* 08000 rom 2 IC23 SPARE SOCKET */
@@ -2269,7 +2271,7 @@ ROM_START(discmate)
ROM_SYSTEM_BIOS(0, "mos320", "Original MOS 3.20")
ROMX_LOAD("mos320.ic24", 0x20000, 0x20000, CRC(0f747ebe) SHA1(eacacbec3892dc4809ad5800e6c8299ff9eb528f), ROM_BIOS(1))
ROM_COPY("option", 0x20000, 0x40000, 0x4000) /* Move loaded roms into place */
- ROM_FILL(0x20000, 0x4000, 0xFFFF)
+ ROM_FILL(0x20000, 0x4000, 0xff)
/* 00000 rom 0 SK3 Rear Cartridge bottom 16K */
/* 04000 rom 1 SK3 Rear Cartridge top 16K */
/* 08000 rom 2 SK4 Front Cartridge bottom 16K */
@@ -2306,7 +2308,7 @@ ROM_START(cfa3000)
ROM_LOAD("Acorn_MOS_(Tinsley_64K)_Iss10.3.ic24", 0x30000, 0x10000, CRC(4413c3ee) SHA1(76d0462b4dabe2461010fce2341570ff3d606d54))
//ROM_COPY("option", 0x20000, 0x30000, 0x10000) /* Mirror MOS */
ROM_COPY("option", 0x30000, 0x40000, 0x04000) /* Move loaded roms into place */
- ROM_FILL(0x30000, 0x4000, 0xFFFF)
+ ROM_FILL(0x30000, 0x4000, 0xff)
/* 00000 rom 0 SK3 Rear Cartridge bottom 16K */
/* 04000 rom 1 SK3 Rear Cartridge top 16K */
/* 08000 rom 2 SK4 Front Cartridge bottom 16K */
@@ -2358,7 +2360,7 @@ COMP ( 1986, bbcmt, bbcm, 0, bbcmt, bbcm, bbc_state, bbc,
COMP ( 1986, bbcmaiv, bbcm, 0, bbcmaiv, bbcm, bbc_state, bbc, "Acorn", "BBC Master AIV", MACHINE_NOT_WORKING)
COMP ( 1986, bbcmet, bbcm, 0, bbcmet, bbcm, bbc_state, bbc, "Acorn", "BBC Master ET", MACHINE_IMPERFECT_GRAPHICS)
COMP ( 1986, bbcm512, bbcm, 0, bbcm512, bbcm, bbc_state, bbc, "Acorn", "BBC Master 512", MACHINE_NOT_WORKING)
-COMP ( 1986, bbcmarm, bbcm, 0, bbcmarm, bbcm, bbc_state, bbc, "Acorn", "ARM Evaluation System", MACHINE_NOT_WORKING)
+COMP ( 1986, bbcmarm, bbcm, 0, bbcmarm, bbcm, bbc_state, bbc, "Acorn", "BBC Master (ARM Evaluation)", MACHINE_NOT_WORKING)
COMP ( 1986, ltmpm, bbcm, 0, ltmpm, ltmpm, bbc_state, bbc, "Lawrie T&M Ltd.", "LTM Portable (Master)", MACHINE_IMPERFECT_GRAPHICS)
COMP ( 1986, bbcmc, 0, bbcm, bbcmc, bbcm, bbc_state, bbc, "Acorn", "BBC Master Compact", MACHINE_IMPERFECT_GRAPHICS)
COMP ( 1986, bbcmc_ar, bbcmc, 0, bbcmc, bbcm, bbc_state, bbc, "Acorn", "BBC Master Compact (Arabic)", MACHINE_IMPERFECT_GRAPHICS)