project64/Source/Project64-core/Settings/LoggingSettings.h

88 lines
3.9 KiB
C++

/****************************************************************************
* *
* Project 64 - A Nintendo 64 emulator. *
* http://www.pj64-emu.com/ *
* Copyright (C) 2012 Project64. All rights reserved. *
* *
* License: *
* GNU/GPLv2 http://www.gnu.org/licenses/gpl-2.0.html *
* *
****************************************************************************/
#pragma once
class CLogSettings
{
public:
CLogSettings();
virtual ~CLogSettings();
inline static bool GenerateLog ( void ) { return m_GenerateLog; }
/* Registers Log */
inline static bool LogRDRamRegisters ( void ) { return m_LogRDRamRegisters; }
inline static bool LogSPRegisters ( void ) { return m_LogSPRegisters; }
inline static bool LogDPCRegisters ( void ) { return m_LogDPCRegisters; }
inline static bool LogDPSRegisters ( void ) { return m_LogDPSRegisters; }
inline static bool LogMIPSInterface ( void ) { return m_LogMIPSInterface; }
inline static bool LogVideoInterface ( void ) { return m_LogVideoInterface; }
inline static bool LogAudioInterface ( void ) { return m_LogAudioInterface; }
inline static bool LogPerInterface ( void ) { return m_LogPerInterface; }
inline static bool LogRDRAMInterface ( void ) { return m_LogRDRAMInterface; }
inline static bool LogSerialInterface ( void ) { return m_LogSerialInterface; }
/* Pif Ram Log */
inline static bool LogPRDMAOperations ( void ) { return m_LogPRDMAOperations; }
inline static bool LogPRDirectMemLoads ( void ) { return m_LogPRDirectMemLoads; }
inline static bool LogPRDMAMemLoads ( void ) { return m_LogPRDMAMemLoads; }
inline static bool LogPRDirectMemStores ( void ) { return m_LogPRDirectMemStores; }
inline static bool LogPRDMAMemStores ( void ) { return m_LogPRDMAMemStores; }
inline static bool LogControllerPak ( void ) { return m_LogControllerPak; }
/* Special Log */
inline static bool LogCP0changes ( void ) { return m_LogCP0changes; }
inline static bool LogCP0reads ( void ) { return m_LogCP0reads; }
inline static bool LogTLB ( void ) { return m_LogTLB; }
inline static bool LogExceptions ( void ) { return m_LogExceptions; }
inline static bool LogNoInterrupts ( void ) { return m_NoInterrupts; }
inline static bool LogCache ( void ) { return m_LogCache; }
inline static bool LogRomHeader ( void ) { return m_LogRomHeader; }
inline static bool LogUnknown ( void ) { return m_LogUnknown; }
private:
static void RefreshSettings ( void * );
static bool m_GenerateLog;
/* Registers Log */
static bool m_LogRDRamRegisters;
static bool m_LogSPRegisters;
static bool m_LogDPCRegisters;
static bool m_LogDPSRegisters;
static bool m_LogMIPSInterface;
static bool m_LogVideoInterface;
static bool m_LogAudioInterface;
static bool m_LogPerInterface;
static bool m_LogRDRAMInterface;
static bool m_LogSerialInterface;
/* Pif Ram Log */
static bool m_LogPRDMAOperations;
static bool m_LogPRDirectMemLoads;
static bool m_LogPRDMAMemLoads;
static bool m_LogPRDirectMemStores;
static bool m_LogPRDMAMemStores;
static bool m_LogControllerPak;
/* Special Log */
static bool m_LogCP0changes;
static bool m_LogCP0reads;
static bool m_LogTLB;
static bool m_LogExceptions;
static bool m_NoInterrupts;
static bool m_LogCache;
static bool m_LogRomHeader;
static bool m_LogUnknown;
static int32_t m_RefCount;
};