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 ... 4 5 [6] 7 8
76
Updated to v2.21:

- Reduced newlib usage to the minimum
- All settings are now saved in savedata0:

77
ElevenMPV-A - Advanced Eleven Music Player VITA











A homebrew music player for Playstation VITA that aims to support many different audio formats compared to the offical PS VITA music application.
It is the first PS Vita homebrew application that uses native Playstation Application Framework.

YouTube streaming:

1. Supports local history and favourites.
2. Can download audio directly from YouTube for local playback.
To download audio select "Settings->YouTube->Download" while playing YouTube stream.
3. Can select stream quality.
4. You can play YouTube video or playlist directly by entering ID. To do that type "video:<YouTube ID>" in the search bar and press Search.

BG playback support:

1. By default: with most of the games
2. With [LowMemMode plugin](https://github.com/GrapheneCt/LowMemMode): with all games

Currently supported formats: (16 bit signed samples)

- MP3
- ATRAC3
- ATRAC3plus
- ATRAC9
- WAV
- M4A/AAC
- FLAC
- IT
- MOD
- OGG
- OPUS
- S3M
- XM
- WEBM (OPUS only)

Features:

- Browse ux0:/, ur0:/, uma0:/, xmc0:/, grw0:/ to play the above audio formats.
- YouTube audio streaming
- Downloading audio from YouTube for local playback
- BG playback.
- Pause/Play audio.
- Shuffle/Repeat/Repeat All.
- Equalizer.
- ALC.
- Next/Previous track in current working directory.
- Display ID3v1 and ID3v2 metadata for MP3 files. Other tags are displayed for OGG, FLAC, OPUS and XM.
- Touch support.

Currently supported languages:

- English, Русский, Français, Português (Brasil), Deutsch, Chinese, Japanese.

About EQ modes (information by @realusagichan):

- Heavy EQ: bass and highs are boosted
- Pop EQ: bass and highs diminished, midrange boosted
- Jazz EQ: subbass and midrange diminished, mid-bass and treble boosted
- Unique EQ: subbass boosted, very high treble boosted, the rest slightly diminished

EQ modes may cause digital overload at max mixing level for loud music.
To mitigate that enable "Settings->Audio->Limit Volume Whith EQ" option (only software decoded codecs are supported).

Building:

To build this project you will need:

- Vita Development Suite: https://github.com/Vita-Development-Suite/doc
- ProDG Visual Studio Integration for PlayStation Vita SDK (comes with PlayStation Vita SDK)

Adding new language:

- Use Resource/locale/empva_locale_en.xml as base. Name your translation empva_locale_XX.xml, where XX is language code.
Supported language codes can be seen here (id attribute): https://github.com/GrapheneCt/ElevenMPV-A/blob/master/Resource/empva_plugin.xml#L390
- Submit your translation as pull request, it will be added in the next release.

Credits:

- joel16: [ElevenMPV](https://github.com/joel16/ElevenMPV)
- Mr. Rochemont for hosting Invidious instance without HTTP security protocols
- @realusagichan for testing and helping with debug
- nesttegg by mozilla
- dr_libs by mackron.
- libvorbis, libogg and libopus contributors.
- libxmp-lite contributors.
- Giroto for UI and bubble art.

Download: https://github.com/GrapheneCt/ElevenMPV-A/releases

78
Operations with SceTextClipboardStorage

SceTextClipboardStorage is cached memory block with usable size of 0x1FFD bytes allocated by SceShellSvc on startup.
Normally you would access this storage with clipboard sysmodule, however it can also be accessed directly with SceShellSvc functions.
This memory can be accesed from any part of the system and is managed by SceShell.
For example, you can write to it in one application and access written data from the other.
Or you can write to it in application and access written data from the plugin.

int SceShellUtil_C4810C56(const void* data, SceSize size) /* sceShellUtilTextClipboardWrite */

data - pointer to the data to write
size - size of data to write. Must not exceed 0x1FFD.

int SceShellUtil_1B186905(void* data, SceSize size, SceSize *textlen) /* sceShellUtilTextClipboardRead */

data - pointer to the buffer where the read data will be placed
size - size of data to read
[out] textlen - length actually read

unsigned int SceShellUtil_D0DDEDBC(void) /* sceShellUtilTextClipboardGetUsedSize */

This function returns size of the data that was written to clipboard with sceShellUtilTextClipboardWrite()

Music playback using SceShell

https://forum.devchroma.nl/index.php/topic,158.0.html

Information Bar control:

SceShellUtil_40DFAC6B(char* unk, char* text) //sceShellUtilSetTimeText, sets text in time display, UTF-16 (remains until reboot?)
SceShellUtil_96BBF91B(int mode) //sceShellUtilSetAirplaneIconMode, 0 to hide, 1 to show
SceShellUtil_8B69AD27(int mode) //sceShellUtilSetBtIconMode, 0 to hide, 1 to show

Some other ShellUtil functions:

SceShellUtil_B65B60CA(int mode) //sceShellUtilSetBGMMode, 0 to disable, 1 to enable
SceShellUtil_040997D6(int languageId) //sceShellUtilSetSystemLanguage, takes about 5 sec to apply
SceShellUtil_8F2F143D(void) //sceShellUtilRequestPowerOff
SceShellUtil_636544FB(void) //sceShellUtilRequestReboot

SceShellUtil_BB54D049(int safeModeType, int errorCode, int errorMessageType) //sceShellUtilRequestRebootWithError, shows "A serious error has occured" message before reboot

safeModeType - sets type of safemode to reboot into, 0 to reboot normally
errorCode - error code to display in the message
errorMessageType - ex. 0 "Contact technical support"

79
libvita2d_sys has been updated!

-libvita2d_sys now uses only sceClib functions for std C

80
Reverse Engineering / Re: All bootparams and their values
« on: April 21, 2020, 04:12:20 PM »
Added more bootparams, updated in according to official information from ★Check application.

81
If you have been using LowMemMode, please re-download it. Previous versions caused memory leak issue.

This is just a plugin, it will not magically download more RAM to your Vita. If you see C1-2609-7 error when starting application, it means there is not enough free RAM to start it.

Plugin for PS Vita that disables memory budget check during app launch in SceShell.

Allows you to launch other applications in LOWPHYMEM mode while enlarged memory mode app (+29MiB, +77MiB and +109MiB) is in the background.
Tested on 3.60-3.65 retail FW versions.

Install under *main

Examples:
- Allows to launch Trophies, Friends, Messages, Music, Party and some other applications with +77MiB game (for example, Ys VIII).
- Allows to launch BGFTP with +109MiB game (for example, Darkest Dungeon).

Download link: https://github.com/GrapheneCt/LowMemMode/releases

82
libvitaSAS has been updated:
- Loading .vag and .pcm files using FIOS2 overlay is now supported (for example, loading directly from PSARC archive). When calling vitaSAS_load_audio_XXX() specify 1 for io_type to use FIOS2 or 0 to use SceIo.

83
libvita2d_sys has been updated!

- libvita2d_sys now supports both "system mode" and "game mode" applications. Appropriate GXM mode and framebuffer mode are set automatically when vita2d_init() is called.
- Loading textures using FIOS2 overlay is now supported (for example, loading directly from PSARC archive). When calling vita2d_load_XXX_file() specify 1 for io_type to use FIOS2 or 0 to use SceIo.

84
Reverse Engineering / All bootparams and their values
« on: April 19, 2020, 03:42:43 PM »
Since DolceSDK now support setting bootparams for applications, I decided to document all bootparams and their values.

1. Differences between "game mode" and "system mode" applications on PS Vita

These are general differences:

"Game mode":

1. Does not support multitasking.
2. "Unlimited" memory budget.
3. Can use only 3 out of 4 CPU cores.
4. Are expected to use normal framebuffer implementation.

"System mode":

1. Support multitasking (several apps of that type can be loaded simultaneosly with each other and with 1 "game mode" app).
2. Limited memory budget.
3. Can use all CPU cores.
4. Are expected to use shared framebuffer.
5. Can NOT use CDRAM.

2. Bootparams

All used bootparams are situated at the start of the bootparams section in the SELF file:



The general functions of these bootparams are:

1. 0x01 - "is used" flag - always set to 1.

2. 0x0000000E - ATTRIBUTE. Controls a lot of application parameters, such as: CPU Affinity mask, process priority, memory types accesible by application etc.
3. 0x001C0000 - PHY_MEMSIZE. Controls how much physically contiguous memory will be allocated to "system mode" application budget.
4. 0x00280100 - APP_MEMSIZE. Controls memory budget for "system mode" application.
6. 0x14 - FILE_OPEN_MAX_NUM. Maximum number of file descriptors opened at the same time.
7. 0x06 - DIRECTORY_MAX_LEVEL. Maximum directory level.
8. 0x04 - ENCRYPT_MOUNT_MAX_NUM. Function is unknown. Related to PFS.
9. 0x04 - REDIRECT_MOUNT_MAX_NUM. Function is unknown. Related to FIOS2.

10. Everything else is reserved area, always set to 0.

If APP_MEMSIZE is set to 0, application will run in "game mode".
If APP_MEMSIZE is set to anything other than 0, application will run in "system mode".


3. Bootparams that you can set for "game mode" applications and their values:

Allowed bootparams:

Only ATTRIBUTE can be set for "game mode" applications.

Values List:

Only one value is allowed: 0x00000002. Function is unknown, set in some apps developed by Sony.

4. Bootparams that you can set for "system mode" applications and their values:

4.1 Allowed bootparams:

All bootparams are allowed

4.2 Values List:

4.2.1 APP_MEMSIZE (all values are little endian)

Smallest seen value: 0x00100000 (4 MB, some BG apps)
.
.
.
Highest seen value: 0x00280100 (74 MB, YouTube app)

Note that applications with APP_MEMSIZE smaller than 0x4000 can be started simultaneously with any game, including enlarged memory mode games, as long as title id check is disabled in SceShell (function of https://github.com/GrapheneCt/LowMemMode).

Note that applications with APP_MEMSIZE bigger than 0x8000 have limited multitasking capabilities.

4.2.2 PHY_MEMSIZE (all values are little endian)

Not used: 0x00000000

Smallest seen value: 0x00100000 (4 MB)
.
.
.
Highest valid value: 0x00680000 (26 MB)

Note that phycont budget is substracted from main budget. For example if APP_MEMSIZE is set to 0x20 (8 MB) and PHY_MEMSIZE is set to 0x10 (4 MB), the resulting application budget will be: 4 MB of main memory and 4 MB of phycont memory.

4.2.3 ATTRIBUTE

Not used: 0x00000000. If set to 0, application is limited to system-reserved core. CPU affinity mask of all new threads within application must be set to 0.



Note: in case your app is allowed to use all CPU cores use following CPU affinity mask values when creating new thread:

/*CPU Affinity mask:
0x00000 - all user cores (auto)
0x80000 - system-reserved core
*/

85
libvitaSAS has been updated:
-Added partial hardware MP3 decoding support using Codec Engine
-Added fast PCM channel separation function using Arm Neon
-Added ability to use main memory for decoding

86
libvitaSAS has been updated:
-Added hardware ATRAC9 decoding using Codec Engine
-Added hardware AAC decoding using Codec Engine

All playback related functions are non-blocking type except void vitaSAS_decode_to_buffer(). Both decoder playback and native SAS playback can be used at the same time.


87
libvitaSAS has been updated:
- Fixed grain value handling.
- Added noise generator voice type.
- Added ability to set DSP effects.
- Updated sample with DSP demo, added comments.

88
SAS is a library for performing synthesizer processing with software.
Audiodec is a library for decoding audio data with a Codec Engine.

Main features:

- While SAS, unlike NGS, uses software synthesizing, it has much smaller memory footprint.
- Theoretically unlimited amount of SAS systems can be created.
- Theoretically unlimited amount of voices per system can be created.

libvitaSAS is easy-to-use SceSas and Audiodec library wrapper with system mode applications support.
Loading directly from FIOS2 overlay (for example, loading directly from PSARC archive) is supported. When calling vitaSAS_load_audio_XXX() specify 1 for io_type to use FIOS2 or 0 to use SceIo.

Pitch, panning, envelope processing and digital effects processing can be done.

Native SAS playback:

Only HE-ADPCM (.vag) and PCM (.pcm, .wav) files are supported.

Codec Engine hardware decoding and playback:

Supported input formats (all application modes):

ATRAC9
Supported channels : 1 channel, 2 channels
Supported sampling frequencies : 12000/ 24000/ 48000 Hz
Supported bit rates : 48/ 60/ 70/ 84/ 96/ 120/ 144/ 168/ 192 kbps

AAC
Supported codecs : AAC-LC, HE-AAC v1/v2
Supported channels : 1 channel, 2 channels
Supported sampling frequencies : 8000/ 11025/ 12000/ 16000/ 22050/ 24000/ 32000/ 44100/ 48000 Hz
Supported bit rates : 16 - 576 kbps

Supported input formats (game applications only):

MP3
Supported codecs : MPEG1/ 2/ 2.5 Layer3
Supported channels : 1 channel, 2 channels
Supported sampling
frequencies: 8000/ 11025/ 12000/ 16000/ 22050/ 24000/ 32000/ 44100/ 48000 Hz
Supported bit rates : 8/ 16/ 24/ 32/ 40/ 48/ 56/ 64/ 80/ 96/ 112/ 128/ 144/ 160/ 192/ 224/ 256/ 320 kbps

Download suprx module version of the library: https://github.com/GrapheneCt/libvitaSAS/releases/
Github: https://github.com/GrapheneCt/libvitaSAS

89
- Switched to DolceSDK.
- JPEG textures are now decoded on dedicated hardware using scejpeg.

90
Reverse Engineering / SceIncomingDialog - full library header + PoC
« on: April 04, 2020, 10:19:49 PM »
SceIncomingDialog is sysmodule that allows applications to show custom dialogs via SceShell.

Full library header here: https://github.com/GrapheneCt/Vita-PoC/blob/master/incoming_dialog.h

Incoming dialog PoC here: https://github.com/GrapheneCt/Vita-PoC/blob/master/SceIncomingDialog.c

Pages: 1 ... 4 5 [6] 7 8