Commit Graph

94 Commits

Author SHA1 Message Date
Ty Lamontagne 1c1f67c091 IOP HLE: Only track handles to valid files.
Bonus check for file validity when saving states.
2024-10-08 18:01:11 -04:00
pips3 bba85dc08f HostFS: Retain File Handles in Save States
[SAVEVERSION+]
Save file handle information in save states, and reopen handles when states are loaded.
2024-10-07 09:56:31 -04:00
Ty Lamontagne 84d16802a3 iop/hostfs: don't replace back slashes with forward slashes on Windows 2024-09-29 10:20:31 -04:00
chaoticgd 48de49b85d DebugTools: Fix iterator invalidation bug in IopBios.cpp 2024-08-27 18:13:25 -04:00
chaoticgd 44b50bee26 Debugger: Replace SymbolMap class with new SymbolGuardian class
This new class uses the CCC library I added in the last commit and
parses the symbol tables on a worker thread.
2024-08-27 12:48:40 -04:00
GovanifY 132431b7c8 headers: relicense to GPL-3.0+
also update to 2024 while i'm at it
2024-07-30 17:17:13 -04:00
Stenzek 71036c95a4 Core: ARM64 compatibility 2024-06-14 17:06:45 +10:00
lightningterror f0c331e32b IopBios: Fix function parameter should be passed by const reference warnings.
Codacy.
2024-05-10 20:00:43 +02:00
Benjamin Moir 4081d07dd8 CDVD: Improve handling of host: paths in cdvdLoadElf 2024-05-09 15:48:03 +10:00
Ty Lamontagne 2e0988ff03 IOP HLE: Fix broken dopen implementation 2024-01-01 04:07:21 +10:00
Stenzek d9abe10308 Misc: Remove explicit PCH include, switch to SPDX 2023-12-24 14:03:14 +10:00
Stenzek 76f36b780c StringUtil: Replace StartsWith/EndsWith with C++20 equivalents 2023-12-24 14:03:14 +10:00
Daniel Gerendasy 4af89576aa IOP HLE: Rename update host root functions 2023-11-14 18:38:19 +10:00
Daniel Gerendasy b5f8ef0106 Added support for HostFs when booting an iso 2023-11-14 18:38:19 +10:00
Ty Lamontagne 2f95dc20c6 IOP HLE: Generate module list on release builds 2023-11-04 17:31:38 +00:00
Ty Lamontagne 46a0c2d5b6 Debugger: IOP Function Tree
Co-authored-by: Ziemas <ziemas@ziemas.se>
2023-10-31 15:42:56 +00:00
Stenzek a18c940503 IopBios: Mute deprecated warnings
This would be annoying/slow to rewrite.
2023-10-02 17:37:38 +10:00
Stenzek 36c27188a4 VMManager: Refactor and improve boot process
[SAVEVERSION+] VM struct changes.

 - Serial/title is now linked to disc, instead of running ELF.
 - Save states can be created during BIOS boot.
 - Patches now apply based on the executing CRC, and only after the
   entry point starts executing (fixes multi-game discs).
 - Add "Fast Forward Boot" option.
 - Split achievements download and activation, downloads occur on
   initialization, but are not activated until after the ELF loads.
 - Prevent HostFS access while in PS1 mode.
 - Remove multiple sources of truth for ELF/CRC/etc.
 - Move ELF state from global scope to VMManager.
 - Prevent game fixes and hw fixes being active while booting game.
 - Simplify game update.
 - Flush recompilers after ELF loads. No point keeping boot code around
   which gets overwritten.
