Commit Graph

347 Commits

Author SHA1 Message Date
nattthebear 4bd73a626f Add Monitor support to BizInvoker. Monitors are called right before (Enter) and right after (Exit) each interop method call. Possible applications include AWE mutex+mapping, and cothread no-GC regions. If you ask for an invoker without monitor, this commit adds no overhead because the code isn't generated. 2016-03-22 20:17:28 -04:00
nattthebear 3bc6fe1b04 Add the elf stuff back to solution (doesn't do anything, don't use, ugly and embarassing, etc). Switch gpgx to use bizinvoker and slash a few hacks there. Bizinvoker - add support for forwarded attributes in Compatibility mode ([Out], [In]), and support enum, ref enum, and enum[]. Misc cleanup. 2016-03-10 22:00:52 -05:00
adelikat 5cd11d0bb4 Move Sound component objects from Emulation.Common to Emulation.Cores so they live in the same assembly as the calling cores 2016-03-04 08:37:09 -05:00
adelikat 20f3e235f8 Add documentation to the Emulation.Common IEmulatorService interfaces 2016-03-01 21:10:50 -05:00
adelikat 570eff2b8b Emulation.Common - Move Emulator Services to their own folder 2016-02-28 21:09:06 -05:00
adelikat b3dd9d26dc Misc code cleanups in Emulation.Common 2016-02-28 19:03:01 -05:00
nattthebear 2a0e859a85 Add 64 bit build (doesn't work yet), move SlimDX.dll 2016-02-28 15:06:03 -05:00
adelikat 768905b2db Make an ISpecializedEmulatorService interface to show the intent of certain interfaces. In the core feature analysis, don't show these are unimplemented, as they aren't expected to be implemented by all cores. Make ILinkable inherit this interface.
Also check in ILinkable, I forgot to do that last time
2016-02-28 14:06:11 -05:00
adelikat f1f45afd83 Remove CoreComm link cable properties and turn it into an ILInkable service instead 2016-02-28 13:52:17 -05:00
adelikat 7a4a210ccc Remove some unused code and usings 2016-02-28 13:36:17 -05:00
adelikat fde8dc3d1c Add a TODO! 2016-02-28 13:26:34 -05:00
adelikat 050fa6d86b ocd cleanup 2016-02-28 12:23:11 -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
Anthony Konzel ac9a4ef777 Apply C64 core update patch. 2016-02-22 17:50:11 -06:00
zeromus 0eb6e83384 glcontexts can specify versions and clean themselves up 2016-02-21 17:19:34 -06: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
nattthebear c77de0e8af stuff 2016-02-21 14:00:11 -05:00
nattthebear 1c4c5fb4a3 Rough in some code for BizInvoke in mono 2016-02-20 11:54:44 -05:00
nattthebear 787711389a Clean up and work on BizInvoker some more 2016-02-20 11:30:05 -05:00
nattthebear ca56627197 Add a second form to BizInvoker that creates delegate types and uses GetDelegateForFunctionPointer. This allows slower but more complex pinvoke to be easily done when needed. 2016-02-18 21:07:12 -05:00
nattthebear 96fc7c9ec1 Add experimental interop library to quicknes. Still needs work... 2016-02-17 20:18:01 -05:00
scrimpeh ef1bc65ce6 IInputPollable - Make IsLagFrame settable 2016-01-26 11:34:42 +01:00
Hathor86 c7dcb42b94 Merge from maser@TASVideos 2015-11-15 11:27:00 +01: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 53fcc09c08 various bugfixes to system/save pathing and support CAN_DUPE, to stabilize the gambatte and neopop cores 2015-11-08 19:18:08 -06:00
Hathor86 5c36c16160 Fixing merge 2015-11-08 22:57:54 +01:00
Hathor86 cc2c888870 Merge remote-tracking branch 'refs/remotes/TASVideos/master'
Conflicts:
	BizHawk.Client.EmuHawk/MainForm.Designer.cs
	BizHawk.Client.EmuHawk/MainForm.cs
	BizHawk.Client.EmuHawk/tools/CDL.Designer.cs
	BizHawk.Client.EmuHawk/tools/CDL.cs
	BizHawk.Client.EmuHawk/tools/CDL.resx
	BizHawk.Common/InstanceDll.cs
	BizHawk.Emulation.Common/CodeDataLog.cs
2015-11-08 22:41:51 +01:00
zeromus 5c16f8b107 fix some assorted bugs, and experiments with handling more environment calls 2015-11-07 02:29:04 -06:00
zeromus 7651f418fe usably functional libretro player 2015-11-07 00:14:59 -06:00
zeromus c68fdc511b CDL - fix snes games with no cartram 2015-11-03 23:59:42 -06:00
zeromus f3626b9605 snes CDL 2015-11-03 23:45:57 -06:00
Hathor86 f70a2c8c6c Merge from TASVideo 2015-11-01 22:01:19 +01:00
zeromus 1ce0437c3d CDL - add .cdl file map to dialogbox display 2015-11-01 11:23:33 -06:00
zeromus 70e0954f28 CDL - major refactor complete. muuuuch better. 2015-10-28 03:51:53 -05:00
zeromus 6a042cc8ac fiddle around with CDLog menu items 2015-10-27 19:49:13 -05:00
adelikat 400e4f4800 Add an empty ICodeDataLogger emulator service, make it a required service for CDL.cs 2015-10-27 19:03:56 -04:00
zeromus 0ff0749191 add IMemoryDomains.Has 2015-10-26 21:41:43 -05:00
adelikat 32a2711303 When clearing lua callbacks, handle the case that input callbacks might not be implemented, also handle memory callbacks in a more consistent way 2015-10-12 19:02:03 -04:00
Kabuto f7c15bfd0f Fixed indentation and TODOs 2015-09-28 20:53:19 +02:00
Kabuto 1e9564a337 C64 core: tape loading added, lots of bugfixes and improvements 2015-09-28 01:30:58 +02:00
adelikat 76f285a58a forgot to add this file, because that's what I do 2015-08-05 20:57:01 -04:00
adelikat ba21484ddd add IRegionable as an emulator service to indicate NTSC vs PAL, etc. Refactor cores that conveyed this information to use this service, fixed cheaty reflection to grab this info to use the service instead, marked some cores as region not applicable where it made sense to me (I'm sure I'm wrong in some cases) 2015-08-05 20:12:09 -04: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
zeromus 6e1cde2793 hookup PSF support 2015-07-20 23:11:00 -05:00
zeromus a7ae3c0cfc Merge branch 'discsys'
Conflicts:
	BizHawk.Emulation.Cores/BizHawk.Emulation.Cores.csproj
	BizHawk.Emulation.Cores/Consoles/Sega/gpgx/GPGXDynamic.cs
	libmupen64plus/mupen64plus-win32-deps
2015-07-11 14:01:44 -05:00
zeromus a6f37173b0 add GameInfo DB options fetcher for string type 2015-07-11 13:47:04 -05:00
zeromus 691531421a more discsys reorg 2015-07-11 13:46:57 -05:00
zeromus 67468e93ec discsys reorg and move CDAudio to BizHawk.Emulation.Common for cleaner assembly reference dependencies 2015-07-11 13:46:56 -05:00
adelikat 3541c9e975 Make the lag counter settable, and expose this functionality in lua 2015-07-09 13:05:30 -04:00
adelikat 71f23f4886 nothing to see here 2015-06-11 13:13:11 +00:00
adelikat 5bcdfb5991 IInputPollable - remove the set on LagCount as it is not needed 2015-06-11 01:23:14 +00:00
adelikat 26769ba476 Add .do and .po files as Apple II files 2015-05-28 00:16:08 +00:00
adelikat 996c7bc847 Add apple II to the core picker 2015-05-26 23:43:55 +00:00
adelikat f4140de3f7 Apple II - get necessary firmware files from the firmwares system instead of a hardcoded path, added entries to the firmware database for the files I have, no idea what other files are compatible 2015-04-09 00:18:01 +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
goyuken adc3e96ca8 iemulator single instance attribute. to find out about: PSX, Apple2 2015-03-03 00:23:50 +00:00
adelikat 7e763408e2 Move MainForm.SupportedPlatforms to Emulation.Common.SystemLookup 2015-02-22 17:15:09 +00:00
adelikat 66a9b8eb5a IInputPollable - don't inherit IEmulator 2015-02-22 16:57:32 +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 5183a8e20d Nothing to see here 2015-02-17 22:58:25 +00:00
adelikat 0316fa9817 some rom loading stuff 2015-02-08 21:51:15 +00:00
goyuken a782fdb315 take 2 2015-02-05 23:53:25 +00:00
goyuken 995f670d36 frontend tracks loaded firmware: proof of concept 2015-02-05 23:25:28 +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 e1811371e4 Cheats - only allow writable domains in the domains dropdown 2015-01-25 16:20:53 +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 7e50a065a6 make IVideoProvider inherit IEmulatorService 2015-01-14 22:58:14 +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 9358e24213 IMemoryDomainList - downgrade from IList to IEnumerable, refactor a spot that needed something more than that 2015-01-14 00:34:50 +00:00
adelikat d62ba4e2b4 Change IMemoryDomains to have an IMemoryDomainList instead of a MemoryDomainList, this is an incremental step into eventually having IMemoryDomains take over the properties of IMemoryDomainList, still todo: reduce the amount of needed functionality in IMemoryDomainList from old and not good code 2015-01-13 22:18:07 +00:00
goyuken d2b0579609 yabause: clean up memory domains slightly 2015-01-13 21:46:28 +00:00
jdpurcell 0a345b0084 Issue 368: Set all platform targets to x86, rename build platforms to match, and remove unused build platforms. 2015-01-13 15:28:58 +00:00
jdpurcell f9da63d71d Fix gamedb loading with Turkish locale. 2015-01-13 02:03:10 +00:00
adelikat 17b4782474 Change "BUS" to "System Bus" in both GBA cores, and the bsnes core, don't account for "BUS" in the CheatDomain property 2015-01-13 00:01:25 +00:00
adelikat c1cbad1b30 rename MemoryDomain.SystemBus to MemoryDomain.CheatDomain to better describe its intent 2015-01-12 23:54:16 +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
goyuken d1caf79a56 toolmanager: when electing to close and not restart a tool because of lack of services on the new core, clear out all services attached to the core first. this will turn some existing silent failures into NullReferenceExceptions, likely. fix one such bug in GBAGPUView 2014-12-31 17:18:51 +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 808e17c3f7 tracelogger settings 2014-12-22 19:01:21 +00:00
goyuken ff8922bb08 itoolform custom config infrastructure; not complete 2014-12-20 21:49:53 +00:00
adelikat ffdeb618f7 IDebugable - add a CanStep() method, and implement it in all IDebuggable implementations 2014-12-20 13:29:57 +00:00
adelikat a8116297a0 Rename Register to RegisterValue 2014-12-20 13:16:15 +00:00