Modernized the following konicdev.c devices (k056832, k054000, k053936, k051316, k051733). [Osso]

This commit is contained in:
Scott Stone 2013-07-09 15:49:50 +00:00
parent 998ca07752
commit 826fed71cd
79 changed files with 1580 additions and 1772 deletions

View File

@ -7,7 +7,6 @@
#include "emu.h"
#include "cpu/m6809/konami.h"
#include "cpu/z80/z80.h"
#include "video/konicdev.h"
#include "sound/2151intf.h"
#include "sound/upd7759.h"
#include "machine/nvram.h"
@ -35,9 +34,9 @@ READ8_MEMBER(_88games_state::bankedram_r)
else
{
if (m_zoomreadroms)
return k051316_rom_r(m_k051316, space, offset);
return m_k051316->rom_r(space, offset);
else
return k051316_r(m_k051316, space, offset);
return m_k051316->read(space, offset);
}
}
@ -46,7 +45,7 @@ WRITE8_MEMBER(_88games_state::bankedram_w)
if (m_videobank)
m_ram[offset] = data;
else
k051316_w(m_k051316, space, offset, data);
m_k051316->write(space, offset, data);
}
WRITE8_MEMBER(_88games_state::k88games_5f84_w)
@ -132,7 +131,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, _88games_state )
AM_RANGE(0x5f96, 0x5f96) AM_READ_PORT("IN2")
AM_RANGE(0x5f97, 0x5f97) AM_READ_PORT("DSW1")
AM_RANGE(0x5f9b, 0x5f9b) AM_READ_PORT("DSW2")
AM_RANGE(0x5fc0, 0x5fcf) AM_DEVWRITE_LEGACY("k051316", k051316_ctrl_w)
AM_RANGE(0x5fc0, 0x5fcf) AM_DEVWRITE("k051316", k051316_device, ctrl_w)
AM_RANGE(0x4000, 0x7fff) AM_READWRITE(k052109_051960_r, k052109_051960_w)
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END

View File

@ -14,7 +14,6 @@
#include "cpu/z80/z80.h"
#include "cpu/m6809/m6809.h"
#include "cpu/m6809/konami.h"
#include "video/konicdev.h"
#include "sound/2151intf.h"
#include "includes/ajax.h"
#include "includes/konamipt.h"
@ -36,9 +35,9 @@ static ADDRESS_MAP_START( ajax_main_map, AS_PROGRAM, 8, ajax_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( ajax_sub_map, AS_PROGRAM, 8, ajax_state )
AM_RANGE(0x0000, 0x07ff) AM_DEVREADWRITE_LEGACY("k051316", k051316_r, k051316_w) /* 051316 zoom/rotation layer */
AM_RANGE(0x0800, 0x080f) AM_DEVWRITE_LEGACY("k051316", k051316_ctrl_w) /* 051316 control registers */
AM_RANGE(0x1000, 0x17ff) AM_DEVREAD_LEGACY("k051316", k051316_rom_r) /* 051316 (ROM test) */
AM_RANGE(0x0000, 0x07ff) AM_DEVREADWRITE("k051316", k051316_device, read, write) /* 051316 zoom/rotation layer */
AM_RANGE(0x0800, 0x080f) AM_DEVWRITE("k051316", k051316_device, ctrl_w) /* 051316 control registers */
AM_RANGE(0x1000, 0x17ff) AM_DEVREAD("k051316", k051316_device, rom_r) /* 051316 (ROM test) */
AM_RANGE(0x1800, 0x1800) AM_WRITE(ajax_bankswitch_2_w) /* bankswitch control */
AM_RANGE(0x2000, 0x3fff) AM_RAM AM_SHARE("share1") /* shared RAM with the 052001 */
AM_RANGE(0x4000, 0x7fff) AM_DEVREADWRITE("k052109", k052109_device, read, write) /* video RAM + color RAM + video registers */

View File

@ -15,7 +15,6 @@ colour, including the word "Konami"
#include "machine/eeprom.h"
#include "sound/2151intf.h"
#include "sound/k053260.h"
#include "video/konicdev.h"
#include "includes/konamipt.h"
#include "includes/asterix.h"
@ -48,14 +47,14 @@ WRITE16_MEMBER(asterix_state::control2_w)
ioport("EEPROMOUT")->write(data, 0xff);
/* bit 5 is select tile bank */
k056832_set_tile_bank(m_k056832, (data & 0x20) >> 5);
m_k056832->set_tile_bank((data & 0x20) >> 5);
}
}
INTERRUPT_GEN_MEMBER(asterix_state::asterix_interrupt)
{
// global interrupt masking
if (!k056832_is_irq_enabled(m_k056832, 0))
if (!m_k056832->is_irq_enabled(0))
return;
device.execute().set_input_line(5, HOLD_LINE); /* ??? All irqs have the same vector, and the mask used is 0 or 7 */
@ -186,11 +185,11 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, asterix_state )
AM_RANGE(0x380400, 0x380401) AM_WRITE(asterix_spritebank_w)
AM_RANGE(0x380500, 0x38051f) AM_DEVWRITE_LEGACY("k053251", k053251_lsb_w)
AM_RANGE(0x380600, 0x380601) AM_NOP // Watchdog
AM_RANGE(0x380700, 0x380707) AM_DEVWRITE_LEGACY("k056832", k056832_b_word_w)
AM_RANGE(0x380700, 0x380707) AM_DEVWRITE("k056832", k056832_device, b_word_w)
AM_RANGE(0x380800, 0x380803) AM_WRITE(protection_w)
AM_RANGE(0x400000, 0x400fff) AM_DEVREADWRITE_LEGACY("k056832", k056832_ram_half_word_r, k056832_ram_half_word_w)
AM_RANGE(0x420000, 0x421fff) AM_DEVREAD_LEGACY("k056832", k056832_old_rom_word_r) // Passthrough to tile roms
AM_RANGE(0x440000, 0x44003f) AM_DEVWRITE_LEGACY("k056832", k056832_word_w)
AM_RANGE(0x400000, 0x400fff) AM_DEVREADWRITE("k056832", k056832_device, ram_half_word_r, ram_half_word_w)
AM_RANGE(0x420000, 0x421fff) AM_DEVREAD("k056832", k056832_device, old_rom_word_r) // Passthrough to tile roms
AM_RANGE(0x440000, 0x44003f) AM_DEVWRITE("k056832", k056832_device, word_w)
ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, asterix_state )

View File

@ -84,7 +84,6 @@ Notes:
***************************************************************************/
#include "emu.h"
#include "video/konicdev.h"
#include "cpu/m68000/m68000.h"
#include "sound/ymz280b.h"
#include "includes/bishi.h"
@ -137,7 +136,7 @@ READ16_MEMBER(bishi_state::bishi_K056832_rom_r)
if (m_cur_control2 & 0x1000)
ouroffs += 4;
return k056832_bishi_rom_word_r(m_k056832, space, ouroffs, mem_mask);
return m_k056832->bishi_rom_word_r(space, ouroffs, mem_mask);
}
static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, bishi_state )
@ -149,12 +148,12 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, bishi_state )
AM_RANGE(0x800008, 0x800009) AM_READ_PORT("INPUTS")
AM_RANGE(0x810000, 0x810003) AM_WRITE(control2_w) // bank switch for K056832 character ROM test
AM_RANGE(0x820000, 0x820001) AM_WRITENOP // lamps (see lamp test in service menu)
AM_RANGE(0x830000, 0x83003f) AM_DEVWRITE_LEGACY("k056832", k056832_word_w)
AM_RANGE(0x840000, 0x840007) AM_DEVWRITE_LEGACY("k056832", k056832_b_word_w) // VSCCS
AM_RANGE(0x830000, 0x83003f) AM_DEVWRITE("k056832", k056832_device, word_w)
AM_RANGE(0x840000, 0x840007) AM_DEVWRITE("k056832", k056832_device, b_word_w) // VSCCS
AM_RANGE(0x850000, 0x85001f) AM_DEVWRITE_LEGACY("k054338", k054338_word_w) // CLTC
AM_RANGE(0x870000, 0x8700ff) AM_DEVWRITE_LEGACY("k055555", k055555_word_w) // PCU2
AM_RANGE(0x880000, 0x880003) AM_DEVREADWRITE8("ymz", ymz280b_device, read, write, 0xff00)
AM_RANGE(0xa00000, 0xa01fff) AM_DEVREADWRITE_LEGACY("k056832", k056832_ram_word_r, k056832_ram_word_w) // Graphic planes
AM_RANGE(0xa00000, 0xa01fff) AM_DEVREADWRITE("k056832", k056832_device, ram_word_r, ram_word_w) // Graphic planes
AM_RANGE(0xb00000, 0xb03fff) AM_RAM_WRITE(paletteram_xbgr_word_be_w) AM_SHARE("paletteram")
AM_RANGE(0xb04000, 0xb047ff) AM_READ(bishi_mirror_r) // bug in the ram/rom test?
AM_RANGE(0xc00000, 0xc01fff) AM_READ(bishi_K056832_rom_r)

View File

@ -129,7 +129,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, bladestl_state )
AM_RANGE(0x2ec0, 0x2ec0) AM_WRITE(watchdog_reset_w) /* watchdog reset */
AM_RANGE(0x2f00, 0x2f03) AM_READ(trackball_r) /* Trackballs */
AM_RANGE(0x2f40, 0x2f40) AM_WRITE(bladestl_bankswitch_w) /* bankswitch control */
AM_RANGE(0x2f80, 0x2f9f) AM_DEVREADWRITE_LEGACY("k051733", k051733_r, k051733_w) /* Protection: 051733 */
AM_RANGE(0x2f80, 0x2f9f) AM_DEVREADWRITE("k051733", k051733_device, read, write) /* Protection: 051733 */
AM_RANGE(0x2fc0, 0x2fc0) AM_WRITENOP /* ??? */
AM_RANGE(0x4000, 0x5fff) AM_RAM /* Work RAM */
AM_RANGE(0x6000, 0x7fff) AM_ROMBANK("bank1") /* banked ROM */

View File

@ -15,7 +15,6 @@
#include "emu.h"
#include "cpu/z80/z80.h"
#include "cpu/m6809/m6809.h"
#include "video/konicdev.h"
#include "includes/konamipt.h"
#include "includes/bottom9.h"
@ -57,9 +56,9 @@ READ8_MEMBER(bottom9_state::bottom9_bankedram1_r)
else
{
if (m_zoomreadroms)
return k051316_rom_r(m_k051316, space, offset);
return m_k051316->rom_r(space, offset);
else
return k051316_r(m_k051316, space, offset);
return m_k051316->read(space, offset);
}
}
@ -68,7 +67,7 @@ WRITE8_MEMBER(bottom9_state::bottom9_bankedram1_w)
if (m_k052109_selected)
k052109_051960_w(space, offset, data);
else
k051316_w(m_k051316, space, offset, data);
m_k051316->write(space, offset, data);
}
READ8_MEMBER(bottom9_state::bottom9_bankedram2_r)
@ -165,7 +164,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, bottom9_state )
AM_RANGE(0x1fd2, 0x1fd2) AM_READ_PORT("P2")
AM_RANGE(0x1fd3, 0x1fd3) AM_READ_PORT("DSW1")
AM_RANGE(0x1fe0, 0x1fe0) AM_READ_PORT("DSW2")
AM_RANGE(0x1ff0, 0x1fff) AM_DEVWRITE_LEGACY("k051316", k051316_ctrl_w)
AM_RANGE(0x1ff0, 0x1fff) AM_DEVWRITE("k051316", k051316_device, ctrl_w)
AM_RANGE(0x2000, 0x27ff) AM_READWRITE(bottom9_bankedram2_r, bottom9_bankedram2_w) AM_SHARE("paletteram")
AM_RANGE(0x0000, 0x3fff) AM_READWRITE(k052109_051960_r, k052109_051960_w)
AM_RANGE(0x4000, 0x5fff) AM_RAM

View File

