Commit Graph

407 Commits

Author SHA1 Message Date
CasualPokePlayer d37a818f96
Update Gambatte (GB Camera Support, Misc Cleanup) (#2897)
* update gambatte (camera support, misc cleanup)

* linux build

* misc

* [Gambatte] fix resets (oops)

* this didn't complain on my side but w/e ig
2021-08-07 17:50:16 -04:00
YoshiRulz 8adb911623
Pull Gambatte submodule, rename Linux binary to .so 2021-08-02 20:54:06 +10:00
CasualPokePlayer ee1dc3dba7 [Gambatte] add linux build 2021-08-02 16:23:38 +10:00
CasualPokePlayer 87f0fd78fc [Gambatte] sync to upstream 2021-08-02 16:23:38 +10:00
CasualPokePlayer 036e349337
[BSNESv115+] Fix Lag Frames For SGB (#2886)
* better lag detection for sgb. todo: might want to toggle this?

* correct logic and don't fail build this time
2021-08-01 09:54:59 -04:00
CasualPokePlayer 7518ce962b
[Gambatte] Many Updates (#2823)
* [Gambatte] Port setregs from upstream, implement SetCpuRegister, misc cleanup/fixes elsewhere

* [Gambatte] Add more proper uninitalized AGB WRAM, based of a GBP dump

* cleanup Gambatte's CpuSetRegister (credits to stringflow)

* additional Gambatte code cleanup

* [Gambatte] cleanup tracelogger code readability

* fix

* Initalize VideoBuffer with a white screen instead of a black screen, misc video fixes

* misc cleanup

* [Gambatte] hdma work

* [Gambatte] add warning for recording a movie without a bios enabled. doing this as I am annoyed enough from disabled bios being the default and you cannot say anything about the profile system since recent submissions have shown that ineffective

* misc cleanup

* [Gambatte] init state tweaks

* [Gambatte] add setting for patching similar bioses

* fix this

Co-authored-by: TiKevin83 <travismcgeehan@gmail.com>
Co-authored-by: alyosha-tas <alexei.f.k@gmail.com>
2021-08-01 09:54:19 -04:00
feos 11b1e328a6 rebuild gliden64 2021-07-21 16:20:28 +03:00
YoshiRulz b28a52befa
Add default feedback bind for N64 P1 (and add copy in test data)
the rest of the default binds are still garbo though
2021-07-21 12:27:41 +10:00
Meerkov 664ab7fab6
Wire up haptics in Mupen core (squashed PR #2683)
* Wire up host haptics, but only for OpenTK which doesn't support it

and I'm hijacking the Fast Forward hotkey too

* Fix Mupen 64 Vibration DLL

* Enable Mupen 64 Vibration for DirectInput

* Remove unused SDL dep from Mupen input-bkm plugin

this allows it to be built without checking out the deps submodule, I guess

* Fix <OutDir/> in Mupen lib projects

* Remove "Debug" haptic channel and debug hotkey, prepare Mupen

* Fix remaining merge conflicts

* ...with the correct channel name

and hopefully no dangling whitespace changes

* Fix typo from resolving merge conflict, and off-by-one error

Co-authored-by: YoshiRulz <OSSYoshiRulz@gmail.com>
2021-07-21 10:06:16 +10:00
Moritz Bender 2ff7e4d39b
Add sa1_iram memory domain for new bsnes (#2803) 2021-07-16 18:41:53 -05:00
Zach 58293dde9f
Support null (any) address for N64 breakpoints. (#2833)
* Support null (any) address for N64 breakpoints.

Fixes #2808

* Move null check for better readability.

* Replace debugger mutex with semaphore that counts debug steps.

This is taken directly from upstream m64p. If breakpoints are being hit fast enough and in large enough quantity, m64p always ends up getting into a deadlock. The semaphore seems to resist this problem.

* Remove tabs
2021-07-14 20:49:31 +03:00
CasualPokePlayer 488fd2c6af
Add support for more SGB firmware + Use homebrew bootroms instead of bsnes' illegally provided official ones (#2837)
* add support for more SGB firmware

* replace illegally provided bootroms with legal homebrew bootroms

* let's swap these with homebrew bootroms too

* add builds

* this should probably be preferred

* Fix incorrect assignment

* Fix whitespace changes to Designer files

Co-authored-by: Morilli <35152647+Morilli@users.noreply.github.com>
Co-authored-by: YoshiRulz <OSSYoshiRulz@gmail.com>
2021-07-14 12:48:02 -05:00
alyosha-tas c16acf70e2 NES: fix mapper selection for Saint Seiya and mislabelled mapper 33 games 2021-07-08 15:07:25 -04:00
nattthebear 9488e19d38
Update mednafen cores to 1.27.1 (#2831) 2021-07-03 10:01:04 -04:00
Asnivor 37a6446996 New ZXS game added to gamedb 2021-06-25 12:06:09 +01:00
nattthebear 90a12a8e73 Update virtual boy core with a mednafen 1.27.1 fix. 2021-06-19 08:32:50 -04:00
CasualPokePlayer 8ab4dd245b
[Gambatte] Account for lastCartBusUpdate_ during resetCounters (#2800)
* [Gambatte] Account for lastCartBusUpdate_ during resetCounters

* need DLL too
2021-06-18 10:07:49 -04:00
CasualPokePlayer ea369408fb
[Gambatte] Open Bus Emulation (#2798)
* [Gambatte] Open Bus Emulation

* Fix regressions

* a
2021-06-14 18:50:43 -04:00
CasualPokePlayer dd12d27149
[Gambatte] Misc Tracelogger Fixes (#2765)
* add HLE CGB-DMG colors for No Bios option

* misc gambatte tracelogger fixes
2021-05-31 10:48:14 -04:00
CasualPokePlayer 6432d99feb
[Gambatte] Many Updates (#2742)
* don't put isCGBMode for movies where CgbDmg mode is being used

* various Gambatte accuracy improvements + proper no BIOS support + tracelogger fixes
2021-05-27 08:56:13 -04:00
nattthebear 2c0c6aa0bb rename a bunch of shit because someone has a fetish for RFCs
rust maintains its reputation as a less annoying language to write systems code in than C, but only just barely.

yeets #2750
2021-05-26 16:07:07 -04:00
Morilli 38bc953e22 Add a designated payload controller based on the multitapcontroller in the new bsnes core
- also patched out the left/right and up/down handling in the core, where it didn't belong
- also fixed the existing payloadcontroller because it wasn't working at all lol
2021-05-26 02:27:54 +02:00
Morilli 24c74c0e36 Implement IDebuggable for the new bsnes core 2021-05-23 05:02:05 +02:00
Morilli e2b38732dd Fix bsnes memory domains and add bsnes.wbx.gz 2021-05-15 19:36:08 +02:00
YoshiRulz 07f637fef0
Remove garbage from misbehaving Gambatte build 2021-05-13 13:35:57 +10:00
TiKevin83 3dcc487df2
Fix Gambatte RTC on Hard Reset (#2739) 2021-05-12 23:25:28 -04:00
YoshiRulz f7e38d499d
Update mGBA binary for Linux
https://gitlab.com/TASVideos/BizHawk-ports-CI/-/jobs/1254060848
2021-05-12 03:12:44 +10:00
feos 8cc5488de3 update mgba to release 0.9.1 2021-05-11 19:17:46 +03:00
YoshiRulz 8f7b01bffe
Fix whitespace in defctrl.json 2021-05-08 06:26:17 +10:00
YoshiRulz b9e29e78b4
Fix default PCE gamepad bindings (fixes #2720) 2021-05-08 06:23:23 +10:00
CasualPokePlayer 3372556ef0
[Gambatte] MBC3 RTC Refactor (And add a way to set initial RTC state) (#2724)
* slightly fix gambatte peeking
* fix gambatte layer masking, move layer masking to sync settings (these settings affect sync, they shouldn't be normal settings)
* block toggle layer hotkeys when movie recording
* refactor Gambatte's RTC
* add a way to set an inital RTC state during a movie recording
* prevent Gambatte from saving RTC data when recording a movie, needed to create save-anchored movies
2021-05-05 21:40:36 -04:00
YoshiRulz 7c1b40df1f Revert "The next time I look at this I want to see waterbox builds actually fucking working again. This means copying to dll as they are now, and not silently being overridden by stale files stored in another folder. This is not my problem to fix because I did not fucking break it."
This reverts commit d8d42b9f81.
2021-04-28 15:35:11 +10:00
nattthebear d8d42b9f81 The next time I look at this I want to see waterbox builds actually fucking working again. This means copying to dll as they are now, and not silently being overridden by stale files stored in another folder. This is not my problem to fix because I did not fucking break it. 2021-04-27 19:37:53 -04:00
zeromus f7fb2ad76f psx - fix oopsies in shock_destroy 2021-04-27 14:56:41 -04:00
CasualPokePlayer 1fe2a12b67
[MovieClock.lua] use cycle based time for Gambatte/SubGBHawk (#2708)
* use cycle based time for Gambatte/SubGBHawk

* non-functional cleanup
2021-04-18 10:05:53 -05:00
CasualPokePlayer b9123453aa
[Gambatte] Slightly fix peeking & fix layer masking (#2712)
* slightly fix gambatte peeking

* fix gambatte layer masking, move layer masking to sync settings (these settings affect sync, they shouldn't be normal settings)

* block toggle layer hotkeys when movie recording
2021-04-18 10:03:44 -05:00
YoshiRulz 771b5397fe
Fix range, def. binds, and Virtual Pad for SEGA Mouse 2021-04-17 12:54:17 +10:00
TiKevin83 90a67b9e22 update libgambatte to fix RTC subsecond tests 2021-04-05 02:53:04 -04:00
TiKevin83 585ed99cdd update gambatte-speedrun GBA modeswitch timing and testROM accuracy 2021-03-18 19:31:06 -04:00
YoshiRulz d524da3530
s/null/nil/ in all included Lua scripts 2021-03-07 22:19:40 +10:00
TiKevin83 b2893d24c6 Update Gambatte to fix RTC issues and output location of the DLL in the assets folder 2021-03-04 02:04:45 -05:00
TiKevin83 9ca1b86316 Update gambatte to support the wisdom tree mapper and fix upstream reference and links 2021-03-04 02:04:45 -05:00
YoshiRulz 05676234ed
Move remaining assets from /output to /Assets 2021-02-12 14:08:17 +10:00
YoshiRulz dbe2cd4cde
Cleanup <Reference/>s of NLua (and System.Data.SQLite) 2021-02-12 13:59:40 +10:00
YoshiRulz 28ff2231f2
Update mGBA Linux binary
Windows binary rebuilt in 78931e025
taken from https://gitlab.com/TASVideos/BizHawk-ports-CI/-/jobs/968003727
2021-01-17 23:31:12 +10:00
YoshiRulz ce0ccd0cfa
Remove wget binary from assets
fixes a1253407e
2020-12-26 12:44:47 +10:00
YoshiRulz a1253407e7
Remove gamedb/update_gamedb.bat from assets (fixes #2529)
pulling the gamedb from master into an old version is a bad idea
2020-12-26 00:52:23 +10:00
nattthebear 72ea5ce866
Waterbox: Allow SEH unwinding through guest calls. (#2519)
The goal of the separate stacks was to allow this, but I never quite finished the job.  Now, when a SEH exception (generally a Rust panic in a guest syscall handler, or a C# Exception in a callback) tries to unwind through guest code, it works.  Note that we don't actually unwind the guest stack, as there's nothing useful to be gained from that;  When an emulator core throws an exception like this, it should be considered completely hosed.  Throw it out and get a new one.

There were two bugs stopping this from working.

First of all, we had custom thunks that lacked sufficient unwind information for RtlUnwind to get through.  For the sysv <-> msabi adapter, this was fixed by making it regular Rust code instead of hand assembled junkus.  So the compiler generates valid unwind information for all of that.  Then we just JIT a small stub on top in the MsHostSysVGuest code, which needs no unwind information because it won't throw an exception itself and transparently passes execution to something with valid unwind information without invalidating that information.  (NB:  Clr JIT stubs use the same strategy.)  For the host <-> guest stack transition code, a small hand generated unwind stub was added to interop.s that is registered with `RtlAddFunctionTable`.  I've seen the unwind work successfully without this second set of unwind information, but better safe than sorry.

Secondly, our misuse of SubSystemTib caught up with us.  It's an old field, allegedly from OS/2, that we repurposed to hold TLS information needed for the waterbox stack transitions.  Most people think nothing uses it any more, but in fact if it's set to a non-NULL value, but doesn't contain valid information, `KERNELBASE!GetModuleFileNameW` will crash when it tries to get a module name from there.  The fix here was to simply tighten up our usage of SubSystemTib:  We were already nulling it out when returning from guest code, but not when calling back to host code in guest code.

Fixes #2487.  Unwinding of this sort has never worked well in waterbox; the reason why that issue is more recent is that the particular reproducing case of firmware didn't cause an exception in a callback in older code; the exception happened in pure managed code.
2020-12-13 19:12:16 -05:00
YoshiRulz e2ac1aca84
Add and use DistinctKey enum (copy of WPF's key enum) 2020-11-21 17:43:58 +10:00
alyosha-tas 04a60cd0df Game DB, add good entry for Litti's Summer Sports 2020-11-09 13:12:29 -05:00