visitHeader method

void visitHeader()

Implementation

void visitHeader() {
  mem.abbrAddress = mem.loadw(Header.abbreviationsTableAddr);
  mem.objectsAddress = mem.loadw(Header.objectTableAddr);
  mem.globalVarsAddress = mem.loadw(Header.globalVarsTableAddr);
  mem.staticMemAddress = mem.loadw(Header.staticMemBaseAddr);
  mem.dictionaryAddress = mem.loadw(Header.dictionaryAddr);
  mem.highMemAddress = mem.loadw(Header.highMemStartAddr);

  // Store a screen height (infinite = 255) and width.
  // Some games want to know out this (Hitchhiker's, for example)
  mem.storeb(Header.screenHeight, 255);
  mem.storeb(Header.screenWidth, 80);

  // Using interpreter standard version 1.1
  mem.storeb(Header.revisionNumberN, 1);
  mem.storeb(Header.revisionNumberM, 1);

  //initialize the game dictionary
  mem.dictionary = Dictionary(address: mem.dictionaryAddress);

  mem.programStart = mem.loadw(Header.programCounterInitialValueAddr);
  programCounter = mem.programStart!;

  //Debugger.verbose(Debugger.dumpHeader());
}