public boolean readFile(String str, int adr) {
    str = str.trim();
    System.out.println("Should load: \"" + str + "\"");

    if ("$".equals(str)) {
      // Should enter basic program for dir listing...
      System.out.println("Entering basic data");

      ArrayList vc = reader.getDirNames();

      int pos = 2048;
      int nextPos;
      memory[pos++] = 0;
      for (int i = 0, n = vc.size(); i < n; i++)
      {
	DirEntry ent = reader.getDirEntry((String) vc.get(i));
	String name = ent.name;
	nextPos = pos + 5 + name.length();

	// Next position
	System.out.println("Name:  " + name + " " + name.length());
	System.out.println("Next:  " + nextPos);
	System.out.println("Pos:  " + pos);
	memory[pos++] = nextPos & 0xff;
	memory[pos++] = nextPos >> 8;

	// Row number
	memory[pos++] = ent.size & 0xff;
	memory[pos++] = ent.size >> 8;

	for (int j = 0; j < name.length(); j++)
	  memory[pos++] = name.charAt(j);

	memory[pos++] = 0;
      }
      return true;
    } else {
      for (int i = str.length(); i < 16; i++)
	str = str + " ";
      return reader.readFile(str, adr) != null;
    }
  }