NEWER New Optiboot bootloader

What do you mean by "Save reset cause in a way that the application can read it."?

Optiboot normally "eats" the initial contents of the MCUSR register (which contains the reset cause) as part of its normal operation. "dkinzer" came up with a patch that will pass most of the relevant bits to the application in the R2 register, and the sketch can save that. There are actually some additional improvements for this "in the queue".

See https://code.google.com/p/optiboot/issues/detail?id=66