diff --git a/rpcs3/Emu/Cell/SPUThread.h b/rpcs3/Emu/Cell/SPUThread.h index 0ab76b025c..bf2b0d4a6a 100644 --- a/rpcs3/Emu/Cell/SPUThread.h +++ b/rpcs3/Emu/Cell/SPUThread.h @@ -636,7 +636,7 @@ public: static const u32 id_base = 0x02000000; // TODO (used to determine thread type) static const u32 id_step = 1; - static const u32 id_count = (0xF0000000 - SPU_FAKE_BASE_ADDR) / SPU_LS_SIZE; + static const u32 id_count = (0xFFFC0000 - SPU_FAKE_BASE_ADDR) / SPU_LS_SIZE; spu_thread(lv2_spu_group* group, u32 index, std::string_view name, u32 lv2_id, bool is_isolated = false, u32 option = 0); diff --git a/rpcs3/Emu/Cell/lv2/sys_spu.h b/rpcs3/Emu/Cell/lv2/sys_spu.h index 389608df25..1e48d986fe 100644 --- a/rpcs3/Emu/Cell/lv2/sys_spu.h +++ b/rpcs3/Emu/Cell/lv2/sys_spu.h @@ -262,6 +262,8 @@ struct lv2_spu_group static const u32 id_count = 255; static constexpr std::pair id_invl_range = {0, 8}; + static_assert(spu_thread::id_count == id_count * 6 + 5); + const std::string name; const u32 id; const u32 max_num;