void dorestore ()
	{
		if (PGF != null) return;
		FileDialog fd = new FileDialog(this,
			Global.resourceString("Load_Game"), FileDialog.LOAD);
		if ( !Dir.equals("")) fd.setDirectory(Dir);
		fd.setFile("*.sto");
		fd.show();
		String fn = fd.getFile();
		if (fn == null) return;
		Dir = fd.getDirectory();
		if (fn.endsWith(".*.*")) // Windows 95 JDK bug
		{
			fn = fn.substring(0, fn.length() - 4);
		}
		try
		// print out using the board class
		{
			BufferedReader fi = new BufferedReader(
				new InputStreamReader(new DataInputStream(new FileInputStream(
					fd.getDirectory() + fn))));
			Moves = new ListClass();
			while (true)
			{
				String s = fi.readLine();
				if (s == null) break;
				StringParser p = new StringParser(s);
				Out.println("@@@" + s);
				moveinterpret(s, true);
			}
			if (PGF != null) Out.println("@@start");
			fi.close();
		}
		catch (IOException ex)
		{}
	}