diff options
Diffstat (limited to 'fw_src/eepr_read.s')
-rw-r--r-- | fw_src/eepr_read.s | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/fw_src/eepr_read.s b/fw_src/eepr_read.s new file mode 100644 index 0000000..818208f --- /dev/null +++ b/fw_src/eepr_read.s @@ -0,0 +1,32 @@ + +RAM equ $0000 +EEPROM equ $b600 + +REGBASE equ $1000 +BAUD equ $2b ; SCI Baud Rate Control +SCCR2 equ $2d ; SCI Control Register 2 +SCSR equ $2e ; SCI Status Register +SCDR equ $2f ; SCI Data Register + + org RAM +init: + lds #$00ff ; init stack pointer + ldd #$300c ; A=SCP1|SCP0, B=TE|RE + staa REGBASE+BAUD ; 9600 bps + stab REGBASE+SCCR2 +main: + ldx #EEPROM +loop1: + ldaa 0,X ; read byte + jsr sci_txd ; acknowledge byte + inx + cpx #EEPROM+512 + bne loop1 +end: + wai + bra end +sci_txd: + tst REGBASE+SCSR + bpl sci_txd ; wait until TDRE bit set + staa REGBASE+SCDR + rts |