summaryrefslogtreecommitdiff
path: root/fw_src/eepr_read.s
diff options
context:
space:
mode:
Diffstat (limited to 'fw_src/eepr_read.s')
-rw-r--r--fw_src/eepr_read.s32
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