A very high speed emulation can be useful to execute regression tests, or to run interesting programs. Or possibly just to run very accurate emulations on slower platforms.
Over on Stardot, Chris Evans aka scarybeasts has published a work-in-progress emulator that uses just-in-time compilation to deliver very high performance: 10GHz equivalent 6502 speed on a 3GHz x86, for example, or 3GHz 6502 on a 2GHz x86.
It's been tested on many programs including software protection and custom tape loaders, so certainly handles the usual hazards of self-modifying code. It includes a replay facility and a 6502-level debugger.
"The -fast flag is nice for BASIC testing. It runs the CPU as fast as possible while ticking the timers and video hardware at wall clock speed"
See the threads:
Announcement:
New emulator: beebjitUpdate and some timings:
New beebjit release: v0.9.1From the announcement:
Quote:
It's an open source project,
hosted on GitHub.
The README goes into a broad overview
I did a technical blog post overview of how the JIT works,
here.
I'd be hopeful that this work could at some point be applied to other targets, such as ARM, or even JavaScript.