Commit Graph

1045 Commits

Author SHA1 Message Date
Morilli 6284b56e81 bsnes: implement r/w callback value passing
The value will now be passed to the frontend for read callbacks and both read and write callbacks' values can now be changed in the callback.

execute would probably be possible but would require some additional code changes which I'm not sure about
2025-07-10 20:06:29 +02:00
CasualPokePlayer 21b8331331 Update encore for clang 20 support, rebuild on Linux 2025-07-07 15:13:49 -07:00
CasualPokePlayer 0eb2f9fd64 Update Encore, rebuild
Resolves #4374
2025-07-07 13:25:29 -07:00
Morilli 8f01fb755e BSNESv115+: update from upstream 2025-07-06 01:26:03 +02:00
feos 5a105a156f dsda: full vision option
I was unable to make it launch with full vision on the very first frame unless it's set during init. which means there will be savestate problems if we allow switching this on the fly. setting it on init only is probably fine too.
2025-06-28 23:45:44 +03:00
feos 080017b800 dsda: set full render info before we emulate anything
gamma was correct on startup but other settings were only applied on first emulated frame

frame 0 will be blank with and without wipescreen
2025-06-28 17:05:54 +03:00
CasualPokePlayer d733430861 Rebuild quickerNES linux 2025-06-19 22:29:10 -07:00
CasualPokePlayer 66c547e41a Disable MMC5 support in QuickerNES
Restores b1f4a77251
Fixes #4244
2025-06-19 22:21:10 -07:00
feos a030b16916 doom script: spacing 2025-06-14 23:06:05 +03:00
feos 4636cd8cd7 add doom script 2025-06-12 18:43:48 +03:00
feos 9143bdcee1 dsda: expose linedef coords 2025-06-12 18:43:48 +03:00
feos ffb469540e dsda: expose linedefs as mem domain 2025-06-09 01:27:51 +03:00
feos 8b43c98657 dsda: fix reading OUT OF BOUNDS of mobj_t 2025-06-07 18:28:11 +03:00
feos 987a9f96f8 dsda: get input format from db 2025-06-07 11:53:11 +03:00
feos 513c1ca8ed dsda: raven defaults and mnemonics
rename controller so all 3 games can share binds
2025-06-07 10:17:20 +03:00
feos 0a8b57cf55 dsda: flylook buttons 2025-06-06 23:33:36 +03:00
feos 1783c28fc2 dsda: expose raven inventory selection 2025-06-06 21:29:38 +03:00
feos 0d40ea955e dsda: fix fist selection for boom compat
initially I read the code wrong. `demo_compatibility` means vanilla complevel, not "demo is running". for vanilla hitting 1 would switch to first only if you have berserk, otherwise it'd stick to chainsaw (provided you have it of course). that part was working ok. but for boom compat hitting 1 swaps fist and chainsaw at all times, and that part was broken: chainsaw would not get selected even if you have it.

pass button values directly (same can be done for arti)
2025-06-05 20:34:16 +03:00
CasualPokePlayer 156fb5062b Rebuild SDL2 Linux 2025-06-04 14:44:41 -07:00
Morilli 6aa7f325d1 bump SDL2 and libusb
SDL2: ~2.31 => 2.32.8
libusb: 1.0.27 => 1.0.29

