Commit Graph

310 Commits

Author SHA1 Message Date
CasualPokePlayer 9c389eadf7 fix seeking not working, put this back to shared_ptr (no make_shared<T[]> in c++17 :( ) 2023-09-17 12:23:53 -07:00
CasualPokePlayer fe3d34dbd3 fix most cursed UAF 2023-09-17 03:23:07 -07:00
CasualPokePlayer 871c2bba8f oops, that wasn't supposed to be deleted 2023-09-17 02:02:10 -07:00
CasualPokePlayer f7786e81b9 Merge melonDS master, do massive cleanup/splitup of code
also, get rid of the GBA SRAM hack where it was inserted in ROMs (gross), instead figure out the size and give melonDS a blank save of the correct size
GBA SRAM is also now in SaveRAM
also add in more memory domains (SRAM/ROM/DSi BIOS)
2023-09-17 00:58:05 -07:00
CasualPokePlayer eefbe7bf62 add in fenv guards for ares64
should prevent issues in case a game decides to change rounding mode (unlikely in practice)
2023-08-10 20:01:21 -07:00
CasualPokePlayer 2e75645cbd merge ares upstream, resolves #3710 2023-08-10 17:15:19 -07:00
CasualPokePlayer bb96825c60
System.Data.SQLite -> Microsoft.Data.Sqlite (#3719)
* Swap System.Data.SQLite with Microsoft.Data.Sqlite

Apparently this is supposed to be a kind of successor? https://learn.microsoft.com/en-us/dotnet/standard/data/sqlite/compare

* Add e_sqlite3 libs to Assets, prevent runtimes folder creation with OS tailored libs plopped in, delete System.Data.SQLite references
2023-08-05 17:45:40 -07:00
CasualPokePlayer 7322e3b9d3 Fix minor graphical issues in Citra due to OpenGL state not being properly saved and restoring during presentation 2023-07-30 00:13:30 -07:00
CasualPokePlayer 871036c81a fix bug which caused the temporary user folder to not be used during movies with Citra
also slightly adjust the linux build script so other compilers can be easily used, add comment explaining why libc++ is used
2023-07-29 19:57:34 -07:00
CasualPokePlayer e62c972ca3 Check in citra dll/so, add in build scripts/linux glslangValidator for citra, some minor cleanup handling with citra input handling 2023-07-29 15:09:17 -07:00
CasualPokePlayer 78f5e75534
Kill Bizware .NET Framework deps (#3702)
The main objective in this PR is to get rid of the main .NET Framework dependencies in Bizware packages. This PR doesn't do that completely per se, still having .NET Framework used for WinForms Controls, but that can easily be swapped over for whatever UI framework we use next as long as it exposes native window handles in some way.

For this PR, it does some reorganizing of Bizware, splitting Bizware.OpenTK3 and Bizware.DirectX into 3 packages based on usage; Bizware.Audio, Bizware.Graphics, and Bizware.Input. These packages in the future probably could have more functionality moved into them, but for now they are largely just a reshuffling of the Bizware.OpenTK3 and Bizware.DirectX packages.

As both SlimDX and OpenTK3 are .NET Framework, they have been removed in this PR. Their replacements are as follows:

SharpDX: DirectSound, Direct3D9
Vortice: XAudio2, DirectInput/XInput
Silk.NET: OpenAL, OpenGL
SDL2-CS / native SDL2: OpenGL context management, new gamepad backend (replacing OpenTK's role for gamepads)
native X11: New key input backend (replacing one of OpenTK's roles for keyboards)

GLControl has been replaced by custom made control which just uses SDL2 for context management.

The OpenTK input backend has been replaced with a combination of SDL2 and an OS tailored key input backend (DirectInput on Windows, X11 on Linux, and planned to be Quartz on macOS). This is just represented on the user side as "SDL2" without mentioning the key input backend. This does mean for a while DirectX will be mandatory on Windows again, until a RAWINPUT backend is written for handling key input on Windows for the SDL2 input backend.
2023-07-23 00:35:43 -07:00
CasualPokePlayer 332143ea8d invalidate cram caches when poking, maybe 2023-05-18 21:14:57 -07:00
CasualPokePlayer 63ec0cecc7 fix picodrive's cram/vsram sizes 2023-05-18 19:29:42 -07:00
CasualPokePlayer 1adb2b45a2 (VirtualJaguar) swap user and interrupt stack pointers when going to supervisor mode for external interrupts, fixes Black ICE
also slight improvements to cd bios hle (don't really do much, but better safe than sorry)
2023-05-10 23:04:49 -07:00
CasualPokePlayer f677e92504 fix TOC field mixup with Jaguar CD 2023-05-07 22:09:52 -07:00
CasualPokePlayer 5f6d70ac46 Fix random crashes with rcheevos. The issue was that rc_runtime_t can store pointers to itself, which is bad when rcheevos expected the user to allocate that struct and did not provide functions for that. I've added that functionality and PR'd it (I'll fixup submodule to point to upstream when it's merged)
PR can be found here: https://github.com/RetroAchievements/rcheevos/pull/239
Also minor fixes wrt the ContinueWith usage in InternalDoRequest
2023-05-03 01:54:57 -07:00
Morilli 76c8b33f16 least-effort "fix" octoshock exe load hard crash 2023-05-03 07:40:39 +02:00
Morilli a5efc8f93b fix, update and rebuild octoshock project 2023-05-03 07:35:53 +02:00
CasualPokePlayer a6deee765f fix stackoverflows in mame with games using k001006_device (e.g. windheat) 2023-04-27 00:55:12 -07:00
CasualPokePlayer f3c58d816d fix #3643 2023-04-22 04:39:12 -07:00
CasualPokePlayer 3701aef5a4 split ares binaries for interpreter vs recompiler 2023-04-19 23:22:00 -07:00
nattthebear 281e3be4a8
bare minimum implementation of getpid/getppid (#3641) 2023-04-19 21:29:45 -04:00
CasualPokePlayer a9dc924c11 Changes in MAME to partially address #3565
Needs #3641 pulled for it to be properly fixed
2023-04-19 18:03:45 -07:00
CasualPokePlayer 4268c50617 Fix RetroAchievements rich presence not working
Cleanup this code so it plays nicer with BizHawk's "run everything on the main thread" (+ WinForms not playing nice with async methods)
Resend any game session start / achievement unlocks / leaderboard triggers if they failed. Wait for all achievement unlocks and leaderboard triggers to finish on Dispose() (mostly for catching them when user closes BizHawk)
Update rcheevos to 10.7.0
2023-04-18 21:35:58 -07:00
Morilli 988ae27292 Fix #3638
I don't even
2023-04-18 17:40:11 +02:00
CasualPokePlayer 52276f7d47 Remove TLS use in MAME
This might not affect things in practice, but its usage was likely dangerous so best not use it.
2023-04-14 20:15:14 -07:00
CasualPokePlayer 7bd848f9f9 fix #3631 2023-04-14 00:22:48 -07:00
CasualPokePlayer 3ffb6c3b52 hack fix #3606 2023-04-02 02:41:59 -07:00
YoshiRulz 53e0907f61
Check-in Linux binary of mGBA 2023-04-02 19:23:55 +10:00
vadosnaprimer 9a3cd21bc4 update mgba to latest master 2023-04-02 12:03:11 +03:00
CasualPokePlayer e4a6d9db67 set initial rtc for epson and sharp rtc in new BSNES
this is needed due to the complete lack of time.rtc handling (and even then, if SaveRAM doesn't exist this is needed)
2023-04-01 02:13:47 -07:00
CasualPokePlayer 22e35c45fc hook up RTC support for new BSNES, resolves #3577 2023-04-01 01:23:16 -07:00
CasualPokePlayer 8ce2aac868 implement flag to clear DSi NAND of any titles that already happen to be installed, implement functions for importing/exporting dsiware sav files
(c# changes using these pending)
2023-03-31 06:21:56 -07:00
CasualPokePlayer 6ea7fd04d8 "fix" issues with ares recompiler not playing nice with states
these issues really come under fault of bad invalidation handling, for now just deal with the state size hit and dont invis these blocks of memory
2023-03-30 19:44:09 -07:00
CasualPokePlayer f7b83be5ab fix lightguns in snes9x, support offscreen shots in snes9x (UI yet to be hooked up), fix lightguns in new bsnes, add option in bsnes to disable drawing light gun cursors (UI yet to be hooked up) 2023-03-30 16:34:04 -07:00
CasualPokePlayer 02caa5fcbb update ares, fix some lingering issues with recompiler 2023-03-29 04:00:10 -07:00
CasualPokePlayer 00152bbaa9 add in dedither filter bit for VI_CONTROL for ares64, fixes #3587 2023-03-28 20:22:20 -07:00
CasualPokePlayer c8a2eca83f use FastMap for sys bus peeks for hypernyma, resolves #3598 2023-03-28 18:18:27 -07:00
CasualPokePlayer 4e83bccd3b make sure wbx c++ files also have NDEBUG defined, fixes 1643bf0 2023-03-28 18:02:46 -07:00
CasualPokePlayer 1643bf01bc add NDEBUG define for wbx cores (release only), fixes #3594 2023-03-28 17:23:06 -07:00
CasualPokePlayer 0a2d4405f0
Revamp Waterbox Setup (#3529)
* Waterbox setup has been revamped to use the latest llvm parts (llvm 16 for compiler_rt/libunwind/libcxx/libcxxabi).
* Clang is now possible to use, and is the preferred compiler (due to superior performance).
* Supported compilers are now clang 14/15/16, and gcc 12.
* Other core updates are mixed in.

---------

Co-authored-by: Morilli <35152647+Morilli@users.noreply.github.com>
2023-03-28 16:53:33 -07:00
nattthebear 64512851fe
Fix up some more issues with Waterbox and 0 size elf data (#3590) 2023-03-23 08:28:10 -04:00
nattthebear eb5ebda53f
Waterbox: Fix various problems with 0 length sections and segments (#3586)
* waterbox: fix crash when init_array is size 0

* also handle 0 len segments
2023-03-18 19:50:32 -04:00
nattthebear 91e6d8023a
waterbox: invis section tweak (#3580)
don't fail when a 0 byte section starts at the same place as invis
2023-03-14 21:02:38 -04:00
Morilli 76cfee6396 rename bs memory domains (and fix rom domain)
- also some other renames for clarity
2023-03-11 07:29:23 +01:00
Morilli c906c830dd Implement bsx + bs memory loading
connect satellaview when loading bsmemory

this makes rtc somewhat work

also mark SubBSNESv115 as BSX core
2023-03-11 07:29:23 +01:00
CasualPokePlayer 27eef71085 Fix some more edge cases against PSX RetroAchievements hashing (and do it a bit nicer)
Update rcheevos, and with that add in the new DSi console ID
Experimentally revamp the build system, I'm looking into cmake here and it seems to do a great job. The builds committed here were built with clang-cl 15.0.1 and clang 15.0.7 (for Windows and Linux respectively). gcc/clang with msys2 still works fine. gcc on Linux should still work fine. MSVC (cl) itself even works (although as a note, it doesn't work with lto (/GL) due to the force everything exported flag I set). The old Makefile is still kept for future reference.
2023-02-19 23:42:33 -08:00
CasualPokePlayer cd1d647d72 linux build for recent gambatte updates, also fix a minor potential build error when zlib is completely unavailable (it was getting linked even though there was no need for it to be linked) 2023-01-10 02:56:19 -08:00
CasualPokePlayer 0dc4f99f9d yet another time fix in gambatte, should be the last one 2023-01-10 02:06:02 -08:00
CasualPokePlayer b56fcaef13 another gambatte time fix, should prevent long periods of pausing from causing rtc overflows in real time mode 2023-01-09 23:49:53 -08:00