diff options
Diffstat (limited to 'src/devices/cpu/sm510/sm510base.cpp')
-rw-r--r-- | src/devices/cpu/sm510/sm510base.cpp | 30 |
1 files changed, 22 insertions, 8 deletions
diff --git a/src/devices/cpu/sm510/sm510base.cpp b/src/devices/cpu/sm510/sm510base.cpp index 5345d203723..66e7925b8c2 100644 --- a/src/devices/cpu/sm510/sm510base.cpp +++ b/src/devices/cpu/sm510/sm510base.cpp @@ -19,6 +19,28 @@ #include "sm510base.h" +sm510_base_device::sm510_base_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, int stack_levels, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data) : + cpu_device(mconfig, type, tag, owner, clock), + m_program_config("program", ENDIANNESS_LITTLE, 8, prgwidth, 0, program), + m_data_config("data", ENDIANNESS_LITTLE, 8, datawidth, 0, data), + m_prgwidth(prgwidth), + m_datawidth(datawidth), + m_stack_levels(stack_levels), + m_r_mask_option(RMASK_DIRECT), + m_lcd_ram_a(*this, "lcd_ram_a"), + m_lcd_ram_b(*this, "lcd_ram_b"), + m_lcd_ram_c(*this, "lcd_ram_c"), + m_write_segs(*this), + m_melody_rom(*this, "melody"), + m_read_k(*this, 0), + m_read_ba(*this, 1), + m_read_b(*this, 1), + m_write_s(*this), + m_write_r(*this) +{ +} + + //------------------------------------------------- // device_start - device-specific startup //------------------------------------------------- @@ -31,14 +53,6 @@ void sm510_base_device::device_start() m_datamask = (1 << m_datawidth) - 1; m_pagemask = 0x3f; - // resolve callbacks - m_read_k.resolve_safe(0); - m_read_ba.resolve_safe(1); - m_read_b.resolve_safe(1); - m_write_s.resolve_safe(); - m_write_r.resolve_safe(); - m_write_segs.resolve_safe(); - // init/zerofill std::fill_n(m_stack, std::size(m_stack), 0); m_pc = 0; |