diff options
Diffstat (limited to 'src/devices/cpu/m6502/st2xxx.cpp')
-rw-r--r-- | src/devices/cpu/m6502/st2xxx.cpp | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/src/devices/cpu/m6502/st2xxx.cpp b/src/devices/cpu/m6502/st2xxx.cpp index 711360b355f..8905e9942d4 100644 --- a/src/devices/cpu/m6502/st2xxx.cpp +++ b/src/devices/cpu/m6502/st2xxx.cpp @@ -76,6 +76,12 @@ void st2xxx_device::device_reset() // reset miscellaneous registers m_sys = 0; + + // reset LCDC registers + m_lssa = 0; + m_lvpw = 0; + m_lxmax = 0; + m_lymax = 0; } std::unique_ptr<util::disasm_interface> st2xxx_device::create_disassembler() @@ -249,4 +255,39 @@ void st2xxx_device::ienah_w(u8 data) update_irq_state(); } +void st2xxx_device::lssal_w(u8 data) +{ + m_lssa = (m_lssa & 0xff00) | data; +} + +void st2xxx_device::lssah_w(u8 data) +{ + m_lssa = (m_lssa & 0x00ff) | (u16(data) << 8); +} + +void st2xxx_device::lvpw_w(u8 data) +{ + m_lvpw = data; +} + +u8 st2xxx_device::lxmax_r() +{ + return m_lxmax; +} + +void st2xxx_device::lxmax_w(u8 data) +{ + m_lxmax = data; +} + +u8 st2xxx_device::lymax_r() +{ + return m_lymax; +} + +void st2xxx_device::lymax_w(u8 data) +{ + m_lymax = data; +} + #include "cpu/m6502/st2xxx.hxx" |