;Set card select and data high
;Send 80 SPI clock cycles to put in SPI mode
;Set card select low
;Send CMD0 [0x400000000095] wait one byte, read response code R1 = 0x01 (idle) R1 = 0FFH (No SD card) retry if error
;(Some cards require one byte read after response code.)
;Send CMD8 [0x48000001AA87]
;R1 = 0x05 (idle and illegal command)
;If illegal command set flag to indicate v1 or MMC card
;If legal command check R3 response bits 0-8 is 1AAH, if not incorrect voltage.
;
;Send CMD55 [0x770000000065] R1 response code
;If illegal command, card is MMC don't send ACMD41
;Send ACMD41 [0x6900000000E5] with bit 30 set high if valid CMD8 flag, and Loop to command 55 waiting for high bit on
;response to go low
;
;If illegal command 55 Send CMD1 [0x4100000000F9] (for MMC) and Loop waiting for high bit on response to go low
;R1 = 0x05 (idle and illegal command) if illegal command exit
;Card is now active.
;Send CMD16 {0x500000020095} to set block size
;R1 response
;Send CMD58 {0x7A0000000095} to determine card type
;R3 response, check CCS bit 30 (high if high density card)skip if illegal instruction
;
;Send read or write command, bit 9 is second 512 block on low density cards and bit 0 is second block on high density cards.
;