summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author angelosa <lordkale4@gmail.com>2020-02-27 14:49:40 +0100
committer angelosa <lordkale4@gmail.com>2020-02-27 14:49:40 +0100
commiteb2b5fa96cb85175de283bbd97707290bccb312c (patch)
treeed523cf45a0a5e9824ea6f38bd497c9357931010
parentbf102135b616fba63c794adbf107825d5f79a69a (diff)
Demoted Fire Battle to MUP as stated in the notes (nw)
-rw-r--r--src/mame/drivers/clshroad.cpp21
1 files changed, 9 insertions, 12 deletions
diff --git a/src/mame/drivers/clshroad.cpp b/src/mame/drivers/clshroad.cpp
index 07b6b8391f1..7a9545bb93d 100644
--- a/src/mame/drivers/clshroad.cpp
+++ b/src/mame/drivers/clshroad.cpp
@@ -26,9 +26,9 @@ TODO:
- firebatl: reads $6000-$6002 and $6100 at POST, and in the range $6100-$61ff before every start
of gameplay/after player dies.
Currently 0-filled in ROM loading:
- - $6100 is actually OR-ed with the coinage work RAM buffer setting at $8022,
- - $6124 are shifted right once at PC=0x5df and stored to $82e6, which is later checked at PC=0x187 and must
- be $01 otherwise game goes into an infinite loop after dying (without ROM patch)
+ - $6100 is actually OR-ed with the coinage work RAM buffer setting at $8022;
+ - $6124 is shifted right once at PC=0x5df and stored to $82e6, which is later checked at PC=0x187 and must
+ be $01 otherwise game goes into an infinite loop after dying (without ROM patch);
- (more ...)
***************************************************************************/
@@ -188,7 +188,8 @@ static INPUT_PORTS_START( firebatl )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
PORT_START("DSW1")
- // TODO: unconventional default, may or may not be related to the ROM patch + whatever lies at $6000-$7fff
+ // TODO: unconventional default/structure, may or may not be modified by contents of $6000-$7fff
+ // read at $8304
PORT_DIPNAME( 0x7f, 0x03, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:1,2,3,4,5,6,7")
PORT_DIPSETTING( 0x00, "1" )
PORT_DIPSETTING( 0x01, "2" )
@@ -197,7 +198,7 @@ static INPUT_PORTS_START( firebatl )
PORT_DIPSETTING( 0x0f, "5" )
PORT_DIPSETTING( 0x1f, "6" )
PORT_DIPSETTING( 0x3f, "7" )
- PORT_DIPSETTING( 0x7f, "Infinite Lives" )
+ PORT_DIPSETTING( 0x7f, "255" )
PORT_DIPUNKNOWN_DIPLOC( 0x80, 0x80, "SW1:8" )
PORT_START("DSW2")
@@ -565,17 +566,13 @@ ROM_END
void clshroad_state::init_firebatl()
{
- // applying HACK to fix the game
- // without this the death sequence never ends so the game is unplayable after you
- // die once, it would be nice to avoid the hack however
+ // cfr. notes at top
uint8_t *ROM = memregion("maincpu")->base();
- ROM[0x05C6] = 0xc3;
- ROM[0x05C7] = 0x8d;
- ROM[0x05C8] = 0x23;
+ ROM[0x6124] = 0x02;
}
-GAME( 1984, firebatl, 0, firebatl, firebatl, clshroad_state, init_firebatl, ROT90, "Woodplace Inc. (Taito license)", "Fire Battle", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS )
+GAME( 1984, firebatl, 0, firebatl, firebatl, clshroad_state, init_firebatl, ROT90, "Woodplace Inc. (Taito license)", "Fire Battle", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS | MACHINE_UNEMULATED_PROTECTION )
GAME( 1986, clshroad, 0, clshroad, clshroad, clshroad_state, empty_init, ROT0, "Woodplace Inc.", "Clash-Road", MACHINE_SUPPORTS_SAVE )
GAME( 1986, clshroads, clshroad, clshroad, clshroad, clshroad_state, empty_init, ROT0, "Woodplace Inc. (Status Game Corp. license)", "Clash-Road (Status license)", MACHINE_SUPPORTS_SAVE )
GAME( 1986, clshroadd, clshroad, clshroad, clshroad, clshroad_state, empty_init, ROT0, "Woodplace Inc. (Data East license)", "Clash-Road (Data East license)", MACHINE_SUPPORTS_SAVE )