Aeon Emulator Blog

January 18, 2010

Aeon Version 0.56

Filed under: Aeon, New Version — Greg Divis @ 7:54 pm

I’ve fixed the issue causing 0.55 to fail on 32-bit systems. Hey, this is why I call it an unstable alpha – gives me an excuse to make stupid mistakes like this :)

That being said, it isn’t terribly difficult for me to run this on the 32-bit CLR, so I’ll make sure that gets done every time I post a new version from now on. Sorry about this.


January 17, 2010

Aeon Version 0.55

Filed under: Aeon, New Version — Greg Divis @ 10:03 pm

Finally time for a new build! I’ve made a pretty good amount of progress. Most of the floating-point instructions are working, and I’ve implemented some of the actual protection mechanisms in protected mode, along with paging. Most of the 32-bit DOS extenders I’ve tried work at least somewhat now, with one notable exception being Borland’s DPMI.000 extender (which, in my humble opinion, is the most evil piece of code ever written). Some of the more advanced 32-bit games don’t work yet either, though some do (Daggerfall, for example, if you’re willing to jump through a few hoops). Here’s the change list:

  • Implemented about 90% of x87 floating point unit
  • Partially implemented CPU protection levels
  • Added support for paging
  • Fixed a few DOS memory allocation bugs
  • Minor Sound Blaster fixes
  • Fixed some protected mode instruction bugs
  • Added keystroke to release captured input (CTRL+F12)
  • Implemented a few more missing instructions
  • Better support for TSR’s

In order to support paging, I had to change a lot of code – unfortunately, Aeon may run a little slower as a result, though I haven’t noticed any change on my test system. Also, it’s possible that I’ve broken compatibility with something that used to work. Again, I haven’t seen anything in my regression tests, but my tests don’t include running every game in the world…

Download here.

Update: It seems that some of the changes I’ve made may have broken Aeon on 32-bit versions of Windows. I’m going fix this and repost a new version, then set up a proper 32-bit test system so this doesn’t happen again.

Blog at