summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/video/k053246_k053247_k055673.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/video/k053246_k053247_k055673.cpp')
-rw-r--r--src/mame/video/k053246_k053247_k055673.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/mame/video/k053246_k053247_k055673.cpp b/src/mame/video/k053246_k053247_k055673.cpp
index 05589200f81..453242840ec 100644
--- a/src/mame/video/k053246_k053247_k055673.cpp
+++ b/src/mame/video/k053246_k053247_k055673.cpp
@@ -186,6 +186,20 @@ READ16_MEMBER( k053247_device::k055673_rom_word_r )
return ROM[romofs + (offset & 0x3)];
}
+READ16_MEMBER( k053247_device::k055673_ps_rom_word_r )
+{
+ uint8_t *ROM = (uint8_t *)space.machine().root_device().memregion(m_memory_region)->base();
+ int romofs;
+ int magic = (offset & 1);
+
+ romofs = m_kx46_regs[6] << 16 | m_kx46_regs[7] << 8 | m_kx46_regs[4];
+ offset = ((offset & 4) >> 1);
+
+ int finoffs = (romofs * 2) + (offset * 2) + magic;
+
+ return ROM[finoffs+2] | (ROM[finoffs]<<8);
+}
+
READ8_MEMBER( k053247_device::k053246_r )
{
if (m_objcha_line == ASSERT_LINE)