DevSnes9x 1.6()1 21/03/2023 (e1eb7ea/SVN2550)
Snes9x 1.62
- Fixed SA1 division with negative dividend again. (Atari2)
- Fixed timing on several instructions. (pi1541)
- MSU1 audio with no loop point will not repeat from start.
- Modernized some old memory-related code.
- Fixed a desynchronization in interlaced modes and reporting.
- Remove SA1 access to WRAM.
- Added second set of registers between S-DSP and S-SMP. Fixes
- PAL version of Virtual Bart.
Gtk + Windows:
- Added a Vulkan graphics output method. Similar to OpenGL, this
- can use libretro's slang shaders.
- Changed the automatic frame skip throttle to take place immediately
- before showing the frame, making VRR work better.
- Add menu item to clear recent files entries.
- Add fixed window size changes up to 10x.
Windows:
- Improved the shader parameters dialog with sliders and resize.
- Allow disabling adding registry entries. Deletes any existing
- entries when the option is disabled.
Gtk:
- Switched to CMake for build system. Removed meson.
- Fixed some keys not working with modifiers. (Gutawer)
- Removed graphics options most people won't understand or need.
- Improved wayland support. Handle fractional DPI properly.
DevSnes9x 1.6()1 13/03/2023 (cc0a877/SVN2422)
DevSnes9x 1.6()1 24/02/2023 (1e58825 /SVN2298)
DevSnes9x 1.6()1 17/02/2023 (4d3b5e9/SVN2280)
DevSnes9x 1.6()1 18/01/2023 (SVN2208)
DevSnes9x 1.6()1 6/11/2022 (SVN2204)
Power Instinct (Atlus Software Inc., 1994)
DevSnes9x 1.6()1 8/09/2022 (SVN2193)
Ignition Factor (Jaleco USA, Inc., Jan, 1995)
SVN
Revision 2550 / e1eb7ea
Author: bearoso | Date: wtorek, 21 marca 2023 21:45:16
- Gtk: Fix up some internationalization problems.
Revision 2549
Author: bearoso | Date: poniedziałek, 20 marca 2023 22:16:43
- libretro: Get rid of EndScreenRefreshCallback.
- Just use S9xSyncSpeed, which was there all along.
Revision 2548
Author: bearoso | Date: poniedziałek, 20 marca 2023 22:02:36
- Move S9xSyncSpeed call.
- DMA can last multiple frames, and so can S9xMainLoop. If we throttle outside of S9xMainLoop or only as we're exiting the loop as is currently done, we zoom through multiple frames and overrun the audio. Moving S9xSyncSpeed just after EndScreenRefresh causes it to be called every frame. This seemingly wasn't a problem because throttling with vsync *did* happen every frame regardless. Oops.
Revision 2547
Author: bearoso | Date: poniedziałek, 20 marca 2023 20:55:31
Revision 2546
Author: bearoso | Date: niedziela, 19 marca 2023 20:43:52
- Zero SRAM for Super Formation Soccer 95 - della Serie A.
Revision 2545
Author: bearoso | Date: piątek, 17 marca 2023 23:13:46
- win32: Set OGLDisablePBOs to true by default.
Revision 2544
Author: ov2 | Date: piątek, 17 marca 2023 00:51:47
- win32: remove remains of old frame timer
Revision 2543
Author: ov2 | Date: piątek, 17 marca 2023 00:46:55
- win32: fix speed up / down
Revision 2542
Author: ov2 | Date: piątek, 17 marca 2023 00:17:20
- win32: use strings in S9xGetFilenameInc
Revision 2541
Author: ov2 | Date: czwartek, 16 marca 2023 23:46:25
- win32: directly return string
Revision 2540
Author: bearoso | Date: czwartek, 16 marca 2023 22:57:09
- Update changes.txt a bit.
Revision 2539
Author: bearoso | Date: czwartek, 16 marca 2023 22:28:04
- Update some copyrights and version strings.
Revision 2538
Author: bearoso | Date: czwartek, 16 marca 2023 22:06:57
- win32: Use UTF-8 on rom name in info dialog.
Revision 2537
Author: bearoso | Date: czwartek, 16 marca 2023 21:21:41
- Adjust snapshot to load old DSP data.
Revision 2536
Author: bearoso | Date: czwartek, 16 marca 2023 20:42:23
- SPC<-->DSP use two sets of registers.
Revision 2535
Author: bearoso | Date: środa, 15 marca 2023 22:26:45
- win32: Fix bug with multiple drive paths.
Revision 2534
Author: bearoso | Date: środa, 15 marca 2023 21:54:43
- win32: Don't allow Vulkan and OpenGL to be used in the same session.
Revision 2533
Author: bearoso | Date: środa, 15 marca 2023 21:47:35
- Revert "win32: Make changes to display driver not occur until restart."
- This reverts commit 39e21410d80eb49a315469b982487153119bb9ce.
Revision 2532
Author: bearoso | Date: środa, 15 marca 2023 21:07:20
Revision 2531
Author: bearoso | Date: środa, 15 marca 2023 21:02:08
- Apply SafeString to ROMName here as well.
Revision 2530
Author: bearoso | Date: środa, 15 marca 2023 20:58:07
- Disable std::filesystem implementation in fscompat.cpp.
Revision 2529
Author: ov2 | Date: środa, 15 marca 2023 20:57:55
Revision 2528
Author: bearoso | Date: wtorek, 14 marca 2023 22:01:35
- New hq2x: Fix ambiguity with abs and credit near.
Revision 2527
Author: bearoso | Date: wtorek, 14 marca 2023 21:44:23
- Update hqxx filters to adapted version from FFmpeg.
- Compiles much faster and is roughly the same speed.
Revision 2526
Author: bearoso | Date: poniedziałek, 13 marca 2023 22:47:08
- libretro: Fix CFLAGS including CXXFLAGS.
Revision 2525
Author: bearoso | Date: poniedziałek, 13 marca 2023 21:49:11
- Merge pull request #712 from Yoshimaster96/master
- Add proper support for SuperFX 8MB ROM emulation
Revision 2524
Author: yoshimaster96 | Date: niedziela, 1 sierpnia 2021 00:33:31
- Add proper support for SuperFX 8MB ROM emulation
- This code adds support for SuperFX ROMS which use the extended 6MB CPU ROM region specified by the official SNES documentation. It's not super well-tested though.
Revision 2523
Author: bearoso | Date: poniedziałek, 13 marca 2023 19:57:30
- win32: Add fullscreen on ROM open option.
Revision 2422 / cc0a877
Author: ov2 | Date: niedziela, 12 marca 2023 23:59:39
- win32: remove unneccessary function
Revision 2421
Author: ov2 | Date: niedziela, 12 marca 2023 18:03:42
- win32: restore rom name in info dialog
Revision 2420
Author: ov2 | Date: niedziela, 12 marca 2023 17:42:30
- Support patches in ROMFILENAME_DIR
- Priority is as before: ROMFILENAME_DIR, ZIP, PATCH_DIR
Revision 2419
Author: ov2 | Date: niedziela, 12 marca 2023 17:42:30
- Fix ips sequences in patch dir
Revision 2418
Author: ov2 | Date: niedziela, 12 marca 2023 17:42:30
- Stop if ips sequence was found
Revision 2417
Author: bearoso | Date: niedziela, 12 marca 2023 17:10:02
- Add menu items to scale windows up to 10x.
Revision 2416
Author: ov2 | Date: niedziela, 12 marca 2023 14:12:24
- Use splitpath in CheckForAnyPatch (fixes extensions != 3 characters)
Revision 2415
Author: ov2 | Date: niedziela, 12 marca 2023 14:12:24
- win32: make shader params part of IS9xDisplayOutput, add override
- specifier
Revision 2414
Author: ov2 | Date: niedziela, 12 marca 2023 14:12:24
- win3: use precalculated values
Revision 2413
Author: bearoso | Date: niedziela, 12 marca 2023 01:06:42
- win32: Add "Clear List" option to recent menu.
Revision 2412
Author: bearoso | Date: niedziela, 12 marca 2023 00:46:40
- Gtk: Add clear recent items item.
Revision 2411
Author: bearoso | Date: sobota, 11 marca 2023 23:47:07
- Gtk: Multiple assignment syntax.
Revision 2410
Author: bearoso | Date: sobota, 11 marca 2023 21:36:13
- Merge pull request #753 from Felipefpl/master
- Updated brazilian portuguese translation
Revision 2409
Author: felipe | Date: czwartek, 31 marca 2022 19:05:49
- Updated brazilian portuguese
Revision 2408
Author: bearoso | Date: sobota, 11 marca 2023 00:56:53
- win32: Make snapshot preview window work in fullscreen.
- This could be system specific, but it works for me now.
Revision 2407
Author: bearoso | Date: sobota, 11 marca 2023 00:26:35
- Update SPIRV-Cross to bleeding edge.
Revision 2406
Author: bearoso | Date: sobota, 11 marca 2023 00:24:40
- Update glslang to bleeding edge.
Revision 2405
Author: bearoso | Date: sobota, 11 marca 2023 00:08:12
- Add vulkan headers back as a submodule.
Revision 2404
Author: bearoso | Date: sobota, 11 marca 2023 00:04:32
- Remove vulkan-headers from tree directly.
Revision 2403
Author: bearoso | Date: piątek, 10 marca 2023 21:32:10
- win32: Fix compilation errors with VS/Clang.
Revision 2402
Author: bearoso | Date: środa, 8 marca 2023 21:40:15
- win32: Better solution for registry entries.
- Add by default, but remove them when box is unchecked.
Revision 2401
Author: bearoso | Date: środa, 8 marca 2023 21:31:55
- win32: Ask about registry keys on first start. Also...
- add a command-line option to remove these keys.
Revision 2400
Author: bearoso | Date: środa, 8 marca 2023 20:33:15
- snapshot: Keep compatibility with version 11.
Revision 2399
Author: michael.buckley | Date: środa, 8 marca 2023 19:23:32
- Fix Mac build after Vulkan changes
Revision 2398
Author: bearoso | Date: wtorek, 7 marca 2023 21:50:23
- Gtk: Remove meson remnant.
Revision 2397
Author: bearoso | Date: wtorek, 7 marca 2023 21:45:51
- Merge pull request #818 from snes9xgit/vulkan
- Merge Vulkan branch into master.
Revision 2396
Author: bearoso | Date: wtorek, 7 marca 2023 21:06:59
- Gtk: Refresh window canvas when first displayed.
- Wayland/OpenGL doesn't receive a redraw cue after Gtk resizes the
- window and it scales a 256x224 corner of the larger surface up with
- the viewport extension.
Revision 2395
Author: bearoso | Date: wtorek, 7 marca 2023 21:01:29
- win32: Fix a couple of standards problems.
Revision 2394
Author: bearoso | Date: wtorek, 7 marca 2023 21:01:29
- Gtk/OpenGL: Remove npot variable.
Revision 2393
Author: bearoso | Date: wtorek, 7 marca 2023 21:01:29
- Gtk/Wayland: Don't require libwayland >= 1.20.
- Used old version of wayland-scanner to generate protocol files.
Revision 2392
Author: bearoso | Date: wtorek, 7 marca 2023 21:01:29
- Pass offset onto patch function.
Revision 2391
Author: bearoso | Date: wtorek, 7 marca 2023 21:01:29
- Gtk: Add missing Wayland protocol files.
Revision 2390
Author: bearoso | Date: wtorek, 7 marca 2023 21:01:29
- Gtk/OpenGL/Wayland: Support fractional scale.
Revision 2389
Author: bearoso | Date: wtorek, 7 marca 2023 21:01:29
- Gtk/Wayland: Support fractional scale.
Revision 2388
Author: bearoso | Date: wtorek, 7 marca 2023 21:01:29
- Change S9xInterlaceField to an inline function.
Revision 2387
Author: bearoso | Date: wtorek, 7 marca 2023 21:01:29
- Remove extra variables for interlace field.
- Keeping unsynchronized copies around is just asking for trouble.
- Instead, use a macro to check the actual memory address.
Revision 2386
Author: bearoso | Date: wtorek, 7 marca 2023 21:01:29
- Gtk: Set auto_vrr to false by default.
Revision 2385
Author: bearoso | Date: wtorek, 7 marca 2023 21:01:29
- Gtk: Add setting to configure for VRR automatically.
- Swaps to ideal config for VRR in fullscreen. Switches sound
- input rate and frame rate to exact SNES rate and uses timers for
- sync.
Revision 2384
Author: bearoso | Date: wtorek, 7 marca 2023 21:01:29
- win32: Remove need for DirectXMath.
- It only compiles with VC.
Revision 2383
Author: bearoso | Date: wtorek, 7 marca 2023 21:01:29
- Gtk/Vulkan: Handle failure to acquire swapchain image.
Revision 2382
Author: bearoso | Date: wtorek, 7 marca 2023 21:01:29
- win32: Make changes to display driver not occur until restart.
Revision 2381
Author: bearoso | Date: wtorek, 7 marca 2023 21:01:29
- win32: Move frame throttle into drivers for precision.
Revision 2380
Author: bearoso | Date: wtorek, 7 marca 2023 21:01:29
- vulkan: Move throttle out of swapchain.
- Make the swapchain wrapper more flexible, allowing deferring the
- swap from the end_frame function.
Revision 2379
Author: bearoso | Date: wtorek, 7 marca 2023 21:01:29
- vulkan: Add a throttler before present for precise frame rates.
Revision 2378
Author: bearoso | Date: wtorek, 7 marca 2023 21:01:29
- win32: Flush message queue between driver changes.
Revision 2377
Author: bearoso | Date: wtorek, 7 marca 2023 21:01:29
- slang: Fix race condition to initialize glslang.
Revision 2376
Author: bearoso | Date: wtorek, 7 marca 2023 21:01:29
- win32: Tweak busy loop/sleep balance a bit.
Revision 2375
Author: bearoso | Date: wtorek, 7 marca 2023 21:01:29
- win32: Fix CPU usage with new throttle.
Revision 2374
Author: bearoso | Date: wtorek, 7 marca 2023 21:01:29
- win32: Replace timer-based throttling.
- The old code used low-res timers that would vary by at least 3ms and
- couldn't handle freesync/gsync's needs. So I removed the old
- time API calls and interrupt and did a rudimentary throttle with QPC.
- This may break NetPlay. Nobody (sane) will ever notice.
Revision 2373
Author: bearoso | Date: wtorek, 7 marca 2023 21:01:29
- Revert "vulkan/slang: Allow a cache for spv."
- This reverts commit db554aa8cd62f083b93d4b2e7147c5d2500366d9.
Revision 2372
Author: bearoso | Date: wtorek, 7 marca 2023 21:01:29
- Revert "Add xxhash header."
- This reverts commit 968dd520c25691388eebb8cdf31502814a540074.
Revision 2371
Author: bearoso | Date: wtorek, 7 marca 2023 21:01:29
Revision 2370
Author: bearoso | Date: wtorek, 7 marca 2023 21:01:29
- vulkan/slang: Allow a cache for spv.
Revision 2369
Author: bearoso | Date: wtorek, 7 marca 2023 21:01:29
- slang: Remove remnants of using Snes9x's conffile.
Revision 2368
Author: bearoso | Date: wtorek, 7 marca 2023 21:01:29
- Vulkan/Slang: Load shader files asynchronously.
Revision 2367
Author: bearoso | Date: wtorek, 7 marca 2023 21:01:29
- win32: Try to handle race in changing drivers.
Revision 2366
Author: bearoso | Date: wtorek, 7 marca 2023 21:01:29
- vulkan/win32: Provide reasonable default swapchain.
- If extents are reported 0xffffffff, swapchain expects a provided
- default size.
Revision 2365
Author: bearoso | Date: wtorek, 7 marca 2023 21:01:29
- win32: Add default option to not add entries to registry.
Revision 2364
Author: bearoso | Date: wtorek, 7 marca 2023 21:01:29
- Gtk: Make it possible to build without Slang/Vulkan.
Revision 2363
Author: bearoso | Date: wtorek, 7 marca 2023 21:01:29
- Gtk: Add dynamic rate control to SDL driver.
Revision 2362
Author: bearoso | Date: wtorek, 7 marca 2023 21:01:29
- apu: Clean up a bit.
- Also fixes MSU not reflecting input rate setting.
Revision 2361
Author: bearoso | Date: wtorek, 7 marca 2023 21:01:29
- libretro: Try c++14 for macOS.
Revision 2360
Author: bearoso | Date: wtorek, 7 marca 2023 21:01:29
- libretro: Add -std=c++17 to macOS target.
Revision 2359
Author: bearoso | Date: wtorek, 7 marca 2023 21:00:36
- cirrus.yml: Update targets.
- Switch to arm and see if macos builds.
- Remove psp target.
Revision 2358
Author: bearoso | Date: wtorek, 7 marca 2023 20:58:22
- win32: Clean up some warnings.
Revision 2357
Author: bearoso | Date: wtorek, 7 marca 2023 20:58:22
- win32: Handle p.min properly in shader dialog.
- Windows trackbars with integral values are annoying.
Revision 2356
Author: bearoso | Date: wtorek, 7 marca 2023 20:58:22
- win32: Tweak the shader parameter dialog a bit.
Revision 2355
Author: bearoso | Date: wtorek, 7 marca 2023 20:58:22
- win32: Request 32-bit color on Win32/OpenGL.
Revision 2354
Author: bearoso | Date: wtorek, 7 marca 2023 20:58:22
- win32: Use simple vulkan output.
Revision 2353
Author: bearoso | Date: wtorek, 7 marca 2023 20:58:22
- Gtk: Move simple vulkan output into separate class.
Revision 2352
Author: bearoso | Date: wtorek, 7 marca 2023 20:58:22
- Gtk: Remove SDL_GetDefaultAudioInfo.
Revision 2351
Author: bearoso | Date: wtorek, 7 marca 2023 20:58:22
- Oops. Don't free c, it's added to vector.
Revision 2350
Author: bearoso | Date: wtorek, 7 marca 2023 20:58:22
- vulkan: Handle case when no vulkan library is available.
- Use one copy of the dynamic loader, if it can't load a library,
- drop out of instance creation.
Revision 2349
Author: bearoso | Date: wtorek, 7 marca 2023 20:58:22
- vulkan: Keep dynamic loader around.
Revision 2348
Author: bearoso | Date: wtorek, 7 marca 2023 20:58:22
- Don't allocate 8MB for patching.
Revision 2347
Author: bearoso | Date: wtorek, 7 marca 2023 20:58:22
- Gtk: Clean up asan leaks.
Revision 2346
Author: bearoso | Date: wtorek, 7 marca 2023 20:58:22
- Condense CheckForAnyPatch with lambdas.
Revision 2345
Author: bearoso | Date: wtorek, 7 marca 2023 20:58:22
- Don't close zip file when checking patches.
Revision 2344
Author: bearoso | Date: wtorek, 7 marca 2023 20:58:22
- Fix sequenced ips patch loading outside of zip.
Revision 2343
Author: bearoso | Date: wtorek, 7 marca 2023 20:58:22
Revision 2342
Author: bearoso | Date: wtorek, 7 marca 2023 20:58:22
- win32: Fix vk_mem_alloc.h compatibility break.
- Set WINVER to less than Vista to maintain compatibility with Windows XP.
Revision 2341
Author: bearoso | Date: wtorek, 7 marca 2023 20:58:22
- win32: Fix a couple of crashes.
Revision 2340
Author: bearoso | Date: wtorek, 7 marca 2023 20:58:22
- Gtk: Lower CMake required version.
Revision 2339
Author: bearoso | Date: wtorek, 7 marca 2023 20:58:22
- See if this works for CI fixes.
Revision 2338
Author: bearoso | Date: wtorek, 7 marca 2023 20:58:22
- Fix libretro compilation.
Revision 2337
Author: bearoso | Date: wtorek, 7 marca 2023 20:58:22
- Remove meson as build option for Gtk.
- Meson isn't flexible with our port subdirectory approach.
Revision 2336
Author: bearoso | Date: wtorek, 7 marca 2023 20:58:22
- Use length instead of size with strings.
Revision 2335
Author: bearoso | Date: wtorek, 7 marca 2023 20:58:22
- Remove fmt from shader files.
Revision 2334
Author: bearoso | Date: wtorek, 7 marca 2023 20:58:22
Revision 2333
Author: bearoso | Date: wtorek, 7 marca 2023 20:58:22
Revision 2332
Author: bearoso | Date: wtorek, 7 marca 2023 20:58:22
- Fix a couple validation issues.
Revision 2331
Author: bearoso | Date: wtorek, 7 marca 2023 20:58:22
- Working Win32/Vulkan shader support.
Revision 2330
Author: bearoso | Date: wtorek, 7 marca 2023 20:58:22
- Add shaderchain support to win32.
Revision 2329
Author: bearoso | Date: wtorek, 7 marca 2023 20:58:22
- Windows Vulkan working generically.
Revision 2328
Author: bearoso | Date: wtorek, 7 marca 2023 20:58:22
- Getting win32 ready for Vulkan.
Revision 2327
Author: bearoso | Date: wtorek, 7 marca 2023 20:58:22
- Fix parameter misordering. Fix a couple sync issues.
Revision 2326
Author: bearoso | Date: wtorek, 7 marca 2023 20:58:22
- Fix up Windows build errors.
Revision 2325
Author: bearoso | Date: wtorek, 7 marca 2023 20:58:21
- Fix glslang reconfiguration.
Revision 2324
Author: bearoso | Date: wtorek, 7 marca 2023 20:58:21
- Restrict max latency to 3 frames.
Revision 2323
Author: bearoso | Date: wtorek, 7 marca 2023 20:58:21
- Wayland compatibility with Vulkan.
Revision 2322
Author: bearoso | Date: wtorek, 7 marca 2023 20:58:21
- Gtk: Remove some superfluous graphics options.
- PBOs aren't generally faster any more.
- NPOT textures are widely supported.
- Giving control over to Gtk while waiting for a swap doesn't really work
- that well, so the sync control extension options are removed.
- This means the OpenGL and Vulkan backends are in parity with regard to
- options.
Revision 2321
Author: bearoso | Date: wtorek, 7 marca 2023 20:58:21
- Remove texture canonicalization on global file name.
Revision 2320
Author: bearoso | Date: wtorek, 7 marca 2023 20:58:21
- Clean up whitespace and remove a few test files.
Revision 2319
Author: bearoso | Date: wtorek, 7 marca 2023 20:58:21
- Vulkan support.
- Gtk port support. Breaks other platforms.
Revision 2318
Author: bearoso | Date: wtorek, 7 marca 2023 20:58:21
- Gtk: Convert driver setting to a string.
Revision 2317
Author: bearoso | Date: wtorek, 7 marca 2023 20:58:21
- Gtk: Clean up and modernize a bit.
Revision 2316
Author: bearoso | Date: wtorek, 7 marca 2023 20:58:21
Revision 2315
Author: bearoso | Date: wtorek, 7 marca 2023 20:58:21
- Make SNES memory allocations static.
Revision 2314
Author: bearoso | Date: wtorek, 7 marca 2023 20:58:21
Revision 2313
Author: bearoso | Date: wtorek, 7 marca 2023 20:58:21
Revision 2312
Author: bearoso | Date: wtorek, 7 marca 2023 20:58:21
Revision 2311
Author: bearoso | Date: wtorek, 7 marca 2023 20:58:21
- Start simplifying filesystem stuff.
Revision 2310
Author: bearoso | Date: wtorek, 7 marca 2023 20:58:21
- Gtk: Use more std::filesystem.
Revision 2309
Author: bearoso | Date: wtorek, 7 marca 2023 20:58:21
- Gtk: Reorganize some of startup.
Revision 2308
Author: bearoso | Date: wtorek, 7 marca 2023 20:58:21
- Add fmtlib directly to tree.
Revision 2307
Author: bearoso | Date: wtorek, 7 marca 2023 20:58:21
- Update glslang. Fix meson build.
Revision 2306
Author: bearoso | Date: wtorek, 7 marca 2023 20:58:21
Revision 2305
Author: bearoso | Date: wtorek, 7 marca 2023 20:58:21
- Silence NULL pointer subtraction warning.
- Use a pointer to address 1 instead.
Revision 2304
Author: bearoso | Date: wtorek, 7 marca 2023 20:58:21
Revision 2303
Author: bearoso | Date: wtorek, 7 marca 2023 20:58:21
- Gtk: Stringify some things.
Revision 2302
Author: bearoso | Date: wtorek, 7 marca 2023 20:58:21
- Make S9xSetInfoString own its string.
Revision 2301
Author: bearoso | Date: wtorek, 7 marca 2023 20:58:21
- Fix warnings for string truncation.
Revision 2300
Author: bearoso | Date: wtorek, 7 marca 2023 21:37:05
Revision 2299
Author: michael.buckley | Date: poniedziałek, 6 marca 2023 03:29:13
- Update Cirrus CI config to uuse ARM64 instances, since Intel instances have been retired
Revision 2298 / 1153 / 1e58825
Author: bearoso | Date: piątek, 24 lutego 2023 00:45:37
- Gtk/Vulkan: Handle failure to acquire swapchain image.
Revision 2297
Author: bearoso | Date: piątek, 24 lutego 2023 00:39:55
- win32: Make changes to display driver not occur until restart.
Revision 2296
Author: bearoso | Date: piątek, 24 lutego 2023 00:20:35
- win32: Move frame throttle into drivers for precision.
Revision 2295
Author: bearoso | Date: czwartek, 23 lutego 2023 22:24:01
- vulkan: Move throttle out of swapchain.
Make the swapchain wrapper more flexible, allowing deferring the swap from the end_frame function.
Revision 2294
Author: bearoso | Date: czwartek, 23 lutego 2023 18:00:06
- vulkan: Add a throttler before present for precise frame rates.
Revision 2293
Author: bearoso | Date: czwartek, 23 lutego 2023 02:14:05
- win32: Flush message queue between driver changes.
Revision 2292
Author: bearoso | Date: środa, 22 lutego 2023 23:21:00
- slang: Fix race condition to initialize glslang.
Revision 2291
Author: bearoso | Date: środa, 22 lutego 2023 22:22:42
- win32: Tweak busy loop/sleep balance a bit.
Revision 2290
Author: bearoso | Date: środa, 22 lutego 2023 21:30:08
- win32: Fix CPU usage with new throttle.
Revision 2289
Author: bearoso | Date: środa, 22 lutego 2023 18:42:13
- win32: Replace timer-based throttling.
The old code used low-res timers that would vary by at least 3ms and couldn't handle freesync/gsync's needs. So I removed the old time API calls and interrupt and did a rudimentary throttle with QPC. This may break NetPlay. Nobody (sane) will ever notice.
Revision 2288
Author: bearoso | Date: wtorek, 21 lutego 2023 23:33:35
- Revert "vulkan/slang: Allow a cache for spv." This reverts commit db554aa8cd62f083b93d4b2e7147c5d2500366d9.
Revision 2287
Author: bearoso | Date: wtorek, 21 lutego 2023 23:33:26
- Revert "Add xxhash header." This reverts commit 968dd520c25691388eebb8cdf31502814a540074.
Revision 2286
Author: bearoso | Date: wtorek, 21 lutego 2023 23:25:40
Revision 2285
Author: bearoso | Date: wtorek, 21 lutego 2023 23:16:34
- vulkan/slang: Allow a cache for spv.
Revision 2284
Author: bearoso | Date: poniedziałek, 20 lutego 2023 23:18:56
- slang: Remove remnants of using Snes9x's conffile.
Revision 2283
Author: bearoso | Date: poniedziałek, 20 lutego 2023 23:04:55
- Vulkan/Slang: Load shader files asynchronously.
Revision 2282
Author: bearoso | Date: poniedziałek, 20 lutego 2023 22:15:38
- win32: Try to handle race in changing drivers.
Revision 2281
Author: bearoso | Date: niedziela, 19 lutego 2023 00:27:47
- vulkan/win32: Provide reasonable default swapchain. If extents are reported 0xffffffff, swapchain expects a provided default size.
Revision 2280 / 1121 / 4d3b5e9
Author: bearoso | Date: piątek, 17 lutego 2023 23:57:09
- win32: Add default option to not add entries to registry.
Revision 2279
Author: bearoso | Date: czwartek, 16 lutego 2023 23:57:09
- Gtk: Make it possible to build without Slang/Vulkan.
Revision 2278
Author: bearoso | Date: czwartek, 16 lutego 2023 23:14:01
- Gtk: Add dynamic rate control to SDL driver.
Revision 2277
Author: bearoso | Date: czwartek, 16 lutego 2023 22:51:16
- apu: Clean up a bit.
- Also fixes MSU not reflecting input rate setting.
Revision 2276
Author: bearoso | Date: środa, 15 lutego 2023 21:40:33
- libretro: Try c++14 for macOS.
Revision 2275
Author: bearoso | Date: środa, 15 lutego 2023 21:33:51
- libretro: Add -std=c++17 to macOS target.
Revision 2274
Author: bearoso | Date: środa, 15 lutego 2023 21:23:29
Revision 2273
Author: bearoso | Date: środa, 15 lutego 2023 21:17:55
- cirrus.yml: Update targets.
- Switch to arm and see if macos builds.
- Remove psp target.
Revision 2272
Author: bearoso | Date: wtorek, 14 lutego 2023 22:48:03
- win32: Clean up some warnings.
Revision 2271
Author: bearoso | Date: wtorek, 14 lutego 2023 22:23:29
- win32: Handle p.min properly in shader dialog.
- Windows trackbars with integral values are annoying.
Revision 2270
Author: bearoso | Date: wtorek, 14 lutego 2023 00:54:57
- win32: Tweak the shader parameter dialog a bit.
Revision 2269
Author: bearoso | Date: piątek, 10 lutego 2023 23:15:00
- win32: Request 32-bit color on Win32/OpenGL.
Revision 2268
Author: bearoso | Date: piątek, 10 lutego 2023 23:03:05
- win32: Use simple vulkan output.
Revision 2267
Author: bearoso | Date: piątek, 10 lutego 2023 22:19:09
- Gtk: Move simple vulkan output into separate class.
Revision 2266
Author: bearoso | Date: czwartek, 9 lutego 2023 21:24:11
- Gtk: Remove SDL_GetDefaultAudioInfo.
Revision 2265
Author: bearoso | Date: środa, 8 lutego 2023 23:59:22
- Oops. Don't free c, it's added to vector.
Revision 2264
Author: bearoso | Date: środa, 8 lutego 2023 23:34:59
- vulkan: Handle case when no vulkan library is available.
- Use one copy of the dynamic loader, if it can't load a library, drop out of instance creation.
Revision 2263
Author: bearoso | Date: środa, 8 lutego 2023 22:25:10
- vulkan: Keep dynamic loader around.
Revision 2262
Author: bearoso | Date: środa, 8 lutego 2023 19:09:13
- Don't allocate 8MB for patching.
Revision 2261
Author: bearoso | Date: środa, 8 lutego 2023 19:08:56
- Gtk: Clean up asan leaks.
Revision 2260
Author: bearoso | Date: wtorek, 7 lutego 2023 22:58:36
- Condense CheckForAnyPatch with lambdas.
Revision 2259
Author: bearoso | Date: wtorek, 7 lutego 2023 00:10:08
- Don't close zip file when checking patches.
Revision 2258
Author: bearoso | Date: poniedziałek, 6 lutego 2023 23:47:51
- Fix sequenced ips patch loading outside of zip.
Revision 2257
Author: bearoso | Date: poniedziałek, 6 lutego 2023 22:56:02
Revision 2256
Author: bearoso | Date: poniedziałek, 6 lutego 2023 21:51:05
- win32: Fix vk_mem_alloc.h compatibility break.
- Set WINVER to less than Vista to maintain compatibility with Windows XP.
Revision 2255
Author: bearoso | Date: poniedziałek, 6 lutego 2023 18:47:56
- win32: Fix a couple of crashes.
Revision 2254
Author: bearoso | Date: sobota, 4 lutego 2023 18:59:52
- Gtk: Lower CMake required version.
Revision 2253
Author: bearoso | Date: piątek, 3 lutego 2023 23:38:33
- See if this works for CI fixes.
Revision 2252
Author: bearoso | Date: piątek, 3 lutego 2023 23:31:11
- Fix libretro compilation.
Revision 2251
Author: bearoso | Date: piątek, 3 lutego 2023 22:40:56
- Remove meson as build option for Gtk.
- Meson isn't flexible with our port subdirectory approach.
Revision 2250
Author: bearoso | Date: czwartek, 2 lutego 2023 23:29:29
- Use length instead of size with strings.
Revision 2249
Author: bearoso | Date: czwartek, 2 lutego 2023 23:12:02
- Remove fmt from shader files.
Revision 2248
Author: bearoso | Date: czwartek, 2 lutego 2023 22:59:47
Revision 2247
Author: bearoso | Date: czwartek, 2 lutego 2023 21:57:48
Revision 2246
Author: bearoso | Date: czwartek, 2 lutego 2023 21:14:49
- Fix a couple validation issues.
Revision 2245
Author: bearoso | Date: środa, 1 lutego 2023 21:47:42
- Working Win32/Vulkan shader support.
Revision 2244
Author: bearoso | Date: środa, 1 lutego 2023 00:38:02
- Add shaderchain support to win32.
Revision 2243
Author: bearoso | Date: środa, 1 lutego 2023 00:18:07
- Windows Vulkan working generically.
Revision 2242
Author: bearoso | Date: wtorek, 31 stycznia 2023 20:57:14
- Getting win32 ready for Vulkan.
Revision 2241
Author: bearoso | Date: wtorek, 31 stycznia 2023 20:57:14
- Fix parameter misordering. Fix a couple sync issues.
Revision 2240
Author: bearoso | Date: wtorek, 31 stycznia 2023 20:57:14
- Fix up Windows build errors.
Revision 2239
Author: bearoso | Date: wtorek, 31 stycznia 2023 20:57:14
- Fix glslang reconfiguration.
Revision 2238
Author: bearoso | Date: wtorek, 31 stycznia 2023 20:57:14
- Restrict max latency to 3 frames.
Revision 2237
Author: bearoso | Date: wtorek, 31 stycznia 2023 20:57:14
- Wayland compatibility with Vulkan.
Revision 2236
Author: bearoso | Date: wtorek, 31 stycznia 2023 20:57:14
- Gtk: Remove some superfluous graphics options.
- PBOs aren't generally faster any more.
- NPOT textures are widely supported.
- Giving control over to Gtk while waiting for a swap doesn't really work
- that well, so the sync control extension options are removed.
- This means the OpenGL and Vulkan backends are in parity with regard to
- options.
Revision 2235
Author: bearoso | Date: wtorek, 31 stycznia 2023 20:57:14
- Remove texture canonicalization on global file name.
Revision 2234
Author: bearoso | Date: wtorek, 31 stycznia 2023 20:57:14
- Clean up whitespace and remove a few test files.
Revision 2233
Author: bearoso | Date: wtorek, 31 stycznia 2023 20:57:14
- Vulkan support.
- Gtk port support. Breaks other platforms.
Revision 2232
Author: bearoso | Date: wtorek, 31 stycznia 2023 20:57:14
- Gtk: Convert driver setting to a string.
Revision 2231
Author: bearoso | Date: wtorek, 31 stycznia 2023 20:57:13
- Gtk: Clean up and modernize a bit.
Revision 2230
Author: bearoso | Date: wtorek, 31 stycznia 2023 20:57:13
Revision 2229
Author: bearoso | Date: wtorek, 31 stycznia 2023 20:57:13
- Make SNES memory allocations static.
Revision 2228
Author: bearoso | Date: wtorek, 31 stycznia 2023 20:57:13
Revision 2227
Author: bearoso | Date: wtorek, 31 stycznia 2023 20:57:13
Revision 2226
Author: bearoso | Date: wtorek, 31 stycznia 2023 20:57:13
Revision 2225
Author: bearoso | Date: wtorek, 31 stycznia 2023 20:57:13
- Start simplifying filesystem stuff.
Revision 2224
Author: bearoso | Date: wtorek, 31 stycznia 2023 20:57:13
- Gtk: Use more std::filesystem.
Revision 2223
Author: bearoso | Date: wtorek, 31 stycznia 2023 20:57:13
- Gtk: Reorganize some of startup.
Revision 2222
Author: bearoso | Date: wtorek, 31 stycznia 2023 20:57:13
- Add fmtlib directly to tree.
Revision 2221
Author: bearoso | Date: wtorek, 31 stycznia 2023 20:57:13
- Update glslang. Fix meson build.
Revision 2220
Author: bearoso | Date: wtorek, 31 stycznia 2023 20:57:13
Revision 2219
Author: bearoso | Date: wtorek, 31 stycznia 2023 20:57:13
- Silence NULL pointer subtraction warning.
- Use a pointer to address 1 instead.
Revision 2218
Author: bearoso | Date: wtorek, 31 stycznia 2023 20:57:13
Revision 2217
Author: bearoso | Date: wtorek, 31 stycznia 2023 20:57:13
- Gtk: Stringify some things.
Revision 2216
Author: bearoso | Date: wtorek, 31 stycznia 2023 20:57:13
- Make S9xSetInfoString own its string.
Revision 2215
Author: bearoso | Date: wtorek, 31 stycznia 2023 20:57:13
- Fix warnings for string truncation.
Revision 2214
Author: bearoso | Date: piątek, 27 stycznia 2023 23:04:00
- Merge pull request #812 from Gutawer/gtk_input_fix
- Gtk: Fix some keys not being usable with modifiers
Revision 2213
Author: bearoso | Date: sobota, 4 lutego 2023 18:47:56
- Merge pull request #813 from Atari2/fix-sa1-division
- Fix dvision routine on SA-1 returns the wrong reminder (and quotient) on negative dividends
Revision 2212
Author: alessio.rosiello | Date: sobota, 4 lutego 2023 13:58:01
Revision 2211
Author: bearoso | Date: piątek, 27 stycznia 2023 23:04:00
- Merge pull request #812 from Gutawer/gtk_input_fix
- Gtk: Fix some keys not being usable with modifiers
Revision 2210
Author: gutawer | Date: środa, 25 stycznia 2023 18:04:25
- Gtk: Fix some keys not being usable with modifiers
Revision 2209
Author: bearoso | Date: piątek, 27 stycznia 2023 22:52:36
- Don't map high SRAM range on LoROM if no SRAM.
Revision 2208 / 1090
Author: michael.buckley | Date: wtorek, 17 stycznia 2023 16:55:59
- Mac: Fix a crash when enumerating USB devices without a name. Closes #810
Revision 2207
Author: michael.buckley | Date: środa, 11 stycznia 2023 06:10:19
- Merge pull request #808 from UltraHDR/patch-1
- macOS: Set LSApplicationCategoryType to games
Revision 2206
Author: ultrahdr | Date: wtorek, 10 stycznia 2023 22:08:10
- macOS: Set LSApplicationCategoryType to games
- https://developer.apple.com/documentation/bundleresources/information_property_list/lsapplicationcategorytype
- macOS will auto-add it to the agmes folder in macOS Launchpad
Revision 2205
Author: ov2 | Date: sobota, 31 grudnia 2022 13:51:38
- win32: update directx sdk download link
Revision 2204 / 1085-3c4982e
Author: ov2 | Date: niedziela, 6 listopada 2022 02:14:49
- msu1: return minimum available samples in resamplers
Revision 2203
Author: ov2 | Date: niedziela, 6 listopada 2022 02:11:37
- msu1: revert to start for invalid loop positions (#778)
Revision 2202
Author: ov2 | Date: niedziela, 6 listopada 2022 00:44:45
- win32: add st to rom file extensions (#793)
Revision 2201
Author: michael.buckley | Date: sobota, 5 listopada 2022 20:08:09
Revision 2200
Author: bearoso | Date: czwartek, 3 listopada 2022 18:06:23
- Merge pull request #795 from kbrighton/msu-1-gtk-fix. Fixes issue where non-archive msu-1 files would have improper file extensions
Revision 2199
Author: nick.burtner | Date: wtorek, 1 listopada 2022 22:50:21
- Fixes issue where non-archive msu-1 files would have improper file extensions
Revision 2198
Author: michael.buckley | Date: poniedziałek, 31 października 2022 04:58:11
- Mac: Wait for metal command buffer to finish before presenting drawable, properly this time
Revision 2197
Author: michael.buckley | Date: poniedziałek, 31 października 2022 04:57:55
- Revert "Mac: Wait for metal command buffer to finish before presenting drawable"
- This reverts commit a2ebe3f09fcb606e71ba86606e758b322d50f882.
Revision 2196
Author: michael.buckley | Date: poniedziałek, 31 października 2022 04:02:11
- Mac: Wait for metal command buffer to finish before presenting drawable
Revision 2195
Author: bearoso | Date: sobota, 22 października 2022 21:51:44
- Move AddCycles to be consistent with other OPs.
Revision 2194
Author: bearoso | Date: sobota, 22 października 2022 00:42:40
- Adjust opcode timing as reported by pi1541.
Revision 2193
Author: michael.buckley | Date: czwartek, 8 września 2022 17:01:13
- Mac: Remove logger.cpp from project
Revision 2192
Author: michael.buckley | Date: czwartek, 8 września 2022 16:57:27
Revision 2191
Author: ov2 | Date: czwartek, 1 września 2022 16:08:22
- Reset save timer before loading new rom (fixes #782)
Revision 2190
Author: bearoso | Date: sobota, 30 kwietnia 2022 19:37:07
- Gtk: Fix replacing last directory component instead adding filename
Revision 2189
Author: bearoso | Date: poniedziałek, 25 kwietnia 2022 22:45:39
- Remove unused logger.cpp and logger.h.
Revision 2188
Author: bearoso | Date: środa, 20 kwietnia 2022 00:22:42
- Gtk: Remove option to disable OpenGL.
- OpenGL is the optimal display mode until Vulkan is in, and it's mandatory on Wayland. Don't let it be disabled.
Revision 2187
Author: bearoso | Date: środa, 13 kwietnia 2022 22:06:13
- Remove Settings.SupportHires
- There's no point in disabling it at this point, so it's always supported.
Revision 2186
Author: bearoso | Date: środa, 13 kwietnia 2022 01:45:33
- Use MAX_SNES_HEIGHT, not SNES_HEIGHT_EXTENDED.
Revision 2185
Author: bearoso | Date: wtorek, 12 kwietnia 2022 17:19:06
- Merge pull request #760 from realnc/fix-libretro-runahead-audio
- libretro: Fix audio not being submitted when rendering is disabled
Revision 2184
Author: nikos.chantziaras | Date: wtorek, 12 kwietnia 2022 15:08:54
- libretro: Fix audio when video rendering is disabled In commit 6628042fe386197648334063f70e6a94350b9bf7, audio upload was moved from retro_run() to S9xDeinitUpdate(). This breaks audio when runahead is enabled in RetroArch.
- With second-instance runahead, S9xDeinitUpdate() is not called when video rendering is disabled and thus the core instance responsible for audio is not uploading the audio. With single-instance runahead, audio is uploaded twice because video rendering is always enabled and thus S9xDeinitUpdate() gets called twice per frame.
- Fix this by introducing a callback that gets called at the end of every screen refresh, regardless of whether or not rendering is active for this frame. We can then decide in the callback whether or not audio should be uploaded.
Revision 2183
Author: bearoso | Date: poniedziałek, 11 kwietnia 2022 23:04:29
- libretro: Get audio samples during frame callback.
Revision 2182
Author: bearoso | Date: czwartek, 3 marca 2022 17:41:25
- Merge pull request #738 from ds22x/master
- [Libretro] Create a separate aspect ratio option for "4:3 Preserved"
Revision 2181
Author: bearoso | Date: poniedziałek, 11 kwietnia 2022 04:04:56
- Actually use buffer_size.
Revision 2180
Author: bearoso | Date: poniedziałek, 11 kwietnia 2022 01:31:36
- Adapt to non-contiguous GFX.Screen.
Revision 2179
Author: bearoso | Date: poniedziałek, 11 kwietnia 2022 01:20:59
Revision 2178
Author: bearoso | Date: poniedziałek, 11 kwietnia 2022 01:16:16
- Attempt to blindly fix MacOS.
Revision 2177
Author: bearoso | Date: poniedziałek, 11 kwietnia 2022 00:26:32
- win32: Adapt to GFX.Screen in core.
Revision 2176
Author: bearoso | Date: niedziela, 10 kwietnia 2022 23:41:16
- Create output buffer in core.
- TODO: Fix Windows.
Revision 2175
Author: bearoso | Date: niedziela, 10 kwietnia 2022 00:19:01
- Gtk: Update gtk_file.cpp for modern C++
- Uses std::filesystem and std::string.
Revision 2174
Author: bearoso | Date: czwartek, 24 marca 2022 22:41:39
- cirrus.yml: Add cmake dep to Gtk build.
Revision 2173
Author: bearoso | Date: czwartek, 24 marca 2022 22:37:35
- Gtk: Lower meson required version.
Revision 2172
Author: bearoso | Date: czwartek, 24 marca 2022 22:33:20
- Gtk: Add missing CMake options.
Revision 2171
Author: bearoso | Date: czwartek, 24 marca 2022 18:21:52
- Gtk: Add CMake as build option.
Revision 2170
Author: bearoso | Date: wtorek, 22 marca 2022 20:09:30
- Gtk: Experiment with symlink.
Revision 2169
Author: bearoso | Date: wtorek, 22 marca 2022 00:31:28
- libretro: Send all samples at frame end.
Revision 2168
Author: bearoso | Date: poniedziałek, 21 marca 2022 20:53:21
- libretro: Sound buffering change.
Revision 2167
Author: bearoso | Date: piątek, 18 marca 2022 22:12:15
Revision 2166
Author: bearoso | Date: piątek, 18 marca 2022 21:50:05
- win32: Adjust to moved external deps.
Revision 2165
Author: bearoso | Date: piątek, 18 marca 2022 21:49:54
- Gtk: Fix compile with moved deps.
Revision 2164
Author: bearoso | Date: piątek, 18 marca 2022 21:49:29
- Move GPU related submodules to external.
Revision 2163
Author: bearoso | Date: sobota, 12 marca 2022 18:19:39
- Gtk: Clean up a couple sound drivers.
- Make them more idiomatic C++.
Revision 2162
Author: bearoso | Date: poniedziałek, 7 marca 2022 18:28:19
- Revert "LoROM: Don't map SRAM if size is 0."
- This reverts commit 386bfe0aa9c33b33d84e941f0d2055830dde3d00.
Revision 2161
Author: bearoso | Date: czwartek, 3 marca 2022 17:41:25
- Merge pull request #738 from ds22x/master
- [Libretro] Create a separate aspect ratio option for "4:3 Preserved"
Revision 2160
Author: ds22x | Date: poniedziałek, 14 lutego 2022 13:49:35
- Add missing translated entry
Revision 2159
Author: ds22x | Date: poniedziałek, 14 lutego 2022 13:44:49
- Create a separate aspect ratio option for '4:3 Preserved'
Revision 2158
Author: bearoso | Date: środa, 2 marca 2022 01:22:03
- Gtk: Add Ukrainian translation from StanleyKid-22.
Revision 2157
Author: bearoso | Date: wtorek, 22 lutego 2022 00:47:02
- Merge pull request #735 from jSTE0/microopt
- Microoptimisations from jSTE0
Revision 2156
Author: jste0 | Date: sobota, 12 lutego 2022 00:32:31
- dsp1: Optimise copying registers on LE platforms
- Use {READ,WRITE}_WORD so that it copies by word on little-endian platforms. This also fixes a bug in the assignment of Op11Xr which was a regression introduced in snes9x-1.40.
Revision 2155
Author: jste0 | Date: piątek, 11 lutego 2022 23:48:10
- fx: Optimise copying registers on LE platforms
- Use {READ,WRITE}_WORD so that it copies by word on little-endian platforms. Mark a LUT const for const-correctness.
Revision 2154
Author: jste0 | Date: piątek, 4 lutego 2022 23:55:06
- dsp1: Use clz CPU instruction when normalising fixed-point numbers
- Use the gcc built-in GCC function, making the operation constant-time and branch-free. Verified on x86 and ARM.
Revision 2153
Author: jste0 | Date: piątek, 4 lutego 2022 23:52:50
- dsp: Mark function-scope const arrays as static
- Avoids recreating the arrays on the stack on every entry to the function and moves them to the ro section.
Revision 2152
Author: jste0 | Date: piątek, 4 lutego 2022 23:48:48
- gfx: Use simpler equality test for IPPU.FrameCount
- As it's only incremented here and then reset to 0, avoids integer division, which can be be expensive on CPUs without this instruction such as pre-ARMv7 classic ARMs.
Revision 2151
Author: bearoso | Date: sobota, 19 lutego 2022 20:28:33
Revision 2150
Author: bearoso | Date: sobota, 19 lutego 2022 20:24:55
Revision 2149
Author: bearoso | Date: sobota, 19 lutego 2022 20:22:20
Revision 2148
Author: bearoso | Date: sobota, 19 lutego 2022 20:20:38
- Merge pull request #741 from jraby/gtk-joystick-hotplug
- gtk: Support adding/removing joysticks at runtime
Revision 2147
Author: jean.raby | Date: piątek, 18 lutego 2022 22:12:19
Revision 2146
Author: jean.raby | Date: piątek, 18 lutego 2022 21:43:52
- Move joystick + related functions under JoyDevices
Revision 2145
Author: jean.raby | Date: piątek, 18 lutego 2022 17:08:20
- range-based for loops + simplify joynum assignment
Revision 2144
Author: jean.raby | Date: czwartek, 17 lutego 2022 17:02:53
- gtk: Support adding/removing joysticks at runtime
- Reworked how/where SDL events are polled:
- poll_joystick_events is now a static member of JoyDevice so it can be called from outside when needed (preference window for config and caliration).
- S9xProcessEvents calls JoyDevice::poll_joystick_events directly so events are polled when no joysticks are attached.
- JoyDevice::poll_joystick_events handles SDL_JOYDEVICE{ADDED,REMOVED} events.
- Individual JoyDevice no longer call poll_joystick_events from get_events.
- Reworked how attached joysticks are maintained in Snes9xConfig:
- Use a map for joysticks keyed on SDL JoystickID (instance id in sdl parlance), which is stable while a joystick is attached instead of an array keyed on device_index.
- The instance id is what poll_joystick_events gets with every event (except for SDL_JOYDEVICEADDED which gets a device_index...) Instance id is an incrementing int starting from 0, they are never reused. i.e. each attach/dettach/attach cycle yields a new id. Whereas device index are reused and can "move".
- On SDL_JOYDEVICEADDED the joystick is handed a "joynum", that is, an int from 0 to NUM_JOYPADS-1. A new joystick always get the lowest available joynum. (joynum was already a member of JoyDevice but wasn't initialized, this seemed like a proper way to use it.)
- On SDL_JOYDEVICEREMOVED, the joystick associated with the instance id is simply removed from the map. All this allows for the following behaviors. It is possible to start without any joystick, add one joystick and it works. (disconnect/reconnect cycles with a single joystick also work)
- Joystick numbers are "stable" while they remain connected. For example:
- Start with joystick0 and joystick1 connected
- if joystick0 is disconnected, joystick1 keeps its number and keeps working
- if joystick0 (or any new joystick) is connected at this time, it gets to become joystick0. If all joysticks are disconnected while snes9x is running, the order of the "reconnections" will determine the joystick number of each joystick. I think there is room for improvement still, with regards to code organization. For instance, there could be a "JoyDevices" class which would handle all the attached JoyDevice. This would allow moving all the "joystick_*" methods from Snes9xConfig to that new class, and poll_joystick_events could also be moved there. The functionality wouldn't change, but the intent/ownership would probably be clearer.
Revision 2143
Author: bearoso | Date: piątek, 18 lutego 2022 20:57:00
- Merge pull request #737 from jraby/fix-relative-paths-savestates
- gtk: fix handling of relative paths for save states
Revision 2142
Author: jean.raby | Date: poniedziałek, 14 lutego 2022 03:57:58
- gtk: Simplify S9xOpenSnapshotFile
- This is basically what osx and libretro do, just use the provided filename. The code this replaces had a hard time handling relative paths, it would prepend the leading directories to fname, which would most of the time resolve to an invalid path. (e.g ./roms/romname.000 -> ./roms/roms/romname.000)
Revision 2141
Author: jean.raby | Date: poniedziałek, 14 lutego 2022 03:56:42
- gtk: save_state_dialog - use filename without dir