summaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
author Ryan Holtz <ryan.holtz@arrowheadgs.com>2018-10-19 07:50:37 +0200
committer Ryan Holtz <ryan.holtz@arrowheadgs.com>2018-10-19 07:50:37 +0200
commitaeae501a76b7d694b18fc88dfe52c4353044e93b (patch)
treec73882bc4e1b4f8a8ec704eaca1475f9c4c50f5e /src
parent8143ab0dc0b2b854dd63246dfa60d4d2158657de (diff)
spg2xx: Fixed tilemap wallpaper mode. Fixes V.Smile intro background. [Ryan Holtz]
Diffstat (limited to 'src')
-rw-r--r--src/devices/machine/spg2xx.cpp2
-rw-r--r--src/devices/machine/spg2xx.h2
-rw-r--r--src/mame/drivers/vii.cpp35
3 files changed, 11 insertions, 28 deletions
diff --git a/src/devices/machine/spg2xx.cpp b/src/devices/machine/spg2xx.cpp
index d50aaca694f..7be6477f5f9 100644
--- a/src/devices/machine/spg2xx.cpp
+++ b/src/devices/machine/spg2xx.cpp
@@ -349,7 +349,7 @@ void spg2xx_device::blit_page(const rectangle &cliprect, int depth, uint32_t bit
{
for (uint32_t x0 = 0; x0 < wn; x0++)
{
- uint16_t tile = (ctrl & PAGE_BLANK_MASK) ? 0 : space.read_word(tilemap + x0 + wn * y0);
+ uint16_t tile = (ctrl & PAGE_WALLPAPER_MASK) ? space.read_word(tilemap) : space.read_word(tilemap + x0 + wn * y0);
uint16_t palette = 0;
uint32_t xx, yy;
diff --git a/src/devices/machine/spg2xx.h b/src/devices/machine/spg2xx.h
index 3e85537dbef..7a993251ece 100644
--- a/src/devices/machine/spg2xx.h
+++ b/src/devices/machine/spg2xx.h
@@ -68,7 +68,7 @@ protected:
enum
{
PAGE_ENABLE_MASK = 0x0008,
- PAGE_BLANK_MASK = 0x0004,
+ PAGE_WALLPAPER_MASK = 0x0004,
SPRITE_ENABLE_MASK = 0x0001,
SPRITE_COORD_TL_MASK = 0x0002,
diff --git a/src/mame/drivers/vii.cpp b/src/mame/drivers/vii.cpp
index a1b5ea54f95..dcd25d3466f 100644
--- a/src/mame/drivers/vii.cpp
+++ b/src/mame/drivers/vii.cpp
@@ -393,7 +393,7 @@ READ16_MEMBER(vsmile_state::portb_r)
//const uint8_t inputs = m_io_p2->read();
//const uint16_t input_bits = BIT(inputs, 0) ? VSMILE_PORTB_ON_SW : 0;
const uint16_t data = VSMILE_PORTB_ON_SW | (m_cart && m_cart->exists() ? VSMILE_PORTB_CART : 0);
- logerror("V.Smile Port B read %04x, mask %04x\n", data, mem_mask);
+ //logerror("V.Smile Port B read %04x, mask %04x\n", data, mem_mask);
//printf("V.Smile Port B read %04x, mask %04x\n", data, mem_mask);
return data;
}
@@ -401,47 +401,47 @@ READ16_MEMBER(vsmile_state::portb_r)
READ16_MEMBER(vsmile_state::portc_r)
{
const uint16_t data = VSMILE_PORTC_LOGO | 0x0004;
- logerror("V.Smile Port C read %04x, mask %04x\n", data, mem_mask);
+ //logerror("V.Smile Port C read %04x, mask %04x\n", data, mem_mask);
return data;
}
WRITE16_MEMBER(vsmile_state::portb_w)
{
m_portb_data = data & mem_mask;
- logerror("V.Smile Port B write %04x, mask %04x\n", m_portb_data, mem_mask);
+ //logerror("V.Smile Port B write %04x, mask %04x\n", m_portb_data, mem_mask);
//printf("V.Smile Port B write %04x, mask %04x\n", m_portb_data, mem_mask);
}
WRITE16_MEMBER(vsmile_state::portc_w)
{
m_portc_data = data & mem_mask;
- logerror("V.Smile Port C write %04x, mask %04x\n", m_portc_data, mem_mask);
+ //logerror("V.Smile Port C write %04x, mask %04x\n", m_portc_data, mem_mask);
//printf("V.Smile Port C write %04x, mask %04x\n", m_portc_data, mem_mask);
//printf("%02x ", data >> 8);
}
WRITE8_MEMBER(vsmile_state::uart_tx)
{
- logerror("UART Tx: %02x\n", data);
+ //logerror("UART Tx: %02x\n", data);
}
WRITE8_MEMBER(vsmile_state::chip_sel_w)
{
- logerror("Chip select mode: %d\n", data);
+ //logerror("Chip select mode: %d\n", data);
const uint16_t cart_offset = m_cart && m_cart->exists() ? 4 : 0;
switch (data)
{
case 0:
- logerror("Setting bank %d\n", cart_offset);
+ //logerror("Setting bank %d\n", cart_offset);
m_bankdev->set_bank(cart_offset);
break;
case 1:
- logerror("Setting bank %d\n", 1 + cart_offset);
+ //logerror("Setting bank %d\n", 1 + cart_offset);
m_bankdev->set_bank(1 + cart_offset);
break;
case 2:
case 3:
- logerror("Setting bank %d\n", 2 + cart_offset);
+ //logerror("Setting bank %d\n", 2 + cart_offset);
m_bankdev->set_bank(2 + cart_offset);
break;
}
@@ -449,28 +449,11 @@ WRITE8_MEMBER(vsmile_state::chip_sel_w)
READ16_MEMBER(spg2xx_game_state::walle_portc_r)
{
- char mask_buf[17];
- mask_buf[16] = 0;
- for (uint32_t i = 0; i < 16; i++)
- {
- mask_buf[i] = BIT(mem_mask, 15 - i) ? '1' : '0';
- }
- logerror("Wall-E Port C read 0000, pull mask %s\n", mask_buf);
return m_i2cmem->read_sda();
}
WRITE16_MEMBER(spg2xx_game_state::walle_portc_w)
{
- char data_buf[17];
- char mask_buf[17];
- data_buf[16] = 0;
- mask_buf[16] = 0;
- for (uint32_t i = 0; i < 16; i++)
- {
- data_buf[i] = BIT(data, 15 - i) ? '1' : '0';
- mask_buf[i] = BIT(mem_mask, 15 - i) ? '1' : '0';
- }
- logerror("Wall-E Port C write %s, push mask %s\n", data_buf, mask_buf);
m_walle_portc_data = data & mem_mask;
if (BIT(mem_mask, 1))
m_i2cmem->write_scl(BIT(data, 1));