Commit graph

154 commits

Author SHA1 Message Date
Megamouse 531eb04fd7 cellGameSetParamString: fix string sizes 2020-09-29 08:44:25 +02:00
Eladash 6164b3d2e2 Compilation fix 2020-09-24 21:00:23 +03:00
Eladash c806da51f8
Implement cellGameDeleteGameData (#8962) 2020-09-24 20:13:19 +03:00
Eladash b8fa6fb4c4 Win32 FS: Rewrite (fix) vfs::host::rename 2020-09-24 18:06:51 +03:00
Eladash 3372409590
cellGameContentPermit: Fix missing PARAM.SFO writeback (#8934) 2020-09-23 20:35:06 +03:00
Eladash 5a049322ed HLE: Always return empty paths if game content does not exist in cellGameContentPermit 2020-09-23 20:24:21 +03:00
Eladash cf61198fe3
HLE: Implement ERROR_BROKEN in cellGameDataCheck (#8945) 2020-09-22 10:30:31 +02:00
Eladash 75c3fdcb6f Fix cellGameBootCheck PARAM.SFO reads 2020-09-21 06:36:34 +03:00
Eladash 5ac6f090fc
Fix cellGamePatchCheck (#8933) 2020-09-19 19:38:22 +01:00
Eladash f1e8739608 Always reset size in cellGameGetSizeKB
Reversed.
2020-09-19 13:53:04 +01:00
Eladash ed032dc985 cellGame: Improvements 2020-09-19 13:53:04 +01:00
Megamouse a2da187615 HLE: localize most - if not all - exposed strings 2020-09-14 18:24:18 +02:00
Eladash 5db1427923 cellGame: Implement cellHddGameCheck2 2020-09-12 11:00:24 +02:00
Eladash edc09e22b4
PSF: Avoid redundent string copies in psf::array/string/get_string (#8707) 2020-08-21 23:55:17 +01:00
Eladash 8f3ad8b81a
Fix cellGameDataCheckCreate2 error broken check (#7976) 2020-04-07 14:03:03 +03:00
Nekotekina 04dedb17eb Disable exception handling.
Use -fno-exceptions in cmake.
On MSVC, enable _HAS_EXCEPTION=0.
Cleanup throw/catch from the source.
Create yaml.cpp enclave because it needs exception to work.
Disable thread_local optimizations in logs.cpp (TODO).
Implement cpu_counter for cpu_threads (moved globals).
2020-03-12 16:03:08 +03:00
Nekotekina Aux1 250736ece5 Fix warnings in emucore 2020-03-04 21:23:34 +03:00
Eladash 5c3d417b35 Fix cellGameDataCheck's game data creation with PARAM.SFO set/get 2020-03-03 18:31:43 +03:00
Eladash 05bb6e1545 Improve sceNpDrmVerifyUpgradeLicense(2), sceNpDrmIsAvailable(2)
* sceNpDrmVerifyUpgradeLicense(2): copied string from content_id is 47 chars in length at max, is no null term was found it forces string termiation.
* sceNpDrmIsAvailable(2): Same with drm path just that it's 256 chars at max.
2020-02-28 19:10:39 +03:00
Eladash 0d4f8ca234 fs: Make fs::get_dir_size able to report an error 2020-02-26 18:17:13 +00:00
Eladash 24d3e2b2b8 cellGameDataCheckCreate(2): More improvements
* IsNewData is false only if PARAM.SFO exists.
* Don't create directory on error (setParam == nullptr && isNewData).
* Return CELL_GAMEDATA_ERROR_BROKEN if PARAM.SFO exists on target directory yet is not from GD category.
2020-02-21 21:15:55 +03:00
Eladash 54f2c27ba0 cellGameDataCheckCreate(2): Set nullptr in setParam
* setParam is nullptr by default.
* if setParam is null and it's new data, return error code.
2020-02-21 14:49:45 +03:00
Eladash 0ba1f8f4ef Fix cellDiscGameGetBootDiscInfo on error
* Always set first dword to 0, other bytes are untouched,
2020-02-21 14:49:45 +03:00
Eladash 4d7e53d7a0 cellGameDataCheckCreate(2): Check dirName 2020-02-21 14:49:45 +03:00
Nekotekina 771eff273b First part of fixing sign-compare warning (inside be_t). 2020-02-19 22:54:58 +03:00
Megamouse fe75311be2 move config structs to own files and clean up some headers 2020-02-17 15:08:17 +03:00
Eladash e9e8f0c5b7 cellGame: report not found sfo params 2020-02-04 18:29:52 +03:00
Eladash cb52ee0a4d cellGame: report fs::remove_all failure 2020-02-04 18:29:52 +03:00
Eladash 4488312e81 Avoid out of memory with cellGameGetParamString 2020-02-04 18:29:52 +03:00
Eladash d481c3c7fd cellGameGet/SetParamString: Implement CELL_GAME_ERROR_NOTSUPPORTED 2020-01-26 20:32:10 +00:00
Megamouse 632cc79c54 cellGame: add more checks 2020-01-06 10:47:13 +01:00
Eladash e050dcbc52 Move size write in cellGamePatchCheck 2019-12-05 23:31:46 +03:00
Eladash 401813f962 Revert part of #7044
oops.
2019-12-05 23:31:46 +03:00
Nekotekina bf11a28fb5 C-style cast cleanup IV 2019-12-01 22:12:33 +03:00
Eladash d45fbc331c Fix error checking of cellGameContentPermit 2019-12-01 21:11:43 +03:00
Eladash 1a6e8e20dc cellGameBootCheck Improvements
* size->sysSizeKB returns 4kb. (hw tested, unknown if in different situations this value changes)
* Return CELL_GAME_ERROR_BROKEN on failure to init. (hw tested)
* Write to dirName only when type is HDD game. (REd)
* Don't write to *size on errors, make it happen after *attributes and *type writes. (REd)
2019-12-01 21:11:43 +03:00
Eladash 3f3ce53c67 Fix string length check in cellGameThemeInstall
vm::ptr::size() returns sizeof type instead.
2019-11-10 14:32:15 +03:00
Eladash 1986944c61 Implement sysutil_check_name_string
* Fully implement 3, 4, 16 and 17 error checks of cellSaveData.
* cellSysCacheMount restrict characters in ID.
* cellHddGameCheck restricts characters in dirName.
2019-11-10 14:32:15 +03:00
Eladash 75ee668922 Log fs::g_tls_error on ACCESS_ERROR errors 2019-10-14 20:44:23 +03:00
Nekotekina 240b4a8bd8 cellGameData: use g_fxo for content_permission 2019-09-26 23:26:36 +03:00
isJuhn 08c12f4c00 File.cpp: add rounding_alignment argument to get_dir_size to allow GetSizeKB functions to report size more accurately 2019-09-03 03:19:49 +03:00
Nekotekina a5be410e3f [noexcept] Don't throw on unimplemented HLE functions.
Getting rid of exceptions.
2019-09-02 14:43:31 +03:00
Nekotekina 9736773c04 Implement vfs::host::rename
With spurious access error workaround
2019-04-10 13:58:12 +03:00
Megamouse 4a1499e0be cellMsgDialog: optionally make dialogs blocking and fix exit condition
and apply review fixes
2019-02-12 21:06:10 +03:00
Megamouse fe79e541dd cellGame: improve exit functions 2019-02-12 21:06:10 +03:00
Megamouse 17a5e0bc98 cellGame: add error_code 2019-02-12 21:06:10 +03:00
RipleyTom fad80ed443 revert part of #5529 2019-01-12 06:59:07 +01:00
Megamouse e3ea29599d cellGame: fix some installation issues
fixes HAWX2 (at least until it crashes again)
2019-01-11 03:36:22 +03:00
eladash 43b75ccf04 cellGame: Add missing nullptr checks
if the param is null pointer, the library simply skips writing into it. also fix the order of writes.
2018-11-02 19:47:37 +03:00
Megamouse 00b31c27a3 cellGame: implement error messages and some stubs 2018-08-29 16:09:00 +03:00
Nekotekina 363811981d Reintroduce LOG_CHANNEL
Groundwork for further improvements
2018-08-25 15:39:00 +03:00
Ofek d3596fbc95 Change all hddFreeSizeKB to 40gb-1 2018-07-11 02:16:14 +04:00
Ofek 5d3b0e7352 Fix cellGameDataCheckCreate2 (#4832)
* Fix cellGameDataCheckCreate2
2018-07-01 23:07:21 +01:00
Nekotekina 88b6d51643 Fix cellGameContentPermit 2018-06-12 02:09:22 +03:00
isJuhn 88bfdb0c05 cellGameContentPermit: Don't set content and usrdir path on gamedata if cellGameCreateGameData was never called 2018-06-11 21:48:29 +04:00
isJuhn dde4a9c6e7 Fix cellGameCreateGameData temporary path 2018-06-06 23:51:58 +04:00
isJuhn fc23243d01 Fix setParam in cellHddGameCheck 2018-05-14 16:56:47 +01:00
isJuhn da6f98f310 Fix setParam in cellGameDataCheckCreate2 2018-04-16 15:53:22 +04:00
Nekotekina 817dfe8651 cellGameContentPermit workaround 2018-03-12 19:16:52 +03:00
Nekotekina ba54f7ae39 Improve cellGameCreateGameData error checks 2018-03-12 18:53:57 +03:00
Nekotekina f328cdbaef Fix cellGame regression 2018-03-12 11:40:12 +03:00
Nekotekina 4fd69a09c7 Fix cellGameDataCheckCreate2 2018-03-11 19:33:01 +03:00
Nekotekina f4d2fccdfe Improve boot dir access
Add Emu.GetDir() method
2018-03-11 19:33:01 +03:00
Jake ec0cd9f006 cellGame: Fix cellDiscGameGetBootDiscInfo return values (#4241) 2018-03-03 03:11:25 +04:00
scribam 34c49c77b2 Fix #3950 2018-01-17 15:17:06 +00:00
Nekotekina 435ea8d553 Fix "cellGame: cellGameDataCheck arg validate"
Fixes #4058
2018-01-14 22:23:48 +03:00
Jake d216398596 cellGame: cellGameDataCheck arg validate 2018-01-14 20:50:55 +03:00
Nekotekina e836c33f37 cellGame: don't write empty TITLE_IDs in PARAM.SFO 2017-12-29 20:04:10 +03:00
Nekotekina 14929a1497 Fix game category issues
Fix cellGameDataCheckCreate2 PARAM.SFO
Fix trophy initialization for gamedata (game patch)
Implement psf::assign
Potentially fix cellGameSetParamString
2017-12-29 03:09:35 +03:00
Nekotekina e768bdc80f Remove /app_home/ dependency
Should also fix exitspawn
2017-12-27 02:51:58 +03:00
Zion 17bfb3beaf various memory access violation fixes (and friends) (#3930)
* various memory access violation fixes

* Another fix, for motorstorm demo

* Better stub cellGameUpdateCheckStartAsync and FinishAsync, Fixes #3934
2017-12-16 04:03:49 +04:00
Zion Nimchuk 8276d29d4f Silence warnings in lv2/Modules 2017-11-30 18:07:19 +03:00
Ofek 3628a8593f Fix cellGameBootCheck for disc games (#3771)
Don't return dirName
2017-11-23 16:27:44 +04:00
Nekotekina 358afc045d Minor fix (cellGame) 2017-11-15 21:00:02 +03:00
Ofek 8fc9862614 Fix cellGameGet(Set)Param (#3690)
* Fix cellGameGet(Set)Param
2017-11-11 22:22:38 +00:00
Nekotekina 010b75251f fs::rename fixed
Added overwriting policy
sys_fs_rename improved
2017-08-30 17:14:30 +03:00
JayC-03 64a6fbe39f Add missing game categories
Used by some media apps, 
YouTube boots now.
2017-08-29 03:19:35 +03:00
Nekotekina c9abab6828 cellGame: minor refactoring 2017-07-23 11:03:38 +03:00
Nekotekina 88fef183a3 config.yml: Log section optimized 2017-05-15 14:37:05 +03:00
Jake c8252d2b28 Fix cellGameContentErrorDialog freeze 2017-04-29 01:26:03 +03:00
Inviuz 632287afe7 Add simple divide to get kbytes
integer division
2017-03-28 23:13:25 +03:00
Inviuz 149c08ba78 implement getSizeKB functions
bugfix in sys_net. id 0 is acceptable socket id
2017-03-28 23:13:25 +03:00
Inviuz 40a84dd477 Handles directory creation in cellGameDataCheckCreate2 (#2488)
* Handle directory creation in cellGameDataCheckCreate2

Stops some games from displaying information about not enough memory on
hdd

* Returning CELL_OK causes some games to loop on sceNp functions

for "shaman magic"

* cellGameDataCheckCreate2 added param.sfo creating/rewriting

* fix fs::file null

and one readability change

* For debugging purposes

When fs::file problem is located will be improved

* Fixed wrong operators

* Conversion from vfs to fs

Should take care of fs::null

* Cleanup

removed some unnecessary logging

* Fix successive function calls

second call was always ending in error since it didn't create the conent
permission

* Changes according to Neko's review

* Change to use u32 value
2017-03-11 11:59:50 +03:00
Ani 7cdb5f3123 Add missing system languages
Adds Portuguese (BR) which was introduced in firmware 4.00 alongside
with English (UK)
Adds Turkish which was introduced in firmware 4.30
2017-03-08 19:59:34 +03:00
Ani 557e1c3694 Fix cellDiscGameGetBootDiscInfo (#2430)
cellDiscGameGetBootDiscInfo is called by non-disc games for some reason.
That wasn't accounted for and therefore it would try to read PARAM.SFO
from an unmounted path and throw an access violation.

Tested with NBA Live 08 Demo NPUB90029, probably fixes similar games as
well
2017-02-28 18:42:45 +03:00
gmoralis b4557789f8 Implemented cellDiscGameGetBootDiscInfo 2017-02-15 10:49:18 +02:00
clienthax b407d12ed1 Make APP packages bootable - from BlackDaemon (#2368) 2017-02-11 22:11:04 +03:00
Nekotekina 246b9f3182 CHECK_EMU_STATUS removal 2017-02-05 17:35:27 +03:00
Nekotekina eebd48e51d cellHddGameGetSizeKB w/a 2017-02-05 16:07:26 +03:00
Viktor Ivanov 1a4b5413bd Log call to cellGameDataGetSizeKB 2016-12-05 21:47:23 +03:00
itmo153277 124f5d0097 Allow UE3 games to startup 2016-12-05 20:35:05 +03:00
Nekotekina c20756136a Minor diagnostic added 2016-08-18 13:29:53 +03:00
Nekotekina 066e3006bf cellGameCreateGameData fixed
cellGameDataCheck fixed
PARAM.SFO creation fixed
2016-08-17 21:59:42 +03:00
Nekotekina ad174eb12c error_code implemented
Reports based on formatting system
ppu_error_code removed
arm_error_code removed
2016-08-16 18:57:44 +03:00
Nekotekina fc56e70172 vm::ptr<char> formatting 2016-08-11 16:47:20 +03:00
Nekotekina a7e808b35b EXCEPTION macro removed
fmt::throw_exception<> implemented
::narrow improved
Minor fixes
2016-08-08 19:19:32 +03:00
Nekotekina f8719c1230 PPUThread refactoring
`CallbackManager` removed, added _gcm_intr_thread for cellGcmSys
`PPUThread` renamed to `ppu_thread`, inheritance allowed
Added lightweight command queue for `ppu_thread`
Implemented call stack dump for PPU
`get_current_thread_mutex` removed
`thread_ctrl::spawn`: minor initialization fix
`thread_ctrl::wait_for` added
`named_thread`: some methods added
`cpu_thread::run` added
Some bugs fixes, including SPU channels
2016-07-30 16:35:02 +03:00
AnnieL ca835ba68a cellGame: unknown category temporary fix (hack) (#1909)
All the games I've been trying to load from outside RPCS3's bin directory are returning me empty directories
```
{PPU[0x3] Thread (main_thread) [0x011223d8]} class fmt::exception thrown: cellGameBootCheck(): Unknown CATEGORY: 
```

This is a hack for when the category is empty or unknown. 
We assume it's a disk game and proceed with the emulation.
2016-07-14 23:12:26 +03:00
DH 55bc9eda9a Do not throw exception if cellDiscGame* executed
That not a critical situation, simple message in the log should be a good enough
2016-06-26 21:32:48 +03:00
raven02 c96057296a Fix invalid map<K, T> key error (#1801) 2016-06-20 06:43:13 +08:00