Mercurial > vba-clojure
diff src/clojure/clojure.cpp @ 56:ba4fdfb722ed
emabled loading and saving CPU state from clojure.
author | Robert McIntyre <rlm@mit.edu> |
---|---|
date | Wed, 07 Mar 2012 14:18:44 -0600 |
parents | 719d910c90f8 |
children | 3ce48d803e74 |
line wrap: on
line diff
1.1 --- a/src/clojure/clojure.cpp Wed Mar 07 13:24:32 2012 -0600 1.2 +++ b/src/clojure/clojure.cpp Wed Mar 07 14:18:44 2012 -0600 1.3 @@ -1,5 +1,6 @@ 1.4 #include "com_aurellem_gb_Gb.h" 1.5 #include "../sdl/Drive.h" 1.6 +#include "../gb/GB.h" 1.7 1.8 #include <string.h> 1.9 1.10 @@ -72,9 +73,36 @@ 1.11 JNIEXPORT void JNICALL Java_com_aurellem_gb_Gb_shutdown 1.12 (JNIEnv *env, jclass clazz){ 1.13 shutdown(); 1.14 + 1.15 } 1.16 1.17 +/* 1.18 + * Class: com_aurellem_gb_Gb 1.19 + * Method: saveState 1.20 + * Signature: (Ljava/nio/ByteBuffer;)V 1.21 + */ 1.22 +JNIEXPORT void JNICALL Java_com_aurellem_gb_Gb_saveState 1.23 +(JNIEnv *env, jclass clazz, jobject buffer, jint size){ 1.24 + char* buffer_address = 1.25 + ((char*) env->GetDirectBufferAddress(buffer)); 1.26 + gbWriteMemSaveState(buffer_address, size); 1.27 +} 1.28 1.29 +/* 1.30 + * Class: com_aurellem_gb_Gb 1.31 + * Method: loadState 1.32 + * Signature: (Ljava/nio/ByteBuffer;)V 1.33 + */ 1.34 +JNIEXPORT void JNICALL Java_com_aurellem_gb_Gb_loadState 1.35 +(JNIEnv *env, jclass clazz, jobject buffer, jint size){ 1.36 + char* buffer_address = 1.37 + ((char*) env->GetDirectBufferAddress(buffer)); 1.38 + gbReadMemSaveState(buffer_address, size); 1.39 +} 1.40 1.41 1.42 1.43 + 1.44 + 1.45 + 1.46 +