Commit Graph

156 Commits

Author SHA1 Message Date
Lior Halphon
48d3504de7 Let the core handle boot ROM selection 2020-01-29 20:29:30 +02:00
Lior Halphon
99d2c0258c Add monochrome LCD shader 2020-01-29 15:51:53 +02:00
Lior Halphon
046b09052c Add DMG color palettes (SDL), add scrolling to SDL menus 2020-01-29 15:36:19 +02:00
Pixelnarium
5a1812f237 fix SDL build 2020-01-02 10:50:55 +01:00
Lior Halphon
3882b1b4b9 Fix Windows build, hopefully fix High DPI support on Windows 10 (fixes #202) 2020-01-01 00:27:41 +02:00
Lior Halphon
7929573dc1 Refinements to the last commit 2020-01-01 00:17:54 +02:00
Lior Halphon
e434b625ea Allow the fullscreen key combo to work while in the menu 2019-12-30 16:19:06 +01:00
Anthony J. Bentley
7c9508ae96 Include the canonical SDL2 path, which drops the SDL2/ prefix.
Use pkg-config or sdl2-config to determine SDL and GL compilation flags.
2019-12-10 00:56:34 -07:00
Lior Halphon
68187d7c5f
Merge pull request #218 from ZenithMDC/SDL2-hide-mouse-cursor
SDL2: Hide mouse cursor when menu is not active
2019-11-03 21:07:50 +02:00
Lior Halphon
0bfcdafe2d
Merge pull request #217 from ZenithMDC/SDL2-viewport-bugfix
SDL2: Fix fullscreen viewport bug
2019-11-03 21:06:42 +02:00
Matthew Coppola
2f4a10913b SDL2: Hide mouse cursor when menu is not active 2019-11-03 00:35:56 -04:00
Matthew Coppola
139ae8cc08 SDL2: Write battery to disk when ROMs are hot-swapped 2019-11-02 23:50:29 -04:00
Matthew Coppola
719a92d8a4 SDL2: Fix fullscreen viewport bug 2019-11-02 23:31:23 -04:00
Lior Halphon
7d6cdf3819 Fix SGB support in SDL’s software rendering. Fixes #208 2019-10-17 21:21:10 +03:00
Lior Halphon
eb95f1de55 Fixed a bug where the SDL port loaded the incorrect boot ROM for SGB2. Made SameBoy compatible with older SDL versions. 2019-07-16 23:14:26 +03:00
Lior Halphon
6b06d07bcc More attempts to improve audio in the SDL frontend 2019-07-12 01:53:06 +03:00
Lior Halphon
080fde08b6 Improve audio quality on the SDL port by being more forgiving to system with bigger buffer sizes 2019-06-22 19:01:35 +03:00
Lior Halphon
b478b5b568 Fix bugged mouse support on some platforms 2019-06-21 17:21:11 +03:00
Lior Halphon
280f609785 Fix under clock speed (Should have been 0.5, but ended up as ~0.4 due to rounding errors) 2019-06-19 22:25:59 +03:00
Lior Halphon
e268efefef Redesign and reimplement the audio API, let the frontends handle more stuff. Probably affects #161 2019-06-15 23:22:27 +03:00
Lior Halphon
083b4a2970 Fix joypad hat input in the menu in the SDL port 2019-06-15 12:53:00 +03:00
Lior Halphon
e2ef8dbbe0 Fix the GUI on some Windows 10 machines (Intel HD?). Fixes #112 2019-06-09 18:43:23 +03:00
Lior Halphon
2f9de4942c Increase input polling frequency in the Cocoa and SDL frontends, should make inputs look less synthetic and potentially reduce input lag 2019-06-07 18:27:25 +03:00
Lior Halphon
cdc36f329e Added open dialog to the SDL GUI, misc fixes 2019-06-01 14:29:46 +03:00
Lior Halphon
f9cc7a3b46 Fix SDL mouse support in SGB mode 2019-05-31 18:50:02 +03:00
Lior Halphon
54c353830f SDL GUI mouse support 2019-05-31 18:33:51 +03:00
Lior Halphon
e12e03d9c2 SGB revision selection in the SDL port 2019-05-18 20:37:41 +03:00
Lior Halphon
3e724afb0a Basic SGB support in the SDL port 2019-05-18 18:45:31 +03:00
Lior Halphon
6160f513aa CRT filter 2018-11-19 18:52:11 +02:00
Lior Halphon
7ffed9c43c Reconnect the joypad when SameBoy starts directly to a ROM (fixes #131) 2018-11-10 19:39:57 +02:00
Lior Halphon
453673a2a6 Apply the SDL 2.0.6 audio workaround to everything except Windows, check the linked version instead of the headers version. Fixes #130 2018-11-10 18:58:42 +02:00
Lior Halphon
969fb5a9d8 Merge branches 'master' and 'master' of https://github.com/LIJI32/SameBoy 2018-11-10 16:33:04 +02:00
Lior Halphon
bc48c9bc26 Added command line fullscreen flag to the SDL port, closes #126 2018-11-10 16:32:45 +02:00
NieDzejkob
91904df5e8
Add a build-time option to change the resources directory.
Normally, SameBoy would use executable-relative paths for any
resource files, which posed problems for packaging the software
by distributions, which usually prefer FHS-compliant file locations.

This commit makes it possible to specify an alternative base
directory with a compile-time environment variable.
2018-11-09 23:20:57 +01:00
Lior Halphon
045c863117 Fixed Windows build 2018-06-29 13:05:08 +03:00
Lior Halphon
32443a9675 Improved analog stick controls in both ports. Affects #34? 2018-06-26 19:36:14 +03:00
Lior Halphon
3a4ed6fd40 Made SDL menus more consistent between keyboards and joypads (Closes #35) 2018-06-23 22:36:29 +03:00
Lior Halphon
82436ad838 Added proper joypad configuration in SDL (Closes #33), can now use Rewind/Slow-Motion from the joypad. 2018-06-23 22:27:05 +03:00
Lior Halphon
1915365b1a Added rewind and underclocking support to the SDL port. Joystick controls to be done. 2018-06-23 00:10:28 +03:00
Lior Halphon
45c73e0175 Replaced the is_cgb bool with a more future compatible model enum. Removed the GB_init_cgb API and replaced it with an extended GB_init and GB_switch_model_and_reset APIs that now receive a model parameter. Increased the struct version. 2018-06-16 13:59:33 +03:00
Lior Halphon
c6dba26d02 Simplify shaders 2018-06-15 18:08:54 +03:00
Nadia Pedersen
6f1070cccd SDL: Add controller hat support in-game and in the GUI. 2018-06-03 00:21:43 +02:00
Lior Halphon
80c92daacd Include cleanup (#73) 2018-05-27 19:30:23 +03:00
Lior Halphon
4527d9ee39 Styling fixes, fixed bugs caused by a rebellious brace, removed debug prints 2018-05-11 13:29:58 +03:00
Lior Halphon
9a29beb189 Merge commit '8f3fc1c2ade3c1c632cd3f3998ee26d2962e4dea'
# Conflicts:
#	SDL/main.c
2018-05-11 13:26:30 +03:00
Lior Halphon
6b6c25635a Merge commit '240730417774174315c2f7c148393834eb3297eb' 2018-05-11 13:11:53 +03:00
Lior Halphon
bfc96abf8f Make save state names consistent across the Cocoa and SDL port 2018-05-11 12:51:15 +03:00
Lior Halphon
feaa0d0654 Merge commit '7fe86cec59c1143275ffb7fc07b6716ae0116033' 2018-05-11 12:50:53 +03:00
Lothar Serra Mari
8f3fc1c2ad Fix check for SDL2 version 2018-04-22 16:20:11 +02:00
Lothar Serra Mari
ca571c6fa5 SDL2: Update to SDL_OpenAudioDevice()
Instead of the legacy SDL_OpenAudio() method, we now use the newer
SDL_OpenAudioDevice() functions. This fixes audio in Windows if the SDL
version is 2.0.6 or higher.

It also allows us to use 48kHz audio for Windows (96kHz somewhat works
too, but since we don't get absolutely smooth audio with it, I'd stick
with 48kHz for now until we find a solution. 44.1Khz is available as
fallback for SDL 2.0.5 and lower. Yes, the 2.0.5 to 2.0.6 transition was
quite harsh in terms of Windows audio support...
2018-04-22 15:22:10 +02:00
Lothar Serra Mari
2407304177 SDL2: Write battery file information before issueing RESET_COMMAND
Before performing the GB reset, we should perform a GB_save_battery.

Otherwise, resetting the emulation will kill ("kill" as in simply don't
write them into the .sav) all changes made to the battery save since
sameboy was started.
2018-04-19 16:47:54 +02:00
Lothar Serra Mari
7fe86cec59 Fix savestates in SDL2 port
Because SDL_SCANCODE_0 comes *after* SDL_SCANCODE_9 in the SDL keycode
table, we have to check if the keycode is between >=1 and <=0. We also
have to substract SDL_SCANCODE_1 in order to set command_parameter
properly.

Errata: Currently, the savestate created with CTRL+0 is created, but
refuses to load on Windows (working fine on Linux).
2018-04-19 14:52:36 +02:00
Lothar Serra Mari
9343d8162d Add fullscreen mode for the SDL2 port 2018-04-18 19:22:08 +02:00
Lior Halphon
96063fb0da Fixed Windows build, added Unicode support in Windows. 2018-03-28 21:59:27 +03:00
Lior Halphon
fd2e169dc9 Seems like the audio bug introduced in SDL 2.0.5 for macOS wasn’t fixed. 2018-03-27 23:05:08 +03:00
Panda Habert
980acc3fb8
Make the last option's purpose more explicit
I mistook it several times for the option to exit the menu :/
2018-02-26 02:27:50 +01:00
Lior Halphon
d0202a3f9a Added LCD graphics filter; emulates low-resolution LCD artifacts 2018-02-17 20:43:48 +02:00
rootfather
8f56da465a SDL: Fix typo in the GUI 2018-02-03 16:35:50 +01:00
connor rigby
ce31de47cb Fix loading game from command line. 2018-01-22 12:25:27 -08:00
Lior Halphon
5c16d0e656 Added model selection GUI in the SDL port. Closes #24 2018-01-13 13:49:20 +02:00
Lior Halphon
59d4cb4bc2 Make menu key more obvious on the SDL port 2018-01-13 13:02:07 +02:00
Lior Halphon
2205493862 Bug fixes in the SDL port 2017-12-30 17:07:05 +02:00
Lior Halphon
d3a2e49d38 Merge branch 'sdl_gui' into libretro_core
# Conflicts:
#	Makefile
#	SDL/main.c
2017-12-29 13:12:12 +02:00
Lior Halphon
600f0eadd9 Better Windows and Linux compatibility 2017-12-29 13:06:38 +02:00
Lior Halphon
3d8e22ed50 Use SDL’s OpenGL headers 2017-12-29 11:35:09 +02:00
Lior Halphon
b1edf540d8 Handle failures to create an OpenGL context better 2017-12-29 00:43:19 +02:00
Lior Halphon
ca92c51f51 Save user configuration 2017-12-28 21:46:59 +02:00
Lior Halphon
effc02ce8e Use SDL_GetBasePath for better portability 2017-12-28 20:29:15 +02:00
Lior Halphon
61f9dbd95d Use SDL’s key mapping when available 2017-12-28 20:22:54 +02:00
Lior Halphon
c559a308ad Slightly improved background 2017-12-27 23:20:06 +02:00
Lior Halphon
dc59fdf40e Highpass filter in SDL 2017-12-23 22:11:53 +02:00
Lior Halphon
3c1a805770 Frame blending 2017-12-23 22:11:53 +02:00
Lior Halphon
d262dde71a Scaling filters in SDL 2017-12-23 22:11:53 +02:00
Lior Halphon
c03ccba8db Basic Joypad support 2017-12-23 22:11:43 +02:00
Lior Halphon
f48194f480 Added configurable controls 2017-12-22 22:25:53 +02:00
Lior Halphon
8e61098fec Use scan codes instead of key symbols 2017-10-14 20:24:13 +03:00
Lior Halphon
47d5b485d4 Better controls and visuals for settings 2017-10-14 17:08:52 +03:00
Lior Halphon
2dfe22e834 Added graphics options menu, fixed issues with exiting not saving battery in some cases 2017-10-14 14:10:26 +03:00
Lior Halphon
c66e9a06cf Added basic menu 2017-10-14 01:41:51 +03:00
Lior Halphon
bbd3b7e550 Got rid of -ICore 2017-10-13 00:02:02 +03:00
Lior Halphon
947c62bea9 Oops 2017-10-04 13:14:37 +03:00
Lior Halphon
9cc8b3320a Starting to add a GUI to the SDL port 2017-10-04 12:43:31 +03:00
Lior Halphon
bbd2ca8ddf Fixed Linux compilation 2017-06-16 01:25:39 +03:00
Lior Halphon
1e228e1d9b Fixed a bug where the SDL port exited on “warning” logs when loading ROMs 2017-05-27 19:16:07 +03:00
Lior Halphon
6e7ab3558a Use a smaller audio buffer size if supported. 2017-05-27 12:29:36 +03:00
Lior Halphon
ece1a11a23 SDL port: GUI-based error reporting, added help dialog (? on macOS, F1 on everything else) 2017-05-25 23:28:48 +03:00
Lior Halphon
4d5dc6a30e Cleanup 2017-05-24 21:44:43 +03:00
Lior Halphon
52e99adc32 SDL port: Resizing, resizing modes, and pause support 2017-05-24 20:33:39 +03:00
Lior Halphon
00439f4d49 SDL port: added drag and drop support, added model switch command, fixed macOS audio 2017-05-23 23:18:16 +03:00
Lior Halphon
bef89c6604 Upgraded Sameboy-SDL to SDL2, fixed Windows build, fixed save states in SDL, added reset and mute to SDL. The SDL port now renders via OpenGL. 2017-05-21 21:45:19 +03:00
Lior Halphon
3feaeb153e New turbo related APIs, Quick Look no longer requires GB_INTERNAL 2017-04-19 21:55:58 +03:00
Lior Halphon
a925ef130d Stabilizing API: New joypad, debugger and reset APIs; internal APIs and direct struct access are no longer available without defining GB_INTERNAL. The SDL port uses the new “public” APIs, as well as most of the non-debug Cocoa code. 2017-04-17 20:16:17 +03:00
Lior Halphon
b0dfb8c5ac Added built-in IO-Register symbols 2017-02-20 14:37:15 +02:00
Lior Halphon
e7626535a8 Initial Windows support 2016-08-20 17:51:17 +03:00
Lior Halphon
0fbc72f197 SDL save states 2016-07-18 14:37:06 +03:00
Lior Halphon
b30822fd0b Async commands in SDL port, better handling of ^C and ^D 2016-07-18 13:10:19 +03:00
Lior Halphon
67f3a3a9d8 Symbol support in SDL port 2016-07-17 23:08:07 +03:00
Lior Halphon
9d53760016 Fixing Linux build 2016-07-17 22:43:23 +03:00
Lior Halphon
70bd90740a Mass name and type changes. Save states are now compatible between 32- and 64-bit systems. Maybe. 2016-06-18 20:29:11 +03:00
Lior Halphon
3e1863ec51 Battery save support in the SDL version 2016-06-10 15:48:40 +03:00