Commit Graph

4454 Commits

Author SHA1 Message Date
vadosnaprimer 4ea80410b8 mame: fix bios selection menu
api changed in 952b4ecc67
2023-04-08 10:46:28 +03:00
YoshiRulz 619c25b69a
Bump version 2023-04-08 05:12:57 +10:00
YoshiRulz 6e77c7348f
Improve error message when core does not implement mem callbacks 2023-04-08 02:16:29 +10:00
CasualPokePlayer fbe1f9b53e fix parameter order with DeltaUpdate calls
fixes 8737203f3a
2023-04-04 23:54:05 -07:00
CasualPokePlayer 389c6ebec5 fix 2mg detection
fixes 8737203f3a
2023-04-04 23:52:05 -07:00
CasualPokePlayer 8737203f3a Add ISaveRam implementation for AppleII, fix bug which caused DiskIIController to not be correctly stated 2023-04-04 23:46:26 -07:00
CasualPokePlayer 9ae5f786de fix #3610 2023-04-04 05:04:00 -07:00
CasualPokePlayer b8f3f089f2 Add in ISaveRam implementation for C64, using the deltas of disks.
Add in better docs for `DeltaSerializer`.
Fix C64 not remembering disk changes when swapping disks (swapping disks essentially just reset the disk previously)
2023-04-04 04:28:47 -07:00
CasualPokePlayer 2fc4683e6b Fix edge case with C64 states when CurrentDisk is different 2023-04-02 06:58:56 -07:00
vadosnaprimer d95cd4becb mame: use biggest int multiple of 60 as a framerate numerator
denominator is determined by taking refresh attoseconts `as_ticks(numerator)` which reduces the initial 64bit value to what can be used for video

