Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
00408 Speed Major Have not tried Jan 29, 2008, 10:13 Apr 7, 2012, 10:30
Tester Sixtoe View Status Public Platform
Assigned To Resolution Open OS
Status [?] Confirmed Driver cps1.cpp
Version 0.37b8 Fixed in Version Build
Summary 00408: sf2hfu: Running too fast.
Description Streetfighter 2 Turbo is (possibly?) running too fast, it has been compared side by side with a sf2 turbo arcade cabinet and it in tandem with MAME - MAME is too fast, it gained 5 seconds speed in a full round of 99 seconds, as I said this has been proved side by side running full frame rate.

Note: It's likely due to the cpu speed being 12 mhz instead of 8 mhz.

More: Antos has compiled some more information on this issue.

Another update: E-mail from the Street Fighter 2 Hyper Fighting designer.

Another update: On some stages like Dhalsim's, there's an awful lot of "popping" sounds, pretty much identicle to what it sounds like it you run it unthrottled. I know there was some of this on the real machine, but I certainly don't remember this much. So maybe that's more of a reason that it may be running too fast(?)
Steps To Reproduce
Additional Information Set name updated (0.140u3): sf2t -> sf2hfu
Flags
Regression Version
Affected Sets / Systems sf2hfu
Attached Files
txt file icon email.txt (1,019 bytes) Feb 14, 2008, 08:47
[Show Content]
txt file icon moreinfo.txt (3,157 bytes) Feb 14, 2008, 08:47
[Show Content]
png file icon sf2t.png (2,055 bytes) Oct 23, 2010, 00:47
jpg file icon m68000.jpg (130,851 bytes) Oct 23, 2010, 18:33
jpg file icon osc.jpg (140,801 bytes) Oct 23, 2010, 18:34
jpg file icon dash.jpg (645,009 bytes) Oct 24, 2010, 15:06
jpg file icon speed.jpg (73,485 bytes) Jun 2, 2011, 21:27 Uploaded by Smitdogg
Smitdogg
Relationships
related to 04194Acknowledged sf2hf, sf2hfu, sf2hfj: Original PCB videos 
Notes
27
User avatar
No.00719
Stefan Lindberg
Senior Tester
Apr 19, 2008, 17:31
edited on: Apr 19, 2008, 17:32
I have a SF2HF PCB and i can verify that MAME is too fast... even faster than mentioned earlier... it's more like 15 seconds.

I also noticed that the up and down is reversed in the testmode if the test dipswitch is on (it becomes ok when test dip is off) this is not how the PCB behaves but there certainly is something wrong with the controls if testswitch is on (on the PCB)... for example in the soundtest it skip severalsteps instead of one making it impossible to listen thru all music and sounds.

Also i noticed that when testmode switch is on and the (in MAME called) "unused" is on it enables some sort of turbomode (unplayable fast) but demosound switch must be off othervise there is lot's of graphic garbage (this happen on the PCB aswell).

Is there anything i should check with my SF2HF PCB? I don't have tools for measuring frequencies.

User avatar
No.00745
Kold666
Developer
Apr 20, 2008, 10:48
edited on: Apr 20, 2008, 10:50
Stefan, is your A-board e DASH one or a normal one?
I have come to the conclusion that every game after sf2ce (also know as Dash) run on a upgraded aboard with a 12mhz crystal (which has a Dash sticker).
the problem is that this A-board is perfectly compatible with every other cps1 game and often arcade operators swapped the mobos between the various games when they became defective.

I have seen sf2 running on the old long A-board from 1988....

My Quiz and Dragon pcb was NOS when I bought it and it had the dash version, so I came to the conclusion that capcom updated the a-board from sf2ce onward

