diff --git a/Source/Project64-core/N64System/Interpreter/InterpreterCPU.cpp b/Source/Project64-core/N64System/Interpreter/InterpreterCPU.cpp index 6c18014f4..42211f46d 100644 --- a/Source/Project64-core/N64System/Interpreter/InterpreterCPU.cpp +++ b/Source/Project64-core/N64System/Interpreter/InterpreterCPU.cpp @@ -287,7 +287,7 @@ void CInterpreterCPU::ExecuteCPU() continue; } - if (CDebugSettings::HaveDebugger()) + if (HaveDebugger()) { if (HaveExecutionBP() && g_Debugger->ExecutionBP(PROGRAM_COUNTER)) { diff --git a/Source/Project64-core/N64System/Mips/Audio.h b/Source/Project64-core/N64System/Mips/Audio.h index 20977d270..507575ec5 100644 --- a/Source/Project64-core/N64System/Mips/Audio.h +++ b/Source/Project64-core/N64System/Mips/Audio.h @@ -11,22 +11,22 @@ public: CAudio(); ~CAudio(); - uint32_t GetLength (); - uint32_t GetStatus (); - void LenChanged (); + uint32_t GetLength(); + uint32_t GetStatus(); + void LenChanged(); void InterruptTimerDone(); - void BusyTimerDone (); - void Reset (); - void SetViIntr ( uint32_t VI_INTR_TIME ); - void SetFrequency ( uint32_t Dacrate, uint32_t System ); + void BusyTimerDone(); + void Reset(); + void SetViIntr(uint32_t VI_INTR_TIME); + void SetFrequency(uint32_t Dacrate, uint32_t System); private: CAudio(const CAudio&); CAudio& operator=(const CAudio&); - uint32_t m_SecondBuff; - uint32_t m_Status; - uint32_t m_BytesPerSecond; - int32_t m_CountsPerByte; - int32_t m_FramesPerSecond; + uint32_t m_SecondBuff; + uint32_t m_Status; + uint32_t m_BytesPerSecond; + int32_t m_CountsPerByte; + int32_t m_FramesPerSecond; }; diff --git a/Source/Project64-core/N64System/Mips/Dma.cpp b/Source/Project64-core/N64System/Mips/Dma.cpp index c360ce998..8b764af0d 100644 --- a/Source/Project64-core/N64System/Mips/Dma.cpp +++ b/Source/Project64-core/N64System/Mips/Dma.cpp @@ -50,7 +50,7 @@ void CDMA::PI_DMA_READ() g_Debugger->PIDMAReadStarted(); } - // PI_STATUS_REG |= PI_STATUS_DMA_BUSY; + // PI_STATUS_REG |= PI_STATUS_DMA_BUSY; uint32_t PI_RD_LEN_REG = ((g_Reg->PI_RD_LEN_REG) & 0x00FFFFFFul) + 1; if ((PI_RD_LEN_REG & 1) != 0) diff --git a/Source/Project64-core/N64System/Mips/MemoryVirtualMem.h b/Source/Project64-core/N64System/Mips/MemoryVirtualMem.h index 65607408e..b307af49d 100644 --- a/Source/Project64-core/N64System/Mips/MemoryVirtualMem.h +++ b/Source/Project64-core/N64System/Mips/MemoryVirtualMem.h @@ -51,11 +51,11 @@ public: static void ReserveMemory(); static void FreeReservedMemory(); - bool Initialize(bool SyncSystem); - void Reset(bool EraseMemory); + bool Initialize(bool SyncSystem); + void Reset(bool EraseMemory); uint8_t * Rdram(); - uint32_t RdramSize(); + uint32_t RdramSize(); uint8_t * Dmem(); uint8_t * Imem(); uint8_t * PifRam(); @@ -63,36 +63,37 @@ public: CSram * GetSram(); CFlashram * GetFlashram(); - bool LB_VAddr(uint32_t VAddr, uint8_t & Value); - bool LH_VAddr(uint32_t VAddr, uint16_t & Value); - bool LW_VAddr(uint32_t VAddr, uint32_t & Value); - bool LD_VAddr(uint32_t VAddr, uint64_t & Value); + bool LB_VAddr(uint32_t VAddr, uint8_t & Value); + bool LH_VAddr(uint32_t VAddr, uint16_t & Value); + bool LW_VAddr(uint32_t VAddr, uint32_t & Value); + bool LD_VAddr(uint32_t VAddr, uint64_t & Value); - bool LB_PAddr(uint32_t PAddr, uint8_t & Value); - bool LH_PAddr(uint32_t PAddr, uint16_t & Value); - bool LW_PAddr(uint32_t PAddr, uint32_t & Value); - bool LD_PAddr(uint32_t PAddr, uint64_t & Value); + bool LB_PAddr(uint32_t PAddr, uint8_t & Value); + bool LH_PAddr(uint32_t PAddr, uint16_t & Value); + bool LW_PAddr(uint32_t PAddr, uint32_t & Value); + bool LD_PAddr(uint32_t PAddr, uint64_t & Value); - bool SB_VAddr(uint32_t VAddr, uint8_t Value); - bool SH_VAddr(uint32_t VAddr, uint16_t Value); - bool SW_VAddr(uint32_t VAddr, uint32_t Value); - bool SD_VAddr(uint32_t VAddr, uint64_t Value); + bool SB_VAddr(uint32_t VAddr, uint8_t Value); + bool SH_VAddr(uint32_t VAddr, uint16_t Value); + bool SW_VAddr(uint32_t VAddr, uint32_t Value); + bool SD_VAddr(uint32_t VAddr, uint64_t Value); - bool SB_PAddr(uint32_t PAddr, uint8_t Value); - bool SH_PAddr(uint32_t PAddr, uint16_t Value); - bool SW_PAddr(uint32_t PAddr, uint32_t Value); - bool SD_PAddr(uint32_t PAddr, uint64_t Value); + bool SB_PAddr(uint32_t PAddr, uint8_t Value); + bool SH_PAddr(uint32_t PAddr, uint16_t Value); + bool SW_PAddr(uint32_t PAddr, uint32_t Value); + bool SD_PAddr(uint32_t PAddr, uint64_t Value); int32_t MemoryFilter(uint32_t dwExptCode, void * lpExceptionPointer); - void UpdateFieldSerration(uint32_t interlaced); + void UpdateFieldSerration(uint32_t interlaced); + #ifndef _WIN32 static bool SetupSegvHandler(void); static void segv_handler(int signal, siginfo_t *siginfo, void *sigcontext); #endif // Protect the memory from being written to - void ProtectMemory(uint32_t StartVaddr, uint32_t EndVaddr); - void UnProtectMemory(uint32_t StartVaddr, uint32_t EndVaddr); + void ProtectMemory(uint32_t StartVaddr, uint32_t EndVaddr); + void UnProtectMemory(uint32_t StartVaddr, uint32_t EndVaddr); // Functions for TLB notification void TLB_Mapped(uint32_t VAddr, uint32_t Len, uint32_t PAddr, bool bReadOnly); @@ -180,36 +181,25 @@ private: static void DumpArmExceptionInfo(uint32_t MemAddress, mcontext_t & context); static bool FilterArmException(uint32_t MemAddress, mcontext_t & context); #endif - - // Memory locations - static uint8_t * m_Reserve1, *m_Reserve2; - uint8_t * m_RDRAM, *m_DMEM, *m_IMEM; - uint32_t m_AllocatedRdramSize; - - // ROM information - bool m_RomMapped; - uint8_t * m_Rom; - uint32_t m_RomSize; - bool m_RomWrittenTo; - uint32_t m_RomWroteValue; - - // DDRom information - bool m_DDRomMapped; - uint8_t * m_DDRom; - uint32_t m_DDRomSize; - - //Current half line void UpdateHalfLine(); - uint32_t m_HalfLine; - uint32_t m_HalfLineCheck; - uint32_t m_FieldSerration; - - // Initializing and resetting information about the memory system void FreeMemory(); - mutable char m_strLabelName[100]; + static uint8_t * m_Reserve1, *m_Reserve2; + uint8_t * m_RDRAM, *m_DMEM, *m_IMEM; + uint32_t m_AllocatedRdramSize; + bool m_RomMapped; + uint8_t * m_Rom; + uint32_t m_RomSize; + bool m_RomWrittenTo; + uint32_t m_RomWroteValue; + bool m_DDRomMapped; + uint8_t * m_DDRom; + uint32_t m_DDRomSize; + uint32_t m_HalfLine; + uint32_t m_HalfLineCheck; + uint32_t m_FieldSerration; - // Big look up table to quickly translate the TLB to real memory addresses + mutable char m_strLabelName[100]; size_t * m_TLB_ReadMap; size_t * m_TLB_WriteMap; diff --git a/Source/Project64-core/N64System/Mips/Register.h b/Source/Project64-core/N64System/Mips/Register.h index b5591b0a5..c566e7bdd 100644 --- a/Source/Project64-core/N64System/Mips/Register.h +++ b/Source/Project64-core/N64System/Mips/Register.h @@ -586,36 +586,6 @@ class CRegisters : public: CRegisters(CN64System * System, CSystemEvents * SystemEvents); - // General registers - uint32_t m_PROGRAM_COUNTER; - MIPS_DWORD m_GPR[32]; - uint32_t m_CP0[33]; - MIPS_DWORD m_HI; - MIPS_DWORD m_LO; - uint32_t m_LLBit; - - // Floating point registers/information - uint32_t m_FPCR[32]; - int32_t m_RoundingModel; - MIPS_DWORD m_FPR[32]; - float * m_FPR_S[32]; - double * m_FPR_D[32]; - - // Memory-mapped N64 registers - uint32_t m_RDRAM_Registers[10]; - uint32_t m_SigProcessor_Interface[10]; - uint32_t m_Display_ControlReg[10]; - uint32_t m_Mips_Interface[4]; - uint32_t m_Video_Interface[14]; - uint32_t m_Audio_Interface[6]; - uint32_t m_Peripheral_Interface[13]; - uint32_t m_RDRAM_Interface[8]; - uint32_t m_SerialInterface[4]; - uint32_t m_DiskInterface[22]; - uint32_t m_AudioIntrReg; - uint32_t m_GfxIntrReg; - uint32_t m_RspIntrReg; - void CheckInterrupts(); void DoAddressError( bool DelaySlot, uint32_t BadVaddr, bool FromRead ); void DoBreakException( bool DelaySlot ); @@ -629,6 +599,36 @@ public: void Reset(); void SetAsCurrentSystem(); + // General registers + uint32_t m_PROGRAM_COUNTER; + MIPS_DWORD m_GPR[32]; + uint32_t m_CP0[33]; + MIPS_DWORD m_HI; + MIPS_DWORD m_LO; + uint32_t m_LLBit; + + // Floating point registers/information + uint32_t m_FPCR[32]; + int32_t m_RoundingModel; + MIPS_DWORD m_FPR[32]; + float * m_FPR_S[32]; + double * m_FPR_D[32]; + + // Memory-mapped N64 registers + uint32_t m_RDRAM_Registers[10]; + uint32_t m_SigProcessor_Interface[10]; + uint32_t m_Display_ControlReg[10]; + uint32_t m_Mips_Interface[4]; + uint32_t m_Video_Interface[14]; + uint32_t m_Audio_Interface[6]; + uint32_t m_Peripheral_Interface[13]; + uint32_t m_RDRAM_Interface[8]; + uint32_t m_SerialInterface[4]; + uint32_t m_DiskInterface[22]; + uint32_t m_AudioIntrReg; + uint32_t m_GfxIntrReg; + uint32_t m_RspIntrReg; + private: CRegisters(); CRegisters(const CRegisters&);