Previous 199869 Revisions Next

r34929 Sunday 8th February, 2015 at 19:12:13 UTC by Angelo Salese
Patched timer over bug in Kozure Ookami. Remarked game as working state, see source notes for further info. [Angelo Salese]
[src/mame/drivers]armedf.c

trunk/src/mame/drivers/armedf.c
r243440r243441
3535  - ship rays on Armed F title screen;
3636  - gameplay in Armed F abuses of this effect (shots, player ship lights etc.);
3737  - Terra Force helmet during the intro;
38  - Invincibility flickering of main character in Kozure Ookami;
3839- (1) Kozure Ookami timer over bug:
3940      010118: lea     $63510.l, A0
4041      01011E: tst.w   (A0) ;check time variable, in BCD format
r243440r243441
4849      01016E: btst    #$7, $60621.l ;check dsw2 ram copy bit 15 (debug feature?)
4950      010176: bne     $1017e
5051      010178: bra     $f9f0 ;timer over event occurs
51  btanb perhaps?
52  btanb perhaps? Currently patched to work, might also be that DSW2 bit 7 is actually a MCU bit ready flag, so it
53  definitely needs PCB tests.
5254
5355
5456Stephh's notes (based on the games M68000 code and some tests) :
r243440r243441
943945   PORT_DIPNAME( 0x40, 0x40, DEF_STR( Allow_Continue ) )       PORT_DIPLOCATION("SW2:7")
944946   PORT_DIPSETTING(    0x00, DEF_STR( No ) )
945947   PORT_DIPSETTING(    0x40, DEF_STR( Yes ) )
946   PORT_DIPUNUSED_DIPLOC( 0x80, 0x80, "SW2:8" )
948   PORT_DIPNAME( 0x80, 0x80, "Infinite Timer (Cheat)" )       PORT_DIPLOCATION("SW2:8")
949   PORT_DIPSETTING(    0x80, DEF_STR( No ) )
950   PORT_DIPSETTING(    0x00, DEF_STR( Yes ) )
947951INPUT_PORTS_END
948952
949953static INPUT_PORTS_START( cclimbr2 )
r243440r243441
20752079
20762080DRIVER_INIT_MEMBER(armedf_state,kozure)
20772081{
2082   UINT16 *ROM = (UINT16 *)memregion("maincpu")->base();
2083
2084   /* patch "time over" bug, see notes on top. */
2085   ROM[0x1016c/2] = 0x4e71;
2086   /* ROM check at POST. */
2087   ROM[0x04fc6/2] = 0x4e71;
20782088   m_scroll_type = 0;
20792089
20802090   m_maincpu->space(AS_PROGRAM).install_write_handler(0x07c000, 0x07c001, write16_delegate(FUNC(armedf_state::terraf_io_w),this));
r243440r243441
20862096#if LEGION_HACK
20872097   /* This is a hack to allow you to use the extra features
20882098        of 3 of the "Unused" Dip Switches (see notes above). */
2089   UINT16 *RAM = (UINT16 *)memregion("maincpu")->base();
2099   UINT16 *ROM = (UINT16 *)memregion("maincpu")->base();
20902100   RAM[0x0001d6 / 2] = 0x0001;
20912101   /* To avoid checksum error */
20922102   RAM[0x000488 / 2] = 0x4e71;
r243440r243441
21382148GAME( 1987, terrafj,  terraf,   terraf,   terraf,   armedf_state,   terrafu,  ROT0,   "Nichibutsu Japan",              "Terra Force (Japan)", GAME_SUPPORTS_SAVE )
21392149GAME( 1987, terrafjb, terraf,   terrafjb, terraf,   armedf_state,   terrafjb, ROT0,   "bootleg",                       "Terra Force (Japan bootleg with additional Z80)", GAME_SUPPORTS_SAVE )
21402150GAME( 1987, terrafb,  terraf,   terraf,   terraf,   armedf_state,   terraf,   ROT0,   "bootleg",                       "Terra Force (Japan bootleg set 2)", GAME_SUPPORTS_SAVE )
2141GAME( 1987, kozure,   0,        kozure,   kozure,   armedf_state,   kozure,   ROT0,   "Nichibutsu",                    "Kozure Ookami (Japan)", GAME_SUPPORTS_SAVE | GAME_NOT_WORKING )
2151GAME( 1987, kozure,   0,        kozure,   kozure,   armedf_state,   kozure,   ROT0,   "Nichibutsu",                    "Kozure Ookami (Japan)", GAME_SUPPORTS_SAVE )
21422152GAME( 1988, cclimbr2, 0,        cclimbr2, cclimbr2, armedf_state,   cclimbr2, ROT0,   "Nichibutsu",                    "Crazy Climber 2 (Japan)", GAME_SUPPORTS_SAVE )
21432153GAME( 1988, cclimbr2a,cclimbr2, cclimbr2, cclimbr2, armedf_state,   cclimbr2, ROT0,   "Nichibutsu",                    "Crazy Climber 2 (Japan, Harder)", GAME_SUPPORTS_SAVE  )
21442154GAME( 1988, armedf,   0,        armedf,   armedf,   armedf_state,   armedf,   ROT270, "Nichibutsu",                    "Armed Formation", GAME_SUPPORTS_SAVE )


Previous 199869 Revisions Next


© 1997-2024 The MAME Team