6f4087cb6b/vm/graphical/devices.c

43fd6a76ba79839cb7b101945b85dac8dd07f9aa6f4087cb6b11c592278ebb86b5b90cc298e3c857
330
330
331
    /* Read a char; response indicates success/failure */
331
    /* Read a char; response indicates success/failure */
332
    if (vm.ports[4] == -2) {
332
    if (vm.ports[4] == -2) {
333
      int cell = TOS; DROP;
334
      FILE *handle = (FILE *) TOS; DROP;
333
      FILE *handle = (FILE *) TOS; DROP;
335
      int c = fgetc(handle);
334
      int c = fgetc(handle);
336
      vm.image[cell] = c;
335
      if   ( c == EOF ) vm.ports[4] = 0;
337
      if   ( c == EOF ) vm.ports[4] =  0;
336
      else              vm.ports[4] = c;
338
      else              vm.ports[4] = -1;
339
      vm.ports[0] = 1;
337
      vm.ports[0] = 1;
340
    }
338
    }
341
339