Commit Graph

2508 Commits

Author SHA1 Message Date
David Ludwig 3bae0bbda9 commented on use of SDL_SetRelativeMouseMode 2017-08-23 20:56:54 -04:00
David Ludwig 7767f128e5 fixed issue #19: on OS X, display can slide around if initial clicks are near top of screen 2017-08-23 20:52:30 -04:00
David Ludwig 5d4560c1a7 fixed issue #21, "BasiliskII, Win32: resizing a window does not stretch screen" 2017-08-19 17:45:26 -04:00
David Ludwig e49cd855c2 made windowed-mode windows be resize-able/scale-able - guest OS display size is retained, though 2017-08-15 21:47:45 -04:00
David Ludwig 109bc3979b implemented issue #7: output stdout and stderr to a log file; removed output redirection to win32 console, which was buggy 2017-08-15 21:41:59 -04:00
David Ludwig 6abc599ddf added code to help debug issue #6: made Win32 app show stdout and stderr, if and when it is run from a command prompt window 2017-08-14 21:14:34 -04:00
David Ludwig b9c9687153 bug-fix: anti-aliasing not always working 2017-08-14 14:50:05 -04:00
David Ludwig 2d035eb3e9 bug-fix: mouse cursor could get locked to top-left corner, when in fullscreen 2017-08-14 14:49:29 -04:00
David Ludwig f7fceaf096 fix Issue #18: 512x384 guest display leads to app exit-on-startup 2017-08-14 14:44:09 -04:00
David Ludwig 9116cae283 apply anti-aliasing where available and appropriate 2017-08-14 14:41:04 -04:00
David Ludwig 0e5ce49f46 fixed issue #9: maintain guest OS' aspect ratio, when in fullscreen 2017-08-14 14:26:54 -04:00
David Ludwig 80a30aeca1 HACK fix for Issue #17: Thousands of Colors not working on OSX 2017-08-14 14:08:30 -04:00
David Ludwig 53cadd7fd0 restored OSX 'DEBUG' macro to DEBUG=1 2017-08-14 13:57:11 -04:00
David Ludwig 6600081b29 build fix for OSX + Xcode 2017-08-14 13:56:36 -04:00
David Ludwig 0a7640070a finished fixing issue #16: fixed Thousands of Colors on Linux 2017-08-14 13:45:15 -04:00
David Ludwig 09c100ff42 partial fix for issue #16: color is incorrect on Linux
Thousands of Colors mode is still broken, however, Millions of Colors does work, which did not before this commit.
2017-08-14 12:48:36 -04:00
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