Commit Graph

1964 Commits

Author SHA1 Message Date
David Ludwig
251c185dcd renamed variables in SDL2 backend, for improved readability 2017-08-10 10:57:58 -04:00
Adam Sampson
3fc8924636 Use ucontext_t instead of struct ucontext
ucontext_t is what POSIX requires; glibc no longer provides struct
ucontext as of 2.26: https://sourceware.org/glibc/wiki/Release/2.26

(Most architectures were already using ucontext_t, so this also makes
things more consistent; only arm and mips change.)
2017-08-09 13:04:46 +01:00
Alexei Svitkine
123a23fad5 fix sequence error compiler warning 2017-08-09 00:14:05 -04:00
Alexei Svitkine
bc7cd78467 Merge branch 'master' of https://github.com/cebix/macemu 2017-08-08 23:38:41 -04:00
Alexei Svitkine
9f93648ea5 Revert "Fix build when targeting Sierra."
This reverts commit 35ca220d90.

Going with https://github.com/cebix/macemu/pull/115 instead.
2017-08-08 23:37:56 -04:00
asvitkine
8d1532ca32 Merge pull request #115 from rickyzhang82/pr-sierra-clock-gettime
Fix Mac OS X Sierra introduce clock_gettime
2017-08-08 23:35:54 -04:00
Alexei Svitkine
35ca220d90 Fix build when targeting Sierra.
Sierra now supports clock_gettime(), so fix some code that assumed
mach and HAVE_CLOCK_GETTIME where mutually exclusive.
2017-08-08 23:19:39 -04:00
Ricky Zhang
b32a8c8588 Fix Sierra clock_gettime issue
Signed-off-by: Ricky Zhang <rickyzhang@gmail.com>
2017-08-07 10:52:11 -04:00
David Ludwig
e0cdbe2a30 added "idlewait" support to SDL2 backend 2017-08-01 18:07:23 -04:00
David Ludwig
8874ba549f added missing MSVC post-build script 2017-07-23 21:05:08 -04:00
David Ludwig
8705276206 updated Windows + MSVC support with SDL2 support 2017-07-23 20:49:29 -04:00
David Ludwig
54e03d9647 bug-fix, Issue #2: prevent SDL2 from installing keyboard shortcuts (Command+Q, etc.) on OSX hosts, as they interfere with guest OS use 2017-07-23 16:23:51 -04:00
David Ludwig
1190a2b127 bug-fix, Issue #4: prevent guest OS from causing desktop/Spaces switches on OS X host 2017-07-23 15:22:00 -04:00
David Ludwig
84282f4525 bug-fix: buffer-overflow in SDL2 audio code 2017-07-23 15:13:50 -04:00
David Ludwig
6e36c8dd30 include SDL2 as a git submodule, currently using v2.0.5; make Mac builds (of Basilisk II) build SDL
This should help with debugging windowing system issues, which may reside in SDL, which SDL may not provide adequate diagnostic info, or which Basilisk may not report
2017-07-23 14:09:19 -04:00
David Ludwig
a3f3d4f5d2 dropped Mac OS X deployment target down to 10.7 (from 10.12) 2017-07-22 22:01:13 -04:00
David Ludwig
3d0ea018ed bug-fix: OS X app would not launch, when run from the Finder 2017-07-22 21:49:54 -04:00
David Ludwig
a1a85a9315 bug-fix: don't double-free the inner SDL_Surface, when the guest OS switches video modes 2017-07-22 21:31:06 -04:00
David Ludwig
e3a687ff1e updated copyright to 2017 (from 2006); added SDL2 port credit 2017-07-22 21:20:46 -04:00
David Ludwig
ad747d2049 use HOME/.basilisk_ii_xpram for saving + restoring XPRAM 2017-07-22 21:16:32 -04:00
David Ludwig
b62b8fe5ad read/write preferences from HOME/.basilisk_ii_prefs 2017-07-22 21:09:53 -04:00
David Ludwig
1d5b8e95af use the host-OS' desktop resolution, when entering full-screen. This enables use of Mac OS X's "Spaces" feature, when going to fullscreen. 2017-07-22 20:40:31 -04:00
David Ludwig
cb982ee2ed use SDL 2.0.5+, rather than SDL 1.x
This change may end up being a bit slower on some systems, as the SDL backend will now render its content to two, new, SDL_Surfaces: one of which is in the guest OS' resolution, the other of which is application defined.

SDL2's SDL_Render API is used, which exposes some rudimentary elements of GPU + texture-based programming.  Basilisk II now maintains a single 'SDL_Texture' object, which is an SDL representation of a GPU texture.  The 'outer' surface will be used to update this texture, as requests to redraw are made.

TODO: look into removing the 'outer' SDL surface, and see if we can just copy the 'inner' surface to the SDL_Texture.
TODO: the entire SDL_Texture is updated, any time a request is made to draw.  Look into minimizing this a bit.
2017-07-22 20:29:30 -04:00
David Ludwig
9128314cb8 Basilisk II compiles on Xcode 8, as a 64-bit Mac app
SDL 1.x is used for display, rather than Mac OS X specific backend.  If time permits, I'll port it to SDL 2, if only to reduce Basilisk's overall code foot-print.

Lots of features are apt to be disabled, as many 'dummy' backends were used.

Video-depths other than 1-bit or 32-bit are untested, and in some cases (4-bit, at least) are currently non-functional.  This is due to a partial re-write of the SDL backend's blitting code, which was non-functional when low-bit-depths were used.

The SDL backend was also rewired, on OSX, to not attempt to align the display buffer on page-boundaries.  So far, this doesn't seem to cause any notice-able problems, however, that's only using limited knowledge and testing (System 7.5.x does boot and display at 640x480, though!).  The original display-buffer allocation code was failing to run, in some cases.

