[PROJECT REQUEST] Street Fighter II: Hyper Fighting (CPS1) – Hex/Assembly Game Engine "Turbo-to-Normal Speed" Frame Correction Patch

Joined
Nov 25, 2022
Messages
56
Reaction score
-110
Location
USA
Hello Community,

I would like to submit a formal request for a precision assembly/hex-level ROM modification targeting Capcom Play System 1 (CPS1) hardware—specifically, all standard variants of Street Fighter II: Hyper Fighting (sf2hf, sf2hfu, etc.).

The goal of this project is to create a patched arcade ROM set that accurately drops the execution speed back to a normal pace matching Street Fighter II: Champion Edition (sf2ce), while completely preserving the character colors, new portraits, and extra special moves (like mid-air Hurricane Kicks and Chun-Li's Kikoken). [1] (https://www.retrogames.cz/play_1133-SNES.php), [2] (https://www.aussiearcade.com/topic/...nt-on-street-fighter-2-hyper-fighting-boards/)

The Technical Challenge (Why underclocking fails):

In the original CPS1 Hyper Fighting engine architecture, Capcom did not achieve higher speeds by simply boosting the Motorola 68000 CPU clock. Instead, the core game loop utilizes an aggressive software-based frame-skipping algorithm that drops display updates every few cycles to artificially advance physics variables faster. [1] (https://sonichurricane.com/?p=1864), [2] (https://www.aussiearcade.com/topic/...nt-on-street-fighter-2-hyper-fighting-boards/)

If you underclock the emulator to fix the speed, you introduce severe audio lag, ruin the music tempo, and stretch the game's 99-second match clock out past real-time seconds. [1] (https://sonichurricane.com/?p=1864), [2] (https://mametesters.org/view.php?id=00408)

Project Requirements for an Accurate Hack:

Target Base Code: CPS1 Street Fighter II: Hyper Fighting (World / US / Japan editions).

Frame Skip Assembly Modification: Locate and rewrite the internal frame-skipping routines within the main program code. The game engine must be patched to process input, physics, and character collisions at a 1:1 ratio per frame update, entirely eliminating the forced skipped frames. [1] (https://sonichurricane.com/?p=1864)

Asset & Move Preservation: Keep all native Hyper Fighting attributes entirely intact, including modified move attributes, updated balance profiles, mid-air specials, and color mapping choices. [1] (https://www.retrogames.cz/play_1133-SNES.php), [2] (https://www.aussiearcade.com/topic/...nt-on-street-fighter-2-hyper-fighting-boards/)

Perfect Sound & Timer Sync: The internal QSound/CPS-A sound queue processing loops must continue running at their intended frame cycles, meaning match timers and musical tempos must match Champion Edition behavior exactly. [1] (https://sonichurricane.com/?p=1864), [2] (https://mametesters.org/view.php?id=00408)

Output Format: Standard EPROM-compatible split binary files or an unified .ips / .bps patch structure so it can be cleanly used inside standard emulator patches/ configurations or written to real hardware.

If any CPS1 assembly engineers or hex editors familiar with Capcom's 68000 game-loop logic can help pinpoint the memory offsets tracking the execution cycle multipliers, your help would be highly valued. [1] (https://racketboy.com/forum/viewtopic.php?t=37095)

Thank you for your time,
Jonny Modlin
 
There is an address in RAM that controls the speed: FF02BE (World version) 00 is CE Speed, FF is Maximum Speed.
AI sometimes overcomplicates things.
 
Last edited:
Back
Top