742 Commits

Author SHA1 Message Date
Christian Bauer
ca96911c07 add SheepShaver -> BasiliskII symlinks 2012-06-18 20:02:42 +02:00
asvitkine
d931e6ff78 another try to get sshpty.c compiling on bsd 2012-06-17 23:15:10 +00:00
asvitkine
b417d95f25 fixing FreeBSD build hopefully 2012-06-17 16:41:01 +00:00
asvitkine
16c4802d7b oops, sig should have been signal 2012-06-17 04:23:17 +00:00
asvitkine
bc315e9942 Hopefully make the HAVE_DEV_PTMX path work. 2012-06-15 21:56:52 +00:00
asvitkine
d63422a733 |Description: fixes configure script generation on some systems.
|Author: Giulio Paci <giuliopaci@gmail.com>
2012-04-01 16:34:26 +00:00
asvitkine
c8b85735c4 |Description: avoid stripping binaries
|Author: Jonas Smedegaard <dr@jones.dk>
|Last-Update: 2012-03-04
2012-04-01 15:14:56 +00:00
asvitkine
c154497f17 |Description: enable out-of-tree compilation of Basilisk II
| This patch affects the Makefile.in used to compile Basilisk II in
| order to allow out-of-tree compilation. This is useful for building
| multiple flavours of the Debian package.
|Author: Giulio Paci <giuliopaci@gmail.com>
2012-04-01 15:12:31 +00:00
asvitkine
f26747520e |Description: fix to the documentation
| This patch aims at improving the man page.
|Author: Giulio Paci <giuliopaci@gmail.com>
|Forwarded: no
|Last-Update: 2012-03-04
2012-04-01 15:07:53 +00:00
asvitkine
c6409b4ce5 |Description: important compiler warnings fixes
| This patch fix a compiler warning about the direct printing of strings
| using formatted printing functions without the use of a format string.
|Author: Giulio Paci <giuliopaci@gmail.com>
|Forwarded: no
|Last-Update: 2012-03-04
2012-04-01 15:05:55 +00:00
asvitkine
81ab1a3f6c another warning fix 2012-03-01 04:27:42 +00:00
asvitkine
bad472294c fix a warning 2012-03-01 04:24:45 +00:00
asvitkine
62956816ed rename file_handle to mac_file_handle since file_handle is defined in system headers on some systems 2012-03-01 04:22:27 +00:00
asvitkine
c972658d81 cleanup ifdef chain syntax 2012-01-01 22:32:24 +00:00
asvitkine
2fb4e0aa4e make the ifdef chain more readable 2011-12-31 19:47:16 +00:00
asvitkine
1a2566b58e Fix CrashReporter poping up when PPC is not emulated on pre-10.5 systems. 2011-12-30 20:37:30 +00:00
asvitkine
dcf65b4d27 move NSAutoReleasePool_wrap() into its own file 2011-12-29 07:39:56 +00:00
asvitkine
3d09f85dc9 fix some unused var/function warnings 2011-12-28 20:22:25 +00:00
asvitkine
2d14b5fb8b get file size using stat, which seems to be more reliable 2011-12-27 21:01:32 +00:00
asvitkine
521da856b5 check for MAP_FAILED result 2011-12-27 20:50:27 +00:00
asvitkine
b48405744e remove extra comment start 2011-12-27 19:50:38 +00:00
asvitkine
9baf8b4156 Fix fatal() macro 2011-03-11 16:41:18 +00:00
asvitkine
5f8683b346 [Amadeusz Sławiński]
Patch fixing build on 2.6.35 and 2.6.36 kernels.
2010-11-27 00:14:09 +00:00
asvitkine
7a093cb1fb Fix issue from my last change where it ended up not defining
SIGSEGV_FAULT_ADDRESS_FAST at all on PPC builds.
2010-10-23 21:13:21 +00:00
asvitkine
1170b925ee fix sentinel warning 2010-10-19 03:30:20 +00:00
asvitkine
7665252790 [Geoffrey Brown]
For my work on digital preservation it's important to have "golden"
disk images that are not corrupted by user action.  In order to enable
this, I've added support for VHD virtual disks (especially snapshots !)
to the Linux and OS X versions of BasiliskII and SheepShaver.

The support uses the open source libvhd library which is part of xen,
available here:
  http://www.xen.org/products/xen_source.html

