OpenCores
URL https://opencores.org/ocsvn/eco32/eco32/trunk

Subversion Repositories eco32

[/] [eco32/] [trunk/] [sim/] [main.c] - Diff between revs 243 and 244

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 243 Rev 244
Line 31... Line 31...
          RAM_SIZE_MAX / M);
          RAM_SIZE_MAX / M);
  fprintf(stderr, "       [-l <prog>]      set program file name\n");
  fprintf(stderr, "       [-l <prog>]      set program file name\n");
  fprintf(stderr, "       [-a <addr>]      set program load address\n");
  fprintf(stderr, "       [-a <addr>]      set program load address\n");
  fprintf(stderr, "       [-r <rom>]       set ROM image file name\n");
  fprintf(stderr, "       [-r <rom>]       set ROM image file name\n");
  fprintf(stderr, "       [-d <disk>]      set disk image file name\n");
  fprintf(stderr, "       [-d <disk>]      set disk image file name\n");
  fprintf(stderr, "       [-t <n>]         connect n terminals (0-%d)\n",
  fprintf(stderr, "    [-s <n>]       install n serial lines (0-%d)\n",
          MAX_NTERMS);
          MAX_NTERMS);
  fprintf(stderr, "       [-n <k>]         no terminal on line k (0-%d)\n",
  fprintf(stderr, "    [-t <k>]       connect terminal to line k (0-%d)\n",
          MAX_NTERMS - 1);
          MAX_NTERMS - 1);
  fprintf(stderr, "       [-g]             install graphics controller\n");
  fprintf(stderr, "       [-g]             install graphics controller\n");
  fprintf(stderr, "       [-c]             install console\n");
  fprintf(stderr, "       [-c]             install console\n");
  fprintf(stderr, "       [-o <file>]      bind output device to file\n");
  fprintf(stderr, "       [-o <file>]      bind output device to file\n");
  fprintf(stderr, "The options -l and -r are mutually exclusive.\n");
  fprintf(stderr, "The options -l and -r are mutually exclusive.\n");
  fprintf(stderr, "If both are omitted, interactive mode is assumed.\n");
  fprintf(stderr, "If both are omitted, interactive mode is assumed.\n");
  fprintf(stderr, "The option -n leaves the specified serial line ");
  fprintf(stderr, "Unconnected serial lines can be accessed by opening\n");
  fprintf(stderr, "unconnected.\nIt can be accessed from within another ");
  fprintf(stderr, "their corresponding pseudo terminal (path is shown).\n");
  fprintf(stderr, "process by opening\nthe corresponding pseudo terminal ");
 
  fprintf(stderr, "(path will be shown here).\n");
 
  exit(1);
  exit(1);
}
}
 
 
 
 
int main(int argc, char *argv[]) {
int main(int argc, char *argv[]) {
Line 75... Line 73...
  loadAddr = 0;
  loadAddr = 0;
  romName = NULL;
  romName = NULL;
  diskName = NULL;
  diskName = NULL;
  numTerms = 0;
  numTerms = 0;
  for (j = 0; j < MAX_NTERMS; j++) {
  for (j = 0; j < MAX_NTERMS; j++) {
    hasTerm[j] = true;
    hasTerm[j] = false;
  }
  }
  graphics = false;
  graphics = false;
  console = false;
  console = false;
  outputName = NULL;
  outputName = NULL;
  for (i = 1; i < argc; i++) {
  for (i = 1; i < argc; i++) {
Line 128... Line 126...
        if (i == argc - 1 || diskName != NULL) {
        if (i == argc - 1 || diskName != NULL) {
          usage(argv[0]);
          usage(argv[0]);
        }
        }
        diskName = argv[++i];
        diskName = argv[++i];
        break;
        break;
      case 't':
      case 's':
        if (i == argc - 1) {
        if (i == argc - 1) {
          usage(argv[0]);
          usage(argv[0]);
        }
        }
        numTerms = strtol(argv[++i], &endp, 10);
        numTerms = strtol(argv[++i], &endp, 10);
        if (*endp != '\0' ||
        if (*endp != '\0' ||
            numTerms < 0 ||
            numTerms < 0 ||
            numTerms > MAX_NTERMS) {
            numTerms > MAX_NTERMS) {
          usage(argv[0]);
          usage(argv[0]);
        }
        }
        break;
        break;
      case 'n':
      case 't':
        if (i == argc - 1) {
        if (i == argc - 1) {
          usage(argv[0]);
          usage(argv[0]);
        }
        }
        j = strtol(argv[++i], &endp, 10);
        j = strtol(argv[++i], &endp, 10);
        if (*endp != '\0' ||
        if (*endp != '\0' ||
            j < 0 ||
            j < 0 ||
            j > MAX_NTERMS - 1) {
            j > MAX_NTERMS - 1) {
          usage(argv[0]);
          usage(argv[0]);
        }
        }
        hasTerm[j] = false;
        hasTerm[j] = true;
        break;
        break;
      case 'g':
      case 'g':
        graphics = true;
        graphics = true;
        break;
        break;
      case 'c':
      case 'c':

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.