# HG changeset patch # User Robert McIntyre # Date 1331148272 21600 # Node ID 719d910c90f87234648a9713470be5828b80b5f3 # Parent 88218735d22098cc01c7e81172eed1d94fe27bd6 can now send button presses to the simulated gameboy diff -r 88218735d220 -r 719d910c90f8 java/src/com/aurellem/gb/Gb.java --- a/java/src/com/aurellem/gb/Gb.java Wed Mar 07 12:50:44 2012 -0600 +++ b/java/src/com/aurellem/gb/Gb.java Wed Mar 07 13:24:32 2012 -0600 @@ -28,6 +28,8 @@ public static native void step(); + public static native void step(int keymask); + public static native void shutdown(); } diff -r 88218735d220 -r 719d910c90f8 org/todo.org --- a/org/todo.org Wed Mar 07 12:50:44 2012 -0600 +++ b/org/todo.org Wed Mar 07 13:24:32 2012 -0600 @@ -6,13 +6,13 @@ - [ ] remove lua ** additional functionality - - [ ] step the simulator + - [X] step the simulator - [ ] get CPU data - [ ] get RAM / ROM data - [ ] save / load state (use savestates) - [ ] write current frame - [ ] write sound - - [ ] send button presses to the GB + - [X] send button presses to the GB * high level - [ ] write vbm files diff -r 88218735d220 -r 719d910c90f8 src/VisualBoyAdvance.cfg --- a/src/VisualBoyAdvance.cfg Wed Mar 07 12:50:44 2012 -0600 +++ b/src/VisualBoyAdvance.cfg Wed Mar 07 13:24:32 2012 -0600 @@ -89,7 +89,7 @@ filter=0 # Disable status messages. 0=false, any other value means true -disableStatus=1 +disableStatus=0 # Enable Gameboy border. 0=false, any other value means true borderOn=0 diff -r 88218735d220 -r 719d910c90f8 src/clojure/clojure.cpp --- a/src/clojure/clojure.cpp Wed Mar 07 12:50:44 2012 -0600 +++ b/src/clojure/clojure.cpp Wed Mar 07 13:24:32 2012 -0600 @@ -37,18 +37,35 @@ runVBA(2, arguments); } + + + /* * Class: com_aurellem_gb_Gb * Method: step * Signature: ()V */ -JNIEXPORT void JNICALL Java_com_aurellem_gb_Gb_step +JNIEXPORT void JNICALL Java_com_aurellem_gb_Gb_step__ (JNIEnv *env, jclass clazz){ step(); } /* * Class: com_aurellem_gb_Gb + * Method: step + * Signature: (I)V + */ +JNIEXPORT void JNICALL Java_com_aurellem_gb_Gb_step__I +(JNIEnv *env, jclass clazz, jint keymask){ + step(keymask); +} + + + + + +/* + * Class: com_aurellem_gb_Gb * Method: shutdown * Signature: ()V */ @@ -58,3 +75,6 @@ } + + + diff -r 88218735d220 -r 719d910c90f8 src/sdl/Drive.h --- a/src/sdl/Drive.h Wed Mar 07 12:50:44 2012 -0600 +++ b/src/sdl/Drive.h Wed Mar 07 13:24:32 2012 -0600 @@ -2,4 +2,6 @@ void step(); +void step(int keymask); + void shutdown(); diff -r 88218735d220 -r 719d910c90f8 src/sdl/SDL.cpp --- a/src/sdl/SDL.cpp Wed Mar 07 12:50:44 2012 -0600 +++ b/src/sdl/SDL.cpp Wed Mar 07 13:24:32 2012 -0600 @@ -2090,13 +2090,17 @@ SDL_Delay(500); } sdlPollEvents(); - if(mouseCounter) { - mouseCounter--; - if(mouseCounter == 0) - SDL_ShowCursor(SDL_DISABLE); - } + SDL_ShowCursor(SDL_DISABLE); } +void step(int keymask){ + currentButtons[0] = keymask; + step(); + currentButtons[0] = keymask; +} + + + int main(int argc, char **argv) { fprintf(stderr, "VisualBoyAdvance version %s [SDL]\n", PACKAGE_VERSION);