示例#1
0
        public virtual int sceSdGetLastIndex(TPointer ctx2Addr, TPointer8 hash, TPointer8 key)
        {
            SAVEDATA.SD_Ctx1 ctx = new SAVEDATA.SD_Ctx1();
            ctx.read(ctx2Addr);

            sbyte[] hashBytes = new sbyte[16];

            sbyte[] keyBytes;
            if (key.Null)
            {
                keyBytes = null;
            }
            else
            {
                keyBytes = new sbyte[16];
                Utilities.readBytes(key.Address, keyBytes.Length, keyBytes, 0);
            }

            int result = crypto.SAVEDATAEngine.hleSdGetLastIndex(ctx, hashBytes, keyBytes);

            Utilities.writeBytes(hash.Address, hashBytes.Length, hashBytes, 0);

            ctx.write(ctx2Addr);

            return(result);
        }
示例#2
0
        public virtual int sceCodepage_driver_907CBFD2(TPointer8 destAddr, int destLength, TPointer16 srcAddr)
        {
            int result = destLength;

            sbyte[] bytes = new sbyte[2];
            for (int i = 0, j = 0; j < destLength; i += 2, j++)
            {
                int char16 = srcAddr.getValue(i);
                if (char16 == 0)
                {
                    result = j;
                    break;
                }

                bytes[0] = (sbyte)char16;
                bytes[1] = (sbyte)(char16 >> 8);
                sbyte char8 = (sbyte)(StringHelper.NewString(bytes, charset16))[0];

                destAddr.setValue(j, char8);
            }

            if (result < destLength)
            {
                // Add trailing '\0'
                destAddr.setValue(result, (sbyte)0);
            }

            return(result);
        }
示例#3
0
        public virtual int sceNetAttachIfhandleEther(TPointer handleAddr, TPointer8 macAddress, PspString interfaceName)
        {
            pspNetMacAddress netMacAddress = new pspNetMacAddress();

            netMacAddress.read(macAddress);

            return(hleNetAttachIfhandleEther(handleAddr, netMacAddress, interfaceName.String));
        }
示例#4
0
        public virtual int sceNetIfhandle_driver_C5623112(TPointer handleAddr, TPointer8 macAddress)
        {
            SceNetIfHandle handle = new SceNetIfHandle();

            handle.read(handleAddr);
            handle.handleInternal.macAddress.write(macAddress);

            return(0);
        }
示例#5
0
        public virtual int sceChkregGetPsCode(TPointer8 psCode)
        {
            psCode.setValue(0, 1);
            psCode.setValue(1, 0);
            psCode.setValue(2, PS_CODE_EUROPE);
            psCode.setValue(3, 0);
            psCode.setValue(4, 1);
            psCode.setValue(5, 0);
            psCode.setValue(6, 1);
            psCode.setValue(7, 0);

            return(0);
        }
示例#6
0
        public virtual int sceSdSetMember(TPointer ctx2Addr, TPointer8 data, int dataLength)
        {
            SAVEDATA.SD_Ctx2 ctx = new SAVEDATA.SD_Ctx2();
            ctx.read(ctx2Addr);

            sbyte[] dataBytes = new sbyte[dataLength];
            Utilities.readBytes(data.Address, dataLength, dataBytes, 0);

            int result = crypto.SAVEDATAEngine.hleSdSetMember(ctx, dataBytes, dataLength);

            Utilities.writeBytes(data.Address, dataBytes.Length, dataBytes, 0);

            ctx.write(ctx2Addr);

            return(result);
        }
示例#7
0
 public virtual int sceNpCommerce2_C27FEAB1(TPointer unknown1, int httpRequestId, int unknown3, TPointer8 unknown4, TPointer unknown5, int unknown6)
 {
     return(0);
 }
示例#8
0
        public virtual int sceChkreg_driver_6894A027(TPointer8 unknown1, int unknown2)
        {
            unknown1.Value = ValueReturnedBy6894A027;

            return(0);
        }
示例#9
0
 public virtual int sceAtaExecPacketCmd(TPointer driveStructure, int unknown1, int unknown2, int unknown3, int unknown4, int operationCode, TPointer8 unknown5)
 {
     return(0);
 }
示例#10
0
 public virtual int sceHttpStorage_04EF00F8(TPointer8 psCode)
 {
     return(Modules.sceChkregModule.sceChkregGetPsCode(psCode));
 }
示例#11
0
 public virtual int sceUsbstormlnNotifyResponse(int unknown1, TPointer8 unknown2)
 {
     return(0);
 }
示例#12
0
 public virtual bool sceCodepage_driver_014E0C72(TPointer8 srcAddr)
 {
     return(false);
 }
示例#13
0
        public virtual int sceSdCreateList(TPointer ctx2Addr, int encMode, int genMode, TPointer8 data, TPointer8 key)
        {
            SAVEDATA.SD_Ctx2 ctx = new SAVEDATA.SD_Ctx2();
            ctx.read(ctx2Addr);

            sbyte[] dataBytes;
            if (data.Null)
            {
                dataBytes = null;
            }
            else
            {
                dataBytes = new sbyte[16];
                Utilities.readBytes(data.Address, dataBytes.Length, dataBytes, 0);
            }

            sbyte[] keyBytes;
            if (key.Null)
            {
                keyBytes = null;
            }
            else
            {
                keyBytes = new sbyte[16];
                Utilities.readBytes(key.Address, keyBytes.Length, keyBytes, 0);
            }

            int result = crypto.SAVEDATAEngine.hleSdCreateList(ctx, encMode, genMode, dataBytes, keyBytes);

            if (dataBytes != null)
            {
                Utilities.writeBytes(data.Address, dataBytes.Length, dataBytes, 0);
            }
            if (keyBytes != null)
            {
                Utilities.writeBytes(key.Address, keyBytes.Length, keyBytes, 0);
            }

            ctx.write(ctx2Addr);

            return(result);
        }