Commit Graph

997 Commits

Author SHA1 Message Date
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