public DFS addExeLog(String fileName) throws FileNotFoundException {
    Scanner sc = new Scanner(new File(fileName));
    while(true) {
      if(!sc.hasNextInt(16))
        break;
      int b = sc.nextInt(16);
      int hl = sc.nextInt(16);
      if(hl >= 0x8000) {
        System.out.println("skipping non-ROM address "+Integer.toHexString(hl));
        continue;
      }
      if(hl >= 0x4000)
        hl += (b-1)*0x4000;
      dfsStack.push(new DFSStackElem(hl, new CPUState(), true));
      //System.out.println("added "+Integer.toHexString(hl));
    }
    sc.close();

    return this;
  }