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 - Graphene

Pages: 1 2 [3] 4 5 ... 8
31
Libshacccg is just runtime shader compiler. This is full GLES API implementation, that aslo includes runtime shader compiler. Basically, this allows to easily port any GLES application to Vita with minimal effort.

32
PS Vita / Re: [Release] Vita Moonlight HD
« on: October 15, 2020, 08:55:00 PM »
v0.9.1 Changelog:

- Fixed back touchpad mapping issue

33
PS Vita / [Release] Vita Moonlight HD
« on: October 15, 2020, 12:41:38 AM »
Original application here: https://github.com/xyzz/vita-moonlight

Changelog:

New features:

- Added support for native 1920x1080 and 1280x720 resolutions
- Added on screen keyboard support
- Audio stream can now be continued with the screen off
- Audio stream can now be continued with application suspended
- Moonlight stream will now not disconnect when you suspend application
- DS4 touchpad on PSTV will now work in direct input mode (full touchscreen simulation)
- Bluetooth keyboard support
- Touchscreen/touchpad (DS4) input has been reworked. All timeframes have been adjusted. It is now as close as possible to laptop touchpad. You can use following gestures:
     - Drag to move cursor
     - Tap: left mouse button click (recognized on release)
     - First finger hold, second finger tap: right mouse button click (recognized on release of second finger)
     - Tap and hold in one place: enter hold left mouse button mode. After mode is entered, you can freely drag finger to move cursor (recognition stops when finger is released)
     - First finger hold, second finger move: mouse wheel scroll (recognition stops when any of the fingers released)
   
Bugfixes:

- Fixed all issues related to touch input (such as special keys being accidentaly recognized when moving cursor)
- Implemented proper AVC decoder flushing on stream resume
- Various minor optimizations

Details and limitations:
Please read this before asking questions!


1. Requirements for HD resolution modes on normal Vita and PSTV.
     - On normal PS Vita, Sharpscale is required
     - On PSTV there are no special requirements
   
2. Limitations of Vita AVC decoding hardware:
     - AVC decoder is not fast enough to decode 1920x1080@60FPS stream. Please use 1920x1080@30FPS instead
   
3. About new options:
     - Resolution modes:
    960x540, 960x544 -> Vita/PSTV display resolution set to 960x544
    1280x540, 1280x720 -> Vita/PSTV display resolution set to 1280x725
    1920x1080 -> Vita/PSTV display resolution set to 1920x1088
   
    Application restart is required to apply stream resolution settings!
   
     - Enable BGM mode:
    When set to on, system will continue audio stream playback even when application is suspended
    
    Application restart is required to apply this option!
   
     - Disable system suspend
    Disable automatic system suspend feature
   
     - Disable screen dimming
    Disable automatic screen dimming feature

     - Special keys: Open keyboard
    When this special key is pressed, on-screen keyboard will be opened

     - This version does not replace v0.8.0. You will have to do clean reinstall manually.
   
Current issues:

     - UI is not scaled properly in 1280x720 and 1920x1080 modes so it will appear small, especially on normal Vita screen.
   
Coming in the future:

     - Full bluetooth mouse support
   
Path to all Moonlight configuration data has been changed from ux0:data/moonlight to ux0:user/00/savedata/GRVA00010.
You have to open that folder with triangle->open decrypted in Vitashell before doing any manual operations with it.


On normal Vita, Sharpscale is required to use this application.
Unlock framebuffer size option in Sharpscale config app must be set to on

Download: https://github.com/GrapheneCt/vita-moonlight/releases

34
Kits / pfs_builder.exe usage
« on: September 27, 2020, 06:41:15 PM »
This was either undocumented or unknown.

General usage instructions can be obtained by just running pfs_builder.exe without any arguments. These are:

usage: [-s<number>] [-q] [-n<number>] [-v] [-f<number>] [-k<number>] [-d] <dest path> <param file>
-s : generate PFS image for 0:gamedata(default), 1:savedata, 2:AC ROOT, 3:ACID DIR.
-q : quiet mode (no message).
-n : random number seed (32bit-HEX, default 0).
-v : print svn revision of source code.
-f : set DB format version (default:latest).
-k : set key type. 0:type2(default), 1:type3.
-d : generate PFS DB only.