2023-06-17 17:38:43 +10:00
Stenzek 512d24cea6 Misc: More build system cleanups
Set UTF-8 source file format globally.
Set permissive/compliance mode globally.
Get rid of include of base 3rdparty directory, be explicit.
Get rid of duplicated properties.
Get rid of leftover plugin property files.
2023-05-16 12:58:19 +01:00
Stenzek 51420dade4 VMManager: Clear host root on booting ISO 2023-02-15 10:04:39 +00:00
Ziemas 9420615317 Implement thread listing for IOP
Abstracts away threads behind a common interface for both EE and IOP
2023-02-09 15:49:56 +00:00
Ty Lamontagne 14e0aeb4f3 IOPBios: Implement the different iomanx stat file modes 2022-09-20 18:09:58 +01:00
Ty Lamontagne 435b5a2b27 IOPBios: Differentiate ioman and iomanx dread & getStat HLE
Structure differences with fio_stat_t and fxio_stat_t make them incompatible
2022-09-18 01:52:22 +01:00
Ty Lamontagne 4ad563f8fc IOPBios: Properly increment host dir iterator
Fixes uLaunchELF and any other homebrew that iterates over directories.
2022-09-18 01:52:22 +01:00
Ty Lamontagne 7d4ca441d5 clang-format: pcsx2/IopBios.cpp 2022-09-07 20:54:12 +01:00
Ty Lamontagne cee8598b3f IOPBios: Hook iomanx library as well as ioman
Fixes fileXio incompatibility
2022-09-07 20:54:12 +01:00
Connor McLaughlin cb2a21ef19 IopBios: Fix opening host: or host:. as a directory 2022-08-31 21:29:01 +01:00
Connor McLaughlin bbc0bcae1e IopBios: Replace ghc::filesystem with our wrappers 2022-07-02 06:21:30 +01:00
Ty Lamontagne 2a980d9fc0 IOPBios: Make our hostfs HLE safer
For example, if you mkdir a path that is taken by an existing _file_, GHC would throw an exception and crash the emulator.
2022-06-30 01:19:12 +01:00
Connor McLaughlin ea051c6d5f Everything: Get rid of wx entirely from the Qt build 2022-05-22 13:58:56 +01:00
Connor McLaughlin d535331b4b Misc: Remove __fastcall, __fc, __concall and friends
These have no meaning in x64 (apart from throwing compiler warnings),
and we don't do 32-bit anymore. Also saves needing to include
`Pcsx2Defs.h` in files which don't otherwise need it.
2022-05-12 14:58:03 +01:00
kenshen112 fdabc82342 Remove IopCommon.h added proper includes to files. Removing circle includes in several files that sometimes was several layers deep 2022-04-11 21:25:20 +01:00
Connor McLaughlin 501af632f7 IopBios: Use FileSystem for host access 2021-12-12 03:27:43 +00:00
Ty Lamontagne 509e24f966 IOPBios: Fix OOB read when IRQ line is invalid.
Fixes a PS2AutoTest where RegisterIntrHandler(-1,... ) crashes PCSX2.
2021-08-21 20:08:36 +01:00
Francisco Javier Trujillo Mata 407a64c118 HostFS: make const several no mutable variables 2021-07-31 23:23:40 +01:00
Francisco Javier Trujillo Mata e7513c8c58 HostFS: Add remove file functionality 2021-07-31 23:23:40 +01:00
Ty Lamontagne 8bc01eb375 IOPBios: Workaround for '\' for HLE path functions
Fixes some ulaunchelf's on *NIX platforms
2021-07-27 15:37:41 +01:00
Francisco Javier Trujillo Mata b373763924 Fix warning and disable dummy static analysis warnings 2021-07-27 15:37:41 +01:00
Francisco Javier Trujillo Mata b2618ba148 HostFS: Add is_host check in the dopen_HLE method 2021-07-27 15:37:41 +01:00
Francisco Javier Trujillo Mata 6902ce007a HostFS: Improve Hle_SetElfPath method 2021-07-27 15:37:41 +01:00
Francisco Javier Trujillo Mata e9b3b89620 HostFS: Use filesystem to make it compile in windows 2021-07-27 15:37:41 +01:00
Francisco Javier Trujillo Mata 1606a50bb4 HostFS: Improving buffers allocation 2021-07-27 15:37:41 +01:00
Francisco Javier Trujillo Mata 4402bbda55 clang-format: pcsx2/IopBios.h and pcsx2/IopBios.cpp 2021-07-27 15:37:41 +01:00
Francisco Javier Trujillo Mata 4bf3819778 HostFS: Clean functions to save host path and elf path 2021-07-27 15:37:41 +01:00
Francisco Javier Trujillo Mata 9ecda0489b HostFS: Add native mode to the open file 2021-07-27 15:37:41 +01:00
Francisco Javier Trujillo Mata 0dadda66cf HostFS: Implement getstat and dread 2021-07-27 15:37:41 +01:00
Francisco Javier Trujillo Mata aa20220627 HostFS: Implement opendir and closedir 2021-07-27 15:37:41 +01:00
Francisco Javier Trujillo Mata 45103ec496 HostFS: Add mkdir and rmdir support 2021-07-27 15:37:41 +01:00
GovanifY fa894d9d48
HostFS: free fds when shutting down vm (#3671)
* HostFS: free fds when shutting down vm

* HostFs: init arrays at given value
2020-09-18 15:34:43 -04:00
Jonathan Li e0ec8b3be1 iop: Fix booting ELF files on a different drive
Fixes a regression introduced in b3b1f3ac68,
where ELF files on a different drive to PCSX2 would fail to load.
2018-01-07 06:22:42 +00:00