Commit Graph

36 Commits

Author SHA1 Message Date
goyuken 7b7b95e95d add a new field to IEmulator: bool BinarySaveStatesPreferred { get; }. a core should set it to true to indicate that it would prefer to save and load binary savestates (but both types must be supported). set to true on 7800, gb, dgb, gba, n64, snes, saturn cores, as they all create text savestates that are simply dumps of the binary savestate. for the moment, frontend does nothing with this new information. 2013-05-06 20:51:28 +00:00
adelikat 1c33b92bf1 NES - separate first/last scanline settings for NTSC vs PAL (default of 8,231 NTSC and 0,239 for PAL) 2013-03-25 01:59:34 +00:00
zeromus a4b442abda unify coreinputcomm and coreoutputcomm. there is a slight chance your console will be messed up until i fix a teeny tiny something, since i didnt test them all, since with more recent cores i dunno what roms are working anyway. let me know if i broke anything. 2012-12-10 00:43:43 +00:00
goyuken 99f6bbb8e4 a few more comments on the new sound stuff 2012-10-11 01:14:14 +00:00
goyuken b40897bb77 sound api changes. added a new ISyncSoundProvider, which works similarly to ISoundProvider except the source (not the sink) determines the number of samples to process. Added facilities to metaspu, dcfilter, speexresampler to work with ISyncSoundProvider. Add ISyncSoundProvider to IEmulator. All IEmulators must provide sync sound, but they need not provide async sound. When async is needed and an IEmulator doesn't provide it, the frontend will wrap it in a vecna metaspu. SNES, GB changed to provide sync sound only. All other emulator cores mostly unchanged; they just provide stub fakesync alongside async, for now. For the moment, the only use of the sync sound is for realtime audio throttling, where it works and sounds quite nice. In the future, sync sound will be supported for AV dumping as well. 2012-10-11 00:44:59 +00:00
goyuken 98d9f13600 change IEmulator.DeterministicEmulation to get-only; the old interface implies that a core should be able to take a change to the property at any time, which isn't feasable. most existing cores changed to return true all the time. SNES now takes determinism parameter in Load() 2012-10-03 15:31:04 +00:00
goyuken 1b54e3c061 change previous revision to use default value param 2012-09-20 20:00:14 +00:00
goyuken 51fc8e695c add 'bool rendersound' to IEmualtor.FrameAdvance()
if false, the emulator is free to gain whatever speedup it can by not doing audio processing (shouldn't change anything sync related, though)
the core should still always call SoundProvider.GetSamples() after each FrameAdvance(), else DRAGONS
at the moment, only test-implemented in gambattehawk
2012-09-20 19:52:47 +00:00
goyuken 83e145c36f change the IEmulator saveram interface.
i don't like doing this, but there were already two emus with special bandaid logic in MainForm.cs
i hope this doesn't break something, but if it does i'll fix it
2012-09-14 22:28:38 +00:00
goyuken 25c34d2ca6 significant speedup in gambatte MemoryDomains by keeping shadow copy of native memory
not quite sure at the moment what each of the domains actually is, though
2012-09-11 17:37:17 +00:00
zeromus f5c0965045 snes-support save ram 2012-09-04 07:09:00 +00:00
zeromus 37e6f68370 bsneshawk step 1 of N - compile libsnes, make bsneshawk core, setup interop, support frameadvance, video, gamepad. games are playable, I think. 2012-09-04 00:20:36 +00:00
beirich b27673f26c M-M-M-MONSTER COMMIT! change Game-load api stuff 2011-08-04 03:20:54 +00:00
beirich 6f379cee76 remove freeze system; replacement incoming 2011-08-03 02:13:42 +00:00
andres.delikat 2e68314e01 Movies that start from savestate now supported. Record Movie dialog "Record from Now" option implemented. ResetFrameCounter() added to IEmulator and implemented in all existing cores 2011-07-30 20:49:36 +00:00
zeromus c0988feaa3 add CoreInputComm/CoreOutputComm, remove Query system, hook up nes video config options 2011-06-11 22:15:08 +00:00
beirich 9283a9f37d IEmulator now implements IDisposable; client now disposes cores 2011-06-02 02:59:18 +00:00
beirich 33c300ff7b good news: movies work! bad news: 1) movies don't work for TI83 yet 2) I broke some NES things, to be fixed in a later commit 2011-05-08 00:06:43 +00:00
andres.delikat f440f843dd Add IsLagFrame bool to IEmulator and implement in all platforms. Make an alert font in Render panel and make input display use it when a frame is a lag frame 2011-05-01 16:04:53 +00:00
andres.delikat 6732cd50ff Make LagCount get/set in IEmulator and refactored emulators. Implemented the Lag counter in the NES core. 2011-05-01 12:59:26 +00:00
andres.delikat 2fa3561c45 Add LagCounter int to IEmulator, returns 0 on every emulator at the moment. Hook up RenderPanel's LagCounter display 2011-05-01 00:20:39 +00:00
zeromus fed9c4e30e mutate to immutable 2011-03-17 03:58:04 +00:00
zeromus 3c857c1b6d [NES] try a different `watch` architecture and support game genie items with it 2011-03-17 03:51:31 +00:00
zeromus 2b1f72a84a sketch out some thoughts regarding breakpoints 2011-03-16 05:06:21 +00:00
zeromus c32a9e11f0 [NES] add freeze system for sysbus 2011-03-16 03:13:51 +00:00
andres.delikat 423e9c8783 Add SetControllersAsMnemonic() to IEmulator and implement it in the SMS core. Very crude playback now works. 2011-02-27 22:33:25 +00:00
andres.delikat 04b6b2baa0 Fix typo! 2011-02-26 22:08:55 +00:00
andres.delikat 0ed57b443b Add GetControllerAsMneumonic() to IEmulator that returns a formatted string of controller inputs. Implemented this function in SMS input.cs and hooked up Movie recording. 2011-02-26 21:36:46 +00:00
andres.delikat f7198ae966 Ram Search - Memory domain select 2011-02-23 16:22:41 +00:00
zeromus bc74d6c575 complete speed/skip/non60-throttle functionality and controllable vsync. maybe a bit rough, but i'll continue to support it. 2011-02-21 09:48:53 +00:00
beirich 577f249905 Misc code cleanup 2011-02-16 04:45:59 +00:00
andres.delikat 48bb648ff9 IEmulator now has a string type so that emulators can return a string representing the platform they emulate 2011-02-16 02:42:58 +00:00
beirich 162b43c240 I suppose it would help if memory metadata was public 2011-01-21 04:10:29 +00:00
beirich e62c1bc673 add memory API, remove HardReset from IEmulator 2011-01-21 03:59:50 +00:00
beirich 3c8236fd32 PAL support for SMS 2011-01-13 06:10:50 +00:00
beirich 89e4c5a674 2011-01-11 02:55:51 +00:00