Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - cuevavirus

Pages: 1 2 3 [4] 5 6 ... 10
46
PS 5 / First look at PS5 digital content distribution system
« on: October 23, 2020, 03:19:23 AM »
I was able to obtain the pkg url for Share Factory Studio, a free application for PS5 available on the Playstation new webstore.

https://sgst.prod.dl.playstation.net/sgst/prod/00/np/PPSA01280_00/d8ec167a-59da-4e54-8e2c-1161c706516a-version.xml

The UUID in the URL is identical on two different accounts. We can infer several things from this:

1. Digital content is distributed without authentication, same as previous platforms.
2. Application and patch distribution are merged. It is no longer possible to obtain the base version application after a patch has been released.
3. It will no longer be possible to compute the update url from the title ID, instead a random UUID is used.

The json manifest in the xml contains two split files. However they are not the same file split along 4GiB boundaries. The first file has magic {0x7F, 'F', 'I', 'H'}, previously not seen. The second file has magic {0x7F, 'C', 'N', 'T'}, same as PS4 pkgs.

47
General / Re: DolceSDK - Playstation Vita homebrew SDK
« on: October 04, 2020, 02:52:17 AM »
Changes summary 2020-10-03

toolchain

make-fself has been completely rewritten and is now capable of producing the exact same output as make_fself.exe, except for revised section headers, which is not implemented. Some options of make_fself.exe are also not implemented. The commands produce the same output.

Code: [Select]
# without compression
dolce-make-fself in.elf out.self
make_fself.exe -r -e in.elf out.self

# with compression
dolce-make-fself -c in.elf out.self
make_fself.exe -r -e -c in.elf out.self

A new option `--strip` has also been added. This option will strip the ELF file except for the ELF header, the program header table, and segments referenced by the program headers except for any of type PT_SCE_COMMENT. This option produces the same output as using psp2pubcmd.exe, with the exception of the program version and extra zero bytes at the end of the certified file added by psp2pubcmd.exe. `--strip` is always enabled when using the dolce_create_self CMake function.

You will no longer see decompression error in 🟊Check.

headers

- additions and fixes to SceGim, ScePsp2Compat, SceAppMgr, SceIniFileProcessor, SceGpuEs4, SceIofilemgr (many changes are thanks to Graphene)

48
Update v1.0.1

- Rebuild with latest DolceSDK to reduce runtime memory use by 32 KiB

49
PS Vita / Re: [Release] LCD Colour Space Changer
« on: September 24, 2020, 09:22:41 PM »
Update v1.1.0

- Added display text for LCD Colour Crunch to indicate the active mode
- Added a kernel module to force colour space settings in PSPEmu applications

