 		}
 	} else if (message.startsWith(F("LOGBOOK")) || message.startsWith(F("logbook"))) {
 		logbook.printLogbook();
+	} else if (message.startsWith(F("EMULATOR")) || message.startsWith(F("emulator"))) {
+		String onOffEmulator = message.substring(8);
+		onOffEmulator.trim();
+		if (onOffEmulator.startsWith(F("on")) || onOffEmulator.startsWith(F("ON"))) {
+			emulatorEnabled = true;
+			responseMessage += F("EMULATOR - Enabled");
+		} else {
+			emulatorEnabled = false;
+			responseMessage += F("EMULATOR - Disabled");
+		}
+		Serial.println(responseMessage);
+	} else if (message.startsWith(F("REPLAY")) || message.startsWith(F("replay"))) {
+		String onOffReplay = message.substring(6);
+		onOffReplay.trim();
+		if (onOffReplay.startsWith(F("on")) || onOffReplay.startsWith(F("ON"))) {
+			replayEnabled = true;
+			responseMessage += F("REPLAY - Enabled");
+		} else {
+			replayEnabled = false;
+			responseMessage += F("REPLAY - Disabled");
+		}
+		Serial.println(responseMessage);
 	}
 	Serial.flush();
 }


void startDive()
{
	if (EMULATOR_ENABLED) {
		Serial.println(F("@START#"));
	}



		float pressureInMillibar = seaLevelPressureSetting;
		float temperatureInCelsius = 99;
		if (emulatorEnabled) {
			Serial.println(F("@GET#"));
			if (Serial.available() > 0) {
				pressureInMillibar = Serial.parseFloat();
