Back on the Street Fighter II' discussion, to help allay kazekiri's fears that the PCE is somehow struggling with SFII', let me attempt to recall past discussions of PCE chip audio. I think I've seen the numbers 5-10% as to how much of a hit the CPU takes with complex PSG audio engines handling music. The SNES and Genny both have audio co-processors that do all the heavy lifting with sound, but the PCE does the audio work right in the CPU. That means the Hu6280 CPU in the PCE is likely taking a 5-10% overhead for the audio in SFII' (and all other HuCard games with quality audio engines, and some CD games, too). The PCE is clearly keeping up just fine, despite having a minor CPU handicap.
Anyone know specifically about how much the audio in SFII' taps the CPU, outside of these estimates I've seen bandied about in the past?
I just looked at the DDA interrupt routine in the debugger and it looks like for a single sample being played, it clocked in at 15% cpu resource. For two samples (drums from music and punch sample) it clocked in at 25% cpu resource. I only measured using the debugger time stamp. But I did it at a point where the BG area had no hsync calls (so hsync wasn't artificially inflating it). Not sure how much the PSG music routine takes up itself.
I also did a quick load test on the game:
It runs the whole game at twice the speed. Since the game moves soo fast, use the music as a guide (since it's playing twice as fast) to judge if there's slowdown. Though, this isn't a true test of the SF2 game engine - because there's other stuff being done that's redundant and eating up
more CPU resource than it would normally for double the speed. For instance, you wouldn't update the SAT twice as much, or do twice as many line scrolls (this include two title bars), run the PSG engine twice as much, etc. That and it's uploading vram twice as much too (a potential 4 player frames in a single NTSC frame).
Edit:
Here's another video showing off hacking the animation timing sheet:
The video doesn't play at full speed on youtube, so I did a frame by frame advancement near the end. Both players are having their frames updated once per frame in vram. I hacked it so there was zero delay between frames of the 'resting' animation. What does that mean? It means the game engine has no problem updating any play frame (and both) in a single frame.