Preferences are, on Mac, currently hardcoded to be accessed at /tmp/BasiliskII/BasiliskII_Prefs.  The folder, "/tmp/BasiliskII/", may be a symbolic link to elsewhere, though.
2017-07-22 17:43:42 -04:00
asvitkine
b5820d8059 Merge pull request #113 from bvarner/bitbakeable
Changes to the Configure script to improve cross-compiling
2017-07-21 00:16:45 -04:00
bvarner
53e965a223 Remove unnecessary comment. 2017-07-20 23:22:10 -04:00
bvarner
2210c87233 Updates to signal handling detection, enabling vosf for cross-compiled overrides. 2017-07-20 18:53:04 -04:00
bvarner
87ae776a41 Consistency... 2017-07-20 18:28:24 -04:00
bvarner
02ec5fc7d4 Added environment variable overrides for cross-compile defaults using AC_ARG_VAR.
This lets you setup an environment to cross-compile, with extended support for how things will behave.
This should let the build play nicely with bitbake, without changing the --flags, and without breaking existing behaviors.
2017-07-20 17:18:55 -04:00
dmac
9f58eb96dc Use relative mouse values when grabbed in sdl. 2017-07-16 12:07:08 +01:00
bvarner
1eae4613c6 Added gitignores for quilt patches 2017-07-14 15:08:02 -04:00
bvarner
bd3ef905fb Don't do that. 2017-07-14 15:07:31 -04:00
bvarner
df6d21c394 I'm stashing there here, even though i probably shouldn't. 2017-07-14 15:06:12 -04:00
bvarner
1bfd163cf5 Better handling of SDL. 2017-07-14 12:50:45 -04:00
bvarner
cc3c3edcc0 Updates 2017-07-14 12:42:10 -04:00
bvarner
ca56f6f263 Ah, yeah. whoopse. 2017-07-14 12:30:53 -04:00
bvarner
35de22c444 Undo the SDL bits to favor the pkg-config bits. This should be more portable. I'm not sure if I'm breaking the cygwin build here, so I may have to give that a shot. 2017-07-14 12:25:37 -04:00
bvarner
65d44391c3 Other generated sources when not using JIT 2017-06-29 00:19:40 -04:00
bvarner
9f9893f178 move some things around here. 2017-06-28 23:37:55 -04:00
bvarner
c93058f9a6 Use SDL 1. This isn't an SDL2 App. D'oh 2017-06-28 18:06:16 -04:00
bvarner
859c4f29b5 Undo a debug output and set sigsegv_recovery if we force ac_cv_have_extended_signals. 2017-06-28 18:02:37 -04:00
bvarner
89cf05aec6 Adding an echo here to see if it's testing under a cross-build. 2017-06-28 17:57:51 -04:00
bvarner
b5790efba9 Added an enable option to force cross-compiles to use extended signal handling. 2017-06-28 17:53:45 -04:00
bvarner
9dc8bba39a Added SDL2 macros 2017-06-28 16:14:09 -04:00
bvarner
023d0d57c7 Condense to guilty until proven innocent. 2017-06-28 15:54:00 -04:00
bvarner
9735385a47 Testing this out just to see what the output is underbitbake 2017-06-28 15:48:29 -04:00
bvarner
7ae960e4eb Add npth to the search path. 2017-06-28 15:00:45 -04:00
bvarner
a1bea9b897 Oh yeah, use a list. 2017-06-28 13:20:15 -04:00
bvarner
94a385352e bitbake still couldn't find it, so let's try brackets. 2017-06-28 13:17:12 -04:00
bvarner
ffa877ee6c Use AC_SEARCH_LIBS for pthread location. 2017-06-28 13:10:59 -04:00
bvarner
f2acf91add Adding addtional Quote around expressions in AC_TRANSLATE_DEFINE. During cross-compile builds, when values contain 'guessing yes' the single-bracket expands to multiple argments. Adding the additional quote around the entire expression avoids this. The translate call to was missing quotes, which was inconsistent with the rest of the translate calls. 2017-06-28 12:38:50 -04:00
bvarner
e671489ad1 Updated configure.ac with openssl cross-compiling updates for /dev/ptc and /dev/ptmx 2017-06-28 11:58:55 -04:00
Alexei Svitkine
14f2e85c6f silence some warnings 2017-04-20 20:44:03 -04:00
Andrew Tonner
bab9820231 slirp: more changes to prevent a crash in the soread without so_tcpcb case 2017-01-20 13:27:00 -08:00
Andrew Tonner
68353ca6b1 fix for null deref in slirp soread when the so doesn't have a tcpcb yet 2017-01-20 02:05:55 -08:00
Andrew Tonner
52a36f24bb guard against the slirp queues null deref on dequeues I've seen in the debugger 2017-01-20 01:33:20 -08:00
Andrew Tonner
2f9bc272be ws2 defines and missing prototypes for building withmingw32 2017-01-19 21:12:35 -08:00
Andrew Tonner
d3b56d8e32 Fix for intermittent cursor snapping: don't attempt to warp the cursor when it's not in the window 2017-01-19 05:14:20 -08:00
Andrew Tonner
83ea8b0779 Merge remote-tracking branch 'cebix/master' into windows_build_script_test_merge 2017-01-18 16:49:19 -08:00
Andrew Tonner
5c264434e7 disable obsolete cd driver warning 2017-01-18 15:57:36 -08:00
Andrew Tonner
dc54a5eceb missed commits 2017-01-18 04:51:34 -08:00
Andrew Tonner
b74ae092c9 builds on mingw32 without jit, still untested 2017-01-18 04:41:40 -08:00
Alexei Svitkine
181634ab31 Fix more Xcode8 warnings and tweak project settings. 2016-12-17 23:31:03 -05:00
Alexei Svitkine
6bc3dd29a8 Fix off by one error in sscanf length arg. 2016-12-17 22:43:38 -05:00
Alexei Svitkine
d19e757e1c Fix some more Xcode8 warnings & analyze warnings. 2016-12-17 22:24:00 -05:00
Alexei Svitkine
1f211fb37b fix some warnings in Xcode8 build 2016-12-17 22:04:57 -05:00
Alexei Svitkine
5538376dc8 Add an Xcode 8 project for SheepShaver that builds an x86 32-bit
application (since 64-bit doesn't work with current OS X) and uses
pre-built (by GCC) compiler JIT source files.
2016-12-17 21:38:25 -05:00
asvitkine
84dfc1e98d Merge pull request #87 from runn1ng/master
Making tunconfig working
2016-11-20 20:08:55 -05:00
Alexei Svitkine
268611ca75 Fix SLIRP networking on OS X (and maybe other platforms?).
The bug was introduced by 0daa18ab2a,
which erroneously changed some signed types to unsigned types,
breaking logic involving negative numbers (e.g. when subtracting
sizes).
2016-11-02 02:08:51 -04:00
asvitkine
1bf6f4d640 Merge pull request #92 from rickyzhang82/customized-color-depth
Customized color depth in SDL
2016-08-19 06:18:02 -07:00
Ricky Zhang
042574382e 1. Added document for sheep_net module.
2. Fixed wrong use of ipip_hdr. It is for IP tunnel. This caused serious issues in IP packet filtering. Basically, it filtered out most packets sent from outsides. The correct way to get IP header destination IP address is ip_hdr.
3. Fixed ARP spoofing from guest OS to host OS. At anytime fake MAC address should be hided.
4. Changed module init and remove as non debug message.

Signed-off-by: Ricky Zhang <rickyzhang@gmail.com>
2016-08-18 14:00:09 -04:00
Ricky Zhang
10e4bba941
Add customized color depth in SDL. To change color depth, add bit of color depth as displaycolordepth prefs in .basilisk_ii_prefs. 2016-08-15 07:38:25 -04:00
Ricky Zhang
27cb1ef84a
Explictly pass SheepVars by af_packet_priv. 2016-08-13 07:33:35 -04:00
Ricky Zhang
212b8237b6
Fix sk_alloc function change since 4.2 Linux kernel. 2016-08-12 11:13:31 -04:00
Dmitry Brant
6ac8f16efb Improve naming consistency. 2016-08-02 09:02:40 -04:00
Dmitry Brant
72ac1218f0 Correctly set last-modified time on exported files in Windows. 2016-07-30 14:16:34 -04:00
Dmitry Brant
e1693eb92b Correctly set last-modified time on exported files. 2016-07-29 11:45:51 -04:00
Karel Bilek
c40e8516ce Making tunconfig working 2016-05-28 02:20:35 +02:00
Dan Sumorok
dee3f7e1c5 Added tap/bridge support to ether helper. 2016-03-19 19:17:48 -04:00
Dan Sumorok
1d84d40518 Linux etherhelper build updates. 2016-03-16 18:40:33 -04:00
Dan Sumorok
7710322fd3 Linux etherhelper support. 2016-03-15 20:03:59 -04:00
asvitkine
7de64a6fce Merge pull request #81 from vasi/sdl-volume
Enable audio volume in SDL
2015-12-27 22:57:10 -05:00
Dave Vasilevsky
c2236350f4 Use constant for max volume 2015-12-27 22:42:37 -05:00
Dave Vasilevsky
4fa03d5fb1 Cleanups: Set to NULL after free, remove commented out code 2015-12-27 22:39:23 -05:00
Dave Vasilevsky
09a0525aac Enable audio volume in SDL
This is useful for keeping the volume of SS/B2 separate from that of the host machine. For example, you can mute a game in SS, while still playing music on your host.
2015-12-27 22:13:00 -05:00
Dave Vasilevsky
4b5f3bd87b Enable real addressing by disabling PIE 2015-12-27 21:15:26 -05:00
Alexei Svitkine
db375713bb Fix CrossPlatform files for SheepShaver build and a warning. 2015-12-26 02:17:08 -05:00
Alexei Svitkine
11f7e3b1a1 Fix typo in an earlier commit. 2015-08-10 10:36:39 -04:00
Alexei Svitkine
a99d496fd4 Fix Xcode project following move of files and fix a warning. 2015-08-09 18:50:06 -04:00
Alexei Svitkine
ee25ed7142 Fix configure script following move of files to CrossPlatform. 2015-08-09 18:41:01 -04:00
Alexei Svitkine
a06cbd6784 Fix non-Windows build. 2015-08-09 18:31:30 -04:00
asvitkine
7e111f6fc5 Merge pull request #73 from Masaq-/macipx
Patch to make MacIPX work in SheepShaver
2015-08-09 18:14:18 -04:00
James Touton
0a9a4d0367 Changed mb type from int to bool. 2015-08-06 22:26:23 -07:00
James Touton
6cd37656b4 Added Visual Studio 2015 project files. 2015-08-06 02:37:05 -07:00
James Touton
1c9b9ba7a8 Added MSVC-friendly config.h. 2015-08-06 02:35:51 -07:00
James Touton
a6a46a2697 Unicode friendly! 2015-08-06 02:34:24 -07:00
James Touton
47e95ba2e6 Removed more spurious Windows.h #includes.
MSVC-compatible use of #pragma pack.
Fixed potential crash in Sys_open.
Use MSVC intrinsics for byte swapping.
Ensure use of winsock2 (instead of winsock).
Set appropriate architecture #defines.
Fixed various other compile warnings/errors.
2015-08-06 02:31:42 -07:00
James Touton
9b8238ee3e Removed spurious #includes of Windows.h.
Fixed some more calling convention annotations.
Don't mutate the prefs string in init_tcp_listen_ports.
2015-08-06 02:18:21 -07:00
James Touton
4499902ac5 Removed kernel_windows. Assume a Windows NT-derived operating system.
Fixed some calling convention annotations.
Fixed some MSVC warnings.
2015-08-06 02:09:10 -07:00
James Touton
49f33770ac Resolved numerous MSVC warnings. 2015-08-06 01:57:13 -07:00
James Touton
284900f905 Moved cross-platform sources into their own directory so that Windows builds don't need to add Unix to the include directory list. 2015-08-06 01:53:29 -07:00
James Touton
c92feaf767 Fixed a bunch of warnings in MSVC. 2015-08-06 01:37:58 -07:00
James Touton
f35cb736c7 Changed type of audio_channel_counts; fixes type conversion warnings on MSVC. 2015-08-06 01:34:55 -07:00
James Touton
1d875960db Propagate error information from set_gamma_table. 2015-08-06 01:31:26 -07:00
James Touton
73f3af6c3b gencomp builds cleanly (and produces clean-building code) on MSVC. 2015-08-06 01:28:01 -07:00
James Touton
8b4dc6ea81 gencpu builds cleanly on MSVC.
Fixed nasty bitfield issue where MSVC enums are signed, so a two-bit bitfield set to 2 is later read as -2.
2015-08-06 01:25:15 -07:00
James Touton
2d2e721437 Use ISO C functions for MSVC. 2015-08-06 01:17:17 -07:00
James Touton
f066f5a4fd video_sdl compiles cleanly in MSVC.
Resolved a bunch of type conversion warnings.
2015-08-06 01:12:43 -07:00
James Touton
0daa18ab2a slirp compiles cleanly in MSVC.
Use standard C prototypes instead of K&R.
2015-08-06 01:11:28 -07:00
James Touton
3271fc9d28 Added lengthof. 2015-08-06 01:02:19 -07:00
James Touton
f05cd77eb4 Renamed ASM_SYM_FOR_FUNC to ASM_SYM.
Use ASM_SYM in place of __asm__ in a couple places.
2015-08-06 00:54:21 -07:00
Alexei Svitkine
6c8d16ef3a Fix issue where unminimizing a SheepShaver window on Mac OS X
results in redraw artifacts.
2015-06-30 15:01:51 -04:00
Alexei Svitkine
d3cb3ca95f Fix some warnings when building Xcode project. 2015-06-29 11:50:50 -04:00
Masaq-
c5dc44e117 fix sheep_net kernel panic when combined with Linux AppleTalk module 2015-06-20 01:56:34 +00:00
Masaq-
7091c56ccd randomize fake Ethernet address to be used as IPX node number 2015-06-12 01:28:19 +00:00
Masaq-
9ae8499d64 make sheep_net removable from Linux 2.6.31 onward 2015-05-28 02:10:59 +00:00
Masaq-
3a36a1e456 fix memory leak reported by kmemleak 2015-05-28 02:10:45 +00:00
Masaq-
d77100ae1f fix sheep_net Linux kernel panic on n2n edge0 tap device 2015-05-28 02:10:23 +00:00
Adrien Destugues
80cb8e0cff BeOS: null-terminate strings when converting file names. 2015-04-28 21:35:14 +02:00
Adrien Destugues
fd49455eec BeOS: get video to work again.
* The code was hardwired for 8-bit mode, unplug that and set it up for
32bit mode (much simpler).
* You need a ROM that supports 32bit mode for now
* Mode switching not supported yet.
2015-04-28 21:35:13 +02:00
Adrien Destugues
c226da6172 BeOS: support for vmdir preferences. 2015-04-28 21:35:13 +02:00
Adrien Destugues
c97be8dbb2 BeOS: implement charset conversion. 2015-04-28 21:35:12 +02:00
Adrien Destugues
83f03d417a BeOS: stray backslash in about_window.cpp 2015-04-28 21:35:12 +02:00
Adrien Destugues
371d385c6b Missing include for memset. 2015-04-28 21:35:11 +02:00
Adrien Destugues
09638b2536 BeOS: set some required defines for FPU configuration. 2015-04-28 21:35:11 +02:00
Adrien Destugues
66f68a995a BeOS: WIP update to video mode switching support code. 2015-04-28 21:35:04 +02:00
Adrien Destugues
2adcbc2694 Haiku: Set -fomit-frame-pointer and -fno-PIC
* This frees some registers and make the x86 assembler code work.
* Restore use of fpu_x86 because of this.
2015-04-28 21:11:29 +02:00
Adrien Destugues
2ad0536d13 Add Haiku support.
* Haiku is mostly compatible with BeOS, but there are a few minor
changes.
2015-04-28 21:11:28 +02:00
Dan Sumorok
fcc1598086 Add no_pie linker flag for Mac OS X 10.6 and later. 2015-01-14 19:23:26 -05:00
Dan Sumorok
b8fb05fbd0 Minor build fixes
Removed OS X -no_pie linker flag
Fixed copy/paste error in ether helper help string
Added missing distclean targets.
2014-12-31 09:36:17 -05:00
Dan Sumorok
24005dc4ed Merge remote-tracking branch 'us/master' into mergetest 2014-12-30 09:16:27 -05:00
Dan Sumorok
b1270264a1 Changed page zero size to 4 kB to fix problem on OS X 10.10. 2014-11-29 19:45:47 -05:00
Dan Sumorok
4f162dc6e3 Minor build fixes. 2014-11-29 19:25:31 -05:00
Ricky Zhang
5192d60805
Fix space/tab indention 2014-09-19 09:59:23 -04:00
Ricky Zhang
39be6a0ac9
Use atomic operation 2014-09-18 16:10:41 -04:00
Ricky Zhang
b5b415da0d
Apply patch for 3.15 kernel 2014-09-18 11:38:06 -04:00
Dave Vasilevsky
4dd7f9236f Change GUI object extension, so GCC doesn't think we're Go 2014-03-05 20:11:55 -05:00
Dan Sumorok
3c6788fd26 Tweak of the linker commands. 2013-07-08 06:51:24 -04:00
Dan Sumorok
c01bd008db Hack to load code below 4GB, and to make 32-bit vm allocates work. 2013-07-06 17:09:37 -04:00
Dan Sumorok
1c99d52b91 Added missing file. 2013-06-28 07:12:38 -04:00
Dan Sumorok
c4276955ba Fixed some 64-bit releated problems on os x. 2013-06-28 07:11:52 -04:00
Dan Sumorok
45a34e2763 Merge branch 'master' into asc 2013-06-22 12:43:52 -04:00
Dan Sumorok
b609065bc4 Always start sound. 2013-06-22 12:43:41 -04:00
Dan Sumorok
3583b00a77 Copy etherhelpertool into application bundle.
Ignore -psn_ command line argument so OS X application bundle
can be launched.
2013-06-21 18:59:04 -04:00
Dan Sumorok
e08090095f Fixed compile error when asc emu is not enabled. 2013-06-19 19:09:40 -04:00
Dan Sumorok
9aec39d3cb Added extra ifdefs. 2013-06-18 07:02:42 -04:00
Dan Sumorok
b7cfe89445 More asc fixes. 2013-06-15 16:21:26 -04:00
Dan Sumorok
ce68f366cb Added asc.c, and asc.h.
Don't stop sound if we don't have to.
2013-06-09 19:34:19 -04:00
Dan Sumorok
eedf6880db A bit of apple sound chip support. 2013-06-09 16:27:24 -04:00
asvitkine
44c7e447a7 Merge pull request #35 from dsumorok/buildfix
Buildfix
2013-06-02 22:32:57 -07:00
Dave Vasilevsky
e3710843b1 FreeBSD amd64 fixups
* Look for CPU named "amd64" as well as "x86_64"
* Don't use /dev/ptmx on FreeBSD
* On amd64 FreeBSD uses SIGSEGV, not SIGBUS
* Use MAP_FIXED to force allocations within 32-bits, it's the only way
* Need <sys/param.h> for SHMLBA
* The old offsetof() fix is no longer needed
* Preliminary work on instruction skipping
2013-05-30 21:34:30 -04:00
Dan Sumorok
8a02128473 More changes of etherslave to etherhelper. 2013-05-29 19:42:59 -04:00
Dan Sumorok
5db556214c Renamed "etherslave" to "etherhelper". 2013-05-29 19:30:51 -04:00
Dan Sumorok
fc8835aa6f Added more debug output.
No longer add ethernet interface to bridge if bridge already exists.
2013-05-29 07:00:44 -04:00
Dan Sumorok
8f863effbc Added error messages. 2013-05-28 19:33:12 -04:00
Dan Sumorok
5aa782acc0 Changed ethernet address when using tap interface. 2013-05-27 13:55:38 -04:00
Dan Sumorok
f994087291 More work on new tap interface. 2013-05-26 20:58:03 -04:00
Dan Sumorok
19b53082a3 Added tap support to etherslave tool. 2013-05-25 22:01:21 -04:00
Dan Sumorok
c939be2d2d Removed objective-c from runtool source so it can be built with
newer (not from Apple) versions of gcc.
2013-05-25 10:48:15 -04:00
Dan Sumorok
531b1d7df4 Merge branch 'etherslave'
Conflicts:
	BasiliskII/src/Unix/configure.ac
2013-05-14 06:39:11 -04:00
Dan Sumorok
0e667be7be Merge branch 'osx-video-fix' 2013-05-14 06:37:47 -04:00
Dan Sumorok
241162f261 Fixed code that removed 15-bit color mode.
15-bit color mode is now removed on all platforms.
The removal of 15-bit color mode now happens before the sort.
Updated a variable name.
Changed list length calculation to use C++'s clever pointer
subtraction.
2013-05-05 16:20:37 -04:00
Dan Sumorok
e91a03f40f Added clean rule for etherslavetool. 2013-05-05 14:20:33 -04:00
Dan Sumorok
1bc3691805 Removed clean rule for etherslavetool. 2013-05-05 14:18:10 -04:00
Dan Sumorok
57b9ad0d95 Remove 15 bit video for OS X. This mode doesn't seem to work.
This also fixes 2-bit, 4-bit, and 8-bit modes.
2013-05-05 14:11:09 -04:00
Dan Sumorok
f1c78e659c More coding style updates. 2013-05-04 20:37:29 -04:00
Dan Sumorok
01ba04139f Updated coding style. 2013-05-04 20:36:11 -04:00
Dan Sumorok
93effd9192 Darwin/lowmem and Darwin/pagezero do not need to be removed for clean. 2013-05-01 06:55:49 -04:00
Dan Sumorok
94b790728e Added file-level comments. 2013-05-01 06:54:20 -04:00
Dan Sumorok
a250b40c80 Added new etherlave network option for OS X. 2013-04-30 20:46:31 -04:00
Dan Sumorok
a421d35b9d Fix for OS X build under x-windows. Separated out sound option. 2013-04-30 20:41:50 -04:00
Dave Vasilevsky
26d5f6b7f2 SDL: Allow fullscreen toggle in BasiliskII 2013-04-24 04:13:14 -04:00
Dave Vasilevsky
eceafc6200 SDL: Allow toggling fullscreen/windowed mode 2013-04-24 04:13:07 -04:00
Dave Vasilevsky
efae88ea7c SDL: Let video driver know about cursor type change 2013-04-24 04:12:06 -04:00
Dave Vasilevsky
ff423fe7c9 SDL: Let driver_base be reused in a different video mode
Split init() into one-time initialization, and adaptation to a new video mode.
2013-04-24 04:09:47 -04:00
Dave Vasilevsky
e9c913c4ae SDL: Completely collapse fullscreen/window drivers 2013-04-24 03:30:52 -04:00
Dave Vasilevsky
9e807c884c SDL: Move init() method into base 2013-04-24 03:30:52 -04:00
Dave Vasilevsky
19529cacd4 SDL: Remove useless virtual qualifiers 2013-04-24 03:30:52 -04:00
Dave Vasilevsky
14e6e654f0 SDL: Move mouse movement to base 2013-04-24 03:30:52 -04:00
Dave Vasilevsky
d0648a7039 SDL: Make VOSF update functions apply to driver_base
They don't use anything special from fullscreen/windowed derived classes.
Also, get rid of unneeded friend declarations.
2013-04-24 03:30:51 -04:00
Dave Vasilevsky
2a5100e8d2 SDL: Move destruction into base 2013-04-24 03:30:51 -04:00
Dave Vasilevsky
fed95369d1 SDL: Move window title setting to base 2013-04-24 03:30:51 -04:00
Dave Vasilevsky
b2e5125868 SDL: Move cursor initialization to base
Also decide in just one place whether to use hardware or software cursor.
2013-04-24 03:29:53 -04:00
Dave Vasilevsky
6eb54dccbe SDL: Move more initialization to base
Including blitter, gray ramp, frame buffer initialization.
2013-04-24 00:07:50 -04:00
Dave Vasilevsky
053308e4f9 SDL: Move VOSF initialization to base 2013-04-24 00:07:50 -04:00
Dave Vasilevsky
0c2658f4d1 SDL: Prepare to collapse fullscreen/window drivers
We want to have just one base driver that can handle both fullscreen and
windowed mode, so that we can easily switch between modes.

Create a virtual init() method to do construction, so we can move common code
from the derived classes into the base init().
2013-04-24 00:07:49 -04:00
Dave Vasilevsky
82adeb988b SDL: Remove unused method and ivars
mouse_last_x, mouse_last_y and driver_window::mouse_moved() look like remnants
of X11 video, they're never really used.
2013-04-24 00:07:49 -04:00
Dave Vasilevsky
94ebea3509 SDL: Don't uselessly free the_host_buffer
It always points to a member of an SDL_Surface, which is freed by SDL.
2013-04-24 00:07:43 -04:00
Dave Vasilevsky
c0d7aa0004 SDL: Remove old hack, reduce flicker
The old SDL_QuitSubsystem workaround is probably obsolete, and causes
flicker on resolution changes.
2013-04-24 00:04:49 -04:00
Dave Vasilevsky
02d844c6a7 SDL: Make non-Mac fullscreen cursor visible
Issue: https://github.com/cebix/macemu/issues/26

On non-Mac platforms, driver_fullscreen constructor sets up software cursor,
but switch_to_current_mode() ask for a hardware cursor, possibly due to a typo.
Neither one ends up being drawn, so the cursor goes invisible.

This change makes them agree to use a software cursor. We should eventually
move to just one place deciding which cursor to use, so they don't have to be
kept in sync.
2013-04-22 02:06:15 -04:00
Dave Vasilevsky
2fb9487933 Mac: Fix mouse grabbing
If mouse is grabbed on OS X, every time the mouse cursor icon changes the
cursor is recentered. Workaround similar to Windows in video_set_cursor().
2013-04-20 19:02:33 -04:00
Dave Vasilevsky
8204105c41 Prefs: Fix buffer overrun
Prevent intermittent crashing when prefs contains empty lines or lines with
no spaces.
2013-04-20 19:01:54 -04:00
Dave Vasilevsky
8f27d4af9b Standalone GUI doesn't need to pull in all the generic disks 2013-03-28 06:30:08 -04:00
Hans de Goede
2226aa4752 don't strip -g option to GCC for B2 2013-03-12 19:08:11 -04:00
Hans de Goede
90c113c43b check for WANT_SDL_VIDEO rather than WANT_SDL when deciding to use X11 2013-03-12 18:59:58 -04:00
Hans de Goede
cb42ef255b fix linux crash on sscanf failure 2013-03-12 18:55:58 -04:00
asvitkine
3b177f141f Merge pull request #22 from vasi/dmg-sparsebundle
Sparsebundle support
2013-03-11 18:53:54 -07:00
Dave Vasilevsky
912d2e05be disk_generic: Iterate using index instead of pointers 2013-03-11 17:10:38 -04:00
Dave Vasilevsky
c79a52f3b8 disk_generic: Distinguish between unknown disks, and unmountable disks 2013-03-11 17:08:27 -04:00
Dave Vasilevsky
cdb0338883 sparsebundle: Handle locking properly 2013-03-11 16:50:12 -04:00
Dave Vasilevsky
9953374b25 sparsebundle: Don't write zeros in unallocated space
Also close files when we're done with them.
2013-03-11 16:18:43 -04:00
Dave Vasilevsky
127441afb7 sparsebundle: Use pointers to member functions 2013-03-10 12:12:24 -04:00
Dave Vasilevsky
753a5c40fe sparsebundle: Remove old TODOs 2013-03-10 12:05:43 -04:00
Dave Vasilevsky
0c8292aea3 sparsebundle: Minor fixes
- Allocate memory in disk_sparsebundle() constructor
- Constify constructor parameter
- Be careful with invalid fds
2013-03-10 12:03:34 -04:00
Doug Brown
0980a87e3f Ensure ROM is above RAM in Windows.
Fixes black screen on newer versions of Windows.
2013-03-02 12:29:39 -08:00
Doug Brown
ed358ca618 Fix case sensitivity of MinGW basetsd.h header when compiling inside Linux. 2013-03-01 03:08:29 -08:00
asvitkine
ef5a6ef3a7 Merge pull request #19 from landonf/landonf-pty-fix
Set tty raw mode when using a pty.
2013-02-28 20:56:14 -08:00
Landon Fuller
2c8507ea97 Set tty raw mode when using a pty. 2013-02-25 20:24:56 -05:00
Dave Vasilevsky
17aabc4c40 Generify vhd, too 2013-02-24 15:57:18 -05:00
Dave Vasilevsky
5c7af60f16 generically search for disk types 2013-02-24 15:43:54 -05:00
Dave Vasilevsky
3af3834b8e Basilisk deserves sparse bundles too! 2013-02-24 14:40:41 -05:00
Dave Vasilevsky
917984e6ec Add to make links 2013-02-24 14:15:21 -05:00
Dave Vasilevsky
2a15911938 Full sparsebundle implementation 2013-02-24 14:11:29 -05:00
Dave Vasilevsky
091db05aac Partial implementation of sparsebundles; still needs Info.plist parsing 2013-02-24 13:02:16 -05:00
Charles Lehner
76911be266 Fix compilation error on OS X. 2012-10-30 09:34:10 -04:00
Charles Lehner
349fad4d2f Add port redirection option for networking with slirp.
Port forwarding allows the emulator to host servers that can be
accessed from outside the virtual network.

The code for parsing the preference option "redir" is adapted from
qemu code. The rest was already implemented.
2012-10-30 01:32:38 -04:00
Christian Bauer
b4940ae29d more cleanups (unused/uninitialized variables, forgotten free()s, etc.) 2012-09-08 12:33:39 +02:00
Christian Bauer
6ca9738e6c clean up and add documentation 2012-08-27 20:17:12 +02:00
Amadeusz Sławiński
80c2e5349f Add missing dummy ZeroScrap() on linux 2012-08-21 15:18:43 +02:00
Alexei Svitkine
243307f05c Fix typo. 2012-08-19 10:17:10 -04:00
Alexei Svitkine
3b6fdddfa1 Use a diff var name in configure.ac to avoid erroneous caching. 2012-08-12 13:01:55 -04:00
Alexei Svitkine
3c8856bcca Include unistd.h in config signal checks. 2012-08-12 12:41:03 -04:00
Alexei Svitkine
fa7da794c3 Trying to fix linux/arm build. 2012-08-12 12:25:19 -04:00
Charles
23ee14227f Yet another clipboard patch for Basilisk / SheepShaver
This patch introduces a few changes:

1. Data of arbitrary Mac OS types which aren't handled (i.e. non text/picture types) will now be passed through to the host pasteboard, just like in the 32-bit code.

2. Reorganization of a few things.

3. Fixed a memory leak (whoops).

I'm basically submitting this patch now because I have a few other changes I'm going to try, but since I'm not sure that they're going to work, I thought it better to flush out the changes I've already made at this point first.

Thanks,
Charles
2012-07-15 15:17:16 -04:00
Charles
6f2635ee31 More clipboard-related fixes for Basilisk / SheepShaver
This patch fixes one lingering problem with the 64-bit clipboard code; the way it was designed, the Mac clipboard was being cleared every time a single item was being requested by GetScrap, causing clipboards with multiple items to be unceremoniously whittled down to one. On the other hand, a similar issue was causing some items to get duplicated on the host pasteboard. This patch fixes the issue by making conversion between the host pasteboard and the Mac clipboard a singular operation; when the pasteboard data changes on the host side, it is all converted and sent to the Mac pasteboard at once, and similarly, all Mac clipboard data is sent to the host pasteboard in one operation. Also, data from the host side is copied to the Mac clipboard only if it has changed since the last check, which should improve performance as conversions will not be done over and over every time the Mac side checks whether the scrap has changed.

In addition, I've added a rudimentary PICT converter. It's rudimentary at the moment, only going in one direction, converting to PICT and not from PICT, and currently it always rasterizes the source image and creates a PICT containing bitmap data. However, it's a start, and it should solve Ronald's issue with copying images from OS X to Mac OS. In the future, more could possibly be added. I've put the new PICT code in the main source directory instead of in the MacOSX subdirectory, so that it can be used by other platforms if needed.

I would like to leave the license on the new PICT code as "Public Domain" if that is okay.

Thanks,
Charles
2012-07-07 11:30:21 -04:00
Alexei Svitkine
e1d132083b Fix a logic error. 2012-07-05 22:52:39 -04:00
Alexei Svitkine
77bedb6ae2 Add a license header to autorelease.h. 2012-07-05 22:30:15 -04:00
CharlesJS
2b51d635a7 International text clipboard patch for Basilisk II and SheepShaver
This patch adds support for international text to Basilisk II / SheepShaver's clipboard support. Text copied on the host side is converted from Unicode to the format that the classic Mac OS Script Manager expects, with localized font variants used if they are available on the emulated system (unfortunately, if a localized font is not available, the text will render incorrectly due to the nature of the Script Manager). When text is copied on the emulated system, the script of the current font is used to determine the encoding of the text, and it is converted to Unicode to be pasted on the host side.

This patch supports copying and pasting text containing multiple scripts; for example, "EnglishČeský日本語", where ranges (0, 7) and (8, 3) are Roman, (7, 1) and (11, 1) are Central European, and (12, 3) is Japanese, can be freely copied and pasted back and forth between the host and emulated platforms, provided that the emulated platform has localized Central European and Japanese fonts installed.

In order to get this to work, I rewrote pretty much all of clip_macosx64.mm. The code now completely uses the Cocoa framework rather than CoreFoundation and Pasteboard Manager. Because this API now uses the Mac OS X 10.6+ version of the pasteboard API, the minimum version of OS X supported by clip_macosx64.mm is now 10.6. I think this shouldn't be a problem, since the 32-bit version still exists, but if this version needs to support older releases, let me know and I can add version-check code to do so. One of the benefits of using the modern API, however, is that our rich-text format is no longer hard-coded to the RTF format, which means we have automatic support for any other format used by the OS X pasteboard system, which as of Lion seems to include RTF, UTF-16 text, UTF-8 text, 'ut16'/'ustl', and others, and which may be supplemented by other formats in future releases of OS X.

I hope you find this patch useful.

Charles
2012-07-05 22:27:09 -04:00
Alexei Svitkine
01cc80df4e Fix leak. 2012-07-05 02:02:22 -04:00
Alexei Svitkine
dd30a26a7c Change linebreaks on clip_macosx64.mm to Unix style. 2012-07-04 23:49:06 -04:00
Alexei Svitkine
a7b82a0820 Fix warnings. 2012-07-04 22:46:57 -04:00
Alexei Svitkine
94fe1df163 Fix Mac OS X GUI configure option. 2012-07-04 22:44:24 -04:00
Alexei Svitkine
8376a21804 Fix build with SnowLeopard SDK. 2012-07-04 22:22:00 -04:00
Alexei Svitkine
005c573148 Fix some warnings. 2012-07-04 22:09:43 -04:00
Alexei Svitkine
4f63169cc9 Delete obsolete build files under src/MacOSX, which are no longer
needed since the same build can be produced from src/Unix via
./configure --enable-macosx-gui.
2012-07-03 23:02:29 -04:00
Alexei Svitkine
145f6c3d02 Copy help files into BasiliskII bundle. 2012-07-03 22:49:28 -04:00
Alexei Svitkine
be178eb152 Delete old and broken project files. 2012-07-03 22:25:54 -04:00
Alexei Svitkine
7e23caf00a Use CGIMAGEREF drawing strategy on i386 too; the NSBITMAP one appears
to be broken.
2012-07-03 22:14:32 -04:00
Alexei Svitkine
702db1dfec Allow building MacOSX GUI version from src/Unix by building with:
./configure --enable-macosx-gui

The goal is to get rid of the build files under src/MacOSX by
allowing the ones under src/Unix to produce the same outputs.

Note: This currently has video problems, but this is consistent
with what you get when building out of src/MacOSX.
2012-07-03 21:54:35 -04:00
Alexei Svitkine
6fd8f91ae4 Merge branch 'master' of https://github.com/cebix/macemu 2012-07-03 20:47:53 -04:00
Alexei Svitkine
253904f6a5 Fixing MacOSX UI build on 10.4 PPC. 2012-07-03 20:47:28 -04:00
Alexei Svitkine
42ae7000b5 Use clip_macosx64.mm for BasiliskII 64-bit builds too. 2012-07-02 00:45:59 -04:00
Alexei Svitkine
a70f9b44f1 Fix configure warning in BasiliskII's configure.ac too. 2012-07-02 00:40:08 -04:00
Alexei Svitkine
fd78a64ade Fix 32-bit Mac OS X build. 2012-07-01 00:35:06 -04:00
Alexei Svitkine
66ff591aa3 more style fixes 2012-06-30 22:23:27 -04:00
CharlesJS
ed28705ee3 Patch for copying and pasting styled text in Basilisk II / SheepShaver
Added code to parse the Classic Mac OS 'styl' resources, allowing formatted text to be copied and pasted out of SheepShaver, not just plain text. In order to do this, I made some changes to the emul_op mechanism, patching ZeroScrap() in addition to the scrap methods that were already being patched. The reason for this is that since we need to read data from multiple items that are on the clipboard at once, we cannot simply assume a zero at the beginning of each PutScrap() operation.

This patch uses RTF to store styled text on the host side; unfortunately, since the APIs to convert to and from RTF data are in Cocoa but not in CoreFoundation, I had to write the new portions in Objective-C rather than C, and changed the extension from .cpp to .mm accordingly. In the future, if we are confident that this file will only be used on Mac OS X 10.6 and up, we can rewrite the Pasteboard Manager code to use NSPasteboardReading/Writing instead. This would allow us to read and write NSAttributedString objects directly to and from the pasteboard, which would make sure we were always using the OS's preferred rich text format internally instead of hard-coding it specifically to RTF as in the current implementation.

I believe that this patch should also fix the problem Ronald reported with copying accented characters.

Since I am new to 68k assembly and the emul_op mechanism, I would appreciate if someone could double-check all my changes to make sure that I have done everything correctly.

Thanks,
Charles
2012-06-30 22:20:55 -04:00
Alexei Svitkine
3fc0e4dd98 Rename clip_macosx64.cpp to clip_macosx64.mm in preparation for a patch from Charles Srstka. 2012-06-30 21:40:16 -04:00
Alexei Svitkine
889c88d6c8 Fix inverted nocdrom check that was causing CDs not to mount. 2012-06-30 21:27:09 -04:00
Alexei Svitkine
58f4fa8425 Lock opened disk image files with O_EXLOCK (same as flock()) on
Mac OS X to prevent concurrent access from the Finder.
2012-06-25 12:56:58 -04:00
Alexei Svitkine
ac0b8e0240 Include ApplicationServices.h instead of Carbon.h in clip_macosx64.cpp. 2012-06-22 17:29:10 -04:00
Amadeusz Sławiński
9b896b12bb dangling elses
../extfs.cpp:1700:5: warning: add explicit braces to avoid dangling else [-Wdangling-else]
                } else
                  ^