User avatar
No.00746
Stefan Lindberg
Senior Tester
Apr 20, 2008, 10:54
Yes my SF2HF is using the DASH board.
User avatar
No.00749
Kold666
Developer
Apr 20, 2008, 12:26
bad news then ;)
User avatar
No.06787
sf2purist
Tester
Oct 23, 2010, 00:56
Yes, Street Fighter II Turbo - Hyper Fighting is running too fast in MAME. This is easy to casually observe against my arcade cabinet and numerous other versions PS2, X-Box, etc., etc. It just played too fast and was really unplayable due to the timing differences which I wasn't used to--it was just too damn fast. Every new release of MAME brought renewed hope that it had been fixed in the latest version and I would be able to play my favorite version of SFII which is also the most balanced version in terms of playable characters. I tried using MAMEui with the CPU throttled down to 84% to play at normal speed but introduced an even more annoying audio distortion. Alas I downloaded the source and started poking around myself. After changing the M68000 to 10MHz from 12MHz and compiling it now plays perfectly beautifully! (See uploaded screenshot!) I suspect the bootleg boards used 12MHz processors assist with their insanely sped up gameplay. On a related note I can now make the original SFII run 20% and still do Guile's freeze and all the other bugs! :-)
User avatar
No.06788
sf2purist
Tester
Oct 23, 2010, 18:42
Took out my board today to investigate and guess what I found? 10MHz and 16MHz oscillators but no 12MHz (dunno know what the 16MHz is for?). Guess what the M68000 was? See screenshots posted above.
General information
Type CPU / Microprocessor
Family Hitachi 68000
CPU part number HD68HC000CP10
Frequency (MHz) 10
Package 68-pin plastic LCC

I think the evidence speaks for itself. I may be the only one who even cares about this issue any more but at least I can put this to rest now that I have a build of MAME that plays SF2T at the proper speed. Now if only the devs would fix it in the official release....
User avatar
No.06789
Haze
Senior Tester
Oct 23, 2010, 19:39
That would be fine, except Stefan above has confirmed he has the game on an original 12mhz DASH board, and it's too fast in MAME compared to that.
User avatar
No.06791
sf2purist
Tester
Oct 23, 2010, 21:35
I'm not sure Stefan knows for sure what speed his board is. To quote him, "Is there anything i should check with my SF2HF PCB? I don't have tools for measuring frequencies" If he is still around or anyone else with a real board, please check your board's component labels and chime in. MAME is too fast because the driver is assuming the main cpu is 12MHz instead of the proper 10MHz. My evidence points to the cpu being 10MHz on the original board from my arcade unit which is original and not a conversion unlike most of the cabinets in its hey day.
User avatar
No.06793
Smitdogg
Moderator
Oct 24, 2010, 14:32
There is no way you know for sure that your A board was never swapped out unless you bought it directly from Capcom when the game first came out. CPS1 hardware goes bad often. I've swapped out A boards myself to fix games. I have a pile of bad ones in a box. I'll check later if one is the Dash type and see if I can get a measurement.
User avatar
No.06794
Haze
Senior Tester
Oct 24, 2010, 14:37
Well the issue is more now that we have conflicting information.

sf2purist is saying that it runs at the same speed in MAME when set to 10mhz, as his PCB which is running at 10Mhz.

Stefan is saying that it runs too fast in MAME at 12mhz compared to his PCB at 12Mhz.

This doesn't make much sense, I'd expect it to run too fast at 10Mhz compared to a 10Mhz PCB.

I'd like confirmation from Stefan that his PCB actually has the 12Mhz crystal.
User avatar
No.06795
Smitdogg
Moderator
Oct 24, 2010, 15:05
If the game was shipped out with the Dash A board then sf2purist's boardset is a mixmatch of CPS1 hardware. I have a Dash board here and it uses a 12 Mhz crystal. I will upload a pic.
User avatar
No.06796
Smitdogg
Moderator
Oct 24, 2010, 16:16
BTW the Z80 does not run at what is on its crystal. It has a varying frequency right around 3.743 Mhz. The YM2151 has a varying frequency around 3.746.
User avatar
No.06797
Stefan Lindberg
Senior Tester
Oct 24, 2010, 17:25
My PCB has a 12mhz crystal.
I do have tools now so i can measure it also, but i don't have time right now to do it.
User avatar
No.06802
Canim
Senior Tester
Oct 25, 2010, 01:41
I read and read here and so more and more I get confused.
Talking here about Street Fighter 2 Hyper Fighting the summary should be corrected to sf2hf and not sf2t.
Also it seems maybe sf2purist, Stefan Lindberg and Smitdogg talk about different sets like sf2hf ist Stefan talking about and sf2purist talks about sf2hfj cause he uses the Turbo in his describtion.
They all should tell what sets they have time measured and maybe then there can be shed some light on this.
User avatar
No.06803
Smitdogg
Moderator
Oct 25, 2010, 04:46
It isn't a matter of measuring sets because they could have had their hardware swapped around by now, it's a matter of knowing which games shipped out of Capcom with the Dash A board and which didn't. MAME is probably already correct in this matter for all the games in the driver. It's something else causing the speed issue, not the fact that it's set to 12 Mhz.
User avatar
No.06804
Layne
Tester
Oct 25, 2010, 08:45
Talking with Kold666 two years ago I quote what he said me: "Nicola told me that the problem with the speed on this game are the wait states imposed by graphic hardware while doing DMA, which are not emulated."