mame needs flat 60fps for screenless machines, so we use a numerator that is a multiple, while also being a tiny bit more accurate than with 1,000,000,000
2023-04-02 16:54:28 +03:00
CasualPokePlayer df71de64c8 speedup delta stating with disks with simple track tracking, should be within acceptable performance bounds (more or less) 2023-04-02 03:48:24 -07:00
CasualPokePlayer 86b33bd3ce fix DeltaSerializer validation checks and add one more 2023-04-02 02:19:52 -07:00
CasualPokePlayer 6f7f94a06e don't give the same name to each track when stating
fixes 00e2fea901
2023-04-02 02:12:25 -07:00
CasualPokePlayer 00e2fea901 Create `DeltaSerializer`, uses simple RLE encoding so the serialized delta isn't huge, use it for C64 EasyFlash and Disks 2023-04-02 02:10:51 -07:00
CasualPokePlayer 5ca888a8af misc cleanups with previous commit 2023-04-01 19:57:47 -07:00
CasualPokePlayer a311b3b6f3 Change up AppleII's "main ram" domain, add aux ram domain
The main ram previously seemed to just be a slice of the system bus between 0 - 0xbfff. this posed two problems: that area is banked, and that area could represent main ram or aux ram. main ram now represents all of the ram main ram can possible represent, ordered like how the core orders it (which the way it does it happens to be very natural in any case), and a new aux ram domain does the same thing but with aux ram
Also some other changes put in so Rider wouldn't error on building Virtu
2023-04-01 19:54:26 -07:00
YoshiRulz 2a70b532d5
Disable Hex Editor's "Save [to rom file]" when not looking at rom
fixes 2e19451b0
not the "ROM" domain, but the "File on Disk" domain
2023-04-02 05:30:34 +10:00
CasualPokePlayer cd4c3cc353 fix various C64 state issues
Main changes here would be with cartridges, as it appears cartridge stating was just broken since 4ffcc9654a (that's all the way back in 1.13!!!) due to SyncStateInternal not actually getting used
a few other components also had some variables missing from states
disks are not properly savestated yet, it appears it was commented out due to an assumption that disks were write only, but this isn't the case
some other cleanups here, none of them actually affecting state quality here
2023-04-01 07:06:56 -07:00
CasualPokePlayer a31ecb7c0f fix new BSNES with subbsnes
fixes 22e35c45fc
2023-04-01 01:26:38 -07:00
CasualPokePlayer 22e35c45fc hook up RTC support for new BSNES, resolves #3577 2023-04-01 01:23:16 -07:00
CasualPokePlayer 116bc26556 add in entries for the various regions for DSi NAND, add in handling to autodetect region
tentatively add in the bios7i and bios9i hashes from nointro
2023-03-31 20:22:23 -07:00
CasualPokePlayer 6284c98d72 hook up clear NAND flag and dsiware saveram support
do various cleanups
enforce clear NAND flag for movie recording and retroachievements hardcore mode
2023-03-31 06:23:58 -07:00
CasualPokePlayer 7ae3f447d6 correct default for showing lightgun cursor (a casual player probably wants this on)
fixes c7ea4cbd0e
2023-03-30 20:33:00 -07:00
CasualPokePlayer c7ea4cbd0e Correct neutral Y position for SNES lightguns (fixes old BSNES lightguns), add in a controller button for offscreen shots for Snes9x and new BSNES, add UI option to disable drawing lightgun cursor for new BSNES 2023-03-30 20:25:26 -07:00
YoshiRulz 380e459bec
Copy from an editable template file when making a new Lua script 2023-03-30 21:43:27 +10: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
YoshiRulz 44322e6a7d
Add comments to Gambatte's `ITraceable` impl. 2023-03-26 12:49:52 +10:00
YoshiRulz eee8a7e0cc
Split `Config.AVWriterResize` tuple into 2 props
fixes 32d2f2311
2023-03-26 12:36:24 +10:00
YoshiRulz 32d2f23117
Persist A/V settings to disk properly (resolves #1226) 2023-03-25 22:36:50 +10:00
YoshiRulz 10423abdf9
Invert default of `LuaWinform.BlocksInputWhenFocused` (resolves #3591)
fixes 0591d2e2d; now matches 2.8 behaviour
just no pleasing you people
2023-03-24 09:46:24 +10:00
YoshiRulz 480b51b274
Add keybind (hardcoded) for MainForm context menu 2023-03-22 13:28:39 +10:00
YoshiRulz 4368629e67
Use bulk peek in `IMemoryApi.{ReadByteRange,HashRegion}` 2023-03-20 12:33:08 +10:00
YoshiRulz a8bffab1b6
Add unit tests for `IMemoryApi.HashRegion` 2023-03-20 12:33:02 +10:00
YoshiRulz 32e36e28bb
Skip drawing RAM Watch OSD outside window bounds 2023-03-20 08:16:05 +10:00
YoshiRulz 291a14315d
Use a cache for `tastudio.onqueryitemicon` 2023-03-18 11:22:15 +10:00
YoshiRulz cddc092b96
Improve docs for some `tastudio` Lua lib callback functions 2023-03-18 10:27:37 +10:00
YoshiRulz 52fd5e41f8
Improve docs for `event.on{save,load}state` 2023-03-18 10:11:55 +10:00
YoshiRulz f28067e7fc
More improvements to mem hook docs
fixes 6b4f3355f
2023-03-18 10:00:50 +10:00
Morilli 44bf67e8a3 Add Satellaview entry to path config 2023-03-17 10:40:09 +01:00
CasualPokePlayer 3c7fd55f70 Mode2/2336 support (fixes #3387) 2023-03-16 20:17:55 -07:00
YoshiRulz 6c8d4c536a
Clear `MovieSession._queuedMovie` if rom load fails (resolves #3582)
for #3582, `MovieSession.QueuedCoreName`, which gets passed to `RomLoader`,
evaluated to a nonexistent core name and couldn't be cleared
2023-03-17 11:50:30 +10:00
YoshiRulz f565eeef74
Add test case for mem callback removing itself 2023-03-17 07:32:04 +10:00
YoshiRulz f021159931
Split `FirmwaresMenuItem_Click` 2023-03-17 06:37:38 +10:00
YoshiRulz 39fda0fa17
Change wording of missing firmware warning 2023-03-17 06:37:38 +10:00
YoshiRulz 7c3e35f3e7
Fix window title after loading rom via FW config (fixes #3581) 2023-03-17 06:37:38 +10:00
YoshiRulz eb6f2864ff
Only set `<PathMap/>` for Release builds
fixes 5dc385e22; also skip `SolutionDir` override if building projects
individually
2023-03-17 06:37:38 +10:00
YoshiRulz 6b4f3355fd
Correct mem callbacks docs (resolves #3522) 2023-03-16 14:48:17 +10:00
kalimag 565a0b9141 Implement specialized `IMemoryCallback` collection 2023-03-16 14:30:19 +10:00
kalimag 06c06dd35c Add some tests for MemoryCallbackSystem 2023-03-16 14:30:19 +10:00
YoshiRulz 5dc385e228
Set `<PathMap/>` so per-machine paths don't leak into build output 2023-03-16 12:39:26 +10:00
YoshiRulz 389fd5015f
s/ProjectDir/MSBuildProjectDirectory/ in MSBuild include files
I don't think anything was broken, this is just a precaution
2023-03-16 12:39:26 +10:00
YoshiRulz 38b5f16ccc
Refactor enable Roslyn Analyzers flag
kept the old name, but turns out `-p:RunAnalyzersDuringBuild=true` also works
...good thing the old name wasn't documented
2023-03-16 12:39:25 +10:00
YoshiRulz a8f26ccf08
Add `.bps` patch applier
currently unused, like `.ips` patch applier; will return to hook up to loading
(currently flagged as good dump if base was), write unit tests, and add a way to
save patched rom to disk
2023-03-16 03:32:46 +10:00
YoshiRulz eb13e46f45
Refactor `.ips` patch applier
`RomGame` is never initialised with a non-null `patch` so this was and is unused
2023-03-16 03:32:41 +10:00
CasualPokePlayer c2297283f4 Add in CDI support in DiscoHawk
(just needed to allow the file to be drag n' dropped)
2023-03-14 20:55:17 -07:00
CasualPokePlayer 809523d465 fix cheevo hashing for Jaguar CD (accounting for the proper multisession support chances)
add some notes to CDI, suppress one of the parsing sanity checks (not sure if it's right)
2023-03-14 20:39:46 -07:00
CasualPokePlayer d9ac4166cf .cdi support, seems to work
also expand the search for the jaguar cd header a bit, seems it can sometimes be at the second sector?
2023-03-14 05:16:12 -07:00
YoshiRulz 825c144d6a Add `--userdata` CLI flag 2023-03-14 14:51:41 +10:00
YoshiRulz cb71de8de1
Fix typo in .NET 6+ implementation of `DescribeIsNull` 2023-03-13 10:14:11 +10:00
YoshiRulz 51dab92826
Improve error message shown for malformed `.bk2`/`.tasproj`
of course I didn't test it
2023-03-13 03:23:04 +10:00
CasualPokePlayer 9d6a732cb4 Many cleanups in disc system
Multisession support! (resolves #3400)
The support is a bit lackluster given some constraints of our environment (e.g. the lack of a readable leadin entirely), but they don't matter for now
2023-03-11 01:28:32 -08:00
YoshiRulz 1ca1f4a397 Finalise sysID name and alphabetise 2023-03-11 07:29:23 +01:00
Morilli 17a098dfa3 implement SatellaviewCartridge in BSNESOptions 2023-03-11 07:29:23 +01:00
Morilli 3a6eda25dc add baseCartridge info to gamedb
+ implement baseCartridge parameter in code
2023-03-11 07:29:23 +01:00
Morilli 6329d6a6fd add all satellaview roms as separate firmware files
also implement corresponding loading code in the core
2023-03-11 07:29:23 +01:00
YoshiRulz c954a84cd8 Add Satellaview rom detection code 2023-03-11 07:29:23 +01: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
Morilli 8c780e42cb minor BSNESOptions cleanup 2023-03-10 02:24:46 +01:00
Morilli cb785c4cdb resolve TODO regarding bsnes settings 2023-03-10 02:17:35 +01:00
Morilli eef190d332 make bsnes settings `record` for easier comparison 2023-03-10 01:56:30 +01:00
YoshiRulz 2fca4282a9
Make `ApiContainer` props return `null` if req. services unavailable
specifically `MemoryEvents` and `MemorySaveState`
now they behave like `[OptionalApi]` rather than `[RequiredApi]`
2023-03-10 04:30:52 +10:00
YoshiRulz 6387291e37
Deprecate `IGuiApi.DrawText` in favour of new method `PixelText`
to match Lua
2023-03-10 03:55:05 +10:00
YoshiRulz 132029d18f
Sort out docs for text-drawing APIs, flipping drawText=>drawString 2023-03-10 03:54:55 +10:00
YoshiRulz 16afcffe81
Clean up how SGB/SNES menus for BSNES are handled
makes Satellaview a 0 LOC change, and deleting old BSNES will be easier too
2023-03-09 23:35:26 +10:00
YoshiRulz 1a30f6551e
Use LuaPictureBox' custom resize in all cases 2023-02-26 14:35:35 +10:00
CasualPokePlayer 2c3fb68776 fix PictureBox when width or height is null 2023-02-24 13:29:18 -08:00
Morilli b45668ecea Parse RTC in DsmImport
see #3555
2023-02-21 18:33:46 +01:00
CasualPokePlayer 5804ff04e7 Fix memory handling for DSi achievements 2023-02-20 12:10:58 -08: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 7b4bd52150 fix edge case with PSX hashing with RetroAchievements 2023-02-15 16:23:39 -08:00
Morilli fcbc44b64f Resolve part of #3506 2023-02-12 12:30:14 +01:00
vadosnaprimer a2ff685fc1 release the mame core
I asked others and nobody minds. it's not like we're releasing a raw core that has accuracy or integration problems. it mostly works, and it's just modern mame with its current level of accuracy. if integration needs further tweaks to support more games, they will duly arrive while people use it for games that already work.

tasvideos used to only accept hawk submissions for cores marked as released in the code, which usually means the core author (or porter) considers it ready for business. I'm the original porter, and tasvideos staff, and I consider it generally ready. again, the other porter (CPP) didn't seem to mind.
2023-02-12 10:37:20 +03:00
YoshiRulz a137cc406b
Allow `EmuClientApi.SpeedMode(6400)` (to match GUI; Lua max was 6399)
logic broken since introduction in 858f133f9, though the limit wasn't 6400% at
the time, that was changed in 5f9757d7d
2023-02-10 13:53:27 +10:00
CasualPokePlayer 2350dddb69 fix pause at end of movie when playing a tasproj without tastudio
old commits seem to suggest the IsPlayingOrFinished special logic was only intended for HandleFrameLoopForRecordMode. doing it otherwise causes issues with other end movie actions (e.g. if at pause at end of movie, it will just spam pause every time you unpause the movie). when in tastudio `Settings.MovieEndAction == MovieEndAction.Record` is always true, so this only affects playing tasprojs outside of tastudio
2023-02-09 12:26:10 -08:00
CasualPokePlayer b48649a91b fix Lower Is Better checkmark with RCheevosLeaderboardForm 2023-02-09 11:52:04 -08:00
CasualPokePlayer 8c2751bb58 fix PCECD and PCFX hashing for retroachievements 2023-02-09 10:26:25 -08:00
CasualPokePlayer a61be6ba2b fix incorrect memory being used with a2600 and retroachievements 2023-02-09 08:25:58 -08:00
YoshiRulz b14a741ffe
Merge `Where` calls
fixes 0d02d5c49 and e7884f679
2023-02-09 00:47:49 +10:00
YoshiRulz eafb1fdcf5
Clean up Windows version comparison
fixes 1b8158f4c
2023-02-09 00:47:46 +10:00
zeromus 6ea9e37e33 NES PPU Viewer - SpriteViewer also needed to be drawn without getting blurred 2023-02-08 05:09:33 -05:00
zeromus 6fe91ae56c Nes PPU Viewer - undo part of ac20835172 which made ctrl+c no longer work on pattern viewer 2023-02-08 05:07:26 -05:00
zeromus 8b38237948 fix jacked up blur in patternviewer 2023-02-08 04:59:58 -05:00
zeromus 63310fcf3d NES PPU viewer - size of palettes box had got messed up by my last commit. what's going on? 2023-02-08 04:45:30 -05:00
zeromus b7b60ae7b4 NES PPU viewer: fix calculations of hovered sprites from mouse coordinates. they were pretty crashy before 2023-02-08 01:32:24 -05:00
zeromus cb162f12d6 NES PPU viewer: fix too-small sprites window which hid a bunch of the sprites 2023-02-08 01:25:49 -05:00
zeromus 1b8158f4c2 skip this stupid administrator check on old windows versions. windows isn't capable of being useful for non-administrators until windows 10. 2023-02-08 01:07:41 -05:00
zeromus 4ba7b68e66 add missing using namespace NDS to fix building 2023-02-08 00:56:32 -05:00
YoshiRulz 67466be2f4
Have TAS profile also enable NDS BIOS 2023-02-08 10:08:19 +10:00
YoshiRulz 1ca610b424
Set default `Form.Icon` to corphawk
not sure about this, and I think it also affects ext. tools
2023-02-08 07:15:25 +10:00
YoshiRulz e7884f6796
Hide debug tools from Tool Box and add ext. tools 2023-02-08 07:15:24 +10:00
YoshiRulz 8b7cba96bb
Use a single-source-of-truth for tools' icons in menus and Tool Box
reverts 733b6c49b
some more `[SpecializedTool]`s have icons now
2023-02-08 07:15:24 +10:00
YoshiRulz 0d02d5c498
Refactor `ToolBox.SetTools` 2023-02-08 07:15:24 +10:00
YoshiRulz b93eb948fd
Unindent `MainForm.DisplayDefaultCoreMenu` 2023-02-08 07:15:24 +10:00
YoshiRulz 15eed689d0
Misc. refactors in `ExternalToolManager` 2023-02-08 07:15:24 +10:00
YoshiRulz a86860faaa
Fix `--open-ext-tool-dll`
fixes 4566b744d
2023-02-08 07:15:23 +10:00
YoshiRulz 3c3ab6578e
Use system's canonical framerate for rewind duration estimate 2023-02-05 21:00:04 +10:00
YoshiRulz f473db56c3
Fix NaN propagation in RewindConfig 2023-02-05 20:56:22 +10:00
CasualPokePlayer b1e8d93f5f remove unused using from last commit
need to check what's going to be committed, the auto-using thing keeps tripping me up
2023-02-01 21:27:49 -08:00
CasualPokePlayer 46a086ed32 fix b109dc8605 2023-02-01 21:26:44 -08:00
YoshiRulz b109dc8605
Mute audio when opening modal dialogs (see #3545) 2023-02-02 05:41:44 +10:00
YoshiRulz 26991944ee
Fix `<NoWarn/>` overwriting instead of appending 2023-02-02 00:07:04 +10:00
YoshiRulz d8d9abeacd
Update OpenTK 2023-02-02 00:07:04 +10:00
YoshiRulz e7d349f48d
Update Windows version check to reflect 8.1 EOL 2023-02-02 00:07:04 +10:00
CasualPokePlayer cf0ce0f5bb fix GC killing rcheevo callbacks 2023-01-27 02:47:05 -08:00
CasualPokePlayer c4f2bed9fd sledgehammer fix any remaining issues with RAIntegration 2023-01-26 08:00:43 -08:00
CasualPokePlayer e67e646ca5 fix deadlock when loading state with hotkeys and RAIntegration is active
hotkeys don't go through messages so unlike other methods of loading a state this caused a deadlock (load state implies memory peeking to restore state)
2023-01-26 07:12:54 -08:00
CasualPokePlayer e8dd2e94f2 Fix crashes when using menu item for save/load quicksave
fixes 22ba0d5c25
2023-01-26 05:49:52 -08:00
CasualPokePlayer 66282a25aa fix a NullReferenceException this time...
this thing is getting annoying now
2023-01-26 04:32:53 -08:00
CasualPokePlayer 0170d8f0f0 resolve ObjectDisposedException
fixes 713944724d
2023-01-26 01:24:34 -08:00
CasualPokePlayer 713944724d fix deadlocks in RAIntegration for real this time (i hate this hack)
fixes f8a5adecb5
2023-01-25 23:36:46 -08:00
CasualPokePlayer 03077daf71 fix a crash when loading a quicksave right after shutting down retroachievements 2023-01-25 22:43:57 -08:00
CasualPokePlayer f8a5adecb5 fix possible deadlocks with RAIntegration due to dumb threading bs, cleanup some of this code
also make sure to reboot core when starting up RetroAchievements with RAIntegration active (RAIntegration doesn't do this itself it seems)
2023-01-25 22:28:26 -08:00
YoshiRulz 95001d0baa
Hack to fix Nymashock analog stick range (see #3528) 2023-01-26 14:57:57 +10:00
YoshiRulz c66d0c746e
Document `IMemoryDomains` invariants 2023-01-25 02:04:10 +10:00
YoshiRulz 9e8b0c604d
Add debugging helper `DescribeIsNull` 2023-01-25 01:14:50 +10:00
kalimag b174c346d4 Hex editor: unset ROM domain when loading MAME ROM
Previously, last non-MAME ROM would still appear under "File on Disk"
2023-01-20 09:29:31 +10:00
kalimag b2ed03c90d Fix NRE in `HexEditor` domain selection for MAME
Fix NRE when MAME ROM was loaded without Open Advanced
2023-01-20 09:29:31 +10:00
YoshiRulz 15056f11f2
Fix typo (resolves #3520)
fixes 007d862c5
2023-01-15 05:38:03 +10:00
adelikat 8c32157547 hotkey for toggling on screen messages 2023-01-14 12:00:37 -06:00
YoshiRulz 566d47e263
Several changes to the About dialog
- s/BizHawk/EmuHawk/
- s/multi-platform/multi-system/ because, while the former is technically true,
it's very much a Windows app, and the latter is what was intended anyway
- replaced logo w/ a nice upscale courtesy of @DrD2k9
- added VCS branch to commit link
- changed window title from VCS info to "About EmuHawk"
- added build config after release version
2023-01-14 14:31:41 +10:00
kalimag abee97b449 Remove pixels array from `DisplaySurface`; faster clearing 2023-01-08 08:53:45 +10:00
YoshiRulz bc823f4795
Clear props of type `ApiContainer` when clearing injected API props 2023-01-08 08:27:31 +10:00
YoshiRulz 3c00c24fcd
Fix `ApiInjector` trying to set get-only props of type `ApiContainer` 2023-01-08 08:26:27 +10:00
YoshiRulz 16ee704332
Deduplicate `MemoryDomainDelegateSysBusNES` 2023-01-08 07:54:20 +10:00
CasualPokePlayer 0bd2a1d89b
Resolve bigEndian nonsense for MemoryDomainDelegateSysBusNES too
TODO: This is just MemoryDomainDelegate but with a SendCheatToCore delegate allowed to be added, surely we could just add this to the existing MemoryDomainDelegate? Or better yet MemoryDomainDelegateSysBusNES could just inherit MemoryDomainDelegate if this wants to be separated (and reduce all this code duplication)
2023-01-06 10:10:14 -08:00
CasualPokePlayer 2a7cbda8c5
Correctly pass in bigEndian for MemoryDomainDelegate's BulkPeekUshort/BulkPeekUint, fixes #3516 2023-01-06 10:02:28 -08:00
CasualPokePlayer a896471164
fix MAME memory domains 2023-01-05 18:47:49 -08:00
kalimag 3f4aee0154
Return success bool from `OpenRom` APIs (squashed PR #3514)
* Return success bool from `OpenRom` APIs

* Finish propagating, update docs for other recently changed methods too

Co-authored-by: YoshiRulz <OSSYoshiRulz@gmail.com>
2023-01-06 03:50:13 +10:00
YoshiRulz 0591d2e2d2
Pass through input/hotkeys while Lua form is focused
to restore previous behaviour, call `forms.setproperty(form_handle,
"BlocksInputWhenFocused", true);`
2023-01-05 02:09:49 +10:00
YoshiRulz af9f5b9b9c
Add some sort of documentation for B/V gamedb flags 2023-01-05 00:41:25 +10:00
YoshiRulz 699ef428bf
Fix `mainmemory` lib keeping reference to unloaded core's memdomain 2023-01-03 23:46:02 +10:00
YoshiRulz 5827cbd829
`Trim()` when copying Log Window selection to clipboard
see e269bfd49
2023-01-03 23:26:36 +10:00
YoshiRulz e7d95aa07d
Disable Lua tests in CI 2023-01-03 07:31:27 +10:00
YoshiRulz ec6fe5fcf1
Change loadstate methods to return a bool indicating success 2023-01-03 06:49:29 +10:00
YoshiRulz 250b839e2c
Extract method from `LoadBranchToolStripMenuItem_Click` 2023-01-03 06:49:29 +10:00
YoshiRulz 007d862c58
Finish renaming quicksave slot 0 to 10 (resolves #3112) 2023-01-03 06:49:28 +10:00
YoshiRulz 7f33a8836d
Invert some conditionals in `MainForm` to reduce indent level 2023-01-03 06:49:28 +10:00
YoshiRulz fcf7ac1fab
Change first param of `{Save,Load}QuickSave` from string to int
also swapped bool params of `SaveQuickSave`
2023-01-03 06:49:28 +10:00
YoshiRulz 22ba0d5c25
Dedup click handlers for `File` > `Save State` and `Load State`
`File` > `Save Slot` already did this
2023-01-03 06:49:28 +10:00
CasualPokePlayer 4b30cab993
Check the correct integer type for tastudio.setplayback
New lua actually has integers so this is a long instead of a double
2022-12-31 18:10:36 -08: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
CasualPokePlayer 00d450075e oops forgot a colon here 2022-12-21 00:43:52 -08:00
CasualPokePlayer c7c5ed229d add pc2 extension for wonderswan
these are pocket challenge v2 roms, which is some handheld system which is actually just a wonderswan inside so these roms work anyways with cygne
2022-12-21 00:41:42 -08:00
Morilli 603530d540 set gcAllowVeryLargeObjects to allow 2GB+ arrays 2022-12-21 07:43:34 +01:00
Morilli 79857a3b71 Revert "make a new "FixedGrowthList" and use it for the StringLogs"
This reverts commit da5fae0b01.
2022-12-21 07:42:31 +01:00
nattthebear 66c19cfcb2 Support marshalling arrays of length 0 through BizInvoker
Such arrays will be marshalled with valid and unique pointers that can be compared but not read from or written to.
2022-12-20 18:04:41 -05:00
CasualPokePlayer 5b0fe947df fix #3498 2022-12-20 10:40:03 -08:00
YoshiRulz 6678fb4296
More cleanup of switch in `RetroAchievements.SystemIdToConsoleId` 2022-12-20 18:58:17 +10:00
YoshiRulz 7703ee5f37
Refactor `IGameboyCommon.IsCGBMode` 2022-12-20 18:58:17 +10:00
YoshiRulz a54c94230f
Restore system menu behaviour re: SGB
fixes 81fe56fa6
2022-12-20 18:58:12 +10:00
Morilli 81fe56fa6e provide correct sysid in BsnesCore 2022-12-20 04:22:23 +01:00
YoshiRulz aa0e2d6a5f
Use new CartRAM domain name in GBHawk's CDL impl. (fixes #3497)
fixes 7e00b7892
2022-12-19 13:20:37 +10:00
CasualPokePlayer cee263e272 oops didn't mean to checkin this experiment (it doesn't do anything actually) 2022-12-17 21:53:47 -08: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 a1da5753ee 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:50:56 -08:00
Morilli 55fdcbb3d1 Don't set modifiers for key release events
this fixes a bug in 1df6ce4e38, where an incorrect modifier state could be set, causing the release event to not actually release the key. I also don't see a reason to not just not set modifiers.

For example: "Hold Tab", "Hold Shift", "Release Tab" would send a "Release:Shift+Tab" event which failed to release Tab, even though that key was initially pressed without Shift.

So, instead of trying to match the right modifiers and keys just send the released key without modifier state and let the Receive() function do the work.
2022-12-18 06:03:55 +01:00
YoshiRulz 8db15d6951
Show warning dialog when running as Superuser/Administrator 2022-12-18 12:21:43 +10:00
YoshiRulz 767e30eee5
Also rename bundled CPC firmware files (see #3494)
fixes 5be8b0aab
2022-12-18 12:02:23 +10:00
CasualPokePlayer 8d5f7b5478 make selecting user shaders not crash with the default empty string path
Path.GetDirectoryName throws if it is handed an empty string apparently
2022-12-17 12:16:03 -08:00
YoshiRulz a680739c6e
Rename bundled ZX Spectrum firmware file (resolves #3494)
fixes 5be8b0aab
2022-12-17 22:47:57 +10:00
CasualPokePlayer 58beef8a46 remove speex use in melonDS (see 5f0e6a2242 for unmanaged side changes) 2022-12-16 23:04:35 -08:00
CasualPokePlayer 5e9e9ac289 remove libspeexdsp use in old bsnes core 2022-12-16 20:45:25 -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 25795d2372 remove GetErrorMessage call for Linux dep checks 2022-12-16 15:26:11 -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 767cc9059d Improve handling of RA http requests, add some handling in case RA sound files are missing. Normally this shouldn't be needed as docs specify if the wav file fails to load it plays the default beep sound, except actually it just throws in practice???
The 2.9 rcs apparently have the "overlay" folder missing, so the sound files aren't present. I'm assuming there's some issue with build scripts there for releases...
2022-12-15 23:45:29 -08:00
CasualPokePlayer f3ee3e7956 mGBA update, various cleanups and some reorg 2022-12-15 01:00:36 -08:00
adelikat f6503adfb8 Update virtualpads immediate when the movie status changes, huge improvement when using tastudio and virtualpad together as the record checkbox toggle now changes the readonly status of the pad 2022-12-13 08:39:29 +10:00
CasualPokePlayer 27f6800d45 fix #3489 (InitializeWork is called by itself for each gamedb file #include'd, so the event would have been set once the first gamedb file is loaded, oops), do some other cleanup here 2022-12-10 23:42:08 -08:00
CasualPokePlayer b3c7f0fa48 IPlatformLuaLibEnv -> ILuaLibraries / Win32LuaLibraries -> LuaLibraries, cleanup usage of it, fix doc error in client.gettool 2022-12-10 21:46:22 -08:00
YoshiRulz f101cb5a54
Additional corrections to newly-added Lua documentation
fixes 49cd836e1, c7781d1c1
2022-12-11 13:35:29 +10:00
YoshiRulz cbb335fec2
Fix Lua `require` not looking in Lua dir on Linux
see #3485
thanks to @CasualPokePlayer for research and initial implementation
2022-12-11 13:16:07 +10:00
CasualPokePlayer 9e4836d300 libretro handling cleanup, reorg some of this, fix some input cases, better domain names
funsie found in this cleanup: can't use `in` params with the BizInvoker as it doesn't like the read only semantics (results in some exception in CreateType)
2022-12-10 04:45:00 -08:00
CasualPokePlayer 64d693e63f call retro_unload_game before retro_deinit (libretro api specifies retro_unload_game be called before retro_deinit, in practice cores don't really care but best fix this) 2022-12-08 23:18:37 -08:00
CasualPokePlayer 29443dae49 fix #3484 2022-12-08 14:26:23 -08:00
YoshiRulz c4f4c793da
Remove unused `IPlatformLuaLibEnv` implementation 2022-12-09 05:41:49 +10:00
YoshiRulz 5197c36a5d
Remove `[Lua*StringParam]` as they're no longer relevant
fixes 45fbdb484
2022-12-09 05:40:31 +10:00
YoshiRulz 5c0143d6f6
Minor corrections to newly-added Lua documentation
fixes 1452f831a, 82c3b471a, b687dea1b, 49cd836e1
2022-12-09 05:28:36 +10:00
CasualPokePlayer 49cd836e18 log warning when using the deprecated lua bit functions 2022-12-08 04:26:54 -08:00
CasualPokePlayer 56d66ca555 add reset support to libretro, resolves #3482 2022-12-07 19:54:59 -08:00
YoshiRulz 4caa99afe3
Remove Lua in Mono warning as it's no longer relevant
fixes 45fbdb484
2022-12-07 18:46:25 +10:00
kalimag 01ab9416b5 Make script paths in .luases relative to .luases path
Restore behavior before 99dc0e03df
2022-12-07 18:24:21 +10:00
YoshiRulz df4df517b8 Add `IMovieApi.PlayFromStart`/`movie.play_from_start` (resolves #384) 2022-12-07 18:16:13 +10:00
YoshiRulz 7fdc3f992d Propagate success through to caller for movie load/restart 2022-12-07 18:16:13 +10:00
YoshiRulz 0076c8802b Add `saveChanges` parameter to `IMovieApi.Stop`/`movie.stop` 2022-12-07 18:16:13 +10:00
YoshiRulz e0a7a39b0d Have `IMovieApi.Stop` implementation use `MainForm.StopMovie` 2022-12-07 18:16:13 +10:00
kalimag 596e8d9198 Call `onexit` and cleanup when removing lua script 2022-12-07 18:15:31 +10:00
kalimag 50fc7e28da Make "Stop all scripts" behave the same as toggling them off 2022-12-07 18:15:31 +10:00
kalimag 817b258a79 Remove relative path manipulation in `LuaConsole` 2022-12-07 18:15:31 +10:00
kalimag f625771cd0 Don't create FileSystemWatcher for missing directories 2022-12-07 18:15:31 +10:00
kalimag cf2b83b102 Disable lua script if loading fails 2022-12-07 18:15:31 +10:00
kalimag bd53807b0f Store `LuaFile` `FileSystemWatcher` in dictionary
Avoid path string comparisons, `FileSystemWatcher` events may format relative paths differently
2022-12-07 18:15:31 +10:00
kalimag 6aa7c48402 Update Lua registered functions window after restart
Make registered functions window show functions for new LuaImp after core restart/reopening the Lua console
2022-12-07 18:15:31 +10:00
kalimag ee66faba0b Clean up old LuaImp before creating new one
Prevents memory/resource leak

Causes open forms to be closed on core restart
2022-12-07 18:15:31 +10:00
kalimag 3a70fb65f8 Refactor disabling Lua script into separate method 2022-12-07 18:15:31 +10:00
kalimag 7c7ac64ae6 Stop discarding Lua session save directory
Previously any path would into ".\foo.luases" and be saved in exe dir
2022-12-07 18:15:31 +10:00
kalimag 9ee788195a Improve Lua `FileSystemWatcher` thread safety
Make FSW invoke the entire event handler on main thread.

Avoids theoretical race condition and thread safety issues with the linq query.
2022-12-07 18:15:31 +10:00
kalimag 733a8bee88 Dispose FileSystemWatchers in LuaConsole 2022-12-07 18:15:31 +10:00
kalimag 28d6415190 Remove running scripts before loading session
Clean up scripts instead of just clearing script list
2022-12-07 18:15:31 +10:00
kalimag cc10de4033 Refactor removing Lua scripts into separate method 2022-12-07 18:15:31 +10:00
kalimag 564a1e4a67 Remove obsolete `LuaConsole.RunLuaScripts`
Method is mostly a duplicate of `EnableLuaFile`, only called when loading a session or an already loaded script.

In either case it didn't actually start the scripts due to an inverted condition, and would stop running scripts without doing the required cleanup.
2022-12-07 18:15:31 +10:00
kalimag 5d143ca879 Properly start scripts after loading Lua session
Previously, scripts would display as enabled but not actually run until toggled off and on.
2022-12-07 18:15:31 +10:00
kalimag 0effd435f6 Fix issues when opening same Lua script multiple times 2022-12-07 18:15:31 +10:00
kalimag 14e713837b Change remaining `Config.DisableLuaScriptsOnLoad` refs to Settings
Resolve inconsistent use of duplicate property on `Config` and `LuaConsoleSettings`, finishes partial refactoring from 324a50a

This will effectively reset this setting to default in existing configs.
2022-12-07 18:15:31 +10:00
YoshiRulz a8e0192281
Use FLPs so UI scale doesn't break Record Movie dialog (see #2605)
disables resizing the dialog; default is big enough and the `TextBox`es can
scroll
2022-12-07 15:43:25 +10:00
YoshiRulz 632f063073
Cleanup `RecordMovie` ctor 2022-12-07 15:43:24 +10:00
YoshiRulz 400b1b589b
Inline `RecordMovie.InitializeComponent` (Designer file) 2022-12-07 15:43:21 +10:00
YoshiRulz 102874e480
Fix N64 header detection being swapped (fixes #3477)
fixes abeaa2a10
how ironic
2022-12-07 14:34:52 +10:00
YoshiRulz 62f6f3b471
Fix Win32LuaLibraries init'ing incorrectly on `DeveloperBuild = false` 2022-12-07 14:27:19 +10:00
YoshiRulz def5df44fa
Fix double call to `UIHelper.ScaleX` in `ControllerConfig` (see #2605)
fixes 93c47b87b
2022-12-07 05:29:27 +10:00
Morilli 5e6c4a2bbd fix justifier controller never working oops 2022-12-06 19:42:30 +01: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 339994c5a7 change these to using var 2022-12-06 09:46:12 -08:00
CasualPokePlayer b687dea1b0 change every IntPtr<->int cast to IntPtr<->long. we got 64 bit integers with lua now, and a pointer is 64 bits, so might avoid some dumb bug due to truncations and some ungodly amount of ram being used
TODO: see if we can skip this cast nonsense. the lua tests indicate IntPtr should pass through fine, being considered "userdata", probably better so the user can't just pass raw numbers for the handle.
2022-12-06 04:53:35 -08: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
CasualPokePlayer 920682688b deprecate lua bit functions which have direct operator counterparts in new lua 2022-12-05 18:23:11 -08:00
CasualPokePlayer dcd570bf87 fix mainmemory.write_bytes_as_dict 2022-12-05 16:46:22 -08:00
Morilli 4a49fc174b Improve LsmvImport in numerous ways
- previously, every second frame was empty (lol), since 2016 i believe
- now imports as (sub)bsnes115 movie instead of bsnes, allowing to import subframe inputs and delayed resets
- imports controller types correct(er)ly
2022-12-05 16:28:22 +01:00
Morilli 10ba45d462 BSNESv115+: actually provide IBoardInfo properly 2022-12-04 22:48:29 +01:00
YoshiRulz abeaa2a106
Be less lazy about N64 header detection in byteswapper
fixes 82c3b471a, 9660c16a0
2022-12-05 04:54:19 +10:00
CasualPokePlayer 9660c16a0a fix N64 roms coming through multidisk bundler in ares 2022-12-04 01:35:58 -08:00
CasualPokePlayer 3dd36f5f07 revert the explicit try/finally use for PeekByte/PokeByte monitor domain methods, testing seems to show the ref struct use makes EnterExit allocation (now forced to the stack) a non-issue performance wise 2022-12-03 18:30:09 -08:00
CasualPokePlayer f01463e2b3 Convert EnterExitWrapper to a readonly ref struct, this should be a speedup in all cases. Will need to experiment to see if this mean the try/finally from #3296 can be avoided 2022-12-03 17:46:49 -08:00
YoshiRulz d508b734d6
Fix `MemoryApi.{Read,Write}ByteRange` edge cases 2022-12-04 09:23:28 +10:00
YoshiRulz af44a85cfd
Add unit tests for `IMemoryApi.{Read,Write}ByteRange` 2022-12-04 09:23:28 +10:00
YoshiRulz dc4efc3644
Fix typos and whitespace in `MemoryApi.cs` 2022-12-04 09:23:27 +10:00
YoshiRulz 1bdff05442
Use read-only collection types in `IMemoryApi` 2022-12-04 09:23:25 +10:00
YoshiRulz cba206efec
Add `IUserDataApi.Keys`/`userdata.get_keys` 2022-12-04 04:06:58 +10:00
YoshiRulz c2d5a9c931 Banish empty conditional blocks 2022-12-04 02:11:41 +10:00
YoshiRulz 84d2866f53
Clean up usage of `LuaFile.Enabled`/`Paused` 2022-12-04 01:43:02 +10:00
CasualPokePlayer f798021bba CloseRom acts like rebooting the core, so make it just reset Lua libs (more properly fixes #3226 without any yield nonsense)
Slight revert of 2efae13af4 (still want to set running scripts as it's used later)
Fix detaching registered functions (old logic was broken, Stop would null out the LuaRef used for creating the new dummy thread for the detached function. best solution i've come up with is to simply pass a callback over for creating the thread, nicely encapsulating that functionality)
Various cleanups, don't need VS complaining about old pattern matching code here anymore...
2022-12-03 04:57:58 -08:00
CasualPokePlayer 15b2264cb4 Use LuaThread Yield here instead of directly using LuaState's 2022-12-02 19:45:29 -08: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
Morilli ae11dcc6af replace default bsnes with bsnes115 2022-12-02 20:21:21 +01:00
YoshiRulz 6174398fb4
Also reset padding when removing last Lua script (resolves #1509) 2022-12-03 01:06:06 +10:00
YoshiRulz a9756b60a2
Clear OSD + surfaces when removing a Lua script (resolves #3014)
they were already being cleared when closing the Lua Console
note the "Erase Stale/Stuck Lua Drawing Layers" button does not clear OSD,
leaving that as it is for now
2022-12-03 01:02:26 +10:00
CasualPokePlayer 2efae13af4 prevent some NREs occurring with the new Lua stuff 2022-12-01 14:59:36 -08:00
YoshiRulz 999e487557
Add `bizstring.pad_{start,end}` helpers 2022-12-02 06:18:32 +10:00
YoshiRulz ca72f113df
Rename `event.onmemory*`, phase 1 (resolves #759) 2022-12-02 05:55:42 +10:00
YoshiRulz 6381448472
decimal is not floating-point
fixes fdbb34dff
2022-12-02 04:27:29 +10:00
YoshiRulz 5603e5ac01
Reorder items in Tools menu 2022-12-02 04:24:24 +10:00
YoshiRulz 3dcc3ff89f
Improve handling of exceptions thrown in `Form.Load` handlers
obviously only benefits forms inheriting `FormBase`
2022-12-02 03:48:36 +10:00
CasualPokePlayer 9393e1b764
Fix #3417 and improve handling of `default.tasproj` (squashed PR #3462)
* Fix #3417 and improve handling of default.tasproj

* expose SetMovieController in the MovieSession interface (please don't rely on it anywhere else)

* don't use this explicit public in the interface

(is this mentioned anywhere? i assume this is proper style)

* use this helper function
2022-12-02 03:44:56 +10:00
feos 10a38270e5
forgot a char 2022-12-01 19:12:45 +03:00
feos bace52c4f8 fix #2119 2022-12-01 19:10:57 +03:00
dependabot[bot] 47c494a5a6
Bump System.Drawing.Common in main solution (#3464)
Bumps [System.Drawing.Common](https://github.com/dotnet/runtime) from 5.0.2 to 5.0.3.
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v5.0.2...v5.0.3)

---
updated-dependencies:
- dependency-name: System.Drawing.Common
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-02 01:22:46 +10:00
CasualPokePlayer 45fbdb4844
Move to NLua/KeraLua/Lua5.4 (#3361) 2022-12-01 00:51:02 -08:00
CasualPokePlayer fdbb34dff6
Lua tests (#3373) 2022-11-30 23:55:24 -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 8667dd9ee7 c# to previous commit 2022-11-27 23:29:54 -08:00
CasualPokePlayer 6baee38717 add n64 to multidisk bundler list 2022-11-27 05:51:47 -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 c49a8d338c
Prefix `socketServerScreenShot` blob with length too (resolves #3461)
fixes b1602dae0
2022-11-26 18:42:10 +10:00
YoshiRulz b8182f9149
Extract `ConcatArray` helper 2022-11-26 18:42:05 +10:00
Moritz Bender 1df6ce4e38
Fix key release events with modifiers not getting handled correctly (#3402) 2022-11-25 11:00:44 +01:00
CasualPokePlayer bae71326bf Fix hex editor for MAME when Open Advanced is not used 2022-11-25 01:31:02 -08:00
YoshiRulz 9a0403617b
Clean up SHA1 2022-11-24 20:15:35 +10:00
YoshiRulz 4566b744d9
Remember trusted ext. tools 2022-11-24 20:06:27 +10:00
YoshiRulz f9ac3c4b32
Clean up `MainForm.ExternalToolMenuItem_DropDownOpening` 2022-11-24 20:06:20 +10:00
adelikat e269bfd49f Log window - when copying pasting "MD5:2345" and Sha1, strip the md5 and sha1 out. I just want the number if I'm copying pasting the single line. If someone finds this objectionable, feel free to revert, but this savesme a lot of time 2022-11-23 10:54:59 -06:00
adelikat 392d126173 remove an unused method 2022-11-23 10:11:45 -06:00
YoshiRulz 683aa263a0
Include `ControllerDefinition._orderedControls` in clone ctor
I don't think this is used, but as the caching was new in 2.8, going to include
this just in case
2022-11-23 15:35:45 +10:00
YoshiRulz 52acda9a02
Re-add an assignment in `InputManager.SyncControls` (fixes #3458)
partially reverts 781c152bf
also removed now-unused method `Controller.ForceType`
2022-11-23 15:29:02 +10:00
CasualPokePlayer 3f352792a6 remove unused using from experiments in previous commit 2022-11-22 09:18:51 -08:00
CasualPokePlayer da5fae0b01 make a new "FixedGrowthList" and use it for the StringLogs
this is mostly to workaround OOM issues with VERY large movies (>134217728 frames).
so large just the list of string references is "too big" and exceeds the .net 2GB limit.
even the on disk method fails here, as the offsets list (note, long and reference are the same size) becomes too big
this probably gives a bit of speedup for "normal" movies, as the generous 16MB growth amount would likely be plenty for the movie, although i haven't test this much
2022-11-22 09:10:19 -08:00
YoshiRulz b967e6028d
Fix inconsistent application of colours from GTK theme, if available
still no idea why I can set dark theme on Ubuntu but not Manjaro, but now menus
won't use a white-to-black gradient with white text
2022-11-23 02:51:54 +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
CasualPokePlayer 248e87b6d1 try to load a different core if an autodetected mame rom ends up failing to load 2022-11-21 18:28:56 -08:00
CasualPokePlayer 51826c4c17
Fix wrong MBC5 mapper being given a battery
0x1A is MBC5+RAM, 0x1B is MBC5+RAM+BATTERY
2022-11-19 20:44:55 -08:00
Morilli 0cb63e8d6a BSNESv115+: Implement overscan and aspect ratio correction settings 2022-11-18 13:08:27 +01:00
CasualPokePlayer 0bd182e6cc properly handle "NO GOOD DUMP KNOWN" mame rom hashes
(note, these roms are not actually in the romset, so the singular hash in movies doesn't have to be affected here)
2022-11-17 17:45:49 -08:00
CasualPokePlayer d507246033 c# side for previous commit 2022-11-16 21:33:55 -08:00
CasualPokePlayer d0266816a5 Fix #3448. Support MAME 7z romsets 2022-11-16 17:32:20 -08:00
CasualPokePlayer 4479fec74d Add in the actual c# code for 5ae4470466
Apparently forgot to actually add this in for the commit >:
2022-11-16 15:35:37 -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 a0de42b1b3 remove struct hack, it's not actually needed
out double is System.Double& while double is System.Double, so it doesn't actually trip paramenter verifier
2022-11-15 01:12:31 -08:00
CasualPokePlayer eec86ad81a Use actual doubles for figuring out aspect ratio
Fixes issues when mame sends over < 1 bounds which round down to 0 with a long cast (resulting in div by 0 exceptions)
Also fix some oopsies with incorrect function signatures.
Remove MAME string docs as they aren't really relevant anymore, as only MameGetString handles lua string handling now
2022-11-15 00:57:30 -08:00
CasualPokePlayer 715f4f497c add some missing mame mnemonics 2022-11-11 08:45:02 -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
YoshiRulz e7e587d625
Restore old behaviour of "Always use recent path for ROMs"
fixes 41d46dd37, see #1574
2022-11-08 06:30:12 +10:00
YoshiRulz 948084a97e
Use `Movie.NotActive` extension instead of negated `IsActive` 2022-11-07 06:10:37 +10:00
YoshiRulz 84cc71e454
Use `DialogResult.IsOk` extension everywhere and clean up 2022-11-07 06:03:55 +10:00
YoshiRulz 36cb62a792
Create and use `ToolStripDropDownItem.ReplaceDropDownItems` extension 2022-11-07 06:03:55 +10:00
YoshiRulz 5df9879842
Refactor `MultiDiskFileSelector.BrowseButton_Click` 2022-11-07 05:27:15 +10:00
YoshiRulz 04f34ac7af
Add `Util.BreakDebuggerIfAttached` helper 2022-11-07 04:37:34 +10:00
YoshiRulz f1f0f1695c
Encapsulate `OpenFileDialog`/`SaveFileDialog` 2022-11-05 09:10:11 +10:00
YoshiRulz 2db5235319
Cache and reuse `FilesystemFilterSet`s 2022-11-05 09:10:11 +10:00
YoshiRulz 1232157cc1
Improve caching of `FilesystemFilterSet.ToString` 2022-11-05 09:10:11 +10:00
YoshiRulz c153505b58
Invert some conditionals to reduce nesting 2022-11-05 09:10:10 +10:00
YoshiRulz df63853cd5
Add `IDialogParent` interface to a couple of config dialogs 2022-11-05 09:10:05 +10:00
YoshiRulz 8949b1aa6b
Make sure `CheckLib` in `Program` static ctor disposes GUI properly 2022-11-04 07:08:54 +10:00
YoshiRulz c891cc2cb5
Don't ignore mGBA skip BIOS setting when recording (resolves #2465)
also disable skip BIOS with TAS profile and enable with Casual profile
also removed `DeterministicEmulation ||= !SkipBios`, does it matter?
2022-11-03 12:04:16 +10:00
YoshiRulz 77f824ab55
Clean up `MGBAHawk.DeterministicEmulation` assignment 2022-11-03 11:56:01 +10:00
YoshiRulz 13a01340de
Refactor Libretro ControllerDef generation, fixing input display
see #3360
2022-11-03 11:02:53 +10:00
YoshiRulz 781c152bf6
Remove old ControllerDef copying that was messing with ControlsOrdered 2022-11-03 11:02:52 +10:00
YoshiRulz a8f571f2d6
Reinstate `GameInfo.NullInstance`'s name, and only instantiate it once
reverts 8dcea2470
`PathEntryCollection.RetroSystemAbsolutePath` extension didn't like this, there
may be others, and I don't want to look through them all
2022-11-03 11:02:44 +10:00
YoshiRulz 3e79e68d1d
Dedup in `CheatEdit.GetCheat` 2022-11-02 01:05:12 +10:00
YoshiRulz 414c21609b
Disallow updating cheats when multiple rows selected (resolves #1726) 2022-11-02 01:01:09 +10:00
YoshiRulz 5ae23c63bf
Change "Edit" button in Cheats dialog to read "Overwrite"
kept the mnemonic because idk
2022-11-02 01:00:16 +10:00
YoshiRulz fd2772707b
Update `forms.drawImageRegion` documentation with a diagram
only embeds on TASVideos Wiki, which I held off on updating because there are a
lot of changes and we can do them all at once
2022-10-30 18:19:23 +10:00
CasualPokePlayer 8ee75879e6 Rework MAME integration a bit
The periodic callback is now used as a way to service "commands" sent from the main thread
Upon servicing a command, the mame thread will set the current command to NO_CMD then wait for the main thread allow the mame thread to continue
During this wait, the main thread may optionally set the next command (done here for STEP -> VIDEO), ensuring the next callback will service that command
A dummy "WAIT" command can be sent to trigger this waiting behavior, allowing the main thread to safely touch mame while the mame thread is frozen (important for mem accesses and probably savestates?)

A/V sync is also reworked. We can assume that 1/50 of a second worth of samples will be sent each sound callback. We can also assume 1/FPS of a second worth of time will be advanced each frame advance
So, we can just give hawk 1/FPS worth of samples every GetSamplesSync, if they are available. If we have less (probable on first few frames), we'll just give all the samples, and hope it balances out later.
2022-10-29 17:07:50 -07: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
Morilli 256a8617e9 Fix #3399 by always calling UpdateViewerMouseover 2022-10-27 01:30:41 +02:00
CasualPokePlayer dd33e92a9f ensure ClockRate in the Bk2Header uses . instead of , 2022-10-21 02:34:59 -07:00
CasualPokePlayer c8d4e606af suppress updates while rebooting core, fixes #3424 2022-10-21 02:19:22 -07:00
CasualPokePlayer f29113287e add Jaguar to MultiDiskBundler menu 2022-10-11 21:51:26 -07:00
YoshiRulz 2b4d9c0c7d
Add debug utility to byteswap N64 roms 2022-10-11 10:12:49 +10:00
YoshiRulz 5b859960e9
Move types for debug menu to own files 2022-10-11 10:12:49 +10:00
YoshiRulz 82c3b471a5
Minor refactors to byteswapping (N64 rom loading and Lua bit library) 2022-10-11 10:12:45 +10:00
YoshiRulz bb4ba2184f
Fix `forms.*` acting on every LuaPictureBox, not the specified one
fixes #3395
this has been broken since introduction in 2ddadeae2
2022-10-08 11:11:40 +10:00
YoshiRulz 7930a79cef
Prompt to disable cheats when starting movie playback (resolves #3389) 2022-10-08 10:42:10 +10:00
YoshiRulz 28c53cfa21
Fix `APIContainer.Comm` not having `HTTP`/`Sockets` on first boot 2022-10-06 11:53:11 +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 c547a20f8e Use `LoadOther` for GBS files, cleanup the code a little, update SameBoy version info 2022-10-03 15:49:09 -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 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 2e5c62f632 default Jaguar bios to not be skipped, some games rely on Jaguar bios running on boot 2022-09-30 23:54:13 -07:00
CasualPokePlayer be771c134c default to KSeries bios instead of MSeries bios, as it seems to be more compatible 2022-09-30 21:56:19 -07:00
CasualPokePlayer 5f509525bc [virtualjaguar] less screen changing spam 2022-09-30 21:44:34 -07:00
YoshiRulz 158c897702
Use `Google.FlatBuffers` NuGet package and check in new Nyma codegen 2022-09-30 05:33:18 +10:00
YoshiRulz 5544bc526a
Add missing import
fixes 9e9e041bb
2022-09-30 03:52:05 +10:00
YoshiRulz 9e9e041bba
Fix AOoRE when loading TAStudio w/ cheats(?)
partially reverts dd4f9aaf6
InputRoll code is too inscrutable for me to determine the actual cause so I just
left a `Debug.Assert`
2022-09-30 03:25:13 +10:00
CasualPokePlayer f8a4524df7 add in missing platform framerates, add in Jaguar CD iding for movie file, fix aspect ratio for jaguar 2022-09-28 17:25:34 -07:00
YoshiRulz 79d43dab1d
Extract constants used for `NamedLuaFunction.Event` 2022-09-29 08:54:23 +10:00
YoshiRulz 9815b377d1
Also protect against mutation of `IEnumerable` for `onconsoleclose`
see 7a26546cf, fixes dc66b4357
2022-09-29 08:54:16 +10:00
YoshiRulz 7a26546cfc
Maybe fix mutation of IEnumerable (`InvalidOperationException`)
fixes 3024bc0d0
2022-09-29 05:21:08 +10:00
CasualPokePlayer 70a21ee07e push c# side for memtrack support 2022-09-28 03:28:01 -07:00
Morilli 9fa38b8d78 Fix #3398 2022-09-27 13:58:56 +02:00
YoshiRulz b2bacdecd2
Fix double call to pure method 2022-09-25 22:26:41 +10:00
YoshiRulz 3cbdd36fe0
Deduplicate some code in `MainForm` 2022-09-25 07:04:21 +10:00
YoshiRulz 728f393eb1
Clean up `MainForm.CheckHotkey` 2022-09-25 07:04:21 +10:00
YoshiRulz d7c79a5f03
Fix "Toggle All Cheats" hotkey behaviour re: separators 2022-09-25 07:04:13 +10:00
CasualPokePlayer 3122078dfd tweak jaguar cpu tracelogger 2022-09-24 06:23:24 -07:00
CasualPokePlayer ff5c8d4e52 more jag disasm tweaks 2022-09-24 04:38:06 -07:00
CasualPokePlayer c92c2bf661 fix jag risc disasm 2022-09-24 04:30:05 -07:00
CasualPokePlayer 38b4b98fc0 minor touchups to jag risc disassembler 2022-09-24 04:29:00 -07:00
CasualPokePlayer c9618b3f92 c# side to jag debugging improvements 2022-09-24 04:15:05 -07:00
CasualPokePlayer 6113f3c17b partial jagcd support (doesn't seem to completely work here)
fix some issues with vjaguar cleanup
add mem/trace callbacks and get/set reg support
2022-09-23 01:05:41 -07:00
CasualPokePlayer 71e3dfed74
fix #3388 2022-09-18 22:44:26 -07:00
CasualPokePlayer 38d3d36199 fix opcode address in exec callbacks + tracing (thanks prefetch)
sp/lr/pc for r13/r14/r15 for tracing
fix a bad for threaded renderer's thread start callback
2022-09-18 02:39:31 -07:00
CasualPokePlayer 5e34dc6166 Always savestate expansion pak regardless of settings.
All the disable expansion pak setting actually does is tell the game the expansion pak is not available.
However, not all games actually abide by this, some will use the expansion pak area anyways.
Video plugins also end up just using a "segfault test" to determine if the expansion pak is present or not
So video plugins may use the expansion pak area too
This ends up causing savestates sometimes just crashing the game if the expansion pak ends up used

Resolves #3092, other state issues might be solved with this (I suspect #3328 is caused by this)
2022-09-17 13:11:31 -07:00
CasualPokePlayer de38781081 Implement Rumble for Nyma 2022-09-17 01:36:51 -07:00
YoshiRulz de1e7eef69
Document socket response format 2022-09-16 22:37:15 +10:00
CasualPokePlayer afccbe8aa6 Fix hang with "Go to Address" dialog in RamSearch
resolves #3384, fixes cc4acd9c64
2022-09-14 19:39:03 -07:00
YoshiRulz 1bf2bb758c
Change serialisation of Jaguar VSystemID
also fixed line ending
2022-09-12 17:13:15 +10:00
CasualPokePlayer 483258a04d virtualjaguar port, resolves #1907 2022-09-11 21:38:46 -07:00
CasualPokePlayer 34c504d7b9 update ds disassembler 2022-09-10 20:53:05 -07:00
YoshiRulz d2965c2185
If dummy sound chosen in config, try DirectSound (maybe fixes #3379)
- if DirectSound fails (i.e. dummy is in config for a reason), then skip the
error dialog as the user has probably seen it already, and set it back to dummy
- if DirectSound succeeds, leave it, it will be written to config (there's a
mute setting for people who really don't want sound)
- copied the init config code so s/DirectSound/OpenAL/ on Linux
- could probably try OpenAL on Windows when DirectSound fails but whatever
2022-09-08 08:39:25 +10:00
YoshiRulz 707ec53bd5
Move `SoundConfig.ApplyNewSoundDevice` logic to callsite 2022-09-08 08:23:01 +10:00
Moritz Bender 6f0953aaa3
Implement snes graphics debugger for the new bsnes core (#3367)
* Partial port of graphics debugger to new BSNES

* minimal "working" copy-paste

* small fix for the previous commit

* Implement more stuff

* no idea whose responsibility "EnterExit" is but this should work

* add support for backdropcolor

i have 0% trust in this code

* implement mode7, apply backcolor on load

* 🙈

un-"implement" the nonfunctional scanlinehookmanager as well as the non-functional palette setting logic
- this may actually break config lol

* don't break libsnes config

* Provide IBSNESForGfxDebugger in the subbsnes core

* Remove redundant semicolon

* Clean up diff of `comboPalette_SelectedIndexChanged`

* Fix crash

Co-authored-by: YoshiRulz <OSSYoshiRulz@gmail.com>
2022-09-03 19:13:56 +02:00
YoshiRulz 28d62e69d7
Enable menu mnemonics (Alt+X) for MainForm on Linux 2022-09-03 19:59:08 +10:00
Bruno Valadão Cunha f024986ffc
Added 'Edit marker frame' feature (squashed PR #3351)
* Added 'Edit marker frame' feature
* Changed Edit Marker Frame icon to clock
* Hotkey tooltip + Prevent changing to a frame that already has marker
* Forgot to delete this icon, was replaced by Clock.png
* De-rookie here and there
* Clean up diff
2022-09-03 12:08:23 +10:00
CasualPokePlayer 09e8c7a9b6 ensure ds firmware settings represent sync settings if real firmware isn't used
resolves possible cause for #3377
2022-09-02 15:11:34 -07:00
CasualPokePlayer 70906c9004 quick fail is the user is somehow running EmuHawk as a 32 bit process 2022-08-29 17:01:26 -07:00
CasualPokePlayer b588212e17 remove unused using (cruft from experimentation), remove unneeded enum values 2022-08-29 16:36:32 -07:00
CasualPokePlayer e198122691 output a more helpful error message on windows for GetErrorMessage 2022-08-29 16:33:41 -07:00
CasualPokePlayer 06226e78cf add way to obtain error message in ILinkedLibManager, use it to display an error code for init lib checks 2022-08-29 15:34:44 -07:00
CasualPokePlayer 463780a875 more cleanly deal with dummy hashes
fixes a515672
2022-08-28 03:13:23 -07:00
CasualPokePlayer a515672d4d fix #3159 2022-08-28 02:56:31 -07:00
YoshiRulz 14f470a9a7
Improve encapsulation of `ToolFormBase` props 2022-08-28 03:39:18 +10:00
YoshiRulz faf4a8b24f
Remove unused "TAStudio states" path
TAStudio prop unused since 5bf21e391, path was still in use until b1296dd9b
2022-08-28 03:09:59 +10:00
CasualPokePlayer c761d6d807 fix changing mupen expansion pack setting 2022-08-26 13:30:44 -07:00
YoshiRulz a344ee2288
Fix modifier key check in `TAStudio.TasView_MouseDown` 2022-08-24 09:44:24 +10:00
YoshiRulz 61c34eca74
Minor refactor to not mutate local in `TAStudio.TasView_MouseDown` 2022-08-24 09:44:17 +10:00
CasualPokePlayer 352977c7ea speedup HashRegion/ReadByteRange/WriteByteRange for waterbox cores (doesn't do anything for non-wbx cores) 2022-08-23 03:09:23 -07:00
YoshiRulz 5906fd154e
Fix typo
fixes a95c4f182
2022-08-22 01:21:22 +10:00
CasualPokePlayer afdfa065bd missed apostrophe somehow 2022-08-19 23:46:03 -07:00
CasualPokePlayer 9174d17bd8 tic80 settings for enabling/disabling controllers, proper mnemonics 2022-08-19 23:43:55 -07:00
CasualPokePlayer 98a8cdf693 remove gongshell, add "simple" code for opening win32 context menu (gongshell's only actual use), re: #2261 2022-08-19 00:24:50 -07:00
YoshiRulz 64bc762439
Mute new MSB3270 warnings
no sure if these are the result of a .NET SDK update or my NuGet experiment
2022-08-18 17:16:40 +10:00
YoshiRulz 3a3494aedb
Add missing attribute to `events.can_use_callback_params` param 2022-08-18 17:12:15 +10:00
YoshiRulz 8d484ac196
Hardcode edge cases in `MovieConversionExtensions` to pass test
the argument in every real call is from `IMovie.Filename`, which is never
assigned null, and I don't think it's assigned anything but an absolute path
2022-08-17 19:05:32 +10:00
CasualPokePlayer 2ecb572892 fix nyma light guns, resolves #3359 2022-08-17 01:57:40 -07:00
YoshiRulz 7cde8bb466
Add and use 2 extension methods for splitting path into dir+filename 2022-08-17 17:35:07 +10:00
YoshiRulz dce961357a
Refactor `IGameInfo.FilesystemSafeName` extension
it doesn't make any sense to split this string into dir+filename, it shouldn't
contain a slash
2022-08-17 17:35:07 +10:00
YoshiRulz 2b59cfc1c4
Small refactor in `DiscMountJob.RunBizHawk` 2022-08-17 17:35:07 +10:00
YoshiRulz 10478e23f1
Remove redundant dir exists checks 2022-08-17 17:35:07 +10:00
YoshiRulz f228b01bdf
Rename `IMainFormForTools.SetWindowText` to `UpdateWindowTitle`
in practice there is only one implementation and it just called the other method
(which is inherited from `FormBase`)
2022-08-17 17:35:06 +10:00
YoshiRulz d5bf542a3c
Cache `ToolStripRenderer` used by `FormBase.FixBackColorOnControls` 2022-08-17 17:35:06 +10:00
YoshiRulz 322ed164bf
Remove backing field of `FormBase.BlocksInputWhenFocused` 2022-08-17 17:34:59 +10:00
Peter Jorgensen 3958348e94
Add auto save state on close (squashed PR #3218)
resolves #1861

* Add configuration for auto-saving state on exit
* Update MainForm to auto save on close game if configured
* Fix config serialization test.
* Revert unnecessary changes to Designer file
* Move autosave configuration into Save States menu off of File
* Undo previous test changes
* Remove explicit size on menu item.
* Fix logic
2022-08-17 14:27:50 +10:00
Morilli 7ffa605b28 BSNESv115: fix crash when audio output is disabled
(fixes 039d822144)
2022-08-17 01:35:02 +02:00
Moritz Bender 039d822144
BSNESv115+: Replace the 'snes_audio_sample' callback with a dynamic audio sample vector to reduce callbacks (#3010)
* BSNESv115+: Replace the 'snes_audio_sample' callback with a dynamic audio sample vector to reduce callbacks

* fix integration for subbsnes core

* reduce buffer allocations
- also make frame setter private now that it's possible
2022-08-15 20:50:26 +02:00
Morilli f1e11dfc36 simplify Stream.ReadAllBytes extension and use it more 2022-08-15 20:35:57 +02:00
CasualPokePlayer 31c7f59e86 fix some edge cases with new zip compression 2022-08-15 10:59:27 -07:00
CasualPokePlayer 0ff4aca182 [Gambatte] Remote control controls and remote control emulation expanded to HuC1 IR and CGB IR (previously only done in HuC3) 2022-08-15 02:49:34 -07:00
YoshiRulz aba3359dde
Add CPP's testroms to GB testroms project 2022-08-14 16:21:27 +10:00
YoshiRulz 18a7201004
Fix building testroms project
fixes b8d5dd899
also addressed code style warnings and fixed a typo in GambatteSuite.BeforeAll
note the last acid suite fail is gone after a recent SameBoy update,
unfortunately the same update added a bunch of fails in the mealybug suite,
though the suite itself needs updating too
2022-08-14 00:33:12 +10:00
YoshiRulz a5652ee3bc
Backport `IEnumerable.Order`/`OrderDescending` shorthand
at time of writing, in .NET 7 preview
https://github.com/dotnet/runtime/pull/70525
2022-08-13 02:18:26 +10:00
Moritz Bender 929432086f
BSNESv115: add dedicated subframe core (#3281)
* BSNESv115: allow subframe inputs

* BSNESv115: Implement ICycleTiming

may be correct, not sure

* BSNESv115: add dedicated subframe core

I have probably overlooked something...

* Don't implement ICycleTiming in the non-subframe core

requires re-implementing the "FrameAdvance" function in the subframe core

* Register previously missing services in the subframe core as well

* Wire up SubBsnes everywhere in the frontend

* Change reset cycle to reset instruction

* Deduplicate some code

* Slightly rework frame advance logic. The main intent here is to prevent a case where two frames are ran within a single "frame." The current code probably wouldn't crash due to that, but best not to do that.
Also make SGB work here. A bit of a joke since you really can only abuse it for subframe resets, but might as well especially with the settings implying it's possible (and someone is bound to complain).

Co-authored-by: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
2022-08-10 23:08:44 +02:00
CasualPokePlayer 1a27aae45b update sameboy 2022-08-10 12:34:46 -07:00
CasualPokePlayer afb0b8a435 maybe fix tests? 2022-08-10 02:55:01 -07:00
CasualPokePlayer 5be8b0aab9
Zstd Compression (#3345)
Deflate compression in rewinder is now zstd compression
Binary blobs in zip files are zstd compressed (text is uncompresed for user ease).
All wbx cores and resources are re-compressed with zstd, wbx build scripts are changed to account for this. Shaves off a bit with download size and it's faster to decompress to.
2022-08-09 23:33:28 -07:00
CasualPokePlayer 32e8afcedc
Implement hardware accelerated CRC32 and SHA1, using them if possible (#3348)
* Implement hardware accelerated CRC32 and SHA1, use them if possible.
CRC32's generic function is also replaced with zlib's as it is much more performant than our implementation
Full hash of a ~731MB disc took only ~369 ms with this, and the generic CRC32 isn't so far behind at ~659 ms
SHA1 should perform 4x faster if the user's CPU supports the SHA instructions.

Co-authored-by: YoshiRulz <OSSYoshiRulz@gmail.com>
Co-authored-by: Morilli <35152647+Morilli@users.noreply.github.com>
2022-08-09 23:30:17 -07:00
YoshiRulz 0236a820ec
Unindent `RomLoader.MakeGameFromDisc` 2022-08-06 09:22:51 +10:00
YoshiRulz 8f153fd503
Restore PS2 sysID and add some others from RomLoader 2022-08-06 09:22:51 +10:00
CasualPokePlayer 5cd37c76b2 dobie removal cleanup
fixes 89972a3579
2022-08-05 03:32:09 -07:00
YoshiRulz 1452f831af
Fix Lua Wiki export, add more notes to fill in some of the holes
frameadvance loop is documented now so for the first time you can write a script
without reading someone else's :O imagine that
2022-08-05 11:41:24 +10:00
YoshiRulz 7bb4b28093
Remove dumb in `MainForm.WindowTitle` so you can see FPS w/ chromeless
(window title is shown in the toolbar / application switcher on Win and Linux)
2022-08-05 07:23:43 +10:00
YoshiRulz 22a328cd36
Remove unused service props
unused since 1ce8a368d and 70e0954f2, respectively
2022-07-30 09:26:18 +10:00
YoshiRulz 5c48cb96fd
When starting new `.tasproj` from SaveRAM, don't clone array twice 2022-07-30 09:26:06 +10:00
CasualPokePlayer d3c42f5dfc Only shift right by 1 for volume with Gambatte, sounds very close to SameBoy, probably resolves #3338 2022-07-28 17:27:30 -07:00
YoshiRulz ccc11be896
Explicitly discard required-but-unused `IStatable` service prop 2022-07-28 05:51:38 +10:00
YoshiRulz 787b413913
Change Basic Bot's addresses to `ulong?`
fixes empty address fields being saved as `0x0`, see #3326
2022-07-28 05:48:05 +10:00
YoshiRulz 5f572442c4
Save game info to `.bot` files and check when loading (resolves #3340) 2022-07-28 05:27:13 +10:00
YoshiRulz 140e340a8d
Add Analyzer rule to warn of `FirstOrDefault` on list of structs 2022-07-28 03:06:01 +10:00
YoshiRulz 8453c0e44d
Fix exception on opening Play Movie dialog with multiple movies
fixes 9211007a1
2022-07-27 05:08:33 +10:00
YoshiRulz bd58bde07c
Hopefully block edge cases where global `GameInfo` is uninitialised
`Game == null` conditions in `MainForm` ctor looked unreachable, so I changed
them to `Game.IsNullInstance()` which is what I assume was intended, and added
an assert to `RomLoader` in case a bug is introduced later
2022-07-26 07:59:57 +10:00
CasualPokePlayer d84da4ec4b wire up sameboy's rumble 2022-07-25 00:10:46 -07:00
YoshiRulz 8dcea24703
Fix `GameInfo.NullInstance` having a name... why did it have a name 2022-07-25 11:15:19 +10:00
YoshiRulz d796210437
Cancel tool loading when services aren't satisfied (fixes #3329)
also cleaned up other calls
2022-07-25 10:52:02 +10:00
YoshiRulz 070e7035b3
Ensure there can be no edge cases involving SGXCD sysID
breaks config, in case you care about setting a custom save dir for PCE
2022-07-25 08:15:24 +10:00
YoshiRulz 3d42b19797
Pass `VSystemID.Raw.NULL`, not `null`, for `SystemId` 2022-07-25 08:15:17 +10:00
CasualPokePlayer cb468ba806 pull in latest sameboy master, add stub camera pixel callback to prevent nondeterminism, wire disabling joypad bounce as a sync setting, various cleanup 2022-07-24 04:35:03 -07:00
zeromus e2a36c7242 DisplayConfig defaults button should whack the padding back to 0 2022-07-22 16:38:42 -04:00
zeromus 3b181ba6e4 DisplayManager - fix crashes when setting absurdly large padding values (fixes #3321) 2022-07-22 16:09:49 -04:00
tom_mai78101 6eafdf7156 Fixed issue where the Copy button in Basic Bot is not toggled on/off properly.
If the Copy button is enabled, but there is no best attempt recorded, it will crash BasicBot / EmuHawk if it attempts to copy a null Log of the best attempt.
2022-07-23 05:49:50 +10:00
CasualPokePlayer d8fc32f1a8
[mGBA] Add in missing save types 2022-07-21 15:38:59 -07:00
YoshiRulz 0f6e6a5a03
Enable MA0084 and fix noncompliance (except in Cores)
"Local variable should not hide other symbols"
2022-07-22 07:28:32 +10:00
YoshiRulz d142555ec3
Enable MA0066 and fix noncompliance
"Hash table unfriendly type is used in a hash table"
2022-07-22 07:28:31 +10:00
YoshiRulz 41d46dd37d
Fix `%recent%` in Paths config
broken since introduction in 017743133 (pre-1.0 according to GitHub)
also enabled MA0052 "Replace constant Enum.ToString with nameof", which is what
tipped me off to this
2022-07-22 07:28:25 +10:00
YoshiRulz 9211007a18
Fix bug in `PlayMovie.PreHighlightMovie` heuristics
for the record, the bug was that it had `_movieList[indices[0]]` in the loop
instead of `_movieList[indices[i]]`
2022-07-22 05:06:05 +10:00
YoshiRulz 3f2a07e582
Fix remaining MA0098 code style warnings
"Use indexer instead of LINQ methods"
fixes 17df5673d, forgot I was in the middle of this when I pushed
2022-07-22 04:51:56 +10:00
YoshiRulz 17df5673d2
Enable MA0098 and fix noncompliance
"Use indexer instead of LINQ methods"
2022-07-22 03:51:47 +10:00
YoshiRulz ee11385f10
Enable MA0031 and fix noncompliance
"Optimize Enumerable.Count() usage"
2022-07-22 03:51:47 +10:00
YoshiRulz b1ad34839a
Enable MA0029 and fix noncompliance
"Combine LINQ methods"
2022-07-22 03:51:47 +10:00
YoshiRulz 26b6a1c4a9
Enable MA0020 and fix noncompliance
"Use direct methods instead of LINQ methods"
2022-07-22 03:51:47 +10:00
YoshiRulz 697c10e3e6
Enable MA0015 and fix noncompliance
"Specify the parameter name in ArgumentException"
needed to update package because this rule was broken until now
2022-07-22 03:51:46 +10:00
YoshiRulz 92c4714be1
Enable CA2208 and MA0043 and fix noncompliance
"Instantiate argument exceptions correctly" and
"Use nameof operator in ArgumentException"
2022-07-22 03:51:45 +10:00
YoshiRulz 5a8a24e936
Enable MA0054 and fix noncompliance
"Embed the caught exception as innerException"
2022-07-22 03:51:43 +10:00
YoshiRulz 8ac4dabaf7
Enable MA0012 and MA0014 and fix noncompliance
"Do not raise reserved exception type" and
"Do not raise System.ApplicationException type"
now mostly compliant with
https://docs.microsoft.com/en-us/dotnet/standard/design-guidelines/using-standard-exception-types
2022-07-22 03:51:43 +10:00
YoshiRulz a2fef59fe1
Add Analyzer rule to prohibit `typeof(T).ToString()` 2022-07-22 03:51:43 +10:00
YoshiRulz f3f90a4cd5
Add Analyzer rules to prohibit `this.GetType()`
seriously Meziantou is a godsend
2022-07-22 03:51:42 +10:00
YoshiRulz 4956bae3a2
Improve error message for `IToolFormAutoConfig` ext. tool missing menu 2022-07-22 02:02:01 +10:00
CasualPokePlayer 480ce3b925 fix minor miscompilation of gambatte-linux, update LibGambatte to reflect API changes wrt CameraCallback 2022-07-20 23:35:29 -07:00
YoshiRulz 9bb96fbadc
Update doc comments to reflect thrown exception change
fixes 4f98733c2
2022-07-19 03:20:43 +10:00
YoshiRulz 6b325ff56c
Refactor `BasicBot.IsBetter` 2022-07-18 18:22:59 +10:00
Thompson Lee 008a5953f6 Fixed code logic error in BasicBot
It was comparing with itself when it's comparing the Tie Breaker 3 value.
2022-07-18 17:33:41 +10:00
nattthebear 89972a3579 Remove dobie core
This never really worked.  Besides being unusuably slow and not very accurate, there was a miscompliation problem that caused release builds to not function.
2022-07-17 15:02:42 -04:00
CasualPokePlayer 8289c1051b add hash for newly discovered GBC-GBA bootrom 2022-07-16 22:03:47 -07:00
YoshiRulz aa708992e9
Use nicer error message for starting MAME in non-MAME build 2022-07-16 16:25:59 +10:00
tom_mai78101 efbef0bbda Fixed Basic Bot anchor points.
Also fixed a misaligned label.
2022-07-16 16:20:39 +10:00
tom_mai78101 e2fb6017b7 Added missing NOT operators from the dropdown menu. 2022-07-16 16:11:16 +10:00
YoshiRulz 94e85f1079
Set `Form.Owner` to MainForm for Lua-made forms 2022-07-15 22:26:08 +10:00
YoshiRulz 3fddcdb2c5
Add Analyzer rule to enforce throwing in `[FeatureNotImplemented]` 2022-07-15 22:22:28 +10:00
YoshiRulz 6b4e526a44
Actually run all the Analyzers for ext. tools, update Analyzers
fixes 6f372820a
2022-07-15 22:22:19 +10:00
tom_mai78101 ece2d8d68c Added NOT operator to Basic Bot. 2022-07-15 16:02:00 +10:00
YoshiRulz 5379de9a6e
Enable MA0019 and fix noncompliance
"Use EventArgs.Empty" (instead of ctor)
2022-07-15 09:34:52 +10:00
YoshiRulz 4f98733c29
Add Analyzer to enforce exception type for default switch branches 2022-07-14 23:46:34 +10:00
YoshiRulz 90fe31529e
Replace `InvalidDataException` with `InvalidOperationException`
This should be safe because we never filter caught exceptions by this type. I
assume these were all typos, this exception has something to do with Streams.
2022-07-14 23:46:34 +10:00
CasualPokePlayer f8c847af40 add missing TMD for Zombie Skape, improve error message when TMD cannot be found 2022-07-13 14:27:41 -07:00
YoshiRulz a7db24490c
Enable BHI1002 and fix noncompliance
"Do not use anonymous types (classes)"
2022-07-14 04:26:28 +10:00
YoshiRulz eb4e8d6cd7
Change return type of `IEmulationApi.Disassemble` to tuple 2022-07-14 04:26:28 +10:00
YoshiRulz 056db314d4
Enable BHI1001 and fix noncompliance
"Do not use anonymous delegates"
2022-07-14 04:26:27 +10:00
YoshiRulz 395aa0755b
Add `BizHawk.Analyzer` project 2022-07-14 04:26:27 +10:00
YoshiRulz 6f372820a7
Allow C# 10 in satellite projects, enable Analyzers on ext. tools 2022-07-14 04:26:27 +10:00
YoshiRulz 0405e6399d
Add `Meziantou.Analyzers` NuGet package 2022-07-14 04:26:27 +10:00
YoshiRulz 6077bcf5af
Enable "strict" compiler flag and fix noncompliance
couldn't find official docs for this, but I got it from:
https://www.meziantou.net/csharp-compiler-strict-mode.htm
and it definitely does SOMETHING
2022-07-14 04:26:27 +10:00
Moritz Bender e4fafa6cb7
fix keylog not being respected (#3274)
resolves #2843
2022-07-10 16:47:58 +02:00
tom_mai78101 1948721991 Increased Basic Bot max frames from 999 to 9999. 2022-07-10 10:28:20 +10:00
Morilli 4e7b003306 -_-
this shouldn't be necessary imo, but oh well
2022-07-09 02:45:14 +02:00
Thompson Lee 2308ba1ecc
Added "Clear Output" button to Lua Console (squashed PR #3307)
* Added "Clear Output" button to Lua Console tool.
* Swapped out indentation from tabs to space from Line 248 through 249 for consistency.
* Swapped out indentation from tabs to spaces for consistency.
* Added a custom "Clear Console" icon to Bizhawk.
2022-07-08 14:03:13 +10:00
Morilli bdcd37215c Fix outstanding issues from 011f4bfe03 2022-07-07 07:17:49 +02:00
CasualPokePlayer 0d3c7b7e0c [Libretro] Implement SET_SYSTEM_AV_INFO and SET_GEOMETRY 2022-07-06 14:52:28 -07:00
Morilli 799dc4a2f0 Prevent CoreSettings->Recent menu flying in 2022-07-06 21:58:59 +02:00
CasualPokePlayer 8642513572 sameboy color correction option, make default for gambatte 2022-07-06 00:12:28 -07:00
CasualPokePlayer e41d1a996e fix gpgx_swap_disc, re-enable disk buttons (seems to work?) 2022-07-03 23:17:08 -07:00
Morilli 011f4bfe03 Further imrpove RamSearch performance
- switch _watchList from a List to an array
- more Domain.EnterExit usage
2022-07-04 07:09:53 +02:00
CasualPokePlayer 9e90290b87 make MemoryDomain implement IMonitor (default is no-op Enter/Exit), cleanup, remove wrapper use (has a lot of churn itself), probably better performance with bulk functions 2022-07-03 20:19:53 -07:00
Morilli fe22d61b3a Save Monitor for all Monitor MemoryDomains
appends 596bd03ebe for speedup for those domains
2022-07-03 23:48:48 +02:00
CasualPokePlayer 596bd03ebe expose a possible IMonitor for memory domains, use it to speed up RAM Search for waterbox cores (25-30% speedup?)
see #3296
2022-07-03 13:18:09 -07:00
YoshiRulz f1162d4912
Rename (copy+deprecate) `RomWhitelist`-->`RomList` 2022-07-03 23:13:08 +10:00
feos 806830c314 nymashock: resolve !s and hide some columns in tastudio 2022-07-03 13:11:11 +03:00
feos 318c1a7fea tastudio: don't autorestore if current frame remained valid
1b8b4b4926 removed an important bit of logic that set `_triggerAutoRestore` to false in certain cases. but simply putting the same line back there doesn't fix the problem, probably due to major refactorings over the years. so I'm adding it right into `GoToLastEmulatedFrameIfNecessary()` which is still called properly when it's needed. `JumpToGreenzone()` is kinda redundant now since it contains the same check, but it's used from the outside, and I didn't feel like refactoring this part.
2022-07-03 00:00:41 +03:00
Thompson Lee 369bdbe9a6
Fixed the "To PC" button not updating the disassembler view (squashed PR #3299)
* Fixed the "To PC" button from not updating the disassembler view in the Debugger window.
* Fixed the calls being reversed, per feedback.
2022-07-02 14:39:03 +10:00
YoshiRulz 206dcaf49b
Refactors for selection in `InputRoll`
also standardises behaviour of Select All and Insert Separator buttons
see e88fa8135
2022-06-30 16:46:28 +10:00
Thompson Lee e88fa81358
Added Select All/None to RAM Search (squashed PR #3295)
* Added the ability to select all addresses / deselect all addresses in the RAM Search window.
* Fixed logic error. This now makes more intuitive sense, in that, if a portion of the rows were selected, and you do Select All, it should select the unselected rows along with the selected rows.
* Simplify condition

Co-authored-by: YoshiRulz <OSSYoshiRulz@gmail.com>
2022-06-29 23:16:46 +10:00
tom_mai78101 a86591c595 Fixed RAM Watch not having CTRL+A working properly. 2022-06-28 15:41:31 +10:00
CasualPokePlayer d9c828ef57
deterministic emulation means not real time 2022-06-27 20:16:34 -07:00
CasualPokePlayer 13456e51bf AppleII - make clock registers deterministic if needed
also don't state monochrome (non-sync setting? todo: verify)
2022-06-27 18:33:31 -07:00
CasualPokePlayer b730af7b73 the . is neccessary also make it case insensitive 2022-06-27 14:39:10 -07:00
CasualPokePlayer c3047bfad9 ensure only .rom files are loaded into msx (other file formats aren't actually supported) 2022-06-27 14:33:13 -07:00
CasualPokePlayer 948049bb20 dont byteswap gpgx Z80 domains, fixes #3290 2022-06-25 14:36:33 -07:00
CasualPokePlayer 2ac765b000 small adjustments to melon tracer 2022-06-24 20:10:21 -07:00
CasualPokePlayer 347fa24820 split arm7 polling/touch screen polling to a new "alt lag" variable and add a setting for whether to consider these sources (fixes #3278)
add in new disasm system (taken from https://github.com/MAP233224/dthumb), works much better than darm
2022-06-24 01:34:01 -07:00
CasualPokePlayer d3d90eb70d fix #3287
There are still some unanswered related questions here wrt API, but this should suffice in any case.
2022-06-24 01:17:51 -07:00
CasualPokePlayer 4df256cd6b AppleII - State keyboard, fix up csproj 2022-06-23 22:01:07 -07:00
James Groom 1c504bfe83
Delete packages.config 2022-06-23 09:22:24 +10:00
YoshiRulz 1241758ecb
Make `Disc.IsValidExtension` helper case-insensitive 2022-06-20 10:02:20 +10:00
Morilli fea85649bb Fix tasproj version writing not using invariant culture
generated "v1,1" for me
not a big issue in practice as it was already handled, but better to fix
2022-06-19 21:49:19 +02:00
YoshiRulz 5afb6ca454
Fix call order in `SMSControllerDeck` (fixes #3282)
fixes 0719d6f9d
2022-06-19 09:43:58 +10:00
Morilli 20acbe5798 BSNESv115: Clarify port input device enums
also fix the partial bsnescore files not being dependent on the main one
2022-06-18 08:30:43 +02:00
CasualPokePlayer 170ea47464 wire up reset button for tic80 and make biz_time_rm tick post frame 2022-06-16 15:56:34 -07:00
CasualPokePlayer e021e8bc66 actually add the path for TIC80 2022-06-16 14:11:05 -07:00
CasualPokePlayer 27d945bb04 proper paths and setting everywhere inclusion for tic80 2022-06-16 14:05:43 -07:00
CasualPokePlayer 84af66f523 fix TIC80 inputs, wire up time/clock callbacks 2022-06-16 13:01:50 -07:00
Morilli 1d4e7dd3fb BSNESv115: Improve the payload controller, fix VirtualPad
The payload controller now acts like a multitap with 4 extra buttons per controller (it is already implemented that way in the core), which also eases actual use of it
- also fixes broken VirtualPad behavior
- rename some variables for clarity
2022-06-16 17:43:57 +02:00
Morilli 363afcd551 BSNESv115: better define allowed input devices for port 1
- also allows the multitap and payload controller to be used, as it makes sense
2022-06-16 17:40:29 +02:00
CasualPokePlayer 2c3b6b3cd4 ti80 core 2022-06-16 00:14:48 -07:00
YoshiRulz aa099e0941
Adjust wording on frame counter and lag frame counter options 2022-06-16 10:01:37 +10:00
YoshiRulz 2e46d13980
Add missing system display names, add MSX to rom file ext. filters 2022-06-15 07:44:51 +10:00
CasualPokePlayer 8a8ea202fd Revert "fix bsnes controller config"
This reverts commit e43c5296a6.
2022-06-12 20:20:28 -07:00
CasualPokePlayer e43c5296a6 fix bsnes controller config 2022-06-12 19:50:42 -07:00
YoshiRulz e7e5ea1509
Fix Win10 version check AGAIN (resolves #3270, #3272)
fixes 587855522
2022-06-13 11:43:13 +10:00
YoshiRulz 5878555221
Refactor Windows version check, enable warning (resolves #2972, #3194) 2022-06-11 06:11:04 +10:00
YoshiRulz a98e3f3610
Touch-up for `RecordMovie` Mono hack 2022-06-10 09:30:12 +10:00
YoshiRulz 2d015515b2
Move MainForm's Save Window Position to DisplayConfig, add Stay on Top 2022-06-10 05:40:41 +10:00
CasualPokePlayer 0174abde65 resolve Karate a2600 crash (closes #1524) 2022-06-07 09:43:37 -07:00
YoshiRulz af73f87e8f
More settings anywhere cleanup 2022-06-08 01:06:05 +10:00
CasualPokePlayer c1ff3072e0 allow neshawk/subneshawk/quicknes/octoshock settings to be edited without the core loaded
this makes all cores (except MAME) able to have their settings edited without the core loaded
2022-06-06 19:08:51 -07:00
CasualPokePlayer 6b90737813
fix be4089eb08
names are annoying
2022-06-06 11:53:44 -07:00
CasualPokePlayer be4089eb08 fix possible InvalidOperationException for a7800 settings (GetSettingsAdapterForLoadedCore to GetSettingsAdapterFor)
allow old bsnes and bsnes main settings to be edited without the core loaded
2022-06-06 10:17:08 -07:00
CasualPokePlayer 0957095e2b fix tabbing in gb config designer files 2022-06-06 09:07:34 -07:00
CasualPokePlayer d0383d1e9d allow editing gambatte/gambattelink settings without the core loaded 2022-06-06 09:04:38 -07:00
CasualPokePlayer 34d794b368
Support editing nyma settings without the core loaded (#3263)
* support editting nyma settings without the core loaded

the details are icky here. info on the settings is stored in the core. so no matter what a core instance is needed
now settings info here should be constant for a given core, so we can cache settings info after the core has been loaded and use that
if in the case the user wants to edit the settings but the core has never been loaded, a minimal load will be done to obtain the settings (and cache them) and quickly dispose thereafter
await users complaining about a "lag spike" first time opening nyma settings menu

* consolidate WaterboxOptions creation for Nyma
2022-06-06 07:26:21 -07:00
YoshiRulz 7999407089
Remove debug menu item for reproducing #2805 2022-06-04 21:40:56 +10:00
YoshiRulz 8869570bcf
Resolve TODOs re: prompting to reboot core when not applicable 2022-06-03 02:41:41 +10:00
YoshiRulz c70e87af2e
Reorder `Config` > `Preferred Cores` submenu
specifically, alphabetise sysIDs and move "GB in SGB" below separator
2022-06-03 02:26:07 +10:00
YoshiRulz c93179e110
Indicate that only Lua mem callbacks get args, not input (yet)
see #3233, fixes d829f19bc, 8385337e7
2022-06-03 02:12:45 +10:00
James Groom dd897b659c
Bump version 2022-06-02 21:29:28 +10:00
CasualPokePlayer 53b4e8a1bc
virtualboyee is nyma now, it needs the core active for settings to be changed 2022-05-31 21:58:17 -07:00
YoshiRulz f5d8c0fb1e
Use 3-button Genesis gamepad by default (fixes #2775, #3262) 2022-05-31 05:13:16 +10:00
YoshiRulz 7f87cc258f
Honour `$BIZHAWK_DATA_HOME` when downloading FFmpeg
also stop looking for `/ffmpeg.exe` in DiscoHawk when it's always downloaded to
`/dll/ffmpeg.exe`
2022-05-31 01:44:51 +10:00
YoshiRulz b8d5dd8990
Handle `$BIZHAWK_DATA_HOME` nicely instead of w/ a hack in `Database` 2022-05-31 01:36:38 +10:00
feos 6d726a1029
depend on versioned ffmpeg release instead of nightly (#3259)
* depend on versioned ffmpeg release instead of nightly

* Use 4.4.1, fix download/extract on Linux

* update windows build link

Co-authored-by: YoshiRulz <OSSYoshiRulz@gmail.com>
2022-05-30 14:45:17 +03:00
CasualPokePlayer 258e895dfb fix vb schema, add in new vb buttons to schema 2022-05-30 00:48:23 -07:00
CasualPokePlayer 892da6fee2 manually set the defaults for lcolor/rcolor/default_color for vb
our MDFN_GetSettingUI/MDFN_GetSettingI is set to assume base 10 instead of figuring out the format of the string, so the built in defaults dont work and always return 0
later MDFN_GetSettingUI/MDFN_GetSettingI should be made to be able to handle hex strings but this should suffice for now
2022-05-30 00:30:24 -07:00
CasualPokePlayer 58c28aefba biz side nyma cd switching fix 2022-05-29 22:23:55 -07:00
CasualPokePlayer 43ffb63ede bump version of all Nyma cores to 1.29.0 2022-05-29 20:03:24 -07:00
CasualPokePlayer 583f0f61cc biz side vb nyma 2022-05-29 19:46:38 -07:00
YoshiRulz f983fce9ff
Add note re: `IHawkArchiveFile.Scan` returning null
see 0f2194475
2022-05-30 07:59:54 +10:00
YoshiRulz b3d344b002
Fix conflated indices in `SharpCompressArchiveFile`
fixes 6cc4b0e28
2022-05-30 07:59:54 +10:00
CasualPokePlayer e29958c658 allow sameboy/gbhawk/virtu/c64hawk settings to be editted without loading the core 2022-05-28 13:35:21 -07:00
YoshiRulz b2a609119a
Minor fixups to new core settings UI
fixes a455cce2d
2022-05-29 05:56:47 +10:00
YoshiRulz a455cce2d7 Add UI for editing any core's settings/syncsettings without it loaded 2022-05-29 03:20:08 +10:00
YoshiRulz 70d1d99b40 Use `ISettingsAdapter` for core settings toggles in `MainForm` 2022-05-29 03:20:08 +10:00
YoshiRulz 20c1fe0f17 Pass `ISettingsAdapter` to config dialogs, remove `IMainFormForConfig` 2022-05-29 03:20:08 +10:00
YoshiRulz 0366242d0a Remove superinterface `IDialogParent` from `IMainFormForConfig` 2022-05-29 03:20:08 +10:00
YoshiRulz 4938f427a4 Extract interface from `SettingsAdapter`, add alt. impl. using config
replaces hacks in `N64VideoPluginConfig` and `ProfileConfig`
2022-05-29 03:20:08 +10:00
YoshiRulz 5b403f9c2a Refactor `PutCore{S,SyncS}ettings` call chain 2022-05-29 03:20:08 +10:00
YoshiRulz 3f090e47a5 Only call `SettingsAdapter` ctor via `MainForm.GetSettingsAdapter*` 2022-05-29 03:20:08 +10:00
YoshiRulz c1524d8de9 Don't expose `MainForm.Emulator` via `IMainFormForConfig` 2022-05-29 03:20:08 +10:00
YoshiRulz 2cd6510784 Move `SettingsAdapter` creation to `PutCore{S,SyncS}ettings` callsite 2022-05-29 03:20:08 +10:00
YoshiRulz 60cb9eeac9 Encapsulate creation of settings dialogs from `MainForm` 2022-05-29 03:20:08 +10:00
YoshiRulz 0d42459be8
Remove redundant `AmstradCpcPokeMemory` tool
see 6cb44e0e8
2022-05-29 03:04:07 +10:00
CasualPokePlayer 2697a91739
remove FIXME comment, re: 59d011334f 2022-05-27 21:16:29 -07:00
CasualPokePlayer 3fe168ad0f bump version number for melonDS 2022-05-27 17:53:50 -07:00
YoshiRulz 95ecbe9983
Fix another `KeyNotFoundException` when reading hotkey binding
fixes b3728ff19, see ca71bb2fa, 48cfc7988
2022-05-27 16:51:56 +10:00
CasualPokePlayer d01728227b FIXME comments for Ares64 2022-05-26 23:24:58 -07:00
CasualPokePlayer 009bff30d7 merge aresv128 2022-05-26 22:26:56 -07:00
Morilli 48cfc79885 Resolve KeyNotFoundException in TAStudio
this seems to have been silently nonfunctional the entire time until it got visible through the latest refactor
2022-05-24 21:59:35 +02:00
YoshiRulz f62135676e
Disable useless controls on the left side of DiscoHawk (re: #3079) 2022-05-24 07:39:47 +10:00
YoshiRulz 09061843f4 Fix Lua string encoding bug (resolves #190) 2022-05-24 04:45:38 +10:00
YoshiRulz 9bdf043f36
Migrate ApiHawk from `CoreSystem` enum to const strings, and clean up 2022-05-24 02:59:41 +10:00
YoshiRulz 1026503d92
Refactor firmware config so icons make sense (resolves #3157) 2022-05-21 04:39:44 +10:00
YoshiRulz 9ac0f9258e
Fix #3087 hotkeys triggering accidentally in Virtual Pad... again 2022-05-21 03:44:50 +10:00
YoshiRulz af2d8da36e
Restore "priority" option for U+D/L+R policy (resolves #2752)
partially reverts bd1c3cb99, including restoring the old default value
"Priority" (it was effectively changed to "Forbid" in the same commit)
2022-05-20 05:41:38 +10:00
YoshiRulz 8aa3f892d0
Fix `RadioButtonEx` not getting `AutoSize = true` 2022-05-20 05:41:38 +10:00
YoshiRulz fd4771c45c
Fix category radio buttons being cut off in Messages config
fixes e5bbec180; also realigned the text while I was at it
2022-05-20 05:41:34 +10:00
YoshiRulz bdd31d83b8
Resolve TODO re: enum member name 2022-05-19 17:51:15 +10:00
YoshiRulz ca71bb2faf
Resolve TODO re: frontend hotkey config
breaks config backcompat
2022-05-18 23:39:01 +10:00
YoshiRulz 335be13fd8
Fix typo in `BindingCollection.ResolveWithDefaults` 2022-05-18 21:02:56 +10:00
YoshiRulz 71150c60d3
Also check non-public `ApiContainer` properties when injecting APIs 2022-05-18 15:04:20 +10:00
YoshiRulz aa135fc0dd
Remove redundant semicolons 2022-05-18 15:04:13 +10:00
CasualPokePlayer 8ca1e4a080 pull in sameboy upstream and implement custom palettes for sameboy dmg (resolves #3239 for dmg, cgb should be fielded as an upstream request) 2022-05-11 00:00:43 -07:00
YoshiRulz 6beaa79b2c
Use `FirstOrNull` helper for `--open-ext-tool-dll` impl.
fixes e128cb82f, 23c092810
2022-05-10 00:54:33 +10:00
YoshiRulz 6e46cb550b
Fast-fail Mupen core ctor on Linux 2022-05-10 00:21:17 +10:00
CasualPokePlayer a949178559 fix AGB selection in sameboy 2022-05-07 19:23:21 -07:00
YoshiRulz afc442462c
Use `ClientSize` when resizing Lua Forms (see #3034) 2022-05-07 23:01:36 +10:00
YoshiRulz b4ca2f9de8
Increase precision when tweaking axis sens./deadzone (resolves #3038)
not sure how you trigger `LargeChange` but I set a value anyway
2022-05-07 22:32:24 +10:00
YoshiRulz 5f820cc530
Fix #3087 hotkeys triggering accidentally in Virtual Pad but on Win 2022-05-07 18:51:25 +10:00
YoshiRulz b7ffa811bf
Clean up callback spaghetti when resetting `VirtualPadAnalogStick` 2022-05-07 17:04:52 +10:00
YoshiRulz 41de03e31c
Default to "NLua+KopiLua" on Linux 2022-05-07 15:58:07 +10:00
YoshiRulz c93ceae462
Fix typo in Snes9x sound settings bitfield (fixes #1208) 2022-05-07 14:40:15 +10:00
YoshiRulz cb42e8c4dc
Only offer to remove recent rom if it doesn't exist (fixes #3006) 2022-05-07 13:43:43 +10:00
CasualPokePlayer d90166e1ed try to fix dsm importing (thanks microsoft for making dictionary order undefined) 2022-05-06 00:08:50 -07:00
CasualPokePlayer b72590066f [Libretro] fix some input issues due to more recent api changes 2022-05-05 02:46:13 -07:00
CasualPokePlayer 25fb816988
Libretro rewrite (#3212)
* redo all the libretro stuff in pure C#

also yes i imported snprintf lol

* also remove these

* remove clib hack, it doesn't work when there's more than 1 param (apparently ... is really just a variable num of args passed on the stack and not some pointer to some struct, and c# doesn't have any way of representing this. fallback log isn't bad to deal with anyways)

* also probably want this to return false

* /s/UnmanagedString/PinnedString/

* misc tweaks

* oops

* Libretro "Bridge", with entirely different design. The bridge here simply handles all the callbacks retro cores use, so there is never a c++ -> .NET callback, and probably avoids any libco issues
also a lot of cleanup in various areas, and some bug fixes too (Blit555 now outputs the correct colors)

* use blipbuffer instead of speex

speex seems to perform much worse often (and outright buggy for some libretro cores like sameboy which reports a sample rate of 384000), and blip works well enough even for "newer" systems

* cleanup and linux build

* cleanup and bugfixes (thanks uninitalized variables)

* oops

* misc and cleanup

* fix load no game, also handle load game failures correctly
2022-05-05 01:49:29 -07:00
YoshiRulz 635fff6c5d
Handle removing mem callbacks from within a callback (resolves #1823) 2022-05-04 15:59:04 +10:00
YoshiRulz ceb64cedb0
Finish `MergeLAndRModifierKeys` UX (resolves #3184) 2022-05-04 13:18:31 +10:00
YoshiRulz c490d8baa2
Minor refactor to debug menu 2022-05-03 18:15:45 +10:00
Connor 5a913ac2a4
fix absolute dimensions of shaders (#3234)
previously, a height specified absolutely would affect the output width instead of the height.
2022-05-02 22:12:40 +03:00
YoshiRulz ee241dc626
Improve UX of loading a savestate from an older (or newer) version 2022-05-02 13:11:40 +10:00
YoshiRulz c3e3ffbe27
Unindent `SavestateFile.Load` 2022-05-02 12:57:53 +10:00
YoshiRulz 53240c2f84
Fix #3224 Win7+ shell "jump list" no longer working
fixes 7a7522f28
2022-05-02 12:39:58 +10:00
CasualPokePlayer 49399fce20 [mGBA] try to increase performance with callback handling 2022-05-01 19:35:23 -07:00
CasualPokePlayer e7e2790672 [mGBA] try to optimize callbacks 2022-05-01 12:56:23 -07:00
CasualPokePlayer cd8f5b4203
[mGBA] don't try to read watchpoint type for execute callbacks 2022-05-01 11:06:36 -07:00
YoshiRulz f7ead5f592
Rewrite `IController.ToDictionary` helper, now works with > 9 players 2022-05-01 15:11:14 +10:00
CasualPokePlayer 4e76fff2d8 [mGBA] dont let read/write callbacks be called via execute callbacks 2022-04-30 19:56:39 -07:00
CasualPokePlayer b39631b248 fix #3230, also cleanup this code and fix other bugs with it 2022-04-30 19:41:23 -07:00
CasualPokePlayer ebb0282860 various gambatte updates, all wilbertpol tests now pass, cgb-dmg now correctly uses dmg sprite priority when it should (fixes dmg-acid2 in CGB-DMG) 2022-04-30 16:25:28 -07:00
YoshiRulz 46a426a244
Change wording of SkipWaterboxIntegrityChecks description 2022-04-30 11:33:47 +10:00
YoshiRulz bc922fb6d0
Fix known-failing test case list being unsorted, add warning for that 2022-04-30 11:33:18 +10:00
Morilli 14984aea2d Change RomDirectory to RomPath in RomAsset
for the current (only) usecase, this fixes failures when "RomAsset.Name" is not equal to the name of the rom on disk
2022-04-24 03:52:03 +02:00
CasualPokePlayer 8f663feda5 fix #3226 for real this time
i hate threads...
2022-04-23 16:27:15 -07:00
YoshiRulz de1d8f56db
Remove remaining `IGL_SlimDX9` type resolutions in cctors 2022-04-23 15:21:58 +10:00
YoshiRulz 8563be60ba
Add a level of indirection to DirectX/XAudio2 ctors and static calls 2022-04-23 15:21:58 +10:00
YoshiRulz 2fde1ce9e9
Use dynamic type for D3D VSync in `UpdateSourceDrawingWork` 2022-04-23 15:21:58 +10:00
YoshiRulz 6ea714ac31
Move `DispMethodEnum` to `Bizware.BizwareGL` 2022-04-23 15:21:58 +10:00
YoshiRulz 00d19aa550
Update known-failing testrom cases
unfortunately, bisecting the added SameBoy cases is going to be hard because the
dummy frontend was broken for some time
2022-04-23 15:21:44 +10:00
CasualPokePlayer a08116f2d6
Remove explicit lua restart within LoadRomInternal
The position of this restart is dangerous as it may pass in a Dispose()'d core. This is pointless too as later on the Tool Manager handles restarting all tools.

Similarly, remove the explicit restart of the Debugger, no point in doing this as the Tool Manager will restart the debugger just fine anyways (the restart removes breakpoints from the debugger's internal list but doesn't remove them core side, which they should have been removed anyways from being Dispose()'d)
2022-04-22 20:03:30 -07:00
CasualPokePlayer 8ea09eebf5 fix some bugs with Ares64 tracer, fix trace header too 2022-04-15 18:50:58 -07:00
CasualPokePlayer 20ecfb81ea Add tracer + disassembler + get registers + system bus to Ares64, mark Ares64 as released
Squashed commit of the following:

commit 2e29aee13276412b2832e8f0efa10d9c57ed9d78
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date:   Thu Apr 14 22:44:33 2022 -0700

    .

commit be73cf5e2204405a84b42948fd104d18c75be45a
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date:   Thu Apr 14 22:37:34 2022 -0700

    hook up debug stuff + disassembler + tracer, mark Ares64 as released

commit fdd440703ecef48c94bb2bb1ad9c2d3dc5c96e42
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date:   Thu Apr 14 20:36:08 2022 -0700

    maybe fix disassembly

commit d0808551c60fe3c03506b1ad89766a0d397e06dd
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date:   Thu Apr 14 20:06:36 2022 -0700

    system bus

commit 60d1df8f33043fb656f90c1cf4ace8788489c3e1
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date:   Thu Apr 14 16:40:11 2022 -0700

    regs

commit c64be2df293ea44694868355747061a952bd54aa
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date:   Thu Apr 14 15:31:08 2022 -0700

    tracing and disasembly for ares, needs to be hooked up to frontend
2022-04-14 22:45:10 -07:00
CasualPokePlayer 7d268e244b fix #3166
was a regression from a858282a8d
2022-04-14 03:15:36 -07:00
CasualPokePlayer 8d03133c71 make sameboy output 262144 hz samples instead of 2MiHz samples (latter can be buggy, 262144 was recommended by LIJI).
also update sameboy bootroms, closes #3185
2022-04-14 02:36:51 -07:00
CasualPokePlayer 4a52e7f769 resolve #3211 probably 2022-04-09 20:08:32 -07:00
CasualPokePlayer 984ca65480 don't break build 2022-04-07 16:53:35 -07:00
CasualPokePlayer c496c97c8f remove some render off logic (this might not be sync safe), move threaded rendering to a sync setting (this probably doesn't affect sync, but best be safe here) 2022-04-07 16:51:51 -07:00
CasualPokePlayer 93dadb021f make sure core name is set for GENS importer 2022-04-06 21:58:04 -07:00
CasualPokePlayer 97a11ec083 fix NESHawk mistakenly having cycle count complained about 2022-04-05 21:01:05 -07:00
CasualPokePlayer 2c232a2b81 [Gambatte] various upstream accuracy improvements (notably, cgb-acid-hell now passes!). also fix memory callbacks for ROM0 area 2022-04-05 20:36:11 -07:00
CasualPokePlayer c2ea1c6c7b fix oopsie in libgambatte bindings and make gb testrom suite run again (was broken by a858282a8d) 2022-04-03 19:45:58 -07:00
CasualPokePlayer d4bb5e047e [Gambatte] API updates, setting time now uses a single function which takes in dividers 2022-04-03 02:34:23 -07:00
CasualPokePlayer c33d2cfbe5 [Gambatte] upstream cleanup, use upstream for board name and other rom details, remove now unused MULTICART_COMPAT flag 2022-04-02 23:16:39 -07:00
CasualPokePlayer 178264ce67 update sameboy, fix bug with SRAM loading 2022-04-02 10:22:18 -07:00
CasualPokePlayer cc0a30e5b2 [Gambatte] upstream cleanup + MMM01 support 2022-04-02 09:52:50 -07:00
Morilli db7d72be91 update nonfunctional bsnes links 2022-03-31 13:59:59 +02:00
Morilli 672ad1579b Fix #3195 2022-03-30 19:22:26 +02:00
CasualPokePlayer 688adf27ec
resolve #3192
seems to have been a null reference on init. saving seems to still function fine after this change
2022-03-28 20:42:41 -07:00
Morilli 3d039934af BSNESv115+: expose fast dsp and fast coprocessor options 2022-03-29 02:16:42 +02:00
Moritz Bender 339d34413f
Implement msu1 handling for bsnes115+ (#3190)
* Implement msu1 handling for bsnes115+

* RomPath->RomDirectory for clarity

* Remove unnecessary include
2022-03-28 23:52:13 +02:00
CasualPokePlayer e206c3287b [Gambatte] HuC3 improvements 2022-03-27 15:22:34 -07:00
Morilli 76729aa56b Prevent churn by not allocating a new video buffer every frame in NullVideo 2022-03-25 14:19:07 +01:00
Morilli da2a20e55b BSNESv115+: Some general cleanup, remove nonfunctional msu1 code 2022-03-25 08:36:11 +01:00
CasualPokePlayer a68c835a4b update gambatte (MBC1 & HuC1 improvements; HuC1 IR support) 2022-03-24 02:14:49 -07:00
Moritz Bender 6db532fb84
Allow negative values to be entered in ram watch for fixed-point watches (#3181)
* structurize NumericStringExtensions better, allow negative fixedpoint numbers

* Tune MaxLength values to make more sense

* Use Invariant culture to prevent ","<->"." issue in decimal recognition for some locales

* Cleanup more watch stuff

- simplify Poke functions by removing redundant text checking
- make fixed-point constants const
- remove OnKeyPress overload; let the user type whatever and check it later, similarly in OnTextChanged
- more invariant NumberFormatInfo use for ","<->"." issues, also do a basic fixup on OnKeyDown
- cleanup ToRawInt and SetFromRawInt, there are likely still issues remaining but I have no idea whether they realistically affect anything with the way those functions are used
- remove now unused functions in NumericStringExtensions
2022-03-23 18:19:49 +01:00
CasualPokePlayer 64ac7253f6 Add transfer pak support to ares, add n64 mouse support to ares, various cleanups all around
Squashed commit of the following:

commit 1f6cdb99a8486b3f89395b2bd3f13f730e21f743
Merge: bcef146d7 ecd428898
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date:   Mon Mar 21 03:05:12 2022 -0700

    Merge branch 'transfer_pak_ares' of https://github.com/CasualPokePlayer/BizHawk into transfer_pak_ares

commit bcef146d7d62e5ce435ae3fc4d585d71d98bec52
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date:   Mon Mar 21 03:05:05 2022 -0700

    a

commit ecd4288980f7311eba3bdd0a9d1a3fca02e42e43
Merge: 86a7e3e85 ccb24cc79
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date:   Mon Mar 21 02:57:00 2022 -0700

    Merge branch 'transfer_pak_ares' of https://github.com/CasualPokePlayer/BizHawk into transfer_pak_ares

commit 86a7e3e85bc1b3cb979671edcbfca66e69d5212b
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date:   Mon Mar 21 02:56:50 2022 -0700

    a

commit ccb24cc79fd922b1e3e3b80d660c7b7696f0cf84
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date:   Mon Mar 21 02:51:36 2022 -0700

    a

commit 285fd66f9240dfa502a269adb19cc1f3d11236c5
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date:   Mon Mar 21 02:02:31 2022 -0700

    misc

commit 9fb76345e4507cbd53ab5e4c2c61a5cb992b7241
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date:   Mon Mar 21 01:50:46 2022 -0700

    frontend hookup

commit dabee3a4d63c5801e3147dd758e3c187be0ab8bd
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date:   Mon Mar 21 01:26:48 2022 -0700

    actually hook other shit up also delete some shit

commit df632d6ddf6eaeb61ad3ad640851709c2614bfbd
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date:   Sun Mar 20 21:37:18 2022 -0700

    a

commit 143c4039453290ef1e8a4cf53ddea534efa0cea3
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date:   Sun Mar 20 21:28:07 2022 -0700

    a

commit fd75dcc5150860171e3d96fd0bcb4749eeb99378
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date:   Sun Mar 20 21:03:51 2022 -0700

    a

commit ea039643e9a093f63f8dc8c7446e9e70f7f965f0
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date:   Sun Mar 20 19:56:46 2022 -0700

    a

commit 8b373d2ba547cd1ab61360e8129f31452014c728
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date:   Sun Mar 20 19:33:47 2022 -0700

    a

commit dc18a90bebcae013aca4494c1e0a83603dbdbea6
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date:   Sun Mar 20 19:18:34 2022 -0700

    a

commit 3d0eba5f57d95f7cfd74b662f70a40cac5638539
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date:   Sun Mar 20 19:16:56 2022 -0700

    a

commit d97ea34753c007663ea0e629df8830e6aae98e91
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date:   Sun Mar 20 18:28:01 2022 -0700

    a

commit 7a1fe0442c7dd6425048207a19b1b18f9dc3e344
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date:   Sun Mar 20 17:22:10 2022 -0700

    a

commit 421de8ebb8c02736e65f28a88a17cabf297c6e10
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date:   Sun Mar 20 16:57:47 2022 -0700

    is this right?

commit 9fcaa1905b6e3b6bc73c8e8c15c55cab06ddb7f4
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date:   Sun Mar 20 15:57:32 2022 -0700

    rework audio

commit 602577ded89f2fd7d4514792e4f9f485235ce2f1
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date:   Sun Mar 20 14:54:29 2022 -0700

    doh

commit 5521dab709551d9f02bd0cf0d979d8a3860541c6
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date:   Sun Mar 20 14:42:50 2022 -0700

    a

commit bc10461eb9d47bea5acc7cc22963b8e7025b9a31
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date:   Sun Mar 20 14:41:17 2022 -0700

    a

commit d088719299bc0946962bba9404469fe9628633c6
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date:   Sun Mar 20 14:25:07 2022 -0700

    a

commit d425c49bc2ea7925f485379dad33326fa8566754
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date:   Sun Mar 20 14:18:33 2022 -0700

    a

commit ea7c69a512ce84977ad92be0c3f97f396dcf13a7
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date:   Sun Mar 20 14:13:41 2022 -0700

    a

commit b350580b5c8ce455d6ffa41237c2564e8fa76a58
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date:   Sun Mar 20 14:05:46 2022 -0700

    a

commit 5983b23e760e5ca8a3c8141075f383275da570b4
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date:   Sun Mar 20 13:57:25 2022 -0700

    a

commit 12de82e8841284cb70ec02765d86e3729661dcb4
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date:   Sun Mar 20 13:46:58 2022 -0700

    a

commit 992bdf114c24a8a3d37c110629f9a66bfaf21cf8
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date:   Sun Mar 20 13:05:28 2022 -0700

    a

commit 3637649dde95ff4fb24474ee0d1dde795cbc5fe3
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date:   Sun Mar 20 12:49:52 2022 -0700

    o

commit 7d7264b92822ce34ba5412f4cf869c6a4e6fb9b9
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date:   Sun Mar 20 12:41:55 2022 -0700

    testing time

commit bb3a2f89861cdf429091d8253a656e782b68e33b
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date:   Sun Mar 20 12:14:30 2022 -0700

    bleh

commit df46cc34d6edc312b519c98b6c7be3ac6ab89bd2
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date:   Sun Mar 20 06:18:28 2022 -0700

    bleh

commit 21c28a81726ab9a9f206a58424e5434cd0bac1a8
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date:   Sun Mar 20 05:43:39 2022 -0700

    hack test time

commit 3d9e462addc20d6b6d8ffc41595c4751d6fc2975
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date:   Sun Mar 20 05:36:51 2022 -0700

    oh right need to build it

commit a970194f64ac0652f97236debd39e142b01d4dcf
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date:   Sun Mar 20 05:32:07 2022 -0700

    guessing not endianess, maybe need more reset state work?

commit 5d4c11dbf2f767e63d505da22d6bbdef76a4e28b
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date:   Sun Mar 20 05:23:52 2022 -0700

    is this a endianess issue?

commit c5fcd687f5e2c62b1f0f065a3b9c9ffa30867eeb
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date:   Sun Mar 20 05:11:43 2022 -0700

    debug time

commit 437071710ea040a466dd25d7fe691fcdbdb95030
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date:   Sun Mar 20 05:03:58 2022 -0700

    better emulate reset thingie

commit e02503c3f74aa89784b5cc43d1fe5daa6fedf5d3
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date:   Sun Mar 20 04:31:42 2022 -0700

    initial mouse and transfer pak support
2022-03-21 03:08:23 -07:00
CasualPokePlayer 5ee78ab8c4
update controller definition in dsm importer 2022-03-20 22:59:00 -07:00
CasualPokePlayer 7c50d9285f update plugin description with angrylion in mind, bring back RSP plugin options (although only GLideN64 can actually use either), fix tabbing issue in controller designer 2022-03-18 15:35:38 -07:00
CasualPokePlayer 107c7b7034
make sure angrylion plugin settings are included in sync settings clone 2022-03-17 09:57:02 -07:00
CasualPokePlayer 5997f81659 give proper description for melon's Threaded 3D Rendering and remove if true's 2022-03-16 19:29:29 -07:00
CasualPokePlayer 7150a97e07 get render threading working in melon
Squashed commit of the following:

commit 6c54b59f5f8f8bbf8698eebbc2a7e39079b0e726
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date:   Wed Mar 16 19:19:12 2022 -0700

    update submodule

commit 2c65d4375b64d8e729ebc0d35fd34865627bc494
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date:   Wed Mar 16 19:14:36 2022 -0700

    frontend stuff

commit 4566edcc623061beb6e3a7b2ead5571b42abdf3e
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date:   Wed Mar 16 18:10:45 2022 -0700

    probably hacky bullshit

commit 1fb9427c56a8d1af60378163cc2cafe6b36149c9
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date:   Wed Mar 16 00:59:58 2022 -0700

    more mt testing
2022-03-16 19:19:36 -07:00
CasualPokePlayer 57c453ea68 Add angrylion for another video plugin, bring back the cxd4 rsp plugin (angrylion needs LLE), wire up its single setting, remove preformance ares libraries (frontend stuff was already removed) 2022-03-14 04:05:55 -07:00
CasualPokePlayer ccac4d1000 Squashed commit of the following:
commit 15611308c2c6ed5e4f46bd840ade8700e3768527
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date:   Fri Mar 11 19:29:57 2022 -0800

    derp

commit 3c0546cdd8f08004c1ad82bdb72910498dddac91
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date:   Fri Mar 11 19:28:06 2022 -0800

    bob

commit 8e24ef7adc9ccee5405f8618bb8ddb165ff9cf8f
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date:   Fri Mar 11 19:10:45 2022 -0800

    removing perf core here now

commit 66225df3b175544d28d91c6ede53861c74e71239
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date:   Fri Mar 11 18:51:14 2022 -0800

    delete perf core, cleanups, get submodule pushed

commit 06b627bd949f15aac4749a33762ec5cb47e5aea9
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date:   Fri Mar 11 17:46:36 2022 -0800

    oh fucking please don't tell me this was it

commit 0bd0625d172a74a82e30b89e2f10702394e74491
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date:   Fri Mar 11 17:21:22 2022 -0800

    bleh

commit 20c1497fd1fb25eb6ac6c44fe2490b71009fc9e0
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date:   Fri Mar 11 16:36:02 2022 -0800

    bleh

commit 4ccd7982d97f8c4c85c5b18801bb9784df9772e8
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date:   Fri Mar 11 15:55:43 2022 -0800

    testing

commit ab9e14bc7bb3e533f903a003b80f8e6a006cd819
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date:   Fri Mar 11 15:44:24 2022 -0800

    bleh

commit 6d2de266825ac23df25466fdd6154e60ec6132de
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date:   Fri Mar 11 00:08:45 2022 -0800

    bleh

commit f55c3e3277b979a8535667312fdb988a1f70bc01
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date:   Thu Mar 10 23:54:49 2022 -0800

    oh derp

commit 16e3c87d7ab06947da208feb88b3f3fd96874621
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date:   Thu Mar 10 23:43:27 2022 -0800

    bleh

commit 1630845d46af7dc048b8c5dcfc7b0359d7f3133a
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date:   Thu Mar 10 23:36:14 2022 -0800

    gross hack

commit ff1ef0ac6da559e0ce0e7cad10583b70a63c3551
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date:   Thu Mar 10 23:10:54 2022 -0800

    angrylion integration into ares.
2022-03-11 19:36:56 -08:00
YoshiRulz f8a688d47f
Fix case-sensitivity of `Save-`/`OpenFileDialog` under Mono
also improved caching of gen'd strings, and marked lambdas as `static`
2022-03-10 14:29:25 +10:00
YoshiRulz 7bd74f1004
Enable SA1133 and fix noncompliance
multiple attributes applied in one expression
2022-03-08 15:52:40 +10:00
YoshiRulz c1a7556d7f
Enable SA1129 and fix noncompliance (except in Cores)
calling implicit default struct ctor
2022-03-08 15:52:40 +10:00
YoshiRulz 8c4ceccab9
Enable CA1825 and fix noncompliance (except in Cores)
`new int[0]` and similar
2022-03-08 15:52:40 +10:00
YoshiRulz 33a487452d
Enable CA1806 and fix noncompliance (except in Cores)
return value implicitly discarded
2022-03-08 15:52:38 +10:00
YoshiRulz d8ce0e6177
Enable CA1064 and fix noncompliance
Exception classes should be public
2022-03-08 15:52:38 +10:00
YoshiRulz 191f1f3020
Enable CA1044 and fix noncompliance
getters with lower visibility than setters, or set-only props
2022-03-08 15:52:37 +10:00
YoshiRulz dd455580d6
Enable some more Analyzer rules 2022-03-08 15:52:29 +10:00
CasualPokePlayer 6e4a5a96af [melonDS] reset caches after load state 2022-03-06 02:04:52 -08:00
CasualPokePlayer 46c2d6faf1
Melon Cleanups & Updates & Prep For Multithread Rendering Support & Prep For DSi NAND bs (#3174)
* prep for handling multi-threaded renderer in melon, along with some other cleanups

* initial core side support for mt rendering, probably crashes?

* oops

* ok use ref not in

* testing

* poor man's semaphore

* clean this up, hopefully fix a deadlock?

* update submodule

* reduce submodule diff

* cleanup

* hook up thread wait cb

* maybe make shutdown not hardlock?

* oops

* oops

* testing

* testing

* a

* lol

* fuck

* a

* oops

* a

* a

* a

* a

* a

* a

* a

* a

* a

* if false this

* a

* a

* a

* bleh

* a

* update to upstream

* oh right lua
2022-03-06 00:43:30 -08:00
zeromus 9411e659bb neshawk - WritePrg really needs to be masking the address... there's no way it's correct, otherwise. 2022-03-06 01:38:08 -05:00
zeromus fcce7b64d6 neshawk - relax restriction on vrc1 PRG registers, so they can be larger than the original vrc1 chip allows (for rom-expanding hacks) 2022-03-06 01:35:23 -05:00
zeromus a5fb4caad0 change languageversion back to 9.0 so we can use vs2019 and fix one related build error 2022-03-06 01:15:46 -05:00
CasualPokePlayer 114124c82e
BSNES Region Override (#3169)
* region override for bsnes

* hook up SnesInitData right. still needs region override sync setting

* settings stuff, also need to make sure sameboy is using the right region for sgb

* and build

* clearer struct definition; move struct to header file

Co-authored-by: Morilli <35152647+Morilli@users.noreply.github.com>
2022-03-04 14:21:53 +01:00
YoshiRulz 6cb44e0e8d
Remove redundant `ZXSpectrumPokeMemory` tool 2022-03-03 14:35:41 +10:00
CasualPokePlayer 0ff69c560f
Fix SXROM Detection (#3170)
* fix #3168?

* revert iNES 2.0 parsing changes (and revert 4ff7745), add special iNES 2.0 case for SXROM

* oh right subboard crap
2022-03-01 09:18:49 -08:00
YoshiRulz b82ac3e2de
Merge `IGameInfoApi` into `IEmulationApi` 2022-03-01 11:26:01 +10:00
YoshiRulz e8b3f5ffef
Enable NRTs in `EmulationApi` 2022-03-01 11:26:01 +10:00
YoshiRulz 64505fd23e
Remove useless yield methods from `IEmulationApi` 2022-03-01 11:26:01 +10:00
YoshiRulz 5f3199acf3
Make all collections readonly in API surface 2022-03-01 11:25:51 +10:00
YoshiRulz 8b07f9ecde
Compare firmware customisations to movie header (partial fix for #2498) 2022-02-26 13:53:05 +10:00
YoshiRulz 0410a4f291
Allow writing to user gamedb in NixHawk
not that any cores have a working implementation yet, see #733
2022-02-24 16:38:16 +10:00
YoshiRulz d466c2694f
s/Win/Super/ in Input, preventing its use as a modifier key
see #3161
2022-02-23 07:20:58 +10:00
alyosha-tas 7b857e7acf SMS: only update tone on second byte write, filter out highest frequency, fixes #3160 2022-02-22 10:41:36 -05:00
YoshiRulz 1c2376e2f7
Document that hashes (`SHA1` header) aren't always SHA1 2022-02-22 12:21:21 +10:00
YoshiRulz c6bee8bab6
Revert 03cdb4cdf and ee220f455 re: checksums in movie header 2022-02-22 12:21:17 +10:00
CasualPokePlayer ee220f455c account for different checksum hashes in header in PlayMovie, re: 03cdb4cdf3 2022-02-21 16:47:10 -08:00
YoshiRulz 5353aaf688
Remove ReSharper/Rider per-project settings overrides 2022-02-22 10:27:28 +10:00
CasualPokePlayer 03cdb4cdf3 distinguish between SHA1/MD5/CRC32 in header hash 2022-02-20 06:14:56 -08:00
YoshiRulz 296145ba2d
Clean up dummy/zero checksums
see #3159
2022-02-20 23:37:45 +10:00
CasualPokePlayer 9092a38a82 give more secure hashes higher priority than less secure ones 2022-02-20 05:05:58 -08:00
YoshiRulz d829f19bca
Revert "Revert "Allow frontend to pass arguments to Lua callback functions""
This reverts commit 49423d59a1.
2022-02-20 10:01:17 +10:00
YoshiRulz a733f8532b
Bump version 2022-02-20 10:01:16 +10:00
CasualPokePlayer ba51aa90a4 add in comment i forgot to save 2022-02-18 00:19:24 -08:00
CasualPokePlayer a91b861a4d fix #3095 2022-02-18 00:18:15 -08:00
CasualPokePlayer 278ba086a3 fix vbm import with sameboy 2022-02-17 22:45:41 -08:00
CasualPokePlayer 1c4c390e8f expand sega cd bios list, based on no-intro and TOSEC info 2022-02-17 22:29:51 -08:00
CasualPokePlayer 7afb24b5af switch sameboy to the bizinvoker 2022-02-17 01:06:48 -08:00
CasualPokePlayer 0a9200fa59
Sameboy blip buf (#3154)
* blip buf experiment

* do this without needing to modify core

* Delete blip_buf.os

* dont bother keeping a sbuf in biz_t

* darn space/tabbing
2022-02-17 00:30:38 -08:00
CasualPokePlayer 3139277475 allow ares performance to record movies (with a big warning), fix states (oops), fix #3151 2022-02-16 17:08:08 -08:00
YoshiRulz 455f7b6ce9
Flag Sega CD USA BIOS rev. 9303 as "unacceptable" (resolves #2913) 2022-02-16 22:12:55 +10:00
CasualPokePlayer 63078b55e1 put dummy implementations for haptics in bk2 controller, fixes #3146 2022-02-16 03:50:35 -08:00
CasualPokePlayer 655ed7949e
Ares64 Performance Core (#3149)
* prep for performance ares64 core, needs work unmanaged side

* get this going

* rebuild this

* apparently build didnt get cp'd? need to investigate

* fix build, other shit

* suppress these warnings

* tweaks and builds

* apparently bizinvoker doesnt like having LibAres64 class shared between non-waterbox and waterboxed, so split it.
also states for performance core

* builds

* fix this option, describe supersampling properly

* penguin64
2022-02-16 02:15:27 -08:00
CasualPokePlayer 7db8472092
Handy tweaks (squashed PR #3140)
resolves #2425. commits:
- build handy-linux with fvisibility=internal, make export have default visiblity
- use bizinvoker for handy
- move this to the right spot
- correct name here
2022-02-14 14:38:31 +10:00
YoshiRulz 1f8d6e0022
Refactor `IInputApi`, replacing 1 method, adding 1, plus doc comments 2022-02-14 01:51:42 +10:00
YoshiRulz 1655c191e0
Bump LangVersion, move key name overrides to separate file 2022-02-14 01:51:42 +10:00
YoshiRulz 49423d59a1
Revert "Allow frontend to pass arguments to Lua callback functions"
This reverts commit 8385337e71.
2022-02-14 01:51:34 +10:00
CasualPokePlayer 5bafc9a062 marked bsnesv115 as released 2022-02-13 06:15:36 -08:00
CasualPokePlayer 7b60c7cafb Reorder this class to avoid c# reordering it itself when it feels like it 2022-02-13 03:51:20 -08:00
CasualPokePlayer c3e6a08b42 apply ares64 changes to frontend 2022-02-13 02:47:21 -08:00
CasualPokePlayer 682111f377
Ares64 (#3125)
* ares64

* build, currently cherry picking c9af34027b to build this

* some work

* commit the frontend work. crashes on some NR_SCHED_GETAFFINITY syscall

* delete this

* fix oopsie, add debugging shit

* getting closer...

* what the fuck is this mame shit doing???

* fuck

* it's one of these isn't it

* fucking hell

* at least it's not crashing on init now

* bleh

* let's see if this works?

* audio i think?

* oh right, need to disable threading here since that's not wbx supported

* testing

* testing

* testing...

* testing

* wtf?

* lol

* it's doing something now i guess?

* let's try this

* maybe this will catch this bullshit?

* lol

* the fuck?

* what

* meh

* bleh

* let's have some fun

* bleh

* bleh

* bleh

* maybe this works better

* let's try this?

* meh

* this probably will break

* lol

* meh

* a

* a

* a

* a

* a

* meh

* a

* a

* b

* alloc invisible these video buffers

* a

* actually build

* bleh

* well uhhhhhhhh let's see if this blows up for fun i guess?

* bleh

* yeah that when as well as expected

* push this

* bleh

* bleh

* bleh

* a

* dirty hackery

* fuck space/tabs

* hook up input

* hook up input frontend side

* reset/power

* going to have to commit to dumb workaround here i guess?

* fuck this bullshit crash

* cic stuff

* oops

* testing

* hook up save detection

* memory domains and saveram shit

* oops

* someday i'll get macros right

* let's get this kinda reproducable

* build

* bleh

* frontend shit

* bleh

* testing

* a

* fucking

* a

* a

* a

* workaround C# bullshit marshalling maybe?

* revert that, let's hack it on c# side instead

* disgusting hack

* fuck c#

* fix oopsies for eeprom/flash and fuck c#

* apparently explicit layout just dont work, thanks c#!

* correct orientation

* actually fix orientation

* testing

* bleh

* b

* a

* fix crash here

* rumble getter

* hook up rumble with frontend, cache readonly controller settings on core init

* remove old experiment

* make clean make install
2022-02-11 18:22:16 -08:00
YoshiRulz 86e939b6d4
Fix capitalisation 2022-02-10 02:15:22 +10:00
YoshiRulz 862b005218
Revert "Get rid of unnecessary CRC32Checksum.cs"
This reverts commit 558adfa325.
2022-02-10 02:15:22 +10:00
YoshiRulz 71e84537e6
Also change branch numbers in piano roll
see #3112, fixes 965cbe615
2022-02-10 02:15:17 +10:00
YoshiRulz 965cbe615c
Number TAStudio branches from 1 (resolves #3112) 2022-02-09 19:15:54 +10:00
YoshiRulz e7fd93b41a
Put save slot 0 after 9 everywhere
see #3112
2022-02-09 19:15:50 +10:00
YoshiRulz d997ad9871
Optimise `CWDHacks.Get` 2022-02-09 14:48:35 +10:00
feos da567272f3 mame: don't die in mame warnings 2022-02-09 00:11:03 +03:00
Meerkov 1ec1064289
Interleave output and error async in Discohawk (#3133)
Fixes deadlocks, and removes confusing custom parser.
2022-02-08 15:06:41 -05:00
Morilli a858282a8d Fix #1513 hopefully properly 2022-02-08 19:46:27 +01:00
alyosha-tas a3c9b50930 RAMSearch: fix #3117 2022-02-07 09:46:06 -05:00
alyosha-tas ef9c1f7c24 O2: Fix blobbers and Popeye 2022-02-06 20:56:30 -05:00
YoshiRulz 267f48eebd
Add optional `duration` param to `IGuiApi.AddMessage` 2022-02-07 11:52:36 +10:00
YoshiRulz f4b4c60684
Remove gamedb entry for empty (length 0) rom 2022-02-05 21:04:52 +10:00
YoshiRulz 5424cd3123
Warn when binding an archive member whose length is 0 2022-02-05 21:04:48 +10:00
YoshiRulz 55a60ceda7
Fix TI83Keypad being cut off under Mono 2022-02-05 20:07:00 +10:00
YoshiRulz af78507bc7
Remove redundant `Config.Ti83AutoloadKeyPad` 2022-02-05 20:07:00 +10:00
YoshiRulz cefd370643
Remove vestigial MenuItem from TI83KeyPad 2022-02-05 20:06:55 +10:00
SuuperW 7a3b33fa0d Fix #2965, but for axis painting. 2022-02-04 14:51:40 -06:00
SuuperW bc0579dd0e TAStudio: Update self after loading a state. This fixes two bugs that were most evident when loading the state for frame 0:
-The UI was not updated.
-TasSession.UpdateValues was not called.  So saving the movie and then re-loading it would result in the previous frame being loaded/seeked to.

This commit addresses the regression mentioned in commit 319455c.
2022-02-04 14:50:19 -06:00
YoshiRulz 5012ba0f09
Use consistent whitespace/wrapping in Lua libs 2022-02-04 20:34:33 +10:00
YoshiRulz e621b878b8
Use `int?` in `IJoypadApi.SetAnalog` to match `Set` 2022-02-04 20:34:28 +10:00
YoshiRulz d3e439982b
Add missing file existence check in `forms.drawIcon` 2022-02-04 20:34:28 +10:00
YoshiRulz 1dbc40e386
Accept string not object for `LuaLibraryBase.Log` 2022-02-04 20:34:27 +10:00
YoshiRulz 45f64f62de
Fix this null warning in `GuiLuaLibrary` 2022-02-04 20:34:20 +10:00
CasualPokePlayer 7259a6413e hook up melon mem cbs to frontend 2022-02-03 19:06:56 -08:00
CasualPokePlayer 0edf95948f use BizInvoker for Emu83 2022-02-03 00:59:49 -08:00
CasualPokePlayer 9a8be9d727 ICycleTiming for PSX (Nymashock), actually use ICycleTiming for bk2s, general cleanup, retire VBlankCount in favor of ICycleTiming, make SubNES/GBHawk use actual lag frames instead of lag is vblank 2022-02-02 22:52:09 -08:00
CasualPokePlayer 02e9fea0c5 make screen actually resize when changing screen orientation/rotation/gap 2022-02-02 20:02:16 -08:00
CasualPokePlayer 2c86c07016 dont set autoboot bit in language if in DSi mode 2022-02-02 18:24:26 -08:00
CasualPokePlayer 4c6d339bee Revert "properly format this string"
This reverts commit 1e8552148e.
2022-02-02 17:01:13 -08:00
CasualPokePlayer 1e8552148e properly format this string 2022-02-02 16:59:26 -08:00
CasualPokePlayer abb6bdf185 properly detect DSiWare instead of using hacky sync setting 2022-02-02 16:58:32 -08:00
CasualPokePlayer f2047642eb fix oopsie in last commit 2022-02-02 15:45:52 -08:00
CasualPokePlayer 625a77cc14 clean DSi handling up a bit, add entries in movie header to indicate DSi/DSiWare 2022-02-02 15:42:02 -08:00
YoshiRulz cff2b04dcc
Fix `ObjectDisposedException` when triggering single-instance passthru 2022-02-02 22:47:13 +10:00
YoshiRulz 5d92ca3b4f
Enable SameBoy in testroms projects 2022-02-02 22:13:45 +10:00
YoshiRulz 7392df29d9
Misc. cleanup of testroms projects 2022-02-02 22:13:45 +10:00
YoshiRulz da06bd36d0
For testroms, only skip (video) rendering most of the time, not always 2022-02-02 22:13:40 +10:00
CasualPokePlayer 33a4dda6b7
Melon DSi (#3114)
* update melon

* frontend work

* make this work (i think?)

* fucking merge conflicts

* bleh

* hack up DSi support, very hardcoded atm, but at least states are reasonable

* add IS_DSI load flag

* frontend work bleh

* oops forgot to push

* ok fine apparently that doesnt display right

* oops

* prevent zealous release screen calls, DSi firmware seems to not like it?

* support for loading DSiWare title

* dsiware

* oh right this bullshit

* oops

* will this work

* why the fuck was this signed

* 0 out these hashes, these are also unique per console, no hope verifying these
2022-02-01 23:40:32 -08:00
CasualPokePlayer 096f24e7c6
Reduce bsnes115 state size (#3105)
* testing...

* more testing...

* this is probably a bad idea

* well this probably fixes state size issues

* time to debug this

* oh derp it's just not enough memory in invis heap

* let's see if this works?

* apparently this breaks slow ppu?

* testing...

* testing...

* testing...

* sanity checking

* let's try again

* i do not know what the fuck is up with this emulator nor do i care enough, state size is still under a mb anyways with slow ppu

* oops forgot to commit this

* resolve some issues

* tweak memory allocation sizes

* dont save more cache stuff

* wtf was i even thinking here

* move comment back to original pos, comment on double loading
2022-01-31 19:00:04 -08:00
CasualPokePlayer 7ac2e97cb7
update melon (#3113)
* update melon

* frontend work

* make this work (i think?)

* fucking merge conflicts

* bleh
2022-01-31 17:18:42 -08:00
alyosha-tas 8e7be7c1f2 Clean up subframe inputs: fixes #3111 as well as a bug in SubNEShawk where using zapper prevented reset cycle from appearing 2022-01-31 09:55:23 -05:00
alyosha-tas 3fdbc2e329 MSX; fix loading ROMs not in DB 2022-01-30 21:12:05 -05:00
CasualPokePlayer d6b33fbec6
Nymashock (#3093)
* nymashock wbx

* shit

* lagflag stuff

* saveram stuff

* debugging how this works

* lets see if this works better

* fuck strings

* ok let's do this right i think

* probably have this all working

* get repo in

* add nymashock to build scripts

* also update this readme

* get rid of this default, seems to break internally anyways?

* ""fix"" dualshock (wtf to do with rumble???), make override defaults actually default, add hack to allow for overriding default controllers

* hide useless rtc settings

* hack fix override defaults for controllers, get something going for nyma psx schema

* oops dont forget this

* make fucking default controllers hack work (what the fuck is this code???) also complete schema and mnemonics

* FUCKING FIX THIS BULLSHIT DEFAULT

* let's make this a little nicer

* add mnemonics for □/△/○, fixes weirdness with input display

* fix weird overscan issues when multiwidth + no-interlacing happens at the same time

* do this "properly"

* analog mnemonics

* default controls for dualshock/gamepad filled

* set nymashock as preferred core

* apparently this didnt get committed?

* update README too

* control name fix

* Revert "control name fix"

This reverts commit a3cae89b18.

Co-authored-by: YoshiRulz <OSSYoshiRulz@gmail.com>
2022-01-30 08:52:49 -08:00
CasualPokePlayer dcccb4e2b6
MSXHawk Linux (#3110)
* hack up a makefile for this

* hack up a build for linux, also fuck msvc fuck msvc fuck msvc

* make this work with the so

* thanks line endings

* lol
2022-01-30 08:42:20 -08:00
CasualPokePlayer 2d9651fa89 Revert "sayonara appveyor"
This reverts commit 3b9cfc7c50.
2022-01-29 21:56:08 -08:00
CasualPokePlayer 3b9cfc7c50 sayonara appveyor 2022-01-29 18:55:51 -08:00
CasualPokePlayer 24f946681f
Emu83 (#3086)
* emu83

* builds and get rid of wtf this thing is

* multidisk bundler for ti83

* release

* link src

* also put in the commit hash why not

* Nitpicks

* update ""rom"" extensions for ti83

* don't forget to set a preferred core

Co-authored-by: YoshiRulz <OSSYoshiRulz@gmail.com>
2022-01-29 18:23:09 -08:00
YoshiRulz 62fb0deeb5
Fix NRE when autoloading TAStudio + .tasproj and the wrong rom 2022-01-30 10:20:57 +10:00
alyosha-tas 4ff77456e4 NESHawk: only add ines v2 submapper if it is non-zero, fixes #3082 2022-01-28 21:02:49 -05:00
YoshiRulz b2d1743387
Add brackets around system display name in MainForm window title
fixes 55300d782
2022-01-29 02:55:40 +10:00
CasualPokePlayer 8112be31e1 fix a dumb bug where Auto console mode blocked GBC IR when it shouldn't have; make linked memory domains make a linked system bus for the system bus field using LinkedDisassemblable (this is only relevant for debugger disassembly anyways) 2022-01-27 22:19:42 -08:00
CasualPokePlayer 670a71c6ee
remove cycle count offset debugging thing in sameboy
this was used for comparing gambatte and sameboy tases but wasn't intended to be in final merge, oops
2022-01-27 15:50:11 -08:00
YoshiRulz eb80784d79
Add option to split RAM Watch entries (resolves #1024)
squashed PR #3032
2022-01-28 07:38:52 +10:00
CasualPokePlayer 2348e2885d
Add SameBoy as a GB/C core (#3009)
* basics for sameboy

* lol

* bleh

* lol

* push this in

* push this in

* settings, and also update sameboy bootroms

* bleh

* build linux

* remove some debugging shiz

* fix the order of this

* debug stuff also do gpu palettes right

* use new key mask API

* push shit in

* bleh

* add in replacement impl for joypad, use until opposing directions are allowed upstream

* update

* finally get this working without needing GB_INTERNAL

* hook up acc controls

* oops

* oops x2

* oh right this doesn't use this

* finish this up

* also mark this as released

* cleanups

* Nitpicks

Co-authored-by: YoshiRulz <OSSYoshiRulz@gmail.com>
2022-01-27 13:17:52 -08:00
YoshiRulz 69d51aba50
Change how user gamedb files are included, add extra warnings 2022-01-28 06:49:01 +10:00
YoshiRulz 55300d7827
Rearrange MainForm window title 2022-01-28 06:48:46 +10:00
SuuperW a401c872f5 Fix a regression from commit 4d06fb1. 2022-01-27 11:01:52 -06:00
SuuperW 0171191c0e Fix a regression in commit dda09dd. 2022-01-27 10:47:55 -06:00
SuuperW ec35080f32 Don't double update tools when rewinding (or attempting to rewind). 2022-01-27 10:47:31 -06:00
SuuperW e473c7b88f Don't update tools twice at the end of a turbo seek. 2022-01-27 08:41:32 -06:00
SuuperW e3e1b222e2 Comment says we want to update after a turbo seek. So, don't update if we weren't turbo seeking. (This removes double-updating tools after reaching the desired frame, unless turbo seek is turned on.)
This commit addresses the regression mentioned in commit 937b966.
2022-01-27 08:36:54 -06:00
CasualPokePlayer 2016adcacf LinkedDisassemblable and put it in gambattelink 2022-01-27 00:03:50 -08:00
YoshiRulz 547c28ef28
Add back extra params to `RomLoader.DoLoadErrorCallback` (fixes #3054)
fixes fb6924bd8
2022-01-27 02:48:54 +10:00
Morilli 319455c2ea Revert "TAStudio: Update self after loading a state. There doesn't seem to be any reason to not update TAStudio, and doing so fixes two bugs that were most evident when loading the state for frame 0:"
This reverts commit bb226f694a.

This regressed #2965. Will attempt a different fix for the mentioned issues that doesn't regress anything.
2022-01-26 12:55:20 +01:00
Morilli 937b966393 Revert "Comment says we want to update after a turbo seek. So, don't update if we weren't turbo seeking. (This removes double-updating tools after reaching the desired frame, unless turbo seek is turned on.)"
This reverts commit dfc1436c9f.

This caused the progress bar to not disappear after finishing a normal seek.
2022-01-26 10:39:30 +01:00
YoshiRulz ae91358071
Fix dependency problem and upgrade `SharpCompress` 2022-01-25 17:49:27 +10:00
YoshiRulz 75e9ad0a40
Hack in fix for #3087 (hotkeys triggering accidentally in Virtual Pad) 2022-01-24 15:17:38 +10:00
YoshiRulz c0056123cd
Refactor VBM import (maybe fix #3076) 2022-01-24 12:40:01 +10:00
alyosha-tas 01febd06de Debugger: move text to display cpu select box properly, fixes #3026 2022-01-23 09:54:41 -05:00
alyosha-tas e7203db6ad TAStudio: allow comments to be editted, fixes #3063 2022-01-23 09:13:04 -05:00
SuuperW dfc1436c9f Comment says we want to update after a turbo seek. So, don't update if we weren't turbo seeking. (This removes double-updating tools after reaching the desired frame, unless turbo seek is turned on.) 2022-01-22 19:24:31 -06:00
SuuperW 9e8cf71509 No need to set this twice; StopSeeking sets it. 2022-01-22 19:19:03 -06:00
Moritz Bender 0d7de83d4b
BSNESv115+: Implement snes_controller_latch function, cleanup input polling behavior (#3084)
* BSNESv115+: get rid of input_state + input_poll; just poll

* call `snes_controller_latch` on latches done in the core,

- this now also actually calls the InputCallbackSystem
- needed some edits in the core to support executing the callback even when no controller is connected in port 1

* Fix and somewhat normalize the SnesCallbacks order
2022-01-22 00:29:47 +03:00
YoshiRulz 199474e128
Update test to reflect new config schema
fixes 822cc5325
2022-01-20 11:44:28 +10:00
SuuperW bb226f694a TAStudio: Update self after loading a state. There doesn't seem to be any reason to not update TAStudio, and doing so fixes two bugs that were most evident when loading the state for frame 0:
-The UI was not updated.
-TasSession.UpdateValues was not called.  So saving the movie and then re-loading it would result in the previous frame being loaded/seeked to.
2022-01-19 16:03:30 -06:00
SuuperW 822cc53252 Add an option to RewindConfig to specify if the rewinder should allow out-of-order states. Currently, the default rewinder should but TAStudio rewinders should not.
Previously, TAStudio's ZwinderStateManager had to handle this, which made the code somewhat confusing. (Especially when I was looking at ZwinderBuffer and forgetting about the default rewinder.)
2022-01-19 13:20:19 -06:00
SuuperW 014cd51ae4 Fix a regression from commit 6c5447f5da that was causing states to be added out of order. 2022-01-19 13:20:19 -06:00
Meerkov 89b459c44d Add CLI for MP3 extraction 2022-01-18 13:45:41 +10:00
YoshiRulz 6a43277ae3 Move `AudioExtractor` to DiscSystem and clean up 2022-01-18 13:45:41 +10:00
YoshiRulz 551fd72275
Allow un/pausing via menu while `PauseWhenMenuActivated` feature is on 2022-01-18 00:52:21 +10:00
YoshiRulz 4e5f0da800
Remove feature where `Emulation` > `Pause` cancels a seek in progress 2022-01-18 00:52:17 +10:00
alyosha-tas e1315aa511 GBHawk: fix linking (again) 2022-01-16 09:09:09 -05:00
YoshiRulz 86ce476ad1
Clean up `PauseWhenMenuActivated`
Disabled `Emulation` > `Pause` menu item when this feature is enabled. It would
be possible, though annoying, to have it affect `_wasPaused` instead of the main
`EmulatorPaused` while this feature is enabled.
2022-01-16 14:39:08 +10:00
Morilli acbbd946e7 Fix #3050 2022-01-15 10:05:04 +01:00
James Groom 01cd5c256b
Fix weird edge case putting TAStudio in an unusual state (fixes #3066) (#3069) 2022-01-11 11:08:43 +03:00
alyosha-tas b0ab71ae35 Vectrex: Implement 64K bank switching, add some homebrews to DB 2022-01-10 17:15:01 -05:00
YoshiRulz 8385337e71
Allow frontend to pass arguments to Lua callback functions
for compatibility w/ older versions: `event.can_use_callback_params ~= nil`
2022-01-10 16:06:11 +10:00
YoshiRulz 725f6e7194
Update TASVideos links for new site, set next release to 2.8 2022-01-10 15:07:06 +10:00
YoshiRulz 0b9b18bf9b
Also update this cache when updating global Config (fixes #3065) 2022-01-09 17:49:19 +10:00
YoshiRulz 0a3a597c99
Make OSD message duration (time to fade) configurable 2022-01-09 16:27:51 +10:00
YoshiRulz 940dc69ae5 Add regression tests for GB/C using various testroms 2022-01-09 14:19:48 +10:00
alyosha-tas 934a3ae266 NESHawk: proper DMC address wrap 2022-01-08 19:53:47 -05:00
CasualPokePlayer 9b88ae48e8 fix this annoying line ending thing 2022-01-06 13:49:04 -08:00
alyosha-tas 1efdcbf64d NESHawk: partially revert changes to RDY interaction with branch 2022-01-06 16:09:25 -05:00
alyosha-tas e40fdb00ac NESHawk fix a DMC bug 2022-01-06 13:39:25 -05:00
alyosha-tas c7403e7fe7 NESHawk: fix some DMC edge cases 2022-01-03 16:49:36 -05:00
CasualPokePlayer 6b9bd9e3bd resolve #3055, also cleanup this code for GB/C 2022-01-02 23:45:40 -08:00
alyosha-tas d622e181f2 NESHawk: more dmc work 2022-01-02 10:52:04 -05:00
zeromus 853b0fdd85 "Unthrottled" should be saved to config 2021-12-31 16:28:48 -05:00
zeromus 007442773a throttle shouldnt act as paused when rewinding (fixes #3053, but may break some obscure case? the specifications are complicated) 2021-12-31 16:25:58 -05:00
feos b20fdb8e85 mame: mention vs2019_clang
produces a build that runs as fast as the gcc one, but is as small as the msvc one, and you can still fully debug it in VS
2021-12-30 22:57:33 +03:00
alyosha-tas 17951862ab NESHawk: clean up and implement new dmc reload delay findings 2021-12-30 08:51:14 -05:00
YoshiRulz 5687f800a1
Allow `"#RRGGBB"` format when parsing colours ("luacolor" in docs) 2021-12-29 15:28:12 +10:00
alyosha-tas 8dd98852be NESHawk: Fix interaction between RDY and Branch_delay_irq bug. Fix regression in APU timing. 2021-12-28 21:09:13 -05:00
CasualPokePlayer 509718887a set MAME System Bus correctly 2021-12-28 15:11:04 -08:00
alyosha-tas d113d76c6a NESHawk: fix regression in apu 2021-12-27 10:24:29 -05:00
alyosha-tas b45b552b9d NESHawk: fix interaction between RDY and NMI/IRQ 2021-12-27 08:04:27 -05:00
alyosha-tas 638c759aa0 NESHawk: clean up and implement DMC glitch 2021-12-26 19:37:20 -05:00
alyosha-tas d21f099567 NESHawk: implement some new NMI findings 2021-12-26 11:28:58 -05:00
alyosha-tas 8e5c1bfe57 NESHawk: work on DMC IRQs 2021-12-24 17:54:32 -05:00
alyosha-tas 7463e24957 NESHawk: fix some regressions 2021-12-23 20:00:13 -05:00
alyosha-tas 2dae3505d7 NESHawk: more DMC work 2021-12-22 20:31:23 -05:00
alyosha-tas e37f580a19 NESHawk: Implement some new DMC findings 2021-12-20 19:36:54 -05:00
alyosha-tas 5e3e65a2ab NESHawk; revert initial state change pending more testing. 2021-12-18 16:42:01 -05:00
alyosha-tas 22fe9a1b7b PCEHawk: add 240p test suite to game DB and properly resize buffer, fixes #3018 to at least not crash 2021-12-17 20:08:36 -05:00
alyosha-tas b821012099 NESHawk: update start up state and some cleanups 2021-12-16 22:03:25 -05:00
CasualPokePlayer aa6f74108e resolve #3028
also fix other misc bugs
2021-12-15 17:18:00 -08:00
Morilli d24629f3ad BSNESv115+: ram and rom memory domain fixes
- saveram was not working at all on certain roms, as the "CARTRIDGE_RAM" memory domain was returning a null pointer (similar thing for "CARTRIDGE_ROM"; changed it to correctly return the current rom)
- add sa1_bwram domain for clarity and an SGB_ROM domain
2021-12-15 09:10:37 +01:00
CasualPokePlayer 47a81e7b20 fix dsm importing, apparently desmume inverts the order of start/select for dumping/parsing 2021-12-13 18:26:25 -08:00
CasualPokePlayer ee0dea46bc fix #3030 2021-12-13 17:03:40 -08:00
YoshiRulz 878b22e8c5
Nix expr: copy bundled scripts, shaders, etc. to ~/.local/share
TODOs excepted, this brings the Nix build to feature-parity with "portable"/AUR
builds... if it runs at all (i.e. for the distros in `wrapper-scripts.nix`)
2021-12-13 19:55:03 +10:00
Morilli 558adfa325 Get rid of unnecessary CRC32Checksum.cs
haven't checked for correctness or regressions
2021-12-12 17:51:54 +01:00
YoshiRulz d979a09f5a
Only run this once when importing .smv, not every frame (fixes #3022) 2021-12-13 02:10:55 +10:00
YoshiRulz 73866fbf20
Downgrade `System.Collections.Immutable` package 2021-12-10 16:59:52 +10:00
alyosha-tas 967ef7c995 NESHawk: move defining controller out of hardreset, fixes loading subneshawk 2021-12-09 15:47:49 -05:00
alyosha-tas c8ef579b8f NESHawk: Implement new findings related to cpu register accesses, fix nanjing board 2021-12-08 16:29:36 -05:00
YoshiRulz 5c59e6d9c4 Overoptimise `Bk2InputDisplayGenerator` 2021-12-07 13:40:28 +10:00
YoshiRulz a11d0381b2 Cache `Bk2InputDisplayGenerator`s for long-lasting `IController`s 2021-12-07 13:40:28 +10:00
YoshiRulz 25ccca8bbb Clean up usages of `ControllerDefinition.ControlsOrdered` 2021-12-07 13:40:28 +10:00
YoshiRulz 8b1a1393a9 Cache `ControllerDefinition.ControlsOrdered` 2021-12-07 13:40:28 +10:00
YoshiRulz 0719d6f9df Allow `ControllerDefinition`s to be made immutable 2021-12-07 13:40:28 +10:00
YoshiRulz 15a03a26e8 Require `ControllerDefinition.Name` to be set (via ctor)
src/BizHawk.Emulation.Cores/Consoles/Nintendo/GBHawkLink/GBHawkLinkControllers.cs
src/BizHawk.Emulation.Cores/Consoles/Nintendo/GBHawkLink3x/GBHawkLink3xControllers.cs
src/BizHawk.Emulation.Cores/Consoles/Nintendo/GBHawkLink4x/GBHawkLink4xControllers.cs
2021-12-07 13:40:28 +10:00
YoshiRulz 7881067133 Clean up this spaghetti in NesHawk controller and movie import code 2021-12-07 13:40:28 +10:00
YoshiRulz dfbce55707 Pass `SimpleController.Definition` via ctor instead of initialiser 2021-12-07 13:40:28 +10:00
YoshiRulz 519fd40c32 99.9% sure this isn't used 2021-12-07 13:40:28 +10:00
YoshiRulz 7795e34362 Merge controller implementations for GBHawk* cores 2021-12-07 13:40:28 +10:00
YoshiRulz 9f2e426454 Merge AccX/AccY in GBHawk controller deck 2021-12-07 13:40:28 +10:00
YoshiRulz c09370ab44 Remove useless "Tilt Controls" dropdown from GBHawk sync settings
hack or don't
2021-12-07 13:40:28 +10:00
YoshiRulz 34ec13635b
Return void from `Control.*Invoke` extensions 2021-12-04 10:37:28 +10:00
Morilli 59d76294c9 Close #2958 2021-12-03 22:16:09 +01:00
YoshiRulz 9224a4a81c
Add some more substring extension methods 2021-12-03 16:36:00 +10:00
YoshiRulz 477ef2e519
Fix typo
fixes e38726db5, c5690e726
2021-12-03 07:58:05 +10:00
YoshiRulz 5644911cc0
Bump .NET 5 -> 6, update BizHawk.Tests deps, and bump pinned Nixpkgs 2021-12-02 19:24:06 +10:00
CasualPokePlayer 0ad79c2cc2 [GambatteLink] proper memory callback scopes for each player 2021-12-01 20:56:00 -08:00
alyosha-tas 8c6d12e913 NESHawk: rename MMC3_pokemon to MMC3_Jncota 2021-12-01 18:52:53 -05:00
YoshiRulz cd4d7a89a4
More nullability 2021-12-01 16:33:52 +10:00
alyosha-tas 76faa7c835 MSX: implement ascii 8kb mapper and make it the default for large games 2021-11-30 19:06:08 -05:00
YoshiRulz 658123435c
Explicitly pass def in `JoypadApi.SetFromMnemonicStr` (resolves #2525) 2021-11-30 14:56:42 +10:00
Morilli 18ea6d34c6 BSNESv115+: Increase MmapHeapSize to prevent crashes
e.g. "Star Ocean" was crashing on the previous size
2021-11-29 20:41:33 +01:00
Asnivor a8ca430f01 ChannelFHawk: * Console buttons now mapped the correct way round
* gamedb updated
* Fixed F8 3853 Static RAM DC1 register issue - SCHACH mapper carts (chess, pacman) now work (and any games that use the XDC opcode)
2021-11-29 17:57:07 +00:00
Moritz Bender cc38f4bcba
Implement memory callbacks for the new bsnes core (#2797)
* Actually working callbacks
now actually work after natt's changes
* Set whether memory hooks exist every frame to prevent unnecessary function calls if not
2021-11-29 19:59:47 +03:00
alyosha-tas 47c8d4f6e8 EmuHawk: Add description to N64 profile informing user about auto-skipping lag frames during frame advance. Fixes #2380 2021-11-28 10:27:01 -05:00
CasualPokePlayer f7936a34f8 [GambatteLink] changes in link API, misc cleanup 2021-11-27 22:40:39 -08:00
alyosha-tas de8748d6d1 NESHawk:Send hard Drivin to correct mapper 2021-11-27 21:32:40 -05:00
alyosha-tas eec1711b0f NESHawk: add in a new mapper for chinese pokemon 2021-11-27 10:49:58 -05:00
alyosha-tas 365fa1eb41 GBA: update about section to reflect current build used 2021-11-27 08:58:56 -05:00
alyosha-tas 5ba8655f42 MSX: minor bug fixes 2021-11-26 17:34:08 -05:00
Asnivor 4f71df99ae ChannelFHawk: Updates
* Maze/Hangman mappers working (SRAM2102)
* Fixed console buttons ones-compliment bug
* LagFrame detection
* NTSC/PAL SyncSetting
* Started adding mappers for all games
2021-11-26 16:50:14 +00:00
alyosha-tas fd02c872a9 MSX: finish up SCC, set to released. 2021-11-25 16:34:36 -05:00
Asnivor 2a67ad625f ChannelFHawk: Cart 2102 SRAM Implementation 2021-11-25 20:39:03 +00:00
Asnivor 442e83239d ChannelFHawk: More progress:
* IO now working properly
* Start of mapper implementation
* Additional gamedb entries
2021-11-25 14:52:59 +00:00
alyosha-tas f32961001e MSXHawk: Refactor and start work on SCC 2021-11-24 20:26:31 -05:00
alyosha-tas 0cd769222b A7800: fix off pixel detection in write mode, fixes baby pac man 2021-11-24 15:57:54 -05:00
Matt Burgess b06b37de7e ChannelF: Several fixes:
* F8 CPU now complements when transferring from A to IO
* Audio now working correctly
* F8 SIGN flag now set correctly on IO reads
2021-11-24 09:00:29 +00:00
alyosha-tas 726ecef5a6 INTV: fix intellicart, fixes various homebrews 2021-11-23 18:56:29 -05:00
YoshiRulz accf0f038c
Allow left/right modifier keys to be used separately (no UI)
Should allow for any key to be used as a modifier (see #2981), simply by
populating `Config.ModifierKeys`. Flip the assignment on `Input.cs:45` to try
out this change specifically.
2021-11-24 08:21:44 +10:00
alyosha-tas 3f9fb0eaef INTV: MOBs with x-coord 0 are not visible, fixes bowling. 2021-11-23 17:06:46 -05:00
alyosha-tas e45c9bb398 INTV: fix overflow flag calculation, fixes checkers and reversi 2021-11-23 16:45:28 -05:00
nattthebear 2ea62ffea6
Handle reentrant calls in waterbox (#3007)
Fixes #2585
2021-11-23 14:20:12 -05:00
CasualPokePlayer 3ea7c479a2 [GambatteLink] Don't bother stepping when the link is disconnected, should provide a nice speedboost 2021-11-22 23:27:02 -08:00
alyosha-tas 0715db5608 INTV: adjust sme timings and fix accesses to registers, fixes motocross 2021-11-22 21:17:57 -05:00
alyosha-tas d8356670ed INTV: clean up CPU, fix trace logger and throw less exceptions 2021-11-22 15:50:03 -05:00
CasualPokePlayer fba8e52be6
fix wtf in oam memory callbacks 2021-11-22 09:02:14 -08:00
CasualPokePlayer f9aa6101e0 sram bank is not 0xA000 large, oops 2021-11-21 20:07:02 -08:00
CasualPokePlayer 307f6f262e more scopes for Gambatte memory callbacks 2021-11-21 19:58:06 -08:00
CasualPokePlayer 80d588a002 remove some more remnants 2021-11-21 17:25:59 -08:00
CasualPokePlayer e0ffd45983 remove some DGB/GB3x/GB4x remnants 2021-11-21 17:21:13 -08:00
CasualPokePlayer 83a5632759 hack fix fuck shit textstate code 2021-11-21 16:03:20 -08:00
alyosha-tas bd53079a3a INTV: more compatibility work 2021-11-21 18:17:24 -05:00
alyosha-tas c5690e726e Intellivision: update game DB to use correct hash entries and add some that were missing. 2021-11-21 16:39:10 -05:00
CasualPokePlayer 16da7a2aa6 fix audio mixing for GambatteLink3x 2021-11-21 10:40:42 -08:00
alyosha-tas 5d6cf748bf GBHawk: fix linking in perfect dark 2021-11-21 11:38:23 -05:00
CasualPokePlayer 45dec23352 fix multidisk bundler 2021-11-21 01:38:30 -08:00
CasualPokePlayer 92157d0af0 rename DGB to GBL and make all link gb cores use it; todo: rename/fix shit 2021-11-21 00:59:56 -08:00
CasualPokePlayer 72ad5c7b0b GBC IR Emulation for GambatteLink 2021-11-20 23:51:23 -08:00
alyosha-tas 792b91f821 SG1000: work on 8kb ram adapter 2021-11-20 21:15:41 -05:00
ASNiVOR cee3d411b9 F8 CPU: Code tidy 2021-11-20 22:14:29 +00:00
ASNiVOR 1c90bbc273 ChannelFHawk: Move F8 CPU implementation to Emulation.Cores.CPUs 2021-11-20 21:55:00 +00:00
YoshiRulz 5582b2163d
Don't expose `MainForm.MovieSession` via `IMainFormForConfig` 2021-11-21 03:06:07 +10:00
YoshiRulz ed5128343f
Clean up `MainForm.AddOnScreenMessage` usage 2021-11-21 03:06:07 +10:00
YoshiRulz e56b3abd37
Add missing `: IDialogParent`, remove unnecessary `IMainForm*` params 2021-11-21 03:06:06 +10:00
YoshiRulz e4f142c0d1
Don't inform the user they've hit cancel, they already know 2021-11-21 03:06:06 +10:00
YoshiRulz 3c111c3947
Remove empty doc comment blocks 2021-11-21 03:06:06 +10:00
CasualPokePlayer d053a0b414
Refactor GambatteLink (#3002)
* refactor gambattelink to be more modular and add support for 3x/4x
2021-11-19 19:59:27 -08:00
alyosha-tas 1333813bb1 SMS: Don't process collision on sprites above screen height, fixes ecco the dolphin #1611 2021-11-19 17:06:10 -05:00
ASNiVOR c74b47315f ChannelFHawk: CPU mostly there. It's running games now. Still need to work on input. 2021-11-19 19:09:04 +00:00
YoshiRulz 49df817bcd
Derp this is IDisposable 2021-11-19 05:08:53 +10:00
YoshiRulz df97ef3dfe
Maybe fix #1483 re: drag+drop 2021-11-19 04:51:46 +10:00
YoshiRulz be13c08959
Warn when freezing >200 addresses at once (resolves #1155) 2021-11-19 04:42:19 +10:00
YoshiRulz e23a2df7e0
Add an edit dialog for TAStudio palette (resolves #2119) 2021-11-19 03:56:12 +10:00
YoshiRulz 90c489beed
Move TAStudio colours into a struct and save it to config 2021-11-19 03:56:09 +10:00
YoshiRulz 625c657531
Fix Hex Editor font/highlight alignment under Mono 2021-11-19 01:59:28 +10:00
YoshiRulz b1b06cc04a
Dedup some project file stuff 2021-11-19 00:49:05 +10:00
YoshiRulz 69d65009a0
Don't extend BCL namespaces 2021-11-19 00:49:05 +10:00
YoshiRulz 8849134d50
Flip endianness of CRC32 checksums 2021-11-19 00:48:38 +10:00
alyosha-tas c636c01424 SMS: fix backdrop colors 2021-11-18 08:54:13 -05:00
YoshiRulz cfe1542e0a
Fix `PathEntry` serialization test data
fixes be5e29cc5
2021-11-18 22:53:56 +10:00
YoshiRulz be5e29cc5a
Don't serialise `PathEntry.Ordinal` 2021-11-18 22:06:36 +10:00
YoshiRulz d905952d8b
Make `PathEntryCollection.DefaultValues` lazy and extract helpers
moved Libretro's useless ROM path to second to match others
2021-11-18 22:06:36 +10:00
YoshiRulz 87191385b8
Fix Channel F and Uzebox default paths overlapping with other systems 2021-11-18 22:06:32 +10:00
YoshiRulz d3b7e3fe0d
Use P# format instead of custom 2021-11-18 18:47:05 +10:00
alyosha-tas 51e8ef94d0 A7800: fix Basketbrawl and summer games 2021-11-17 18:49:51 -05:00
alyosha-tas de1a312262 MSX: do some work on mappers 2021-11-17 15:27:54 -05:00
YoshiRulz 9fa3e34beb
Prevent infinite recursion in PathConfig.BrowseFolder
fixes 0b5f48aed
2021-11-18 01:14:00 +10:00
YoshiRulz baea2a081b
Move `Config.DefaultIniPath` to Program 2021-11-16 12:20:37 +10:00
YoshiRulz fc4da78e73
Move global Config to Program 2021-11-16 12:20:37 +10:00
YoshiRulz 8859f8f859
Move `ArgParser.ParseArguments` call to Program, replacing config hack 2021-11-16 12:20:37 +10:00
YoshiRulz 69a4d64671
Bump version 2021-11-16 12:20:33 +10:00
alyosha-tas cf55391af0 As suggested by YoshiRulz, this gives correct behvaiour when autoload state is on but movie recording starts from power on. Fixes #2384 2021-11-15 19:19:39 -05:00
alyosha-tas 493cfc43b6 GBHawk: update GBA startup state, fix Konami collection Vol 4 2021-11-15 18:43:20 -05:00
alyosha-tas 78615095f2 A2600: fix AUDC 2 audio 2021-11-15 15:10:36 -05:00
YoshiRulz d58c5d7e8a
Use CoreInventory to determine systems hidden in PathConfig 2021-11-15 20:57:26 +10:00
YoshiRulz 1785d51c1d
Merge TI83 sysIDs 2021-11-15 20:57:26 +10:00
YoshiRulz d5fdbaf013
Bring unreleased cores in PathConfig in line with core attributes
effectively:
- show 32X in all builds (was never shown)
- show GGL and PS2 in dev builds (was never shown)
- show GB4x and O2 in non-dev builds (was shown only in dev builds)
- hide MSX in non-dev builds (was always shown)
2021-11-15 20:57:18 +10:00
YoshiRulz 908d4519c5
Use <ContinuousIntegrationBuild/> prop 2021-11-15 18:19:15 +10:00
alyosha-tas 7a3f96b5a6 A2600: fix ms pac man audio 2021-11-14 22:05:45 -05:00
alyosha-tas e334af157e SMS: Fix Fray (vert lock update) 2021-11-14 20:48:10 -05:00
alyosha-tas 5794d9c992 SMS: Fix ys (JPN) byemulating VRAm masking bit 2021-11-14 11:12:01 -05:00
feos 4e61e5f00f warn about vblank count mismatch on movie end
account for subgbhawk too
2021-11-14 13:06:01 +03:00
YoshiRulz c52c880101
Backport `KeyValuePair<,>.Deconstruct`
it's infuriating that you can't use this for lambda parameters
2021-11-13 15:17:30 +10:00
adelikat 3d56e23e8a bump release info 2021-11-13 15:03:50 +10:00
alyosha-tas 92c60385f4 A7800: savestate everything, should fix determinism issues this time 2021-11-12 17:54:44 -05:00
YoshiRulz 9220cf675e
Fix parsing of Win10 product names from registry 2021-11-12 19:41:15 +10:00
YoshiRulz e38726db50
Unify checksum helper methods 2021-11-12 19:38:11 +10:00
YoshiRulz 73af92b579
Refactor `IGameInfoApi` (expose GameInfo as its read-only interface)
also enabled NRTs
2021-11-12 19:38:11 +10:00
YoshiRulz fcd7a47435
Use read-only dict type in .NET API 2021-11-12 19:38:07 +10:00
alyosha-tas 47c5fcc39e SMS: foix pop breaker 2021-11-11 20:54:40 -05:00
CasualPokePlayer 2ecd752a45 Update default NDS username for consistency with upstream; mark melonDS as released, remove single instance mark (n/a with wbx) 2021-11-11 13:22:24 -08:00
alyosha-tas bbc5300297 SMS: balance audio better, fixes #2814 2021-11-11 16:16:41 -05:00
alyosha-tas c34c91b9eb NESHawk: increase IRQ delay in mapper 48 to fix graphics glitch in Jetsons 2021-11-11 14:52:27 -05:00
alyosha-tas 5c6a6240ed NES: Fix Zelda SaveRAM fixes #1623 2021-11-11 14:26:27 -05:00
alyosha-tas edfa040b46 NESHawk give Jump II initial SRAM of 0xFF 2021-11-11 09:43:08 -05:00
YoshiRulz 4a4d8fe751
Collect sysID constants in a single class 2021-11-10 14:38:41 +10:00
YoshiRulz 1d6a4460d0
Group SGB in with GB/C in PathConfig (resolves #2992)
breaks config
2021-11-10 12:17:08 +10:00
YoshiRulz 488b2954d6
Use correct file path property (see #2687)
fixes adca19c30
2021-11-09 21:25:46 +10:00
YoshiRulz 56e22f34a5
Use `TryGetValue` instead of `ContainsKey` + indexer 2021-11-09 20:47:35 +10:00
YoshiRulz dd97e4e861
Use ellipses more consistently in MainForm
(to indicate menu items that open a modal dialog)
2021-11-09 17:49:20 +10:00
alyosha-tas 3674824889 A7800Hawk; Misc bug fixes 2021-11-08 17:53:34 -05:00
CasualPokePlayer 946e088950 Merge branch 'master' of https://github.com/TASVideos/BizHawk 2021-11-04 14:35:23 -07:00
CasualPokePlayer 0cad1ca373 default birthday day settings change 2021-11-04 14:34:36 -07:00
YoshiRulz b5c02d3a99
Extract WAV from nothawk.bin 2021-11-05 00:52:01 +10:00
CasualPokePlayer 7c38ff7452 [Gambatte] fix cart bus pullup settings display 2021-11-03 22:52:27 -07:00
CasualPokePlayer 2b15fc958f build here, update libgambatte bindings with new api and use it 2021-11-03 18:53:51 -07:00
CasualPokePlayer 1ddbada5e4 NDS Lua Functions; update style input display to use them 2021-11-03 17:20:23 -07:00
CasualPokePlayer 600ee6c913 Squashed commit of the following:
commit af7cadfce4b750f8b1b23476c281bd2dfe027225
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date:   Tue Nov 2 22:43:21 2021 -0700

    right, rename these too

commit e27197d18ad33af53729b1a57ee4a048189c41c4
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date:   Tue Nov 2 22:40:42 2021 -0700

    build

commit 1af068f11f553ade70999fb2c640ee98e054aa36
Author: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date:   Tue Nov 2 22:37:28 2021 -0700

    new way to do mic input for melonds
2021-11-02 22:54:36 -07:00
YoshiRulz 274a137de4
Fix GBHawk settings dialog not appearing
fixes 9a87a0f58
2021-11-03 13:54:01 +10:00
YoshiRulz 9bcedb2dab
Abstract the dialog from `AudioExtractor.Extract` and add skip option 2021-11-02 21:37:25 +10:00
YoshiRulz a439ea4970
Fix cancellation of `AudioExtractor.Extract`
fixes d3e1a6db9
2021-11-02 21:15:44 +10:00
CasualPokePlayer 1df985a5f6 cleanup this crap 2021-10-29 22:34:08 -07:00
CasualPokePlayer 7314cf9192 compress datetime comparision, make default initial time consistent with other cores 2021-10-29 22:01:57 -07:00
CasualPokePlayer 77916cfa2c
fix date time display (#2983)
* fix date time display

* Use ISO8601, fix nullability, improve validation

* Should probably override all of them to be consistent

* use local time format here

Co-authored-by: James Groom <OSSYoshiRulz+GitHub@gmail.com>
2021-10-29 21:48:45 -07:00
YoshiRulz 84b55d2af4
Remove useless semicolon following type decl 2021-10-29 06:48:13 +10:00
CasualPokePlayer 1dd7640161 use DescribableEnumConverter for GB and NDS 2021-10-27 20:59:15 -07:00
Dennis 1e65515f63
Encode screenshot as JPEG when it has the extension (#2982) 2021-10-26 18:22:17 -04:00
zeromus c5a09f123b remove `?? ""` litter from ImageSequenceWriter (re #2982) 2021-10-26 18:18:31 -04:00
CasualPokePlayer bb318df49e
SGB Cheats Fix (#2980)
NOTE: LLE SGB cores seem to report an SNES ID anyways. Cheat code converter would need some work if changing them to report a SGB ID (also see https://github.com/TASEmulators/BizHawk/issues/2863#issuecomment-881970014)
2021-10-26 12:32:11 -07:00
CasualPokePlayer 080ed049f5 Switch these all around, also let's make this nice in solexp 2021-10-25 19:59:29 -07:00
CasualPokePlayer 148d6503d3 switch these all around, oops 2021-10-25 19:52:24 -07:00
CasualPokePlayer a0d03fdda0 Gambatte Cleanup 2021-10-25 19:33:33 -07:00
CasualPokePlayer d3bebefcbc
[NDS] Don't try to check for null in an out of range array (#2979)
I have no idea wtf I was thinking with this
2021-10-25 07:10:04 -07:00
CasualPokePlayer bc9331cb6f
[NDS] Double Mmap Heap Size (#2978) 2021-10-25 07:09:49 -07:00
zeromus d9ae8e330d oops, forgot to commit 2021-10-25 01:46:09 -04:00
zeromus 7c8bd4f98c improve pcehawk memory domains 2021-10-25 01:43:10 -04:00
CasualPokePlayer 41128abc37
[melonDS] Redo porting, waterbox style now (#2945)
Co-authored-by: nattthebear <goyuken@gmail.com>
2021-10-24 21:40:23 +03:00
YoshiRulz b0e1458137
Merge CRC32 impls and clean up 2021-10-23 03:05:46 +10:00
YoshiRulz 7953152d51
Move CRC32 impls to `BizHawk.Common/checksums` 2021-10-23 03:05:46 +10:00
YoshiRulz 71be5c7997
Use `ReadOnlySpan` for `SpecialCRC32.Add` 2021-10-23 03:05:46 +10:00
YoshiRulz de76127f76
Move `SpecialCRC32.Add(int)` to a local helper method 2021-10-23 03:05:46 +10:00
YoshiRulz f95e03bff3
Make `CRC32.Calculate` return a uint 2021-10-23 03:05:45 +10:00
YoshiRulz 484a1d8fa4
Add unit tests for CRC32 impls 2021-10-23 03:05:42 +10:00
James Groom 7c6f78b461
Add `save_image_to_disk` to Lua canvases (#2973)
* Pass PathEntryCollection through to Lua libs

* Pass EmulationLuaLibrary to LuaCanvas, add save function to LuaCanvas

resolves #2744
2021-10-20 08:57:39 -05:00
YoshiRulz 98ee0d446f Add IEmuClientApi method (+Lua) for getting approximate framerate 2021-10-20 17:00:14 +10:00
YoshiRulz f56a98116e
Remove now-unused reference to System.Web
see #2261, #2535
2021-10-19 14:47:18 +10:00
CasualPokePlayer 9a87a0f586
nuke sameboy (#2934) 2021-10-18 21:38:23 -04:00
nattthebear 09ccf0dbe8
Unthread tastudio seek progress bar (#2774)
Co-authored-by: feos <feos-theos@yandex.ru>
2021-10-18 21:03:25 +03:00
adelikat 681b564bce remove system.web dependency in DiscoHawk 2021-10-18 12:49:29 -05:00
adelikat dda83033bd Lua canvas documentation - properly document that methods are PascalCase. Ideally they would be camelCase, but the LuaMethod attribute wasn't used in the process of regsitering these. They are aout in the wild now, so it would be disruptive to change. Plus, nocasing is used often as well, so we have no consistency anyway. Fixes #2772 2021-10-18 10:24:24 -05:00
adelikat eab4d2127a Ram Search - bg color drawing - don't use engine indexer so much, it news up a new object every time 2021-10-18 09:59:48 -05:00
zeromus 45c635ac70 update some urls 2021-10-16 14:38:24 -04:00
YoshiRulz 97e030fcb8
Add confirmation modal when launching TAStudio during casual play 2021-10-14 14:49:19 +10:00
alyosha-tas 5626edf43d TAStudio: do not seek when needing to load greenzone on paint 2021-10-12 19:04:43 -04:00
YoshiRulz f721dad395
Replace some hardcoded checksums in GBHawk w/ SHA1 to match gamedb 2021-10-10 18:18:56 +10:00
YoshiRulz cf7cc3bd0e
Use named constants for hardcoded rom checksums in Hawk cores 2021-10-10 18:18:56 +10:00
YoshiRulz d8dc06cbd2
Don't unnecessarily recompute rom hashes 2021-10-10 18:18:52 +10:00
YoshiRulz b614edecdb
Detect when running as Superuser/Administrator
not using this for anything atm
2021-10-10 13:06:43 +10:00
zeromus 8145dfbdce neshawk - remove misleading non-functional function for setting volume (don't worry the feature is still there, this was just an unused method) 2021-10-08 22:20:41 -04:00
YoshiRulz 1dbcdcdfc1
Fix loading of Basic Bot under Mono 2021-10-08 13:28:45 +10:00
alyosha-tas e5c2e7ce4b TAStudio: Fix #2811 NOTE: I am leaving a TODO in InputRoll, there are some complicated bugs happening with pointed cell updates, but for now everything happens to work out ok. 2021-10-07 08:50:01 -04:00
YoshiRulz 56de859042
Use new fallback mechanism in v2.x of Cyotek.Drawing.BitmapFont 2021-10-06 08:33:09 +10:00
alyosha-tas a63b7c262b GBHawk: set bk2 movie CGB flag properly 2021-10-04 16:16:22 -04:00
YoshiRulz f46ff85287
Fix indentation in FFmpegService 2021-10-04 08:23:18 +10:00
YoshiRulz ef059dbcaa
Missed the newline on this print 2021-10-04 08:11:42 +10:00
YoshiRulz df5ef0ec2d Clean up drag+drop handling in MainDiscoForm 2021-10-04 07:00:19 +10:00
YoshiRulz a514effba7 Encapsulate "hawking" routine in DiscoHawk and use it in CLI
resolves #2947
2021-10-04 07:00:19 +10:00
zeromus 253d532a63 make FFmpegService more reliable (fixes inexplicable hangs in reading ffmpeg output which breaks discohawk audio extractor sometimes and probably other things sometimes unpredictably). fixes #2952 2021-10-03 01:25:45 -04:00
zeromus d3e1a6db99 make discohawk AudioExtractor multi-threaded 2021-10-03 01:24:12 -04:00
zeromus b14c434377 fix snes graphics debugger getting permanently hidden (til app is restarted) when choosing new bsnesv115+ core. fixes #2950 2021-10-03 00:09:35 -04:00
YoshiRulz 02f23692cf
Re-enable Lua on Linux 2021-10-03 09:48:26 +10:00
YoshiRulz e553eafee2
Bump version 2021-10-03 09:13:15 +10:00
feos 167bfeb4c0 update release info 2021-10-01 22:23:34 +03:00
YoshiRulz 56c7457336
Downgrade SharpCompress 2021-10-01 06:19:40 +10:00
YoshiRulz 078852567a Revert "Disable Tool Box on Linux (fixes #2741)"
This reverts commit fe6bf7ba12.
2021-09-30 19:43:38 +10:00
YoshiRulz dc090b81fe
Re-use hack from `client.reboot_core` for `openrom` (resolves #2940) 2021-09-30 19:39:39 +10:00
YoshiRulz 5f1d686475
Don't compress NesCarts.xml when packaging
see #2939
2021-09-30 18:55:31 +10:00
feos 340352eb69 commit readme/license/source info files for pixelated lua fonts 2021-09-28 22:00:13 +03:00
CasualPokePlayer 4303d1c333
[mGBA] Game Override Sync Settings (#2937)
* override sync settings

* override penguin

* don't override save type when autodetecting

* insert penguin
2021-09-26 11:55:13 +03:00
YoshiRulz bff6126c1b
Fix filesize pre-check in FirmwareManager 2021-09-22 11:51:40 +10:00
YoshiRulz dbc36fa420 Add automatic patching capability to FirmwareManager 2021-09-22 06:24:28 +10:00
YoshiRulz 190e121a90 Remove firmware patching from Gambatte 2021-09-22 06:24:28 +10:00
CasualPokePlayer d513c5b2a0
fix #2805 for real this time (#2936)
* fix https://github.com/TASVideos/BizHawk/issues/2805

* fix https://github.com/TASVideos/BizHawk/issues/2805 for real this time

* misc

* advance penguin
2021-09-21 08:46:57 -04:00
dependabot[bot] 4356af7b95 Bump SharpCompress from 0.28.3 to 0.29.0 in /src/BizHawk.Client.Common
Bumps [SharpCompress](https://github.com/adamhathcock/sharpcompress) from 0.28.3 to 0.29.0.
- [Release notes](https://github.com/adamhathcock/sharpcompress/releases)
- [Commits](https://github.com/adamhathcock/sharpcompress/compare/0.28.3...0.29)

---
updated-dependencies:
- dependency-name: SharpCompress
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-21 06:18:19 +10:00
YoshiRulz 2ec0c7d733
Cleanup disabling of DirectX options when it isn't installed 2021-09-21 06:15:19 +10:00
YoshiRulz c112f0b036
Resolve relative paths passed as --lua (resolves #2077) 2021-09-21 05:39:19 +10:00
YoshiRulz 0c855e0047
Add debug util for reproducing #2805 2021-09-20 04:53:46 +10:00
YoshiRulz 2515e73543
Minor cleanup in MGBAMemoryCallbackSystem 2021-09-20 04:50:36 +10:00
YoshiRulz a3ac843c76
Be explicit about rounding for the FPS display, rename method 2021-09-19 02:02:34 +10:00
YoshiRulz 1f580aa826
Update test data to new RewindConfig schema
fixes 94f9016c6
2021-09-18 19:11:53 +10:00
Steven Schalek 478d886bec
Add HandleWatchSizeSelected() to allow user-initiated watch size changes to be ignored if they reset the setting to the same value (#2862) 2021-09-18 11:56:16 +03:00
Daniel Peter Rutschmann 94f9016c6f
Add config option for rewinds every fixed number of frames. (#2893)
* wip consistent rewind intervals.

    In Bizhawk 2.3, rewinds were always made in fixed intervals.
    With the new rewinder, the rewind intervals vary depending on the
    save state size. (This is especially pronounced with delta compression.)
    While this is good for TAStudio, it is awful for regular playing / TASing.

* clean up rewind config gui a bit.

Use radio buttons to make it clear that only the numeric input field of the selected option is being used.

* use more precise variable names.

* minor whitespace cleanup

* don't use fixed rewind intervals by default.

This avoid suddenly changing the rewind behaviour when updating from previous recent versions of Bizhawk.
2021-09-18 11:08:43 +03:00
BrunoValads 14dd3c1695 Removed LuaInterface memory leak warning, it was solved 2021-09-17 23:41:46 +10:00
CasualPokePlayer fbab7f6291
Implement HLE SGB Emulation in Gambatte (squashed PR #2917)
* sgb meme

* various sgb fixes, add hard reset support for spc, make frontend provide spc file

* sgb border support, mostly copied from sameboy

* add support for disabling sgb border, also fix dumb when disabling border

* state work, states seem to be broken tho

* fix dumb state issue

* multiplayer

* fix dumb in spc stating

* misc

* pass SGB tests

* oh right I have to fix this too

* and this dumb too

* attempt to fix weird crashes

* or maybe this will fix it?

* wtf is spc doing?

* rebase

* misc state + debugging stuff

* finally fix weird assertion failure

* factor out loading in spc file, also factor out the ipl

* oops

* init special sgb colors for certain games

* slight sgb audio refactor

* this should work better?

* oops

* switch back to master

* super penguin
2021-09-17 23:35:00 +10:00
YoshiRulz fc0ebf372f
Remove use of the dynamic type from BizwareGL 2021-09-15 06:00:05 +10:00
YoshiRulz 2d81c820b4
Add LibretroBridge binary for Linux and wire it up
build scripts to come, see PR #2895
2021-09-09 04:12:54 +10:00
Chris W 38f3cdb687
Make sorting optional for `forms.setdropdownitems` (squashed PR #2923)
* Add optional sort parameter to SetDropdownItems method

* Improve docs, use pattern matching

Co-authored-by: YoshiRulz <OSSYoshiRulz@gmail.com>
2021-09-08 14:18:51 +10:00
YoshiRulz 56a9e333e9
Allow ToolManager.IsAvailable to check ext. tools 2021-09-06 15:51:11 +10:00
mooware 55a8936a30
add options for virtualboy to only show left or right screen (#2842) 2021-09-01 20:41:02 -05:00
YoshiRulz 24f69eb5a6
Also check PreferredPlatformsForExtensions for single-file archives
resolves #2915
2021-08-24 10:30:33 +10:00
YoshiRulz 559c8efcf1
Fix inconsistent treatment of systems' rom file extensions 2021-08-24 10:30:33 +10:00
YoshiRulz 40cf608eef
Deduplicate file extension list in RomLoader 2021-08-24 10:30:30 +10:00
YoshiRulz a26753234b
Add toggle to TAStudio for including frame no. when copying rows
resolves #2643
2021-08-24 08:17:34 +10:00
YoshiRulz c4ff971113 Set firmwares declared with FirmwareAndOption to Ideal status 2021-08-24 07:18:41 +10:00
alyosha-tas 883d74d2cd TAStudio: autofirre pattern repeating zero times should not be allowed, fixes #2910 2021-08-23 10:40:18 -04:00
YoshiRulz 2f344f8ffd
Clean up OTK_GamePad.GetAxes 2021-08-20 08:20:25 +10:00
YoshiRulz 23a7754a2b
Inline some helpers into OTK_GamePad ctor 2021-08-20 08:20:25 +10:00
YoshiRulz 591d92fe51
Use 1-based indexing for button/axis names of OpenTK gamepads
(to match DirectInput)
2021-08-20 08:20:25 +10:00
YoshiRulz be19b1bb14
Simplify OpenTK gamepad discovery/enumeration 2021-08-20 08:20:22 +10:00
YoshiRulz ee0848d7d0
Improve logging for OpenTK gamepads 2021-08-19 13:30:05 +10:00
YoshiRulz b50afede66
Fix Virtual Pad schemata for ColecoVision 2021-08-16 03:47:14 +10:00
CasualPokePlayer 4681805439
fix #2902 (#2904)
* fix #2902; factor out altrunfor and just use upstream's runFor, keeping a frame buffer on the c# side

* linux build
2021-08-11 02:20:53 -04:00
YoshiRulz ebd18df440
In Lua docs for wiki, alphabeticalise functions within module 2021-08-09 00:07:31 +10:00
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 a6e36b30be
Minor fixup to debug menu 2021-08-05 19:21:29 +10:00
YoshiRulz ec2baf17af
Fix missing #if fence
fixes e2d5c5621
2021-08-03 02:34:29 +10:00
YoshiRulz e2d5c5621b
Add debug menu and GLideN64 settings fuzz tool 2021-08-03 02:02:06 +10:00
YoshiRulz fe05442ab0
Clean up nullability in comm API 2021-08-03 01:51:13 +10:00
YoshiRulz 97222f2c5b
Make the default index 1 for NLuaTableHelper.ListToTable 2021-08-03 01:48:39 +10:00
YoshiRulz 7068fd2c39
Fix #2844 properly, and do writebyterange as well
effectively reverts d784e9c00 and 38442bd5f
2021-08-03 01:48:39 +10:00
alyosha-tas b6e91aef32 SMS: make undrawn area black, overscan itelf still needs reworking, fixes #2892 2021-08-02 11:44:11 -04:00
alyosha-tas 38442bd5fe LUA: documentation fix from previous commit 2021-08-02 10:15:01 -04:00
alyosha-tas d784e9c00c LUA: update documentation of readbyterange to reflect what it actually does. Add readbyterangetable which allows the user to select the starting index to any desired value. Resolves #2844 2021-08-02 10:12:29 -04:00
YoshiRulz 21b2d40832
Move Assets copy to EmuHawk so it only happens for top-level
fixes 443c9830b
2021-08-02 21:43:21 +10:00
YoshiRulz 8adb911623
Pull Gambatte submodule, rename Linux binary to .so 2021-08-02 20:54:06 +10:00
YoshiRulz 02de3588a6
Catch and recover from exceptions thrown by OpenTK gamepad poll calls 2021-08-02 19:20:45 +10:00
YoshiRulz 04bf9d0ec2
Fix code style and increase SA1121 level to error 2021-08-02 19:17:31 +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
YoshiRulz 4973e3eba1
Refactor ITraceable and related types 2021-08-01 23:11:45 +10:00
YoshiRulz 9ec72fd543
Enable nullability in some more services and CodeDataLog 2021-08-01 23:11:44 +10:00
YoshiRulz c26b99b547
Convert RegisterValue to a readonly struct 2021-08-01 23:11:40 +10:00
alyosha-tas 92dfdaec0f NESHawk: fix MMC3 clear timing, fixes Klax 2021-07-31 22:32:10 -04:00
YoshiRulz f92387e134
Fix typo in SMS ctor that caused NREs
fixes bcd47a1ad
2021-08-01 11:09:40 +10:00
alyosha-tas 9d8a80026e NESHawk: more DMC work 2021-07-31 09:56:28 -04:00
alyosha-tas 01c0560c89 Merge branch 'master' of github.com:TASVideos/BizHawk 2021-07-29 18:52:01 -04:00
alyosha-tas fd765b4278 BMp view: make it a function 2021-07-29 18:50:36 -04:00
Hyago Oliveira dc66b4357f
Add event.onconsoleclose (squashed PR #2884) 2021-07-30 08:44:24 +10:00
alyosha-tas 0f294a220e Replace Win32 call in GBA viewer 2021-07-29 17:35:41 -04:00
alyosha-tas 3c257d48ba Replace Win32 call from Bmp and Gb view 2021-07-29 17:12:25 -04:00
alyosha-tas 6ba3bfa1a2 GB GPUViwer: fix a couple bugs, still leaves a TODO 2021-07-28 10:14:22 -04:00
YoshiRulz f8df53abda
Improve documentation for VersionInfo.gen.cs 2021-07-28 10:25:07 +10:00
YoshiRulz b05d64c10c Redesign PathConfig (resolves #2435) 2021-07-28 10:04:35 +10:00
YoshiRulz dfaf07371e
Use better LINQ in PathConfig 2021-07-28 09:31:59 +10:00
YoshiRulz 28abcac463
Use AssemblyBuilder from System.Reflection.Emit package in BizInvoke 2021-07-27 21:10:50 +10:00
YoshiRulz cf92bfd9b4
Clean up EmuHawk.Resources 2021-07-27 17:15:14 +10:00
YoshiRulz 3ed650c0ba
And silence the print flood from Database again 2021-07-27 15:17:14 +10:00
YoshiRulz 517be084ab
Replace Debug.WriteLine w/ Util.DebugWriteLine
(or `Console.WriteLine` if it's in `#if DEBUG`)
bonus wtf: 2 calls in Database were to `WriteLine(string, string)` overload, not
the intended `WriteLine(string, params object[])` overload
2021-07-27 15:14:13 +10:00
YoshiRulz 99260d2746
Add DocumentationAnalyzers from NuGet and fix syntax in docs 2021-07-27 14:53:04 +10:00
YoshiRulz 8d210df9e3
Enable nullability in some services 2021-07-27 13:31:49 +10:00
alyosha-tas aa9402f3c8 fix #2298 2021-07-25 11:27:40 -04:00
alyosha-tas a8e710c73d fix #2880 2021-07-25 10:31:02 -04:00
CasualPokePlayer 62fcf9cc1d
fix #2864 (#2869)
* fix #2864

* attempt to preserve 2c8295b behavior

* misc
2021-07-25 09:10:51 -04:00
Daniel Peter Rutschmann 4b6fc89a71
Fix rewinds sometimes drifting 1 frame forward when loaded. (#2878)
Co-authored-by: dacin21 <daniel.rutschmann@gmx.ch>
2021-07-25 09:09:42 -04:00
YoshiRulz fd0d5a38c7
Rewrite OSDManager.InputStrOrAll without local var 2021-07-24 21:09:17 +10:00
YoshiRulz b4738411a2
Invert nullability in Emulation.Common, enabling it some trivial files 2021-07-24 19:23:18 +10:00
Morilli f1da6e6cd3 fix #2873 by duplicating code yay 2021-07-23 00:48:56 +02:00
YoshiRulz 8c5bb6715a
Allow loading .so files for libretro, again, and throw a nice message 2021-07-23 08:15:12 +10:00
alyosha-tas 335c8104b6 NESHawk: Tweaks to APU timing 2021-07-22 08:42:29 -04:00
YoshiRulz 726f1f3f11
Move types from Input to top-level in Client.Common and cleanup 2021-07-22 15:09:49 +10:00
YoshiRulz 25da1153b6
Resolve TODO re: encapsulation of r/w InputManager props 2021-07-22 14:49:09 +10:00
YoshiRulz 778098e8b7
Apply current code style to Bizware.Test
including enabling NRTs and minifying TestForm w/o Designer
2021-07-22 06:35:53 +10:00
YoshiRulz d1205fa807
Revive Bizware.Test executable 2021-07-22 06:34:23 +10:00
YoshiRulz a223072810
Update OpenTK 2021-07-22 05:02:06 +10:00
GhostlyDark 7a48bded0a
Add new GLideN64 settings (#2872)
* Add new GLideN64 settings

- BackgroundsMode: Set the rendering of large background images, like the JFIF backgrounds of Ocarina of Time. Defaults to stripped as it is more accurate. A user may want to change this to one piece mainly for texture pack usage or performance.
- txEnhancedTextureFileStorage: Use HTS cache instead of HTC for enhanced (upscaled) textures. Defaults to HTC.
- txHiresTextureFileStorage: Use HTS cache instead of HTC for HD textures. Textures are streamed from disk, eliminating the need to prefetch the textures at load. Boots the game near instantly and decreases RAM usage. Defaults to HTC.

* Fix BackgroundsMode type
2021-07-21 16:51:38 +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
YoshiRulz d3733c1fda
Pass Left+Right feedback bind through until PrepareHapticsForHost 2021-07-21 12:27:38 +10:00
YoshiRulz d254c8121d
Include HapticsChannels prop in ControllerDefinition clone ctor 2021-07-21 10:49:50 +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
YoshiRulz 52333e4862
Remove "Debug" haptic channel and debug hotkey, prepare Mupen 2021-07-21 09:46:19 +10:00
YoshiRulz 38b81ae10b
Re-enable haptic feedback
(i.e. revert 567cb0c8f)
2021-07-21 09:46:15 +10:00
alyosha-tas 864086c510 NESHawk: update apu start state to better match console 2021-07-20 18:50:33 -04:00
nattthebear 8cd67529a3 delta rewinder: fix crash on rewinding when the buffer was full
Woops!
Closes #2870.
2021-07-20 16:53:40 -04:00
nattthebear 7cc73ca9b0
Fix bug with delta state rewinder (#2871) 2021-07-20 16:47:10 -04:00
YoshiRulz 56594840ad
Replace sequences of 7 or more = chars in C# source with -
just makes it easier to grep for Git merge conflicts
2021-07-19 10:10:16 +10:00
YoshiRulz 2077b19caa
Clean up dumb in GBHawk ctor 2021-07-19 09:19:37 +10:00
YoshiRulz 0892fb8733
Inline remaining CFP.GetFirmware shim 2021-07-19 09:15:05 +10:00
YoshiRulz 70037ee0fc
Refactor CFP.GetFirmware* 2021-07-19 08:52:09 +10:00
YoshiRulz 443c9830bb
Copy /Assets with <None/> instead of a post-build <Target/>
see #2725
2021-07-18 07:24:58 +10:00
alyosha-tas 42b43b4431 resolve #2858 2021-07-17 08:26:47 -04:00
Moritz Bender 2ff7e4d39b
Add sa1_iram memory domain for new bsnes (#2803) 2021-07-16 18:41:53 -05:00
Mickael Laurent e79d33bcfd Add several comm MMF LUA functions 2021-07-17 07:49:11 +10:00
Mickael Laurent 457ff87481 Always initialize MMF LUA functions 2021-07-17 07:49:11 +10:00
Morilli 308d34890c Fix the superscope controller for the new bsnes core
closes #2856
2021-07-14 22:43:09 +02: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
nattthebear 913837b904 NESHawk: Fix mapper 88 mirroring
Closes #2847
2021-07-12 21:38:01 -04:00
alyosha-tas 420f72f684 resolve #2845 2021-07-12 10:16:05 -04:00
alyosha-tas 6c5d329573 Make tool tips visible for firmware info 2021-07-09 15:17:06 -04:00
alyosha-tas bf5c73b40c Resolve #2713 2021-07-09 11:55:47 -04:00
alyosha-tas bc8280c7b1 SMS: fix null keyboard keys 2021-07-07 21:26:57 -04:00
alyosha-tas bcd47a1ad9 SMS: bring controllers in line with other cores and fix virtual pads 2021-07-07 21:16:56 -04:00
alyosha-tas bed5cc66ab A2600: fix controller selection error 2021-07-07 16:50:32 -04:00
alyosha-tas 946b0e2c01 PSX: maybe fix weird unthrottled behaviour. I didn't realize FrameAdvance had two return paths in octoshock, and missed this one without incrementing Frame when I changed it to the end for the autofire issue. Will audit the rest of the cores as well, but try this in dev build. 2021-07-07 10:24:51 -04:00
alyosha-tas 2d8ea8a989 NESHawk: fix MMC5 IRQ timing, fixes #2036 2021-07-03 20:43:53 -04:00
nattthebear 9488e19d38
Update mednafen cores to 1.27.1 (#2831) 2021-07-03 10:01:04 -04:00
alyosha-tas 01c3b14495 Add Basic Bot menu item image 2021-07-02 10:40:49 -04:00
alyosha-tas 3c26d9eec1 Basic Bot: check for Allow U+D/L+R before starting 2021-07-02 09:10:07 -04:00
alyosha-tas 197e5259c3 Basic Bot: fix 2 empty frame issue 2021-07-02 08:57:10 -04:00
YoshiRulz 46a55d6db4
Use nameof in some Type.GetMethod calls 2021-07-02 16:27:31 +10:00
alyosha-tas a14da86ac0 Fix Basic Bot 2021-07-01 22:06:34 -04:00
nattthebear 2ce269c3e6 Fix bad interaction between rewind+movie+savestates when using delta state rewinder
Closes #2826
2021-07-01 17:37:03 -04:00
alyosha-tas e0498c06ad NESHawk: Improve DMC emulation 2021-06-30 16:53:15 -04:00
zeromus 858faaeb56 fix terrible looking checkbox that was added to firmwaresconfig toolbar by hand instead of the IDE. actually it's kind of cool that you can jam any kind of controls in there, it gives me hope that you could make better looking toolbars by virtue of their not being styled like the ugly toolbars. but it really needs to be all-or-nothing. 2021-06-30 04:44:09 -04:00
zeromus 0ae2dc774c remove FirmwaresConfig dialog asserts added by d0a6817c1a which don't work 2021-06-30 04:38:01 -04:00
alyosha-tas 1aadfd1edf NESHawk: DMC timing on multiple write ocodes 2021-06-28 14:17:41 -04:00
alyosha-tas 76c76a8775 NESHawk: Update start up state again, fixes Paperboy 2021-06-24 23:04:26 -04:00
zeromus 0a290fa756 someone added a "Can't find the file specified: cue filename" for when ANY error happened (including when bin files couldn't be found), before the error message which would have said "Can't find the bin file specified by the cue file". probably while doing null-related refactor bullshit because they had to throw some exception instead of adopting a null value. fix that by undoing the null-related refactor bullshit and adopting the value which is known not to be null (to us, if not the nagging linter) after checking for the intended error conditions and throwing if they're set. fixes #2819 (probably) 2021-06-24 19:23:46 -04:00
alyosha-tas 28ff96deb5 NESHawk: update startup state 2021-06-22 12:23:15 -04:00
YoshiRulz 1f0e058ef5
Blindly update <PackageReference/>s 2021-06-21 12:13:42 +10:00
YoshiRulz 27547178a3
Allow MotW remover to fail silently 2021-06-21 11:08:56 +10:00
alyosha-tas cb0c8c0859 NESHawk: add offset to state, change input poll timing to match actual polling 2021-06-19 10:24:17 -04:00
nattthebear 90a12a8e73 Update virtual boy core with a mednafen 1.27.1 fix. 2021-06-19 08:32:50 -04:00
alyosha-tas 02cd2f47f3 NESHawk: update lag definition and add sprite address glitch 2021-06-18 23:08:04 -04:00
alyosha-tas 427d0351af MOS6502: white space cleanup 2021-06-18 23:07:01 -04:00
YoshiRulz 40c53e0c1f
Inline DisplayManager._glManager 2021-06-15 13:52:09 +10:00
alyosha-tas f251492a21 GBHawk: revert innacurate changes to window state, window timing needs to be fixed instead 2021-06-14 22:12:41 -04:00
YoshiRulz 0173e8d514
Fix assembly load exception on startup
lambda, crash, static local method, no crash... got it
2021-06-15 11:35:19 +10:00
YoshiRulz 22144401e2
Move IGL_GdiPlus to BizwareGL 2021-06-15 10:07:22 +10:00
YoshiRulz 5bdeea6c20
Decouple IGL_GdiPlus from GLControlWrapper_GdiPlus 2021-06-15 10:07:22 +10:00
YoshiRulz 673982003a
Move RenderTargetWrapper to BizwareGL 2021-06-15 10:07:22 +10:00
YoshiRulz bf4bac93b9
Decouple RenderTargetWrapper from GDI+ implementations 2021-06-15 10:07:22 +10:00
YoshiRulz 984982cd9b
Move IGL_GdiPlus.RenderTargetWrapper to own file 2021-06-15 10:07:21 +10:00
YoshiRulz 826f9469dc Fix code style issues in ZXHawk 2021-06-15 08:58:52 +10:00
YoshiRulz 8470fcfc72 Disable warnings in copypasta'd code
fixes 160217ef7
2021-06-15 08:58:52 +10:00
CasualPokePlayer ea369408fb
[Gambatte] Open Bus Emulation (#2798)
* [Gambatte] Open Bus Emulation

* Fix regressions

* a
2021-06-14 18:50:43 -04:00
YoshiRulz b8f5050d6c Replace specialised DisplayManager interfaces with DisplayManagerBase 2021-06-15 08:01:47 +10:00
YoshiRulz 798aa9d039 Move DisplayManagerBase to Client.Common 2021-06-15 08:01:47 +10:00
YoshiRulz f59836442d Extract subclass DisplayManager from DisplayManagerBase 2021-06-15 08:01:47 +10:00
YoshiRulz 20f405fe35 Rename DisplayManager to DisplayManagerBase 2021-06-15 08:01:47 +10:00
YoshiRulz af45671eb7 Extract helper method RunFilterChainSteps from UpdateSourceDrawingWork 2021-06-15 08:01:47 +10:00
YoshiRulz 9f7057f09d Misc. cleanup in DisplayManager
added a Deconstruct extension for Size
2021-06-15 08:01:47 +10:00
YoshiRulz 101c04de1b Remove explicit WinForms dep from DisplayManager (Padding struct) 2021-06-15 08:01:47 +10:00
YoshiRulz 6fa34a6257 Move font resources to Client.Common 2021-06-15 08:01:47 +10:00
YoshiRulz 332542c38b Move DisplaySurface to Client.Common 2021-06-15 08:01:47 +10:00
Matt Burgess d8ccd4017a ZXHawk: Remove left over debug stuff 2021-06-12 10:22:59 +01:00
Matt Burgess 51a67a947a ZXHawk: Overhaul datacorder and cassette loading code. This should now be more accurate and fixes a number of loading isues with particular games and loading schemes. There be desync dragons here!! Fixes #1446 2021-06-11 23:41:14 +01:00
zeromus 160217ef74 Add the first working IsAbsolutePath I could find, copied from .net core. It works for `\\192.168.0.x\public\SMB1.rom` ¯\_(ツ)_/¯
fixes #2787
2021-06-10 12:38:53 -04:00
YoshiRulz 93ca66a243
Fail properly when ext. tools dir is missing (fixes #2787 for real) 2021-06-11 02:09:16 +10:00
YoshiRulz 07fd664485
Set FormBase.Text in its ctor (fixes #2759) 2021-06-11 01:39:33 +10:00
Alan Unger 206314445b Skip DirectInput initialization for device names containing "Xbox One" or "XINPUT" 2021-06-09 06:02:52 +10:00
Alan Unger 2549c3fa04
Fix crash from disconnecting controllers with XInput (squashed PR #2783) 2021-06-09 02:35:35 +10:00
YoshiRulz eaff9274cb
Remove now-unused backing field
fixes e5e187982
2021-06-09 02:01:51 +10:00
YoshiRulz 77bbd6b24e
Clean up ext. tools dir monitoring (resolves #2787) 2021-06-09 01:58:26 +10:00
nattthebear 14fef0f2b5 Revert "GPGX: apply settings each frame, fixes layer viewer not updating properly"
This reverts commit b3fdbe7463.
2021-06-07 17:18:50 -04:00
YoshiRulz b26d215edb
Bump version 2021-06-07 22:17:59 +10:00
CasualPokePlayer e5e187982a
SubGambatte (squashed PR #2732) 2021-06-07 19:18:24 +10:00
alyosha-tas b62f4bc6a9 TAStudio: make operation of 'show player #' buttons more intuitive, fixes #2779 2021-06-06 10:00:57 -04:00
YoshiRulz dabd33c5f4
Un-swap fill and stroke in forms.drawRectangle/LuaCanvas.drawRectangle
fixes 0a9d496ec; see #2772
2021-06-06 13:46:29 +10:00
alyosha-tas b3fdbe7463 GPGX: apply settings each frame, fixes layer viewer not updating properly 2021-06-05 21:26:01 -04:00
alyosha-tas 147a5f0e75 Debugger: full update on restart, remove breakpoints before closing 2021-05-31 21:58:01 -04:00
alyosha-tas 8a09893818 Basic Bot: Add same movie check condition as in Macro tool, fixes #2762 2021-05-30 14:06:08 -04:00
alyosha-tas 733b6c49b0 ToolBox: make icons without instances of tools, I probably missed some but it no longer throws errors at least and works as expected. Fixes #2763 2021-05-30 11:44:16 -04:00
YoshiRulz 2704003429
Dispose of newly-instantiated Forms when populating Tool Box
see #2741, fe6bf7ba1, #2763
2021-05-31 00:53:23 +10:00
CasualPokePlayer 7e06f71afb
add HLE CGB-DMG colors for No Bios option (#2756) 2021-05-29 20:32:20 -04:00
alyosha-tas c1c032a345 Trace Logger: filter out null cases 2021-05-29 17:53:53 -04:00
alyosha-tas 28fe921983 Debugger: prevent crashes when minimizing and other cases, fixes #2760 2021-05-29 11:25:15 -04:00
YoshiRulz 0b0484ee7c
Fix code style warning (by simplifying) 2021-05-28 16:29:21 +10:00
zeromus 17e3e28d06 Fix a bug in PathExtensions IsAbsolute. Fixes #2747
This code should not exist here, anyway. For reasons just like this. Need to find framework method for it.
2021-05-27 16:52:05 -04:00
zeromus d39fa5d3d1 decrypt PathExtensions IsAbsolute and MakeAbsolute 2021-05-27 16:51:31 -04:00
alyosha-tas 7c17f31cdc Gambatte; update trace header 2021-05-27 09:27:58 -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
adelikat c5e6aadb0e update version info 2021-05-25 19:46:27 -05: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
feos 3c94000d3e mame: bios selection works 2021-05-25 21:14:27 +03:00
alyosha-tas 0b3cd0ec0d GBHawk: Fix some tests 2021-05-25 10:56:28 -04:00
Morilli 359657c29a Add a payload controller for the new bsnes core 2021-05-25 04:27:06 +02:00
YoshiRulz 817701856c
Respect LogKey of loaded movie for playback 2021-05-25 08:50:58 +10:00
YoshiRulz 38a223ffbd
Fix execution order in Bk2Controller constructors 2021-05-25 08:50:58 +10:00
feos aedb7d3972 mame: figure out default bios properly 2021-05-24 23:15:49 +03:00
YoshiRulz cc29c5edc7
s/UDRL/UDLR/ in N64 ControllerDef 2021-05-24 08:39:46 +10:00
feos e6c6c417d5 mame: populate bios menu 2021-05-24 00:49:00 +03:00
feos ebff82b968 mame: dip switches work 2021-05-23 17:31:35 +03:00
Morilli 24c74c0e36 Implement IDebuggable for the new bsnes core 2021-05-23 05:02:05 +02:00
feos a43eaaeee9 mame: sent syncsettings to the core and reboot 2021-05-22 23:03:21 +03:00
feos 512ca30d7e mame: set up the hawk side of syncsettings (dip switches only) 2021-05-22 19:02:45 +03:00
YoshiRulz d71eca3b2d
Implement SerializationStabilityTests.TestRoundTripSerialization 2021-05-22 08:15:31 +10:00
YoshiRulz dd45a3e37c
Exclude get-only props on PathEntryCollection from serialisation 2021-05-22 08:08:04 +10:00
YoshiRulz da649a1bc0
Fix hash comparison in DearchivalTests.TestSharpCompress 2021-05-22 05:59:35 +10:00
alyosha-tas 4165b2893d Cores: All cores must update Frame counter post-emulation. NOTE: This is a sync breaking change for MGBA movies using RTC, as the time sent to the core was the pre-incremented time. 2021-05-20 09:24:49 -04:00
alyosha-tas 7c661b5520 Autofire Controller: Latch frame number with controller latch, avoids midframe conflicts when cores update frame pre-emulation. 2021-05-20 09:21:42 -04:00
alyosha-tas bf9c6d784d NESHawk: add missing mapper variable to state. Only for some pirate games so won't fix any reported issues, just something I noticed. 2021-05-17 20:45:36 -04:00
alyosha-tas 94a851ef9e O2Hawk: fix #2684 2021-05-17 18:29:00 -04:00
alyosha-tas 4f24c6ac70 GBHawk: fix #2709 , also fixes a test that previously passed for the wrong reason 2021-05-17 17:10:25 -04:00
alyosha-tas 9f71f9b424 GBHawk: #2715 , still needs vram open bus fix but that's seperate 2021-05-17 17:07:00 -04:00
alyosha-tas 12b5ea62eb C64: implement memory callbacks 2021-05-17 15:10:09 -04:00
YoshiRulz 270ee700fb
Fix unassigned field warning 2021-05-17 10:47:43 +10:00
YoshiRulz 1aa9481a2a
Flip expected/actual in PlayMovie 2021-05-17 10:43:19 +10:00
nattthebear bc21f296a0 Romloader: Add `DontTryOtherCores` config setting
If set, only the first preference core (whether it be through gamedb or preferredcore or priority or whatever) will be tried, and a failure for it will immediately fail the entire thing.  This is mostly a developer feature to aid in debugging.
2021-05-16 11:57:30 -04:00
nattthebear e0a357f68d Support `ref structType` in BizInvoker
Could be useful if you need a struct type on the C# side for perf reasons, maybe to avoid allocations.  Like with passing classes, this is just a pointer conversion:  BizInvoker's design philisophy explicitly leaves out any sort of recursive field conversion that would necessitate making new objects.
2021-05-16 11:38:08 -04:00
nattthebear a18ea12bc0 Bsnes new - delegate refactoring
Fix reliance on GetFields() ordering which, per MDN, is unspecified.
CallingConventionAdapters.MakeWaterbox(...) doesn't care what order they're in, but snes_set_callbacks(...) does.
2021-05-16 10:03:03 -04:00
YoshiRulz fe6bf7ba12
Disable Tool Box on Linux (fixes #2741)
Was going to Close() the instances made by ToolBox.SetTools, which is probably a
good idea still, but it didn't cause my overridden LogWindow.OnClosing to run so
I gave up. The Tool Box is dumb anyway.
2021-05-16 08:57:12 +10:00
Morilli e2b38732dd Fix bsnes memory domains and add bsnes.wbx.gz 2021-05-15 19:36:08 +02:00
Moritz Bender 5d20862f26
Implement bsnes version 115 as a new core (#2740)
* Slam all this shit in here i don't care

* no lzma pls

* un-hack things that i hacked earlier (closer to bsnes source now)

* remove more unused files

* remove more files

* get some stuff working on this weird ass branch

* do this to get actual video (holy shit it works) while palette is incorrect

* make video look correct and hopefully fix stack waterbox allocation size uh ?

* Move the new bsnes core to its own dir as a new core and get input working

* remove leftover files from old bsnes

* fix some shit for now

* make lag frame detection work

* Improve cartridge loading to hopefully make sgb work (haven't tested)

- also changes some audio buffer stuff, might be better or worse than before idk
- need to figure out the saveram stuff
- path requests might actually completely fail atm, no idea how to verify that

* refactor to use a switch instead of some weird array with function pointers

- and implement snes_get_mapper, might be helpful or smth idk

* implement entropy c++-side and delete all this useless code holy

* delete dumb unnecessary code

* implement snes_peek_logical_register c++-side

* normalize all indentation

* attempt to properly support sharprtc and epsonrtc data loading and writing

* Duplicate winforms code to add entropy support c#-side and implement layer_enable functionality

The duplicated code is just so i can have a proper window for the new bsnes core. I do not like duplicating code like this, so this should be improved if possible

* Checkpoint for the start of getting rid of the ugly api wrapper stuff

* Next checkpoint for a full api refactor

* bullshit denied

just no.
every file is either copied or manually edited or written from scratch etc.
do not. force. one indent_style on every single file.
It just does not work.

* remove the entire eMessage_CMD handling and convert to native function calls

* general improvements regarding functionality

- adds hotfixes and fast_ppu core options
- add back the alwaysDoubleSize setting
- use bsnes's own serialize function for savestating now
- generate and use the color palette only in c# cause it doesn't need to be on the c++-side
- and more cleanup like always

* somewhat implement IMemoryDomains

* Implement trace logger and cleanup more unused stuff

* Implement ISaveRam, fix controller mapping for TAStudio and remove the pwrap stuff

* Fix ISaveRam, add a controller configuration box for the new core, (hopefully) fix controller inputs

- also differentiates BG prio0 and prio1 now (with options for it)
- some minor irrelevant edits in bsnes source

* Cleanup some more and optimize a bit

* Support firmware loading and make sgb work (hopefully)

* Remove all unused files

* Add back CropSGBFrame option and cleanup snes_video_refresh logic

* Some hopefully sensible changes

* One more cleanup pass

* Change to new PortedCore attribute

necessary after the changes in 98b07c42d5

Co-authored-by: nattthebear <goyuken@gmail.com>
2021-05-14 20:06:13 -05:00
YoshiRulz 68ba190c2f
Fix text wrapping in SNESOptions
fixes 64d14a7f9
2021-05-14 15:28:47 +10:00
YoshiRulz fdb5dfb7e5
Silence flood of prints on startup (in Debug), obviously no-one cares 2021-05-14 13:41:28 +10:00
YoshiRulz a9facd895a
Fix accelerator on system menu 2021-05-14 13:26:18 +10:00
YoshiRulz f614e41834
Use mnemonic instead of long name for system menu
fixes 553319ec9
2021-05-14 12:44:48 +10:00
YoshiRulz a357da360e
When mGBA fails with missing firmware, throw MissingFirmwareException 2021-05-14 12:19:45 +10:00
YoshiRulz c57cd97f56
Make MainForm.RebootCore return bool, read in MainForm.StartNewMovie
resolves #2147
2021-05-14 12:16:53 +10:00
feos 1c79afe8c8 update mame version 2021-05-12 23:32:36 +03:00
feos 9b2fce578c make LogWindow automatically scroll to last added line 2021-05-11 21:14:14 +03:00
YoshiRulz 567cb0c8fd
Disable the partial implementation of haptic feedback 2021-05-12 03:59:38 +10:00
zeromus 6f992e92e7 ok let's try this a different way so that mupen can work. now I allow the _lines and listcount to not get updated atomically, but hopefully the listcount gets updated before the user ever gets a chance to see it or interact with it (regardless of whenever that update actually happens) 2021-05-09 15:42:11 -04:00
zeromus a886a9b12a fix thread problems in log window (should address #2694 but I'm not calling it closed because maybe someone will jettison this log type completely)
note: in principle
1. _lines and the VirtualListSize are meant to be updated atomically
2. these can be written to from a different thread while the gui thread reads them
this necessitates a high degree of caution around how those variables are accessed, which is made complicated because VirtualListSize isn't a variable but rather done as a win32 call on the gui thread only
2021-05-09 14:54:16 -04:00
YoshiRulz cfad22e80d
Change UI for rewind buffer size (resolves #2302) 2021-05-10 03:33:23 +10:00
feos 2832df893b mame: added more mnemonics 2021-05-08 23:07:00 +03:00
feos 701d340e00 mame: probably fix audio 2021-05-08 21:01:45 +03:00
nattthebear 547bf6d308
Add delta compression rewinder (#2733)
Good size reduction for some cores, less useful for others.  Typically moderately slower.  Has some threading built in (cannot be disabled).

Example speeds with PSX core:

104 fps with delta rewinder
112 fps normal rewinder (no compression)
124 fps without rewinder
2021-05-08 08:47:12 -04:00
YoshiRulz 3ea71a2dda
EXTERMINATE SPACES 2021-05-08 08:16:10 +10:00
YoshiRulz 9cd3d0b57f
Finish null-safety in BizInvokerUtilities
fixes b6f1afcce
2021-05-08 05:57:24 +10:00
YoshiRulz 98b07c42d5
Extract subtype PortedCoreAttribute from CoreAttribute 2021-05-07 00:14:37 +10:00
YoshiRulz 796d0652e4
Clean up ported vs hawk core handling in BizBoxInfoControl 2021-05-07 00:11:43 +10:00
YoshiRulz 54301e9616
Correct info in melonDS' [Core] attr
not sure on the version
2021-05-06 23:28:08 +10:00
YoshiRulz d570cc2fcc
Return correct CPU name from GBDisassembler (Gambatte)
fixes b0095927b
2021-05-06 22:33:58 +10:00
CasualPokePlayer db97427ae1
Add rgbds syntax for GB/C disassembly (#2706)
* replace current GB/C syntax with rgbds syntax
* make rgbds syntax an option, only works for Gambatte tracelogger

* fix add sp/ld hl,sp+
These opcodes aren't disassembled correctly at all; they seem to just use the exact same logic as jr, which doesn't really work here since these are explicit adds, and these opcodes use sp, not the pc. This is probably the most logical approach to this opcode.

Co-authored-by: YoshiRulz <OSSYoshiRulz@gmail.com>
2021-05-05 21:52:25 -04: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 7a7522f282
Add path helpers, normalise rom path from CLI, update readme
see #2077
2021-05-05 06:48:05 +10:00
YoshiRulz 3fee117c5f
Clean up toggle/refresh buttons in Lua Console 2021-05-04 23:57:12 +10:00
YoshiRulz 0a9d496ece
Accept all 4 colour formats in all Lua functions, update docs/wikitext
resolves #2602
2021-05-03 19:06:15 +10:00
YoshiRulz 893396a009
s/long/int/ in Lua so addresses 0x80000000..0xFFFFFFFF are usable
see #1734
2021-05-03 16:54:13 +10:00
YoshiRulz 5016f6ef1c
Prevent hangs from trying to go backwards w/ client.seekframe 2021-05-03 16:39:23 +10:00
Zach 8b79720b9d
N64 plugin categories (#2729)
* GLideN64 categories

* Remove maximize button from n64 plugins window.

Maximize breaks the anchors for the property grids, and the window is fixed size anyway.

* GlideMk2 categories

* Glide64 categories

* Rice categories

Also fixed typo "WinFrame" -> "Wireframe"
2021-05-02 09:39:13 -05:00
adelikat f83a94954f Tastudio - remove some vestigial code for background worker workarounds that is now causing a broken tastudio when selecting a New from the File menu and saving changes when asked 2021-05-01 11:57:21 -05:00
adelikat 49dc7a2bd3 tastudio - fix an _initializing hack spot 2021-05-01 11:42:27 -05:00
Zinfidel e55b19e990 Fix copy-paste description. 2021-05-01 16:12:44 +10:00
feos a35143539b add utvideo to ffmpeg dumper
speed is 4 times faster than ffv1, size it twice as big (tested on SM64 running at 4K internal res). avisynth is more happy with ut than with ffv1, because for the latter you have to tell it the actual pixel format. great option overall.
2021-04-30 20:09:16 +03:00
YoshiRulz 6dbe73d306
Update Cyotek.Drawing.BitmapFont to 2.0.2 (fixes #2716) 2021-04-28 00:51:29 +10:00
zeromus 31d83d0d6e fix crash in PCE debugger by adding peek and poke to the cpu instead of using read/write memory which triggers callbacks. however, the peek and poke are incomplete, as this requires deeper development (in this case, implementation in the memory maps) 2021-04-24 23:20:00 -04:00
adelikat aad592cc1c Tastudio - fix annoying auto-restore bug where it would not set auto-restore position correctly the first time using it after an auto-restore usage earlier in the movie. This might have some regressions, needs testing by people who would know 2021-04-23 18:34:17 -05:00
adelikat 838f571e0b
replace some winforms specific values and ram watch chacks with IToolForm properties. Removes hacks, and some winforms dependencies in tools, and allows for easier implementation of closeable tools (#2719) 2021-04-23 15:41:58 -05:00
nattthebear 2ba5fe338a
add missing menacer keys (#2718)
See eafa39456f and 307d85cee0.
This will add extra keys that do nothing on certain non-menacer light guns, but that never seemed to bother anyone in 1.x.
2021-04-18 10:09:33 -05:00
James Groom 5de101107c
Remove 2-way FirmwaresConfig<=>PathsConfig link (#2698)
* Remove links between PathsConfig and FirmwaresConfig

in the label in FirmwaresConfig, I left the search path and how to change it

* Clean up hacks only needed for FirmwaresConfig<=>PathsConfig links
2021-04-18 10:09:22 -05:00
Moritz Bender 02eb20725a
Fix #2583 (#2699) 2021-04-18 10:06:25 -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
adelikat 82f26ee4ec fix autoloading of ram watch that was broken in the 2.5 releas 2021-04-18 09:54:35 -05:00
nattthebear 9243a6a215 Revert "Add light gun option for Genesis gamepads"
This reverts commit 92241b15cf.
2021-04-18 08:32:43 -04:00
YoshiRulz 771b5397fe
Fix range, def. binds, and Virtual Pad for SEGA Mouse 2021-04-17 12:54:17 +10:00
YoshiRulz 92241b15cf
Add light gun option for Genesis gamepads
seems to work; why do we have our own enum instead of using one of GPGX'?
2021-04-17 12:00:36 +10:00
adelikat 9ff4b904c6 Tastudio - revert double click edit, fix double click navigation to be double click not mouse double click, simplify range checking in said logic 2021-04-16 09:04:16 -05:00
YoshiRulz b7b10e2631
Update Cyotek.Drawing.BitmapFont to 1.3.4
see #2716
2021-04-16 12:49:30 +10:00
adelikat eb4b3a1f82 Tastudio - open edit marker pop up when double clicking a marker 2021-04-15 21:04:29 -05:00
adelikat a95c4f1820 fix TAStudio auto-loading, broken by ec5e88c8 (regression introducted in 2.6) 2021-04-15 20:57:11 -05:00
YoshiRulz 652b38d04c
Check-in ReflectionCache assembly instead of including in build 2021-04-14 10:44:46 +10:00
adelikat b1f2ec77fb default bsnes core to 1 controller (didn't test this since latest master doesn't compile) 2021-04-13 18:14:31 -05:00
YoshiRulz 65d5e3f7d5
Move NymaTypes to separate project, fiddling w/ project structure 2021-04-09 17:49:07 +10:00
YoshiRulz a9e78488ac
Add remaining cores to CoreNames, manually changing Designer files 2021-04-09 14:14:59 +10:00
YoshiRulz fb1d507220
Clean up use of existing CoreNames consts 2021-04-09 14:14:59 +10:00
YoshiRulz 48bb5c24e6
Refactor MainForm.HandlePlatformMenus 2021-04-09 14:14:58 +10:00
YoshiRulz 553319ec95
Clean up "display name" stupidity
* removed CoreAttribute.DisplayName (using IEmulator.SystemId instead)
* fixed ToolManager checking for "(Experimental) " prefix on names of unreleased
cores in ToolAttribute.UnsupportedCores
* corrected display name of UZE sysID to "Uzebox" (was "uzem")
* disabled auto-generated accelerators (&A -> Alt+A) on "current system" menu in
MainForm menubar because they could conflict with hardcoded ones
2021-04-09 14:14:58 +10:00
YoshiRulz 193e9aa7dc
Put AviWriter and its imports (and usages) behind #if AVI_SUPPORT
for now it's defined even on Linux, try removing it in /src/MainSlnCommon.props
2021-04-08 17:33:46 +10:00
YoshiRulz 262fc72044
Move DisplaySurface and QuickBmpFile to EmuHawk 2021-04-08 16:59:32 +10:00
YoshiRulz 0bfe3cb6ab
Genericise SwappableDisplaySurfaceSet 2021-04-08 16:59:32 +10:00
YoshiRulz 85eedb39fd
Extract interface from DisplaySurface 2021-04-08 16:59:32 +10:00
YoshiRulz bd9ec3c57d
Convert static class QuickBmpFile to (empty) struct with interface 2021-04-08 16:59:32 +10:00
YoshiRulz 1aebbe9cd6
Add QuickBmpFile.LoadAuto helper 2021-04-08 16:59:32 +10:00
YoshiRulz 1f080be047
Extract byte swapping helpers from RomGame, cleanup, and add tests 2021-04-08 16:59:31 +10:00
YoshiRulz 214f024d86
Replace void* param in IGL.BindArrayData w/ IntPtr 2021-04-08 16:59:31 +10:00
YoshiRulz 3db06c4aa9
Remove unsafe keyword where unused or extraneous 2021-04-08 16:59:28 +10:00
YoshiRulz 4d47861296
Cleanup DisplayManager.ClearApiHawkSurfaces 2021-04-08 16:42:27 +10:00
YoshiRulz e25121bb79
Fix typo 2021-04-08 15:29:21 +10:00
YoshiRulz d32f7344ae
Fix RecordMovie having a broken layout on Linux 2021-04-08 09:24:12 +10:00
YoshiRulz 9e609271b9
Correct my claim re: axis bindings in comment and clarify some things 2021-04-05 17:06:50 +10:00
YoshiRulz 5209bc69a1
Fix location and namespace of CorePickerStabilityTests
oops
2021-04-05 17:06:49 +10:00
YoshiRulz d0a6817c1a
In FirmwareConfig, don't treat known-but-bad as good (resolves #2224) 2021-04-04 15:52:39 +10:00
YoshiRulz aab0dd582d
Fix compliance with SA1142 (don't access ValueTuple fields as ItemN) 2021-04-04 14:16:41 +10:00
YoshiRulz 26eaa22be2
Update StyleCop, migrate FxCop to NetAnalyzers (built-in) 2021-04-04 14:15:22 +10:00
YoshiRulz 55bf1d5f56
Reinstate assembly version check
made possible by #2697
2021-04-04 12:41:01 +10:00
YoshiRulz f204f4e367
Use a Source Generator for ReflectionCache classes 2021-04-04 12:41:01 +10:00
YoshiRulz 86dd250a73
Prevent copying BizHawk.Version assembly to output for real 2021-04-04 12:41:01 +10:00
YoshiRulz 56916fbbca
Add test to do sanity checking of core picker and default core prefs 2021-04-02 19:53:12 +10:00
YoshiRulz c5802e9154
Only use IReadOnlySet in .NET 5, ICollection for other targets
forgot AppVeyor compiles the test project for .NET Core 3.1
2021-04-02 19:52:51 +10:00
YoshiRulz 71cb9a8805
Add test to prevent adding unserializable types to Config 2021-04-02 17:29:13 +10:00
YoshiRulz 286727eb44
Make collection-typed fields readonly where possible
also I widened them all to the relevant interface

this was done with a naive regex replace, followed by reverting lines until all
the build errors were gone; the regex was something like
s@(public|internal|protected|private) ((?:List|Dictionary)<[^=\n{]+= )@$1
readonly I$2@g
2021-04-02 16:27:40 +10:00
YoshiRulz 5dd7a66120
Cleanup serialisation of test cases in CheatDecoderTests 2021-04-02 16:27:40 +10:00
YoshiRulz 3860199c52
Add ext. methods for calling List<T> methods on collection interfaces 2021-04-02 16:27:36 +10:00
feos 3ff0eb33db update mame to 0.230 2021-04-01 23:19:07 +03:00
YoshiRulz 1ffc0435b3
Remove haptics from ControllerDefinitionMerger (fixes #2690) 2021-04-01 09:22:06 +10:00
YoshiRulz ad1659eb68
Re-add Debug haptics channel to all cores, but only in Debug config 2021-04-01 09:18:16 +10:00
YoshiRulz cb88e98f39
Fix syntax error 2021-04-01 09:15:16 +10:00
CasualPokePlayer d308afa45c
clarify Gambatte sync settings (#2688) 2021-03-31 18:07:54 -05:00
Moritz Bender fc97e096a1
Add initial marker in frame 0 when loading older tasprojs (#2693)
else this would make the first created marker take slot 1 and be uneditable and undeletable, which isn't good
2021-03-31 18:07:22 -05:00
nattthebear b964cf9447 bear minium hacks to hapics to get broken cores working
affected were bsnes, snes9x, and neshawk
2021-03-31 17:50:31 -04:00
Moritz Bender 2a09345a7e
Microsoft and their zip library can get bent 2021-03-31 17:36:09 -04:00
YoshiRulz 53b3dccb12
Fix missing import 2021-03-31 08:36:21 +10:00
nattthebear a91fa2754e clean up names in zipstater
We were using some sort of special malformed non-path seperator character to stand in for the path seperator character in in the lump names, and then compensating for that brokenness when loading lumps.
On save, we were relying in our zip library compensating for the brokenness.
2021-03-30 17:47:50 -04:00
Moritz Bender 6c2b72dd8d
Fix some TAStudio branch view issues (#2686)
* Fix exception, scroll to branch on updating branch and fix #2645
* Make loadbranch hotkey deselect all but one branch
matches updatebranch behavior and fixes part of #2645
2021-03-30 23:33:45 +03:00
feos ca8c7a5427 break mame into subfiles 2021-03-30 23:26:41 +03:00
Moritz Bender 5743b0257d
Fix #2640 (#2687) 2021-03-30 13:51:28 -05:00
YoshiRulz 6f47492d95
Add haptics support to ControllerDefinition and the Controller stack
still no cores which support it, "Debug" is still hardcoded, still uses holding
Fast Forward hotkey to trigger
no idea how OverrideAdapter, or the IInputAdapters, or the Bk2/BkmController
will work, I've just thrown NotImplementedException from those
2021-03-30 10:06:26 +10:00
YoshiRulz bb3fddcb5f
Allow configuring "keybinds" for haptic feedback (see desc.)
Open `Config` > `Controllers...` with any rom loaded and go to the last tab.
A "Debug" virtual channel is hardcoded, and will be present on every core.
As with the previous commit, holding Fast Forward causes this channel to fire
and it will be passed through to a bound host gamepad.
The prescale slider works. Virtual channels with a player number prefix also
work, but the single "Debug" channel without a prefix is hardcoded.
Caveats: Reopening the config dialog doesn't load the host channel back into the
combobox. It will save to config correctly.
2021-03-29 17:43:31 +10:00
YoshiRulz 6102db0e68
Wire up host haptics, hold Fast Forward key to test
DirectInput works, OpenTK 3 doesn't seem to actually support it even though the
method is present and has documentation -_-
2021-03-29 10:03:55 +10:00
YoshiRulz bdfc54443f
Use props on GamePad/GamePad360 for pad prefixes 2021-03-29 10:03:50 +10:00
zeromus d02863e491 Merge branch 'master' of zeromus-github.com:/tasvideos/bizhawk 2021-03-28 15:24:39 -04:00
zeromus 23c0928107 stop using exceptions for flow control 2021-03-28 15:24:28 -04:00
zeromus 99c8e4e910 I dont think GuiAPI should use the ScreenLogicalOffsets this way. Cores should be using this entirely internally -- either adjusting what they fill the framebuffer with, or communicating further data for how to display a limited section of the framebuffer offset to DisplayManager via IVideoProvider or similar but NOT via this. So why does ScreenLogicalOffsets exist? So that scripts can alter that setting. This is actually NOT A GREAT IDEA if you ask me because the same could be done via general PutSettings APIs. nevertheless, that's what we have. So anyway, I dont think when drawing via script we really need this value inspected. 2021-03-28 15:22:42 -04:00
feos b89f14313e fix syntax 2021-03-28 20:59:12 +03:00
zeromus ac349af9f5 stop using exceptions for flow control 2021-03-28 03:44:52 -04:00
YoshiRulz 927a8970d6
Use a nicer loop syntax in MainForm.ProcessInput 2021-03-28 08:48:00 +10:00
YoshiRulz 77e9197bcc
Encapsulate MainForm.ProcessInput to not use Controllers/InputManager 2021-03-28 08:48:00 +10:00
YoshiRulz 095de11f00
Inline Controller.NormalizeAxes and cleanup 2021-03-28 08:48:00 +10:00
YoshiRulz 04257ec676
Resolve TODO in Controller.NormalizeAxes
_axes and _axisRanges have the same keys, and should probably be one dict,
and _axisBindings has the same keys or a subset
2021-03-28 08:47:57 +10:00
YoshiRulz b6f1afcce8
Enable nullable reference types in BizInvoke 2021-03-26 14:52:56 +10:00
YoshiRulz 23d8417ca8
Convert ParameterLoadInfo to a readonly struct 2021-03-26 14:52:55 +10:00
YoshiRulz d43d8fc38c
Improve encapsulation of InvokerImpl 2021-03-26 14:52:55 +10:00
YoshiRulz a6f1156012
Throw ObjectDisposedException from MemoryBlock methods after disposed 2021-03-26 14:52:55 +10:00
YoshiRulz fabf518c73
Narrow constraint on generic GetDelegateForFunctionPointer ext. method 2021-03-26 14:52:55 +10:00
YoshiRulz cbd875376e
Add and use FirstOrNull ext. method for collections of value types
This reverts commit 5567a42bb1.
2021-03-26 11:26:52 +10:00
zeromus 5567a42bb1 don't depend on exceptions for flow control 2021-03-25 21:13:11 -04:00
YoshiRulz c6dcb71d92
Remove goto from PCESoundDebugger.UpdateAfter 2021-03-26 10:43:20 +10:00
YoshiRulz 5daed21990
Remove goto from FilterProgram.Compile 2021-03-26 10:41:11 +10:00
YoshiRulz 40a0abc657
Replace Dictionary with List of ValueTuple in ArtManager
it was only used as a List of KeyValuePair anyway
I assume this was written before tuples
2021-03-25 19:31:56 +10:00
YoshiRulz e9ce42bfe0
Remove the other goto from TexAtlas.PackAtlas 2021-03-25 19:20:21 +10:00
YoshiRulz 997df16487
Remove a goto from TexAtlas.PackAtlas 2021-03-25 19:20:21 +10:00
YoshiRulz 89c1406f5a
Minor refactorings in TexAtlas.PackAtlas 2021-03-25 19:20:21 +10:00
YoshiRulz fc30b0bd26
Replace TexAtlas.PackedAtlasResults with List of ValueTuple 2021-03-25 19:20:18 +10:00
YoshiRulz 98c7db0274
Fix typo in TexAtlas.PackAtlas
This has been here since it was added in a2ba761ae. I think it's never caused
problems because the two lists are the same in all cases where the method's
result is used (the single caller, ArtManager.Close, immediately checks the
result of this method and throws if multiple atlases are used).
2021-03-25 18:58:22 +10:00
YoshiRulz 3da01dbfce
Init LuaFileList/LuaFunctionList outside platform impl. and pass in
now init'ing the lists at construction instead of mutating them afterwards
2021-03-25 16:02:22 +10:00
YoshiRulz ddef661eb2
Move attaching of callbacks from LuaConsole_Load to Restart
Y'know, where the thing they're being passed to is created... I don't think them
only being attached once was a problem, as one is also called from elsewhere and
the other is kinda useless
2021-03-25 15:43:20 +10:00
YoshiRulz f7cacfab99
Inline methods from LuaFunctionListExtensions and cleanup 2021-03-25 15:20:47 +10:00
YoshiRulz 3b8f08b1b0
Create and use helper for changing core pref. when importing movies 2021-03-25 15:11:04 +10:00
YoshiRulz 3249ae202e
Pass MainForm as IDialogParent through to movie importers 2021-03-25 15:11:04 +10:00
YoshiRulz 2fad61e4b5
Don't set preferred core for GBA when importing .vbm, there's only one
this wasn't removed when we dropped VBA-Next
2021-03-25 15:11:04 +10:00
zeromus b1602dae06 lua - actually send a comprehensible string over sockets instead of nonsense 2021-03-24 02:51:43 -04:00
James Groom f5d21a8f68
Unification of modal dialogs for errors and such (#2579)
* Pass IDialogParent to IVideoWriter impls via ctor instead of param

* Refactor IDialogController/Parent, moving some of it to Client.Common

tl;dr: MessageBoxButtons.OK => ShowMessageBox/ModalMessageBox,
MessageBoxButtons.YesNo or .OKCancel => ShowMessageBox2/ModalMessageBox2,
MessageBoxButtons.YesNoCancel => ShowMessageBox3/ModalMessageBox3.

Possible breaking change: Cheats had `Owner ?? this` as its "self", which I
think parented any modals it opened to MainForm instead of the Cheats window.
The Cheats window will be their parent now regardless. Other than that, all the
icons and stuff for all the other dialogs should be exactly the same.

* Remove WinForms dep from AV classes where possible

* Cleanup CoreFileProvider init, passing MainForm as IDialogParent

* Pass MainForm as IDialogParent to MovieSession

* Pass IDialogController through to one MovieZone ctor

* Use MessageBox helpers in RecordMovie

* Implement IDialogParent on misc. Forms to use MessageBox helpers

* Use MessageBox helper in misc. config Forms

* Pass IDialogController through to misc. Forms for MessageBox helpers
2021-03-23 19:08:32 -05:00
feos fbfbda65ad update mame lua api 2021-03-22 20:12:18 +03:00
zeromus c252ac2934 blind fix to lua socket receive string which supports embedded nulls and probably fixes rarer cases where long codepoints got broken up. re #2671 2021-03-21 21:28:39 -04:00
YoshiRulz fafa29a2bf
Add Lua function comm.socketServerSendBytes (resolves #2194)
takes a single param of an array-like table, casts each element to byte before
passing to ApiHawk
2021-03-22 08:15:53 +10:00
YoshiRulz 45488f2667
Change encoding for sockets to UTF-8, allow ext. tools to override it 2021-03-22 08:11:42 +10:00
nattthebear f08fdc3859 Fix aspect ratio of intellivision
What the fuck was this?  Someone went to the effort of entering in a value but expended absolutely no effort in checking it?  Oh well.  Fixes #2670.
2021-03-21 09:43:26 -04:00
adelikat 0a643af6df Hex Editor .tbl file loading - clear table before loading a new one, ignore empty lines in file 2021-03-20 22:45:20 -05:00
YoshiRulz 611d1bfaa1
Use UIHelper in FormsLuaLibrary (resolves #2604) 2021-03-21 08:23:31 +10:00
nattthebear 62ddd6495e
Tweak the rewinder. (#2668)
MainForm intentionally frame advances right after rewinding; this is so it can capture a new framebuffer. The old rewinder sort-of understood this, the new one does not.

Tweak the logic so the new rewinder behaves like the old one, but only when the interval is 1. When the interval is greater than 1, don't go farther back than we have to.

No particular behavior is guaranteed when nonlinear time exists (ie, rewinding through manual loadstates).

Fixes #2667.
2021-03-20 12:05:19 -04:00
YoshiRulz f0b9e2e828
Make PathEntry sealed, add constructor and use in PathEntryCollection 2021-03-19 10:33:10 +10:00
YoshiRulz 0b5f48aede
Replace some parameter mutation w/ recursion 2021-03-19 10:33:10 +10:00
YoshiRulz c5e84ff02e Create new project Bizware.OpenTK3 from Bizware.BizwareGL and EmuHawk 2021-03-19 07:32:29 +10:00
YoshiRulz b1af3b1940 Move interface IBlendState to own file 2021-03-19 07:32:29 +10:00
YoshiRulz f36fc654ca Copy vector and matrix structs from OpenTK and cleanup
I managed to trim the > 5000 LOC of the original 4 files down to 400 LOC \o/
2021-03-19 07:32:29 +10:00
YoshiRulz 337b054042 "Inline" some vector and matrix operations 2021-03-19 07:32:29 +10:00
YoshiRulz 3dd03495e2 Copy enums from OpenTK 2021-03-19 07:32:29 +10:00
YoshiRulz 4a0e343c37 Copy DegreesToRadians method from OpenTK.MathHelper 2021-03-19 07:32:29 +10:00
YoshiRulz 7ff70de159 Split IGL.TexParameter2d into two methods 2021-03-19 07:32:29 +10:00
YoshiRulz 6fc43e9c22 Remove unused class BizwareGLExtensions 2021-03-19 07:32:29 +10:00
nattthebear 90d0e21863
Probably fix SNES core crash on load with CDL enabled, or formerly enabled. (#2662) 2021-03-12 23:33:59 +03:00
James Groom 43ba7f94dc
Fix SMSHawk's system ID (#2650) 2021-03-09 19:18:25 -06:00
zeromus 6f04ff6252 partly fix #2656, I guess. This was a shortcoming in the architecture that allowed the joypad API developers to make a mistake. There will be other fallout from that, but this is the minimal fix. 2021-03-06 19:57:49 -05:00
YoshiRulz 3fb35b1599
Re-add enable/disable behaviour to background input config checkboxes
erroneously removed in 74ba28146 CBB linking the whole commit and revert history
2021-03-05 03:09:29 +10:00
YoshiRulz 513dbcfe5c
Fix compilation of DBMan ext. tool 2021-03-04 20:14:59 +10:00
YoshiRulz 6afb3be98c
Rewrite some expressions to avoid type checker edge cases 2021-03-04 20:11:18 +10:00
TiKevin83 28241e3042 fix autodetection of console mode 2021-03-04 02:04:45 -05: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 2affc5bca7
Remove .\ and ..\ from PathConfig autocomplete
-_- this has been annoying me since I started contributing and I only just
learned the cause was in our codebase
2021-02-26 20:13:24 +10:00
YoshiRulz e7512e57a0
Use global lookup for display names in path config 2021-02-26 20:07:34 +10:00
YoshiRulz 0e4e9a2840
Refactor PathConfig.DoTabs and helpers 2021-02-26 20:07:34 +10:00
YoshiRulz b14ed4966f
Cleanup PathEntryCollection ctors, remove unused method Add 2021-02-26 20:07:34 +10:00
YoshiRulz 0fb9ef77e6
Less dumb #if DEBUG for ZX submenu 2021-02-25 16:59:46 +10:00
YoshiRulz fece6cf7c4
Cleanup system IDs (see desc.)
* `Game Gear` was used instead of `GGL` for linked GG multi-disk bundles and
core constructor (I assume the latter was a hack to fix loading bundles made
with the former bug in effect)
* `Arcade` was used instead of `MAME` in rom loading ("Arcade" is also assigned
to an out param in the MAME ctor but I assume that's an intentional placeholder)
* `Saturn` was used instead of `SAT` in `GameSharkDecoder.CheatDomainName`,
making it non-functional (a comment said it was probably incorrect, so I'm
assuming that if it runs something will break and putting it in #if false)
* `G7400` was only used in firmware IDs, replaced with `O2`
* `Vectrex` was only used in firmware IDs, replaced with `VEC`
* `uzem` (core name) was used instead of `UZE` for MainForm title lookup, making
it non-functional
* `DNGP` doesn't exist
2021-02-25 16:45:55 +10:00
YoshiRulz c11d410fb7
Remove IEmuClientApi.Get/SetInput and supporting types, and cleanup
what's a deprecation cycle
also -1k LOC whoo
2021-02-25 16:13:41 +10:00