diff --git a/src/devices/bus/ata/px320a.cpp b/src/devices/bus/ata/px320a.cpp index befaad3befd..fabad11e967 100644 --- a/src/devices/bus/ata/px320a.cpp +++ b/src/devices/bus/ata/px320a.cpp @@ -75,7 +75,7 @@ void px320a_device::frcpu_map(address_map &map) void px320a_device::device_add_mconfig(machine_config &config) { - MB91101A(config, m_frcpu, 8000000); // FR type guessed; clock unknown + MB91F155A(config, m_frcpu, 16'000'000); // FR type guessed; clock unknown m_frcpu->set_addrmap(AS_PROGRAM, &px320a_device::frcpu_map); } diff --git a/src/devices/cpu/fr/fr.cpp b/src/devices/cpu/fr/fr.cpp index 07ecaad136f..187b2782a4f 100644 --- a/src/devices/cpu/fr/fr.cpp +++ b/src/devices/cpu/fr/fr.cpp @@ -12,8 +12,8 @@ #include "fr.h" #include "frdasm.h" -// device type definitions -DEFINE_DEVICE_TYPE(MB91101A, mb91101a_device, "mb91101a", "Fujitsu MB91101A") +// device type definition +DEFINE_DEVICE_TYPE(MB91F155A, mb91f155a_device, "mb91f155a", "Fujitsu MB91F155A") fr_cpu_device::fr_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, int addrbits, address_map_constructor map) : cpu_device(mconfig, type, tag, owner, clock) @@ -30,11 +30,17 @@ fr_cpu_device::fr_cpu_device(const machine_config &mconfig, device_type type, co { } -mb91101a_device::mb91101a_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) - : fr_cpu_device(mconfig, MB91101A, tag, owner, clock, 32, address_map_constructor()) +mb91f155a_device::mb91f155a_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) + : fr_cpu_device(mconfig, MB91F155A, tag, owner, clock, 24, address_map_constructor(FUNC(mb91f155a_device::internal_map), this)) { } +void mb91f155a_device::internal_map(address_map &map) +{ + // TODO: I/O registers + map(0x001000, 0x008fff).ram(); +} + std::unique_ptr fr_cpu_device::create_disassembler() { return std::make_unique(); diff --git a/src/devices/cpu/fr/fr.h b/src/devices/cpu/fr/fr.h index c5b4899cace..3e931cbff87 100644 --- a/src/devices/cpu/fr/fr.h +++ b/src/devices/cpu/fr/fr.h @@ -2,11 +2,10 @@ // copyright-holders:AJR #ifndef MAME_CPU_FR_FR_H -#define MAME_CPU_FR_FR_H 1 +#define MAME_CPU_FR_FR_H #pragma once - class fr_cpu_device : public cpu_device { public: @@ -57,13 +56,17 @@ private: s32 m_icount; }; -class mb91101a_device : public fr_cpu_device +class mb91f155a_device : public fr_cpu_device { public: // device type constructor - mb91101a_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); + mb91f155a_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); + +private: + void internal_map(address_map &map); }; -DECLARE_DEVICE_TYPE(MB91101A, mb91101a_device) +// device type declaration +DECLARE_DEVICE_TYPE(MB91F155A, mb91f155a_device) #endif // MAME_CPU_FR_FR_H