+ if (!LoadImg(CMOS, gram + 0xCC00, 0x400))
+ WriteLog("CMOS RAM not found!\n");
+
+ WriteLog("About to intialize audio...\n");
+ SoundInit();
+ keys = SDL_GetKeyState(NULL);
+ srom[0xF800] = 0x37; // Fix checksum so ST works...
+ running = true; // Set running status...
+
+ InitializeEventList(); // Clear the event list before we use it...
+ SetCallbackTime(FrameCallback, FRAME_DURATION_IN_CYCLES * M6809_CYCLE_IN_USEC);
+ SetCallbackTime(ScanlineCallback, SG2_PIA_CALLBACK_DURATION);
+ clockFrameStart = mainCPU.clock;
+ startTicks = SDL_GetTicks();
+
+ WriteLog("Entering main loop...\n");
+
+ while (running)
+ {
+ double timeToNextEvent = GetTimeToNextEvent();
+ Execute6809(&mainCPU, USEC_TO_M6809_CYCLES(timeToNextEvent));
+ HandleNextEvent();
+ }
+
+#ifdef __DEBUG__
+WriteLog("\n");
+WriteLog("$C900 = $%02X (0=RAM)\n", gram[0xC900]);
+WriteLog("PC: %04X, X: %04X, Y: %04X, S: %04X, U: %04X, A: %02X, B: %02X, DP: %02X, CC: %02X\n", mainCPU.pc, mainCPU.x, mainCPU.y, mainCPU.s, mainCPU.u, mainCPU.a, mainCPU.b, mainCPU.dp, mainCPU.cc);
+WriteLog("\n");
+
+/*uint16 pc = mainCPU.pc;//0x15BA;
+for(int i=0; i<200; i++)
+//while (pc < 0x9000)