Commit Graph

1635 Commits

Author SHA1 Message Date
Alexei Svitkine
be28a8e5d4 [Amadeusz Sławiński]
Fix crashes with SDL on Linux due to delayed cursor setting.
2012-06-18 19:31:50 -04:00
Alexei Svitkine
5a5b7176da Fix an unused function warning. 2012-06-18 19:00:25 -04:00
Christian Bauer
3c66c348c2 ignore generated files 2012-06-18 20:14:22 +02:00
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
e4234d7cff pull latest SDLMain from SDL-1.2.15 2012-06-15 22:52:49 +00:00
asvitkine
bc315e9942 Hopefully make the HAVE_DEV_PTMX path work. 2012-06-15 21:56:52 +00:00
asvitkine
89dfedb118 remove some absolute paths from the vcxproj 2012-04-22 03:28:47 +00:00
asvitkine
473d6d326c Add some project files that can compile a 64-bit version of the driver
for new versions of Windows.
2012-04-22 03:23:27 +00:00
asvitkine
235c71e1b2 Import nt5 version of the ethernet driver from 2001 sources. 2012-04-22 03:13:32 +00:00
asvitkine
c34dd6ecd3 Apparently this change allows compilation with clang.
Patch by "Madd the Sane" (http://sourceforge.net/users/madd_the_sane)
2012-04-21 16:51:23 +00:00
asvitkine
667c876145 removing old project files 2012-04-21 16:37:54 +00:00
asvitkine
d6971d3e57 Import b2ether driver sources from a 2001 source archive of BasiliskII. 2012-04-21 16:23:07 +00:00
asvitkine
6ee2964818 Fix inverted check from my previous commit. 2012-04-21 16:04:51 +00:00
asvitkine
2b348f7c41 Don't start the Darwin media_thread if "nocdrom" pref is set. The media
thread is currently only used to poll for CDROM devices and is not useful
when "nocdrom" is set. This change also fixes the problem of the emulator
preventing the CD to be ejected at the host level despite "nocdrom" being
set in prefs.

Thanks to Robert Munafo <mrob27@gmail.com> for investigating this problem!
2012-04-21 16:02:05 +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
0c77b00081 Switch slirp to 3-clause BSD license. This change went in upstream to QEMU's
version of slirp (where this code comes from), with the following checkin:

commit 2f5f89963186d42a7ded253bc6cf5b32abb45cec
Author: aliguori <aliguori@c046a42c-6fe2-441c-8c8c-71466251a162>
Date:   Mon Jan 26 19:37:41 2009 +0000

    Remove the advertising clause from the slirp license

    According to the FSF, the 4-clause BSD license, which slirp is covered under,
    is not compatible with the GPL or LGPL[1].

    [1] http://www.fsf.org/licensing/licenses/index_html#GPLIncompatibleLicenses

    There are three declared copyright holders in slirp that use the 4-clause
    BSD license, the Regents of UC Berkley, Danny Gasparovski, and Kelly Price.
    Below are the appropriate permissions to remove the advertise clause from slirp
    from each party.

    Special thanks go to Richard Fontana from Red Hat for contacting all of the
    necessary authors to resolve this issue!

    Regents of UC Berkley:
    From ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change

    July 22, 1999

    To All Licensees, Distributors of Any Version of BSD:

    As you know, certain of the Berkeley Software Distribution ("BSD") source
    code files require that further distributions of products containing all or
    portions of the software, acknowledge within their advertising materials
    that such products contain software developed by UC Berkeley and its
    contributors.

    Specifically, the provision reads:

    "     * 3. All advertising materials mentioning features or use of this software
          *    must display the following acknowledgement:
          *    This product includes software developed by the University of
          *    California, Berkeley and its contributors."

    Effective immediately, licensees and distributors are no longer required to
    include the acknowledgement within advertising materials.  Accordingly, the
    foregoing paragraph of those BSD Unix files containing it is hereby deleted
    in its entirety.

    William Hoskins
    Director, Office of Technology Licensing
    University of California, Berkeley

    Danny Gasparovski:

    Subject: RE: Slirp license
    Date: Thu, 8 Jan 2009 10:51:00 +1100
    From: "Gasparovski, Daniel" <Daniel.Gasparovski@ato.gov.au>
    To: "Richard Fontana" <rfontana@redhat.com>

    Hi Richard,

    I have no objection to having Slirp code in QEMU be licensed under the
    3-clause BSD license.

    Thanks for taking the effort to consult me about this.


    Dan ...

    Kelly Price:

    Date: Thu, 8 Jan 2009 19:38:56 -0500
    From: "Kelly Price" <strredwolf@gmail.com>
    To: "Richard Fontana" <rfontana@redhat.com>
    Subject: Re: Slirp license

    Thanks for contacting me, Richard.  I'm glad you were able to find
    Dan, as I've been "keeping the light on" for Slirp.  I have no use for
    it now, and I have little time for it (now holding onto Keenspot's
    Comic Genesis and having a regular US state government position). If
    Dan would like to return to the project, I'd love to give it back to
    him.

    As for copyright, I don't own all of it.  Dan does, so I will defer to
    him.  Any of my patches I will gladly license to the 3-part BSD
    license.  My interest in re-licensing was because we didn't have ready
    info to contact Dan.  If Dan would like to port Slirp back out of
    QEMU, a lot of us 64-bit users would be grateful.

    Feel free to share this email address with Dan.  I will be glad to
    effect a transfer of the project to him and Mr. Bellard of the QEMU
    project.

    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>


    git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6451 c046a42c-6fe2-441c-8c8c-71466251a162
2012-04-01 15:02:44 +00:00
asvitkine
5430e5495f Add correct GPUv2 attribution to fpu_ieee.cpp and fpu_uae.cpp files, to
match the other files under uae_cpu/fpu, which have the same history
according to CVS.
2012-03-30 01:45:08 +00:00
asvitkine
05444a235c Add GPLv2 notices to files from UAE Amiga Emulator, as retrieved from the
COPYING file of uae-0.8.29, retrieved from http://www.amigaemulator.org/
via uae-0.8.29.tar.bz2 (MD5 = 54abbabb5e8580b679c52de019141d61).
2012-03-30 01:25:46 +00:00
asvitkine
f8ddd3eccf Switch slirp to 3-clause BSD license. This change went in upstream to QEMU's
version of slirp (where this code comes from), with the following checkin:

commit 2f5f89963186d42a7ded253bc6cf5b32abb45cec
Author: aliguori <aliguori@c046a42c-6fe2-441c-8c8c-71466251a162>
Date:   Mon Jan 26 19:37:41 2009 +0000

    Remove the advertising clause from the slirp license

    According to the FSF, the 4-clause BSD license, which slirp is covered under,
    is not compatible with the GPL or LGPL[1].

    [1] http://www.fsf.org/licensing/licenses/index_html#GPLIncompatibleLicenses

    There are three declared copyright holders in slirp that use the 4-clause
    BSD license, the Regents of UC Berkley, Danny Gasparovski, and Kelly Price.
    Below are the appropriate permissions to remove the advertise clause from slirp
    from each party.

    Special thanks go to Richard Fontana from Red Hat for contacting all of the
    necessary authors to resolve this issue!

    Regents of UC Berkley:
    From ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change

    July 22, 1999

    To All Licensees, Distributors of Any Version of BSD:

    As you know, certain of the Berkeley Software Distribution ("BSD") source
    code files require that further distributions of products containing all or
    portions of the software, acknowledge within their advertising materials
    that such products contain software developed by UC Berkeley and its
    contributors.

    Specifically, the provision reads:

    "     * 3. All advertising materials mentioning features or use of this software
          *    must display the following acknowledgement:
          *    This product includes software developed by the University of
          *    California, Berkeley and its contributors."

    Effective immediately, licensees and distributors are no longer required to
    include the acknowledgement within advertising materials.  Accordingly, the
    foregoing paragraph of those BSD Unix files containing it is hereby deleted
    in its entirety.

    William Hoskins
    Director, Office of Technology Licensing
    University of California, Berkeley

    Danny Gasparovski:

    Subject: RE: Slirp license
    Date: Thu, 8 Jan 2009 10:51:00 +1100
    From: "Gasparovski, Daniel" <Daniel.Gasparovski@ato.gov.au>
    To: "Richard Fontana" <rfontana@redhat.com>

    Hi Richard,

    I have no objection to having Slirp code in QEMU be licensed under the
    3-clause BSD license.

    Thanks for taking the effort to consult me about this.


    Dan ...

    Kelly Price:

    Date: Thu, 8 Jan 2009 19:38:56 -0500
    From: "Kelly Price" <strredwolf@gmail.com>
    To: "Richard Fontana" <rfontana@redhat.com>
    Subject: Re: Slirp license

    Thanks for contacting me, Richard.  I'm glad you were able to find
    Dan, as I've been "keeping the light on" for Slirp.  I have no use for
    it now, and I have little time for it (now holding onto Keenspot's
    Comic Genesis and having a regular US state government position). If
    Dan would like to return to the project, I'd love to give it back to
    him.

    As for copyright, I don't own all of it.  Dan does, so I will defer to
    him.  Any of my patches I will gladly license to the 3-part BSD
    license.  My interest in re-licensing was because we didn't have ready
    info to contact Dan.  If Dan would like to port Slirp back out of
    QEMU, a lot of us 64-bit users would be grateful.

    Feel free to share this email address with Dan.  I will be glad to
    effect a transfer of the project to him and Mr. Bellard of the QEMU
    project.

    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>


    git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6451 c046a42c-6fe2-441c-8c8c-71466251a162
2012-03-30 01:10:28 +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
93184352d4 fix some unused declaration warnings 2012-01-14 15:45:18 +00:00
asvitkine
e0c86f12f9 autorelease fix has landed upstream to SDL, remove our version of it 2012-01-04 22:52:05 +00:00
asvitkine
12b60bbdbb fix a warning 2012-01-01 23:24:26 +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
0604cce26b enable hardware cursor on SDL 1.2.15+ 2011-12-30 15:11:08 +00:00
asvitkine
dcf65b4d27 move NSAutoReleasePool_wrap() into its own file 2011-12-29 07:39:56 +00:00
asvitkine
45fbd1523f fix SDL leak by wrapping video_refresh() call with an NSAutoReleasePool 2011-12-28 22:15:11 +00:00
asvitkine
cb0d1a818d revert r1.39 - SDL 1.2.14 doesn't fix the hardware cursor :\ 2011-12-28 21:44:53 +00:00
asvitkine
67ce6f2bcf re-enable hardware cursor switching for SDL 1.2.14+, since the bug appears
to have been fixed
2011-12-28 21:35:42 +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
d157f74b5d fix a warning and indents 2011-12-27 07:29:34 +00:00
asvitkine
85ca596560 [Joseph Oswald]
Fix MACH timer header
2011-03-11 16:47:48 +00:00
asvitkine
ae1ef406fe [Joseph Oswald]
The src/MacOSX/configure script generated by autoconf is broken (it has bad syntax after the egrep test). Applying a fix from the src/Unix fixes this.
2011-03-11 16:44:46 +00:00
asvitkine
b20f89e811 [Joseph Oswald]
Skip -psn_XXX command-line argument.
2011-03-11 16:43:09 +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
cbedea23d2 [C.W. Betts]
This attached patch allows you to compile the Carbon Pasteboard services on
Snow Leopard if you are building for 32-bit, but not if you are building for 64.

To maintain backwards compatibility, the Carbon UI APIs aren't going to be
stripped from the 32-bit any time soon.  However, there is no worry about
that in 64, so they didn't include it.
2010-10-16 04:11:18 +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
64d95f756c [Edward Mendelson] Fix default keycode for ` key. 2010-08-23 23:51:34 +00:00
asvitkine
b51267b090 Fix warning with undeclared free() with clang 2010-08-22 19:43:29 +00:00
asvitkine
2be97f868a Fix compile on Snow Leopard. 2010-07-28 21:59:02 +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
d25bc19c6a fixed const-correctness 2010-02-21 12:00:01 +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
6e5d8e4e85 Revert previous patch, as it was causing issues (as per basilisk-devel discussions). 2010-01-15 01:58:28 +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
nigel
5a266542af Make a few sections more like Unix/Makefile.in to simplify future resynchs -
includes fixes so that it will actually build again. Some whitespace fixes.
2009-11-07 08:05:42 +00:00
nigel
87b4500111 A few more fixes to thoroughly clean 2009-11-07 07:41:04 +00:00
nigel
f40d92d55b After universal binary build changes, repair the clean rules 2009-11-07 07:19:25 +00:00
nigel
4ab9ed8863 Allow linking after prefs API changes from 3 months ago. 2009-11-06 21:33:03 +00:00
asvitkine
02313b55c2 [Joel Mauras]
Patch for network suppor on 2.6 Linux Kernel.
2009-10-20 01:55:03 +00:00
asvitkine
bc6d6caec6 fix PrefsInit on amiga 2009-10-18 16:21:19 +00:00
asvitkine
14a68c2468 trying to get slightly better clip behaviour - swap the data back after
giving it to the host OS, and don't clear clipboard every time as some
apps will put many varieties of the same data in succession...
however, a better fix would be to patch the ROM ZeroScrap function in a
similar way as we patch GetScrap/PutScrap
2009-10-18 01:22:33 +00:00
nigel
5d4fa37892 Another build fix for changed Prefs methods 2009-10-08 09:20:51 +00:00
nigel
29951ad1a5 Re-synch with latest main_unix.cpp to work around method changes in LoadPrefs()
and PrefsInit(). Fixes build error reported by Jean-Jacques Cortes.
2009-10-08 08:56:23 +00:00
asvitkine
3856561935 Fix builds on platforms that may have gotten broken due to my vmdir changes. 2009-09-21 03:34:14 +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
6db0c7453b [Patch by Kelvin Delbarre]
Fixes copy/paste errors in the Windows version of SheepShaver, wherein pasted
text would have a trailing null character or extra garbage after the end.
2009-04-14 15:17:03 +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
b6f9f38f98 [patch by Dave Vasilevsky]
Fix for bug: SheepShaver compiled with VOSF off will not display
fullscreen on OS X. The VM boots, but the display is entirely black.
This was expected, I suppose, since video_refresh_dga() didn't
actually attempt to draw anything!

The patch fixes this. Notes:
* video_refresh_window() now takes an argument of type driver_base,
since nothing specific to driver_window was used
* video_refresh_dga() can now call video_refresh_window_static()
* update_display_static_bbox() now respects the destination having a
different bytes-per-row from the source
* fullscreen modes are now created for all depths
2009-03-03 08:14:53 +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
31551389f6 change #else #if into #elif in case both are defined 2009-03-03 08:01:48 +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
asvitkine
65eac29142 [patch from Mike Sliczniak]
Here is a patch that has a shell script cpr.sh to recursively copy directories but
discarding things that cause problems at least on 10.4 when making the .app bundles.
2009-02-19 06:52:03 +00:00
asvitkine
1b9d155673 [patch by Mike Sliczniak]
This patch helps to keep the audio from breaking-up on slow machines when using
SDL audio. On those slow machines you do still get the break-up every so often
but the sound tends not to break-up nearly as often. It is much better on the
ears. Notably often the system beeps do not have a pause in them.
Slow machine is <= 1 GHz G4.
2009-02-19 06:42:01 +00:00
asvitkine
8375c57047 move sigsegv_info_t declaration to header 2009-02-11 20:44:10 +00:00
asvitkine
ca2b9b5832 [Patch from Mike Sliczniak]
This first patch gets B2 and SS to build under Leopard and Tiger.

I tested this on a 32-bit intel 10.5.6 mac like so:

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

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

There is also a little tweak so that you can use sdl audio in SheepShaver when building for Mac OS X.
2009-02-11 19:23:53 +00:00
asvitkine
a370638388 some changes to make Basillisk build better on Leopard 2008-12-09 18:03:35 +00:00
asvitkine
de2d407b1e Add missing MacOSX icons file. Fix character encoding of InfoPlist.strings,
so that the copyright symbol shows up correctly in the Basillisk about box.
2008-12-09 17:28:30 +00:00
asvitkine
3b8e4ccc9d [patch from Kelvin Delbarre]
Previously, SheepShaver would usually hang if it was unable to access the ROM
file on startup, due to a race between media_poll_func() and DarwinSysExit().
This change eliminates the race by ensuring that media_poll_func() always ends
up waiting in CFRunLoopRun(), which allows us to terminate the polling thread
in a consistent way.
2008-07-20 07:38:27 +00:00
asvitkine
6dcddb92e6 [patch from Kelvin Delbarre]
This fixes the mapping of SDL mouse-button numbers to MacOS/ADB mouse-button numbers,
to correct the reversal of the middle and right buttons. Most useful in conjunction
with a multi-button mouse enabler such as TheMouse2B:

http://hyperarchive.lcs.mit.edu/HyperArchive/Archive/cfg/themouse-2b-11.hqx

... which can turn a right-click into a control-click.
2008-07-20 07:33:09 +00:00
asvitkine
a9086a8165 [patch from Kelvin Delbarre]
The CDROM status call "WhoIsThere" (csCode 97) is now implemented. Apart from
eliminating "WARNING: Unknown CDROMStatus(97)" complaints from the console log,
this does not appear to have had any effects whatsoever.

A typo in the implementation of the CDROM status call "GetCDFeatures" has been
corrected per Technical Note DV22:
	http://developer.apple.com/technotes/dv/dv_22.html
2008-06-28 18:36:18 +00:00
asvitkine
c23511080e [patch from Kelvin Delbarre]
Software cursor mode is now supported, although currently the existing hardware
cursor mode is used whenever possible. (Software mode will be used if you are
running with a recent version of SDL's Quartz video driver, since a bug in SDL
1.2.11 and later prevents the hardware cursor from working properly with that
driver.)

In hardware cursor mode, the hot-spot is now determined heuristically. Formerly
it could not be determined and was always (1,1), an annoyance for many cursors
other than the arrow.

In hardware cursor mode, the cursor will now be hidden when requested by the
emulated OS (such as when you are typing in a text field).

In hardware cursor mode, some cursor image formats that the code does not handle
correctly will now be rejected, causing the emulated OS to revert temporarily to
software cursor mode. Formerly you would just end up with random garbage for a
cursor. This typically happened for grayscale or color cursors; rejecting images
with rowBytes != 2 eliminates the worst cases.
2008-06-25 02:52:52 +00:00
asvitkine
603c447da7 [patch from Kelvin Delbarre] Typo fix. 2008-06-20 00:47:25 +00:00
asvitkine
150a577e4e [patch from Kelvin Delbarre] If you move the mouse cursor in and out of the
SheepShaver window a number of times (somewhere around 30 or 40 times will do
it), SheepShaver appears to lock up. This occurs because SDL posts application
activate/deactivate events to its event queue when the mouse moves in/out of the
SheepShaver window, but these events are never consumed, and as a result, the
event queue fills up. Thereafter, no new events can be posted, and user inputs
are ignored. The fix is to consume SDL_ACTIVEEVENT in handle_events().
2008-06-20 00:45:27 +00:00
asvitkine
682853da42 [patch from Kelvin Delbarre] Fix file corruption experienced when doing random-access
file I/O to the external filesystem. The application-specified ioPosMode parameter must
be masked off appropriately in extfs.cpp:fs_set_fpos(), as is done elsewhere in the file.
2008-06-20 00:39:47 +00:00
gbeauche
159acc29b0 Cope with assembler updates. 2008-02-16 22:15:00 +00:00
gbeauche
50ed43d6f0 Use D suffix for 64-bit real, even though L is the actual GNU assembler suffix. 2008-02-16 22:14:41 +00:00
gbeauche
f6aecb472d Add FPU instructions. 2008-02-16 19:01:42 +00:00
gbeauche
736975460b Add MMX instructions 2008-02-12 14:42:09 +00:00
gbeauche
8083bc1bd3 - Fix tests for 32-bit code generation
- Simplify parse_imm() and factor out failure messages to show_instruction()
2008-02-12 09:55:36 +00:00
gbeauche
d03033c19f Fix decoding of 64-bit values on 32-bit hosts. Improve register decoding speed
by more than 2x, aka use a big switch/tree to lookup the register ID from string.
2008-02-12 00:45:24 +00:00
gbeauche
5adc268bcc Fix and add other SSE conversion instructions. 2008-02-11 19:05:17 +00:00
gbeauche
382b44ffaf Add more tests in mem,reg cases: scale factor 8, base-only (e.g. mov (%breg),%dreg). Don't test for %rip relative addressing yet, need to improve the parser first. 2008-02-11 17:17:56 +00:00
gbeauche
250366fd94 Use symbolic constants for Jcc and SETcc instructions. Don't emit extraneous REX bits for JMP and CALL instructions. 2008-02-11 16:50:40 +00:00
gbeauche
3ea69bfc5c - Fix CMPSD, COMISS, COMISD, UCOMISS, UCOMISD, MOVD/MOVQ %xmm,%reg
- Rename X86_SSE_CC_NE to X86_SSE_CC_NEQ (match Intel reference manual)
- Rename MOVDLX to MOVDXD (%Xmm register as Destination)
- Rename MOVDQX to MOVQXD (%Xmm register as Destination)
- Rename MOVDXL to MOVDXS (%Xmm register as Source)
- Rename MOVDXQ to MOVQXS (%Xmm register as Source)
2008-02-11 16:13:47 +00:00
gbeauche
f8e11d9aba Enable/disable some tests at compile time. Show status while verifying hundred thousands variants. 2008-02-11 13:21:15 +00:00
gbeauche
1ad1f0a795 Fix for newer binutils (2.17). Skip extraneous REX prefix (FIXME?) in disassembly,
fix decoding for pushq/popq.
2008-02-11 10:14:16 +00:00
nigel
5f0e7847d5 Remove a few 'warning: NULL used in arithmetic' 2008-02-04 01:02:58 +00:00
nigel
2b4e8b9cbb Add a dummy Screen_fault_handler so this builds again,
whitespace changes, set a working directory other than /,
allow the file ROM to be opened from the bundle.
2008-02-04 01:00:53 +00:00
gbeauche
3f15f4ed26 64-bit Mach exceptions support. Note that mach_exc_server() et al. must be
explicitly generated from mig. The advantage of that is to provide a "fast"
path for x86_64 on Leopard too (fault address in code[1]).

By "fast", this means +33% faster wrt. explicitly thread_get_state() but
still pretty slow (40 usec/fault). This is on par with the i386 code path though.
2008-01-20 22:24:53 +00:00
gbeauche
68668bb4e2 Add support for Windows/ia64. 2008-01-20 17:09:34 +00:00
gbeauche
62697e13c1 Err, restore a reasonnable value for the emulators. ;-) 2008-01-20 11:52:13 +00:00
gbeauche
a4209f5db0 Arrangements for the SIGSEGV perf tester. 2008-01-20 11:51:08 +00:00
gbeauche
2bdb300da1 HPPA support. 2008-01-20 00:39:51 +00:00
gbeauche
acd35671b8 HP-UX does support 32-bit memory mappings. 2008-01-20 00:38:52 +00:00
gbeauche
88ea04a365 Add support for HP-UX/ia64. It would be best to use libunwind so that to
handle stacked registers access with ease...
2008-01-19 22:27:29 +00:00
gbeauche
3615be1d4d Use fixed-size integer types, especially for 64-bit quantities. HP-UX for IPF
is essentially an ILP32 platform but machine registers are 64-bit wide. Make
IA64_SET_GR() set the NaT bit at the same time as the register value.
2008-01-19 22:25:27 +00:00
gbeauche
b5ac45434a Fix build on 64-bit Vista. 2008-01-17 23:19:01 +00:00
gbeauche
69376f61ca Wrap the Windows write-watch API. 2008-01-16 22:36:35 +00:00
gbeauche
ef39e46cb2 Fix build on MacOS X Leopard.
Leopard kernel faster? This is pure marketing hype. For 32-bit applications,
Mach exception recovery is 60% slower. For 64-bit applications, this is up
to 40% faster though. In any case, MacOS X remains pretty slow wrt. Linux...
2008-01-14 19:29:29 +00:00
gbeauche
df3475ed16 64-bit Windows support 2008-01-12 23:01:40 +00:00
gbeauche
f5e5da6916 LLP64 fixes (64-bit Windows) 2008-01-12 21:43:02 +00:00
gbeauche
b1fa25128a Make it possible to override the Mach fault recovery scheme through an
environment variable: SIGSEGV_MACH_FAULT. It can be set to "direct" to
assume the fault address comes from code[1] argument, or "slow" to use
the slow path through thread_get_status(EXCEPTION_STATE)->faultvaddr.
2008-01-07 22:44:39 +00:00
gbeauche
58ff9aba45 The Linux kernel actually allows to restart execution from the specified slot
in the bundle. This is faster and more accurate as this avoids emulation.

Also clean-up code so that to prepare the use of lib uaccess on hpux/ia64.
XXX: this will need explicit use of uint64_t to define registers because
HP/UX is ILP32 capable and all registers are 64-bit capable so "unsigned long"
won't fit.
2008-01-06 17:22:19 +00:00
gbeauche
8aadf8e455 Further comment the ia64 decoder and (minimal) emulator. 2008-01-06 16:36:00 +00:00
gbeauche
57ae6ed470 Add initial support for instruction skipping on Linux/ia64. It was more
complex than expected but it was fun to play with. Who designed this ISA?
I'd love to see how the decoder is implemented in HW, by all means it is
not "simplified" unless I missed some pattern...
2008-01-06 16:25:03 +00:00
gbeauche
a56e4b9be0 Hack around over-optimized labels-as-values extension from GCC. 2008-01-06 16:19:27 +00:00
gbeauche
e08bb16edf ISO C++ conformance fixes: remove superfluous coma at the end of enum definitions. 2008-01-06 16:10:30 +00:00
nigel
85dfeb1522 Corrent HTML for the accent on Gwenolé's name 2008-01-06 05:14:50 +00:00
gbeauche
a93bec88fd Don't clobber "sip" arg from our sigsegv_info wrapper (renamed to SIP). 2008-01-05 08:35:08 +00:00
nigel
6069d6814c Replace mention to 1_prepare_files.sh script with discrete commands 2008-01-02 23:19:54 +00:00
gbeauche
c578952735 Add macros for SSSE3 instructions encoding (PSHUFB in particular). 2008-01-01 21:48:41 +00:00
gbeauche
c8cb4879a4 Happy New Year! 2008-01-01 09:40:36 +00:00
gbeauche
26f9b1d38b Fix instruction skipping on MacOS X in the fast path case. 2007-12-31 18:07:01 +00:00
gbeauche
b5ac365858 Add support for 64-bit MacOS X for PowerPC (untested beyond "it compiles"). 2007-12-31 06:59:39 +00:00
gbeauche
9fa1bbd972 According to kernel sources, that is XNU 344.49 (10.2.8), XNU 517.12.7 (10.3.9),
XNU 792.21.3 (10.4.10) and XNU 1228 (10.5.0), exception handler code[1] always
contains the fault address nowadays. So make it the default fast path but keep
provisions to check that at run-time first.

This yields a nearly 4x improvement in SIGSEGV recovery but MacOS X is still
suboptimal wrt. Linux, so VOSF is still not possible with frameskip == 0.

XXX: the ppc kernel had bugs that caused DAR (put into code[1]) to be incorrectly
decoded. This would need a broader test audience or more careful audit of the
sources changes.
2007-12-30 12:11:17 +00:00
gbeauche
7e7827a886 More overrides for MacOS X. 2007-12-30 09:15:32 +00:00
gbeauche
016dfddd79 Sync with the new SIGSEGV API. 2007-12-30 08:47:34 +00:00
gbeauche
902079ec8e Improve API for systems that require explicit calls to functions to retrieve
the memory addresses that triggered a SIGSEGV (e.g. MacOS X).
2007-12-30 08:45:18 +00:00
gbeauche
25c5b9599e Update to slirp sources from QEMU 0.9.0:
- fix UDP (Jason Wessel)
- enable TCP_NODELAY for slirp redirection (Daniel Jacobowitz)
2007-11-03 16:36:35 +00:00
gbeauche
b899d55068 Don't raise SIGPIPE, let errno be set to EPIPE. i.e. this fixes slirp ethernet
mode with no listening port on the remote host.
2007-11-03 11:31:36 +00:00
gbeauche
d7eb0f4d6d Update to slirp sources from QEMU 0.8.2:
- set slirp client hostname
- fix slirp redirection on systems without a useful host IP address
- separate alias_addr (10.0.2.2) from our_addr (Ed Swierk)
- fix 32+ KB packets handling (Ed Swierk)
- fix UDP broadcast translation error
- solaris port (Ben Taylor)
2007-11-03 11:11:42 +00:00
gbeauche
c3a75ac75a Add VERSION file so that to track differences from "upstream" slirp sources, i.e. QEMU. 2007-11-03 10:01:27 +00:00
gbeauche
d83c11faa2 Host OS name representation must be large enough to handle any kind of native
encoding (e.g. UTF-8 on MacOS X).
2007-11-03 09:59:39 +00:00
gbeauche
9000d4f54c Rewrite ExtFS support for MacOS X. This implementation uses xattrs (metadata)
on Tiger+ to store FInfo and FXInfo. Otherwise, plain old .finfo/ helpers are
used. "Safe" flags and fields are always synchronized to/from MacOS X.

BTW, CFString leak was fixed at the same time.
2007-11-01 15:33:22 +00:00
asvitkine
a70c79b3cb support for prefs stuff 2007-07-28 15:45:12 +00:00
gbeauche
a5778cd5cb Fix xBCD instruction for 68040 emulation: the NV flags shall not be affected. 2007-06-30 08:00:31 +00:00
gbeauche
35bf8b2c25 Use NSIMAGE graphics mode for MacOS X on Intel platforms for now. Otherwise
it's crashing in some Apple code.
2007-06-30 07:33:30 +00:00
gbeauche
7f2dfe7f4f Fix LSL & LSR instructions so that they preserve the X flags when the
shift count is 0. Likewise for ASR + another improvement to avoid shifting
by halves (propagated bit is reset to original's when necessary).
2007-06-29 16:53:04 +00:00
gbeauche
9c13d5cda9 Implement CMOV.B and CMOV.W translations. Only the latter has a native
x86 equivalent however.
2007-06-29 16:36:03 +00:00
gbeauche
b3f62598b7 More human readable instruction names (from e-uae). 2007-06-29 16:32:05 +00:00
gbeauche
e3f9d46556 Improve heuristic for VOSF profitability: we should not spend more than
the half of a video interrupt quantum for updating the screen. Also improve
the wording of the result.
2007-06-16 07:24:39 +00:00
gbeauche
320b4ccd61 Add Darwin/x86_64 support. Fix EDX register index for i386 insn decoder. 2007-06-16 06:21:57 +00:00
gbeauche
e9c5625ada Fix REAL_ADDRESSING mode on MacOS X, aka move Mach defines to config_macosx.h
and fix lowmem (BLESS) to handle other-endian binaries.
2007-06-15 22:54:24 +00:00
gbeauche
41df47a596 Disable cxmon by default for MacOS X builds. Add hackery to cross-compile
a working 10.2/ppc binary.
2007-06-15 21:46:25 +00:00
gbeauche
92ff210e4f Enable universal builds with --enable-universal
Move arch-dependent definitions to config_macosx.h, i.e. make them compile
time instead of configure time. Support IEEE FPU emulation core only.
2007-06-15 17:11:46 +00:00
gbeauche
7015458281 Fix cxmon files inclusion. Drop support for non ppc & x86 MacOS X arches.
Make JIT files & defs selection at build-time, not configure-time (FATs).

NOTE: be careful, larger changes are yet to come.
2007-06-15 10:11:28 +00:00
gbeauche
e2e8558ff1 Build MacOS X binaries only from the command line. Prepare the configure
scripts as follows: [NO_CONFIGURE=1] ../Unix/autogen.sh

Second round will be to build FAT binaries.
2007-06-15 09:16:58 +00:00
gbeauche
9617ca3033 Fix MOVEC for 68020/68030 emulation (MSP & ISP are supported control regs). 2007-06-15 08:10:48 +00:00
gbeauche
b05833a86b Fix JIT for 68020/68030 emulation mode. 2007-06-15 08:09:01 +00:00
gbeauche
3f535d30da Add support for comma-separated elements in "jitblacklist" item. 2007-06-15 07:55:03 +00:00
gbeauche
0a7fe2eaf8 Workaround video mode switch problems. IOW, make sure to always allocate
the frame buffer at the same base address.
2007-06-14 14:45:54 +00:00
gbeauche
b1900fbd06 Handle "idlewait" option. 2007-06-13 16:11:31 +00:00
gbeauche
31a754b2e6 Raise INTFLAG_1HZ in RTCInterrupt() 2007-06-13 16:10:05 +00:00
gbeauche
f20c1ca30b Remove dead code, B2 doesn't use valid_address() 2007-06-13 15:57:46 +00:00
gbeauche
03833e4c56 Fix autogen.sh to automatically include the local m4 directory, used as a
fallback if system-wide defs are not found.
2007-06-13 13:27:40 +00:00
gbeauche
4ec66db185 Add MIPS files from cxmon. 2007-06-07 11:52:14 +00:00
gbeauche
974f086a8c Arrangements for Linux/mips. 2007-06-05 13:15:57 +00:00
asvitkine
5bbda1a589 byteswap styled text (clipboard) on little endian host OS X 2007-02-18 21:11:41 +00:00
asvitkine
e2cde00af4 fix compile warning & potential buffer overflow at the same time 2007-01-24 05:42:23 +00:00
asvitkine
f12f5173be macroman_to_host_encoding - so it works the other way around too 2007-01-24 02:37:06 +00:00
asvitkine
ab86a395da Since Guest and Host OS may use different text encodings for filenames,
I am adding functionality to support this. For the moment, I've only
added the platform-specific conversion for MacOSX (ie: UTF8 -> MacRoman),
but others can be added later.
2007-01-22 17:14:06 +00:00
asvitkine
efa4fee4ac cleanup: use get_device_path() since we already have it, instead of doing
the same thing manually with duplicated code
2007-01-22 14:58:33 +00:00
asvitkine
dc68e99f7c fix compile warnings w/ slirp caused by not including stdlib 2007-01-22 14:48:40 +00:00
asvitkine
48907db336 Ok, now this works properly (Fix resolution switching without affecting audio). 2007-01-22 00:36:32 +00:00
asvitkine
268af8086b back out my previous change, it breaks audio 2007-01-22 00:32:25 +00:00
asvitkine
473a3f2e22 Fix for resolution switching corruption under SDL (Mac OS X). 2007-01-21 19:33:13 +00:00
asvitkine
a3c2413f3b ignore disks on which you can't get size 2007-01-21 18:06:39 +00:00
asvitkine
16bb0823b8 some documentation of status codes not yet implemented 2007-01-21 17:40:00 +00:00
asvitkine
28d7af3820 newline in error msgs 2007-01-21 17:27:15 +00:00
asvitkine
e9fbc36368 fix compile warnings on OS X 2007-01-21 17:10:49 +00:00
asvitkine
10b342e064 Byteswapping fixes for Mac OS X x86 2007-01-21 17:04:47 +00:00
gbeauche
3c100abdb2 Fix CMOV emulation on x86_64 in case the CPU doesn't support that instruction
(which is very unlikely).
2007-01-14 13:23:36 +00:00
gbeauche
8d2f2a335b The older code generator is now deprecated on x86-32 too. 2007-01-14 13:07:22 +00:00
gbeauche
1f2e561a6f Use SAHF_SETO_PROFITABLE wherever possible on x86-64, it's faster. This can't
be the default because some very ancient CPUs don't support LAHF in long mode
2007-01-14 12:23:29 +00:00
gbeauche
2e95c43bf2 Remove the 33-bit addressing hack as it's overly complex for not much gain.
Rather, use an address override prefix (0x67) though Intel Core optimization
reference guide says to avoid LCP prefixes. In practise, impact on performance
is measurably marginal on e.g. Speedometer tests.
2007-01-13 18:21:30 +00:00
gbeauche
9e252b413e Fix 64-bit builds in REAL_ADDRESSING mode with gcc4.1. 2007-01-13 17:21:08 +00:00
nigel
a8e7114df2 Do'h. Checked in and shipped a DEBUG=1. Thanks to Steve Green for his fast eyes. 2006-08-01 03:31:46 +00:00
nigel
9a3097705d Clarify CD insertion state, add widescreen suggestion 2006-07-31 11:10:59 +00:00
nigel
1b25d07fd6 Final doco changes before a new release 2006-07-31 10:51:24 +00:00
nigel
acb3384366 Sound done, VOSF pointless, Cut/paste half working, CD insert 2006-07-31 10:10:48 +00:00
nigel
9e9e20325e Use Gwenole's clip_macosx.cpp instead of the dummy version 2006-07-31 08:52:33 +00:00
nigel
ecf2403c46 ether_unix.cpp somehow pulls something in that needs mem_banks.
If it isn't compiled in this directory, the wrong config.h is used.
2006-07-31 08:47:52 +00:00
nigel
1dad46a8ad Project file updates for the new audio source files. 2006-07-29 02:24:15 +00:00
nigel
c68e5d916d Working audio output by Daniel Sumorok.
Not quite the way I wanted to do it but it will do for now.
(on a real Mac, the real audio hardware should be able to pull/grab the data
 from our buffers - an extra thread with its own set of buffers is wasteful!)
2006-07-28 13:42:29 +00:00
nigel
938c61485c Resync with latest src/Unix/configure.ac 2006-07-28 13:28:54 +00:00
nigel
3e21f0377b Giving up on the Objective-C version, also need to remove it from the makefile 2006-07-28 13:18:12 +00:00
nigel
f44d37bac8 Working audio output by Daniel Sumorok.
Not quite the way I wanted to do it but it will do for now.
(on a real Mac, the real audio hardware should be able to pull/grab the data
 from our buffers - an extra thread with its own set of buffers is wasteful!)
2006-07-28 13:15:18 +00:00
gbeauche
7af6665619 icc9.1 & gcc4.1 warning fixes 2006-07-23 10:20:23 +00:00
gbeauche
87e1518e96 A few fixlets to the SIGSEGV library:
- Don't export transfer types definitions (formerly used by older API)
- Handle ADD instructions in ix86_skip_instruction() (generated by icc 9.1)
- Use "%p" format for EIP/RIP addresses
2006-07-19 21:31:10 +00:00
gbeauche
d1d7d5bd4c Fix remove_shm_range() to actually return something 2006-07-19 21:23:41 +00:00
gbeauche
f39c252fbd Fix 33-bit addressing mode check when compiling with icc 9.1 2006-07-19 21:22:41 +00:00
gbeauche
53f79caf8c Add LEALQmr, EMMS, SSE CMP and a series of new SSE opcodes (auto-generated) 2006-07-17 04:07:41 +00:00
gbeauche
9e64c3af94 Add more SSE templates for new SheepShaver's code generator -- though it
should be made independent of this file.
2006-07-14 16:53:48 +00:00
gbeauche
b4768fc62c Run-time assembler fixes:
- Check for RIP register only in 64-bit mode
- Add missing macros and arguments (BT*im)
- MOVSWQ/MOVZWQ are 64-bit mode instructions only
2006-07-14 09:09:12 +00:00
nigel
c071cd14f6 libgenemu can't find regflags in the XCode built newcpu.o,
so we compile it from the makefile into the lib, and not in the project
2006-05-25 05:03:03 +00:00
gbeauche
e4f5757403 Merge from the QEMU tree:
- Fix IP packet re-assembly logic (Ed Swierk)
- Suppress unaligned accesses (Fabrice Bellard)
2006-05-14 17:27:38 +00:00
gbeauche
ab1565ced2 Support up to 1GB in SheepShaver for Windows now. 2006-05-14 16:13:54 +00:00
gbeauche
7660affe77 Windows apparently needs an extra mouse event to make the new cursor image
visible.
2006-05-14 14:11:46 +00:00
gbeauche
3aa9d912b7 Fix build on Windows (<malloc.h> for alloca()) 2006-05-14 13:49:53 +00:00
nigel
1a7d3714fb Compile the CPU emulator in the makefile, so that it picks up configure-
generated #defines that are needed for running on X86 (vs PPC) emulator
2006-05-14 11:58:41 +00:00
nigel
c5c748f7e2 Some windowed graphics drawing methods cause the snapshot code to fail
if you have changed the depth since boot (seems to be something strange
with the parameters that I still haven't worked out). If this happens,
we now put a suggested workaround in the warning message.
2006-05-14 10:17:06 +00:00
gbeauche
98675da523 Fix NQD bounds checking -- don't overwrite the CLEAR Page Guard. 2006-05-14 08:32:05 +00:00
gbeauche
26a71e5417 Fix page alignment 2006-05-14 07:11:23 +00:00
gbeauche
1470a8af13 NQD dirty boxes, SDL backend.
This reduces the number of Screen_fault_handler() calls by 80%. i.e. VOSF
is now viable on this turtle MacOS X. Besides, since there is no buffer
comparison, idle sleep can really be effective. SheepShaver in idle mode
on my PBG4 now goes below 8% of CPU resources instead of 70-80% with
bounding boxes based video refreshes.

Caveat: if your program doesn't use standard MacOS routines that call NQD,
then you can expect slower (visual) performance. However, I do think the
new default behavior (VOSF+NQD) is the most common.
2006-05-13 16:58:44 +00:00
gbeauche
e4015e069f Use NQD dirty boxes, VOSF backend
+ make video_vosf_profitable() NQD accel aware
+ call vm_protect() only if PFLAG_CLEAR(page)
2006-05-13 16:48:47 +00:00
gbeauche
3b07ba27e4 Introduce a new video refresh function that uses smaller bounding boxes.
This does not improve graphics performance but helps CPU because it reduces
the number of bytes transfered to actual screen. I saw an improvement by up
to 26% in frameskip 4 800x600x16 but also a hit by 3% with frameskip 0.

The next step is to use NQD bounding boxes to help detecting dirty areas.

So far, this is the best I can do without VOSF working (MacOS X performance
bugs -- pitifully slow Mach syscalls)
2006-05-11 07:51:32 +00:00
gbeauche
5019174a22 SDL Video updates:
- Properly handle migration from "screenmodes" and "windowmodes" to "screen"
- Fix has_mode() logic to really test for actual mode availability. i.e.
  no longer start in large screen mode if user specified a max size.
2006-05-09 21:41:02 +00:00
gbeauche
4c225b2705 MacOS X exception handling updates:
- Call user handler for KERN_INVALID_ADDRESS too (SIGBUS)
- Check for VALID_THREAD_STATE_FLAVOR in forward_exception()
- Return KERN_FAILURE if forward_exception() got an unknown behavior code
2006-05-09 06:24:05 +00:00
gbeauche
24af8d27c3 Fix for LAZY_FLUSH_ICACHE_RANGE. Blocks are indexed by native addresses. 2006-05-08 16:56:07 +00:00
gbeauche
ecdc036c69 Adapt for new functions (DarwinSysInit() & DarwinSysExit()) 2006-05-08 15:22:56 +00:00
gbeauche
61a2e86594 Rewrite MacOS X CD-ROM support.
Other bugs fixed:
- CD-ROM media are polled and now can be changed without rebooting
- Buffer overflow, memory leak and extra wait in CD-ROM ejection code
2006-05-08 12:15:58 +00:00
gbeauche
ff950c35e6 fix underquoted definition warning 2006-05-05 07:37:14 +00:00
gbeauche
5d3f53943d Add another NULL pointer check 2006-05-05 06:00:17 +00:00
gbeauche
1314f09a68 remove 2006-05-05 05:56:52 +00:00
gbeauche
2bff888cee updates 2006-05-05 05:56:20 +00:00
gbeauche
828b53b990 fix rev 1.22 commit for windows (extraneous return -1 left) 2006-05-02 19:49:25 +00:00
gbeauche
51a5e4c0da Don't build a built-in GUI if --enable-standalone-gui was requested.
The following configurations were tested:
./configure --without-mon --with-gtk=gtk1 --enable-jit-compiler	  [B.GTK1]
./configure --without-mon					  [B.GTK2]
./configure --without-mon --enable-standalone-gui --without-gtk	  [no GUI]
./configure --without-mon --enable-standalone-gui --with-gtk=gtk1 [S.GTK1]
./configure --enable-jit-compiler --enable-standalone-gui	  [S.GTK2]
2006-05-02 05:36:42 +00:00
gbeauche
62389bb3c0 Add my local changes to GTK+OSX 0.7 -- it's only correct for Basilisk II
and SheepShaver purposes. i.e. it's not fully suitable as a generic
g_main_run() replacement.
2006-05-01 23:09:12 +00:00
gbeauche
daa0af4da6 improve locks 2006-05-01 13:13:18 +00:00
gbeauche
f853ce6c5b Handle compatibility with older preferences files.
- routerenabled true
- ether GUID
both have priority over regular options.
2006-05-01 10:42:00 +00:00
gbeauche
c9c21cf70d Add ether "tap" support to the GUI. Also fix "slirp" callback. 2006-05-01 10:27:17 +00:00
gbeauche
11ff11d205 Add experimental TAP-Win32 support. It looks rather sluggish to me, something
is probably wrong somewhere...
2006-05-01 10:23:47 +00:00
gbeauche
6590198dd8 aha, quick fix ;-) 2006-05-01 06:14:08 +00:00
gbeauche
5fed65456b Implement better Windows suspend/resume routines so that we don't oversleep.
i.e. really wake up the thread on next TriggerInterrupt().
2006-05-01 06:12:50 +00:00
gbeauche
8ccf336660 Add "idlewait" to Basilisk II for Windows 2006-04-30 21:46:31 +00:00
gbeauche
5aa8c9f86f Tentative fixes to BeOS idle suspend/resume routines. Well, I have no-op'ed
them. So, if someone has BeOS and wants to give it a try, please change and
test this new code. Corner case could be a resume_thread() when emul_thread
is not suspended.

Fixlet to powerrom_cpu: call idle_resume() from TriggerInterrupt().
2006-04-30 21:26:21 +00:00
gbeauche
4f07113555 Patch SynchIdleTime() to implement new "idlewait" prefs item. 2006-04-30 21:16:48 +00:00
gbeauche
52ff4b209b Implement dummy idle suspend/resume routines for AmigOS 2006-04-30 21:13:21 +00:00
gbeauche
8fa12f4819 Fix PutScrap() patch with Mac Classic ROMs. Untested but it should work
again provided you build with --enable-addressing=banks
2006-04-30 17:27:55 +00:00
gbeauche
c9ae122d1b handle creation time on MacOS X 2006-04-30 15:46:55 +00:00
gbeauche
5c9e121b7d Workaround finderFlags problem on folders in MacOS X 10.4.
TODO: implement the same ".finf/" trickery as for Unix versions.
2006-04-30 14:46:15 +00:00
gbeauche
6a035aa279 update GUI with ether "slirp" on win32 2006-04-29 14:15:01 +00:00
gbeauche
08a6e383e8 slirp now works on windows 2006-04-29 10:57:56 +00:00
gbeauche
08b783d52b slight updates for win32... 2006-04-29 10:54:12 +00:00
gbeauche
f0d77218c8 fix build on win32 2006-04-29 10:41:25 +00:00
gbeauche
8ca74c4eac FAST_TIMO is 2 ms not 2 usec. Noticed on Windows but this obviously can't
fix my problem with slirp_select_fill() there as it still doesn't fill in
any socket descriptor. :-/ I think I won't bother much for Windows...
2006-04-26 06:26:14 +00:00
gbeauche
02c1747d34 Update the GUI with the new ethernet configuration changes. Handle migrations
from the GUI. Also move from a combo to a fixed popdown menu with pretty
printed ethernet interfaces.
2006-04-23 15:40:23 +00:00
gbeauche
732109eff2 Some clean-ups. Rewrite ethernet config interpreter. This implies some
prefs items changes but it should now be simpler to add other ethernet
emulation means (slirp, tap-win32).

# Basilisk II driver mode
	ether {guid}
becomes
	ether b2ether
	etherguid {guid}

# Basilisk II Router mode
	routerenabled true
becomes
	ether router
2006-04-23 15:36:51 +00:00
gbeauche
9232fbe4df Avoid the use of min(). Add helpers to access the network control panel
registry -- aka get pretty printed names from GUID ethernet devices.
2006-04-23 15:20:31 +00:00
gbeauche
2d5c088601 Make it possible to build Basilisk II for Windows with SDL libraries
statically linked in.
2006-04-20 22:36:26 +00:00
gbeauche
fb332c4e38 Add mkstandalone -- make a standalone bundle with GTK runtime 2006-04-19 22:51:27 +00:00
gbeauche
6d15429156 Always build the STANDALONE_GUI hooks into Basilisk II. 2006-04-19 06:55:54 +00:00
gbeauche
180f3edafd Enable build of RPC code without pthreads (for Basilisk II and SheepShaver)
since we use our own custom message dispatch loop
2006-04-19 06:47:15 +00:00
gbeauche
622eca9068 Handle MacOS X bundles, search order: BasiliskII.app in the same directory
as BasiliskIIGUI.app, or /Applications/BasiliskII.app if none was found.

Also make yet another arrangement for MacOS X "difference". This scenario
was not working: WarningAlert -> ErrorAlert, the latter was not performed
because the exit status was not properly filled in sip->si_status...
2006-04-18 22:17:31 +00:00
gbeauche
d2e672c38f Fix NO_B2_EXE_FOUND (again) -- catch it very early, hence the SIGCHLD. Use
new rpc_wait_dispatch() function and gracefully get out of the main loop
when the child returns, though this is caught but the sigchld_handler().
2006-04-18 21:29:01 +00:00
gbeauche
758050ac73 Implement rpc_wait_dispatch() 2006-04-18 21:24:12 +00:00
gbeauche
3fda1a3af7 - Only start the emulator if requested (click on the "Start" button)
- Rewrote dispatch loop to accomodate GTK+1.2 for MacOS X (which doesn't
  like threads nor forks(!)). The latter also requires an additional patch
  to the version 0.7 available on SourceForge
- Run-time detect JIT capability so that we could hopefully use the ppc GUI
  on intel based Macs (check!)
2006-04-17 21:22:01 +00:00
gbeauche
02c24ed6c2 Create MacOS X bundle for BasiliskIIGUI.app. Also make sure to only link in
necessary GUI_LIBS and not all of the LIBS.
2006-04-17 15:32:37 +00:00
gbeauche
a295eea890 Fixes for GTK+1.2 GUI on MacOS X 2006-04-17 14:25:57 +00:00
gbeauche
5b1977b9f2 Fixes for MacOS X (10.2 has no <sys/poll.h> and 10.4 version is broken). 2006-04-17 09:06:32 +00:00
gbeauche
252f396ff3 Make Basilisk II main application not use GTK libraries when compiling with
STANDALONE_GUI. This is the second step towards a more interesting GUI alike
to VMware. Communication from/to the GUI is held by some lightweight RPC.

Note: The step should be enough to provide a tiny GTK GUI for MacOS X.
2006-04-16 21:25:41 +00:00
gbeauche
6994ab671e Enable build of a standalone GUI (first step). 2006-04-16 16:32:45 +00:00
gbeauche
5f3874c853 Apply the qemu-slirp-performance.patch from Kenneth Duda available here:
<http://lists.nongnu.org/archive/html/qemu-devel/2006-04/msg00245.html>

This does improve slirp performance a lot, especially in FTP passive mode
transfers. i.e. now, they are equally as fast as non passive mode. I get
approx. 800 KB/sec in B2 and 500 KB/sec in SheepShaver (over a DSL line).
In native env, the max download data rate from my ISP is around 950 KB/sec.
2006-04-13 22:15:02 +00:00
gbeauche
0222915bc4 Fix long double support for x86 targets if -m128bit-long-double. 2006-04-09 13:40:27 +00:00
gbeauche
bc9c586afc cleanups 2006-04-04 07:08:12 +00:00
gbeauche
896ada92dc Try to improve slirp performance again (though passive mode is still slower) 2006-04-02 21:06:50 +00:00
gbeauche
7c68ef5418 fix memory leak (1.0.17) 2006-04-02 08:47:39 +00:00
gbeauche
db76383246 decode movslq (generated by gcc4.1) 2006-03-30 22:45:49 +00:00
gbeauche
99241183a5 Fix pollmedia on Windows, it's no longer necessary to boot with a CD-ROM in
the drive to use it. Side effect: media can be changed without problems now
2006-03-28 07:01:19 +00:00
gbeauche
dfbb829055 Use GetMainWindowHandle() provided by main_windows.cpp 2006-03-28 06:59:30 +00:00
gbeauche
8d73299187 cleanups, it's only worth supporting x86 arches 2006-03-28 06:58:30 +00:00
gbeauche
29396b547b cosmetics 2006-03-27 22:04:36 +00:00
gbeauche
61fb95dd6f Merge in slirp updates from QEMU:
- improved performance (still not visible in B2 part, especially passive mode)
- set SO_REUSEADDR before calling bind()
- win32 compile fix
2006-03-25 07:57:38 +00:00
gbeauche
a4a070bc4a - add Linux/PPC linker script
- always relocate Basilisk II binary to 0x78048000 on MacOS X (including x86,
  to be tested later)
2006-03-25 07:08:50 +00:00
gbeauche
dc286967dc fix clipboard handling for MacOS X 2006-03-21 06:43:02 +00:00
nigel
d2c45bd4f2 Gwelolé fixed ether_unix exit problem (and my hacky workaround), so the enhancement comment can go 2006-03-16 04:23:47 +00:00
nigel
8eddb42a60 Better documentation of Snapshot bug 2006-03-16 04:14:12 +00:00
gbeauche
41ee2520b6 freebsd linker script 2006-03-15 06:54:34 +00:00
gbeauche
b662e6acec Add linker script for FreeBSD 5.3 (and probably newer). Verified to allocate
up to 1 GB of Mac RAM in both REAL_ADDRESSING and DIRECT_ADDRESSING modes.

NetBSD 2.0 can use the Linux linker script. However, I could not verify 1G
support since my installation does not permit this.
2006-03-15 06:54:07 +00:00
gbeauche
449c6496ff Link with AppKit framework on MacOS X. This should enable X11 builds when
there is no SDL available (suggested by Dara Hazeghi)
2006-03-14 22:14:13 +00:00
gbeauche
7ee9cb43dc Relocate MacOS X executable to 0x78048000 akin to linker scripts on Linux
arches. This probably already worked in the past but I have just verified
that Basilisk II works with up to 1 GB of Mac RAM in DIRECT_ADDRESSING or
REAL_ADDRESSING mode.

BTW, a quick Speedometer 4 CPU performance test showed a +15% speed increase
in real addressing mode vs. direct addressing. x86 arches don't benefit much
from that mode since they support complex address modes already (beyond plain
load/store).

TODO: check on MacOS X for Intel so that to reduce the test to darwin*:*)
2006-03-14 21:18:44 +00:00
nigel
fa84cf9a51 1. Happy New Year. 2. Minor syntax error 2006-03-14 09:38:24 +00:00
nigel
cce2d58228 Incorporate recent changes from Unix equivalent files 2006-03-11 11:45:25 +00:00
nigel
0fc35d5a91 Ensure event processing works in fullscreen mode 2006-03-10 08:16:56 +00:00
gbeauche
b80e9651f5 fix cross-block initializer 2006-02-27 13:39:29 +00:00
gbeauche
cafa8c8c89 add some barriers to make sure L_e_region* really come after the test insns 2006-02-27 13:38:52 +00:00
gbeauche
c19cc7a81b Updates 2006-02-27 07:25:43 +00:00
gbeauche
74c62b9095 - Try to allocate Mac memory only once on 32-bit systems
- Cap Mac memory to 1023 MB, Apple Personal Diagnostics crashes at 1 GB
- Scratch memory is meant to be addressed from Mac programs too
2006-02-27 07:24:58 +00:00
gbeauche
f446d610f8 Start allocating memory from 0x10000000 with linker scripts since the system
sometimes has a problem to make a decision when next_address == 0.

NOTE: this makes it possible to allocate up to 1 GB with DIRECT_ADDRESSING
2006-02-27 07:16:40 +00:00
gbeauche
9aab8c7d85 Move up _start base 2006-02-27 07:14:39 +00:00
gbeauche
93d918097b Fix vm_acquire_mac() fallback to non 33-bit addressing mode. Support 33-bit
addressing in REAL_ADDRESSING mode. Only support platforms with proper
linker scripts to map the whole Mac memory from address 0. Warning fix.

NOTE: when compiled with --enable-addressing=real on Linux {x86,x86_64},
you can not address up to 1.5 GB in Basilisk II.
2006-02-27 00:15:39 +00:00
gbeauche
2ef9d6e708 Add linker scripts for correct REAL_ADDRESSING support 2006-02-27 00:11:49 +00:00
gbeauche
077a232acc Memory allocated through win32 VirtualAlloc() is zero-filled. Likewise for
memory mmap()'ed with MAP_ANONYMOUS (equivalent to /dev/zero mapping but
faster)
2006-02-27 00:04:12 +00:00
gbeauche
735c332ab7 add 33-bit addressing support to vm_acquire_fixed() 2006-02-26 23:45:07 +00:00
gbeauche
dbc467e316 prefer lower indexes in register allocation, this avoids REX prefixes on
x86_64 when %r8 - %r15 are used (very light speedup expected)
2006-02-26 18:58:18 +00:00
gbeauche
91babf4bb5 fix FETOX & FTWOTOX translations for x86_64 2006-02-26 18:49:55 +00:00
gbeauche
c374d519a3 fix ROM85 bug fix for AppleShare extension 2006-02-19 14:18:29 +00:00
gbeauche
294664b726 Fix SAHF_SETO_PROFITABLE code for x86-64 platforms.
This was only an experiment. Improvement was marginal: only +3% on AMD64
(an Athlon 64 3200+). However, it may be interesting to test it on EM64T
(e.g. newer P4s) since an older P3/800, hence in 32-bit mode, got a +15%
improvement in Speedometer 4 benchmarks.

Rationale: lahf/seto sequences avoid load/stores to the stack (push/pop)
and it was thus hoped to be faster.

Anyhow, SAHF_SETO_PROFITABLE can only be enabled manually at this time.
Edit your generated Makefile for testing, but first make sure your CPU
supports lahf in 64-bit mode (lahf_lm flag in /proc/cpuinfo).
2006-02-06 23:06:54 +00:00
gbeauche
3b94dfb1a9 Cosmetics, fix %rh cases in !X86_FLAT_REGISTERS mode, lahf/sahf are now
valid instructions in long mode (recent enough CPU revisions: lahf_lm).
2006-02-06 22:57:18 +00:00
gbeauche
9ccf62f7b0 Manually emit LAHF instructions so that 64-bit assemblers can grok it 2006-02-06 22:55:44 +00:00
gbeauche
360a9457c6 fix logic 2006-01-27 23:49:01 +00:00
gbeauche
9d984b3b34 Check whether compiler supports byte bit-fields. If so, we can enable slirp
emulation code since it pure C+sockets code.
2006-01-27 23:41:43 +00:00
gbeauche
e9e3ad9a4b Further unaligned access fixes on IRIX (Brian J. Johnson). Configury needed
to ensure compiler supports bit-field members of unsigned char type.
2006-01-27 23:31:38 +00:00
gbeauche
a615a4ac24 Use the most portable POSIX-style non-blocking I/O (O_NONBLOCK) instead of
BSD-style through FIONBIO. It turns out Tru64 and probably IRIX don't support
the latter when fd is a pipe (slirp case).
2006-01-24 23:46:19 +00:00
gbeauche
064973dbc7 ugly cast games 2006-01-24 21:33:26 +00:00
gbeauche
e0a966ee15 Code I wrote yesterday was totally broken. It's enough to make sure nPC is
correctly updated too... Instruction skipper now works on Solaris/SPARC.
2006-01-23 23:57:41 +00:00
gbeauche
99f5dcf66f - Fix SPARC Store Doubleword transfer_size in decoder.
- In the instruction skipper code, add a huge kludge (trampoline) to forcibly
  zero out %global registers when requested. Otherwise, Solaris/SPARC turned
  out to use %g1 during signal handling, and the zero we could have written
  to there vanished. This assumes [%sp-8] is valid to use (ABI states data
  below %sp is undefined though)
2006-01-22 23:14:48 +00:00
gbeauche
100a3e1abd Adapt for MacOS X for Intel, also fix thread_state type in forward_exception() 2006-01-22 00:05:05 +00:00
gbeauche
f0f76cd7ad Remove nigel's hack, I am confident the problem was MacOS X implementation of
poll() that was not a cancellation point, which I fixed (OSX/Intel 10.4.4)
2006-01-21 20:48:17 +00:00
gbeauche
ceb7488a77 poll() and select() are still not cancellation points in MacOS X 10.4.4... 2006-01-21 16:19:47 +00:00
gbeauche
a6156a17b7 streamline for standalone VOSF performance testing 2006-01-21 16:00:17 +00:00
gbeauche
335a9dd7f3 MacOS X bundle 2006-01-21 13:06:32 +00:00
gbeauche
5ee0a6741b Packet headers can be examined through unaligned addresses. This patch
fixes this, especially for MIPS & SPARC platforms. [Initial patch from
Brian J. Johnson]
2006-01-17 21:19:12 +00:00
nigel
998e1f7f7b A few more clashes with OS X headers (10.3 only?), update year 2006-01-16 23:10:33 +00:00
nigel
078efac834 Added the cosmetic feature that I forgot was in v17 2006-01-16 23:09:53 +00:00
nigel
ff7665cb2e Add a Networking section, update formatting in other parts of the text 2006-01-16 23:07:22 +00:00
gbeauche
e534b07a70 more precise callee-saved register set 2006-01-16 21:31:41 +00:00
gbeauche
12f103a83a JIT generated code is not guaranteed to be leaf, e.g. there could be a call
to a generic instruction handler (untranslated code). This caused problems
on MacOS X for Intel where the unaligned stack conditions turned out to be
more visible. Performance loss is really neglectable and this is the right
fix now anyway.
2006-01-16 21:31:08 +00:00
gbeauche
1b99c9501f fix stack alignment (theoritically but it was OK in practise) in generated
functions, move m68k_compile_execute() to compiler/ dir since it's JIT
generic and it now depends on USE_PUSH_POP (as it should)
2006-01-15 22:42:51 +00:00
gbeauche
2bc7887bc1 fix framework detection on OSX/intel (thanks toshi for the remote access ;-) 2006-01-15 11:38:41 +00:00
nigel
a398b4a32a 10.4 builds are fine, but not when using Xcode 2006-01-05 03:37:56 +00:00
nigel
fc83144337 Update in what OSs this compiles under 2006-01-05 00:36:20 +00:00
nigel
681187bfc2 Another two years! 2006-01-04 06:23:57 +00:00
nigel
bdf1e05605 Version 17 test was a bit messy 2006-01-04 06:20:38 +00:00
nigel
ca2dba38fe Another year, another version 2006-01-04 06:14:55 +00:00
nigel
e47c1c50cd There is now a fix (er, hack) for the ethernet thread exit problem,
so move it from bugs to "wouldn't it be nice if ..."
2006-01-04 06:14:26 +00:00
nigel
4b000e4dad Clean up after configure 2006-01-04 06:11:04 +00:00
gbeauche
a2840298b0 - factor out native_byte_order determination
- fix ExpandMap[] when client X image byte order is different than host's
  e.g. { mips, ppc } -> x86 in 8 bpp mode
2006-01-03 22:03:27 +00:00
nigel
c08ed3ccd5 Add SLIRP changes to Project Builder file (10.0 and 10.1) 2005-12-30 01:56:03 +00:00
nigel
641fa2c01e Compiling on Mac OS X 10.2 doesn't define uint8_t using the standard headers.
Including stdint.h should be safe, but if it clashes, we could put an OS X
specific wrapper around it: #if (defined(__MACH__) && defined(__APPLE__))
2005-12-30 01:19:53 +00:00
nigel
5d09d2b6c4 Small hack for clean exits on Nigel's OS X port 2005-12-29 13:40:25 +00:00
nigel
3802e35346 Working EtherNet (SLIRP), minor doco update, semaphore.h needed for Unix src. 2005-12-29 13:06:12 +00:00
nigel
a4bac33b8b A few more updates from latest Unix configure.ac 2005-12-29 00:32:43 +00:00
gbeauche
bdcf8efe2e Link with math library (-lm) on IRIX so that to get support for long double
arithmetic. Also make sure to only use -IPA with MIPSPro Compilers.
2005-12-04 15:45:09 +00:00
gbeauche
0ca22128d6 Fixes for IRIX/mips build with MIPSPro compilers 2005-12-04 15:23:02 +00:00
gbeauche
dbd5736f1d Fix Serial build on IRIX, remove the STDC_HEADERS manually defined macro
since it now works (egrep was missing previously, IIRC)
2005-12-04 15:03:11 +00:00
gbeauche
41fb85a3e7 Protect the SDL events queue when changing the cursor map in SheepShaver,
aka fix "Xlib: unexpected async reply" messages in SDL/x11 builds.
2005-11-29 23:20:31 +00:00
gbeauche
56f0207ebe Initial support for NDIS interfaces selection (very preliminary but working
for me on Windows XP, and actually faster than NAT/Router ethernet emulation)
2005-11-29 22:59:44 +00:00
gbeauche
f16f343b76 add support for "cdrom" drive selection 2005-11-29 20:54:57 +00:00
gbeauche
434ad38a1f SheepShaver GUI, remove extraneous "slirp" currently inexistent for Windows 2005-11-27 23:51:47 +00:00
gbeauche
a2cb2c6280 SheepShaver glue for Ethernet support. Remove duplicate "Set source address"
case from common code.
2005-11-27 22:18:29 +00:00
cebix
9cdff5117f ignore floppy device open fail in Sys_open() so the floppy drive will be
operative even if no disk was inserted at startup
2005-11-24 17:23:43 +00:00
cebix
92551146fc modernized Linux sound device detection 2005-11-24 17:03:15 +00:00
cebix
f450308b2f modernized Linux floppy detection 2005-11-24 17:02:59 +00:00
cebix
a415ed6117 added missing virtual destructor 2005-11-24 16:43:11 +00:00
gbeauche
b57b53ee75 Windows GUI: set "frameskip" to 1 when switching to fullscreen mode 2005-11-22 22:57:30 +00:00
gbeauche
1f66e31423 undo unwanted change for now (double check this one later) 2005-11-22 21:57:59 +00:00
gbeauche
af7973a79c fix build with gtk-1.2 2005-11-22 21:53:24 +00:00
gbeauche
4c4b24026f fix copyright dates 2005-11-22 20:29:46 +00:00
gbeauche
dd2b492086 "jitlazyflush" prefs item type was changed to bool some time ago, this fixes
this and enables the GUI to set it to true by default, as expected.
2005-11-22 06:48:55 +00:00
gbeauche
5fbaa95fbc Windows HACK: default to the DIB driver as it looks smoother to me and
doesn't require locking the surfaces, which probably the cause of apparent
slowness when using the DirectX backend. This needs to be investigated more
2005-11-22 06:26:35 +00:00
gbeauche
a7da877356 Remove obsolete Cygwin/X11 addressing hack. Fix DirectX fullscreen mode
with hardware surface. On the other hand, DIB (SDL_VIDEODRIVER=windib)
always seems the fastest on my system for both windowed and fullscreen
modes.
2005-11-21 23:38:46 +00:00
gbeauche
934975e12b add support for instruction skipping on windows too 2005-11-21 22:13:56 +00:00
gbeauche
88246b3622 don't remove config.h.in in make distclean 2005-11-21 22:03:53 +00:00
gbeauche
9c06a00dd2 GUI cosmetics from the Windows port: add "browse" button to ROM & keycodes
file selectors, improve "Memory/Misc" pane to be more attractive and simplify
RAM size selection, rename to "Keyboard/Mouse" pane to match the actual order
of elements in the pane, make "<control>-S" save/start the config.
2005-11-21 21:39:08 +00:00
gbeauche
c830fd7f02 Windows GUI: don't mess the button pad, map '<ctrl>-S' to Start/Save config 2005-11-20 23:59:18 +00:00
gbeauche
2fadb1707c Try to be a bit more descriptive 2005-11-20 23:55:17 +00:00
gbeauche
3ab9970f0c Windows GUI: disable SCSI settings for now since they are not merged yet,
handle Ethernet (NAT/Router module, None) and actually execute BasiliskII.exe
2005-11-20 23:47:42 +00:00
gbeauche
3cd04e58e1 GUI cosmetics: translation cache size is expressed in Kilo Bytes (KB) 2005-11-20 21:58:30 +00:00
gbeauche
ad4f3b2afd Windows GUI: fix creation of new volumes, handle "Enable external file system",
"Enable polling", add "Browse" button for keycodes file chooser.
2005-11-20 21:56:06 +00:00
gbeauche
148a4d1647 Windows GUI resources 2005-11-20 17:45:29 +00:00
gbeauche
b52fd5535b GUI cosmetics 2005-11-20 17:26:16 +00:00
nigel
185141ee4b Another minor 10.4 fix, Marcus Gail's CD-ROM boot UI fix 2005-10-15 10:38:22 +00:00
nigel
b78c71dab6 Update official B2 web page 2005-10-15 10:22:27 +00:00
nigel
1f5092a9af Fixes from latest Unix version (no more black screen bug!) 2005-09-19 07:49:12 +00:00
nigel
891e284c40 Re-sync with Unix version. Fixes black screen bug 2005-09-19 07:45:07 +00:00
nigel
0c96c9bbbf No need for classic mode 2005-09-19 07:38:55 +00:00
nigel
9ef0599095 Recent fixes mean there is no "classic" build, so update doco 2005-09-19 07:24:10 +00:00
nigel
110318fb69 Some more 10.4 fixes by Kirk Kerekes 2005-09-19 06:02:47 +00:00
gbeauche
a750963a94 don't grab in -mdynamic-no-pic with icc, note that you need icc >= 9.0.25
to have a working build
2005-08-18 22:10:15 +00:00
nigel
82e6f0cbd4 Added a few more bugs 2005-08-14 12:24:40 +00:00
nigel
029c61ff20 Added install item 2005-08-14 12:22:31 +00:00
nigel
d8c85284f4 Stylistic (and possible GCC3/4) fix 2005-08-14 12:21:27 +00:00
nigel
ffb2e01535 Started including 10.4 compile fixed from Kirk Kerekes,
Confirmation on disk image Delete requested by Markus Gail.
2005-08-09 03:28:53 +00:00
gbeauche
e694311703 Drop the old _llseek() hack. That was causing problems and we "now" use the
right approach with LFS for a few years now.
2005-08-01 05:23:02 +00:00
gbeauche
ba5ef9cd31 Stop abort()'ing when we fail to recognize the underlying processor, assume
an obsolete i386 instead. Keep report on stderr though.
2005-07-24 14:57:11 +00:00
gbeauche
ef5a50e2af recognize more P4 cores 2005-07-24 14:48:27 +00:00
gbeauche
6ee23f0eba Fix a long standing typo, now enabling use of volumes larger than 4 GB! 2005-07-24 14:05:16 +00:00
gbeauche
77208f85b0 sys_darwin.cpp depends on CoreFoundation stuff, disable it for OpenDarwin 2005-07-10 16:42:04 +00:00
gbeauche
43c8792b6e Fix detection of GCC versions (J.P. Larocque) 2005-07-06 05:25:05 +00:00
gbeauche
9d7e5017d9 Factor out stuff for SheepShaver compatibility. 2005-07-03 08:21:32 +00:00
gbeauche
858c3b9719 - Check for <stdint.h> ourselves if AC_HEADER_STDC didn't do that
- Build with -mdynamic-no-pic on MacOS X, this brings up to 20% performance
  improvement in the CPU core.
2005-07-01 05:57:07 +00:00
gbeauche
01b34da3d9 Don't remove config.h.in in distclean rule if we are still keeping configure 2005-07-01 05:54:58 +00:00
gbeauche
eaa0f6576b Import m4 macros for external packages in case one would want to regenerate
a configure script without having those installed (e.g. on MacOS X).
2005-07-01 05:54:20 +00:00
cebix
fa5ae3ab6e minor cleanups 2005-06-30 21:25:26 +00:00
gbeauche
e867749999 POSIX conforming use of pthread_cond_wait(). 2005-06-30 10:34:31 +00:00