From df74da7a97682f4602421ed9276e6d33a72ddb49 Mon Sep 17 00:00:00 2001 From: masscat Date: Wed, 13 Jun 2007 11:30:16 +0000 Subject: [PATCH] Fixed XY key setting on ARM7 (bug 1734669) --- desmume/src/ctrlssdl.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/desmume/src/ctrlssdl.c b/desmume/src/ctrlssdl.c index 7404f069d..b83a80c15 100644 --- a/desmume/src/ctrlssdl.c +++ b/desmume/src/ctrlssdl.c @@ -285,7 +285,7 @@ void set_mouse_coord(signed long x,signed long y) void update_keypad(u16 keys) { ((u16 *)ARM9Mem.ARM9_REG)[0x130>>1] = ~keys & 0x3FF; - ((u16 *)MMU.ARM7_REG)[0x130>>1] = ~(keys >> 10) & 0x3; + ((u16 *)MMU.ARM7_REG)[0x130>>1] = ~keys & 0x3FF; /* Update X and Y buttons */ MMU.ARM7_REG[0x136] = ( ~( keys >> 10) & 0x3 ) | (MMU.ARM7_REG[0x136] & ~0x3); } @@ -294,7 +294,7 @@ void update_keypad(u16 keys) u16 get_keypad( void) { u16 keypad; - keypad = ~((u16 *)MMU.ARM7_REG)[0x130>>1]; + keypad = ~MMU.ARM7_REG[0x136]; keypad = (keypad & 0x3) << 10; keypad |= ~((u16 *)ARM9Mem.ARM9_REG)[0x130>>1] & 0x3FF; return keypad;