Post subject: Troubles with the SubNesHawk core
Player (246)
Joined: 6/16/2020
Posts: 28
So I've been wanting the play around with the SubNesHawk core for a little bit, but I've had some problems with it. Using the most up to date version of Bizhawk (2.4.2) I tried watching Masterjun and Ais523's run of Super Mario Bros. 3, where they complete the game in 0:00.78, however, the game crashes about 114 'frames' in. The run I'm referring to can be found here, http://tasvideos.org/6466S.html I'm not sure if this is a problem with the newest version of the emulator? The run was made using version 2.3.2, which to my knowledge didn't have the SubNesHawk core built in. In any case, I'm unable to run their movie file without it crashing. And I've double checked, I'm using the SubNesHawk core, and under config > cores > NES, I have checked that the SubNesHawk core is enabled. If anyone knows what's going wrong, or has any suggestions I'm all ears.
Alyosha
He/Him
Editor, Emulator Coder, Expert player (3820)
Joined: 11/30/2014
Posts: 2829
Location: US
You can select and run SubNESHawk in 2.3.2 and this run works without issue (I just tested.) It will not work in later builds because of an MMC3 IRQ timing bug that I fixed. The run is console verified, so the reason it doesn't work after a bug fix is that there are other factors that make NES runs verify on console. In this case, I can change the initial offset to 0 from 2 and the run will work again without changing any inputs. 2 is used because that is what a console verified Battletoads run uses which has been the standard for timing regression testing for that past few years, if I change it to zero, this run will break. This is a pretty annoying fact of life when working with NES, not everything will work out the same every time you turn it on. I could change it to 0 to favor a published run, but I'm not sure what other runs it would break.
Player (246)
Joined: 6/16/2020
Posts: 28
Thanks for the info! I downloaded 2.3.2 and it worked fine! I completely forgot to check under the config tab for the subneshawk core when I checked out this version earlier! And thanks for explaining why the version change messes with the run!
MarbleousDave
He/Him
Player (13)
Joined: 9/12/2009
Posts: 1559
SubNESHawk renders subframes and it looks like it's moving at half speed. You can set the speed to 200% for it to go the normal speed. Also, you should have a monitor with a 120 Hz refresh rate (100 Hz refresh rate for PAL games) to see all the frames. Alternatively you can use Vsync throttle and set the refresh rate to 2x the refresh rate a standard TV can produce.