Commit Graph

763 Commits

Author SHA1 Message Date
YoshiRulz 8c5697d861 ab 2023-03-02 19:05:30 +01:00
YoshiRulz 0422f52d85 aa 2023-03-02 19:05:29 +01:00
YoshiRulz 4efad57a20 z 2023-03-02 19:05:29 +01:00
YoshiRulz c19a55cb07 y 2023-03-02 19:05:29 +01:00
YoshiRulz 56c6881f4a x 2023-03-02 19:05:29 +01:00
YoshiRulz 9a73a01ab3 w 2023-03-02 19:05:29 +01:00
YoshiRulz bca1c686c4 v 2023-03-02 19:05:29 +01:00
YoshiRulz 1983e78425 u 2023-03-02 19:05:29 +01:00
YoshiRulz be1e7605f4 t 2023-03-02 19:05:29 +01:00
YoshiRulz a69b200845 s 2023-03-02 19:05:29 +01:00
YoshiRulz 09b49edac8 r 2023-03-02 19:05:29 +01:00
YoshiRulz 65c8886bdb q 2023-03-02 19:05:29 +01:00
YoshiRulz 3d006ddb12 p 2023-03-02 19:05:29 +01:00
YoshiRulz 64cf031355 o 2023-03-02 19:05:29 +01:00
YoshiRulz 154483ee41 n 2023-03-02 19:05:29 +01:00
YoshiRulz 6ddd324f92 m 2023-03-02 19:05:29 +01:00
YoshiRulz eaf1f79218 l 2023-03-02 19:05:29 +01:00
YoshiRulz c88c8cb8b8 k 2023-03-02 19:05:29 +01:00
YoshiRulz c7477c755c j 2023-03-02 19:05:29 +01:00
YoshiRulz 00a9b43360 i 2023-03-02 19:05:29 +01:00
YoshiRulz 3012294014 h 2023-03-02 19:05:29 +01:00
YoshiRulz 7311bcfd55 g 2023-03-02 19:05:29 +01:00
YoshiRulz 407965ff0c f 2023-03-02 19:05:29 +01:00
YoshiRulz b7d4fd4836 e 2023-03-02 19:05:28 +01:00
YoshiRulz df6b42f2e2 d 2023-03-02 19:05:28 +01:00
YoshiRulz cc032bf45e c 2023-03-02 19:05:28 +01:00
YoshiRulz a1eea4b9ac b 2023-03-02 19:05:28 +01:00
YoshiRulz be5f9facf1 a 2023-03-02 19:05:28 +01:00
YoshiRulz 36412e2256 collect non-cores 2023-03-02 19:05:28 +01:00
YoshiRulz 80c4ffd111 add 2.9 partially formatted, uncollected 2023-03-02 19:05:28 +01:00
YoshiRulz 6c9d4e1f36 Check-in current changelog 2023-03-02 19:05:28 +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
CasualPokePlayer 86545197c6 [Gambatte] Cleanup time code, probably fix a bug that caused time to incorrectly advance when loading in a save file 2023-01-09 04:05:38 -08:00
Morilli 00060c3ffa BSNESv115: remove autoJoypad condition in lag detection code
this fixes lag frame detection in Super Bomber Man (Japan) and didn't cause any regression in my limited testing
2023-01-08 22:29:12 +01:00
YoshiRulz af9f5b9b9c
Add some sort of documentation for B/V gamedb flags 2023-01-05 00:41:25 +10:00
YoshiRulz 60f99bc3ab
Mark this Sonic romhack as a bad dump (resolves #3511) 2023-01-05 00:41:02 +10:00
CasualPokePlayer 05ff3ab40c merge some mGBA upstream commits, partially revert c891cc2cb5 (upstream commits makes our changes not really needed) 2022-12-22 20:26:11 -08:00
Morilli 576ab3174b best-effort fix bundled smw lua script 2022-12-20 18:21:44 +01:00
Morilli f668e09048 fix dumb mistake in bsnes gamepad controller
fixes 96cc3f8745
apparently this was only an issue in sgb?
2022-12-20 04:20:30 +01:00
CasualPokePlayer 339915c013 check-in NLua to main repo
combine NLua with KeraLua (KeraLua is "gone" now I guess)
make it use the BizInvoker (so now it can properly handle the liblua5.4.so and lua54.dll names differing), also delete the liblua54.so.
minor speedup when creating a new empty table
make lua default to UTF8 internally, so we don't need to manually change the state's encoding
2022-12-17 21:51:10 -08:00
CasualPokePlayer 3bb785a470 oops, apparently didn't commit the build here 2022-12-16 23:12:30 -08:00
YoshiRulz c794d90878
Revert switch to system-wide Lua install on Linux
reverts ab355d469 and 25795d237
2022-12-17 13:35:14 +10:00
CasualPokePlayer 05962cfd93 more proper fix for compilation issue with some gcc versions with ares
fixes 2989a73430
2022-12-16 18:53:33 -08:00
CasualPokePlayer 2989a73430 workaround ares state size being blown up, fix compilation issue in some gcc versions 2022-12-16 18:18:06 -08:00
CasualPokePlayer ab355d4693 check some system lib deps on Linux and force user to provide their own liblua54 from package managers 2022-12-16 15:03:39 -08:00
CasualPokePlayer f3ee3e7956 mGBA update, various cleanups and some reorg 2022-12-15 01:00:36 -08:00
Morilli 837592ca11 BSNESv115+: apply patch to fix $4203 mul/div behavior
see https://github.com/bsnes-emu/bsnes/issues/256 or https://forums.nesdev.org/viewtopic.php?t=24087 for context
2022-12-11 17:18:01 +01:00
Morilli 74b37ab947 BSNESv115+: apply patch to fix CPUMSC reset test
see https://github.com/bsnes-emu/bsnes/issues/235
this patch fixes the test, but its correctness needs to be verified against real hardware
2022-12-11 17:01:02 +01:00
Morilli b0af99a68a BSNESv115+: pull upstream
43e42b2dcaf84c41d09c49745d82f8515e4f7771: simplify SA1 division
c0c60c83a84a49d4a2b822a0491cb258a3c5b98a: fix justifier controller
2022-12-11 16:41:55 +01:00
YoshiRulz c7781d1c17
Add Lua migration helper library for bitwise ops
see 49cd836e1, #3485
put `bit = (require "migration_helpers").EmuHawk_pre_2_9_bit();` at top of file
can now easily add helpers for migrating from other emulators
2022-12-11 13:19:19 +10:00
feos dc774ed8be update EWJ2 script too 2022-12-09 13:06:41 +03:00
feos 7b7cea8bcf update gargoyles script to work with new lua 2022-12-09 12:27:48 +03:00
CasualPokePlayer 1fc08e3d95 Use NLua's MethodCache if possible for MethodBase based lua functions (see 0ed3085ec3) 2022-12-07 19:36:13 -08:00
CasualPokePlayer b04260bee7 fix unwrapped lua exceptions not being correctly thrown 2022-12-06 14:21:39 -08:00
Morilli 96cc3f8745 BSNESv115: implement an extended gamepad controller with 4 extra buttons
this is a breaking change for existing movies, but only when a non-gamepad controller was used, which is rare
2022-12-06 19:21:08 +01:00
CasualPokePlayer bc79664461 fix implicit lua number to .net conversion
fix .net exceptions not halting the running script
fix inconsistency with stdout and lua console printing errors, both should end in a newline now
print the inner exception of a lua exception (i.e. the .net extension) if possible
2022-12-06 02:52:57 -08:00
CasualPokePlayer eb00019c86 fix passing numbers for string args in .net lua functions (old engine had this behavior, granted "bad user" if they relied on this), add appropriate test
fix passing sbyte/char as args, add appropriate tests
cleanup the lua auto unlock hack, using a nice ref struct + dispose to handle it
2022-12-05 23:21:23 -08:00
Morilli 10ba45d462 BSNESv115+: actually provide IBoardInfo properly 2022-12-04 22:48:29 +01:00
CasualPokePlayer 51f01efdc4 Properly handle errors when running a lua script, using Resume/Yield methods added to the LuaThread class (see f904fa0d53) 2022-12-02 14:44:05 -08:00
YoshiRulz ec3a23259c
Remove default bindings for keyboards (resolves #3257)
and the Libretro mouse (leaving the other mice because you need to choose them
as peripherals for the axes to be bindable)
2022-12-02 05:35:58 +10:00
YoshiRulz 42455ac4a3
Fix syntax in `defctrl.json` and remove empty objects 2022-12-02 05:28:29 +10:00
CasualPokePlayer 45fbdb4844
Move to NLua/KeraLua/Lua5.4 (#3361) 2022-12-01 00:51:02 -08:00
CasualPokePlayer 92c1cdff22
RetroAchievements Support (#3407) 2022-11-30 23:51:17 -08:00
CasualPokePlayer eb1cef1ffc update mame to 0.250 2022-11-30 20:22:04 -08:00
CasualPokePlayer 137634cf89 add some missing updates to ares, cleanup build process a bit 2022-11-28 19:50:03 -08:00
CasualPokePlayer 8818f79bb0 actually make N64DD support work 2022-11-27 23:29:06 -08:00
CasualPokePlayer 9420c8b21c merge latest ares, hook up its new N64DD support, make ares use AxisContraint (see #3453), some other cleanups here 2022-11-27 05:44:00 -08:00
CasualPokePlayer c23b063733 basic virtualpad + default controls for TIC80, mark it as released 2022-11-26 19:54:45 -08:00
YoshiRulz 0711c2b1d6
Also downcase Odyssey² gamedb filename in import line
fixes 5a4dc9fd8
2022-11-23 02:51:49 +10:00
Morilli 589823d009 GPGX: add setting to disable per-line sprite limit
- resolves #3440
- includes manually cherry-picked e0ef0902e96bd9d71cb49c64505e755007e7452c
2022-11-22 14:44:39 +01:00
YoshiRulz 5a4dc9fd88
Downcase Odyssey² gamedb filename to match others 2022-11-21 17:14:29 +10:00
YoshiRulz 937872eaf6
Fix malformed PC Engine gamedb entry
broken since addition in 8295e6d65 ("Sounds" was interpreted as the sysID)
2022-11-21 17:09:02 +10:00
YoshiRulz a5ab31643f
Remove malformed SMS gamedb entry
reverts d6d2e4c6f
(it's missing a tab, plus this is a duplicate of the entry above)
2022-11-21 17:07:18 +10:00
Morilli 0cb63e8d6a BSNESv115+: Implement overscan and aspect ratio correction settings 2022-11-18 13:08:27 +01:00
CasualPokePlayer 2804ad3041 fix crashes in mame due to bad single thread handling 2022-11-17 00:45:42 -08:00
CasualPokePlayer 44944e1d70 more simple string and double handling, allow SaveRAM usage with different bios files 2022-11-16 21:32:29 -08:00
CasualPokePlayer 62c3b4b8e3
Use a small dll for handling the msabi<->sysv adapter (#3451)
make a small dll for handling the msabi<->sysv adapter, using only assembly (taken from generated optimized rustc output) and handcrafted unwind information (c# exceptions in a callback seem to work fine in testing)
additionally, allow floating point arguments. this really only needs to occur on the c# side. msabi and sysv agree on the first 4 floating point args and for returns, so no work actually has to be done adapting these
with assembly being used, we can guarantee rax will not be stomped by compiler whims (and avoid potential floating point args from being trashed)
2022-11-16 09:02:13 -08:00
CasualPokePlayer 64044845a6 resolve erroneous LibMAME errors due to mame_lua_get_string returning nullptr with an empty string
(now will only do so on an error)
add back in mame_lua_get_double, to be used to resolve other issues (c# code pending...)
2022-11-15 00:37:09 -08:00
Morilli c21fedc76a BSNESv115+: add option for disabling ppu sprite limit 2022-11-10 23:22:17 +01:00
CasualPokePlayer 066297d5e7
MAME Waterbox (#3437) 2022-11-10 00:05:25 -08:00
CasualPokePlayer cc71882059
BSNES Memory Domain Fixes (#3423)
* Use SameBoy submodule symlink for BSNES

* SGB memory domains

* Fix SGB saveram issues (extra data like rtc will be saved correctly now here)

* Various cleanups, avoid unneeded unsafe use, a little better EnterExit use

Co-authored-by: Morilli <35152647+Morilli@users.noreply.github.com>
2022-10-28 19:22:49 -07:00
CasualPokePlayer 2d6c0af570 Fix oops from fe9e97e505 2022-10-21 18:58:08 -07:00
CasualPokePlayer fe9e97e505 Fix #3425 2022-10-21 18:52:18 -07:00
CasualPokePlayer b81728b2dc Correctly account for multiboot GBA ROMs, fixes #3421 2022-10-20 02:42:31 -07:00
CasualPokePlayer 8f1a0b9bb1 update melonds (TODO: Wire up camera) 2022-10-20 00:47:16 -07:00
Prcuvu ad85be7bed
Register TCM areas for melonDS core (#3420)
* Register TCM areas for melonDS core

* reorder mem domains a bit, add TCM to ARM9 System Bus, build

Co-authored-by: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
2022-10-19 23:47:42 -07:00
YoshiRulz 82c3b471a5
Minor refactors to byteswapping (N64 rom loading and Lua bit library) 2022-10-11 10:12:45 +10:00
CasualPokePlayer 2fa46efda6 add jaguar db, change db parser to prefer the strongest hash available, fix potential edge case if a crc32: prefix is present (and simplify the code) 2022-10-04 22:05:38 -07:00
CasualPokePlayer 5382d4d345 Revert ""cheat" around the lack of pipeline emulation, delaying bankswitches/imask clears (note: branching resets the pipeline)"
This reverts commit d5a47490ff.
2022-10-04 18:10:42 -07:00
CasualPokePlayer d5a47490ff "cheat" around the lack of pipeline emulation, delaying bankswitches/imask clears (note: branching resets the pipeline) 2022-10-04 17:58:29 -07:00
CasualPokePlayer 9528a2030f GBS support using SameBoy 2022-10-03 01:55:14 -07:00
CasualPokePlayer 0c6f0523a0 Update sameboy, expose audio channel enable/disabling, cleanup settings to go through a single call/struct 2022-10-02 21:40:00 -07:00
CasualPokePlayer 7f8b4b8c87 fix whitespace in default controls (fixes 8732e561a1) 2022-10-02 19:10:13 -07:00
CasualPokePlayer 8732e561a1 Better Jaguar Virtual Width/Height
Jaguar VPad
Proper Jaguar default controls
Remove a lot of unneeded `ReSharper disable once UnusedMember.Global` in vpads (Global has been gone for a while now...)
Set VirtualJaguar to released
2022-10-02 18:53:34 -07:00
CasualPokePlayer 71f2676ad8 more virtualjaguar cleanup, fix various bugs, have the DSP run more in sync with the CPU/GPU (makes Zoop boot, Doom is much less laggy, various missing sound issues are no longer present) 2022-10-02 06:50:11 -07:00
CasualPokePlayer 98be50057a [virtualjaguar] proper mulitwidth support, fixes Doom 2022-09-30 21:42:36 -07:00
CasualPokePlayer a59d66dfdd proper fix for mmult opcode, properly fixes Baldies music 2022-09-30 15:24:24 -07:00