Yesterday reddit user girotin requested to change the colour space mode in Pspemu applications (https://old.reddit.com/r/VitaPiracy/comments/iydwjj/someone_knows_how_to_fix_that_saturation_colors). This update meets that request. Changing the colour space mode in Pspemu applications require a kernel module. Please see the OP for download and instructions.

To clear up some misconceptions, this application is only for LCD models, and has no effect on OLED models. Neither does changing the registry key "/CONFIG/DISPLAY/color_space_mode". Neither does electric's app. OLED screens do not have an OLED emulation mode. But it is true that OLED screens have two colour space modes (https://manuals.playstation.net/document/en/psvita/game/game_psp.html). However, it is an LED emulation mode which results in less saturated colours. If you are here you probably don't want that.

50
General / Re: DolceSDK - Playstation Vita homebrew SDK
« on: September 23, 2020, 08:29:30 PM »
Changes summary 2020-09-23

Due to changes in db.yml and stub generation, it is likely that user modules will require adjustments to linked libraries to build. Please read below.

packages

- added box2d (credits: coderx)

toolchain

- binutils reverted to 2.32 due to issues in 2.35
- discard debug sections from ELF
- bug fix in dolce-make-fself (credits: princess of sleeping)
- dolce-libs-gen will now always generate one stub library file per library, whereas before that was only the case for kernel libraries, and all user libraries of a module are collected into one stub library

headers

Please note that SceGxmInternal functions have been renamed, and previously deprecated headers have been removed.

- added NIDs and prototypes in SceIniFileProcessor, SceKernelForMono (credits: graphene)
- fixes in SceCpu, added protypes in SceFios2Kernel (credits: princess of sleeping)
- added NIDs and prototypes in SceLibXml, SceGxm
- removed deprecated headers
- removed functions non-existent in 3.60 retail firmware
- moved libraries to correct module, and functions to correct library

The last point of moving libraries to the correct modules have been repeatedly brought up to Vitasdk maintainers. In fact you can see in 477 that it was brought up yet again while I was working on these very changes.

https://github.com/vitasdk/vita-headers/pull/410
https://github.com/vitasdk/vita-headers/issues/439
https://github.com/vitasdk/vita-headers/pull/477







For some reason these changes have made this person irrationally angry. DolceSDK has complied with Vitasdk's and Pspsdk's license in all applicable works.



The reason for refusal is yet again "backward compatibility". This reason is only a convenient excuse for the maintainers. When making their own changes, they do not hesitate to think about backward compatibility.

The most recent example being the upgrade to gcc10 (https://github.com/vitasdk/buildscripts/commit/9655cf26b2fd182108bf877a7db9d215ed32b97e), which is widely known for causing breakages due to -fno-common becoming the default (https://gcc.gnu.org/gcc-10/porting_to.html). Some of the most popular homebrews such as Vitashell (https://github.com/TheOfficialFloW/VitaShell/issues/579) are broken.

Another example is this inexplicable change to gcc configuration (https://github.com/vitasdk/buildscripts/commit/ba44b032963937730208151054ba5c673be6fc75). It was basically unuseable.



Still, it took more than a month before this change was reverted (https://github.com/vitasdk/buildscripts/commit/3e857643e84f57eb142c62efb2de98749138a232).

The DolceSDK team is focuses on correctness, consistency, and good design. Backward compatibility is neither a primary concern, nor an excuse for refusing changes.

51
PS Vita / Re: [Release] Sharpscale - native 960x544 HDMI output for PSTV
« on: September 15, 2020, 12:00:03 AM »
Looks like you need to adjust the scaling options on your monitor. Sharpscale does not affect the HDMI output resolution.

52
I would like to inform you that I have run into a bug, because in my psvita fat 1000 with cfw enso 3.65, if I install this plugin together with jav plugin, the physical volume buttons stop working

I have released a new version of JAV with a workaround https://forum.devchroma.nl/index.php/topic,46.msg792.html#msg792

I'm really digging this plugin. But an issue I have with it (essentially an issue with how the Vita works), and it's really just a nitpick - the plugin works great, but I can't set it to open the quick menu any faster than 201 milliseconds. Any faster than that triggers the exit menu for the app that's open at the time. Any chance that custom button mappings to exit the currently open app could be implemented?

It may be possible to swap the function of holding and pressing the PS button. Adding additional items to the quick menu is too difficult at the moment.

53
PS Vita / Re: [Release] JAV - Plugin for automatic volume level switching
« on: September 10, 2020, 08:11:31 AM »
New version v2.2.0

This version fixes the issue when used with Quick Menu Plus

- Workaround for taiHEN unhook bug (https://github.com/yifanlu/taiHEN/pull/88)
- Support testkit firmware 3.60

54
General / Re: DolceSDK - Playstation Vita homebrew SDK
« on: September 10, 2020, 06:35:49 AM »
Changes summary 2020-09-09

headers

- added functions in SceThreadMgr and SceLibKernel (credits: Graphene)
- added functions in ScePaf, SceRegMgr

toolchain

A major bug caused by linker misconfiguration has been patched. The bug caused a per module waste of 32 KiB of runtime memory, and between 32 and 64 KiB of ELF file size. It is recommended to rebuild all SELFs.

Here is a comparison of section and segment sizes before and after the patch https://gist.github.com/cuevavirus/e9863502adfccfc18216b3883fa72a45. Note that the total section size in file went from 74933 to 21685 bytes which saves 53248 bytes. More significantly, the runtime memory size of the RX segment went from 37253 to 4485 which saves exactly 32 KiB. As Princess of Sleeping said, this waste of memory is FATAL.



Princess of Sleeping had previous reported this problem to the Hankaku discord server.



Vitasdk git commit pusher Francisco José García García directed us to this issue from 2016, which the only activity thereafter is Francisco José García García tagging it as "enhancement".



Two things are clear. First, we have shown here that contrary to Yifan Lu's claim, the side effects are not mitigated with SELF compression. Second, Vitasdk is content with merely "it works" and does not further consider "how can we make it better". This is a significant toolchain issue and after 4 years, much less fixing it, they do not even understand its consequences.

The DolceSDK team is committed to bringing you the best performing and most cutting edge PlayStation Vita homebrew SDK.

55
This is a taihen bug but I will create a workaround.

https://github.com/yifanlu/taiHEN/pull/88

EDIT: workaround released https://forum.devchroma.nl/index.php/topic,46.msg792.html#msg792

56
Quick Power, Quick Volume, and Rapidmenu has been merged into one plugin.

Changes for version 2.0.0

- Merged Quick Power, Quick Volume, and Rapidmenu
- Configurable Quick Menu open time
- Configurable power buttons
- Custom background styles and other visual enhancements
- Fixed a bug where SceShell's internal state becomes inconsistent
- Support testkit firmware 3.60

57
PS Vita / Re: [Release] Sharpscale - native 960x544 HDMI output for PSTV
« on: September 06, 2020, 10:27:13 PM »
Bilinear scaling is performed in hardware. There are no other scaling methods available and it's not feasible to do with software.

58
Reverse Engineering / CXML format
« on: September 04, 2020, 04:51:07 AM »
CXML decompiler (https://bitbucket.org/SilicaAndPina/cxml-decompiler) gives incorrect output for many of the numbers, including integers, floats, and style IDs. Integers and floats are fucked for reasons unknown. Style IDs, correctly called hashes (see below), have the wrong endian and also the wrong offset.

Contary to the name and as stated on https://playstationdev.wiki/psvitadevwiki/index.php?title=Resource_Container_CXML_(RCO,_QRC,_Theme_Files,_RAF,_CXML) hashes are not just for styletable.

I wasn't about to setup a build environment for C# so I found an older program https://github.com/angguss/rco-dump written in C++. rco-dump at least gives the correct integers and floats, and have the correct endian for hashes (on a little endian host), but the hash offsets are still wrong. Either Silica copy pasted from this program, or they both copy pasted from a common source, which incidentally resulted in the hashes having the wrong endian in CXML decompiler.

There is another benefit of rco-dump which is that the localised string files are recursively created at the same time, but it will not convert GIMs and VAGs like CXML decompiler.

The fix is simple, hash offsets are element offsets rather than byte offsets, so the offsets have to multiplied by 4. See https://github.com/angguss/rco-dump/pull/3. It has some problems with constructing output pathes. Place the RCO file in the same directory when invoking the program, otherwise it will segfault.

These are the correct names for the CXML tables. (from PSM sdk cxml.py)

Code: [Select]
attr_type_int = 1         # 32bit整数
attr_type_float = 2       # 32bit浮動小数
attr_type_string = 3      # 文字列
attr_type_wstring = 4     # ワイド文字列
attr_type_hash = 5        # ハッシュ
attr_type_intarray = 6    # 32bit整数配列
attr_type_floatarray = 7  # 32bit浮動小数配列
attr_type_filename = 8    # ファイル
attr_type_id = 9          # ID
attr_type_idref = 10       # IDへの参照
attr_type_idhash = 11     # IDハッシュ
attr_type_idhashref = 12  # IDハッシュへの参照

59
General / Re: DolceSDK - Playstation Vita homebrew SDK
« on: August 31, 2020, 02:35:45 AM »
Changes summary 2020-08-30

There has been several breaking changes. Please read this note in detail.

ddpm

- The installation and sdk update procedure has changed. Please see https://github.com/DolceSDK/doc.

headers

- All sce_paf_private_xxx functions have been rename sce_paf_xxx.
- Added SceGxmInternal functions (credits: Graphene).
- Added SceFios2 headers.

toolchain

- dolce-pack-vpk has been removed and replaced with dolce-make-pkg. No changes have been made to the CMake function dolce_create_vpk, but the variable DOLCE_PACK_VPK_FLAGS has been removed. Instead use DOLCE_MAKE_PKG_FLAGS.
- right.suprx will be automatically included by dolce-make-pkg if requirements are fulfilled (see https://github.com/DolceSDK/customright).
- Livearea assets will be added automatically if not explicitly added. This fixes a problem where apps cannot be opened due to lacking livearea assets.

buildscripts

- The Windows cross build has been made about 25% faster. On travis-ci this resulted in about a 10 minute reduction in build time.

60
Reverse Engineering / right.suprx and custom implementation
« on: August 28, 2020, 11:21:34 PM »
The module SceGameRightPlugin can be found at sce_sys/about/right.suprx in every retail title, containing a PlayStation Vita logo and Sony license information. To view this information, open the bubble context menu from the home screen, select "Information", then press in sequence triangle, square, select, and start.



This module can be decrypted with sceutils. The data segment contains a ARZL compressed GIM and a ARZL compressed UTF-8 text file. Normally this module is started by SceShell, which passes a struct pointer into module_start, containing memory allocation functions (ScePafHeap). module_start then returns a callback through the struct for SceShell to obtain the GIM and text files.

In the custom implementation, by using a detail of SceShell, we are able to find the module UID, obtain the module file path, and load the GIM and text from file using relative paths. This has the advantage of not needing to rebuild the module for different logos and texts. The custom implementation is distributed as part of Vita Development Suite. See sample here.



Pages: 1 2 3 [4] 5 6 ... 10