# HG changeset patch # User Robert McIntyre # Date 1331163600 21600 # Node ID 3ce48d803e740cd4f62d3930199e70afb916b2a4 # Parent 431ee7ee12def3024ce6c216462511dda5635aa0 added functions to get rom/ram sizes diff -r 431ee7ee12de -r 3ce48d803e74 java/src/com/aurellem/gb/Gb.java --- a/java/src/com/aurellem/gb/Gb.java Wed Mar 07 15:17:19 2012 -0600 +++ b/java/src/com/aurellem/gb/Gb.java Wed Mar 07 17:40:00 2012 -0600 @@ -51,4 +51,15 @@ loadState(saveState, SAVE_SIZE); } + public static native int getROMSize(); + public static native int getRAMSize(); + + + public static final int WRAM_SIZE = 0x8000; + + public static final int VRAM_SIZE = 0x4000; + + + + } diff -r 431ee7ee12de -r 3ce48d803e74 src/clojure/clojure.cpp --- a/src/clojure/clojure.cpp Wed Mar 07 15:17:19 2012 -0600 +++ b/src/clojure/clojure.cpp Wed Mar 07 17:40:00 2012 -0600 @@ -101,8 +101,29 @@ } +/* + * Class: com_aurellem_gb_Gb + * Method: getROMSize + * Signature: ()I + */ +JNIEXPORT jint JNICALL Java_com_aurellem_gb_Gb_getROMSize +(JNIEnv *env, jclass clazz){ + return getRomSize(); +} +/* + * Class: com_aurellem_gb_Gb + * Method: getRAMSize + * Signature: ()I + */ +JNIEXPORT jint JNICALL Java_com_aurellem_gb_Gb_getRAMSize +(JNIEnv *env, jclass clazz){ + return getRamSize(); +} + + + diff -r 431ee7ee12de -r 3ce48d803e74 src/gb/GB.cpp --- a/src/gb/GB.cpp Wed Mar 07 15:17:19 2012 -0600 +++ b/src/gb/GB.cpp Wed Mar 07 17:40:00 2012 -0600 @@ -2494,6 +2494,7 @@ utilGzWrite(gzFile, &gbMemory[0x8000], 0x8000); + if (gbRamSize && gbRam) { utilGzWrite(gzFile, gbRam, gbRamSize); @@ -3859,6 +3860,18 @@ } } + + +//RLM: +int getRamSize(){ + return gbRamSize; +} + +int getRomSize(){ + return gbRomSize; +} + + struct EmulatedSystem GBSystem = { // emuMain diff -r 431ee7ee12de -r 3ce48d803e74 src/gb/GB.h --- a/src/gb/GB.h Wed Mar 07 15:17:19 2012 -0600 +++ b/src/gb/GB.h Wed Mar 07 17:40:00 2012 -0600 @@ -44,6 +44,9 @@ extern bool gbWriteBMPFile(const char *); extern bool gbReadGSASnapshot(const char *); +extern int getRamSize(); +extern int getRomSize(); + extern struct EmulatedSystem GBSystem; extern struct EmulatedSystemCounters &GBSystemCounters;