2009-01-10 03:41:39 +01:00
|
|
|
#ifndef GB_H
|
|
|
|
#define GB_H
|
2008-10-18 08:49:04 +02:00
|
|
|
|
|
|
|
#define C_FLAG 0x10
|
|
|
|
#define H_FLAG 0x20
|
|
|
|
#define N_FLAG 0x40
|
|
|
|
#define Z_FLAG 0x80
|
|
|
|
|
|
|
|
typedef union {
|
|
|
|
struct {
|
|
|
|
#ifdef WORDS_BIGENDIAN
|
|
|
|
u8 B1, B0;
|
|
|
|
#else
|
|
|
|
u8 B0,B1;
|
|
|
|
#endif
|
|
|
|
} B;
|
|
|
|
u16 W;
|
|
|
|
} gbRegister;
|
|
|
|
|
2016-06-05 00:59:43 +02:00
|
|
|
extern gbRegister AF, BC, DE, HL, SP, PC;
|
|
|
|
extern u16 IFF;
|
|
|
|
int gbDis(char *, u16);
|
|
|
|
|
2008-10-18 08:49:04 +02:00
|
|
|
bool gbLoadRom(const char *);
|
2016-06-05 00:59:43 +02:00
|
|
|
bool gbUpdateSizes();
|
2008-10-18 08:49:04 +02:00
|
|
|
void gbEmulate(int);
|
2023-03-22 20:12:50 +01:00
|
|
|
void gbWriteMemory(u16, u8);
|
2008-10-18 08:49:04 +02:00
|
|
|
void gbDrawLine();
|
|
|
|
bool gbIsGameboyRom(const char *);
|
|
|
|
void gbGetHardwareType();
|
|
|
|
void gbReset();
|
|
|
|
void gbCleanUp();
|
|
|
|
void gbCPUInit(const char *,bool);
|
|
|
|
bool gbWriteBatteryFile(const char *);
|
|
|
|
bool gbWriteBatteryFile(const char *, bool);
|
|
|
|
bool gbReadBatteryFile(const char *);
|
|
|
|
bool gbWriteSaveState(const char *);
|
2009-12-07 09:24:05 +01:00
|
|
|
bool gbWriteMemSaveState(char *, int);
|
2008-10-18 08:49:04 +02:00
|
|
|
bool gbReadSaveState(const char *);
|
|
|
|
bool gbReadMemSaveState(char *, int);
|
|
|
|
void gbSgbRenderBorder();
|
|
|
|
bool gbWritePNGFile(const char *);
|
|
|
|
bool gbWriteBMPFile(const char *);
|
|
|
|
bool gbReadGSASnapshot(const char *);
|
|
|
|
|
2016-06-05 00:59:43 +02:00
|
|
|
extern int gbHardware;
|
|
|
|
|
2008-10-18 08:49:04 +02:00
|
|
|
extern struct EmulatedSystem GBSystem;
|
|
|
|
|
2016-06-05 00:59:43 +02:00
|
|
|
// For VBA-GX
|
2008-10-18 08:49:04 +02:00
|
|
|
bool MemgbReadBatteryFile(char * membuffer, int read);
|
|
|
|
int MemgbWriteBatteryFile(char * membuffer);
|
|
|
|
|
2009-01-10 03:41:39 +01:00
|
|
|
#endif // GB_H
|