mirror of
https://github.com/holub/mame
synced 2025-10-05 08:41:31 +03:00
k053246: fix 8bpp ROM readback; remove some obsolete trampoline and debug handlers (nw)
This commit is contained in:
parent
996d2fcf88
commit
eb570b4839
@ -104,8 +104,6 @@
|
||||
#include "includes/konamigx.h"
|
||||
#include "rendlay.h"
|
||||
|
||||
#define GX_DEBUG 0
|
||||
|
||||
|
||||
|
||||
|
||||
@ -745,16 +743,6 @@ READ32_MEMBER(konamigx_state::le2_gun_V_r)
|
||||
/**********************************************************************************/
|
||||
/* system or game dependent handlers */
|
||||
|
||||
READ32_MEMBER(konamigx_state::gx5bppspr_r)
|
||||
{
|
||||
return (m_k055673->k055673_rom_word_r(space, offset*2+1, 0xffff) | m_k055673->k055673_rom_word_r(space, offset*2, 0xffff)<<16);
|
||||
}
|
||||
|
||||
READ32_MEMBER(konamigx_state::gx6bppspr_r)
|
||||
{
|
||||
return (m_k055673->k055673_GX6bpp_rom_word_r(space, offset*2+1, 0xffff) | m_k055673->k055673_GX6bpp_rom_word_r(space, offset*2, 0xffff)<<16);
|
||||
}
|
||||
|
||||
READ32_MEMBER(konamigx_state::type1_roz_r1)
|
||||
{
|
||||
UINT32 *ROM = (UINT32 *)memregion("gfx3")->base();
|
||||
@ -993,12 +981,13 @@ static ADDRESS_MAP_START( gx_base_memmap, AS_PROGRAM, 32, konamigx_state )
|
||||
AM_RANGE(0x400000, 0x7fffff) AM_ROM // data ROM
|
||||
AM_RANGE(0xc00000, 0xc1ffff) AM_RAM AM_SHARE("workram")
|
||||
AM_RANGE(0xd00000, 0xd01fff) AM_DEVREAD("k056832", k056832_device, k_5bpp_rom_long_r)
|
||||
AM_RANGE(0xd20000, 0xd20fff) AM_DEVREADWRITE("k055673", k055673_device, k053247_long_r, k053247_long_w)
|
||||
AM_RANGE(0xd20000, 0xd20fff) AM_DEVREADWRITE16("k055673", k055673_device, k053247_word_r, k053247_word_w, 0xffffffff)
|
||||
AM_RANGE(0xd21000, 0xd23fff) AM_RAM
|
||||
AM_RANGE(0xd40000, 0xd4003f) AM_DEVWRITE("k056832", k056832_device, long_w)
|
||||
AM_RANGE(0xd44000, 0xd4400f) AM_WRITE(konamigx_tilebank_w)
|
||||
AM_RANGE(0xd48000, 0xd48007) AM_DEVWRITE("k055673", k055673_device, k053246_long_w)
|
||||
AM_RANGE(0xd4a010, 0xd4a01f) AM_DEVWRITE("k055673", k055673_device, k053247_reg_long_w)
|
||||
AM_RANGE(0xd48000, 0xd48007) AM_DEVWRITE16("k055673", k055673_device, k053246_word_w, 0xffffffff)
|
||||
AM_RANGE(0xd4a000, 0xd4a00f) AM_DEVREAD16("k055673", k055673_device, k055673_rom_word_r, 0xffffffff)
|
||||
AM_RANGE(0xd4a010, 0xd4a01f) AM_DEVWRITE16("k055673", k055673_device, k055673_reg_word_w, 0xffffffff)
|
||||
AM_RANGE(0xd4c000, 0xd4c01f) AM_READWRITE(ccu_r, ccu_w)
|
||||
AM_RANGE(0xd4e000, 0xd4e01f) AM_WRITENOP
|
||||
AM_RANGE(0xd50000, 0xd500ff) AM_DEVWRITE("k055555", k055555_device, K055555_long_w)
|
||||
@ -1011,14 +1000,9 @@ static ADDRESS_MAP_START( gx_base_memmap, AS_PROGRAM, 32, konamigx_state )
|
||||
AM_RANGE(0xd80000, 0xd8001f) AM_DEVWRITE("k054338", k054338_device, long_w)
|
||||
AM_RANGE(0xda0000, 0xda1fff) AM_DEVREADWRITE("k056832", k056832_device, ram_long_r, ram_long_w)
|
||||
AM_RANGE(0xda2000, 0xda3fff) AM_DEVREADWRITE("k056832", k056832_device, ram_long_r, ram_long_w)
|
||||
#if GX_DEBUG
|
||||
AM_RANGE(0xd40000, 0xd4003f) AM_DEVREAD("k056832", k056832_device, long_r)
|
||||
AM_RANGE(0xd4a010, 0xd4a01f) AM_DEVREAD("k055673", k055673_device, k053247_reg_long_r)
|
||||
#endif
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( gx_type1_map, AS_PROGRAM, 32, konamigx_state )
|
||||
AM_RANGE(0xd4a000, 0xd4a01f) AM_READ(gx6bppspr_r) // sprite ROM readback
|
||||
AM_RANGE(0xd90000, 0xd97fff) AM_RAM_WRITE(konamigx_palette_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0xdc0000, 0xdc1fff) AM_RAM // LAN RAM? (Racin' Force has, Open Golf doesn't)
|
||||
AM_RANGE(0xdd0000, 0xdd00ff) AM_READNOP AM_WRITENOP // LAN board
|
||||
@ -2443,10 +2427,10 @@ ROM_START( winspike )
|
||||
|
||||
/* sprites */
|
||||
ROM_REGION( 0x1000000, "gfx2", ROMREGION_ERASE00 )
|
||||
ROM_LOAD64_WORD( "705a10.33g", 0x000000, 0x400000, CRC(fc4dc78b) SHA1(520cdcf9ca20ec1c84be734e06e183e7a871090b) )
|
||||
ROM_LOAD64_WORD( "705a11.30g", 0x000002, 0x400000, CRC(68542ce9) SHA1(a4294da1d1026e3a9d070575e5855935389a705f) )
|
||||
ROM_LOAD64_WORD( "705a13.28g", 0x000004, 0x400000, CRC(3b62584b) SHA1(69718f47ff1e8d65a11972af1ed5068db175f625) )
|
||||
ROM_LOAD64_WORD( "705a17.25g", 0x000006, 0x400000, CRC(971d2812) SHA1(ee0819faf6f6c8420d5d3742cb39dfb76b9ce7a4) )
|
||||
ROM_LOAD64_WORD( "705a17.25g", 0x000000, 0x400000, CRC(971d2812) SHA1(ee0819faf6f6c8420d5d3742cb39dfb76b9ce7a4) )
|
||||
ROM_LOAD64_WORD( "705a13.28g", 0x000002, 0x400000, CRC(3b62584b) SHA1(69718f47ff1e8d65a11972af1ed5068db175f625) )
|
||||
ROM_LOAD64_WORD( "705a11.30g", 0x000004, 0x400000, CRC(68542ce9) SHA1(a4294da1d1026e3a9d070575e5855935389a705f) )
|
||||
ROM_LOAD64_WORD( "705a10.33g", 0x000006, 0x400000, CRC(fc4dc78b) SHA1(520cdcf9ca20ec1c84be734e06e183e7a871090b) )
|
||||
|
||||
/* sound data */
|
||||
ROM_REGION( 0x400000, "shared", 0 )
|
||||
@ -2502,10 +2486,10 @@ ROM_START( winspikej )
|
||||
|
||||
/* sprites */
|
||||
ROM_REGION( 0x1000000, "gfx2", ROMREGION_ERASE00 )
|
||||
ROM_LOAD64_WORD( "705a10.33g", 0x000000, 0x400000, CRC(fc4dc78b) SHA1(520cdcf9ca20ec1c84be734e06e183e7a871090b) )
|
||||
ROM_LOAD64_WORD( "705a11.30g", 0x000002, 0x400000, CRC(68542ce9) SHA1(a4294da1d1026e3a9d070575e5855935389a705f) )
|
||||
ROM_LOAD64_WORD( "705a13.28g", 0x000004, 0x400000, CRC(3b62584b) SHA1(69718f47ff1e8d65a11972af1ed5068db175f625) )
|
||||
ROM_LOAD64_WORD( "705a17.25g", 0x000006, 0x400000, CRC(971d2812) SHA1(ee0819faf6f6c8420d5d3742cb39dfb76b9ce7a4) )
|
||||
ROM_LOAD64_WORD( "705a17.25g", 0x000000, 0x400000, CRC(971d2812) SHA1(ee0819faf6f6c8420d5d3742cb39dfb76b9ce7a4) )
|
||||
ROM_LOAD64_WORD( "705a13.28g", 0x000002, 0x400000, CRC(3b62584b) SHA1(69718f47ff1e8d65a11972af1ed5068db175f625) )
|
||||
ROM_LOAD64_WORD( "705a11.30g", 0x000004, 0x400000, CRC(68542ce9) SHA1(a4294da1d1026e3a9d070575e5855935389a705f) )
|
||||
ROM_LOAD64_WORD( "705a10.33g", 0x000006, 0x400000, CRC(fc4dc78b) SHA1(520cdcf9ca20ec1c84be734e06e183e7a871090b) )
|
||||
|
||||
/* sound data */
|
||||
ROM_REGION( 0x400000, "shared", 0 )
|
||||
@ -3200,10 +3184,10 @@ ROM_START( le2 )
|
||||
|
||||
/* sprites */
|
||||
ROM_REGION( 0x800000, "gfx2", ROMREGION_ERASE00 )
|
||||
ROM_LOAD64_WORD( "312a08.33g", 0x000000, 2*1024*1024, CRC(29015d56) SHA1(7273270804ecefd8f59469c2c2a8a89fb045a12b) )
|
||||
ROM_LOAD64_WORD( "312a09.30g", 0x000002, 2*1024*1024, CRC(b2c5d6d5) SHA1(8248612275ca862c6688de5c6f24f37aeb3f9fe5) )
|
||||
ROM_LOAD64_WORD( "312a10.28g", 0x000004, 2*1024*1024, CRC(3c570d04) SHA1(ebbf7d28726e98c8895c9bf901f8b2dd38018c77) )
|
||||
ROM_LOAD64_WORD( "312a11.25g", 0x000006, 2*1024*1024, CRC(5f474357) SHA1(1f6d99f1ea69e07a65731ea4eae5917452cfcab6) )
|
||||
ROM_LOAD64_WORD( "312a11.25g", 0x000000, 2*1024*1024, CRC(5f474357) SHA1(1f6d99f1ea69e07a65731ea4eae5917452cfcab6) )
|
||||
ROM_LOAD64_WORD( "312a10.28g", 0x000002, 2*1024*1024, CRC(3c570d04) SHA1(ebbf7d28726e98c8895c9bf901f8b2dd38018c77) )
|
||||
ROM_LOAD64_WORD( "312a09.30g", 0x000004, 2*1024*1024, CRC(b2c5d6d5) SHA1(8248612275ca862c6688de5c6f24f37aeb3f9fe5) )
|
||||
ROM_LOAD64_WORD( "312a08.33g", 0x000006, 2*1024*1024, CRC(29015d56) SHA1(7273270804ecefd8f59469c2c2a8a89fb045a12b) )
|
||||
|
||||
/* sound data */
|
||||
ROM_REGION( 0x400000, "shared", 0 )
|
||||
@ -3238,10 +3222,10 @@ ROM_START( le2u )
|
||||
|
||||
/* sprites */
|
||||
ROM_REGION( 0x800000, "gfx2", ROMREGION_ERASE00 )
|
||||
ROM_LOAD64_WORD( "312a08.33g", 0x000000, 2*1024*1024, CRC(29015d56) SHA1(7273270804ecefd8f59469c2c2a8a89fb045a12b) )
|
||||
ROM_LOAD64_WORD( "312a09.30g", 0x000002, 2*1024*1024, CRC(b2c5d6d5) SHA1(8248612275ca862c6688de5c6f24f37aeb3f9fe5) )
|
||||
ROM_LOAD64_WORD( "312a10.28g", 0x000004, 2*1024*1024, CRC(3c570d04) SHA1(ebbf7d28726e98c8895c9bf901f8b2dd38018c77) )
|
||||
ROM_LOAD64_WORD( "312a11.25g", 0x000006, 2*1024*1024, CRC(5f474357) SHA1(1f6d99f1ea69e07a65731ea4eae5917452cfcab6) )
|
||||
ROM_LOAD64_WORD( "312a11.25g", 0x000000, 2*1024*1024, CRC(5f474357) SHA1(1f6d99f1ea69e07a65731ea4eae5917452cfcab6) )
|
||||
ROM_LOAD64_WORD( "312a10.28g", 0x000002, 2*1024*1024, CRC(3c570d04) SHA1(ebbf7d28726e98c8895c9bf901f8b2dd38018c77) )
|
||||
ROM_LOAD64_WORD( "312a09.30g", 0x000004, 2*1024*1024, CRC(b2c5d6d5) SHA1(8248612275ca862c6688de5c6f24f37aeb3f9fe5) )
|
||||
ROM_LOAD64_WORD( "312a08.33g", 0x000006, 2*1024*1024, CRC(29015d56) SHA1(7273270804ecefd8f59469c2c2a8a89fb045a12b) )
|
||||
|
||||
/* sound data */
|
||||
ROM_REGION( 0x400000, "shared", 0 )
|
||||
@ -3277,10 +3261,10 @@ ROM_START( le2j )
|
||||
|
||||
/* sprites */
|
||||
ROM_REGION( 0x800000, "gfx2", ROMREGION_ERASE00 )
|
||||
ROM_LOAD64_WORD( "312a08.33g", 0x000000, 2*1024*1024, CRC(29015d56) SHA1(7273270804ecefd8f59469c2c2a8a89fb045a12b) )
|
||||
ROM_LOAD64_WORD( "312a09.30g", 0x000002, 2*1024*1024, CRC(b2c5d6d5) SHA1(8248612275ca862c6688de5c6f24f37aeb3f9fe5) )
|
||||
ROM_LOAD64_WORD( "312a10.28g", 0x000004, 2*1024*1024, CRC(3c570d04) SHA1(ebbf7d28726e98c8895c9bf901f8b2dd38018c77) )
|
||||
ROM_LOAD64_WORD( "312a11.25g", 0x000006, 2*1024*1024, CRC(5f474357) SHA1(1f6d99f1ea69e07a65731ea4eae5917452cfcab6) )
|
||||
ROM_LOAD64_WORD( "312a11.25g", 0x000000, 2*1024*1024, CRC(5f474357) SHA1(1f6d99f1ea69e07a65731ea4eae5917452cfcab6) )
|
||||
ROM_LOAD64_WORD( "312a10.28g", 0x000002, 2*1024*1024, CRC(3c570d04) SHA1(ebbf7d28726e98c8895c9bf901f8b2dd38018c77) )
|
||||
ROM_LOAD64_WORD( "312a09.30g", 0x000004, 2*1024*1024, CRC(b2c5d6d5) SHA1(8248612275ca862c6688de5c6f24f37aeb3f9fe5) )
|
||||
ROM_LOAD64_WORD( "312a08.33g", 0x000006, 2*1024*1024, CRC(29015d56) SHA1(7273270804ecefd8f59469c2c2a8a89fb045a12b) )
|
||||
|
||||
/* sound data */
|
||||
ROM_REGION( 0x400000, "shared", 0 )
|
||||
@ -3798,20 +3782,9 @@ DRIVER_INIT_MEMBER(konamigx_state,konamigx)
|
||||
i++;
|
||||
}
|
||||
|
||||
switch (readback)
|
||||
{
|
||||
case BPP5:
|
||||
m_maincpu->space(AS_PROGRAM).install_read_handler(0xd4a000, 0xd4a00f, read32_delegate(FUNC(konamigx_state::gx5bppspr_r),this));
|
||||
break;
|
||||
if (readback == BPP66)
|
||||
m_maincpu->space(AS_PROGRAM).install_read_handler(0xd00000, 0xd01fff, read32_delegate(FUNC(konamigx_state::k_6bpp_rom_long_r), this));
|
||||
|
||||
case BPP66:
|
||||
m_maincpu->space(AS_PROGRAM).install_read_handler(0xd00000, 0xd01fff, read32_delegate(FUNC(konamigx_state::k_6bpp_rom_long_r), this));
|
||||
// fall through
|
||||
|
||||
case BPP6:
|
||||
m_maincpu->space(AS_PROGRAM).install_read_handler(0xd4a000, 0xd4a00f, read32_delegate(FUNC(konamigx_state::gx6bppspr_r),this));
|
||||
break;
|
||||
}
|
||||
|
||||
#undef BPP5
|
||||
#undef BPP6
|
||||
|
@ -1,5 +1,3 @@
|
||||
#define MW_DEBUG 0
|
||||
|
||||
/**************************************************************************
|
||||
* Mystic Warrior (c) 1993 Konami
|
||||
* Metamorphic Force (c) 1993 Konami
|
||||
@ -298,7 +296,7 @@ static ADDRESS_MAP_START( mystwarr_map, AS_PROGRAM, 16, mystwarr_state )
|
||||
AM_RANGE(0x400000, 0x40ffff) AM_READWRITE(k053247_scattered_word_r,k053247_scattered_word_w) AM_SHARE("spriteram")
|
||||
AM_RANGE(0x480000, 0x4800ff) AM_DEVWRITE("k055555", k055555_device, K055555_word_w)
|
||||
AM_RANGE(0x482000, 0x48200f) AM_DEVREAD("k055673", k055673_device, k055673_rom_word_r)
|
||||
AM_RANGE(0x482010, 0x48201f) AM_DEVWRITE("k055673", k055673_device,k053247_reg_word_w)
|
||||
AM_RANGE(0x482010, 0x48201f) AM_DEVWRITE("k055673", k055673_device,k055673_reg_word_w)
|
||||
AM_RANGE(0x484000, 0x484007) AM_DEVWRITE("k055673", k055673_device, k053246_word_w)
|
||||
AM_RANGE(0x48a000, 0x48a01f) AM_DEVWRITE("k054338", k054338_device, word_w)
|
||||
AM_RANGE(0x48c000, 0x48c03f) AM_DEVWRITE("k056832", k056832_device,word_w)
|
||||
@ -319,12 +317,6 @@ static ADDRESS_MAP_START( mystwarr_map, AS_PROGRAM, 16, mystwarr_state )
|
||||
AM_RANGE(0x602000, 0x603fff) AM_DEVREADWRITE("k056832", k056832_device,ram_word_r,ram_word_w) // tilemap RAM mirror read(essential)
|
||||
AM_RANGE(0x680000, 0x683fff) AM_DEVREAD("k056832", k056832_device, mw_rom_word_r)
|
||||
AM_RANGE(0x700000, 0x701fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
|
||||
#if MW_DEBUG
|
||||
AM_RANGE(0x482010, 0x48201f) AM_DEVREAD("k055673", k055673_device, k053247_reg_word_r)
|
||||
AM_RANGE(0x484000, 0x484007) AM_DEVREAD("k055673", k055673_device, k053246_reg_word_r)
|
||||
AM_RANGE(0x48a000, 0x48a01f) AM_DEVREAD("k054338", k054338_device, word_r)
|
||||
AM_RANGE(0x48c000, 0x48c03f) AM_DEVREAD("k056832", k056832_device, word_r)
|
||||
#endif
|
||||
ADDRESS_MAP_END
|
||||
|
||||
/* Metamorphic Force */
|
||||
@ -335,7 +327,7 @@ static ADDRESS_MAP_START( metamrph_map, AS_PROGRAM, 16, mystwarr_state )
|
||||
AM_RANGE(0x211000, 0x21ffff) AM_RAM
|
||||
AM_RANGE(0x240000, 0x240007) AM_DEVWRITE("k055673", k055673_device, k053246_word_w)
|
||||
AM_RANGE(0x244000, 0x24400f) AM_DEVREAD("k055673", k055673_device, k055673_rom_word_r)
|
||||
AM_RANGE(0x244010, 0x24401f) AM_DEVWRITE("k055673", k055673_device,k053247_reg_word_w)
|
||||
AM_RANGE(0x244010, 0x24401f) AM_DEVWRITE("k055673", k055673_device,k055673_reg_word_w)
|
||||
AM_RANGE(0x24c000, 0x24ffff) AM_DEVREADWRITE("k053250_1", k053250_device, ram_r, ram_w)
|
||||
AM_RANGE(0x250000, 0x25000f) AM_DEVREADWRITE("k053250_1", k053250_device, reg_r, reg_w)
|
||||
AM_RANGE(0x254000, 0x25401f) AM_DEVWRITE("k054338", k054338_device, word_w)
|
||||
@ -359,13 +351,6 @@ static ADDRESS_MAP_START( metamrph_map, AS_PROGRAM, 16, mystwarr_state )
|
||||
AM_RANGE(0x310000, 0x311fff) AM_DEVREAD("k056832", k056832_device, mw_rom_word_r)
|
||||
AM_RANGE(0x320000, 0x321fff) AM_DEVREAD("k053250_1", k053250_device, rom_r)
|
||||
AM_RANGE(0x330000, 0x331fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
|
||||
#if MW_DEBUG
|
||||
AM_RANGE(0x240000, 0x240007) AM_DEVREAD("k055673", k055673_device, k053246_reg_word_r)
|
||||
AM_RANGE(0x244010, 0x24401f) AM_DEVREAD("k055673", k055673_device, k053247_reg_word_r)
|
||||
AM_RANGE(0x254000, 0x25401f) AM_DEVREAD("k054338", k054338_device, word_r)
|
||||
AM_RANGE(0x26C000, 0x26C007) AM_DEVREAD("k056832", k056832_device, b_word_r)
|
||||
AM_RANGE(0x270000, 0x27003f) AM_DEVREAD("k056832", k056832_device, word_r)
|
||||
#endif
|
||||
ADDRESS_MAP_END
|
||||
|
||||
/* Violent Storm */
|
||||
@ -376,7 +361,7 @@ static ADDRESS_MAP_START( viostorm_map, AS_PROGRAM, 16, mystwarr_state )
|
||||
AM_RANGE(0x211000, 0x21ffff) AM_RAM
|
||||
AM_RANGE(0x240000, 0x240007) AM_DEVWRITE("k055673", k055673_device, k053246_word_w)
|
||||
AM_RANGE(0x244000, 0x24400f) AM_DEVREAD("k055673", k055673_device, k055673_rom_word_r)
|
||||
AM_RANGE(0x244010, 0x24401f) AM_DEVWRITE("k055673", k055673_device,k053247_reg_word_w)
|
||||
AM_RANGE(0x244010, 0x24401f) AM_DEVWRITE("k055673", k055673_device,k055673_reg_word_w)
|
||||
AM_RANGE(0x24c000, 0x24ffff) AM_RAM // K053250 ram
|
||||
AM_RANGE(0x250000, 0x25000f) AM_RAM // K053250 reg
|
||||
AM_RANGE(0x254000, 0x25401f) AM_DEVWRITE("k054338", k054338_device, word_w)
|
||||
@ -401,13 +386,6 @@ static ADDRESS_MAP_START( viostorm_map, AS_PROGRAM, 16, mystwarr_state )
|
||||
AM_RANGE(0x304000, 0x3041ff) AM_RAM
|
||||
AM_RANGE(0x310000, 0x311fff) AM_DEVREAD("k056832", k056832_device, mw_rom_word_r)
|
||||
AM_RANGE(0x330000, 0x331fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
|
||||
#if MW_DEBUG
|
||||
AM_RANGE(0x240000, 0x240007) AM_DEVREAD("k055673", k055673_device, k053246_reg_word_r)
|
||||
AM_RANGE(0x244010, 0x24401f) AM_DEVREAD("k055673", k055673_device, k053247_reg_word_r)
|
||||
AM_RANGE(0x254000, 0x25401f) AM_DEVREAD("k054338", k054338_device, word_r)
|
||||
AM_RANGE(0x26C000, 0x26C007) AM_DEVREAD("k056832", k056832_device, b_word_r)
|
||||
AM_RANGE(0x270000, 0x27003f) AM_DEVREAD("k056832", k056832_device, word_r)
|
||||
#endif
|
||||
ADDRESS_MAP_END
|
||||
|
||||
// Martial Champion specific interfaces
|
||||
@ -467,7 +445,7 @@ static ADDRESS_MAP_START( martchmp_map, AS_PROGRAM, 16, mystwarr_state )
|
||||
AM_RANGE(0x300000, 0x3fffff) AM_ROM // data ROM
|
||||
AM_RANGE(0x400000, 0x4000ff) AM_DEVWRITE("k055555", k055555_device, K055555_word_w) // PCU2
|
||||
AM_RANGE(0x402000, 0x40200f) AM_DEVREAD("k055673", k055673_device, k055673_rom_word_r) // sprite ROM readback
|
||||
AM_RANGE(0x402010, 0x40201f) AM_DEVWRITE("k055673", k055673_device,k053247_reg_word_w) // OBJSET2
|
||||
AM_RANGE(0x402010, 0x40201f) AM_DEVWRITE("k055673", k055673_device,k055673_reg_word_w) // OBJSET2
|
||||
AM_RANGE(0x404000, 0x404007) AM_DEVWRITE("k055673", k055673_device, k053246_word_w) // OBJSET1
|
||||
AM_RANGE(0x40a000, 0x40a01f) AM_DEVWRITE("k054338", k054338_device, word_w) // CLTC
|
||||
AM_RANGE(0x40c000, 0x40c03f) AM_DEVWRITE("k056832", k056832_device,word_w) // VACSET
|
||||
@ -490,13 +468,6 @@ static ADDRESS_MAP_START( martchmp_map, AS_PROGRAM, 16, mystwarr_state )
|
||||
AM_RANGE(0x680000, 0x681fff) AM_DEVREADWRITE("k056832", k056832_device,ram_word_r,ram_word_w) // tilemap RAM
|
||||
AM_RANGE(0x682000, 0x683fff) AM_DEVREADWRITE("k056832", k056832_device,ram_word_r,ram_word_w) // tilemap RAM mirror read/write (essential)
|
||||
AM_RANGE(0x700000, 0x703fff) AM_DEVREAD("k056832", k056832_device, mw_rom_word_r) // tile ROM readback
|
||||
#if MW_DEBUG
|
||||
AM_RANGE(0x402010, 0x40201f) AM_DEVREAD("k055673", k055673_device, k053247_reg_word_r)
|
||||
AM_RANGE(0x404000, 0x404007) AM_DEVREAD("k055673", k055673_device, k053246_reg_word_r)
|
||||
AM_RANGE(0x40a000, 0x40a01f) AM_DEVREAD("k054338", k054338_device, word_r)
|
||||
AM_RANGE(0x40c000, 0x40c03f) AM_DEVREAD("k056832", k056832_device, word_r)
|
||||
AM_RANGE(0x41e000, 0x41e007) AM_DEVREAD("k056832", k056832_device, b_word_r)
|
||||
#endif
|
||||
ADDRESS_MAP_END
|
||||
|
||||
/* Ultimate Battler Dadandarn */
|
||||
@ -509,7 +480,7 @@ static ADDRESS_MAP_START( dadandrn_map, AS_PROGRAM, 16, mystwarr_state )
|
||||
AM_RANGE(0x430000, 0x430007) AM_DEVWRITE("k055673", k055673_device, k053246_word_w)
|
||||
AM_RANGE(0x440000, 0x443fff) AM_DEVREAD("k056832", k056832_device, mw_rom_word_r)
|
||||
AM_RANGE(0x450000, 0x45000f) AM_DEVREAD("k055673", k055673_device, k055673_rom_word_r)
|
||||
AM_RANGE(0x450010, 0x45001f) AM_DEVWRITE("k055673", k055673_device,k053247_reg_word_w)
|
||||
AM_RANGE(0x450010, 0x45001f) AM_DEVWRITE("k055673", k055673_device,k055673_reg_word_w)
|
||||
AM_RANGE(0x460000, 0x46001f) AM_WRITEONLY AM_SHARE("k053936_0_ct16")
|
||||
AM_RANGE(0x470000, 0x470fff) AM_RAM AM_SHARE("k053936_0_li16")
|
||||
AM_RANGE(0x480000, 0x48003f) AM_DEVWRITE("k056832", k056832_device,word_w) // VACSET
|
||||
@ -533,13 +504,6 @@ static ADDRESS_MAP_START( dadandrn_map, AS_PROGRAM, 16, mystwarr_state )
|
||||
AM_RANGE(0xa00000, 0xa7ffff) AM_READ(ddd_053936_tilerom_1_r) // 128k tilemap readback
|
||||
AM_RANGE(0xc00000, 0xdfffff) AM_READ(ddd_053936_tilerom_2_r) // tile character readback
|
||||
AM_RANGE(0xe00000, 0xe00001) AM_WRITENOP // watchdog
|
||||
#if MW_DEBUG
|
||||
AM_RANGE(0x430000, 0x430007) AM_DEVREAD("k055673", k055673_device, k053246_reg_word_r)
|
||||
AM_RANGE(0x450010, 0x45001f) AM_DEVREAD("k055673", k055673_device, k053247_reg_word_r)
|
||||
AM_RANGE(0x480000, 0x48003f) AM_DEVREAD("k056832", k056832_device, word_r)
|
||||
AM_RANGE(0x482000, 0x482007) AM_DEVREAD("k056832", k056832_device, b_word_r)
|
||||
AM_RANGE(0x48c000, 0x48c01f) AM_DEVREAD("k054338", k054338_device, word_r)
|
||||
#endif
|
||||
ADDRESS_MAP_END
|
||||
|
||||
/* Gaiapolis */
|
||||
@ -555,7 +519,7 @@ static ADDRESS_MAP_START( gaiapols_map, AS_PROGRAM, 16, mystwarr_state )
|
||||
AM_RANGE(0x430000, 0x430007) AM_DEVWRITE("k055673", k055673_device, k053246_word_w)
|
||||
AM_RANGE(0x440000, 0x441fff) AM_DEVREAD("k056832", k056832_device, mw_rom_word_r)
|
||||
AM_RANGE(0x450000, 0x45000f) AM_DEVREAD("k055673", k055673_device, k055673_rom_word_r)
|
||||
AM_RANGE(0x450010, 0x45001f) AM_DEVWRITE("k055673", k055673_device,k053247_reg_word_w)
|
||||
AM_RANGE(0x450010, 0x45001f) AM_DEVWRITE("k055673", k055673_device,k055673_reg_word_w)
|
||||
AM_RANGE(0x460000, 0x46001f) AM_WRITEONLY AM_SHARE("k053936_0_ct16")
|
||||
AM_RANGE(0x470000, 0x470fff) AM_RAM AM_SHARE("k053936_0_li16")
|
||||
AM_RANGE(0x480000, 0x48003f) AM_DEVWRITE("k056832", k056832_device,word_w) // VACSET
|
||||
@ -579,13 +543,6 @@ static ADDRESS_MAP_START( gaiapols_map, AS_PROGRAM, 16, mystwarr_state )
|
||||
AM_RANGE(0xa00000, 0xa7ffff) AM_READ(ddd_053936_tilerom_1_r) // 128k tilemap readback
|
||||
AM_RANGE(0xc00000, 0xdfffff) AM_READ(gai_053936_tilerom_2_r) // tile character readback
|
||||
AM_RANGE(0xe00000, 0xe00001) AM_WRITENOP // watchdog
|
||||
#if MW_DEBUG
|
||||
AM_RANGE(0x430000, 0x430007) AM_DEVREAD("k055673", k055673_device, k053246_reg_word_r)
|
||||
AM_RANGE(0x450010, 0x45001f) AM_DEVREAD("k055673", k055673_device, k053247_reg_word_r)
|
||||
AM_RANGE(0x480000, 0x48003f) AM_DEVREAD("k056832", k056832_device, word_r)
|
||||
AM_RANGE(0x482000, 0x482007) AM_DEVREAD("k056832", k056832_device, b_word_r)
|
||||
AM_RANGE(0x48c000, 0x48c01f) AM_DEVREAD("k054338", k054338_device, word_r)
|
||||
#endif
|
||||
ADDRESS_MAP_END
|
||||
|
||||
/**********************************************************************************/
|
||||
@ -1013,7 +970,7 @@ static MACHINE_CONFIG_START( mystwarr, mystwarr_state )
|
||||
|
||||
MCFG_DEVICE_ADD("k055673", K055673, 0)
|
||||
MCFG_K055673_CB(mystwarr_state, mystwarr_sprite_callback)
|
||||
MCFG_K055673_CONFIG("gfx2", 0, 0, -48, -24)
|
||||
MCFG_K055673_CONFIG("gfx2", 0, K055673_LAYOUT_GX, -48, -24)
|
||||
MCFG_K055673_GFXDECODE("gfxdecode")
|
||||
MCFG_K055673_PALETTE("palette")
|
||||
|
||||
@ -1066,7 +1023,7 @@ static MACHINE_CONFIG_DERIVED( viostorm, mystwarr )
|
||||
|
||||
MCFG_DEVICE_MODIFY("k055673")
|
||||
MCFG_K055673_CB(mystwarr_state, metamrph_sprite_callback)
|
||||
MCFG_K055673_CONFIG("gfx2", 0, 1, -62, -23)
|
||||
MCFG_K055673_CONFIG("gfx2", 0, K055673_LAYOUT_RNG, -62, -23)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( metamrph, mystwarr )
|
||||
@ -1099,7 +1056,7 @@ static MACHINE_CONFIG_DERIVED( metamrph, mystwarr )
|
||||
|
||||
MCFG_DEVICE_MODIFY("k055673")
|
||||
MCFG_K055673_CB(mystwarr_state, metamrph_sprite_callback)
|
||||
MCFG_K055673_CONFIG("gfx2", 0, 1, -51, -24)
|
||||
MCFG_K055673_CONFIG("gfx2", 0, K055673_LAYOUT_RNG, -51, -24)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( dadandrn, mystwarr )
|
||||
@ -1132,7 +1089,7 @@ static MACHINE_CONFIG_DERIVED( dadandrn, mystwarr )
|
||||
|
||||
MCFG_DEVICE_MODIFY("k055673")
|
||||
MCFG_K055673_CB(mystwarr_state, gaiapols_sprite_callback)
|
||||
MCFG_K055673_CONFIG("gfx2", 0, 0, -42, -22)
|
||||
MCFG_K055673_CONFIG("gfx2", 0, K055673_LAYOUT_GX, -42, -22)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( gaiapols, mystwarr )
|
||||
@ -1168,7 +1125,7 @@ static MACHINE_CONFIG_DERIVED( gaiapols, mystwarr )
|
||||
|
||||
MCFG_DEVICE_MODIFY("k055673")
|
||||
MCFG_K055673_CB(mystwarr_state, gaiapols_sprite_callback)
|
||||
MCFG_K055673_CONFIG("gfx2", 0, 1, -61, -22) // stage2 brick walls
|
||||
MCFG_K055673_CONFIG("gfx2", 0, K055673_LAYOUT_RNG, -61, -22) // stage2 brick walls
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( martchmp, mystwarr )
|
||||
@ -1203,7 +1160,7 @@ static MACHINE_CONFIG_DERIVED( martchmp, mystwarr )
|
||||
|
||||
MCFG_DEVICE_MODIFY("k055673")
|
||||
MCFG_K055673_CB(mystwarr_state, martchmp_sprite_callback)
|
||||
MCFG_K055673_CONFIG("gfx2", 0, 0, -58, -23)
|
||||
MCFG_K055673_CONFIG("gfx2", 0, K055673_LAYOUT_GX, -58, -23)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
/**********************************************************************************/
|
||||
|
@ -50,7 +50,6 @@
|
||||
#include "includes/konamipt.h"
|
||||
#include "includes/rungun.h"
|
||||
|
||||
#define RNG_DEBUG 0
|
||||
|
||||
|
||||
READ16_MEMBER(rungun_state::rng_sysregs_r)
|
||||
@ -175,7 +174,7 @@ static ADDRESS_MAP_START( rungun_map, AS_PROGRAM, 16, rungun_state )
|
||||
AM_RANGE(0x580014, 0x580015) AM_READ(sound_status_msb_r)
|
||||
AM_RANGE(0x580000, 0x58001f) AM_RAM // sound regs read/write fall-through
|
||||
AM_RANGE(0x5c0000, 0x5c000f) AM_DEVREAD("k055673", k055673_device, k055673_rom_word_r) // 246A ROM readback window
|
||||
AM_RANGE(0x5c0010, 0x5c001f) AM_DEVWRITE("k055673", k055673_device, k053247_reg_word_w)
|
||||
AM_RANGE(0x5c0010, 0x5c001f) AM_DEVWRITE("k055673", k055673_device, k055673_reg_word_w)
|
||||
AM_RANGE(0x600000, 0x600fff) AM_DEVREADWRITE("k055673", k055673_device, k053247_word_r, k053247_word_w) // OBJ RAM
|
||||
AM_RANGE(0x601000, 0x601fff) AM_RAM // communication? second monitor buffer?
|
||||
AM_RANGE(0x640000, 0x640007) AM_DEVWRITE("k055673", k055673_device, k053246_word_w) // '246A registers
|
||||
@ -184,10 +183,6 @@ static ADDRESS_MAP_START( rungun_map, AS_PROGRAM, 16, rungun_state )
|
||||
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
|
||||
AM_RANGE(0x5c0010, 0x5c001f) AM_DEVREAD("k055673", k055673_device, k053247_reg_word_r)
|
||||
AM_RANGE(0x640000, 0x640007) AM_DEVREAD("k055673", k055673_device, k053246_reg_word_r)
|
||||
#endif
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
|
@ -79,8 +79,6 @@ public:
|
||||
DECLARE_WRITE32_MEMBER(sound020_w);
|
||||
DECLARE_READ32_MEMBER(le2_gun_H_r);
|
||||
DECLARE_READ32_MEMBER(le2_gun_V_r);
|
||||
DECLARE_READ32_MEMBER(gx5bppspr_r);
|
||||
DECLARE_READ32_MEMBER(gx6bppspr_r);
|
||||
DECLARE_READ32_MEMBER(type1_roz_r1);
|
||||
DECLARE_READ32_MEMBER(type1_roz_r2);
|
||||
DECLARE_READ32_MEMBER(type3_sync_r);
|
||||
|
@ -88,20 +88,11 @@ int k053247_device::k053247_read_register( int regnum )
|
||||
}
|
||||
|
||||
|
||||
WRITE16_MEMBER( k053247_device::k053247_reg_word_w ) // write-only OBJSET2 registers (see p.43 table 6.1)
|
||||
WRITE16_MEMBER( k053247_device::k055673_reg_word_w ) // write-only OBJSET2 registers (see p.43 table 6.1)
|
||||
{
|
||||
COMBINE_DATA(m_kx47_regs + offset);
|
||||
}
|
||||
|
||||
WRITE32_MEMBER( k053247_device::k053247_reg_long_w )
|
||||
{
|
||||
offset <<= 1;
|
||||
COMBINE_DATA(m_kx47_regs + offset + 1);
|
||||
mem_mask >>= 16;
|
||||
data >>= 16;
|
||||
COMBINE_DATA(m_kx47_regs + offset);
|
||||
}
|
||||
|
||||
READ16_MEMBER( k053247_device::k053247_word_r )
|
||||
{
|
||||
return m_ram[offset];
|
||||
@ -112,20 +103,6 @@ WRITE16_MEMBER( k053247_device::k053247_word_w )
|
||||
COMBINE_DATA(m_ram + offset);
|
||||
}
|
||||
|
||||
READ32_MEMBER( k053247_device::k053247_long_r )
|
||||
{
|
||||
return m_ram[offset * 2 + 1] | (m_ram[offset * 2] << 16);
|
||||
}
|
||||
|
||||
WRITE32_MEMBER( k053247_device::k053247_long_w )
|
||||
{
|
||||
offset <<= 1;
|
||||
COMBINE_DATA(m_ram + offset + 1);
|
||||
mem_mask >>= 16;
|
||||
data >>= 16;
|
||||
COMBINE_DATA(m_ram + offset);
|
||||
}
|
||||
|
||||
READ8_MEMBER( k053247_device::k053247_r )
|
||||
{
|
||||
int offs = offset >> 1;
|
||||
@ -146,11 +123,13 @@ WRITE8_MEMBER( k053247_device::k053247_w )
|
||||
m_ram[offs] = (m_ram[offs] & 0x00ff) | (data << 8);
|
||||
}
|
||||
|
||||
// Mystic Warriors hardware games support a non-objcha based ROM readback
|
||||
// The K055673 supports a non-objcha based ROM readback
|
||||
// write the address to the 246 as usual, but there's a completely separate ROM
|
||||
// window that works without needing an objcha line.
|
||||
// in this window, +0 = 32 bits from one set of ROMs, and +8 = 32 bits from another set
|
||||
READ16_MEMBER( k053247_device::k055673_rom_word_r ) // 5bpp
|
||||
|
||||
// FIXME: rearrange ROM loading so this can be merged with the 4/6/8bpp version
|
||||
READ16_MEMBER( k053247_device::k055673_5bpp_rom_word_r ) // 5bpp
|
||||
{
|
||||
UINT8 *ROM8 = (UINT8 *)space.machine().root_device().memregion(m_memory_region)->base();
|
||||
UINT16 *ROM = (UINT16 *)space.machine().root_device().memregion(m_memory_region)->base();
|
||||
@ -188,38 +167,21 @@ READ16_MEMBER( k053247_device::k055673_rom_word_r ) // 5bpp
|
||||
return 0;
|
||||
}
|
||||
|
||||
READ16_MEMBER( k053247_device::k055673_GX6bpp_rom_word_r )
|
||||
READ16_MEMBER( k053247_device::k055673_rom_word_r )
|
||||
{
|
||||
if (m_bpp == 5)
|
||||
return k055673_5bpp_rom_word_r(space, offset, mem_mask);
|
||||
|
||||
UINT16 *ROM = (UINT16 *)space.machine().root_device().memregion(m_memory_region)->base();
|
||||
int romofs;
|
||||
|
||||
romofs = m_kx46_regs[6] << 16 | m_kx46_regs[7] << 8 | m_kx46_regs[4];
|
||||
|
||||
romofs /= 4; // romofs increments 4 at a time
|
||||
romofs *= 12 / 2; // each increment of romofs = 12 new bytes (6 new words)
|
||||
romofs = (romofs >> 2) * m_bpp;
|
||||
|
||||
switch (offset)
|
||||
{
|
||||
case 0:
|
||||
return ROM[romofs + 3];
|
||||
case 1:
|
||||
return ROM[romofs + 4];
|
||||
case 2:
|
||||
case 3:
|
||||
return ROM[romofs + 5];
|
||||
case 4:
|
||||
return ROM[romofs];
|
||||
case 5:
|
||||
return ROM[romofs + 1];
|
||||
case 6:
|
||||
case 7:
|
||||
return ROM[romofs + 2];
|
||||
default:
|
||||
// LOG(("55673_rom_word_r: Unknown read offset %x (PC=%x)\n", offset, space.device().safe_pc()));
|
||||
break;
|
||||
}
|
||||
if ((offset & 0x4) == 0) romofs += m_bpp >> 1;
|
||||
|
||||
return 0;
|
||||
return ROM[romofs + (offset & 0x3)];
|
||||
}
|
||||
|
||||
READ8_MEMBER( k053247_device::k053246_r )
|
||||
@ -260,19 +222,6 @@ WRITE16_MEMBER( k053247_device::k053246_word_w )
|
||||
k053246_w( space, (offset << 1) + 1,data & 0xff);
|
||||
}
|
||||
|
||||
READ32_MEMBER( k053247_device::k053246_long_r )
|
||||
{
|
||||
offset <<= 1;
|
||||
return (k053246_word_r( space, offset + 1, 0xffff) | k053246_word_r( space, offset, 0xffff) << 16);
|
||||
}
|
||||
|
||||
WRITE32_MEMBER( k053247_device::k053246_long_w )
|
||||
{
|
||||
offset <<= 1;
|
||||
k053246_word_w( space, offset, data >> 16, mem_mask >> 16);
|
||||
k053246_word_w( space, offset + 1, data, mem_mask);
|
||||
}
|
||||
|
||||
void k053247_device::k053246_set_objcha_line( int state )
|
||||
{
|
||||
m_objcha_line = state;
|
||||
@ -992,11 +941,11 @@ void k055673_device::device_start()
|
||||
16,16,
|
||||
0,
|
||||
8,
|
||||
{ 8*1,8*0,8*3,8*2,8*5,8*4,8*7,8*6 },
|
||||
{ 56, 48, 40, 32, 24, 16, 8, 0 },
|
||||
{ 0,1,2,3,4,5,6,7,64+0,64+1,64+2,64+3,64+4,64+5,64+6,64+7 },
|
||||
{ 128*0, 128*1, 128*2, 128*3, 128*4, 128*5, 128*6, 128*7,
|
||||
128*8, 128*9, 128*10, 128*11, 128*12, 128*13, 128*14, 128*15 },
|
||||
128*16
|
||||
16*16*8
|
||||
};
|
||||
static const gfx_layout spritelayout4 = /* System GX 6bpp sprite layout */
|
||||
{
|
||||
@ -1023,7 +972,7 @@ void k055673_device::device_start()
|
||||
alt_k055673_rom = (UINT16 *)machine().root_device().memregion(m_memory_region)->base();
|
||||
|
||||
/* decode the graphics */
|
||||
switch (m_plane_order)
|
||||
switch (m_bpp)
|
||||
{
|
||||
case K055673_LAYOUT_GX:
|
||||
size4 = (machine().root_device().memregion(m_memory_region)->bytes()/(1024*1024))/5;
|
||||
@ -1155,7 +1104,7 @@ void k053247_device::device_start()
|
||||
};
|
||||
|
||||
/* decode the graphics */
|
||||
switch (m_plane_order)
|
||||
switch (m_bpp)
|
||||
{
|
||||
case NORMAL_PLANE_ORDER:
|
||||
total = machine().root_device().memregion(m_memory_region)->bytes() / 128;
|
||||
@ -1232,14 +1181,3 @@ READ16_MEMBER( k053247_device::k053246_reg_word_r )
|
||||
{
|
||||
return(m_kx46_regs[offset * 2] << 8 | m_kx46_regs[offset * 2 + 1]);
|
||||
} // OBJSET1
|
||||
|
||||
READ16_MEMBER( k053247_device::k053247_reg_word_r )
|
||||
{
|
||||
return(m_kx47_regs[offset]);
|
||||
} // OBJSET2
|
||||
|
||||
READ32_MEMBER( k053247_device::k053247_reg_long_r )
|
||||
{
|
||||
offset <<= 1;
|
||||
return (k053247_reg_word_r( space, offset + 1, 0xffff) | k053247_reg_word_r( space, offset, 0xffff) << 16);
|
||||
}
|
||||
|
@ -6,7 +6,7 @@
|
||||
#ifndef __K05324x_H__
|
||||
#define __K05324x_H__
|
||||
|
||||
#define NORMAL_PLANE_ORDER 0x0123
|
||||
#define NORMAL_PLANE_ORDER 4
|
||||
|
||||
typedef device_delegate<void (int *code, int *color, int *priority_mask)> k053247_cb_delegate;
|
||||
#define K053246_CB_MEMBER(_name) void _name(int *code, int *color, int *priority_mask)
|
||||
@ -26,10 +26,10 @@ typedef device_delegate<void (int *code, int *color, int *priority_mask)> k05324
|
||||
|
||||
|
||||
/** Konami 053246 / 053247 / 055673 **/
|
||||
#define K055673_LAYOUT_GX 0
|
||||
#define K055673_LAYOUT_RNG 1
|
||||
#define K055673_LAYOUT_LE2 2
|
||||
#define K055673_LAYOUT_GX6 3
|
||||
#define K055673_LAYOUT_GX 5
|
||||
#define K055673_LAYOUT_RNG 4
|
||||
#define K055673_LAYOUT_LE2 8
|
||||
#define K055673_LAYOUT_GX6 6
|
||||
|
||||
|
||||
/*
|
||||
@ -68,12 +68,12 @@ public:
|
||||
static void static_set_gfxdecode_tag(device_t &device, const char *tag);
|
||||
static void static_set_palette_tag(device_t &device, const char *tag);
|
||||
static void set_k053247_callback(device_t &device, k053247_cb_delegate callback) { downcast<k053247_device &>(device).m_k053247_cb = callback; }
|
||||
static void set_config(device_t &device, const char *gfx_reg, int gfx_num, int order, int dx, int dy)
|
||||
static void set_config(device_t &device, const char *gfx_reg, int gfx_num, int bpp, int dx, int dy)
|
||||
{
|
||||
k053247_device &dev = downcast<k053247_device &>(device);
|
||||
dev.m_memory_region = gfx_reg;
|
||||
dev.m_gfx_num = gfx_num;
|
||||
dev.m_plane_order = order;
|
||||
dev.m_bpp = bpp;
|
||||
dev.m_dx = dx;
|
||||
dev.m_dy = dy;
|
||||
}
|
||||
@ -81,16 +81,13 @@ public:
|
||||
void clear_all();
|
||||
|
||||
DECLARE_READ16_MEMBER( k055673_rom_word_r );
|
||||
DECLARE_READ16_MEMBER( k055673_GX6bpp_rom_word_r );
|
||||
DECLARE_READ16_MEMBER( k055673_5bpp_rom_word_r );
|
||||
|
||||
DECLARE_READ8_MEMBER( k053247_r );
|
||||
DECLARE_WRITE8_MEMBER( k053247_w );
|
||||
DECLARE_READ16_MEMBER( k053247_word_r );
|
||||
DECLARE_WRITE16_MEMBER( k053247_word_w );
|
||||
DECLARE_READ32_MEMBER( k053247_long_r );
|
||||
DECLARE_WRITE32_MEMBER( k053247_long_w );
|
||||
DECLARE_WRITE16_MEMBER( k053247_reg_word_w ); // "OBJSET2" registers
|
||||
DECLARE_WRITE32_MEMBER( k053247_reg_long_w );
|
||||
DECLARE_WRITE16_MEMBER( k055673_reg_word_w ); // "OBJSET2" registers
|
||||
|
||||
void k053247_sprites_draw( bitmap_ind16 &bitmap,const rectangle &cliprect);
|
||||
void k053247_sprites_draw( bitmap_rgb32 &bitmap,const rectangle &cliprect);
|
||||
@ -104,16 +101,12 @@ public:
|
||||
DECLARE_WRITE8_MEMBER( k053246_w );
|
||||
DECLARE_READ16_MEMBER( k053246_word_r );
|
||||
DECLARE_WRITE16_MEMBER( k053246_word_w );
|
||||
DECLARE_READ32_MEMBER( k053246_long_r );
|
||||
DECLARE_WRITE32_MEMBER( k053246_long_w );
|
||||
|
||||
void k053246_set_objcha_line( int state);
|
||||
int k053246_is_irq_enabled(void);
|
||||
int k053246_read_register( int regnum);
|
||||
|
||||
DECLARE_READ16_MEMBER( k053246_reg_word_r ); // OBJSET1
|
||||
DECLARE_READ16_MEMBER( k053247_reg_word_r ); // OBJSET2
|
||||
DECLARE_READ32_MEMBER( k053247_reg_long_r ); // OBJSET2
|
||||
|
||||
UINT16 *m_ram;
|
||||
|
||||
@ -130,7 +123,7 @@ public:
|
||||
//FIXME: device should be updated to use device_gfx_interface to get rid of most of these!
|
||||
const char *m_memory_region;
|
||||
int m_gfx_num;
|
||||
int m_plane_order;
|
||||
int m_bpp;
|
||||
required_device<gfxdecode_device> m_gfxdecode;
|
||||
required_device<palette_device> m_palette;
|
||||
|
||||
|
@ -4,8 +4,6 @@
|
||||
#ifndef __KONAMI_HELPER_H__
|
||||
#define __KONAMI_HELPER_H__
|
||||
|
||||
#define NORMAL_PLANE_ORDER 0x0123
|
||||
|
||||
void konami_decode_gfx(running_machine &machine, gfxdecode_device * gfxdecode, palette_device &palette, int gfx_index, UINT8 *data, UINT32 total, const gfx_layout *layout, int bpp);
|
||||
|
||||
/* helper function to sort three tile layers by priority order */
|
||||
|
Loading…
Reference in New Issue
Block a user