Commit Graph

22529 Commits

Author SHA1 Message Date
Morilli 72d9071080 check nonexistent saveram better in RecordMovie
- resolves part of #4311
2025-05-11 14:58:38 +02:00
feos dfabe85181 dsda: condition for some av updates 2025-05-11 15:39:43 +03:00
feos 61a6074bd1 dsda: fix shorttics and lmp import (not all) 2025-05-11 14:38:27 +03:00
Morilli e97a154f30 workaround mono display bug in About dialog
apparently under mono `LinkLabel` doesn't work properly with padding, so just remove it.
2025-05-11 09:22:22 +02:00
Morilli c1866c4649 reduce zstd compression level in chd writing
in my testing this increased the output size by <1% and increased compression speed by more than an order of magnitude
2025-05-11 07:29:53 +02:00
YoshiRulz d261e65058
Ensure `RCheevos._gameData` is never `null` (fixes #4312) 2025-05-11 12:28:48 +10:00
YoshiRulz 24b30243a9
Adjust terminology in PR template to match GitHub interface
committer != author (which I think is a distinction Git itself makes)
2025-05-11 00:52:43 +10:00
YoshiRulz 063a6f2fa3
Add missing import
fixes f7b148250
2025-05-11 00:48:34 +10:00
YoshiRulz f7b148250d
Extract constant string `MD5Checksum.Dummy` 2025-05-11 00:34:22 +10:00
YoshiRulz 6e10064ca4
Use system display names in Multi-disk Bundler 2025-05-10 17:23:02 +10:00
YoshiRulz e734c88071
Trim line-end whitespace in Opera managed side
fixes 654544b32
2025-05-10 01:01:46 +10:00
Sergio Martin 654544b329
Adding Opera (3DO) as emulation core in Bizhawk (#4264)
* Adding base

* Progress with opera and adding 3do firmwares

* Adding missing callbacks

* Adding missing callbacks

* 3DO core starting

* Now passing inputs

* Passing gamepad inputs

* Fixing input names

* Now supporting mouse

* Adding mouse support

* Added flightstick

* Added flight stick

* Adding last inputs and fixing audio

* Adding controllers and fixing audio

* Adding orbatak

* Fixing mnemonics, added orbatak

* Adding font roms

* Adding font roms

* Adding region

* Adding region

* Fixing mouse issue

* Fixed initialization bug in fresh installs

* Setting mouse to relative inputs

* Using mouse as relative

* Bypassing bios checks to enable bizhawk to pass whatever bios it wants

* Adding default inputs for 3DO

* Adding detection of nvram changes

* Adding lag frame and nvram saving

* Adding cd use detection

* Adding cdrom light

* Using cd callbacks

* Using cd callbacks

* Bypassing image name check

* Adding multidisc support

* Removing 3do-iso special extension

* Fixing build

* Attempting to add disc swapping

* Trying to add multidisc support

* Uncommenting cd functions

* revert unrelated changes

* misc unmanaged integration

* Update waterbox-cores.yml

* Added reset button, removed eject/insert

* Added reset button, removed eject/insert

* Fix line endings in `Bk2MnemonicLookup.cs` changes

* Fix indentation

* Fix spaces in `Opera.cs`

* Alphabetise

* Make `Opera`'s `ISaveRam` implementations `override`

* Misc. code style changes

* Fix casting array index to `uint` for comparisons

* Adding default framerate and removing message duration parameter

* Refactoring input parsing and fixing some errors

* Fixing indentation

* Exposing non volatile ram

* Adding automatic sram management

* Now letting bk manage saveram automatically

* Fixing indentation and removing unncessary flag

* Removing dead code

* Removing dead code

* Removing unnecessary mnemonic fallbacks

* Keep fixing indentation errors

* Removing struct for memory areas

* Adding proper detection of input reading

* Changing namespace to not have an underscore

* fix whitespace in PlatformFrameRates

* make waterbox function non-virtual

* Update src/BizHawk.Emulation.Cores/Consoles/3DO/Opera.cs

Co-authored-by: feos <vadosnaprimer@users.noreply.github.com>

* Fixing controller mapping

* Fixing controller mapping, 3DO->Panasonic3DO, added submenu

* Fixing controller

* Fixing controllers

* Removing unnecessary function

* Fixing namespace and default ctrls

* Fixing 3DO detection

* Adding submodule branch

* Adding PAL framerate for opera

* controller pic

* Fixed firmware naming

* Fix line endings

* Recompress image

* Realphabetise after namespace/sysID change

* Move this `case` block up

* Minor code style fixes

* Renaming user-facing Panasonic3DO strings to 3DO

---------

Co-authored-by: Morilli <35152647+Morilli@users.noreply.github.com>
Co-authored-by: YoshiRulz <OSSYoshiRulz+git@gmail.com>
Co-authored-by: feos <vadosnaprimer@users.noreply.github.com>
Co-authored-by: feos <feykomylce@gmail.com>
2025-05-09 10:04:14 +03:00
CasualPokePlayer 42a96fb996 Add iNES 2.0 support for NROM
NROM usually doesn't have WRAM, but iNES 1.0 doesn't specify WRAM size, so its detection just assumes 8KiB WRAM. iNES 2.0 can precisely identify WRAM size.
2025-05-08 19:48:18 -07:00
100thCoin ff8a2bdf22 Fix NesHawk APU Status open bus behavior
Reading from $4015 no longer updates the data bus.
2025-05-09 10:58:03 +10:00
YoshiRulz edac0266e5
Fix `InputRoll.RowCount`, caused crash on removing row in Lua Console
fixes d7b0af9f4
also I think there was an unnecessary copy because this ctor was missing
2025-05-07 15:56:26 +10:00
Morilli b5893c0a0b fix tastudio SaveTas implementation
somewhat fixes 21fbee01de I guess, in particular AskSaveChanges would not save if no file name had been chosen.
This doesn't behave correctly when trying to save a backup or bk2 but when no filename has been chosen that makes no sense anyway, so...
2025-05-07 04:37:06 +02:00
Morilli c8e82ba1e5 dispose discs in dosbox
see #4301
2025-05-05 20:31:06 +02:00
feos 8a70238e75 dsda: fix settings changes dying on loadstate
handle gamma changes on the hawk side
DoUpdate is no longer needed
2025-05-02 09:32:47 +03:00
feos 1ec5d2e81c dsda: we can now ignore turn input during strafe50
impossible for a human to send to the game via keyboard and mouse, but works fine in movies, so it's been used in tases for decades (?). but we control what happens between frontend and core so why not block this particular input if needed
2025-05-01 02:07:00 +03:00
feos 13c3a83988 dsda: allow full byte range in BOTH directions for frac turn
since they're split and we can't set hi byte to -0, there was no way to turn below -1. [-256, 256] is not an accurate range per se, but due to how things are added on the managed side before sending inputs to the core, it feels like the most useful one. for shorttics one would only have access to hi byte, and with longtics one can still simulate that behavior - by only controlling said hi byte! and only introduce "sub-angle" when it's actually needed for something specific
2025-04-30 16:13:33 +03:00
Sergio Martin e04fd79574
Add DOSBox Windows Support (#4294)
* Decoupling HDD from SRAM

* Modifying memory area

* Adding win-specific config

* Mods

* Adding option to save hdd contents

* Fixing period

* Passing hdd contents in chunks to prevent excess mem usage

* Reverting changes to gui

* Revert "Reverting changes to gui"

This reverts commit 004a6b3382.

* Updating configurations

* Created custom submenu for DOS

* Renaming function nam names

* Refactoring function names

* Adding failure check for memfile alloc

* Adding logging on hdd size

* Re-adding configuration menu

* Fixes

* Demoting cd recognition of yet unsupported cores

* Fixing timing

* Reducing diff

* Fixing style

* Reducing diff

* Reducing diff

* Reducing diff

* Reducing diff

* Reverting change in cast in ticks target

* Reverting change in cast in ticks target

* Adjusting hdd precision

* Removing compatibility flag (not needed)

* Fix line endings

* Remove reference to Speccy

* Revert changes to `Bk2MnemonicLookup`

* Move DOS submenu initialisation to `MainForm_Load`

* Minor code style fixes

* Update src/BizHawk.Emulation.Cores/Computers/DOS/DOSBox.ISettable.cs

Co-authored-by: feos <vadosnaprimer@users.noreply.github.com>

* Strip line-end whitespace

* Update src/BizHawk.Emulation.Cores/Computers/DOS/DOSBox.ISettable.cs

Co-authored-by: feos <vadosnaprimer@users.noreply.github.com>

* Fixing byte notation to B

* Fixing byte notation to B

* Update src/BizHawk.Emulation.Cores/Computers/DOS/DOSBox.ISettable.cs

---------

Co-authored-by: YoshiRulz <OSSYoshiRulz+git@gmail.com>
Co-authored-by: feos <vadosnaprimer@users.noreply.github.com>
2025-04-30 14:38:58 +03:00
feos 9347a95f98 dsda: split turning axis into 2
editing a short in tastudio would be a nightmare, so we split it:
- high byte represents shorttics mode and whole angle values
- low byte is fractional part only available with longtics
2025-04-30 14:38:42 +03:00
feos 164d2d425b dsda: fix analog turning 2025-04-29 19:36:24 +03:00
feos 6733cee5f3 dsda: less intense coord description 2025-04-28 21:32:09 +03:00
YoshiRulz 33be880bb0
Set StyleCop rule SA1028 to error-level so CI will catch regressions
"Code should not contain trailing whitespace"
2025-04-29 02:22:32 +10:00
YoshiRulz 605deb682d
Remove line-end whitespace across main solution
...except in Designer files. Done with
`find src -type f -name '*.cs' -exec sed 's/[ \t][ \t]*$//' -i {} \;`
(and again w/ `\r`) followed by
`git restore src/*.Designer.cs`
2025-04-29 02:21:04 +10:00
feos 4cfc20e3ff dsda: rename cinterface because this thing is not limited to it 2025-04-27 23:36:39 +03:00
feos e733d28600 dsda: extract render updates 2025-04-27 23:20:31 +03:00
feos 8f0cd0699e dsda: volumes 2025-04-27 23:10:52 +03:00
feos 3416af401f dsda: refer to vanilla options 2025-04-27 16:34:59 +03:00
feos 314b96f1ca dsda: coordinates, map details, and map overlay
fix messages status appearing when unchanged
drop scale factor from render info
2025-04-27 15:49:10 +03:00
feos 358515e07e revert "change res on the fly"
there's a major slowdown when doing several res changes in the same session, and its need is questionable anyway, because of potential inconsistency of screensize across states and stuff.
2025-04-26 19:26:38 +03:00
YoshiRulz 6da42f7559
Revert unrelated work from `MainFormMouseCaptureForcesTopmost` commit
partially reverts 6dccb759c
2025-04-27 01:20:35 +10:00
CasualPokePlayer faf3c3336e Prevent MainModule usage from Silk.NET code 2025-04-23 15:15:04 -07:00
YoshiRulz 33f4d134e7
Print to console when no matching entry found in `PlatformFrameRates` 2025-04-24 05:59:16 +10:00
YoshiRulz 685a5cd119
Fix some tiny float imprecisions in `PlatformFrameRates` 2025-04-24 05:50:35 +10:00
YoshiRulz 5516281381
Add citations for Amiga in `PlatformFrameRates` and fix values 2025-04-24 05:50:33 +10:00
YoshiRulz 9ae37ee239
Reformat citations for NES and PSX in `PlatformFrameRates` 2025-04-24 05:50:13 +10:00
YoshiRulz 5e2c1b9ddf
Revert alphabetisation of `PlatformFrameRates` source
partially reverts 93f33815e
why split up related systems? also I have a set of refactors pending
which can't be reconciled with the alphabetised list
2025-04-24 05:49:55 +10:00
YoshiRulz f656f07bfe
A couple refactors for `RoslynUtils` and `DefaultSetterGenerator` 2025-04-24 04:51:48 +10:00
YoshiRulz b4cb0b7612
Remove redundant `unsafe` from a couple classes 2025-04-24 04:51:48 +10:00
YoshiRulz 8931f05703
Remove redundant `IPipeline.SetUniformMatrix` overload 2025-04-24 04:51:47 +10:00
Morilli 1fd6e2e085 fix dosbox cycle timing code
- closes #4295
2025-04-23 03:43:48 +02:00
Morilli 0001707a42 make "Show Keys" item set all keys instead of toggling them
see also #2779 for a similar fix for the "Show Player X" item
2025-04-22 20:52:42 +02:00
Morilli d8062cf731 [CI] remove unnecessary install actions
Somehow this broke the windows workflow and as lua is shipped by bizhawk on windows and liblua5.3 is installed on ubuntu we don't need any explicit install action.
2025-04-22 20:21:48 +02:00
feos d446c6c46d dsda: resolution now changes on the fly
TODO: fix slowdown after a few changes
2025-04-22 21:15:27 +03:00
YoshiRulz 77b4507ad3
Let `LuaTests` run in CI 2025-04-23 03:40:07 +10:00
YoshiRulz 164a89aaf6
Fix code style warnings 2025-04-22 04:25:38 +10:00
Morilli 8a9f185f5d Fix HexEditor rom path handling
`Config.RecentRoms.MostRecent` is not a path apparently
2025-04-21 14:23:06 +02:00
Morilli 092accbba0 fix dosbox Bk2MnemonicLookup 2025-04-21 12:06:04 +02:00