Commit Graph

20483 Commits

Author SHA1 Message Date
CasualPokePlayer 52276f7d47 Remove TLS use in MAME
This might not affect things in practice, but its usage was likely dangerous so best not use it.
2023-04-14 20:15:14 -07:00
YoshiRulz f2880d8325
Update `CoreComm` init in testroms project to new signature
fixes 76a29d356
2023-04-15 10:36:43 +10:00
YoshiRulz 379eeeeed8
Make `Sameboy` ctor public so testroms project can use it
fixes 9528a2030
2023-04-15 10:36:39 +10:00
vadosnaprimer c90fcbbd54 mame: numerator 0x4000'0000 and above breaks mp4 on youtube... 2023-04-14 19:32:29 +03:00
vadosnaprimer 8e6eac7bfd mame lua doesn't expose settings for optional dip switches, so hide them for now
38498868fc/src/mame/toaplan/toaplan2.cpp (L2960)
2023-04-14 19:23:50 +03:00
CasualPokePlayer 7bd848f9f9 fix #3631 2023-04-14 00:22:48 -07:00
YoshiRulz 59562d8930
Fix `[RequiredService]`s checked for `null` 2023-04-13 08:53:14 +10:00
YoshiRulz 5f77a310c5
Remove `ServiceInjector.ClearServices`
This call in `ToolManager.Restart` was to set `[{Optional.Required}Service]`
props to `null`, but the tool form would get `Close`d immediately afterwards, so
it never gets the chance to hit the `null` path if one exists. However, some
tools are written as though they keep the stale value, for example attempting to
call a cleanup function on it in their `Closed` event handler. These will now
work as intended.
`[OptionalService]`s that can't be satisfied are set to `null` by
`ServiceInjector.UpdateServices`, so clearing those isn't necessary, and
`ClearServices` has no other usages.
2023-04-13 08:53:14 +10:00
Moritz Bender ddc3e929e9
Use source generation for VersionInfo (#3625)
* Use source generator for VersionInfo

* Remove leftover hacks

* Use same fallbacks as NixHawk when Git not available

---------

Co-authored-by: YoshiRulz <OSSYoshiRulz@gmail.com>
2023-04-12 21:14:44 +02:00
CasualPokePlayer 03aa420bd5 fix last issue in #2951 properly 2023-04-09 23:43:28 -07:00
vadosnaprimer ffd8e6897a don't keep multidisk flag on after it was set once
don't replace mame rom info icon and text with multidisk ones if there are emulation issues
2023-04-09 23:52:50 +03:00
vadosnaprimer fadc445f9c mame: print more rom info 2023-04-09 23:40:59 +03: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
vadosnaprimer b4394af824 mame: report emulation status via rom info icon and text
mame won't care too much about how good the dump is, but it will warn you in orange that emulation is imperfect, and in red if it's broken. we happen to use rom status icon to inform the user about multidisk bundle, so using it for mame info feels natural, because it directly affects what users can safely submit to tasvideos. we warn them about bad dumps because it's banned for pub, so it's similar here.
2023-04-09 21:38:56 +03:00
vadosnaprimer 8aa03c3059 mame: add emulation issues info to RomDetails
reorder file hashes and names so it looks aligned
2023-04-09 19:22:19 +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 5f0683c1ae Fix #3616
This had two issues. One, relative pathing with dlls is a no-go. Our hackery with changing cwd seems to confuse lua, and while it can find the dll, it fails to load as Windows (at least) does not consider cwd for loading up dlls it appears. Secondly, people using luasockets never actually loaded up the luasockets dll, rather we were bundling it ourselves. From history it seems this was due to our lua being compiled with CLR/.NET and that didn't play nice with exceptions? Doesn't seem to be an issue anymore, but we should probably still bundle luasockets for the time being given it used in many different projects which use the same script with multiple different emulators (thus our own sockets are simply not usable).
2023-04-08 16:01:36 -07:00
YoshiRulz 8ef8d4efb9
Remove unused `kernel32` import 2023-04-09 08:02:35 +10:00
vadosnaprimer e06d32c70a Revert "throttle shouldnt act as paused when rewinding"
This reverts commit 007442773a.

fixes #3268 but unfixes #3053, which should instead be fixed by something that doesn't lead to breaking other things and the author of the "fix" giving up on the project
2023-04-08 23:07:34 +03:00
YoshiRulz 45ab749caf
Fix N64 (Ares64) system menu having a blank space on Mono 2023-04-09 05:34:19 +10:00
vadosnaprimer 4ea80410b8 mame: fix bios selection menu
api changed in 952b4ecc67
2023-04-08 10:46:28 +03:00
YoshiRulz f73a3bdea6
Fix poor merge
fixes 75e75ca97
2023-04-08 06:40:10 +10:00
YoshiRulz 75e75ca971
Update readme 2023-04-08 06:34:57 +10:00
feos e4143669e1
Update README.md
add MAME
2023-04-07 23:18:49 +03:00
YoshiRulz 619c25b69a
Bump version 2023-04-08 05:12:57 +10:00
Morilli ac3a8c7e5f update bizhawk url in publish scripts 2023-04-07 19:09:10 +02:00
YoshiRulz 6e77c7348f
Improve error message when core does not implement mem callbacks 2023-04-08 02:16:29 +10:00
CasualPokePlayer fbe1f9b53e fix parameter order with DeltaUpdate calls
fixes 8737203f3a
2023-04-04 23:54:05 -07:00
CasualPokePlayer 389c6ebec5 fix 2mg detection
fixes 8737203f3a
2023-04-04 23:52:05 -07:00
CasualPokePlayer 8737203f3a Add ISaveRam implementation for AppleII, fix bug which caused DiskIIController to not be correctly stated 2023-04-04 23:46:26 -07:00
CasualPokePlayer 9ae5f786de fix #3610 2023-04-04 05:04:00 -07:00
CasualPokePlayer b8f3f089f2 Add in ISaveRam implementation for C64, using the deltas of disks.
Add in better docs for `DeltaSerializer`.
Fix C64 not remembering disk changes when swapping disks (swapping disks essentially just reset the disk previously)
2023-04-04 04:28:47 -07:00
CasualPokePlayer ece5d2548a Fix peeks/pokes with the new memory domains in Virtu
fixes a311b3b6f3
2023-04-02 23:37:48 -07:00
CasualPokePlayer 2fc4683e6b Fix edge case with C64 states when CurrentDisk is different 2023-04-02 06:58:56 -07:00
vadosnaprimer d95cd4becb mame: use biggest int multiple of 60 as a framerate numerator
denominator is determined by taking refresh attoseconts `as_ticks(numerator)` which reduces the initial 64bit value to what can be used for video

mame needs flat 60fps for screenless machines, so we use a numerator that is a multiple, while also being a tiny bit more accurate than with 1,000,000,000
2023-04-02 16:54:28 +03:00
CasualPokePlayer df71de64c8 speedup delta stating with disks with simple track tracking, should be within acceptable performance bounds (more or less) 2023-04-02 03:48:24 -07:00
CasualPokePlayer 3ffb6c3b52 hack fix #3606 2023-04-02 02:41:59 -07:00
YoshiRulz 53e0907f61
Check-in Linux binary of mGBA 2023-04-02 19:23:55 +10:00
CasualPokePlayer 86b33bd3ce fix DeltaSerializer validation checks and add one more 2023-04-02 02:19:52 -07:00
CasualPokePlayer 6f7f94a06e don't give the same name to each track when stating
fixes 00e2fea901
2023-04-02 02:12:25 -07:00
CasualPokePlayer 00e2fea901 Create `DeltaSerializer`, uses simple RLE encoding so the serialized delta isn't huge, use it for C64 EasyFlash and Disks 2023-04-02 02:10:51 -07:00
vadosnaprimer 9a3cd21bc4 update mgba to latest master 2023-04-02 12:03:11 +03:00
CasualPokePlayer 5ca888a8af misc cleanups with previous commit 2023-04-01 19:57:47 -07:00
CasualPokePlayer a311b3b6f3 Change up AppleII's "main ram" domain, add aux ram domain
The main ram previously seemed to just be a slice of the system bus between 0 - 0xbfff. this posed two problems: that area is banked, and that area could represent main ram or aux ram. main ram now represents all of the ram main ram can possible represent, ordered like how the core orders it (which the way it does it happens to be very natural in any case), and a new aux ram domain does the same thing but with aux ram
Also some other changes put in so Rider wouldn't error on building Virtu
2023-04-01 19:54:26 -07:00
YoshiRulz 333fd6d533
Add Gentoo to Linux run script 2023-04-02 07:50:05 +10:00
YoshiRulz 2a70b532d5
Disable Hex Editor's "Save [to rom file]" when not looking at rom
fixes 2e19451b0
not the "ROM" domain, but the "File on Disk" domain
2023-04-02 05:30:34 +10:00
CasualPokePlayer cd4c3cc353 fix various C64 state issues
Main changes here would be with cartridges, as it appears cartridge stating was just broken since 4ffcc9654a (that's all the way back in 1.13!!!) due to SyncStateInternal not actually getting used
a few other components also had some variables missing from states
disks are not properly savestated yet, it appears it was commented out due to an assumption that disks were write only, but this isn't the case
some other cleanups here, none of them actually affecting state quality here
2023-04-01 07:06:56 -07:00
CasualPokePlayer e4a6d9db67 set initial rtc for epson and sharp rtc in new BSNES
this is needed due to the complete lack of time.rtc handling (and even then, if SaveRAM doesn't exist this is needed)
2023-04-01 02:13:47 -07:00
CasualPokePlayer a31ecb7c0f fix new BSNES with subbsnes
fixes 22e35c45fc
2023-04-01 01:26:38 -07:00
CasualPokePlayer 22e35c45fc hook up RTC support for new BSNES, resolves #3577 2023-04-01 01:23:16 -07:00