Commit Graph

665 Commits

Author SHA1 Message Date
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
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
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
Morilli 542f917b1f fix a new waterboxhost warning 2024-10-18 23:54:18 +02:00
CasualPokePlayer 1f261b2c33 Fix crashes with GPU compute renderer w/ wbx states 2024-10-17 21:44:14 -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 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
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
Morilli 117b35f037 update bsnes from upstream source
includes some reverts to unnecessary source modifications
2024-09-24 15:57:17 +02:00
Morilli 1231d44afc Update llvm to latest point release 2024-09-24 15:57:14 +02:00
CasualPokePlayer c471a72e64 Fix save type for Puzzler World USA 2024-09-18 01:59:12 -07: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
Morilli 0f74595cdb Update gpgx 2024-09-08 10:54:48 +02:00
Morilli c80416245e specify nightly toolchain in rust-toolchain.toml
not touching whatever the fuck build-release.bat is
2024-09-03 07:37:18 +02:00
Morilli 959484ee13 fix a waterboxhost compile warning 2024-09-03 07:36:29 +02: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
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
feos d3c560b0df uae: eject when inserting
less repeated magic
2024-06-14 10:58:42 +03:00
feos a01a7bb61e uae: swapper 2024-06-13 23:13:42 +03:00
Morilli eab2cdf606 add puae to CI + waterbox docs 2024-06-12 00:57:56 +02:00
feos 472f881f24
PUAE core (#3941)
* puae wbx submodule
export symbols
load core
firmware and command line args to core
input
settings
2024-06-11 16:02:38 +03:00
CasualPokePlayer 0a3ab1a055 Fix read/write callbacks possibly being called recursively
Also fix possible unsafe sys bus reads
2024-06-07 14:35:45 -07:00
CasualPokePlayer 448e9fb9ec fix melonDS fw generation code 2024-06-07 13:48:19 -07:00
CasualPokePlayer 11e68a2271 Add method to query relative mouse state for TIC80 2024-06-06 17:24:26 -07:00
CasualPokePlayer 43a621a695 Handle nand/firmware a bit bitter; add sound interpolation options; add hybrid screen option 2024-06-06 13:50:29 -07:00
CasualPokePlayer c21172ae03 Fix DownscaleFramebuffer not being generated (happened to work fine in melonDS upstream, but not BizHawk) 2024-06-06 00:39:31 -07:00
CasualPokePlayer ea4e96b08c fix perms on these files 2024-06-05 23:37:53 -07:00
CasualPokePlayer b7265e2f39 Update melonDS 2024-06-05 23:37:53 -07:00
CasualPokePlayer 7164763e2f Build melonDS with fwrapv, fixes weird rendering issues 2024-06-02 12:59:18 -07:00
CasualPokePlayer 43a38a05ca Workaround driver bugs(?) with D3D11 GL interop 2024-06-01 18:30:17 -07:00
CasualPokePlayer 2b986c17d4 remove some unneeded files
thought i removed these in previous commits, apparently not
2024-05-27 22:04:44 -07:00
CasualPokePlayer 0f603840e3 fix weird permissions from last commit 2024-05-27 22:00:48 -07:00
CasualPokePlayer 72f1495b1e Merge ares v134 2024-05-27 21:52:07 -07:00
CasualPokePlayer 0c6df6e79b Don't clamp touch/screen coord transformations 2024-05-27 13:33:46 -07:00
feos c65a11eb2b fix #3917
[genesisplusgx] "VDP mode" option (for eliminate region lockups / megakey behavior) #3917
2024-05-27 19:55:45 +03:00
Morilli 0f20bff766 Update and reword waterbox readme 2024-05-27 09:25:19 +02:00
Morilli f530773eb8 actually remove submodule
...
2024-05-27 09:07:54 +02:00
Morilli c739a04aa1 remove llvm-project submodule
This does not remove the llvm dependency for waterbox, just the submodule. The script pulling and checking out llvm kind of conflicts with the submodule, and having it be a submodule is not necessary here anyways.
2024-05-27 06:39:21 +02:00
feos 7b647240e8
fix #3923 (#3924)
Use fastest compression when compiling Waterbox cores in debug config
2024-05-19 15:44:43 +03:00
Morilli 3dafbe0f42 fix gpgx per-line sprite limit setting not working
fixes #3918
2024-05-15 02:42:44 +02:00
CasualPokePlayer 7d9483ea0f make sure to byteswap genesis bootrom (gpgx expects us to do this too) 2024-04-30 20:56:23 -07:00
CasualPokePlayer f4473cc4b9 add back gpgx_write_m68k_bus (got deleted accidentally) 2024-04-30 20:28:27 -07:00
CasualPokePlayer 1b742cf356 Fixup GPGX memory domains / getregister when not emulating a Genesis; fix bug using system_hw when not yet set; add TMSS bootrom support (closes #2230) 2024-04-30 20:07:09 -07:00
CasualPokePlayer b37bc7b5ff Fix #3905 2024-04-30 12:22:48 -07:00
Morilli af25174906 Fix some waterboxhost warnings
🤞that this is correct
2024-04-30 19:28:33 +02:00
CasualPokePlayer 66e38506f6 revert loadrom changes in gpgx 2024-04-30 00:48:16 -07:00
CasualPokePlayer 3c7898dd5a Fix #3906 2024-04-30 00:28:31 -07:00
Sergio Martin 9dcb84336e
Wiring up GPGX as core for SMS, GG, and SG (#3902)
* Adding GPGX as core for SMS and GG
* Enabling SMS FM selection
* Allow selecting PicoDrive as the preferred core for MD/Genesis

---------

Co-authored-by: James Groom <OSSYoshiRulz+GitHub@gmail.com>
Co-authored-by: feos <feykomylce@gmail.com>
2024-04-28 20:10:44 +03:00
feos e5a2d9ee41 update gpgx for even smaller port diff
include sms/gg stuff
2024-04-28 14:36:23 +03:00
CasualPokePlayer eeebd39a11 really fix gpgx cd audio this time 2024-04-27 05:34:45 -07:00
YoshiRulz 72f345946e Bump version in Nix `mkShell` for `flatc` 2024-04-27 22:32:02 +10:00
YoshiRulz f2b3486cc9 Restore Nix `mkShell` for `flatc`
partially reverts 06ceec639
2024-04-27 22:18:50 +10:00
CasualPokePlayer 212878397e fix gpgx audio harder 2024-04-27 03:21:51 -07:00
CasualPokePlayer 095d160034 try fixing gpgx cd audio 2024-04-27 03:12:27 -07:00
CasualPokePlayer fb3578cfb4 commit updated flatc.exe 2024-04-27 03:12:25 -07:00
CasualPokePlayer 06ceec6390 Fixup nyma flatbuffer comms, update flatbuffer 2024-04-27 02:52:14 -07:00
CasualPokePlayer cb3c7610d5 Update to mednafen 1.32.1 2024-04-26 21:56:39 -07:00
CasualPokePlayer 85f83121ec cleanup gpgx cinterface code 2024-04-26 16:41:06 -07:00