@ -15,7 +15,6 @@
#include "emu.h"
#include "cpu/z80/z80.h"
#include "cpu/m6809/konami.h"
#include "video/konicdev.h"
#include "sound/2151intf.h"
#include "includes/chqflag.h"
#include "includes/konamipt.h"
@ -52,9 +51,9 @@ WRITE8_MEMBER(chqflag_state::chqflag_bankswitch_w)
membank("bank5")->set_base(m_generic_paletteram_8);
if (m_k051316_readroms)
space.install_legacy_readwrite_handler(*m_k051316_1, 0x1000, 0x17ff, FUNC(k051316_rom_r), FUNC(k051316_w)); /* 051316 #1 (ROM test) */
space.install_readwrite_handler(0x1000, 0x17ff, read8_delegate(FUNC(k051316_device::rom_r), (k051316_device*)m_k051316_1), write8_delegate(FUNC(k051316_device::write), (k051316_device*)m_k051316_1)); /* 051316 #1 (ROM test) */
else
space.install_legacy_readwrite_handler(*m_k051316_1, 0x1000, 0x17ff, FUNC(k051316_r), FUNC(k051316_w)); /* 051316 #1 */
space.install_readwrite_handler(0x1000, 0x17ff, read8_delegate(FUNC(k051316_device::read), (k051316_device*)m_k051316_1), write8_delegate(FUNC(k051316_device::write), (k051316_device*)m_k051316_1)); /* 051316 #1 */
}
else
{
@ -75,9 +74,9 @@ WRITE8_MEMBER(chqflag_state::chqflag_vreg_w)
m_k051316_readroms = (data & 0x10);
if (m_k051316_readroms)
space.install_legacy_read_handler(*m_k051316_2, 0x2800, 0x2fff, FUNC(k051316_rom_r)); /* 051316 (ROM test) */
space.install_read_handler(0x2800, 0x2fff, read8_delegate(FUNC(k051316_device::rom_r), (k051316_device*)m_k051316_2)); /* 051316 (ROM test) */
else
space.install_legacy_read_handler(*m_k051316_2, 0x2800, 0x2fff, FUNC(k051316_r)); /* 051316 */
space.install_read_handler(0x2800, 0x2fff, read8_delegate(FUNC(k051316_device::read), (k051316_device*)m_k051316_2)); /* 051316 */
/* Bits 3-7 probably control palette dimming in a similar way to TMNT2/Sunset Riders, */
/* however I don't have enough evidence to determine the exact behaviour. */
@ -141,7 +140,7 @@ static ADDRESS_MAP_START( chqflag_map, AS_PROGRAM, 8, chqflag_state )
AM_RANGE(0x1800, 0x1fff) AM_RAMBANK("bank2") /* palette + RAM */
AM_RANGE(0x2000, 0x2007) AM_DEVREADWRITE("k051960", k051960_device, k051937_r, k051937_w) /* Sprite control registers */
AM_RANGE(0x2400, 0x27ff) AM_DEVREADWRITE("k051960", k051960_device, k051960_r, k051960_w) /* Sprite RAM */
AM_RANGE(0x2800, 0x2fff) AM_READ_BANK("bank3") AM_DEVWRITE_LEGACY("k051316_2", k051316_w) /* 051316 zoom/rotation (chip 2) */
AM_RANGE(0x2800, 0x2fff) AM_READ_BANK("bank3") AM_DEVWRITE("k051316_2", k051316_device, write) /* 051316 zoom/rotation (chip 2) */
AM_RANGE(0x3000, 0x3000) AM_WRITE(soundlatch_byte_w) /* sound code # */
AM_RANGE(0x3001, 0x3001) AM_WRITE(chqflag_sh_irqtrigger_w) /* cause interrupt on audio CPU */
AM_RANGE(0x3002, 0x3002) AM_WRITE(chqflag_bankswitch_w) /* bankswitch control */
@ -151,9 +150,9 @@ static ADDRESS_MAP_START( chqflag_map, AS_PROGRAM, 8, chqflag_state )
AM_RANGE(0x3201, 0x3201) AM_READ_PORT("IN0") /* DIPSW #3, SW 4 */
AM_RANGE(0x3203, 0x3203) AM_READ_PORT("DSW2") /* DIPSW #2 */
AM_RANGE(0x3300, 0x3300) AM_WRITE(watchdog_reset_w) /* watchdog timer */
AM_RANGE(0x3400, 0x341f) AM_DEVREADWRITE_LEGACY("k051733", k051733_r, k051733_w) /* 051733 (protection) */
AM_RANGE(0x3500, 0x350f) AM_DEVWRITE_LEGACY("k051316_1", k051316_ctrl_w) /* 051316 control registers (chip 1) */
AM_RANGE(0x3600, 0x360f) AM_DEVWRITE_LEGACY("k051316_2", k051316_ctrl_w) /* 051316 control registers (chip 2) */
AM_RANGE(0x3400, 0x341f) AM_DEVREADWRITE("k051733", k051733_device, read, write) /* 051733 (protection) */
AM_RANGE(0x3500, 0x350f) AM_DEVWRITE("k051316_1", k051316_device, ctrl_w) /* 051316 control registers (chip 1) */
AM_RANGE(0x3600, 0x360f) AM_DEVWRITE("k051316_2", k051316_device, ctrl_w) /* 051316 control registers (chip 2) */
AM_RANGE(0x3700, 0x3700) AM_WRITE(select_analog_ctrl_w) /* select accelerator/wheel */
AM_RANGE(0x3701, 0x3701) AM_READ_PORT("IN2") /* Brake + Shift + ? */
AM_RANGE(0x3702, 0x3702) AM_READWRITE(analog_read_r, select_analog_ctrl_w) /* accelerator/wheel */

View File

@ -200,7 +200,7 @@ static ADDRESS_MAP_START( crshrace_map, AS_PROGRAM, 16, crshrace_state )
AM_RANGE(0xfff008, 0xfff009) AM_WRITE(sound_command_w)
AM_RANGE(0xfff00a, 0xfff00b) AM_READ_PORT("DSW1")
AM_RANGE(0xfff00e, 0xfff00f) AM_READ_PORT("P3")
AM_RANGE(0xfff020, 0xfff03f) AM_DEVWRITE_LEGACY("k053936", k053936_ctrl_w)
AM_RANGE(0xfff020, 0xfff03f) AM_DEVWRITE("k053936", k053936_device, ctrl_w)
AM_RANGE(0xfff044, 0xfff047) AM_WRITEONLY // ??? moves during race
ADDRESS_MAP_END

View File

@ -56,8 +56,6 @@ Notes:
#include "sound/2151intf.h"
#include "sound/okim6295.h"
#include "includes/dbz.h"
#include "video/konicdev.h"
TIMER_DEVICE_CALLBACK_MEMBER(dbz_state::dbz_scanline)
@ -107,19 +105,19 @@ WRITE16_MEMBER(dbz_state::dbz_sound_cause_nmi)
static ADDRESS_MAP_START( dbz_map, AS_PROGRAM, 16, dbz_state )
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x480000, 0x48ffff) AM_RAM
AM_RANGE(0x490000, 0x491fff) AM_DEVREADWRITE_LEGACY("k056832", k056832_ram_word_r, k056832_ram_word_w) // '157 RAM is mirrored twice
AM_RANGE(0x492000, 0x493fff) AM_DEVREADWRITE_LEGACY("k056832", k056832_ram_word_r, k056832_ram_word_w)
AM_RANGE(0x498000, 0x49ffff) AM_DEVREAD_LEGACY("k056832", k056832_rom_word_8000_r) // code near a60 in dbz2, subroutine at 730 in dbz
AM_RANGE(0x490000, 0x491fff) AM_DEVREADWRITE("k056832", k056832_device, ram_word_r, ram_word_w) // '157 RAM is mirrored twice
AM_RANGE(0x492000, 0x493fff) AM_DEVREADWRITE("k056832", k056832_device, ram_word_r, ram_word_w)
AM_RANGE(0x498000, 0x49ffff) AM_DEVREAD("k056832", k056832_device, rom_word_8000_r) // code near a60 in dbz2, subroutine at 730 in dbz
AM_RANGE(0x4a0000, 0x4a0fff) AM_DEVREADWRITE_LEGACY("k053246", k053247_word_r, k053247_word_w)
AM_RANGE(0x4a1000, 0x4a3fff) AM_RAM
AM_RANGE(0x4a8000, 0x4abfff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram") // palette
AM_RANGE(0x4c0000, 0x4c0001) AM_DEVREAD_LEGACY("k053246", k053246_word_r)
AM_RANGE(0x4c0000, 0x4c0007) AM_DEVWRITE_LEGACY("k053246", k053246_word_w)
AM_RANGE(0x4c4000, 0x4c4007) AM_DEVWRITE_LEGACY("k053246", k053246_word_w)
AM_RANGE(0x4c8000, 0x4c8007) AM_DEVWRITE_LEGACY("k056832", k056832_b_word_w)
AM_RANGE(0x4cc000, 0x4cc03f) AM_DEVWRITE_LEGACY("k056832", k056832_word_w)
AM_RANGE(0x4d0000, 0x4d001f) AM_DEVWRITE_LEGACY("k053936_1", k053936_ctrl_w)
AM_RANGE(0x4d4000, 0x4d401f) AM_DEVWRITE_LEGACY("k053936_2", k053936_ctrl_w)
AM_RANGE(0x4c8000, 0x4c8007) AM_DEVWRITE("k056832", k056832_device, b_word_w)
AM_RANGE(0x4cc000, 0x4cc03f) AM_DEVWRITE("k056832", k056832_device, word_w)
AM_RANGE(0x4d0000, 0x4d001f) AM_DEVWRITE("k053936_1", k053936_device, ctrl_w)
AM_RANGE(0x4d4000, 0x4d401f) AM_DEVWRITE("k053936_2", k053936_device, ctrl_w)
AM_RANGE(0x4e0000, 0x4e0001) AM_READ_PORT("P1_P2")
AM_RANGE(0x4e0002, 0x4e0003) AM_READ_PORT("SYSTEM_DSW1")
AM_RANGE(0x4e4000, 0x4e4001) AM_READ_PORT("DSW2")
@ -132,8 +130,8 @@ static ADDRESS_MAP_START( dbz_map, AS_PROGRAM, 16, dbz_state )
AM_RANGE(0x500000, 0x501fff) AM_RAM_WRITE(dbz_bg2_videoram_w) AM_SHARE("bg2_videoram")
AM_RANGE(0x508000, 0x509fff) AM_RAM_WRITE(dbz_bg1_videoram_w) AM_SHARE("bg1_videoram")
AM_RANGE(0x510000, 0x513fff) AM_DEVREADWRITE_LEGACY("k053936_1", k053936_linectrl_r, k053936_linectrl_w) // ?? guess, it might not be
AM_RANGE(0x518000, 0x51bfff) AM_DEVREADWRITE_LEGACY("k053936_2", k053936_linectrl_r, k053936_linectrl_w) // ?? guess, it might not be
AM_RANGE(0x510000, 0x513fff) AM_DEVREADWRITE("k053936_1", k053936_device, linectrl_r, linectrl_w) // ?? guess, it might not be
AM_RANGE(0x518000, 0x51bfff) AM_DEVREADWRITE("k053936_2", k053936_device, linectrl_r, linectrl_w) // ?? guess, it might not be
AM_RANGE(0x600000, 0x6fffff) AM_READNOP // PSAC 1 ROM readback window
AM_RANGE(0x700000, 0x7fffff) AM_READNOP // PSAC 2 ROM readback window
ADDRESS_MAP_END

View File

@ -67,7 +67,6 @@ hard drive 3.5 adapter long 3.5 IDE cable 3.5 adapter PCB
#include "cpu/m68000/m68000.h"
#include "machine/ataintf.h"
#include "sound/k054539.h"
#include "video/konicdev.h"
#include "includes/djmain.h"
#include "machine/idehd.h"
@ -207,7 +206,7 @@ WRITE32_MEMBER(djmain_state::v_ctrl_w)
READ32_MEMBER(djmain_state::v_rom_r)
{
UINT8 *mem8 = memregion("gfx2")->base();
int bank = k056832_word_r(m_k056832, space, 0x34/2, 0xffff);
int bank = m_k056832->word_r(space, 0x34/2, 0xffff);
offset *= 2;
@ -398,7 +397,7 @@ static ADDRESS_MAP_START( memory_map, AS_PROGRAM, 32, djmain_state )
AM_RANGE(0x480000, 0x48443f) AM_RAM_WRITE(paletteram32_w) // COLOR RAM
AM_SHARE("paletteram")
AM_RANGE(0x500000, 0x57ffff) AM_READWRITE(sndram_r, sndram_w) // SOUND RAM
AM_RANGE(0x580000, 0x58003f) AM_DEVREADWRITE_LEGACY("k056832", k056832_long_r, k056832_long_w) // VIDEO REG (tilemap)
AM_RANGE(0x580000, 0x58003f) AM_DEVREADWRITE("k056832", k056832_device, long_r, long_w) // VIDEO REG (tilemap)
AM_RANGE(0x590000, 0x590007) AM_WRITE(unknown590000_w) // ??
AM_RANGE(0x5a0000, 0x5a005f) AM_DEVWRITE_LEGACY("k055555", k055555_long_w) // 055555: priority encoder
AM_RANGE(0x5b0000, 0x5b04ff) AM_DEVREADWRITE8("k054539_1", k054539_device, read, write, 0xff00ff00)
@ -415,11 +414,11 @@ static ADDRESS_MAP_START( memory_map, AS_PROGRAM, 32, djmain_state )
AM_RANGE(0x802000, 0x802fff) AM_WRITE(unknown802000_w) // ??
AM_RANGE(0x803000, 0x80309f) AM_READWRITE(obj_ctrl_r, obj_ctrl_w) // OBJECT REGS
AM_RANGE(0x803800, 0x803fff) AM_READ(obj_rom_r) // OBJECT ROM readthrough (for POST)
AM_RANGE(0xc00000, 0xc01fff) AM_DEVREADWRITE_LEGACY("k056832", k056832_ram_long_r, k056832_ram_long_w) // VIDEO RAM (tilemap) (beatmania)
AM_RANGE(0xc00000, 0xc01fff) AM_DEVREADWRITE("k056832", k056832_device, ram_long_r, ram_long_w) // VIDEO RAM (tilemap) (beatmania)
AM_RANGE(0xc02000, 0xc02047) AM_WRITE(unknownc02000_w) // ??
AM_RANGE(0xd00000, 0xd0000f) AM_DEVREADWRITE16("ata", ata_interface_device, read_cs0, write_cs0, 0xffffffff) // IDE control regs (hiphopmania)
AM_RANGE(0xd40000, 0xd4000f) AM_DEVREADWRITE16("ata", ata_interface_device, read_cs1, write_cs1, 0xffffffff) // IDE status control reg (hiphopmania)
AM_RANGE(0xe00000, 0xe01fff) AM_DEVREADWRITE_LEGACY("k056832", k056832_ram_long_r, k056832_ram_long_w) // VIDEO RAM (tilemap) (hiphopmania)
AM_RANGE(0xe00000, 0xe01fff) AM_DEVREADWRITE("k056832", k056832_device, ram_long_r, ram_long_w) // VIDEO RAM (tilemap) (hiphopmania)
AM_RANGE(0xf00000, 0xf0000f) AM_DEVREADWRITE16("ata", ata_interface_device, read_cs0, write_cs0, 0xffffffff) // IDE control regs (beatmania)
AM_RANGE(0xf40000, 0xf4000f) AM_DEVREADWRITE16("ata", ata_interface_device, read_cs1, write_cs1, 0xffffffff) // IDE status control reg (beatmania)
ADDRESS_MAP_END

View File

@ -111,7 +111,7 @@ static ADDRESS_MAP_START( f1gp_cpu1_map, AS_PROGRAM, 16, f1gp_state )
AM_RANGE(0xfff006, 0xfff007) AM_READ_PORT("DSW2")
AM_RANGE(0xfff008, 0xfff009) AM_READ(command_pending_r)
AM_RANGE(0xfff008, 0xfff009) AM_WRITE(sound_command_w)
AM_RANGE(0xfff040, 0xfff05f) AM_DEVWRITE_LEGACY("k053936", k053936_ctrl_w)
AM_RANGE(0xfff040, 0xfff05f) AM_DEVWRITE("k053936", k053936_device, ctrl_w)
AM_RANGE(0xfff050, 0xfff051) AM_READ_PORT("DSW3")
ADDRESS_MAP_END
@ -131,7 +131,7 @@ static ADDRESS_MAP_START( f1gp2_cpu1_map, AS_PROGRAM, 16, f1gp_state )
AM_RANGE(0xfff006, 0xfff007) AM_READ_PORT("DSW2")
AM_RANGE(0xfff008, 0xfff009) AM_READWRITE(command_pending_r, sound_command_w)
AM_RANGE(0xfff00a, 0xfff00b) AM_READ_PORT("DSW3")
AM_RANGE(0xfff020, 0xfff03f) AM_DEVWRITE_LEGACY("k053936", k053936_ctrl_w)
AM_RANGE(0xfff020, 0xfff03f) AM_DEVWRITE("k053936", k053936_device, ctrl_w)
AM_RANGE(0xfff044, 0xfff047) AM_WRITE(f1gp_fgscroll_w)
ADDRESS_MAP_END

View File

@ -83,7 +83,7 @@ static ADDRESS_MAP_START( fastlane_map, AS_PROGRAM, 8, fastlane_state )
AM_RANGE(0x0c00, 0x0c00) AM_WRITE(fastlane_bankswitch_w) /* bankswitch control */
AM_RANGE(0x0d00, 0x0d0d) AM_READWRITE(fastlane_k1_k007232_r, fastlane_k1_k007232_w) /* 007232 registers (chip 1) */
AM_RANGE(0x0e00, 0x0e0d) AM_READWRITE(fastlane_k2_k007232_r, fastlane_k2_k007232_w) /* 007232 registers (chip 2) */
AM_RANGE(0x0f00, 0x0f1f) AM_DEVREADWRITE_LEGACY("k051733", k051733_r, k051733_w) /* 051733 (protection) */
AM_RANGE(0x0f00, 0x0f1f) AM_DEVREADWRITE("k051733", k051733_device, read, write) /* 051733 (protection) */
AM_RANGE(0x1000, 0x17ff) AM_RAM AM_SHARE("paletteram") /* Palette RAM */
AM_RANGE(0x1800, 0x1fff) AM_RAM /* Work RAM */
AM_RANGE(0x2000, 0x27ff) AM_RAM_WRITE(fastlane_vram1_w) AM_SHARE("videoram1") /* Video RAM (chip 1) */

View File

@ -35,7 +35,6 @@ Known Issues
#include "emu.h"
#include "cpu/m68000/m68000.h"
#include "video/konicdev.h"
#include "cpu/z80/z80.h"
#include "machine/eeprom.h"
#include "sound/k054539.h"
@ -115,7 +114,7 @@ TIMER_CALLBACK_MEMBER(gijoe_state::dmaend_callback)
INTERRUPT_GEN_MEMBER(gijoe_state::gijoe_interrupt)
{
// global interrupt masking (*this game only)
if (!k056832_is_irq_enabled(m_k056832, 0))
if (!m_k056832->is_irq_enabled(0))
return;
if (k053246_is_irq_enabled(m_k053246))
@ -160,15 +159,15 @@ static ADDRESS_MAP_START( gijoe_map, AS_PROGRAM, 16, gijoe_state )
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x100fff) AM_RAM AM_SHARE("spriteram") // Sprites
AM_RANGE(0x110000, 0x110007) AM_DEVWRITE_LEGACY("k053246", k053246_word_w)
AM_RANGE(0x120000, 0x121fff) AM_DEVREADWRITE_LEGACY("k056832", k056832_ram_word_r, k056832_ram_word_w) // Graphic planes
AM_RANGE(0x122000, 0x123fff) AM_DEVREADWRITE_LEGACY("k056832", k056832_ram_word_r, k056832_ram_word_w) // Graphic planes mirror read
AM_RANGE(0x130000, 0x131fff) AM_DEVREAD_LEGACY("k056832", k056832_rom_word_r) // Passthrough to tile roms
AM_RANGE(0x160000, 0x160007) AM_DEVWRITE_LEGACY("k056832", k056832_b_word_w) // VSCCS (board dependent)
AM_RANGE(0x120000, 0x121fff) AM_DEVREADWRITE("k056832", k056832_device, ram_word_r, ram_word_w) // Graphic planes
AM_RANGE(0x122000, 0x123fff) AM_DEVREADWRITE("k056832", k056832_device, ram_word_r, ram_word_w) // Graphic planes mirror read
AM_RANGE(0x130000, 0x131fff) AM_DEVREAD("k056832", k056832_device, rom_word_r) // Passthrough to tile roms
AM_RANGE(0x160000, 0x160007) AM_DEVWRITE("k056832", k056832_device, b_word_w) // VSCCS (board dependent)
AM_RANGE(0x170000, 0x170001) AM_WRITENOP // Watchdog
AM_RANGE(0x180000, 0x18ffff) AM_RAM AM_SHARE("workram") // Main RAM. Spec. 180000-1803ff, 180400-187fff
AM_RANGE(0x190000, 0x190fff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x1a0000, 0x1a001f) AM_DEVWRITE_LEGACY("k053251", k053251_lsb_w)
AM_RANGE(0x1b0000, 0x1b003f) AM_DEVWRITE_LEGACY("k056832", k056832_word_w)
AM_RANGE(0x1b0000, 0x1b003f) AM_DEVWRITE("k056832", k056832_device, word_w)
AM_RANGE(0x1c000c, 0x1c000d) AM_WRITE(sound_cmd_w)
AM_RANGE(0x1c0014, 0x1c0015) AM_READ(sound_status_r)
AM_RANGE(0x1c0000, 0x1c001f) AM_RAM
@ -181,9 +180,9 @@ static ADDRESS_MAP_START( gijoe_map, AS_PROGRAM, 16, gijoe_state )
AM_RANGE(0x1f0000, 0x1f0001) AM_DEVREAD_LEGACY("k053246", k053246_word_r)
#if JOE_DEBUG
AM_RANGE(0x110000, 0x110007) AM_DEVREAD_LEGACY("k053246", k053246_reg_word_r)
AM_RANGE(0x160000, 0x160007) AM_DEVREAD_LEGACY("k056832", k056832_b_word_r)
AM_RANGE(0x160000, 0x160007) AM_DEVREAD("k056832", k056832_device, b_word_r)
AM_RANGE(0x1a0000, 0x1a001f) AM_DEVREAD_LEGACY("k053251", k053251_lsb_r)
AM_RANGE(0x1b0000, 0x1b003f) AM_DEVREAD_LEGACY("k056832", k056832_word_r)
AM_RANGE(0x1b0000, 0x1b003f) AM_DEVREAD("k056832", k056832_device, word_r)
#endif
ADDRESS_MAP_END

View File

@ -54,7 +54,7 @@ static ADDRESS_MAP_START( labyrunr_map, AS_PROGRAM, 8, labyrunr_state )
AM_RANGE(0x0a01, 0x0a01) AM_READ_PORT("P1")
AM_RANGE(0x0b00, 0x0b00) AM_READ_PORT("SYSTEM")
AM_RANGE(0x0c00, 0x0c00) AM_WRITE(labyrunr_bankswitch_w)
AM_RANGE(0x0d00, 0x0d1f) AM_DEVREADWRITE_LEGACY("k051733", k051733_r, k051733_w)
AM_RANGE(0x0d00, 0x0d1f) AM_DEVREADWRITE("k051733", k051733_device, read, write)
AM_RANGE(0x0e00, 0x0e00) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x1000, 0x10ff) AM_RAM AM_SHARE("paletteram")
AM_RANGE(0x1800, 0x1fff) AM_RAM

View File

@ -159,7 +159,6 @@ maybe some sprite placement issues
***************************************************************************/
#include "emu.h"
#include "video/konicdev.h"
#include "cpu/m6809/m6809.h"
#include "cpu/m6809/hd6309.h"
#include "cpu/z80/z80.h"
@ -205,7 +204,7 @@ WRITE8_MEMBER(lethal_state::control2_w)
INTERRUPT_GEN_MEMBER(lethal_state::lethalen_interrupt)
{
if (k056832_is_irq_enabled(m_k056832, 0))
if (m_k056832->is_irq_enabled(0))
device.execute().set_input_line(HD6309_IRQ_LINE, HOLD_LINE);
}
@ -297,7 +296,7 @@ READ8_MEMBER(lethal_state::le_4800_r)
case 0x9d:
case 0x9e:
case 0x9f:
return k054000_r(m_k054000, space, offset - 0x80);
return m_k054000->read(space, offset - 0x80);
case 0xca:
return sound_status_r(space, 0);
@ -306,13 +305,13 @@ READ8_MEMBER(lethal_state::le_4800_r)
else if (offset < 0x1800)
return m_k053244->k053245_r(space, (offset - 0x0800) & 0x07ff);
else if (offset < 0x2000)
return k056832_ram_code_lo_r(m_k056832, space, offset - 0x1800);
return m_k056832->ram_code_lo_r(space, offset - 0x1800);
else if (offset < 0x2800)
return k056832_ram_code_hi_r(m_k056832, space, offset - 0x2000);
return m_k056832->ram_code_hi_r(space, offset - 0x2000);
else if (offset < 0x3000)
return k056832_ram_attr_lo_r(m_k056832, space, offset - 0x2800);
return m_k056832->ram_attr_lo_r(space, offset - 0x2800);
else // (offset < 0x3800)
return k056832_ram_attr_hi_r(m_k056832, space, offset - 0x3000);
return m_k056832->ram_attr_hi_r(space, offset - 0x3000);
}
return 0;
@ -389,7 +388,7 @@ WRITE8_MEMBER(lethal_state::le_4800_w)
case 0x9d:
case 0x9e:
case 0x9f:
k054000_w(m_k054000, space, offset - 0x80, data);
m_k054000->write(space, offset - 0x80, data);
break;
default:
@ -400,13 +399,13 @@ WRITE8_MEMBER(lethal_state::le_4800_w)
else if (offset < 0x1800)
m_k053244->k053245_w(space, (offset - 0x0800) & 0x07ff, data);
else if (offset < 0x2000)
k056832_ram_code_lo_w(m_k056832, space, offset - 0x1800, data);
m_k056832->ram_code_lo_w(space, offset - 0x1800, data);
else if (offset < 0x2800)
k056832_ram_code_hi_w(m_k056832, space, offset - 0x2000, data);
m_k056832->ram_code_hi_w(space, offset - 0x2000, data);
else if (offset < 0x3000)
k056832_ram_attr_lo_w(m_k056832, space, offset - 0x2800, data);
m_k056832->ram_attr_lo_w(space, offset - 0x2800, data);
else // (offset < 0x3800)
k056832_ram_attr_hi_w(m_k056832, space, offset - 0x3000, data);
m_k056832->ram_attr_hi_w(space, offset - 0x3000, data);
}
}
@ -454,8 +453,8 @@ READ8_MEMBER(lethal_state::gunsaux_r)
static ADDRESS_MAP_START( le_main, AS_PROGRAM, 8, lethal_state )
AM_RANGE(0x0000, 0x1fff) AM_ROMBANK("bank1")
AM_RANGE(0x2000, 0x3fff) AM_RAM // work RAM
AM_RANGE(0x4000, 0x403f) AM_DEVWRITE_LEGACY("k056832", k056832_w)
AM_RANGE(0x4040, 0x404f) AM_DEVWRITE_LEGACY("k056832", k056832_b_w)
AM_RANGE(0x4000, 0x403f) AM_DEVWRITE("k056832", k056832_device, write)
AM_RANGE(0x4040, 0x404f) AM_DEVWRITE("k056832", k056832_device, b_w)
AM_RANGE(0x4080, 0x4080) AM_READNOP // watchdog
AM_RANGE(0x4090, 0x4090) AM_READNOP
AM_RANGE(0x40a0, 0x40a0) AM_READNOP

View File

@ -23,7 +23,6 @@ Notes:
#include "emu.h"
#include "cpu/z80/z80.h"
#include "cpu/m6809/hd6309.h"
#include "video/konicdev.h"
#include "cpu/m6809/m6809.h"
#include "sound/2151intf.h"
#include "sound/upd7759.h"
@ -188,7 +187,7 @@ static ADDRESS_MAP_START( devstors_map, AS_PROGRAM, 8, mainevt_state )
AM_RANGE(0x1f97, 0x1f97) AM_READ_PORT("DSW1")
AM_RANGE(0x1f98, 0x1f98) AM_READ_PORT("DSW3")
AM_RANGE(0x1f9b, 0x1f9b) AM_READ_PORT("DSW2")
AM_RANGE(0x1fa0, 0x1fbf) AM_DEVREADWRITE_LEGACY("k051733", k051733_r, k051733_w)
AM_RANGE(0x1fa0, 0x1fbf) AM_DEVREADWRITE("k051733", k051733_device, read, write)
AM_RANGE(0x0000, 0x3fff) AM_READWRITE(k052109_051960_r, k052109_051960_w)

View File

