summaryrefslogtreecommitdiff
path: root/Source/Core/DebuggerWX
diff options
context:
space:
mode:
authorfires.gc <fires.gc@gmail.com>2008-07-24 13:40:07 +0000
committerfires.gc <fires.gc@gmail.com>2008-07-24 13:40:07 +0000
commit2f308cf77accfe9125eb2bf5fc53348fd9aaa058 (patch)
tree07b20ba7642b61119eb1a80b21d967847c1d4b1a /Source/Core/DebuggerWX
parent9e285ca377b336e3a3d2aaf763fa25ba20925f15 (diff)
minor improvements (mostly debugger)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@82 8ced0084-cf51-0410-be5f-012b33b47a6e
Diffstat (limited to 'Source/Core/DebuggerWX')
-rw-r--r--Source/Core/DebuggerWX/DebuggerWX.vcproj8
-rw-r--r--Source/Core/DebuggerWX/resources/toolbar_pause.c277
-rw-r--r--Source/Core/DebuggerWX/resources/toolbar_play.c278
-rw-r--r--Source/Core/DebuggerWX/src/BreakpointWindow.cpp23
-rw-r--r--Source/Core/DebuggerWX/src/BreakpointWindow.h4
-rw-r--r--Source/Core/DebuggerWX/src/CodeWindow.cpp189
-rw-r--r--Source/Core/DebuggerWX/src/CodeWindow.h13
-rw-r--r--Source/Core/DebuggerWX/src/LogWindow.cpp27
-rw-r--r--Source/Core/DebuggerWX/src/LogWindow.h9
-rw-r--r--Source/Core/DebuggerWX/src/MemoryCheckDlg.cpp2
-rw-r--r--Source/Core/DebuggerWX/src/MemoryWindow.cpp27
-rw-r--r--Source/Core/DebuggerWX/src/MemoryWindow.h3
-rw-r--r--Source/Core/DebuggerWX/src/RegisterWindow.cpp24
-rw-r--r--Source/Core/DebuggerWX/src/RegisterWindow.h4
14 files changed, 765 insertions, 123 deletions
diff --git a/Source/Core/DebuggerWX/DebuggerWX.vcproj b/Source/Core/DebuggerWX/DebuggerWX.vcproj
index a28d06ec3f..4cccc3935f 100644
--- a/Source/Core/DebuggerWX/DebuggerWX.vcproj
+++ b/Source/Core/DebuggerWX/DebuggerWX.vcproj
@@ -461,6 +461,14 @@
RelativePath=".\resources\toolbar_delete.c"
>
</File>
+ <File
+ RelativePath=".\resources\toolbar_pause.c"
+ >
+ </File>
+ <File
+ RelativePath=".\resources\toolbar_play.c"
+ >
+ </File>
</Filter>
<File
RelativePath=".\src\BreakPointDlg.cpp"
diff --git a/Source/Core/DebuggerWX/resources/toolbar_pause.c b/Source/Core/DebuggerWX/resources/toolbar_pause.c
new file mode 100644
index 0000000000..d2d21a30de
--- /dev/null
+++ b/Source/Core/DebuggerWX/resources/toolbar_pause.c
@@ -0,0 +1,277 @@
+static const unsigned char toolbar_pause_png[] = {
+0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d,
+0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x30,
+0x08, 0x06, 0x00, 0x00, 0x00, 0x57, 0x02, 0xf9, 0x87, 0x00, 0x00, 0x00,
+0x04, 0x73, 0x42, 0x49, 0x54, 0x08, 0x08, 0x08, 0x08, 0x7c, 0x08, 0x64,
+0x88, 0x00, 0x00, 0x00, 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, 0x00, 0x0b,
+0x12, 0x00, 0x00, 0x0b, 0x12, 0x01, 0xd2, 0xdd, 0x7e, 0xfc, 0x00, 0x00,
+0x00, 0x25, 0x74, 0x45, 0x58, 0x74, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61,
+0x72, 0x65, 0x00, 0x4d, 0x61, 0x63, 0x72, 0x6f, 0x6d, 0x65, 0x64, 0x69,
+0x61, 0x20, 0x46, 0x69, 0x72, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x20,
+0x4d, 0x58, 0x20, 0x32, 0x30, 0x30, 0x34, 0x87, 0x76, 0xac, 0xcf, 0x00,
+0x00, 0x00, 0x14, 0x74, 0x45, 0x58, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74,
+0x69, 0x6f, 0x6e, 0x20, 0x54, 0x69, 0x6d, 0x65, 0x00, 0x39, 0x2f, 0x34,
+0x2f, 0x30, 0x34, 0x79, 0x5e, 0xa3, 0xd5, 0x00, 0x00, 0x0c, 0x2e, 0x49,
+0x44, 0x41, 0x54, 0x78, 0x9c, 0xd5, 0x9a, 0x4b, 0x6c, 0x5d, 0xd7, 0x75,
+0x86, 0xbf, 0xbd, 0xf7, 0x79, 0xdc, 0x87, 0x28, 0x5d, 0x52, 0x22, 0x29,
+0x25, 0x96, 0x2c, 0x45, 0xb0, 0x55, 0x35, 0x4e, 0xa4, 0xa2, 0xa3, 0x0c,
+0x6a, 0x2b, 0x40, 0x50, 0x4f, 0x0a, 0xc8, 0xb3, 0x0e, 0x0c, 0x23, 0xca,
+0xa4, 0x4a, 0x1c, 0xc0, 0x4a, 0x07, 0x1d, 0x09, 0x45, 0x64, 0x18, 0xa9,
+0x03, 0x03, 0xae, 0x65, 0xb5, 0x40, 0x91, 0x64, 0xa0, 0x00, 0x0d, 0xa7,
+0x85, 0xd3, 0x0e, 0xda, 0xa2, 0x69, 0xa1, 0x38, 0x9d, 0x14, 0x28, 0x50,
+0x39, 0xb1, 0x91, 0x0a, 0xb2, 0x65, 0x3d, 0x28, 0x89, 0x22, 0xef, 0x25,
+0xef, 0x9b, 0xf7, 0x3c, 0xf6, 0x5e, 0x1d, 0xec, 0x73, 0x1f, 0x94, 0x48,
+0x89, 0xb2, 0x83, 0x1a, 0xde, 0xc0, 0xc1, 0xb9, 0x8f, 0x7d, 0xcf, 0xf9,
+0xff, 0xb5, 0xfe, 0xfd, 0xaf, 0xb5, 0x0f, 0xa9, 0x44, 0x84, 0xcf, 0xf3,
+0xd0, 0x9f, 0x35, 0x80, 0x4f, 0x3b, 0x82, 0xcf, 0xf2, 0xe6, 0xa7, 0x4f,
+0xff, 0x58, 0x0d, 0x5f, 0xff, 0xe8, 0x47, 0x7f, 0xf6, 0x89, 0xa4, 0xa0,
+0x7e, 0x57, 0x12, 0xfa, 0xe1, 0x0f, 0xff, 0xe5, 0xa0, 0x88, 0x9c, 0x10,
+0x71, 0x27, 0x9c, 0x73, 0x07, 0x9d, 0x93, 0x63, 0x22, 0xae, 0xe6, 0x9c,
+0xc3, 0x39, 0x87, 0x88, 0xbb, 0xee, 0x9c, 0xbb, 0xe1, 0x9c, 0xbb, 0xe4,
+0x9c, 0x7b, 0xaf, 0xd5, 0xea, 0xff, 0x7c, 0x93, 0xcb, 0x08, 0x3c, 0x1e,
+0x99, 0x4f, 0x45, 0xe0, 0xcd, 0x37, 0xff, 0xa3, 0x26, 0xe2, 0x5e, 0x10,
+0x91, 0x33, 0x22, 0x72, 0xdc, 0x03, 0x15, 0x26, 0x40, 0x8f, 0x5e, 0x6f,
+0x7c, 0x6f, 0x71, 0xce, 0x35, 0x9d, 0x73, 0xff, 0x68, 0xad, 0xfb, 0xfb,
+0xf5, 0xf5, 0xfc, 0x97, 0x05, 0xf8, 0xe1, 0x01, 0x20, 0xdb, 0x21, 0xf2,
+0x89, 0x09, 0xbc, 0xf5, 0xd6, 0xa5, 0x73, 0x20, 0x67, 0x9c, 0x93, 0x9a,
+0x88, 0x50, 0x2a, 0xc5, 0x54, 0xab, 0x55, 0xa6, 0xa6, 0xa6, 0x50, 0x4a,
+0x11, 0x45, 0xf1, 0x08, 0x6c, 0x96, 0x65, 0xf4, 0xfb, 0x5d, 0xba, 0xdd,
+0x3e, 0x9d, 0x4e, 0x8b, 0x4e, 0xa7, 0x43, 0x9e, 0x67, 0x93, 0xe4, 0xde,
+0xb5, 0xd6, 0xfe, 0x45, 0x9a, 0x72, 0xb9, 0x20, 0xe0, 0x86, 0x64, 0x1e,
+0x45, 0xe2, 0xb1, 0xd7, 0xc0, 0xdb, 0x6f, 0xbf, 0x7b, 0x42, 0x29, 0x75,
+0x51, 0x6b, 0x7d, 0x50, 0x6b, 0xcd, 0xcc, 0xcc, 0x0c, 0x4f, 0x3e, 0xb9,
+0x97, 0xdd, 0xbb, 0xcb, 0x54, 0x2a, 0x01, 0x41, 0xa0, 0x09, 0x02, 0x83,
+0xb5, 0xe0, 0x1c, 0xf4, 0x7a, 0x29, 0xdd, 0x6e, 0x42, 0xab, 0xd5, 0xa7,
+0xd1, 0x68, 0x33, 0x33, 0x33, 0x4d, 0x9a, 0xa6, 0xb4, 0x5a, 0x6b, 0xdc,
+0xbd, 0xbb, 0x44, 0x92, 0x24, 0x00, 0xcf, 0x2a, 0xa5, 0xfe, 0x2b, 0x0c,
+0xed, 0x5f, 0x65, 0x99, 0x7e, 0x0d, 0x50, 0x05, 0x89, 0x21, 0x91, 0x2d,
+0xc7, 0x63, 0x65, 0xe0, 0xc2, 0x85, 0xff, 0x3c, 0xa7, 0x94, 0xfa, 0x3e,
+0xc0, 0xdc, 0xdc, 0x2c, 0xcf, 0x3c, 0xb3, 0x9f, 0xb9, 0xb9, 0x98, 0x38,
+0xd6, 0x38, 0xc7, 0x08, 0xf4, 0xc3, 0x5e, 0x2f, 0x2f, 0x37, 0x59, 0x5c,
+0x5c, 0xa2, 0xdf, 0x5f, 0xc7, 0xb9, 0x9c, 0x95, 0x95, 0x15, 0x96, 0x97,
+0x97, 0x47, 0x19, 0x11, 0x71, 0xbf, 0xb2, 0x56, 0xfe, 0x54, 0x24, 0x68,
+0x00, 0x16, 0x70, 0x0f, 0xcb, 0xc2, 0xb6, 0x33, 0x70, 0xe1, 0xc2, 0xaf,
+0x2e, 0x6a, 0xad, 0x4f, 0xc5, 0x71, 0xcc, 0x57, 0xbf, 0x7a, 0x84, 0xa7,
+0x9f, 0xde, 0x41, 0xa9, 0xa4, 0x46, 0xe0, 0xd6, 0xd7, 0x2d, 0xab, 0xab,
+0x29, 0xed, 0x76, 0xc6, 0x60, 0xe0, 0x0f, 0x6b, 0x2d, 0xce, 0x59, 0xa2,
+0xc8, 0x10, 0xc7, 0x21, 0xe5, 0x72, 0x4c, 0xad, 0x36, 0xc5, 0xf4, 0x74,
+0x8d, 0xbb, 0x77, 0x97, 0xf9, 0xf8, 0xe3, 0x1b, 0x4c, 0x4f, 0xcf, 0x50,
+0x2e, 0x97, 0x59, 0x5c, 0xbc, 0xc5, 0xfa, 0xfa, 0x3a, 0xc0, 0x1f, 0x29,
+0x25, 0xff, 0x2a, 0x92, 0x3f, 0x0f, 0x41, 0x83, 0x8d, 0xeb, 0xe2, 0x81,
+0xb1, 0xad, 0x0c, 0xbc, 0xfd, 0xf6, 0xbb, 0x17, 0xb5, 0xd6, 0xa7, 0xaa,
+0xd5, 0x2a, 0xcf, 0x3e, 0xfb, 0x0c, 0x07, 0x0e, 0x84, 0xa3, 0x88, 0x36,
+0x1a, 0x96, 0xa5, 0xa5, 0x94, 0x7e, 0x3f, 0xc7, 0x39, 0x8b, 0xb5, 0xae,
+0x38, 0xdb, 0x89, 0xb3, 0xc3, 0x5a, 0x8b, 0xb5, 0x39, 0x79, 0xee, 0xa8,
+0xd5, 0x76, 0x30, 0x3f, 0x3f, 0x4f, 0x9a, 0xe6, 0xbc, 0xff, 0xfe, 0x07,
+0x64, 0x59, 0x82, 0xb5, 0x96, 0xbb, 0x77, 0xef, 0xd0, 0x6a, 0x35, 0x87,
+0xeb, 0xe2, 0x37, 0x22, 0xea, 0x8f, 0x95, 0x8a, 0xea, 0x80, 0xdd, 0x2a,
+0x0b, 0x8f, 0x2c, 0x64, 0x6f, 0xbd, 0x75, 0xe9, 0x22, 0x70, 0x6a, 0xd7,
+0xae, 0x1a, 0xcf, 0x3f, 0xff, 0x15, 0xf6, 0xef, 0x0f, 0x8b, 0x88, 0xc3,
+0xd5, 0xab, 0x39, 0x8b, 0x8b, 0x39, 0x49, 0x22, 0x28, 0xa5, 0x00, 0x85,
+0x2a, 0x9c, 0xdd, 0x9f, 0x55, 0x71, 0x8c, 0xe2, 0x05, 0x40, 0xa3, 0xb1,
+0xc6, 0xaf, 0x7f, 0xfd, 0x3e, 0x6b, 0x6b, 0x6b, 0x1c, 0x3d, 0xfa, 0xfb,
+0x68, 0x6d, 0x70, 0x4e, 0x98, 0x9b, 0x9b, 0xa7, 0x54, 0xaa, 0x0c, 0x7f,
+0xf7, 0x15, 0x11, 0xfb, 0x13, 0xc0, 0xdc, 0x77, 0x91, 0xed, 0x13, 0x78,
+0xf3, 0xcd, 0x7f, 0x3f, 0x23, 0x22, 0xa7, 0x4a, 0xa5, 0x12, 0x5f, 0xff,
+0xfa, 0x11, 0x66, 0x66, 0x02, 0x9c, 0x83, 0x7a, 0x5d, 0xf8, 0xe8, 0x23,
+0x61, 0x30, 0x78, 0x14, 0x7d, 0x46, 0x84, 0xfc, 0xeb, 0xf1, 0x1b, 0x11,
+0xb8, 0x7d, 0x7b, 0x91, 0x0f, 0x3f, 0xfc, 0x90, 0xc3, 0x87, 0x9f, 0x1e,
+0xd9, 0xef, 0xfc, 0xfc, 0x3c, 0x41, 0x30, 0x52, 0xf6, 0x9f, 0xe4, 0x79,
+0xef, 0x15, 0x40, 0x4f, 0x16, 0xbd, 0x6d, 0x11, 0x78, 0xe3, 0x8d, 0x7f,
+0x3b, 0x2e, 0x22, 0xe7, 0x8d, 0x31, 0x7c, 0xed, 0x6b, 0xcf, 0x30, 0x33,
+0xe3, 0x23, 0x7f, 0xf3, 0xa6, 0xe5, 0xce, 0x1d, 0x6f, 0x7f, 0x20, 0x0c,
+0x15, 0xb8, 0xb9, 0x14, 0xc7, 0xdf, 0x0f, 0xdf, 0x8f, 0x39, 0xf8, 0xef,
+0xfa, 0xfd, 0x0e, 0x37, 0x6f, 0x5e, 0x67, 0xdf, 0xbe, 0x2f, 0x22, 0x22,
+0x28, 0xa5, 0x99, 0x9d, 0x9d, 0x65, 0x42, 0xf6, 0x67, 0xb3, 0xac, 0x7b,
+0x68, 0x2b, 0x9c, 0x0f, 0xc9, 0x80, 0x5c, 0x14, 0x81, 0xa3, 0x47, 0x9f,
+0x62, 0xff, 0xfe, 0x32, 0xce, 0xc1, 0x8d, 0x1b, 0x29, 0xab, 0xab, 0x79,
+0x51, 0x88, 0xec, 0xa8, 0x38, 0x79, 0xf0, 0x82, 0x88, 0x8c, 0x88, 0x8c,
+0x81, 0x8f, 0x19, 0xf8, 0xcf, 0x64, 0xc3, 0x77, 0x22, 0xd0, 0xe9, 0xb4,
+0x69, 0x36, 0xd7, 0x08, 0xc3, 0x12, 0x22, 0x8e, 0x38, 0x2e, 0xb1, 0x63,
+0xc7, 0xd4, 0x70, 0xd2, 0x2e, 0x11, 0xf7, 0x97, 0x6c, 0x21, 0xa3, 0x4d,
+0x5d, 0xe8, 0xf5, 0xd7, 0xff, 0xf9, 0x9b, 0x5a, 0xeb, 0xe3, 0xbb, 0x76,
+0xed, 0xe4, 0xa9, 0xa7, 0x76, 0xa3, 0x94, 0xa2, 0x5e, 0xcf, 0x68, 0x34,
+0x32, 0x94, 0xd2, 0x13, 0x52, 0x10, 0x3e, 0xf8, 0xe0, 0x32, 0x8d, 0x46,
+0x9d, 0x6e, 0xb7, 0x43, 0xb3, 0xd9, 0xe0, 0xcb, 0x5f, 0x3e, 0xce, 0xe1,
+0xc3, 0x47, 0x0a, 0x32, 0x7e, 0xd6, 0xb5, 0x6b, 0x57, 0x69, 0xb7, 0xd7,
+0xe8, 0xf7, 0xfb, 0x74, 0x3a, 0x6d, 0x0e, 0x1c, 0x38, 0xc4, 0xfc, 0xfc,
+0xbe, 0x11, 0x71, 0xf0, 0x24, 0x94, 0x52, 0x38, 0xe7, 0x3f, 0xab, 0xd5,
+0xa6, 0x69, 0xb5, 0x5a, 0xc3, 0x80, 0xbc, 0x94, 0x24, 0xcd, 0x57, 0x81,
+0x8f, 0xb6, 0x45, 0x40, 0x44, 0xce, 0x89, 0x08, 0x47, 0x8f, 0x7e, 0x89,
+0x9d, 0x3b, 0x23, 0x06, 0x03, 0xc7, 0xe2, 0xe2, 0x3a, 0xce, 0x29, 0x94,
+0x92, 0x11, 0x81, 0xf7, 0xde, 0xfb, 0x6f, 0xae, 0x5e, 0xfd, 0x0d, 0xdf,
+0xf8, 0xc6, 0x1f, 0x02, 0x7b, 0x80, 0x43, 0x54, 0xab, 0xf3, 0xa4, 0xa9,
+0x1b, 0x65, 0xe3, 0xca, 0x95, 0x0f, 0x58, 0x5c, 0xfc, 0xa8, 0x98, 0x33,
+0x1c, 0x55, 0x96, 0x97, 0x53, 0x44, 0xc0, 0x39, 0x29, 0xf4, 0x2f, 0x38,
+0x97, 0xe3, 0x9c, 0x43, 0x29, 0x30, 0xc6, 0x50, 0xad, 0x56, 0xe9, 0x76,
+0xdb, 0x43, 0xc7, 0x7b, 0x05, 0x38, 0xf3, 0x48, 0x02, 0xaf, 0xbd, 0xf6,
+0x4f, 0x27, 0xb5, 0xd6, 0x07, 0xa7, 0xa7, 0x6b, 0xcc, 0xce, 0x56, 0x71,
+0x0e, 0x6e, 0xdd, 0xea, 0x93, 0x65, 0x76, 0x14, 0xfd, 0x61, 0x02, 0x96,
+0x96, 0x6e, 0xf3, 0xf2, 0xcb, 0x27, 0x39, 0x72, 0x64, 0xff, 0xe8, 0xf7,
+0x69, 0x6a, 0xf9, 0xc5, 0x2f, 0x96, 0x0b, 0x02, 0x8e, 0x46, 0x63, 0xe5,
+0x81, 0x39, 0x49, 0x92, 0xf3, 0xb3, 0x9f, 0xfd, 0xcf, 0x28, 0x43, 0x9e,
+0x84, 0xbb, 0x6f, 0x3d, 0x29, 0x2a, 0x95, 0x2a, 0xbd, 0x6e, 0xbb, 0xc8,
+0x92, 0x3b, 0x79, 0xfa, 0xf4, 0x8f, 0xbf, 0x77, 0xbf, 0x9d, 0x3e, 0xb0,
+0x06, 0x44, 0xe4, 0x94, 0x88, 0x63, 0xcf, 0x9e, 0xdd, 0x4c, 0x4f, 0x97,
+0x69, 0xb7, 0x53, 0xd6, 0xd6, 0xd6, 0x27, 0x9a, 0x30, 0xef, 0xf5, 0xd6,
+0x3a, 0xd6, 0xd6, 0x1a, 0x1b, 0x80, 0x81, 0x77, 0x9a, 0x21, 0x78, 0x11,
+0xa1, 0xdd, 0x6e, 0x3e, 0x74, 0xce, 0x70, 0x1d, 0xf9, 0x9b, 0x3b, 0x10,
+0x41, 0x2b, 0x85, 0x42, 0xa8, 0x56, 0xca, 0x80, 0x1a, 0x8a, 0xff, 0xc9,
+0x5e, 0xaf, 0x7e, 0xfc, 0x7e, 0xbc, 0x1b, 0x08, 0x9c, 0x3b, 0xf7, 0x0f,
+0x35, 0x11, 0xf7, 0x42, 0x10, 0x84, 0xcc, 0xce, 0xce, 0x14, 0x96, 0x39,
+0x04, 0xef, 0x8a, 0x82, 0xe4, 0x89, 0x74, 0x3a, 0x2d, 0xe6, 0xe7, 0x6b,
+0x88, 0x50, 0x48, 0xc1, 0x1f, 0xad, 0xd6, 0xb0, 0x25, 0x10, 0xfa, 0xfd,
+0x1e, 0x7b, 0xf7, 0x4e, 0x3f, 0x30, 0xa7, 0x5e, 0xef, 0x8f, 0xa4, 0x33,
+0x5e, 0xf4, 0x5e, 0xfb, 0x4a, 0x15, 0x55, 0xa0, 0x90, 0x51, 0x1c, 0x97,
+0x40, 0xa9, 0xe2, 0x1a, 0x72, 0xf2, 0x7e, 0x02, 0x1b, 0x24, 0xe4, 0x9c,
+0x3c, 0xa7, 0xb5, 0x50, 0xad, 0x56, 0xa8, 0x56, 0x23, 0xb2, 0xcc, 0x51,
+0xaf, 0xf7, 0x0a, 0xcd, 0x7b, 0x8b, 0x1b, 0x46, 0xb0, 0xdb, 0xed, 0xf0,
+0xc4, 0x13, 0xb3, 0x38, 0x1f, 0xb4, 0x51, 0xfa, 0x93, 0x64, 0xdc, 0x36,
+0xf7, 0x7a, 0xdd, 0x4d, 0xe7, 0x0c, 0x06, 0x76, 0x43, 0xab, 0x2d, 0x4e,
+0x0a, 0xd0, 0x0a, 0xa5, 0x14, 0x5a, 0x29, 0x9c, 0x38, 0x9c, 0x40, 0x10,
+0x18, 0xd4, 0xd8, 0xc9, 0x8e, 0x3d, 0x34, 0x03, 0x22, 0x72, 0x5c, 0xc4,
+0x51, 0xa9, 0x54, 0x28, 0x95, 0x42, 0xda, 0xed, 0x64, 0x43, 0xe4, 0x27,
+0xdb, 0x82, 0x7b, 0xf7, 0xee, 0x32, 0x33, 0xb3, 0x13, 0x6b, 0xd9, 0x70,
+0x34, 0x9b, 0xe9, 0x48, 0x16, 0x8d, 0xc6, 0xca, 0xa6, 0x73, 0xea, 0xf5,
+0xde, 0xc4, 0xe2, 0x1d, 0xdb, 0xb0, 0x42, 0x11, 0x68, 0x4d, 0x60, 0x34,
+0x46, 0x1b, 0xb4, 0x86, 0x52, 0x29, 0x9e, 0xc8, 0x10, 0xb5, 0x87, 0x66,
+0xc0, 0xef, 0xa6, 0x34, 0x41, 0x10, 0x50, 0xa9, 0x94, 0xb8, 0x73, 0x67,
+0x15, 0xe7, 0x6c, 0x11, 0x99, 0x8d, 0x0b, 0x38, 0x4d, 0x13, 0x0e, 0x1f,
+0xfe, 0x3d, 0xac, 0x9d, 0xf4, 0x7c, 0x0a, 0x37, 0xf1, 0x04, 0xb2, 0x2c,
+0xe5, 0xf0, 0xe1, 0xfd, 0x5b, 0xce, 0x19, 0x06, 0x04, 0xf1, 0xe0, 0x8d,
+0x06, 0xa3, 0x15, 0x46, 0x6b, 0x10, 0x87, 0x28, 0x8d, 0x56, 0x3e, 0xfe,
+0xc5, 0xef, 0x4f, 0x3c, 0x82, 0x80, 0xd4, 0xc0, 0x11, 0xc7, 0x71, 0xd1,
+0xcb, 0x0f, 0x0a, 0x5b, 0xdb, 0x68, 0x9f, 0xa0, 0x68, 0x36, 0xd7, 0x28,
+0x95, 0xe2, 0x07, 0xe4, 0xe1, 0xf5, 0x3d, 0x5c, 0xc0, 0xad, 0x4d, 0xe7,
+0xdc, 0xb9, 0xd3, 0x2a, 0x9a, 0x3b, 0x87, 0x73, 0x82, 0xc2, 0x61, 0x94,
+0xf2, 0xe0, 0x8d, 0xc6, 0x68, 0x8d, 0x20, 0x38, 0xbc, 0xa4, 0xfc, 0x5d,
+0x37, 0x6f, 0x3a, 0xef, 0x5b, 0x03, 0xee, 0xf8, 0x50, 0x87, 0xce, 0x41,
+0xbb, 0xdd, 0x9b, 0x88, 0xbc, 0xbf, 0xcc, 0xf0, 0xdc, 0xef, 0x77, 0xd9,
+0xbb, 0x77, 0x6e, 0x14, 0xdd, 0xb1, 0x25, 0x8e, 0x9d, 0x65, 0x7d, 0xbd,
+0xbf, 0xc5, 0x9c, 0x71, 0xb7, 0x2a, 0x62, 0xd1, 0x4a, 0xa1, 0x15, 0x18,
+0x6d, 0x08, 0x4d, 0x80, 0x56, 0x3e, 0x4b, 0x5a, 0xb9, 0x91, 0x63, 0x6d,
+0x8b, 0x80, 0xb7, 0x33, 0x5d, 0x80, 0xa0, 0x88, 0xfe, 0x64, 0xa7, 0x39,
+0x26, 0x51, 0x2e, 0x07, 0x23, 0x57, 0xd9, 0x4a, 0x42, 0x95, 0x4a, 0xb8,
+0xe9, 0x9c, 0x3c, 0x9f, 0x94, 0x8f, 0xbf, 0x9e, 0x29, 0xb4, 0x1f, 0x18,
+0x8d, 0x02, 0x8c, 0x76, 0xe4, 0x4e, 0x91, 0x65, 0xe9, 0x16, 0x7d, 0xd6,
+0xa6, 0x19, 0x10, 0x94, 0x72, 0x63, 0x02, 0xd6, 0x47, 0x80, 0x22, 0x03,
+0xe3, 0x16, 0x19, 0x6a, 0xb5, 0x9d, 0xa3, 0xc8, 0x3a, 0x37, 0xbe, 0x46,
+0xb7, 0x9b, 0x14, 0x91, 0x95, 0x2d, 0xe7, 0xb4, 0x5a, 0x5d, 0xf2, 0xdc,
+0x4b, 0xc8, 0x28, 0xaf, 0xfb, 0xd0, 0x18, 0xa2, 0x30, 0x20, 0x0c, 0x8c,
+0x6f, 0xea, 0xac, 0xb7, 0xd2, 0x2c, 0xcb, 0x70, 0x63, 0x02, 0x97, 0x1f,
+0x99, 0x01, 0x85, 0x22, 0x49, 0x12, 0xda, 0xed, 0x5e, 0x91, 0x91, 0x71,
+0x4f, 0xef, 0x5b, 0x09, 0x3f, 0x37, 0x0c, 0xcb, 0x1b, 0xa2, 0x3b, 0xbc,
+0x47, 0x1c, 0x07, 0xf4, 0x7a, 0xeb, 0x88, 0x08, 0xc6, 0xc4, 0x9b, 0xce,
+0xf1, 0xeb, 0xa2, 0x85, 0xc2, 0xa1, 0x95, 0xf6, 0xe0, 0x83, 0x80, 0x28,
+0x30, 0x04, 0xc6, 0x90, 0xd9, 0x1c, 0xa5, 0x15, 0x0a, 0x45, 0xaf, 0xd7,
+0x9d, 0xcc, 0x40, 0xf3, 0x7e, 0x02, 0x1b, 0x6c, 0xd4, 0x39, 0x77, 0x49,
+0x44, 0x48, 0x93, 0x01, 0xfd, 0xde, 0x3a, 0xc3, 0xdd, 0x9c, 0x12, 0xc1,
+0x15, 0x05, 0x2c, 0xcf, 0xf3, 0xc2, 0x46, 0x1b, 0x0f, 0xd8, 0xa3, 0x73,
+0x3e, 0x6a, 0xd6, 0x5a, 0xf2, 0x7c, 0xeb, 0x39, 0xc6, 0x78, 0x97, 0x31,
+0x4a, 0x11, 0x05, 0x86, 0x52, 0x14, 0x50, 0x8a, 0x43, 0xe2, 0x30, 0xc0,
+0x14, 0xc0, 0x15, 0x8a, 0x24, 0x4d, 0x8a, 0xe8, 0x8f, 0x08, 0x5c, 0x7a,
+0x14, 0x81, 0xa6, 0x73, 0x42, 0xaf, 0xd7, 0x61, 0xb5, 0xb1, 0x4a, 0xb9,
+0x14, 0xa3, 0x47, 0x99, 0x11, 0x10, 0x8b, 0x38, 0x87, 0xcd, 0x73, 0x8c,
+0x31, 0x9b, 0x6e, 0xda, 0x2b, 0x95, 0x88, 0x3c, 0xcf, 0xc8, 0xf3, 0x14,
+0xad, 0xf5, 0xa6, 0x73, 0xa6, 0xa7, 0xa7, 0x30, 0x4a, 0x13, 0x87, 0x21,
+0x95, 0x38, 0xa6, 0x1c, 0x45, 0x94, 0xc2, 0x80, 0x30, 0x08, 0x50, 0xba,
+0xf0, 0x1c, 0x11, 0xd6, 0x9a, 0x4d, 0xac, 0x95, 0xc9, 0x0c, 0x3c, 0x20,
+0xa1, 0xfb, 0x0b, 0xd9, 0x65, 0x41, 0xe8, 0x75, 0x7b, 0x0c, 0x06, 0x7d,
+0xcf, 0x5c, 0x1c, 0x81, 0x02, 0x8d, 0xa0, 0x44, 0xa1, 0xf0, 0x99, 0x78,
+0xe2, 0x89, 0x27, 0xe9, 0xf7, 0x93, 0x11, 0xb0, 0xe1, 0x39, 0x49, 0x52,
+0xb2, 0x2c, 0x23, 0xcb, 0x32, 0xe6, 0xe6, 0xf6, 0x6d, 0x3a, 0x27, 0x4f,
+0x73, 0xe2, 0x30, 0xa0, 0x1c, 0x45, 0x54, 0xe2, 0x88, 0x72, 0x1c, 0x11,
+0x47, 0x61, 0xe1, 0xff, 0xe0, 0x10, 0xac, 0x38, 0x9a, 0xcd, 0xb5, 0x0d,
+0x4d, 0xde, 0x76, 0x32, 0xf0, 0x8e, 0x6f, 0x01, 0x7a, 0xd8, 0x3c, 0x27,
+0x4b, 0x32, 0x8c, 0x02, 0xad, 0x14, 0x81, 0x56, 0x04, 0x5a, 0xd0, 0x80,
+0x12, 0xa8, 0x96, 0xab, 0x5c, 0xb9, 0x72, 0x9b, 0x5e, 0x6f, 0x0c, 0x70,
+0x65, 0xa5, 0xc5, 0xb5, 0x6b, 0x77, 0xc9, 0xb2, 0x9c, 0x34, 0xcd, 0x30,
+0x26, 0xe2, 0xf2, 0xe5, 0x0f, 0xe9, 0x74, 0xd6, 0x47, 0x73, 0xee, 0x2d,
+0xad, 0xb2, 0xb4, 0x78, 0x8f, 0x6a, 0x29, 0x62, 0xaa, 0x12, 0xb3, 0xa3,
+0x1c, 0x53, 0x8a, 0x42, 0x02, 0xe3, 0xbd, 0xdf, 0x8a, 0x23, 0xb7, 0x8e,
+0xc6, 0xea, 0x1a, 0x49, 0x9a, 0x61, 0x9d, 0x1d, 0xc2, 0x7b, 0x67, 0x61,
+0xe1, 0x6c, 0xeb, 0x7e, 0x02, 0x0f, 0x3c, 0x95, 0x38, 0xf3, 0xca, 0x4f,
+0x3e, 0x0e, 0xc3, 0xe0, 0xe0, 0x17, 0xf7, 0xed, 0x63, 0xdf, 0xfc, 0x3c,
+0x51, 0x18, 0x10, 0x68, 0x0d, 0x78, 0x3f, 0xce, 0xad, 0x25, 0xcd, 0x2d,
+0xb9, 0xf5, 0x87, 0xb5, 0x0e, 0xeb, 0x7c, 0x41, 0xb2, 0x85, 0xfb, 0x88,
+0x13, 0x9c, 0xf8, 0x1e, 0x87, 0xa2, 0xeb, 0xd4, 0x28, 0x02, 0xa3, 0x08,
+0x03, 0x53, 0x48, 0x27, 0xa2, 0x1c, 0x85, 0x44, 0x61, 0x80, 0x56, 0x8a,
+0xdc, 0x39, 0x06, 0x69, 0x46, 0x77, 0x30, 0xa0, 0xb3, 0x3e, 0xe0, 0xb7,
+0x57, 0xfe, 0x97, 0x6e, 0xbf, 0x47, 0x96, 0xdb, 0xa1, 0x84, 0x5e, 0x58,
+0x58, 0x38, 0xfb, 0xc0, 0xf3, 0xd4, 0x4d, 0x36, 0x34, 0xf2, 0x73, 0x67,
+0xdd, 0x99, 0x7a, 0xbd, 0xce, 0x9e, 0x99, 0x3d, 0x44, 0x81, 0x46, 0xa1,
+0x09, 0xb4, 0x77, 0x23, 0xa3, 0x7c, 0xda, 0xb2, 0x22, 0x7d, 0xf9, 0xf0,
+0x2c, 0x16, 0xa5, 0x7d, 0x01, 0x14, 0x05, 0x1a, 0x05, 0xc6, 0xb7, 0xc5,
+0x46, 0x19, 0x8c, 0xd6, 0x44, 0x81, 0x21, 0x0e, 0x03, 0x4a, 0x51, 0x48,
+0x1c, 0x86, 0x44, 0xa1, 0x41, 0x29, 0x45, 0x5e, 0x04, 0x21, 0xcd, 0x73,
+0xd2, 0xdc, 0x72, 0xfb, 0xce, 0x22, 0x83, 0x24, 0xc1, 0x8e, 0xfa, 0x24,
+0xae, 0x6f, 0x06, 0x7e, 0x53, 0x02, 0x22, 0x72, 0xde, 0x3a, 0x7b, 0x26,
+0xcd, 0x52, 0x56, 0xea, 0xf7, 0x88, 0xbf, 0xf0, 0x05, 0x02, 0xed, 0xdb,
+0xdc, 0xc0, 0x28, 0x42, 0x09, 0x08, 0x8d, 0x26, 0x37, 0x9a, 0xcc, 0x6a,
+0xd2, 0x5c, 0x79, 0x4f, 0xd7, 0xca, 0x67, 0x62, 0x18, 0x79, 0x0c, 0x1a,
+0x30, 0x46, 0x11, 0x68, 0x43, 0x18, 0x68, 0x6f, 0x95, 0x61, 0x40, 0x14,
+0x04, 0x04, 0xc6, 0x67, 0x35, 0x77, 0x96, 0xdc, 0x59, 0x06, 0x69, 0xc6,
+0x20, 0xcb, 0x58, 0x69, 0xd4, 0x69, 0xac, 0x36, 0xc9, 0xf2, 0xbc, 0xd8,
+0x5e, 0x02, 0x70, 0x6e, 0x33, 0xf0, 0x9b, 0x4a, 0x08, 0xe0, 0xbb, 0xdf,
+0xfd, 0xbb, 0x9f, 0x86, 0x41, 0xf0, 0xcd, 0x52, 0x14, 0xf2, 0xd4, 0x97,
+0x0e, 0x31, 0xbd, 0xab, 0x46, 0x29, 0x0c, 0x88, 0xc3, 0x80, 0xa0, 0xb0,
+0x39, 0x27, 0xe2, 0xed, 0xd2, 0xba, 0x09, 0x39, 0x15, 0x1b, 0x19, 0x7c,
+0xe5, 0xd0, 0xca, 0xf7, 0x36, 0xa1, 0xd1, 0x04, 0xc6, 0x14, 0x47, 0xd1,
+0xa0, 0x89, 0x90, 0x59, 0x4b, 0x92, 0x65, 0xf4, 0x93, 0x8c, 0x5e, 0x92,
+0x70, 0xaf, 0x5e, 0xe7, 0xe3, 0x1b, 0xd7, 0x59, 0x4f, 0x92, 0x49, 0x02,
+0x97, 0x17, 0x16, 0xce, 0xfe, 0xc1, 0x56, 0x04, 0x36, 0xdd, 0x13, 0x87,
+0x46, 0xbf, 0x9a, 0xe7, 0xd9, 0xc9, 0x14, 0x6a, 0xd7, 0x6f, 0xde, 0x22,
+0x38, 0x14, 0xa0, 0xa7, 0x76, 0xf8, 0xaa, 0x19, 0x86, 0x18, 0xa3, 0x09,
+0x14, 0x50, 0x54, 0x4d, 0xe7, 0x1c, 0xae, 0xd8, 0xd7, 0x4e, 0x5a, 0x86,
+0x2e, 0xaa, 0xb7, 0xd6, 0x1a, 0x53, 0x54, 0x73, 0x41, 0xb0, 0xce, 0x15,
+0xe0, 0x73, 0xfa, 0x49, 0x46, 0x3f, 0x49, 0x58, 0x69, 0x34, 0xb8, 0x71,
+0xeb, 0x26, 0x49, 0x9a, 0x93, 0x5b, 0x3b, 0x69, 0x9d, 0xa7, 0xb6, 0x02,
+0xbf, 0x65, 0x06, 0x00, 0x5e, 0xfe, 0xce, 0xdf, 0xfe, 0xb9, 0x52, 0xfa,
+0xaf, 0x4b, 0x51, 0x44, 0xb5, 0x5c, 0xe2, 0xf0, 0xa1, 0x83, 0xd4, 0xa6,
+0xa6, 0x28, 0x47, 0x61, 0x91, 0x09, 0xdf, 0x35, 0x6a, 0xad, 0x46, 0x75,
+0xc6, 0xc3, 0x2b, 0x46, 0x91, 0x86, 0xd1, 0xf3, 0x0b, 0xf1, 0xc0, 0x73,
+0xeb, 0xb5, 0xee, 0x23, 0x9f, 0xd2, 0x4f, 0x52, 0x16, 0xef, 0xdc, 0xe5,
+0xee, 0xf2, 0x12, 0x83, 0x24, 0x25, 0xcd, 0xb2, 0x49, 0xed, 0x7f, 0x6f,
+0x61, 0xe1, 0xec, 0xdb, 0x9f, 0x88, 0x00, 0xc0, 0xb7, 0x4f, 0x5f, 0x78,
+0x27, 0x30, 0xe6, 0x64, 0x5c, 0x90, 0x38, 0x78, 0xe0, 0x00, 0xd3, 0x3b,
+0xc7, 0x24, 0xa2, 0x20, 0xc0, 0x14, 0x44, 0x86, 0x3b, 0xaa, 0x91, 0x7e,
+0xc4, 0x93, 0x71, 0xe2, 0x1d, 0xca, 0x4b, 0xcd, 0x2f, 0xd2, 0x41, 0x9a,
+0xb1, 0x9e, 0xa6, 0xb4, 0xbb, 0x5d, 0x6e, 0x2c, 0x2e, 0xd2, 0x6c, 0xb7,
+0x19, 0x24, 0x29, 0xb9, 0xcd, 0xc9, 0xed, 0x08, 0xfc, 0x4f, 0x17, 0x16,
+0xce, 0x7e, 0xeb, 0x61, 0xe0, 0xe1, 0x11, 0x4f, 0xa7, 0x03, 0x63, 0x4e,
+0x25, 0x59, 0x76, 0x49, 0x44, 0x8e, 0x39, 0x67, 0xb9, 0x7a, 0xed, 0x1a,
+0xf3, 0x7b, 0x66, 0xd9, 0x3b, 0x37, 0x4b, 0x25, 0x8e, 0x89, 0x42, 0x4b,
+0x14, 0x18, 0x42, 0x63, 0x30, 0x5a, 0xa1, 0x95, 0x46, 0xa9, 0xa2, 0xef,
+0xa1, 0xb0, 0x56, 0xeb, 0xc8, 0x9d, 0x23, 0xcd, 0xf2, 0xc2, 0x65, 0x72,
+0xba, 0xfd, 0x75, 0x96, 0x56, 0x96, 0x59, 0xa9, 0xd7, 0xe9, 0x0f, 0x52,
+0xd2, 0x2c, 0xf5, 0x6b, 0xc8, 0x3d, 0x1e, 0xf8, 0x47, 0x66, 0x00, 0xe0,
+0xe5, 0x6f, 0xff, 0x4d, 0x2d, 0xcd, 0xf3, 0x4b, 0x81, 0x31, 0xc7, 0x46,
+0x1e, 0x5e, 0x2e, 0x31, 0xb7, 0x7b, 0x0f, 0x33, 0xb5, 0x1a, 0xe5, 0x52,
+0x4c, 0x38, 0x5a, 0x9c, 0x9e, 0x00, 0x82, 0x5f, 0x13, 0xe2, 0xb7, 0xa2,
+0x99, 0xb5, 0xa4, 0x59, 0x4e, 0xab, 0xd3, 0x61, 0xad, 0xd5, 0xa4, 0xbe,
+0xba, 0xca, 0x7a, 0xe2, 0x81, 0x67, 0x79, 0xb1, 0x37, 0x18, 0x57, 0xdc,
+0x6d, 0x83, 0xdf, 0x16, 0x01, 0x80, 0xef, 0x9c, 0xbe, 0x50, 0x4b, 0xd2,
+0xf4, 0x1d, 0xad, 0xf5, 0x73, 0x51, 0x68, 0x08, 0x03, 0xdf, 0xb7, 0x44,
+0x61, 0xc8, 0xce, 0x1d, 0x3b, 0xa8, 0x56, 0xaa, 0xec, 0xa8, 0x56, 0x88,
+0xc2, 0x08, 0x63, 0x0c, 0x00, 0xd6, 0xe6, 0x24, 0x69, 0xc6, 0x60, 0x30,
+0xa0, 0xdb, 0xeb, 0xd2, 0xea, 0x74, 0x48, 0xd2, 0x94, 0x41, 0x9a, 0x91,
+0xe5, 0x99, 0xb7, 0x5e, 0x67, 0x47, 0x45, 0xb0, 0x18, 0xe7, 0x16, 0x16,
+0xce, 0xbe, 0xba, 0x5d, 0xf0, 0xdb, 0x26, 0x30, 0x1c, 0xdf, 0x3a, 0xf5,
+0xc6, 0x39, 0xa5, 0xd4, 0xf7, 0x8d, 0xd6, 0x18, 0xe3, 0x8b, 0x53, 0x50,
+0x78, 0xba, 0xdf, 0x88, 0x98, 0x91, 0x84, 0xc0, 0x2f, 0x58, 0xe7, 0x86,
+0x36, 0x9b, 0x8f, 0xec, 0xd6, 0x39, 0x37, 0x92, 0x4b, 0x71, 0xfb, 0xeb,
+0xc0, 0xa9, 0x85, 0x85, 0xb3, 0xbf, 0x7c, 0x1c, 0xf0, 0x8f, 0x4d, 0x00,
+0xe0, 0xa5, 0x97, 0x5e, 0x3f, 0xa6, 0x94, 0x3a, 0xaf, 0x95, 0x3a, 0xa1,
+0x0a, 0xdd, 0x6b, 0xa5, 0xbc, 0x1b, 0xe1, 0xb7, 0x86, 0x30, 0xec, 0xff,
+0x0b, 0x19, 0x15, 0x51, 0x76, 0x32, 0x7e, 0xe4, 0x58, 0xdc, 0xb6, 0x09,
+0x9c, 0x7f, 0xdc, 0xa8, 0x7f, 0x2a, 0x02, 0xc3, 0xf1, 0xe2, 0x8b, 0x3f,
+0x78, 0x4e, 0x29, 0x4e, 0x69, 0xa5, 0x5f, 0x50, 0x4a, 0xd5, 0xb4, 0x1e,
+0x6e, 0xc0, 0xc7, 0x0f, 0x91, 0x87, 0x80, 0x9d, 0x13, 0x84, 0x0d, 0xc0,
+0x2f, 0x03, 0xe7, 0xd9, 0xa2, 0x41, 0xfb, 0x7f, 0x21, 0x30, 0x39, 0x5e,
+0x7c, 0xf1, 0x07, 0x27, 0x81, 0xe3, 0xf8, 0xc7, 0x1e, 0x07, 0x8b, 0x63,
+0x38, 0x9a, 0x78, 0xc0, 0xd7, 0xf1, 0xed, 0xf0, 0xa5, 0x85, 0x85, 0xb3,
+0x37, 0x3e, 0xf5, 0x4d, 0x8b, 0xf1, 0x3b, 0xfb, 0x4b, 0xfd, 0x67, 0x35,
+0x3e, 0xf7, 0xff, 0xec, 0xf1, 0xb9, 0x27, 0xf0, 0x7f, 0xca, 0x8f, 0x08,
+0x2e, 0x45, 0xb6, 0x8c, 0xe6, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e,
+0x44, 0xae, 0x42, 0x60, 0x82,
+};
diff --git a/Source/Core/DebuggerWX/resources/toolbar_play.c b/Source/Core/DebuggerWX/resources/toolbar_play.c
new file mode 100644
index 0000000000..c77e26af54
--- /dev/null
+++ b/Source/Core/DebuggerWX/resources/toolbar_play.c
@@ -0,0 +1,278 @@
+static const unsigned char toolbar_play_png[] = {
+0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d,
+0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x30,
+0x08, 0x06, 0x00, 0x00, 0x00, 0x57, 0x02, 0xf9, 0x87, 0x00, 0x00, 0x00,
+0x04, 0x73, 0x42, 0x49, 0x54, 0x08, 0x08, 0x08, 0x08, 0x7c, 0x08, 0x64,
+0x88, 0x00, 0x00, 0x00, 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, 0x00, 0x0b,
+0x12, 0x00, 0x00, 0x0b, 0x12, 0x01, 0xd2, 0xdd, 0x7e, 0xfc, 0x00, 0x00,
+0x00, 0x25, 0x74, 0x45, 0x58, 0x74, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61,
+0x72, 0x65, 0x00, 0x4d, 0x61, 0x63, 0x72, 0x6f, 0x6d, 0x65, 0x64, 0x69,
+0x61, 0x20, 0x46, 0x69, 0x72, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x20,
+0x4d, 0x58, 0x20, 0x32, 0x30, 0x30, 0x34, 0x87, 0x76, 0xac, 0xcf, 0x00,
+0x00, 0x00, 0x14, 0x74, 0x45, 0x58, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74,
+0x69, 0x6f, 0x6e, 0x20, 0x54, 0x69, 0x6d, 0x65, 0x00, 0x39, 0x2f, 0x34,
+0x2f, 0x30, 0x34, 0x79, 0x5e, 0xa3, 0xd5, 0x00, 0x00, 0x0c, 0x3b, 0x49,
+0x44, 0x41, 0x54, 0x78, 0x9c, 0xd5, 0x9a, 0x5b, 0x8c, 0x5d, 0xd5, 0x79,
+0xc7, 0x7f, 0x6b, 0xad, 0xbd, 0xf7, 0x39, 0x67, 0x8e, 0xc7, 0x3e, 0x33,
+0xe3, 0xb1, 0x31, 0xc1, 0xc6, 0xc4, 0x02, 0xcb, 0x15, 0xc1, 0x6e, 0x22,
+0x45, 0xb2, 0xaa, 0x82, 0x93, 0x87, 0xf8, 0x05, 0xc5, 0x48, 0x3c, 0x54,
+0x02, 0xa1, 0x38, 0x8a, 0x5a, 0x72, 0x91, 0xb8, 0x3c, 0xf0, 0xe4, 0x54,
+0x71, 0x84, 0x52, 0x22, 0x24, 0x0a, 0x76, 0x2b, 0x55, 0x69, 0x1f, 0x8c,
+0x54, 0xcd, 0x6b, 0x45, 0xda, 0x07, 0xd2, 0x44, 0x45, 0xb6, 0xd3, 0x48,
+0xb4, 0x02, 0xc9, 0x24, 0x10, 0xf0, 0x05, 0x18, 0xdb, 0x83, 0x2f, 0x33,
+0x73, 0xe6, 0x7e, 0x2e, 0xfb, 0xb2, 0xbe, 0xaf, 0x0f, 0x7b, 0x9f, 0xcb,
+0xd8, 0x33, 0xe3, 0x31, 0x44, 0x45, 0x2c, 0x69, 0xe9, 0xdc, 0xf7, 0xfe,
+0xff, 0xbf, 0xff, 0xb7, 0xfe, 0xdf, 0xb7, 0xd6, 0x8c, 0x51, 0x55, 0xbe,
+0xc8, 0xc3, 0x7e, 0xde, 0x00, 0x3e, 0xeb, 0x08, 0x3e, 0xcf, 0x9b, 0x3f,
+0xf9, 0xe4, 0x3f, 0x9b, 0xce, 0xf3, 0x5f, 0xfc, 0xe2, 0x6f, 0x3e, 0x55,
+0x2a, 0x98, 0x3f, 0x55, 0x0a, 0xfd, 0xfc, 0xe7, 0xbf, 0xda, 0xa9, 0xaa,
+0x07, 0x54, 0xe5, 0x80, 0x88, 0xec, 0x14, 0xd1, 0xbd, 0xaa, 0x52, 0x13,
+0x11, 0x44, 0x04, 0x55, 0x19, 0x17, 0x91, 0x8b, 0x22, 0x72, 0x52, 0x44,
+0xde, 0x99, 0x9f, 0x6f, 0xfe, 0x72, 0x85, 0xcb, 0x28, 0xdc, 0x1e, 0x99,
+0xcf, 0x44, 0xe0, 0xa5, 0x97, 0xde, 0xa8, 0xa9, 0xca, 0x23, 0xaa, 0xfa,
+0xb4, 0xaa, 0xee, 0xcb, 0x81, 0x2a, 0x7d, 0xa0, 0xbb, 0xcf, 0x97, 0xbf,
+0xf6, 0x88, 0xc8, 0x9c, 0x88, 0xfc, 0xbb, 0xf7, 0xf2, 0xaf, 0xad, 0x56,
+0x76, 0xaa, 0x00, 0xdf, 0x99, 0x00, 0xba, 0x1e, 0x22, 0x9f, 0x9a, 0xc0,
+0xcb, 0x2f, 0x9f, 0x3c, 0x0a, 0xfa, 0xb4, 0x88, 0xd6, 0x54, 0x95, 0x72,
+0xb9, 0x44, 0xb5, 0x5a, 0x65, 0x70, 0x70, 0x10, 0x63, 0x0c, 0x51, 0x54,
+0xea, 0x82, 0x4d, 0xd3, 0x94, 0x66, 0x73, 0x89, 0xa5, 0xa5, 0x26, 0x8b,
+0x8b, 0xf3, 0x2c, 0x2e, 0x2e, 0x92, 0x65, 0x69, 0x3f, 0xb9, 0xd3, 0xde,
+0xfb, 0xe7, 0x92, 0x84, 0x33, 0x05, 0x01, 0xe9, 0x90, 0xb9, 0x15, 0x89,
+0xdb, 0x5e, 0x03, 0xc7, 0x8e, 0x9d, 0x3e, 0x60, 0x8c, 0x39, 0x61, 0xad,
+0xdd, 0x69, 0xad, 0x65, 0x78, 0x78, 0x98, 0xbb, 0xef, 0xbe, 0x83, 0x91,
+0x91, 0x0a, 0x03, 0x03, 0x01, 0x41, 0x60, 0x09, 0x02, 0x87, 0xf7, 0x20,
+0x02, 0x8d, 0x46, 0xc2, 0xd2, 0x52, 0xcc, 0xfc, 0x7c, 0x93, 0x7a, 0x7d,
+0x81, 0xe1, 0xe1, 0x21, 0x92, 0x24, 0x61, 0x7e, 0x7e, 0x96, 0xab, 0x57,
+0xaf, 0x11, 0xc7, 0x31, 0xc0, 0x83, 0xc6, 0x98, 0xff, 0x09, 0x43, 0xff,
+0x77, 0x69, 0x6a, 0x9f, 0x07, 0x4c, 0x41, 0xa2, 0x43, 0x64, 0xd5, 0x71,
+0x5b, 0x0a, 0x1c, 0x3f, 0xfe, 0xdf, 0x47, 0x8d, 0x31, 0x3f, 0x01, 0xd8,
+0xb2, 0x65, 0x94, 0xfb, 0xef, 0xdf, 0xce, 0x96, 0x2d, 0x25, 0x4a, 0x25,
+0x8b, 0x08, 0x5d, 0xd0, 0x6b, 0x3d, 0x9f, 0x9c, 0x9c, 0x63, 0x62, 0xe2,
+0x1a, 0xcd, 0x66, 0x0b, 0x91, 0x8c, 0xa9, 0xa9, 0x29, 0x26, 0x27, 0x27,
+0xbb, 0x8a, 0xa8, 0xca, 0x6f, 0xbd, 0xd7, 0xbf, 0x52, 0x0d, 0xea, 0x80,
+0x07, 0x64, 0x2d, 0x15, 0xd6, 0xad, 0xc0, 0xf1, 0xe3, 0xbf, 0x3d, 0x61,
+0xad, 0x3d, 0x5c, 0x2a, 0x95, 0x78, 0xe0, 0x81, 0xdd, 0xdc, 0x77, 0xdf,
+0x06, 0xca, 0x65, 0xd3, 0x05, 0xd7, 0x6a, 0x79, 0x66, 0x66, 0x12, 0x16,
+0x16, 0x52, 0xda, 0xed, 0x7c, 0x7a, 0xef, 0x11, 0xf1, 0x44, 0x91, 0xa3,
+0x54, 0x0a, 0xa9, 0x54, 0x4a, 0xd4, 0x6a, 0x83, 0x0c, 0x0d, 0xd5, 0xb8,
+0x7a, 0x75, 0x92, 0x8f, 0x3f, 0xbe, 0xc8, 0xd0, 0xd0, 0x30, 0x95, 0x4a,
+0x85, 0x89, 0x89, 0xcb, 0xb4, 0x5a, 0x2d, 0x80, 0xbf, 0x34, 0x46, 0xff,
+0x53, 0x35, 0x3b, 0x08, 0x41, 0x9d, 0xe5, 0xeb, 0xe2, 0xa6, 0xb1, 0x2e,
+0x05, 0x8e, 0x1d, 0x3b, 0x7d, 0xc2, 0x5a, 0x7b, 0xb8, 0x5a, 0xad, 0xf2,
+0xe0, 0x83, 0xf7, 0xb3, 0x63, 0x47, 0xd8, 0x8d, 0x68, 0xbd, 0xee, 0xb9,
+0x76, 0x2d, 0xa1, 0xd9, 0xcc, 0x10, 0xf1, 0x78, 0x2f, 0xc5, 0xa3, 0xef,
+0x7b, 0x14, 0xbc, 0xf7, 0x78, 0x9f, 0x91, 0x65, 0x42, 0xad, 0xb6, 0x81,
+0xad, 0x5b, 0xb7, 0x92, 0x24, 0x19, 0xef, 0xbe, 0xfb, 0x1e, 0x69, 0x1a,
+0xe3, 0xbd, 0xe7, 0xea, 0xd5, 0x2b, 0xcc, 0xcf, 0xcf, 0x75, 0xd6, 0xc5,
+0x1f, 0x54, 0xcd, 0xb7, 0x8c, 0x89, 0xa6, 0x01, 0xbf, 0x9a, 0x0a, 0xb7,
+0x2c, 0x64, 0x2f, 0xbf, 0x7c, 0xf2, 0x04, 0x70, 0x78, 0xd3, 0xa6, 0x1a,
+0x07, 0x0f, 0x7e, 0x85, 0xed, 0xdb, 0xc3, 0x22, 0xe2, 0x70, 0xfe, 0x7c,
+0xc6, 0xc4, 0x44, 0x46, 0x1c, 0x2b, 0xc6, 0x18, 0xc0, 0x60, 0x0a, 0x67,
+0xcf, 0x1f, 0x4d, 0x31, 0xbb, 0xf1, 0x02, 0xa0, 0x5e, 0x9f, 0xe5, 0xf7,
+0xbf, 0x7f, 0x97, 0xd9, 0xd9, 0x59, 0xf6, 0xec, 0xf9, 0x33, 0xac, 0x75,
+0x88, 0x28, 0x5b, 0xb6, 0x6c, 0xa5, 0x5c, 0x1e, 0xe8, 0xfc, 0xee, 0x2b,
+0xaa, 0xfe, 0x5f, 0x00, 0x77, 0xc3, 0x45, 0xd6, 0x4f, 0xe0, 0xa5, 0x97,
+0xfe, 0xeb, 0x69, 0x55, 0x3d, 0x5c, 0x2e, 0x97, 0xf9, 0xc6, 0x37, 0x76,
+0x33, 0x3c, 0x1c, 0x20, 0x02, 0xd3, 0xd3, 0xca, 0x87, 0x1f, 0x2a, 0xed,
+0xf6, 0xad, 0xe8, 0xd3, 0x25, 0x94, 0x3f, 0xef, 0xbd, 0x50, 0x85, 0x4f,
+0x3e, 0x99, 0xe0, 0xc2, 0x85, 0x0b, 0xec, 0xda, 0x75, 0x5f, 0xd7, 0x7e,
+0xb7, 0x6e, 0xdd, 0x4a, 0x10, 0x74, 0x33, 0xfb, 0xe1, 0x2c, 0x6b, 0x3c,
+0x05, 0xd8, 0xfe, 0xa2, 0xb7, 0x2e, 0x02, 0x2f, 0xbe, 0xf8, 0x9b, 0x7d,
+0xaa, 0xfa, 0x8a, 0x73, 0x8e, 0xfd, 0xfb, 0xef, 0x67, 0x78, 0x38, 0x8f,
+0xfc, 0xa5, 0x4b, 0x9e, 0x2b, 0x57, 0x72, 0xfb, 0x03, 0xa5, 0x93, 0x81,
+0x2b, 0xa7, 0x62, 0xef, 0xf3, 0xce, 0xeb, 0x1e, 0x87, 0xfc, 0xb3, 0x66,
+0x73, 0x91, 0x4b, 0x97, 0xc6, 0xd9, 0xb6, 0xed, 0x4b, 0xa8, 0x2a, 0xc6,
+0x58, 0x46, 0x47, 0x47, 0xe9, 0x4b, 0xfb, 0x23, 0x69, 0xba, 0x74, 0xcf,
+0x6a, 0x38, 0xd7, 0x50, 0x40, 0x4f, 0xa8, 0xc2, 0x9e, 0x3d, 0xf7, 0xb2,
+0x7d, 0x7b, 0x05, 0x11, 0xb8, 0x78, 0x31, 0x61, 0x66, 0x26, 0x2b, 0x0a,
+0x91, 0xef, 0x16, 0xa7, 0x5f, 0xff, 0xfa, 0x37, 0x34, 0x1a, 0x4b, 0xa8,
+0x6a, 0x97, 0x48, 0x0f, 0x78, 0x8f, 0x41, 0xfe, 0x9e, 0x2e, 0xfb, 0x4c,
+0x15, 0x16, 0x17, 0x17, 0x98, 0x9b, 0x9b, 0x25, 0x0c, 0xcb, 0xa8, 0x0a,
+0xa5, 0x52, 0x99, 0x0d, 0x1b, 0x06, 0x3b, 0x5f, 0xda, 0xa4, 0x2a, 0x7f,
+0xcb, 0x2a, 0x69, 0xb4, 0x22, 0x81, 0x17, 0x5e, 0x78, 0xfd, 0x3b, 0xaa,
+0xba, 0x6f, 0xe3, 0xc6, 0x8d, 0xdc, 0x7b, 0xef, 0x08, 0xc6, 0x18, 0xa6,
+0xa7, 0x53, 0xea, 0xf5, 0x14, 0xef, 0xa5, 0x3b, 0x3b, 0x85, 0xe8, 0xfa,
+0xf5, 0xeb, 0xbc, 0xfe, 0xfa, 0xaf, 0x38, 0x7b, 0xf6, 0x5c, 0x97, 0x44,
+0x3e, 0x3b, 0xc0, 0x6f, 0x34, 0x12, 0x2d, 0xc0, 0xf7, 0xde, 0x5f, 0x5c,
+0x5c, 0x20, 0x4d, 0x63, 0x44, 0xf2, 0xf7, 0x6b, 0xb5, 0x21, 0x54, 0xbb,
+0xca, 0x3e, 0x11, 0xc7, 0x73, 0x2b, 0xaa, 0xb0, 0x22, 0x01, 0x55, 0x3d,
+0xaa, 0xaa, 0xec, 0xd9, 0xf3, 0x65, 0x36, 0x6e, 0x8c, 0x68, 0xb7, 0x85,
+0x89, 0x89, 0x56, 0x5f, 0x1b, 0xd0, 0x53, 0x20, 0x4f, 0x25, 0x38, 0x78,
+0xf0, 0x01, 0xce, 0x9d, 0xfb, 0x23, 0xa7, 0x4e, 0x9d, 0x5e, 0xa6, 0xc6,
+0x72, 0x32, 0x5a, 0xa4, 0x89, 0x29, 0xc0, 0xd1, 0x05, 0x2c, 0xa2, 0xa4,
+0x69, 0xa7, 0x16, 0x28, 0xce, 0x39, 0xaa, 0xd5, 0x2a, 0xc6, 0x74, 0xbe,
+0xc7, 0x53, 0xeb, 0x22, 0xf0, 0xfc, 0xf3, 0xff, 0x71, 0x48, 0x55, 0x77,
+0x0e, 0x0d, 0xd5, 0x18, 0x1d, 0xad, 0x22, 0x02, 0x97, 0x2f, 0x37, 0x49,
+0xd3, 0x1e, 0xe0, 0x0e, 0x81, 0x8e, 0x45, 0x02, 0x3c, 0xfc, 0xf0, 0xd7,
+0xf8, 0xf1, 0x8f, 0x1f, 0x65, 0x68, 0x28, 0xe2, 0x8d, 0x37, 0x4e, 0xf1,
+0xe1, 0x87, 0x1f, 0xa1, 0x2a, 0x37, 0x11, 0xe9, 0x57, 0xa4, 0xa3, 0x50,
+0x4e, 0x42, 0x6e, 0x50, 0xcc, 0x30, 0x30, 0x50, 0x2d, 0xf2, 0x46, 0x01,
+0x39, 0xb4, 0xd2, 0x42, 0xbe, 0x89, 0x80, 0xaa, 0x1e, 0x56, 0x15, 0x36,
+0x6f, 0x1e, 0x61, 0x68, 0xa8, 0xc2, 0xc2, 0x42, 0xc2, 0xec, 0x6c, 0xeb,
+0x06, 0xe0, 0xd2, 0xf5, 0xfb, 0x99, 0x99, 0x3a, 0x77, 0xdd, 0x35, 0x82,
+0x08, 0x0c, 0x0d, 0x0d, 0xf2, 0xec, 0xb3, 0x0f, 0xf3, 0xd8, 0x63, 0x7f,
+0xc1, 0x47, 0x1f, 0x5d, 0xe0, 0xcd, 0x37, 0xff, 0x97, 0x66, 0xb3, 0xd9,
+0x8d, 0x7c, 0x47, 0x89, 0x4e, 0xd4, 0x3b, 0xcd, 0x9d, 0xaa, 0x14, 0x37,
+0x17, 0x50, 0xc5, 0x1a, 0x83, 0x41, 0xa9, 0x0e, 0x54, 0x00, 0xd3, 0x49,
+0xfe, 0xbb, 0x1b, 0x8d, 0xe9, 0x7d, 0x6b, 0x12, 0x38, 0x7a, 0xf4, 0xdf,
+0x6a, 0xaa, 0xf2, 0x48, 0x10, 0x84, 0x8c, 0x8e, 0x0e, 0x17, 0x96, 0xd9,
+0xa2, 0xbf, 0xa3, 0xec, 0x00, 0xef, 0xa4, 0x50, 0x1c, 0x27, 0x54, 0x2a,
+0x51, 0xb7, 0xb0, 0x89, 0xc0, 0xd7, 0xbf, 0x7e, 0x1f, 0xcf, 0x3f, 0xff,
+0x18, 0x77, 0xdd, 0xb5, 0x91, 0xdf, 0xfd, 0xee, 0x4d, 0xc6, 0xc7, 0x2f,
+0xf5, 0xa9, 0xd1, 0xe9, 0x4a, 0x57, 0x56, 0xc5, 0x98, 0xa2, 0x0a, 0x18,
+0x70, 0xce, 0x51, 0x2a, 0x95, 0xa1, 0x9b, 0x72, 0x7a, 0xe8, 0x46, 0x02,
+0xcb, 0x5a, 0x09, 0x11, 0x7d, 0xc8, 0x5a, 0xa5, 0x5a, 0x1d, 0xa0, 0x5a,
+0x8d, 0x48, 0x53, 0x61, 0x7a, 0xba, 0x51, 0xf8, 0x77, 0x6e, 0x71, 0xd0,
+0xf3, 0xf3, 0x1e, 0xa0, 0xbc, 0xdf, 0xe9, 0x1f, 0x51, 0x14, 0xf1, 0xbd,
+0xef, 0x7d, 0x8b, 0xf3, 0xe7, 0xaf, 0x30, 0x36, 0x76, 0x8a, 0xc9, 0xc9,
+0x29, 0x76, 0xef, 0xbe, 0x97, 0x30, 0x74, 0xcb, 0xa2, 0x2f, 0x22, 0xa8,
+0x68, 0x01, 0xda, 0x60, 0x8c, 0xc1, 0x1a, 0x83, 0xa8, 0x20, 0x0a, 0x41,
+0xe0, 0x30, 0x3d, 0x03, 0xd8, 0xbb, 0xa6, 0x02, 0xaa, 0xba, 0x4f, 0x55,
+0x18, 0x18, 0x18, 0xa0, 0x5c, 0x0e, 0x59, 0x58, 0x88, 0x97, 0x45, 0x7e,
+0x79, 0x5b, 0xe0, 0xbb, 0xef, 0xe7, 0xe4, 0x57, 0x9e, 0xbb, 0x76, 0xdd,
+0xc9, 0x73, 0xcf, 0x3d, 0xca, 0xde, 0xbd, 0x3b, 0x78, 0xfb, 0xed, 0x33,
+0x4c, 0x4c, 0x5c, 0x2d, 0xae, 0xd9, 0x59, 0xbc, 0xd2, 0x8b, 0x3e, 0x86,
+0xc0, 0x5a, 0x02, 0x67, 0x71, 0xd6, 0x61, 0x2d, 0x94, 0xcb, 0xa5, 0x3e,
+0x85, 0xa8, 0xdd, 0x82, 0x80, 0x1c, 0x10, 0x51, 0x82, 0x20, 0x60, 0x60,
+0xa0, 0xcc, 0xc2, 0x42, 0xeb, 0x26, 0xc7, 0x59, 0xee, 0x42, 0x9e, 0x46,
+0xa3, 0x41, 0xb9, 0x5c, 0xc2, 0x7b, 0x56, 0x9d, 0x51, 0x14, 0xf1, 0xed,
+0x6f, 0xef, 0xe7, 0xa9, 0xa7, 0x0e, 0x91, 0xa6, 0x0d, 0x3e, 0xf8, 0xe0,
+0x3c, 0xed, 0x76, 0xdc, 0x33, 0x01, 0xcd, 0xc1, 0x3b, 0x9b, 0xcf, 0xc0,
+0x5a, 0x9c, 0x31, 0x58, 0x63, 0xb1, 0x26, 0x8f, 0x7f, 0x91, 0x69, 0x07,
+0x6e, 0xa5, 0x40, 0x2d, 0x2f, 0x24, 0xa5, 0xa2, 0x97, 0x6f, 0xaf, 0xe8,
+0x3c, 0xbd, 0x5a, 0xe0, 0x69, 0x36, 0x1b, 0x6c, 0xdb, 0x36, 0xb2, 0xaa,
+0x02, 0xfd, 0x73, 0xdb, 0xb6, 0x11, 0x9e, 0x79, 0xe6, 0x51, 0xf6, 0xef,
+0xdf, 0xcd, 0xc4, 0xc4, 0x65, 0xea, 0xf5, 0xd9, 0x5c, 0x09, 0x04, 0x6b,
+0xc8, 0x09, 0x38, 0x5b, 0x4c, 0x83, 0xb5, 0x79, 0x4a, 0xf5, 0x9c, 0xe8,
+0xe6, 0x71, 0xc3, 0x1a, 0x90, 0x7d, 0x9d, 0x3c, 0x14, 0x81, 0x85, 0x85,
+0x06, 0xc6, 0xd8, 0x6e, 0x6e, 0xc2, 0xf2, 0x7e, 0x26, 0xff, 0x8d, 0xae,
+0xb8, 0x06, 0xd6, 0x1a, 0xdf, 0xfc, 0xe6, 0xd7, 0xf8, 0xea, 0x57, 0x77,
+0xf3, 0xc6, 0x1b, 0xef, 0x30, 0x39, 0x39, 0x87, 0x35, 0xa6, 0x20, 0xe0,
+0x08, 0x5d, 0x80, 0x35, 0xf9, 0x75, 0xad, 0x91, 0xa2, 0x66, 0xac, 0xde,
+0x51, 0x2f, 0x23, 0x90, 0xdb, 0x99, 0x2d, 0x22, 0x0e, 0x22, 0x82, 0x31,
+0xfd, 0x9d, 0xe6, 0x72, 0x12, 0xcb, 0xad, 0x71, 0xfd, 0x04, 0x00, 0xca,
+0xe5, 0x32, 0x43, 0x43, 0x83, 0x4c, 0x5e, 0x9f, 0xc3, 0x18, 0x83, 0x2b,
+0x72, 0x3f, 0x70, 0x16, 0x03, 0x38, 0x2b, 0x64, 0x62, 0x48, 0xd3, 0x64,
+0x95, 0x3e, 0x6b, 0x05, 0x02, 0x22, 0x8a, 0x31, 0xd2, 0x23, 0xe0, 0xf3,
+0x08, 0x50, 0x28, 0xd0, 0x6b, 0x91, 0x7b, 0xa3, 0xd5, 0x6a, 0x22, 0x32,
+0x74, 0x5b, 0x0a, 0xbc, 0xff, 0xfe, 0x25, 0xde, 0x7e, 0xfb, 0x1c, 0xad,
+0x56, 0x8c, 0x2b, 0x52, 0x27, 0x74, 0x8e, 0x28, 0x0c, 0x08, 0x83, 0xdc,
+0xa5, 0x8c, 0xcf, 0xad, 0x34, 0x4d, 0x53, 0xa4, 0x47, 0xe0, 0xcc, 0x9a,
+0x04, 0x54, 0x05, 0x83, 0x21, 0x8e, 0x63, 0x16, 0x16, 0x1a, 0x85, 0x22,
+0xbd, 0x9e, 0x5e, 0xc4, 0x70, 0x43, 0x06, 0xd1, 0x6c, 0xb6, 0xb9, 0xe3,
+0x8e, 0x91, 0x75, 0x29, 0x30, 0x35, 0x35, 0xc7, 0x5b, 0x6f, 0x9d, 0x63,
+0x6a, 0x6a, 0x96, 0x2c, 0xcb, 0x30, 0x08, 0xd6, 0xd8, 0x1c, 0x7c, 0x10,
+0x10, 0x05, 0x8e, 0xc0, 0x39, 0x52, 0x9f, 0x61, 0xac, 0xc1, 0x60, 0xba,
+0x6d, 0x49, 0x31, 0xe6, 0xd6, 0x24, 0x20, 0x22, 0x27, 0x8d, 0xb5, 0x07,
+0x92, 0xb8, 0x4d, 0xb3, 0xd1, 0xa2, 0x93, 0x77, 0xa6, 0x53, 0x3d, 0xa1,
+0xdb, 0xcb, 0x40, 0xaf, 0xf8, 0x84, 0x61, 0xb4, 0xa6, 0x02, 0xcd, 0x66,
+0xcc, 0x3b, 0xef, 0x5c, 0xe0, 0xf2, 0xe5, 0xeb, 0xa4, 0x69, 0x4a, 0x96,
+0x79, 0x50, 0xc1, 0x19, 0x43, 0x14, 0x38, 0xca, 0x51, 0x40, 0xb9, 0x14,
+0x12, 0x05, 0x0e, 0x80, 0xcc, 0xe7, 0xe0, 0xe3, 0x24, 0x2e, 0xa2, 0xdf,
+0x25, 0x70, 0xf2, 0x56, 0x04, 0xe6, 0x72, 0xd6, 0x8b, 0xcc, 0xd4, 0x67,
+0xa8, 0x94, 0x4b, 0x24, 0x71, 0x82, 0xa8, 0x60, 0xc8, 0x15, 0x52, 0x01,
+0x51, 0xed, 0x1d, 0xde, 0xdc, 0x62, 0x0d, 0x9c, 0x3d, 0x7b, 0x89, 0xf3,
+0xe7, 0x2f, 0xd3, 0x6a, 0xb5, 0xc9, 0xb2, 0x0c, 0xdf, 0x05, 0x6f, 0x29,
+0x85, 0x01, 0x03, 0xa5, 0x88, 0x4a, 0x14, 0x51, 0x0e, 0x03, 0x9c, 0x73,
+0x64, 0xe2, 0xbb, 0xd7, 0x9d, 0x9d, 0x9b, 0xc3, 0x7b, 0xed, 0x57, 0xe0,
+0x56, 0x29, 0xa4, 0x67, 0x14, 0x7d, 0xa4, 0xb1, 0xd4, 0xa0, 0xdd, 0x6e,
+0x52, 0xad, 0x0e, 0x80, 0x0a, 0x81, 0x31, 0x39, 0x68, 0x35, 0x18, 0x3c,
+0x5e, 0xa4, 0x78, 0xdd, 0xe9, 0x20, 0x6f, 0x76, 0xa1, 0x7a, 0x7d, 0x9e,
+0x33, 0x67, 0xce, 0xb2, 0xb8, 0xd8, 0xe8, 0x15, 0x3e, 0xef, 0x31, 0x28,
+0xce, 0x5a, 0xa2, 0xc0, 0x51, 0x89, 0xa2, 0x9c, 0x40, 0x29, 0x22, 0x0a,
+0x1d, 0xaa, 0x90, 0x79, 0x8f, 0xa0, 0x78, 0x15, 0xe6, 0xe6, 0x66, 0x97,
+0x35, 0x79, 0xeb, 0x51, 0xe0, 0x35, 0x63, 0xcc, 0xd1, 0x46, 0xa3, 0x81,
+0xcf, 0x32, 0xd2, 0x38, 0xc5, 0x19, 0x8a, 0xf2, 0x0e, 0x06, 0x21, 0xf3,
+0x79, 0x4a, 0x21, 0x79, 0x15, 0x6d, 0x36, 0x5b, 0xc5, 0x21, 0x56, 0x7e,
+0x8d, 0x56, 0xab, 0xcd, 0x7b, 0xef, 0x7d, 0xc8, 0x95, 0x2b, 0x93, 0x85,
+0xc5, 0x7a, 0xb4, 0x28, 0x56, 0xce, 0x1a, 0x9c, 0xc9, 0xc1, 0x97, 0xc2,
+0x80, 0x6a, 0xb9, 0xc4, 0x40, 0x29, 0x22, 0x0c, 0x02, 0xac, 0x85, 0x24,
+0xf3, 0x78, 0x15, 0x32, 0x2f, 0xd4, 0x67, 0x66, 0x89, 0x93, 0x14, 0x2f,
+0xdd, 0xc8, 0xbc, 0x36, 0x36, 0x76, 0x64, 0xfe, 0x46, 0x02, 0xcb, 0x0a,
+0xd9, 0xf1, 0xe3, 0x7f, 0xfd, 0x8e, 0x78, 0x3f, 0xee, 0xc5, 0x53, 0xaf,
+0x4f, 0xe3, 0xb3, 0x04, 0x63, 0x20, 0xb0, 0x10, 0x58, 0x4b, 0xe4, 0x1c,
+0x91, 0xb3, 0x84, 0xce, 0x10, 0x58, 0x70, 0x46, 0xd9, 0xba, 0x65, 0x33,
+0x23, 0x23, 0x23, 0x78, 0x0f, 0x67, 0xcf, 0x8e, 0x73, 0xfa, 0xd4, 0x5b,
+0x5c, 0xbb, 0x32, 0x09, 0x2a, 0x18, 0x15, 0xac, 0xe6, 0x37, 0x89, 0xac,
+0xa5, 0x12, 0x06, 0x54, 0xcb, 0x11, 0x1b, 0x2a, 0x65, 0x36, 0x55, 0x07,
+0x18, 0xac, 0x94, 0xf3, 0xe8, 0x07, 0xf9, 0xbe, 0x5d, 0x44, 0x49, 0x33,
+0x4f, 0x9c, 0xa6, 0x5c, 0x9f, 0xbc, 0x8e, 0x97, 0xac, 0x3f, 0xfa, 0xaf,
+0xde, 0x08, 0xfe, 0x26, 0x05, 0x8a, 0x44, 0xfa, 0xa5, 0x78, 0x79, 0x7a,
+0x7a, 0x7a, 0x9a, 0xcd, 0xc3, 0x9b, 0x89, 0x02, 0x8b, 0xc1, 0x12, 0xd8,
+0xdc, 0x8d, 0x9c, 0xc9, 0x01, 0xa5, 0x05, 0xfb, 0x5d, 0x77, 0x7f, 0x89,
+0xb9, 0xd9, 0x05, 0xde, 0x7f, 0xf7, 0x2c, 0xcd, 0x56, 0x0b, 0x15, 0xcd,
+0xdb, 0x00, 0x0c, 0xb8, 0xbc, 0x2d, 0x76, 0xc6, 0x75, 0xd3, 0xa6, 0x14,
+0x06, 0x94, 0xa3, 0x90, 0x52, 0x18, 0x12, 0x85, 0x0e, 0x63, 0x0c, 0x99,
+0x17, 0xbc, 0x08, 0x49, 0x96, 0x91, 0x64, 0x9e, 0x4f, 0xae, 0x4c, 0xd0,
+0x8e, 0x63, 0x7c, 0xb7, 0x4f, 0x62, 0x7c, 0x6c, 0xec, 0xc8, 0x4a, 0x87,
+0xc1, 0x37, 0x13, 0x50, 0xd5, 0x57, 0xbc, 0xf8, 0xa7, 0x93, 0x34, 0x61,
+0x6a, 0xfa, 0x3a, 0xa5, 0x3b, 0xef, 0x24, 0xb0, 0x79, 0x9b, 0x1b, 0x38,
+0x43, 0xa8, 0x01, 0xa1, 0xb3, 0x64, 0xce, 0x92, 0x7a, 0x4b, 0x92, 0x19,
+0xce, 0xbf, 0xfb, 0x01, 0xc6, 0x0b, 0xe5, 0x20, 0x40, 0x34, 0xef, 0x2e,
+0xc1, 0x61, 0x01, 0xe7, 0x0c, 0x81, 0x75, 0x84, 0x81, 0xcd, 0xad, 0x32,
+0x0c, 0x88, 0x82, 0x80, 0xc0, 0x59, 0xc0, 0x90, 0x89, 0x27, 0x13, 0x4f,
+0x3b, 0x49, 0x69, 0xa7, 0x29, 0x53, 0xf5, 0x69, 0xea, 0x33, 0x73, 0xa4,
+0x59, 0x86, 0x48, 0x37, 0xfc, 0x47, 0x57, 0x02, 0x0f, 0xab, 0x1c, 0x6c,
+0xfd, 0xe8, 0x47, 0xff, 0xf4, 0x6a, 0x18, 0x04, 0xdf, 0x29, 0x47, 0x21,
+0xf7, 0x7e, 0xf9, 0x1e, 0x86, 0x36, 0xd5, 0x28, 0x87, 0x01, 0xa5, 0x30,
+0x20, 0x28, 0xfc, 0x59, 0x54, 0xf1, 0xde, 0x93, 0x79, 0x21, 0xf3, 0x9e,
+0xcc, 0xfb, 0xc2, 0x31, 0x84, 0x7c, 0x3f, 0x05, 0xd6, 0xe4, 0xbd, 0x4d,
+0xe8, 0x2c, 0x81, 0x73, 0xc5, 0x2c, 0x1a, 0x34, 0x55, 0x52, 0x9f, 0xa7,
+0x4b, 0x33, 0x4e, 0x69, 0xc4, 0x31, 0xd7, 0xa7, 0xa7, 0xf9, 0xf8, 0xe2,
+0x38, 0xad, 0x38, 0xee, 0x27, 0x70, 0x66, 0x6c, 0xec, 0xc8, 0x9f, 0xaf,
+0x46, 0x60, 0xc5, 0xa3, 0xc5, 0xd0, 0xd9, 0x9f, 0x66, 0x59, 0x7a, 0x28,
+0x81, 0xda, 0xf8, 0xa5, 0xcb, 0x04, 0xf7, 0x04, 0xd8, 0xc1, 0x0d, 0x79,
+0xd5, 0x0c, 0x43, 0x9c, 0xb3, 0x04, 0x06, 0x28, 0xaa, 0xa6, 0x14, 0xae,
+0x24, 0xa2, 0xfd, 0xc7, 0x11, 0xf9, 0xce, 0xca, 0x80, 0x2d, 0xba, 0x4b,
+0x63, 0x0c, 0x8a, 0xe2, 0x45, 0x0a, 0xf0, 0x19, 0xcd, 0x38, 0xa5, 0x19,
+0xc7, 0x4c, 0xd5, 0xeb, 0x5c, 0xbc, 0x7c, 0x89, 0x38, 0xc9, 0xc8, 0xbc,
+0xef, 0xb7, 0xce, 0xc3, 0xab, 0x81, 0x5f, 0x55, 0x01, 0x80, 0x1f, 0xfe,
+0xe0, 0x1f, 0x9f, 0x35, 0xc6, 0xfe, 0x7d, 0x39, 0x8a, 0xa8, 0x56, 0xca,
+0xec, 0xba, 0x67, 0x27, 0xb5, 0xc1, 0x41, 0x2a, 0x51, 0x58, 0x28, 0x61,
+0x71, 0xd6, 0x62, 0xad, 0xe9, 0xd6, 0x99, 0x1c, 0x5e, 0x31, 0x0a, 0x19,
+0x3a, 0x85, 0x5b, 0x35, 0x07, 0x9e, 0xf9, 0x3c, 0xd7, 0xf3, 0xc8, 0x27,
+0x34, 0xe3, 0x84, 0x89, 0x2b, 0x57, 0xb9, 0x3a, 0x79, 0x8d, 0x76, 0x9c,
+0x90, 0xa4, 0x69, 0x7f, 0xee, 0x3f, 0x33, 0x36, 0x76, 0xe4, 0xd8, 0xa7,
+0x22, 0x00, 0xf0, 0xfd, 0x27, 0x8f, 0xbf, 0x16, 0x38, 0x77, 0xa8, 0x54,
+0x90, 0xd8, 0xb9, 0x63, 0x07, 0x43, 0x1b, 0x7b, 0x24, 0xa2, 0x20, 0xc0,
+0x15, 0x44, 0x3a, 0x3b, 0xaa, 0x6e, 0xfe, 0x14, 0xc5, 0x4e, 0x8a, 0xed,
+0x63, 0x9e, 0x6a, 0xf9, 0x22, 0x6d, 0x27, 0x29, 0xad, 0x24, 0x61, 0x61,
+0x69, 0x89, 0x8b, 0x13, 0x13, 0xcc, 0x2d, 0x2c, 0xd0, 0x8e, 0x13, 0x32,
+0x9f, 0x91, 0xf9, 0x2e, 0xf8, 0x57, 0xc7, 0xc6, 0x8e, 0x7c, 0x77, 0x2d,
+0xf0, 0x70, 0x8b, 0xd3, 0xe9, 0xc0, 0xb9, 0xc3, 0x71, 0x9a, 0x9e, 0x54,
+0xd5, 0xbd, 0x22, 0x9e, 0xf3, 0x1f, 0x7d, 0xc4, 0xd6, 0xcd, 0xa3, 0xdc,
+0xb1, 0x65, 0x94, 0x81, 0x52, 0x89, 0x28, 0xf4, 0x44, 0x81, 0x23, 0x74,
+0x0e, 0x67, 0xf3, 0x0d, 0x48, 0xe7, 0x18, 0x44, 0xc9, 0x81, 0x7b, 0x2f,
+0x64, 0x22, 0x24, 0x69, 0x56, 0xb8, 0x4c, 0xc6, 0x52, 0xb3, 0xc5, 0xb5,
+0xa9, 0x49, 0xa6, 0xa6, 0xa7, 0x69, 0xb6, 0x13, 0x92, 0x34, 0xc9, 0xd7,
+0x90, 0xdc, 0x1e, 0xf8, 0x5b, 0x2a, 0x00, 0xf0, 0xc3, 0xef, 0xff, 0x43,
+0x2d, 0xc9, 0xb2, 0x93, 0x81, 0x73, 0x7b, 0xc3, 0xc0, 0x51, 0x0a, 0x43,
+0x06, 0x2a, 0x65, 0xb6, 0x8c, 0x6c, 0x66, 0xb8, 0x56, 0xa3, 0x52, 0x2e,
+0x11, 0x76, 0x17, 0x67, 0x4e, 0x00, 0xcd, 0xdb, 0x0d, 0xd1, 0x7c, 0xe3,
+0x93, 0x7a, 0x4f, 0x92, 0x66, 0xcc, 0x2f, 0x2e, 0x32, 0x3b, 0x3f, 0xc7,
+0xf4, 0xcc, 0x0c, 0xad, 0x38, 0x07, 0x9e, 0x66, 0x45, 0x95, 0xee, 0x55,
+0xdc, 0x75, 0x83, 0x5f, 0x17, 0x01, 0x80, 0x1f, 0x3c, 0x79, 0xbc, 0x16,
+0x27, 0xc9, 0x6b, 0xd6, 0xda, 0x87, 0xa2, 0xd0, 0x11, 0x06, 0x01, 0x61,
+0x10, 0x10, 0x85, 0x21, 0x1b, 0x37, 0x6c, 0xa0, 0x3a, 0x50, 0x65, 0x43,
+0x75, 0x80, 0x28, 0x8c, 0x70, 0x2e, 0x6f, 0xc8, 0xbc, 0xcf, 0x88, 0x93,
+0x94, 0x76, 0xbb, 0xcd, 0x52, 0x63, 0x89, 0xf9, 0xc5, 0x45, 0xe2, 0x24,
+0xa1, 0x9d, 0xa4, 0xa4, 0x59, 0xde, 0xd0, 0x79, 0x29, 0xda, 0x92, 0x3e,
+0xbb, 0x1c, 0x1b, 0x3b, 0xf2, 0xd3, 0xf5, 0x82, 0x5f, 0x37, 0x81, 0xce,
+0xf8, 0xee, 0xe1, 0x17, 0x8f, 0x1a, 0x63, 0x7e, 0xe2, 0xac, 0xc5, 0xb9,
+0xbc, 0x38, 0x05, 0x85, 0xa7, 0xe7, 0x1b, 0x11, 0xd7, 0x4d, 0x21, 0xc8,
+0x17, 0xac, 0x48, 0xc7, 0x66, 0xb3, 0xae, 0xdd, 0x8a, 0x48, 0x37, 0x5d,
+0x8a, 0xdb, 0x8f, 0x03, 0x87, 0xc7, 0xc6, 0x8e, 0x9c, 0xba, 0x1d, 0xf0,
+0xb7, 0x4d, 0x00, 0xe0, 0x89, 0x27, 0x5e, 0xd8, 0x6b, 0x8c, 0x79, 0xc5,
+0x1a, 0x73, 0xc0, 0xd8, 0xde, 0xc6, 0xdb, 0x16, 0x95, 0xda, 0x16, 0xb6,
+0xd3, 0x39, 0xd7, 0x14, 0x95, 0x6e, 0x94, 0x65, 0xd9, 0x49, 0x1d, 0x90,
+0xf7, 0xf7, 0xaf, 0xdc, 0x6e, 0xd4, 0x3f, 0x13, 0x81, 0xce, 0x78, 0xfc,
+0xf1, 0x9f, 0x3d, 0x64, 0x0c, 0x87, 0xad, 0xb1, 0x8f, 0x18, 0x63, 0x6a,
+0xbd, 0x0d, 0x78, 0x6f, 0xc7, 0xd3, 0x01, 0x9c, 0xef, 0x25, 0x96, 0x01,
+0x3f, 0x03, 0xbc, 0xc2, 0x2a, 0x0d, 0xda, 0xff, 0x0b, 0x81, 0xfe, 0xf1,
+0xf8, 0xe3, 0x3f, 0x3b, 0x04, 0xec, 0x23, 0x3f, 0xf6, 0xd8, 0x59, 0xcc,
+0xce, 0x98, 0x23, 0x07, 0x3c, 0x4e, 0xde, 0x0e, 0x9f, 0x1c, 0x1b, 0x3b,
+0x72, 0xf1, 0x33, 0xdf, 0xb4, 0x18, 0x7f, 0xb2, 0xbf, 0xd4, 0x7f, 0x5e,
+0xe3, 0x0b, 0xff, 0xcf, 0x1e, 0x5f, 0x78, 0x02, 0xff, 0x07, 0xe2, 0x1a,
+0xeb, 0x6e, 0x4b, 0x67, 0x61, 0x8b, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45,
+0x4e, 0x44, 0xae, 0x42, 0x60, 0x82,
+};
diff --git a/Source/Core/DebuggerWX/src/BreakpointWindow.cpp b/Source/Core/DebuggerWX/src/BreakpointWindow.cpp
index 37bbf62c8b..b9e9b9b5d6 100644
--- a/Source/Core/DebuggerWX/src/BreakpointWindow.cpp
+++ b/Source/Core/DebuggerWX/src/BreakpointWindow.cpp
@@ -22,6 +22,7 @@
#include "HW/Memmap.h"
#include "BreakPointDlg.h"
#include "MemoryCheckDlg.h"
+#include "IniFile.h"
#include "wx/mstream.h"
@@ -70,6 +71,28 @@ CBreakPointWindow::~CBreakPointWindow()
void
+CBreakPointWindow::Save(IniFile& _IniFile) const
+{
+ _IniFile.Set("BreakPoint", "x", GetPosition().x);
+ _IniFile.Set("BreakPoint", "y", GetPosition().y);
+ _IniFile.Set("BreakPoint", "w", GetSize().GetWidth());
+ _IniFile.Set("BreakPoint", "h", GetSize().GetHeight());
+}
+
+
+void
+CBreakPointWindow::Load(IniFile& _IniFile)
+{
+ int x,y,w,h;
+ _IniFile.Get("BreakPoint", "x", &x, GetPosition().x);
+ _IniFile.Get("BreakPoint", "y", &y, GetPosition().y);
+ _IniFile.Get("BreakPoint", "w", &w, GetSize().GetWidth());
+ _IniFile.Get("BreakPoint", "h", &h, GetSize().GetHeight());
+ SetSize(x, y, w, h);
+}
+
+
+void
CBreakPointWindow::CreateGUIControls()
{
SetTitle(wxT("Breakpoints"));
diff --git a/Source/Core/DebuggerWX/src/BreakpointWindow.h b/Source/Core/DebuggerWX/src/BreakpointWindow.h
index 652e0c6869..b753314043 100644
--- a/Source/Core/DebuggerWX/src/BreakpointWindow.h
+++ b/Source/Core/DebuggerWX/src/BreakpointWindow.h
@@ -21,6 +21,7 @@
class CBreakPointView;
class CCodeWindow;
class wxListEvent;
+class IniFile;
#undef BREAKPOINT_WINDOW_STYLE
#define BREAKPOINT_WINDOW_STYLE wxCAPTION | wxSYSTEM_MENU | wxCLOSE_BOX | wxRESIZE_BORDER
@@ -41,6 +42,9 @@ class CBreakPointWindow
virtual ~CBreakPointWindow();
void NotifyUpdate();
+
+ void Save(IniFile& _IniFile) const;
+ void Load(IniFile& _IniFile);
private:
diff --git a/Source/Core/DebuggerWX/src/CodeWindow.cpp b/Source/Core/DebuggerWX/src/CodeWindow.cpp
index 8898f3b128..e865848949 100644
--- a/Source/Core/DebuggerWX/src/CodeWindow.cpp
+++ b/Source/Core/DebuggerWX/src/CodeWindow.cpp
@@ -47,9 +47,11 @@
#include "../../DolphinWX/src/Globals.h"
extern "C" {
-#include "../resources/toolbar_add_breakpoint.c"
-#include "../resources/toolbar_add_memorycheck.c"
-#include "../resources/toolbar_delete.c"
+ #include "../resources/toolbar_play.c"
+ #include "../resources/toolbar_pause.c"
+ #include "../resources/toolbar_add_memorycheck.c"
+ #include "../resources/toolbar_delete.c"
+ #include "../resources/toolbar_add_breakpoint.c"
}
static const long TOOLBAR_STYLE = wxTB_FLAT | wxTB_DOCKABLE | wxTB_TEXT;
@@ -84,7 +86,7 @@ CCodeWindow::CCodeWindow(const SCoreStartupParameter& _LocalCoreStartupParameter
const wxString& title, const wxPoint& pos, const wxSize& size, long style)
: wxFrame(parent, id, title, pos, size, style)
, m_RegisterWindow(NULL)
- , m_logwindow(NULL)
+ , m_LogWindow(NULL)
{
InitBitmaps();
@@ -95,50 +97,54 @@ CCodeWindow::CCodeWindow(const SCoreStartupParameter& _LocalCoreStartupParameter
UpdateButtonStates();
+ wxTheApp->Connect(wxID_ANY, wxEVT_KEY_DOWN,
+ wxKeyEventHandler(CCodeWindow::OnKeyDown),
+ (wxObject*)0, this);
+
// load ini...
- int x,y,w,h;
+ IniFile file;
+ file.Load("Debugger.ini");
+ this->Load(file);
+ m_BreakpointWindow->Load(file);
+ m_LogWindow->Load(file);
+ m_RegisterWindow->Load(file);
+ m_MemoryWindow->Load(file);
+}
+
+
+CCodeWindow::~CCodeWindow()
+{
IniFile file;
file.Load("Debugger.ini");
+ this->Save(file);
+ m_BreakpointWindow->Save(file);
+ m_LogWindow->Save(file);
+ m_RegisterWindow->Save(file);
+ m_MemoryWindow->Save(file);
+
+ file.Save("Debugger.ini");
+}
+
+
+void CCodeWindow::Load( IniFile &file )
+{
+ int x,y,w,h;
file.Get("Code", "x", &x, GetPosition().x);
file.Get("Code", "y", &y, GetPosition().y);
file.Get("Code", "w", &w, GetSize().GetWidth());
file.Get("Code", "h", &h, GetSize().GetHeight());
this->SetSize(x, y, w, h);
+}
- // These really should be in the respective constructors.
- if (m_BreakpointWindow) {
- file.Get("BreakPoint", "x", &x, m_BreakpointWindow->GetPosition().x);
- file.Get("BreakPoint", "y", &y, m_BreakpointWindow->GetPosition().y);
- file.Get("BreakPoint", "w", &w, m_BreakpointWindow->GetSize().GetWidth());
- file.Get("BreakPoint", "h", &h, m_BreakpointWindow->GetSize().GetHeight());
- m_BreakpointWindow->SetSize(x, y, w, h);
- }
-
- if (m_logwindow) {
- file.Get("LogWindow", "x", &x, m_logwindow->GetPosition().x);
- file.Get("LogWindow", "y", &y, m_logwindow->GetPosition().y);
- file.Get("LogWindow", "w", &w, m_logwindow->GetSize().GetWidth());
- file.Get("LogWindow", "h", &h, m_logwindow->GetSize().GetHeight());
- m_logwindow->SetSize(x, y, w, h);
- }
-
- if (m_RegisterWindow) {
- file.Get("RegisterWindow", "x", &x, m_RegisterWindow->GetPosition().x);
- file.Get("RegisterWindow", "y", &y, m_RegisterWindow->GetPosition().y);
- //file.Get("RegisterWindow", "w", &w, m_RegisterWindow->GetSize().GetWidth());
- //file.Get("RegisterWindow", "h", &h, m_RegisterWindow->GetSize().GetHeight());
- m_RegisterWindow->SetSize(x, y, w, h);
- }
- if (m_MemoryWindow) {
- file.Get("MemoryWindow", "x", &x, m_MemoryWindow->GetPosition().x);
- file.Get("MemoryWindow", "y", &y, m_MemoryWindow->GetPosition().y);
- file.Get("MemoryWindow", "w", &w, m_MemoryWindow->GetSize().GetWidth());
- file.Get("MemoryWindow", "h", &h, m_MemoryWindow->GetSize().GetHeight());
- m_RegisterWindow->SetSize(x, y, w, h);
- }
+void CCodeWindow::Save(IniFile &file) const
+{
+ file.Set("Code", "x", GetPosition().x);
+ file.Set("Code", "y", GetPosition().y);
+ file.Set("Code", "w", GetSize().GetWidth());
+ file.Set("Code", "h", GetSize().GetHeight());
}
@@ -169,8 +175,8 @@ void CCodeWindow::CreateGUIControls(const SCoreStartupParameter& _LocalCoreStart
// additional dialogs
if (IsLoggingActivated())
{
- m_logwindow = new CLogWindow(this);
- m_logwindow->Show(true);
+ m_LogWindow = new CLogWindow(this);
+ m_LogWindow->Show(true);
}
m_RegisterWindow = new CRegisterWindow(this);
@@ -184,48 +190,6 @@ void CCodeWindow::CreateGUIControls(const SCoreStartupParameter& _LocalCoreStart
}
-CCodeWindow::~CCodeWindow()
-{
- IniFile file;
- file.Load("Debugger.ini");
-
- file.Set("Code", "x", GetPosition().x);
- file.Set("Code", "y", GetPosition().y);
- file.Set("Code", "w", GetSize().GetWidth());
- file.Set("Code", "h", GetSize().GetHeight());
-
- // These really should be in the respective destructors.
- if (m_BreakpointWindow) {
- file.Set("BreakPoint", "x", m_BreakpointWindow->GetPosition().x);
- file.Set("BreakPoint", "y", m_BreakpointWindow->GetPosition().y);
- file.Set("BreakPoint", "w", m_BreakpointWindow->GetSize().GetWidth());
- file.Set("BreakPoint", "h", m_BreakpointWindow->GetSize().GetHeight());
- }
-
- if (m_logwindow) {
- file.Set("LogWindow", "x", m_logwindow->GetPosition().x);
- file.Set("LogWindow", "y", m_logwindow->GetPosition().y);
- file.Set("LogWindow", "w", m_logwindow->GetSize().GetWidth());
- file.Set("LogWindow", "h", m_logwindow->GetSize().GetHeight());
- }
-
- if (m_RegisterWindow) {
- file.Set("RegisterWindow", "x", m_RegisterWindow->GetPosition().x);
- file.Set("RegisterWindow", "y", m_RegisterWindow->GetPosition().y);
- file.Set("RegisterWindow", "w", m_RegisterWindow->GetSize().GetWidth());
- file.Set("RegisterWindow", "h", m_RegisterWindow->GetSize().GetHeight());
- }
-
- if (m_MemoryWindow) {
- file.Set("MemoryWindow", "x", m_MemoryWindow->GetPosition().x);
- file.Set("MemoryWindow", "y", m_MemoryWindow->GetPosition().y);
- file.Set("MemoryWindow", "w", m_MemoryWindow->GetSize().GetWidth());
- file.Set("MemoryWindow", "h", m_MemoryWindow->GetSize().GetHeight());
- }
- file.Save("Debugger.ini");
-}
-
-
void CCodeWindow::CreateMenu(const SCoreStartupParameter& _LocalCoreStartupParameter)
{
wxMenuBar* pMenuBar = new wxMenuBar(wxMB_DOCKABLE);
@@ -307,16 +271,8 @@ void CCodeWindow::OnCodeStep(wxCommandEvent& event)
break;
case IDM_STEP:
- {
- CCPU::StepOpcode(&sync_event);
-// if (CCPU::IsStepping())
-// sync_event.Wait();
- wxThread::Sleep(20);
- // need a short wait here
- codeview->Center(PC);
- Update();
- Host_UpdateLogDisplay();
- }
+ SingleCPUStep();
+
break;
case IDM_STEPOVER:
@@ -410,7 +366,7 @@ void CCodeWindow::NotifyMapLoaded()
void CCodeWindow::UpdateButtonStates()
{
- wxToolBarBase* toolBar = GetToolBar();
+ wxToolBar* toolBar = GetToolBar();
if (Core::GetState() == Core::CORE_UNINITIALIZED)
{
toolBar->EnableTool(IDM_DEBUG_GO, false);
@@ -423,6 +379,7 @@ void CCodeWindow::UpdateButtonStates()
if (!CCPU::IsStepping())
{
toolBar->SetToolShortHelp(IDM_DEBUG_GO, _T("&Pause"));
+ toolBar->SetToolNormalBitmap(IDM_DEBUG_GO, m_Bitmaps[Toolbar_Pause]);
toolBar->EnableTool(IDM_DEBUG_GO, true);
toolBar->EnableTool(IDM_STEP, false);
toolBar->EnableTool(IDM_STEPOVER, false);
@@ -430,7 +387,8 @@ void CCodeWindow::UpdateButtonStates()
}
else
{
- toolBar->SetToolShortHelp(IDM_DEBUG_GO, _T("&Go"));
+ toolBar->SetToolShortHelp(IDM_DEBUG_GO, _T("&Play"));
+ toolBar->SetToolNormalBitmap(IDM_DEBUG_GO, m_Bitmaps[Toolbar_DebugGo]);
toolBar->EnableTool(IDM_DEBUG_GO, true);
toolBar->EnableTool(IDM_STEP, true);
toolBar->EnableTool(IDM_STEPOVER, true);
@@ -472,12 +430,12 @@ void CCodeWindow::OnToggleLogWindow(wxCommandEvent& event)
if (show)
{
- if (!m_logwindow)
+ if (!m_LogWindow)
{
- m_logwindow = new CLogWindow(this);
+ m_LogWindow = new CLogWindow(this);
}
- m_logwindow->Show(true);
+ m_LogWindow->Show(true);
}
else // hide
{
@@ -485,11 +443,11 @@ void CCodeWindow::OnToggleLogWindow(wxCommandEvent& event)
// didn't report the checked menu item status correctly.
// It should be true just after the menu item was selected,
// if there was no modeless dialog yet.
- wxASSERT(m_logwindow != NULL);
+ wxASSERT(m_LogWindow != NULL);
- if (m_logwindow)
+ if (m_LogWindow)
{
- m_logwindow->Hide();
+ m_LogWindow->Hide();
}
}
}
@@ -589,9 +547,9 @@ void CCodeWindow::OnHostMessage(wxCommandEvent& event)
case IDM_UPDATELOGDISPLAY:
- if (m_logwindow)
+ if (m_LogWindow)
{
- m_logwindow->NotifyUpdate();
+ m_LogWindow->NotifyUpdate();
}
break;
@@ -624,7 +582,7 @@ void CCodeWindow::PopulateToolbar(wxToolBar* toolBar)
h = m_Bitmaps[Toolbar_DebugGo].GetHeight();
toolBar->SetToolBitmapSize(wxSize(w, h));
- toolBar->AddTool(IDM_DEBUG_GO, _T("Go"), m_Bitmaps[Toolbar_DebugGo], _T("Delete the selected BreakPoint or MemoryCheck"));
+ toolBar->AddTool(IDM_DEBUG_GO, _T("Play"), m_Bitmaps[Toolbar_DebugGo], _T("Delete the selected BreakPoint or MemoryCheck"));
toolBar->AddTool(IDM_STEP, _T("Step"), m_Bitmaps[Toolbar_Step], _T("Add BreakPoint..."));
toolBar->AddTool(IDM_STEPOVER, _T("Step Over"), m_Bitmaps[Toolbar_StepOver], _T("Add BreakPoint..."));
toolBar->AddTool(IDM_SKIP, _T("Skip"), m_Bitmaps[Toolbar_Skip], _T("Add BreakPoint..."));
@@ -659,12 +617,13 @@ void CCodeWindow::RecreateToolbar()
void CCodeWindow::InitBitmaps()
{
// load original size 48x48
- m_Bitmaps[Toolbar_DebugGo] = wxGetBitmapFromMemory(toolbar_delete_png);
+ m_Bitmaps[Toolbar_DebugGo] = wxGetBitmapFromMemory(toolbar_play_png);
m_Bitmaps[Toolbar_Step] = wxGetBitmapFromMemory(toolbar_add_breakpoint_png);
m_Bitmaps[Toolbar_StepOver] = wxGetBitmapFromMemory(toolbar_add_memcheck_png);
m_Bitmaps[Toolbar_Skip] = wxGetBitmapFromMemory(toolbar_add_memcheck_png);
m_Bitmaps[Toolbar_GotoPC] = wxGetBitmapFromMemory(toolbar_add_memcheck_png);
m_Bitmaps[Toolbar_SetPC] = wxGetBitmapFromMemory(toolbar_add_memcheck_png);
+ m_Bitmaps[Toolbar_Pause] = wxGetBitmapFromMemory(toolbar_pause_png);
// scale to 16x16 for toolbar
@@ -673,3 +632,29 @@ void CCodeWindow::InitBitmaps()
m_Bitmaps[n] = wxBitmap(m_Bitmaps[n].ConvertToImage().Scale(16, 16));
}
}
+
+
+void CCodeWindow::OnKeyDown(wxKeyEvent& event)
+{
+ if (event.GetKeyCode() == WXK_SPACE)
+ {
+ SingleCPUStep();
+ }
+ else
+ {
+ event.Skip();
+ }
+}
+
+
+void CCodeWindow::SingleCPUStep()
+{
+ CCPU::StepOpcode(&sync_event);
+ // if (CCPU::IsStepping())
+ // sync_event.Wait();
+ wxThread::Sleep(20);
+ // need a short wait here
+ codeview->Center(PC);
+ Update();
+ Host_UpdateLogDisplay();
+} \ No newline at end of file
diff --git a/Source/Core/DebuggerWX/src/CodeWindow.h b/Source/Core/DebuggerWX/src/CodeWindow.h
index 3d8a8db5d4..e068769ed5 100644
--- a/Source/Core/DebuggerWX/src/CodeWindow.h
+++ b/Source/Core/DebuggerWX/src/CodeWindow.h
@@ -32,6 +32,7 @@ class CLogWindow;
class CBreakPointWindow;
class CMemoryWindow;
class CCodeView;
+class IniFile;
class CCodeWindow
: public wxFrame
@@ -45,7 +46,10 @@ class CCodeWindow
const wxSize& size = wxSize(400, 500),
long style = wxDEFAULT_FRAME_STYLE | wxCLIP_CHILDREN | wxNO_FULL_REPAINT_ON_RESIZE);
- ~CCodeWindow();
+ ~CCodeWindow();
+
+ void Load(IniFile &file);
+ void Save(IniFile &file) const;
void Update();
void NotifyMapLoaded();
@@ -79,6 +83,7 @@ class CCodeWindow
enum
{
Toolbar_DebugGo,
+ Toolbar_Pause,
Toolbar_Step,
Toolbar_StepOver,
Toolbar_Skip,
@@ -88,7 +93,7 @@ class CCodeWindow
};
// sub dialogs
- CLogWindow* m_logwindow;
+ CLogWindow* m_LogWindow;
CRegisterWindow* m_RegisterWindow;
CBreakPointWindow* m_BreakpointWindow;
CMemoryWindow* m_MemoryWindow;
@@ -105,6 +110,9 @@ class CCodeWindow
void OnSymbolListChange(wxCommandEvent& event);
void OnCallstackListChange(wxCommandEvent& event);
void OnCodeStep(wxCommandEvent& event);
+
+ void SingleCPUStep();
+
void OnAddrBoxChange(wxCommandEvent& event);
void OnToggleRegisterWindow(wxCommandEvent& event);
@@ -121,6 +129,7 @@ class CCodeWindow
void PopulateToolbar(wxToolBar* toolBar);
void InitBitmaps();
void CreateGUIControls(const SCoreStartupParameter& _LocalCoreStartupParameter);
+ void OnKeyDown(wxKeyEvent& event);
};
#endif /*CODEWINDOW_*/
diff --git a/Source/Core/DebuggerWX/src/LogWindow.cpp b/Source/Core/DebuggerWX/src/LogWindow.cpp
index 0cd1233823..05003d4f49 100644
--- a/Source/Core/DebuggerWX/src/LogWindow.cpp
+++ b/Source/Core/DebuggerWX/src/LogWindow.cpp
@@ -28,10 +28,10 @@
#include "IniFile.h"
BEGIN_EVENT_TABLE(CLogWindow, wxDialog)
-EVT_BUTTON(IDM_SUBMITCMD, CLogWindow::OnSubmit)
-EVT_BUTTON(IDM_UPDATELOG, CLogWindow::OnUpdateLog)
-EVT_BUTTON(IDM_CLEARLOG, CLogWindow::OnClear)
-EVT_CHECKLISTBOX(IDM_LOGCHECKS, CLogWindow::OnLogCheck)
+ EVT_BUTTON(IDM_SUBMITCMD, CLogWindow::OnSubmit)
+ EVT_BUTTON(IDM_UPDATELOG, CLogWindow::OnUpdateLog)
+ EVT_BUTTON(IDM_CLEARLOG, CLogWindow::OnClear)
+ EVT_CHECKLISTBOX(IDM_LOGCHECKS, CLogWindow::OnLogCheck)
END_EVENT_TABLE()
@@ -72,6 +72,25 @@ CLogWindow::CLogWindow(wxWindow* parent)
}
+void CLogWindow::Save(IniFile& _IniFile) const
+{
+ _IniFile.Set("LogWindow", "x", GetPosition().x);
+ _IniFile.Set("LogWindow", "y", GetPosition().y);
+ _IniFile.Set("LogWindow", "w", GetSize().GetWidth());
+ _IniFile.Set("LogWindow", "h", GetSize().GetHeight());
+}
+
+
+void CLogWindow::Load(IniFile& _IniFile)
+{
+ int x,y,w,h;
+ _IniFile.Get("LogWindow", "x", &x, GetPosition().x);
+ _IniFile.Get("LogWindow", "y", &y, GetPosition().y);
+ _IniFile.Get("LogWindow", "w", &w, GetSize().GetWidth());
+ _IniFile.Get("LogWindow", "h", &h, GetSize().GetHeight());
+ SetSize(x, y, w, h);
+}
+
void CLogWindow::OnSubmit(wxCommandEvent& event)
{
Console_Submit(m_cmdline->GetValue().To8BitData());
diff --git a/Source/Core/DebuggerWX/src/LogWindow.h b/Source/Core/DebuggerWX/src/LogWindow.h
index ebd0f35198..1fb5060db1 100644
--- a/Source/Core/DebuggerWX/src/LogWindow.h
+++ b/Source/Core/DebuggerWX/src/LogWindow.h
@@ -18,10 +18,9 @@
#ifndef LOGWINDOW_H_
#define LOGWINDOW_H_
-#include "wx/dialog.h"
-#include "wx/textctrl.h"
-#include "wx/checklst.h"
-#include "Debugger.h"
+class wxTextCtrl;
+class wxCheckListBox;
+class IniFile;
class CLogWindow
: public wxDialog
@@ -31,6 +30,8 @@ class CLogWindow
CLogWindow(wxWindow* parent);
void NotifyUpdate();
+ void Save(IniFile& _IniFile) const;
+ void Load(IniFile& _IniFile);
private:
diff --git a/Source/Core/DebuggerWX/src/MemoryCheckDlg.cpp b/Source/Core/DebuggerWX/src/MemoryCheckDlg.cpp
index 1ca887c35b..f22e869601 100644
--- a/Source/Core/DebuggerWX/src/MemoryCheckDlg.cpp
+++ b/Source/Core/DebuggerWX/src/MemoryCheckDlg.cpp
@@ -108,4 +108,4 @@ void MemoryCheckDlg::OnOK(wxCommandEvent& /*event*/)
void MemoryCheckDlg::OnCancel(wxCommandEvent& /*event*/)
{
Close();
-}
+}
diff --git a/Source/Core/DebuggerWX/src/MemoryWindow.cpp b/Source/Core/DebuggerWX/src/MemoryWindow.cpp
index b323d7c26d..fac7a46e3a 100644
--- a/Source/Core/DebuggerWX/src/MemoryWindow.cpp
+++ b/Source/Core/DebuggerWX/src/MemoryWindow.cpp
@@ -38,14 +38,6 @@
// ugly that this lib included code from the main
#include "../../DolphinWX/src/Globals.h"
-class SymbolList
- : public wxListCtrl
-{
- wxString OnGetItemText(long item, long column)
- {
- return(_T("hello"));
- }
-};
enum
{
@@ -107,6 +99,25 @@ CMemoryWindow::~CMemoryWindow()
}
+void CMemoryWindow::Save(IniFile& _IniFile) const
+{
+ _IniFile.Set("MemoryWindow", "x", GetPosition().x);
+ _IniFile.Set("MemoryWindow", "y", GetPosition().y);
+ _IniFile.Set("MemoryWindow", "w", GetSize().GetWidth());
+ _IniFile.Set("MemoryWindow", "h", GetSize().GetHeight());
+}
+
+
+void CMemoryWindow::Load(IniFile& _IniFile)
+{
+ int x,y,w,h;
+ _IniFile.Get("MemoryWindow", "x", &x, GetPosition().x);
+ _IniFile.Get("MemoryWindow", "y", &y, GetPosition().y);
+ _IniFile.Get("MemoryWindow", "w", &w, GetSize().GetWidth());
+ _IniFile.Get("MemoryWindow", "h", &h, GetSize().GetHeight());
+ SetSize(x, y, w, h);
+}
+
void CMemoryWindow::JumpToAddress(u32 _Address)
{
diff --git a/Source/Core/DebuggerWX/src/MemoryWindow.h b/Source/Core/DebuggerWX/src/MemoryWindow.h
index fffb55201d..763d82cdfc 100644
--- a/Source/Core/DebuggerWX/src/MemoryWindow.h
+++ b/Source/Core/DebuggerWX/src/MemoryWindow.h
@@ -45,6 +45,9 @@ class CMemoryWindow
~CMemoryWindow();
+ void Save(IniFile& _IniFile) const;
+ void Load(IniFile& _IniFile);
+
void Update();
void NotifyMapLoaded();
diff --git a/Source/Core/DebuggerWX/src/RegisterWindow.cpp b/Source/Core/DebuggerWX/src/RegisterWindow.cpp
index f54bdb1079..266361b91c 100644
--- a/Source/Core/DebuggerWX/src/RegisterWindow.cpp
+++ b/Source/Core/DebuggerWX/src/RegisterWindow.cpp
@@ -19,12 +19,12 @@
#include "RegisterWindow.h"
#include "PowerPC/PowerPC.h"
#include "RegisterView.h"
+#include "IniFile.h"
extern const char* GetGRPName(unsigned int index);
-
BEGIN_EVENT_TABLE(CRegisterWindow, wxDialog)
-EVT_CLOSE(CRegisterWindow::OnClose)
+ EVT_CLOSE(CRegisterWindow::OnClose)
END_EVENT_TABLE()
CRegisterWindow::CRegisterWindow(wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& position, const wxSize& size, long style)
@@ -39,6 +39,26 @@ CRegisterWindow::~CRegisterWindow()
{}
+void CRegisterWindow::Save(IniFile& _IniFile) const
+{
+ _IniFile.Set("RegisterWindow", "x", GetPosition().x);
+ _IniFile.Set("RegisterWindow", "y", GetPosition().y);
+ _IniFile.Set("RegisterWindow", "w", GetSize().GetWidth());
+ _IniFile.Set("RegisterWindow", "h", GetSize().GetHeight());
+}
+
+
+void CRegisterWindow::Load(IniFile& _IniFile)
+{
+ int x,y,w,h;
+ _IniFile.Get("RegisterWindow", "x", &x, GetPosition().x);
+ _IniFile.Get("RegisterWindow", "y", &y, GetPosition().y);
+ _IniFile.Get("RegisterWindow", "w", &w, GetSize().GetWidth());
+ _IniFile.Get("RegisterWindow", "h", &h, GetSize().GetHeight());
+ SetSize(x, y, w, h);
+}
+
+
void CRegisterWindow::CreateGUIControls()
{
SetTitle(wxT("Registers"));
diff --git a/Source/Core/DebuggerWX/src/RegisterWindow.h b/Source/Core/DebuggerWX/src/RegisterWindow.h
index 3c6bd4cabe..92e544c698 100644
--- a/Source/Core/DebuggerWX/src/RegisterWindow.h
+++ b/Source/Core/DebuggerWX/src/RegisterWindow.h
@@ -19,6 +19,7 @@
#define __REGISTERWINDOW_h__
class CRegisterView;
+class IniFile;
#undef RegisterWindow_STYLE
#define RegisterWindow_STYLE wxCAPTION | wxSYSTEM_MENU | wxCLOSE_BOX
@@ -35,6 +36,9 @@ class CRegisterWindow
CRegisterWindow(wxWindow* parent, wxWindowID id = 1, const wxString& title = wxT("Registers"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = RegisterWindow_STYLE);
virtual ~CRegisterWindow();
+ void Save(IniFile& _IniFile) const;
+ void Load(IniFile& _IniFile);
+
void NotifyUpdate();