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

Pages: [1]
1
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~

2
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

3
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

4
Reverse Engineering / Re: #ChovyProject - Road to PS1 support
« on: November 09, 2019, 06:12:47 AM »
don't forget that on PS1- they dont just hand us the title and icon informaion you need to get it from somewhere ...

*Maybe scrape from renascene.com giving fake referer header?*

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

From Common_Resource.rco

6
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

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

8
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

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













10
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]