Commit Graph

48 Commits

Author SHA1 Message Date
goyuken 0803adc32a add a "BoardName" to IEmulator that an emulation core can use to return useful information about how the rom is being emulated. meant to be mostly for informative purposes; shouldn't rely on it for too much. implemented in GB and NES cores 2013-08-24 16:54:22 +00:00
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
goyuken 5986d779e7 SMS: increase size of buffer for public byte[] SaveStateBinary() by 1 byte. also throw an exception if the savestate is smaller than expected. 2012-12-14 16:59:23 +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
beirich 0bb30d4918 Coleco: implement TMS mode 3, clean up some debug code 2012-11-26 01:44:17 +00:00
goyuken 0094562d2a per previous discussion, IEmulator.ResetFrameCounter() should reset lag frame related stuff as well 2012-11-25 15:41:40 +00:00
adelikat 6660ac3e8e SMS - slight fix to how islag is saved into savestates 2012-11-24 14:19:59 +00:00
adelikat 1cf2529512 SMS/GG/SG-1000 - put islag variable into savestates 2012-11-22 01:01:39 +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
beirich 6d4af4968d SMS: support cpu trace logging 2012-10-06 18:09:41 +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 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
zeromus b33fc4982c remove derelict CoreVersion/Introspection stuff 2012-09-16 20:08:36 +00:00
goyuken feaa652986 fix SMS SaveRAM == null in SMS 2012-09-14 23:31:10 +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
zeromus f5c0965045 snes-support save ram 2012-09-04 07:09:00 +00:00
beirich d24d3ae932 fix a dumb PAL bug. possibly for the second time. 2012-07-15 07:15:31 +00:00
goyuken fd7a0b2fe7 change CoreOutputComm to use exact integers to specify VsyncRate. Helps for AV dumping with formats that require exact integer rates (AVI), and for emulators that aren't exactly 50hz/60hz (none yet). 2012-07-11 21:37:35 +00:00
taotao54321 2f9a5212bc Added BG/OBJ display settings for SMS (not accessible yet) 2012-03-11 16:15:20 +00:00
beirich f9d7ff62f4 pce-cd: support arcade card, fix cd-audio playback bug
add new emulation options to gui for SMS and PCE/CD
2011-09-19 00:39:28 +00:00
beirich 7a272192fb Add version IDs to the other working cores
Add toggle for saving screenshot with savestate. Update loadstate code to not die when encountering a state without a screenshot
2011-09-15 23:32:21 +00:00
beirich a8aaaef45e [PCE] ADPCM playback more or less working correctly now
plus some cleanup
2011-09-05 17:45:01 +00:00
beirich b27673f26c M-M-M-MONSTER COMMIT! change Game-load api stuff 2011-08-04 03:20:54 +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
andres.delikat 52215061aa some implementations necessary for the gameboy controller 2011-06-27 01:24:26 +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
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 3efd98e887 SMS - implement lag counter & add to savestates 2011-05-01 14:15:49 +00:00
andres.delikat bf93a936df Change unimplemented lag counters to return -1 instead of 0 since that is more obviously not implemented. Make null emulator return 0 since by definition it would never lag. 2011-05-01 13:05:16 +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
beirich 71c0e8648e [SMS] Use correct framerate for PAL mode now that we have throttling 2011-02-23 04:38:50 +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 bb2b17f92d [SMS] Add System Bus MemoryDomain 2011-02-19 05:04:52 +00:00
beirich 577f249905 Misc code cleanup 2011-02-16 04:45:59 +00:00
beirich 88aa2af174 SMS: implement overclock-when-safe option 2011-02-14 06:15:25 +00:00
beirich 5a4e36d828 SMS: add Force Stereo option to gui 2011-02-14 05:02:26 +00:00
beirich 1d00b7fe6b minor refactoring of IController handling of control updates / frame tracking / movies 2011-02-05 05:40:19 +00:00
beirich 366d7994e3 Add SMS options to UI; Add client-options mechanism IGame; Game database support for YM2413 games 2011-01-28 06:46:33 +00:00
beirich d35d9e9d29 SMS: port 3E emulation; fixes remaining BIOS roms; check out the rocking Japanese BIOS music! 2011-01-28 04:23:35 +00:00
beirich 00b78183dd SMS: fix loading of roms smaller than 1 bank; fixes BIOS ROMs, Qbert and Guzzler SG 2011-01-27 07:13:28 +00:00
beirich 2ec181e50f cleanup some code after removing HardReset from IEmulator API 2011-01-21 07:14:42 +00:00
beirich e62c1bc673 add memory API, remove HardReset from IEmulator 2011-01-21 03:59:50 +00:00
beirich d1110de5de SMS: implement zoomed sprites; VDP fixes; Ax Battler GG fixed 2011-01-16 06:31:14 +00:00
beirich 3c8236fd32 PAL support for SMS 2011-01-13 06:10:50 +00:00
beirich aa784295d8 extended video mode support; 2/3 CodeMasters games playable now... 2011-01-12 06:08:17 +00:00
beirich 89e4c5a674 2011-01-11 02:55:51 +00:00