Update SD stuff
This commit is contained in:
@@ -7,15 +7,27 @@
|
||||
.addr _irq_int ; IRQ/BRK vector
|
||||
|
||||
SD_CONTROLLER = $e000
|
||||
|
||||
SD_CMD = SD_CONTROLLER
|
||||
SD_ARG = SD_CONTROLLER + $4
|
||||
SD_FIFO_0 = SD_CONTROLLER + $8
|
||||
SD_FIFO_2 = SD_CONTROLLER + $C
|
||||
|
||||
|
||||
SD_PHY = SD_CONTROLLER + $10
|
||||
SD_PHY_CLKDIV = SD_PHY
|
||||
SD_PHY_CLKCTRL = SD_PHY + $1
|
||||
SD_PHY_SAMP_VOLT = SD_PHY + $2
|
||||
SD_PHY_BLKSIZ = SD_PHY + $3
|
||||
|
||||
|
||||
|
||||
SD_DMA_BASE = SD_CONTROLLER + $28
|
||||
SD_DMA_STAT_CTRL = SD_CONTROLLER + $2C
|
||||
|
||||
SDIOCLK_100KHZ = $FC
|
||||
SPEED_512B = $09
|
||||
|
||||
.zeropage
|
||||
rca: .res 4
|
||||
|
||||
@@ -25,7 +37,42 @@ _nmi_int:
|
||||
_irq_int:
|
||||
|
||||
_init:
|
||||
ldx #$ff
|
||||
txs
|
||||
ldx #$ff
|
||||
txs
|
||||
|
||||
@end: bra @end
|
||||
stz SD_PHY_CLKCTRL
|
||||
stz SD_PHY_SAMP_VOLT
|
||||
lda #SPEED_512B
|
||||
sta SD_PHY_BLKSIZ
|
||||
lda #SDIOCLK_100KHZ
|
||||
sta SD_PHY_CLKDIV
|
||||
|
||||
@wait_clk: lda SD_PHY_CLKDIV
|
||||
cmp #SDIOCLK_100KHZ
|
||||
bne @wait_clk
|
||||
|
||||
stz SD_CMD+$3
|
||||
lda #$04
|
||||
sta SD_CMD+$2
|
||||
lda #$08
|
||||
sta SD_CMD+$1
|
||||
lda #$40
|
||||
sta SD_CMD
|
||||
|
||||
jsr wait_busy
|
||||
|
||||
lda #$01
|
||||
sta SD_CMD+$1
|
||||
lda #$48
|
||||
sta SD_CMD
|
||||
|
||||
jsr wait_busy
|
||||
|
||||
@end:
|
||||
bra @end
|
||||
|
||||
|
||||
wait_busy: lda SD_CMD+$1
|
||||
bit #$40
|
||||
bne wait_busy
|
||||
rts
|
||||
Reference in New Issue
Block a user