Commit Graph

273 Commits

Author SHA1 Message Date
Lior Halphon 24796acccf MBC7 mouse control in SDL 2022-06-10 23:51:06 +03:00
Lior Halphon 979d32faed Group keyboard and joypad controls into a submenu 2022-06-10 14:55:13 +03:00
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 851d44869f
No reason for this to be a do...while 2022-04-29 01:11:11 +03:00
offtkp dc16104cfd fixes #442 2022-03-25 02:19:46 +02:00
Lior Halphon 8073e3d39e Visual refresh, update copyright year, crush PNGs 2022-02-24 00:38:27 +02:00
Lior Halphon a4209b47d0 Be consistent with hex casing 2022-02-13 16:58:44 +02:00
Anders cead58471d
Don't determine if there is a real console with AllocConsole 2022-02-02 22:22:31 +01: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 fd8c9bba5d Detect missing ANSI support on Windows 2021-10-30 16:03:33 +03: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 2f2e469790
Merge pull request #407 from SnowyMouse/master
Handle missing background.bmp
2021-10-20 20:34:13 +03:00
Lior Halphon 004b004f98 Fix inverted key buttons in the SDL menu, fixes #401 2021-10-09 15:27:18 +03:00
Snowy 20d580881a Handle missing background.bmp 2021-09-26 23:08:13 -05: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 75d3470d55 That code made very little sense 2021-05-19 00:15:02 +03:00
Lior Halphon fcbbecea17 Fix #386 2021-05-18 20:21:21 +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 9fcdc082d2 Fix an SDL crash, minor tweak to BESS SGB 2021-04-17 16:37:55 +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 2b263937da Allow make install under FreeDesktop 2021-02-27 14:32:07 +02: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
Lior Halphon 301c0f41c2 Merge branch 'master' of https://github.com/LIJI32/SameBoy 2021-01-31 19:17:56 +02:00
Lior Halphon 6798b1f11a Use a slider for temperature in the SDL GUI 2021-01-31 19:17:48 +02: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 9e808b255c Escape now returns to the previous menu if used from a submenu in the SDL port 2020-12-27 00:03:40 +02:00
Lior Halphon 7fc59b5cf4 Let the SDL port choose a boot ROMs folder 2020-12-26 15:10:11 +02:00
Lior Halphon e1f797c212 Improved scrolling 2020-12-26 13:13:43 +02:00
Lior Halphon c471696fbb Scrollbar and mouse wheel support 2020-12-26 03:20:53 +02:00
Lior Halphon 6d5ce6c54d Better scrolling a spacing in the SDL UI 2020-12-26 01:45:03 +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
Lior Halphon abce93640c Set a default value in the struct (instead of just during sanitation) 2020-08-22 14:20:44 +03:00
Lior Halphon e307de8064
Style fixes 2020-08-22 14:16:07 +03: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 1b7c3c4c7c Minor fixes, style update 2020-05-10 22:16:49 +03:00
Rupert Carmichael 5f2c7b966f Pre-buffer audio samples before passing to SDL's queue 2020-05-09 11:49:20 -04: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 a6567d9ee1 Update old coding style 2020-04-09 14:32:52 +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 e94e7cc501 Add another color correction mode 2020-03-25 20:33:13 +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 ce5153544c Fix menu scrolling in SDL while emulating SGB 2020-01-29 20:55:17 +02:00
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