There are actually more options, but the main issue was structure of param file, that is not documented anywhere.

param file structure:

Here is how param file should be structured:

1. Each new line of param file indicates file or folder that will be added to PFS
2. Lines can be commented with "#"
3. Each line must contain 4 or 5 parameters:
     1. Input file/directory name
     2. Output file/directory name for PFS result
     3. PFS param 1 (described below)
     4. PFS param 2 (described below)
     5 (optional). PFS file seed
4. Parameters in line are separated by tabbing (0x09 HEX code). Line must also end with 0x09.

Detailed description of parameters:

PFS param 1 is used to determine PFS access mode. Available options are:
(nothing. Tabbing still must be preserved)
rw (read/write)
ro (read only)
sys (ex. sce_sys dircetory or clearsign/keystone files)

PFS param 2 is used to determine how PFS should treat file/directory. Available options are:
(nothing. Tabbing still must be preserved)
dir (treat input as directory)
acidir (?, maybe treat input as addcont included directory (PFS-in-PFS))
npfs (?, maybe copy that file without including it in PFS)
nenc (do not encrypt that file)
nicv (?)

PFS file seed is optional parameter. It is a string of 40 characters in HEX format that will be used as encryption seed for the file/directory. If not set, common options seed will be used.

Hidden modes:

Some of these modes can not be set by input arguments, only by directly editing pfs_builder.exe executable:

FakeSetting;
GdgpSetting;
GpwrSetting;
AcSetting;
SdSetting;
PackSetting;
AcroSetting;
RedirectRoSetting;
RedirectSetting;
AcContSetting;


35
libvita2d_sys has been updated!

1. General:

1.1 Changed internal memory management. Simplified initialization procedure.
Following functions are now deprecated:
vita2d_pass_mspace()
Call vita2d_set_heap_size() before initialization to change internal memory heap size from default (1MB).

Note that internal heap will be automatically extended or reduced if needed.

1.2 Various bugfixes.

2. PVF:

2.1 Improved PVF font rendering. Following functions are now deprecated:
vita2d_pvf_draw_text_ls()
vita2d_pvf_draw_textf_ls()
Use vita2d_pvf_linespace() instead.

2.2 Added ability to load custom PVF font from memory. Use vita2d_load_custom_pvf_buffer().

2.3 Added ability to set character spacing interval. Use vita2d_pvf_charspace().

2.4 Default system PVF font is now opened on shared memory.

3. PGF:

3.1 Added ability to load custom PGF font from memory. Use vita2d_load_custom_pgf_buffer().

4. Font (FT2):

4.1 vita2d_font_xxx functions are now deprecated. Use vita2d_pvf_xxx instead.

36
Official music player UI will be possible only if someone will do full RE of ScePaf (not happening in the near future for sure). As for the controls, Vita usually locks all controls when switching to the sleep mode. It will probably require some additional patches in OS, but for now I don't know where. The reason it works in apps like Vitashell or original ElevenMPV is because they don't use "true" sleep mode, they just turn off the screen.

37
Reverse Engineering / Full param.sfo attributes list
« on: August 17, 2020, 04:53:37 PM »
Format is: special mode(if present):BIT(S):XX:YY(Y)(if multiple bits):group name:attribute bit name:comment
Comments with * are my own, everything else is official.

