mirror of
https://github.com/wheremyfoodat/Panda3DS.git
synced 2025-04-17 19:21:30 +12:00
Stuffs
This commit is contained in:
parent
f2ab7a0370
commit
23a6ef447f
3 changed files with 11 additions and 5 deletions
|
@ -61,6 +61,7 @@ namespace FPSCR {
|
||||||
RoundToZero = 3 << 22,
|
RoundToZero = 3 << 22,
|
||||||
|
|
||||||
// Default FPSCR value for threads
|
// Default FPSCR value for threads
|
||||||
ThreadDefault = DefaultNan | FlushToZero | RoundToZero | IXC
|
ThreadDefault = DefaultNan | FlushToZero | RoundToZero,
|
||||||
|
MainThreadDefault = ThreadDefault | IXC;
|
||||||
};
|
};
|
||||||
}
|
}
|
|
@ -9,7 +9,7 @@ CPU::CPU(Memory& mem, Kernel& kernel) : mem(mem), env(mem, kernel, *this) {
|
||||||
config.arch_version = Dynarmic::A32::ArchVersion::v6K;
|
config.arch_version = Dynarmic::A32::ArchVersion::v6K;
|
||||||
config.callbacks = &env;
|
config.callbacks = &env;
|
||||||
config.coprocessors[15] = cp15;
|
config.coprocessors[15] = cp15;
|
||||||
// config.define_unpredictable_behaviour = true;
|
config.define_unpredictable_behaviour = true;
|
||||||
config.global_monitor = &exclusiveMonitor;
|
config.global_monitor = &exclusiveMonitor;
|
||||||
config.processor_id = 0;
|
config.processor_id = 0;
|
||||||
|
|
||||||
|
@ -18,7 +18,7 @@ CPU::CPU(Memory& mem, Kernel& kernel) : mem(mem), env(mem, kernel, *this) {
|
||||||
|
|
||||||
void CPU::reset() {
|
void CPU::reset() {
|
||||||
setCPSR(CPSR::UserMode);
|
setCPSR(CPSR::UserMode);
|
||||||
setFPSCR(FPSCR::ThreadDefault);
|
setFPSCR(FPSCR::MainThreadDefault);
|
||||||
env.totalTicks = 0;
|
env.totalTicks = 0;
|
||||||
|
|
||||||
cp15->reset();
|
cp15->reset();
|
||||||
|
|
|
@ -4,9 +4,14 @@
|
||||||
using namespace Floats;
|
using namespace Floats;
|
||||||
|
|
||||||
u32 GPU::readReg(u32 address) {
|
u32 GPU::readReg(u32 address) {
|
||||||
log("Ignoring read from GPU register %08X\n", address);
|
if (address >= 0x1EF01000 && address < 0x1EF01C00) { // Internal registers
|
||||||
|
const u32 index = (address - 0x1EF01000) / sizeof(u32);
|
||||||
|
return readInternalReg(index);
|
||||||
|
} else {
|
||||||
|
log("Ignoring read to external GPU register %08X.\n", address);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void GPU::writeReg(u32 address, u32 value) {
|
void GPU::writeReg(u32 address, u32 value) {
|
||||||
if (address >= 0x1EF01000 && address < 0x1EF01C00) { // Internal registers
|
if (address >= 0x1EF01000 && address < 0x1EF01C00) { // Internal registers
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue