summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSegher Boessenkool <segher@kernel.crashing.org>2010-02-12 21:42:37 +0100
committerSegher Boessenkool <segher@kernel.crashing.org>2010-02-12 21:42:37 +0100
commit1723f221d8627a71f2ba3ca883301a80607cbf3b (patch)
treefe128a10d3c0c722ea17a1d3a6eda628c0eef7bc
parent2505250ded739666bbbfc5eea5e570d58ce91abe (diff)
Add debug keys for triggering EXTINT
-rw-r--r--emu.c20
-rw-r--r--platform-sdl.c1
2 files changed, 21 insertions, 0 deletions
diff --git a/emu.c b/emu.c
index eb650a3..81b85fd 100644
--- a/emu.c
+++ b/emu.c
@@ -38,6 +38,10 @@ static u8 trace_irq[9] = { 0, 0, 0, 0, 0, 0, 0, 0, 0 };
static u8 unsp_version = 11; // version a.b as 10*a + b
static u8 ever_ran_this[N_MEM];
+
+static int do_extint1, do_extint2;
+
+
static u16 reg[8];
static u8 sb;
static u8 irq, fiq;
@@ -725,6 +729,14 @@ static void do_controller(void)
mute_audio ^= 1;
break;
+ case 'w':
+ do_extint1 = 1;
+ break;
+
+ case 'e':
+ do_extint2 = 1;
+ break;
+
case 'a':
hide_page_1 ^= 1;
break;
@@ -809,6 +821,14 @@ static void run(void)
mem[0x3d22] |= 2; // TMB2 FIXME: freq
+ if (do_extint1) {
+ mem[0x3d22] |= 0x0200;
+ do_extint1 = 0;
+ }
+ if (do_extint2) {
+ mem[0x3d22] |= 0x1000;
+ do_extint2 = 0;
+ }
// UART FIXME
mem[0x3d22] |= 0x0100;
diff --git a/platform-sdl.c b/platform-sdl.c
index dd759ce..56b5085 100644
--- a/platform-sdl.c
+++ b/platform-sdl.c
@@ -172,6 +172,7 @@ static char handle_debug_key(int key)
case 'u':
case 'x':
case 'q':
+ case 'w': case 'e':
case 'a': case 's': case 'd':
case 'v': case 'c':
return (key);