Skip to content

Commit

Permalink
debugger: Extended target address syntax to include device/address sp…
Browse files Browse the repository at this point in the history
…ace. (mamedev#8630)

Added a validity check to ensure address space names are tag-like and unique, since they're now used as identifiers in debugger commands.

Extended the syntax for target addresses to allow them to be qualified with a colon followed by an optional device tag and/or address space name.  If only the device needs to be specified, a debugger CPU number may also be used.  This makes commands like bpset and wpset more flexible, as they can operate on CPUs other than the currently visible CPU.  Commands like find, fill, dump and load are more flexible as they can access any space of any device.

Removed now-redundant CPU parameters from many commands, and renamed pcatmemp to pcatmem for consistency with other commands.  Extended region syntax for saver/loadr to support tags relative to the visible CPU (e.g. you can use "." for the region with the same name as the visible CPU, or "^sibling" syntax).  Added an optional root device parameter to memdump.  Changed interpretation of Boolean values to support numeric expressions as well as true/false strings and literal 1/0.

Added checks that the specified device is CPU-like to various commands that require a CPU (e.g. focus).  Previously these commands would crash or trigger an assertion failure if a tag for a non-CPU devices was specified.

Fixed the cpunum symbol so it uses the same rules for determining what is or isn't a CPU as parameter parsing.

Made device_t sanitise subtags better.  Previously you could cause an assertion failure or crash MAME by giving it unexpected relative tags via Lua or the debugger.

Added help topic alias support, and reworked the data structures to improve the performance of looking up debugger commands and help topics.  Removed the "ref" parameter from debugger command functions (std::bind can hold extra argument values for you if you need them).  Also added an error message if duplicate debugger commands are registered.

Updated help for commands that changed syntax, and also updated summaries for some commands that had changed in the past without corresponding help updates.
  • Loading branch information
cuavas authored Sep 30, 2021
1 parent 6eee76c commit 360d3a5
Show file tree
Hide file tree
Showing 57 changed files with 1,941 additions and 1,468 deletions.
16 changes: 8 additions & 8 deletions doxygen/doxygen.config
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,7 @@ ABBREVIATE_BRIEF =
# description.
# The default value is: NO.

ALWAYS_DETAILED_SEC = YES
ALWAYS_DETAILED_SEC = NO

# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
# inherited members of a class in the documentation of that class as if those
Expand Down Expand Up @@ -318,7 +318,7 @@ OPTIMIZE_OUTPUT_SLICE = NO
#
# Note see also the list of default file extension mappings.

EXTENSION_MAPPING = h=C++ inc=C++
EXTENSION_MAPPING = inc=C++

# If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments
# according to the Markdown format, which allows for more readable
Expand Down Expand Up @@ -1156,7 +1156,7 @@ HTML_FILE_EXTENSION = .html
# of the possible markers and block names see the documentation.
# This tag requires that the tag GENERATE_HTML is set to YES.

HTML_HEADER = doxygen/header.html
#HTML_HEADER = doxygen/header.html

# The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each
# generated HTML page. If the tag is left blank doxygen will generate a standard
Expand All @@ -1166,7 +1166,7 @@ HTML_HEADER = doxygen/header.html
# that doxygen normally uses.
# This tag requires that the tag GENERATE_HTML is set to YES.

HTML_FOOTER = doxygen/footer.html
#HTML_FOOTER = doxygen/footer.html

# The HTML_STYLESHEET tag can be used to specify a user-defined cascading style
# sheet that is used by each HTML page. It can be used to fine-tune the look of
Expand All @@ -1191,7 +1191,7 @@ HTML_STYLESHEET =
# list). For an example see the documentation.
# This tag requires that the tag GENERATE_HTML is set to YES.

HTML_EXTRA_STYLESHEET = doxygen/style.css
#HTML_EXTRA_STYLESHEET = doxygen/style.css

# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or
# other source files which should be copied to the HTML output directory. Note
Expand All @@ -1201,7 +1201,7 @@ HTML_EXTRA_STYLESHEET = doxygen/style.css
# files will be copied as-is; there are no commands or markers available.
# This tag requires that the tag GENERATE_HTML is set to YES.

HTML_EXTRA_FILES = doxygen/doxy-boot.js
#HTML_EXTRA_FILES = doxygen/doxy-boot.js

# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen
# will adjust the colors in the style sheet and background images according to
Expand Down Expand Up @@ -2330,7 +2330,7 @@ DOT_FONTPATH =
# The default value is: YES.
# This tag requires that the tag HAVE_DOT is set to YES.

CLASS_GRAPH = NO
CLASS_GRAPH = YES

# If the COLLABORATION_GRAPH tag is set to YES then doxygen will generate a
# graph for each documented class showing the direct and indirect implementation
Expand All @@ -2339,7 +2339,7 @@ CLASS_GRAPH = NO
# The default value is: YES.
# This tag requires that the tag HAVE_DOT is set to YES.

COLLABORATION_GRAPH = NO
COLLABORATION_GRAPH = YES

# If the GROUP_GRAPHS tag is set to YES then doxygen will generate a graph for
# groups, showing the direct groups dependencies.
Expand Down
2 changes: 1 addition & 1 deletion src/devices/bus/gio64/gio64.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ gio64_device::gio64_device(const machine_config &mconfig, const char *tag, devic
gio64_device::gio64_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
: device_t(mconfig, type, tag, owner, clock)
, device_memory_interface(mconfig, *this)
, m_space_config("GIO64 Space", ENDIANNESS_BIG, 64, 32, 0)
, m_space_config("gio64", ENDIANNESS_BIG, 64, 32, 0)
, m_interrupt_cb(*this)
{
}
Expand Down
8 changes: 4 additions & 4 deletions src/devices/bus/isa/isa.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -107,10 +107,10 @@ isa8_device::isa8_device(const machine_config &mconfig, const char *tag, device_
isa8_device::isa8_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
device_t(mconfig, type, tag, owner, clock),
device_memory_interface(mconfig, *this),
m_mem_config("ISA 8-bit mem", ENDIANNESS_LITTLE, 8, 24, 0, address_map_constructor()),
m_io_config("ISA 8-bit I/O", ENDIANNESS_LITTLE, 8, 16, 0, address_map_constructor()),
m_mem16_config("ISA 16-bit mem", ENDIANNESS_LITTLE, 16, 24, 0, address_map_constructor()),
m_io16_config("ISA 16-bit I/O", ENDIANNESS_LITTLE, 16, 16, 0, address_map_constructor()),
m_mem_config("mem8", ENDIANNESS_LITTLE, 8, 24, 0, address_map_constructor()),
m_io_config("io8", ENDIANNESS_LITTLE, 8, 16, 0, address_map_constructor()),
m_mem16_config("mem16", ENDIANNESS_LITTLE, 16, 24, 0, address_map_constructor()),
m_io16_config("io16", ENDIANNESS_LITTLE, 16, 16, 0, address_map_constructor()),
m_memspace(*this, finder_base::DUMMY_TAG, -1),
m_iospace(*this, finder_base::DUMMY_TAG, -1),
m_memwidth(0),
Expand Down
2 changes: 1 addition & 1 deletion src/devices/bus/qbus/qbus.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ qbus_device::qbus_device(const machine_config &mconfig, const char *tag, device_
device_t(mconfig, QBUS, tag, owner, clock),
device_memory_interface(mconfig, *this),
device_z80daisy_interface(mconfig, *this),
m_program_config("QBUS A18", ENDIANNESS_BIG, 16, 16, 0, address_map_constructor()),
m_program_config("a18", ENDIANNESS_BIG, 16, 16, 0, address_map_constructor()),
m_space(*this, finder_base::DUMMY_TAG, -1),
m_out_birq4_cb(*this),
m_out_birq5_cb(*this),
Expand Down
2 changes: 1 addition & 1 deletion src/devices/bus/sbus/sbus.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ sbus_device::sbus_device(const machine_config &mconfig, const char *tag, device_
sbus_device::sbus_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
: device_t(mconfig, type, tag, owner, clock)
, device_memory_interface(mconfig, *this)
, m_space_config("SBus Space", ENDIANNESS_BIG, 32, 32, 0, address_map_constructor())
, m_space_config("sbus", ENDIANNESS_BIG, 32, 32, 0, address_map_constructor())
, m_maincpu(*this, finder_base::DUMMY_TAG)
, m_type1space(*this, finder_base::DUMMY_TAG, -1)
, m_irq_cb(*this)
Expand Down
2 changes: 1 addition & 1 deletion src/devices/bus/vme/vme.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -211,7 +211,7 @@ vme_device::vme_device(const machine_config &mconfig, const char *tag, device_t
vme_device::vme_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
: device_t(mconfig, type, tag, owner, clock)
, device_memory_interface(mconfig, *this)
, m_a32_config("VME A32", ENDIANNESS_BIG, 32, 32, 0, address_map_constructor())
, m_a32_config("a32", ENDIANNESS_BIG, 32, 32, 0, address_map_constructor())
, m_allocspaces(true)
, m_cputag("maincpu")
{
Expand Down
2 changes: 1 addition & 1 deletion src/devices/cpu/adsp2100/adsp2100.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -275,7 +275,7 @@ adsp2115_device::adsp2115_device(const machine_config &mconfig, const char *tag,

adsp2181_device::adsp2181_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
: adsp21xx_device(mconfig, ADSP2181, tag, owner, clock, CHIP_TYPE_ADSP2181)
, m_io_config("I/O", ENDIANNESS_LITTLE, 16, 11, -1)
, m_io_config("io", ENDIANNESS_LITTLE, 16, 11, -1)
{ }


Expand Down
14 changes: 7 additions & 7 deletions src/devices/cpu/arm7/arm7.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -841,17 +841,17 @@ bool arm7_cpu_device::translate_vaddr_to_paddr(offs_t &vaddr, const int flags)
}
}

void arm7_cpu_device::translate_insn_command(int ref, const std::vector<std::string> &params)
void arm7_cpu_device::translate_insn_command(const std::vector<std::string> &params)
{
translate_command(ref, params, TRANSLATE_FETCH);
translate_command(params, TRANSLATE_FETCH);
}

void arm7_cpu_device::translate_data_command(int ref, const std::vector<std::string> &params)
void arm7_cpu_device::translate_data_command(const std::vector<std::string> &params)
{
translate_command(ref, params, TRANSLATE_READ);
translate_command(params, TRANSLATE_READ);
}

void arm7_cpu_device::translate_command(int ref, const std::vector<std::string> &params, int intention)
void arm7_cpu_device::translate_command(const std::vector<std::string> &params, int intention)
{
uint64_t vaddr;

Expand Down Expand Up @@ -1024,8 +1024,8 @@ void arm7_cpu_device::device_start()
if (machine().debug_flags & DEBUG_FLAG_ENABLED)
{
using namespace std::placeholders;
machine().debugger().console().register_command("translate_insn", CMDFLAG_NONE, 0, 1, 1, std::bind(&arm7_cpu_device::translate_insn_command, this, _1, _2));
machine().debugger().console().register_command("translate_data", CMDFLAG_NONE, 0, 1, 1, std::bind(&arm7_cpu_device::translate_data_command, this, _1, _2));
machine().debugger().console().register_command("translate_insn", CMDFLAG_NONE, 1, 1, std::bind(&arm7_cpu_device::translate_insn_command, this, _1));
machine().debugger().console().register_command("translate_data", CMDFLAG_NONE, 1, 1, std::bind(&arm7_cpu_device::translate_data_command, this, _1));
}
}

Expand Down
6 changes: 3 additions & 3 deletions src/devices/cpu/arm7/arm7.h
Original file line number Diff line number Diff line change
Expand Up @@ -146,9 +146,9 @@ class arm7_cpu_device : public cpu_device, public arm7_disassembler::config

uint32_t m_r[/*NUM_REGS*/37];

void translate_insn_command(int ref, const std::vector<std::string> &params);
void translate_data_command(int ref, const std::vector<std::string> &params);
void translate_command(int ref, const std::vector<std::string> &params, int intention);
void translate_insn_command(const std::vector<std::string> &params);
void translate_data_command(const std::vector<std::string> &params);
void translate_command(const std::vector<std::string> &params, int intention);

void update_insn_prefetch(uint32_t curr_pc);
bool insn_fetch_thumb(uint32_t pc, uint32_t &out_insn);
Expand Down
2 changes: 1 addition & 1 deletion src/devices/cpu/h16/hd641016.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ hd641016_device::hd641016_device(const machine_config &mconfig, const char *tag,
: cpu_device(mconfig, HD641016, tag, owner, clock)
, m_program_config("program", ENDIANNESS_BIG, 16, 24, 0)
, m_data_config("data", ENDIANNESS_BIG, 32, 10, 0, address_map_constructor(FUNC(hd641016_device::ram_map), this))
, m_io_config("I/O", ENDIANNESS_BIG, 32, 9, 0, address_map_constructor(FUNC(hd641016_device::io_map), this))
, m_io_config("io", ENDIANNESS_BIG, 32, 9, 0, address_map_constructor(FUNC(hd641016_device::io_map), this))
, m_pc(0)
, m_ssp(0)
, m_bsp(0)
Expand Down
2 changes: 1 addition & 1 deletion src/devices/cpu/h8500/h8500.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
h8500_device::h8500_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, int addrbits, int buswidth, int ramsize, int defmode, address_map_constructor map)
: cpu_device(mconfig, type, tag, owner, clock)
, m_program_config("program", ENDIANNESS_BIG, buswidth, addrbits, 0, map)
, m_ram_config("internal RAM", ENDIANNESS_BIG, 16, ramsize, 0, address_map_constructor(FUNC(h8500_device::ram_map), this))
, m_ram_config("intram", ENDIANNESS_BIG, 16, ramsize, 0, address_map_constructor(FUNC(h8500_device::ram_map), this))
, m_mode_control(defmode)
, m_pc(0)
, m_ppc(0)
Expand Down
2 changes: 1 addition & 1 deletion src/devices/cpu/m6502/r65c19.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ r65c19_device::r65c19_device(const machine_config &mconfig, const char *tag, dev
c39_device::c39_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, address_map_constructor internal_map)
: r65c19_device(mconfig, type, tag, owner, clock, internal_map)
, m_exp_config("expansion", ENDIANNESS_LITTLE, 8, 21, 0)
, m_es4_config("ES4", ENDIANNESS_LITTLE, 8, 9, 0)
, m_es4_config("es4", ENDIANNESS_LITTLE, 8, 9, 0)
{
}

Expand Down
4 changes: 2 additions & 2 deletions src/devices/cpu/m68000/m68kcpu.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2318,7 +2318,7 @@ m68000_base_device::m68000_base_device(const machine_config &mconfig, const char
: cpu_device(mconfig, type, tag, owner, clock),
m_program_config("program", ENDIANNESS_BIG, prg_data_width, prg_address_bits, 0, internal_map),
m_oprogram_config("decrypted_opcodes", ENDIANNESS_BIG, prg_data_width, prg_address_bits, 0, internal_map),
m_cpu_space_config("cpu space", ENDIANNESS_BIG, prg_data_width, prg_address_bits, 0, address_map_constructor(FUNC(m68000_base_device::default_autovectors_map), this)),
m_cpu_space_config("cpu_space", ENDIANNESS_BIG, prg_data_width, prg_address_bits, 0, address_map_constructor(FUNC(m68000_base_device::default_autovectors_map), this)),
m_interrupt_mixer(true),
m_cpu_space_id(AS_CPU_SPACE),
m_reset_instr_callback(*this),
Expand All @@ -2335,7 +2335,7 @@ m68000_base_device::m68000_base_device(const machine_config &mconfig, const char
: cpu_device(mconfig, type, tag, owner, clock),
m_program_config("program", ENDIANNESS_BIG, prg_data_width, prg_address_bits),
m_oprogram_config("decrypted_opcodes", ENDIANNESS_BIG, prg_data_width, prg_address_bits),
m_cpu_space_config("cpu space", ENDIANNESS_BIG, prg_data_width, prg_address_bits, 0, address_map_constructor(FUNC(m68000_base_device::default_autovectors_map), this)),
m_cpu_space_config("cpu_space", ENDIANNESS_BIG, prg_data_width, prg_address_bits, 0, address_map_constructor(FUNC(m68000_base_device::default_autovectors_map), this)),
m_interrupt_mixer(true),
m_cpu_space_id(AS_CPU_SPACE),
m_reset_instr_callback(*this),
Expand Down
28 changes: 18 additions & 10 deletions src/devices/cpu/ns32000/ns32000.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,15 @@ static const u32 size_mask[] = { 0x000000ffU, 0x0000ffffU, 0x00000000U, 0xffffff
template <int Width>ns32000_device<Width>::ns32000_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, int databits, int addrbits)
: cpu_device(mconfig, type, tag, owner, clock)
, m_program_config("program", ENDIANNESS_LITTLE, databits, addrbits, 0)
, m_interrupt_config("interrupt", ENDIANNESS_LITTLE, databits, addrbits, 0)
, m_iam_config("iam", ENDIANNESS_LITTLE, databits, addrbits, 0)
, m_iac_config("iac", ENDIANNESS_LITTLE, databits, addrbits, 0)
, m_eim_config("eim", ENDIANNESS_LITTLE, databits, addrbits, 0)
, m_eic_config("eic", ENDIANNESS_LITTLE, databits, addrbits, 0)
, m_sif_config("sif", ENDIANNESS_LITTLE, databits, addrbits, 0)
, m_nif_config("nif", ENDIANNESS_LITTLE, databits, addrbits, 0)
, m_odt_config("odt", ENDIANNESS_LITTLE, databits, addrbits, 0)
, m_rmw_config("rmw", ENDIANNESS_LITTLE, databits, addrbits, 0)
, m_ear_config("ear", ENDIANNESS_LITTLE, databits, addrbits, 0)
, m_fpu(*this, finder_base::DUMMY_TAG)
, m_mmu(*this, finder_base::DUMMY_TAG)
, m_icount(0)
Expand Down Expand Up @@ -3327,15 +3335,15 @@ template <int Width> device_memory_interface::space_config_vector ns32000_device
return space_config_vector{
std::make_pair(AS_PROGRAM, &m_program_config),

std::make_pair(ST_IAM, &m_interrupt_config),
std::make_pair(ST_IAC, &m_interrupt_config),
std::make_pair(ST_EIM, &m_interrupt_config),
std::make_pair(ST_EIC, &m_interrupt_config),
std::make_pair(ST_SIF, &m_program_config),
std::make_pair(ST_NIF, &m_program_config),
std::make_pair(ST_ODT, &m_program_config),
std::make_pair(ST_RMW, &m_program_config),
std::make_pair(ST_EAR, &m_program_config),
std::make_pair(ST_IAM, &m_iam_config),
std::make_pair(ST_IAC, &m_iac_config),
std::make_pair(ST_EIM, &m_eim_config),
std::make_pair(ST_EIC, &m_eic_config),
std::make_pair(ST_SIF, &m_sif_config),
std::make_pair(ST_NIF, &m_nif_config),
std::make_pair(ST_ODT, &m_odt_config),
std::make_pair(ST_RMW, &m_rmw_config),
std::make_pair(ST_EAR, &m_ear_config),
};
}

Expand Down
10 changes: 9 additions & 1 deletion src/devices/cpu/ns32000/ns32000.h
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,15 @@ class ns32000_device : public cpu_device
private:
// configuration
address_space_config m_program_config;
address_space_config m_interrupt_config;
address_space_config m_iam_config;
address_space_config m_iac_config;
address_space_config m_eim_config;
address_space_config m_eic_config;
address_space_config m_sif_config;
address_space_config m_nif_config;
address_space_config m_odt_config;
address_space_config m_rmw_config;
address_space_config m_ear_config;

optional_device<ns32000_slave_interface> m_fpu;
optional_device<ns32000_mmu_interface> m_mmu;
Expand Down
4 changes: 2 additions & 2 deletions src/devices/cpu/pdp8/hd6120.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -168,8 +168,8 @@ hd6120_device::hd6120_device(const machine_config &config, const char *tag, devi
: cpu_device(config, HD6120, tag, owner, clock)
, m_inst_config("instruction", ENDIANNESS_BIG, 16, 16, -1) // 12 data bits
, m_data_config("data", ENDIANNESS_BIG, 16, 16, -1) // 12 data bits
, m_io_config("I/O", ENDIANNESS_BIG, 16, 9, -1) // 12 data bits
, m_devctl_config("device control", ENDIANNESS_BIG, 8, 9, 0) // only 3 bits used
, m_io_config("io", ENDIANNESS_BIG, 16, 9, -1) // 12 data bits
, m_devctl_config("devctl", ENDIANNESS_BIG, 8, 9, 0) // only 3 bits used
, m_lxmar_callback(*this)
, m_lxpar_callback(*this)
, m_lxdar_callback(*this)
Expand Down
2 changes: 1 addition & 1 deletion src/devices/cpu/rx01/rx01.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ DEFINE_DEVICE_TYPE(RX01_CPU, rx01_cpu_device, "rx01_cpu", "DEC RX01 CPU")
rx01_cpu_device::rx01_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
: cpu_device(mconfig, RX01_CPU, tag, owner, clock)
, m_inst_config("program", ENDIANNESS_LITTLE, 8, 12, 0)
, m_data_config("sector data", ENDIANNESS_LITTLE, 8, 10, 0) // actually 1 bit wide
, m_data_config("sectordata", ENDIANNESS_LITTLE, 8, 10, 0) // actually 1 bit wide
, m_interface_callback(*this)
, m_pc(0)
, m_ppc(0)
Expand Down
5 changes: 2 additions & 3 deletions src/devices/cpu/sparc/sparc.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -45,12 +45,11 @@ sparc_base_device::sparc_base_device(const machine_config &mconfig, device_type
: cpu_device(mconfig, type, tag, owner, clock)
, m_mmu(*this, finder_base::DUMMY_TAG)
{
char asi_buf[10];
m_debugger_config = address_space_config("debug", ENDIANNESS_BIG, 32, 32);
for (int i = 0; i < 0x10; i++)
{
snprintf(asi_buf, std::size(asi_buf), "asi%X", i);
m_asi_config[i] = address_space_config(asi_buf, ENDIANNESS_BIG, 32, 32);
m_asi_names[i] = util::string_format("asi%x", i);
m_asi_config[i] = address_space_config(m_asi_names[i].c_str(), ENDIANNESS_BIG, 32, 32);
}
}

Expand Down
1 change: 1 addition & 0 deletions src/devices/cpu/sparc/sparc.h
Original file line number Diff line number Diff line change
Expand Up @@ -155,6 +155,7 @@ class sparc_base_device : public cpu_device, public sparc_mmu_host_interface, pr
required_device<sparc_mmu_interface> m_mmu;

// address spaces
std::string m_asi_names[0x10];
address_space_config m_debugger_config;
address_space_config m_asi_config[0x10];
memory_access<32, 2, 0, ENDIANNESS_BIG>::specific m_asi[0x20];
Expand Down
4 changes: 2 additions & 2 deletions src/devices/cpu/upd78k/upd78k0.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,9 @@ DEFINE_DEVICE_TYPE(UPD78053, upd78053_device, "upd78053", "NEC uPD78053")
upd78k0_device::upd78k0_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, u16 iram_size, address_map_constructor mem_map, address_map_constructor sfr_map)
: cpu_device(mconfig, type, tag, owner, clock)
, m_program_config("program", ENDIANNESS_LITTLE, 8, 16, 0, mem_map)
, m_iram_config("internal high-speed RAM", ENDIANNESS_LITTLE, 16, iram_size > 0x200 ? 10 : iram_size > 0x100 ? 9 : 8, 0,
, m_iram_config("iram", ENDIANNESS_LITTLE, 16, iram_size > 0x200 ? 10 : iram_size > 0x100 ? 9 : 8, 0,
address_map_constructor(FUNC(upd78k0_device::iram_map), this))
, m_sfr_config("SFR", ENDIANNESS_LITTLE, 16, 8, 0, sfr_map)
, m_sfr_config("sfr", ENDIANNESS_LITTLE, 16, 8, 0, sfr_map)
, m_iram_size(iram_size)
, m_subclock(0)
, m_pc(0)
Expand Down
4 changes: 2 additions & 2 deletions src/devices/cpu/upd78k/upd78k2.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@ DEFINE_DEVICE_TYPE(UPD78213, upd78213_device, "upd78213", "NEC uPD78213")
upd78k2_device::upd78k2_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, int iram_bits, address_map_constructor mem_map, address_map_constructor sfr_map)
: cpu_device(mconfig, type, tag, owner, clock)
, m_program_config("program", ENDIANNESS_LITTLE, 8, 20, 0, mem_map)
, m_iram_config("IRAM", ENDIANNESS_LITTLE, 16, iram_bits, 0, address_map_constructor(FUNC(upd78k2_device::iram_map), this))
, m_sfr_config("SFR", ENDIANNESS_LITTLE, 16, 8, 0, sfr_map)
, m_iram_config("iram", ENDIANNESS_LITTLE, 16, iram_bits, 0, address_map_constructor(FUNC(upd78k2_device::iram_map), this))
, m_sfr_config("sfr", ENDIANNESS_LITTLE, 16, 8, 0, sfr_map)
, m_iram_addrmask((offs_t(1) << iram_bits) - 1)
, m_pc(0)
, m_ppc(0)
Expand Down
4 changes: 2 additions & 2 deletions src/devices/cpu/upd78k/upd78k3.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@ DEFINE_DEVICE_TYPE(UPD78312, upd78312_device, "upd78312", "NEC uPD78312")
upd78k3_device::upd78k3_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, address_map_constructor mem_map, address_map_constructor sfr_map)
: cpu_device(mconfig, type, tag, owner, clock)
, m_program_config("program", ENDIANNESS_LITTLE, 8, 16, 0, mem_map)
, m_iram_config("IRAM", ENDIANNESS_LITTLE, 16, 8, 0, address_map_constructor(FUNC(upd78k3_device::iram_map), this))
, m_sfr_config("SFR", ENDIANNESS_LITTLE, 16, 8, 0, sfr_map)
, m_iram_config("iram", ENDIANNESS_LITTLE, 16, 8, 0, address_map_constructor(FUNC(upd78k3_device::iram_map), this))
, m_sfr_config("sfr", ENDIANNESS_LITTLE, 16, 8, 0, sfr_map)
, m_iram(*this, "iram")
, m_pc(0)
, m_ppc(0)
Expand Down
2 changes: 1 addition & 1 deletion src/devices/cpu/vt61/vt61.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ vt61_cpu_device::vt61_cpu_device(const machine_config &mconfig, const char *tag,
: cpu_device(mconfig, VT61_CPU, tag, owner, clock)
, m_program_config("microprogram", ENDIANNESS_LITTLE, 16, 10, -1)
, m_memory_config("memory", ENDIANNESS_LITTLE, 8, 16, 0)
, m_idr_config("IDR", ENDIANNESS_LITTLE, 8, 6, 0)
, m_idr_config("idr", ENDIANNESS_LITTLE, 8, 6, 0)
, m_time_state(state::T1)
, m_pc(0)
, m_pc_mode(pc_mode::CLR)
Expand Down
Loading

0 comments on commit 360d3a5

Please sign in to comment.