diff options
Diffstat (limited to 'src/mame/video/ygv608.cpp')
-rw-r--r-- | src/mame/video/ygv608.cpp | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/mame/video/ygv608.cpp b/src/mame/video/ygv608.cpp index 515795923aa..35d5922c9ed 100644 --- a/src/mame/video/ygv608.cpp +++ b/src/mame/video/ygv608.cpp @@ -378,6 +378,7 @@ static ADDRESS_MAP_START( regs_map, AS_IO, 8, ygv608_device ) // screen control AM_RANGE(10, 10) AM_READWRITE(screen_ctrl_mosaic_sprite_r, screen_ctrl_mosaic_sprite_w) + AM_RANGE(13, 13) AM_WRITE(border_color_w) // interrupt section AM_RANGE(14, 14) AM_READWRITE(irq_mask_r,irq_mask_w) AM_RANGE(15, 16) AM_READWRITE(irq_ctrl_r,irq_ctrl_w) @@ -1177,7 +1178,8 @@ uint32_t ygv608_device::update_screen(screen_device &screen, bitmap_ind16 &bitma // clip to the current bitmap finalclip.set(0, screen.width() - 1, 0, screen.height() - 1); finalclip &= cliprect; - bitmap.fill(0, visarea ); + // TODO: black/transparent pen if CBDR is 1 and border color is 0 + bitmap.fill(m_border_color, visarea ); // punt if not initialized if (m_page_x == 0 || m_page_y == 0) @@ -1850,6 +1852,7 @@ READ8_MEMBER( ygv608_device::screen_ctrl_mosaic_sprite_r ) | (m_mosaic_bplane << 2) | (m_mosaic_aplane & 3); } +// R#10W - screen control: mosaic & sprite WRITE8_MEMBER( ygv608_device::screen_ctrl_mosaic_sprite_w ) { // check mosaic @@ -1862,7 +1865,13 @@ WRITE8_MEMBER( ygv608_device::screen_ctrl_mosaic_sprite_w ) m_sprite_aux_mode = BIT(data, 5); m_sprite_aux_reg = (data & 0xc0) >> 6; } - + +// R#13W - border color +WRITE8_MEMBER( ygv608_device::border_color_w ) +{ + m_border_color = data; +} + // R#14R interrupt mask control READ8_MEMBER( ygv608_device::irq_mask_r ) { |