A Linux-based Apple IIGS emulator
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
M65816
adb
debugger
disks
doc
emulator
fonts
imgui
mega2
tests
utils
vgc
.gitignore
CMakeLists.txt
ChangeLog.txt
FAQ.txt
INSTALL.txt
README.md

README.md

XGS

XGS is a Linux-based Apple IIGS emulator.

About This Version

This beta is a major rewrite of previous (pre-0.60) versions. The code has been converted to C++ and refactored to better match (when possible) how the actual hardware is implemented. In addition, the multiple input/output drivers have been replaced with a single SDL2 driver.

The CPU emulation (M65816) is a heavy rewrite from previous versions as well, and may contain subtle emulation bugs.

More information can be found in the XGS section of my blog.

Compiling

To compile this code you will need

  • CMake
  • g++ 4.8 or higher. For versions prior to 6.0 you need to compile with --std=c++11
  • The Boost libraries
  • SDL2

To build XGS, from the source directory run:

mkdir build
cd build
cmake ..
make 

The binary will be compiled to build/xgs.

Usage

Before starting XGS for the first time you'll need to create the XGS home directory and copy some files into it.

First, from the source directory run:

mkdir ~/.xgs
cp fonts/xgs{4,8}0.fnt ~/.xgs/

You'll need an Apple IIGS ROM file (either v01 or v03 will work):

cp PATH_TO_YOUR_ROM_FILE ~/.xgs/xgs.rom

Now you can start XGS as follows (-3 is only needed if your ROM image is v03):

./build/xgs -3

You can also display the help text if you need help with the command-line options:

./build/xgs --help

Status

Currently the emulator successfully boots to an AppleSoft prompt.

This code will be very much in flux for the next few months as I continue to debug, improve, and streamline the code base.