pcsxr/libpcsxcore/misc.h

87 lines
2.8 KiB
C

/***************************************************************************
* Copyright (C) 2007 Ryan Schultz, PCSX-df Team, PCSX team *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. *
***************************************************************************/
#ifndef __MISC_H__
#define __MISC_H__
#ifdef __cplusplus
extern "C" {
#endif
#include "psxcommon.h"
#include "coff.h"
#include "plugins.h"
#include "r3000a.h"
#include "psxmem.h"
#undef s_addr
typedef struct {
unsigned char id[8];
u32 text;
u32 data;
u32 pc0;
u32 gp0;
u32 t_addr;
u32 t_size;
u32 d_addr;
u32 d_size;
u32 b_addr;
u32 b_size;
u32 s_addr;
u32 s_size;
u32 SavedSP;
u32 SavedFP;
u32 SavedGP;
u32 SavedRA;
u32 SavedS0;
} EXE_HEADER;
extern char CdromId[10];
extern char CdromLabel[33];
int LoadCdrom();
int LoadCdromFile(const char *filename, EXE_HEADER *head);
int CheckCdrom();
int Load(const char *ExePath);
int LoadLdrFile(const char *LdrPath);
int SaveState(const char *file);
int SaveStateMem(const u32 id);
int SaveStateGz(gzFile f, long* gzsize);
int LoadState(const char *file);
int LoadStateMem(const u32 id);
int LoadStateGz(gzFile f);
int CheckState(const char *file);
int SendPcsxInfo();
int RecvPcsxInfo();
void CreateRewindState(); // Creates save state and stores it to volatile memory
void RewindState(); // Restores state previously created with CreateRewindState();
void CleanupMemSaveStates(); // Removes all save states stored by memory funcs like CreateRewindState()
void trim(char *str);
u16 calcCrc(u8 *d, int len);
#ifdef __cplusplus
}
#endif
#endif