First post, by eugeneeugene123
Hello!
I would like to introduce my x86 emulator “Espejo”. I am focused on mobile platforms with ARM processors like Android and IOS, but desktop (Windows, x86) version also exists. The reason why I started this project is that current emulators for mobile platforms are slow (resource-demanding games like MDK or Quake are almost unplayable), require lots of configuration and do not have customizable on-screen controls. Right now my emulator has following features:
- Cycle-precise 8086 core with 8087 FPU
- Precise 80286 core (interpreter). Fully written in ARM assembly. On ARM processors speed is almost equal (5-10% difference) to DOSBOX recompiler (measured by speedtst.com program recommended by DOSBOX developers).
- Much faster 80286 core (recompiler). On ARM processors only (Android). On my Android device runs 3-5 times faster than Dosbox dynamic core, 8-15 times faster than bochs.
- Adlib, PC speaker, MPU 401, Disney Sound Source emulation
- Joystick support
- Customizable on-screen controls
I am finishing 80386 emulation and fixing bugs in VGA emulation, hope that in a short time will post version which will potentially support almost every DOS game (bug fixes can take lots of time). Sound Blaster emulation is also planned as it is not done yet (Adlib is supported).
I am attaching "Moonbugs" game image disk with my emulator. This game is rather interesting because it runs in 160x100 16-color undocumented text mode, so it has 16 colors on CGA adaptors. I had no luck running it in bochs (no sound, lags), qemu, pcem(freedos does not boot) or fake86(shows only top quarter of screen). DOSBOX runs it after selecting machine=cga and setting proper cycle count. But it is not ideal, as requires configuration and still emulation is not cycle-exact.