mirror of
https://github.com/holub/mame
synced 2025-05-23 22:20:01 +03:00
Haze: documented where the crash happens in Mr. Kicker,no credit wanted
This commit is contained in:
parent
f4dffd77c1
commit
37bd643357
@ -26,6 +26,25 @@
|
||||
Real games bugs:
|
||||
- dquizgo2: bugged video test
|
||||
|
||||
Notes:
|
||||
Mr Kicker appears to be broken due to problems with the Hyperstone CPU Core
|
||||
It ends up trashing the registers containing the return value for a function
|
||||
|
||||
000018D6: MASK L51, L45, $1e00000
|
||||
000018DC: CMPI L51, $c00000
|
||||
000018E2: BE $18e6
|
||||
000018E4: RET PC, L0
|
||||
0003FA66: RET PC, L1 <-- no valid return value
|
||||
00000000: CHK PC, PC causes jump to 0
|
||||
|
||||
It executes this code several times earlier before the crash, so I don't know
|
||||
if it's some kind of nested call problem, or simply beacuse it's using a
|
||||
different set of registers for the frame / call this time. (or if another
|
||||
Hyperstone bug is trashing some of the code in RAM)
|
||||
|
||||
|
||||
|
||||
|
||||
*********************************************************************/
|
||||
|
||||
#include "emu.h"
|
||||
@ -290,6 +309,25 @@ static ADDRESS_MAP_START( finalgdr_io, ADDRESS_SPACE_IO, 32 )
|
||||
AM_RANGE(0x60a0, 0x60a3) AM_DEVWRITE("oki", finalgdr_oki_bank_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( mrkicker_io, ADDRESS_SPACE_IO, 32 )
|
||||
AM_RANGE(0x2400, 0x2403) AM_DEVREAD("eeprom", eeprom32_r)
|
||||
AM_RANGE(0x4000, 0x4003) AM_DEVWRITE("eeprom", finalgdr_eeprom_w)
|
||||
AM_RANGE(0x4040, 0x4043) AM_WRITE(finalgdr_prot_w)
|
||||
AM_RANGE(0x6400, 0x6403) AM_READ(finalgdr_prot_r)
|
||||
AM_RANGE(0x7000, 0x7007) AM_DEVREADWRITE8("ymsnd", ym2151_r, ym2151_w, 0x0000ff00)
|
||||
// AM_RANGE(0x7400, 0x7403) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x0000ff00)
|
||||
|
||||
// AM_RANGE(0xxxxx, 0xxxxx) AM_WRITE(finalgdr_backupram_bank_w)
|
||||
// AM_RANGE(0xxxxx, 0xxxxx) AM_READWRITE(finalgdr_backupram_r, finalgdr_backupram_w)
|
||||
// AM_RANGE(0xxxxx, 0xxxxx) AM_READ_PORT("P1_P2")
|
||||
// AM_RANGE(0xxxxx, 0xxxxx) AM_READ_PORT("SYSTEM")
|
||||
// AM_RANGE(0xxxxx, 0xxxxx) AM_READNOP //?
|
||||
// AM_RANGE(0xxxxx, 0xxxxx) AM_WRITE(flipscreen32_w) //?
|
||||
// AM_RANGE(0xxxxx, 0xxxxx) AM_WRITE(finalgdr_prize_w)
|
||||
// AM_RANGE(0xxxxx, 0xxxxx) AM_DEVWRITE("oki", finalgdr_oki_bank_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( jmpbreak_io, ADDRESS_SPACE_IO, 16 )
|
||||
AM_RANGE(0x0c0, 0x0c3) AM_NOP // ?
|
||||
AM_RANGE(0x100, 0x103) AM_WRITENOP // ?
|
||||
@ -757,6 +795,17 @@ static MACHINE_DRIVER_START( finalgdr )
|
||||
MDRV_IMPORT_FROM(sound_ym_oki)
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
static MACHINE_DRIVER_START( mrkicker )
|
||||
MDRV_IMPORT_FROM(common)
|
||||
MDRV_CPU_REPLACE("maincpu", E132T, 50000000) /* 50 MHz */
|
||||
MDRV_CPU_PROGRAM_MAP(common_32bit_map)
|
||||
MDRV_CPU_IO_MAP(mrkicker_io)
|
||||
|
||||
MDRV_NVRAM_HANDLER(finalgdr)
|
||||
|
||||
MDRV_IMPORT_FROM(sound_ym_oki)
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
static MACHINE_DRIVER_START( aoh )
|
||||
MDRV_CPU_ADD("maincpu", E132XN, 20000000*4) /* 4x internal multiplier */
|
||||
MDRV_CPU_PROGRAM_MAP(aoh_map)
|
||||
@ -1912,6 +1961,6 @@ GAME( 2000, dquizgo2, 0, coolmini, common, dquizgo2, ROT0, "SemiCom",
|
||||
GAME( 2000, misncrft, 0, misncrft, common, misncrft, ROT90, "Sun", "Mission Craft (version 2.4)", GAME_NO_SOUND )
|
||||
GAME( 2000, mrdig, 0, mrdig, common, mrdig, ROT0, "Sun", "Mr. Dig", 0 ) /* Some PCB in game pics show a 2 VS mode, but how do you select? */
|
||||
GAME( 2001, finalgdr, 0, finalgdr, finalgdr, finalgdr, ROT0, "SemiCom", "Final Godori (Korea, version 2.20.5915)", 0 )
|
||||
GAME( 2001, mrkicker, 0, finalgdr, finalgdr, mrkicker, ROT0, "SemiCom", "Mr. Kicker", GAME_NOT_WORKING )
|
||||
GAME( 2001, mrkicker, 0, mrkicker, finalgdr, mrkicker, ROT0, "SemiCom", "Mr. Kicker", GAME_NOT_WORKING )
|
||||
GAME( 2001, wyvernwg, 0, wyvernwg, common, wyvernwg, ROT270, "SemiCom (Game Vision License)", "Wyvern Wings", GAME_NO_SOUND )
|
||||
GAME( 2001, aoh, 0, aoh, aoh, aoh, ROT0, "Unico", "Age Of Heroes - Silkroad 2 (v0.63 - 2001/02/07)", 0 )
|
||||
|
Loading…
Reference in New Issue
Block a user