Commit Graph

186 Commits

Author SHA1 Message Date
nattthebear 66940747b0 Cleanup 2017-07-16 08:40:06 -04:00
nattthebear 2bd7726b9b Fix a memory leak in the loonix waterbox interop code that's never been used before ever 2017-07-12 17:57:29 -04:00
nattthebear 41fdb3a140 Lay down the CR/LF law 2017-07-03 14:44:30 -04:00
nattthebear bdfb859480 pizza boy: add the required SPC file as an embedded resource because zeromus said to 2017-07-01 09:06:04 -04:00
zeromus cad5f441dd fix build paths to output 2017-06-26 17:57:50 -05:00
zeromus 0085729392 delete x64 build configuration, use anycpu instead. take care to set Prefer32Bit false in exe csproj, since visualstudio's gui preference doesn't work. 2017-06-26 17:47:51 -05:00
nattthebear a7f7583fcc waterbox: add space at the end of writable data pages, past what was allocated by the core but before the start of cpu enforced write protection, to savestates. theoretically fixes determinism issues from certain wild pointers 2017-06-20 20:56:17 -04:00
nattthebear ed02493297 fuck componentmodel 2017-06-19 21:23:20 -04:00
nattthebear 1292b27163 Add some draft work for supporting sysv <-> msabi interop. I wonder if we'll ever use this? I'd put it on a separate branch but it would be merge hell. 2017-06-18 08:51:09 -04:00
nattthebear 6f60eb5efc Create an abstract base class for waterbox cores, and adapt Virtual Boyee to use it. Not sure yet how useful this is... 2017-06-17 10:07:02 -04:00
adelikat c5f15da366 Update BizHawk.Common from .net 4.5.2 to 4.6.1. I believe 4.5.2 was an oversight from the original .net upgrades. If I'm wrong and this library needs to be 4.5.2 for some reason, feel free to revert. 2017-06-12 13:55:30 -05:00
zeromus 39433e509e change some output64 to output 2017-06-12 01:38:02 -05:00
zeromus 0942d4f498 remove x86 project configurations 2017-06-12 01:24:35 -05:00
nattthebear fa9dcfae35 waterbox: When compiled in debug mode, forcibly evict self at every opportunity. This can be used to catch bugs using pointers past their valid time. Catch and fix two such bugs in the libsnes wrapper. 2017-06-11 07:47:16 -04:00
nattthebear deaf22cb36 Make the bizinvoker, when not in compatibility mode, marshal bool returns as C++ would expect you to, and not winapi because fuck winapi 2017-06-06 17:59:27 -04:00
nattthebear 2887ba5823 savestates for vb. this includes savestates for mmap_heap. unfortunately, usage of mmap_heap was scrapped as the things going into it were better suited for invisible/sealed. it may be eventually useful 2017-05-29 11:26:38 -04:00
nattthebear 76022f66f9 update to framework 4.6.2. Since Windows XP 64 was very rarely used, there's no loss in switching to this if we're going to 64 bit. Add `FrameworkZipWriter` based on the 4.5 framework's built in zip writer. It shaves a decent amount of time off savestate save time, but rolling our own off of DeflateStream would be even faster. 2017-05-27 18:15:15 -04:00
nattthebear b649927360 bizinvoke: make class ref interop work with null pointers 2017-05-27 14:40:15 -04:00
nattthebear 34791d8589 bizinvoker: fix clas being used in place of ref struct 2017-05-27 12:59:57 -04:00
nattthebear 2665510502 Add enough changes so that snes9x now boots. This includes stubs for a bunch of syscalls, a few mmglue changes, and C++ global constructor support 2017-05-27 12:29:05 -04:00
nattthebear 7739b9dc80 rough in some snes9x stuff. not working yet 2017-05-21 17:43:43 -04:00
nattthebear 6053cd6e35 stuff 2017-05-20 12:24:15 -04:00
nattthebear 5c8efb51ba Add some Import related stuff to PeRunner. Build BizExvoker which will be used to import managed libraries as dependencies to PEs 2017-05-20 09:46:45 -04:00
nattthebear ebe789eed2 heh 2017-05-10 07:45:23 -04:00
adelikat f31f3af0c8 InstanceDLL - throw if _hModeule == IntPtr.Zero, advanced loader - show the error if one occured 2017-05-04 19:43:51 -05:00
adelikat b3ad3ce6ba Move BizInvoke files from Emulation.Common to Common 2017-05-01 17:30:42 -05:00
adelikat e1750bdce9 Move BinaryQuickSerializer from Emulation.Common to Common 2017-05-01 17:26:39 -05:00
adelikat a8c15a652b Emulation.Common cleanups 2017-04-27 11:37:26 -05:00
J.D. Purcell 3d6b1da94d Whitespace only (indentation fixes/cleanup). 2017-04-19 20:34:30 -04:00
zeromus d7b0043379 add HModule accessor to InstanceDll 2017-04-17 22:42:12 -05:00
zeromus 42ab6b5df4 add tiny comment to HawkFile.Name 2017-04-17 22:41:58 -05:00
J.D. Purcell b53502eed8 Spaces -> tabs. 2017-04-15 16:37:30 -04:00
adelikat 3965af851f Misc code cleanups in BizHawk.Common 2017-04-13 13:57:58 -05:00
adelikat e767e1b673 Fix loading roms from archive when using recent roms menu 2017-04-01 16:15:32 -05:00
zeromus e484a69950 put RemoveMOTW back in the EXE assemblies. They can't load MOTW'd dlls which contain RemoveMOTW. We still need the RemoveMOTW code in a shared place for externalcores. 2017-03-21 11:09:43 -05:00
zeromus b2cfc199cc add gizmo for resolving LNK files 2017-03-15 22:49:48 -05:00
zeromus b4ad2f40d9 snes c# cleanup 2017-03-15 17:49:19 -05:00
zeromus 1ae8605450 ugh. due to some extension my visualstudio doesnt save projectfiles automatically. 2017-03-06 05:25:09 -06:00
zeromus fbd7601b77 for evaluation:
overhaul snes core -- radically simplify IPC.

