nubie posted on Jul 15 2006 at 11:20 AM said:
Epicenter posted on Jul 15 2006 at 01:25 AM said:
No, it appears to be significantly slower. I really do wonder what the most stressful bit of SNES emulation is if you nix transparencies. That's a ~2.68 Mhz 65c816 (not a very tough CPU to emulate, certainly not next to a 12 MHz 68000 like in GNGeo) .. then I believe 2 custom VDPs and the audio subsystem, neither one of which I can see being TOO tough if they are done wholly in ARM9 ASM. When scaling and rotation were going on I could see why things should be this stressful, but since they're usually not, it's not readily apparent.
Regardless of the performance, parallel development of emulators for the same systems like this benefits everyone .. as devs can share discoveries and innovations in their implementation. I'm glad to see it.
We have handwritten and debugged ARM9 assembler cores?
If so I must say that the interactions of the cores must be the slow-down.
If not than their needs to be handwritten cores to get it to the speed of DrMD.
I thought that the Genesis was a bit more powerful than the SNES? SNES had more chips and games with extra chips in em, all in all I don't think I like the SNES hardware.
There's only one CPU to have an ARM9 ASM core for; the 65c816 main CPU. The bits that still seem to be C are video and audio, which will provide dramatic slowdown since that's about all the powerful hardware the SNES *had*-- its CPU was downright anemic. There's no need for a 'hand-written' 65c816 core since it's not anything special to the GP2X, just the ARM9 architecture, as that's the instruction set it's written for.
As for the MegaDrive/Genesis vs. SNES issue; the MD did have an ENORMOUSLY more powerful processor-- a 16-bit MC68000 @ 7.67 / 7.61 MHz on a full 16-bit bus, compared to the SNES' 16-bit hack of an 8-bit 6502-- the 65c816 at 2.68 MHz (3.58 MHz in some rare cases) on an 8-bit bus. The SNES had an advantage in more displayable colors onscreen and hardware scaling/rotation effects, but its resolution was lower and the slow CPU's inability to move large amounts of big sprites meant it often couldn't keep up with a lot of action happening onscreen quite like the MD/Genesis could. If you wanted the prettiest RPGs and the arguably more gimmicky effects, the SNES was your best bet, but if you wanted the fastest, most responsive and reflex-testing games though with less colors, the MD/Gen was your best bet.
For sound, it boiled down to if you preferred dynamically-generated FM Synthesized audio over PCM pre-recorded audio. I've always been an FM man myself, so I prefer the MD's great Yamaha YM2612 synth (very similar to that used in the NeoGeo-- the N.G. is just like an enhanced MD/Gen.) While some games do sound better with a lot of pre-recorded PCM, I was never too wild about it-- less retro charm. The games that did use FM Synth on the SNES sounded horrible, while most games that used heavy PCM on the MD sounded pretty mediocre (some good, some awful, depending on the skill of the designers.)
Emulating the MD is pretty simple since great, full documentation of the MC68000 processor and Zilog Z80 processors are available and the VDP (video display processor) is based around the Master System's which was built around a Texas Instruments model which is also well documented. The Yamaha YM2612 is a distinct part as well and is well-understood. So, all the core components are very easy to understand, and therefore, easier to emulate.
In the case of the SNES, the CPU is a weird proprietary part with the 65c816 embedded with other hardware, and the PPU is some monstrous proprietary thing that is not fully understood. The same goes for its bizarre sound system. This makes emulating it quite a task.