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.


Topics - SilicaAndPina

Pages: 1 [2]
16
Kits / Fix Release-Mode & PSTV Mode Soft-Brick
« on: April 03, 2020, 07:44:49 AM »
Its possible to semi-brick a PDEL-1001 just by enabling two of its offical features:

PSTV Emulation Mode and Release Mode.

in PSTV Emulation Mode, all input is disabled and you have to pair a ds3 or ds4 controller via Neighbourhood
and in Release Mode, most CP Functions are disabled. and so you cant use Neighbourhood
Also note, downgrading to a firmware before pstv emulation mode is not possible because the firmware cannot be "Updated".while in release mode, even from Safe Mode.

So if Release Mode is enabled AND PSTV Emulation Mode is enabled, AND you have no controller linked to your DevKit.
then you will effectively have a brick since you cannot goto settings to disable PSTV Emulation Mode or Release Mode, and you cant link a controller in release mode.

However it turns out there are some hidden commands for psp2ctrl.exe to disable PSTV Emulation
and to enable Development Mode, these work even if Release mode is enabled.

Code: [Select]
psp2ctrl set-setting integer bootparam:/platform_emulation_dolce 0
psp2ctrl set-setting integer bootparam:/release_check_mode_console 0
psp2ctrl set-setting integer bootparam:/development_mode 1
(internal commands discovered by Mathieulh)

and then rebooting your PSVita. you will disable PSTV Emulation and Enable Development Mode. thus booting up as normal. and fixing the brick.

psp2ctrl is part of Target Managment Server (TMServer-3_60_0_2.msi package) which is part of the Offical SIE SDK.

Blessed Be~

17
Tutorials / Restore automatic save backups (PSVita)
« on: March 30, 2020, 02:46:39 AM »
So some may not be aware that the vita automatically makes backups of your savefiles- there stored in ux0:/user/xx/savedata_backup

However there in an unknown format. So it was mostly useless

But just caz we dont know the format doesnt mean it ain't useful, a few years ago I was messing with my save and managed to get the option from the system to restore an automatic backup

Someone was asking about it on reddit and I just remembered this was an option so now I'm gonna tell you all how to restore from here. It could be useful if you accidentally delete your save or something.

If you prefer videos:


0) Verify an automatic backup exists. Check ux0:/user/xx/savedata_backup for a file starting with the TITLEID of the game.

1) Backup the existing savefile for this game.
just copy it out from ux0:/user/savedata/xx/savedata/TITLEID

2) open your save folder (ux0:/user/xx/savedata/TITLEID) then goto sce_sys and delete sdslot.dat and keystone

3) Exit vitashell and try start your game. You should see a message saying the save is corrupt asking if you want to restore



Blessed Be~

18
PS Vita / [UPDATE] GayMaker 1.7.5 and GayMaker-Studio 1.2!
« on: January 13, 2020, 05:06:59 PM »
Due to the bitbucket page being DMCA'd by yoyogames you have to manually install the new version:

1) Fixed A Bug where "Short Circuit Evaluations" setting was allways = FALSE regardless of what the setting acturally is
(this should fix compatibility for non-yyc projects!)
2) Fixed auto updater
3) Fixed Version Manager


GayMaker-Studio (Ps4 Export) https://github.com/KuromeSan/GayMaker-Studio/releases/download/v1.2/GayMaker-Studio.1.2.zip
GayMaker (Psv Export) https://github.com/KuromeSan/GayMaker/releases/download/V1.7.5/GayMaker.1.7.5.zip

Thanks and Blessed Be~

19
PS Vita / [RELEASE] DolcePolce - PSTV Blacklist Patch that just WORKS
« on: December 19, 2019, 02:25:48 PM »
DolcePolce is here!


A native PSTV blacklist hack- Game UPDATES and DLC all working of course- persists on DB rebuild and everything.
The old whitelist hacks did not enable all games and even broke core features of including DLC and updates through its primitive nature of spoofing applications as system apps.

However, this new hack enables all games (ATTRIBUTE_MINOR and list_launch_vita.dat) along with PSM, PSP, Updates, and DLC.
This also allows you to use BGDL (system downloader) in PKGJ on a PSTV.

If you are having issues, any previous whitelist must be uninstalled: https://vitadb.rinnegatamante.it/#/info/11