The piece that's needed is libvhd which is in tools/blktap2 and it can
be separately compiled.
The vhd-util enables creation of vhd disks and snapshots.

Compiling libvhd for OS X is non-trivial and required  1) a new config
and 2) a number of small changes to the include files and c files.
Compiling for linux is a snap.

I use this as follows.

1) create my "golden image"  gold.dsk in the usual way
2) create a snapshot:  vhd-util snapshot -n gold.vhd -p gold.dsk -m
3) use the snapshot in my prefs file

In my work the golden images are in an AFS system which means the golden
images can reside at "universal" addresses.   The snapshots are initially
tiny, so a complete virtual machine configuration -- prefs + snapshot is
quick to download for the end user.

The snapshots are copy on write which has the pleasant side effect of
letting the end user keep any changes.
2010-10-19 03:21:52 +00:00
asvitkine
90bdd12839 [Geoffrey Brown]
Add bin/cue support. The following should work:

1) Basilisk and SheepShaver with sdl-audio and bincue on linux and os x
2) SheepShaver with bincue and core audio on os x
2010-10-06 00:30:23 +00:00
asvitkine
7a9a6d18f2 . 2010-09-24 00:49:45 +00:00
asvitkine
7bb230abed apparently this makes newest SDL happy 2010-09-24 00:48:58 +00:00
asvitkine
556a42001b Some messy changes got into last commit that weren't supposed to be there. 2010-07-28 01:10:24 +00:00
asvitkine
930374bbc6 Do the right thing if host-triplet is a i386-i686, but gcc compiles by
default as x86_64. Fixes configure on Snow Leopard.
2010-07-28 01:07:45 +00:00
asvitkine
853db27159 Fixing sigsegv on Mach x86_64 - possibly a hack; I'm not sure why the
address returned doesn't have that bit set already.
2010-07-27 22:52:33 +00:00
asvitkine
812db6ed4f [Howard Spoelstra and Joel Mauras]
Patches to update Linux NetDriver to work with newer kernel versions.
2010-04-08 03:58:26 +00:00
asvitkine
8a0002de43 [Joel Mauras]
GCC has become too smart - we need to slice the binary created to be sure the
address of the trap is within the test addresses. This is why each trap occurs
between two case labels and a new section of assembly code is set in between.
2010-04-08 03:53:27 +00:00
asvitkine
ebfe00ba48 [Amadeusz Sławiński]
fix check on gcc 4.4.3
2010-03-10 01:05:49 +00:00
asvitkine
78027e7a46 [Amadeusz Slawinski]
These patches fix the issues with using newer versions of autoconf,
which led to generating broken configure script.
2010-03-07 00:45:10 +00:00
cebix
dca3b18d9d fixed warnings 2010-02-21 12:00:42 +00:00
cebix
1fbacc9c73 fixed missing INT_MAX 2010-02-21 09:58:00 +00:00
cebix
71852dae82 fixed compiler warnings 2010-02-21 09:55:52 +00:00
asvitkine
989f5036fc Fix PrefsInit() calls to take correct number of parameter 2010-01-15 01:53:31 +00:00
asvitkine
6f230efee8 [ Patch from Jean-Pierre <chombier@free.fr> ]
Make lowmem be able to deal with x86_64 binaries.
2009-11-13 01:57:48 +00:00
asvitkine
02313b55c2 [Joel Mauras]
Patch for network suppor on 2.6 Linux Kernel.
2009-10-20 01:55:03 +00:00
asvitkine
cb55b15d39 Change #include <mach/mach_host.h> to #include <mach/mach.h> 2009-08-21 17:39:58 +00:00
asvitkine
5a8dfa1b36 [Charles Srstka]
Attached is a set of patches to port the precise timer that is currently used in the Linux and BeOS builds of SheepShaver to Mac OS X (and any other Mach-based operating systems).

Currently, the Linux build uses the clock_gettime() function to get nanosecond-precision time, and falls back on gettimeofday() if it is not present. Unfortunately, Mac OS X does not currently support clock_gettime(), and gettimeofday() has only microsecond granularity. The Mach kernel, however, has a clock_get_time() function that does very nearly the same thing as clock_gettime(). The patches to BasiliskII cause the timing functions such as timer_current_time() to use clock_get_time() instead of gettimeofday() on Mach-based systems that do not support clock_gettime().

