From fad9cd6ef17dc1c16989e6fa43ed6e23b7d9aecc Mon Sep 17 00:00:00 2001 From: eladash Date: Fri, 23 Mar 2018 15:59:43 +0300 Subject: [PATCH] sys_spu: fix spu image loading address calculation by calculating mem_size after nsegs has being calculated --- rpcs3/Emu/Cell/lv2/sys_spu.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rpcs3/Emu/Cell/lv2/sys_spu.cpp b/rpcs3/Emu/Cell/lv2/sys_spu.cpp index 9c34d414f3..9a39271a1e 100644 --- a/rpcs3/Emu/Cell/lv2/sys_spu.cpp +++ b/rpcs3/Emu/Cell/lv2/sys_spu.cpp @@ -43,11 +43,11 @@ void sys_spu_image::load(const fs::file& stream) } } - const u32 mem_size = nsegs * sizeof(sys_spu_segment) + ::size32(stream); - type = SYS_SPU_IMAGE_TYPE_KERNEL; entry_point = obj.header.e_entry; nsegs = sys_spu_image::get_nsegs(obj.progs); + + const u32 mem_size = nsegs * sizeof(sys_spu_segment) + ::size32(stream); segs = vm::cast(vm::alloc(mem_size, vm::main)); const u32 src = segs.addr() + nsegs * sizeof(sys_spu_segment);