@ -1647,8 +1647,8 @@ static ADDRESS_MAP_START( blzntrnd_map, AS_PROGRAM, 16, metro_state )
// AM_RANGE(0x300000, 0x300001) AM_READNOP // Sound
AM_RANGE(0x400000, 0x43ffff) AM_RAM_WRITE(metro_k053936_w) AM_SHARE("k053936_ram") // 053936
AM_RANGE(0x500000, 0x500fff) AM_DEVWRITE_LEGACY("k053936", k053936_linectrl_w) // 053936 line control
AM_RANGE(0x600000, 0x60001f) AM_DEVWRITE_LEGACY("k053936", k053936_ctrl_w) // 053936 control
AM_RANGE(0x500000, 0x500fff) AM_DEVWRITE("k053936", k053936_device, linectrl_w) // 053936 line control
AM_RANGE(0x600000, 0x60001f) AM_DEVWRITE("k053936", k053936_device, ctrl_w) // 053936 control
AM_RANGE(0xe00000, 0xe00001) AM_READ_PORT("DSW0") AM_WRITENOP // Inputs
AM_RANGE(0xe00002, 0xe00003) AM_READ_PORT("DSW1") AM_WRITE(blzntrnd_sound_w) //

View File

@ -45,7 +45,6 @@ Bucky:
#include "sound/2151intf.h"
#include "sound/okim6295.h"
#include "sound/k054539.h"
#include "video/konicdev.h"
#include "includes/konamipt.h"
#include "includes/moo.h"
@ -255,7 +254,7 @@ WRITE16_MEMBER(moo_state::moobl_oki_bank_w)
static ADDRESS_MAP_START( moo_map, AS_PROGRAM, 16, moo_state )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x0c0000, 0x0c003f) AM_DEVWRITE_LEGACY("k056832", k056832_word_w)
AM_RANGE(0x0c0000, 0x0c003f) AM_DEVWRITE("k056832", k056832_device, word_w)
AM_RANGE(0x0c2000, 0x0c2007) AM_DEVWRITE_LEGACY("k053246", k053246_word_w)
AM_RANGE(0x0c4000, 0x0c4001) AM_DEVREAD_LEGACY("k053246", k053246_word_r)
@ -268,7 +267,7 @@ static ADDRESS_MAP_START( moo_map, AS_PROGRAM, 16, moo_state )
AM_RANGE(0x0d600e, 0x0d600f) AM_WRITE(sound_cmd2_w)
AM_RANGE(0x0d6014, 0x0d6015) AM_READ(sound_status_r)
AM_RANGE(0x0d6000, 0x0d601f) AM_RAM /* sound regs fall through */
AM_RANGE(0x0d8000, 0x0d8007) AM_DEVWRITE_LEGACY("k056832", k056832_b_word_w) /* VSCCS regs */
AM_RANGE(0x0d8000, 0x0d8007) AM_DEVWRITE("k056832", k056832_device, b_word_w) /* VSCCS regs */
AM_RANGE(0x0da000, 0x0da001) AM_READ_PORT("P1_P3")
AM_RANGE(0x0da002, 0x0da003) AM_READ_PORT("P2_P4")
AM_RANGE(0x0dc000, 0x0dc001) AM_READ_PORT("IN0")
@ -277,22 +276,22 @@ static ADDRESS_MAP_START( moo_map, AS_PROGRAM, 16, moo_state )
AM_RANGE(0x100000, 0x17ffff) AM_ROM
AM_RANGE(0x180000, 0x18ffff) AM_RAM AM_SHARE("workram") /* Work RAM */
AM_RANGE(0x190000, 0x19ffff) AM_RAM AM_SHARE("spriteram") /* Sprite RAM */
AM_RANGE(0x1a0000, 0x1a1fff) AM_DEVREADWRITE_LEGACY("k056832", k056832_ram_word_r, k056832_ram_word_w) /* Graphic planes */
AM_RANGE(0x1a2000, 0x1a3fff) AM_DEVREADWRITE_LEGACY("k056832", k056832_ram_word_r, k056832_ram_word_w) /* Graphic planes mirror */
AM_RANGE(0x1b0000, 0x1b1fff) AM_DEVREAD_LEGACY("k056832", k056832_rom_word_r) /* Passthrough to tile roms */
AM_RANGE(0x1a0000, 0x1a1fff) AM_DEVREADWRITE("k056832", k056832_device, ram_word_r, ram_word_w) /* Graphic planes */
AM_RANGE(0x1a2000, 0x1a3fff) AM_DEVREADWRITE("k056832", k056832_device, ram_word_r, ram_word_w) /* Graphic planes mirror */
AM_RANGE(0x1b0000, 0x1b1fff) AM_DEVREAD("k056832", k056832_device, rom_word_r) /* Passthrough to tile roms */
AM_RANGE(0x1c0000, 0x1c1fff) AM_RAM_WRITE(paletteram_xrgb_word_be_w) AM_SHARE("paletteram")
#if MOO_DEBUG
AM_RANGE(0x0c0000, 0x0c003f) AM_DEVREAD_LEGACY("k056832", k056832_word_r)
AM_RANGE(0x0c0000, 0x0c003f) AM_DEVREAD("k056832", k056832_device, word_r)
AM_RANGE(0x0c2000, 0x0c2007) AM_DEVREAD_LEGACY("k053246", k053246_reg_word_r)
AM_RANGE(0x0ca000, 0x0ca01f) AM_DEVREAD_LEGACY("k054338", k054338_word_r)
AM_RANGE(0x0cc000, 0x0cc01f) AM_DEVREAD_LEGACY("k053251", k053251_lsb_r)
AM_RANGE(0x0d8000, 0x0d8007) AM_DEVREAD_LEGACY("k056832", k056832_b_word_r)
AM_RANGE(0x0d8000, 0x0d8007) AM_DEVREAD("k056832", k056832_device, b_word_r)
#endif
ADDRESS_MAP_END
static ADDRESS_MAP_START( moobl_map, AS_PROGRAM, 16, moo_state )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x0c0000, 0x0c003f) AM_DEVWRITE_LEGACY("k056832", k056832_word_w)
AM_RANGE(0x0c0000, 0x0c003f) AM_DEVWRITE("k056832", k056832_device, word_w)
AM_RANGE(0x0c2000, 0x0c2007) AM_DEVWRITE_LEGACY("k053246", k053246_word_w)
AM_RANGE(0x0c2f00, 0x0c2f01) AM_READNOP /* heck if I know, but it's polled constantly */
AM_RANGE(0x0c4000, 0x0c4001) AM_DEVREAD_LEGACY("k053246", k053246_word_r)
@ -301,7 +300,7 @@ static ADDRESS_MAP_START( moobl_map, AS_PROGRAM, 16, moo_state )
AM_RANGE(0x0d0000, 0x0d001f) AM_WRITEONLY /* CCU regs (ignored) */
AM_RANGE(0x0d6ffc, 0x0d6ffd) AM_WRITE(moobl_oki_bank_w)
AM_RANGE(0x0d6ffe, 0x0d6fff) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff)
AM_RANGE(0x0d8000, 0x0d8007) AM_DEVWRITE_LEGACY("k056832", k056832_b_word_w) /* VSCCS regs */
AM_RANGE(0x0d8000, 0x0d8007) AM_DEVWRITE("k056832", k056832_device, b_word_w) /* VSCCS regs */
AM_RANGE(0x0da000, 0x0da001) AM_READ_PORT("P1_P3")
AM_RANGE(0x0da002, 0x0da003) AM_READ_PORT("P2_P4")
AM_RANGE(0x0dc000, 0x0dc001) AM_READ_PORT("IN0")
@ -310,9 +309,9 @@ static ADDRESS_MAP_START( moobl_map, AS_PROGRAM, 16, moo_state )
AM_RANGE(0x100000, 0x17ffff) AM_ROM
AM_RANGE(0x180000, 0x18ffff) AM_RAM AM_SHARE("workram") /* Work RAM */
AM_RANGE(0x190000, 0x19ffff) AM_RAM AM_SHARE("spriteram") /* Sprite RAM */
AM_RANGE(0x1a0000, 0x1a1fff) AM_DEVREADWRITE_LEGACY("k056832", k056832_ram_word_r, k056832_ram_word_w) /* Graphic planes */
AM_RANGE(0x1a2000, 0x1a3fff) AM_DEVREADWRITE_LEGACY("k056832", k056832_ram_word_r, k056832_ram_word_w) /* Graphic planes mirror */
AM_RANGE(0x1b0000, 0x1b1fff) AM_DEVREAD_LEGACY("k056832", k056832_rom_word_r) /* Passthrough to tile roms */
AM_RANGE(0x1a0000, 0x1a1fff) AM_DEVREADWRITE("k056832", k056832_device, ram_word_r, ram_word_w) /* Graphic planes */
AM_RANGE(0x1a2000, 0x1a3fff) AM_DEVREADWRITE("k056832", k056832_device, ram_word_r, ram_word_w) /* Graphic planes mirror */
AM_RANGE(0x1b0000, 0x1b1fff) AM_DEVREAD("k056832", k056832_device, rom_word_r) /* Passthrough to tile roms */
AM_RANGE(0x1c0000, 0x1c1fff) AM_RAM_WRITE(paletteram_xrgb_word_be_w) AM_SHARE("paletteram")
ADDRESS_MAP_END
@ -321,37 +320,37 @@ static ADDRESS_MAP_START( bucky_map, AS_PROGRAM, 16, moo_state )
AM_RANGE(0x080000, 0x08ffff) AM_RAM
AM_RANGE(0x090000, 0x09ffff) AM_RAM AM_SHARE("spriteram") /* Sprite RAM */
AM_RANGE(0x0a0000, 0x0affff) AM_RAM /* extra sprite RAM? */
AM_RANGE(0x0c0000, 0x0c003f) AM_DEVWRITE_LEGACY("k056832", k056832_word_w)
AM_RANGE(0x0c0000, 0x0c003f) AM_DEVWRITE("k056832", k056832_device, word_w)
AM_RANGE(0x0c2000, 0x0c2007) AM_DEVWRITE_LEGACY("k053246", k053246_word_w)
AM_RANGE(0x0c4000, 0x0c4001) AM_DEVREAD_LEGACY("k053246", k053246_word_r)
AM_RANGE(0x0ca000, 0x0ca01f) AM_DEVWRITE_LEGACY("k054338", k054338_word_w) /* K054338 alpha blending engine */
AM_RANGE(0x0cc000, 0x0cc01f) AM_DEVWRITE_LEGACY("k053251", k053251_lsb_w)
AM_RANGE(0x0ce000, 0x0ce01f) AM_WRITE(moo_prot_w)
AM_RANGE(0x0d0000, 0x0d001f) AM_DEVREADWRITE8("k053252", k053252_device, read, write, 0x00ff) /* CCU regs (ignored) */
AM_RANGE(0x0d2000, 0x0d20ff) AM_DEVREADWRITE_LEGACY("k054000", k054000_lsb_r, k054000_lsb_w)
AM_RANGE(0x0d2000, 0x0d20ff) AM_DEVREADWRITE("k054000", k054000_device, lsb_r, lsb_w)
AM_RANGE(0x0d4000, 0x0d4001) AM_WRITE(sound_irq_w)
AM_RANGE(0x0d600c, 0x0d600d) AM_WRITE(sound_cmd1_w)
AM_RANGE(0x0d600e, 0x0d600f) AM_WRITE(sound_cmd2_w)
AM_RANGE(0x0d6014, 0x0d6015) AM_READ(sound_status_r)
AM_RANGE(0x0d6000, 0x0d601f) AM_RAM /* sound regs fall through */
AM_RANGE(0x0d8000, 0x0d8007) AM_DEVWRITE_LEGACY("k056832", k056832_b_word_w) /* VSCCS regs */
AM_RANGE(0x0d8000, 0x0d8007) AM_DEVWRITE("k056832", k056832_device, b_word_w) /* VSCCS regs */
AM_RANGE(0x0da000, 0x0da001) AM_READ_PORT("P1_P3")
AM_RANGE(0x0da002, 0x0da003) AM_READ_PORT("P2_P4")
AM_RANGE(0x0dc000, 0x0dc001) AM_READ_PORT("IN0")
AM_RANGE(0x0dc002, 0x0dc003) AM_READ_PORT("IN1")
AM_RANGE(0x0de000, 0x0de001) AM_READWRITE(control2_r, control2_w)
AM_RANGE(0x180000, 0x181fff) AM_DEVREADWRITE_LEGACY("k056832", k056832_ram_word_r, k056832_ram_word_w) /* Graphic planes */
AM_RANGE(0x182000, 0x183fff) AM_DEVREADWRITE_LEGACY("k056832", k056832_ram_word_r, k056832_ram_word_w) /* Graphic planes mirror */
AM_RANGE(0x180000, 0x181fff) AM_DEVREADWRITE("k056832", k056832_device, ram_word_r, ram_word_w) /* Graphic planes */
AM_RANGE(0x182000, 0x183fff) AM_DEVREADWRITE("k056832", k056832_device, ram_word_r, ram_word_w) /* Graphic planes mirror */
AM_RANGE(0x184000, 0x187fff) AM_RAM /* extra tile RAM? */
AM_RANGE(0x190000, 0x191fff) AM_DEVREAD_LEGACY("k056832", k056832_rom_word_r) /* Passthrough to tile roms */
AM_RANGE(0x190000, 0x191fff) AM_DEVREAD("k056832", k056832_device, rom_word_r) /* Passthrough to tile roms */
AM_RANGE(0x1b0000, 0x1b3fff) AM_RAM_WRITE(paletteram_xrgb_word_be_w) AM_SHARE("paletteram")
AM_RANGE(0x200000, 0x23ffff) AM_ROM /* data */
#if MOO_DEBUG
AM_RANGE(0x0c0000, 0x0c003f) AM_DEVREAD_LEGACY("k056832", k056832_word_r)
AM_RANGE(0x0c0000, 0x0c003f) AM_DEVREAD("k056832", k056832_device, word_r)
AM_RANGE(0x0c2000, 0x0c2007) AM_DEVREAD_LEGACY("k053246", k053246_reg_word_r)
AM_RANGE(0x0ca000, 0x0ca01f) AM_DEVREAD_LEGACY("k054338", k054338_word_r)
AM_RANGE(0x0cc000, 0x0cc01f) AM_DEVREAD_LEGACY("k053251", k053251_lsb_r)
AM_RANGE(0x0d8000, 0x0d8007) AM_DEVREAD_LEGACY("k056832", k056832_b_word_r)
AM_RANGE(0x0d8000, 0x0d8007) AM_DEVREAD("k056832", k056832_device, b_word_r)
#endif
ADDRESS_MAP_END

View File

@ -21,7 +21,6 @@
#include "emu.h"
#include "cpu/m68000/m68000.h"
#include "video/konicdev.h"
#include "video/k053250.h"
#include "machine/eeprom.h"
#include "cpu/m6809/m6809.h"
@ -165,8 +164,8 @@ static ADDRESS_MAP_START( overdriv_master_map, AS_PROGRAM, 16, overdriv_state )
AM_RANGE(0x100000, 0x10001f) AM_DEVREADWRITE8("k053252", k053252_device, read, write, 0x00ff) /* 053252? (LSB) */
AM_RANGE(0x140000, 0x140001) AM_WRITENOP //watchdog reset?
AM_RANGE(0x180000, 0x180001) AM_READ_PORT("PADDLE")
AM_RANGE(0x1c0000, 0x1c001f) AM_DEVWRITE8_LEGACY("k051316_1", k051316_ctrl_w, 0xff00)
AM_RANGE(0x1c8000, 0x1c801f) AM_DEVWRITE8_LEGACY("k051316_2", k051316_ctrl_w, 0xff00)
AM_RANGE(0x1c0000, 0x1c001f) AM_DEVWRITE8("k051316_1", k051316_device, ctrl_w, 0xff00)
AM_RANGE(0x1c8000, 0x1c801f) AM_DEVWRITE8("k051316_2", k051316_device, ctrl_w, 0xff00)
AM_RANGE(0x1d0000, 0x1d001f) AM_DEVWRITE_LEGACY("k053251", k053251_msb_w)
AM_RANGE(0x1d8000, 0x1d8003) AM_READ8(overdriv_1_sound_r, 0x00ff) AM_DEVWRITE8("k053260_1", k053260_device, k053260_w, 0x00ff) /* K053260 */
AM_RANGE(0x1e0000, 0x1e0003) AM_READ8(overdriv_2_sound_r, 0x00ff) AM_DEVWRITE8("k053260_2", k053260_device, k053260_w, 0x00ff) /* K053260 */
@ -174,10 +173,10 @@ static ADDRESS_MAP_START( overdriv_master_map, AS_PROGRAM, 16, overdriv_state )
AM_RANGE(0x1f0000, 0x1f0001) AM_WRITE(cpuA_ctrl_w) /* halt cpu B, coin counter, start lamp, other? */
AM_RANGE(0x1f8000, 0x1f8001) AM_WRITE(eeprom_w)
AM_RANGE(0x200000, 0x203fff) AM_RAM AM_SHARE("share1")
AM_RANGE(0x210000, 0x210fff) AM_DEVREADWRITE8_LEGACY("k051316_1", k051316_r, k051316_w, 0xff00)
AM_RANGE(0x218000, 0x218fff) AM_DEVREADWRITE8_LEGACY("k051316_2", k051316_r, k051316_w, 0xff00)
AM_RANGE(0x220000, 0x220fff) AM_DEVREAD8_LEGACY("k051316_1", k051316_rom_r, 0xff00)
AM_RANGE(0x228000, 0x228fff) AM_DEVREAD8_LEGACY("k051316_2", k051316_rom_r, 0xff00)
AM_RANGE(0x210000, 0x210fff) AM_DEVREADWRITE8("k051316_1", k051316_device, read, write, 0xff00)
AM_RANGE(0x218000, 0x218fff) AM_DEVREADWRITE8("k051316_2", k051316_device, read, write, 0xff00)
AM_RANGE(0x220000, 0x220fff) AM_DEVREAD8("k051316_1", k051316_device, rom_r, 0xff00)
AM_RANGE(0x228000, 0x228fff) AM_DEVREAD8("k051316_2", k051316_device, rom_r, 0xff00)
AM_RANGE(0x230000, 0x230001) AM_WRITE(overdriv_cpuB_irq6_w)
AM_RANGE(0x238000, 0x238001) AM_WRITE(overdriv_cpuB_irq5_w)
ADDRESS_MAP_END

View File

@ -518,7 +518,7 @@ WRITE16_MEMBER(polygonet_state::dsp56k_ram_bank04_write)
static ADDRESS_MAP_START( main_map, AS_PROGRAM, 32, polygonet_state )
AM_RANGE(0x000000, 0x1fffff) AM_ROM
AM_RANGE(0x200000, 0x21ffff) AM_RAM_WRITE(plygonet_palette_w) AM_SHARE("paletteram")
AM_RANGE(0x400000, 0x40001f) AM_DEVREADWRITE16_LEGACY("k053936", k053936_ctrl_r, k053936_ctrl_w, 0xffffffff)
AM_RANGE(0x400000, 0x40001f) AM_DEVREADWRITE16("k053936", k053936_device, ctrl_r, ctrl_w, 0xffffffff)
AM_RANGE(0x440000, 0x440fff) AM_READWRITE(polygonet_roz_ram_r, polygonet_roz_ram_w)
AM_RANGE(0x480000, 0x480003) AM_READ8(polygonet_inputs_r, 0xffffffff)
AM_RANGE(0x4c0000, 0x4c0003) AM_WRITE8(polygonet_sys_w, 0xffffffff)

View File