someone else rebuild linux with proper glibc version
2025-06-04 22:57:26 +02:00
Morilli a2cf4e0797 clarify semantics and implementation of ISaveRam.SaveRamModified 2025-06-04 18:51:04 +02:00
feos 5fa597ad8a dsda: fix automap inputs crashing outside level
update settings descriptions
2025-06-04 16:14:56 +03:00
CasualPokePlayer 74647e4dc8 Linux sameboy build (with actual rumble mode changes this time) 2025-06-01 23:39:16 -07:00
CasualPokePlayer 803f72e85a Make SameBoy's rumble mode configurable, default to rumble pak games only
see #4343
2025-06-01 23:38:54 -07:00
CasualPokePlayer 6c10ccd1d1 Linux sameboy build 2025-06-01 23:37:43 -07:00
feos 40b7b49f8c dsda: announce gamma on front end
they say the code should be so verbose that you won't need comments. indeed comments that restate the same thing that the code is doing are considered sloppy, because code will change and comments will become outdated. but if a comment is describing the logic of decision making or some unintuitive quirk, they're perfectly fine. so in a few places I go crazy with comments because the decision made there took a long time and a lot of changes, so it kinda summarizes the best result. that's it, no elaborate description of the change itself here... because I put it into that comment instead XD
2025-06-01 19:41:37 +03:00
feos f0564300c7 dsda: set gammma after core seal but before first frame advance 2025-06-01 16:23:40 +03:00
feos 93ebbc60d6 add all other official freedoom versions to db
(and remove unofficial ones)
2025-05-31 21:29:10 +03:00
feos ec65117fdf dsda: add some freedooms to db
support other aspect ratios (otherwise hires automap looks bad if we only correct aspect in frontend)
2025-05-30 22:35:02 +03:00
Morilli ecd694d66b mask gpgx memcallback addresses to actual address bus size
should resolve #3862
2025-05-30 05:31:35 +02:00
feos 0a01e0dc64 dsda: fix palette not changing
note on using PALETTE_SIZE as offset. normally it's `256 colors * 3 bytes per color = 768`, but in our headless mode it's 256. upstream does `SDL_SetPaletteColors(screen->format->palette, playpal_data->colours + 256 * pal, 0, 256);` when palette is updated, so clearly it means offsetting by 256 colors=bytes. but PALETTE_SIZE I used as my offset is not for stuff upstream uses it for. just something better than a magic number.
2025-05-29 14:34:03 +03:00
Morilli b0b93fe0df update/downgrade gpgx
reverted a problematic upstream commit, resolves #4206 and resolves #4293
2025-05-29 00:35:25 +02:00
VelpaChallenger ffa5d45aaf
Memory Hook Improvements (Return value) (#4283)
* new callback system with callback return values

If the lua callback returns a value, the core will update the addr with it. Otherwise, the old value sent by the core will be used unmodified

* update MemoryCallbackDelegate return value to uint?

* throw NotSupportedException for GBA memory callbacks

* docs: return value of MemoryCallbackDelegate and CallMemoryCallbacks
2025-05-29 00:20:52 +02:00
YoshiRulz f4a5b1fd1b
Fix executable bits on prebuilt native libs (and 1 wbx lib?) 2025-05-28 00:51:33 +10:00
feos ab587289a8 dsda: add all official IWADs I could find to database
some of them the core can't even run but for completeness sake it's better
2025-05-25 17:33:05 +03:00
Morilli caeb811fe1 remove zlib1.dll
I don't think this is used anymore
2025-05-25 02:41:07 +02:00
feos b0d59e15d8 dsda: hide UI related internal messages
user will be changing those options from hawk side dialog so it's impossible to miss what you're changing (you can look at the dialog again if you're THAT sloppy)

but since we're now initializing with default nonsync settings and changing them on the fly, those UI messages would be appearing all the time

automap messages are left intact since they appear upon in-game button press

worst case scenario, UI messages are moved to hawk side, but then why limit them to only whatever upstream reports and not report every change? which is never done anyway, so I doubt it'd come to this
2025-05-25 00:16:12 +03:00
feos dce6253c8a default doom controls 2025-05-22 23:43:15 +03:00
feos d97fe551b8 dsda: print eventual complevel 2025-05-20 22:10:04 +03:00
Morilli 2e539b3c47 gpgx: fix invalid system checks
- closes #4324
2025-05-19 21:42:18 +02:00
Morilli eade36456c Update openal-soft to 1.24.3
- probably resolves #4325

built from 1.24.3 tag without router dll (so OpenAL32.dll is effectively soft_oal.dll). As far as I understand this has no implications other than disallowing other openal implementations
2025-05-19 19:48:25 +02:00
feos dfabe85181 dsda: condition for some av updates 2025-05-11 15:39:43 +03: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
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
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 8f0cd0699e dsda: volumes 2025-04-27 23:10:52 +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
Morilli 1fd6e2e085 fix dosbox cycle timing code
- closes #4295
2025-04-23 03:43: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