This is a fork of jmthompson's XGS Apple IIGS emulator project.
Changes have been made so it compiles on windows, linux, and macOSX 10.15.
ROM versions 1 at 3 are supported.
The ROM is considered Apple copyrighted material and is not supplied here. You can create your own or search the internet. Here's one place you can try looking: ftp://public.asimov.net/pub/apple_II/emulators/rom_images/
There are currently no released binaries. However Github Actions produces linux/macos/windows binaries when changes are made to the XGS-rws branch. These are for testing purposes only.
- Click on the Actions tab above.
- From the 'Actions' page click on one of the workflows created by XGS-rws branch.
- The artifacts section should contain zips for each platform.
- After unzipping drop a copy of your rom file into the folder.
- Click on the executable.
Note: linux/macos platforms will need sdl2 and boost installed.
Note: The default ROM file name is xgs.rom
Run xgs-rws --help from the commandline for a list of options.
To compile this code you will need
- CMake
- c++17 capable compiler
- The Boost format and program_options libraries
- SDL2
- SDL2_ttf
To build XGS, from the source directory run:
mkdir build
cd build
cmake ..
cmake --build .
On linux/macos: The binary will be compiled to build/xgs. On windows: The binary will be in build/Debug or build/Release
On mac/linux:
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
./build/xgs
You can also display the help text if you need help with the command-line options:
./build/xgs-rws --help
On Windows:
Copy all the dll files from your SDL2/lib/x64 folder and
all the fonts from the xgs/font folder and
your xgs.rom file into the same folder as the xgs.exe
then double click on the exe.
| OS | Windows 10 | Ubuntu | OSX 10.15 |
|---|---|---|---|
| Builds 64-bit | Yes | Yes | Yes |
| Builds 32-bit | Untested | Untested | Untested |
| Runs 64-bit | Yes | Untested | Untested |
| Runs 32-bit | Untested | Untested | Untested |
Running emulator on Windows using 'GS Diagnostics 3.1.2mg' .
| Test | Result | Notes |
|---|---|---|
| ROM | Fail | |
| Speed/Interrupt | Fail | |
| MMU/IOU | Pass | |
| Main RAM | Pass | |
| Expansion RAM | Pass | |
| Clock Ram | Fail | |
| Serial Port internal | Fail | Unimplemented feature |
| Serial Port crystal | Fail | Unimplemented feature |
| Sound circuitry | Pass | |
| Sound speaker tone | Pass | |
| Video pattern: | ||
| Color bar | Pass | |
| Character generator | Pass | |
| 80/40 column | Pass | |
| Low resolution graphics | Pass | |
| High resolution graphics | Pass | |
| Double High resoulution | Pass | Seems to have extra lines |
| Super High Resolution | Pass | |
| Screen/Text colors | Pass | |
| Keyboard/Mouse: | ||
| ADB keyboard | Fail | Unable to press clear key on keypad |
| Standard IIe keyboard | Pass | |
| Extended IIe keyboard | Fail | Unable to press clear key on keypad |
| Numeric keypad IIe | Fail | Unable to press print key |
| ADB mouse | Pass | |
| Joystick/Paddle | Pass | Button press only |