mirror of
https://github.com/holub/mame
synced 2025-10-04 16:34:53 +03:00
Unified memory maps
Reversed ROM set names of Cuebrick World and Japan versions Changed some function names to reflect parent set cuebrckj0102u5gre doesn't happen (I didn't fix it)
This commit is contained in:
parent
47cf2c7874
commit
d0c7416adf
File diff suppressed because it is too large
Load Diff
@ -86,8 +86,8 @@ static UINT16 twin16_CPUA_register, twin16_CPUB_register;
|
||||
static UINT8 twin16_soundlatch;
|
||||
static UINT16 twin16_sound_command;
|
||||
|
||||
static int cuebrick_nvram_bank;
|
||||
static UINT16 cuebrick_nvram[0x400*0x20]; // 32k paged in a 1k window
|
||||
static int cuebrckj_nvram_bank;
|
||||
static UINT16 cuebrckj_nvram[0x400*0x20]; // 32k paged in a 1k window
|
||||
|
||||
|
||||
int twin16_spriteram_process_enable( void )
|
||||
@ -245,19 +245,19 @@ static WRITE8_HANDLER( twin16_sres_w )
|
||||
twin16_soundlatch = data;
|
||||
}
|
||||
|
||||
static READ16_HANDLER( cuebrick_nvram_r )
|
||||
static READ16_HANDLER( cuebrckj_nvram_r )
|
||||
{
|
||||
return cuebrick_nvram[offset + (cuebrick_nvram_bank * 0x400 / 2)];
|
||||
return cuebrckj_nvram[offset + (cuebrckj_nvram_bank * 0x400 / 2)];
|
||||
}
|
||||
|
||||
static WRITE16_HANDLER( cuebrick_nvram_w )
|
||||
static WRITE16_HANDLER( cuebrckj_nvram_w )
|
||||
{
|
||||
COMBINE_DATA(&cuebrick_nvram[offset + (cuebrick_nvram_bank * 0x400 / 2)]);
|
||||
COMBINE_DATA(&cuebrckj_nvram[offset + (cuebrckj_nvram_bank * 0x400 / 2)]);
|
||||
}
|
||||
|
||||
static WRITE16_HANDLER( cuebrick_nvram_bank_w )
|
||||
static WRITE16_HANDLER( cuebrckj_nvram_bank_w )
|
||||
{
|
||||
cuebrick_nvram_bank = (data >> 8);
|
||||
cuebrckj_nvram_bank = (data >> 8);
|
||||
}
|
||||
|
||||
/* Memory Maps */
|
||||
@ -291,7 +291,7 @@ static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x060000, 0x063fff) AM_READ(MRA16_RAM)
|
||||
AM_RANGE(0x080000, 0x080fff) AM_READ(MRA16_RAM)
|
||||
AM_RANGE(0x0a0000, 0x0a001b) AM_READ(twin16_input_r)
|
||||
AM_RANGE(0x0b0000, 0x0b03ff) AM_READ(cuebrick_nvram_r)
|
||||
AM_RANGE(0x0b0000, 0x0b03ff) AM_READ(cuebrckj_nvram_r)
|
||||
AM_RANGE(0x0c000e, 0x0c000f) AM_READ(twin16_sprite_status_r)
|
||||
AM_RANGE(0x100000, 0x103fff) AM_READ(MRA16_RAM)
|
||||
AM_RANGE(0x104000, 0x105fff) AM_READ(MRA16_RAM) // miaj
|
||||
@ -309,8 +309,8 @@ static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x0a0000, 0x0a0001) AM_WRITE(twin16_CPUA_register_w)
|
||||
AM_RANGE(0x0a0008, 0x0a0009) AM_WRITE(sound_command_w)
|
||||
AM_RANGE(0x0a0010, 0x0a0011) AM_WRITE(watchdog_reset16_w)
|
||||
AM_RANGE(0x0b0000, 0x0b03ff) AM_WRITE(cuebrick_nvram_w)
|
||||
AM_RANGE(0x0b0400, 0x0b0401) AM_WRITE(cuebrick_nvram_bank_w)
|
||||
AM_RANGE(0x0b0000, 0x0b03ff) AM_WRITE(cuebrckj_nvram_w)
|
||||
AM_RANGE(0x0b0400, 0x0b0401) AM_WRITE(cuebrckj_nvram_bank_w)
|
||||
AM_RANGE(0x0c0000, 0x0c000f) AM_WRITE(twin16_video_register_w)
|
||||
AM_RANGE(0x100000, 0x103fff) AM_WRITE(twin16_videoram2_w) AM_BASE(&twin16_videoram2)
|
||||
AM_RANGE(0x104000, 0x105fff) AM_WRITE(MWA16_RAM) // miaj
|
||||
@ -833,7 +833,7 @@ static INPUT_PORTS_START( miaj )
|
||||
PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( cuebrick )
|
||||
static INPUT_PORTS_START( cuebrckj )
|
||||
PORT_START /* 0xa0001 */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
@ -1075,7 +1075,7 @@ static MACHINE_DRIVER_START( vulcan )
|
||||
MDRV_VIDEO_UPDATE(vulcan )
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
static MACHINE_DRIVER_START( cuebrick )
|
||||
static MACHINE_DRIVER_START( cuebrckj )
|
||||
MDRV_IMPORT_FROM(twin16)
|
||||
MDRV_SCREEN_VISIBLE_AREA(1*8, 39*8-1, 2*8, 30*8-1)
|
||||
MDRV_VIDEO_START(fround)
|
||||
@ -1437,7 +1437,7 @@ ROM_START( miaj )
|
||||
ROM_REGION( 0x20000, REGION_SOUND2, ROMREGION_ERASE00 ) // samples
|
||||
ROM_END
|
||||
|
||||
ROM_START( cuebrick )
|
||||
ROM_START( cuebrckj )
|
||||
ROM_REGION( 0x10000, REGION_CPU1, 0 ) // Z80 code (sound CPU)
|
||||
ROM_LOAD( "903_d03.10a", 0x00000, 0x8000, CRC(455e855a) SHA1(cfdd54a5071862653ee94c0455301f4a7245fbd8) )
|
||||
|
||||
@ -1508,27 +1508,27 @@ static DRIVER_INIT( hpuncher )
|
||||
twin16_custom_video = 2;
|
||||
}
|
||||
|
||||
static DRIVER_INIT( cuebrick )
|
||||
static DRIVER_INIT( cuebrckj )
|
||||
{
|
||||
gfx_untangle();
|
||||
twin16_custom_video = 2;
|
||||
|
||||
generic_nvram = (UINT8 *)cuebrick_nvram;
|
||||
generic_nvram = (UINT8 *)cuebrckj_nvram;
|
||||
generic_nvram_size = 0x400*0x20;
|
||||
}
|
||||
|
||||
/* Game Drivers */
|
||||
|
||||
GAME( 1987, devilw, 0, heavysync, devilw, twin16, ROT0, "Konami", "Devil World", 0 )
|
||||
GAME( 1987, majuu, devilw, heavysync, devilw, twin16, ROT0, "Konami", "Majuu no Ohkoku", 0 )
|
||||
GAME( 1987, darkadv, devilw, heavysync, darkadv, twin16, ROT0, "Konami", "Dark Adventure", 0 )
|
||||
GAME( 1988, vulcan, 0, vulcan, vulcan, twin16, ROT0, "Konami", "Vulcan Venture", 0 )
|
||||
GAME( 1988, gradius2, vulcan, vulcan, gradius2, twin16, ROT0, "Konami", "Gradius II - GOFER no Yabou (Japan New Ver.)", 0 )
|
||||
GAME( 1988, grdius2a, vulcan, vulcan, vulcan, twin16, ROT0, "Konami", "Gradius II - GOFER no Yabou (Japan Old Ver.)", 0 )
|
||||
GAME( 1988, grdius2b, vulcan, vulcan, vulcan, twin16, ROT0, "Konami", "Gradius II - GOFER no Yabou (Japan Older Ver.)", 0 )
|
||||
GAME( 1987, devilw, 0, heavysync, devilw, twin16, ROT0, "Konami", "Devil World", 0 )
|
||||
GAME( 1987, majuu, devilw, heavysync, devilw, twin16, ROT0, "Konami", "Majuu no Ohkoku", 0 )
|
||||
GAME( 1987, darkadv, devilw, heavysync, darkadv, twin16, ROT0, "Konami", "Dark Adventure", 0 )
|
||||
GAME( 1988, vulcan, 0, vulcan, vulcan, twin16, ROT0, "Konami", "Vulcan Venture", 0 )
|
||||
GAME( 1988, gradius2, vulcan, vulcan, gradius2, twin16, ROT0, "Konami", "Gradius II - GOFER no Yabou (Japan New Ver.)", 0 )
|
||||
GAME( 1988, grdius2a, vulcan, vulcan, vulcan, twin16, ROT0, "Konami", "Gradius II - GOFER no Yabou (Japan Old Ver.)", 0 )
|
||||
GAME( 1988, grdius2b, vulcan, vulcan, vulcan, twin16, ROT0, "Konami", "Gradius II - GOFER no Yabou (Japan Older Ver.)", 0 )
|
||||
|
||||
GAME( 1988, fround, 0, fround, fround, fround, ROT0, "Konami", "The Final Round (version M)", 0 )
|
||||
GAME( 1988, froundl, fround, fround, fround, fround, ROT0, "Konami", "The Final Round (version L)", 0 )
|
||||
GAME( 1988, hpuncher, fround, hpuncher, fround, hpuncher, ROT0, "Konami", "Hard Puncher (Japan)", 0 )
|
||||
GAME( 1989, miaj, mia, mia, miaj, hpuncher, ROT0, "Konami", "M.I.A. - Missing in Action (Japan)", 0 )
|
||||
GAME( 1989, cuebrick, 0, cuebrick, cuebrick, cuebrick, ROT0, "Konami", "Cue Brick (Japan)", 0 )
|
||||
GAME( 1988, fround, 0, fround, fround, fround, ROT0, "Konami", "The Final Round (version M)", 0 )
|
||||
GAME( 1988, froundl, fround, fround, fround, fround, ROT0, "Konami", "The Final Round (version L)", 0 )
|
||||
GAME( 1988, hpuncher, fround, hpuncher, fround, hpuncher, ROT0, "Konami", "Hard Puncher (Japan)", 0 )
|
||||
GAME( 1989, miaj, mia, mia, miaj, hpuncher, ROT0, "Konami", "M.I.A. - Missing in Action (Japan)", 0 )
|
||||
GAME( 1989, cuebrckj, cuebrick, cuebrckj, cuebrckj, cuebrckj, ROT0, "Konami", "Cue Brick (Japan)", 0 )
|
||||
|
@ -4614,14 +4614,14 @@ BOMULEUL CHAJARA SEGA ST-V 1997/04/11
|
||||
DRIVER( gradius2 ) /* GX785 (c) 1988 (Japan) */
|
||||
DRIVER( grdius2a ) /* GX785 (c) 1988 (Japan) */
|
||||
DRIVER( grdius2b ) /* GX785 (c) 1988 (Japan) */
|
||||
DRIVER( cuebrick ) /* GX903 (c) 1989 */
|
||||
DRIVER( cuebrckj ) /* GX903 (c) 1989 */
|
||||
DRIVER( fround ) /* GX870 (c) 1988 */
|
||||
DRIVER( froundl ) /* GX870 (c) 1988 */
|
||||
DRIVER( hpuncher ) /* GX870 (c) 1988 (Japan) */
|
||||
DRIVER( miaj ) /* GX808 (c) 1989 (Japan) */
|
||||
|
||||
/* (some) Konami 68000 games */
|
||||
DRIVER( cuebrckj ) /* GX903 (c) 1989 */
|
||||
DRIVER( cuebrick ) /* GX903 (c) 1989 */
|
||||
DRIVER( mia ) /* GX808 (c) 1989 */
|
||||
DRIVER( mia2 ) /* GX808 (c) 1989 */
|
||||
DRIVER( tmnt ) /* GX963 (c) 1989 (World) */
|
||||
|
@ -61,7 +61,7 @@ static void mia_tile_callback(int layer,int bank,int *code,int *color,int *flags
|
||||
}
|
||||
}
|
||||
|
||||
static void cuebrckj_tile_callback(int layer,int bank,int *code,int *color,int *flags,int *priority)
|
||||
static void cuebrick_tile_callback(int layer,int bank,int *code,int *color,int *flags,int *priority)
|
||||
{
|
||||
if (layer == 0)
|
||||
{
|
||||
@ -99,13 +99,13 @@ static void ssbl_tile_callback(int layer,int bank,int *code,int *color,int *flag
|
||||
*color = layer_colorbase[layer] + ((*color & 0xe0) >> 5);
|
||||
}
|
||||
|
||||
static int detatwin_rombank;
|
||||
static int blswhstl_rombank;
|
||||
|
||||
static void detatwin_tile_callback(int layer,int bank,int *code,int *color,int *flags,int *priority)
|
||||
static void blswhstl_tile_callback(int layer,int bank,int *code,int *color,int *flags,int *priority)
|
||||
{
|
||||
/* (color & 0x02) is flip y handled internally by the 052109 */
|
||||
*code |= ((*color & 0x01) << 8) | ((*color & 0x10) << 5) | ((*color & 0x0c) << 8)
|
||||
| (bank << 12) | detatwin_rombank << 14;
|
||||
| (bank << 12) | blswhstl_rombank << 14;
|
||||
*color = layer_colorbase[layer] + ((*color & 0xe0) >> 5);
|
||||
}
|
||||
|
||||
@ -169,7 +169,7 @@ static void lgtnfght_sprite_callback(int *code,int *color,int *priority_mask)
|
||||
*color = sprite_colorbase + (*color & 0x1f);
|
||||
}
|
||||
|
||||
static void detatwin_sprite_callback(int *code,int *color,int *priority_mask)
|
||||
static void blswhstl_sprite_callback(int *code,int *color,int *priority_mask)
|
||||
{
|
||||
#if 0
|
||||
if (input_code_pressed(KEYCODE_Q) && (*color & 0x20)) *color = rand();
|
||||
@ -216,13 +216,13 @@ VIDEO_START( mia )
|
||||
K051960_vh_start(machine,REGION_GFX2,REVERSE_PLANE_ORDER,mia_sprite_callback);
|
||||
}
|
||||
|
||||
VIDEO_START( cuebrckj )
|
||||
VIDEO_START( cuebrick )
|
||||
{
|
||||
layer_colorbase[0] = 0;
|
||||
layer_colorbase[1] = 32;
|
||||
layer_colorbase[2] = 40;
|
||||
sprite_colorbase = 16;
|
||||
K052109_vh_start(machine,REGION_GFX1,NORMAL_PLANE_ORDER,cuebrckj_tile_callback);
|
||||
K052109_vh_start(machine,REGION_GFX1,NORMAL_PLANE_ORDER,cuebrick_tile_callback);
|
||||
K051960_vh_start(machine,REGION_GFX2,REVERSE_PLANE_ORDER,mia_sprite_callback);
|
||||
}
|
||||
|
||||
@ -266,11 +266,11 @@ VIDEO_START( sunsetbl )
|
||||
K053245_vh_start(machine,0, REGION_GFX2,NORMAL_PLANE_ORDER,lgtnfght_sprite_callback);
|
||||
}
|
||||
|
||||
VIDEO_START( detatwin )
|
||||
VIDEO_START( blswhstl )
|
||||
{
|
||||
K053251_vh_start();
|
||||
K052109_vh_start(machine,REGION_GFX1,NORMAL_PLANE_ORDER,detatwin_tile_callback);
|
||||
K053245_vh_start(machine,0, REGION_GFX2,NORMAL_PLANE_ORDER,detatwin_sprite_callback);
|
||||
K052109_vh_start(machine,REGION_GFX1,NORMAL_PLANE_ORDER,blswhstl_tile_callback);
|
||||
K053245_vh_start(machine,0, REGION_GFX2,NORMAL_PLANE_ORDER,blswhstl_sprite_callback);
|
||||
}
|
||||
|
||||
VIDEO_START( glfgreat )
|
||||
@ -396,7 +396,7 @@ WRITE16_HANDLER( lgtnfght_0a0018_w )
|
||||
}
|
||||
}
|
||||
|
||||
WRITE16_HANDLER( detatwin_700300_w )
|
||||
WRITE16_HANDLER( blswhstl_700300_w )
|
||||
{
|
||||
if (ACCESSING_LSB)
|
||||
{
|
||||
@ -408,9 +408,9 @@ WRITE16_HANDLER( detatwin_700300_w )
|
||||
K052109_set_RMRD_line((data & 0x08) ? ASSERT_LINE : CLEAR_LINE);
|
||||
|
||||
/* bit 7 = select char ROM bank */
|
||||
if (detatwin_rombank != ((data & 0x80) >> 7))
|
||||
if (blswhstl_rombank != ((data & 0x80) >> 7))
|
||||
{
|
||||
detatwin_rombank = (data & 0x80) >> 7;
|
||||
blswhstl_rombank = (data & 0x80) >> 7;
|
||||
tilemap_mark_all_tiles_dirty(ALL_TILEMAPS);
|
||||
}
|
||||
|
||||
@ -809,7 +809,7 @@ VIDEO_UPDATE( thndrx2 )
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
VIDEO_EOF( detatwin )
|
||||
VIDEO_EOF( blswhstl )
|
||||
{
|
||||
K053245_clear_buffer(0);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user