Submission #8749: TaoTao's NES Quarth "2 players" in 00:40.82

Nintendo Entertainment System
2 players
BizHawk 2.9.1
7339 (Cycle Count 219151314)
179.80921682433362
3112
PowerOn
Quarth (J).nes
Submitted by TaoTao on 11/22/2023 7:54:28 PM
Submission Comments

Game objectives

  • Emulator used: BizHawk 2.9.1 (SubNesHawk core)
  • Aims for fastest time
  • Uses hardest difficulty
  • Manipulates luck
This submission improves the previous run by about 15.8s.

Comments

I saw MESHUGGAH's post and his WIP, and I decided to try improving the previous movie.
Every block chunk is determined by the value of address $98, and this value depends on the RNG. The RNG depends on CPU cycles, and every frame this game polls input twice (to avoid the DPCM glitch). So, you can manipulate the RNG with subframe inputs. That's why I used SubNesHawk core.
In this run, basically, block chunk 0x09 and 0x00 appear alternately. Block chunk 0x00 doesn't contain any block, but it doesn't appear continuously.
I put a script for block chunk manipulation. This script takes an input sequence (you can copy-paste it from TAStudio), and mutates it to manipulate a block chunk.
I made a romhack for route planning. In the romhack, block chunk 0x09 and 0x00 always appear alternately. I put the romhack patch and a testrun on the romhack.
There might still be a small room of micro-optimizations, but anyway I did my best.
Note about the "E" item: I haven't thoroughly analyzed this game, but I think you probably have to erase 3 or more blocks at once 3 times in order to obtain the "E" item. (See the code near $A799)
Here is a memory map:
addrtypedescription
$71u8scroll subpixel
$78u8wait timer for player1 movement
$79u8wait timer for player2 movement
$98u8block chunk ID
$FCu8PPU scroll y
$0460-$06CFu8[24 * 26]board (24 columns, 26 rows)

nymx: Claiming for judging.
nymx: I checked with our staff, and it appears that there is no problem with the submitted file...even though my first thought appeared so. The time shows correctly, but the frame count is higher....which is not a problem, since they are sub-frames. I have so little experience seeing the result of subframe created TASes, that it was a bit odd.
In regards to subframes, I thought it was amazing to see the manipulation difference over the previous submission. NIce job.

despoa: Processing...
Last Edited by TaoTao on 11/30/2023 5:01 AM
Page History Latest diff List referrers