Finally, to install this plugin:
Install this plugin under the *main in your config.txt.

Downloads:
Github: https://github.com/KuromeSan/DolcePolce/releases
Bitbucket: https://bitbucket.org/SilicaAndPina/dolcepolce


Developers:
SilicaAndPina

Beta Testers:
Zodasaur
marburg
IcySon55
froid_san
kirilldevchroma
SilicaAndPina

20
Good for reversing weird error codes- just look for the hex value's in decompiled code.
For example we can find that "C4-2328-5" really is "802e0007"

this is can be faster than using PSV RE TOOL's "ErrorResolver" program..

fourm wont let me post the whole thing so look at this pastebin
https://pastebin.com/raw/JV4M4LVT

21
Reverse Engineering / Vita sound effects
« on: November 07, 2019, 10:51:18 AM »
Uploaded Vita Sound Effects

From Common_Resource.rco

22
PS Vita / Bypass Chinese Region Lock with ★Debug Settings
« on: October 20, 2019, 06:25:05 PM »
Its useful for those of you with Chinese vita's PCH-xxx9 range
So basically i discovered you can remove the region lock with the  ★Debug Settings) Install Enable Debug Settings / Testkit Fw
(Cex2Rex2.0 can do this in a very nicely- https://bitbucket.org/SilicaAndPina/cex-2-rex,)

0. Install testkit firmware/enable debug settings
1. Open Settings App
2. Scroll down to the ★Debug Settings
3. Click on System
4. On "Region Setting" change it from China to North America
5. Sign into any psn account! it should work now

After the account is linked you can change back to normal firmware if you want. the region check is only when linking accounts

anyone with a real china console wanna try this ? haha

23
dev / "I like to see girls die"
« on: October 18, 2019, 08:18:44 AM »
I like to see girls die.
thats really all there is to it.

24
Reverse Engineering / 3.73 changes
« on: October 18, 2019, 06:01:10 AM »
This update does literally nothing (no seriously!)
everything is unchanged except for updating the embedded version codes in modules

the ONLY change this update does is to PartyPlugin.rco in the locale (see english locale xml: https://www.diffchecker.com/lKiRvbvy)
(RCO is a CXML (Compiled eXtensible Markup Language )  format containing resources such as sounds textures and text, it is NOT code!) above diff is decompiled CXML using a CXML decompiler i made awhile back.

they changed some text:
"The party you have chosen no longer exists." -> "Could not join the party.<Hints>The party might no longer exist. You can only join parties created on PS Vita."
and
"Could not join the party. Please try again later." -> "Could not join the party.<Hints>Wait a while, and then try joining again. You can only join parties created on PS Vita."

diff: https://pastebin.com/0TXX6aqW

no changes to the actual party client- any fixes must've been serverside

25
Graphical / Cute Girls Dying
« on: August 25, 2019, 10:45:29 AM »













26
Reverse Engineering / VAG File Format
« on: August 25, 2019, 10:19:04 AM »
PSVita has a new version of the VAG file format that was found on the PSP..

Header:

0x0: "VAGp" - Magic Identifier
0xC: Int32(Big Endain) - Waveform Data Size
0x10: Int32(Big Endain) - Sample Rate
0x1E: Int8 - Channels (0x0 = 1 mono, 0x2 = stereo)
0x20: String - Track Name
0x40: ADPCM Audio

Audio Data:
The audio data in VAG files is ADPCM compressed, though not in any standard way
samples are encoded in 0x10 blocks,
the structure of said blocks is as follows:

0x1: Decoding Coefficent
0x2: Loop Data
0x3: ADPCM Encoded Data

if the loop data byte is set to 0x7 then the sample is skipped.

The ADPCM Compression uses the following Coefficent Table:
Quote
    {
        private static int[,] HEVAGCoeffTable = new int[,]
        {
            {      0,     0,     0,     0 },
            {   7680,     0,     0,     0 },
            {  14720, -6656,     0,     0 },
            {  12544, -7040,     0,     0 },
            {  15616, -7680,     0,     0 },
            {  14731, -7059,     0,     0 },
            {  14507, -7366,     0,     0 },
            {  13920, -7522,     0,     0 },
            {  13133, -7680,     0,     0 },
            {  12028, -7680,     0,     0 },
            {  10764, -7680,     0,     0 },
            {   9359, -7680,     0,     0 },
            {   7832, -7680,     0,     0 },
            {   6201, -7680,     0,     0 },
            {   4488, -7680,     0,     0 },
            {   2717, -7680,     0,     0 },
            {    910, -7680,     0,     0 },
            {   -910, -7680,     0,     0 },
            {  -2717, -7680,     0,     0 },
            {  -4488, -7680,     0,     0 },
            {  -6201, -7680,     0,     0 },
            {  -7832, -7680,     0,     0 },
            {  -9359, -7680,     0,     0 },
            { -10764, -7680,     0,     0 },
            { -12028, -7680,     0,     0 },
            { -13133, -7680,     0,     0 },
            { -13920, -7522,     0,     0 },
            { -14507, -7366,     0,     0 },
            { -14731, -7059,     0,     0 },
            {   5376, -9216,  3328, -3072 },
            {  -6400, -7168, -3328, -2304 },
            { -10496, -7424, -3584, -1024 },
            {   -167, -2722,  -494,  -541 },
            {  -7430, -2221, -2298,   424 },
            {  -8001, -3166, -2814,   289 },
            {   6018, -4750,  2649, -1298 },
            {   3798, -6946,  3875, -1216 },
            {  -8237, -2596, -2071,   227 },
            {   9199,  1982, -1382, -2316 },
            {  13021, -3044, -3792,  1267 },
            {  13112, -4487, -2250,  1665 },
            {  -1668, -3744, -6456,   840 },
            {   7819, -4328,  2111,  -506 },
            {   9571, -1336,  -757,   487 },
            {  10032, -2562,   300,   199 },
            {  -4745, -4122, -5486, -1493 },
            {  -5896,  2378, -4787, -6947 },
            {  -1193, -9117, -1237, -3114 },
            {   2783, -7108, -1575, -1447 },
            {  -7334, -2062, -2212,   446 },
            {   6127, -2577,  -315,   -18 },
            {   9457, -1858,   102,   258 },
            {   7876, -4483,  2126,  -538 },
            {  -7172, -1795, -2069,   482 },
            {  -7358, -2102, -2233,   440 },
            {  -9170, -3509, -2674,  -391 },
            {  -2638, -2647, -1929, -1637 },
            {   1873,  9183,  1860, -5746 },
            {   9214,  1859, -1124, -2427 },
            {  13204, -3012, -4139,  1370 },
            {  12437, -4792,  -256,   622 },
            {  -2653, -1144, -3182, -6878 },
            {   9331, -1048,  -828,   507 },
            {   1642,  -620,  -946, -4229 },
            {   4246, -7585,  -533, -2259 },
            {  -8988, -3891, -2807,    44 },
            {  -2562, -2735, -1730, -1899 },
            {   3182,  -483,  -714, -1421 },
            {   7937, -3844,  2821, -1019 },
            {  10069, -2609,   314,   195 },
            {   8400, -3297,  1551,  -155 },
            {  -8529, -2775, -2432,  -336 },
            {   9477, -1882,   108,   256 },
            {     75, -2241,  -298, -6937 },
            {  -9143, -4160, -2963,     5 },
            {  -7270, -1958, -2156,   460 },
            {  -2740,  3745,  5936, -1089 },
            {   8993,  1948,  -683, -2704 },
            {  13101, -2835, -3854,  1055 },
            {   9543, -1961,   130,   250 },
            {   5272, -4270,  3124, -3157 },
            {  -7696, -3383, -2907,  -456 },
            {   7309,  2523,   434, -2461 },
            {  10275, -2867,   391,   172 },
            {  10940, -3721,   665,    97 },
            {     24,  -310, -1262,   320 },
            {  -8122, -2411, -2311,  -271 },
            {  -8511, -3067, -2337,   163 },
            {    326, -3846,   419,  -933 },
            {   8895,  2194,  -541, -2880 },
            {  12073, -1876, -2017,  -601 },
            {   8729, -3423,  1674,  -169 },
            {  12950, -3847, -3007,  1946 },
            {  10038, -2570,   302,   198 },
            {   9385, -2757,  1008,    41 },
            {  -4720, -5006, -2852, -1161 },
            {   7869, -4326,  2135,  -501 },
            {   2450, -8597,  1299, -2780 },
            {  10192, -2763,   360,   181 },
            {  11313, -4213,   833,    53 },
            {  10154, -2716,   345,   185 },
            {   9638, -1417,  -737,   482 },
            {   3854, -4554,  2843, -3397 },
            {   6699, -5659,  2249, -1074 },
            {  11082, -3908,   728,    80 },
            {  -1026, -9810,  -805, -3462 },
            {  10396, -3746,  1367,   -96 },
            {  10287,   988, -1915, -1437 },
            {   7953,  3878,  -764, -3263 },
            {  12689, -3375, -3354,  2079 },
            {   6641,  3166,   231, -2089 },
            {  -2348, -7354, -1944, -4122 },
            {   9290, -4039,  1885,  -246 },
            {   4633, -6403,  1748, -1619 },
            {  11247, -4125,   802,    61 },
            {   9807, -2284,   219,   222 },
            {   9736, -1536,  -706,   473 },
            {   8440, -3436,  1562,  -176 },
            {   9307, -1021,  -835,   509 },
            {   1698, -9025,   688, -3037 },
            {  10214, -2791,   368,   179 },
            {   8390,  3248,  -758, -2989 },
            {   7201,  3316,    46, -2614 },
            {    -88, -7809,  -538, -4571 },
            {   6193, -5189,  2760, -1245 },
            {  12325, -1290, -3284,   253 },
            {  13064, -4075, -2824,  1877 },
            {   5333,  2999,   775, -1132 },
        };

the ADPCM samples can then be decoded into PCM using the following code (C#)
Quote
public static byte[] DecodePCM()
        {
            int Hist = 0;
            int Hist2 = 0;
            int Hist3 = 0;
            int Hist4 = 0;

            int FileSize = GetWaveformDataSize() - 0x40;

            BinaryReader VagReader = new BinaryReader(VagStream);

            MemoryStream PCMStream = new MemoryStream();
            BinaryWriter PCMWriter = new BinaryWriter(PCMStream);
           
            VagStream.Seek(0x40, SeekOrigin.Begin);
 
            while (VagStream.Position < FileSize)
            {       
                byte DecodingCoefficent = VagReader.ReadByte();
                int ShiftBy = DecodingCoefficent & 0xf;
                int PredictNr = DecodingCoefficent >> 0x4;
                byte LoopData = VagReader.ReadByte();
                PredictNr |= LoopData & 0xF0;
                int LoopFlag = LoopData & 0xf;
                if (LoopFlag == 0x7)
                {
                    VagStream.Seek(14, SeekOrigin.Current);
                    Hist = 0;
                    Hist2 = 0;
                    Hist3 = 0;
                    Hist4 = 0;
                }
                else
                {

                    for (int i = 0; i < 14; i++)
                    {
                        byte ADPCMData = VagReader.ReadByte();
                        int SampleFlags = ADPCMData & 0xF;
                        int Coefficent;
                        short Sample;
                       
                        for(int ii = 0; ii <= 1; ii++)
                        {
                            if (SampleFlags > 7)
                            {
                                SampleFlags -= 16;
                            }

                            if (PredictNr < 128)
                            {
                                Coefficent = Hist * HEVAGCoeffTable[PredictNr, 0] + Hist2 * HEVAGCoeffTable[PredictNr, 1] + Hist3 * HEVAGCoeffTable[PredictNr, 2] + Hist4 * HEVAGCoeffTable[PredictNr, 3];
                            }
                            else
                            {
                                Coefficent = 0;
                            }

                            Sample = (short)(Coefficent / 32 + (SampleFlags << 20 - ShiftBy) + 128 >> 8 ) ;

                            PCMWriter.Write(Sample);


                            Hist4 = Hist3;
                            Hist3 = Hist2;
                            Hist2 = Hist;
                            Hist = Sample;

                            SampleFlags = ADPCMData >> 4;
                        }
                    }
                }
            }
           
       }


full "vag.cs" for reference: https://bitbucket.org/SilicaAndPina/cxml-decompiler/src/master/AppInfoCli/VAG.cs

Pages: 1 [2]