diff --git a/src/mame/video/slapshot.cpp b/src/mame/video/slapshot.cpp index a0f80659fa7..a9b6d2b791f 100644 --- a/src/mame/video/slapshot.cpp +++ b/src/mame/video/slapshot.cpp @@ -449,7 +449,6 @@ a bg layer given priority over some sprites. uint32_t slapshot_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { - address_space &space = machine().dummy_space(); uint8_t layer[5]; uint8_t tilepri[5]; uint8_t spritepri[4]; @@ -499,18 +498,18 @@ uint32_t slapshot_state::screen_update(screen_device &screen, bitmap_ind16 &bitm layer[3] = (priority & 0x000f) >> 0; /* tells us which is top */ layer[4] = 4; /* text layer always over bg layers */ - tilepri[0] = m_tc0360pri->read(space, 4) & 0x0f; /* bg0 */ - tilepri[1] = m_tc0360pri->read(space, 4) >> 4; /* bg1 */ - tilepri[2] = m_tc0360pri->read(space, 5) & 0x0f; /* bg2 */ - tilepri[3] = m_tc0360pri->read(space, 5) >> 4; /* bg3 */ + tilepri[0] = m_tc0360pri->read(4) & 0x0f; /* bg0 */ + tilepri[1] = m_tc0360pri->read(4) >> 4; /* bg1 */ + tilepri[2] = m_tc0360pri->read(5) & 0x0f; /* bg2 */ + tilepri[3] = m_tc0360pri->read(5) >> 4; /* bg3 */ /* we actually assume text layer is on top of everything anyway, but FWIW... */ - tilepri[layer[4]] = m_tc0360pri->read(space, 7) & 0x0f; /* fg (text layer) */ + tilepri[layer[4]] = m_tc0360pri->read(9) & 0x0f; /* fg (text layer) */ - spritepri[0] = m_tc0360pri->read(space, 6) & 0x0f; - spritepri[1] = m_tc0360pri->read(space, 6) >> 4; - spritepri[2] = m_tc0360pri->read(space, 7) & 0x0f; - spritepri[3] = m_tc0360pri->read(space, 7) >> 4; + spritepri[0] = m_tc0360pri->read(6) & 0x0f; + spritepri[1] = m_tc0360pri->read(6) >> 4; + spritepri[2] = m_tc0360pri->read(7) & 0x0f; + spritepri[3] = m_tc0360pri->read(7) >> 4; screen.priority().fill(0, cliprect); bitmap.fill(0, cliprect); diff --git a/src/mame/video/taito_f2.cpp b/src/mame/video/taito_f2.cpp index 82a63e9b98c..730500fb725 100644 --- a/src/mame/video/taito_f2.cpp +++ b/src/mame/video/taito_f2.cpp @@ -1017,7 +1017,6 @@ uint32_t taitof2_state::screen_update_taitof2(screen_device &screen, bitmap_ind1 uint32_t taitof2_state::screen_update_taitof2_pri(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { - address_space &space = machine().dummy_space(); int layer[3]; taitof2_handle_sprite_buffering(); @@ -1027,16 +1026,16 @@ uint32_t taitof2_state::screen_update_taitof2_pri(screen_device &screen, bitmap_ layer[0] = m_tc0100scn->bottomlayer(); layer[1] = layer[0] ^ 1; layer[2] = 2; - m_tilepri[layer[0]] = m_tc0360pri->read(space, 5) & 0x0f; - m_tilepri[layer[1]] = m_tc0360pri->read(space, 5) >> 4; - m_tilepri[layer[2]] = m_tc0360pri->read(space, 4) >> 4; + m_tilepri[layer[0]] = m_tc0360pri->read(5) & 0x0f; + m_tilepri[layer[1]] = m_tc0360pri->read(5) >> 4; + m_tilepri[layer[2]] = m_tc0360pri->read(4) >> 4; - m_spritepri[0] = m_tc0360pri->read(space, 6) & 0x0f; - m_spritepri[1] = m_tc0360pri->read(space, 6) >> 4; - m_spritepri[2] = m_tc0360pri->read(space, 7) & 0x0f; - m_spritepri[3] = m_tc0360pri->read(space, 7) >> 4; + m_spritepri[0] = m_tc0360pri->read(6) & 0x0f; + m_spritepri[1] = m_tc0360pri->read(6) >> 4; + m_spritepri[2] = m_tc0360pri->read(7) & 0x0f; + m_spritepri[3] = m_tc0360pri->read(7) >> 4; - m_spriteblendmode = m_tc0360pri->read(space, 0) & 0xc0; + m_spriteblendmode = m_tc0360pri->read(0) & 0xc0; screen.priority().fill(0, cliprect); bitmap.fill(0, cliprect); /* wrong color? */ @@ -1062,13 +1061,12 @@ void taitof2_state::draw_roz_layer( screen_device &screen, bitmap_ind16 &bitmap, uint32_t taitof2_state::screen_update_taitof2_pri_roz(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { - address_space &space = machine().dummy_space(); int tilepri[3]; int rozpri; int layer[3]; int drawn; int i,j; - int roz_base_color = (m_tc0360pri->read(space, 1) & 0x3f) << 2; + int roz_base_color = (m_tc0360pri->read(1) & 0x3f) << 2; taitof2_handle_sprite_buffering(); @@ -1080,23 +1078,23 @@ uint32_t taitof2_state::screen_update_taitof2_pri_roz(screen_device &screen, bit m_tc0100scn->tilemap_update(); - rozpri = (m_tc0360pri->read(space, 1) & 0xc0) >> 6; - rozpri = (m_tc0360pri->read(space, 8 + rozpri / 2) >> 4 * (rozpri & 1)) & 0x0f; + rozpri = (m_tc0360pri->read(1) & 0xc0) >> 6; + rozpri = (m_tc0360pri->read(8 + rozpri / 2) >> 4 * (rozpri & 1)) & 0x0f; layer[0] = m_tc0100scn->bottomlayer(); layer[1] = layer[0] ^ 1; layer[2] = 2; - tilepri[layer[0]] = m_tc0360pri->read(space, 5) & 0x0f; - tilepri[layer[1]] = m_tc0360pri->read(space, 5) >> 4; - tilepri[layer[2]] = m_tc0360pri->read(space, 4) >> 4; + tilepri[layer[0]] = m_tc0360pri->read(5) & 0x0f; + tilepri[layer[1]] = m_tc0360pri->read(5) >> 4; + tilepri[layer[2]] = m_tc0360pri->read(4) >> 4; - m_spritepri[0] = m_tc0360pri->read(space, 6) & 0x0f; - m_spritepri[1] = m_tc0360pri->read(space, 6) >> 4; - m_spritepri[2] = m_tc0360pri->read(space, 7) & 0x0f; - m_spritepri[3] = m_tc0360pri->read(space, 7) >> 4; + m_spritepri[0] = m_tc0360pri->read(6) & 0x0f; + m_spritepri[1] = m_tc0360pri->read(6) >> 4; + m_spritepri[2] = m_tc0360pri->read(7) & 0x0f; + m_spritepri[3] = m_tc0360pri->read(7) >> 4; - m_spriteblendmode = m_tc0360pri->read(space, 0) & 0xc0; + m_spriteblendmode = m_tc0360pri->read(0) & 0xc0; screen.priority().fill(0, cliprect); bitmap.fill(0, cliprect); /* wrong color? */ @@ -1131,7 +1129,6 @@ uint32_t taitof2_state::screen_update_taitof2_pri_roz(screen_device &screen, bit /* Thunderfox */ uint32_t taitof2_state::screen_update_taitof2_thundfox(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { - address_space &space = machine().dummy_space(); int tilepri[2][3]; int spritepri[4]; int layer[2][3]; @@ -1145,21 +1142,21 @@ uint32_t taitof2_state::screen_update_taitof2_thundfox(screen_device &screen, bi layer[0][0] = m_tc0100scn_1->bottomlayer(); layer[0][1] = layer[0][0] ^ 1; layer[0][2] = 2; - tilepri[0][layer[0][0]] = m_tc0360pri->read(space, 5) & 0x0f; - tilepri[0][layer[0][1]] = m_tc0360pri->read(space, 5) >> 4; - tilepri[0][layer[0][2]] = m_tc0360pri->read(space, 4) >> 4; + tilepri[0][layer[0][0]] = m_tc0360pri->read(5) & 0x0f; + tilepri[0][layer[0][1]] = m_tc0360pri->read(5) >> 4; + tilepri[0][layer[0][2]] = m_tc0360pri->read(4) >> 4; layer[1][0] = m_tc0100scn_2->bottomlayer(); layer[1][1] = layer[1][0] ^ 1; layer[1][2] = 2; - tilepri[1][layer[1][0]] = m_tc0360pri->read(space, 9) & 0x0f; - tilepri[1][layer[1][1]] = m_tc0360pri->read(space, 9) >> 4; - tilepri[1][layer[1][2]] = m_tc0360pri->read(space, 8) >> 4; + tilepri[1][layer[1][0]] = m_tc0360pri->read(9) & 0x0f; + tilepri[1][layer[1][1]] = m_tc0360pri->read(9) >> 4; + tilepri[1][layer[1][2]] = m_tc0360pri->read(8) >> 4; - spritepri[0] = m_tc0360pri->read(space, 6) & 0x0f; - spritepri[1] = m_tc0360pri->read(space, 6) >> 4; - spritepri[2] = m_tc0360pri->read(space, 7) & 0x0f; - spritepri[3] = m_tc0360pri->read(space, 7) >> 4; + spritepri[0] = m_tc0360pri->read(6) & 0x0f; + spritepri[1] = m_tc0360pri->read(6) >> 4; + spritepri[2] = m_tc0360pri->read(7) & 0x0f; + spritepri[3] = m_tc0360pri->read(7) >> 4; screen.priority().fill(0, cliprect); bitmap.fill(0, cliprect); /* wrong color? */ @@ -1268,7 +1265,6 @@ and it changes these (and the sprite pri settings) a lot. uint32_t taitof2_state::screen_update_taitof2_metalb(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { - address_space &space = machine().dummy_space(); uint8_t layer[5], invlayer[4]; uint16_t priority; @@ -1289,18 +1285,18 @@ uint32_t taitof2_state::screen_update_taitof2_metalb(screen_device &screen, bitm invlayer[layer[2]] = 2; invlayer[layer[3]] = 3; - m_tilepri[invlayer[0]] = m_tc0360pri->read(space, 4) & 0x0f; /* bg0 */ - m_tilepri[invlayer[1]] = m_tc0360pri->read(space, 4) >> 4; /* bg1 */ - m_tilepri[invlayer[2]] = m_tc0360pri->read(space, 5) & 0x0f; /* bg2 */ - m_tilepri[invlayer[3]] = m_tc0360pri->read(space, 5) >> 4; /* bg3 */ - m_tilepri[4] = m_tc0360pri->read(space, 9) & 0x0f; /* fg (text layer) */ + m_tilepri[invlayer[0]] = m_tc0360pri->read(4) & 0x0f; /* bg0 */ + m_tilepri[invlayer[1]] = m_tc0360pri->read(4) >> 4; /* bg1 */ + m_tilepri[invlayer[2]] = m_tc0360pri->read(5) & 0x0f; /* bg2 */ + m_tilepri[invlayer[3]] = m_tc0360pri->read(5) >> 4; /* bg3 */ + m_tilepri[4] = m_tc0360pri->read(9) & 0x0f; /* fg (text layer) */ - m_spritepri[0] = m_tc0360pri->read(space, 6) & 0x0f; - m_spritepri[1] = m_tc0360pri->read(space, 6) >> 4; - m_spritepri[2] = m_tc0360pri->read(space, 7) & 0x0f; - m_spritepri[3] = m_tc0360pri->read(space, 7) >> 4; + m_spritepri[0] = m_tc0360pri->read(6) & 0x0f; + m_spritepri[1] = m_tc0360pri->read(6) >> 4; + m_spritepri[2] = m_tc0360pri->read(7) & 0x0f; + m_spritepri[3] = m_tc0360pri->read(7) >> 4; - m_spriteblendmode = m_tc0360pri->read(space, 0) & 0xc0; + m_spriteblendmode = m_tc0360pri->read(0) & 0xc0; screen.priority().fill(0, cliprect); bitmap.fill(0, cliprect); @@ -1319,7 +1315,6 @@ uint32_t taitof2_state::screen_update_taitof2_metalb(screen_device &screen, bitm /* Deadconx, Footchmp */ uint32_t taitof2_state::screen_update_taitof2_deadconx(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { - address_space &space = machine().dummy_space(); uint8_t layer[5]; uint8_t tilepri[5]; uint8_t spritepri[4]; @@ -1337,18 +1332,18 @@ uint32_t taitof2_state::screen_update_taitof2_deadconx(screen_device &screen, bi layer[3] = (priority & 0x000f) >> 0; /* tells us which is top */ layer[4] = 4; /* text layer always over bg layers */ - tilepri[0] = m_tc0360pri->read(space, 4) >> 4; /* bg0 */ - tilepri[1] = m_tc0360pri->read(space, 5) & 0x0f; /* bg1 */ - tilepri[2] = m_tc0360pri->read(space, 5) >> 4; /* bg2 */ - tilepri[3] = m_tc0360pri->read(space, 4) & 0x0f; /* bg3 */ + tilepri[0] = m_tc0360pri->read(4) >> 4; /* bg0 */ + tilepri[1] = m_tc0360pri->read(5) & 0x0f; /* bg1 */ + tilepri[2] = m_tc0360pri->read(5) >> 4; /* bg2 */ + tilepri[3] = m_tc0360pri->read(4) & 0x0f; /* bg3 */ /* we actually assume text layer is on top of everything anyway, but FWIW... */ - tilepri[layer[4]] = m_tc0360pri->read(space, 7) >> 4; /* fg (text layer) */ + tilepri[layer[4]] = m_tc0360pri->read(9) >> 4; /* fg (text layer) */ - spritepri[0] = m_tc0360pri->read(space, 6) & 0x0f; - spritepri[1] = m_tc0360pri->read(space, 6) >> 4; - spritepri[2] = m_tc0360pri->read(space, 7) & 0x0f; - spritepri[3] = m_tc0360pri->read(space, 7) >> 4; + spritepri[0] = m_tc0360pri->read(6) & 0x0f; + spritepri[1] = m_tc0360pri->read(6) >> 4; + spritepri[2] = m_tc0360pri->read(7) & 0x0f; + spritepri[3] = m_tc0360pri->read(7) >> 4; screen.priority().fill(0, cliprect); bitmap.fill(0, cliprect); diff --git a/src/mame/video/tc0360pri.cpp b/src/mame/video/tc0360pri.cpp index 71ca816aedc..e672cfe7cf0 100644 --- a/src/mame/video/tc0360pri.cpp +++ b/src/mame/video/tc0360pri.cpp @@ -10,7 +10,7 @@ one has priority, but I'm not sure of that either. It seems the chip accepts three inputs from three different sources, and each one of them can declare to have four different priority levels. -000 Top two bits indicate special blend mode (see taito_f2.c). Other bits unused? +000 Top two bits indicate special blend mode (see taito_f2.cpp). Other bits unused? 001 in games with a roz layer, this is the roz palette bank (bottom 6 bits affect roz color, top 2 bits affect priority) 002 unknown @@ -74,7 +74,7 @@ void tc0360pri_device::device_reset() DEVICE HANDLERS *****************************************************************************/ -WRITE8_MEMBER( tc0360pri_device::write ) +void tc0360pri_device::write(offs_t offset, u8 data) { m_regs[offset] = data; @@ -89,7 +89,7 @@ if (offset >= 0x0a) #endif } -READ8_MEMBER( tc0360pri_device::read ) +u8 tc0360pri_device::read(offs_t offset) { return m_regs[offset]; } diff --git a/src/mame/video/tc0360pri.h b/src/mame/video/tc0360pri.h index 0427954ddf9..058cd070db1 100644 --- a/src/mame/video/tc0360pri.h +++ b/src/mame/video/tc0360pri.h @@ -10,8 +10,8 @@ class tc0360pri_device : public device_t public: tc0360pri_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - DECLARE_WRITE8_MEMBER( write ); - DECLARE_READ8_MEMBER( read ); + void write(offs_t offset, u8 data); + u8 read(offs_t offset); protected: // device-level overrides