Commit Graph

39 Commits

Author SHA1 Message Date
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
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 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
feos c65a11eb2b fix #3917
[genesisplusgx] "VDP mode" option (for eliminate region lockups / megakey behavior) #3917
2024-05-27 19:55:45 +03: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
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
CasualPokePlayer 095d160034 try fixing gpgx cd audio 2024-04-27 03:12:27 -07:00
CasualPokePlayer 85f83121ec cleanup gpgx cinterface code 2024-04-26 16:41:06 -07:00
CasualPokePlayer fb438863f5 Fix crash when saving CD ebram 2024-04-26 16:18:34 -07:00
CasualPokePlayer 80f209ed0d Remove CD caching code
It was a sort of novel speed boost idea, but it doesn't work too well due to wbx heap limitations and the drive light still needing a callback anyways
2024-04-26 15:41:33 -07:00
CasualPokePlayer f9b8a775b0 Fix drive light not appearing as much as it should 2024-04-26 13:50:37 -07:00
CasualPokePlayer ef72cbff43 Do changes to reduce diff against upstream GPGX 2024-04-26 11:58:02 -07:00
Sergio Martin 5cb1fe0042
Update Genesis Plus GX Core (#3889)
* Added deep freeze functionality
* Adding support for selecting sound chip
* Adding LUA interface to the deepfreeze list
* Implemented sprite always on top in the VDP
* Found and fixed the issue that manifested itself in a reset Gargoyles and an outright fail in Ristar. The issue was the use of a union type containing overlapping cd and cartdrige data. Using struct now to keep them separated
* Fix PC reg in tracelogs
---------
Co-authored-by: feos <feykomylce@gmail.com>
Co-authored-by: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
2024-04-21 18:34:54 +03:00
CasualPokePlayer 332143ea8d invalidate cram caches when poking, maybe 2023-05-18 21:14:57 -07:00
Morilli 589823d009 GPGX: add setting to disable per-line sprite limit
- resolves #3440
- includes manually cherry-picked e0ef0902e96bd9d71cb49c64505e755007e7452c
2022-11-22 14:44:39 +01:00
nattthebear 25bdeb7f69 Use alloc_plain to allocate the md_cart space so it will be writable if needed
This lets us support mapper32k_w without needing extra hacks.  Because of lazystates, this doesn't hurt us on state size either (lazystates did not exists when we did 722358c1b1
2020-08-07 07:17:14 -04:00
nattthebear 2ee3125724 Refactor gpgx init method to use fewer arguments
Upcoming waterbox changes will likely limit the number of arguments a function can take to 6, which should be enough for anybody
2020-07-03 13:24:54 -04:00
nattthebear 21cdf5120b
Revamp waterbox build environment and runtime. (#2027)
Create an all new waterbox build environment:
WSL2 + Ubuntu 20.04 LTS (Other linuxes may work)
Musl libc with waterbox customizations
LLVM's libclang-rt, libunwind, libcxxabi, libcxx
Static linking to elf files

Compared with the old system, this is easier to set up a dev env for and easier to update in the future. The executables are larger but produce smaller savestates due to static linking. The modern toolchain means advanced library features and language features that sometimes appear in some upstream cores will be reusable.
2020-05-20 15:34:24 -04:00
nattthebear 00aebc110c
Fix 3 band equalizer in Genesis (#2008)
If you tried setting your gains to 100 in the previous patch, it worked sort of, but I decided to incorporate ekeeke/Genesis-Plus-GX@f6f4556 as well to actually fix it completely, and rescale the setting properly so that 1.0 really is neutral gain.

Fixes #1319
2020-05-14 20:29:02 -04:00
nattthebear a040e67c95
Add option to force sram in genesis core (#1991)
gpgx upstream automatically gives 64KiB sram to every game of size 2MB or lower, unless specifically overrided.  That sucks and we don't do it.  But some games do need it; there's not enough information to autodetect otherwise.  So add a flag that we can set in gameDB for it, and set it true for two known games that have problems otherwise.
2020-05-09 13:48:46 -04:00
nattthebear c31ebe176d gpgx: multidisk? dunno 2017-07-17 18:49:16 -04:00
nattthebear e57a3ae23c gpgx: silently discard R&W on bus to locations that shouldn't be accessed by plain pointer 2017-06-26 18:17:00 -04:00
nattthebear 21c70d1d65 gpgx: port other changes from the old branch 2017-06-22 17:44:23 -04:00
nattthebear ef8264a8b0 waterbox: Add special handling for imports in XorStates. Fix a few other instances where managed pointers were leaking out into XorStates 2017-05-27 20:38:28 -04:00
nattthebear fa24f5fc9d GPGX64 works with the new waterbox, or would if I pushed the binaries. Savestates are hosed; TBD 2017-05-20 18:50:01 -04:00
nattthebear a325969963 Work more on waterbox and convert GPGX64 to use the new PERunner. Doesn't work yet. 2017-05-20 17:18:31 -04:00
nattthebear 5876c60571 gpgx waterbox - dynamically allocate some sega CD memory areas to reduce state size. raw core is now about 800K in normal mode; 2MB in sega CD mode 2016-03-27 12:00:50 -04:00
nattthebear b4735502a5 gpgx waterbox: fix a few misc bugs in elfrunner, and fix a few misc bugs in the core so that Virtua Racing now works 2016-03-26 14:44:44 -04:00
nattthebear a3a761d028 won't miss that code 2016-03-23 21:37:33 -04:00
nattthebear 92e708d011 gpgx waterbox: move bg_pattern_cache to alloc_invisible 2016-03-23 21:10:18 -04:00
nattthebear 06f9d78452 gpgx: trim savestate size by moving some things to the sealed heap 2016-03-23 20:52:49 -04:00
nattthebear b06908e5d4 gpgx waterbox: get sega cd working 2016-03-23 20:11:47 -04:00
nattthebear 8136aa0f03 Add the basics of multiple memory arenas to elfrunner. With a bit of tweaking, gpgx core states are now 3.5MB (and could get smaller) 2016-03-23 19:45:02 -04:00
nattthebear c857b162d0 Add waterbox folder with the gpgx waterbox experiment. Not useful for much yet 2016-03-22 21:58:52 -04:00