From c1ffaa9e1f82fefcbadfa9c0b2ccb46718e609cd Mon Sep 17 00:00:00 2001 From: Ced2911 Date: Wed, 31 Jul 2013 17:40:10 +0200 Subject: [PATCH] endian for sceChnnlsv --- Core/HLE/sceChnnlsv.cpp | 10 +++++++--- Core/HLE/sceChnnlsv.h | 8 ++++---- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/Core/HLE/sceChnnlsv.cpp b/Core/HLE/sceChnnlsv.cpp index 25d96d613a..10f3544a17 100644 --- a/Core/HLE/sceChnnlsv.cpp +++ b/Core/HLE/sceChnnlsv.cpp @@ -491,7 +491,9 @@ int sceSdSetMember_(pspChnnlsvContext2& ctx, u8* data, int alignedLen) { for(i = 0; alignedLen >= 2048; i += 2048) { - int res = sub_0000(kirkData, data + i, 2048, ctx.cryptedData, ctx.unkn, ctx.mode); + int ctx_unkn = ctx.unkn; + int res = sub_0000(kirkData, data + i, 2048, ctx.cryptedData, ctx_unkn, ctx.mode); + ctx.unkn = ctx_unkn; alignedLen -= 2048; if (res) return res; @@ -501,8 +503,10 @@ int sceSdSetMember_(pspChnnlsvContext2& ctx, u8* data, int alignedLen) { return 0; } - - return sub_0000(kirkData, data + i, alignedLen, ctx.cryptedData, ctx.unkn, ctx.mode); + int ctx_unkn = ctx.unkn; + int res = sub_0000(kirkData, data + i, alignedLen, ctx.cryptedData, ctx_unkn, ctx.mode); + ctx.unkn = ctx_unkn; + return res; } int sceChnnlsv_21BE78B4(u32 ctxAddr) diff --git a/Core/HLE/sceChnnlsv.h b/Core/HLE/sceChnnlsv.h index df7604735f..144637b729 100644 --- a/Core/HLE/sceChnnlsv.h +++ b/Core/HLE/sceChnnlsv.h @@ -19,18 +19,18 @@ typedef struct _pspChnnlsvContext1 { /** Cipher mode */ - int mode; + s32_le mode; /** Context data */ u8 result[0x10]; u8 key[0x10]; - int keyLength; + s32_le keyLength; } pspChnnlsvContext1; typedef struct _pspChnnlsvContext2 { /** Context data */ - int mode; - int unkn; + s32_le mode; + s32_le unkn; u8 cryptedData[0x92]; } pspChnnlsvContext2;