mirror of
https://github.com/holub/mame
synced 2025-06-19 10:46:35 +03:00
yamyam: Use own program map; note undumped PROM; remove unneeded variable (nw)
This commit is contained in:
parent
19db9ffda7
commit
3ee77855ef
@ -70,7 +70,7 @@ WRITE8_MEMBER(gundealr_state::yamyam_bankswitch_w)
|
||||
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, gundealr_state )
|
||||
static ADDRESS_MAP_START( base_map, AS_PROGRAM, 8, gundealr_state )
|
||||
AM_RANGE(0x0000, 0x7fff) AM_ROM
|
||||
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
|
||||
AM_RANGE(0xc000, 0xc000) AM_READ_PORT("DSW0")
|
||||
@ -78,16 +78,26 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, gundealr_state )
|
||||
AM_RANGE(0xc004, 0xc004) AM_READ_PORT("IN0")
|
||||
AM_RANGE(0xc005, 0xc005) AM_READ_PORT("IN1")
|
||||
AM_RANGE(0xc006, 0xc006) AM_READ_PORT("IN2")
|
||||
AM_RANGE(0xc010, 0xc013) AM_WRITE(yamyam_fg_scroll_w) /* Yam Yam only */
|
||||
AM_RANGE(0xc014, 0xc014) AM_WRITE(gundealr_flipscreen_w)
|
||||
AM_RANGE(0xc016, 0xc016) AM_WRITE(yamyam_bankswitch_w)
|
||||
AM_RANGE(0xc020, 0xc023) AM_WRITE(gundealr_fg_scroll_w) /* Gun Dealer only */
|
||||
AM_RANGE(0xc400, 0xc7ff) AM_RAM_WRITE(gundealr_paletteram_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(gundealr_bg_videoram_w) AM_SHARE("bg_videoram")
|
||||
AM_RANGE(0xd000, 0xdfff) AM_RAM_WRITE(gundealr_fg_videoram_w) AM_SHARE("fg_videoram")
|
||||
AM_RANGE(0xe000, 0xffff) AM_RAM AM_SHARE("rambase")
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( gundealr_main_map, AS_PROGRAM, 8, gundealr_state )
|
||||
AM_IMPORT_FROM(base_map)
|
||||
AM_RANGE(0xc014, 0xc014) AM_WRITE(gundealr_flipscreen_w)
|
||||
AM_RANGE(0xc020, 0xc023) AM_WRITE(gundealr_fg_scroll_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( yamyam_main_map, AS_PROGRAM, 8, gundealr_state )
|
||||
AM_IMPORT_FROM(base_map)
|
||||
AM_RANGE(0xc010, 0xc013) AM_WRITE(yamyam_fg_scroll_w)
|
||||
AM_RANGE(0xc014, 0xc014) AM_WRITE(yamyam_flipscreen_w)
|
||||
AM_RANGE(0xc015, 0xc015) AM_WRITENOP // Bit 7 = MCU reset?
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( main_portmap, AS_IO, 8, gundealr_state )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x00, 0x01) AM_DEVREADWRITE("ymsnd", ym2203_device, read, write)
|
||||
@ -379,13 +389,11 @@ void gundealr_state::machine_start()
|
||||
|
||||
membank("bank1")->configure_entries(0, 8, &ROM[0x10000], 0x4000);
|
||||
|
||||
save_item(NAME(m_flipscreen));
|
||||
save_item(NAME(m_scroll));
|
||||
}
|
||||
|
||||
void gundealr_state::machine_reset()
|
||||
{
|
||||
m_flipscreen = 0;
|
||||
m_scroll[0] = 0;
|
||||
m_scroll[1] = 0;
|
||||
m_scroll[2] = 0;
|
||||
@ -406,7 +414,7 @@ static MACHINE_CONFIG_START( gundealr, gundealr_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", Z80, XTAL_12MHz/2) /* 6 MHz verified for Yam! Yam!? */
|
||||
MCFG_CPU_PROGRAM_MAP(main_map)
|
||||
MCFG_CPU_PROGRAM_MAP(gundealr_main_map)
|
||||
MCFG_CPU_IO_MAP(main_portmap)
|
||||
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", gundealr_state, gundealr_scanline, "screen", 0, 1)
|
||||
|
||||
@ -496,6 +504,8 @@ TIMER_DEVICE_CALLBACK_MEMBER(gundealr_state::yamyam_mcu_sim)
|
||||
}
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( yamyam, gundealr )
|
||||
MCFG_CPU_MODIFY("maincpu")
|
||||
MCFG_CPU_PROGRAM_MAP(yamyam_main_map)
|
||||
|
||||
MCFG_TIMER_DRIVER_ADD_PERIODIC("mcusim", gundealr_state, yamyam_mcu_sim, attotime::from_hz(6000000/60)) /* 6mhz confirmed */
|
||||
MACHINE_CONFIG_END
|
||||
@ -592,6 +602,9 @@ ROM_START( yamyam ) /* DY-90010001 PCB */
|
||||
|
||||
ROM_REGION( 0x20000, "gfx2", 0 )
|
||||
ROM_LOAD( "1.16a", 0x00000, 0x20000, CRC(b122828d) SHA1(90994ba548893a2eacdd58351cfa3952f4af926a) )
|
||||
|
||||
ROM_REGION( 0x0100, "proms", 0 )
|
||||
ROM_LOAD( "4.7e", 0x0000, 0x0100, NO_DUMP)
|
||||
ROM_END
|
||||
|
||||
ROM_START( yamyamk ) /* DY-90010001 PCB */
|
||||
@ -607,6 +620,9 @@ ROM_START( yamyamk ) /* DY-90010001 PCB */
|
||||
|
||||
ROM_REGION( 0x20000, "gfx2", 0 )
|
||||
ROM_LOAD( "1.16a", 0x00000, 0x20000, CRC(b122828d) SHA1(90994ba548893a2eacdd58351cfa3952f4af926a) )
|
||||
|
||||
ROM_REGION( 0x0100, "proms", 0 )
|
||||
ROM_LOAD( "4.7e", 0x0000, 0x0100, NO_DUMP)
|
||||
ROM_END
|
||||
|
||||
ROM_START( wiseguy ) /* DY-90010001 PCB */
|
||||
@ -622,6 +638,9 @@ ROM_START( wiseguy ) /* DY-90010001 PCB */
|
||||
|
||||
ROM_REGION( 0x20000, "gfx2", 0 )
|
||||
ROM_LOAD( "1.16a", 0x00000, 0x20000, CRC(b122828d) SHA1(90994ba548893a2eacdd58351cfa3952f4af926a) )
|
||||
|
||||
ROM_REGION( 0x0100, "proms", 0 )
|
||||
ROM_LOAD( "4.7e", 0x0000, 0x0100, NO_DUMP)
|
||||
ROM_END
|
||||
|
||||
|
||||
@ -629,7 +648,7 @@ ROM_END
|
||||
GAME( 1990, gundealr, 0, gundealr, gundealr, driver_device, 0, ROT270, "Dooyong", "Gun Dealer", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1990, gundealra, gundealr, gundealr, gundealr, driver_device, 0, ROT270, "Dooyong", "Gun Dealer (alt card set)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1990, gundealrt, gundealr, gundealr, gundealt, driver_device, 0, ROT270, "Dooyong (Tecmo license)", "Gun Dealer (Japan)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1990, gundealrbl, gundealr, gundealr, gundealr, driver_device, 0, ROT270, "bootleg", "Gun Dealer (bootleg)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1990, gundealrbl, gundealr, yamyam, gundealr, driver_device, 0, ROT270, "bootleg", "Gun Dealer (bootleg)", MACHINE_SUPPORTS_SAVE )
|
||||
|
||||
GAME( 1990, yamyam, 0, yamyam, yamyam, driver_device, 0, ROT0, "Dooyong", "Yam! Yam!?", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1990, yamyamk, yamyam, yamyam, yamyam, driver_device, 0, ROT0, "Dooyong", "Yam! Yam!? (Korea)", MACHINE_SUPPORTS_SAVE )
|
||||
|
@ -28,7 +28,6 @@ public:
|
||||
/* video-related */
|
||||
tilemap_t *m_bg_tilemap;
|
||||
tilemap_t *m_fg_tilemap;
|
||||
int m_flipscreen;
|
||||
uint8_t m_scroll[4];
|
||||
|
||||
/* misc */
|
||||
@ -40,6 +39,7 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(gundealr_fg_scroll_w);
|
||||
DECLARE_WRITE8_MEMBER(yamyam_fg_scroll_w);
|
||||
DECLARE_WRITE8_MEMBER(gundealr_flipscreen_w);
|
||||
DECLARE_WRITE8_MEMBER(yamyam_flipscreen_w);
|
||||
TILE_GET_INFO_MEMBER(get_bg_tile_info);
|
||||
TILEMAP_MAPPER_MEMBER(gundealr_scan);
|
||||
TILE_GET_INFO_MEMBER(get_fg_tile_info);
|
||||
|
@ -111,8 +111,12 @@ WRITE8_MEMBER(gundealr_state::yamyam_fg_scroll_w)
|
||||
|
||||
WRITE8_MEMBER(gundealr_state::gundealr_flipscreen_w)
|
||||
{
|
||||
m_flipscreen = data;
|
||||
machine().tilemap().set_flip_all(m_flipscreen ? (TILEMAP_FLIPY | TILEMAP_FLIPX) : 0);
|
||||
machine().tilemap().set_flip_all(BIT(data, 0) ? (TILEMAP_FLIPY | TILEMAP_FLIPX) : 0);
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(gundealr_state::yamyam_flipscreen_w)
|
||||
{
|
||||
machine().tilemap().set_flip_all(BIT(data, 7) ? (TILEMAP_FLIPY | TILEMAP_FLIPX) : 0);
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user