Commit Graph

1018 Commits

Author SHA1 Message Date
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 72f880db27 add default rumble binds
- closes #4081
2025-02-17 10:58:01 +01:00
feos c5807662b6 uae: a game requiring empty input port found
see #4213
2025-02-08 14:46:21 +03:00
Sergio Martin bd58dd1d95
QuickerNES NES 2.0 header read fix (squashed PR #4211)
* Integrating NES2.0 cart loading fixes

* Adding windows dll

* Update bizinterface.cpp according to Morilli's recommendation
2025-02-08 05:11:33 +10:00
feos 47089a3f02 uae: don;t build debug 2025-02-06 20:17:23 +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
YoshiRulz 83098604fa
Set `MONO_THREADS_SUSPEND=preemptive`
see #4117
2025-01-23 05:32:54 +10:00
CasualPokePlayer 87a740d09a [TIC80] Don't read uninitalized local variables in lua_ttri
Fixes #4190
2025-01-16 09:47:49 -08:00
Morilli 6c6986d79e Fix mupen rom mirroring
As reported on discord, this broke paper mario JP/US versions and potentially many more non-power-of-2 rom size games.

fixes d2fe532f6d
2025-01-16 10:05:36 +01:00
CasualPokePlayer fe8bc2d227 Linux rebuild encore 2025-01-14 08:57:16 -08:00
CasualPokePlayer 1a1de0fa67 [Encore]
Remove GetVideoVirtualDimensions (no longer used)
Add System Bus domain
Fix deterministic time functionality using timezones when they should not
2025-01-14 07:08:23 -08:00
CasualPokePlayer 24a4b47adf don't try to "fix" y axis in touchpad (it should just match the mouse convention), add touchpad button to default controls for nds/3ds touch
note that touchpad axes aren't put in default controls, can't actually have multiple axes bound at the same time
2025-01-07 02:11:10 -08:00
CasualPokePlayer fafb1ab3e3 [RetroAchievements] Separate leaderboard complete sound effect.
Default file is just a duplicate of unlock.wav, a user can put in their own wav file if they choose to.

Resolves #4166
2025-01-06 13:27:40 -08:00
feos e29a4bc052 add amiga to default controls 2025-01-05 14:30:46 +03:00
CasualPokePlayer 0ec54fe9d6 Make touch input interpolation configurable 2024-12-29 22:08:54 -08:00
CasualPokePlayer af0b10fb58 linux rebuild mgba 2024-12-27 06:39:54 -08:00
CasualPokePlayer 2202e4f9b9 Update mgba
quite a few commits would be wanted here (mainly 109fbe60f5)
2024-12-27 06:35:36 -08:00
Morilli 4dc0ec5b87 fix bundled input display script's controller detection
surely this breaks nothing
2024-12-20 20:24:35 +01:00
Morilli 18ef28ccef Improve bundled input display script's handling of unsupported systems 2024-12-20 20:23:51 +01: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
CasualPokePlayer 075247c643 mgba windows build 2024-11-24 13:56:03 -08:00
CasualPokePlayer 3d2caf8664 properly init mRumbleIntegrator 2024-11-24 13:53:28 -08:00
CasualPokePlayer 39a896b289 mGBA windows build + C# side changes 2024-11-24 13:39:18 -08:00
CasualPokePlayer 1fb23ac6ac Use newer mRumbleIntegrator 2024-11-24 13:35:18 -08:00
feos f0eedbce0a update mgba 2024-11-24 23:41:02 +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
CasualPokePlayer c21df56eaf Linux mgba build 2024-11-19 23:02:57 -08:00
CasualPokePlayer e54ea196e1 [mGBA] Fix light counter not being correctly serialized
Resolves #4094 and resolves #4118
2024-11-19 22:57:51 -08: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
CasualPokePlayer 65b5d35e8e Add in digital titles for 3DS gamedb 2024-11-19 00:35:58 -08:00
feos ef307c1e69 puae input: fixed? 2024-11-16 22:04:52 +03:00
CasualPokePlayer 138e4dc392 Add initial 3DS gamedb 2024-11-15 18:59:38 -08: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 1567bd23ec
Add Nobara Linux support to EmuHawkMono.sh
Some Fedora based distro, needs /usr/lib64

https://www.reddit.com/r/NobaraProject/comments/1goxkwz/bizhawk_emu_crash/
2024-11-11 12:29:24 -08:00
CasualPokePlayer 45b958517e commit melonDS build 2024-11-10 22:55:47 -08:00
Morilli 5728c83ee9 strip checked-in binaries
I only touched the ones self-built by us here. There's some more potential candidates like chd_capi and waterboxhost but those are rust-built so I'd rather not touch them for now
2024-11-11 05:01:12 +01: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
feos a2d401d670 puae: wip 2024-11-07 23:25:50 +03:00
feos 869bef4989 puae: controller config wip 2024-11-06 20:56:22 +03:00
CasualPokePlayer 76aae7afd7 fix buggy audio when closing lid 2024-11-01 15:22:57 -07:00
Asnivor 867b2384fd [ChannelFHawk] Latest homebrew golf version to gamedb 2024-10-29 14:52:56 +00:00
Asnivor 97c819ac5f [ChannelFHawk] Add newer Mikebloke games to gamedb 2024-10-29 14:11:36 +00:00
CasualPokePlayer 8f642d6b8f expose DSi NWRAM 2024-10-26 17:32:58 -07:00
feos 90287b3396 puae: support region changes
by user at the start and by the game on the fly
todo: ntsc par (pal par is 1:1)
2024-10-25 01:17:52 +03:00
CasualPokePlayer 84130285aa fix host mouse to touch input weirdness with melonDS savestates 2024-10-19 00:51:14 -07:00
CasualPokePlayer d3f4c1f441 fix mupen buffer overflow checks; fix pure interpreter
resolves #4095
2024-10-18 15:36:38 -07:00
CasualPokePlayer 1f261b2c33 Fix crashes with GPU compute renderer w/ wbx states 2024-10-17 21:44:14 -07:00
Asnivor e7e2b8f801 [FlooohZ80] use z80.h in submodule 2024-10-15 14:57:25 +01:00
feos 40dae6e8ae new function 2024-10-11 22:42:19 +03:00
CasualPokePlayer aac3da9e0d rebuild rcheevos on linux 2024-10-10 21:39:28 -07:00
CasualPokePlayer e1820081ee Update rcheevos to v11.6.0 2024-10-10 21:35:28 -07:00
feos 809d43dd44 fix #4069
gpgx: swap A and D regs in gpgx_getregs()

actually limit pc to 24 bits, not just disasm address
2024-10-07 19:34:48 +03:00
feos 737e9ca73b puae: writable memory 2024-10-07 19:26:19 +03:00
CasualPokePlayer bcf7f981f4 Rebuild Floooh for Linux 2024-10-07 01:12:35 -07:00
CasualPokePlayer 187674338b simplify floooh z80 usage 2024-10-07 01:09:17 -07:00
Asnivor 682dd761c3 FlooohZ80 - revert any changes to source header 2024-10-07 06:32:48 +01:00
CasualPokePlayer 0d3498e986 rebuild mgba for Linux 2024-10-06 17:16:12 -07:00
CasualPokePlayer b443eb40a8 Hook up rumble for mgba 2024-10-06 17:13:20 -07:00
CasualPokePlayer ce2a6da71f Build FlooohZ80 on Linux 2024-10-06 15:19:33 -07:00
CasualPokePlayer 6c2661fdac Revert "Add prints to gpgx_swap_disc" and "Add prints to cdStreamOpen"
This reverts commit 9e0cfb117b and 5c3ae64014.
2024-10-06 14:15:26 -07:00
Asnivor c644ed19ef [CPCHawk] Trying a new z80 implementation 2024-10-06 22:01:09 +01:00
CasualPokePlayer 9e0cfb117b Add prints to gpgx_swap_disc 2024-10-06 13:38:57 -07:00
CasualPokePlayer 5c3ae64014 Add prints to cdStreamOpen 2024-10-06 13:08:59 -07:00
CasualPokePlayer 5ad12db814 fix crash with sa1 ram exposure 2024-09-30 23:01:09 -07:00
CasualPokePlayer f9d4737104 Expose SA1 IRAM in old BSNES 2024-09-30 22:16:26 -07:00
CasualPokePlayer 444d8d5d10 [Snes9x] Increase CARTRAM to 512KiB (the 128KiB limit was a product of the old snes9x port, newer snes9x has 512KiB as the new limit). Expose SA1 IRAM. Let ROM be writable in the memory domain (no reason not to) 2024-09-30 21:07:19 -07:00
CasualPokePlayer 9ce41a2a88 only update custom backdrop palette if in mode 5
maybe affects https://github.com/TASEmulators/Genesis-Plus-GX/issues/5 ?
2024-09-30 13:32:12 -07:00
CasualPokePlayer ed676cda39 rebuild libmgba for Linux 2024-09-28 09:02:21 -07:00
CasualPokePlayer cab0b2df0b [mGBA] Fix savestates not writing back GPIO variables to gpioBase
The issue wasn't light sensor specific, but rather GPIO specific (so e.g. RTC games like Pokemon would also get affected)

resolves #4060
2024-09-28 08:58:24 -07:00
Morilli 117b35f037 update bsnes from upstream source
includes some reverts to unnecessary source modifications
2024-09-24 15:57:17 +02:00
Morilli 5f835164de fix default controls having a deadzone for mouse
Deadzone when you're using mouse values as input never makes sense.
2024-09-24 00:14:21 +02:00
CasualPokePlayer 2c63ef487b Rebuild quickNES on Debian 10 2024-09-18 13:24:40 -07:00
CasualPokePlayer c471a72e64 Fix save type for Puzzler World USA 2024-09-18 01:59:12 -07:00
Morilli fb228b77c9 Fix quickernes dll
apparently the one before was a debug build?

I built this using the makefile
2024-09-14 20:02:18 +02:00
Sergio Martin bf8758e61c
Adding Stella as A2600 emulation core (#3911)
* Adding initial version of the core

* Adding base files

* Trying to load waterbox now

* Adding stella

* Adding bk class

* Compiling bk interface to stella core

* Now compiling against Stella + SDL2-based BK backend

* Progress

* More progress

* Frame advancing (no render)

* Calling video update but crashing on zero div

* Now rendering to screen with correct palette

* Now rendering appropriately and with correct palette based on region

* Now reading controls

* Trying to capture audio

* Now adding audio

* Now polling inputs

* Now polling inputs

* Now reporting memory regions

* Added memory regions

* Removing debug prints

* Fixing indent

* Adding stella core

* Updating readme and make all cores

* Recovering ending comma

* Using heap alloc for sound buffer

* Removing unnecessary files

* Update src/BizHawk.Emulation.Cores/Consoles/Atari/Stella/Stella.IMemoryDomains.cs

Co-authored-by: James Groom <OSSYoshiRulz+GitHub@gmail.com>

* Update src/BizHawk.Emulation.Cores/Consoles/Atari/Stella/Stella.IMemoryDomains.cs

Co-authored-by: James Groom <OSSYoshiRulz+GitHub@gmail.com>

* Fix

* Restoring vscode

* Removing warning

* Update waterbox readme

* Fix Stella's `[Core]` attr

* Increased sound buffer size to 1Mb, as some games need more than 4K

---------

Co-authored-by: James Groom <OSSYoshiRulz+GitHub@gmail.com>
Co-authored-by: Morilli <35152647+Morilli@users.noreply.github.com>
Co-authored-by: YoshiRulz <OSSYoshiRulz+git@gmail.com>
2024-09-11 08:18:54 +03:00
Sergio Martin aa662eb930
Update quickerNES and add Arkanoid input support (squashed PR #3997)
* Update QuickerNES interface to accept arkanoid controllers

* Updating

* Updating quickernes to its latest version and now supporting ArkanoidNES and ArkanoidFamicom controllers

* Apply suggestions from code review

applying yoshi's suggestions

Co-authored-by: James Groom <OSSYoshiRulz+GitHub@gmail.com>

* Using proper C#

* Updating based on Morilli's comments

* Updating the linux core

* Fixes based on Yoshi's comments

---------

Co-authored-by: James Groom <OSSYoshiRulz+GitHub@gmail.com>
2024-09-08 21:24:27 +10:00
Morilli 0f74595cdb Update gpgx 2024-09-08 10:54:48 +02:00
CasualPokePlayer 3b1641510e [A2600Hawk] Add SP_RESET for Q-Bert
Fixes "Unable to resolve Frame" exception on soft reset
2024-09-07 13:35:51 -07:00
Asnivor 830760b12a [ChannelFHawk] Launch internal games by passing bios files as a ROM (which in turn contain said internal games) 2024-09-05 17:03:58 +01:00
Asnivor 8ae73ed850 [ChannelFHawk] Implement the Sean Riddle multi-cart mapper 2024-09-05 13:41:57 +01:00
CasualPokePlayer 84de88571e Rebuild SDL on Linux 2024-09-04 12:21:42 -07:00
CasualPokePlayer 40237d476a Update SDL submodule
includes https://github.com/libsdl-org/SDL/pull/10645 (waiting on merge)
2024-09-04 12:18:28 -07:00
Asnivor 5d37fb1ec2 ChannelFHawk: Default controls and VirtualPad 2024-09-04 17:36:57 +01:00
Asnivor 999c7c2a80 ChannelFHawk: Updating gamedb 2024-09-04 15:48:05 +01:00
CasualPokePlayer aeda8f1659 Add microphone button for melonDS
This changes the behavior so the user just has to press the microphone button to blow the mic, where the volume of the blowing can be controlled with the mic volume axis (but now the neutral value of mic volume is 100 rather than 0)
2024-08-30 17:35:18 -07:00
YoshiRulz b84ce89575
Stop setting `BIZHAWK_INT_SYSLIB_PATH" in Linux launch script
unused since ba24907d9
(leaving it in the Nix expression since that same script is used across
every version)
2024-08-01 01:48:13 +10:00
feos 8e9e9b9218 update script 2024-07-27 14:54:02 +03:00
James Groom 3a8b3913bf
Fix Uzebox framerate (squashed PR #3975)
These numbers are derived from the 2010 whitepaper:
NTSC's 4*(315/88 MHz) is doubled to give the master clock rate, which is
then divided by 1820 cycles per line and 262 lines per (progressive)
frame.

---------

Co-authored-by: Morilli <35152647+Morilli@users.noreply.github.com>
2024-07-24 07:31:34 +10:00
feos e214b7dc33 fix script 2024-07-16 20:29:29 +03:00
feos a5e7288a71 add batman-robin lua 2024-07-11 17:48:33 +03:00
CasualPokePlayer 4ad33b3d06 Rebuild waterboxhost on Debian 10
Also fix the build scripts to explicitly use nightly (which waterboxhost does need currently)
2024-06-17 21:35:57 -07:00
CasualPokePlayer 6e5de797d2 Build rust projects with x86_64-win7-windows-msvc target 2024-06-17 19:41:52 -07:00
CasualPokePlayer f309dbc316 bounds check reading spu output 2024-06-16 23:32:14 -07:00
Morilli 39d3c28bc3 Update waterboxhost dependencies
- closes #3279
2024-06-15 16:16:13 +02:00