Commit Graph

129 Commits

Author SHA1 Message Date
CasualPokePlayer 483258a04d virtualjaguar port, resolves #1907 2022-09-11 21:38:46 -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
CasualPokePlayer 5cd37c76b2 dobie removal cleanup
fixes 89972a3579
2022-08-05 03:32:09 -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 d142555ec3
Enable MA0066 and fix noncompliance
"Hash table unfriendly type is used in a hash table"
2022-07-22 07:28:31 +10:00
CasualPokePlayer 8289c1051b add hash for newly discovered GBC-GBA bootrom 2022-07-16 22:03:47 -07:00
CasualPokePlayer 2c3b6b3cd4 ti80 core 2022-06-16 00:14:48 -07:00
YoshiRulz b8d5dd8990
Handle `$BIZHAWK_DATA_HOME` nicely instead of w/ a hack in `Database` 2022-05-31 01:36:38 +10:00
YoshiRulz 1026503d92
Refactor firmware config so icons make sense (resolves #3157) 2022-05-21 04:39:44 +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 1c2376e2f7
Document that hashes (`SHA1` header) aren't always SHA1 2022-02-22 12:21:21 +10: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
CasualPokePlayer 1c4c390e8f expand sega cd bios list, based on no-intro and TOSEC info 2022-02-17 22:29:51 -08:00
YoshiRulz 455f7b6ce9
Flag Sega CD USA BIOS rev. 9303 as "unacceptable" (resolves #2913) 2022-02-16 22:12:55 +10:00
YoshiRulz 862b005218
Revert "Get rid of unnecessary CRC32Checksum.cs"
This reverts commit 558adfa325.
2022-02-10 02:15:22 +10:00
YoshiRulz f4b4c60684
Remove gamedb entry for empty (length 0) rom 2022-02-05 21:04:52 +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
YoshiRulz 69d51aba50
Change how user gamedb files are included, add extra warnings 2022-01-28 06:49:01 +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
alyosha-tas de1a312262 MSX: do some work on mappers 2021-11-17 15:27:54 -05:00
YoshiRulz 1785d51c1d
Merge TI83 sysIDs 2021-11-15 20:57:26 +10: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 56e22f34a5
Use `TryGetValue` instead of `ContainsKey` + indexer 2021-11-09 20:47:35 +10: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 d8dc06cbd2
Don't unnecessarily recompute rom hashes 2021-10-10 18:18:52 +10:00
YoshiRulz dbc36fa420 Add automatic patching capability to FirmwareManager 2021-09-22 06:24:28 +10:00
YoshiRulz c4ff971113 Set firmwares declared with FirmwareAndOption to Ideal status 2021-08-24 07:18:41 +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 b4738411a2
Invert nullability in Emulation.Common, enabling it some trivial files 2021-07-24 19:23:18 +10: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
YoshiRulz fdb5dfb7e5
Silence flood of prints on startup (in Debug), obviously no-one cares 2021-05-14 13:41:28 +10:00
YoshiRulz 3ea71a2dda
EXTERMINATE SPACES 2021-05-08 08:16:10 +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 4103a8bab2
Cleanup usages of FirmwareID fields 2021-02-23 02:20:27 +10:00
YoshiRulz a41fc1f1ce
Convert FirmwareRecord to a readonly struct 2021-02-12 17:07:43 +10:00
YoshiRulz 2e52827bc1
Convert FirmwareOption to a readonly struct 2021-02-12 17:07:42 +10:00
YoshiRulz af7ed156e9
Convert FirmwareFile to a readonly struct 2021-02-12 17:07:42 +10:00
YoshiRulz 10ed0872a4
Add and use FirmwareID struct
decided not to propogate to cores yet, left TODOs in Emulation.Common.Extensions
2021-02-12 17:07:42 +10:00
YoshiRulz 35f317a887
Split inner classes of FirmwareDatabase to own files 2021-02-12 15:52:45 +10:00
YoshiRulz f2ff5ea4ee
Move FirmwareDatabase helpers into ctor, prevent mutating collections 2021-02-08 13:19:23 +10:00
YoshiRulz b2b5647e83
Use Option helper in FirmwareAndOption, then inline _OptionWork 2021-02-08 12:56:41 +10:00
YoshiRulz 144a8aafd0
Cleanup FirmwareDatabase init helpers
using the result of File in FirmwareAndOption is setting up for the next commit
2021-02-08 12:56:41 +10:00
YoshiRulz 6716c3fd8f
Inline FirmwareDatabase.LookupFirmwareRecord 2021-02-08 12:56:41 +10:00
YoshiRulz 33a788d74b
Don't populate 2 lists with the same data, move assertion to unit test 2021-02-08 12:56:41 +10:00
YoshiRulz 6db638236e
Hardcode uppercasing of firmware hashes, assert on format in unit test 2021-02-08 12:56:40 +10:00
YoshiRulz 7e2437b396
Typo fixes and other minor cleanups to FirmwareDatabase data
* fix desc+info of bad PSX BIOSes
* set FirmwareFile.Bad via param on File method
* use #if false instead of comment for what I assume is a debug BIOS for A7800
    * I think a single '!' boi will make that one take precedence
* remove duplicate NDS BIOSes which were commented-out
2021-02-07 23:22:19 +10:00
YoshiRulz b9e784e153
Replace broken hack with hardcoded data 2021-02-06 20:31:36 +10:00
adelikat b83556fc6f make fields readonly where possible 2020-12-15 16:00:55 -06:00
nattthebear d3f1d0f6ac Revert "Because the real GBA version of the GBC BIOS is quite obscure, a fallback is needed"
This reverts commit f3f70276df.
2020-09-27 22:32:55 -04:00
TiKevin83 f3f70276df Because the real GBA version of the GBC BIOS is quite obscure, a fallback is needed 2020-09-27 20:45:55 -04:00
RetroEdit b5cf9cb241
Restore Game Boy Pocket firmware to Acceptable
It does not have the same issues as early revisions of the GB/C boot roms
2020-09-27 17:13:41 +00:00
RetroEdit cf58dd8ad1
Minor GB/C and PCFX firmware detection revisions (#2430)
Change the status of alternate GB/C firmware options to unacceptable. Quoting from CasualPokePlayer "Gambatte is definitely not emulating those cpus [dmg0 and cgb0]. So you would end up with quirks of newer cpus being combined with bootroms only present in older cpus."

Also fix what looks to be a longstanding typo where the PCFX BIOS v1.01 was not being properly detected.
2020-09-27 13:30:12 +00:00
YoshiRulz 5488c80f4d
Enable SA1400 and fix noncompliance (except in Cores)
"Access modifier should be declared"
2020-09-08 21:57:14 +10:00
nattthebear 18780a8752
Fix GBC-AGB bios issues (#2317)
All six combinations (bios, no bios) X (dmg, cgb, cgb in agb) should work now

Closes #2100
2020-08-21 13:14:50 -04:00
nattthebear 78bf2285fc
Waterbox: Add pseudo-thread implementation and experimental DobieStation (PS2) core (#2263)
Waterbox supports threads now, but they're not real threads on the host side because that's complicated and can be nondeterministic. Instead, everything is scheduled to share one host thread. This means that scheduling is actually cooperative and certain patterns of spinlocks and other nonsense can fail to work at all, but "regular" code probably will.

With this, add DobieStation PS2 core. This core was selected because it has threads and is otherwise simple to port; easy to build and a good core/frontend separation. It's not a wonderful core however, with low speed (made abysmally lower by our lack of real threads) and low compatibility, so it remains a curiosity for now.
2020-08-01 07:03:29 -04:00
alyosha-tas 7f28bc2caf Fimware: Fix #2207 and add entry for g7400 2020-07-07 17:59:20 -04:00
hegyak f430df9575
Firmware Rename (2)
Fixed KoF 95 and Ultraman
2020-07-06 11:55:13 -07:00
hegyak 6a73dd0115
Firmware Rename
Rename All the Firmware Files to have a more Unified Naming Convention
2020-07-06 10:46:56 -07:00
alyosha-tas fa7ac3d4c1 A7800Hawk: Fix pokey 0x450 detection 2020-07-05 15:45:08 -04:00
YoshiRulz 69146b04b2
Add and use DEBUG-conditional WriteLine methods 2020-06-26 14:37:36 +10:00
adelikat ac61701aa3 GameInfo - simplify 2020-06-12 12:56:58 -05:00
adelikat 4e7e314a33 GameInfo - simplify a method name 2020-06-12 12:56:58 -05:00
adelikat 0c300cf5bf Remove our home-grown ReadonlyDictionary in favor of the built in .net one (as of 4.5 we have one of these built in), Gameinfo.GetOptionsDict() - return IReadonlyDictionary instead of Dictionary 2020-06-12 12:18:50 -05:00
adelikat c81f052f94 GameInfo - demand a value for key params, and force calling code to pass in an empty string if that's what they choose (better would be to pass a bool or a 0/1 even if we don't require it) 2020-06-12 12:11:53 -05:00
adelikat ba939466df Pass an IGameInfo into ToolFormBase and use it in tools 2020-06-11 18:25:34 -05:00
adelikat d9ef084e2f add a readonly interface for GameInfo for code that only needs to read, pass into SynclessRecordingTools instead of globals, refactor SynclessReocrdingTools a bit 2020-06-11 17:35:40 -05:00
zeromus 9c875b42f4 background thread bootgod loading 2020-06-08 16:45:44 -05:00
zeromus d98bfc82c5 fix threaded DB loading (fixes #2113) 2020-06-08 14:08:50 -05:00
LodanZark 896612eb4d
update msx bios filenames and description
Updated the msx bios filename based on mame 0.221 and cbios0.29a, this way it fixes the filename conflict while using the feature "Organize" through Firmware Manager.
Couldn't figure it out about the bios_test origin, so I kept that one unchanged.
2020-06-08 03:32:18 +01:00
zeromus 93f06f2a68 oops, fix database loading 2020-06-07 18:43:13 -05:00
zeromus bd8003c725 thread gamedb load 2020-06-07 16:43:50 -05:00
nattthebear 07c627cc3e
Merge pull request #2044 from TASVideos/nyma
Add 'nyma' project

The goal is to eventually update all of our Mednafen cores. For now, there is a work in progress import of the Mednafen pce core. Basic gameplay with hucard, turbocd, and supergrafix is supported, but the core is not complete yet.
2020-05-25 13:54:35 -04:00
nattthebear bc8d298a88 support pce-cd and sgx in nyma 2020-05-25 12:49:34 -04:00
YoshiRulz 5689d69bfb
Make gamedb's WriteLine flooding conditional on DEBUG 2020-05-24 13:57:08 +10:00
YoshiRulz 3a3b22c03b
Move projects to src subdir (breaks build) 2020-05-03 10:57:38 +10:00