@ -25,7 +25,6 @@ GP1 HDD data contents:
#include "cpu/m68000/m68000.h"
#include "machine/ataintf.h"
#include "sound/k054539.h"
#include "video/konicdev.h"
#include "machine/nvram.h"
#include "includes/qdrmfgp.h"
@ -114,7 +113,7 @@ WRITE16_MEMBER(qdrmfgp_state::gp2_control_w)
READ16_MEMBER(qdrmfgp_state::v_rom_r)
{
UINT8 *mem8 = memregion("gfx1")->base();
int bank = k056832_word_r(m_k056832, space, 0x34/2, 0xffff);
int bank = m_k056832->word_r(space, 0x34/2, 0xffff);
offset += bank * 0x800 * 4;
@ -128,33 +127,33 @@ READ16_MEMBER(qdrmfgp_state::v_rom_r)
READ16_MEMBER(qdrmfgp_state::gp2_vram_r)
{
if (offset < 0x1000 / 2)
return k056832_ram_word_r(m_k056832, space, offset * 2 + 1, mem_mask);
return m_k056832->ram_word_r(space, offset * 2 + 1, mem_mask);
else
return k056832_ram_word_r(m_k056832, space, (offset - 0x1000 / 2) * 2, mem_mask);
return m_k056832->ram_word_r(space, (offset - 0x1000 / 2) * 2, mem_mask);
}
READ16_MEMBER(qdrmfgp_state::gp2_vram_mirror_r)
{
if (offset < 0x1000 / 2)
return k056832_ram_word_r(m_k056832, space, offset * 2, mem_mask);
return m_k056832->ram_word_r(space, offset * 2, mem_mask);
else
return k056832_ram_word_r(m_k056832, space, (offset - 0x1000 / 2) * 2 + 1, mem_mask);
return m_k056832->ram_word_r(space, (offset - 0x1000 / 2) * 2 + 1, mem_mask);
}
WRITE16_MEMBER(qdrmfgp_state::gp2_vram_w)
{
if (offset < 0x1000 / 2)
k056832_ram_word_w(m_k056832, space, offset * 2 + 1, data, mem_mask);
m_k056832->ram_word_w(space, offset * 2 + 1, data, mem_mask);
else
k056832_ram_word_w(m_k056832, space, (offset - 0x1000 / 2) * 2, data, mem_mask);
m_k056832->ram_word_w(space, (offset - 0x1000 / 2) * 2, data, mem_mask);
}
WRITE16_MEMBER(qdrmfgp_state::gp2_vram_mirror_w)
{
if (offset < 0x1000 / 2)
k056832_ram_word_w(m_k056832, space, offset * 2, data, mem_mask);
m_k056832->ram_word_w(space, offset * 2, data, mem_mask);
else
k056832_ram_word_w(m_k056832, space, (offset - 0x1000 / 2) * 2 + 1, data, mem_mask);
m_k056832->ram_word_w(space, (offset - 0x1000 / 2) * 2 + 1, data, mem_mask);
}
@ -278,7 +277,7 @@ static ADDRESS_MAP_START( qdrmfgp_map, AS_PROGRAM, 16, qdrmfgp_state )
AM_RANGE(0x100000, 0x10ffff) AM_RAM AM_SHARE("workram") /* work ram */
AM_RANGE(0x180000, 0x183fff) AM_RAM AM_SHARE("nvram") /* backup ram */
AM_RANGE(0x280000, 0x280fff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x300000, 0x30003f) AM_DEVWRITE_LEGACY("k056832", k056832_word_w) /* video reg */
AM_RANGE(0x300000, 0x30003f) AM_DEVWRITE("k056832", k056832_device, word_w) /* video reg */
AM_RANGE(0x320000, 0x32001f) AM_DEVREADWRITE8("k053252", k053252_device, read, write, 0x00ff) /* ccu */
AM_RANGE(0x330000, 0x330001) AM_READ_PORT("SENSOR") /* battery power & service sw */
AM_RANGE(0x340000, 0x340001) AM_READ_PORT("340000") /* inputport */
@ -287,8 +286,8 @@ static ADDRESS_MAP_START( qdrmfgp_map, AS_PROGRAM, 16, qdrmfgp_state )
AM_RANGE(0x370000, 0x370001) AM_WRITE(gp_control_w) /* control reg */
AM_RANGE(0x380000, 0x380001) AM_WRITENOP /* Watchdog */
AM_RANGE(0x800000, 0x80045f) AM_DEVREADWRITE8("k054539", k054539_device, read, write, 0x00ff) /* sound regs */
AM_RANGE(0x880000, 0x881fff) AM_DEVREADWRITE_LEGACY("k056832", k056832_ram_word_r, k056832_ram_word_w) /* vram */
AM_RANGE(0x882000, 0x883fff) AM_DEVREADWRITE_LEGACY("k056832", k056832_ram_word_r, k056832_ram_word_w) /* vram (mirror) */
AM_RANGE(0x880000, 0x881fff) AM_DEVREADWRITE("k056832", k056832_device, ram_word_r, ram_word_w) /* vram */
AM_RANGE(0x882000, 0x883fff) AM_DEVREADWRITE("k056832", k056832_device, ram_word_r, ram_word_w) /* vram (mirror) */
AM_RANGE(0x900000, 0x901fff) AM_READ(v_rom_r) /* gfxrom through */
AM_RANGE(0xa00000, 0xa0000f) AM_DEVREADWRITE("ata", ata_interface_device, read_cs0, write_cs0) /* IDE control regs */
AM_RANGE(0xa40000, 0xa4000f) AM_DEVREADWRITE("ata", ata_interface_device, read_cs1, write_cs1) /* IDE status control reg */
@ -301,7 +300,7 @@ static ADDRESS_MAP_START( qdrmfgp2_map, AS_PROGRAM, 16, qdrmfgp_state )
AM_RANGE(0x100000, 0x110fff) AM_RAM AM_SHARE("workram") /* work ram */
AM_RANGE(0x180000, 0x183fff) AM_RAM AM_SHARE("nvram") /* backup ram */
AM_RANGE(0x280000, 0x280fff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x300000, 0x30003f) AM_DEVWRITE_LEGACY("k056832", k056832_word_w) /* video reg */
AM_RANGE(0x300000, 0x30003f) AM_DEVWRITE("k056832", k056832_device, word_w) /* video reg */
AM_RANGE(0x320000, 0x32001f) AM_DEVREADWRITE8("k053252", k053252_device, read, write, 0xff00) /* ccu */
AM_RANGE(0x330000, 0x330001) AM_READ_PORT("SENSOR") /* battery power & service */
AM_RANGE(0x340000, 0x340001) AM_READ_PORT("340000") /* inputport */

View File

@ -12,7 +12,6 @@
#include "emu.h"
#include "cpu/z80/z80.h"
#include "video/konicdev.h"
#include "cpu/m6809/konami.h" /* for the callback and the firq irq definition */
#include "sound/3812intf.h"
#include "sound/k053260.h"
@ -33,7 +32,7 @@ WRITE8_MEMBER(rollerg_state::rollerg_0010_w)
m_readzoomroms = data & 0x04;
/* bit 5 enables 051316 wraparound */
k051316_wraparound_enable(m_k051316, data & 0x20);
m_k051316->wraparound_enable(data & 0x20);
/* other bits unknown */
}
@ -41,9 +40,9 @@ WRITE8_MEMBER(rollerg_state::rollerg_0010_w)
READ8_MEMBER(rollerg_state::rollerg_k051316_r)
{
if (m_readzoomroms)
return k051316_rom_r(m_k051316, space, offset);
return m_k051316->rom_r(space, offset);
else
return k051316_r(m_k051316, space, offset);
return m_k051316->read(space, offset);
}
READ8_MEMBER(rollerg_state::rollerg_sound_r)
@ -93,9 +92,9 @@ static ADDRESS_MAP_START( rollerg_map, AS_PROGRAM, 8, rollerg_state )
AM_RANGE(0x0060, 0x0060) AM_READ_PORT("DSW2")
AM_RANGE(0x0061, 0x0061) AM_READ(pip_r) /* ????? */
AM_RANGE(0x0100, 0x010f) AM_DEVREADWRITE("k053252", k053252_device, read, write) /* 053252? */
AM_RANGE(0x0200, 0x020f) AM_DEVWRITE_LEGACY("k051316", k051316_ctrl_w)
AM_RANGE(0x0200, 0x020f) AM_DEVWRITE("k051316", k051316_device, ctrl_w)
AM_RANGE(0x0300, 0x030f) AM_DEVREADWRITE("k053244", k05324x_device, k053244_r, k053244_w)
AM_RANGE(0x0800, 0x0fff) AM_READ(rollerg_k051316_r) AM_DEVWRITE_LEGACY("k051316", k051316_w)
AM_RANGE(0x0800, 0x0fff) AM_READ(rollerg_k051316_r) AM_DEVWRITE("k051316", k051316_device, write)
AM_RANGE(0x1000, 0x17ff) AM_DEVREADWRITE("k053244", k05324x_device, k053245_r, k053245_w)
AM_RANGE(0x1800, 0x1fff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_byte_be_w) AM_SHARE("paletteram")
AM_RANGE(0x2000, 0x3aff) AM_RAM

View File

@ -190,9 +190,9 @@ static ADDRESS_MAP_START( rungun_map, AS_PROGRAM, 16, rungun_state )
AM_RANGE(0x600000, 0x600fff) AM_DEVREADWRITE_LEGACY("k055673", k053247_word_r, k053247_word_w) // OBJ RAM
AM_RANGE(0x601000, 0x601fff) AM_RAM // communication? second monitor buffer?
AM_RANGE(0x640000, 0x640007) AM_DEVWRITE_LEGACY("k055673", k053246_word_w) // '246A registers
AM_RANGE(0x680000, 0x68001f) AM_DEVWRITE_LEGACY("k053936", k053936_ctrl_w) // '936 registers
AM_RANGE(0x680000, 0x68001f) AM_DEVWRITE("k053936", k053936_device, ctrl_w) // '936 registers
AM_RANGE(0x6c0000, 0x6cffff) AM_RAM_WRITE(rng_936_videoram_w) AM_SHARE("936_videoram") // PSAC2 ('936) RAM (34v + 35v)
AM_RANGE(0x700000, 0x7007ff) AM_DEVREADWRITE_LEGACY("k053936", k053936_linectrl_r, k053936_linectrl_w) // PSAC "Line RAM"
AM_RANGE(0x700000, 0x7007ff) AM_DEVREADWRITE("k053936", k053936_device, linectrl_r, linectrl_w) // PSAC "Line RAM"
AM_RANGE(0x740000, 0x741fff) AM_READWRITE(rng_ttl_ram_r, rng_ttl_ram_w) // text plane RAM
AM_RANGE(0x7c0000, 0x7c0001) AM_WRITENOP // watchdog
#if RNG_DEBUG

View File

@ -133,10 +133,10 @@ static ADDRESS_MAP_START( suprslam_map, AS_PROGRAM, 16, suprslam_state )
AM_RANGE(0xff0000, 0xff1fff) AM_RAM_WRITE(suprslam_bg_videoram_w) AM_SHARE("bg_videoram")
AM_RANGE(0xff2000, 0xff203f) AM_RAM AM_SHARE("screen_vregs")
// AM_RANGE(0xff3000, 0xff3001) AM_WRITENOP // sprite buffer trigger?
AM_RANGE(0xff8000, 0xff8fff) AM_DEVREADWRITE_LEGACY("k053936", k053936_linectrl_r, k053936_linectrl_w)
AM_RANGE(0xff8000, 0xff8fff) AM_DEVREADWRITE("k053936", k053936_device, linectrl_r, linectrl_w)
AM_RANGE(0xff9000, 0xff9001) AM_WRITE(sound_command_w)
AM_RANGE(0xffa000, 0xffafff) AM_RAM_WRITE(paletteram_xGGGGGBBBBBRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0xffd000, 0xffd01f) AM_DEVWRITE_LEGACY("k053936", k053936_ctrl_w)
AM_RANGE(0xffd000, 0xffd01f) AM_DEVWRITE("k053936", k053936_device, ctrl_w)
AM_RANGE(0xffe000, 0xffe001) AM_WRITE(suprslam_bank_w)
AM_RANGE(0xfff000, 0xfff001) AM_READ_PORT("P1")
AM_RANGE(0xfff002, 0xfff003) AM_READ_PORT("P2")

View File

@ -11,7 +11,6 @@
#include "emu.h"
#include "cpu/m68000/m68000.h"
#include "video/konicdev.h"
#include "cpu/z80/z80.h"
#include "sound/2608intf.h"
#include "includes/tail2nos.h"
@ -36,8 +35,8 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, tail2nos_state )
AM_RANGE(0x200000, 0x27ffff) AM_ROMBANK("bank1") /* extra ROM */
AM_RANGE(0x2c0000, 0x2dffff) AM_ROMBANK("bank2")
AM_RANGE(0x400000, 0x41ffff) AM_READWRITE(tail2nos_zoomdata_r, tail2nos_zoomdata_w)
AM_RANGE(0x500000, 0x500fff) AM_DEVREADWRITE8_LEGACY("k051316", k051316_r, k051316_w, 0x00ff)
AM_RANGE(0x510000, 0x51001f) AM_DEVWRITE8_LEGACY("k051316", k051316_ctrl_w, 0x00ff)
AM_RANGE(0x500000, 0x500fff) AM_DEVREADWRITE8("k051316", k051316_device, read, write, 0x00ff)
AM_RANGE(0x510000, 0x51001f) AM_DEVWRITE8("k051316", k051316_device, ctrl_w, 0x00ff)
AM_RANGE(0xff8000, 0xffbfff) AM_RAM /* work RAM */
AM_RANGE(0xffc000, 0xffc2ff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0xffc300, 0xffcfff) AM_RAM

View File

@ -46,11 +46,11 @@ VIDEO_START_MEMBER(kongambl_state,kongambl)
#if CUSTOM_DRAW
#else
k056832_set_layer_association(m_k056832, 0);
k056832_set_layer_offs(m_k056832, 0, -2, 0);
k056832_set_layer_offs(m_k056832, 1, 2, 0);
k056832_set_layer_offs(m_k056832, 2, 4, 0);
k056832_set_layer_offs(m_k056832, 3, 6, 0);
m_k056832->set_layer_association(0);
m_k056832->set_layer_offs(0, -2, 0);
m_k056832->set_layer_offs(1, 2, 0);
m_k056832->set_layer_offs(2, 4, 0);
m_k056832->set_layer_offs(3, 6, 0);
#endif
}
@ -95,10 +95,10 @@ UINT32 kongambl_state::screen_update_kongambl(screen_device &screen, bitmap_ind1
bitmap.fill(0, cliprect);
machine().priority_bitmap.fill(0, cliprect);
k056832_tilemap_draw(m_k056832, bitmap, cliprect, 3, 0, 0);
k056832_tilemap_draw(m_k056832, bitmap, cliprect, 2, 0, 0);
k056832_tilemap_draw(m_k056832, bitmap, cliprect, 1, 0, 0);
k056832_tilemap_draw(m_k056832, bitmap, cliprect, 0, 0, 0);
m_k056832->tilemap_draw(bitmap, cliprect, 3, 0, 0);
m_k056832->tilemap_draw(bitmap, cliprect, 2, 0, 0);
m_k056832->tilemap_draw(bitmap, cliprect, 1, 0, 0);
m_k056832->tilemap_draw(bitmap, cliprect, 0, 0, 0);
#endif
return 0;
}

View File

@ -65,7 +65,6 @@ Updates:
***************************************************************************/
#include "emu.h"
#include "video/konicdev.h"
#include "machine/eeprom.h"
#include "cpu/m68000/m68000.h"
#include "cpu/z80/z80.h"
@ -659,7 +658,7 @@ static ADDRESS_MAP_START( blswhstl_main_map, AS_PROGRAM, 16, tmnt_state )
AM_RANGE(0x204000, 0x207fff) AM_RAM /* main RAM */
AM_RANGE(0x300000, 0x303fff) AM_READWRITE(k053245_scattered_word_r, k053245_scattered_word_w) AM_SHARE("spriteram")
AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x500000, 0x50003f) AM_DEVREADWRITE_LEGACY("k054000", k054000_lsb_r, k054000_lsb_w)
AM_RANGE(0x500000, 0x50003f) AM_DEVREADWRITE("k054000", k054000_device, lsb_r, lsb_w)
AM_RANGE(0x680000, 0x68001f) AM_READWRITE(k053244_word_noA1_r, k053244_word_noA1_w)
AM_RANGE(0x700000, 0x700001) AM_READ_PORT("P1")
AM_RANGE(0x700002, 0x700003) AM_READ_PORT("P2")
@ -701,10 +700,10 @@ static ADDRESS_MAP_START( glfgreat_main_map, AS_PROGRAM, 16, tmnt_state )
AM_RANGE(0x100000, 0x103fff) AM_RAM /* main RAM */
AM_RANGE(0x104000, 0x107fff) AM_READWRITE(k053245_scattered_word_r, k053245_scattered_word_w) AM_SHARE("spriteram")
AM_RANGE(0x108000, 0x108fff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x10c000, 0x10cfff) AM_DEVREADWRITE_LEGACY("k053936", k053936_linectrl_r, k053936_linectrl_w) /* 053936? */
AM_RANGE(0x10c000, 0x10cfff) AM_DEVREADWRITE("k053936", k053936_device, linectrl_r, linectrl_w) /* 053936? */
AM_RANGE(0x110000, 0x11001f) AM_WRITE(k053244_word_noA1_w) /* duplicate! */
AM_RANGE(0x114000, 0x11401f) AM_DEVREADWRITE("k053245", k05324x_device, k053244_lsb_r, k053244_lsb_w) /* duplicate! */
AM_RANGE(0x118000, 0x11801f) AM_DEVWRITE_LEGACY("k053936", k053936_ctrl_w)
AM_RANGE(0x118000, 0x11801f) AM_DEVWRITE("k053936", k053936_device, ctrl_w)
AM_RANGE(0x11c000, 0x11c01f) AM_DEVWRITE_LEGACY("k053251", k053251_msb_w)
AM_RANGE(0x11c000, 0x11c01f) AM_WRITE(k053251_glfgreat_w)
AM_RANGE(0x120000, 0x120001) AM_READ_PORT("P1/P2")
@ -725,10 +724,10 @@ static ADDRESS_MAP_START( prmrsocr_main_map, AS_PROGRAM, 16, tmnt_state )
AM_RANGE(0x100000, 0x103fff) AM_RAM /* main RAM */
AM_RANGE(0x104000, 0x107fff) AM_READWRITE(k053245_scattered_word_r, k053245_scattered_word_w) AM_SHARE("spriteram")
AM_RANGE(0x108000, 0x108fff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x10c000, 0x10cfff) AM_DEVREADWRITE_LEGACY("k053936", k053936_linectrl_r, k053936_linectrl_w)
AM_RANGE(0x10c000, 0x10cfff) AM_DEVREADWRITE("k053936", k053936_device, linectrl_r, linectrl_w)
AM_RANGE(0x110000, 0x11001f) AM_WRITE(k053244_word_noA1_w) /* duplicate! */
AM_RANGE(0x114000, 0x11401f) AM_DEVREADWRITE("k053245", k05324x_device, k053244_lsb_r, k053244_lsb_w) /* duplicate! */
AM_RANGE(0x118000, 0x11801f) AM_DEVWRITE_LEGACY("k053936", k053936_ctrl_w)
AM_RANGE(0x118000, 0x11801f) AM_DEVWRITE("k053936", k053936_device, ctrl_w)
AM_RANGE(0x11c000, 0x11c01f) AM_DEVWRITE_LEGACY("k053251", k053251_msb_w)
AM_RANGE(0x11c000, 0x11c01f) AM_WRITE(k053251_glfgreat_w)
AM_RANGE(0x120000, 0x120001) AM_READ_PORT("P1/COINS")
@ -1064,7 +1063,7 @@ static ADDRESS_MAP_START( thndrx2_main_map, AS_PROGRAM, 16, tmnt_state )
AM_RANGE(0x300000, 0x30001f) AM_DEVWRITE_LEGACY("k053251", k053251_lsb_w)
AM_RANGE(0x400000, 0x400003) AM_READ8(punkshot_sound_r, 0x00ff) /* K053260 */
AM_RANGE(0x400000, 0x400001) AM_DEVWRITE8("k053260", k053260_device, k053260_w, 0x00ff)
AM_RANGE(0x500000, 0x50003f) AM_DEVREADWRITE_LEGACY("k054000", k054000_lsb_r, k054000_lsb_w)
AM_RANGE(0x500000, 0x50003f) AM_DEVREADWRITE("k054000", k054000_device, lsb_r, lsb_w)
AM_RANGE(0x500100, 0x500101) AM_WRITE(thndrx2_eeprom_w)
AM_RANGE(0x500200, 0x500201) AM_READ_PORT("P1/COINS")
AM_RANGE(0x500202, 0x500203) AM_READ(thndrx2_eeprom_r)

View File