It's just a note, but maybe a MAMEdev can understand and solve the problem easily, I hope it helps.
User avatar
No.06806
Mamesick
Senior Tester
Oct 25, 2010, 09:43
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.
User avatar
No.06807
Layne
Tester
Oct 25, 2010, 10:35
It seems that the wait states problem in SF2HF affects too Captain Commando:

http://www.mametesters.org/view.php?id=1989

Then they could be related?
User avatar
No.06812
sf2purist
Tester
Oct 26, 2010, 04:57
To clear some things up I am definitely testing SF2HFU (USA 921209). It is possible the photos I posted above could have been an original SF2 board (thus the 10MHz M68000) reflashed/upgraded to SF2HFU. The cabinet is definitely an original SF2CE cab though. It's possible the board was repaired/replaced. To make things even more complicated I have a second SF2HFU board with a 12MHz M68000 CPU too which I just verified right now. Irregardless, my perception is SF2HFU emulated at 10MHz is "closer" the actual speed of the arcade machine than 12MHz.
User avatar
No.06818
Canim
Senior Tester
Oct 27, 2010, 10:34
So what about making a one minute video of each board powering up.
Then devs can easily compare while working on it.
User avatar
No.06819
Haze
Senior Tester
Oct 27, 2010, 11:53
edited on: Oct 27, 2010, 11:54
Do your 10mhz and 12mhz boards run the game at the same speed? That would surprise me... (unless one of those dpswitches is meant to be set based on the board speed? to slow the game down an appropriate amount?, in which case, my question extends, to 'with the same dipswitch settings')

User avatar
No.06824
Smitdogg
Moderator
Oct 28, 2010, 13:39
FWIW I have a SF2CE that uses the Dash board. I made a video of it already and I could upload another one with it using the 10 Mhz board.
User avatar
No.06825
Haze
Senior Tester
Oct 28, 2010, 17:44
SF2CE is irrelevant as far as this bug is concerned. The 'turbo' verisons essentially unlock the game-speed so end up running as fast as the clock can run the games, which is why it would surprise me if a 10mhz and 12mhz board ran at the same speed with the same settings, unless the 12mhz board has much more severe waitstate penalties, but that would make little sense, as it would render the board pointless.
User avatar
No.06848
Kold666
Developer
Nov 8, 2010, 11:54
To clarify, SF2T must run on a dash board with 12mhz crystal. From 1992 onward Capcom used only dash board with 12mhz clocks, that's true for qsound games also.
Capcom used 10mhz quartz until 1991.

Nicola told me that the timings problems are due to wait states not emulated
User avatar
No.07108
Smitdogg
Moderator
Jan 22, 2011, 04:27
I've upped videos of this running under different dip settings in a reference report.
User avatar
No.07485
Smitdogg
Moderator
Jun 2, 2011, 21:30
OK here is another update. I got a crazy SF2 WW bootleg today that runs on a Dash mobo and with a custom pal. If it has the dips set as in the pic I attached (speed.jpg) it runs super fast, seemingly unthrottled. If I turn all the dips off, it runs way slower (seemingly throttled). So the dips affect speed at least in some boots. I haven't tried on official sets yet.
User avatar
No.08434
Falkentyne
Tester
Apr 7, 2012, 10:30
edited on: Apr 7, 2012, 10:31
Hi guys, I'm the person once called "Antos" who bought this speed issue to everyone's attention long ago. I noticed that in the SSF2T (and also Hyper street fighter 2:Anniversary) code, there seems to be a forced downclocking of the CPU (it seems preset to 74%) to try to compensate for the games running too fast, to try to bring it back to being close to arcade perfect. This seems to work quite well, however SF2 Hyper Fighting (SF2T/sf2hf) should also benefit from a forced downclock to 74% in Mame; it's currently at the old 100% default, until the emulation issue can be solved. I can see why Anniversary/SSF2T was addressed by the Mame team, since Super Turbo is still played in tournaments to this day (Evo2k), and since Anniversary edition has 'replaced' Hyper fighting for the most part, but it would still be nice to see the original addresed :)

It's also nice to know that people confirmed what the original SF2HF designer (James Goddard, I think his name was) confirmed with the dips, although the "unused" dips don't seem to do anything in MAME yet.