Although I guess anything is possible, I doubt that any programmers actually ask you to put in a '0' to mean a '1' (unprogrammed). In AVR chips, '0' is always programmed and '1' is always unprogrammed. This is a function of how the memory is made. The natural (unprogrammed) state is '1' hence the all FF's when looking at a blank chip.
Look here (a snapshot at TL866 Programmer SW) - and see how it is confusing (0xFF == 0x00...)
NO!!!!!!! It is NOT saying 0xFF == 0x00
You left out of the quote from my post the following: "some programmers try to make it easier to understand by using a check mark to mark a bit as programmed (i.e. value of bit = 0). "
I was actually thinking of the TL866 when I wrote that.
Lets look specifically at the Lock Bit entries.
All the check boxes are currently UNCHECKED.
Next to the check box, the label says that the value WILL BE set to '0' (i.e. programmed) IF you check this box
In your image, all lock bit entries are UNCHECKED, meaning that the value of each bit is '1' (i.e. NOT Programmed
Therefore, down below in the config information, the value of all 8 bits of the lock byte are = 1 so the byte is equal to 0xFF.
Remember on the AVR chips a value of '0' in a bit is ALWAYS = 'Programmed' Only by knowing the function of that bit, can you tell whether or not it is enabled.
For example:
To ENABLE the lock bits (you DO NOT want to do this), you would check all those boxes which would set the Lock Fuse Byte to 0x00.
To ENABLE the SPI, you would check the SPIEN box which will set it to '0'
To DISABLE the external reset (you also DO NOT want to do this), you would check the RSTDISBL box which will set it to '0'
Hope this helps. The TL866 is absolutely correct. Our confusion comes from the fact that we tend to think of '1' as 'On and '-' as OFF. Because of the way flash memory is made in the AVR, they start off by making us remember that '1' is NOT Programmed and '0' is programmed. If that hasn't confused us enough, they then define some functions to be on when the chip is unprogrammed and others to be off. This is why it is important to pay attention to the complete function name which gives us a hint whether activating it will enable something or disable it.
[edit]
Note in the ATMega328 there are actually only 6 lock bits. Bit 6 and 7 of that byte are not used. There are also unused bits in the Extended Fuse Byte.
Some programmers may read an absent bit as a '0' but in an AVR it should actually be read as a '1'. This can cause verification errors which can be ignored. Again, you need to be familiar with the Datasheet.