Commit Graph

214 Commits

Author SHA1 Message Date
YoshiRulz 67cbe9a5ee
Cleanup OSTailoredCode 2019-08-12 20:53:55 +10:00
YoshiRulz b7249a99a5
Extract shell command helpers 2019-08-12 20:00:42 +10:00
adelikat b1296dd9bb rip out NDBDatabase 2019-06-15 15:13:08 -05:00
YoshiRulz 3fa0f71a24 Inline ToHexString extension where param numdigits is constant 2019-06-14 15:54:17 +00:00
YoshiRulz a2a5ec7566 Replace $"{a}{b}" and similar with concatenation 2019-06-14 15:54:17 +00:00
YoshiRulz 2642ef4049
Remove empty docs 2019-06-06 16:41:10 +10:00
YoshiRulz 268ed1a69d
Fix malformed docs 2019-05-29 20:58:01 +10:00
YoshiRulz df232e6184
Add additional CurrentOS checks 2019-05-19 14:46:50 +10:00
YoshiRulz 35056ae2d9
Remove #if WINDOWS, using runtime check where applicable 2019-05-18 20:17:02 +10:00
YoshiRulz 58c738957c
Rename PlatformLinkedLibSingleton and children 2019-05-18 15:40:46 +10:00
YoshiRulz d76e1a8a8b
Refactor PlatformLinkedLibSingleton and replace RunningOnUnix with CurrentOS 2019-05-18 15:30:29 +10:00
Asnivor ff4acab261 Serializer: Add support for float[], double and double[] 2019-04-08 08:59:01 +01:00
James Groom 6b56a65d11
Add MutableIntRange and float.RoundToInt and refactor AnalogStickPanel 2019-04-01 14:41:08 +11:00
James Groom 779975f689
Use nameof 2019-03-28 14:17:14 +11:00
YoshiRulz 20b3112284
Use string interpolation
Excludes Sprintf.cs
2019-03-20 15:13:04 +10:00
upthorn 435d717f7b Merge branch 'master' of https://github.com/Upthorn/Bizhawk 2019-01-14 17:10:45 -08:00
zeromus 303e9df26e rejigger PlatformLinkedLibSingleton so it can be used embedded in the EXE without requiring a dependency on dlls, so it can boot when dlls are relocated 2019-01-04 17:42:12 -05:00
upthorn c8f826ada3 Merge branch 'master' of https://github.com/TASVideos/BizHawk 2019-01-04 13:58:01 -08:00
nattthebear b82fd1fb2c Remove bogus TODO.
Absolute requirements of MemoryBlock include:

1) Ability to set and deny RWX permissions at the individual page level within the block
2) Ability to map and unmap from memory at will
3) Ability to specifiy the exact address at which the mapping occurs

From the docs, I don't see any way to get at any of these from the MemoryMappedFile stuff.  So that's a nonstarter.

Should be easy enough to rewrite in POSIX though.
2019-01-04 16:30:13 -05:00
upthorn 71215adf0d Merge branch 'master' of https://github.com/TASVideos/BizHawk 2019-01-04 04:58:58 -08:00
James Groom 42764f0019 Add preliminary Unix compatibility (using Mono; resolves #1384) (#1380)
* Move PlatformSpecificLinkedLibs and implementations to common and rename
* Specify file ext. at LoadPlatformSpecific call site
* Move Client.Common.Global.RunningOnUnix to PlatformLinkedLibSingleton
* Inline var Resolver
* Use PlatformLinkedLibManager internally
* Move plugin load check to LinkedLibManager, use LinkedLibManager
* Interpolate
* Return exit code from dlclose/FreeLibrary
* Skip all calls to externs in BlipBufDll when using mono
* Use PlatformLinkedLibManager in SevenZipLibraryManager
* Add expected return value to workaround (from testing on Win32)
* Remove ".dll" from DllImport attr, remove temporary workaround, see desc.
The library can be built by changing the output file name in
`.../blip_buf/Makefile` to `libblip_buf.so`, and running `make`. It will be
loaded if placed in the `.../output` folder.
* Remove unused code, add TODO (this class is req. for Waterbox.PeWrapper)
The TODO is to [rewrite with
C#](https://docs.microsoft.com/en-us/dotnet/standard/io/memory-mapped-files)
instead of importing from `kernel32.dll`.
* Update OpenTK again but better (for #1384)
* Add Mono run script
* Add libblip_buf.so (temporary)
Temporary because it should be a separate package which BizHawk depends on.
* Add distro detection, add "already running" and "unknown distro" messages
* Gray-out Lua Console on Unix
* Extract superclass from EmuLuaLibrary, add shell implementation for Unix
* Specify libdl version, Fedora doesn't have the versionless symlink
* Remove empty `ToolStripMenuItem`, null `Text` caused crash on Unix
* Transform OpenTK keyboard input into a `List<KeyEvent>` and read that
Also fixes crash on rebind
* Remove debug `using ...;`
2019-01-04 01:50:55 +03:00
upthorn aba1da071d Completely refactored PluginAPI to extend ApiHawk. Ecco2AssistantPlugin is now an external tool. 2018-12-22 10:40:30 -08:00
zeromus 2eade372fd try a new technique to just unstick the frontend when the n64 emulation thread dies 2018-11-07 15:37:37 -05:00
zeromus ba4b32f619 rename TempFileCleaner to TempFileManager; add global path config for temp files
I did this in a funny way (sets the environment for the process).
The idea is that any code which sloppily used Path.GetTempDirectory (etc.) would now have its pathing changed.
It is a little dangerous to allow this to be changed on the fly (I do allow it) since something may expect it to be stable, but I think it's OK.
So anyway. keep your eyes peeled for problems. It's possible I could do this differently and only affect a subset of safely managed things.

should fix #1252
2018-09-11 21:32:50 -04:00
adelikat 22d1818641 DoSettings file for all project to explicitely set language level to C#6 2018-06-23 13:06:13 -05:00
zeromus d55e03538f revert weird changes to util.cs for unused parameter-filling code 2018-03-13 20:41:29 -04:00
Xadrophonix 4bcd69924b All required contents for: https://github.com/TASVideos/BizHawk/issues/1122 2018-03-02 12:06:01 -08:00
frequem 71ba3024b7 Fixed linux build 2018-02-21 20:19:33 -05:00
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