From e89f009945652ea15d941d4491cb8d9c0d2e3b65 Mon Sep 17 00:00:00 2001 From: AJR Date: Mon, 4 Nov 2019 15:17:11 -0500 Subject: st2xxx: Improve notes; remove unnecessary override (nw) --- src/devices/cpu/m6502/st2xxx.cpp | 19 ++++++++++--------- src/devices/cpu/m6502/st2xxx.h | 1 - 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/devices/cpu/m6502/st2xxx.cpp b/src/devices/cpu/m6502/st2xxx.cpp index 5748668b6c3..ce5a91ba619 100644 --- a/src/devices/cpu/m6502/st2xxx.cpp +++ b/src/devices/cpu/m6502/st2xxx.cpp @@ -12,15 +12,21 @@ clock generators, power management and PSG channels for speaker output. Each MCU also has numerous pins dedicated to LCD segment drivers, an external bus addressing several MB of off-chip - memory using multiple chip select signals, or both. Program ROM, - whether internal or external, is banked to a greater or lesser - extent except on the smallest single-chip ST20XX models. + memory using multiple chip select signals, or both. + + On all ST2XXX MCUs but the smallest single-chip ST20XX models, + 4000–7FFF (nominally program memory) and 8000–FFFF (nominally + data memory) are bankswitched over all internal and external ROM, + and interrupt vectors are read from 7Fxx rather than FFxx. The + ST22XX and ST26XX series use a separate, auto-incrementing bank + register for DMA reads from the 8000–FFFF area, and will also + switch 4000–7FFF to a different bank during interrupt service if + the IRREN bit in the SYS register is set. **********************************************************************/ #include "emu.h" #include "st2xxx.h" -#include "r65c02d.h" st2xxx_device::st2xxx_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, address_map_constructor internal_map, int data_bits, u16 ireq_mask) : r65c02_device(mconfig, type, tag, owner, clock) @@ -84,11 +90,6 @@ void st2xxx_device::device_reset() m_lymax = 0; } -std::unique_ptr st2xxx_device::create_disassembler() -{ - return std::make_unique(); -} - u8 st2xxx_device::acknowledge_irq() { // IREQH interrupts have priority over IREQL interrupts diff --git a/src/devices/cpu/m6502/st2xxx.h b/src/devices/cpu/m6502/st2xxx.h index b39b63d5671..f35b5e540b3 100644 --- a/src/devices/cpu/m6502/st2xxx.h +++ b/src/devices/cpu/m6502/st2xxx.h @@ -66,7 +66,6 @@ protected: virtual void device_resolve_objects() override; virtual void device_reset() override; - virtual std::unique_ptr create_disassembler() override; virtual void do_exec_full() override; virtual void do_exec_partial() override; -- cgit v1.2.3