public static int runToAddressR(int limit, Gameboy gbL, Gameboy gbR, int... addresses) {
    if (!gbR.onFrameBoundaries) {
      int add = dualStepUntilR(gbL, gbR, 0, 0, addresses);
      if (add != 0)
        return add;
    }
    int steps = 0;
    while (steps < limit) {
      int add = dualStepUntilR(gbL, gbR, 0, 0, addresses);
      if (add != 0)
        return add;
      steps++;
    }
    return 0;
  }