There were two goals
1. speedup (failed)
2. not break in the old way of becoming unstable when GC happens (uncertain)
3. lay framework for simplified libretro interface (success, provisional on #2)

the speedup failed, I think, because a slower libco is needed to coexist with .net. I think I will fix this be incorporating both libcos, one for bsnes internal use, and one for .net<->c++ switching
2017-03-06 05:21:35 -06:00
zeromus 569113f2f8 fix #741, maybe, by removing MOTW from external cores before interrogating them. Will it still trigger when running them, if that's done somehow before interrogating them? (untested) 2017-02-21 18:23:02 -06:00
adelikat 6b5710ea25 HawkFile - meh, don't attempt to extract .dll files, these qualify as archives but there is no use case for attempting to load files from within them, then again, there is no reasonable use case for attempting to do so this is basically a useless commit 2016-12-06 12:31:18 -06:00
adelikat eba11b259e HawkFile - fix exception when a file has no extension, and also simplify the logic 2016-12-06 12:21:05 -06:00
adelikat 5665de1797 Intellivision - add a "Fake analog" controller as the default controller for easier binding for casual play, but also leave a boolean option as well for more precise (TAS) control. Add a controller config dialog to select them. 2016-12-03 17:44:25 -06:00
adelikat 2af7765ae0 Don't attempt to detect .smc and .sfc files as archives. Do we want to do this for all known rom extensions? 2016-11-19 14:48:52 -06:00
zeromus a9c0211d46 change a bunch of old googlecode urls in assemblyinfos 2016-06-13 11:34:27 -05:00
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
nattthebear 2a0e859a85 Add 64 bit build (doesn't work yet), move SlimDX.dll 2016-02-28 15:06:03 -05:00
zeromus 51bec2a4a8 add 250ms upper limit to time spent in TryMoveBackupFile loops 2016-02-27 20:23:31 -06:00
zeromus 3c96e9d434 ok so i messed up with the FileInfo, because it was already there and I just lazily used it. But lets try handling this with the sophistication it calls for 2016-02-27 16:19:41 -06:00