Working EtherNet (SLIRP), minor doco update, semaphore.h needed for Unix src.

This commit is contained in:
nigel 2005-12-29 13:06:12 +00:00
parent a4bac33b8b
commit 3802e35346
6 changed files with 66 additions and 26 deletions

View File

@ -505,7 +505,7 @@ ether <ethernet card description>
disable Ethernet networking.
Mac OS X:
The "slirp" method described above nearly works.
The "slirp" method described above now seems to work.
See the next item for an alternative way to do networking with Basilisk II.

View File

@ -45,6 +45,11 @@ Unix:
- ESD is also available on Solaris
- display progress bar during disk file creation in prefs editor
Mac OS X:
- Sound
- Cut and paste
- Lots of other stuff. See src/MacOSX/ToDo.html
Windows
- main_windows.cpp: undo the SDL/DIB driver trick
- video_windows.cpp: implement with DirectX

View File

@ -6,6 +6,7 @@
ln -sf ../Unix/config.guess .
ln -sf ../Unix/config.sub .
ln -sf ../Unix/semaphore.h .
cp -pf ../Unix/sys_unix.cpp .
cp -pf ../Unix/timer_unix.cpp .
ln -sf ../Unix/user_strings_unix.h .

View File

@ -142,6 +142,7 @@
};
29B97323FDCFA39411CA2CEA = {
children = (
A63638A10964120600BE2F74,
29B97324FDCFA39411CA2CEA,
A685FF0D05C4E89D00DDBA94,
A685FE6A05C4E87D00DDBA94,
@ -235,13 +236,14 @@
GCC_ENABLE_TRIGRAPHS = NO;
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
GCC_OPTIMIZATION_LEVEL = s;
GCC_PREPROCESSOR_DEFINITIONS = "HAVE_CONFIG_H _REENTRANT";
GCC_PREPROCESSOR_DEFINITIONS = "AQUA HAVE_CONFIG_H HAVE_SLIRP _REENTRANT DATADIR=\"\"";
GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO;
GCC_WARN_FOUR_CHARACTER_CONSTANTS = NO;
GCC_WARN_UNKNOWN_PRAGMAS = NO;
HEADER_SEARCH_PATHS = "../include ../uae_cpu";
HEADER_SEARCH_PATHS = "../include ../uae_cpu ../Unix ../slirp";
INFOPLIST_FILE = Info.plist;
INSTALL_PATH = "$(HOME)/Applications";
LIBRARY_SEARCH_PATHS = ". /Volumes/Users/nigel/Programming/BasiliskII/BasiliskII/src/MacOSX";
OTHER_CFLAGS = "";
OTHER_LDFLAGS = "";
PRODUCT_NAME = BasiliskII;
@ -351,7 +353,6 @@
A685020C05C4EF6700DDBA94,
A685021305C4EFDC00DDBA94,
A685021405C4EFDC00DDBA94,
A685021505C4EFDC00DDBA94,
A685021605C4EFDC00DDBA94,
A685021705C4EFDC00DDBA94,
A685022D05C4F04700DDBA94,
@ -375,6 +376,7 @@
A685023F05C4F04700DDBA94,
A685024005C4F04700DDBA94,
A685024105C4F04700DDBA94,
A6C4EFBF09641353006D945B,
);
isa = PBXSourcesBuildPhase;
runOnlyForDeploymentPostprocessing = 0;
@ -387,6 +389,7 @@
A685FF0E05C4E89D00DDBA94,
A685FFCE05C4E8CC00DDBA94,
A68500CC05C4E8DE00DDBA94,
A63638A20964120600BE2F74,
);
isa = PBXFrameworksBuildPhase;
runOnlyForDeploymentPostprocessing = 0;
@ -423,6 +426,19 @@
//A62
//A63
//A64
A63638A10964120600BE2F74 = {
isa = PBXFileReference;
lastKnownFileType = archive.ar;
path = libslirp.a;
refType = 2;
sourceTree = SOURCE_ROOT;
};
A63638A20964120600BE2F74 = {
fileRef = A63638A10964120600BE2F74;
isa = PBXBuildFile;
settings = {
};
};
A68500CB05C4E8DE00DDBA94 = {
isa = PBXFileReference;
lastKnownFileType = wrapper.framework;
@ -995,7 +1011,6 @@
children = (
A685020E05C4EFDC00DDBA94,
A685020F05C4EFDC00DDBA94,
A685021005C4EFDC00DDBA94,
A685021105C4EFDC00DDBA94,
A685021205C4EFDC00DDBA94,
);
@ -1411,15 +1426,6 @@
refType = 2;
sourceTree = SOURCE_ROOT;
};
A685021005C4EFDC00DDBA94 = {
fileEncoding = 30;
isa = PBXFileReference;
lastKnownFileType = sourcecode.cpp.cpp;
name = ether_dummy.cpp;
path = ../dummy/ether_dummy.cpp;
refType = 2;
sourceTree = SOURCE_ROOT;
};
A685021105C4EFDC00DDBA94 = {
fileEncoding = 30;
isa = PBXFileReference;
@ -1450,12 +1456,6 @@
settings = {
};
};
A685021505C4EFDC00DDBA94 = {
fileRef = A685021005C4EFDC00DDBA94;
isa = PBXBuildFile;
settings = {
};
};
A685021605C4EFDC00DDBA94 = {
fileRef = A685021105C4EFDC00DDBA94;
isa = PBXBuildFile;
@ -1785,6 +1785,7 @@
};
A685FDBA05C4E7D700DDBA94 = {
children = (
A6C4EFBE09641353006D945B,
A68501BA05C4ECDB00DDBA94,
A68501D905C4EE5100DDBA94,
A68501B305C4EC9500DDBA94,
@ -1866,6 +1867,21 @@
settings = {
};
};
A6C4EFBE09641353006D945B = {
fileEncoding = 30;
isa = PBXFileReference;
lastKnownFileType = sourcecode.cpp.cpp;
name = ether_unix.cpp;
path = ../Unix/ether_unix.cpp;
refType = 2;
sourceTree = SOURCE_ROOT;
};
A6C4EFBF09641353006D945B = {
fileRef = A6C4EFBE09641353006D945B;
isa = PBXBuildFile;
settings = {
};
};
};
rootObject = 29B97313FDCFA39411CA2CEA;
}

