#pragma once /* * Project 64 - A Nintendo 64 emulator. * * (c) Copyright 2001 zilmar (zilmar@emulation64.com) and * Jabo (jabo@emulation64.com). * * pj64 homepage: www.pj64.net * * Permission to use, copy, modify and distribute Project64 in both binary and * source form, for non-commercial purposes, is hereby granted without fee, * providing that this license information and copyright notice appear with * all copies and any derived work. * * This software is provided 'as-is', without any express or implied * warranty. In no event shall the authors be held liable for any damages * arising from the use of this software. * * Project64 is freeware for PERSONAL USE only. Commercial users should * seek permission of the copyright holders first. Commercial use includes * charging money for Project64 or software derived from Project64. * * The copyright holders request that bug fixes and improvements to the code * should be forwarded to them so if they want them. * */ #ifdef __cplusplus extern "C" { #endif typedef struct { BOOL GenerateLog; /* Registers Log */ BOOL LogRDRamRegisters; BOOL LogSPRegisters; BOOL LogDPCRegisters; BOOL LogDPSRegisters; BOOL LogMIPSInterface; BOOL LogVideoInterface; BOOL LogAudioInterface; BOOL LogPerInterface; BOOL LogRDRAMInterface; BOOL LogSerialInterface; /* Pif Ram Log */ BOOL LogPRDMAOperations; BOOL LogPRDirectMemLoads; BOOL LogPRDMAMemLoads; BOOL LogPRDirectMemStores; BOOL LogPRDMAMemStores; BOOL LogControllerPak; /* Special Log */ BOOL LogCP0changes; BOOL LogCP0reads; BOOL LogTLB; BOOL LogExceptions; BOOL NoInterrupts; BOOL LogCache; BOOL LogRomHeader; BOOL LogUnknown; } LOG_OPTIONS; extern LOG_OPTIONS LogOptions; void EnterLogOptions ( HWND hwndOwner ); void LoadLogOptions ( LOG_OPTIONS * LogOptions, BOOL AlwaysFill ); void Log_LW ( DWORD PC, DWORD VAddr ); void __cdecl LogMessage ( char * Message, ... ); void Log_SW ( DWORD PC, DWORD VAddr, DWORD Value ); void StartLog ( void ); void StopLog ( void ); #ifdef __cplusplus } #endif