divyang4481 / bizhawk

Automatically exported from code.google.com/p/bizhawk
0 stars 0 forks source link

Ki no Bouken doesn't soft reset on NesHawk #327

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Load Ki no Bouken - The Quest of Ki
2. Select Emulation -> Soft Reset

What is the expected output? What do you see instead?
The game is supposed to soft reset. However, it doesn't, even though the 
message "Reset button pressed." appears.

What version of the product are you using? On what operating system?
BizHawk 1.9.0 on Windows 7 x64

Please provide any additional information below.
This is on a verified good dump. Here's its dump status report:
------
BEGIN NES rom analysis:
Found iNES header:
pr=128,ch=64,wr=8,vr=0,ba=0,pa=0|1,brd=MAPPER004,sys=
Since this is iNES we can (somewhat) confidently parse PRG/CHR banks to hash.
headerless rom hash: sha1:EB576DCDE0BFA51F039D153804B8614D53B8F0C9
headerless rom hash:  md5:6BD900B4F8F7FD41164B2EE14C088605
Could not locate game in bizhawk gamedb
Chose board from nescartdb:
pr=128,ch=64,wr=0,vr=0,ba=0,pa=1|0,brd=NAMCOT-3416,sys=Famicom
Final game detection results:
pr=128,ch=64,wr=0,vr=0,ba=0,pa=1|0,brd=NAMCOT-3416,sys=Famicom
"Ki no Bouken: The Quest of Ki"
Implemented by: class Mapper206
END NES rom analysis
------

It seems only this game is affected, as other NES games do soft reset fine on 
NESHawk.

Original issue reported on code.google.com by fsvgm...@gmail.com on 23 Nov 2014 at 6:29

GoogleCodeExporter commented 9 years ago
Ki no Bouken: The Quest of Ki
SHA1:8A5F3D42A90C39B6110F89B18937D2CB369FCD98
MD5:E9E7FE5152A94C92C71DDAE23DAB7605

My confirmed SHA-1 and MD5 from the No Intro dump.  Soft reset works fine for 
me.

Original comment by hegyak on 23 Nov 2014 at 8:45

GoogleCodeExporter commented 9 years ago
The hashes you posted match with those from the ROM I have (with the iNES 
header).

C:\sums>sha1sum "C:\NES\Kai no Bouken - The Quest of Ki (Japan).nes"
\8a5f3d42a90c39b6110f89b18937d2cb369fcd98 *C:\\NES\\Kai no Bouken - The Quest of
 Ki (Japan).nes

C:\sums>md5sum "C:\NES\Kai no Bouken - The Quest of Ki (Japan).nes"
\e9e7fe5152a94c92c71ddae23dab7605 *C:\\NES\\Kai no Bouken - The Quest of Ki (Jap
an).nes

Original comment by fsvgm...@gmail.com on 23 Nov 2014 at 9:07

GoogleCodeExporter commented 9 years ago
By the way, it should be noted that it soft resets fine on QuickNesHawk, but it 
shows graphical glitches when using that core (expected, since it doesn't even 
load on vanilla QuickNes).

Original comment by fsvgm...@gmail.com on 23 Nov 2014 at 9:08

GoogleCodeExporter commented 9 years ago
Interesting.  This may be an emulation bug, or it may be nothing at all; from 
our understanding of the console, it is possible for a game to continue more or 
less uninterrupted after a soft reset, if it's programmed for that; as RAM is 
not cleared.

Original comment by goyu...@gmail.com on 24 Nov 2014 at 4:55

GoogleCodeExporter commented 9 years ago
OK, so I've made a small video comparison between Nestopia, FCEUX 2.2.2 and 
BizHawk's NesHawk core. FCEUX follows Nestopia's behaviour.

Here's a ZIP file with three AVI files. I enabled HUD recording on FCEUX and 
BizHawk.
FCEUX and Nestopia jump back to the title screen on a soft reset (as in, the 
Namco screen is skipped), while BizHawk's NesHawk core just continues running, 
as if nothing happened.

Original comment by fsvgm...@gmail.com on 24 Nov 2014 at 12:47

Attachments:

GoogleCodeExporter commented 9 years ago
QuickNES does accept the Soft Reset, NESHawk does not.  I checked my ROM and it 
is still not doing it right.

Original comment by hegyak on 24 Nov 2014 at 5:22

GoogleCodeExporter commented 9 years ago

Original comment by hegyak on 24 Nov 2014 at 5:22

GoogleCodeExporter commented 9 years ago
bug seems to be NMI being set in the CPU immediately after the reset is 
processed. neshawk currently doesnt emulate PPU soft resets at all; therefore 
the NMI pending during the inter-frame period has no opportunity to clear. 
correct emulation of ppu resetting is required. this wont be hard.

Original comment by zero...@zeromus.org on 29 Nov 2014 at 6:23

GoogleCodeExporter commented 9 years ago
fixed in r8278 by adding missing PPU reset handling

Original comment by zero...@zeromus.org on 30 Nov 2014 at 5:03