mirror of
https://github.com/holub/mame
synced 2025-04-21 16:01:56 +03:00
arkanoid.cpp: zero-fill and save some hexaa specific member variables. Also removed OVERRIDE macros since start and reset functions are common for all the machines in the driver. No functional change expected. (nw)
This commit is contained in:
parent
24b36889cd
commit
81f426e59e
@ -811,13 +811,13 @@ ADDRESS_MAP_END
|
||||
|
||||
READ8_MEMBER(arkanoid_state::hexaa_f000_r)
|
||||
{
|
||||
// return hexaa_from_sub;
|
||||
// return m_hexaa_from_sub;
|
||||
return rand();
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(arkanoid_state::hexaa_f000_w)
|
||||
{
|
||||
hexaa_from_main = data;
|
||||
m_hexaa_from_main = data;
|
||||
}
|
||||
|
||||
static ADDRESS_MAP_START( hexaa_map, AS_PROGRAM, 8, arkanoid_state )
|
||||
@ -840,12 +840,12 @@ ADDRESS_MAP_END
|
||||
|
||||
WRITE8_MEMBER(arkanoid_state::hexaa_sub_80_w)
|
||||
{
|
||||
hexaa_from_sub = data;
|
||||
m_hexaa_from_sub = data;
|
||||
}
|
||||
|
||||
READ8_MEMBER(arkanoid_state::hexaa_sub_90_r)
|
||||
{
|
||||
return hexaa_from_main;
|
||||
return m_hexaa_from_main;
|
||||
// return rand();
|
||||
}
|
||||
|
||||
@ -1183,7 +1183,7 @@ GFXDECODE_END
|
||||
|
||||
/* Machine Drivers */
|
||||
|
||||
MACHINE_START_MEMBER(arkanoid_state,arkanoid)
|
||||
void arkanoid_state::machine_start()
|
||||
{
|
||||
save_item(NAME(m_bootleg_cmd));
|
||||
|
||||
@ -1204,7 +1204,7 @@ MACHINE_START_MEMBER(arkanoid_state,arkanoid)
|
||||
save_item(NAME(m_palettebank));
|
||||
}
|
||||
|
||||
MACHINE_RESET_MEMBER(arkanoid_state,arkanoid)
|
||||
void arkanoid_state::machine_reset()
|
||||
{
|
||||
m_port_a_in = 0;
|
||||
m_port_a_out = 0;
|
||||
@ -1245,9 +1245,6 @@ static MACHINE_CONFIG_START( arkanoid, arkanoid_state )
|
||||
|
||||
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) // 100 CPU slices per second to synchronize between the MCU and the main CPU
|
||||
|
||||
MCFG_MACHINE_START_OVERRIDE(arkanoid_state,arkanoid)
|
||||
MCFG_MACHINE_RESET_OVERRIDE(arkanoid_state,arkanoid)
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
// MCFG_SCREEN_REFRESH_RATE(60)
|
||||
@ -1260,7 +1257,6 @@ static MACHINE_CONFIG_START( arkanoid, arkanoid_state )
|
||||
|
||||
MCFG_GFXDECODE_ADD("gfxdecode", "palette", arkanoid)
|
||||
MCFG_PALETTE_ADD_RRRRGGGGBBBB_PROMS("palette", 512)
|
||||
MCFG_VIDEO_START_OVERRIDE(arkanoid_state,arkanoid)
|
||||
|
||||
/* sound hardware */
|
||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||
@ -1279,9 +1275,6 @@ static MACHINE_CONFIG_START( hexa, arkanoid_state )
|
||||
MCFG_CPU_PROGRAM_MAP(hexa_map)
|
||||
MCFG_CPU_VBLANK_INT_DRIVER("screen", arkanoid_state, irq0_line_hold)
|
||||
|
||||
MCFG_MACHINE_START_OVERRIDE(arkanoid_state,arkanoid)
|
||||
MCFG_MACHINE_RESET_OVERRIDE(arkanoid_state,arkanoid)
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
// MCFG_SCREEN_REFRESH_RATE(60)
|
||||
@ -1294,7 +1287,6 @@ static MACHINE_CONFIG_START( hexa, arkanoid_state )
|
||||
|
||||
MCFG_GFXDECODE_ADD("gfxdecode", "palette", hexa)
|
||||
MCFG_PALETTE_ADD_RRRRGGGGBBBB_PROMS("palette", 256)
|
||||
MCFG_VIDEO_START_OVERRIDE(arkanoid_state,arkanoid)
|
||||
|
||||
/* sound hardware */
|
||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||
@ -1335,9 +1327,6 @@ static MACHINE_CONFIG_START( brixian, arkanoid_state )
|
||||
/* there is a 68705 but it's only role appears to be to copy data to RAM at startup */
|
||||
/* the RAM is also battery backed, making the 68705 almost reundant as long as the battery doesn't die(!) */
|
||||
|
||||
MCFG_MACHINE_START_OVERRIDE(arkanoid_state,arkanoid)
|
||||
MCFG_MACHINE_RESET_OVERRIDE(arkanoid_state,arkanoid)
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
// MCFG_SCREEN_REFRESH_RATE(60)
|
||||
@ -1350,7 +1339,6 @@ static MACHINE_CONFIG_START( brixian, arkanoid_state )
|
||||
|
||||
MCFG_GFXDECODE_ADD("gfxdecode", "palette", arkanoid)
|
||||
MCFG_PALETTE_ADD_RRRRGGGGBBBB_PROMS("palette", 512)
|
||||
MCFG_VIDEO_START_OVERRIDE(arkanoid_state,arkanoid)
|
||||
|
||||
/* sound hardware */
|
||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||
@ -2037,6 +2025,17 @@ DRIVER_INIT_MEMBER(arkanoid_state,hexa)
|
||||
membank("bank1")->configure_entries(0, 2, &RAM[0x10000], 0x4000);
|
||||
}
|
||||
|
||||
DRIVER_INIT_MEMBER(arkanoid_state,hexaa)
|
||||
{
|
||||
DRIVER_INIT_CALL(hexa);
|
||||
|
||||
m_hexaa_from_main = 0;
|
||||
m_hexaa_from_sub = 0;
|
||||
|
||||
save_item(NAME(m_hexaa_from_main));
|
||||
save_item(NAME(m_hexaa_from_sub));
|
||||
}
|
||||
|
||||
DRIVER_INIT_MEMBER(arkanoid_state,brixian)
|
||||
{
|
||||
UINT8 *RAM = memregion("protdata")->base();
|
||||
@ -2076,6 +2075,6 @@ GAME( 1987, arkatour, 0, arkanoid, arkanoid, driver_device, 0, R
|
||||
GAME( 19??, tetrsark, 0, bootleg, tetrsark, arkanoid_state, tetrsark, ROT0, "D.R. Korea", "Tetris (D.R. Korea)", MACHINE_SUPPORTS_SAVE )
|
||||
|
||||
GAME( 199?, hexa, 0, hexa, hexa, arkanoid_state, hexa, ROT0, "D.R. Korea", "Hexa", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 199?, hexaa, hexa, hexaa, hexa, arkanoid_state, hexa, ROT0, "D.R. Korea", "Hexa (with 2xZ80, protected)", MACHINE_NOT_WORKING )
|
||||
GAME( 199?, hexaa, hexa, hexaa, hexa, arkanoid_state, hexaa, ROT0, "D.R. Korea", "Hexa (with 2xZ80, protected)", MACHINE_NOT_WORKING )
|
||||
|
||||
GAME( 1993, brixian, 0, brixian, brixian, arkanoid_state, brixian, ROT0, "Cheil Computer System", "Brixian", MACHINE_SUPPORTS_SAVE )
|
||||
|
@ -20,8 +20,8 @@ public:
|
||||
m_videoram(*this,"videoram"),
|
||||
m_spriteram(*this,"spriteram"),
|
||||
m_protram(*this,"protram"),
|
||||
m_mcu(*this, "mcu"),
|
||||
m_maincpu(*this, "maincpu"),
|
||||
m_mcu(*this, "mcu"),
|
||||
m_gfxdecode(*this, "gfxdecode"),
|
||||
m_palette(*this, "palette") { }
|
||||
|
||||
@ -52,11 +52,15 @@ public:
|
||||
UINT8 m_bootleg_cmd;
|
||||
|
||||
/* hexaa */
|
||||
UINT8 hexaa_from_main;
|
||||
UINT8 hexaa_from_sub;
|
||||
UINT8 m_hexaa_from_main;
|
||||
UINT8 m_hexaa_from_sub;
|
||||
|
||||
/* devices */
|
||||
required_device<cpu_device> m_maincpu;
|
||||
optional_device<cpu_device> m_mcu;
|
||||
required_device<gfxdecode_device> m_gfxdecode;
|
||||
required_device<palette_device> m_palette;
|
||||
|
||||
DECLARE_READ8_MEMBER(arkanoid_Z80_mcu_r);
|
||||
DECLARE_WRITE8_MEMBER(arkanoid_Z80_mcu_w);
|
||||
DECLARE_READ8_MEMBER(arkanoid_68705_port_a_r);
|
||||
@ -84,6 +88,7 @@ public:
|
||||
DECLARE_DRIVER_INIT(block2);
|
||||
DECLARE_DRIVER_INIT(arkblock);
|
||||
DECLARE_DRIVER_INIT(hexa);
|
||||
DECLARE_DRIVER_INIT(hexaa);
|
||||
DECLARE_DRIVER_INIT(paddle2);
|
||||
DECLARE_DRIVER_INIT(tetrsark);
|
||||
DECLARE_DRIVER_INIT(arkgcbl);
|
||||
@ -92,15 +97,12 @@ public:
|
||||
DECLARE_DRIVER_INIT(arkangc);
|
||||
DECLARE_DRIVER_INIT(brixian);
|
||||
TILE_GET_INFO_MEMBER(get_bg_tile_info);
|
||||
DECLARE_MACHINE_START(arkanoid);
|
||||
DECLARE_MACHINE_RESET(arkanoid);
|
||||
DECLARE_VIDEO_START(arkanoid);
|
||||
virtual void machine_start();
|
||||
virtual void machine_reset();
|
||||
virtual void video_start();
|
||||
UINT32 screen_update_arkanoid(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
UINT32 screen_update_hexa(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
TIMER_CALLBACK_MEMBER(test);
|
||||
void draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect );
|
||||
void arkanoid_bootleg_init( );
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<gfxdecode_device> m_gfxdecode;
|
||||
required_device<palette_device> m_palette;
|
||||
};
|
||||
|
@ -171,7 +171,7 @@ TILE_GET_INFO_MEMBER(arkanoid_state::get_bg_tile_info)
|
||||
SET_TILE_INFO_MEMBER(0, code, color, 0);
|
||||
}
|
||||
|
||||
VIDEO_START_MEMBER(arkanoid_state,arkanoid)
|
||||
void arkanoid_state::video_start()
|
||||
{
|
||||
m_bg_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(arkanoid_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user