Index: emu/cpu.c
===================================================================
--- emu/cpu.c	(revision ba36b71f48f2275239c71f2460753e61d62e9d3f)
+++ emu/cpu.c	(revision 555b171620bba259e454bb76dbda9a9cd4a7e6f3)
@@ -26,7 +26,7 @@
 bool cpu_verbose = false;
 
-#define CYCLES 10
-
-#define VEC_SIZE 0x400
+#define CYCLES 70
+
+#define APP_START 0x10000
 
 #define RAM_START 0x0
@@ -219,5 +219,5 @@
 	}
 
-	if (addr <= VEC_SIZE - 1) {
+	if (addr <= APP_START - 1) {
 		return ram_data[addr];
 	}
@@ -261,5 +261,5 @@
 	}
 
-	if (addr <= VEC_SIZE - 2) {
+	if (addr <= APP_START - 2) {
 		return
 				((uint32_t)ram_data[addr - 0] << 8) |
@@ -327,5 +327,5 @@
 	}
 
-	if (addr <= VEC_SIZE - 4) {
+	if (addr <= APP_START - 4) {
 		return
 				((uint32_t)ram_data[addr + 0] << 24) |
@@ -360,5 +360,5 @@
 	}
 
-	if (addr <= VEC_SIZE - 1) {
+	if (addr <= APP_START - 1) {
 		ram_data[addr] = (uint8_t)val;
 		return;
@@ -392,5 +392,5 @@
 	}
 
-	if (addr <= VEC_SIZE - 2) {
+	if (addr <= APP_START - 2) {
 		ram_data[addr + 0] = (uint8_t)(val >> 8);
 		ram_data[addr + 1] = (uint8_t)(val >> 0);
@@ -429,5 +429,5 @@
 	}
 
-	if (addr <= VEC_SIZE - 4) {
+	if (addr <= APP_START - 4) {
 		ram_data[addr + 0] = (uint8_t)(val >> 24);
 		ram_data[addr + 1] = (uint8_t)(val >> 16);
@@ -450,5 +450,5 @@
 	m68k_pulse_reset();
 
-	for (int32_t c = 0; c < 5; ++c) {
+	while (true) {
 		m68k_execute(CYCLES);
 		hw_exec();
