Commit Graph

883 Commits

Author SHA1 Message Date
adelikat 0b84beec88 Move MemoryCallbackSystem from CoreComm to IDebuggable and refactor accordingly, Lua - tell the user when memory callbacks are not available for a given core 2014-12-05 01:56:45 +00:00
adelikat 11a8a009c5 AsDebuggable() 2014-12-05 01:01:58 +00:00
adelikat f5cc38c9cd AsInputPollable() 2014-12-05 00:59:00 +00:00
adelikat e2033c9d2e AsStatable() and also update statusbar saveslots on CloseRom() 2014-12-05 00:52:16 +00:00
goyuken 40416656a2 eliminate snowiy emulator option from CoreComm. this commit is a bit hackish 2014-12-05 00:39:02 +00:00
adelikat 04f9081943 in IEmulator extensions add methods such as AsMemoryDomains(), AsStatable() that do the service calling magic. In the client code replace appplicable casts of IMemoryDomains with AsMemoryDomains(), more commits of this nature for the other IEmulatorServices soon to follow 2014-12-05 00:32:29 +00:00
zeromus 29b217b587 big discsystem refactors and preliminary CCD handling. not to be considered stable, but ill start supporting it. 2014-12-04 05:40:10 +00:00
adelikat a07263c04e Move InputCallbackSystem from CoreComm to IInputPollable, and refactor all cores accordingly. Lua - OnInputPoll() - log to the user when attemping to add a callback of this type to a core that has not implemented input callbacks. Mark all unmanaged cores' implementations of the InputCallbackSystem as FeatureNotImpleented, won't have any effect on functionality, but will help us keep track of the fact that they still have a bit of work to do. Still todo: ActiveChanged event handler on the base implementation of IInputCallbackSystem 2014-12-04 00:43:12 +00:00
adelikat 4b321847a4 ugh, just disable all warnings in ArchiveUpdateCallback.cs 2014-12-04 00:02:01 +00:00
adelikat 471b73eb0b disable an annoying warning in 7z code, since we don't really maintain it, I won't fix it, just hide it 2014-12-03 23:57:26 +00:00
zeromus 26c35ca7b8 rough draft of file ID system. not ready to be used just yet, but I think it can go the distance. I'll have to hook it up later. 2014-12-03 06:14:59 +00:00
adelikat a83d714c42 Break off IsLagFrame and LagCount from IEmulator and put into its own interface IInputPollable, and refactor cores as necessary. EmuHawk - account for the possibility that a core is not an IInputPollable, and do things like disable the lag counter menu item. Still some front end todos. Also still todo, move the InputCallbackSystem from CoreComm to IInputPollable 2014-11-30 20:29:30 +00:00
adelikat 71c92cb87e don't freak out if someone attempts to rewind on a core that is not IStatable 2014-11-30 19:58:32 +00:00
adelikat 1e5474c345 SaveSlotManager - check HasSavestate() not IsNull() 2014-11-30 17:58:26 +00:00
adelikat eed16fafc8 TasStateManager - don't check for null emulator nor IStatable, fail catastrophically if a core is not IStatable, they shouldn't have gotten this far if it wasn't 2014-11-30 17:54:21 +00:00
adelikat 76148ae111 Break off savestate functionality from IEmulator into IStatable and refactor things accordingly. Still todo (a big todo): EmuHawk should gracefully handle a core that is not an IStatable by disabling functionality dependent upon it (Savestates, Rewind, Tastudio, etc) 2014-11-30 16:42:58 +00:00
adelikat 4681fef0c2 Add an IsNull() extension method to IEmulator (checks for null and if NullEmulator) and replace EmuHawk NullEmulator checks with this method instead 2014-11-30 14:18:44 +00:00
adelikat fdc9ea2aa9 fix issue 326 - Ram Watch, Ram Search showing actual value instead of frozen value on frozen addresses 2014-11-29 00:45:38 +00:00
adelikat 7c83b91e83 Ram Watch - fix a bug where loading a watch file with separators would throw a null reference exception 2014-11-29 00:28:48 +00:00
goyuken 70fc923d2c fix savestate speed regression accidentally introduced with r8117 2014-11-28 17:36:05 +00:00
adelikat 0e82fff3ff Clean out ClearSaveRam() calls since they are no longer used 2014-11-24 15:00:54 +00:00
goyuken ad1ca57163 comments! 2014-11-23 19:31:22 +00:00
goyuken 610ac0d4d2 correct lynx platform flamerate, fix bug in virtual boy platform flamerate 2014-11-23 19:25:47 +00:00
adelikat e6e2972e3d Make IMemoryDomains inherit IEmulator and simplify some code slightly as a result 2014-11-23 16:03:04 +00:00
adelikat be00dae474 Fix issue 316 - cancelling out of the core picker causes exception 2014-11-22 15:56:02 +00:00
adelikat d64be5ed76 SystemID is Lynx not LYNX, cuz I said so 2014-11-21 01:32:15 +00:00
adelikat 2041b15260 Tasproj loading - don't attempt to read from empty files if they exist but are empty 2014-11-20 00:14:33 +00:00
adelikat b4f7e13d1b Tastudio - in non-developer builds, set the minimum savestate frequency from 2 to 1 2014-11-19 16:22:03 +00:00
adelikat ea6966a911 Tastudio - fix loading of projects 2014-11-19 15:54:00 +00:00
adelikat 17c6a2c1f6 Snes - use the compatibility profile override option in the game db, note that it will be a temporary override for the game if detected, the user setting will not be permanently changed. This touched a bunch of things, and many other things had to be considered, there's a reasonable chance that this broke something 2014-11-19 00:32:51 +00:00
hegyak ce626011d4 Added SystemInfo and SystemId for Lynx 2014-11-18 12:09:11 +00:00
adelikat 5349affbc4 Tastudio - support "out of order savestating" using saveslot states. Experiemental, could have bugs particularly off by one issues 2014-11-15 21:49:58 +00:00
adelikat 410078081c Tastudio - fix lag lag to reflect the next frame 2014-11-15 14:55:44 +00:00
adelikat 80dae0d026 Tastudio - refactor lag log to be a list of frame,bool combinations instead of just a list of bools, note: this changeset reverts the list back to an "off by 1" where it corresponds to the current frame not the next frame, that will be solved in a later commit 2014-11-15 14:31:18 +00:00
adelikat aa38ad24a2 Bk2 movies - don't save when switching to play, note: when stopping a movie in play mode, the movie will not be saved unless there are changes, the Save() that was removed here masked problem with potential failure to save. As of this commit, bk2 movies rely on the Changes flag to be accurately set 2014-11-14 00:00:18 +00:00
adelikat 891d3933bd Don't increment the Rerecord counter with loading a bk2 or tasproj movie, fixes the obvserved issue in issue 303. However, a bigger concern is why loading a movie and stopping it is causing the movie to be saved in the first place 2014-11-13 23:49:58 +00:00
zeromus a7432a1e52 firmwaremanager now tracks filesizes, and filesizes of known firmwares are used to restrict scope of scanning 2014-11-13 00:09:16 +00:00
zeromus ba0eca8a69 do firmware hash calculation differently without needing a buffer, for users with GBs of roms in their firmware folder 2014-11-12 01:27:11 +00:00
zeromus 4d5b25600e add a GC.Collect() call to workaround a .net slow-GC problem, and fix an old bug related to firmware scans occurring several times actually every time you think it should happen once, which probably wasn't helping things 2014-11-12 00:04:08 +00:00
adelikat b0eb4ee791 When loading a movie that specified quicknes or neshawk (or bsnes vs snes9x), don't permanently override the user's core preference 2014-11-09 17:14:16 +00:00
adelikat 150dcae98d When importing snes movies, set the movie sync settings to Compatibility profile 2014-11-09 16:49:11 +00:00
adelikat 2f51331ca8 Fix a nasty bug in movie loadstate behavior 2014-11-09 15:48:06 +00:00
adelikat a932cef662 Add a description attribute for EmulatorLuaLibrary 2014-11-08 14:08:32 +00:00
zeromus 8c1eaf25ff system for more thorough tooltips in hotkey and controller config dialogs (so, for instance, the function of a key can be described) 2014-11-07 16:58:27 +00:00
adelikat 149a759a26 Tastudio - oops, fix major bug in r8145 2014-11-02 14:25:06 +00:00
adelikat 38f6661cc1 mnemonic constants for option 1 and 2 buttons on lynx 2014-11-02 14:11:14 +00:00
adelikat 2f3f3d29fc Tastudio - invalidate lag log when editing frame 0 2014-11-02 13:52:45 +00:00
adelikat 7f18d9ebc0 Fix bugs in last commit 2014-11-02 01:10:19 +00:00
adelikat f7460d1821 Tastudio - make green/red drawing for lag correspond with FCEUX's taseditor. Rather than show what the lag counter is saying, show what the next frame will be. The logic here is that green means a frame in which an edit will have an effect on emulation and red means it will not. 2014-11-02 00:39:53 +00:00
adelikat 8197f96c98 TasMovie - make a TasLagLog class to simplify some code 2014-11-02 00:22:04 +00:00