mirror of
https://github.com/digarok/gsplus.git
synced 2024-11-17 20:05:49 +00:00
241 lines
7.6 KiB
Plaintext
241 lines
7.6 KiB
Plaintext
-----
|
|
Developing GSport
|
|
-----
|
|
David Schmidt (david__schmidt at users dot souceforge dot net)
|
|
-----
|
|
|
|
Developing GSport
|
|
|
|
Information, mostly concerning building, about various platforms:
|
|
|
|
* General Build Instructions
|
|
|
|
You need to build with a <<<make>>> utility.
|
|
There's a default Makefile, which should work for nearly any environment.
|
|
The Makefile includes a file called <<<vars>>> which defines the platform-
|
|
dependent variables. You need to make <<<vars>>> point to (or be) the appropriate
|
|
file for your machine.
|
|
|
|
* Win32
|
|
|
|
There is a different port of KEGS by Chea Chee Keong (akilgard) called
|
|
KEGS32. It was originally available from {{{http://web.archive.org/web/20071107082448/http://www.geocities.com/akilgard/kegs32/}http://www.geocities.com/akilgard/kegs32}},
|
|
but geocities has since closed.
|
|
The Win32 code in GSport is leveraged from KEGS32.
|
|
|
|
GSport can be compiled with {{{http://www.mingw.org/}Mingw}}
|
|
and {{{http://www.cygwin.com/}Cygwin}} as well as via standard Microsoft compiler suites.
|
|
|
|
In order to compile with Cygwin:
|
|
|
|
------------------
|
|
cd into the src/ directory
|
|
rm vars
|
|
ln -s vars_win32 vars
|
|
make
|
|
------------------
|
|
|
|
You need to have a ROM file (named
|
|
ROM, ROM.01, or ROM.03) in the same directory as the resulting executable.
|
|
|
|
To quit, either click the close box, or force quit the application.
|
|
You can also middle-click (if you have a 3-button mouse) or
|
|
Shift-F6 to get the debugger in the terminal window, and then type "q".
|
|
|
|
* Mac OS X
|
|
|
|
Use the <<<vars_mac>>> file:
|
|
|
|
-------------------------------------
|
|
cd into the src/ directory
|
|
rm vars; ln -s vars_mac vars
|
|
make
|
|
-------------------------------------
|
|
|
|
After the <<<make>>> has finished, it will create the application <<<GSport>>>.
|
|
|
|
* X86 Linux
|
|
|
|
Use the <<<vars_x86linux>>> file:
|
|
|
|
-------------------------------------
|
|
cd into the src/ directory
|
|
rm vars; ln -s vars_x86linux vars
|
|
make
|
|
-------------------------------------
|
|
|
|
The resulting executable is called <<<gsportx>>>.
|
|
|
|
The build scripts assume perl is in your path. If it is somewhere else,
|
|
you need to edit the "PERL = perl" line in the vars file and make it point
|
|
to the correct place.
|
|
|
|
For audio, GSport needs access to <<</dev/dsp>>>. If the permissions do not allow
|
|
GSport to access <<</dev/dsp>>>, it can fail with a cryptic error message. As root,
|
|
just do: <<<chmod 666 /dev/dsp>>> .
|
|
|
|
If you do not have the <<</dev/dsp>>> device, GSport will not start unless you
|
|
tell it to disable audio with the following command-line argument:
|
|
<<<./gsportx -audio 0>>>
|
|
|
|
* PowerPC Linux
|
|
|
|
Use the <<<vars_linuxppc>>> file:
|
|
|
|
-------------
|
|
cd into the src/ directory
|
|
rm vars; ln -s vars_linuxppc vars
|
|
make
|
|
---------
|
|
|
|
The build scripts assume perl is in your path. If it is somewhere else,
|
|
you need to edit the "PERL = perl" line in the vars file and make it point
|
|
to the correct place.
|
|
|
|
Audio is currently disabled by default, but you can try turning it on
|
|
by runnning the command: <<<gsportx -audio 1>>>. It sounds horrible, but sounds do
|
|
come out.
|
|
|
|
* Raspberry Pi
|
|
|
|
At first, you may want to update/upgrade your base OS:
|
|
|
|
* <<<sudo apt-get update>>>
|
|
|
|
* <<<sudo apt-get upgrade>>>
|
|
|
|
[]
|
|
|
|
Then, add a line with the value <<<snd-pcm-oss>>> to the <<</etc/modules>>> file and reboot to enable sound.
|
|
Change the permissions to the resulting device <<</dev/pcm>>> (after rebooting): <<<sudo chmod 666 /dev/pcm>>>
|
|
|
|
Depending on the version of your OS, the following packages may need to be installed:
|
|
|
|
* xfonts-base: <<<sudo apt-get install xfonts-base>>>
|
|
|
|
* libX11-dev: <<<sudo apt-get install libX11-dev>>>
|
|
|
|
* libxext-dev: <<<sudo apt-get install libxext-dev>>>
|
|
|
|
* libpcap-dev: <<<sudo apt-get install libpcap-dev>>>
|
|
|
|
[]
|
|
|
|
|
|
Use the <<<vars_pi>>> file for compilation:
|
|
|
|
-------------
|
|
cd into the src/ directory
|
|
rm vars; ln -s vars_pi vars
|
|
make
|
|
---------
|
|
|
|
The resulting executable is called <<<gsportx>>>.
|
|
|
|
* Solaris SPARC
|
|
|
|
Use the <<<vars_solaris>>> file:
|
|
|
|
-------------------------------------
|
|
cd into the src/ directory
|
|
rm vars; ln -s vars_solaris vars
|
|
make
|
|
-------------------------------------
|
|
|
|
The build scripts assume perl is in your path. If it is somewhere else,
|
|
you need to edit the "PERL = perl" line in the vars file and make it point
|
|
to the correct place.
|
|
|
|
Audio is currently disabled by default, but you can try turning it on
|
|
by runnning the command: <<<gsportx -audio 1>>>
|
|
|
|
* Solaris x86
|
|
|
|
Use the <<<vars_x86solaris>>> file:
|
|
|
|
-------------------------------------
|
|
cd into the src/ directory
|
|
rm vars; ln -s vars_x86solaris vars
|
|
make
|
|
-------------------------------------
|
|
|
|
The build scripts assume perl is in your path. If it is somewhere else,
|
|
you need to edit the "PERL = perl" line in the vars file and make it point
|
|
to the correct place.
|
|
|
|
Audio is currently disabled by default, but you can try turning it on
|
|
by runnning the command: <<<gsportx -audio 1>>>
|
|
|
|
* Other platforms - "C"
|
|
|
|
If you are porting to an X-windows and Unix-based machine, it should be
|
|
easy. Start with <<<vars_x86linux>>> if you are a little-endian machine, or
|
|
<<<vars_linuxppc>>> if you are big endian. Don't define <<<-DGSPORT_LITTLE_ENDIAN>>>
|
|
unless your processor is little-endian (Alpha, x86, Mac Intel). Mac PPC, Sun, MIPS,
|
|
HP, Motorola, and IBM Power are big-endian.
|
|
|
|
* Under Development - Autotools Integration
|
|
|
|
With the autotools branch, the following sequence will
|
|
execute the build from the main directory:
|
|
|
|
----------------
|
|
autoreconf
|
|
automake --add-missing
|
|
autoheader
|
|
autoconf
|
|
sh configure
|
|
make
|
|
----------------
|
|
|
|
* Extended {Capabilities} by Platform
|
|
|
|
All platforms have a common core of capabilities:
|
|
|
|
* Base IIgs emulation
|
|
|
|
* Ensoniq sound emulation
|
|
|
|
* Virtual serial ports mapped to real hardware or IP-emulated ports
|
|
|
|
* Text and graphical printers
|
|
|
|
[]
|
|
|
|
The table below notes where the various builds differ in the support they have in the
|
|
code base now for various extended capabilities.
|
|
Turning the "No" boxes into "Yes" are all opportunities for contributions!
|
|
|
|
*-----:------:------:------+
|
|
|| <<Platform>> || <<Ethernet>> || <<Drag/Drop Disks>> || <<Clipboard Paste>>
|
|
*-----:------:------:------+
|
|
Linux | No | No | No |
|
|
*-----:------:------:------+
|
|
Macintosh | No | No | Yes |
|
|
*-----:------:------:------+
|
|
Windows | Yes | Yes | Yes |
|
|
*-----:------:------:------+
|
|
|
|
[]
|
|
|
|
* Building Graphical Printer Support
|
|
|
|
Until graphical parallel printer support is generally integrated into all builds, the following work needs to be done:
|
|
|
|
* Install Simple DirectMedia Layer ({{{http://www.libsdl.org/}SDL}}) and Freetype in your build environment - you'll need to link to their libraries
|
|
|
|
* Add the <<<-DHAVE_SDL>>> option to your <<<CCOPTS>>> and add the same (perhaps to a new) <<<CPPOPTS>>> in your <<<vars>>> file
|
|
|
|
* Add something like <<<-I/usr/include/freetype2>>> and <<<-I/usr/include/SDL>>> options to your <<<CCOPTS>>> and add the same (perhaps for a new) <<<CPPOPTS>>> in your <<<vars>>> file to point to the SDL and Freetype include files
|
|
|
|
* Include SDL and Freetype libraries to <<<EXTRA_LIBS>>> in your <<<vars>>> file (i.e. <<<EXTRA_LIBS = -lSDL -lfreetype>>>)
|
|
|
|
* Include the Win32 common dialog library to <<<EXTRA_LIBS>>> as part of your final linkage if you're on Windows (i.e. <<<EXTRA_LIBS = -lSDL -lfreetype -lcomdlg32>>>)
|
|
|
|
* After building, you'll need the file <<<parallel.rom>>> in the same directory that <<<config.txt>>> is found
|
|
|
|
* You'll probably want a monospaced TrueType font file easily accessible to add as part of the GSport configuration
|
|
|
|
* Run through the emulated printer {{{./printer.html}configuration}} steps
|
|
|
|
[] |