-                       bool    IsOddByte   = (CurrentByte & 0x01);
-                       uint8_t ByteToWrite = *(NextWriteByte++);
-               
-                       SPI_SendByte(Write_Memory_Params.ProgrammingCommands[0]);
-                       SPI_SendByte(CurrentAddress >> 8);
-                       SPI_SendByte(CurrentAddress & 0xFF);
-                       SPI_SendByte(ByteToWrite);
-                       
-                       /* AVR FLASH addressing requires us to modify the write command based on if we are writing a high
-                        * or low byte at the current word address */
-                       if (V2Command == CMD_PROGRAM_FLASH_ISP)
-                         Write_Memory_Params.ProgrammingCommands[0] ^= READ_WRITE_HIGH_BYTE_MASK;
-
-                       /* Check to see the write completion method, to see if we have a valid polling address */
-                       if (!(PollAddress) && (ByteToWrite != PollValue))
-                       {
-                               if (IsOddByte && (V2Command == CMD_PROGRAM_FLASH_ISP))
-                                 Write_Memory_Params.ProgrammingCommands[2] |= READ_WRITE_HIGH_BYTE_MASK;
-
-                               PollAddress = (CurrentAddress & 0xFFFF);                                
-                       }               
-
-                       /* EEPROM increments the address on each byte, flash needs to increment on each word */
-                       if (IsOddByte || (V2Command == CMD_PROGRAM_EEPROM_ISP))
-                         CurrentAddress++;