void moreInfo::reshow(){    
    delete ui;
    ui = new Ui::moreInfo;
    ui->setupUi(this);
    QString detStats = machine->getDetStatsString();
    QStringList noHash = detStats.split("#");
    QStringList* allInfo = parseDetailed(noHash);
    setNetw(allInfo[0]);
    setCPU(allInfo[1]);
    setRAM(allInfo[2]);
    setHDD(allInfo[3]);
    setProcesses(allInfo[4]);
    machine->getDetStats();
}
moreInfo::moreInfo(Machine* m, QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::moreInfo)
{    
    machine = m;
    ui->setupUi(this);
    QString detStats = machine->getDetStatsString();

    QStringList noHash = detStats.split("#");
    QStringList* allInfo = parseDetailed(noHash);
    setNetw(allInfo[0]);
    setCPU(allInfo[1]);
    setRAM(allInfo[2]);
    setHDD(allInfo[3]);
    setProcesses(allInfo[4]);

    machine->getDetStats();

    update = new QTimer(this);
    update->setInterval(10000);
    connect(update, SIGNAL(timeout()), this, SLOT(reshow()));
    update->start();
}
Exemplo n.º 3
0
void loadImage()
{
  uint8_t files_read = 0;
  UINT bytes_read;

  // lock RAM for cart
  disableBus();
  ram_addr = 0;

  rc = pf_mount(&sd_fs);
  if (rc)
    flash_error(1);

  // sender data in buf_entry: F I L E N A M E \0
  uint8_t *q = buf_entry;
  while (*++q);
  uint8_t *p = q--;  // q at last name char == bank indicator
  *p++ = '.'; *p++ = 'B'; *p++ = 'I'; *p++ = 'N'; *p++ = 0;
  
  // load BIN files
#ifdef MULTI_FILE
  while (1) {
#else
  while (files_read == 0) {
#endif
    rc = pf_open((char *)buf_entry);
    if (rc)
      break;
    while (1) {
      rc = pf_read((void *)buffer, sizeof(buffer), &bytes_read);
      if (bytes_read == 0)
        break;
      p = buffer;
      while (bytes_read-- > 0)
        writeMem(*p++);
    }
    if (*q - files_read != 'C')
      break;  // single-file
    ++files_read;
    ++(*q);  // load next BIN
  }

  // release cartridge
  enableBus();
}


/*
 * write single byte to SRAM at current address w/auto increment
 */

static void writeMem(uint8_t byte)
{
  setRAM(ram_addr, byte);

  // mirror byte into unused banks
  if (ram_addr < 0x4000)
    setRAM(ram_addr + 0x4000, byte);
  if (ram_addr < 0x2000) {
    setRAM(ram_addr + 0x2000, byte);
    setRAM(ram_addr + 0x6000, byte);
  }

  ++ram_addr;
}