Disable FRX again when finished.
Use direct page addressing consistently.
Fix up the comment on the clock divisor, the effective divisor is
(register value + 1) x 2.
Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
_sd_spi_clock:
cmpb #0
beq slow
- ldd #0x0401 ; external 45MHz clock on, divide by 3
+ ldd #0x0401 ; external 45MHz clock on, divide by 4
bra clkset
slow: ldd #0x0000 ; internal clock, phi/2 -> 0.89MHz/2 = 445kHz
clkset: std SPICTRL
beq rdspi
jsr map_process_always
rdspi: lda #0x14 ; FRX on, external clock on
- sta SPICTRL
+ sta <SPICTRL
read8:
lda <SPIDATA
ldb <SPIDATA
bne read8
jsr map_kernel
lda #0x04
- sta SPICTRL ; FRX off, external clock on
+ sta <SPICTRL ; FRX off, external clock on
puls y,dp,pc
_sd_spi_transmit_sector:
lda _blk_op+2
beq wrspi
jsr map_process_always
-wrspi: lda #0x14 ; FRX on, external clock on
+wrspi: lda #0x04 ; ext clock, no FRX
sta SPICTRL
write8:
ldd ,x++