diff --git a/desmume/src/frontend/interface/interface.cpp b/desmume/src/frontend/interface/interface.cpp index 00e1ad777..a2f5e338d 100644 --- a/desmume/src/frontend/interface/interface.cpp +++ b/desmume/src/frontend/interface/interface.cpp @@ -136,16 +136,18 @@ EXPORTED void desmume_skip_next_frame() NDS_SkipNextFrame(); } -EXPORTED void desmume_cycle() +EXPORTED void desmume_cycle(BOOL with_joystick) { u16 keypad; /* Joystick events */ - /* Retrieve old value: can use joysticks w/ another device (from our side) */ - keypad = get_keypad(); - /* Process joystick events if any */ - process_joystick_events(&keypad); - /* Update keypad value */ - update_keypad(keypad); + if (with_joystick) { + /* Retrieve old value: can use joysticks w/ another device (from our side) */ + keypad = get_keypad(); + /* Process joystick events if any */ + process_joystick_events(&keypad); + /* Update keypad value */ + update_keypad(keypad); + } NDS_beginProcessingInput(); { diff --git a/desmume/src/frontend/interface/interface.h b/desmume/src/frontend/interface/interface.h index 31a91284f..1bc742ff2 100755 --- a/desmume/src/frontend/interface/interface.h +++ b/desmume/src/frontend/interface/interface.h @@ -80,7 +80,7 @@ EXPORTED void desmume_reset(void); EXPORTED void desmume_stop(void); EXPORTED BOOL desmume_running(void); EXPORTED void desmume_skip_next_frame(void); -EXPORTED void desmume_cycle(void); +EXPORTED void desmume_cycle(BOOL with_joystick); EXPORTED int desmume_sdl_get_ticks();