Commit Graph

173 Commits

Author SHA1 Message Date
Lior Halphon 197a475fab SDL Joypad controls for MBC7 games 2022-06-10 14:37:28 +03:00
Lior Halphon 95f5eeb40b Add audio recording to SDL 2022-05-21 18:18:34 +03:00
Lior Halphon a7f7530eed Preparation for future AGB-0 and B support 2022-01-30 18:11:35 +02:00
Maximilian Mader 13e0b90b47
[SDL] Fix loading of the configured DMG palette
There are four options for the DMG color palette:
- Greyscale
- Lime (Game Boy)
- Olive (Pocket)
- Teal (Light)

When loading the configuration from the `prefs.bin`
the configured `dmg_palette` gets normalized by applying
`mod 3` to it, limiting the possible values to [ 0, 1, 2 ],
thus selecting the “Teal” color palette will be saved as such,
but the next time the config gets loaded it gets reset to Greyscale.
2022-01-20 19:15:08 +01:00
Lior Halphon f237b1e9b9 CGB-0 support 2021-11-04 00:35:44 +02:00
Lior Halphon 1f7b20251b Improved sanitation for save states for better security and stability 2021-10-30 16:03:13 +03:00
Lior Halphon 18007f0e53 MGB support 2021-10-23 23:28:54 +03:00
Lior Halphon c25c94d142 Minor improvements to console behavior on startup 2021-09-10 14:17:07 +03:00
Lior Halphon c5d91fc448 New console readline-like interface for the SDL port 2021-09-09 00:13:09 +03:00
Lior Halphon d8a9f12a4f Smooth scrolling in the SDL port on macOS 2021-09-06 15:21:02 +03:00
Lior Halphon 94add1d172 Add "Harsh Reality" color correction mode 2021-06-25 19:57:56 +03:00
Lior Halphon a2d34c9bd9 Add -s/--stop-debugger flag to SDL, closes #392 2021-06-25 17:12:05 +03:00
Lior Halphon ebb0cb5e81 Added optional OSD (SDL) 2021-05-30 23:39:59 +03:00
Lior Halphon 3ed18a76da Added optional OSD (Cocoa) 2021-05-30 20:55:04 +03:00
Lior Halphon c944142b36 Fall back to .snX if no .sX save state found 2021-05-07 00:33:04 +03:00
Lior Halphon a4a8ad00d5 Display usage on invalid options 2021-05-06 00:26:45 +03:00
Lior Halphon 0dff3ef144 A flag to disable OpenGL, better and more stable handling of no-OpenGL mode 2021-05-06 00:23:46 +03:00
Lior Halphon 2078c2a8fb Use semantic popup icons instead of always using error 2021-04-15 02:42:31 +03:00
Lior Halphon 8a84a5897e Allow drag&drop of state files 2021-04-14 15:20:01 +03:00
Lior Halphon bae91cdb1d Add RTC option to the SDL port, fix a bug where rewind setting didn't update 2021-02-26 01:04:24 +02:00
Johan Kotlinski 1a87c452b7 exit with error message instead of crash when a window cannot be opened 2021-02-14 01:31:49 +01:00
phobos2390 bbfd16f63d Fix for tolower extension signed char issue 2021-01-25 23:37:46 -07:00
Lior Halphon 5c854dbdca Interference emulation 2020-12-31 00:07:04 +02:00
Lior Halphon 7fc59b5cf4 Let the SDL port choose a boot ROMs folder 2020-12-26 15:10:11 +02:00
Lior Halphon 159d9d0348 Color temperature control 2020-12-25 14:17:57 +02:00
Lior Halphon aa2bdf2a1c Better support for non-QWERTY Latin layouts 2020-12-23 23:50:19 +02:00
Nadia Holmquist Pedersen cc37632714 Remove printf 2020-08-19 06:15:36 +02:00
Nadia Holmquist Pedersen 012b9a2ba0 SDL: Make default window scale configurable 2020-08-06 03:08:19 +02:00
Lior Halphon b7a9039e50 Sanitize SDL preferences for cross-version stability 2020-06-03 21:06:47 +03:00
Lior Halphon f1442b0ea6 Attempt to add rumble support to SDL. Who knows it might work. 2020-05-24 23:04:36 +03:00
Lior Halphon 8d016f19d2 Move the audio code to a different file 2020-04-28 20:01:22 +03:00
Lior Halphon 0534b091a5 Fix SDL 2020-04-25 23:11:29 +03:00
Lior Halphon 9e99ce434e Allow loading .RAM files 2020-04-25 23:09:08 +03:00
Lior Halphon 152924e13f Add support to the ISX format, including symbols 2020-04-25 22:48:48 +03:00
Lior Halphon 0cf168f32b Fixing inconsistent style 2020-04-24 20:37:57 +03:00
Lior Halphon d75b7c0023 Feature request; allow loading prefs.bin relatively 2020-03-28 22:56:19 +03:00
Lior Halphon 9f3bffd4dd Add volume control to SDL 2020-03-27 19:10:42 +03:00
Lior Halphon 5ecb845662 Add accurate frame blending option 2020-03-26 20:54:18 +02:00
Lior Halphon 103caa56e1 Allow displaying borders outside of SGB emulation, including borrowing SGB border. Allow not displaying SGB borders. (Todo: libretro support) 2020-02-08 13:28:46 +02:00
Lior Halphon 48d3504de7 Let the core handle boot ROM selection 2020-01-29 20:29:30 +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
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 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 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 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 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 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 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
Nadia Pedersen 6f1070cccd SDL: Add controller hat support in-game and in the GUI. 2018-06-03 00:21:43 +02: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
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 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 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 61f9dbd95d Use SDL’s key mapping when available 2017-12-28 20:22:54 +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 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