Merge pull request #10 from roadriverrail/master

Network support on modern Linux machines
This commit is contained in:
David Schmidt 2020-11-14 11:08:51 -05:00 committed by GitHub
commit 7e788187b2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 20 additions and 4 deletions

View File

@ -4,6 +4,21 @@ GSport is a portable (in the programming sense) Apple IIgs emulator, based on th
[![alt](https://raw.githubusercontent.com/david-schmidt/gsport/master/doc/web/src/site/resources/images/gsport.png)](https://david-schmidt.github.io/gsport/) [![Download Link](https://raw.githubusercontent.com/david-schmidt/gsport/master/doc/web/src/site/resources/images/download.png)](https://github.com/david-schmidt/gsport/releases)
## Now with network support on Linux!
The GSPort project has been updated to support building for modern 64-bit Linux systems, including support for
networking via the Uthernet emulation! This has only been tested on a Ubuntu 18.04 machine and may require some
tweaking, but the following steps have worked:
* Make sure multiarch support is enabled
* Download the i386 libraries, especially libX11, libXext, and libpcap (e.g. `sudo apt install libpcap-dev:i386`, etc)
* `cd src`, `ln -s vars_x86linux vars`, and `make`, and you're on your way
One important note is that the Uthernet emulation relies on sending layer 2 frames in the raw and the use of
promiscuous mode to discover frames addressed to the MAC of the emulated Uthernet card. Because of this *wifi is not
supported*! I repeat **wifi is not supported**! It's highly encouraged you start out running this on a machine with
only one active interface, and that interface should be wired Ethernet.
## Project Goals
The main goal for GSport is to provide a free, open ecosystem for the continuation of cross-platform development of IIgs emulation.

View File

@ -1,14 +1,15 @@
TARGET = gsportx
OBJECTS = $(OBJECTS1) $(TFEOBJ) $(ATOBJ) $(PCAPOBJ) xdriver.o
CC = gcc
CCOPTS = -O2 -Wall -fomit-frame-pointer -std=gnu99 -march=i686 -DHAVE_TFE -DHAVE_ATBRIDGE -DTOGGLE_STATUS
OPTS = -DGSPORT_LITTLE_ENDIAN
CCOPTS = -O2 -Wall -fomit-frame-pointer -std=gnu99 -m32 -march=i686
CPPOPTS = -O2 -Wall -fomit-frame-pointer -std=gnu99 -m32 -march=i686
OPTS = -DGSPORT_LITTLE_ENDIAN -DDOS_TFE=1 -DHAVE_TFE -DHAVE_ATBRIDGE -DTOGGLE_STATUS
SUFFIX =
NAME = gsportx
LDFLAGS =
LDFLAGS = -m32 -L/usr/lib32
LDOPTS =
LD = g++
EXTRA_LIBS = -lXext
EXTRA_LIBS = -lXext -ldl -lpcap
EXTRA_SPECIALS =
AS = cc