         case GOGOGO: process_runtime_command(); break;
         default: break;
       }
+      if (io_anyway < global_clock) yell("io");
       now = ARM_DWT_CYCCNT;
       delta = now - tick;
       tick = now;
       global_clock += delta;
       io_anyway = global_clock;
       io_anyway += MHZ * MAX_BUSY_US;
-      yell("p");
-    }
-    else yell("_");
-  }
-  delay(100);
-}
+    }
+  }
+  if (lastrun != runlevel) yellr3d(runlevel, global_clock, next_event, io_anyway);
+  lastrun = runlevel;
+}

// Setup runs once at reset / power on
void setup() {
  runlevel = RUNSTOP;
  read_my_eeprom();
  process_reset();
  Serial.begin(115200);
  ARM_DEMCR |= ARM_DEMCR_TRCENA;
  ARM_DWT_CTRL |= ARM_DWT_CTRL_CYCCNTENA;

      default:
        error_with_message("Command not valid (running): ", (char*)buf, 2);
    }
    discard_buf(2);   
  }
}