../extfs.cpp:1735:3: warning: add explicit braces to avoid dangling else [-Wdangling-else]
                else
                ^
../extfs.cpp:1773:5: warning: add explicit braces to avoid dangling else [-Wdangling-else]
                } else
                  ^
../extfs.cpp:1799:5: warning: add explicit braces to avoid dangling else [-Wdangling-else]
                } else
                  ^
../extfs.cpp:1845:5: warning: add explicit braces to avoid dangling else [-Wdangling-else]
                } else
                  ^
../extfs.cpp:1898:5: warning: add explicit braces to avoid dangling else [-Wdangling-else]
                } else
                  ^
6 warnings generated.
2012-06-21 21:44:25 -04:00
Alexei Svitkine
a40257b33a Use clip_macosx64.cpp on MacOSX autoconf-based builds.
Note: Checks for __LP64__ explicitly because build/host/target
all get reported as i686-apple-darwin10.8.0 (not x86_64).

Also fixes a compile warning in clip_macosx64.cpp.
2012-06-21 21:28:55 -04:00
Alexei Svitkine
99e8914019 Add Passteboard Manager implementation of Mac OS X clipboard code.
Enabled by default for 64-bit Xcode build.

(configure changes forthcoming)

Based on patch by Jean-Pierre Stierlin <chombier@free.fr>.
2012-06-21 20:08:07 -04:00
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
cebix
a4c18a19ce fixed the "smart questions" link 2008-10-01 10:34:34 +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