- --
Viewing Issue Advanced Details
ID | Category [?] | Severity [?] | Reproducibility | Date Submitted | Last Update |
---|---|---|---|---|---|
00408 | Speed | Major | Have not tried | Jan 29, 2008, 10:13 | Jul 8, 2023, 21:17 |
Tester | Sixtoe | View Status | Public | Platform | |
Assigned To | Resolution | Open | OS | ||
Status [?] | Confirmed | Driver | |||
Version | 0.37b8 | Fixed in Version | Build | ||
Fixed in Git Commit | Github Pull Request # | ||||
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 | ||||
Github Commit | |||||
Flags | |||||
Regression Version | |||||
Affected Sets / Systems | sf2hfu | ||||
Attached Files
|
email.txt (1,019 bytes) Feb 14, 2008, 08:47 [Show Content] [Hide Content]From: James Goddard To: Falkentyne Dragon Subject: RE: contacting james Date: Wed, 5 Dec 2001 12:03:34 -0800 X-Mailer: Internet Mail Service (5.5.2653.19) That John guy is soft man, I mean he only wins most of the tournaments he is in :) As for settings, no idea about cp2 boards. cps1 board definately could be messed with. I would have to look at the board and try to rediscover the settings to do the speed stuff- but unfortunately I think you could only speed it up to whacky fast. Anyway, all my stuff is in storage, so it will not be anytime soon with this info- sorry. I think the settings were something to do with the C bank (if that is right) it was a combination of stuff that was not on the operator instuctions. Capcom did not tell me about these, this is something I discovered screwing around. I suggest you tell the guys to try and discover the settings themselves, it will be faster then waiting on me. If you do find them, please email me them so I don't have to figure it out later!! :) | ||||
moreinfo.txt (3,157 bytes) Feb 14, 2008, 08:47 [Show Content] [Hide Content]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? :) 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? :) 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 | |||||
sf2t.png (2,055 bytes) Oct 23, 2010, 00:47
| |||||
m68000.jpg (130,851 bytes) Oct 23, 2010, 18:33
| |||||
osc.jpg (140,801 bytes) Oct 23, 2010, 18:34
| |||||
dash.jpg (645,009 bytes) Oct 24, 2010, 15:06
| |||||
speed.jpg (73,485 bytes) Jun 2, 2011, 21:27 Uploaded by Smitdogg
| |||||
Relationships
Notes
32
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. |
---|---|
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 |
No.00746
Stefan Lindberg Senior Tester
Apr 20, 2008, 10:54
|
Yes my SF2HF is using the DASH board. |
No.00749
Kold666 Developer
Apr 20, 2008, 12:26
|
bad news then ;) |
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! :-) |
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.... |
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. |
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. |
No.06793
Smitdogg Senior Tester
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. |
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. |
No.06795
Smitdogg Senior Tester
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. |
No.06796
Smitdogg Senior Tester
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. |
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. |
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. |
No.06803
Smitdogg Senior Tester
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. |
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. |
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. |
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? |
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. |
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. |
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') |
No.06824
Smitdogg Senior Tester
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. |
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. |
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 |
No.07108
Smitdogg Senior Tester
Jan 22, 2011, 04:27
|
I've upped videos of this running under different dip settings in a reference report. |
No.07485
Smitdogg Senior Tester
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. |
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. |
No.16070
diplo Tester
Jan 25, 2019, 04:06
|
Some interesting speed comparisons here: |
No.18323
MetalGod Senior Tester
Jan 2, 2021, 23:14
|
|
No.20217
Fortuna Tester
May 23, 2022, 08:08
|
Need add too: The Capcom arcade stadium version (PC, Switch, PS4) The Street fighter 30th anniversary collection this can confirm if the speed is right or is very fast |
No.21620
Falkentyne Tester
Jul 7, 2023, 05:37
|
Hi, been awhile. It's still very hard to believe that after all these years, the problem with the cycle exact timings and wait states hasn't been resolved on these games. I believe SF2:Hyper Fighting, Super Street Fighter 2 Turbo (any machine speeds higher than "Turbo 0" which is the same as Champion Edition speed), and some of the Alpha games on higher turbo settings may be affected, as well as 25th Anniversary Edition. The old, obsolete Callus emulator was the only emulator that got this perfectly correct, since Sardu had a real board available and he used assembly for coding (his own instructions) Of course In this day of Street Fighter 6 (and upcoming Tekken 8 and Mortal Kombat 1), I guess no one really cares now. |
No.21623
Deafening_Silence Tester
Jul 8, 2023, 21:17
|
Should not this have been fixed by the m68000 rewrite at this point? I noticed that Super SF2 Turbo speed is closer to the pcb, and also noticed some speed differences in some Cps2 beat'em ups, but didnt noticed any difference on any Cps1 game. |