Commit Graph

66 Commits

Author SHA1 Message Date
zeromus a7d2b8d7f7 * add a new IToolForm update mechanism which has extensible update points (so a tool can both pre- and post- update)
* make trace logging "core-pushes" model, to a sink installed by the frontend. This sink can go straight to the disk without wasting memory if that's what the Trace Logger tool has selected; or the Trace Logger will buffer it if it needs to.  Formerly, we had a "core-pushes-to-buffer" and "client-pulls-once-per-frame" which necessarily caused huge buffers no matter what was going on.
2016-08-13 15:31:26 -05:00
parasyte 71c7edbb24 Add address mask setting for breakpoints 2016-08-08 04:37:39 -07:00
nattthebear 7b19db2d64 Fix NES memory domains 2016-07-16 16:13:50 -04:00
zeromus 0e7adbd818 fix bug from 111648cf98 breaking hex editor and maybe other stuff 2016-06-01 23:05:56 -05:00
Isotarge c4fa170b9e Fix crash & memory leak when opening hex editor with the N64 core loaded 2016-05-09 18:42:21 +09:30
zeromus 75173f2596 add sram memdomain to mgba 2016-04-18 21:46:27 -05:00
zeromus 859f4e3c01 fix 2 watch-related bugs and a typo in an error message 2016-04-15 22:43:14 -05:00
nattthebear 111648cf98 Break a bunch of memory domain stuff with pointless refactoring 2016-04-13 19:50:06 -04:00
zeromus 776e696e09 mgba - fix bug where hard reset caused memorydomains to get permanently wrecked 2016-03-27 16:35:34 -05:00
adelikat b3dd9d26dc Misc code cleanups in Emulation.Common 2016-02-28 19:03:01 -05:00
adelikat 7a4a210ccc Remove some unused code and usings 2016-02-28 13:36:17 -05:00
adelikat f9c9994161 Refactor GPGX trace logger - make a CallbackBasedTraceBuffer abstract class in Base Implementations with an abstract method CreateTrace, and inherit it as a GPGXTraceBuffer. 2016-02-23 21:58:40 -05:00
adelikat f5e679fa0d Refactor ITraceable to work on TraceInfo objects that separate Disassembly and Register information. Make Tracelogger two columns. 2016-02-21 17:34:42 -05:00
zeromus 7702ae5f3c work on keyboard input, but hasnt been tested yet. also reorg the core a bit 2015-11-08 22:05:48 -06:00
zeromus 0ff0749191 add IMemoryDomains.Has 2015-10-26 21:41:43 -05:00
Suuper f9cd2f4075 -TAStudio: Players' 2, 4, etc input columns have darkened bg colors.
-LagLog is now moved over to new savestate-anchored movies
2015-07-23 12:55:22 -05:00
adelikat 71f23f4886 nothing to see here 2015-06-11 13:13:11 +00:00
goyuken 3bf2d8f00b fix an apple II controller crash problem introduced in r9264 2015-04-04 00:20:28 +00:00
SuuperW 52659ac9a9 -Hacky removal of a useless save when loading a TasProj
-Made ControlsOrdered much faster
2015-03-23 21:16:13 +00:00
adelikat 997558076f If a core has no system bus, default to main memory if SystemBus is requested, fixes cheat dialog from blowing up on a bunch of cores with no system bus defined 2015-03-05 01:07:31 +00:00
adelikat 36f4eff0f6 add ByteSize to MemoryDomain with a default of 1, set it to not 1 on appropriate domains (I probably missed some, or got some wrong). Have RamSearch use that instead of SystemInfo, remove ByteSize from SystemInfo since it is no longer needed 2015-02-22 15:19:38 +00:00
adelikat 8246de14aa IMemoryCallbackSystem - add a flag to indicate whether execute callbacks are available, in lua and the debugger, take this flag into account, also improve some availability checking in Lua memory callbacks. Flag N64 as not having execute callbacks available 2015-01-25 22:14:58 +00:00
goyuken 2c09c10721 memory domain: silent pokes 2015-01-25 20:10:19 +00:00
adelikat 7ed8704555 add a CanPoke() extension method for memory domains, checks for a null or not implemented Poke Poke delegate, use it to disable Poke on Ram Search and Ram Watch, still todo - hex editor and lua 2015-01-25 14:37:37 +00:00
adelikat ac442130ae Refactor IMemoryDomains and MemoryDomains to have setters for MainMemory and SystemBus, so a core can customize instead of using a one size fits all assumption. Remove constructor that sets main memory and refactor accordingly 2015-01-24 16:02:28 +00:00
adelikat 7b87f666a1 MemoryDomains - rename CheatDomain to SystemBus 2015-01-24 15:49:02 +00:00
adelikat e194c9f0c4 Memory callbacks - check the HasReads/Writes/Executes flags during the call methods so that the responsibility does not fall on the core, remove the check in the PCE core 2015-01-24 14:52:20 +00:00
adelikat 3c5348eb86 MemoryCallbackSystem - keep track of whether or not there are any callbacks of each type instead of checking .Count > 0, provides a small but noticeable speedup 2015-01-24 14:39:12 +00:00
adelikat 342957fb33 Null Emulator - add some more metadata 2015-01-23 21:50:33 +00:00
adelikat 7cca0be2e7 IEmulatorServiceProvider and BasicServiceProvider - restrict to IEmulatorServices 2015-01-23 20:55:13 +00:00
goyuken af451143bf a bit of memory domain cleanup 2015-01-21 17:36:22 +00:00
adelikat 27d30df0cf Rip out the MemoryDomain.Size hack, and fix up the hex editor. Hex editor now works for N64 System bus, but will very much fail as soon as we have a domain greater than 32 bits 2015-01-18 16:00:20 +00:00
adelikat 91ffc17aae Refacotor MemoryDomain.Size to be long instead of int, still some small todos, but it compiles and seems to work 2015-01-18 15:25:47 +00:00
adelikat 54605ad12f MemoryDomain.cs - convert some public redonly fields to properties with private setters 2015-01-18 13:53:21 +00:00
goyuken 76969200a3 cleanup 2015-01-15 03:58:21 +00:00
adelikat de34d29ac1 Basic Service Provider - don't register IEmulatorService 2015-01-14 23:01:06 +00:00
adelikat 5c768b1dc4 IEmulatorServiceProvider - add an AvailableServices property, Service Provider - don't register type object 2015-01-14 22:53:08 +00:00
goyuken 82fcd0bc5e refactor IVideoProvider into a service. uses in mainform and friends are still hacky 2015-01-14 22:37:37 +00:00
adelikat fbdb29b64c refactor IMemorydomains to be a domain list instead of having a domain property, refactor cores to register an IMemoryDomains instead of being one 2015-01-14 21:55:48 +00:00
adelikat c1bb613ab4 Move MemoryDomain.cs to Base Implementations 2015-01-14 20:22:05 +00:00
adelikat 1c54c52fff bk2 - when ordering buttons, support up to 8 players, fixes issues 361 and the remaining problem with issue 360 2015-01-11 15:54:01 +00:00
adelikat 0f2197cec1 Break off ITracer from IDebuggable, rename to ITraceable and make it an IEmulatorService, refactor things accordingly 2014-12-23 01:58:12 +00:00
goyuken 7f2e323a27 upgrade christmas 2014-12-17 19:52:30 +00:00
goyuken 7cecd20d8d restore large speed regression on NESHawk core from r8379. other managed cores were likely affected. most managed cores not affected because of event tracking... 2014-12-17 01:17:41 +00:00
goyuken b23294a68f remove the IEmulatorService requirement from IEmulatorServiceProvider and BasicServiceProvider 2014-12-15 21:35:09 +00:00
goyuken 10e38e7bc9 fix BANDAI FCG 1 Boards without barcode reader 2014-12-14 17:19:54 +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 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
goyuken c6ed49c067 some disassembler stuff 2014-12-13 21:49:15 +00:00
adelikat 925d6f5a50 BasicServiceProvider - allow the core to return itself when its specific implementation is requested 2014-12-13 16:22:36 +00:00