mirror of
https://github.com/shadergz/cosmic-station.git
synced 2024-11-27 00:00:21 +00:00
Creeper
: The MPEG
decoder returns 1 upon completion, not 0
This commit is contained in:
parent
18cab712ba
commit
373745c2f8
@ -147,7 +147,7 @@ namespace cosmic::creeper {
|
|||||||
cpu->chPc(jumpAddress);
|
cpu->chPc(jumpAddress);
|
||||||
cpu->delaySlot = 1;
|
cpu->delaySlot = 1;
|
||||||
|
|
||||||
// https://github.com/PSI-Rockin/DobieStation/blob/68dd073e751960fd01c839ac34ce6e056d70024a/src/core/ee/emotion.cpp#L591
|
// https://github.com/PSI-Rockin/DobieStation/blob/master/src/core/ee/emotion.cpp#L591
|
||||||
// https://forums.pcsx2.net/Thread-Patch-Making-For-Dummies-SceMpegIsEnd
|
// https://forums.pcsx2.net/Thread-Patch-Making-For-Dummies-SceMpegIsEnd
|
||||||
// jr $ra = 0x03e00008;
|
// jr $ra = 0x03e00008;
|
||||||
[[likely]] if (cpu->mipsRead<u32>(*cpu->eePc + 4) != 0x03e00008) {
|
[[likely]] if (cpu->mipsRead<u32>(*cpu->eePc + 4) != 0x03e00008) {
|
||||||
@ -166,13 +166,13 @@ namespace cosmic::creeper {
|
|||||||
return;
|
return;
|
||||||
cpu->isABranch = {};
|
cpu->isABranch = {};
|
||||||
cpu->delaySlot = {};
|
cpu->delaySlot = {};
|
||||||
cpu->GPRs[engine::$v0].qw = {};
|
cpu->GPRs[engine::$v0].qw = {1};
|
||||||
}
|
}
|
||||||
void MipsIvInterpreter::addi(Operands ops) {
|
void MipsIvInterpreter::addi(Operands ops) {
|
||||||
doReg(ops.rt) = ops.pa16[0] + doReg(ops.rs);
|
doReg(ops.rt) = ops.pa16[0] + doReg(ops.rs);
|
||||||
}
|
}
|
||||||
void MipsIvInterpreter::lui(Operands ops) {
|
void MipsIvInterpreter::lui(Operands ops) {
|
||||||
do64Reg(ops.rt) = static_cast<u64>((ops.sins & 0xffff) << 16);
|
do64Reg(ops.rt) = static_cast<u64>(signedGetOffset(ops) << 16);
|
||||||
}
|
}
|
||||||
|
|
||||||
void MipsIvInterpreter::slti(Operands ops) {
|
void MipsIvInterpreter::slti(Operands ops) {
|
||||||
|
@ -13,7 +13,7 @@ namespace cosmic::fishron {
|
|||||||
Arm64Scaled{Str, 0xb8000fe0}, // str w0, [sp, #-4]!
|
Arm64Scaled{Str, 0xb8000fe0}, // str w0, [sp, #-4]!
|
||||||
Arm64Scaled{Stp, 0x29000000} // stp w0, w1, [sp, #-8]!
|
Arm64Scaled{Stp, 0x29000000} // stp w0, w1, [sp, #-8]!
|
||||||
};
|
};
|
||||||
std::array<const char*, 2> emitterFormats {
|
std::array<std::string, 2> emitterFormats {
|
||||||
"str w%u, [sp, #03u]!",
|
"str w%u, [sp, #03u]!",
|
||||||
"stp w%u, w%u, [sp, #3u]!"
|
"stp w%u, w%u, [sp, #3u]!"
|
||||||
};
|
};
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#include <common/global.h>
|
#include <common/global.h>
|
||||||
#include <mio/dma_ctrl.h>
|
#include <mio/dma_ctrl.h>
|
||||||
namespace cosmic::mio {
|
namespace cosmic::mio {
|
||||||
static const std::array<const char*, 10> channelsName{
|
static const std::array<std::string, 10> channelsName{
|
||||||
"Vif0", "Vif1", "Gif", "IpuFrom", "IpuTo",
|
"Vif0", "Vif1", "Gif", "IpuFrom", "IpuTo",
|
||||||
"Sif0", "Sif1", "Sif2", "SprFrom", "SprTo"
|
"Sif0", "Sif1", "Sif2", "SprFrom", "SprTo"
|
||||||
};
|
};
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
#include <vm/emu_vm.h>
|
#include <vm/emu_vm.h>
|
||||||
#include <console/backdoor.h>
|
#include <console/backdoor.h>
|
||||||
#include <common/global.h>
|
#include <common/global.h>
|
||||||
#include "cosmic/creeper/vector_codes.h"
|
#include <cosmic/creeper/vector_codes.h>
|
||||||
namespace cosmic::vu {
|
namespace cosmic::vu {
|
||||||
VuIntPipeline::VuIntPipeline() {
|
VuIntPipeline::VuIntPipeline() {
|
||||||
pipeline[0].clearEntry();
|
pipeline[0].clearEntry();
|
||||||
|
Loading…
Reference in New Issue
Block a user