Commit Graph

6233 Commits

Author SHA1 Message Date
RadWolfie fb7398d7c9 Get maximum reserve memory ranges from host.
Plus more fixup to manage reliable memory design on loader launch and emulator.
2020-04-14 20:24:18 -05:00
RadWolfie 37b230fbfe scrap win32 draft gui 2020-04-14 20:24:18 -05:00
RadWolfie 8a33562dc8 fix standalone persisted memory support 2020-04-14 20:24:18 -05:00
RadWolfie b20a970b1d fix shared memory reboot loss 2020-04-14 20:24:18 -05:00
RadWolfie 7fca148bc6 implement toggle loader project in GUI 2020-04-14 20:24:18 -05:00
RadWolfie 380d93c03e yet another re-fix... 2020-04-14 20:24:18 -05:00
RadWolfie 0f38209e4b use std map pairs instead of string for cli usage
Plus enable individual memory shared settings and lock data file path hash whenever in used.
2020-04-14 20:24:18 -05:00
ergo720 11c046e0aa Suppress warning 4200 (alternative method) 2020-04-14 20:24:18 -05:00
ergo720 446b7efc29 Fix memory manager crashing upon second reboot 2020-04-14 20:24:18 -05:00
ergo720 f1255cb89b Allow the memory manager to work again with the non-loader approach 2020-04-14 20:24:18 -05:00
PatrickvL 79a3a8d9a6 Extracted functions for MapPersistedMemory and UnmapPersistedMemory 2020-04-14 20:24:18 -05:00
RadWolfie 1485d9c82b Add note about memory range option at launch should not occur at all. 2020-04-14 20:24:18 -05:00
RadWolfie 95d2406937 fix compile build to able call CxbxKrnlMain in cxbx.exe
Plus some fixes to able launch from cxbx.exe's emulation to verify the work is good or not.
2020-04-14 20:24:18 -05:00
ergo720 52f0d6f03b Updated memory functions to work with the loader 2020-04-14 20:24:18 -05:00
patrickvl a8e8f0c071 Loader : Update build script to include new binaries in artifact 2020-04-14 20:24:17 -05:00
PatrickvL c4f9821c6a Loader : Fix typos and avoid Microsoft compiler specific types 2020-04-14 20:24:17 -05:00
PatrickvL affc999d70 Loader : Use CxbxMessageBox (a wrapper for Windows' MessageBox API) wherever possible, to avoid repeating the TEXT("Cxbx-Reloaded") caption everywhere, and a different argument-order allowing default argument values and thus more compact code. 2020-04-14 20:24:17 -05:00
patrickvl f283dff3b6 Loader : Deduplicate code via new CreateSettings() 2020-04-14 20:24:17 -05:00
PatrickvL 254e666bfe Loader : Shared implementation for termining guiProcessID (and "2nd GUI" mode?!) 2020-04-14 20:24:17 -05:00
patrickvl 170b971a8e Loader : Deduplicate code via new CreateSettings() 2020-04-14 20:24:17 -05:00
patrickvl 890a5ffd2f Loader : Merge LaunchEmulation() into CxbxKrnlMain() 2020-04-14 20:24:17 -05:00
patrickvl 37f5a751a1 Loader : Moved HandleFirstLaunch() and LaunchEmulation() towards shared source file (CxbxKrnl.cpp), and call it from our DLL's Emulate() function. 2020-04-14 20:24:17 -05:00
PatrickvL daffa99825 Refactorings preparing actual emulation start for DLL (just need to move two functions to a shared file) 2020-04-14 20:24:17 -05:00
PatrickvL cd62ac9cc1 Shared implementation of VerifyBaseAddr() 2020-04-14 20:24:17 -05:00
PatrickvL 3be54d4569 Rely on CxbxKrnl.h for CXBX_BASE_ADDR (avoiding a duplicate declaration) 2020-04-14 20:24:17 -05:00
PatrickvL c537539c6e Extracted VerifyWow64() function, so that the Cxbx and CxbxLoader projects share the same implementation.
For this, renamed LoaderTooling.cpp to AddressRanges.cpp, which better aligns with AddressRanges.h anyway.
2020-04-14 20:24:17 -05:00
PatrickvL bf115fe7ab Complete Emulation DLL project by adding all Cxbx source files (except GUI-related stuff). Entire solution builds again with this.
Next steps :
- Actually getting the emulation DLL to work
- Complete CxbxGUI project by adding all Cxbx GUI-related source files
2020-04-14 20:24:17 -05:00
PatrickvL c42aff2307 Loader : Collect actually reserved ranges during range-verification (in the emulation DLL, not during reservation in the loader) 2020-04-14 20:24:17 -05:00
patrickvl 39a9bd451f Log initialization failure in the loader 2020-04-14 20:24:17 -05:00
patrickvl 747ec875aa Use EXIT_SUCCESS for forced termination, EXIT_FAILURE for all other exit-reasons. 2020-04-14 20:24:17 -05:00
patrickvl 41c2de8e5d Pass along the selected system configuration flag to the emulation DLL and use it to verify the address ranges.
Note, that even though verification passes, a few blocks in optional ranges do fail. It's probably wise to build up a list of those, so that the memory managers can keep this into account.
2020-04-14 20:24:17 -05:00
PatrickvL 93c8514700 Loader : Initial drop of a separate *empty* GUI project (probably won't compile either) 2020-04-14 20:24:17 -05:00
PatrickvL b2b0813db4 Loader : Added emulation DLL, working towards this stub compiling, moved loader project to subfolder 2020-04-14 20:24:17 -05:00
PatrickvL 9f19b26161 Loader : Log errors to console output. Also added a few comments 2020-04-14 20:24:16 -05:00
PatrickvL 4e1062905d Loader : Correct the PageTable range to fit all possible entries 2020-04-14 20:24:16 -05:00
PatrickvL e333152bd1 Loader : We won't emulate Alpha kits, and all other hardware revisions lack the physical hardware lines for USB1 ports, so this can go. 2020-04-14 20:24:16 -05:00
PatrickvL 032eee144f Reduce clutter in Loader by splitting up functionality in task-specific source files 2020-04-14 20:24:16 -05:00
patrickvl 420d689d82 Cleaned up of the loader project, added environment checks and documented it somewhat. 2020-04-14 20:24:16 -05:00
patrickvl 2295a10e77 Configurable system configuration by matching command line flags against memory-range flags - a quite flexible solution if I may say ;) 2020-04-14 20:24:16 -05:00
patrickvl 0532fa7c58 Loader coding style 2020-04-14 20:24:16 -05:00
patrickvl da10d3602f Extended reserved memory ranges with DevKitMemory and SystemMemory (both partially fail) 2020-04-14 20:24:16 -05:00
patrickvl 34072e9fd9 Random stuff, taken from my old Loader branch 2020-04-14 20:24:16 -05:00
patrickvl 208ce0e35c Added minimal CxbxLoader project 2020-04-14 20:24:16 -05:00
PatrickvL ca6423b484 Reviving my more-than-a-year-old Loader branch, by copying over various things (nothing functional yet) 2020-04-14 20:24:16 -05:00
PatrickvL 2a23634c77
Merge pull request #1870 from Cxbx-Reloaded/develop
Move develop Branch into master Branch
2020-04-14 12:23:31 +02:00
RadWolfie 52cdb4e984
Merge pull request #1869 from Margen67/readme-fix
Remove Azure badge
2020-04-13 19:25:24 -05:00
Margen67 525a2fb330
Remove Azure badge 2020-04-13 17:22:06 -07:00
PatrickvL 238dda162f
Merge pull request #1865 from LukeUsher/amd-gpu-workaround
prevent missing polygons with AMD GPU
2020-04-14 00:24:38 +02:00
RadWolfie 739e1928a2 change filter log output to always output 2020-04-13 03:28:58 -05:00
= 63563763dd vsh: reduce number of instructions required to handle bounds checking 2020-04-13 03:10:23 -05:00