Commit Graph

8 Commits

Author SHA1 Message Date
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
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
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
nattthebear b06908e5d4 gpgx waterbox: get sega cd working 2016-03-23 20:11:47 -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