Get Frames from ADNS-9800

thanks for replying @michinyon but How to do this?
I have changed: 'adns_read_reg(REG_Motion)' to this:

  digitalWrite(ncs, LOW);
  SPI.transfer(0x02);
  delay(1);
  byte check_Motion_Register = SPI.transfer(0);
  delay(1);
  digitalWrite(ncs, HIGH);

check_Motion_Register |= B00000001;  

  Serial.println("------------");
  Serial.println(check_Motion_Register);
  Serial.println("------------");

and how to read all pixels ? is code for reading pixels correct?

thanks