Commit Graph

16 Commits

Author SHA1 Message Date
adelikat 79aec475a9 refactor CoreComm usage in sega cores 2020-03-15 09:42:48 -05:00
adelikat f83261c116 misc cleanups in emulator core service logic 2020-01-11 13:19:51 -06:00
feos 5ca08b6c29
Camhack support (#1725)
for the camhack to work we have to save a state, hack memory, advance twice to see the changes, then load the state to prevent desync. since we can omit the framebuffer in savestates, loading them can happen without updating the screen, so the hacked camera remains visible.

advancing 2 frames automatically is done like tastudio does it when it seeks to a frame, only from lua now.

and the most questionable part is "invisible emulation", which is how Gens calls this IIRC, when everything that can distract or slow us down is skipped: sound, video, tools updates.

new lua functions:
- client.invisibleemulation()
- client.seekframe()

* for a test, mGBA core uses fake video and audio buffers and renders to them when we want to "skip" rendering. proper setup would involve actually skipping rendering those inside the core.
* allow disabling video and audio updates for gpgx too (proper approach, no fake buffers involved)
* add the script for Sonic Advance
2019-11-23 12:27:14 +03:00
James Groom 4e91f88af3
Use nameof in cores 2019-03-28 14:18:58 +11:00
alyosha-tas c19c7cd5c3 SubNESHawk
also Input register shift fix

# Conflicts:
#	BizHawk.Client.EmuHawk/MainForm.Designer.cs
#	BizHawk.Client.EmuHawk/MainForm.Events.cs
#	BizHawk.Emulation.Cores/Computers/AmstradCPC/AmstradCPC.IEmulator.cs
#	BizHawk.Emulation.Cores/Computers/SinclairSpectrum/ZXSpectrum.IEmulator.cs
#	BizHawk.Emulation.Cores/Consoles/Nintendo/NES/PPU.run.cs
2019-01-10 18:25:59 +03:00
nattthebear f6cc4c1749 stuff 2017-07-22 17:07:27 -04:00
nattthebear c31ebe176d gpgx: multidisk? dunno 2017-07-17 18:49:16 -04:00
adelikat 9a5ae16c7d remove the 32bit gpgx, and refactor things to only use the 64 bit version. keep 64bit stuff in a gpgx64 folder to avoid git auto-rename detection shenanigans 2017-07-09 09:21:03 -05:00
nattthebear 1fe77d7f32 gpgx: fix video size after loading a frame 0 savestate. misc cleanup 2017-05-21 09:27:29 -04:00
adelikat 698c6741ae Refactor IEmulator and remove the IController property, instead pass it as a paramter to the FrameAdvance() method 2017-05-01 20:09:11 -05:00
adelikat ded1c2d7b7 Break off BoardName from IEmulator into a separate IBoardInfo service 2017-04-30 21:01:54 -05:00
adelikat 3192cc70ae slight refactor to IEmulator - make the IController property set only to more clearly express the client -> core relationship 2017-04-26 19:09:00 -05:00
adelikat 72a59087b5 Use the IController indexing property less in preparation for removing it from the interface. Replaced with its more explicity counter-part .IsPressed() 2016-12-14 12:42:15 -06:00
adelikat b73a500d6b Major sound provider refactor. Create a unified interface ISoundProvider, that is an IEmulator service and break it off of IEmulator. IAsyncSoundProvider was kept as a shim for now, for legacy cores that were inherintly async. 2016-12-11 11:15:00 -06:00
adelikat b697110098 Rename ISoundProvider to IAsyncSoundProvider to more accurately describe what the service does 2016-12-09 10:24:43 -06:00
feos 35282ba577 gpgx32: flipped namespaces, added excplicit core picking
diff is messed up after folder renaming, but no file was changed except for namespaces and waterbox's core name
2016-08-10 22:27:46 +03:00