xAce - A Jupiter Ace Emulator for Unix (Patched to correct garbled display)

The only Jupiter Ace emulator that I found, which would work under Linux, was written by Edward Patel and is called xace. There is also a Windows version available, but I don't know anything more about that. The following instructions, taken partially from the site's help instructions , will show how to install it under Linux.

  1. Download the tarball: xace-0.4.tar.gz.

  2. Extract the files:

    $ tar -xvzf xace-0.4.tar.gz
  3. Change into the extracted directory:

    $ cd xace-0.4
  4. Run xmkmf to create a makefile from an imake file

    $ xmkmf
  5. I have created a patch which is an amalgamation of several patches which I found on the internet. Each had problems, which I have fixed. The patch can be downloaded from here. Save it as xace-0.4.patch in the same directory as the xAce source files.

  6. Patch main.c using the patch downloaded above:

    $  patch xmain.c xace-0.4.patch
  7. Make the project:

    $ make
  8. You can then run the emulator using:

    $ ./xace

A Quick Test

When entering any of the following definitions, please make sure that you enter them exactly with the correct placement of spaces.

Try entering the following to create a word called star:

: star ." *" ;

Now when you type star and press return, a star is output.

You could also create a word called stars:

: stars 0 do star loop cr ;

When you enter stars preceded by a number it will printer that number of stars, e.g. the following will print 4 stars:

4 stars

There is a problem with the stars definition however. If you ask for 0 stars, you will still get one star. There are plenty of resources to learn forth out there, so you shouldn't find it difficult working out how to correct this one. Think of it as your first little forth programming test.

Where Now?

There aren't many Jupiter Ace websites around, but one that is particularly good is The Jupiter Ace Resource Site. Another useful source of information is Edward Patel's crash course in forth. This is particularly useful as it mentions Jupiter Ace specific words. I hope that you enjoy playing with this emulator and hopefully for those who haven't used forth, you will gain a new appreciation of it.

Creative Commons License
xAce - A Jupiter Ace Emulator for Unix (Patched to correct garbled display) by Lawrence Woodman is licensed under a Creative Commons Attribution 4.0 International License.

Share This Post


Related Articles

xAce is Back in Active Development and Looking For Contributors

xAce is a great Jupiter Ace emulator and is in fact the one that I use the most, however it hasn't been actively developed since 1997 and therefore has some shortcomings. I am keen to improve the emul...   Read More

Transferring Files to and from CP/M .D71 Disk Images Using ctools

Using Vice to emulate a Commodore 128 running CP/M works very well, but it isn't easy to get CP/M files directly onto and off a .D64/.D71 disk image. The easiest way to do this under Linux is to use c...   Read More

Emulating a CP/M System With z80pack

z80pack is great for creating an emulated CP/M system. It can either be used to create a general CP/M system or can emulate a specific system such as an IMSAI or ALTAIR including a graphical front-pan...   Read More

Connecting to a Remote Serial Port over TCP/IP

Most modern machines don't have a serial port as standard; you could use a USB to serial lead, however, if you have another machine available that does have a serial port you can access it remotely ove...   Read More

Emulating a DEC PDP-8 with SimH

The DEC PDP-8 mini-computer was launched on 22 March 1965 and was a great success. It was fairly cheap for the day and could easily be expanded. What attracts me most to the PDP-8 is its simple desig...   Read More