Commit Graph

1528 Commits

Author SHA1 Message Date
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
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
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
1bc3691805 Removed clean rule for etherslavetool. 2013-05-05 14:18:10 -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
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