コード例 #1
0
ファイル: mau.c プロジェクト: vbmacher/qsOS
void mauINIT()
{
  textattr(atrINIT);
  cprintf("\nStarting Memory Allocation Unit...");
  textattr(atrBORDER);
  cprintf("\n\tMemory: ");
  textattr(atrIMPTEXT);
  cprintf("%ld", mem);
  textattr(atrBORDER);
  cprintf(" kB");

  // povolenie linky A20
  EnableA20();
  cprintf("\n\tLink A20 enabled...");
  
  // max. pocet poloziek
  if (mem < MAX_ITEMS)
    max_items = mem - 36;
  else
    max_items = MAX_ITEMS - 36;

  // cistenie tabulky pamate
  clear_mem();

  // zaciatok alokovania pamate
  MemStart = MK_FP(0x3400,0); //(fyzicka adresa)

  textattr(atrBORDER);
  cprintf("\n\tFree memory: ");
  textattr(atrIMPTEXT);
  cprintf("%ld", coreleft());
  textattr(atrBORDER);
  cputs(" kB");
}
コード例 #2
0
ファイル: IOMON.C プロジェクト: dmiyakawa/486
void main(int argc, char *argv[])
{
    int i;
    unsigned short port;
    void v86task(void);

    SetUpGDT();
    EnableA20();
    SetUpIDT(3);
    InitDisp();
    SetV86(v86task);
    SetUpV86IOmon();

    if (argc < 2) {
        fprintf(stderr, "usage: %s port-number...", argv[0]);
        exit(1);
    }
    for (i=1; i<argc; i++) {
        sscanf(argv[i], "%x", &port);
        SetV86IOmonAddr(port);
    }

    RealToV86();
}