Commit Graph

142 Commits

Author SHA1 Message Date
feos 703955fcd7 puae: block some unsupported images, reduce heap sizes 2024-10-24 21:47:50 +03: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
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 a2d97dfb5f Remove "direct" bin file handling
If you want something like this done, just look for a .cue file next to the .bin file. Do not try to generate a temp .cue and pass that .cue along as the disc file to load, you will potentially run into a situation that temp .cue filename (mind you, this is random!) will act as the game name (due to not being present in db for whatever reason), affecting stuff like SaveRAM and such. The disc file "loaded" must not have some random junk in the filename.
2024-09-21 03:09:13 -07:00
kalimag e2a6942df0
Fix missing/incorrect checksums for Sega CD, Saturn, and Jaguar CD (squashed PR #4024)
* Fix non-PSX disc hashing somewhat

- Don't hash generated (empty) lead-in/lead-out tracks
- Limit to track length, not absolute LBA of next track

* Use `InformationTrackCount` instead of `Tracks.Count`

* Add Jaguar CD hashing

Reuse RetroAchievements implementation, move into `DiscHasher`
2024-09-14 22:29:01 +10:00
YoshiRulz ccb69b18a9
Use a global import for `System.*` 2024-07-03 22:51:48 +10:00
feos acca29a66e uae: allow loading HDFs even tho they give black screen now 2024-06-17 02:36:03 +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
CasualPokePlayer fb76975bd2 Fix bugs in LoadM3U 2024-06-09 11:58:13 -07:00
CasualPokePlayer 21b6bd331b Add CHD CD support 2024-04-29 22:21:47 -07:00
Morilli 8e557b0b9d bump AnalysisModeGlobalization to Recommended
fixes CA1304, CA1309, CA1310, CA1311

temporarily silences CA1305

reduce severity of CA2101
2023-08-14 14:18:45 -07:00
CasualPokePlayer 8c41b09108 Add in 3DS rom extensions to rom filter
make it so CIAs past index 0 will be "installed" (mostly only relevant for movies, as the temp user folder is wiped each session in deterministic mode)
ensure XMLs won't load 3DS roms into memory (same reasoning as other hack, might be >=2GiB)
do some cleanup with this code
2023-07-28 05:33:56 -07:00
CasualPokePlayer fe79b69123 (Partial) .nrg support
TAO support isn't complete, a lot of sanity checking isn't done yet
2023-05-18 07:14:14 -07:00
YoshiRulz 4a752f66b7
Add Analyzer to require checking or discarding `TryGetValue`
I'm pretty sure all the existing instances were intended to use `default(T)` if
the key isn't present, except maybe the cheatcode converters but I don't care to
rewrite those at the moment
2023-05-05 06:27:15 +10:00
YoshiRulz 8a5921182e
Add Analyzer to disallow discarding locals e.g. `_ = result;`
fixes 70bd081a9, a2185d9ef
2023-04-29 01:52:43 +10:00
vadosnaprimer 76a29d3563 allow setting OSD message duration for its callbacks
todo: simulate optional args for Action?
2023-04-09 22:08:37 +03:00
YoshiRulz 0469c04372
If a PSX `.bin` is loaded, try synthesising a `.cue`
this works but takes forever, which I'm guessing is because somewhere it's
trying to hash the whole file. that's not a new problem though
2023-04-09 10:06:06 +10: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
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
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
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
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 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 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 d0266816a5 Fix #3448. Support MAME 7z romsets 2022-11-16 17:32:20 -08:00
CasualPokePlayer 066297d5e7
MAME Waterbox (#3437) 2022-11-10 00:05:25 -08:00
YoshiRulz 1232157cc1
Improve caching of `FilesystemFilterSet.ToString` 2022-11-05 09:10:11 +10: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 483258a04d virtualjaguar port, resolves #1907 2022-09-11 21:38:46 -07:00
Morilli f1e11dfc36 simplify Stream.ReadAllBytes extension and use it more 2022-08-15 20:35:57 +02: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 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
YoshiRulz a7db24490c
Enable BHI1002 and fix noncompliance
"Do not use anonymous types (classes)"
2022-07-14 04:26:28 +10:00
CasualPokePlayer 2c3b6b3cd4 ti80 core 2022-06-16 00:14:48 -07:00
YoshiRulz 2e46d13980
Add missing system display names, add MSX to rom file ext. filters 2022-06-15 07:44:51 +10: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
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
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
YoshiRulz 8c4ceccab9
Enable CA1825 and fix noncompliance (except in Cores)
`new int[0]` and similar
2022-03-08 15:52:40 +10: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 547c28ef28
Add back extra params to `RomLoader.DoLoadErrorCallback` (fixes #3054)
fixes fb6924bd8
2022-01-27 02:48:54 +10: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
YoshiRulz e38726db50
Unify checksum helper methods 2021-11-12 19:38:11 +10:00
YoshiRulz 4a4d8fe751
Collect sysID constants in a single class 2021-11-10 14:38:41 +10: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