mirror of
https://github.com/ran-j/PS2Recomp.git
synced 2026-09-27 01:03:31 -04:00
75d729ce40
* refactor: from guest threads to EE scheduler * feat: bad wip mpeg fix for code veronica * feat: cheap copy from host feat: small perf o vsync tick * feat: added EE clock Hz fix: fix MPEG out of sync with new EE refactor * fix: fix lotr tests * fix: fix cri dtx loading fix: fix wrong mmi instruction translation fix: fix thread info params feat: added EE timers decoder and consumer feat: split SFI and IOP memory to prevent collision and overrides * feat: revert wrong changes * refactor: change GS architecture * feat: IOP emulator refactor: codegen to catch callbacks on mips code feat: added a lot of entries or IOP emulator * feat: analyzer resolve the complete constant-producing sequence with five-instruction backward scan stopped at LUI and therefore * feat: remove recompiled version of GetRomName refactor: split IOP emulator logic feat: added more HLE IOP modules feat: added ps2_path * eat: enhance ELF parser with improved callable entry detection and control flow analysis * feat: update memory hint handling and enhance entry point discovery logic * feat: add SET_GPR_ZE32 macro for zero-extending loads with unsigned semantics * refactor: Refactor PS2 IOP Host Adapter and Memory Management feat: Added PS2Vfs for virtual file system operations, including file opening, reading, writing, and path resolution. feat: Improve VIF1 data processing to handle GIF image packets more efficiently. * feat: added a lot of tests * fix: fix texture caching feat: wip multi version on dbcman * feat: remove LLE IOPs
76 lines
2.5 KiB
CMake
76 lines
2.5 KiB
CMake
cmake_minimum_required(VERSION 3.21)
|
|
|
|
project(ps2xIOP LANGUAGES CXX)
|
|
|
|
option(PS2X_IOP_BUILD_TESTS "Build ps2xIOP emulator smoke tests" OFF)
|
|
|
|
add_library(ps2_iop STATIC
|
|
src/ps2_path.cpp
|
|
src/iop_module_manager.cpp
|
|
src/iop_subsystem.cpp
|
|
src/emulator/iop_emulator.cpp
|
|
src/emulator/core/iop_cpu.cpp
|
|
src/emulator/core/iop_kernel.cpp
|
|
src/emulator/core/iop_memory.cpp
|
|
src/emulator/services/iop_module_loader.cpp
|
|
src/emulator/services/iop_rpc.cpp
|
|
src/emulator/imports/iop_cdvd.cpp
|
|
src/emulator/imports/iop_heaplib.cpp
|
|
src/emulator/imports/iop_imports.cpp
|
|
src/emulator/imports/iop_intrman.cpp
|
|
src/emulator/imports/iop_ioman.cpp
|
|
src/emulator/imports/iop_loadcore.cpp
|
|
src/emulator/imports/iop_stdio.cpp
|
|
src/emulator/imports/iop_sysclib.cpp
|
|
src/emulator/imports/iop_sysmem.cpp
|
|
src/emulator/imports/iop_timrman.cpp
|
|
src/emulator/imports/iop_vblank.cpp
|
|
src/modules/dbcman.cpp
|
|
src/modules/libsd.cpp
|
|
src/modules/mcserv.cpp
|
|
)
|
|
|
|
target_compile_features(ps2_iop PUBLIC cxx_std_20)
|
|
|
|
target_include_directories(ps2_iop
|
|
PUBLIC
|
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
|
|
$<INSTALL_INTERFACE:include>
|
|
PRIVATE
|
|
${CMAKE_CURRENT_SOURCE_DIR}/src
|
|
)
|
|
|
|
add_library(ps2x::iop ALIAS ps2_iop)
|
|
|
|
if(PS2X_IOP_BUILD_TESTS)
|
|
enable_testing()
|
|
add_executable(ps2_iop_emulator_tests tests/iop_emulator_tests.cpp)
|
|
target_link_libraries(ps2_iop_emulator_tests PRIVATE ps2_iop)
|
|
add_test(NAME ps2_iop_emulator_tests COMMAND ps2_iop_emulator_tests)
|
|
|
|
add_executable(ps2_iop_import_tests tests/iop_import_tests.cpp)
|
|
target_link_libraries(ps2_iop_import_tests PRIVATE ps2_iop)
|
|
target_include_directories(ps2_iop_import_tests PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src)
|
|
add_test(NAME ps2_iop_import_tests COMMAND ps2_iop_import_tests)
|
|
|
|
add_executable(ps2_iop_compatibility_tests tests/iop_compatibility_tests.cpp)
|
|
target_link_libraries(ps2_iop_compatibility_tests PRIVATE ps2_iop)
|
|
add_test(NAME ps2_iop_compatibility_tests COMMAND ps2_iop_compatibility_tests)
|
|
|
|
add_executable(ps2_iop_import_version_tests tests/iop_import_version_tests.cpp)
|
|
target_link_libraries(ps2_iop_import_version_tests PRIVATE ps2_iop)
|
|
target_include_directories(ps2_iop_import_version_tests PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src)
|
|
add_test(NAME ps2_iop_import_version_tests COMMAND ps2_iop_import_version_tests)
|
|
|
|
endif()
|
|
|
|
install(TARGETS ps2_iop
|
|
ARCHIVE DESTINATION lib
|
|
LIBRARY DESTINATION lib
|
|
RUNTIME DESTINATION bin
|
|
)
|
|
|
|
install(DIRECTORY include/
|
|
DESTINATION include
|
|
)
|