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