diff --git a/debugger/debugger.js b/debugger/debugger.js
new file mode 100644
index 000000000..37622e73a
--- /dev/null
+++ b/debugger/debugger.js
@@ -0,0 +1,42 @@
+/**
+ ******************************************************************************
+ * Xenia : Xbox 360 Emulator Research Project *
+ ******************************************************************************
+ * Copyright 2013 Ben Vanik. All rights reserved. *
+ * Released under the BSD license - see LICENSE in the root for more details. *
+ ******************************************************************************
+ */
+
+// TODO(benvanik): closure or something fancy
+
+
+var DebugClient = function(endpoint) {
+ /**
+ * Target websocket endpoint.
+ * @type {string}
+ * @private
+ */
+ this.endpoint_ = endpoint;
+
+ /**
+ * Connected socket.
+ * @type {!WebSocket}
+ * @private
+ */
+ this.socket_ = new WebSocket(endpoint, []);
+
+ this.socket_.onopen = (function() {
+ console.log('opened');
+ }).bind(this);
+
+ this.socket_.onerror = (function(e) {
+ console.log('error', e);
+ }).bind(this);
+
+ this.socket_.onmessage = (function(e) {
+ console.log('message', e.data);
+ }).bind(this);
+}
+
+
+var client = new DebugClient('ws://127.0.0.1:6200');
diff --git a/debugger/index.html b/debugger/index.html
new file mode 100644
index 000000000..6c3502a87
--- /dev/null
+++ b/debugger/index.html
@@ -0,0 +1,9 @@
+
+
+
+ Xenia Debugger
+
+
+
+
+
diff --git a/include/xenia/dbg/client.h b/include/xenia/dbg/client.h
new file mode 100644
index 000000000..8853c3a20
--- /dev/null
+++ b/include/xenia/dbg/client.h
@@ -0,0 +1,38 @@
+/**
+ ******************************************************************************
+ * Xenia : Xbox 360 Emulator Research Project *
+ ******************************************************************************
+ * Copyright 2013 Ben Vanik. All rights reserved. *
+ * Released under the BSD license - see LICENSE in the root for more details. *
+ ******************************************************************************
+ */
+
+#ifndef XENIA_KERNEL_DBG_CLIENT_H_
+#define XENIA_KERNEL_DBG_CLIENT_H_
+
+#include
+#include
+
+
+namespace xe {
+namespace dbg {
+
+
+class Client {
+public:
+ Client();
+ virtual ~Client();
+
+ void Write(const uint8_t* buffer, const size_t length);
+ virtual void Write(const uint8_t** buffers, const size_t* lengths,
+ size_t count) = 0;
+
+protected:
+};
+
+
+} // namespace dbg
+} // namespace xe
+
+
+#endif // XENIA_KERNEL_DBG_CLIENT_H_
diff --git a/include/xenia/dbg/content_source.h b/include/xenia/dbg/content_source.h
new file mode 100644
index 000000000..3a6e8821a
--- /dev/null
+++ b/include/xenia/dbg/content_source.h
@@ -0,0 +1,46 @@
+/**
+ ******************************************************************************
+ * Xenia : Xbox 360 Emulator Research Project *
+ ******************************************************************************
+ * Copyright 2013 Ben Vanik. All rights reserved. *
+ * Released under the BSD license - see LICENSE in the root for more details. *
+ ******************************************************************************
+ */
+
+#ifndef XENIA_KERNEL_DBG_CONTENT_SOURCE_H_
+#define XENIA_KERNEL_DBG_CONTENT_SOURCE_H_
+
+#include
+#include
+
+#include
+
+
+namespace xe {
+namespace dbg {
+
+
+class ContentSource {
+public:
+ enum Type {
+ kTypeIndexed,
+ };
+
+ ContentSource(Type type);
+ virtual ~ContentSource();
+
+ Type type();
+
+ virtual int DispatchRequest(Client* client,
+ const uint8_t* data, size_t length) = 0;
+
+protected:
+ Type type_;
+};
+
+
+} // namespace dbg
+} // namespace xe
+
+
+#endif // XENIA_KERNEL_DBG_CONTENT_SOURCE_H_
diff --git a/include/xenia/dbg/debugger.h b/include/xenia/dbg/debugger.h
new file mode 100644
index 000000000..a9d75ad63
--- /dev/null
+++ b/include/xenia/dbg/debugger.h
@@ -0,0 +1,54 @@
+/**
+ ******************************************************************************
+ * Xenia : Xbox 360 Emulator Research Project *
+ ******************************************************************************
+ * Copyright 2013 Ben Vanik. All rights reserved. *
+ * Released under the BSD license - see LICENSE in the root for more details. *
+ ******************************************************************************
+ */
+
+#ifndef XENIA_KERNEL_DBG_DEBUGGER_H_
+#define XENIA_KERNEL_DBG_DEBUGGER_H_
+
+#include
+#include
+
+#include