View File

@ -18,6 +18,7 @@ BLESS = @BLESS@
IDE = @IDE@
PROJECT = @PROJECT@
IDEARGS = @IDEARGS@
SLIRP_SRCS = @SLIRP_SRCS@
## Files
OBJ_DIR = build
@ -29,7 +30,7 @@ GENEMUS = cpuemu1.cpp cpuemu2.cpp cpuemu3.cpp cpuemu4.cpp \
# Symlinks to, or copies of, files in other directories
GENLINK = README.txt INSTALL.txt install-sh \
Darwin config.guess config.sub \
Darwin config.guess config.sub semaphore.h \
sys_unix.cpp timer_unix.cpp user_strings_unix.h
GEN = $(GENEMUS) $(GENSRCS)
@ -39,10 +40,16 @@ SRCS = BasiliskII.icns Controller.h Controller.mm Credits.html \
NNThread.h NNThread.m PrefsEditor.h PrefsEditor.mm \
ToDo.html Versions.html \
audio_macosx.mm extfs_macosx.mm macos_util_macosx.h main_macosx.h \
main_macosx.mm misc_macosx.h misc_macosx.mm nowrite.icns prefs_macosx.cpp \
sysdeps.h video_macosx.mm video_macosx.h
main_macosx.mm misc_macosx.h misc_macosx.mm nowrite.icns \
prefs_macosx.cpp sysdeps.h video_macosx.mm video_macosx.h
SLIRP_OBJ = $(patsubst ../slirp/%.c, build/%.o, $(SLIRP_SRCS))
SLIRP_LIB = libslirp.a
APP = $(OBJ_DIR)/BasiliskII.app
DEPS = $(OBJ_DIR) $(GEN) $(SLIRP_LIB) $(SRCS)
## Rules
.PHONY: mostlyclean clean distclean depend dep
@ -51,7 +58,7 @@ APP = $(OBJ_DIR)/BasiliskII.app
all: $(APP)
ide: $(OBJ_DIR) $(GEN) $(SRCS)
ide: $(DEPS)
open $(PROJECT)
test: $(APP)
@ -61,7 +68,7 @@ $(OBJ_DIR)::
@[ -d $(OBJ_DIR) ] || mkdir $(OBJ_DIR) > /dev/null 2>&1
$(APP): $(OBJ_DIR) $(GEN) $(SRCS)
$(APP): $(DEPS)
$(IDE) -buildstyle Deployment $(IDEARGS) \
&& $(BLESS) $(APP)/Contents/MacOS/BasiliskII \
|| rm -fr $(APP)
@ -77,6 +84,7 @@ mostlyclean:
rm -fr English.lproj/*~* $(OBJ_DIR)/* core* *.core *~ *.bak
clean: mostlyclean
rm -f $(SLIRP_LIB)
rm -f $(GEN)
rm -f cpudefs.cpp cputmp*.s cpufast*.s cpustbl.cpp
@ -124,5 +132,12 @@ cpufast.s: cpuemu.s $(OBJ_DIR)/cpuopti
cpuemu.s: cpuemu.cpp
$(CXX) $(CPPFLAGS) $(DEFS) -S $(CXXFLAGS) $< -o $@
$(SLIRP_OBJ) : build/%.o : ../slirp/%.c
$(CC) -I../slirp $(CPPFLAGS) $(DEFS) $(CFLAGS) $(LDFLAGS) -c $< -o $@
$(SLIRP_LIB) : $(SLIRP_OBJ)
libtool -static -o libslirp.a build/*.o
#-------------------------------------------------------------------------
# DO NOT DELETE THIS LINE -- make depend depends on it.

View File

@ -15,6 +15,9 @@ Bugs:
<LI>Status of 'dd' command is not always correct. (If it runs out of space,
an error about file not found is printed?)</LI>
<LI>The Snapshot function is currently broken.</LI>
<LI>The EtherNet thread doesn't seem to terminate, which means that the
emulation doesn't shutdown cleanly. Not sure if this is just a
10.3 thing, or if it is something about my NSThread classes.</LI>
</UL>
Untested:
<UL>
@ -24,7 +27,7 @@ Untested:
Unimplemented:
<UL>
<LI>CD audio stuff. I am still trying to get this to work</LI>
<LI>Ethernet</LI>
<LI>Cut and paste between emulator and OS X</LI>
<LI>Floppy stuff. If a floppy is mounted by the OS X Finder,
it is busy and cannot be opened by the emulator</LI>
<LI>Interrupt function for emulator</LI>