mirror of
https://github.com/Cxbx-Reloaded/Cxbx-Reloaded.git
synced 2025-04-02 11:11:52 -04:00
Compare commits
58 commits
CI-3515449
...
master
Author | SHA1 | Date | |
---|---|---|---|
|
dd36dd598c | ||
|
87634a2e27 | ||
|
6f32d89545 | ||
|
ec0c288bc4 | ||
|
8bfbcb56fd | ||
|
8965d2443b | ||
|
b33ed95c5b | ||
|
8ee17b512c | ||
|
50334cbc31 | ||
|
41454b8c26 | ||
|
204dcf8801 | ||
|
77c63ceec3 | ||
|
2cfaba893e | ||
|
17b0cb81d4 | ||
|
daa6a816ff | ||
|
6caf3ea679 | ||
|
9a58823b70 | ||
|
3edd8d168b | ||
|
f894d31332 | ||
|
9241bec768 | ||
|
c50a0c5c7d | ||
|
87bab04932 | ||
|
ad6769bbf3 | ||
|
0e63131fc3 | ||
|
889040c56a | ||
|
86542c9f2e | ||
|
c9edbd1003 | ||
|
ebb122f2a0 | ||
|
c158a472ff | ||
|
6961d1c7a1 | ||
|
2f7cfe7e95 | ||
|
46d0173673 | ||
|
c7b028b3e7 | ||
|
3d12edc77d | ||
|
08ab4b9164 | ||
|
4fca5c7007 | ||
|
e26f20108a | ||
|
8475124e5b | ||
|
9b2ae106e5 | ||
|
b3bfeca3a8 | ||
|
b77a13b708 | ||
|
1b5e111ae3 | ||
|
1504a75a46 | ||
|
87496ab873 | ||
|
5b37a7ec21 | ||
|
639f42c318 | ||
|
8d92992a6b | ||
|
7323eed73e | ||
|
b47c1f195c | ||
|
7c73bfc525 | ||
|
1b4a3bb54f | ||
|
750d202fa8 | ||
|
e7bca5e1bf | ||
|
937ab9e1c2 | ||
|
8006f55cf3 | ||
|
1828ddfd6f | ||
|
bc42cfaa6b | ||
|
b1235b7733 |
14 changed files with 118 additions and 60 deletions
112
.github/labeler.yml
vendored
112
.github/labeler.yml
vendored
|
@ -1,75 +1,111 @@
|
||||||
# Labels are in alphabetical order.
|
# Labels are in alphabetical order.
|
||||||
|
|
||||||
cmake:
|
cmake:
|
||||||
- 'CMake*'
|
- changed-files:
|
||||||
- '**/CMakeLists.txt'
|
- any-glob-to-any-file:
|
||||||
- '**/*.cmake'
|
- 'CMake*'
|
||||||
|
- '**/CMakeLists.txt'
|
||||||
|
- '**/*.cmake'
|
||||||
|
|
||||||
cpu-emulation:
|
cpu-emulation:
|
||||||
- 'src/devices/x86/**'
|
- changed-files:
|
||||||
|
- any-glob-to-any-file:
|
||||||
|
- 'src/devices/x86/**'
|
||||||
|
|
||||||
deployment:
|
deployment:
|
||||||
- '*.yml'
|
- changed-files:
|
||||||
- '.github/workflows/CI.yml'
|
- any-glob-to-any-file:
|
||||||
|
- '*.yml'
|
||||||
|
- '.github/workflows/CI.yml'
|
||||||
|
|
||||||
file-system:
|
file-system:
|
||||||
- 'src/core/kernel/support/EmuFile*'
|
- changed-files:
|
||||||
|
- any-glob-to-any-file:
|
||||||
|
- 'src/core/kernel/support/EmuFile*'
|
||||||
|
|
||||||
graphics:
|
graphics:
|
||||||
- 'src/core/hle/D3D8/**'
|
- changed-files:
|
||||||
- 'src/core/hle/XGRAPHIC/**'
|
- any-glob-to-any-file:
|
||||||
- 'src/devices/video/**'
|
- 'src/core/hle/D3D8/**'
|
||||||
- 'src/gui/*Video*'
|
- 'src/core/hle/XGRAPHIC/**'
|
||||||
|
- 'src/devices/video/**'
|
||||||
|
- 'src/gui/*Video*'
|
||||||
|
|
||||||
HLE:
|
HLE:
|
||||||
- 'src/core/hle/**'
|
- changed-files:
|
||||||
- 'src/core/kernel/**'
|
- any-glob-to-any-file:
|
||||||
|
- 'src/core/hle/**'
|
||||||
|
- 'src/core/kernel/**'
|
||||||
|
|
||||||
informational:
|
informational:
|
||||||
- '**/*Logging*'
|
- changed-files:
|
||||||
- '**/*Logging*/**'
|
- any-glob-to-any-file:
|
||||||
- '**/README.md'
|
- '**/*Logging*'
|
||||||
|
- '**/*Logging*/**'
|
||||||
|
- '**/README.md'
|
||||||
|
|
||||||
input:
|
input:
|
||||||
- 'src/common/input/**'
|
- changed-files:
|
||||||
- 'src/core/hle/XAPI/input/**'
|
- any-glob-to-any-file:
|
||||||
- 'src/devices/usb/**'
|
- 'src/common/input/**'
|
||||||
- 'src/gui/controllers/**'
|
- 'src/core/hle/XAPI/input/**'
|
||||||
- 'src/gui/*Input*'
|
- 'src/devices/usb/**'
|
||||||
|
- 'src/gui/controllers/**'
|
||||||
|
- 'src/gui/*Input*'
|
||||||
|
|
||||||
kernel:
|
kernel:
|
||||||
- 'src/core/kernel/**'
|
- changed-files:
|
||||||
|
- any-glob-to-any-file:
|
||||||
|
- 'src/core/kernel/**'
|
||||||
|
|
||||||
LLE:
|
LLE:
|
||||||
- 'src/devices/**'
|
- changed-files:
|
||||||
|
- any-glob-to-any-file:
|
||||||
|
- 'src/devices/**'
|
||||||
|
|
||||||
memory:
|
memory:
|
||||||
- 'src/core/kernel/memory-manager/**'
|
- changed-files:
|
||||||
|
- any-glob-to-any-file:
|
||||||
|
- 'src/core/kernel/memory-manager/**'
|
||||||
|
|
||||||
networking:
|
networking:
|
||||||
- 'src/core/hle/XONLINE/**'
|
- changed-files:
|
||||||
- 'src/devices/network/**'
|
- any-glob-to-any-file:
|
||||||
- 'src/gui/*Network*'
|
- 'src/core/hle/XONLINE/**'
|
||||||
|
- 'src/devices/network/**'
|
||||||
|
- 'src/gui/*Network*'
|
||||||
|
|
||||||
sound:
|
sound:
|
||||||
- 'src/common/audio/**'
|
- changed-files:
|
||||||
- 'src/core/hle/DSOUND/**'
|
- any-glob-to-any-file:
|
||||||
- 'src/core/hle/XACTENG/**'
|
- 'src/common/audio/**'
|
||||||
- 'src/devices/audio/**'
|
- 'src/core/hle/DSOUND/**'
|
||||||
- 'src/gui/*Audio*'
|
- 'src/core/hle/XACTENG/**'
|
||||||
|
- 'src/devices/audio/**'
|
||||||
|
- 'src/gui/*Audio*'
|
||||||
|
|
||||||
modules:
|
modules:
|
||||||
- 'import/**'
|
- changed-files:
|
||||||
|
- any-glob-to-any-file:
|
||||||
|
- 'import/**'
|
||||||
|
|
||||||
threading:
|
threading:
|
||||||
- 'src/core/kernel/support/EmuFS*'
|
- changed-files:
|
||||||
|
- any-glob-to-any-file:
|
||||||
|
- 'src/core/kernel/support/EmuFS*'
|
||||||
|
|
||||||
timing:
|
timing:
|
||||||
- 'src/common/Timer*'
|
- changed-files:
|
||||||
|
- any-glob-to-any-file:
|
||||||
|
- 'src/common/Timer*'
|
||||||
|
|
||||||
user interface:
|
user interface:
|
||||||
- 'src/core/common/imgui/*'
|
- changed-files:
|
||||||
- 'src/gui/**'
|
- any-glob-to-any-file:
|
||||||
|
- 'src/core/common/imgui/*'
|
||||||
|
- 'src/gui/**'
|
||||||
|
|
||||||
xbdm:
|
xbdm:
|
||||||
- 'src/common/xbdm/**'
|
- changed-files:
|
||||||
|
- any-glob-to-any-file:
|
||||||
|
- 'src/common/xbdm/**'
|
||||||
|
|
10
.github/workflows/CI.yml
vendored
10
.github/workflows/CI.yml
vendored
|
@ -30,19 +30,21 @@ jobs:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
configuration: [Release, Debug]
|
configuration: [Release, Debug]
|
||||||
vsver: [2022]
|
vsver: [2019]
|
||||||
|
winver: [7]
|
||||||
|
sdkver: [10.0.22621.0]
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
submodules: recursive
|
submodules: recursive
|
||||||
- name: Generate CMake files
|
- name: Generate CMake files
|
||||||
run: cmake -B build -A Win32
|
run: cmake -B build -A Win32,version=${{ matrix.sdkver }} -DCMAKE_SYSTEM_VERSION=${{ matrix.winver }}
|
||||||
- name: Build
|
- name: Build
|
||||||
run: cmake --build build --config ${{ matrix.configuration }} -j $env:NUMBER_OF_PROCESSORS
|
run: cmake --build build --config ${{ matrix.configuration }} -j $env:NUMBER_OF_PROCESSORS
|
||||||
- name: Prepare artifacts
|
- name: Prepare artifacts
|
||||||
if: matrix.configuration == 'Release'
|
if: matrix.configuration == 'Release'
|
||||||
run: cmake --install build --config ${{ matrix.configuration }} --prefix artifacts
|
run: cmake --install build --config ${{ matrix.configuration }} --prefix artifacts
|
||||||
- uses: actions/upload-artifact@v3
|
- uses: actions/upload-artifact@v4
|
||||||
if: matrix.configuration == 'Release'
|
if: matrix.configuration == 'Release'
|
||||||
with:
|
with:
|
||||||
name: CxbxReloaded-${{ matrix.configuration }}-VS${{ matrix.vsver }}
|
name: CxbxReloaded-${{ matrix.configuration }}-VS${{ matrix.vsver }}
|
||||||
|
@ -59,7 +61,7 @@ jobs:
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- name: Download artifacts
|
- name: Download artifacts
|
||||||
uses: actions/download-artifact@v3
|
uses: actions/download-artifact@v4
|
||||||
with:
|
with:
|
||||||
path: artifacts
|
path: artifacts
|
||||||
- name: Re-zip artifacts
|
- name: Re-zip artifacts
|
||||||
|
|
4
.github/workflows/autoclose.yml
vendored
4
.github/workflows/autoclose.yml
vendored
|
@ -7,9 +7,9 @@ jobs:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
- name: Automatically close issues that don't follow the issue template
|
- name: Automatically close issues that don't follow the issue template
|
||||||
uses: ergo720/auto-close-issues@v1.0.4
|
uses: ergo720/auto-close-issues@v1
|
||||||
with:
|
with:
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
issue-close-message: "@${issue.user.login}: your issue has been automatically closed because it does not follow the issue template." # optional property
|
issue-close-message: "@${issue.user.login}: your issue has been automatically closed because it does not follow the issue template." # optional property
|
||||||
|
|
2
.github/workflows/pull-request.yml
vendored
2
.github/workflows/pull-request.yml
vendored
|
@ -7,7 +7,7 @@ jobs:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Labeler
|
- name: Labeler
|
||||||
uses: actions/labeler@v4
|
uses: actions/labeler@v5
|
||||||
with:
|
with:
|
||||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
sync-labels: true
|
sync-labels: true
|
||||||
|
|
2
.gitmodules
vendored
2
.gitmodules
vendored
|
@ -1,6 +1,6 @@
|
||||||
[submodule "import/subhook"]
|
[submodule "import/subhook"]
|
||||||
path = import/subhook
|
path = import/subhook
|
||||||
url = https://github.com/Zeex/subhook.git
|
url = https://github.com/Cxbx-Reloaded/subhook.git
|
||||||
shallow = true
|
shallow = true
|
||||||
[submodule "import/cs_x86"]
|
[submodule "import/cs_x86"]
|
||||||
path = import/cs_x86
|
path = import/cs_x86
|
||||||
|
|
2
import/SDL2
vendored
2
import/SDL2
vendored
|
@ -1 +1 @@
|
||||||
Subproject commit b424665e0899769b200231ba943353a5fee1b6b6
|
Subproject commit fa24d868ac2f8fd558e4e914c9863411245db8fd
|
|
@ -46,7 +46,7 @@ if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
|
||||||
# Enable Chihiro work
|
# Enable Chihiro work
|
||||||
CHIHIRO_WORK
|
CHIHIRO_WORK
|
||||||
)
|
)
|
||||||
|
|
||||||
# Reference: https://docs.microsoft.com/en-us/cpp/build/reference/compiler-options-listed-alphabetically
|
# Reference: https://docs.microsoft.com/en-us/cpp/build/reference/compiler-options-listed-alphabetically
|
||||||
add_compile_options(
|
add_compile_options(
|
||||||
# Catch synchronous (C++) exceptions only
|
# Catch synchronous (C++) exceptions only
|
||||||
|
@ -68,7 +68,7 @@ XXH_INLINE_ALL
|
||||||
)
|
)
|
||||||
|
|
||||||
file (GLOB RESOURCES
|
file (GLOB RESOURCES
|
||||||
|
|
||||||
"${CXBXR_ROOT_DIR}/CONTRIBUTORS"
|
"${CXBXR_ROOT_DIR}/CONTRIBUTORS"
|
||||||
"${CXBXR_ROOT_DIR}/COPYING"
|
"${CXBXR_ROOT_DIR}/COPYING"
|
||||||
"${CXBXR_ROOT_DIR}/README.md"
|
"${CXBXR_ROOT_DIR}/README.md"
|
||||||
|
@ -90,7 +90,7 @@ source_group(TREE ${CXBXR_ROOT_DIR}/import PREFIX import FILES
|
||||||
${CXBXR_SOURCE_EMU_IMPORT}
|
${CXBXR_SOURCE_EMU_IMPORT}
|
||||||
)
|
)
|
||||||
|
|
||||||
source_group(TREE ${CXBXR_ROOT_DIR}/src PREFIX source FILES
|
source_group(TREE ${CXBXR_ROOT_DIR}/src PREFIX source FILES
|
||||||
${CXBXR_SOURCE_GUIv1}
|
${CXBXR_SOURCE_GUIv1}
|
||||||
${CXBXR_SOURCE_COMMON}
|
${CXBXR_SOURCE_COMMON}
|
||||||
)
|
)
|
||||||
|
@ -121,7 +121,7 @@ if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
|
||||||
|
|
||||||
# Reference: https://docs.microsoft.com/en-us/cpp/build/reference/compiler-options-listed-alphabetically
|
# Reference: https://docs.microsoft.com/en-us/cpp/build/reference/compiler-options-listed-alphabetically
|
||||||
# /Zi = create a PDB file without affecting optimization
|
# /Zi = create a PDB file without affecting optimization
|
||||||
# /Ob2 = Controls inline expansion of functions.
|
# /Ob3 = Controls inline expansion of functions.
|
||||||
# /Oi = Generate intrinsic functions
|
# /Oi = Generate intrinsic functions
|
||||||
# /Ot = In favor of using fast code than small code
|
# /Ot = In favor of using fast code than small code
|
||||||
# /GL = Whole program optimization
|
# /GL = Whole program optimization
|
||||||
|
@ -132,7 +132,7 @@ if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
|
||||||
# Set optimization options for release build
|
# Set optimization options for release build
|
||||||
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} \
|
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} \
|
||||||
/Zi \
|
/Zi \
|
||||||
/Ob2 \
|
/Ob3 \
|
||||||
/Oi \
|
/Oi \
|
||||||
/Ot \
|
/Ot \
|
||||||
/GL \
|
/GL \
|
||||||
|
@ -142,7 +142,7 @@ if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
|
||||||
/Qpar \
|
/Qpar \
|
||||||
"
|
"
|
||||||
)
|
)
|
||||||
|
|
||||||
# disable optimization for CxbxKrnl.cpp file
|
# disable optimization for CxbxKrnl.cpp file
|
||||||
set_source_files_properties(
|
set_source_files_properties(
|
||||||
${CXBXR_KRNL_CPP} PROPERTIES COMPILE_FLAGS "/Od /GL-"
|
${CXBXR_KRNL_CPP} PROPERTIES COMPILE_FLAGS "/Od /GL-"
|
||||||
|
@ -150,7 +150,7 @@ if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Windows libraries
|
# Windows libraries
|
||||||
set(WINS_LIB
|
set(WINS_LIB
|
||||||
legacy_stdio_definitions
|
legacy_stdio_definitions
|
||||||
d3d9
|
d3d9
|
||||||
d3dcompiler
|
d3dcompiler
|
||||||
|
@ -170,6 +170,7 @@ set(WINS_LIB
|
||||||
comctl32
|
comctl32
|
||||||
XINPUT9_1_0
|
XINPUT9_1_0
|
||||||
Iphlpapi
|
Iphlpapi
|
||||||
|
Dwmapi
|
||||||
)
|
)
|
||||||
|
|
||||||
target_link_libraries(cxbx
|
target_link_libraries(cxbx
|
||||||
|
|
|
@ -131,7 +131,7 @@ if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
|
||||||
# Set optimization options for release build
|
# Set optimization options for release build
|
||||||
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} \
|
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} \
|
||||||
/Zi \
|
/Zi \
|
||||||
/Ob2 \
|
/Ob3 \
|
||||||
/Oi \
|
/Oi \
|
||||||
/Ot \
|
/Ot \
|
||||||
/GL \
|
/GL \
|
||||||
|
@ -144,7 +144,7 @@ if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Windows libraries
|
# Windows libraries
|
||||||
set(WINS_LIB
|
set(WINS_LIB
|
||||||
legacy_stdio_definitions
|
legacy_stdio_definitions
|
||||||
d3d9
|
d3d9
|
||||||
d3dcompiler
|
d3dcompiler
|
||||||
|
|
|
@ -178,7 +178,7 @@ void JVS_Init()
|
||||||
std::string baseBoardBackupRamPath = "backup_ram.bin";
|
std::string baseBoardBackupRamPath = "backup_ram.bin";
|
||||||
|
|
||||||
if (!JVS_LoadFile((romPath + "\\" + baseBoardQcFirmwarePath).c_str(), g_BaseBoardQcFirmware)) {
|
if (!JVS_LoadFile((romPath + "\\" + baseBoardQcFirmwarePath).c_str(), g_BaseBoardQcFirmware)) {
|
||||||
("Failed to load base board firmware: %s", baseBoardQcFirmwarePath.c_str());
|
CxbxrAbort("Failed to load base board firmware: %s", baseBoardQcFirmwarePath.c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!JVS_LoadFile((romPath + "\\" + baseBoardScFirmwarePath).c_str(), g_BaseBoardScFirmware)) {
|
if (!JVS_LoadFile((romPath + "\\" + baseBoardScFirmwarePath).c_str(), g_BaseBoardScFirmware)) {
|
||||||
|
|
|
@ -281,6 +281,17 @@ XBSYSAPI EXPORTNUM(66) xbox::ntstatus_xt NTAPI xbox::IoCreateFile
|
||||||
// Force ShareAccess to all
|
// Force ShareAccess to all
|
||||||
ShareAccess = FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE;
|
ShareAccess = FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE;
|
||||||
|
|
||||||
|
// Force set DELETE permission flag if write attributes flag is set.
|
||||||
|
// Testcase: dashupdate.xbe (4928, untested with other versions but newer dashupdate did not call for deletion on fail).
|
||||||
|
if (DesiredAccess & FILE_WRITE_ATTRIBUTES) {
|
||||||
|
DesiredAccess |= DELETE;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Force sanitize before call to NtDll::NtCreateFile
|
||||||
|
// Testcase:
|
||||||
|
// * Exhibition Demo discs - Attempt to create music folder fail internally which then show unable to copy soundtrack dialog.
|
||||||
|
FileAttributes &= FILE_ATTRIBUTE_VALID_FLAGS;
|
||||||
|
|
||||||
if (SUCCEEDED(ret))
|
if (SUCCEEDED(ret))
|
||||||
{
|
{
|
||||||
// redirect to NtCreateFile
|
// redirect to NtCreateFile
|
||||||
|
|
|
@ -153,7 +153,8 @@ void InitXboxHardware(HardwareModel hardwareModel)
|
||||||
|
|
||||||
// Create devices
|
// Create devices
|
||||||
g_MCPX = new MCPXDevice(mcpx_revision);
|
g_MCPX = new MCPXDevice(mcpx_revision);
|
||||||
// TODO: For Chihiro, different games modes require different DIP switch settings
|
|
||||||
|
// TODO: For Chihiro, different games modes require different DIP switch settings
|
||||||
// Chihiro FilterBoard dip-switches 6,7,8 change this value!
|
// Chihiro FilterBoard dip-switches 6,7,8 change this value!
|
||||||
g_SMC = new SMCDevice(smc_revision, IS_CHIHIRO(hardwareModel) ? 0 : 1); // 0 = AV_PACK_SCART, 1 = AV_PACK_HDTV. Chihiro doesn't support HDTV!
|
g_SMC = new SMCDevice(smc_revision, IS_CHIHIRO(hardwareModel) ? 0 : 1); // 0 = AV_PACK_SCART, 1 = AV_PACK_HDTV. Chihiro doesn't support HDTV!
|
||||||
// SMC uses different AV_PACK values than the Kernel
|
// SMC uses different AV_PACK values than the Kernel
|
||||||
|
@ -164,7 +165,7 @@ void InitXboxHardware(HardwareModel hardwareModel)
|
||||||
g_ADM1032 = new ADM1032Device();
|
g_ADM1032 = new ADM1032Device();
|
||||||
g_USB0 = new USBDevice();
|
g_USB0 = new USBDevice();
|
||||||
|
|
||||||
if (g_bIsChihiro) {
|
if (IS_CHIHIRO(hardwareModel)) {
|
||||||
g_MediaBoard = new MediaBoard();
|
g_MediaBoard = new MediaBoard();
|
||||||
char MediaBoardMountPath[xbox::max_path];
|
char MediaBoardMountPath[xbox::max_path];
|
||||||
g_EmuShared->GetTitleMountPath(MediaBoardMountPath);
|
g_EmuShared->GetTitleMountPath(MediaBoardMountPath);
|
||||||
|
|
|
@ -63,6 +63,7 @@ uint32_t MediaBoard::LpcRead(uint32_t addr, int size)
|
||||||
case 0x4020: return 0x00A0; // XBAM String (SEGABOOT reports Media Board is not present if these values change)
|
case 0x4020: return 0x00A0; // XBAM String (SEGABOOT reports Media Board is not present if these values change)
|
||||||
case 0x4022: return 0x4258; // Continued
|
case 0x4022: return 0x4258; // Continued
|
||||||
case 0x4024: return 0x4D41; // Continued
|
case 0x4024: return 0x4D41; // Continued
|
||||||
|
// TODO: Find a way to make the switch between Type-1 and Type-3 (internal value holder maybe?)
|
||||||
case 0x40F0: return 0x0000; // Media Board Type (Type-1 vs Type-3), 0x0000 = Type-1, 0x0100 = Type-3
|
case 0x40F0: return 0x0000; // Media Board Type (Type-1 vs Type-3), 0x0000 = Type-1, 0x0100 = Type-3
|
||||||
case 0x40F4: return 0x03; // 1GB
|
case 0x40F4: return 0x03; // 1GB
|
||||||
}
|
}
|
||||||
|
|
|
@ -61,7 +61,7 @@ typedef struct {
|
||||||
uint8_t day; // 0x2B
|
uint8_t day; // 0x2B
|
||||||
uint8_t videoMode; // 0x2C unknown bitmask, resolutions + horizontal/vertical
|
uint8_t videoMode; // 0x2C unknown bitmask, resolutions + horizontal/vertical
|
||||||
uint8_t unknown3;
|
uint8_t unknown3;
|
||||||
uint8_t type3Compatible; // 0x2E (Type-3 compatibile titles have this set to 1)
|
uint8_t type3Compatible; // 0x2E (Type-3 compatible titles have this set to 1)
|
||||||
uint8_t unknown4;
|
uint8_t unknown4;
|
||||||
char gameId[8]; // 0x30
|
char gameId[8]; // 0x30
|
||||||
uint32_t regionFlags; // 0x38
|
uint32_t regionFlags; // 0x38
|
||||||
|
|
|
@ -56,6 +56,8 @@
|
||||||
#undef GetSystemMetrics // Force remove DirectX 8's multimon.h defined function (redirect to xGetSystemMetrics).
|
#undef GetSystemMetrics // Force remove DirectX 8's multimon.h defined function (redirect to xGetSystemMetrics).
|
||||||
#include <WinUser.h> // For GetSystemMetrics
|
#include <WinUser.h> // For GetSystemMetrics
|
||||||
|
|
||||||
|
#include <dwmapi.h> // For DwmSetWindowAttribute
|
||||||
|
|
||||||
#include <io.h>
|
#include <io.h>
|
||||||
#include <shlobj.h>
|
#include <shlobj.h>
|
||||||
|
|
||||||
|
@ -323,6 +325,10 @@ LRESULT CALLBACK WndMain::WndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lP
|
||||||
ChangeWindowMessageFilterEx(hwnd, WM_COPYDATA, MSGFLT_ALLOW, nullptr);
|
ChangeWindowMessageFilterEx(hwnd, WM_COPYDATA, MSGFLT_ALLOW, nullptr);
|
||||||
ChangeWindowMessageFilterEx(hwnd, 0x0049, MSGFLT_ALLOW, nullptr);
|
ChangeWindowMessageFilterEx(hwnd, 0x0049, MSGFLT_ALLOW, nullptr);
|
||||||
|
|
||||||
|
// Remove rounded corners from the render window on Windows 11
|
||||||
|
const DWM_WINDOW_CORNER_PREFERENCE corner_preference = DWMWCP_DONOTROUND;
|
||||||
|
DwmSetWindowAttribute(hwnd, DWMWA_WINDOW_CORNER_PREFERENCE, &corner_preference, sizeof(corner_preference));
|
||||||
|
|
||||||
m_bCreated = true;
|
m_bCreated = true;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Add table
Reference in a new issue