param.sfo:
   ATTRIBUTE:
      BIT:01:liblocation:null:Use liblocation in order to get location
      PRIVILEGED:BIT:03:null:NO_SUSPEND_DEACTIVATE:*Do not deactivate application when application is suspended
      PRIVILEGED:BIT:06:null:NO_FORCED_KILL:*Always warn user if application needs to be closed in order to open other application
      BIT:07:Information Bar:null:Information Bar is displayed on startup
      BIT:08:Information Bar:null:Information Bar color (white:ON, black:OFF)
      PRIVILEGED:BIT:09:Information Bar (noname):null:Use alpha blending to display Information Bar (option for Non-Game)
      BIT:10:Upgradable:null:The Application is upgradable
      PRIVILEGED:BIT:11:null:ENABLE_BGM_PROXY:*Proxy SceShell BGM to application automatically (equal to sceAppMgrSetBgmProxyApp("NPXS19999"))
      PRIVILEGED:BIT:12:null:null:The Application is set to be not-visible from "near"
      PRIVILEGED:BITS:14-13:00:null:LIVEAREA_UPDATE_MODE:*LiveArea update mode is not set
      PRIVILEGED:BITS:14-13:01:null:LIVEAREA_UPDATE_MODE:*LiveArea update mode is set to 1
      PRIVILEGED:BITS:14-13:10:null:LIVEAREA_UPDATE_MODE:*LiveArea update mode is set to 2
      PRIVILEGED:BIT:15:LiveArea™:null:Communication Zone is not displayed (option for Non-Game)
      PRIVILEGED:BIT:16:null:DISABLE_LIVEAREA_SCREENSHOT:*Disable LiveArea gate screenshot
      PRIVILEGED:BIT:17:null:MUSIC_BROWSER_EXCLUSIVE_LAUNCH:*This application replaces Music
      PRIVILEGED:BIT:18:null:PARTY_EXCLUSIVE_LAUNCH:*This application replaces Party
      PRIVILEGED:BIT:19:null:DISABLE_SYSTEM_SUSPEND:*Do not deactivate application when system is suspended
      BIT:20:null:null:The VC-MC Application supports boot from VC without MC
      BIT:21:Software manual:null:Add a health warning to the first page of software manual
      PRIVILEGED:BIT:23:cache0:null:Content of cache0: is cleared when application is killed (option for Non-Game)
      PRIVILEGED:BIT:24:libNotification:null:Use libNotification to post Notification Messages (option for Non-Game)
      BIT:25:Twitter:null:Use Tw dialog
      PRIVILEGED:BIT:26:LiveArea™:null:The Background applicaiton is not killed when LiveArea™ is peeled off
      DOLCE:BIT:27:Teleport Feature:null:The Application can be launched by Teleport feature
      DOLCE:BIT:28:Touch Pointer on PS TV:null:Disable Touch Panel Emulation by L3/R3 buttons
      DOLCE_PRIVILEGED_1:BIT:29:Resolution:null:The Application supports 720p resolution
      DOLCE_PRIVILEGED_1:BIT:30:Resolution:null:The Application supports 1080p resolution
   ATTRIBUTE_MINOR:
      BITS:01-00:00:Enter Button Assignment:null:Not Specified (for SDK200 or older)
      BITS:01-00:01:Enter Button Assignment:null:Circle Button (for SDK210 or newer)
      BITS:01-00:10:Enter Button Assignment:null:Cross Button (for SDK210 or newer)
      BITS:04-02:000:Boot Mode:null:Managed by system software (selectable only under PS Vita TRC1.5 in SCEE/SCEA regions)
      BITS:04-02:100:Boot Mode:null:PS Vita:Bootable, PS TV:Bootable
      BITS:04-02:110:Boot Mode:null:PS Vita:Bootable, PS TV:Not Bootable
      PRIVILEGED:BITS:04-02:101:Boot Mode:null:PS Vita:Not Bootable, PS TV:Bootable
   ATTRIBUTE2:
      DOLCE_PRIVILEGED_2:BITS:01-00:00:DUALSHOCK®4 Touch Pad Mode:null:Normal mode
      DOLCE_PRIVILEGED_2:BITS:01-00:01:DUALSHOCK®4 Touch Pad Mode:null:Special mode (easy flick)
      BITS:04-02:000:Large Memory Mode:null:The Application does not use the enlarged memory
      BITS:04-02:001:Large Memory Mode:null:The Application uses the enlarged memory (+29MiB)
      BITS:04-02:010:Large Memory Mode:null:The Application uses the enlarged memory (+77MiB)
      BITS:04-02:011:Large Memory Mode:null:The Application uses the enlarged memory (+109MiB)
      
      
bootparams:
   ATTRIBUTE:
      BIT:00:null:null:*BG application
      BIT:01:null:null:*SCE nongame application
      BIT:02:null:null:*Allow CDLG memory
      BIT:03:null:null:*Allow user CPU cores affinity mask

38
CoreUnlocker80000H is now CapUnlocker.

Unlocks some non-game capabilities for PS Vita homebrew apps. Currently available:

- Allow mounting some virtual drives like cache0:
- Allow using 4th core for game applications.