@ -12,7 +12,6 @@
#include "emu.h"
#include "cpu/z80/z80.h"
#include "cpu/m68000/m68000.h"
#include "video/konicdev.h"
#include "sound/2151intf.h"
#include "sound/okim6295.h"
#include "includes/ultraman.h"
@ -43,12 +42,12 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, ultraman_state )
AM_RANGE(0x1c0020, 0x1c0021) AM_WRITE(sound_cmd_w)
AM_RANGE(0x1c0028, 0x1c0029) AM_WRITE(sound_irq_trigger_w)
AM_RANGE(0x1c0030, 0x1c0031) AM_WRITE(watchdog_reset16_w)
AM_RANGE(0x204000, 0x204fff) AM_DEVREADWRITE8_LEGACY("k051316_1", k051316_r, k051316_w, 0x00ff) /* K051316 #0 RAM */
AM_RANGE(0x205000, 0x205fff) AM_DEVREADWRITE8_LEGACY("k051316_2", k051316_r, k051316_w, 0x00ff) /* K051316 #1 RAM */
AM_RANGE(0x206000, 0x206fff) AM_DEVREADWRITE8_LEGACY("k051316_3", k051316_r, k051316_w, 0x00ff) /* K051316 #2 RAM */
AM_RANGE(0x207f80, 0x207f9f) AM_DEVWRITE8_LEGACY("k051316_1", k051316_ctrl_w, 0x00ff) /* K051316 #0 registers */
AM_RANGE(0x207fa0, 0x207fbf) AM_DEVWRITE8_LEGACY("k051316_2", k051316_ctrl_w, 0x00ff) /* K051316 #1 registers */
AM_RANGE(0x207fc0, 0x207fdf) AM_DEVWRITE8_LEGACY("k051316_3", k051316_ctrl_w, 0x00ff) /* K051316 #2 registers */
AM_RANGE(0x204000, 0x204fff) AM_DEVREADWRITE8("k051316_1", k051316_device, read, write, 0x00ff) /* K051316 #0 RAM */
AM_RANGE(0x205000, 0x205fff) AM_DEVREADWRITE8("k051316_2", k051316_device, read, write, 0x00ff) /* K051316 #1 RAM */
AM_RANGE(0x206000, 0x206fff) AM_DEVREADWRITE8("k051316_3", k051316_device, read, write, 0x00ff) /* K051316 #2 RAM */
AM_RANGE(0x207f80, 0x207f9f) AM_DEVWRITE8("k051316_1", k051316_device, ctrl_w, 0x00ff) /* K051316 #0 registers */
AM_RANGE(0x207fa0, 0x207fbf) AM_DEVWRITE8("k051316_2", k051316_device, ctrl_w, 0x00ff) /* K051316 #1 registers */
AM_RANGE(0x207fc0, 0x207fdf) AM_DEVWRITE8("k051316_3", k051316_device, ctrl_w, 0x00ff) /* K051316 #2 registers */
AM_RANGE(0x304000, 0x30400f) AM_DEVREADWRITE8("k051960", k051960_device, k051937_r, k051937_w, 0x00ff) /* Sprite control */
AM_RANGE(0x304800, 0x304fff) AM_DEVREADWRITE8("k051960", k051960_device, k051960_r, k051960_w, 0x00ff) /* Sprite RAM */
ADDRESS_MAP_END

View File

@ -233,7 +233,7 @@ READ8_MEMBER(vendetta_state::vendetta_sound_r)
static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, vendetta_state )
AM_RANGE(0x0000, 0x1fff) AM_ROMBANK("bank1")
AM_RANGE(0x2000, 0x3fff) AM_RAM
AM_RANGE(0x5f80, 0x5f9f) AM_DEVREADWRITE_LEGACY("k054000", k054000_r, k054000_w)
AM_RANGE(0x5f80, 0x5f9f) AM_DEVREADWRITE("k054000", k054000_device, read, write)
AM_RANGE(0x5fa0, 0x5faf) AM_DEVWRITE_LEGACY("k053251", k053251_w)
AM_RANGE(0x5fb0, 0x5fb7) AM_DEVWRITE_LEGACY("k053246", k053246_w)
AM_RANGE(0x5fc0, 0x5fc0) AM_READ_PORT("P1")

View File

@ -260,7 +260,6 @@ TODO:
#include "emu.h"
#include "cpu/z80/z80.h"
#include "cpu/m68000/m68000.h"
#include "video/konicdev.h"
#include "cpu/m6809/m6809.h"
#include "sound/2151intf.h"
#include "wecleman.lh"
@ -528,10 +527,10 @@ static ADDRESS_MAP_START( hotchase_map, AS_PROGRAM, 16, wecleman_state )
AM_RANGE(0x040000, 0x041fff) AM_RAM // RAM
AM_RANGE(0x060000, 0x063fff) AM_RAM // RAM
AM_RANGE(0x080000, 0x080011) AM_RAM_WRITE(blitter_w) AM_SHARE("blitter_regs") // Blitter
AM_RANGE(0x100000, 0x100fff) AM_DEVREADWRITE8_LEGACY("k051316_1", k051316_r, k051316_w, 0x00ff) // Background
AM_RANGE(0x101000, 0x10101f) AM_DEVWRITE8_LEGACY("k051316_1", k051316_ctrl_w, 0x00ff) // Background Ctrl
AM_RANGE(0x102000, 0x102fff) AM_DEVREADWRITE8_LEGACY("k051316_2", k051316_r, k051316_w, 0x00ff) // Foreground
AM_RANGE(0x103000, 0x10301f) AM_DEVWRITE8_LEGACY("k051316_2", k051316_ctrl_w, 0x00ff) // Foreground Ctrl
AM_RANGE(0x100000, 0x100fff) AM_DEVREADWRITE8("k051316_1", k051316_device, read, write, 0x00ff) // Background
AM_RANGE(0x101000, 0x10101f) AM_DEVWRITE8("k051316_1", k051316_device, ctrl_w, 0x00ff) // Background Ctrl
AM_RANGE(0x102000, 0x102fff) AM_DEVREADWRITE8("k051316_2", k051316_device, read, write, 0x00ff) // Foreground
AM_RANGE(0x103000, 0x10301f) AM_DEVWRITE8("k051316_2", k051316_device, ctrl_w, 0x00ff) // Foreground Ctrl
AM_RANGE(0x110000, 0x111fff) AM_RAM_WRITE(hotchase_paletteram16_SBGRBBBBGGGGRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x120000, 0x123fff) AM_RAM AM_SHARE("share1") // Shared with sub CPU
AM_RANGE(0x130000, 0x130fff) AM_RAM AM_SHARE("spriteram") // Sprites

View File

@ -65,7 +65,6 @@ Unresolved Issues:
#include "sound/k054539.h"
#include "sound/2151intf.h"
#include "sound/flt_vol.h"
#include "video/konicdev.h"
#include "includes/xexex.h"
#include "includes/konamipt.h"
@ -311,7 +310,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, xexex_state )
AM_RANGE(0x090000, 0x097fff) AM_RAM AM_SHARE("spriteram") // K053247 sprite RAM
AM_RANGE(0x098000, 0x09ffff) AM_READWRITE(spriteram_mirror_r, spriteram_mirror_w) // K053247 sprite RAM mirror read
AM_RANGE(0x0c0000, 0x0c003f) AM_DEVWRITE_LEGACY("k056832", k056832_word_w) // VACSET (K054157)
AM_RANGE(0x0c0000, 0x0c003f) AM_DEVWRITE("k056832", k056832_device, word_w) // VACSET (K054157)
AM_RANGE(0x0c2000, 0x0c2007) AM_DEVWRITE_LEGACY("k053246", k053246_word_w) // OBJSET1
AM_RANGE(0x0c4000, 0x0c4001) AM_DEVREAD_LEGACY("k053246", k053246_word_r) // Passthrough to sprite roms
AM_RANGE(0x0c6000, 0x0c7fff) AM_DEVREADWRITE("k053250", k053250_device, ram_r, ram_w) // K053250 "road" RAM
@ -324,25 +323,25 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, xexex_state )
AM_RANGE(0x0d600e, 0x0d600f) AM_WRITE(sound_cmd2_w)
AM_RANGE(0x0d6014, 0x0d6015) AM_READ(sound_status_r)
AM_RANGE(0x0d6000, 0x0d601f) AM_RAM // sound regs fall through
AM_RANGE(0x0d8000, 0x0d8007) AM_DEVWRITE_LEGACY("k056832", k056832_b_word_w) // VSCCS regs
AM_RANGE(0x0d8000, 0x0d8007) AM_DEVWRITE("k056832", k056832_device, b_word_w) // VSCCS regs
AM_RANGE(0x0da000, 0x0da001) AM_READ_PORT("P1")
AM_RANGE(0x0da002, 0x0da003) AM_READ_PORT("P2")
AM_RANGE(0x0dc000, 0x0dc001) AM_READ_PORT("SYSTEM")
AM_RANGE(0x0dc002, 0x0dc003) AM_READ_PORT("EEPROM")
AM_RANGE(0x0de000, 0x0de001) AM_READWRITE(control2_r, control2_w)
AM_RANGE(0x100000, 0x17ffff) AM_ROM
AM_RANGE(0x180000, 0x181fff) AM_DEVREADWRITE_LEGACY("k056832", k056832_ram_word_r, k056832_ram_word_w)
AM_RANGE(0x182000, 0x183fff) AM_DEVREADWRITE_LEGACY("k056832", k056832_ram_word_r, k056832_ram_word_w)
AM_RANGE(0x190000, 0x191fff) AM_DEVREAD_LEGACY("k056832", k056832_rom_word_r) // Passthrough to tile roms
AM_RANGE(0x180000, 0x181fff) AM_DEVREADWRITE("k056832", k056832_device, ram_word_r, ram_word_w)
AM_RANGE(0x182000, 0x183fff) AM_DEVREADWRITE("k056832", k056832_device, ram_word_r, ram_word_w)
AM_RANGE(0x190000, 0x191fff) AM_DEVREAD("k056832", k056832_device, rom_word_r) // Passthrough to tile roms
AM_RANGE(0x1a0000, 0x1a1fff) AM_DEVREAD("k053250", k053250_device, rom_r)
AM_RANGE(0x1b0000, 0x1b1fff) AM_RAM_WRITE(paletteram_xrgb_word_be_w) AM_SHARE("paletteram")
#if XE_DEBUG
AM_RANGE(0x0c0000, 0x0c003f) AM_DEVREAD_LEGACY("k056832", k056832_word_r)
AM_RANGE(0x0c0000, 0x0c003f) AM_DEVREAD("k056832", k056832_device, word_r)
AM_RANGE(0x0c2000, 0x0c2007) AM_DEVREAD_LEGACY("k053246", k053246_reg_word_r)
AM_RANGE(0x0ca000, 0x0ca01f) AM_DEVREAD_LEGACY("k054338", k054338_word_r)
AM_RANGE(0x0cc000, 0x0cc01f) AM_DEVREAD_LEGACY("k053251", k053251_lsb_r)
AM_RANGE(0x0d8000, 0x0d8007) AM_DEVREAD_LEGACY("k056832", k056832_b_word_r)
AM_RANGE(0x0d8000, 0x0d8007) AM_DEVREAD("k056832", k056832_device, b_word_r)
#endif
ADDRESS_MAP_END

View File

