mirror of
https://github.com/david-schmidt/gsport.git
synced 2025-01-02 06:30:49 +00:00
252 lines
14 KiB
HTML
252 lines
14 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<!-- Generated by Apache Maven Doxia Site Renderer 1.4 at 2017-10-05 -->
|
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
|
<title>GSport - Developing GSport</title>
|
|
<style type="text/css" media="all">
|
|
@import url("./css/maven-base.css");
|
|
@import url("./css/maven-theme.css");
|
|
@import url("./css/site.css");
|
|
</style>
|
|
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
|
|
<meta name="author" content="David Schmidt (1110325+david-schmidt@users.noreply.github.com)" />
|
|
<meta name="Date-Revision-yyyymmdd" content="20171005" />
|
|
<meta http-equiv="Content-Language" content="en" />
|
|
|
|
</head>
|
|
<body class="composite">
|
|
<div id="banner">
|
|
<div id="bannerLeft">
|
|
GSport: an Apple IIgs Emulator
|
|
</div>
|
|
<div id="bannerRight">
|
|
|
|
</div>
|
|
<div class="clear">
|
|
<hr/>
|
|
</div>
|
|
</div>
|
|
<div id="breadcrumbs">
|
|
|
|
|
|
<div class="xleft">
|
|
<span id="publishDate">Last Published: 2017-10-05</span>
|
|
| <span id="projectVersion">Version: 0.31</span>
|
|
</div>
|
|
<div class="xright"> <a href="https://github.com/david-schmidt/gsport/releases" class="externalLink" title="Download">Download</a>
|
|
|
|
|
<a href="https://github.com/david-schmidt/gsport" class="externalLink" title="Project Development Page">Project Development Page</a>
|
|
|
|
|
|
</div>
|
|
<div class="clear">
|
|
<hr/>
|
|
</div>
|
|
</div>
|
|
<div id="leftColumn">
|
|
<div id="navcolumn">
|
|
|
|
|
|
<h5>GSport</h5>
|
|
<ul>
|
|
<li class="none">
|
|
<a href="index.html" title="Main">Main</a>
|
|
</li>
|
|
<li class="none">
|
|
<a href="https://github.com/david-schmidt/gsport/releases" class="externalLink" title="Download">Download</a>
|
|
</li>
|
|
<li class="none">
|
|
<a href="operating.html" title="Operating">Operating</a>
|
|
</li>
|
|
<li class="none">
|
|
<strong>Developing</strong>
|
|
</li>
|
|
<li class="none">
|
|
<a href="appletalk.html" title="Emulated Appletalk">Emulated Appletalk</a>
|
|
</li>
|
|
<li class="none">
|
|
<a href="ethernet.html" title="Emulated Ethernet">Emulated Ethernet</a>
|
|
</li>
|
|
<li class="none">
|
|
<a href="printer.html" title="Emulated Printers">Emulated Printers</a>
|
|
</li>
|
|
<li class="none">
|
|
<a href="history.html" title="History">History</a>
|
|
</li>
|
|
</ul>
|
|
<a href="https://github.com/david-schmidt/gsport"><img src="https://assets-cdn.github.com/images/modules/logos_page/GitHub-Logo.png" width="100" alt="Get GSport at Github." /></a>
|
|
|
|
</a>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<div id="bodyColumn">
|
|
<div id="contentBox">
|
|
<div class="section">
|
|
<h2>Developing GSport<a name="Developing_GSport"></a></h2>
|
|
<p>Information, mostly concerning building, about various platforms:</p>
|
|
<div class="section">
|
|
<h3>General Build Instructions<a name="General_Build_Instructions"></a></h3>
|
|
<p>You need to build with a <tt>make</tt> utility. There's a default Makefile, which should work for nearly any environment. The Makefile includes a file called <tt>vars</tt> which defines the platform- dependent variables. You need to make <tt>vars</tt> point to (or be) the appropriate file for your machine.</p></div>
|
|
<div class="section">
|
|
<h3>Win32<a name="Win32"></a></h3>
|
|
<p>There is a different port of KEGS by Chea Chee Keong (akilgard) called KEGS32. It was originally available from <a class="externalLink" href="http://web.archive.org/web/20071107082448/http://www.geocities.com/akilgard/kegs32/">http://www.geocities.com/akilgard/kegs32</a>, but geocities has since closed. The Win32 code in GSport is leveraged from KEGS32.</p>
|
|
<p>GSport can be compiled with <a class="externalLink" href="http://www.mingw.org/">Mingw</a> and <a class="externalLink" href="http://www.cygwin.com/">Cygwin</a> as well as via standard Microsoft compiler suites.</p>
|
|
<p>In order to compile with the standard Microsoft compiler suites, download and install <a class="externalLink" href="https://www.visualstudio.com/downloads/download-visual-studio-vs">Microsoft Visual Studio Community 2015 from Microsoft's website</a>. The build process requires Perl, such as <a class="externalLink" href="http://www.activestate.com/activeperl">ActiveState ActivePerl</a>. Within Visual Studio, open the "gsport.sln" solution file. Set the "gsport" project as the "StartUp Project", and choose "Build Solution" from the "Build" menu.</p>
|
|
<p>In order to compile with Cygwin:</p>
|
|
<div>
|
|
<pre>cd into the src/ directory
|
|
rm vars
|
|
ln -s vars_win32 vars
|
|
make
|
|
</pre></div>
|
|
<p>You need to have a ROM file (named ROM, ROM.01, or ROM.03) in the same directory as the resulting executable.</p>
|
|
<p>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".</p></div>
|
|
<div class="section">
|
|
<h3>Mac OS X<a name="Mac_OS_X"></a></h3>
|
|
<p>Use the <tt>vars_mac</tt> file:</p>
|
|
<div>
|
|
<pre>cd into the src/ directory
|
|
rm vars; ln -s vars_mac vars
|
|
make
|
|
</pre></div>
|
|
<p>After the <tt>make</tt> has finished, it will create the application <tt>GSport</tt>.</p></div>
|
|
<div class="section">
|
|
<h3>X86 Linux<a name="X86_Linux"></a></h3>
|
|
<p>Use the <tt>vars_x86linux</tt> file:</p>
|
|
<div>
|
|
<pre>cd into the src/ directory
|
|
rm vars; ln -s vars_x86linux vars
|
|
make
|
|
</pre></div>
|
|
<p>The resulting executable is called <tt>gsportx</tt>.</p>
|
|
<p>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.</p>
|
|
<p>For audio, GSport needs access to <tt>/dev/dsp</tt>. If the permissions do not allow GSport to access <tt>/dev/dsp</tt>, it can fail with a cryptic error message. As root, just do: <tt>chmod 666 /dev/dsp</tt> .</p>
|
|
<p>If you do not have the <tt>/dev/dsp</tt> device, GSport will not start unless you tell it to disable audio with the following command-line argument: <tt>./gsportx -audio 0</tt></p></div>
|
|
<div class="section">
|
|
<h3>PowerPC Linux<a name="PowerPC_Linux"></a></h3>
|
|
<p>Use the <tt>vars_linuxppc</tt> file:</p>
|
|
<div>
|
|
<pre>cd into the src/ directory
|
|
rm vars; ln -s vars_linuxppc vars
|
|
make
|
|
</pre></div>
|
|
<p>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.</p>
|
|
<p>Audio is currently disabled by default, but you can try turning it on by runnning the command: <tt>gsportx -audio 1</tt>. It sounds horrible, but sounds do come out.</p></div>
|
|
<div class="section">
|
|
<h3>Raspberry Pi<a name="Raspberry_Pi"></a></h3>
|
|
<p>At first, you may want to update/upgrade your base OS:</p>
|
|
<ul>
|
|
<li><tt>sudo apt-get update</tt></li>
|
|
<li><tt>sudo apt-get upgrade</tt></li></ul>
|
|
<p>Then, add a line with the value <tt>snd-pcm-oss</tt> to the <tt>/etc/modules</tt> file and reboot to enable sound. Change the permissions to the resulting device <tt>/dev/pcm</tt> (after rebooting): <tt>sudo chmod 666 /dev/pcm</tt></p>
|
|
<p>Depending on the version of your OS, the following packages may need to be installed:</p>
|
|
<ul>
|
|
<li>xfonts-base: <tt>sudo apt-get install xfonts-base</tt></li>
|
|
<li>libX11-dev: <tt>sudo apt-get install libX11-dev</tt></li>
|
|
<li>libxext-dev: <tt>sudo apt-get install libxext-dev</tt></li>
|
|
<li>libpcap-dev: <tt>sudo apt-get install libpcap-dev</tt></li></ul>
|
|
<p>Use the <tt>vars_pi</tt> file for compilation:</p>
|
|
<div>
|
|
<pre>cd into the src/ directory
|
|
rm vars; ln -s vars_pi vars
|
|
make
|
|
</pre></div>
|
|
<p>The resulting executable is called <tt>gsportx</tt>.</p></div>
|
|
<div class="section">
|
|
<h3>Solaris SPARC<a name="Solaris_SPARC"></a></h3>
|
|
<p>Use the <tt>vars_solaris</tt> file:</p>
|
|
<div>
|
|
<pre>cd into the src/ directory
|
|
rm vars; ln -s vars_solaris vars
|
|
make
|
|
</pre></div>
|
|
<p>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.</p>
|
|
<p>Audio is currently disabled by default, but you can try turning it on by runnning the command: <tt>gsportx -audio 1</tt></p></div>
|
|
<div class="section">
|
|
<h3>Solaris x86<a name="Solaris_x86"></a></h3>
|
|
<p>Use the <tt>vars_x86solaris</tt> file:</p>
|
|
<div>
|
|
<pre>cd into the src/ directory
|
|
rm vars; ln -s vars_x86solaris vars
|
|
make
|
|
</pre></div>
|
|
<p>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.</p>
|
|
<p>Audio is currently disabled by default, but you can try turning it on by runnning the command: <tt>gsportx -audio 1</tt></p></div>
|
|
<div class="section">
|
|
<h3>Other platforms - "C"<a name="Other_platforms_-_C"></a></h3>
|
|
<p>If you are porting to an X-windows and Unix-based machine, it should be easy. Start with <tt>vars_x86linux</tt> if you are a little-endian machine, or <tt>vars_linuxppc</tt> if you are big endian. Don't define <tt>-DGSPORT_LITTLE_ENDIAN</tt> unless your processor is little-endian (Alpha, x86, Mac Intel). Mac PPC, Sun, MIPS, HP, Motorola, and IBM Power are big-endian.</p></div>
|
|
<div class="section">
|
|
<h3>Under Development - Autotools Integration<a name="Under_Development_-_Autotools_Integration"></a></h3>
|
|
<p>With the autotools branch, the following sequence will execute the build from the main directory:</p>
|
|
<div>
|
|
<pre>autoreconf
|
|
automake --add-missing
|
|
autoheader
|
|
autoconf
|
|
sh configure
|
|
make
|
|
</pre></div></div>
|
|
<div class="section">
|
|
<h3>Extended <a name="Capabilities">Capabilities</a> by Platform<a name="Extended_Capabilities_by_Platform"></a></h3>
|
|
<p>All platforms have a common core of capabilities:</p>
|
|
<ul>
|
|
<li>Base IIgs emulation</li>
|
|
<li>Ensoniq sound emulation</li>
|
|
<li>Virtual serial ports mapped to real hardware or IP-emulated ports</li>
|
|
<li>Text and graphical printers </li></ul>
|
|
<p>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!</p>
|
|
<table border="1" class="bodyTable">
|
|
<tr class="a">
|
|
<th align="right"><b>Platform</b></th>
|
|
<th align="right"><b>Ethernet</b></th>
|
|
<th align="right"><b>Drag/Drop Disks</b></th>
|
|
<th align="left"><b>Clipboard Paste</b></th></tr>
|
|
<tr class="b">
|
|
<td align="right">Linux</td>
|
|
<td align="right">No</td>
|
|
<td align="right">No</td>
|
|
<td align="left">No</td></tr>
|
|
<tr class="a">
|
|
<td align="right">Macintosh</td>
|
|
<td align="right">No</td>
|
|
<td align="right">No</td>
|
|
<td align="left">Yes</td></tr>
|
|
<tr class="b">
|
|
<td align="right">Windows</td>
|
|
<td align="right">Yes</td>
|
|
<td align="right">Yes</td>
|
|
<td align="left">Yes</td></tr></table></div>
|
|
<div class="section">
|
|
<h3>Building Graphical Printer Support <a name="Building_Graphical_Printer_Support"></a></h3>
|
|
<p>Until graphical parallel printer support is generally integrated into all builds, the following work needs to be done:</p>
|
|
<ul>
|
|
<li>Install Simple DirectMedia Layer (<a class="externalLink" href="http://www.libsdl.org/">SDL</a>) and Freetype in your build environment - you'll need to link to their libraries </li>
|
|
<li>Add the <tt>-DHAVE_SDL</tt> option to your <tt>CCOPTS</tt> and add the same (perhaps to a new) <tt>CPPOPTS</tt> in your <tt>vars</tt> file</li>
|
|
<li>Add something like <tt>-I/usr/include/freetype2</tt> and <tt>-I/usr/include/SDL</tt> options to your <tt>CCOPTS</tt> and add the same (perhaps for a new) <tt>CPPOPTS</tt> in your <tt>vars</tt> file to point to the SDL and Freetype include files</li>
|
|
<li>Include SDL and Freetype libraries to <tt>EXTRA_LIBS</tt> in your <tt>vars</tt> file (i.e. <tt>EXTRA_LIBS = -lSDL -lfreetype</tt>)</li>
|
|
<li>Include the Win32 common dialog library to <tt>EXTRA_LIBS</tt> as part of your final linkage if you're on Windows (i.e. <tt>EXTRA_LIBS = -lSDL -lfreetype -lcomdlg32</tt>)</li>
|
|
<li>After building, you'll need the file <tt>parallel.rom</tt> in the same directory that <tt>config.txt</tt> is found</li>
|
|
<li>You'll probably want a monospaced TrueType font file easily accessible to add as part of the GSport configuration</li>
|
|
<li>Run through the emulated printer <a href="./printer.html">configuration</a> steps</li></ul></div></div>
|
|
</div>
|
|
</div>
|
|
<div class="clear">
|
|
<hr/>
|
|
</div>
|
|
<div id="footer">
|
|
<div class="xright">
|
|
Copyright © 2010-2017
|
|
GSport Contributors.
|
|
All Rights Reserved.
|
|
|
|
</div>
|
|
<div class="clear">
|
|
<hr/>
|
|
</div>
|
|
</div>
|
|
<!-- Piwik --> <script type="text/javascript"> var pkBaseURL = (("https:" == document.location.protocol) ? "https://sourceforge.net/apps/piwik/gsport/" : "http://sourceforge.net/apps/piwik/gsport/"); document.write(unescape("%3Cscript src='" + pkBaseURL + "piwik.js' type='text/javascript'%3E%3C/script%3E")); </script><script type="text/javascript"> try { var piwikTracker = Piwik.getTracker(pkBaseURL + "piwik.php", 1);piwikTracker.trackPageView(); piwikTracker.enableLinkTracking();} catch( err ) {} </script><noscript><p><img src="http://sourceforge.net/apps/piwik/gsport/piwik.php?idsite=1" style="border:0" alt=""/></p></noscript><!-- End Piwik Tag -->
|
|
</html>
|