mirror of
https://github.com/holub/mame
synced 2025-10-05 08:41:31 +03:00
commit
127521a0a9
@ -125,13 +125,13 @@
|
||||
#include <algorithm>
|
||||
|
||||
|
||||
READ16_MEMBER(rohga_state::rohga_irq_ack_r)
|
||||
u16 rohga_state::irq_ack_r()
|
||||
{
|
||||
m_maincpu->set_input_line(6, CLEAR_LINE);
|
||||
return 0;
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(rohga_state::wizdfire_irq_ack_w)
|
||||
void rohga_state::irq_ack_w(u16 data)
|
||||
{
|
||||
/* This might actually do more, nitrobal for example sets 0xca->0xffff->0x80 at startup then writes 7 all the time
|
||||
except when a credit is inserted (writes 6 twice).
|
||||
@ -141,21 +141,21 @@ WRITE16_MEMBER(rohga_state::wizdfire_irq_ack_w)
|
||||
|
||||
/**********************************************************************************/
|
||||
|
||||
READ16_MEMBER( rohga_state::ioprot_r )
|
||||
u16 rohga_state::ioprot_r(offs_t offset)
|
||||
{
|
||||
int real_address = 0 + (offset *2);
|
||||
int real_address = 0 + (offset * 2);
|
||||
int deco146_addr = bitswap<32>(real_address, /* NC */31,30,29,28,27,26,25,24,23,22,21,20,19,18, 13,12,11,/**/ 17,16,15,14, 10,9,8, 7,6,5,4, 3,2,1,0) & 0x7fff;
|
||||
uint8_t cs = 0;
|
||||
uint16_t data = m_ioprot->read_data( deco146_addr, cs );
|
||||
u8 cs = 0;
|
||||
const u16 data = m_ioprot->read_data(deco146_addr, cs);
|
||||
return data;
|
||||
}
|
||||
|
||||
WRITE16_MEMBER( rohga_state::ioprot_w )
|
||||
void rohga_state::ioprot_w(offs_t offset, u16 data, u16 mem_mask)
|
||||
{
|
||||
int real_address = 0 + (offset *2);
|
||||
int real_address = 0 + (offset * 2);
|
||||
int deco146_addr = bitswap<32>(real_address, /* NC */31,30,29,28,27,26,25,24,23,22,21,20,19,18, 13,12,11,/**/ 17,16,15,14, 10,9,8, 7,6,5,4, 3,2,1,0) & 0x7fff;
|
||||
uint8_t cs = 0;
|
||||
m_ioprot->write_data( deco146_addr, data, mem_mask, cs );
|
||||
u8 cs = 0;
|
||||
m_ioprot->write_data(deco146_addr, data, mem_mask, cs);
|
||||
}
|
||||
|
||||
|
||||
@ -175,7 +175,7 @@ void rohga_state::rohga_map(address_map &map)
|
||||
map(0x31000a, 0x31000b).w(m_decocomn, FUNC(decocomn_device::palette_dma_w)); /* Write 1111 for dma? (Or any value?) */
|
||||
map(0x320000, 0x320001).nopw(); /* ? */
|
||||
map(0x322000, 0x322001).w(m_decocomn, FUNC(decocomn_device::priority_w));
|
||||
map(0x321100, 0x321101).r(FUNC(rohga_state::rohga_irq_ack_r)); /* Irq ack? Value not used */
|
||||
map(0x321100, 0x321101).r(FUNC(rohga_state::irq_ack_r)); /* Irq ack? Value not used */
|
||||
|
||||
map(0x3c0000, 0x3c1fff).rw("tilegen1", FUNC(deco16ic_device::pf1_data_r), FUNC(deco16ic_device::pf1_data_w));
|
||||
map(0x3c2000, 0x3c2fff).rw("tilegen1", FUNC(deco16ic_device::pf2_data_r), FUNC(deco16ic_device::pf2_data_w));
|
||||
@ -211,7 +211,7 @@ void rohga_state::wizdfire_map(address_map &map)
|
||||
|
||||
map(0x320000, 0x320001).w(m_decocomn, FUNC(decocomn_device::priority_w)); /* Priority */
|
||||
map(0x320002, 0x320003).nopw(); /* ? */
|
||||
map(0x320004, 0x320005).w(FUNC(rohga_state::wizdfire_irq_ack_w)); /* VBL IRQ ack */
|
||||
map(0x320004, 0x320005).w(FUNC(rohga_state::irq_ack_w)); /* VBL IRQ ack */
|
||||
|
||||
map(0x340000, 0x3407ff).ram().share("spriteram1");
|
||||
map(0x350000, 0x350001).w("spriteram1", FUNC(buffered_spriteram16_device::write)); /* Triggers DMA for spriteram */
|
||||
@ -246,7 +246,7 @@ void rohga_state::nitrobal_map(address_map &map)
|
||||
|
||||
map(0x320000, 0x320001).portr("DSW3").w(m_decocomn, FUNC(decocomn_device::priority_w)); /* Priority */
|
||||
map(0x320002, 0x320003).nopw(); /* ? */
|
||||
map(0x320004, 0x320005).w(FUNC(rohga_state::wizdfire_irq_ack_w)); /* VBL IRQ ack */
|
||||
map(0x320004, 0x320005).w(FUNC(rohga_state::irq_ack_w)); /* VBL IRQ ack */
|
||||
|
||||
map(0x340000, 0x3407ff).ram().share("spriteram1");
|
||||
map(0x350000, 0x350001).w("spriteram1", FUNC(buffered_spriteram16_device::write)); /* Triggers DMA for spriteram */
|
||||
@ -277,7 +277,7 @@ void rohga_state::hotb_base_map(address_map &map)
|
||||
map(0x31000a, 0x31000b).w(m_decocomn, FUNC(decocomn_device::palette_dma_w)); /* Write 1111 for dma? (Or any value?) */
|
||||
map(0x320000, 0x320001).nopw(); /* bit 4: cleared on irq routine start, set on end */
|
||||
map(0x322000, 0x322001).w(m_decocomn, FUNC(decocomn_device::priority_w));
|
||||
map(0x321100, 0x321101).w(FUNC(rohga_state::wizdfire_irq_ack_w)); /* Irq ack? Value not used */
|
||||
map(0x321100, 0x321101).w(FUNC(rohga_state::irq_ack_w)); /* Irq ack? Value not used */
|
||||
|
||||
map(0x3c0000, 0x3c1fff).rw("tilegen1", FUNC(deco16ic_device::pf1_data_r), FUNC(deco16ic_device::pf1_data_w));
|
||||
map(0x3c2000, 0x3c2fff).rw("tilegen1", FUNC(deco16ic_device::pf2_data_r), FUNC(deco16ic_device::pf2_data_w));
|
||||
@ -775,23 +775,12 @@ static const gfx_layout charlayout =
|
||||
8*8*2 /* every char takes 16 consecutive bytes */
|
||||
};
|
||||
|
||||
static const gfx_layout spritelayout =
|
||||
static const gfx_layout tilelayout_6bpp =
|
||||
{
|
||||
16,16,
|
||||
RGN_FRAC(1,1),
|
||||
4,
|
||||
{ 16, 0, 24, 8 },
|
||||
{ STEP8(16*8*4,1), STEP8(0,1) },
|
||||
{ STEP16(0,8*4) },
|
||||
16*16*4
|
||||
};
|
||||
|
||||
static const gfx_layout spritelayout_6bpp =
|
||||
{
|
||||
16,16,
|
||||
4096*8,
|
||||
RGN_FRAC(1,3),
|
||||
6,
|
||||
{ 0x400000*8+8, 0x400000*8, 0x200000*8+8, 0x200000*8, 8, 0 },
|
||||
{ RGN_FRAC(2,3)+8, RGN_FRAC(2,3), RGN_FRAC(1,3)+8, RGN_FRAC(1,3), 8, 0 },
|
||||
{ STEP8(16*8*2,1), STEP8(0,1) },
|
||||
{ STEP16(0,8*2) },
|
||||
16*16*2
|
||||
@ -809,30 +798,30 @@ static const gfx_layout tilelayout =
|
||||
};
|
||||
|
||||
static GFXDECODE_START( gfx_rohga )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 32 ) /* Characters 8x8 */
|
||||
GFXDECODE_ENTRY( "gfx2", 0, tilelayout, 0, 32 ) /* Tiles 16x16 */
|
||||
GFXDECODE_ENTRY( "gfx3", 0, tilelayout, 512, 32 ) /* Tiles 16x16 */
|
||||
GFXDECODE_ENTRY( "gfx4", 0, spritelayout_6bpp,1024, 16 ) /* Sprites 16x16 */
|
||||
GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 32 ) /* Characters 8x8 */
|
||||
GFXDECODE_ENTRY( "gfx2", 0, tilelayout, 0, 32 ) /* Tiles 16x16 */
|
||||
GFXDECODE_ENTRY( "gfx3", 0, tilelayout, 512, 32 ) /* Tiles 16x16 */
|
||||
GFXDECODE_ENTRY( "gfx4", 0, tilelayout_6bpp, 1024, 16 ) /* Sprites 16x16 */
|
||||
GFXDECODE_END
|
||||
|
||||
static GFXDECODE_START( gfx_wizdfire )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 32 ) /* Gfx chip 1 as 8x8 */
|
||||
GFXDECODE_ENTRY( "gfx2", 0, tilelayout, 0, 32 ) /* Gfx chip 1 as 16x16 */
|
||||
GFXDECODE_ENTRY( "gfx3", 0, tilelayout, 512, 32 ) /* Gfx chip 2 as 16x16 */
|
||||
GFXDECODE_ENTRY( "gfx4", 0, spritelayout, 0/*1024*/, 128 ) /* Sprites 16x16 */
|
||||
GFXDECODE_ENTRY( "gfx5", 0, spritelayout, 0/*1536*/, 128 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 32 ) /* Gfx chip 1 as 8x8 */
|
||||
GFXDECODE_ENTRY( "gfx2", 0, tilelayout, 0, 32 ) /* Gfx chip 1 as 16x16 */
|
||||
GFXDECODE_ENTRY( "gfx3", 0, tilelayout, 512, 32 ) /* Gfx chip 2 as 16x16 */
|
||||
GFXDECODE_ENTRY( "gfx4", 0, tilelayout, 0/*1024*/, 128 ) /* Sprites 16x16 */
|
||||
GFXDECODE_ENTRY( "gfx5", 0, tilelayout, 0/*1536*/, 128 )
|
||||
GFXDECODE_END
|
||||
|
||||
static GFXDECODE_START( gfx_schmeisr )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 32 ) /* Characters 8x8 */
|
||||
GFXDECODE_ENTRY( "gfx2", 0, tilelayout, 0, 32 ) /* Tiles 16x16 */
|
||||
GFXDECODE_ENTRY( "gfx3", 0, tilelayout, 512, 32 ) /* Tiles 16x16 */
|
||||
GFXDECODE_ENTRY( "gfx4", 0, spritelayout, 1024, 64 ) /* Sprites 16x16 */
|
||||
GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 32 ) /* Characters 8x8 */
|
||||
GFXDECODE_ENTRY( "gfx2", 0, tilelayout, 0, 32 ) /* Tiles 16x16 */
|
||||
GFXDECODE_ENTRY( "gfx3", 0, tilelayout, 512, 32 ) /* Tiles 16x16 */
|
||||
GFXDECODE_ENTRY( "gfx4", 0, tilelayout, 1024, 64 ) /* Sprites 16x16 */
|
||||
GFXDECODE_END
|
||||
|
||||
/**********************************************************************************/
|
||||
|
||||
WRITE8_MEMBER(rohga_state::sound_bankswitch_w)
|
||||
void rohga_state::sound_bankswitch_w(u8 data)
|
||||
{
|
||||
m_oki[0]->set_rom_bank(BIT(data, 0));
|
||||
m_oki[1]->set_rom_bank(BIT(data, 1));
|
||||
@ -865,7 +854,7 @@ DECOSPR_COLOUR_CB_MEMBER(rohga_state::rohga_col_callback)
|
||||
|
||||
DECOSPR_COLOUR_CB_MEMBER(rohga_state::schmeisr_col_callback)
|
||||
{
|
||||
uint16_t colour = ((col >> 9) & 0xf) << 2;
|
||||
u16 colour = ((col >> 9) & 0xf) << 2;
|
||||
if (col & 0x8000)
|
||||
colour++;
|
||||
|
||||
@ -1548,14 +1537,14 @@ ROM_START( wizdfire )
|
||||
ROM_LOAD( "mas03", 0x080000, 0x080000, CRC(2fe61ea2) SHA1(0909e6c689c3e10225d7c074bd654ff2ada96983) )
|
||||
|
||||
ROM_REGION( 0x400000, "gfx4", 0 )
|
||||
ROM_LOAD16_BYTE( "mas04", 0x000001, 0x100000, CRC(1e56953b) SHA1(0655ac7f3c5030a80c2d6bad5c3a79b2cb1ae4a2) ) /* Sprites #1 */
|
||||
ROM_LOAD16_BYTE( "mas05", 0x000000, 0x100000, CRC(3826b8f8) SHA1(d59197b4e0525b86876f9cce6fbf80caba976851) )
|
||||
ROM_LOAD16_BYTE( "mas06", 0x200001, 0x100000, CRC(3b8bbd45) SHA1(c9f9d4daf9c0cba5385af26f3762b29c291ff62b) )
|
||||
ROM_LOAD16_BYTE( "mas07", 0x200000, 0x100000, CRC(31303769) SHA1(509604be06ec8e0c1b56a81a8ffccdf0f79e9fd7) )
|
||||
ROM_LOAD( "mas04", 0x000000, 0x100000, CRC(1e56953b) SHA1(0655ac7f3c5030a80c2d6bad5c3a79b2cb1ae4a2) ) /* Sprites #1 */
|
||||
ROM_LOAD( "mas05", 0x200000, 0x100000, CRC(3826b8f8) SHA1(d59197b4e0525b86876f9cce6fbf80caba976851) )
|
||||
ROM_LOAD( "mas06", 0x100000, 0x100000, CRC(3b8bbd45) SHA1(c9f9d4daf9c0cba5385af26f3762b29c291ff62b) )
|
||||
ROM_LOAD( "mas07", 0x300000, 0x100000, CRC(31303769) SHA1(509604be06ec8e0c1b56a81a8ffccdf0f79e9fd7) )
|
||||
|
||||
ROM_REGION( 0x100000, "gfx5", 0 )
|
||||
ROM_LOAD16_BYTE( "mas08", 0x000001, 0x080000, CRC(e224fb7a) SHA1(9aa92fb98bddff313db2077c4db102e94c7af09b) ) /* Sprites #2 */
|
||||
ROM_LOAD16_BYTE( "mas09", 0x000000, 0x080000, CRC(5f6deb41) SHA1(850d0e157b4355e866ec770a2012293b2c55648f) )
|
||||
ROM_LOAD( "mas08", 0x000000, 0x080000, CRC(e224fb7a) SHA1(9aa92fb98bddff313db2077c4db102e94c7af09b) ) /* Sprites #2 */
|
||||
ROM_LOAD( "mas09", 0x080000, 0x080000, CRC(5f6deb41) SHA1(850d0e157b4355e866ec770a2012293b2c55648f) )
|
||||
|
||||
ROM_REGION(0x100000, "oki1", 0 ) /* Oki samples */
|
||||
ROM_LOAD( "mas10", 0x80000, 0x80000, CRC(f4b4c8a1) SHA1(c9e80c55e42a78e358b6b14dadc3be7b28bd5d62) )
|
||||
@ -1593,14 +1582,14 @@ ROM_START( wizdfireu )
|
||||
ROM_LOAD( "mas03", 0x080000, 0x080000, CRC(2fe61ea2) SHA1(0909e6c689c3e10225d7c074bd654ff2ada96983) )
|
||||
|
||||
ROM_REGION( 0x400000, "gfx4", 0 )
|
||||
ROM_LOAD16_BYTE( "mas04", 0x000001, 0x100000, CRC(1e56953b) SHA1(0655ac7f3c5030a80c2d6bad5c3a79b2cb1ae4a2) ) /* Sprites #1 */
|
||||
ROM_LOAD16_BYTE( "mas05", 0x000000, 0x100000, CRC(3826b8f8) SHA1(d59197b4e0525b86876f9cce6fbf80caba976851) )
|
||||
ROM_LOAD16_BYTE( "mas06", 0x200001, 0x100000, CRC(3b8bbd45) SHA1(c9f9d4daf9c0cba5385af26f3762b29c291ff62b) )
|
||||
ROM_LOAD16_BYTE( "mas07", 0x200000, 0x100000, CRC(31303769) SHA1(509604be06ec8e0c1b56a81a8ffccdf0f79e9fd7) )
|
||||
ROM_LOAD( "mas04", 0x000000, 0x100000, CRC(1e56953b) SHA1(0655ac7f3c5030a80c2d6bad5c3a79b2cb1ae4a2) ) /* Sprites #1 */
|
||||
ROM_LOAD( "mas05", 0x200000, 0x100000, CRC(3826b8f8) SHA1(d59197b4e0525b86876f9cce6fbf80caba976851) )
|
||||
ROM_LOAD( "mas06", 0x100000, 0x100000, CRC(3b8bbd45) SHA1(c9f9d4daf9c0cba5385af26f3762b29c291ff62b) )
|
||||
ROM_LOAD( "mas07", 0x300000, 0x100000, CRC(31303769) SHA1(509604be06ec8e0c1b56a81a8ffccdf0f79e9fd7) )
|
||||
|
||||
ROM_REGION( 0x100000, "gfx5", 0 )
|
||||
ROM_LOAD16_BYTE( "mas08", 0x000001, 0x080000, CRC(e224fb7a) SHA1(9aa92fb98bddff313db2077c4db102e94c7af09b) ) /* Sprites #2 */
|
||||
ROM_LOAD16_BYTE( "mas09", 0x000000, 0x080000, CRC(5f6deb41) SHA1(850d0e157b4355e866ec770a2012293b2c55648f) )
|
||||
ROM_LOAD( "mas08", 0x000000, 0x080000, CRC(e224fb7a) SHA1(9aa92fb98bddff313db2077c4db102e94c7af09b) ) /* Sprites #2 */
|
||||
ROM_LOAD( "mas09", 0x080000, 0x080000, CRC(5f6deb41) SHA1(850d0e157b4355e866ec770a2012293b2c55648f) )
|
||||
|
||||
ROM_REGION(0x100000, "oki1", 0 ) /* Oki samples */
|
||||
ROM_LOAD( "mas10", 0x80000, 0x80000, CRC(f4b4c8a1) SHA1(c9e80c55e42a78e358b6b14dadc3be7b28bd5d62) )
|
||||
@ -1638,14 +1627,14 @@ ROM_START( darkseal2 )
|
||||
ROM_LOAD( "mas03", 0x080000, 0x080000, CRC(2fe61ea2) SHA1(0909e6c689c3e10225d7c074bd654ff2ada96983) )
|
||||
|
||||
ROM_REGION( 0x400000, "gfx4", 0 )
|
||||
ROM_LOAD16_BYTE( "mas04", 0x000001, 0x100000, CRC(1e56953b) SHA1(0655ac7f3c5030a80c2d6bad5c3a79b2cb1ae4a2) ) /* Sprites #1 */
|
||||
ROM_LOAD16_BYTE( "mas05", 0x000000, 0x100000, CRC(3826b8f8) SHA1(d59197b4e0525b86876f9cce6fbf80caba976851) )
|
||||
ROM_LOAD16_BYTE( "mas06", 0x200001, 0x100000, CRC(3b8bbd45) SHA1(c9f9d4daf9c0cba5385af26f3762b29c291ff62b) )
|
||||
ROM_LOAD16_BYTE( "mas07", 0x200000, 0x100000, CRC(31303769) SHA1(509604be06ec8e0c1b56a81a8ffccdf0f79e9fd7) )
|
||||
ROM_LOAD( "mas04", 0x000000, 0x100000, CRC(1e56953b) SHA1(0655ac7f3c5030a80c2d6bad5c3a79b2cb1ae4a2) ) /* Sprites #1 */
|
||||
ROM_LOAD( "mas05", 0x200000, 0x100000, CRC(3826b8f8) SHA1(d59197b4e0525b86876f9cce6fbf80caba976851) )
|
||||
ROM_LOAD( "mas06", 0x100000, 0x100000, CRC(3b8bbd45) SHA1(c9f9d4daf9c0cba5385af26f3762b29c291ff62b) )
|
||||
ROM_LOAD( "mas07", 0x300000, 0x100000, CRC(31303769) SHA1(509604be06ec8e0c1b56a81a8ffccdf0f79e9fd7) )
|
||||
|
||||
ROM_REGION( 0x100000, "gfx5", 0 )
|
||||
ROM_LOAD16_BYTE( "mas08", 0x000001, 0x080000, CRC(e224fb7a) SHA1(9aa92fb98bddff313db2077c4db102e94c7af09b) ) /* Sprites #2 */
|
||||
ROM_LOAD16_BYTE( "mas09", 0x000000, 0x080000, CRC(5f6deb41) SHA1(850d0e157b4355e866ec770a2012293b2c55648f) )
|
||||
ROM_LOAD( "mas08", 0x000000, 0x080000, CRC(e224fb7a) SHA1(9aa92fb98bddff313db2077c4db102e94c7af09b) ) /* Sprites #2 */
|
||||
ROM_LOAD( "mas09", 0x080000, 0x080000, CRC(5f6deb41) SHA1(850d0e157b4355e866ec770a2012293b2c55648f) )
|
||||
|
||||
ROM_REGION(0x100000, "oki1", 0 ) /* Oki samples */
|
||||
ROM_LOAD( "mas10", 0x00000, 0x100000, CRC(f4b4c8a1) SHA1(c9e80c55e42a78e358b6b14dadc3be7b28bd5d62) )
|
||||
@ -1684,14 +1673,14 @@ ROM_START( nitrobal )
|
||||
ROM_LOAD( "mav03.e16", 0x100000, 0x100000, CRC(ef6195f0) SHA1(491bc030519c78b84396f7f8a21df9daf8acc140) )
|
||||
|
||||
ROM_REGION( 0x300000, "gfx4", 0 )
|
||||
ROM_LOAD16_BYTE( "mav05.e19", 0x000000, 0x100000, CRC(d92d769c) SHA1(8012e7f2b9a7cbccde8da90025647443beb6c47c) ) /* Sprites #1 */
|
||||
ROM_LOAD16_BYTE( "mav04.b19", 0x000001, 0x100000, CRC(8ba48385) SHA1(926ae1e0e99b8e022b6798ceb29dd080cfc1bada) )
|
||||
ROM_LOAD16_BYTE( "mav07.e20", 0x200000, 0x080000, CRC(5fc10ccd) SHA1(7debcf223802d5c2ea3d29d39850c8756c863b31) )
|
||||
ROM_LOAD16_BYTE( "mav06.b20", 0x200001, 0x080000, CRC(ae6201a5) SHA1(c0ae87fa96d12377c5522cb8adfed03373ab3757) )
|
||||
ROM_LOAD( "mav04.b19", 0x000000, 0x100000, CRC(8ba48385) SHA1(926ae1e0e99b8e022b6798ceb29dd080cfc1bada) ) /* Sprites #1 */
|
||||
ROM_LOAD( "mav05.e19", 0x180000, 0x100000, CRC(d92d769c) SHA1(8012e7f2b9a7cbccde8da90025647443beb6c47c) )
|
||||
ROM_LOAD( "mav06.b20", 0x100000, 0x080000, CRC(ae6201a5) SHA1(c0ae87fa96d12377c5522cb8adfed03373ab3757) )
|
||||
ROM_LOAD( "mav07.e20", 0x280000, 0x080000, CRC(5fc10ccd) SHA1(7debcf223802d5c2ea3d29d39850c8756c863b31) )
|
||||
|
||||
ROM_REGION( 0x80000, "gfx5", 0 )
|
||||
ROM_LOAD16_BYTE( "mav09.e23", 0x000000, 0x040000, CRC(1ce7b51a) SHA1(17ed8f34bf6d057e0504e72e95f448d5923aa82e) ) /* Sprites #2 */
|
||||
ROM_LOAD16_BYTE( "mav08.b23", 0x000001, 0x040000, CRC(64966576) SHA1(40c14c0f62eef0317abfb7192505e0337fb5cde5) )
|
||||
ROM_LOAD( "mav08.b23", 0x000000, 0x040000, CRC(64966576) SHA1(40c14c0f62eef0317abfb7192505e0337fb5cde5) ) /* Sprites #2 */
|
||||
ROM_LOAD( "mav09.e23", 0x040000, 0x040000, CRC(1ce7b51a) SHA1(17ed8f34bf6d057e0504e72e95f448d5923aa82e) )
|
||||
|
||||
ROM_REGION(0x80000, "oki1", 0 ) /* Oki samples */
|
||||
ROM_LOAD( "mav10.r17", 0x00000, 0x80000, CRC(8ad734b0) SHA1(768b9f54bbf4b54591cafecb7a27960da919ce84) )
|
||||
@ -1729,14 +1718,14 @@ ROM_START( nitrobala )
|
||||
ROM_LOAD( "mav03.e16", 0x100000, 0x100000, CRC(ef6195f0) SHA1(491bc030519c78b84396f7f8a21df9daf8acc140) )
|
||||
|
||||
ROM_REGION( 0x300000, "gfx4", 0 )
|
||||
ROM_LOAD16_BYTE( "mav05.e19", 0x000000, 0x100000, CRC(d92d769c) SHA1(8012e7f2b9a7cbccde8da90025647443beb6c47c) ) /* Sprites #1 */
|
||||
ROM_LOAD16_BYTE( "mav04.b19", 0x000001, 0x100000, CRC(8ba48385) SHA1(926ae1e0e99b8e022b6798ceb29dd080cfc1bada) )
|
||||
ROM_LOAD16_BYTE( "mav07.e20", 0x200000, 0x080000, CRC(5fc10ccd) SHA1(7debcf223802d5c2ea3d29d39850c8756c863b31) )
|
||||
ROM_LOAD16_BYTE( "mav06.b20", 0x200001, 0x080000, CRC(ae6201a5) SHA1(c0ae87fa96d12377c5522cb8adfed03373ab3757) )
|
||||
ROM_LOAD( "mav04.b19", 0x000000, 0x100000, CRC(8ba48385) SHA1(926ae1e0e99b8e022b6798ceb29dd080cfc1bada) ) /* Sprites #1 */
|
||||
ROM_LOAD( "mav05.e19", 0x180000, 0x100000, CRC(d92d769c) SHA1(8012e7f2b9a7cbccde8da90025647443beb6c47c) )
|
||||
ROM_LOAD( "mav06.b20", 0x100000, 0x080000, CRC(ae6201a5) SHA1(c0ae87fa96d12377c5522cb8adfed03373ab3757) )
|
||||
ROM_LOAD( "mav07.e20", 0x280000, 0x080000, CRC(5fc10ccd) SHA1(7debcf223802d5c2ea3d29d39850c8756c863b31) )
|
||||
|
||||
ROM_REGION( 0x80000, "gfx5", 0 )
|
||||
ROM_LOAD16_BYTE( "mav09.e23", 0x000000, 0x040000, CRC(1ce7b51a) SHA1(17ed8f34bf6d057e0504e72e95f448d5923aa82e) ) /* Sprites #2 */
|
||||
ROM_LOAD16_BYTE( "mav08.b23", 0x000001, 0x040000, CRC(64966576) SHA1(40c14c0f62eef0317abfb7192505e0337fb5cde5) )
|
||||
ROM_LOAD( "mav08.b23", 0x000000, 0x040000, CRC(64966576) SHA1(40c14c0f62eef0317abfb7192505e0337fb5cde5) ) /* Sprites #2 */
|
||||
ROM_LOAD( "mav09.e23", 0x040000, 0x040000, CRC(1ce7b51a) SHA1(17ed8f34bf6d057e0504e72e95f448d5923aa82e) )
|
||||
|
||||
ROM_REGION(0x80000, "oki1", 0 ) /* Oki samples */
|
||||
ROM_LOAD( "mav10.r17", 0x00000, 0x80000, CRC(8ad734b0) SHA1(768b9f54bbf4b54591cafecb7a27960da919ce84) )
|
||||
@ -1774,14 +1763,14 @@ ROM_START( gunball )
|
||||
ROM_LOAD( "mav03.e16", 0x100000, 0x100000, CRC(ef6195f0) SHA1(491bc030519c78b84396f7f8a21df9daf8acc140) )
|
||||
|
||||
ROM_REGION( 0x300000, "gfx4", 0 )
|
||||
ROM_LOAD16_BYTE( "mav05.e19", 0x000000, 0x100000, CRC(d92d769c) SHA1(8012e7f2b9a7cbccde8da90025647443beb6c47c) ) /* Sprites #1 */
|
||||
ROM_LOAD16_BYTE( "mav04.b19", 0x000001, 0x100000, CRC(8ba48385) SHA1(926ae1e0e99b8e022b6798ceb29dd080cfc1bada) )
|
||||
ROM_LOAD16_BYTE( "mav07.e20", 0x200000, 0x080000, CRC(5fc10ccd) SHA1(7debcf223802d5c2ea3d29d39850c8756c863b31) )
|
||||
ROM_LOAD16_BYTE( "mav06.b20", 0x200001, 0x080000, CRC(ae6201a5) SHA1(c0ae87fa96d12377c5522cb8adfed03373ab3757) )
|
||||
ROM_LOAD( "mav04.b19", 0x000000, 0x100000, CRC(8ba48385) SHA1(926ae1e0e99b8e022b6798ceb29dd080cfc1bada) ) /* Sprites #1 */
|
||||
ROM_LOAD( "mav05.e19", 0x180000, 0x100000, CRC(d92d769c) SHA1(8012e7f2b9a7cbccde8da90025647443beb6c47c) )
|
||||
ROM_LOAD( "mav06.b20", 0x100000, 0x080000, CRC(ae6201a5) SHA1(c0ae87fa96d12377c5522cb8adfed03373ab3757) )
|
||||
ROM_LOAD( "mav07.e20", 0x280000, 0x080000, CRC(5fc10ccd) SHA1(7debcf223802d5c2ea3d29d39850c8756c863b31) )
|
||||
|
||||
ROM_REGION( 0x80000, "gfx5", 0 )
|
||||
ROM_LOAD16_BYTE( "mav09.e23", 0x000000, 0x040000, CRC(1ce7b51a) SHA1(17ed8f34bf6d057e0504e72e95f448d5923aa82e) ) /* Sprites #2 */
|
||||
ROM_LOAD16_BYTE( "mav08.b23", 0x000001, 0x040000, CRC(64966576) SHA1(40c14c0f62eef0317abfb7192505e0337fb5cde5) )
|
||||
ROM_LOAD( "mav08.b23", 0x000000, 0x040000, CRC(64966576) SHA1(40c14c0f62eef0317abfb7192505e0337fb5cde5) ) /* Sprites #2 */
|
||||
ROM_LOAD( "mav09.e23", 0x040000, 0x040000, CRC(1ce7b51a) SHA1(17ed8f34bf6d057e0504e72e95f448d5923aa82e) )
|
||||
|
||||
ROM_REGION(0x80000, "oki1", 0 ) /* Oki samples */
|
||||
ROM_LOAD( "mav10.r17", 0x00000, 0x80000, CRC(8ad734b0) SHA1(768b9f54bbf4b54591cafecb7a27960da919ce84) )
|
||||
@ -1814,10 +1803,10 @@ ROM_START( schmeisr )
|
||||
ROM_LOAD( "sr008.18d", 0x100000, 0x100000, CRC(a74cbc90) SHA1(1aabfec7cd64e7097aa55f0ddc5a2c9e1e25618a) )
|
||||
|
||||
ROM_REGION( 0x400000, "gfx4", 0 )
|
||||
ROM_LOAD16_BYTE( "sr004.19a", 0x000001, 0x100000, CRC(e25434a1) SHA1(136ebb36e9b6caeac885423e8f365008ddcea778) )
|
||||
ROM_LOAD16_BYTE( "sr005.20a", 0x200001, 0x100000, CRC(1630033b) SHA1(e2a5fd7f8839db9d5b41d3cada598a6c07a97368) )
|
||||
ROM_LOAD16_BYTE( "sr009.19d", 0x000000, 0x100000, CRC(7b9d982f) SHA1(55d89ee68ceaf3ca8059177721b6c9a16103b1b4) )
|
||||
ROM_LOAD16_BYTE( "sr010.20d", 0x200000, 0x100000, CRC(6e9e5352) SHA1(357659ff5ab9ce94df3313e9a60125769c7fe10a) )
|
||||
ROM_LOAD( "sr004.19a", 0x000000, 0x100000, CRC(e25434a1) SHA1(136ebb36e9b6caeac885423e8f365008ddcea778) )
|
||||
ROM_LOAD( "sr005.20a", 0x100000, 0x100000, CRC(1630033b) SHA1(e2a5fd7f8839db9d5b41d3cada598a6c07a97368) )
|
||||
ROM_LOAD( "sr009.19d", 0x200000, 0x100000, CRC(7b9d982f) SHA1(55d89ee68ceaf3ca8059177721b6c9a16103b1b4) )
|
||||
ROM_LOAD( "sr010.20d", 0x300000, 0x100000, CRC(6e9e5352) SHA1(357659ff5ab9ce94df3313e9a60125769c7fe10a) )
|
||||
|
||||
ROM_REGION(0x80000, "oki2", 0 ) /* Oki samples */
|
||||
ROM_LOAD( "sr011.14p", 0x00000, 0x80000, CRC(81805616) SHA1(cdca2eb6d12924b9b578b4ce95d5816c7d82f345) )
|
||||
@ -1854,10 +1843,10 @@ ROM_START( hangzo ) /* Found on a Data East DE-0353-3 PCB */
|
||||
ROM_LOAD( "bk23h 12.10.18d.574200", 0x100000, 0x080000, CRC(6a725fb2) SHA1(f4da4da62eb7e3ec2f1a54b57eaf94dc748dec68) )
|
||||
|
||||
ROM_REGION( 0x400000, "gfx4", 0 )
|
||||
ROM_LOAD16_BYTE( "obj01l 12.10.19a.27c4000", 0x000001, 0x080000, CRC(c141e310) SHA1(81eb0b977aaf44a110a663416e385ca617de8f28) ) /* 4bpp sprites */
|
||||
ROM_LOAD16_BYTE( "obj01h 12.10.20a.27c4000", 0x200001, 0x080000, CRC(6a7b4252) SHA1(4bd588bc96c07cc9367afdeab4976af6f8dcc823) )
|
||||
ROM_LOAD16_BYTE( "obj23l 12.10.19d.27c4000", 0x000000, 0x080000, CRC(0db6df6c) SHA1(fe7ef7b5a279656d9e46334c4833ab8911caa5db) )
|
||||
ROM_LOAD16_BYTE( "obj23h 12.10.20d.27c4000", 0x200000, 0x080000, CRC(165031a1) SHA1(0e88fe45fd78d352fdbd398c1d98feefe1b43917) )
|
||||
ROM_LOAD( "obj01l 12.10.19a.27c4000", 0x000000, 0x080000, CRC(c141e310) SHA1(81eb0b977aaf44a110a663416e385ca617de8f28) ) /* 4bpp sprites */
|
||||
ROM_LOAD( "obj01h 12.10.20a.27c4000", 0x100000, 0x080000, CRC(6a7b4252) SHA1(4bd588bc96c07cc9367afdeab4976af6f8dcc823) )
|
||||
ROM_LOAD( "obj23l 12.10.19d.27c4000", 0x200000, 0x080000, CRC(0db6df6c) SHA1(fe7ef7b5a279656d9e46334c4833ab8911caa5db) )
|
||||
ROM_LOAD( "obj23h 12.10.20d.27c4000", 0x300000, 0x080000, CRC(165031a1) SHA1(0e88fe45fd78d352fdbd398c1d98feefe1b43917) )
|
||||
|
||||
ROM_REGION(0x80000, "oki2", 0 ) /* Oki samples */
|
||||
ROM_LOAD( "pcm16k 11.5.14p.574000", 0x00000, 0x80000, CRC(5b95c6c7) SHA1(587e7f87d085af3a5d24f317fffc1716c8027e43) )
|
||||
@ -1896,8 +1885,8 @@ void rohga_state::init_nitrobal()
|
||||
|
||||
void rohga_state::init_hangzo()
|
||||
{
|
||||
const uint8_t *src = memregion("gfx2")->base();
|
||||
uint8_t *dst = memregion("gfx1")->base();
|
||||
const u8 *src = memregion("gfx2")->base();
|
||||
u8 *dst = memregion("gfx1")->base();
|
||||
|
||||
std::copy(&src[0], &src[0x20000], &dst[0]);
|
||||
std::copy(&src[0x80000], &src[0xa0000], &dst[0x20000]);
|
||||
|
@ -56,30 +56,30 @@ private:
|
||||
optional_device_array<buffered_spriteram16_device, 2> m_spriteram;
|
||||
|
||||
/* memory pointers */
|
||||
optional_shared_ptr_array<uint16_t, 4> m_pf_rowscroll;
|
||||
optional_shared_ptr_array<u16, 4> m_pf_rowscroll;
|
||||
|
||||
optional_device_array<decospr_device, 2> m_sprgen;
|
||||
|
||||
required_device<palette_device> m_palette;
|
||||
|
||||
DECLARE_READ16_MEMBER(rohga_irq_ack_r);
|
||||
DECLARE_WRITE16_MEMBER(wizdfire_irq_ack_w);
|
||||
DECLARE_WRITE16_MEMBER(rohga_buffer_spriteram16_w);
|
||||
DECLARE_WRITE8_MEMBER(sound_bankswitch_w);
|
||||
u16 irq_ack_r();
|
||||
void irq_ack_w(u16 data);
|
||||
void rohga_buffer_spriteram16_w(u16 data);
|
||||
void sound_bankswitch_w(u8 data);
|
||||
|
||||
DECLARE_VIDEO_START(wizdfire);
|
||||
uint32_t screen_update_rohga(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
uint32_t screen_update_wizdfire(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
|
||||
uint32_t screen_update_nitrobal(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
|
||||
void mixwizdfirelayer(bitmap_rgb32 &bitmap, const rectangle &cliprect, uint16_t pri, uint16_t primask);
|
||||
u32 screen_update_rohga(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
u32 screen_update_wizdfire(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
|
||||
u32 screen_update_nitrobal(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
|
||||
void mixwizdfirelayer(bitmap_rgb32 &bitmap, const rectangle &cliprect, u16 pri, u16 primask);
|
||||
void mixnitroballlayer(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
|
||||
DECO16IC_BANK_CB_MEMBER(bank_callback);
|
||||
DECOSPR_PRIORITY_CB_MEMBER(rohga_pri_callback);
|
||||
DECOSPR_COLOUR_CB_MEMBER(rohga_col_callback);
|
||||
DECOSPR_COLOUR_CB_MEMBER(schmeisr_col_callback);
|
||||
|
||||
READ16_MEMBER( ioprot_r );
|
||||
WRITE16_MEMBER( ioprot_w );
|
||||
u16 ioprot_r(offs_t offset);
|
||||
void ioprot_w(offs_t offset, u16 data, u16 mem_mask = ~0);
|
||||
void hangzo_map(address_map &map);
|
||||
void hotb_base_map(address_map &map);
|
||||
void nitrobal_map(address_map &map);
|
||||
|
@ -11,7 +11,7 @@
|
||||
#include "screen.h"
|
||||
|
||||
|
||||
WRITE16_MEMBER(rohga_state::rohga_buffer_spriteram16_w)
|
||||
void rohga_state::rohga_buffer_spriteram16_w(u16 data)
|
||||
{
|
||||
// Spriteram seems to be triple buffered (no sprite lag on real pcb, but there
|
||||
// is on driver with only double buffering)
|
||||
@ -20,10 +20,10 @@ WRITE16_MEMBER(rohga_state::rohga_buffer_spriteram16_w)
|
||||
|
||||
/******************************************************************************/
|
||||
|
||||
uint32_t rohga_state::screen_update_rohga(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
u32 rohga_state::screen_update_rohga(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
uint16_t flip = m_deco_tilegen[0]->pf_control_r(0);
|
||||
uint16_t priority = m_decocomn->priority_r();
|
||||
const u16 flip = m_deco_tilegen[0]->pf_control_r(0);
|
||||
const u16 priority = m_decocomn->priority_r();
|
||||
|
||||
// sprites are flipped relative to tilemaps
|
||||
flip_screen_set(BIT(flip, 7));
|
||||
@ -80,55 +80,47 @@ VIDEO_START_MEMBER(rohga_state,wizdfire)
|
||||
}
|
||||
|
||||
// not amazingly efficient, called multiple times to pull a layer out of the sprite bitmaps, but keeps correct sprite<->sprite priorities
|
||||
void rohga_state::mixwizdfirelayer(bitmap_rgb32 &bitmap, const rectangle &cliprect, uint16_t pri, uint16_t primask)
|
||||
void rohga_state::mixwizdfirelayer(bitmap_rgb32 &bitmap, const rectangle &cliprect, u16 pri, u16 primask)
|
||||
{
|
||||
int y, x;
|
||||
const pen_t *paldata = m_palette->pens();
|
||||
bitmap_ind16* sprite_bitmap;
|
||||
int penbase;
|
||||
bitmap_ind16* sprite_bitmap = &m_sprgen[1]->get_sprite_temp_bitmap();
|
||||
const u16 penbase = 0x600;
|
||||
|
||||
sprite_bitmap = &m_sprgen[1]->get_sprite_temp_bitmap();
|
||||
penbase = 0x600;
|
||||
|
||||
uint16_t* srcline;
|
||||
uint32_t* dstline;
|
||||
|
||||
|
||||
for (y=cliprect.top();y<=cliprect.bottom();y++)
|
||||
for (int y = cliprect.top(); y <= cliprect.bottom(); y++)
|
||||
{
|
||||
srcline=&sprite_bitmap->pix16(y,0);
|
||||
dstline=&bitmap.pix32(y,0);
|
||||
const u16* srcline = &sprite_bitmap->pix16(y,0);
|
||||
u32* dstline = &bitmap.pix32(y,0);
|
||||
|
||||
for (x=cliprect.left();x<=cliprect.right();x++)
|
||||
for (int x = cliprect.left(); x <= cliprect.right(); x++)
|
||||
{
|
||||
uint16_t pix = srcline[x];
|
||||
const u16 pix = srcline[x];
|
||||
|
||||
if ((pix & primask) != pri)
|
||||
continue;
|
||||
|
||||
if (pix&0xf)
|
||||
if (pix & 0xf)
|
||||
{
|
||||
uint16_t pen = pix&0x1ff;
|
||||
u16 pen = pix & 0x1ff;
|
||||
|
||||
if (pen&0x100)
|
||||
if (pen & 0x100)
|
||||
{
|
||||
uint32_t base = dstline[x];
|
||||
pen &=0xff;
|
||||
dstline[x] = alpha_blend_r32(base, paldata[pen+penbase], 0x80);
|
||||
const u32 base = dstline[x];
|
||||
pen &= 0xff;
|
||||
dstline[x] = alpha_blend_r32(base, paldata[pen + penbase], 0x80);
|
||||
}
|
||||
else
|
||||
{
|
||||
dstline[x] = paldata[pen+penbase];
|
||||
dstline[x] = paldata[pen + penbase];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
uint32_t rohga_state::screen_update_wizdfire(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
|
||||
u32 rohga_state::screen_update_wizdfire(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
uint16_t flip = m_deco_tilegen[0]->pf_control_r(0);
|
||||
uint16_t priority = m_decocomn->priority_r();
|
||||
const u16 flip = m_deco_tilegen[0]->pf_control_r(0);
|
||||
const u16 priority = m_decocomn->priority_r();
|
||||
|
||||
// sprites are flipped relative to tilemaps
|
||||
flip_screen_set(BIT(flip, 7));
|
||||
@ -166,33 +158,25 @@ uint32_t rohga_state::screen_update_wizdfire(screen_device &screen, bitmap_rgb32
|
||||
|
||||
void rohga_state::mixnitroballlayer(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
int y, x;
|
||||
const pen_t *paldata = &m_palette->pen(0);
|
||||
bitmap_ind16 *sprite_bitmap1, *sprite_bitmap2;
|
||||
bitmap_ind8* priority_bitmap;
|
||||
const u16 priority = m_decocomn->priority_r();
|
||||
|
||||
uint16_t priority = m_decocomn->priority_r();
|
||||
bitmap_ind16 *sprite_bitmap1 = &m_sprgen[0]->get_sprite_temp_bitmap();
|
||||
bitmap_ind16 *sprite_bitmap2 = &m_sprgen[1]->get_sprite_temp_bitmap();
|
||||
bitmap_ind8* priority_bitmap = &screen.priority();
|
||||
|
||||
sprite_bitmap1 = &m_sprgen[0]->get_sprite_temp_bitmap();
|
||||
sprite_bitmap2 = &m_sprgen[1]->get_sprite_temp_bitmap();
|
||||
priority_bitmap = &screen.priority();
|
||||
|
||||
uint32_t* dstline;
|
||||
uint16_t *srcline1, *srcline2;
|
||||
uint8_t *srcpriline;
|
||||
|
||||
for (y=cliprect.top();y<=cliprect.bottom();y++)
|
||||
for (int y = cliprect.top(); y <= cliprect.bottom(); y++)
|
||||
{
|
||||
srcline1=&sprite_bitmap1->pix16(y,0);
|
||||
srcline2=&sprite_bitmap2->pix16(y,0);
|
||||
srcpriline=&priority_bitmap->pix8(y,0);
|
||||
const u16 *srcline1 = &sprite_bitmap1->pix16(y,0);
|
||||
const u16 *srcline2 = &sprite_bitmap2->pix16(y,0);
|
||||
const u8 *srcpriline = &priority_bitmap->pix8(y,0);
|
||||
|
||||
dstline=&bitmap.pix32(y,0);
|
||||
u32* dstline = &bitmap.pix32(y,0);
|
||||
|
||||
for (x=cliprect.left();x<=cliprect.right();x++)
|
||||
for (int x = cliprect.left(); x <= cliprect.right(); x++)
|
||||
{
|
||||
uint16_t pix1 = srcline1[x];
|
||||
uint16_t pix2 = srcline2[x];
|
||||
const u16 pix1 = srcline1[x];
|
||||
const u16 pix2 = srcline2[x];
|
||||
|
||||
/* Here we have
|
||||
pix1 - raw pixel / colour / priority data from first 1st chip
|
||||
@ -284,7 +268,7 @@ void rohga_state::mixnitroballlayer(screen_device &screen, bitmap_rgb32 &bitmap,
|
||||
break;
|
||||
}
|
||||
|
||||
uint8_t bgpri = srcpriline[x];
|
||||
const u8 bgpri = srcpriline[x];
|
||||
/* once we get here we have
|
||||
|
||||
pri1 - 0x001/0x002/0x004/0x008/0x010/0x020/0x040/0x080/0x100/0x200 (sprite chip 1 pixel priority relative to bg)
|
||||
@ -295,13 +279,13 @@ void rohga_state::mixnitroballlayer(screen_device &screen, bitmap_rgb32 &bitmap,
|
||||
pix2 - same as before ^^
|
||||
*/
|
||||
|
||||
int drawnpixe1 = 0;
|
||||
bool drawnpixe1 = false;
|
||||
if (pix1 & 0xf)
|
||||
{
|
||||
if (pri1 > bgpri)
|
||||
{
|
||||
dstline[x] = paldata[(pix1&0x1ff)+0x400];
|
||||
drawnpixe1 = 1;
|
||||
dstline[x] = paldata[(pix1 & 0x1ff) + 0x400];
|
||||
drawnpixe1 = true;
|
||||
}
|
||||
}
|
||||
|
||||
@ -313,12 +297,12 @@ void rohga_state::mixnitroballlayer(screen_device &screen, bitmap_rgb32 &bitmap,
|
||||
{
|
||||
if (pix2 & 0x100)
|
||||
{
|
||||
uint32_t base = dstline[x];
|
||||
dstline[x] = alpha_blend_r32(base, paldata[(pix2&0xff)+0x600], 0x80);
|
||||
const u32 base = dstline[x];
|
||||
dstline[x] = alpha_blend_r32(base, paldata[(pix2 & 0xff) + 0x600], 0x80);
|
||||
}
|
||||
else
|
||||
{
|
||||
dstline[x] = paldata[(pix2&0xff)+0x600];
|
||||
dstline[x] = paldata[(pix2 & 0xff) + 0x600];
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -327,10 +311,10 @@ void rohga_state::mixnitroballlayer(screen_device &screen, bitmap_rgb32 &bitmap,
|
||||
}
|
||||
}
|
||||
|
||||
uint32_t rohga_state::screen_update_nitrobal(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
|
||||
u32 rohga_state::screen_update_nitrobal(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
uint16_t flip = m_deco_tilegen[0]->pf_control_r(0);
|
||||
uint16_t priority = m_decocomn->priority_r();
|
||||
const u16 flip = m_deco_tilegen[0]->pf_control_r(0);
|
||||
const u16 priority = m_decocomn->priority_r();
|
||||
|
||||
flip_screen_set(BIT(flip, 7));
|
||||
m_sprgen[0]->set_flip_screen(BIT(flip, 7));
|
||||
|
Loading…
Reference in New Issue
Block a user