diff --git a/Projects/AVRISP-MKII/Lib/ISP/ISPProtocol.c b/Projects/AVRISP-MKII/Lib/ISP/ISPProtocol.c
index 7368125f67d4b5d2b610b3b3a832afc25c55490b..f51eeaeb23581d93a0ee8d063c945410d47cfecd 100644
--- a/Projects/AVRISP-MKII/Lib/ISP/ISPProtocol.c
+++ b/Projects/AVRISP-MKII/Lib/ISP/ISPProtocol.c
@@ -515,7 +515,9 @@ void ISPProtocol_SPIMulti(void)
 	}
 }
 
-/** Blocking delay for a given number of milliseconds.
+/** Blocking delay for a given number of milliseconds. This provides a simple wrapper around
+ *  the avr-libc provided delay function, so that the delay function can be called with a
+ *  constant value (to prevent run-time floating point operations being required).
  *
  *  \param[in] DelayMS  Number of milliseconds to delay for
  */
diff --git a/Projects/AVRISP-MKII/Lib/V2ProtocolParams.c b/Projects/AVRISP-MKII/Lib/V2ProtocolParams.c
index 3c1a88130a0b98099893bc688ddc8f49fe2dff8a..5028dad88fcde3f6a57487291e7dad4f995d9dbb 100644
--- a/Projects/AVRISP-MKII/Lib/V2ProtocolParams.c
+++ b/Projects/AVRISP-MKII/Lib/V2ProtocolParams.c
@@ -37,7 +37,7 @@
 #include "V2ProtocolParams.h"
 
 /* Non-Volatile Parameter Values for EEPROM storage */
-static uint8_t EEMEM EEPROM_Rest_Polarity = 0x00;
+static uint8_t EEMEM EEPROM_Reset_Polarity = 0x00;
 
 /* Volatile Parameter Values for RAM storage */
 static ParameterItem_t ParameterTable[] =
@@ -71,7 +71,7 @@ static ParameterItem_t ParameterTable[] =
 		  .ParamValue       = 6                                  },
 
 		{ .ParamID          = PARAM_RESET_POLARITY,
-		  .ParamPrivileges  = PARAM_PRIV_WRITE,
+		  .ParamPrivileges  = PARAM_PRIV_READ | PARAM_PRIV_WRITE,
 		  .ParamValue       = 0x01                               },
 
 		{ .ParamID          = PARAM_STATUS_TGT_CONN,
@@ -79,7 +79,7 @@ static ParameterItem_t ParameterTable[] =
 		  .ParamValue       = STATUS_ISP_READY                   },
 
 		{ .ParamID          = PARAM_DISCHARGEDELAY,
-		  .ParamPrivileges  = PARAM_PRIV_WRITE,
+		  .ParamPrivileges  = PARAM_PRIV_READ | PARAM_PRIV_WRITE,
 		  .ParamValue       = 0x00                               },
 	};
 
@@ -88,7 +88,7 @@ static ParameterItem_t ParameterTable[] =
 void V2Params_LoadNonVolatileParamValues(void)
 {
 	/* Target RESET line polarity is a non-volatile value, retrieve current parameter value from EEPROM */
-	V2Params_GetParamFromTable(PARAM_RESET_POLARITY)->ParamValue = eeprom_read_byte(&EEPROM_Rest_Polarity);
+	V2Params_GetParamFromTable(PARAM_RESET_POLARITY)->ParamValue = eeprom_read_byte(&EEPROM_Reset_Polarity);
 }
 
 /** Updates any parameter values that are sourced from hardware rather than explicitly set by the host, such as
@@ -163,7 +163,7 @@ void V2Params_SetParameterValue(const uint8_t ParamID,
 
 	/* The target RESET line polarity is a non-volatile parameter, save to EEPROM when changed */
 	if (ParamID == PARAM_RESET_POLARITY)
-	  eeprom_update_byte(&EEPROM_Rest_Polarity, Value);
+	  eeprom_update_byte(&EEPROM_Reset_Polarity, Value);
 }
 
 /** Retrieves a parameter entry (including ID, value and privileges) from the parameter table that matches the given
diff --git a/Projects/AVRISP-MKII/Lib/XPROG/XPROGProtocol.c b/Projects/AVRISP-MKII/Lib/XPROG/XPROGProtocol.c
index 132acf154d1abb563ad79bd4fc8cb0f6a5c2f509..529510f46993376101e6cb3baf78f8a2a4f9ef59 100644
--- a/Projects/AVRISP-MKII/Lib/XPROG/XPROGProtocol.c
+++ b/Projects/AVRISP-MKII/Lib/XPROG/XPROGProtocol.c
@@ -444,10 +444,10 @@ static void XPROGProtocol_SetParam(void)
 	switch (XPROGParam)
 	{
 		case XPRG_PARAM_NVMBASE:
-			XPROG_Param_NVMBase = Endpoint_Read_32_BE();
+			XPROG_Param_NVMBase       = Endpoint_Read_32_BE();
 			break;
 		case XPRG_PARAM_EEPPAGESIZE:
-			XPROG_Param_EEPageSize = Endpoint_Read_16_BE();
+			XPROG_Param_EEPageSize    = Endpoint_Read_16_BE();
 			break;
 		case XPRG_PARAM_NVMCMD_REG:
 			XPROG_Param_NVMCMDRegAddr = Endpoint_Read_8();