Commit Graph

2505 Commits

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