Compiling Apple II Emulators in Fedora Core 6
25th Dec 2007
This page described the experience in compiling various Apple II emulators for Linux based on the Fedora Core 6 (FC6) distribution. It assumes that other required libraries (e.g. libSDL) have already been installed. FC6 comes with gcc 4.1.1.
Linapple: Apple][ emulator for Linux Version 1.1 beta
This emulator is based on AppleWin, one of the best Apple II emulator for Windows.
Compiling Linapple 1.1 beta in FC6 gave the following errors :
list.h:45: error: parse error in template argument list
list.h:69: error: parse error in template argument list
DiskChoose.cpp: In function ‘bool ChooseAnImage(int, int, char*, int, char**,
This is solved by changing list.h line 45 from ~LLink<T>() to ~LLink()
and line 69 from ~List<T>() to ~List()
Source code is available from http://sourceforge.net/projects/linapple. Archived copy can be downloaded here.
Figure 1 : Linapple 1.1 beta running Karateka
YAE - Yet Another Emulator Version 0.7
Compiling YAE version 0.7 is quite straight forward with no errors encountered. YAE needs two additonal files to run which is APPLE2E.ROM and DISK.ROM. Disk image is set from the command line. (e.g. ./apple2 loderunner.dsk)
Source code is available from http://sourceforge.net/projects/yae-gpl. An archived copy of YAE can be downloaded here.
Figure 2 : YAE 0.7 running Lode Runner
xapple2 Version 0.7.4
Compiling xapple gave the following error
disk.c: In function ‘c_read_nibblized_6_6?
disk.c:196: error: invalid lvalue in assignment
It is solved by changing disk.c line 196 from
ch = (unsigned char) disk6.disk_byte = fgetc(disk6.disk[disk6.drive].fp);
ch = disk6.disk_byte = fgetc(disk6.disk[disk6.drive].fp);
vidsup.c: In function ‘c_initialize_row_col_tables?
vidsup.c:441: error: invalid lvalue in assignment
It is solved by changing vidsup.c line 441 from
(long)(video__screen_addresses[i]) = -1;
(video__screen_addresses[i]) = -1;
The original code is available from ftp://ftp.ocis.net/pub/users/ldeutsch/release/apple2-emul-0.7.4.tar.gz. An archived copy is available here.
Figure 3 : xapple2 0.7.4 running Wavy Navy
Note that the screen capture for xapple2 looks ok but in actual fact, the colour outside the emulator window is corrupted when it is running on my PC. xapple2 runs only when the colour per pixel is 256.