Skip to content
Snippets Groups Projects
Unverified Commit f4e16c0c authored by Byron Lathi's avatar Byron Lathi
Browse files

Add software interface for reading SD card data

Adds functions to wait for data to be read, and to read data form the sd
card controller.
parent 87d1457d
No related branches found
No related tags found
1 merge request!11Add SD Card Controller
Pipeline #145 passed
......@@ -13,5 +13,6 @@ MM_DATA = $7fe0
SD_ARG = $7ff8
SD_CMD = $7ffc
SD_DATA = $7ffd
IRQ_STATUS = $7fff
......@@ -87,6 +87,16 @@ int main() {
sd_card_resp(&resp);
cprintf("CMD17: %lx\n", resp);
while(sw_read());
sd_card_wait_for_data();
cprintf("Read data: \n");
for (i = 0; i < 512; i++){
cprintf("%c", sd_card_read_byte());
}
while (1) {
sw = sw_read();
......
......@@ -6,5 +6,7 @@
void sd_card_command(uint32_t arg, uint8_t cmd);
void sd_card_resp(uint32_t* resp);
uint8_t sd_card_read_byte();
void sd_card_wait_for_data();
#endif
\ No newline at end of file
......@@ -4,6 +4,8 @@
.export _sd_card_command
.export _sd_card_resp
.export _sd_card_read_byte
.export _sd_card_wait_for_data
.autoimport on
......@@ -33,6 +35,7 @@ _sd_card_resp:
sta ptr1 ; store pointer
stx ptr1+1
@1: lda SD_CMD ; wait for status flag
and #$01
beq @1
lda SD_ARG
ldy #$0
......@@ -48,3 +51,16 @@ _sd_card_resp:
sta (ptr1),y
ply
rts
_sd_card_read_byte:
lda SD_DATA
ldx #$00
rts
_sd_card_wait_for_data:
pha
@1: lda SD_CMD ; wait for status flag
and #$02
beq @1
pla
rts
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment