Commit Graph

881 Commits

Author SHA1 Message Date
Dave Vasilevsky
4dd7f9236f Change GUI object extension, so GCC doesn't think we're Go 2014-03-05 20:11:55 -05:00
Alexei Svitkine
a3abfdc041 Fix building Obj-C code with SDK >= 10.6. 2014-01-05 10:16:51 -05:00
Alexei Svitkine
86c50b78fe update sheepthreads.c to work with newer PPC Linux distros
Patch by "Kernigh" posted on emaculation.com forums.
2013-11-05 22:39:34 -05:00
Alexei Svitkine
43779be775 Merge branch 'master' of https://github.com/cebix/macemu 2013-08-12 18:48:57 -04:00
Alexei Svitkine
56db3ed482 add xcode build instructions doc, based on my original email to
the basilisk list
2013-08-12 18:48:34 -04:00
Dave Vasilevsky
3914fd4a20 Mac: Allow selecting bundles in the disk prefs
Users should be able to select sparsebundles in the disk prefs, but should
still be able to navigate inside .sheepvm bundles.

See https://github.com/cebix/macemu/pull/25#issuecomment-15900806
2013-08-10 22:11:22 -04: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
Dave Vasilevsky
47ec992f6d Make the standalone GUI build on Linux again 2013-04-05 17:30:23 -04:00
Dave Vasilevsky
d23a421a49 Work even if TRUE is undefined 2013-03-27 03:38:59 -04:00
Hans de Goede
d6416e2d07 don't strip SS when installing 2013-03-12 19:05:07 -04:00
Hans de Goede
469dce168d fix whitespace issue in configure.ac 2013-03-12 19:02:33 -04:00
Alexei Svitkine
9f5d67497d update xcode project for sparsebundle support 2013-03-12 18:50:44 -04:00
Dave Vasilevsky
b05e0ba074 sparsebundle: Fix spacing in Makefile 2013-03-11 17:16:32 -04:00
Dave Vasilevsky
9f77458b75 Fix spacing 2013-03-03 17:05:02 -05:00
Dave Vasilevsky
17aabc4c40 Generify vhd, too 2013-02-24 15:57:18 -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
Alexei Svitkine
407edc8bfd Cleanup shm cleanup code. 2012-09-02 11:29:16 -04:00
Alexei Svitkine
77862b2103 Update version in version.h too. 2012-07-07 21:25:44 -04:00
Alexei Svitkine
3ddc4ff65d Make version number show up in Finder's get info and update Xcode project. 2012-07-07 14:08:38 -04:00
Alexei Svitkine
6d5a8230e6 Bump SheepShaver version to 2.4. 2012-07-07 11:51:31 -04:00
Alexei Svitkine
f32285ca47 Update SheepShaver xcode project for pict.c/pict.h addition 2012-07-07 11:39:56 -04:00
Alexei Svitkine
ea862c2bea Include pict.c and pict.h in 'make links'. 2012-07-07 11:33:57 -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
68e71eb93e Update SheepShaver.xcoeproj to require 10.6 SDK for 64-bit code. 2012-07-05 22:30:40 -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
4d5ed80740 dyngen: Fix more leaks. 2012-07-01 13:52:45 -04:00
Alexei Svitkine
a3a45f54e9 dyngen: Don't leak func_name on realloc and fix indentation. 2012-07-01 13:48:09 -04:00
Alexander von Gluck IV
668b8f14ba dyngen: Don't leak func_name if realloc fails 2012-07-01 13:46:12 -04:00
Alexander von Gluck IV
612761981f dyngen: Don't leak already malloc'ed demangled_name 2012-07-01 13:27:56 -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
b1d756ce96 Ignore Info.plist. 2012-06-21 21:55:53 -04:00
Amadeusz Sławiński
8d5dc328e1 struct to class
In file included from ../kpx_cpu/sheepshaver_glue.cpp:32:
In file included from ../kpx_cpu/src/cpu/ppc/ppc-cpu.hpp:24:
../kpx_cpu/include/basic-cpu.hpp:50:1: warning: struct 'task_struct' was previously declared as a class [-Wmismatched-tags]
struct task_struct;
^
../kpx_cpu/include/task-plugin.hpp:27:7: note: previous use is here
class task_struct;
      ^
In file included from ../kpx_cpu/sheepshaver_glue.cpp:32:
In file included from ../kpx_cpu/src/cpu/ppc/ppc-cpu.hpp:24:
../kpx_cpu/include/basic-cpu.hpp:52:1: warning: 'basic_cpu' defined as a struct here but previously declared as a class [-Wmismatched-tags]
struct basic_cpu
^
../kpx_cpu/include/task-plugin.hpp:29:1: note: did you mean struct here?
class basic_cpu;
^~~~~
struct
../kpx_cpu/sheepshaver_glue.cpp:725:13: warning: unused function 'dump_log' [-Wunused-function]
static void dump_log(void)
            ^
3 warnings generated.
2012-06-21 21:51:52 -04:00
Alexei Svitkine
70f9c4dab9 Remove unused labels. 2012-06-21 21:48:32 -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
8c9f1475d5 Ignore Darwin utils. 2012-06-19 00:41:01 -04:00
Alexei Svitkine
1bded034ad Support more reloc types in dyngen.c. 2012-06-19 00:17:30 -04:00
Amadeusz Sławiński
512c2f5288 Fix warning when doing ./autogen.sh
+ Running autoheader: configure.ac:1393: warning: AC_CACHE_VAL(ac_cv_gcc_no_strict_aliasing, ...): suspicious presence of an AC_SUBST in the second argument, where no actions should be taken
2012-06-18 20:35:57 -04:00
Alexander von Gluck IV
5dc5f50d46 UNIX main: don't set int to NULL 2012-06-18 20:33:30 -04:00
Alexei Svitkine
ece0a03798 Ignore Xcode build files. 2012-06-18 19:14:19 -04:00
Alexei Svitkine
681a9aa5c1 Ignore dyngen files generated by Xcode build. 2012-06-18 19:11:43 -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
d3787c146f force inlining to fix building with newer versions of gcc 2012-06-18 05:09:46 +00:00
asvitkine
d3267154c8 check for sys/stropts.h and stropts.h headers 2012-06-17 23:14:11 +00:00
asvitkine
8db4abc28d [Alexander von Gluck IV] BeOS: Fix missing ;
4fb0f92aaf065276712a36cb169081ebc41eeeb4
From: Alexander von Gluck IV <kallisti5@unixzen.com>
Date: Sun, 17 Jun 2012 03:47:26 +0000
Subject: [PATCH] Haiku: Fix missing ;
2012-06-17 16:52:58 +00:00
asvitkine
6566ae16fa Dump PPC disassembly on crash 2012-06-16 02:16:40 +00:00