summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/machine/spg110_video.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/machine/spg110_video.cpp')
-rw-r--r--src/devices/machine/spg110_video.cpp76
1 files changed, 38 insertions, 38 deletions
diff --git a/src/devices/machine/spg110_video.cpp b/src/devices/machine/spg110_video.cpp
index 067f901e22a..93ad10ae0c0 100644
--- a/src/devices/machine/spg110_video.cpp
+++ b/src/devices/machine/spg110_video.cpp
@@ -339,7 +339,7 @@ device_memory_interface::space_config_vector spg110_video_device::memory_space_c
// irq source or similar?
-READ16_MEMBER(spg110_video_device::spg110_2063_r)
+uint16_t spg110_video_device::spg110_2063_r()
{
// checks for bits 0x20 and 0x08 in the IRQ function (all IRQs point to the same place)
@@ -347,7 +347,7 @@ READ16_MEMBER(spg110_video_device::spg110_2063_r)
return m_video_irq_status | 0x0600; /* | 0x0002; */
}
-WRITE16_MEMBER(spg110_video_device::spg110_2063_w)
+void spg110_video_device::spg110_2063_w(uint16_t data)
{
// writes 0x28, probably clears the IRQ / IRQ sources? 0x63 is the same offset for this in spg2xx but bits used seem to be different
const uint16_t old = m_video_irq_enable & m_video_irq_status;
@@ -358,52 +358,52 @@ WRITE16_MEMBER(spg110_video_device::spg110_2063_w)
}
-WRITE16_MEMBER(spg110_video_device::spg110_201c_w) { logerror("%s: 201c: %04x\n", machine().describe_context(), data); } // during startup text only
-WRITE16_MEMBER(spg110_video_device::spg110_2020_w) { COMBINE_DATA(&m_tilebase); logerror("%s: 2020: %04x\n", machine().describe_context(), data); } // confirmed as tile base, seems to apply to both layers and sprites, unlike spg2xx which has separate registers
+void spg110_video_device::spg110_201c_w(uint16_t data) { logerror("%s: 201c: %04x\n", machine().describe_context(), data); } // during startup text only
+void spg110_video_device::spg110_2020_w(offs_t offset, uint16_t data, uint16_t mem_mask) { COMBINE_DATA(&m_tilebase); logerror("%s: 2020: %04x\n", machine().describe_context(), data); } // confirmed as tile base, seems to apply to both layers and sprites, unlike spg2xx which has separate registers
-WRITE16_MEMBER(spg110_video_device::spg110_2028_w) { logerror("%s: 2028: %04x\n", machine().describe_context(), data); } // startup
-READ16_MEMBER(spg110_video_device::spg110_2028_r) { return 0x0000; }
+void spg110_video_device::spg110_2028_w(uint16_t data) { logerror("%s: 2028: %04x\n", machine().describe_context(), data); } // startup
+uint16_t spg110_video_device::spg110_2028_r() { return 0x0000; }
-WRITE16_MEMBER(spg110_video_device::spg110_2029_w) { logerror("%s: 2029: %04x\n", machine().describe_context(), data); } // 0006, 0008 on startup
-READ16_MEMBER(spg110_video_device::spg110_2029_r) { return 0x0000; }
+void spg110_video_device::spg110_2029_w(uint16_t data) { logerror("%s: 2029: %04x\n", machine().describe_context(), data); } // 0006, 0008 on startup
+uint16_t spg110_video_device::spg110_2029_r() { return 0x0000; }
-WRITE16_MEMBER(spg110_video_device::spg110_2031_w) { logerror("%s: 2031: %04x\n", machine().describe_context(), data); } // 014a or 0000 when ball is in trap
-WRITE16_MEMBER(spg110_video_device::spg110_2032_w) { logerror("%s: 2032: %04x\n", machine().describe_context(), data); } // 014a most of the time, 0000 very rarely
-WRITE16_MEMBER(spg110_video_device::spg110_2033_w) { logerror("%s: 2033: %04x\n", machine().describe_context(), data); } // changes, situational, eg when pausing
-WRITE16_MEMBER(spg110_video_device::spg110_2034_w) { logerror("%s: 2034: %04x\n", machine().describe_context(), data); } // 0141 on every scene transition
-WRITE16_MEMBER(spg110_video_device::spg110_2035_w) { logerror("%s: 2035: %04x\n", machine().describe_context(), data); } // 0141 on every scene transition
-WRITE16_MEMBER(spg110_video_device::spg110_2036_w) { logerror("%s: 2036: %04x\n", machine().describe_context(), data); COMBINE_DATA(&m_2036_scroll); } // seems related to ball y position, not scrolling (possibly shadow sprite related?)
+void spg110_video_device::spg110_2031_w(uint16_t data) { logerror("%s: 2031: %04x\n", machine().describe_context(), data); } // 014a or 0000 when ball is in trap
+void spg110_video_device::spg110_2032_w(uint16_t data) { logerror("%s: 2032: %04x\n", machine().describe_context(), data); } // 014a most of the time, 0000 very rarely
+void spg110_video_device::spg110_2033_w(uint16_t data) { logerror("%s: 2033: %04x\n", machine().describe_context(), data); } // changes, situational, eg when pausing
+void spg110_video_device::spg110_2034_w(uint16_t data) { logerror("%s: 2034: %04x\n", machine().describe_context(), data); } // 0141 on every scene transition
+void spg110_video_device::spg110_2035_w(uint16_t data) { logerror("%s: 2035: %04x\n", machine().describe_context(), data); } // 0141 on every scene transition
+void spg110_video_device::spg110_2036_w(offs_t offset, uint16_t data, uint16_t mem_mask) { logerror("%s: 2036: %04x\n", machine().describe_context(), data); COMBINE_DATA(&m_2036_scroll); } // seems related to ball y position, not scrolling (possibly shadow sprite related?)
-READ16_MEMBER(spg110_video_device::spg110_2037_r) { return 0x0000; } // added to something from the PRNG
-WRITE16_MEMBER(spg110_video_device::spg110_2037_w) { logerror("%s: 2037: %04x\n", machine().describe_context(), data); } // 0126 (always?)
+uint16_t spg110_video_device::spg110_2037_r() { return 0x0000; } // added to something from the PRNG
+void spg110_video_device::spg110_2037_w(uint16_t data) { logerror("%s: 2037: %04x\n", machine().describe_context(), data); } // 0126 (always?)
-WRITE16_MEMBER(spg110_video_device::spg110_2039_w) { logerror("%s: 2039: %04x\n", machine().describe_context(), data); } // 0803 on every scene transition
+void spg110_video_device::spg110_2039_w(uint16_t data) { logerror("%s: 2039: %04x\n", machine().describe_context(), data); } // 0803 on every scene transition
-WRITE16_MEMBER(spg110_video_device::spg110_203c_w) { logerror("%s: 203c: %04x\n", machine().describe_context(), data); } // 0006 on startup, twice
+void spg110_video_device::spg110_203c_w(uint16_t data) { logerror("%s: 203c: %04x\n", machine().describe_context(), data); } // 0006 on startup, twice
-WRITE16_MEMBER(spg110_video_device::spg110_203d_w) { logerror("%s: 203d: %04x\n", machine().describe_context(), data); } // changes, usually between scenes
+void spg110_video_device::spg110_203d_w(uint16_t data) { logerror("%s: 203d: %04x\n", machine().describe_context(), data); } // changes, usually between scenes
-READ16_MEMBER(spg110_video_device::spg110_2042_r) { return 0x0000; }
-WRITE16_MEMBER(spg110_video_device::spg110_2042_w) { logerror("%s: 2042: %04x\n", machine().describe_context(), data); } // sets bit 0x0004, masks with 0xfffb etc.
+uint16_t spg110_video_device::spg110_2042_r() { return 0x0000; }
+void spg110_video_device::spg110_2042_w(uint16_t data) { logerror("%s: 2042: %04x\n", machine().describe_context(), data); } // sets bit 0x0004, masks with 0xfffb etc.
-WRITE16_MEMBER(spg110_video_device::spg110_2045_w) { logerror("%s: 2045: %04x\n", machine().describe_context(), data); } // 0006 on startup, once
+void spg110_video_device::spg110_2045_w(uint16_t data) { logerror("%s: 2045: %04x\n", machine().describe_context(), data); } // 0006 on startup, once
-WRITE16_MEMBER(spg110_video_device::spg110_205x_w)
+void spg110_video_device::spg110_205x_w(offs_t offset, uint16_t data, uint16_t mem_mask)
{
COMBINE_DATA(&m_palctrlram[offset]);
}
-WRITE16_MEMBER(spg110_video_device::dma_unk_2061_w) { COMBINE_DATA(&m_dma_unk_2061); }
-WRITE16_MEMBER(spg110_video_device::dma_dst_step_w) { COMBINE_DATA(&m_dma_dst_step); }
-WRITE16_MEMBER(spg110_video_device::dma_unk_2067_w) { COMBINE_DATA(&m_dma_src_high); }
-WRITE16_MEMBER(spg110_video_device::dma_src_step_w) { COMBINE_DATA(&m_dma_src_step); }
+void spg110_video_device::dma_unk_2061_w(offs_t offset, uint16_t data, uint16_t mem_mask) { COMBINE_DATA(&m_dma_unk_2061); }
+void spg110_video_device::dma_dst_step_w(offs_t offset, uint16_t data, uint16_t mem_mask) { COMBINE_DATA(&m_dma_dst_step); }
+void spg110_video_device::dma_unk_2067_w(offs_t offset, uint16_t data, uint16_t mem_mask) { COMBINE_DATA(&m_dma_src_high); }
+void spg110_video_device::dma_src_step_w(offs_t offset, uint16_t data, uint16_t mem_mask) { COMBINE_DATA(&m_dma_src_step); }
-WRITE16_MEMBER(spg110_video_device::dma_dst_w) { COMBINE_DATA(&m_dma_dst); }
-WRITE16_MEMBER(spg110_video_device::dma_src_w) { COMBINE_DATA(&m_dma_src); }
+void spg110_video_device::dma_dst_w(offs_t offset, uint16_t data, uint16_t mem_mask) { COMBINE_DATA(&m_dma_dst); }
+void spg110_video_device::dma_src_w(offs_t offset, uint16_t data, uint16_t mem_mask) { COMBINE_DATA(&m_dma_src); }
-WRITE16_MEMBER(spg110_video_device::dma_len_trigger_w)
+void spg110_video_device::dma_len_trigger_w(uint16_t data)
{
int length = data & 0x1fff;
@@ -452,25 +452,25 @@ WRITE16_MEMBER(spg110_video_device::dma_len_trigger_w)
}
}
-WRITE16_MEMBER(spg110_video_device::dma_manual_w)
+void spg110_video_device::dma_manual_w(uint16_t data)
{
this->space(0).write_word(m_dma_dst * 2, data, 0xffff);
}
-READ16_MEMBER(spg110_video_device::dma_manual_r)
+uint16_t spg110_video_device::dma_manual_r()
{
uint16_t val = this->space(0).read_word(m_dma_dst * 2);
return val;
}
-READ16_MEMBER(spg110_video_device::dma_len_status_r)
+uint16_t spg110_video_device::dma_len_status_r()
{
return 0x1fff; // DMA related?
}
-READ16_MEMBER(spg110_video_device::tmap0_regs_r) { return tmap0_regs[offset]; }
-READ16_MEMBER(spg110_video_device::tmap1_regs_r) { return tmap1_regs[offset]; }
+uint16_t spg110_video_device::tmap0_regs_r(offs_t offset) { return tmap0_regs[offset]; }
+uint16_t spg110_video_device::tmap1_regs_r(offs_t offset) { return tmap1_regs[offset]; }
void spg110_video_device::tilemap_write_regs(int which, uint16_t* regs, int regno, uint16_t data)
{
@@ -513,13 +513,13 @@ void spg110_video_device::tilemap_write_regs(int which, uint16_t* regs, int regn
}
-WRITE16_MEMBER(spg110_video_device::tmap0_regs_w)
+void spg110_video_device::tmap0_regs_w(offs_t offset, uint16_t data)
{
tilemap_write_regs(0, tmap0_regs,offset,data);
}
-WRITE16_MEMBER(spg110_video_device::tmap1_regs_w)
+void spg110_video_device::tmap1_regs_w(offs_t offset, uint16_t data)
{
tilemap_write_regs(1, tmap1_regs,offset,data);
}
@@ -581,7 +581,7 @@ double spg110_video_device::hue2rgb(double p, double q, double t)
// wrong format!
-WRITE16_MEMBER(spg110_video_device::palette_w)
+void spg110_video_device::palette_w(offs_t offset, uint16_t data, uint16_t mem_mask)
{
// probably not
const double h_add = 0.65f;