Java Apple Computer Emulator

o    _    __    ___   ____ o

    | |  / /\  / / ` | |_   

  \_|_| /_/--\ \_\_, |_|__  

o                          o

Jace is a logical** reproduction of an enhanced Apple //e computer, written in Java 17 and tested on various platforms (Linux, Windows, MacOS X).

<<< Click on GETTING STARTED for tips on how use this emulator

JACE will always be free to download and open source under the LGPL.  But if you really like it and want to encourage continued development please consider donating.  I would like to personally thank all who have donated.  Your contributions have invigorated my creative drive to make Jace as good as it can be!

Features include:

Sourceforge home/download location: https://github.com/badvision/jace

**- Logical reproduction means that I recreated the computer using schematics of the physical machine to determine the best way to structure the object-oriented bits of the emulator; it mimics certain aspects of how the underlying machine worked rather than a simulation that "acts" like the machine using clever (and in some cases more efficient) coding shortcuts.  The key difference in this approach is that it is far more configurable and tweakable than a standard emulation, and you could (for example) change the timing aspects and insert new hardware in the form of "cards" like you would in a real Apple //e.

Updates:

(2024-07-01) Modernized to Java 17/22, now GraalVM Native Images are possible thanks to Gluon!

(2013-03-05) No release yet, but I wanted to let you guys know I'm still actively working on some exciting new features and have some major plans for the future direction of this emulator.

(2012-12-09) More features!

(2012-10-31) Trick or treat?

(2012-08-28) This is the first major release, bringing this emulator within a hair of my original vision for what I wanted it to be: it is a complete recreation of the computer I had growing up.  (yaaaaaay!)

(2012-08-02) This is a HUGE feature release and also fixes a few old bugs.  All in all, this is a very stable and heavily-tested release.

(2012-07-26) After getting burned by Ultima I way too much, it is time to expand on game cheats:

(2012-06-25) Way too much time has gone by without another official build, so today is build day.  No mockingboard support yet, but I can't let this hold up builds anymore:

(2012-04-29) Prince of Persia cheats now include Mouse cheats, allowing you to teleport with a right-click, kill enemies or open gates (with left-click).  I found out that my timing logic was trying too hard to run at the exactly correct speed; When I gave the timer sync code some more slack, JACE uses 20% less CPU and there are less glitches in the audio.  (yay!)  The Mockingboard code is not working yet, but it is now detected by Ultima V and I can see the music data being pumped into the card -- hopefully not too long before we can hear some funky square waves.

(2012-04-19) Added internals to remap keys more easily.  Now joystick emulation can optionally support keyboard (arrow keys).  It is also possible to choose if the arrow keys are only for joystick or if the emulated computer will still see arrow keys.  Similar keyboard mappings will be rolled out for other features.  Prince of Persia cheats now include the ability to start with a sword and stop time.  In other news, I ran various diagnostics against JACE and it seems to be passing all the important stuff quite nicely!  Diagnostic disks can be found here: ftp://ftp.apple.asimov.net/pub/apple_II/images/disk_utils/diagnostics/ 

(2012-04-17) Happy 35th Birthday Apple ][!  I am still working on mockingboard emulation, but it will happen soon.  Also, thanks to Jordan Mechner for releasing the source to Prince of Persia; I have followed up with adding CHEAT SUPPORT.  Each game will have its own cheat module once I work out how to scale that part out easily.  I'll probably look to how cheats are managed in Nintendo DS homebrew circles for some ideas.  But for now, I can make the prince fall like a feather and stop enemies from attacking him,  Cheats in some form will be available once I get mockingboard working.

(2012-02-15) No new features (yet) but posted a demo video to youtube showcasing the MIDI support in Ultima V.  Check it out!

(2012-02-14) Happy Valentines Day!

(2012-02-12) Patched some classpath scanning logic so it behaves better on Mac OSX, this fixes the java.lang.ExceptionInInitializerError on start -- Thanks Mr. Finnigan for the courteous bug report.  I also tweaked the HBL scanner logic to better emulate what is supposed to be on the floating bus according to Sather's book.

(2012-02-08) Putting up another build because some annoying crash-related bugs have been squished, with brutal vengeance.

(2012-02-05) Still testing and fixing bugs, but there are some new features still worth checking out:

(2012-01-19)  I put a new build up on Sourceforge.  It has a number of small tweaks and some new features:

 

"Le Chat Mauve" example                          Apple II Desktop with Mouse

Configuration of Ultima 5 Passport MIDI             Pacman with debugger visible