diff options
Diffstat (limited to 'src/mame/drivers/dooyong.cpp')
-rw-r--r-- | src/mame/drivers/dooyong.cpp | 56 |
1 files changed, 24 insertions, 32 deletions
diff --git a/src/mame/drivers/dooyong.cpp b/src/mame/drivers/dooyong.cpp index cf5b92ee7c4..d3545a18b82 100644 --- a/src/mame/drivers/dooyong.cpp +++ b/src/mame/drivers/dooyong.cpp @@ -57,7 +57,7 @@ because one of interrupt sources is _dead_ (timer never restarts). Music tempo and audio pitch depends on (unknown) YM clocks. Sound cpu runs currently at 8 MHz to avoid jerky music when there's (too) -many sfx scheduled. +many SFX scheduled. Currently there's some workaround implemented - both YM lines are OR-ed to allow nested (and in fact - delayed) interrupts. It's temporary solution @@ -65,7 +65,7 @@ until we find real PCB and verify clocks and trace int lines. Pollux: Many (all? at least pollux, primella and flying tiger) use some kind of -banked palette ram. Bit 1 at address 0xf008 controls banking (both palettes +banked palette RAM. Bit 1 at address 0xf008 controls banking (both palettes are almost identical, except for much darker BG layer colors). @@ -1497,11 +1497,10 @@ MACHINE_CONFIG_START(dooyong_z80_ym2203_state::lastday) MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 1*8, 31*8-1 ) MCFG_SCREEN_UPDATE_DRIVER(dooyong_z80_ym2203_state, screen_update_lastday) MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(m_spriteram, buffered_spriteram8_device, vblank_copy_rising)) - MCFG_SCREEN_PALETTE("palette") + MCFG_SCREEN_PALETTE(m_palette) - MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_lastday) - MCFG_PALETTE_ADD("palette", 1024) - MCFG_PALETTE_FORMAT(xxxxBBBBGGGGRRRR) + GFXDECODE(config, m_gfxdecode, m_palette, gfx_lastday); + PALETTE(config, m_palette).set_format(palette_device::xBGR_444, 1024); DOOYONG_ROM_TILEMAP(config, m_bg[0], m_gfxdecode, 2, "gfx5", 0x00000); DOOYONG_ROM_TILEMAP(config, m_fg[0], m_gfxdecode, 3, "gfx6", 0x00000); m_fg[0]->set_transparent_pen(15); @@ -1550,11 +1549,10 @@ MACHINE_CONFIG_START(dooyong_z80_ym2203_state::gulfstrm) MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 1*8, 31*8-1 ) MCFG_SCREEN_UPDATE_DRIVER(dooyong_z80_ym2203_state, screen_update_gulfstrm) MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(m_spriteram, buffered_spriteram8_device, vblank_copy_rising)) - MCFG_SCREEN_PALETTE("palette") + MCFG_SCREEN_PALETTE(m_palette) - MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_lastday) - MCFG_PALETTE_ADD("palette", 1024) - MCFG_PALETTE_FORMAT(xRRRRRGGGGGBBBBB) + GFXDECODE(config, m_gfxdecode, m_palette, gfx_lastday); + PALETTE(config, m_palette).set_format(palette_device::xRGB_555, 1024); DOOYONG_ROM_TILEMAP(config, m_bg[0], m_gfxdecode, 2, "gfx5", 0x00000); DOOYONG_ROM_TILEMAP(config, m_fg[0], m_gfxdecode, 3, "gfx6", 0x00000); m_fg[0]->set_transparent_pen(15); @@ -1588,11 +1586,10 @@ MACHINE_CONFIG_START(dooyong_z80_ym2203_state::pollux) MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 1*8, 31*8-1 ) MCFG_SCREEN_UPDATE_DRIVER(dooyong_z80_ym2203_state, screen_update_pollux) MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(m_spriteram, buffered_spriteram8_device, vblank_copy_rising)) - MCFG_SCREEN_PALETTE("palette") + MCFG_SCREEN_PALETTE(m_palette) - MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_lastday) - MCFG_PALETTE_ADD("palette", 1024*2) - MCFG_PALETTE_FORMAT(xRRRRRGGGGGBBBBB) + GFXDECODE(config, m_gfxdecode, m_palette, gfx_lastday); + PALETTE(config, m_palette).set_format(palette_device::xRGB_555, 1024*2); DOOYONG_ROM_TILEMAP(config, m_bg[0], m_gfxdecode, 2, "gfx5", 0x00000); DOOYONG_ROM_TILEMAP(config, m_fg[0], m_gfxdecode, 3, "gfx6", 0x00000); m_fg[0]->set_transparent_pen(15); @@ -1626,11 +1623,10 @@ MACHINE_CONFIG_START(dooyong_z80_state::bluehawk) MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 1*8, 31*8-1 ) MCFG_SCREEN_UPDATE_DRIVER(dooyong_z80_state, screen_update_bluehawk) MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(m_spriteram, buffered_spriteram8_device, vblank_copy_rising)) - MCFG_SCREEN_PALETTE("palette") + MCFG_SCREEN_PALETTE(m_palette) - MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_bluehawk) - MCFG_PALETTE_ADD("palette", 1024) - MCFG_PALETTE_FORMAT(xRRRRRGGGGGBBBBB) + GFXDECODE(config, m_gfxdecode, m_palette, gfx_bluehawk); + PALETTE(config, m_palette).set_format(palette_device::xRGB_555, 1024); DOOYONG_ROM_TILEMAP(config, m_bg[0], m_gfxdecode, 2, "gfx3", 0x3c000); DOOYONG_ROM_TILEMAP(config, m_fg[0], m_gfxdecode, 3, "gfx4", 0x3c000); m_fg[0]->set_transparent_pen(15); @@ -1666,11 +1662,10 @@ MACHINE_CONFIG_START(dooyong_z80_state::flytiger) MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 1*8, 31*8-1 ) MCFG_SCREEN_UPDATE_DRIVER(dooyong_z80_state, screen_update_flytiger) MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(m_spriteram, buffered_spriteram8_device, vblank_copy_rising)) - MCFG_SCREEN_PALETTE("palette") + MCFG_SCREEN_PALETTE(m_palette) - MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_flytiger) - MCFG_PALETTE_ADD("palette", 1024*2) - MCFG_PALETTE_FORMAT(xRRRRRGGGGGBBBBB) + GFXDECODE(config, m_gfxdecode, m_palette, gfx_flytiger); + PALETTE(config, m_palette).set_format(palette_device::xRGB_555, 1024*2); DOOYONG_ROM_TILEMAP(config, m_bg[0], m_gfxdecode, 2, "gfx3", 0x3c000); m_bg[0]->set_transparent_pen(15); DOOYONG_ROM_TILEMAP(config, m_fg[0], m_gfxdecode, 3, "gfx4", 0x3c000); @@ -1702,11 +1697,10 @@ MACHINE_CONFIG_START(dooyong_z80_state::primella) MCFG_SCREEN_SIZE(64*8, 32*8) MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 0*8, 32*8-1 ) MCFG_SCREEN_UPDATE_DRIVER(dooyong_z80_state, screen_update_primella) - MCFG_SCREEN_PALETTE("palette") + MCFG_SCREEN_PALETTE(m_palette) - MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_primella) - MCFG_PALETTE_ADD("palette", 1024) - MCFG_PALETTE_FORMAT(xRRRRRGGGGGBBBBB) + GFXDECODE(config, m_gfxdecode, m_palette, gfx_primella); + PALETTE(config, m_palette).set_format(palette_device::xRGB_555, 1024); DOOYONG_ROM_TILEMAP(config, m_bg[0], m_gfxdecode, 1, "gfx2", -0x4000); m_bg[0]->set_primella_code_bits(10); DOOYONG_ROM_TILEMAP(config, m_fg[0], m_gfxdecode, 2, "gfx3", -0x4000); @@ -1752,11 +1746,10 @@ MACHINE_CONFIG_START(rshark_state::dooyong_68k) MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 1*8, 31*8-1) MCFG_SCREEN_UPDATE_DRIVER(rshark_state, screen_update_rshark) MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(m_spriteram, buffered_spriteram16_device, vblank_copy_rising)) - MCFG_SCREEN_PALETTE("palette") + MCFG_SCREEN_PALETTE(m_palette) MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_rshark) - MCFG_PALETTE_ADD("palette", 2048) - MCFG_PALETTE_FORMAT(xRRRRRGGGGGBBBBB) + PALETTE(config, m_palette).set_format(palette_device::xRGB_555, 2048); RSHARK_ROM_TILEMAP(config, m_bg[0], m_gfxdecode, 4, "gfx5", 0x00000, "gfx6", 0x60000); RSHARK_ROM_TILEMAP(config, m_bg[1], m_gfxdecode, 3, "gfx4", 0x00000, "gfx6", 0x40000); @@ -1804,11 +1797,10 @@ MACHINE_CONFIG_START(popbingo_state::popbingo) MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 1*8, 31*8-1) MCFG_SCREEN_UPDATE_DRIVER(popbingo_state, screen_update_popbingo) MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(m_spriteram, buffered_spriteram16_device, vblank_copy_rising)) - MCFG_SCREEN_PALETTE("palette") + MCFG_SCREEN_PALETTE(m_palette) MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_popbingo) - MCFG_PALETTE_ADD("palette", 2048) - MCFG_PALETTE_FORMAT(xRRRRRGGGGGBBBBB) + PALETTE(config, m_palette).set_format(palette_device::xRGB_555, 2048); DOOYONG_ROM_TILEMAP(config, m_bg[0], m_gfxdecode, 1, "gfx2", 0x00000); m_bg[0]->set_primella_code_bits(11); |