view src/gb/GB.h @ 105:2f8089eacab9

working on some actual assembly programs
author Robert McIntyre <rlm@mit.edu>
date Tue, 13 Mar 2012 14:40:01 -0500
parents 2090bcb78f44
children 893c753f8088
line wrap: on
line source
1 #ifndef VBA_GB_H
2 #define VBA_GB_H
4 #if _MSC_VER > 1000
5 #pragma once
6 #endif // _MSC_VER > 1000
8 #include "zlib.h"
9 #include "../Port.h"
11 typedef union
12 {
13 struct
14 {
15 #ifdef WORDS_BIGENDIAN
16 u8 B1, B0;
17 #else
18 u8 B0, B1;
19 #endif
20 } B;
21 u16 W;
22 } gbRegister;
24 extern bool gbLoadRom(const char *);
25 extern int gbEmulate(int);
26 extern bool gbIsGameboyRom(const char *);
27 extern void gbSoundReset();
28 extern void gbSoundSetQuality(int);
29 extern void gbReset(bool userReset = false);
30 extern void gbCleanUp();
31 extern bool gbWriteBatteryFile(const char *);
32 extern bool gbWriteBatteryFile(const char *, bool);
33 extern bool gbWriteBatteryToStream(gzFile);
34 extern bool gbReadBatteryFile(const char *);
35 extern bool gbReadBatteryFromStream(gzFile);
36 extern bool gbWriteSaveState(const char *);
37 extern bool gbWriteMemSaveState(char *, int);
38 extern bool gbReadSaveState(const char *);
39 extern bool gbReadMemSaveState(char *, int);
40 extern bool gbReadSaveStateFromStream(gzFile);
41 extern bool gbWriteSaveStateToStream(gzFile);
42 extern void gbSgbRenderBorder();
43 extern bool gbWritePNGFile(const char *);
44 extern bool gbWriteBMPFile(const char *);
45 extern bool gbReadGSASnapshot(const char *);
47 extern int getRamSize();
48 extern int getRomSize();
50 extern void storeMemory(int32 *);
51 extern void writeMemory(int32 *);
53 extern void storeRam(int32 *);
54 extern void storeRom(int32 *);
55 extern void storeWRam(int32 *);
56 extern void storeVRam(int32 *);
57 extern void storeRegisters(int32 *);
58 extern void setRegisters(int32 *);
60 extern long gbWriteMemSaveStatePos(char *, int);
62 extern struct EmulatedSystem GBSystem;
63 extern struct EmulatedSystemCounters &GBSystemCounters;
65 #endif // VBA_GB_H