ChrisOS Research ProjectOperating systems · language systems · graphics · machine emulation
DOCUMENTATION ARCHIVEMAIN BRANCH
ChrisOS/Source reference: SYS/DRV/INSTALL.CC

Source reference: SYS/DRV/INSTALL.CC

Deterministic source record. The complete textual file is reproduced below; this page does not replace architectural interpretation in the authored chapters.

File identity

Field Value
Path SYS/DRV/INSTALL.CC
Lines 66
Bytes 1352
SHA-256 4fdabbd026fd0e8b841a399737ab3e052b6b57eca176824a9f6d25f78e06ea44
ChrisOS revision da3df29cb397932c43d32373871fb9380e688ade

Detected syntactic dependencies

Line Include
— No preprocessor include detected.

Detected symbols

Line Symbol
1 main

Complete source

The following block is the complete textual file at the recorded revision. No lines are elided, abbreviated or paraphrased.

void main() {
  int i;
  int n;
  int k;
  int f;
  int y;
  viewport(280, 200);
  text(4, 4, "Install ChrisOS", 0x00E0FFE0);
  n = disk_count();
  i = 0;
  y = 20;
  while (i < n) {
    k = disk_kind(i);
    f = disk_flags(i);
    if (k == 6) {
      i = i + 1;
    } else {
      if (k == 1) {
        text(4, y, "ATA", 0x00E0E0E0);
      }
      if (k == 2) {
        text(4, y, "AHCI", 0x00E0E0E0);
      }
      if (k == 3) {
        text(4, y, "NVMe", 0x00E0E0E0);
      }
      if (k == 4) {
        text(4, y, "VirtIO", 0x00E0E0E0);
      }
      if (k == 5) {
        text(4, y, "USB", 0x00E0E0E0);
      }
      if (f != 0) {
        text(80, y, "SYSTEM", 0x00FF8080);
      }
      y = y + 14;
      i = i + 1;
    }
  }
  text(4, 160, "keys 1-9 pick target", 0x00C0C0C0);
  while (1) {
    if (key(2) == 1) {
      if (disk_install(1) == 0) {
        text(4, 176, "installed", 0x00E0FFE0);
      } else {
        text(4, 176, "refused", 0x00FF8080);
      }
    }
    if (key(3) == 1) {
      if (disk_install(2) == 0) {
        text(4, 176, "installed", 0x00E0FFE0);
      } else {
        text(4, 176, "refused", 0x00FF8080);
      }
    }
    if (key(4) == 1) {
      if (disk_install(3) == 0) {
        text(4, 176, "installed", 0x00E0FFE0);
      } else {
        text(4, 176, "refused", 0x00FF8080);
      }
    }
    wait(80);
  }
}

Role of this record

The atlas guarantees file-by-file traceability. Responsibility, invariants, ownership, concurrency, security, performance and subsystem interactions belong in authored chapters and must cite this file when applicable.

Document record ID: source-4fdabbd026fd0e8b Reviewed source: da3df29cb397 Class: generated-source-reference