Pate has posted a new update concerning his Dos Emulator for the DS:
Just a quick update to the blog post of yesterday. After I had posted the message, I still tested the code further, and found out that the SDK timers do not run at the proper speed. This was again one cause for the weird hangs, and it also made all my speed test results invalid. The 60Hz timer ran actually at 264Hz speed, and the main PC timer which should run at 18.2Hz (and which is used by Norton Sysinfo for the speed tests) ran at almost 24Hz.
I just got the timers running at proper speeds, and ran the speed test again, using the fastest 396MHz MIPS CPU speed. Here is the result that I now believe to be correct.
The MIPS version of my x86 emulator runs at about 3.5 times faster than the ARM version, however the MIPS CPU runs at 6 times the clock speed. The difference is due to the Lazy Flags handling, the lack of various ARM tricks in the MIPS architecture, and the IRQ handling not using self-modifying code. I hope to be able to add some MIPS-specific tricks to the code while I get more familiar with the MIPS assembly, but even the current speed should make it possible and worthwhile to add 386-opcode support.