Commit Graph

635 Commits

Author SHA1 Message Date
feos ba48066748 dsda: automap controls (and live gamma toggle)
limited to vanilla functionality
currently only works for doom, will require refactoring to work universally
2025-04-03 23:34:18 +03:00
VelpaChallenger 53cdf182ae
Pass values to memory callbacks in GPGX (squashed PR #3821)
* fix on_bus_read issue for genplus-gx core

- related to issue #3813
- update signatures, create new value variable in each of the memory read core functions, pass it to the callback and return it instead of the inline calculations. Also, pass val to write and exec callbacks in IDebuggable since they all use the same mem_cb signature and it would break otherwise. I want to update write and exec callbacks in next commit though to ensure nothing unexpected happens.

* update write callbacks for genplus-gx

- related to issue #3813

* update exec callbacks for genplus-gx

- closes #3813

* twice memory peek for deep freeze via on_bus_read bizhawk

Read a first time to pass the read value to the callback, read a second time to read the updated value in case it was updated by the callback and effectively deep freeze the value, no matter if 8, 16 or 32 width

* remove lines from unknown source

I have no idea where those lines came from. But I never meant to add them. This should look like it currently looks in master

* reinsert const, use implicit delegate constructors

* update submodule commit to before override memory values

* rename a to addr, unsigned int to just unsigned
2025-04-04 05:46:57 +10:00
Morilli cf12159f55 make do-everything.sh fail properly 2025-03-31 02:56:48 +02:00
Morilli 96d192735e fix libcxx configure 0 for cmake 4 2025-03-31 02:55:25 +02:00
Luke Stadem 3af38050f8
[A26][Stella] Adds support for the console Select switch (#4178)
* [Stella] Added the Select switch input

* [Stella] Reduced console switches into a single int corresponding to the SWCHB register
2025-03-22 17:49:27 +01:00
feos 92df238d9e dsda: fix button turning for shorttics
move shorttics cals to frontend to explicitly show all the logic that reproduces upstream input handling
2025-03-21 20:00:23 +03:00
Morilli b7a0fe647e Update musl 2025-03-20 20:44:36 +01:00
feos ebbdc1ad5c dsda: send inputs by struct pointer
greatly simplifies adding more inputs (like automap control)
2025-03-17 19:19:00 +03:00
feos 9351a045c0 dsda: detect wipe as lag
automap mnemonic
2025-03-16 22:44:37 +03:00
feos 89b6da50d0 WIPE!!! 2025-03-16 22:20:12 +03:00
feos 93ebd91971 dsda: wipe wip 2025-03-16 16:21:48 +03:00
feos 4a3ad3a1d1 dsda: fix build, spacing 2025-03-14 18:10:43 +03:00
Morilli 6665e0e35e fix dsda CI build 2025-03-14 14:59:20 +01:00
Morilli 44dc0f4461 pass args and fix ares build call 2025-03-14 14:49:41 +01:00
Morilli 3a4815d3da make make-all-cores.sh error properly 2025-03-14 14:41:36 +01:00
feos aa7b78894a dsda: convert c++ to c 2025-03-14 16:07:28 +03:00
bigbass1997 abc6900c72 Changed print statement to only appear in debug builds 2025-03-13 07:11:13 +10:00
feos 6965767328 dsda: fix -warp
only doom1 uses episode number in -warp, all the rest ignore it and use the first digit to set map (episode is forced to 1 for them). to detect this we now ask the core which gamemode it is (which determines it internally too).

rename complevel setting
2025-03-12 20:40:29 +03:00
Morilli c826344637 update snes9x
- closes #4260, closes #4194
2025-03-08 22:20:28 +01:00
feos 4a7e0c6008 dsda: fix missing sounds
proper aspect ratio
2025-03-01 17:19:56 +03:00
feos 905c972738 dsda: parse our own config file
set vanilla res as a start
2025-02-27 23:16:44 +03:00
feos dd6beccfb0 dsda warnings 2025-02-26 19:50:16 +03:00
feos f6538289dc dsda: fix lmp import
only tested on doom, no idea if movies for other 2 even exist lol
2025-02-25 23:21:23 +03:00
feos d628f035f7 dsda: commit c_cpp_properties.json 2025-02-25 20:09:20 +03:00
feos b0c2ef831c dsda: automap command 2025-02-23 20:31:49 +03:00
feos 918783126e dsda: match button names to dsda
(except for weapon keys since they may mean different thing for non-doom)

tweak doom mnemonics too
and push core submodule
2025-02-23 11:00:01 +03:00
feos fe29eb12dd dsda: process longtics and fix turning speed
rename some enum values
contains hack to work around export problems with dsda_Flag()
2025-02-23 02:30:40 +03:00
feos f47136be46 dsda: pass commandline args to core from hawk
that way we don't have to rebuild the core for every commandline option that it already supports and we decide to use, also more meaningful presentation of those options on the managed side
2025-02-22 22:22:54 +03:00
Sergio Martin 3c5f699af9
Adding DSDA as Doom/Hexen/Heretic core (#4196)
Co-authored-by: feos <feykomylce@gmail.com>
Co-authored-by: YoshiRulz <OSSYoshiRulz+git@gmail.com>
2025-02-19 00:21:47 +03:00
Morilli e094721de8 bump gpgx max rom size to 32MB
- closes #4229

This rom size was present in 2.9.1 but was reverted in a cleanup commit.
2025-02-18 17:15:31 +01:00
Morilli 52766e67fc fix recent waterboxhost warnings 2025-02-18 16:54:05 +01:00
feos c5807662b6 uae: a game requiring empty input port found
see #4213
2025-02-08 14:46:21 +03:00
feos 74fcbc28eb uae: include more scanlines into image
fixes #4204

RANT TIME

visible area is largely nonsense when it comes to CRT TVs, because they may cover different amounts of the screen based on model, and you can adjust some of them also based on model to show more or less of it.

4:3 aspect ratio is also somewhat nonsense because TVs don't automatically rescale your video input to the entire screen like modern computers do. they just stretch or shrink it based on pixel frequency of the input and how it relates to whatever the given TV is configured to.

Rec601 was created in order to somewhat standardize this but it only contained RECOMMENDATIONS (hence the name) on how to digitize analog video, not how analog devices should be configured. so a lot of TVs looked different from what it would be digitized to based on this spec.

in gaming it's a common misconception that console output is meant to be resized to 4:3 DAR of the TV. in reality it's stretched according to PAR - pixel shape which comes from differences between color frequency of the input and standard NTSC or PAL color frequency.

if the console updates color more often than the standard, analog signal with higher pixel density will be put on the screen as is, and pixel will look "squished", sometimes up to 2x for 512px resolution modes (PS1). if the console updates color rarer, pixels will look stretched (A2600).

Amiga PAL mode has 1:1 PAR, no stretching is needed, so whatever aspect we're outputting will just go to encodes as is. NTSC Amiga PAR is 6:7, so we're shrinking a bit in encodes and when hawk is configured to device aspect.

this all means that it doesn't matter how many pixels we take of the rendered image, all we care about is stretching it to proper PAR. whether it contains overscan only affects fullscreen because extra blank area means less of useful data. and since some exceptional games decide to render AT THE VERY BOTTOM there's little to no harm in showing all 574 rendered scanlines. who hates it and wants 568 can crop it, but I don't expect anyone to care (or even notice).

so while nominal internal res for Amiga is 576 and canonical UAE default is 568 (tho it lets you adjust visible area and we don't), I think we can safely output our heretical number at all times.
2025-02-06 19:43:32 +03:00
CasualPokePlayer 87a740d09a [TIC80] Don't read uninitalized local variables in lua_ttri
Fixes #4190
2025-01-16 09:47:49 -08:00
CasualPokePlayer ec297bf215 [TIC80] Add lbitlib.c to vendor sources
Dead code in practice, but this is needed so debug builds actually build
2025-01-16 09:47:49 -08:00
CasualPokePlayer 0ec54fe9d6 Make touch input interpolation configurable 2024-12-29 22:08:54 -08:00
feos 18078c8764 rename puae to uae
while libretro initially ported original puae (which is long dead), they switched to just pulling updates from winuae every once in a while (and renamed to libretro-uae), because it's still active and is kinda considered golden standard these days
2024-12-14 19:01:31 +03:00
feos 48913b4653 puae: led light 2024-12-09 20:35:24 +03:00
feos 2cd22490e9 uae: print slot/drive contents (#4138)
fix wrong const in the core
2024-12-08 14:54:27 +03:00
feos 118e2876a4 puae: fix framerate and resolutions, cleanup
todo: av dumper dies in ntsc mode on frame 11...
2024-11-20 22:10:56 +03:00
feos 0818e97fee puae: it's unclear if mouse_deltanoreset helps with anything currently
it seems to always be true in winuae...

also cleaned up our fork a bit
2024-11-19 21:31:26 +03:00
feos ef307c1e69 puae input: fixed? 2024-11-16 22:04:52 +03:00
CasualPokePlayer 7899c9ddce Add function for getting input device overrides
Only use case in practice for us is ST-V, which forces specific input configs (since it's an Arcade machine)
2024-11-14 19:47:44 -08:00
CasualPokePlayer a51c7c07d0 Add support for ST-V (with Saturnus) 2024-11-14 17:33:07 -08:00
CasualPokePlayer 7714004da5 revert to older mic blow samples 2024-11-10 22:55:47 -08:00
feos 9e07c85027 wip2 2024-11-11 00:16:31 +03:00
feos ea5f3f601c wip 2024-11-10 23:22:32 +03:00
feos f1fa82702e what the fuck
what the fuck

if I send my ports to puae's 0 and 1, both go to port 0
if I send my ports to puae's 1 and 2, they go to ports 1 and 2
if I send both of my ports to puae's 0, they go to ports 0 and 1

what the fuck
2024-11-10 15:53:59 +03:00
Fernap c7d87c487e pull bsnes upstream
b815744b4cff6d6854090545b78ae8e1a6669976: change target address to 24 bits instead of 16 for DMAs to BWRAM to reflect size of DDA register
2024-11-09 05:42:36 +01:00
feos 4c3b59c39c puae: fix something 2024-11-08 20:28:53 +03:00