Commit Graph

315 Commits

Author SHA1 Message Date
feos 703955fcd7 puae: block some unsupported images, reduce heap sizes 2024-10-24 21:47:50 +03: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 4678d90646
Extract method from `Database.InitializeWork`, clean up, and add test 2024-10-24 06:31:44 +10: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
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
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
Morilli f3876da840 Optimize Vsync getter functions
trust me this is a highly relevant optimization
2024-09-29 01:39:55 +02:00
YoshiRulz dde61e309f
Make `ServiceNotApplicableAttribute` constructor `params` 2024-09-26 13:54:42 +10:00
YoshiRulz f056059e48
Fix collection type in `ServiceNotApplicableAttribute` 2024-09-26 13:45:54 +10:00
YoshiRulz bcd13fe37f
Make `IDriveLight` optional for cores 2024-09-26 13:45:15 +10:00
YoshiRulz c22f2ab4f5
Remove redundant inter-project dependencies 2024-09-26 09:52:00 +10:00
Morilli 74e50c3041 fix some xmldoc 2024-09-14 21:35:47 +02:00
YoshiRulz fa361ce06c
Add Analyzer for finding errors with ternaries in interpolated strings
why is this not part of the SDK
2024-09-14 02:44:08 +10:00
Sergio Martin bf8758e61c
Adding Stella as A2600 emulation core (#3911)
* Adding initial version of the core

* Adding base files

* Trying to load waterbox now

* Adding stella

* Adding bk class

* Compiling bk interface to stella core

* Now compiling against Stella + SDL2-based BK backend

* Progress

* More progress

* Frame advancing (no render)

* Calling video update but crashing on zero div

* Now rendering to screen with correct palette

* Now rendering appropriately and with correct palette based on region

* Now reading controls

* Trying to capture audio

* Now adding audio

* Now polling inputs

* Now polling inputs

* Now reporting memory regions

* Added memory regions

* Removing debug prints

* Fixing indent

* Adding stella core

* Updating readme and make all cores

* Recovering ending comma

* Using heap alloc for sound buffer

* Removing unnecessary files

* Update src/BizHawk.Emulation.Cores/Consoles/Atari/Stella/Stella.IMemoryDomains.cs

Co-authored-by: James Groom <OSSYoshiRulz+GitHub@gmail.com>

* Update src/BizHawk.Emulation.Cores/Consoles/Atari/Stella/Stella.IMemoryDomains.cs

Co-authored-by: James Groom <OSSYoshiRulz+GitHub@gmail.com>

* Fix

* Restoring vscode

* Removing warning

* Update waterbox readme

* Fix Stella's `[Core]` attr

* Increased sound buffer size to 1Mb, as some games need more than 4K

---------

Co-authored-by: James Groom <OSSYoshiRulz+GitHub@gmail.com>
Co-authored-by: Morilli <35152647+Morilli@users.noreply.github.com>
Co-authored-by: YoshiRulz <OSSYoshiRulz+git@gmail.com>
2024-09-11 08:18:54 +03:00
Moritz Bender a0800862b3
Refactor InputDisplayGenerator + LogEntryGenerator + ControllerDefinition (#3782)
* refactor InputDisplayGenerator and LogEntryGenerator handling
* Fix NRE in Tastudio. I can already see this avalanching into 100 different bugs
* cba, revert 48f4e13de and bring back bullshit dummy default MovieController
* Refactor MnemonicCache + make Bk2LogEntryGenerator and Bk2InputDisplayGenerator static. This should simplify stuff and make the logic clearer
2024-09-10 22:19:54 +03:00
YoshiRulz 29c15adbbf
Promote BHI1007 to a build error, fixing some cases and muting others
"Don't use target-typed new for throw expressions"
where there was a type name checked-in before being removed,
I've restored it (they were all `Exception`)
2024-09-10 05:42:11 +10:00
YoshiRulz 799f838f13
Manually implement equality on `AxisSpec`
fixes 76a30e5d7
2024-09-08 19:30:29 +10:00
YoshiRulz 650c7cae17
Restore end `#nullable` fence
fixes 76a30e5d7
2024-09-07 22:26:32 +10:00
Morilli 76a30e5d71 random code cleanup 2024-09-07 09:26:13 +02:00
YoshiRulz a13333b965 Rework doc comment for `IDriveLight.DriveLightIconDescription` 2024-09-06 17:08:10 +10:00
Asnivor 02ecb0ad24 Enhance the IDriveLight interface so that custom tooltip text can be displayed 2024-09-06 17:08:10 +10:00
Asnivor b3e8182f26 [ChannelFHawk] Implement Channel F II System 2024-09-05 16:47:49 +01:00
YoshiRulz 67f87b15c4
Ban runtime asserts without a message 2024-08-26 02:00:50 +10:00
YoshiRulz 7dfb624427
Remove `WorkingDictionary<K, V>` 2024-08-23 02:53:30 +10:00
YoshiRulz d9331c5a28
Add feature flag to disable the gamedb 2024-08-18 16:21:51 +10:00
YoshiRulz 1fdacd762a
Refactor `yield`ing methods to conventional LINQ 2024-07-12 14:42:11 +10:00
CasualPokePlayer d8431d615e Avoid zealously copying the entire video buffer
this might be larger than bufferwidth*bufferheight, and thus possibly dramantically decrease screenshot/dumping performance
2024-07-08 16:29:51 -07:00
YoshiRulz 9a82dfd05f
Enable SA1517 and fix noncompliance (except in Cores)
"Code should not contain blank lines at start of file"
2024-07-08 01:17:05 +10:00
YoshiRulz 152b3ad6f5
Enable MA0057 and fix noncompliance
"Class name should end with 'Attribute'" (when subclassing `Attribute`)
2024-07-03 23:08:23 +10:00
YoshiRulz ccb69b18a9
Use a global import for `System.*` 2024-07-03 22:51:48 +10:00
YoshiRulz 504ba590b1
Switch to `string.Replace(char, char)` and `string.LastIndexOf(char)` 2024-07-03 20:44:21 +10:00
CasualPokePlayer a9c04524c7 get ICycleTiming from service provider
fixes 87209aa11b
2024-06-16 21:27:05 -07:00
CasualPokePlayer 87209aa11b Add way to unregister auto-registered services with BasicServiceProvider
allows for better handling with SubNESHawk and Libretro statable, maybe others
2024-06-16 21:18:24 -07:00
feos acca29a66e uae: allow loading HDFs even tho they give black screen now 2024-06-17 02:36:03 +03:00
feos 939762d9fb uae: cd swapping will happen later 2024-06-13 19:07:15 +03:00
feos 472f881f24
PUAE core (#3941)
* puae wbx submodule
export symbols
load core
firmware and command line args to core
input
settings
2024-06-11 16:02:38 +03:00
hegyak 5da5697f8f
Better Firmware Names (#3766)
* Better Firmware Names

Renaming Firmware Files based on System Name as BizHawk uses or at least renamed to be related to what it's for.

Unify Firmware names for Vectrex, Lynx, MSX resolve Name Collision, Odyssey 2 G7400, Gameboy, GameBoy Color.

---------

Co-authored-by: Morilli <35152647+Morilli@users.noreply.github.com>
2024-06-04 13:37:38 +02:00
YoshiRulz bc9f4afe76
Add PSX on PSP BIOS 2024-06-02 08:00:00 +10:00
YoshiRulz e18a3494c3
Change `Acceptable` PSX BIOS options to `Ideal` 2024-06-02 07:55:26 +10:00
YoshiRulz 64db1febbb
Fix NRE when flushing SaveRAM in GambatteLink for some roms
fixes d788e603f
not clear on the reproduction steps, but it will of course involve a rom
which triggers the "no SaveRAM, return null" in Gambatte
2024-06-01 17:30:00 +10:00
CasualPokePlayer 0488bbd33a Fix mupen grabbing an OpenGL context based on whatever current version/flag attributes were present
This is global state that gets mucked by us since we also use SDL2 to handle OpenGL context management, Rice/Glide/Glidemk2 don't like core contexts due to them using old deprecated functionality
2024-05-31 20:50:48 -07:00
Morilli 62b8ec4578 Bump LangVersion to 12
- fix IDE0100
- fix IDE0230
- a couple of usages of the collection expression
2024-05-28 15:13:14 +02:00
James Groom 0122dec099
Warn at runtime if a lowercase/invalid hash is added to FWDB (resolves #3916)
left the existing unit test untouched
2024-05-12 07:41:14 +10:00
James Groom ae1692f2e1
Fix passing value instead of name to AooRE
and leave a note for myself re: patches
2024-05-12 07:24:04 +10:00
CasualPokePlayer 6967cff72d Add newly discovered CGB bootrom entry 2024-05-06 12:05:38 -07:00
CasualPokePlayer c2f549d02c Move zstd wrapping code to BizHawk.Common
thanks delegate*
2024-04-30 22:44:06 -07:00
CasualPokePlayer f0a2ea1ed2 don't init gpgx trace buffer when not emulating genesis, more proper genesis bootrom firmware handling 2024-04-30 20:58:03 -07:00
CasualPokePlayer e9af682975 Fixes/cleanups C# for GPGX (mainly for SMS/GG mode) 2024-04-30 20:08:23 -07:00
CasualPokePlayer 60fb92f685 partially revert previous commit (seems that throwing in this callback causes a stack overflow? wtf? throwing normally works in nyma firmware handling which is in a callback so this is odd)
add proper gg firmware entry
2024-04-30 00:49:09 -07:00