Commit Graph

4454 Commits

Author SHA1 Message Date
CasualPokePlayer 9fe5b316b3 Adjust Saturnus's settings for core updates 2024-11-14 01:39:41 -08:00
CasualPokePlayer a8d86e7af0 Mark PSX on PSP BIOS files as unacceptable
Policy here is non-3.0 BIOS files are unacceptable: they aren't what mednafen is expecting
2024-11-14 00:11:44 -08:00
Morilli 926a88b11a fix axis value editing logic in TAStudio
- closes #4115

specifically allow typing without immediately clamping to the min value when the user isn't finished
2024-11-13 13:23:54 +01:00
Morilli 7477aa3359 Fix saturnus setting overrides
- fixes #4114
2024-11-13 11:10:19 +01:00
CasualPokePlayer c44a3a6b67 Fix 3DS hasher bug 2024-11-13 01:08:44 -08:00
CasualPokePlayer ab4cb30011 Implement hashing for 3DS roms
TODO: Add gamedb entries
2024-11-13 00:12:16 -08:00
YoshiRulz 699fc8d198
Move `Bk2MnemonicLookup` to `BizHawk.Emulation.Common`
fixes a0800862b (PR #3782)
2024-11-13 16:15:02 +10:00
YoshiRulz f9d3d91d34
Fix width for SNES Action Replay cheatcode decoder, add test case 2024-11-12 02:41:17 +10:00
YoshiRulz ae6ff1dac9
Fix SNES Action Replay cheatcode decoder
seems to be a typo from d0db4188d3
(4bfb4ab00/#1867)
2024-11-12 01:54:05 +10:00
Morilli acb14cf07d fix middle mouse button input bind
half the code was using `WMouse M`, the other `WMouse C`. I think `WMouse M` makes the most sense.
2024-11-11 02:47:05 +01:00
CasualPokePlayer b0540bf6d2 Change axis button thresholds
See #4108
2024-11-08 15:57:00 -08:00
CasualPokePlayer 411959e399 Add an IV for string encryption 2024-11-08 15:56:59 -08:00
feos 4c3b59c39c puae: fix something 2024-11-08 20:28:53 +03:00
feos e501d10804 puae: controller config somewhat works 2024-11-08 19:45:38 +03:00
CasualPokePlayer 8f1b647504 Add 3DS to MultiDiskBundler system options 2024-11-07 15:03:27 -08:00
YoshiRulz f2841f7849
Remove explicit check for NixOS distro which is no longer necessary
confirmed fixed by fe500ef61
2024-11-08 06:35:57 +10:00
feos a2d401d670 puae: wip 2024-11-07 23:25:50 +03:00
YoshiRulz 9fd58a766a
Use `FrozenDictionary` for `Database`
In a simple benchmark of calling `Database.CheckDatabase` 5x 10M times
(small edit on top of `BIZHAWKBUILD_RUN_ONLY_GAMEDB_INIT`),
median runtime was 46.1s w/ `Dictionary`, 44.0s w/ `FrozenDictionary`
(isolated to only swapping out the collection type used at the end of
`InitializeWork`, *not* a before/after comparison on this changeset,
also this was in Release config).
FWIW, the parse/load time increased from 0.38s to 0.74s
(again median of 5 runs in Release config, and this was a before/after
of this whole changeset).
2024-11-08 02:29:59 +10:00
CasualPokePlayer fe500ef61b explicitly unload GL library when falling back to GLX 2024-11-06 22:30:25 -08:00
YoshiRulz 4e4377f0e9
Remove unused imports
fixes 869bef498
2024-11-07 10:05:20 +10:00
feos 7c88dba814 puae: fix crash 2024-11-07 00:08:19 +03:00
feos 869bef4989 puae: controller config wip 2024-11-06 20:56:22 +03:00
YoshiRulz 6b2d2cb646
Change label of Trace Logger's toggle button 2024-11-05 20:21:00 +10:00
CasualPokePlayer 6853439075 Improve string encryption 2024-11-05 00:59:03 -08:00
CasualPokePlayer c9bed01b13 Do basic "protection" against RA api tokens in the config 2024-11-03 23:39:42 -08:00
CasualPokePlayer f4d5db5693 Make sure RAIntegration uses our user agent versioning 2024-11-03 19:37:50 -08:00
CasualPokePlayer 2cdf1e99bf Fix cue file resolving
fixes e893e3a1ff
2024-11-03 06:47:45 -08:00
CasualPokePlayer 666139f8e9 Fix TIC80 schema 2024-11-01 15:34:37 -07:00
CasualPokePlayer 6578c852a1 replace most SDL_SetHint calls with SDL_SetHintWithPriority
ensures calls actually do something and won't be ignored due to env vars
2024-10-30 08:18:23 -07:00
CasualPokePlayer 9f3630cbce Print out exception from opengl version check failure 2024-10-30 01:12:40 -07:00
CasualPokePlayer cdbb96dfdb set C64 retroachievements memory to RAM rather than System Bus 2024-10-29 06:50:06 -07:00
CasualPokePlayer 78cc5393e4 use FileData, not RomData for NDS
homebrew roms unpadded might be misdetected as having a ""header"" and have the first 512 bytes removed for RomData
2024-10-28 22:29:41 -07:00
YoshiRulz 0bf59347be
Fix Windows 10 LTSC incorrectly being marked as EOL
clever hack, no?
2024-10-28 12:32:03 +10:00
YoshiRulz a8b8fb39ab
Clean up Windows version detection, now flagging Win11 21H2 2024-10-28 12:31:50 +10:00
Morilli f32277ebd6 attempt to fix fm2 import
This will now add reset and power buttons if fourscore is used (pretty sure not doing that was a bug as per comment) and ignore port0 and port1 values if fourscore is set as per movie format documentation.
2024-10-27 18:11:38 +01:00
YoshiRulz 7a1ceaf417
s/firmwares/firmware/ in comments 2024-10-27 02:16:56 +10:00
YoshiRulz f1d71cc914
s/firmwares/firmware/ in `MainForm` member identifiers 2024-10-27 02:16:56 +10:00
YoshiRulz 9b146b24ea
Rename `FirmwareConfig{,Info}.cs` to match type names 2024-10-27 02:16:56 +10:00
YoshiRulz 74e46227f5
Rename `FirmwaresConfig{,Info}` to `FirmwareConfig{,Info}` 2024-10-27 02:16:55 +10:00
YoshiRulz 03b1d353a7
s/firmwares/firmware/ in `FirmwaresConfig` member identifiers 2024-10-27 02:16:55 +10:00
YoshiRulz 02bf292a85
s/firmwares/firmware/ in `PathEntryCollection` 2024-10-27 02:16:55 +10:00
YoshiRulz eee34dd69a
s/firmwares/firmwareIDMap/ in Nyma core init methods 2024-10-27 02:16:55 +10:00
YoshiRulz 6955ad3591
s/firmwares/firmware/ in strings 2024-10-27 02:16:55 +10:00
YoshiRulz ab1f002481
Clarify dropdown options in Record Movie dialog 2024-10-26 02:33:00 +10:00
feos 90287b3396 puae: support region changes
by user at the start and by the game on the fly
todo: ntsc par (pal par is 1:1)
2024-10-25 01:17:52 +03:00
feos 703955fcd7 puae: block some unsupported images, reduce heap sizes 2024-10-24 21:47:50 +03:00
Asnivor 52f4f7426c [A7800Hawk] Make ProLine controller default for the core. Fixes #3895 2024-10-24 14:24:33 +01:00
Asnivor b3426624f7 [ChannelFHawk] Some code tidy 2024-10-24 13:49:27 +01:00
Asnivor 9c322f8967 [ChannelFHawk] More sensible viewport trimming and set default viewport to AllVisible 2024-10-24 13:32:38 +01:00
Asnivor e0264ed102 [ChannelFHawk] ICodeDataLogger 2024-10-24 12:27:46 +01:00
YoshiRulz 4c69ce4e27
Avoid `string.Split` in `Database.InitializeWork`
On my machine (Mono) in Release config, this reduces the number of
string- and char-arrays allocated by an order of magnitude,
bringing the gamedb's total bytes allocated down by -10%.
2024-10-24 06:31:44 +10:00
YoshiRulz 6f3fd9740e
Add setup for profiling gamedb
simply build with
`-p:MachineExtraCompilationFlag=BIZHAWKBUILD_RUN_ONLY_GAMEDB_INIT`
2024-10-24 06:31:44 +10:00
YoshiRulz 4678d90646
Extract method from `Database.InitializeWork`, clean up, and add test 2024-10-24 06:31:44 +10:00
YoshiRulz 9ce3771e85
Move gamedb init before single-instance check 2024-10-24 04:27:30 +10:00
feos 09a39a5630 puae: dependent upon 2024-10-23 19:10:24 +03:00
YoshiRulz 9acdcdbcf7
Restore `BitmapBuffer.AsSpan` and add `AggressiveInlining`
fixes 9a5a75e5b and 7ab2ca6b8
2024-10-21 17:44:58 +10:00
Morilli 4f82b30370 cleanup some SequenceEqual related code 2024-10-20 21:24:24 +02:00
Morilli b7b8788354 Optimize ZwinderStateManger.GetStateClosestToFrame
AllStates() sorted the returned states, but this order was not used anywhere else, so I've removed it. GetStateClosestToFrame is solvable in O(n), so sorting is not required there either.

This is an O(n log(n)) -> O(n) improvement that is mostly relevant for the state history integrity checker
2024-10-20 16:56:47 +02:00
Morilli 7ab2ca6b89 Add SequenceEqual extension to prevent linq usage
this speeds up the state history integrity check by about an order of magnitude
2024-10-20 14:00:11 +02:00
YoshiRulz 1dbd7356eb
Fill in Stella upstream version 2024-10-20 05:35:42 +10:00
Morilli 8dee116d77 fix watch combo boxes being cut off 2024-10-19 11:29:20 +02:00
Morilli 59c8125241 some WatchEditor code style 2024-10-19 11:29:01 +02:00
CasualPokePlayer c954e8c189 Do encrypted DS rom detection better 2024-10-18 20:41:13 -07:00
CasualPokePlayer 2ddfc5f172 Add more NDS extensions
srl -> "official" DS rom extension (generally found in prototypes etc)
dsi -> used for DSi only games
ids -> used for iQue DS games

upstream handles all these rom extensions already
2024-10-18 18:03:04 -07:00
CasualPokePlayer 593e7c125b force real bios file usage if an encrypted DS rom is used 2024-10-18 13:47:15 -07:00
CasualPokePlayer 64d55404ba Add more invisible heap for melonDS 2024-10-18 13:47:15 -07:00
YoshiRulz a3901f66e5
Add Analyzer to require `class`/`struct` keyword on records
fixes eef190d33, e8c957a7a, and c68dd703d
2024-10-19 04:53:35 +10:00
Morilli c68dd703dc implement dirty checking for N64 settings 2024-10-18 13:28:25 +02:00
Asnivor 13584ceb62 [ZXHawk] Remove ParseDisk() track limit
This fixes 3D Construction Kit and potentially other dsk games with more than 42 tracks on disc.
The +3 disc drive may only be able to read 41-ish tracks of standard sized data, but it appears many images have more tracks than this. 3D construction kit for example has 45 tracks in what passes for the TOC, but the last 5 of these are empty.
2024-10-18 11:04:20 +01:00
Morilli f748f93764 simplify GetModChecksum256 2024-10-18 04:10:00 +02:00
Asnivor 7d68a0b017 Fix DSKIdentifier ModChecksum function
This never worked. Will probably fix a whole bunch of core-selection issues (including ones listed here: https://tasvideos.org/HomePages/CloakTheLurker/ZXHawk)
2024-10-17 17:47:38 +01:00
CasualPokePlayer ce3af37b24 Fix off by 1 in PSX RetroAchievements disc hashing 2024-10-16 17:39:48 -07:00
CasualPokePlayer 0105caee6e Do PSX RetroAchievements hashing subdirectory handling better 2024-10-16 17:24:55 -07:00
CasualPokePlayer 09d72bf34f Do RetroAchievements PSX hashing better
Make sure to scan entire directory record (some games seem to end up ending the search early with the old code)
Find "BOOT = cdrom:" with any variable amount of whitespace
2024-10-16 16:14:27 -07:00
CasualPokePlayer a325119362 Add a new DiscSectorReader policy: inspect the sector, but assume mode 2 form is 1
This behavior "needed" for rcheevo hashing to work, since a few games (e.g. `Chinmoku no Kantai - The Silent Service (Japan)`, maybe others) have mode 2 form 2 sectors for the exe (for some reason)
2024-10-16 12:59:55 -07:00
CasualPokePlayer 2c2c2e9ee8 buf2442 -> buf2448
It's not a 2442 byte buffer
2024-10-16 12:46:32 -07:00
CasualPokePlayer b7e57db84f Fix RCTrack sector reads
It appears rcheevos expects user data, not raw sector data
2024-10-15 16:47:46 -07:00
Morilli 6582431d4c fix loading active tasproj into TAStudio
- fixes a43a64b899
- closes #4091
2024-10-15 18:59:27 +02:00
Asnivor 85a7d3474b Identify correct core for IPF image
Obviously we don't support IPF images right now, but with any luck we will eventually. So it makes sense to have something in place in the frontend to do core selection (when a gamedb hash is not found) based on the INFO block within the IPF file itself.
2024-10-15 17:27:05 +01:00
CasualPokePlayer cef4f10ed8 update comment for previous commit too 2024-10-14 23:55:17 -07:00
CasualPokePlayer c703b5f6a2 Don't immediately change buffer width/height for melonDS video buffer reallocation
They'll get changed later anyways
2024-10-14 23:54:02 -07:00
CasualPokePlayer 670eaf346a Allocate melonDS's video buffer according to effective gl scaling
resolves #4090
2024-10-14 23:51:49 -07:00
prenoeg e77a036e0e
Fixes for PlayStation RetroAchievements hashing (#4085)
* Fixed RA hash for PlayStation games when BOOT line contains tabs where spaces are expected.

* Fixed RA hash and prevented infinite loop when PlayStation executable is in subdirectory.
2024-10-14 19:53:29 -07:00
ASNiVOR 62abee4813 [CPCHawk] Small CRTC1 changes 2024-10-14 21:07:17 +01:00
YoshiRulz 478fc58a5d
Fix overlapping buttons in Virtual Pads on Linux 2024-10-14 18:13:48 +10:00
feos a08cb73a30
order firmware groups in the dialog and in the code (#4087)
there's some discrepancy between the 2 orders, because the GUI list relies on full names (of the groups) while in the code short names are used to add them to DB
2024-10-14 09:56:45 +03:00
CasualPokePlayer 77d19e0fed Try to avoid overly sensitive mice from unhiding the autohidden cursor, hide the cursor better for Windows 2024-10-11 18:33:26 -07:00
Asnivor 95cf257d96 [CPCHawk] New CRTC1 impl. 2024-10-11 16:01:00 +01:00
CasualPokePlayer e1820081ee Update rcheevos to v11.6.0 2024-10-10 21:35:28 -07:00
Morilli c190ceb7f2 persist TAStudio max undo levels to config
- resolves #3478
2024-10-10 20:57:25 +02:00
Morilli 4b60a90c78 Remove no-op in tasmovie max undo steps setting
lol
2024-10-10 20:50:38 +02:00
Morilli c844379bd6 Always render video when at end of turbo seek
- resolves #2081

This is only noticable on cores that implement (video) frame skip.
2024-10-10 04:24:31 +02:00
CasualPokePlayer ed10275033 Don't use Thread.Join() in NDS Dispose()
resolves #3220
2024-10-09 18:10:37 -07:00
Asnivor c64822680c [CPCHawk] Some CRTC code tidy 2024-10-09 09:16:56 +01:00
Asnivor ac25842689 [CPCHawk] FloohZ80 Fix interrupt tracelogger reporting 2024-10-09 08:26:26 +01:00
Morilli be5ac88677 make CI happy 2024-10-09 07:32:27 +02:00
YoshiRulz 57e60453f6
Fix typo
fixes d8778aa23
2024-10-09 14:30:48 +10:00
YoshiRulz d8778aa232
Split PSX (Nymashock) rumble channel into left and right 2024-10-09 14:26:10 +10:00
YoshiRulz eb3ab3f05a
Better fix for haptics/feedback prescale
fixes c36b654eb
2024-10-09 14:25:46 +10:00
YoshiRulz c36b654eb9
Fix interger overflow from setting haptics/feedback prescale above 1x 2024-10-09 14:13:21 +10:00