PatrickvL
e6b2ed88af
Merge pull request #1872 from Cxbx-Reloaded/cmake_loader_reloaded
...
Near absolute memory control
2020-04-20 09:50:50 +02:00
RadWolfie
c27da955ab
replace placeholder to working emulate_system variable set
2020-04-17 14:54:01 +02:00
PatrickvL
10b7d06be8
Merge pull request #1871 from RadWolfie/enable-loader-ui
...
LOADER: Enable Loader's UI and Set to Default
2020-04-15 09:02:26 +02:00
RadWolfie
a554f1cbba
enable Loader's UI toggleable and set enable by default
2020-04-14 20:27:16 -05:00
ergo720
653252d1f3
Create two independent file mappings for a chihiro system
2020-04-14 20:24:19 -05:00
RadWolfie
0623d4f485
add SEGABOOT_EP_XOR and update GetXbeType to use named value
2020-04-14 20:24:19 -05:00
RadWolfie
d2f104f251
change KB/MB to KiB/MiB
2020-04-14 20:24:19 -05:00
RadWolfie
1a1019b85c
replace hardcode 384 to blocks_reserved_t plus add comments
2020-04-14 20:24:19 -05:00
RadWolfie
897bc182f8
use enum class for XbeType to resolve warnings
2020-04-14 20:24:19 -05:00
RadWolfie
55f84cd67e
move functions into their own locations
2020-04-14 20:24:19 -05:00
RadWolfie
35319dc724
convert defines to inline constexpr
2020-04-14 20:24:19 -05:00
RadWolfie
57905bab69
replace hardcode addresses to defined values
2020-04-14 20:24:19 -05:00
RadWolfie
32001136ae
replace hardcode addresses to macro for AddressRanges files
2020-04-14 20:24:18 -05:00
RadWolfie
2ead1e0fe0
move address ranges into AddressRanges header file
2020-04-14 20:24:18 -05:00
RadWolfie
7bfd1c795b
move GetLastErrorString and FreeLastErrorString to loader source file
2020-04-14 20:24:18 -05:00
RadWolfie
04840af6d3
remove old todo comment
2020-04-14 20:24:18 -05:00
RadWolfie
9e1077fe9f
declare ARRAY_SIZE once and use C++11 feature
2020-04-14 20:24:18 -05:00
RadWolfie
af3858c0d8
add todo comments
2020-04-14 20:24:18 -05:00
RadWolfie
fbe4987569
add verbose debug; won't work with loader project
2020-04-14 20:24:18 -05:00
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