@ -279,14 +279,14 @@ static void game_tile_callback(running_machine &machine, int layer, int *code, i
VIDEO_START_MEMBER(zr107_state,zr107)
{
k056832_set_layer_offs(m_k056832, 0, -29, -27);
k056832_set_layer_offs(m_k056832, 1, -29, -27);
k056832_set_layer_offs(m_k056832, 2, -29, -27);
k056832_set_layer_offs(m_k056832, 3, -29, -27);
k056832_set_layer_offs(m_k056832, 4, -29, -27);
k056832_set_layer_offs(m_k056832, 5, -29, -27);
k056832_set_layer_offs(m_k056832, 6, -29, -27);
k056832_set_layer_offs(m_k056832, 7, -29, -27);
m_k056832->set_layer_offs(0, -29, -27);
m_k056832->set_layer_offs(1, -29, -27);
m_k056832->set_layer_offs(2, -29, -27);
m_k056832->set_layer_offs(3, -29, -27);
m_k056832->set_layer_offs(4, -29, -27);
m_k056832->set_layer_offs(5, -29, -27);
m_k056832->set_layer_offs(6, -29, -27);
m_k056832->set_layer_offs(7, -29, -27);
K001006_init(machine());
K001005_init(machine());
@ -296,9 +296,9 @@ UINT32 zr107_state::screen_update_zr107(screen_device &screen, bitmap_rgb32 &bit
{
bitmap.fill(machine().pens[0], cliprect);
k056832_tilemap_draw(m_k056832, bitmap, cliprect, 1, 0, 0);
m_k056832->tilemap_draw(bitmap, cliprect, 1, 0, 0);
K001005_draw(bitmap, cliprect);
k056832_tilemap_draw(m_k056832, bitmap, cliprect, 0, 0, 0);
m_k056832->tilemap_draw(bitmap, cliprect, 0, 0, 0);
draw_7segment_led(bitmap, 3, 3, m_led_reg0);
draw_7segment_led(bitmap, 9, 3, m_led_reg1);
@ -437,11 +437,11 @@ void zr107_state::machine_start()
static ADDRESS_MAP_START( zr107_map, AS_PROGRAM, 32, zr107_state )
AM_RANGE(0x00000000, 0x000fffff) AM_RAM AM_SHARE("workram") /* Work RAM */
AM_RANGE(0x74000000, 0x74003fff) AM_DEVREADWRITE_LEGACY("k056832", k056832_ram_long_r, k056832_ram_long_w)
AM_RANGE(0x74020000, 0x7402003f) AM_DEVREADWRITE_LEGACY("k056832", k056832_long_r, k056832_long_w)
AM_RANGE(0x74000000, 0x74003fff) AM_DEVREADWRITE("k056832", k056832_device, ram_long_r, ram_long_w)
AM_RANGE(0x74020000, 0x7402003f) AM_DEVREADWRITE("k056832", k056832_device, long_r, long_w)
AM_RANGE(0x74060000, 0x7406003f) AM_READWRITE(ccu_r, ccu_w)
AM_RANGE(0x74080000, 0x74081fff) AM_RAM_WRITE(paletteram32_w) AM_SHARE("paletteram")
AM_RANGE(0x740a0000, 0x740a3fff) AM_DEVREAD_LEGACY("k056832", k056832_rom_long_r)
AM_RANGE(0x740a0000, 0x740a3fff) AM_DEVREAD("k056832", k056832_device, rom_long_r)
AM_RANGE(0x78000000, 0x7800ffff) AM_READWRITE_LEGACY(cgboard_dsp_shared_r_ppc, cgboard_dsp_shared_w_ppc) /* 21N 21K 23N 23K */
AM_RANGE(0x78010000, 0x7801ffff) AM_WRITE_LEGACY(cgboard_dsp_shared_w_ppc)
AM_RANGE(0x78040000, 0x7804000f) AM_READWRITE_LEGACY(K001006_0_r, K001006_0_w)

View File

@ -4,6 +4,7 @@
*************************************************************************/
#include "sound/upd7759.h"
#include "video/konicdev.h"
class _88games_state : public driver_device
{

View File

@ -1,4 +1,6 @@
#include "sound/k007232.h"
#include "video/konicdev.h"
class ajax_state : public driver_device
{
public:

View File

@ -4,6 +4,7 @@
*************************************************************************/
#include "sound/k053260.h"
#include "video/konicdev.h"
class asterix_state : public driver_device
{

View File

@ -4,6 +4,8 @@
*************************************************************************/
#include "video/konicdev.h"
#define CPU_CLOCK (XTAL_24MHz / 2) /* 68000 clock */
#define SOUND_CLOCK XTAL_16_9344MHz /* YMZ280 clock */

View File

@ -4,6 +4,7 @@
*************************************************************************/
#include "sound/k007232.h"
#include "video/konicdev.h"
class bottom9_state : public driver_device
{

View File

@ -4,6 +4,7 @@
*************************************************************************/
#include "sound/k007232.h"
#include "video/konicdev.h"
class chqflag_state : public driver_device
{

View File

@ -1,4 +1,5 @@
#include "machine/ataintf.h"
#include "video/konicdev.h"
class djmain_state : public driver_device
{

View File

@ -4,6 +4,7 @@
*************************************************************************/
#include "sound/k054539.h"
#include "video/konicdev.h"
class gijoe_state : public driver_device
{

View File

@ -4,6 +4,7 @@
*************************************************************************/
#include "sound/k054539.h"
#include "video/konicdev.h"
class lethal_state : public driver_device
{

View File

@ -5,6 +5,7 @@
*************************************************************************/
#include "sound/upd7759.h"
#include "sound/k007232.h"
#include "video/konicdev.h"
class mainevt_state : public driver_device
{

View File

@ -6,6 +6,7 @@
#include "sound/okim6295.h"
#include "sound/k054539.h"
#include "machine/k053252.h"
#include "video/konicdev.h"
class moo_state : public driver_device
{

View File

@ -5,6 +5,7 @@
*************************************************************************/
#include "sound/k053260.h"
#include "machine/k053252.h"
#include "video/konicdev.h"
class overdriv_state : public driver_device
{

View File

@ -1,6 +1,7 @@
#include "machine/ataintf.h"
#include "sound/k054539.h"
#include "machine/k053252.h"
#include "video/konicdev.h"
class qdrmfgp_state : public driver_device
{

View File

@ -5,6 +5,7 @@
*************************************************************************/
#include "sound/k053260.h"
#include "machine/k053252.h"
#include "video/konicdev.h"
class rollerg_state : public driver_device
{

View File

@ -4,6 +4,8 @@
*************************************************************************/
#include "video/konicdev.h"
class tail2nos_state : public driver_device
{
public:

View File

@ -3,6 +3,7 @@
#include "sound/k007232.h"
#include "sound/k053260.h"
#include "sound/k054539.h"
#include "video/konicdev.h"
class tmnt_state : public driver_device
{

View File

@ -4,6 +4,8 @@
*************************************************************************/
#include "video/konicdev.h"
class ultraman_state : public driver_device
{
public:

View File

@ -1,4 +1,5 @@
#include "sound/k007232.h"
#include "video/konicdev.h"
class wecleman_state : public driver_device
{

View File

@ -8,6 +8,7 @@
#include "sound/flt_vol.h"
#include "sound/k054539.h"
#include "machine/k053252.h"
#include "video/konicdev.h"
class xexex_state : public driver_device
{

View File

@ -183,7 +183,7 @@ WRITE8_MEMBER(ajax_state::ajax_bankswitch_2_w)
m_k052109->set_rmrd_line((data & 0x40) ? ASSERT_LINE : CLEAR_LINE);
/* bit 5 enables 051316 wraparound */
k051316_wraparound_enable(m_k051316, data & 0x20);
m_k051316->wraparound_enable(data & 0x20);
/* FIRQ control */
m_firq_enable = data & 0x10;

View File

@ -1,5 +1,4 @@
#include "emu.h"
#include "video/konicdev.h"
#include "includes/88games.h"
@ -65,12 +64,12 @@ UINT32 _88games_state::screen_update_88games(screen_device &screen, bitmap_ind16
m_k052109->tilemap_draw(bitmap, cliprect, 2, 0, 0); // tile 2
m_k052109->tilemap_draw(bitmap, cliprect, 1, 0, 0); // tile 1
m_k051960->k051960_sprites_draw(bitmap, cliprect, 0, 0);
k051316_zoom_draw(m_k051316, bitmap, cliprect, 0, 0);
m_k051316->zoom_draw(bitmap, cliprect, 0, 0);
}
else
{
m_k052109->tilemap_draw(bitmap, cliprect, 2, TILEMAP_DRAW_OPAQUE, 0); // tile 2
k051316_zoom_draw(m_k051316, bitmap, cliprect, 0, 0);
m_k051316->zoom_draw(bitmap, cliprect, 0, 0);
m_k051960->k051960_sprites_draw(bitmap, cliprect, 0, 0);
m_k052109->tilemap_draw(bitmap, cliprect, 1, 0, 0); // tile 1
m_k051960->k051960_sprites_draw(bitmap, cliprect, 1, 1);

View File

@ -7,7 +7,6 @@
***************************************************************************/
#include "emu.h"
#include "video/konicdev.h"
#include "includes/ajax.h"
@ -96,14 +95,14 @@ UINT32 ajax_state::screen_update_ajax(screen_device &screen, bitmap_ind16 &bitma
if (m_priority)
{
/* basic layer order is B, zoom, A, F */
k051316_zoom_draw(m_k051316, bitmap, cliprect, 0, 4);
m_k051316->zoom_draw(bitmap, cliprect, 0, 4);
m_k052109->tilemap_draw(bitmap, cliprect, 1, 0, 2);
}
else
{
/* basic layer order is B, A, zoom, F */
m_k052109->tilemap_draw(bitmap, cliprect, 1, 0, 2);
k051316_zoom_draw(m_k051316, bitmap, cliprect, 0, 4);
m_k051316->zoom_draw(bitmap, cliprect, 0, 4);
}
m_k052109->tilemap_draw(bitmap, cliprect, 0, 0, 8);

View File

@ -1,5 +1,4 @@
#include "emu.h"
#include "video/konicdev.h"
#include "includes/asterix.h"
@ -51,26 +50,26 @@ UINT32 asterix_state::screen_update_asterix(screen_device &screen, bitmap_ind16
int layer[3], plane, new_colorbase;
/* Layer offsets are different if horizontally flipped */
if (k056832_read_register(m_k056832, 0x0) & 0x10)
if (m_k056832->read_register(0x0) & 0x10)
{
k056832_set_layer_offs(m_k056832, 0, 89 - 176, 0);
k056832_set_layer_offs(m_k056832, 1, 91 - 176, 0);
k056832_set_layer_offs(m_k056832, 2, 89 - 176, 0);
k056832_set_layer_offs(m_k056832, 3, 95 - 176, 0);
m_k056832->set_layer_offs(0, 89 - 176, 0);
m_k056832->set_layer_offs(1, 91 - 176, 0);
m_k056832->set_layer_offs(2, 89 - 176, 0);
m_k056832->set_layer_offs(3, 95 - 176, 0);
}
else
{
k056832_set_layer_offs(m_k056832, 0, 89, 0);
k056832_set_layer_offs(m_k056832, 1, 91, 0);
k056832_set_layer_offs(m_k056832, 2, 89, 0);
k056832_set_layer_offs(m_k056832, 3, 95, 0);
m_k056832->set_layer_offs(0, 89, 0);
m_k056832->set_layer_offs(1, 91, 0);
m_k056832->set_layer_offs(2, 89, 0);
m_k056832->set_layer_offs(3, 95, 0);
}
m_tilebanks[0] = (k056832_get_lookup(m_k056832, 0) << 10);
m_tilebanks[1] = (k056832_get_lookup(m_k056832, 1) << 10);
m_tilebanks[2] = (k056832_get_lookup(m_k056832, 2) << 10);
m_tilebanks[3] = (k056832_get_lookup(m_k056832, 3) << 10);
m_tilebanks[0] = (m_k056832->get_lookup(0) << 10);
m_tilebanks[1] = (m_k056832->get_lookup(1) << 10);
m_tilebanks[2] = (m_k056832->get_lookup(2) << 10);
m_tilebanks[3] = (m_k056832->get_lookup(3) << 10);
// update color info and refresh tilemaps
m_sprite_colorbase = k053251_get_palette_index(m_k053251, K053251_CI1);
@ -81,7 +80,7 @@ UINT32 asterix_state::screen_update_asterix(screen_device &screen, bitmap_ind16
if (m_layer_colorbase[plane] != new_colorbase)
{
m_layer_colorbase[plane] = new_colorbase;
k056832_mark_plane_dirty(m_k056832, plane);
m_k056832->mark_plane_dirty(plane);
}
}
@ -97,14 +96,14 @@ UINT32 asterix_state::screen_update_asterix(screen_device &screen, bitmap_ind16
machine().priority_bitmap.fill(0, cliprect);
bitmap.fill(0, cliprect);
k056832_tilemap_draw(m_k056832, bitmap, cliprect, layer[0], K056832_DRAW_FLAG_MIRROR, 1);
k056832_tilemap_draw(m_k056832, bitmap, cliprect, layer[1], K056832_DRAW_FLAG_MIRROR, 2);
k056832_tilemap_draw(m_k056832, bitmap, cliprect, layer[2], K056832_DRAW_FLAG_MIRROR, 4);
m_k056832->tilemap_draw(bitmap, cliprect, layer[0], K056832_DRAW_FLAG_MIRROR, 1);
m_k056832->tilemap_draw(bitmap, cliprect, layer[1], K056832_DRAW_FLAG_MIRROR, 2);
m_k056832->tilemap_draw(bitmap, cliprect, layer[2], K056832_DRAW_FLAG_MIRROR, 4);
/* this isn't supported anymore and it is unsure if still needed; keeping here for reference
pdrawgfx_shadow_lowpri = 1; fix shadows in front of feet */
m_k053244->k053245_sprites_draw(bitmap, cliprect);
k056832_tilemap_draw(m_k056832, bitmap, cliprect, 2, K056832_DRAW_FLAG_MIRROR, 0);
m_k056832->tilemap_draw(bitmap, cliprect, 2, K056832_DRAW_FLAG_MIRROR, 0);
return 0;
}

View File

@ -8,7 +8,6 @@
***************************************************************************/
#include "emu.h"
#include "video/konicdev.h"
#include "includes/bishi.h"
@ -28,12 +27,12 @@ void bishi_state::video_start()
{
assert(machine().primary_screen->format() == BITMAP_FORMAT_RGB32);
k056832_set_layer_association(m_k056832, 0);
m_k056832->set_layer_association(0);
k056832_set_layer_offs(m_k056832, 0, -2, 0);
k056832_set_layer_offs(m_k056832, 1, 2, 0);
k056832_set_layer_offs(m_k056832, 2, 4, 0);
k056832_set_layer_offs(m_k056832, 3, 6, 0);
m_k056832->set_layer_offs(0, -2, 0);
m_k056832->set_layer_offs(1, 2, 0);
m_k056832->set_layer_offs(2, 4, 0);
m_k056832->set_layer_offs(3, 6, 0);
// the 55555 is set to "0x10, 0x11, 0x12, 0x13", but these values are almost correct...
m_layer_colorbase[0] = 0x00;
@ -66,7 +65,7 @@ UINT32 bishi_state::screen_update_bishi(screen_device &screen, bitmap_rgb32 &bit
{
if (k055555_read_register(m_k055555, K55_INPUT_ENABLES) & enables[layers[i]])
{
k056832_tilemap_draw(m_k056832, bitmap, cliprect, layers[i], 0, 1 << i);
m_k056832->tilemap_draw(bitmap, cliprect, layers[i], 0, 1 << i);
}
}
return 0;

View File

@ -1,5 +1,4 @@
#include "emu.h"
#include "video/konicdev.h"
#include "includes/bottom9.h"
@ -80,7 +79,7 @@ UINT32 bottom9_state::screen_update_bottom9(screen_device &screen, bitmap_ind16
// if (m_video_enable)
{
m_k051960->k051960_sprites_draw(bitmap, cliprect, 1, 1);
k051316_zoom_draw(m_k051316, bitmap, cliprect, 0, 0);
m_k051316->zoom_draw(bitmap, cliprect, 0, 0);
m_k051960->k051960_sprites_draw(bitmap, cliprect, 0, 0);
m_k052109->tilemap_draw(bitmap, cliprect, 2, 0, 0);
/* note that priority 3 is opposite to the basic layer priority! */

View File

@ -7,7 +7,6 @@
***************************************************************************/
#include "emu.h"
#include "video/konicdev.h"
#include "includes/chqflag.h"
@ -71,10 +70,10 @@ UINT32 chqflag_state::screen_update_chqflag(screen_device &screen, bitmap_ind16
{
bitmap.fill(0, cliprect);
k051316_zoom_draw(m_k051316_2, bitmap, cliprect, TILEMAP_DRAW_LAYER1, 0);
m_k051316_2->zoom_draw(bitmap, cliprect, TILEMAP_DRAW_LAYER1, 0);
m_k051960->k051960_sprites_draw(bitmap, cliprect, 0, 0);
k051316_zoom_draw(m_k051316_2, bitmap, cliprect, TILEMAP_DRAW_LAYER0, 0);
m_k051316_2->zoom_draw(bitmap, cliprect, TILEMAP_DRAW_LAYER0, 0);
m_k051960->k051960_sprites_draw(bitmap, cliprect, 1, 1);
k051316_zoom_draw(m_k051316_1, bitmap, cliprect, 0, 0);
m_k051316_1->zoom_draw(bitmap, cliprect, 0, 0);
return 0;
}

View File

@ -103,7 +103,7 @@ void crshrace_state::draw_bg( bitmap_ind16 &bitmap, const rectangle &cliprect )
void crshrace_state::draw_fg(bitmap_ind16 &bitmap, const rectangle &cliprect)
{
k053936_zoom_draw(m_k053936, bitmap, cliprect, m_tilemap1, 0, 0, 1);
m_k053936->zoom_draw(bitmap, cliprect, m_tilemap1, 0, 0, 1);
}

View File

@ -9,7 +9,6 @@
#include "emu.h"
#include "video/konicdev.h"
#include "includes/dbz.h"
@ -81,12 +80,12 @@ void dbz_state::video_start()
m_bg2_tilemap->set_transparent_pen(0);
if (!strcmp(machine().system().name, "dbz"))
k056832_set_layer_offs(m_k056832, 0, -34, -16);
m_k056832->set_layer_offs(0, -34, -16);
else
k056832_set_layer_offs(m_k056832, 0, -35, -16);
m_k056832->set_layer_offs(0, -35, -16);
k056832_set_layer_offs(m_k056832, 1, -31, -16);
k056832_set_layer_offs(m_k056832, 3, -31, -16); //?
m_k056832->set_layer_offs(1, -31, -16);
m_k056832->set_layer_offs(3, -31, -16); //?
k053247_set_sprite_offs(m_k053246, -87, 32);
}
@ -105,7 +104,7 @@ UINT32 dbz_state::screen_update_dbz(screen_device &screen, bitmap_ind16 &bitmap,
{
m_layer_colorbase[plane] = new_colorbase;
if (plane <= 3)
k056832_mark_plane_dirty(m_k056832, plane);
m_k056832->mark_plane_dirty( plane);
else if (plane == 4)
m_bg1_tilemap->mark_all_dirty();
else if (plane == 5)
@ -146,11 +145,11 @@ UINT32 dbz_state::screen_update_dbz(screen_device &screen, bitmap_ind16 &bitmap,
}
if(layer[plane] == 4)
k053936_zoom_draw(m_k053936_2, bitmap, cliprect, m_bg1_tilemap, flag, pri, 1);
m_k053936_2->zoom_draw(bitmap, cliprect, m_bg1_tilemap, flag, pri, 1);
else if(layer[plane] == 5)
k053936_zoom_draw(m_k053936_1, bitmap, cliprect, m_bg2_tilemap, flag, pri, 1);
m_k053936_1->zoom_draw(bitmap, cliprect, m_bg2_tilemap, flag, pri, 1);
else
k056832_tilemap_draw(m_k056832, bitmap, cliprect, layer[plane], flag, pri);
m_k056832->tilemap_draw(bitmap, cliprect, layer[plane], flag, pri);
}
k053247_sprites_draw(m_k053246, bitmap, cliprect);

View File

@ -4,7 +4,6 @@
*/
#include "emu.h"
#include "video/konicdev.h"
#include "includes/djmain.h"
#define NUM_SPRITES (0x800 / 16)
@ -134,9 +133,9 @@ void djmain_tile_callback(running_machine& machine, int layer, int *code, int *c
void djmain_state::video_start()
{
k056832_set_layer_offs(m_k056832, 0, -92, -27);
// k056832_set_layer_offs(m_k056832, 1, -87, -27);
k056832_set_layer_offs(m_k056832, 1, -88, -27);
m_k056832->set_layer_offs(0, -92, -27);
// m_k056832->set_layer_offs(1, -87, -27);
m_k056832->set_layer_offs(1, -88, -27);
}
UINT32 djmain_state::screen_update_djmain(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
@ -177,7 +176,7 @@ UINT32 djmain_state::screen_update_djmain(screen_device &screen, bitmap_rgb32 &b
else
{
if (enables & (K55_INP_VRAM_A << layer))
k056832_tilemap_draw_dj(m_k056832, bitmap, cliprect, layer, 0, 1 << i);
m_k056832->tilemap_draw_dj(bitmap, cliprect, layer, 0, 1 << i);
}
}
return 0;

View File

@ -188,7 +188,7 @@ UINT32 f1gp_state::screen_update_f1gp(screen_device &screen, bitmap_ind16 &bitma
{
machine().priority_bitmap.fill(0, cliprect);
k053936_zoom_draw(m_k053936, bitmap, cliprect, m_roz_tilemap, 0, 0, 1);
m_k053936->zoom_draw(bitmap, cliprect, m_roz_tilemap, 0, 0, 1);
m_fg_tilemap->draw(bitmap, cliprect, 0, 1);
@ -216,18 +216,18 @@ UINT32 f1gp_state::screen_update_f1gp2(screen_device &screen, bitmap_ind16 &bitm
switch (m_gfxctrl & 3)
{
case 0:
k053936_zoom_draw(m_k053936, bitmap, cliprect, m_roz_tilemap, TILEMAP_DRAW_OPAQUE, 0, 1);
m_k053936->zoom_draw(bitmap, cliprect, m_roz_tilemap, TILEMAP_DRAW_OPAQUE, 0, 1);
m_spr->draw_sprites(m_spritelist, 0x2000, machine(), bitmap, cliprect);
m_fg_tilemap->draw(bitmap, cliprect, 0, 0);
break;
case 1:
k053936_zoom_draw(m_k053936, bitmap, cliprect, m_roz_tilemap, TILEMAP_DRAW_OPAQUE, 0, 1);
m_k053936->zoom_draw(bitmap, cliprect, m_roz_tilemap, TILEMAP_DRAW_OPAQUE, 0, 1);
m_fg_tilemap->draw(bitmap, cliprect, 0, 0);
m_spr->draw_sprites(m_spritelist, 0x2000, machine(), bitmap, cliprect);
break;
case 2:
m_fg_tilemap->draw(bitmap, cliprect, TILEMAP_DRAW_OPAQUE, 0);
k053936_zoom_draw(m_k053936, bitmap, cliprect, m_roz_tilemap, 0, 0, 1);
m_k053936->zoom_draw(bitmap, cliprect, m_roz_tilemap, 0, 0, 1);
m_spr->draw_sprites(m_spritelist, 0x2000, machine(), bitmap, cliprect);
break;
#ifdef MAME_DEBUG

View File

@ -1,5 +1,4 @@
#include "emu.h"
#include "video/konicdev.h"
#include "includes/gijoe.h"
void gijoe_sprite_callback( running_machine &machine, int *code, int *color, int *priority_mask )
@ -54,7 +53,7 @@ void gijoe_state::video_start()
{
int i;
k056832_linemap_enable(m_k056832, 1);
m_k056832->linemap_enable(1);
for (i = 0; i < 4; i++)
{
@ -82,7 +81,7 @@ UINT32 gijoe_state::screen_update_gijoe(screen_device &screen, bitmap_ind16 &bit
int mask = 0;
// update tile offsets
k056832_read_avac(m_k056832, &vrc_mode, &vrc_new);
m_k056832->read_avac(&vrc_mode, &vrc_new);
if (vrc_mode)
{
@ -117,7 +116,7 @@ UINT32 gijoe_state::screen_update_gijoe(screen_device &screen, bitmap_ind16 &bit
if (dirty)
{
m_avac_occupancy[i] = 0;
k056832_mark_plane_dirty(m_k056832, i);
m_k056832->mark_plane_dirty( i);
}
}
@ -127,19 +126,19 @@ UINT32 gijoe_state::screen_update_gijoe(screen_device &screen, bitmap_ind16 &bit
written to the layer's X-scroll register otherwise the chip expects totally
different alignment values.
*/
if (k056832_read_register(m_k056832, 0x14) == 2)
if (m_k056832->read_register(0x14) == 2)
{
k056832_set_layer_offs(m_k056832, 0, 2, 0);
k056832_set_layer_offs(m_k056832, 1, 4, 0);
k056832_set_layer_offs(m_k056832, 2, 6, 0); // 7?
k056832_set_layer_offs(m_k056832, 3, 8, 0);
m_k056832->set_layer_offs(0, 2, 0);
m_k056832->set_layer_offs(1, 4, 0);
m_k056832->set_layer_offs(2, 6, 0); // 7?
m_k056832->set_layer_offs(3, 8, 0);
}
else
{
k056832_set_layer_offs(m_k056832, 0, 0, 0);
k056832_set_layer_offs(m_k056832, 1, 8, 0);
k056832_set_layer_offs(m_k056832, 2, 14, 0);
k056832_set_layer_offs(m_k056832, 3, 16, 0); // smaller?
m_k056832->set_layer_offs(0, 0, 0);
m_k056832->set_layer_offs(1, 8, 0);
m_k056832->set_layer_offs(2, 14, 0);
m_k056832->set_layer_offs(3, 16, 0); // smaller?
}
// seems to switch the K053251 between different priority modes, detail unknown
@ -159,10 +158,10 @@ UINT32 gijoe_state::screen_update_gijoe(screen_device &screen, bitmap_ind16 &bit
bitmap.fill(get_black_pen(machine()), cliprect);
machine().priority_bitmap.fill(0, cliprect);
k056832_tilemap_draw(m_k056832, bitmap, cliprect, layer[0], 0, 1);
k056832_tilemap_draw(m_k056832, bitmap, cliprect, layer[1], 0, 2);
k056832_tilemap_draw(m_k056832, bitmap, cliprect, layer[2], 0, 4);
k056832_tilemap_draw(m_k056832, bitmap, cliprect, layer[3], 0, 8);
m_k056832->tilemap_draw(bitmap, cliprect, layer[0], 0, 1);
m_k056832->tilemap_draw(bitmap, cliprect, layer[1], 0, 2);
m_k056832->tilemap_draw(bitmap, cliprect, layer[2], 0, 4);
m_k056832->tilemap_draw(bitmap, cliprect, layer[3], 0, 8);
k053247_sprites_draw(m_k053246, bitmap, cliprect);
return 0;

File diff suppressed because it is too large Load Diff

View File

@ -79,29 +79,29 @@ struct k053247_interface
struct k051316_interface
{
const char *gfx_memory_region;
int gfx_num;
int bpp, pen_is_mask, transparent_pen;
int wrap, xoffs, yoffs;
k051316_callback callback;
const char *m_gfx_memory_region_tag;
int m_gfx_num;
int m_bpp, m_pen_is_mask, m_transparent_pen;
int m_wrap, m_xoffs, m_yoffs;
k051316_callback m_callback;
};
struct k053936_interface
{
int wrap, xoff, yoff;
int m_wrap, m_xoff, m_yoff;
};
struct k056832_interface
{
const char *gfx_memory_region;
int gfx_num;
int bpp;
int big;
int djmain_hack;
int deinterleave;
k056832_callback callback;
const char *m_gfx_memory_region;
int m_gfx_num;
int m_bpp;
int m_big;
int m_djmain_hack;
int m_deinterleave;
k056832_callback m_callback;
const char *k055555; // tbyahhoo uses the k056832 together with a k055555
const char *m_k055555_tag; // tbyahhoo uses the k056832 together with a k055555
};
struct k054338_interface
@ -486,14 +486,32 @@ private:
extern const device_type K055673;
class k051316_device : public device_t
class k051316_device : public device_t,
public k051316_interface
{
public:
k051316_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
~k051316_device() { global_free(m_token); }
~k051316_device() {}
/*
The callback is passed:
- code (range 00-FF, contents of the first tilemap RAM byte)
- color (range 00-FF, contents of the first tilemap RAM byte). Note that bit 6
seems to be hardcoded as flip X.
The callback must put:
- in code the resulting tile number
- in color the resulting color index
- if necessary, put flags for the TileMap code in the tile_info
structure (e.g. TILE_FLIPX)
*/
DECLARE_READ8_MEMBER( read );
DECLARE_WRITE8_MEMBER( write );
DECLARE_READ8_MEMBER( rom_r );
DECLARE_WRITE8_MEMBER( ctrl_w );
void zoom_draw(bitmap_ind16 &bitmap,const rectangle &cliprect,int flags,UINT32 priority);
void wraparound_enable(int status);
// access to legacy token
void *token() const { assert(m_token != NULL); return m_token; }
protected:
// device-level overrides
virtual void device_config_complete();
@ -501,29 +519,42 @@ protected:
virtual void device_reset();
private:
// internal state
void *m_token;
TILE_GET_INFO_MEMBER(k051316_get_tile_info0);
UINT8 *m_ram;
tilemap_t *m_tmap;
int m_bpp;
UINT8 m_ctrlram[16];
TILE_GET_INFO_MEMBER(get_tile_info0);
void get_tile_info( tile_data &tileinfo, int tile_index );
};
extern const device_type K051316;
class k053936_device : public device_t
class k053936_device : public device_t,
public k053936_interface
{
public:
k053936_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
~k053936_device() { global_free(m_token); }
~k053936_device() {}
DECLARE_WRITE16_MEMBER( ctrl_w );
DECLARE_READ16_MEMBER( ctrl_r );
DECLARE_WRITE16_MEMBER( linectrl_w );
DECLARE_READ16_MEMBER( linectrl_r );
void zoom_draw(bitmap_ind16 &bitmap, const rectangle &cliprect, tilemap_t *tmap, int flags, UINT32 priority, int glfgreat_hack);
// void wraparound_enable(int status); unused? // shall we merge this into the configuration intf?
// void set_offset(int xoffs, int yoffs); unused? // shall we merge this into the configuration intf?
// access to legacy token
void *token() const { assert(m_token != NULL); return m_token; }
protected:
// device-level overrides
virtual void device_config_complete();
virtual void device_start();
virtual void device_reset();
private:
// internal state
void *m_token;
UINT16 *m_ctrl;
UINT16 *m_linectrl;
};
extern const device_type K053936;
@ -552,18 +583,22 @@ class k054000_device : public device_t
{
public:
k054000_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
~k054000_device() { global_free(m_token); }
~k054000_device() {}
DECLARE_WRITE8_MEMBER( write );
DECLARE_READ8_MEMBER( read );
DECLARE_WRITE16_MEMBER( lsb_w );
DECLARE_READ16_MEMBER( lsb_r );
// access to legacy token
void *token() const { assert(m_token != NULL); return m_token; }
protected:
// device-level overrides
virtual void device_config_complete();
virtual void device_start();
virtual void device_reset();
private:
// internal state
void *m_token;
UINT8 m_regs[0x20];
};
extern const device_type K054000;
@ -572,10 +607,11 @@ class k051733_device : public device_t
{
public:
k051733_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
~k051733_device() { global_free(m_token); }
~k051733_device() {}
DECLARE_WRITE8_MEMBER( write );
DECLARE_READ8_MEMBER( read );
// access to legacy token
void *token() const { assert(m_token != NULL); return m_token; }
protected:
// device-level overrides
virtual void device_config_complete();
@ -583,43 +619,167 @@ protected:
virtual void device_reset();
private:
// internal state
void *m_token;
UINT8 m_ram[0x20];
UINT8 m_rng;
};
extern const device_type K051733;
class k056832_device : public device_t
#define K056832_PAGE_COUNT 16
/* bit depths for the 56832 */
#define K056832_BPP_4 0
#define K056832_BPP_5 1
#define K056832_BPP_6 2
#define K056832_BPP_8 3
#define K056832_BPP_4dj 4
#define K056832_BPP_8LE 5
#define K056832_BPP_8TASMAN 6
class k056832_device : public device_t,
public k056832_interface
{
public:
k056832_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
~k056832_device() { global_free(m_token); }
~k056832_device() {}
void SetExtLinescroll(); /* Lethal Enforcers */
DECLARE_READ16_MEMBER( ram_word_r );
DECLARE_WRITE16_MEMBER( ram_word_w );
DECLARE_READ16_MEMBER( ram_half_word_r );
DECLARE_WRITE16_MEMBER( ram_half_word_w );
DECLARE_READ16_MEMBER( k_5bpp_rom_word_r );
DECLARE_READ32_MEMBER( k_5bpp_rom_long_r );
DECLARE_READ32_MEMBER( k_6bpp_rom_long_r );
DECLARE_READ16_MEMBER( rom_word_r );
DECLARE_READ16_MEMBER( mw_rom_word_r );
DECLARE_READ16_MEMBER( bishi_rom_word_r );
DECLARE_READ16_MEMBER( old_rom_word_r );
DECLARE_READ16_MEMBER( rom_word_8000_r );
DECLARE_WRITE16_MEMBER( word_w ); // "VRAM" registers
DECLARE_WRITE16_MEMBER( b_word_w );
DECLARE_READ8_MEMBER( ram_code_lo_r );
DECLARE_READ8_MEMBER( ram_code_hi_r );
DECLARE_READ8_MEMBER( ram_attr_lo_r );
DECLARE_READ8_MEMBER( ram_attr_hi_r );
DECLARE_WRITE8_MEMBER( ram_code_lo_w );
DECLARE_WRITE8_MEMBER( ram_code_hi_w );
DECLARE_WRITE8_MEMBER( ram_attr_lo_w );
DECLARE_WRITE8_MEMBER( ram_attr_hi_w );
DECLARE_WRITE8_MEMBER( write );
DECLARE_WRITE8_MEMBER( b_w );
void mark_plane_dirty(int num);
void mark_all_tmaps_dirty();
void tilemap_draw(bitmap_ind16 &bitmap, const rectangle &cliprect, int num, UINT32 flags, UINT32 priority);
void tilemap_draw(bitmap_rgb32 &bitmap, const rectangle &cliprect, int num, UINT32 flags, UINT32 priority);
void tilemap_draw_dj(bitmap_rgb32 &bitmap, const rectangle &cliprect, int layer, UINT32 flags, UINT32 priority);
void set_layer_association(int status);
int get_layer_association();
void set_layer_offs(int layer, int offsx, int offsy);
void set_lsram_page(int logical_page, int physical_page, int physical_offset);
void linemap_enable(int enable);
int is_irq_enabled(int irqline);
void read_avac(int *mode, int *data);
int read_register(int regnum);
int get_current_rambank();
int get_lookup(int bits); /* Asterix */
void set_tile_bank(int bank); /* Asterix */
DECLARE_READ32_MEMBER( ram_long_r );
DECLARE_READ32_MEMBER( rom_long_r );
DECLARE_WRITE32_MEMBER( ram_long_w );
DECLARE_READ32_MEMBER( unpaged_ram_long_r );
DECLARE_WRITE32_MEMBER( unpaged_ram_long_w );
DECLARE_WRITE32_MEMBER( long_w );
DECLARE_WRITE32_MEMBER( b_long_w );
DECLARE_READ16_MEMBER( word_r ); // VACSET
DECLARE_READ16_MEMBER( b_word_r ); // VSCCS (board dependent)
DECLARE_READ32_MEMBER( long_r ); // VACSET
// access to legacy token
void *token() const { assert(m_token != NULL); return m_token; }
protected:
// device-level overrides
virtual void device_config_complete();
virtual void device_start();
private:
// internal state
void *m_token;
tilemap_t *m_tilemap[K056832_PAGE_COUNT];
bitmap_ind16 *m_pixmap[K056832_PAGE_COUNT];
TILE_GET_INFO_MEMBER(k056832_get_tile_info0);
TILE_GET_INFO_MEMBER(k056832_get_tile_info1);
TILE_GET_INFO_MEMBER(k056832_get_tile_info2);
TILE_GET_INFO_MEMBER(k056832_get_tile_info3);
TILE_GET_INFO_MEMBER(k056832_get_tile_info4);
TILE_GET_INFO_MEMBER(k056832_get_tile_info5);
TILE_GET_INFO_MEMBER(k056832_get_tile_info6);
TILE_GET_INFO_MEMBER(k056832_get_tile_info7);
TILE_GET_INFO_MEMBER(k056832_get_tile_info8);
TILE_GET_INFO_MEMBER(k056832_get_tile_info9);
TILE_GET_INFO_MEMBER(k056832_get_tile_infoa);
TILE_GET_INFO_MEMBER(k056832_get_tile_infob);
TILE_GET_INFO_MEMBER(k056832_get_tile_infoc);
TILE_GET_INFO_MEMBER(k056832_get_tile_infod);
TILE_GET_INFO_MEMBER(k056832_get_tile_infoe);
TILE_GET_INFO_MEMBER(k056832_get_tile_infof);
UINT16 m_regs[0x20]; // 157/832 regs group 1
UINT16 m_regsb[4]; // 157/832 regs group 2, board dependent
UINT8 * m_rombase; // pointer to tile gfx data
UINT16 * m_videoram;
int m_num_gfx_banks; // depends on size of graphics ROMs
int m_cur_gfx_banks; // cached info for K056832_regs[0x1a]
// ROM readback involves reading 2 halves of a word
// from the same location in a row. Reading the
// RAM window resets this state so you get the first half.
int m_rom_half;
// locally cached values
int m_layer_assoc_with_page[K056832_PAGE_COUNT];
int m_layer_offs[8][2];
int m_lsram_page[8][2];
INT32 m_x[8]; // 0..3 left
INT32 m_y[8]; // 0..3 top
INT32 m_w[8]; // 0..3 width -> 1..4 pages
INT32 m_h[8]; // 0..3 height -> 1..4 pages
INT32 m_dx[8]; // scroll
INT32 m_dy[8]; // scroll
UINT32 m_line_dirty[K056832_PAGE_COUNT][8];
UINT8 m_all_lines_dirty[K056832_PAGE_COUNT];
UINT8 m_page_tile_mode[K056832_PAGE_COUNT];
int m_last_colorbase[K056832_PAGE_COUNT];
UINT8 m_layer_tile_mode[8];
int m_default_layer_association;
int m_layer_association;
int m_active_layer;
int m_selected_page;
int m_selected_page_x4096;
int m_linemap_enabled;
int m_use_ext_linescroll;
int m_uses_tile_banks, m_cur_tile_bank;
device_t *m_k055555; /* used to choose colorbase */
void get_tile_info( tile_data &tileinfo, int tile_index, int pageIndex );
TILE_GET_INFO_MEMBER(get_tile_info0);
TILE_GET_INFO_MEMBER(get_tile_info1);
TILE_GET_INFO_MEMBER(get_tile_info2);
TILE_GET_INFO_MEMBER(get_tile_info3);
TILE_GET_INFO_MEMBER(get_tile_info4);
TILE_GET_INFO_MEMBER(get_tile_info5);
TILE_GET_INFO_MEMBER(get_tile_info6);
TILE_GET_INFO_MEMBER(get_tile_info7);
TILE_GET_INFO_MEMBER(get_tile_info8);
TILE_GET_INFO_MEMBER(get_tile_info9);
TILE_GET_INFO_MEMBER(get_tile_infoa);
TILE_GET_INFO_MEMBER(get_tile_infob);
TILE_GET_INFO_MEMBER(get_tile_infoc);
TILE_GET_INFO_MEMBER(get_tile_infod);
TILE_GET_INFO_MEMBER(get_tile_infoe);
TILE_GET_INFO_MEMBER(get_tile_infof);
void mark_page_dirty(int page);
void mark_all_tilemaps_dirty();
void update_page_layout();
void change_rambank();
void change_rombank();
void postload();
int rom_read_b(int offset, int blksize, int blksize2, int zerosec);
template<class _BitmapClass>
int update_linemap(_BitmapClass &bitmap, int page, int flags);
template<class _BitmapClass>
void tilemap_draw_common(_BitmapClass &bitmap, const rectangle &cliprect, int layer, UINT32 flags, UINT32 priority);
};
extern const device_type K056832;
@ -943,37 +1103,6 @@ void k053246_set_objcha_line(device_t *device, int state);
int k053246_is_irq_enabled(device_t *device);
int k053246_read_register(device_t *device, int regnum);
/** Konami 051316 **/
/*
The callback is passed:
- code (range 00-FF, contents of the first tilemap RAM byte)
- color (range 00-FF, contents of the first tilemap RAM byte). Note that bit 6
seems to be hardcoded as flip X.
The callback must put:
- in code the resulting tile number
- in color the resulting color index
- if necessary, put flags for the TileMap code in the tile_info
structure (e.g. TILE_FLIPX)
*/
DECLARE_READ8_DEVICE_HANDLER( k051316_r );
DECLARE_WRITE8_DEVICE_HANDLER( k051316_w );
DECLARE_READ8_DEVICE_HANDLER( k051316_rom_r );
DECLARE_WRITE8_DEVICE_HANDLER( k051316_ctrl_w );
void k051316_zoom_draw(device_t *device, bitmap_ind16 &bitmap,const rectangle &cliprect,int flags,UINT32 priority);
void k051316_wraparound_enable(device_t *device, int status);
/** Konami 053936 **/
DECLARE_WRITE16_DEVICE_HANDLER( k053936_ctrl_w );
DECLARE_READ16_DEVICE_HANDLER( k053936_ctrl_r ); // FIXME: this is probably unused... to be checked!
DECLARE_WRITE16_DEVICE_HANDLER( k053936_linectrl_w );
DECLARE_READ16_DEVICE_HANDLER( k053936_linectrl_r );
void k053936_zoom_draw(device_t *device, bitmap_ind16 &bitmap, const rectangle &cliprect, tilemap_t *tmap, int flags, UINT32 priority, int glfgreat_hack);
void k053936_wraparound_enable(device_t *device, int status); // shall we merge this into the configuration intf?
void k053936_set_offset(device_t *device, int xoffs, int yoffs); // shall we merge this into the configuration intf?
/** Konami 053251 **/
/*
Note: k053251_w() automatically does a ALL_TILEMAPS->mark_all_dirty()
@ -997,79 +1126,6 @@ enum
K053251_CI4
};
/** Konami 054000 **/
DECLARE_WRITE8_DEVICE_HANDLER( k054000_w );
DECLARE_READ8_DEVICE_HANDLER( k054000_r );
DECLARE_WRITE16_DEVICE_HANDLER( k054000_lsb_w );
DECLARE_READ16_DEVICE_HANDLER( k054000_lsb_r );
/** Konami 051733 **/
DECLARE_WRITE8_DEVICE_HANDLER( k051733_w );
DECLARE_READ8_DEVICE_HANDLER( k051733_r );
/** Konami 056832 **/
void k056832_SetExtLinescroll(device_t *device); /* Lethal Enforcers */
DECLARE_READ16_DEVICE_HANDLER( k056832_ram_word_r );
DECLARE_WRITE16_DEVICE_HANDLER( k056832_ram_word_w );
DECLARE_READ16_DEVICE_HANDLER( k056832_ram_half_word_r );
DECLARE_WRITE16_DEVICE_HANDLER( k056832_ram_half_word_w );
DECLARE_READ16_DEVICE_HANDLER( k056832_5bpp_rom_word_r );
DECLARE_READ32_DEVICE_HANDLER( k056832_5bpp_rom_long_r );
DECLARE_READ32_DEVICE_HANDLER( k056832_6bpp_rom_long_r );
DECLARE_READ16_DEVICE_HANDLER( k056832_rom_word_r );
DECLARE_READ16_DEVICE_HANDLER( k056832_mw_rom_word_r );
DECLARE_READ16_DEVICE_HANDLER( k056832_bishi_rom_word_r );
DECLARE_READ16_DEVICE_HANDLER( k056832_old_rom_word_r );
DECLARE_READ16_DEVICE_HANDLER( k056832_rom_word_8000_r );
DECLARE_WRITE16_DEVICE_HANDLER( k056832_word_w ); // "VRAM" registers
DECLARE_WRITE16_DEVICE_HANDLER( k056832_b_word_w );
DECLARE_READ8_DEVICE_HANDLER( k056832_ram_code_lo_r );
DECLARE_READ8_DEVICE_HANDLER( k056832_ram_code_hi_r );
DECLARE_READ8_DEVICE_HANDLER( k056832_ram_attr_lo_r );
DECLARE_READ8_DEVICE_HANDLER( k056832_ram_attr_hi_r );
DECLARE_WRITE8_DEVICE_HANDLER( k056832_ram_code_lo_w );
DECLARE_WRITE8_DEVICE_HANDLER( k056832_ram_code_hi_w );
DECLARE_WRITE8_DEVICE_HANDLER( k056832_ram_attr_lo_w );
DECLARE_WRITE8_DEVICE_HANDLER( k056832_ram_attr_hi_w );
DECLARE_WRITE8_DEVICE_HANDLER( k056832_w );
DECLARE_WRITE8_DEVICE_HANDLER( k056832_b_w );
void k056832_mark_plane_dirty(device_t *device, int num);
void k056832_mark_all_tmaps_dirty(device_t *device);
void k056832_tilemap_draw(device_t *device, bitmap_ind16 &bitmap, const rectangle &cliprect, int num, UINT32 flags, UINT32 priority);
void k056832_tilemap_draw(device_t *device, bitmap_rgb32 &bitmap, const rectangle &cliprect, int num, UINT32 flags, UINT32 priority);
void k056832_tilemap_draw_dj(device_t *device, bitmap_rgb32 &bitmap, const rectangle &cliprect, int layer, UINT32 flags, UINT32 priority);
void k056832_set_layer_association(device_t *device, int status);
int k056832_get_layer_association(device_t *device);
void k056832_set_layer_offs(device_t *device, int layer, int offsx, int offsy);
void k056832_set_lsram_page(device_t *device, int logical_page, int physical_page, int physical_offset);
void k056832_linemap_enable(device_t *device, int enable);
int k056832_is_irq_enabled(device_t *device, int irqline);
void k056832_read_avac(device_t *device, int *mode, int *data);
int k056832_read_register(device_t *device, int regnum);
int k056832_get_current_rambank(device_t *device);
int k056832_get_lookup(device_t *device, int bits); /* Asterix */
void k056832_set_tile_bank(device_t *device, int bank); /* Asterix */
DECLARE_READ32_DEVICE_HANDLER( k056832_ram_long_r );
DECLARE_READ32_DEVICE_HANDLER( k056832_rom_long_r );
DECLARE_WRITE32_DEVICE_HANDLER( k056832_ram_long_w );
DECLARE_READ32_DEVICE_HANDLER( k056832_unpaged_ram_long_r );
DECLARE_WRITE32_DEVICE_HANDLER( k056832_unpaged_ram_long_w );
DECLARE_WRITE32_DEVICE_HANDLER( k056832_long_w );
DECLARE_WRITE32_DEVICE_HANDLER( k056832_b_long_w );
/* bit depths for the 56832 */
#define K056832_BPP_4 0
#define K056832_BPP_5 1
#define K056832_BPP_6 2
#define K056832_BPP_8 3
#define K056832_BPP_4dj 4
#define K056832_BPP_8LE 5
#define K056832_BPP_8TASMAN 6
/** Konami 055555 **/
void k055555_write_reg(device_t *device, UINT8 regnum, UINT8 regdat);
DECLARE_WRITE16_DEVICE_HANDLER( k055555_word_w );
@ -1201,8 +1257,6 @@ DECLARE_READ32_DEVICE_HANDLER( k001604_reg_r );
#define K056832_DRAW_FLAG_MIRROR 0x00800000
// debug handlers
DECLARE_READ16_DEVICE_HANDLER( k056832_word_r ); // VACSET
DECLARE_READ16_DEVICE_HANDLER( k056832_b_word_r ); // VSCCS (board dependent)
DECLARE_READ16_DEVICE_HANDLER( k053246_reg_word_r ); // OBJSET1
DECLARE_READ16_DEVICE_HANDLER( k053247_reg_word_r ); // OBJSET2
DECLARE_READ16_DEVICE_HANDLER( k053251_lsb_r ); // PCU1
@ -1210,7 +1264,7 @@ DECLARE_READ16_DEVICE_HANDLER( k053251_msb_r ); // PCU1
DECLARE_READ16_DEVICE_HANDLER( k055555_word_r ); // PCU2
DECLARE_READ16_DEVICE_HANDLER( k054338_word_r ); // CLTC
DECLARE_READ32_DEVICE_HANDLER( k056832_long_r ); // VACSET
DECLARE_READ32_DEVICE_HANDLER( k053247_reg_long_r ); // OBJSET2
DECLARE_READ32_DEVICE_HANDLER( k055555_long_r ); // PCU2

View File

@ -8,7 +8,6 @@
***************************************************************************/
#include "emu.h"
#include "video/konicdev.h"
#include "includes/lethal.h"
void lethalen_sprite_callback( running_machine &machine, int *code, int *color, int *priority_mask )
@ -50,22 +49,22 @@ void lethalen_tile_callback( running_machine &machine, int layer, int *code, int
void lethal_state::video_start()
{
// this game uses external linescroll RAM
k056832_SetExtLinescroll(m_k056832);
m_k056832->SetExtLinescroll();
// the US and Japanese cabinets apparently use different mirror setups
if (!strcmp(machine().system().name, "lethalenj"))
{
k056832_set_layer_offs(m_k056832, 0, -195, 0);
k056832_set_layer_offs(m_k056832, 1, -193, 0);
k056832_set_layer_offs(m_k056832, 2, -191, 0);
k056832_set_layer_offs(m_k056832, 3, -189, 0);
m_k056832->set_layer_offs(0, -195, 0);
m_k056832->set_layer_offs(1, -193, 0);
m_k056832->set_layer_offs(2, -191, 0);
m_k056832->set_layer_offs(3, -189, 0);
}
else
{
k056832_set_layer_offs(m_k056832, 0, 188, 0);
k056832_set_layer_offs(m_k056832, 1, 190, 0);
k056832_set_layer_offs(m_k056832, 2, 192, 0);
k056832_set_layer_offs(m_k056832, 3, 194, 0);
m_k056832->set_layer_offs(0, 188, 0);
m_k056832->set_layer_offs(1, 190, 0);
m_k056832->set_layer_offs(2, 192, 0);
m_k056832->set_layer_offs(3, 194, 0);
}
m_layer_colorbase[0] = 0x00;
@ -81,15 +80,15 @@ WRITE8_MEMBER(lethal_state::lethalen_palette_control)
case 0: // 40c8 - PCU1 from schematics
m_layer_colorbase[0] = ((data & 0x7) - 1) * 0x40;
m_layer_colorbase[1] = (((data >> 4) & 0x7) - 1) * 0x40;
k056832_mark_plane_dirty(m_k056832, 0);
k056832_mark_plane_dirty(m_k056832, 1);
m_k056832->mark_plane_dirty( 0);
m_k056832->mark_plane_dirty( 1);
break;
case 4: // 40cc - PCU2 from schematics
m_layer_colorbase[2] = ((data & 0x7) - 1) * 0x40;
m_layer_colorbase[3] = (((data >> 4) & 0x7) - 1) * 0x40;
k056832_mark_plane_dirty(m_k056832, 2);
k056832_mark_plane_dirty(m_k056832, 3);
m_k056832->mark_plane_dirty( 2);
m_k056832->mark_plane_dirty( 3);
break;
case 8: // 40d0 - PCU3 from schematics
@ -103,14 +102,14 @@ UINT32 lethal_state::screen_update_lethalen(screen_device &screen, bitmap_ind16
bitmap.fill(7168, cliprect);
machine().priority_bitmap.fill(0, cliprect);
k056832_tilemap_draw(m_k056832, bitmap, cliprect, 3, K056832_DRAW_FLAG_MIRROR, 1);
k056832_tilemap_draw(m_k056832, bitmap, cliprect, 2, K056832_DRAW_FLAG_MIRROR, 2);
k056832_tilemap_draw(m_k056832, bitmap, cliprect, 1, K056832_DRAW_FLAG_MIRROR, 4);
m_k056832->tilemap_draw(bitmap, cliprect, 3, K056832_DRAW_FLAG_MIRROR, 1);
m_k056832->tilemap_draw(bitmap, cliprect, 2, K056832_DRAW_FLAG_MIRROR, 2);
m_k056832->tilemap_draw(bitmap, cliprect, 1, K056832_DRAW_FLAG_MIRROR, 4);
m_k053244->k053245_sprites_draw_lethal(bitmap, cliprect);
// force "A" layer over top of everything
k056832_tilemap_draw(m_k056832, bitmap, cliprect, 0, K056832_DRAW_FLAG_MIRROR, 0);
m_k056832->tilemap_draw(bitmap, cliprect, 0, K056832_DRAW_FLAG_MIRROR, 0);
return 0;
}

View File

@ -53,7 +53,6 @@ Note: if MAME_DEBUG is defined, pressing Z with:
#include "emu.h"
#include "includes/metro.h"
#include "video/konicdev.h"
TILE_GET_INFO_MEMBER(metro_state::metro_k053936_get_tile_info)
{
@ -716,7 +715,7 @@ if (machine().input().code_pressed(KEYCODE_Z))
#endif
if (m_has_zoom)
k053936_zoom_draw(m_k053936, bitmap, cliprect, m_k053936_tilemap, 0, 0, 1);
m_k053936->zoom_draw(bitmap, cliprect, m_k053936_tilemap, 0, 0, 1);
for (pri = 3; pri >= 0; pri--)
draw_layers(bitmap, cliprect, pri, layers_ctrl);

View File

@ -9,7 +9,6 @@
***************************************************************************/
#include "emu.h"
#include "video/konicdev.h"
#include "includes/moo.h"
void moo_sprite_callback( running_machine &machine, int *code, int *color, int *priority_mask )
@ -43,10 +42,10 @@ VIDEO_START_MEMBER(moo_state,moo)
m_zmask = 0xffff;
// other than the intro showing one blank line alignment is good through the game
k056832_set_layer_offs(m_k056832, 0, -2 + 1, 0);
k056832_set_layer_offs(m_k056832, 1, 2 + 1, 0);
k056832_set_layer_offs(m_k056832, 2, 4 + 1, 0);
k056832_set_layer_offs(m_k056832, 3, 6 + 1, 0);
m_k056832->set_layer_offs(0, -2 + 1, 0);
m_k056832->set_layer_offs(1, 2 + 1, 0);
m_k056832->set_layer_offs(2, 4 + 1, 0);
m_k056832->set_layer_offs(3, 6 + 1, 0);
}
VIDEO_START_MEMBER(moo_state,bucky)
@ -57,12 +56,12 @@ VIDEO_START_MEMBER(moo_state,bucky)
m_zmask = 0x00ff;
// Bucky doesn't chain tilemaps
k056832_set_layer_association(m_k056832, 0);
m_k056832->set_layer_association(0);
k056832_set_layer_offs(m_k056832, 0, -2, 0);
k056832_set_layer_offs(m_k056832, 1, 2, 0);
k056832_set_layer_offs(m_k056832, 2, 4, 0);
k056832_set_layer_offs(m_k056832, 3, 6, 0);
m_k056832->set_layer_offs(0, -2, 0);
m_k056832->set_layer_offs(1, 2, 0);
m_k056832->set_layer_offs(2, 4, 0);
m_k056832->set_layer_offs(3, 6, 0);
}
UINT32 moo_state::screen_update_moo(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
@ -74,7 +73,7 @@ UINT32 moo_state::screen_update_moo(screen_device &screen, bitmap_rgb32 &bitmap,
m_sprite_colorbase = k053251_get_palette_index(m_k053251, K053251_CI0);
m_layer_colorbase[0] = 0x70;
if (k056832_get_layer_association(m_k056832))
if (m_k056832->get_layer_association())
{
for (plane = 1; plane < 4; plane++)
{
@ -82,7 +81,7 @@ UINT32 moo_state::screen_update_moo(screen_device &screen, bitmap_rgb32 &bitmap,
if (m_layer_colorbase[plane] != new_colorbase)
{
m_layer_colorbase[plane] = new_colorbase;
k056832_mark_plane_dirty(m_k056832, plane);
m_k056832->mark_plane_dirty( plane);
}
}
}
@ -98,7 +97,7 @@ UINT32 moo_state::screen_update_moo(screen_device &screen, bitmap_rgb32 &bitmap,
}
}
if (dirty)
k056832_mark_all_tmaps_dirty(m_k056832);
m_k056832->mark_all_tmaps_dirty();
}
layers[0] = 1;
@ -116,9 +115,9 @@ UINT32 moo_state::screen_update_moo(screen_device &screen, bitmap_rgb32 &bitmap,
machine().priority_bitmap.fill(0, cliprect);
if (m_layerpri[0] < k053251_get_priority(m_k053251, K053251_CI1)) /* bucky hides back layer behind background */
k056832_tilemap_draw(m_k056832, bitmap, cliprect, layers[0], 0, 1);
m_k056832->tilemap_draw(bitmap, cliprect, layers[0], 0, 1);
k056832_tilemap_draw(m_k056832, bitmap, cliprect, layers[1], 0, 2);
m_k056832->tilemap_draw(bitmap, cliprect, layers[1], 0, 2);
// Enabling alpha improves fog and fading in Moo but causes other things to disappear.
// There is probably a control bit somewhere to turn off alpha blending.
@ -127,10 +126,10 @@ UINT32 moo_state::screen_update_moo(screen_device &screen, bitmap_rgb32 &bitmap,
alpha = (m_alpha_enabled) ? k054338_set_alpha_level(m_k054338, 1) : 255;
if (alpha > 0)
k056832_tilemap_draw(m_k056832, bitmap, cliprect, layers[2], TILEMAP_DRAW_ALPHA(alpha), 4);
m_k056832->tilemap_draw(bitmap, cliprect, layers[2], TILEMAP_DRAW_ALPHA(alpha), 4);
k053247_sprites_draw(m_k053246, bitmap, cliprect);
k056832_tilemap_draw(m_k056832, bitmap, cliprect, 0, 0, 0);
m_k056832->tilemap_draw(bitmap, cliprect, 0, 0, 0);
return 0;
}

View File

@ -1,5 +1,4 @@
#include "emu.h"
#include "video/konicdev.h"
#include "includes/overdriv.h"
/***************************************************************************
@ -60,8 +59,8 @@ UINT32 overdriv_state::screen_update_overdriv(screen_device &screen, bitmap_ind1
machine().priority_bitmap.fill(0, cliprect);
k051316_zoom_draw(m_k051316_1, bitmap, cliprect, 0, 0);
k051316_zoom_draw(m_k051316_2, bitmap, cliprect, 0, 1);
m_k051316_1->zoom_draw(bitmap, cliprect, 0, 0);
m_k051316_2->zoom_draw(bitmap, cliprect, 0, 1);
k053247_sprites_draw(m_k053246, bitmap,cliprect);
return 0;

View File

@ -121,7 +121,7 @@ UINT32 polygonet_state::screen_update_polygonet(screen_device &screen, bitmap_in
machine().priority_bitmap.fill(0);
bitmap.fill(get_black_pen(machine()), cliprect);
k053936_zoom_draw(m_k053936, bitmap, cliprect, m_roz_tilemap, 0, 0, 0);
m_k053936->zoom_draw(bitmap, cliprect, m_roz_tilemap, 0, 0, 0);
m_ttl_tilemap->draw(bitmap, cliprect, 0, 1<<0);
return 0;

View File

@ -5,7 +5,6 @@
***************************************************************************/
#include "emu.h"
#include "video/konicdev.h"
#include "includes/qdrmfgp.h"
@ -29,22 +28,22 @@ void qdrmfgp2_tile_callback(running_machine &machine, int layer, int *code, int
VIDEO_START_MEMBER(qdrmfgp_state,qdrmfgp)
{
k056832_set_layer_association(m_k056832, 0);
m_k056832->set_layer_association(0);
k056832_set_layer_offs(m_k056832, 0, 2, 0);
k056832_set_layer_offs(m_k056832, 1, 4, 0);
k056832_set_layer_offs(m_k056832, 2, 6, 0);
k056832_set_layer_offs(m_k056832, 3, 8, 0);
m_k056832->set_layer_offs(0, 2, 0);
m_k056832->set_layer_offs(1, 4, 0);
m_k056832->set_layer_offs(2, 6, 0);
m_k056832->set_layer_offs(3, 8, 0);
}
VIDEO_START_MEMBER(qdrmfgp_state,qdrmfgp2)
{
k056832_set_layer_association(m_k056832, 0);
m_k056832->set_layer_association(0);
k056832_set_layer_offs(m_k056832, 0, 3, 1);
k056832_set_layer_offs(m_k056832, 1, 5, 1);
k056832_set_layer_offs(m_k056832, 2, 7, 1);
k056832_set_layer_offs(m_k056832, 3, 9, 1);
m_k056832->set_layer_offs(0, 3, 1);
m_k056832->set_layer_offs(1, 5, 1);
m_k056832->set_layer_offs(2, 7, 1);
m_k056832->set_layer_offs(3, 9, 1);
}
/***************************************************************************
@ -57,9 +56,9 @@ UINT32 qdrmfgp_state::screen_update_qdrmfgp(screen_device &screen, bitmap_ind16
{
bitmap.fill(get_black_pen(machine()), cliprect);
k056832_tilemap_draw(m_k056832, bitmap, cliprect, 3, 0, 1);
k056832_tilemap_draw(m_k056832, bitmap, cliprect, 2, 0, 2);
k056832_tilemap_draw(m_k056832, bitmap, cliprect, 1, 0, 4);
k056832_tilemap_draw(m_k056832, bitmap, cliprect, 0, 0, 8);
m_k056832->tilemap_draw(bitmap, cliprect, 3, 0, 1);
m_k056832->tilemap_draw(bitmap, cliprect, 2, 0, 2);
m_k056832->tilemap_draw(bitmap, cliprect, 1, 0, 4);
m_k056832->tilemap_draw(bitmap, cliprect, 0, 0, 8);
return 0;
}

View File

@ -1,5 +1,4 @@
#include "emu.h"
#include "video/konicdev.h"
#include "includes/rollerg.h"
/***************************************************************************
@ -64,7 +63,7 @@ UINT32 rollerg_state::screen_update_rollerg(screen_device &screen, bitmap_ind16
machine().priority_bitmap.fill(0, cliprect);
bitmap.fill(16 * bg_colorbase, cliprect);
k051316_zoom_draw(m_k051316, bitmap, cliprect, 0, 1);
m_k051316->zoom_draw(bitmap, cliprect, 0, 1);
m_k053244->k053245_sprites_draw(bitmap, cliprect);
return 0;
}

View File

@ -102,7 +102,7 @@ UINT32 rungun_state::screen_update_rng(screen_device &screen, bitmap_ind16 &bitm
bitmap.fill(get_black_pen(machine()), cliprect);
machine().priority_bitmap.fill(0, cliprect);
k053936_zoom_draw(m_k053936, bitmap, cliprect, m_936_tilemap, 0, 0, 1);
m_k053936->zoom_draw(bitmap, cliprect, m_936_tilemap, 0, 0, 1);
k053247_sprites_draw(m_k055673, bitmap, cliprect);

View File

@ -66,7 +66,7 @@ UINT32 suprslam_state::screen_update_suprslam(screen_device &screen, bitmap_ind1
m_screen_tilemap->set_scrollx(0, m_screen_vregs[0x04/2] );
bitmap.fill(get_black_pen(machine()), cliprect);
k053936_zoom_draw(m_k053936, bitmap, cliprect, m_bg_tilemap, 0, 0, 1);
m_k053936->zoom_draw(bitmap, cliprect, m_bg_tilemap, 0, 0, 1);
if(!(m_spr_ctrl[0] & 8))
m_spr->draw_sprites(m_spriteram, m_spriteram.bytes(), machine(), bitmap, cliprect);
m_screen_tilemap->draw(bitmap, cliprect, 0, 0);

View File

@ -1,5 +1,4 @@
#include "emu.h"
#include "video/konicdev.h"
#include "includes/tail2nos.h"
@ -170,7 +169,7 @@ UINT32 tail2nos_state::screen_update_tail2nos(screen_device &screen, bitmap_ind1
{
if (m_video_enable)
{
k051316_zoom_draw(m_k051316, bitmap, cliprect, 0, 0);
m_k051316->zoom_draw(bitmap, cliprect, 0, 0);
draw_sprites(bitmap, cliprect);
m_bg_tilemap->draw(bitmap, cliprect, 0, 0);
}

View File

@ -670,7 +670,7 @@ UINT32 tmnt_state::screen_update_glfgreat(screen_device &screen, bitmap_ind16 &b
if (m_layerpri[0] >= 0x30 && m_layerpri[1] < 0x30)
{
k053936_zoom_draw(m_k053936, bitmap, cliprect, m_roz_tilemap, 0, 1, 1);
m_k053936->zoom_draw(bitmap, cliprect, m_roz_tilemap, 0, 1, 1);
m_glfgreat_pixel = bitmap.pix16(0x80, 0x105);
}
@ -678,7 +678,7 @@ UINT32 tmnt_state::screen_update_glfgreat(screen_device &screen, bitmap_ind16 &b
if (m_layerpri[1] >= 0x30 && m_layerpri[2] < 0x30)
{
k053936_zoom_draw(m_k053936, bitmap, cliprect, m_roz_tilemap, 0, 1, 1);
m_k053936->zoom_draw(bitmap, cliprect, m_roz_tilemap, 0, 1, 1);
m_glfgreat_pixel = bitmap.pix16(0x80, 0x105);
}
@ -686,7 +686,7 @@ UINT32 tmnt_state::screen_update_glfgreat(screen_device &screen, bitmap_ind16 &b
if (m_layerpri[2] >= 0x30)
{
k053936_zoom_draw(m_k053936, bitmap, cliprect, m_roz_tilemap, 0, 1, 1);
m_k053936->zoom_draw(bitmap, cliprect, m_roz_tilemap, 0, 1, 1);
m_glfgreat_pixel = bitmap.pix16(0x80, 0x105);
}

View File

@ -1,5 +1,4 @@
#include "emu.h"
#include "video/konicdev.h"
#include "includes/ultraman.h"
/***************************************************************************
@ -82,7 +81,7 @@ WRITE16_MEMBER(ultraman_state::ultraman_gfxctrl_w)
bit 6: coin counter 1
bit 7: coin counter 2 */
k051316_wraparound_enable(m_k051316_1, data & 0x01);
m_k051316_1->wraparound_enable(data & 0x01);
if (m_bank0 != ((data & 0x02) >> 1))
{
@ -90,7 +89,7 @@ WRITE16_MEMBER(ultraman_state::ultraman_gfxctrl_w)
machine().tilemap().mark_all_dirty(); /* should mark only zoom0 */
}
k051316_wraparound_enable(m_k051316_2, data & 0x04);
m_k051316_2->wraparound_enable(data & 0x04);
if (m_bank1 != ((data & 0x08) >> 3))
{
@ -98,7 +97,7 @@ WRITE16_MEMBER(ultraman_state::ultraman_gfxctrl_w)
machine().tilemap().mark_all_dirty(); /* should mark only zoom1 */
}
k051316_wraparound_enable(m_k051316_3, data & 0x10);
m_k051316_3->wraparound_enable(data & 0x10);
if (m_bank2 != ((data & 0x20) >> 5))
{
@ -121,10 +120,10 @@ WRITE16_MEMBER(ultraman_state::ultraman_gfxctrl_w)
UINT32 ultraman_state::screen_update_ultraman(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
k051316_zoom_draw(m_k051316_3, bitmap, cliprect, 0, 0);
k051316_zoom_draw(m_k051316_2, bitmap, cliprect, 0, 0);
m_k051316_3->zoom_draw(bitmap, cliprect, 0, 0);
m_k051316_2->zoom_draw(bitmap, cliprect, 0, 0);
m_k051960->k051960_sprites_draw(bitmap, cliprect, 0, 0);
k051316_zoom_draw(m_k051316_1, bitmap, cliprect, 0, 0);
m_k051316_1->zoom_draw(bitmap, cliprect, 0, 0);
m_k051960->k051960_sprites_draw(bitmap, cliprect, 1, 1);
return 0;
}

View File

@ -8,7 +8,6 @@
***************************************************************************/
#include "emu.h"
#include "video/konicdev.h"
#include "includes/wecleman.h"
#define BMP_PAD 8
@ -1121,7 +1120,7 @@ UINT32 wecleman_state::screen_update_hotchase(screen_device &screen, bitmap_ind1
/* Draw the background */
if (video_on)
k051316_zoom_draw(m_k051316_1, bitmap, cliprect, 0, 0);
m_k051316_1->zoom_draw(bitmap, cliprect, 0, 0);
/* Draw the road */
if (video_on)
@ -1133,6 +1132,6 @@ UINT32 wecleman_state::screen_update_hotchase(screen_device &screen, bitmap_ind1
/* Draw the foreground (text) */
if (video_on)
k051316_zoom_draw(m_k051316_2, bitmap, cliprect, 0, 0);
m_k051316_2->zoom_draw(bitmap, cliprect, 0, 0);
return 0;
}

View File

@ -1,5 +1,4 @@
#include "emu.h"
#include "video/konicdev.h"
#include "includes/xexex.h"
void xexex_sprite_callback( running_machine &machine, int *code, int *color, int *priority_mask )
@ -38,10 +37,10 @@ void xexex_state::video_start()
m_cur_alpha = 0;
// Xexex has relative plane offsets of -2,2,4,6 vs. -2,0,2,3 in MW and GX.
k056832_set_layer_offs(m_k056832, 0, -2, 16);
k056832_set_layer_offs(m_k056832, 1, 2, 16);
k056832_set_layer_offs(m_k056832, 2, 4, 16);
k056832_set_layer_offs(m_k056832, 3, 6, 16);
m_k056832->set_layer_offs(0, -2, 16);
m_k056832->set_layer_offs(1, 2, 16);
m_k056832->set_layer_offs(2, 4, 16);
m_k056832->set_layer_offs(3, 6, 16);
}
UINT32 xexex_state::screen_update_xexex(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
@ -60,7 +59,7 @@ UINT32 xexex_state::screen_update_xexex(screen_device &screen, bitmap_rgb32 &bit
if (m_layer_colorbase[plane] != new_colorbase)
{
m_layer_colorbase[plane] = new_colorbase;
k056832_mark_plane_dirty(m_k056832, plane);
m_k056832->mark_plane_dirty( plane);
}
}
@ -88,7 +87,7 @@ UINT32 xexex_state::screen_update_xexex(screen_device &screen, bitmap_rgb32 &bit
}
else if (!m_cur_alpha || layer[plane] != 1)
{
k056832_tilemap_draw(m_k056832, bitmap, cliprect, layer[plane], 0, 1 << plane);
m_k056832->tilemap_draw(bitmap, cliprect, layer[plane], 0, 1 << plane);
}
}
@ -100,10 +99,10 @@ UINT32 xexex_state::screen_update_xexex(screen_device &screen, bitmap_rgb32 &bit
if (alpha > 0)
{
k056832_tilemap_draw(m_k056832, bitmap, cliprect, 1, TILEMAP_DRAW_ALPHA(alpha), 0);
m_k056832->tilemap_draw(bitmap, cliprect, 1, TILEMAP_DRAW_ALPHA(alpha), 0);
}
}
k056832_tilemap_draw(m_k056832, bitmap, cliprect, 0, 0, 0);
m_k056832->tilemap_draw(bitmap, cliprect, 0, 0, 0);
return 0;
}