public Boolean start() {
		Boolean mameFound = false;
		try {
			createFiles();
			boolean b = Boolean.valueOf(FileIO.readSettingsFile(settings,
					"use_system_mame"));
			String systemPath = FileIO.readSettingsFile(settings,
					"system_mame_path");
			if (b && !systemPath.equals("null")) {
				mameFound = true;
				setSystemMameInfo(systemPath);
			} else if (b && systemPath.equals("null")) {
				systemPath = getSystemMameInfo();

				if (systemPath != null) {
					setSystemMameInfo(systemPath);
					changeSettingsFile("system_mame_path", systemPath);
					changeSettingsFile("system_mame_version",
							getMameVersion(systemPath));
					mameFound = true;
				}
			} else if (!b) {
				return null;
			}
			for (File i : mameDir.listFiles()) {
				if (i.isDirectory()) {
					File me = new File(i, "mame");
					mameExecutables.add(new MameExecutable(me.getPath(),
							getMameVersion(me.getPath()), romPath, false));
				}
			}

		} catch (IOException e) {
			FileIO.writeToLogFile(e);
		}
		return mameFound;
	}