The changes to SheepShaver involve the precise timer. The existing code for Linux uses pthreads and real-time signals to handle the timing. Mac OS X unfortunately does not seem to support real-time signals, so Mach calls are again used to suspend and resume the timer thread in order to attempt to duplicate the Linux and BeOS versions of the timer. The code is somewhat ugly right now, as I decided to leave alone the pre-existing style of the source file, which unfortunately involves #ifdefs scattered throughout the file and some duplication of code. A future patch may want to clean this up to separate out the OS-specific code and put it all together at the top of the file. However, for the time being, this seems to work.

This has not been extensively tested, because I have not been able to get my hands on a good test-case app for the classic Mac OS that would run inside the emulator and try out the timer. However, performance does seem to be better than with the pre-existing code, and nothing seems to have blown up as far as I can tell. I did find a game via a Google search -  Cap'n Magneto - that is known to have problems with Basilisk/SheepShaver's legacy 60 Hz timer, and the opening fade-to-color for this game appears to run much more smoothly with the precise timer code in place.
2009-08-17 20:44:30 +00:00
asvitkine
c6d88f213c [Michael Schmitt]
SheepShaver includes the C errno string in many error messages. One case is when it calls the memory allocation routines in the Basilisk II vm_alloc.cpp program.

This works when the memory allocation routine uses functions that set errno (such as mmap or malloc). For example, running SheepShaver on a Linux hosts produces meaningful error messages.

The problem is that when run on an OS X host, the memory allocation uses Mach routines such as vm_allocate, which do not set errno.

So when SheepShaver reported the error, it used a stale value of errno, which happened to be 17. The result was an extremely misleading error message: "Cannot map RAM: File already exists".

The fix is to change vm_alloc so that it translates Mac return codes into POSIX errno values.

It also initializes errno to 0 at the start of the memory allocation routine, so that no matter what path it takes, it won't return a stale value.
2009-08-11 07:43:46 +00:00
asvitkine
d0c46de7c3 BasiliskII side of changes to support .sheepvm bundles for SheepShaver 2009-07-23 19:19:14 +00:00
asvitkine
8ad0bbcc80 windows fix try#2 2009-04-13 23:13:20 +00:00
asvitkine
abb9d2eb24 make sigsegv work better with cygwin 2009-04-13 19:57:08 +00:00
asvitkine
da540a74f6 [patch by Mike Sliczniak]
Here is a patch to allow compiling of SS and B2 with an SDL Framework. You can
get this by downloading from:

http://www.libsdl.org/release/SDL-1.2.13.dmg

Here is how I tested on an intel 32-bit mac with Mac OS X 10.5.6:

SS ./autogen.sh --disable-standalone-gui --enable-vosf --enable-sdl-framework --enable-sdl-framework-prefix=/Users/mzs/Library/Frameworks --enable-sdl-video --disable-sdl-audio --enable-addressing=real
--without-esd --without-gtk --without-mon --without-x

SS /autogen.sh --disable-standalone-gui --enable-vosf --disable-sdl-framework --disable-sdl-video --disable-sdl-audio --enable-addressing=real --without-esd --without-gtk --without-mon --with-x

B2 ./autogen.sh --disable-standalone-gui --enable-vosf --enable-sdl-framework --enable-sdl-framework-prefix=/Users/mzs/Library/Frameworks --enable-sdl-video --enable-sdl-audio --enable-addressing=real --without-esd --without-gtk --without-mon --without-x --enable-jit-compiler

B2 ./autogen.sh --disable-standalone-gui --enable-vosf --disable-sdl-framework --disable-sdl-video --disable-sdl-audio --enable-addressing=real --with-esd --without-gtk --without-mon --with-x --enable-jit-compiler

(esound does not really work on mac, it needs some better coreaudio patches.)

configure.ac for SS has two little additional fixes so that the Cocoa prefs gui
does not get built if you are building for X11 and so that you can use esd, sdl,
or coreaudio for sound.
2009-03-03 08:07:22 +00:00
asvitkine
3e12a80a3b [Patch by Mike Sliczniak]
I was testing some other SS patches and I noticed that when I ran an X11
build of SS there were not all the video modes I expected in the the
control strip. Mac OS X 10.5 changed the form of the DISPLAY environment
variable. The reason for this is that the DISPLAY variable looks like
this in Leopard:

/tmp/launch-XXXXXX/:0

The Xs are like in mktemp.
2009-02-19 07:09:35 +00:00