Commit Graph

3000 Commits

Author SHA1 Message Date
David Ludwig
d871b70240 fixed issue #12: make autotools test for SDL2 2017-08-14 12:28:10 -04:00
David Ludwig
99f50637e1 possible fix for Issue #13: replace SDL_CreateRGBSurfaceWithFormat calls with older + backwards-compatible SDL_CreateRGBSurface calls 2017-08-14 12:01:34 -04:00
David Ludwig
1a59a5e6f4 Merge branch 'master' of https://github.com/cebix/macemu 2017-08-14 11:35:43 -04:00
David Ludwig
c6fefd0750 fixed issue #1: SDL2 backend did not support 2 or 4 bit color, in guest OS 2017-08-10 12:31:41 -04:00
David Ludwig
251c185dcd renamed variables in SDL2 backend, for improved readability 2017-08-10 10:57:58 -04:00
asvitkine
5bbdb4f864 Merge pull request #116 from atsampson/master
Use ucontext_t instead of struct ucontext
2017-08-09 21:58:11 -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
eadd2951b7 added gitignore settings for Jetbrains' IDEs 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
asvitkine
ac4955dcb9 Merge pull request #112 from dmac100/relative_mouse
SDL: Use relative mouse values when grabbed.
2017-07-21 00:14: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