Commit Graph

1059 Commits

Author SHA1 Message Date
adelikat 30e6aeb0bf ToolManager Load<T> - check IsAvailable() before attempting to load 2014-12-14 01:25:28 +00:00
adelikat 3768e393c7 Convert remaining tools to EmulatorServices 2014-12-14 01:20:19 +00:00
adelikat b12f4c36b1 Convert more tools to EmulatorServices 2014-12-14 00:46:14 +00:00
adelikat c1767a6fe7 convert some nes tools to EmulatorServices, currently they simply require a NES instance, eventually need to use an actual service, that all nes cores could implement 2014-12-14 00:25:50 +00:00
adelikat 5d59e00c20 Convert Genesis tools to use EmulatorServices 2014-12-14 00:12:44 +00:00
adelikat 29d6859167 Debugger - convert to using OptionalServices for the Disassembler 2014-12-13 23:57:23 +00:00
adelikat d1cc13a9c0 BasicServiceProvider - catch any IEmulatorServices that the core implements that aren't defined in the Emulation.Common assembly, and make IGBAGPUViewable an emulator service 2014-12-13 23:45:51 +00:00
scepheo 7f0229d9e6 Added support for OptionalServices and cleaned up ToolManager code. 2014-12-13 23:36:49 +00:00
adelikat 7925b6f939 convert some gb tools to EmulatorServices 2014-12-13 23:26:18 +00:00
adelikat b3a47b911b Debugger - use EmulatorServices 2014-12-13 23:15:39 +00:00
adelikat 557309eb6f Fix a bug in ToolManager.Restart() 2014-12-13 23:02:32 +00:00
adelikat 94bd987a73 Convert Cheats to EmuatorServices 2014-12-13 22:57:51 +00:00
adelikat 8eda262ebe convert Ram Watch and Hex Editor to use EmulatorServices 2014-12-13 22:54:07 +00:00
adelikat c00b8ad78e Ram Search - convert to using EmulatorServices 2014-12-13 22:40:04 +00:00
adelikat 6e875625cd CheatEdit - fix a logical error 2014-12-13 22:33:46 +00:00
scepheo b65bf1b5ae ToolManager: Added tool dependency injection on tool restart and load. 2014-12-13 22:32:08 +00:00
scepheo 99506df596 ToolManager: Forgot compiler-time unknown type variants of GetDependencies and IsAvailable. 2014-12-13 22:14:30 +00:00
adelikat 73cd68e5f9 Debugger - Disassembler - cpu setting 2014-12-13 22:10:39 +00:00
scepheo 769cbeb1a0 - IToolForm: Added RequiredServices attribute to define dependencies, and added EmulatorServices for ToolManager to supply them.
- IServiceProvider, BasicServiceProvider: Added compile-time unknown type versions of GetService and HasService.
- ToolManager: Added IsAvailable to test whether all dependencies for a tool are available.
2014-12-13 21:54:59 +00:00
adelikat 15a64b954e Debugger - start some disassembler stuff 2014-12-13 21:41:39 +00:00
adelikat 6933d5ee56 Debugger - rip out tracer and put instead a placeholder groupbox that will house a disassembler 2014-12-13 19:31:10 +00:00
adelikat c4680f56d4 Debugger - Breakpoints - Add icon 2014-12-13 18:28:50 +00:00
adelikat e659dcb8f7 Debugger - breakpoints - add a toggle button 2014-12-13 18:25:02 +00:00
adelikat 822c8562b0 Debugger - breakpoints - add num breakpoints and num active 2014-12-13 17:48:11 +00:00
adelikat 9997c4fa8d do last commit more correctly 2014-12-13 17:33:02 +00:00
adelikat 18e112536a Debugger - add breakpoint dialog - pop up in a reasonable place, and limit address size based on the core's bus size 2014-12-13 16:59:01 +00:00
adelikat ab312add39 Breakpoints - add in a notion of readonly since we are showing all callbacks in the core, even ones the debugger didn't create, and the debugger managing ones it didn't create is bad news 2014-12-10 23:11:04 +00:00
adelikat cdcb806d8c Debugger - breakpoints - add stuff like activating/deactivating, key presses, double click 2014-12-10 22:59:28 +00:00
adelikat 91353d776b Debugger - basic showing and adding of breakpoints, including pre-existing ones 2014-12-10 22:47:09 +00:00
adelikat 1473db5aa8 Move AddBreakpointDialog to the Debugger folder 2014-12-07 20:17:15 +00:00
adelikat 68e1eae014 MemoryCallbackSystem - implement IEnumerable, Debugger - use it to pre-populate the breakpoint dialog with pre-existing breakpoints 2014-12-07 19:38:42 +00:00
adelikat 1c179da80c MemoryCallback System - another refinement, make an IMemoryCallback and make that the argument for add methods 2014-12-07 19:09:36 +00:00
adelikat 2d1a43dc65 MemoryCallbackSystem - simplify by having a single Add method with a MemoryCallbackType parameter, and some simplifying of client code as a result 2014-12-07 18:53:56 +00:00
adelikat ba31d7d28b Debugger - better handling of what is or isn't implemented on startup, no longer crashes when opened using the QuickNes core 2014-12-07 14:52:09 +00:00
adelikat 415fda2373 Debugger - on close, turn off trace logging 2014-12-06 16:28:42 +00:00
adelikat 97476a8b69 Debugger - breakpoints 2014-12-06 15:07:01 +00:00
adelikat 93692b0220 Debugger - update register values 2014-12-06 13:42:59 +00:00
adelikat 4b8f5b2962 Debugger - add a crude Register box, dynamically reads the cores flags and registers and creates ui, is they are settable it creates textboxes (registers) and checkboxes (flags) with change events that set the core values. If register setting is not implemented, it creates labels instead. Plenty of details to refine about this process. 2014-12-06 01:14:58 +00:00
adelikat 748fab4dfb Debugger - use the Tracer.Header property 2014-12-06 00:21:25 +00:00
adelikat 00523ca5aa Debugger - implement trace logger 2014-12-06 00:18:51 +00:00
adelikat 4a96e58a24 Start a generic Debugger tool, does nothing now except for open and have the standard ui options all tool forms have (such as autoload) 2014-12-06 00:03:36 +00:00
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 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
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
adelikat a91de9ad9c Move TraceHeader out of CoreComm and into ITracer and TraceBuffer 2014-12-05 00:10:48 +00:00
adelikat 309088211c Move TraceBuffer from CoreComm to IDebugable and refactor accordingly 2014-12-05 00:05:40 +00:00
adelikat 05533c8562 Lag Counter hotkey logic, and Tastudio depends on both IStatable and IInputPollable 2014-11-30 20:32:25 +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 21889bba58 Lua Console - replace a NullEmulator check with a Global.Game != null check as that is more precisely why a check is happening 2014-11-30 18:44:20 +00:00
adelikat 773a53d2e3 Hotkeys that operate on tools - check that the core has the proper prerequisites before opening them 2014-11-30 18:35:25 +00:00
adelikat c0b1f6a285 remove IsNull() usage for tools that require IMemoryDomains, better to fail catastrophically as they shouldn't be able to get this far. 2014-11-30 18:24:28 +00:00
adelikat 39f145d58b Hex Editor don't check for Null Emulator, tool should not be able to be opened anyway in this situation 2014-11-30 18:22:44 +00:00
adelikat caa4296018 Toolbox - show tastudio only if HasSavestates() 2014-11-30 18:10:04 +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
goyuken b21cfdd927 ward off possible bugs 2014-11-29 19:36:11 +00:00
goyuken 0b16e36776 fix issue 330 2014-11-29 18:57:57 +00:00
adelikat 96b626434f Lua Console - on drag and drop, don't be case sensitive with the file extension 2014-11-26 17:42:30 +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 584b5feaa3 Tastudio - properly load a file on drag and drop 2014-11-22 15:19:32 +00:00
adelikat 7de427fb3c Tastudio - fix exception on load in relase builds 2014-11-22 15:09:01 +00:00
hegyak 0d8e111c55 Change the VirtualPads/schema/LynxSchema.cs from LYNX to Lynx 2014-11-21 04:19:01 +00:00
hegyak fa5c614641 Added schema/LynxSchema.cs 2014-11-20 17:45:44 +00:00
adelikat 5a893c1a43 Tastudio - don't expose Rotate menu item for non-developer builds since it is not ready. A pro would get around this 2014-11-19 23:21:08 +00:00
adelikat d7596684c2 Lua - Expose tastudio library in non-developer builds 2014-11-19 16:17:40 +00:00
adelikat 5a6c2adb0b Tastudio - expose in release builds and mark it as beta in the title 2014-11-19 16:12:59 +00:00
hegyak d1f0bfd89c Allow Virtual Pad to support QuickNES with One, Two or No controllers. 2014-11-19 01:01:27 +00:00
adelikat e4cd7a3449 Lua Console - when reporting a script error, update the number of active scripts label 2014-11-18 01:09:06 +00:00
adelikat eb292eddcc Tastudio - fix crash when loading a state for a frame after the current movie length, tastudio was getting refreshed before the row count was being updated 2014-11-15 21:48:34 +00:00
adelikat ae9e31d984 Tastudio - fix up some behavior of metadata dialogs when the first show 2014-11-15 15:36:22 +00:00
adelikat e0207b748f Tastudio - remove some user controls that do nothing that I've decided won't be used 2014-11-15 15:02:52 +00:00
adelikat 252ea85f99 Lua Console - add a duplicate script menu and toolbar item, functions similarly to new script except it starts with the text from the highlighted script 2014-11-09 16:18:09 +00:00
adelikat 0578eb6436 Tastudio - take the emuhawk context menu item "stop without saving" into account 2014-11-08 17:44:25 +00:00
adelikat 5c92adcaaa Wire up the Log callback into lua libraries, this got lost in the last refactor I did, and so errors were not getting reported 2014-11-08 14:54:00 +00:00
adelikat 829ee72914 Tastudio - make comment editor always in edit mode, make it modeless, add a save button 2014-11-02 15:20:17 +00:00
adelikat 549b948ffd Tastudio - add a context menu "create new project from here", it will take the currently selected frame and create a savestate-anchored project on this frame (keeping any input after this frame), and load this new project. 2014-10-30 23:29:21 +00:00
goyuken 81fc95ab43 NES: add UI support for datach barcode reader 2014-10-29 22:28:14 +00:00
adelikat 223a4fc358 Tastudio - when auto-converting an existing movie when loading tastudio - add the newly created tasproj to the recent menu 2014-10-26 23:44:04 +00:00
adelikat e3b6d29956 Refactor last commit and some other code so that reset happens in a singular place when loading a state from the state manager 2014-10-26 23:37:42 +00:00
adelikat 59494767f5 Tastudio - refactor TasStateManager GetStateClosestToFrame() to return a KeyValuePair (frame number and savestate data) so the calling code has a clue which savestate was returned, reset counters if a savestate-anchored movie's "anchor" was loaded 2014-10-26 23:26:43 +00:00
adelikat ad7782df35 Tastudio - A much simpler and less hacky implementation of previous commit, and have Tastudio take over the mainform's RestartMovie method using the IControlMainform interface 2014-10-26 16:36:50 +00:00
adelikat 78b4748675 Tastudio - when loading with an existing movie loaded, restart the movie 2014-10-26 15:48:19 +00:00
adelikat 3d30bd082e InputRoll - slight tweak to the SelectedIndexChanged event logic 2014-10-25 14:10:32 +00:00
adelikat 7b4f5c4a1b Tastudio - context menu for the Marker list, fix bug where double clicking the marker list beyond the actual markers resulted in an exception 2014-10-25 13:41:23 +00:00
adelikat d5aad8d0e2 Tastudio - cancel seek context menu item 2014-10-23 23:18:42 +00:00
adelikat 5c4a876d2d Tastudio - when editing while seeking, continue to seek to the originally intended frame 2014-10-23 23:14:32 +00:00
adelikat 5c85a8ca66 Tastudio - improve navigation performance by emulating a frame when possible rather than loading a state 2014-10-23 21:21:43 +00:00
adelikat 2e7546c67a TAstudio - on some editing functions, dont' pause the emulator if it wasn't paused to begin with 2014-10-23 21:09:54 +00:00
adelikat 32cdc80639 Tastudio - don't override read-only toggle, I think this is an ok thing to do, we shall find out 2014-10-23 20:41:52 +00:00
zeromus c39617b638 try fixing crash in trace logger. seemingly a race condition between a create, a flush, and a subsequent open for tracing (for issue #299) 2014-10-23 05:14:03 +00:00
adelikat 53fa3b9ada Tastudio - fix crashing after using Export to Bk2, running out of memory on export though, a definite concern now 2014-10-23 01:32:27 +00:00
adelikat dee45888de TAStudio - disable tab, shift+tab, and space, because people like to use these as important hotkeys and because FCEUX's taseditor does this, and people seem to want it that way 2014-10-23 00:47:30 +00:00
adelikat 2e36ab5cbb Tastudio - set Always on Top immediately, not when it is restarted 2014-10-22 23:15:59 +00:00
adelikat 8b5c9dc129 InputRoll - also Home and End hotkeys 2014-10-22 23:11:29 +00:00
adelikat ade5cfa8e6 InputRoll - implement PageUp/PageDown logic 2014-10-22 23:03:17 +00:00
adelikat 6099d4006e Tastudio - just in case do a triggered auto-restore on mouse leave, I think this code should never fire, but you never know what edge cases could trick winform events 2014-10-22 22:43:42 +00:00
zeromus a2722ae10f do some work which _should_ have supported rotated text. not sure why it isn't working though... 2014-10-22 07:59:06 +00:00
adelikat c71aaf4e4a Tastudio - support drag n drop of tasproj files onto the Tastudio dialog 2014-10-21 13:12:12 +00:00
adelikat 5a2e8071d6 Tastudio - break some code into a function in preparation for stuff 2014-10-21 01:31:41 +00:00