Speed fix patch
4 years ago
Ontario, Canada

I dunno if runners of this game would be interested, but I recently patched this game to be able to run at consistent framerates on faster hardware:

https://github.com/bbbradsmith/mmpatch

This patch should make the speed of the game very consistent if played on faster hardware. This will even run quite well on a modern PC using FreeDOS. The changes are minimal, and intended to address the hardware speed issues only.

TLDR

  • Without the patch: this game has to run on some very specific speed of hardware, and it would be hard to compare any runs not made on exactly the same machine.
  • With this patch: it will run the same on almost any PC.

More detailed information below.

Some notes on things that will effect overall game time:

  1. VGA hardware will sync these games at 70Hz (regardless of mode selected). I believe true EGA or CGA hardware will sync at 60Hz instead, and would be 6/7 speed, but VGA hardware is pretty much ubiquitous (and still used in modern PCs). You probably wouldn't normally find a true EGA card in anything later than a 286.

The game says it has CGA, EGA, VGA and TANDY modes, but really it just has CGA and EGA. A VGA graphics device is backward compatible with both of those, but it has this slightly faster refresh rate. (Note: DOSBox simulates VGA hardware by default, not EGA.)

  1. There is some processing time in transitions between screens, the longest of which can be seen at the opening of MM3 with several seconds of black screen. On a fast computer these generally shrink to "instant". I think the difference here becomes pretty much insignificant to a speedrun somewhere around 386 or 486 speed.

Most of these are pretty short to begin with though, and the only really long one is before the start of the run I think. Might make a few seconds difference across the run if played on a slower (<386?) computer?

  1. In general, the faster the computer, the more consistently it will run with this patch. Slow computers (<=286?) that were experiencing enough slowdown to make this play tolerably will still have this additional slowdown, though at least would sync to a video frame, so that might be slightly more consistent than before.

In the original game the CGA mode never had any synchronization, but the EGA mode actually did actually sync to the next video frame during gameplay. A slowdown setting of 0 basically puts things back the way they were. Because EGA mode already had a sync, settings of 0 and 1 are essentially the same on fast computers. On slow computers there is an additional delay.

0 = 70.0 Hz (EGA) or Unlimited (CGA) 1 = 70.0 Hz (sync 1 frame) 2 = 35.0 Hz (2 frames) 3 = 23.3 Hz (3 frames) 4 = 17.5 Hz (4 frames) et cetera.

.

So... maybe people here are happy with the arbitrary DOSBox at speed 500 setup you've been using, and I'm not trying to insist you should use this patch instead, but if anyone's interested in doing runs on hardware this might be a way to make that possibility more accessible.

The changes applied by the patch are very minimal. The default speed setting of 3 should be comparable to existing DOSBox runs, though not identical.

The patch also applies to Mega Man 3.

Edited by the author 4 years ago
Game stats
Followers
31
Runs
34
Players
13
Latest threads
Posted 4 years ago
0 replies
Posted 4 years ago
0 replies
Moderators
No moderators