powerupseq assembly rewrite

This commit is contained in:
Byron Lathi
2023-07-23 19:00:39 -07:00
parent 8f3a1a5968
commit 7e958c8a11
2 changed files with 37 additions and 0 deletions

View File

@@ -95,6 +95,7 @@ uint8_t res1_cmd(uint8_t cmd, uint32_t arg, uint8_t crc)
/*******************************************************************************
Run power up sequence
*******************************************************************************/
/*
void SD_powerUpSeq()
{
uint16_t i;
@@ -115,6 +116,7 @@ void SD_powerUpSeq()
for(j = 0; j < SD_INIT_CYCLES; j++)
spi_exchange(0xFF);
}
*/
/*******************************************************************************
Send command to SD card

View File

@@ -3,6 +3,7 @@
.export _SD_readRes2
.export _SD_readRes3
.export _SD_readBytes
.export _SD_powerUpSeq
.export _res1_cmd
.importzp sp, ptr1
@@ -152,4 +153,38 @@ read:
ldx #$00 ; Promote to integer
rts
.endproc
; void SD_powerUpSeq(void)
.proc _SD_powerUpSeq: near
lda #$00
jsr _spi_deselect
jsr _sd_delay
lda #$ff
jsr _spi_exchange
lda #$00
jsr _spi_deselect
ldx #$50 ; SD_INIT_CYCLES
@L1: lda #$ff
jsr _spi_exchange
dex
bne @L1
rts
.endproc
; 1ms delay approx. saves no registers
.proc _sd_delay: near
ldx #$01 ; delay loop: A*X*10 + 4
@L1: lda #$c8 ; 1ms at 2MHz
@L2: dec ; 2
bne @L2 ; 3
dex ; 2
bne @L1 ; 3
rts
.endproc