From a74e8df5e05d0ecf0fda95491e354888fd8c62c3 Mon Sep 17 00:00:00 2001 From: Angelo Salese Date: Tue, 25 Feb 2020 20:16:42 +0100 Subject: [PATCH] Tempted to mark this as MACHINE_UNEMULATED_PROTECTION (nw) --- src/mame/drivers/clshroad.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/mame/drivers/clshroad.cpp b/src/mame/drivers/clshroad.cpp index db482e48c6c..07b6b8391f1 100644 --- a/src/mame/drivers/clshroad.cpp +++ b/src/mame/drivers/clshroad.cpp @@ -23,6 +23,13 @@ TODO: text layer is not correctly emulated, fixed by initializing VRAM to 0xf0? (that layer seems unused by this game); - firebatl: bad sprite colors; - firebatl: remove ROM patch; +- 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) + - (more ...) ***************************************************************************/ @@ -181,6 +188,7 @@ 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 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" )