xAce - A Jupiter Ace Emulator for Unix (Patched to correct garbled display)
Written by Lawrence Woodman on 12th February 2009
Tags: Emulation, Forth, Jupiter Ace, Retro

I love the idea of the Jupiter Ace and think that the choice of the forth programming language was perfect for such a low-spec machine.  It is a real shame that forth wasn't chosen for more computers of the period, instead of their using basic.  I have not found many emulators for this machine and only one that I could run natively under Linux.  This did, however, need patching, as without it the screen wasn't displaying properly.  I will show how to patch it in this short post.

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. Extracted the files:
    $ tar -xvzf xace-0.4.tar.gz
  3. Changed into the extracted directory:
    $ cd xace-0.4
  4. Ran 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 xmain.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 TechTinkering is licensed under a Creative Commons Attribution 2.0 UK: England & Wales License.
Add a Comment

Please leave a comment.  I would love to hear what you think.
All comments are checked before displaying to prevent SPAM.

Your Name (Optional)

Your Email (Optional)
Not displayed, just used to pickup a Gravatar

Your Website (Optional)

Comment

All comments preformatted i.e. newlines and spaces display properly.
All HTML will be displayed literally e.g. <br /> will not create a line break.
URLs beginning with http:// or ftp:// will be converted to links.

        Privacy Policy

Contact Details

I would love to hear from you and welcome your feedback on the site.

You can keep in contact with me through the following services:
Click to get email address
GitHub
Linkedin
Twitter
Delicious
StumbleUpon
YouTube
Technorati
FriendFeed
MyBlogLog