mirror of
https://github.com/dingusdev/dingusppc.git
synced 2025-08-05 02:24:41 +00:00
More fixes
Co-Authored-By: joevt <950609+joevt@users.noreply.github.com>
This commit is contained in:
@@ -1,3 +1,6 @@
|
||||
#include "ppcopmacros.h"
|
||||
#include "ppcemu.h"
|
||||
|
||||
POWEROPCODEOVREC (abs,
|
||||
uint32_t ppc_result_d;
|
||||
ppc_grab_regsda(instr);
|
||||
|
@@ -1,3 +1,6 @@
|
||||
#include "ppcopmacros.h"
|
||||
#include "ppcemu.h"
|
||||
|
||||
// Floating Point Arithmetic
|
||||
OPCODEREC (fadd,
|
||||
ppc_grab_regsfpdab(instr);
|
||||
|
@@ -1,9 +1,14 @@
|
||||
#include "ppcopmacros.h"
|
||||
#include "ppcemu.h"
|
||||
|
||||
OPCODESHIFT (addi,
|
||||
ppc_grab_regsdasimm(instr);
|
||||
if (shift)
|
||||
if (shift){
|
||||
ppc_state.gpr[reg_d] = (reg_a == 0) ? (simm << 16) : (ppc_result_a + (simm << 16));
|
||||
else
|
||||
}
|
||||
else{
|
||||
ppc_state.gpr[reg_d] = (reg_a == 0) ? simm : (ppc_result_a + simm);
|
||||
}
|
||||
)
|
||||
|
||||
OPCODEREC (addic,
|
||||
|
@@ -51,10 +51,10 @@ along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
void dppc_interpreter::ppc_##op(uint32_t instr) { \
|
||||
__VA_ARGS__ \
|
||||
} \
|
||||
template void dppc_interpreter::ppc_##op<SHFT0, RC0>(uint32_t instr); \
|
||||
template void dppc_interpreter::ppc_##op<SHFT1, RC0>(uint32_t instr); \
|
||||
template void dppc_interpreter::ppc_##op<SHFT0, RC1>(uint32_t instr); \
|
||||
template void dppc_interpreter::ppc_##op<SHFT1, RC1>(uint32_t instr);
|
||||
template void dppc_interpreter::ppc_##op<RIGHT0, RC0>(uint32_t instr); \
|
||||
template void dppc_interpreter::ppc_##op<LEFT1, RC0>(uint32_t instr); \
|
||||
template void dppc_interpreter::ppc_##op<RIGHT0, RC1>(uint32_t instr); \
|
||||
template void dppc_interpreter::ppc_##op<LEFT1, RC1>(uint32_t instr);
|
||||
|
||||
#undef OPCODECARRY
|
||||
#define OPCODECARRY(op, ...) \
|
||||
|
Reference in New Issue
Block a user