DaveC said:
So Sega CD with it's dual 68000 CPUs, DSP, sound including FM synth and DAC, sprite hardware and MP3 decoding simultaneously is easier to syncronize than a C64? Seems quite hard to believe. Then there is FBA that plays stuff like Mars Matrix full speed with all of its's massive sprite bullet hell madness with thousands of colors where there is hardly a still pixel on the whole screen. C64 is still more sophisticated? I don't know that seems a stretch.
It might well be. Give a thought to exactly how accurate that emulation of the more powerful chips actually is. The goal here is to get the game running in such as way as to be faithful to the original. There are no new games for those systems, so it's unlikely that we'll have to emulate down to machine cycles, unlikely that we'll have to emulate the
incredibly complex system of interaction between ULA/CPU that the Spectrum has
just in case someone makes a new demo for it that we need to be able to emulate.
A friend of mine in the ZX Scene has written an emulator in pure, heavily optimised x86 asm. It needs at least 300mhz to run with all accuracy turned on. His AY-3-8912 emulation is a lot more accurate than the one in MAME. Not to mention his z80 emulation being more accurate than
any other z80 emulation due to the ongoing discoveries made by the people who inhabit the scene. But are you interested in the fact that instruction contention may vary by 1 T-State depending on manufacturer, or by a few T-States depending on the temperature of the CPU? Or do you just want to play a game?
All this is directed towards the Speccy, but it all applies to the C64 too - and that has even
more hardware than the Speccy. Accuracy at the level we've come to expect from our 8bit emulators (and I don't include the GP2X 8bit emulators in that, for (hopefully) obvious reasons) does not have to be applied to arcade emulators.
I can see maybe when it is emulating a 1541 drive but other than that I have doubts. The C64 was decent for its time (although the Atari had more colors at 256 vs. 16) but today it doesn't look that complex or powerful.
Actually, emulating a drive is pretty simple. At a basic level, a uPD765 emulator can be written in a couple of hundred lines. It's when you start to simulate weak sectors and stuff that it gets into the thousands of lines, but that's still nothing compared to a decent CPU emulation.
D.