In firmware/target/arm/as3525/sansa-clipplus/button-clip.c, in the function button_read_device() lines 43-53, the code does some special handling for port D6. Does anyone know the details, e.g. why does B0 need to be set and unset? where do the number of cycles to delay for come from?