"Street Fighter II" ports

Is there any arcade perfect port of the original “Street Fighter II - The World Warrior” (not “Champion Edition” or “Hyper Fighting”) on any system (not counting MAME)?

I really mean arcade perfect. For example, while the Super Nintendo version plays almost like in the arcade, it has different graphics, different sound effects etc.

you mean glitches included? Callus95 was actually a very good emulator back then and still the only emulator where SF2 has the correct timing
MAME is not 100% arcade perfect, let alone console ports

http://mametesters.org/view.php?id=00408

Back in the days of Callus, that was the only emulator able to play SF2T at correct speed, the 68000 frequency must be set around 8MHz. It’s obvious that’s an hack and that MAME will need to emulate the 68000 wait states properly.

First, I will say that I have tried to discuss this topic with others before (Dayvee, etc), but I was dismissed, with “this is not important”. However, I believe this issue is extremely important, because it relates to the accuracy of the emulation, and it could affect other things (for example----the KNOWN speed problem with SF2 hyper fighting being too fast in MAME and its siblings).

This HAS BEEN TESTED AND VERIFIED against a PCB: So take note.

In the SF2 games, the EEPROM (power on initialization) test is too fast. This occurs on any emulator that shares a similar CPU core (MAME, Finalburn, Kawaks). However, THIS DOES NOT HAPPEN ON CALLUS. The callus initialization is arcade exact. I have reset the arcade machine many times (mainly, to see which revision I was playing :>), so I am familiar with the speed of the test scrolling. Note: the EEPROM RESET speed is identical in WW, CE, and HF.

even the CPS2 eeprom resets are too fast, but I have only verified this with CPS1 eeprom reset initializations. The CPS2 resets are taken from “memory”, as I have only seen a CPS2 reset from power off a few times. So take that with a grain of salt.

Another thing worth careful noting, is that this EEPROM initialization is closely tied in to the CPU speed of the game, even if the throttling is disabled (SF2:WW, CE). Overclocking the CPU and resetting the game in the emulator makes the EEPROM initialization go even faster. (I have no idea whether this occurs in the arcade machine–how many people have seen an overclocked PCB? :slight_smile:

There is something more that MAMEDEV needs to note here.

Setting the CPU to 65% (which results in arcade perfect speed–remember folks, SF2:HF plays too fast at anything higher than 8 mhz) in SF2: turbo hyper fighting, still does not fix the EEPROM test. Even setting the CPU to 60% (slower than a real machine) has the test run too fast.

Now, before I get flamed for posting something insignificant, WHY DOES CALLUS HAVE THIS SPEED ARCADE PERFECT? And, isn’t the goal of emulation to have everything accurately emulated 100% ?

If something like the eeprom test is wrong, who knows what else can be affected ? What if in fact, the CPS1 SF2 games actually ran at 10 mhz (instead of the 7-8 mhz that is “proper” for accurate play in SF2:HF), but whatever is causing the EEPROM speedup, is also somehow affecting the throttling code, and possibly forcing a SLOWER cpu ?
68k bug? Some unemulated code that needs to be looked into?

Of course, the EASY answer to this would be to ask Sardu, since he got it right. But Sardu isn’t around anymore. In addition, the source for Callus isn’t available. And what CPU core did Callus use ? is it a different one from the one MAME uses? Could that be a factor?

This needs to be investigated, as this little “thing” could solve some much bigger problems. And I think that experienced testers will agree with me (right, Bugfinder? :slight_smile:

I think this should be submitted into the bug reports section, and any feed back is welcome.

IF ANYONE HAS A REAL SF2 PCB, PLEASE CHECK THIS.
And please check it, Vs Callus, and vs MAME set to 65% CPU 0.

-Antos

Thanks, but I was actually looking for some official port. Preferrably for a console because Direct3D has the strange habit to insert a massive amount of input lag when you play the game at fullscreen and enable vertical sync.
This seems to be the case for every Windows program that uses Direct3D and vsync.

I tested it with a camera. I mapped the Shift Lock key to a specific action because pressing Shift Lock is connected to an LED on the keyboard. Then I held the camera in a position that it can simulatenously film the screen and the keyboard. (The video was done with 60 FPS and the screen was also set to 60 Hz.)
Using Direct3D in fullscreen and enabling vsync always added three more frames between the LED being switched on and the action being visible on the screen.

I’m not sure about ‘arcade perfect’, but I believe that “Street Fighter Collection 2” included a direct arcade port of Street Fighter II. That was for the Playstation and Dreamcast. Here’s the Wikipedia link if you’re interested: http://en.wikipedia.org/wiki/Street_Fighter_Collection

The article does mention: “Some minor changes were made to gameplay”, I’m uncertain what that specifically refers to, but I suppose it may not meet your criteria.

The PlayStation version seems to come pretty close, but I already found a difference at first glance: The sound that can be heard when the points are calculated is much more “aggressive” in the PlayStation version than in the arcade version:

Arcade: http://www.youtube.com/watch?v=xI284D4y1q4&t=15m54s
PlayStation: http://www.youtube.com/watch?v=SSMLyymkyqw&t=17m42s

Also, the position of texts is not always identical. “Round 1” and “Battle 1” have a larger gap between each other in the PlayStation version.

So, it looks like they manually edited the code. Who knows what else was changed.
So, unfortunately, it’s not a perfect conversion.