   embedvm_exec(&no::vm); //execute next instruction
 }
 
-
+//callback used by EmbedVM to read memory
 static int16_t memoryRead(uint16_t address, bool is16bit, void *ctx UNUSED)
 {
   if (is16bit)

    memory[address] = value;
}

static int16_t callUserFunction(uint8_t function, uint8_t argc, int16_t *argv, void *ctx UNUSED)
{
  int16_t ret = 0;
  int i;

  if (function == 0) {
    stop = true;
    Serial.println("Called user function 0 => stop.");

    return ret;
  }

  //print user function call details (function ID, argument count, argument list)
  Serial.print("Called user function " + String(function) + " with " + String(argc) + " args:");
  for (i = 0; i < argc; i++) {
    Serial.print(" " + argv[i]);
    ret += argv[i];
