Commit graph

32 commits

Author SHA1 Message Date
Megamouse
2262ac1684 Qt: Replace QMap with std::map
This should reduce the amount of string conversions during list refreshes
2024-11-06 09:34:32 +01:00
Eladash
e4c9af176b fixup hdd1 cache 2024-01-20 22:15:07 +02:00
Eladash
6214d0c9a5 Savestates/TAR: Fix huge files handling in TAR serialization 2024-01-01 11:58:00 +02:00
Eladash
3bd27d5695 TAR: Improve logging 2023-11-28 16:46:44 +02:00
Eladash
9abf0b7176 Savestates: Asynchronous compression 2023-11-28 16:46:44 +02:00
Eladash
a0b521ba8e Savestates: Add TAR and VM assert 2023-11-27 12:36:17 +02:00
Eladash
f60bdbaece Savestates: Compressed state files 2023-11-27 12:36:17 +02:00
Eladash
66d01b688c Savestates: Implement initial RAM ventilation system 2023-11-10 08:45:49 +02:00
oltolm
bc40b61ef1 rename fs::stat to fs::get_stat 2023-07-25 12:15:08 +03:00
Megamouse
ff082b98cb VS: fix compilation on VS 17.4 2022-11-12 11:23:58 +03:00
Elad Ashkenazi
fcd297ffb2
Savestates Support For PS3 Emulation (#10478) 2022-07-04 16:02:17 +03:00
Eladash
27becdec97 TAR: Allow to use save_directory with a buffer not 512-bytes aligned 2022-04-25 20:15:10 +02:00
Nekotekina
658b4f70ef Fix some warnings 2021-07-30 09:31:36 +03:00
Eladash
1f6ca25820 Implement TAR-based directory archiver
* Implement the ability to save directory contents as TAR.
  With the ability to customize saving of specific files and also select which files are saved and which aren't.

* Implement full original TAR USTAR 255 characters path support.
* Implement file modification time and access time support for extracted/archived TAR.
2021-07-17 17:50:18 +02:00
Megamouse
a16d8ba3ea More random changes 2021-04-11 14:01:51 +03:00
Eladash
a9ddb1d3b3 GUI: Implement full extraction of PUP
* Implement full extraction of PS3UPDAT.PUP.
* Implement TAR extraction via GUI.
* Use VFS to implement missing PS3 filesystem characters escaping.
* Use VFS to error on illegal paths. (illegal paths such as malware pointing to "/../../..and so on../C:/Windows")
2021-03-19 17:51:09 +01:00
Eladash
0958c10f88
Improve TAR loader (#9908)
* Fix header magic test.
* Rewrite code to not use so many filesystem calls.
* Add many more error checks.
* Add missing NUL filetype.
* octalToDecimal(header.size) has been fixed to use fixed 12 characters range instead of endless string.
* Add many optimizations.
* Fix possible signed overflows with int, use the unisgned u64 type instead which allows for greater files as well.
* Log errors.
2021-03-11 02:26:39 +03:00
Eladash
461fa6a88a
Firmware installation bugfixes (#9855)
* Fix race condition in PUP installation abortion.
* Fix freezes of emulator in case the PUP installation failed due to filesystem errors.
* Use fs::create_path as opposed to fs::create_dir as it is can create upper directories in case they are missing and is better in error handling.
* Report TAR errors on failure to create directories.
* Fix pup_object constructor to not crash on invalid PUP file header. (report an error)
* Fix pup_object::validate_hashes to not crash on invalid PUP file entries. (report an error)
* Do not call Qt functions inside a named_thread because it is wrong.
2021-02-28 22:59:27 +03:00
Eladash
e38cd5149a Fix firmware updating/reinstallation 2021-02-08 21:38:53 +01:00
Nekotekina
fb29933d3d Add usz alias for std::size_t 2020-12-18 12:23:53 +03:00
RipleyTom
af8c661a64 Remove BOM markers 2020-12-06 15:30:12 +03:00
Nekotekina
5524cd1e75 Improve TAR loader
Don't overwrite unchanged files.
Print error if failed to overwrite.
This commit affects PS3 firmware installation.
Trying to workaround a bug where some files cannot be overwritten.
2020-04-12 16:56:21 +03:00
Nekotekina
7a8772dafa Replace std::string::npos with umax 2020-03-05 14:05:23 +03:00
Nekotekina Aux1
250736ece5 Fix warnings in emucore 2020-03-04 21:23:34 +03:00
gamerforEA
93552a5958 Apply some Clang-Tidy fixes 2020-02-27 00:38:55 +03:00
Nekotekina
3c0bd821c8 Give log channels fancier names
Improve LOG_CHANNEL macro to accept custom name.
2020-02-01 10:43:43 +03:00
Nekotekina
d9a0619ddd Remove legacy GENERAL log channel
Add some more log channels instead.
2020-02-01 07:49:38 +03:00
msuih
d57124d075 Explicitly cast size_t to integer types 2019-07-01 04:33:23 +03:00
Nekotekina
d62b0c88b0 Restore /dev_flash/ config 2018-06-23 09:26:11 +03:00
Nekotekina
9a9455a696 Fix #2462 2017-03-05 21:42:27 +03:00
Nekotekina
baf22527b0 Ditch fs::get_executable_dir 2017-02-22 17:17:26 +03:00
Cornee Traas
458dbbd15d PS3UPDAT.PUP installer (#2386)
* Add PUP loader

* Add .tar loader and update .pup loader

* Add extract method + offset to TAR loader

Also adds error checking + operator bool overload

* Add firmware decryption keys to key vault

* Initial seperation of SELFDecrypter

This seperates SELFDecrypter into itself and SCEDecrypter.
SCEDecrypter contains the logic to decrypt any file with an SCE Header.
SELFDecrypter inherits from SCEDecrypter and contains the code
specifically to do with ELF. DecryptData could be deduplicated more.

* Add "Install Firmware" option to tools menu

* SCEDecrypter: put each segment in own file

Also, const-correctness, adjusted buffer size and better error handling

* More SELFDecrypter refactoring

* Compile fix

* Add messageboxes to firmware install

* Add progress bar to firmware install
2017-02-16 10:15:00 +08:00