The conditional phrase "at most" makes a world of difference, whether you realize it or not.SmartOne wrote:What I said was exactly correct. Take a moment to refresh yourself:
Where we disagree are the priorities of accurate emulation (emulation theory, if you will.)SmartOne wrote:That's partially what I used to think. Now I know emulators that truly aim for accuracy go by the documented specs and/or nitty gritty hardware tests that reveal exact numbers.Gil_Hamilton wrote:Because the effect of the components is often an expected part of the system behavior.
Kega Fusion is this. That's why it sounds better that a real Genesis. (Yes, I know it's not 100%, but it's pretty close.)
I think simulating crappy components (I don't know much about electronic engineering, but for example how the YM2612 is so close to the PPU that you get video noise in the sound) should NOT be the aim of accurate emulators. At most this simulation should be an option decided by the user. Like an NTSC filter.
The #1 priority of an accurate emulator is to produce the raw output of the system before hindrances.
Then, if the developers of the emulator wish, they might add additional code that simulates what the output "would actually have been" with system quirks and display simulation. Kega Fusion does this. It has RF and CRT modes, does it not? They are optional modifications. Are they 100% accurate? I don't think they are. Maybe I'm wrong here. (I'll admit that they do look pretty good. ...As far as RF can look "good." )
Further, a plugin system can be implemented to allow for both developers and end-users to add any more "system quirks" as they see fit.
By this strategy, everyone's goals can be met. But the #1 priority needs to be raw accuracy.
It indicates that this is a worst-case scenario, and that the OPTIMUM solution is emulation of an ideal system without the option of real-world system emulation.
Vector displays that don't flare, squared roudrect waves, LCDs that don't blur...
The ideal system is rarely what was being designed for. Everyone knew the NES didn't really output anything resembling ideal waves. Everyone knew that a vector display wouldn't really display points at the same width as lines, everyone knew that a GameBoy or GameGear LCD had horrible persistence(there are documented cases of games flickering objects to produce transparency effects with LCD persistence.).
Even on the PS1 they make those assumptions. Pretty much the entire system's library assumes composite blur will hide a massive dependence on dithering.
Hell, even the PSP. Developers assume you use the built-in speakers, and apply an utterly obscene amount of bass to the music and sound effects to compensate. It sounds like shit through a good pair of headphones because of it.
The ideal system is NOT what should be emulated by default. Glitches and imperfections of the actual hardware should be recreated, because they're a part of the system you're emulating, and what the average end-user expects.
Personally, I'd like to see an emulator with selectors to define WHICH revision of the system you're emulating and adjust the audio and video output accordingly, or even performance in some cases.
The original Genesis ran slower than subsequent revisions due to the use of a bad 68000 clone. The original Gameboy has a richer, fuller sound than the Pocket, Color, etc(Documented HERE, just for fun. Surprisingly, the DSes and GBA Micro almost generate true square waves, which is difficult.).
Yes, this would include an "ideal" system selection.
And if someone was feeling REALLY ambitious, a few of the more popular mods(such as replacing the 68000 on a Genesis with a 68030), culminating in a modular feature selection, where you can make YOUR ideal system.
Grab your personal favorite features of each system and slap them into one emulated unit.
Maybe an ideal system, except for the NTSC encoder. Or maybe you're a sadist and want the poor video of a Genesis 3 combined with the poor audio of a Genesis 1 headphone port.
And if you were feeling cute, you could enforce restrictions like "Genesis 3 units can't run 32x, SegaCD, or SMS games."
Anyways, it's a pipe dream. It's probably not going to happen. People are having enough trouble just pinning down the digital-side behavior, much less variations in the analog-side.