Commit Graph

1418 Commits

Author SHA1 Message Date
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