Commit Graph

22144 Commits

Author SHA1 Message Date
feos c5807662b6 uae: a game requiring empty input port found
see #4213
2025-02-08 14:46:21 +03:00
Sergio Martin bd58dd1d95
QuickerNES NES 2.0 header read fix (squashed PR #4211)
* Integrating NES2.0 cart loading fixes

* Adding windows dll

* Update bizinterface.cpp according to Morilli's recommendation
2025-02-08 05:11:33 +10:00
feos 47089a3f02 uae: don;t build debug 2025-02-06 20:17:23 +03:00
feos 74fcbc28eb uae: include more scanlines into image
fixes #4204

RANT TIME

visible area is largely nonsense when it comes to CRT TVs, because they may cover different amounts of the screen based on model, and you can adjust some of them also based on model to show more or less of it.

4:3 aspect ratio is also somewhat nonsense because TVs don't automatically rescale your video input to the entire screen like modern computers do. they just stretch or shrink it based on pixel frequency of the input and how it relates to whatever the given TV is configured to.

Rec601 was created in order to somewhat standardize this but it only contained RECOMMENDATIONS (hence the name) on how to digitize analog video, not how analog devices should be configured. so a lot of TVs looked different from what it would be digitized to based on this spec.

in gaming it's a common misconception that console output is meant to be resized to 4:3 DAR of the TV. in reality it's stretched according to PAR - pixel shape which comes from differences between color frequency of the input and standard NTSC or PAL color frequency.

if the console updates color more often than the standard, analog signal with higher pixel density will be put on the screen as is, and pixel will look "squished", sometimes up to 2x for 512px resolution modes (PS1). if the console updates color rarer, pixels will look stretched (A2600).

Amiga PAL mode has 1:1 PAR, no stretching is needed, so whatever aspect we're outputting will just go to encodes as is. NTSC Amiga PAR is 6:7, so we're shrinking a bit in encodes and when hawk is configured to device aspect.

this all means that it doesn't matter how many pixels we take of the rendered image, all we care about is stretching it to proper PAR. whether it contains overscan only affects fullscreen because extra blank area means less of useful data. and since some exceptional games decide to render AT THE VERY BOTTOM there's little to no harm in showing all 574 rendered scanlines. who hates it and wants 568 can crop it, but I don't expect anyone to care (or even notice).

so while nominal internal res for Amiga is 576 and canonical UAE default is 568 (tho it lets you adjust visible area and we don't), I think we can safely output our heretical number at all times.
2025-02-06 19:43:32 +03:00
CasualPokePlayer 08266f9450 update comment
fixes previous commit
2025-02-05 23:08:24 -08:00
CasualPokePlayer 1f276242ec Fix usage of BizHawk within a folder with a semicolon in it
Semicolons are perfectly valid for path names, but windows disallows dll paths to contain such (presumingly internally using them as path separators like with PATH env var)
A workaround for this is to simply use the "short name path" instead, which does not have a semicolon (but these names aren't guaranteed to exist, and in certain cases if they don't,GetShortPathNameW will just return the long name back, so semicolon still needs to be rechecked)
2025-02-05 22:53:16 -08:00
YoshiRulz f382ec7590
Update testroms project docs to reflect TFM change
fixes 9fb98ef5e
see 66e6aa7eb
2025-02-04 20:54:01 +10:00
YoshiRulz 924b5c7fae
Update `DummyFrontend` for `CoreComm` signature change
fixes ddd14d527
2025-02-04 17:31:01 +10:00
YoshiRulz 756c79fb60
Clean up HelloWorld sample 2025-02-01 14:57:11 +10:00
YoshiRulz de1a7b1e30
Use `SpecialType` where possible in BizHawk.Analyzer 2025-01-31 17:52:49 +10:00
YoshiRulz ae97d1f49d
Remove unused class `CoreInventory.Core.RomGameFake` 2025-01-31 14:51:50 +10:00
YoshiRulz cc0f1417f1
Enable a bunch of Analyzer rules re: `.Count()`/`.Any()` and fix cases 2025-01-31 14:49:41 +10:00
YoshiRulz adcbc8a030
Fix some redundant length checks around `foreach` 2025-01-31 14:49:41 +10:00
YoshiRulz 2874ce14c8
Reduce intendation in a couple methods on `BreakpointControl` 2025-01-31 14:49:41 +10:00
YoshiRulz d56413bfb1
Extract a couple helper props in `HexEditor` and clean up 2025-01-31 14:49:41 +10:00
YoshiRulz 6ec2f0c49f
Enable RCS1156 and fix noncompliance
"Use string.Length instead of comparison with empty string"
inb4 this introduces an NRE somewhere
2025-01-31 14:49:40 +10:00
YoshiRulz af32948756
Add Analyzer to warn about LINQ calls on string receivers 2025-01-31 14:49:40 +10:00
SaxxonPike 0bb940ea7a [C64] Disk: 1541 drive saveram now works properly when rewind is disabled
[C64] Disk: Use raw track capacity values per the G64 file format specification, should fix some disk loaders that are expecting data not to be so sparse (Spindle demos in D64 format particularly)
[C64] Disk: fix 1541 drive address decodes
[C64] VIA: 6522 core facelift, shift register and use of low-order timer latches implemented, should fix some disk loaders ("Sprite B*****e 2" demo plays, yes they called it that, and it's not what it sounds like)
[C64] CIA: fix PB6/PB7 outputs when enabled on CRA/CRB
2025-01-30 12:43:58 +10:00
Tony Konzel 4a48d945c7
[6502] Pass Lorenz C64 tests (squashed PR #4177)
* [6502] Pass Lorenz C64 tests

* [C64] make sure the 1541 drive uses the same 6502 undocumented behavior as the main CPU

* [6502] Use field instead of delegate for ANE/LXA system constants
2025-01-30 12:43:48 +10:00
YoshiRulz 87ffdb5cd2
Fix typo
fixes 12cd7885e
good catch by Morilli
2025-01-30 12:42:43 +10:00
Morilli 504b2d57f2 fix lua autocompletions missing
fixes ea810cb89b
2025-01-29 16:27:06 +01:00
Morilli 0681dd2590 set proper libretro game data
- closes #4202
2025-01-29 16:15:19 +01:00
YoshiRulz c934e6b5d1
Memoise reflection in `HeaderKeys.Contains`
only used for `.bkm` anyway
2025-01-29 23:11:09 +10:00
YoshiRulz fe7ecceb64
Enable RCS1043 and fix noncompliance
"Remove 'partial' modifier from type with a single part"
2025-01-29 22:29:59 +10:00
YoshiRulz 8332a6bd5e
Add `Roslynator.Analyzers` 2025-01-29 22:16:49 +10:00
YoshiRulz 12cd7885ec
Enable CA1862 and fix noncompliance
"Use the 'StringComparison' method overloads to perform case-insensitive
string comparisons"
2025-01-29 22:11:54 +10:00
YoshiRulz 96207e80ea
Extract some extensions for string `OrdinalIgnoreCase` comparisons
`Contains`/`Equals`/`StartsWith`
refactored a few call-sites while I was at it
2025-01-29 21:51:21 +10:00
YoshiRulz a9fd86689e
Replace `InvariantCultureIgnoreCase` str. cmps. w/ `OrdinalIgnoreCase`
doesn't matter for ASCII-only strings, and `InvariantCultureIgnoreCase`
is arguably correct in some circumstances, but IMO it's more foolproof
to simply ban it
2025-01-29 21:48:33 +10:00
YoshiRulz 5f29b50940
Fix indentation in `SpectrumBase.Media.cs` 2025-01-29 21:47:28 +10:00
YoshiRulz 45581b2370
Fix loading discs for systems we don't emulate when it's for Libretro
fixes d9da3cfa6
(...since the Libretro core may emulate any system, and the intent here
was always to just pass the file through)
2025-01-29 12:12:56 +10:00
Morilli 1f53cec80b fix AdjustDescriptionHeightToFit calculation
- closes #3962
2025-01-28 21:41:23 +01:00
Morilli 26ef1ac2af improve SDLResampler
this distorts audio less when muting the stream for a while + general cleanup
2025-01-27 17:47:57 +01:00
YoshiRulz 032dea62d6
Update core port request template to use new label+type, and fix typo 2025-01-27 06:42:20 +10:00
Morilli cc45a6ec2d improve GetProcAddrOrThrow/LoadOrThrow error messages 2025-01-24 10:57:15 +01:00
YoshiRulz 83098604fa
Set `MONO_THREADS_SUSPEND=preemptive`
see #4117
2025-01-23 05:32:54 +10:00
feos 146e297a94 tastudio: position restore logic was missing when drawing analog 2025-01-19 21:35:43 +03:00
feos fe13b85d17 tastudio: nuke NewTASMenuItem accelerator
fixes #3376
2025-01-19 20:49:35 +03:00
YoshiRulz 4c3ea14efc
Allow empty string (for "recent") in `MainForm.SanitiseForFileDialog`
fixes 1cee9dff6
2025-01-20 02:09:14 +10:00
feos 8310e5420c Revert "fix wrong pause in AutoAdjustInput()"
This reverts commit b2f3bb3cba.

Revert "fix removing everything"
This reverts commit a0da874431.

YEP. this "feature" is COMPLETELY, ABSOLUTELY, UNIVERSALLY fucked. sure #4184 can be "fixed" by flipping some bools, like setting MainForm.HoldFrameAdvance back to false in TasView_MouseWheel. but then there's still the problem of removing actual input if farther lag picture changed after initial removal, and I'm not going to debug that. taseditor's ONLY bug was related to erroneous detection of lag change that we were never able to consistently reproduce or figure out, and it's completely impossible to replicate identical behavior in tastudio due to crazy overhead. but even SIMULATING that behavior would involve touching that minefield of bools that control everything in insane ways. given zero requests for this feature during tastudio's decade of existence, I'm considering it too useless for all the chaos it introduces.

so instead I'm closing #4184 by disabling the "feature" that caused it
2025-01-19 16:02:56 +03:00
YoshiRulz d8508acb69
Fixups to signature of `HttpCommunication.ContentObjectFor` method
fixes 41547824a
2025-01-17 08:25:12 +10:00
YoshiRulz 1437bc3a98
Include unreleased cores in About dialog (resolves #4168) 2025-01-17 06:54:44 +10:00
YoshiRulz ced4db461d
Nix expr: Regen NuGet lockfile
fixes 7f3bf7022
2025-01-17 04:55:59 +10:00
YoshiRulz 58213f3534
Undo unrelated changes from previous commit
partially reverts 6c4cea23e
2025-01-17 04:53:52 +10:00
CasualPokePlayer 6c4cea23e6 Don't do checked decimal -> float/double conversions
fixes exception on viewing movie info with Arcade movies
2025-01-16 09:59:08 -08:00
CasualPokePlayer 87a740d09a [TIC80] Don't read uninitalized local variables in lua_ttri
Fixes #4190
2025-01-16 09:47:49 -08:00
CasualPokePlayer ec297bf215 [TIC80] Add lbitlib.c to vendor sources
Dead code in practice, but this is needed so debug builds actually build
2025-01-16 09:47:49 -08:00
Morilli 7f3bf70229 bump various packages 2025-01-16 17:31:54 +01:00
YoshiRulz 41547824aa
Minor refactor to `HttpCommunication` 2025-01-17 01:30:12 +10:00
YoshiRulz cbacebcee4
Bump PolySharp 2025-01-17 01:30:12 +10:00
YoshiRulz 08dd34f42b
Rename `HttpCommunication.ExecPost` and add docs 2025-01-17 01:30:12 +10:00