39
Here is what I think about audio-related issues: these are probably caused by Thread Optimizer interpreting 1:1 threads as same and applying similar settings to all of them. In some games where devs were too lazy to give each thread distinctive feautures (like different names), that may cause some issues. Unfortunately I don't see a way of fixing that issue without implementing some compilicated thread differentiation algorithms which will degrade game performance.

40
Please don't spread misinformation. Retail games can't possibly utilize 4th core without CoreUnlocker:
1. Official Sony SDK doesn't expose CPU affinity mask value for 4th core for game developers.
2. Even if the devs would somehow guess the value, all thread-related functions have check in them that makes them error out if 4th core is attempted to use in game application.
The purpose of CoreUnlocker plugin is to disable that check.

It makes no sense for devs to use 4th core CPU affinity mask value (again, if they somehow guessed it), because all of the thread-related functions will simply error out. Games can't be programmed to use 4th core out of the box. That's the purpose of Thread Optimizer.

If some games do manage to run without CoreUnlocker and with 4th core enabled, that's because they have good exception handling and are able to work even if some thread-related functions don't work and return errors.

The reason you see 20 - 30% usage of 4th core without CoreUnlocker is because while games can't directly use it, SceShell and background applications use it, as well as some shared system modules.

41
PS Vita / [Release] HonRipper - extracts data from .MNH books
« on: August 01, 2020, 09:52:02 PM »
HonRipper is the plugin for PS Vita Sony Reader application (PCSC80012) that is designed to extract contents of Sony's .MNH (Marlin-Hon) book format.

This plugin can extract contents of any books bought on Reader Store. Scan resolution can vary, but it is usually quite high (eg. above 1500x2000 for manga).
There are quite a lot of rare books/manga scans on Reader Store in good quality.

To extract contents of the book:
0. Add plugin in config.txt under *PCSC80012.
(optional) 1. Create config file: ux0:book/HonRipper.ini. File should contain either 0 or 1:
  - 0 to set output path to ux0:HonRipper/%bookname%/%imagenum%.jpg.
  - 1 to set output path to uma0:HonRipper/%bookname%/%imagenum%.jpg.
  - default (if config file is not found) is 0
2. Start Reader, open book that you want to extract.
3. Go through all book to dump all pages.
4. Close book or application. Your dump is finished.

Some notes:
  - Avoid using official Sony memory cards as output location as IO load is quite high during dumping and can reduce memory card lifespan.
  - Plugin will slow down Reader, so if you are going to use it normally disable plugin before that.

Download: https://github.com/GrapheneCt/HonRipper/releases/

42
PS Vita / Re: [Release] MARISA HighLow PS Vita
« on: July 24, 2020, 08:55:57 PM »
Game has been updated:

- Load time has been significantly reduced

43
libvitaSAS has been updated:

All of the SAS functions have been revamped. New key features are:

1. wav files can now be used as sample data for SAS voices.
2. Theoretically unlimited amount of SAS systems can be created.
3. Theoretically unlimited amount of voices per system can be created.
4. Systems can now be configured
5. Use SceDbg logging.
6. A lot more...

For more information refer to library header file.

Sample has been updated.
You can also refer to MARISA-HighLow-PSV (https://github.com/GrapheneCt/MARISA-HighLow-PSV/blob/master/src/sound.c) as usage example.

44
libvita2d_sys has been updated!

1. Added suprx module version of the library.

Download here: https://github.com/GrapheneCt/libvita2d_sys/releases/tag/v1.0

It is recommended that you use this version of the library, however it has certain limitaions compaired to static version:

  - PNG textures are not available.
  - FT2 font functions are not available. You can use PVF font functions to work with external fonts.

2. Switched to sceDbg logging.

  - You can now set logging level for vita2d_sys from your application during runtime.
  - By default logging level is set to SCE_DBG_LOG_LEVEL_ERROR after calling vita2d_clib_pass_mspace(), or after starting module for suprx module version.
  - Use sceDbgSetMinimumLogLevel() to set your prefered logging level after default level has been set.
  - Maximum level that vita2d_sys uses is SCE_DBG_LOG_LEVEL_DEBUG.

45
Static version of libShelAudio has been updated to accomodate changes in DolceSDK.

Pages: 1 2 [3] 4 5 ... 8