LiveSplit plugin: FrameRuleSplit
7 years ago
South Carolina, USA

Hi, everyone. I am not a speedrunner, but I was inspired by darbian's stream to write a plugin for LiveSplit to use with frame-rule based games. He pointed out to me that wooferzfg has already written a plugin like this, but I think mine makes a couple of improvements. First, my full source code is posted on GitHub, and I'm happy to accept pull requests from anyone who wants to contribute. Second, my implementation uses a much more precise calculation for the frame rule:

The equation to calculate the frame rate of the NTSC console is: ([frequency of CPU] ¤ [# of PPU ticks per CPU cycle]) / (([# of PPU ticks per scanline] ¤ [# of scanlines]) - [odd frame idle skip]) (1789772.7272727 ¤ 3) / ((341 ¤ 262) - 0.5) = ~ 60.09881389744

The equation to calculate the length of a frame rule is: [# of frames in frame rule] / [frame rate of console] 21 frames / 60.09881389744 fps = ~ 349.42453333334 milliseconds

Here is a link to the GitHub project: https://github.com/blairmadison11/LiveSplit.FrameRuleSplit

silsha likes this
United States

Cool. Nice to have more open source software. Add a license if you don't intend for it to be copywritten.

If this were modified to automatically split based on txt file input, and my autosplitting script were modified to output splits to txt file, and there was a script to forward button presses from specially modified NES -> NES/PC cables into emulator, you could have livesplit automatically splitting for the real console.

A nice project for somebody else with the hardware, software, and will. I would, but I don't have the special cable or use livesplit.

Edited by the author 7 years ago
Game stats
Followers
7,809
Runs
8,820
Players
1,791
Latest news
Requirements for High-Level Any% Runs

Any% (NTSC) runs below 4:57.000 must now fulfill additional requirements in order to be verified.

  • The run's full session must be included in the submission description.
  • For emulator runs below 4:57.000, some form of input display must be visible for the duration of the run. A hand-cam or input
4 months ago