Add disassembler
diff --git a/main.c b/main.c
new file mode 100644
index 0000000..8e6ec52
--- /dev/null
+++ b/main.c
@@ -0,0 +1,50 @@
+#include "cpu.h"
+
+#include <ctype.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+
+int main(int argc, char **argv)
+{
+	printf("6502 Emulator\n");
+
+	uint8_t disflag = 0,
+		runflag = 0,
+		helpflag = 0;
+
+	char c;
+
+	while ((c = getopt(argc, argv, "drh")) != -1)
+	{
+		switch (c)
+		{
+			case 'd':
+				disflag = 1;
+				break;
+			case 'r':
+				runflag = 1;
+				break;
+			case 'h':
+			case '?':
+				helpflag = 1;
+				break;
+		}
+	}
+
+	if (helpflag)
+	{
+		printf("-r to run, -d to disassemble");
+		return 0;
+	}
+
+	cpu_t cpu = new_cpu();
+	fread(cpu.mem, 0xFFFF, 1, stdin);
+
+	if (disflag)
+	{
+		disas(&cpu);
+	}
+
+	free_cpu(&cpu);
+}