A2osX/ProDOS.FX/ProDOS.S.NCLK.txt

92 lines
1.5 KiB
Plaintext
Raw Normal View History

2019-11-04 07:21:40 +00:00
NEW
AUTO 3,1
*--------------------------------------
* Driver For DS1216E
*--------------------------------------
NCLK.START php
sei
sta $CFFF Make cards release $C8xx space
sta $C300
lda $C304 Reset DS1216E comparison register with READ A2=1
ldy #7 Read 8 bytes...
.1 lda DS1216E.PATTERN,y
phy
ldy #8 ....of 8 bits
.2 ldx #0
lsr
bcc .3
inx
.3 bit $C300,x Write Pattern bit in A0, with A2=0
dey
bne .2
ply
dey
bpl .1
ldx #7
.4 ldy #8
.5 lda $C304 Read Byte...
lsr
ror DS1216E.DATA,x
dey
bne .5
lda DS1216E.DATA,x
pha
lsr
lsr
lsr
lsr
tay
pla
and #$0F
clc
.HS 2C Bit Absolute to skip adc #$0A
.6 adc #$0A
dey
bpl .6
sta DS1216E.DATA,x
dex
bpl .4
lda DS1216E.DATA+4 Get HH
sta TIMELO+1
lda DS1216E.DATA+5 Get mm
sta TIMELO
lda DS1216E.DATA+1 Get MM
asl
asl
asl
asl
asl
ora DS1216E.DATA+2 Get DD
sta DATELO
lda DS1216E.DATA Get YY
rol
sta DATELO+1
plp
rts
*--------------------------------------
DS1216E.PATTERN .HS 5CA33AC55CA33AC5 Reverted 7->0
DS1216E.DATA .BS 8 Reverted YY MM DD Day HH mm SS CS
*--------------------------------------
NCLK.LEN .EQ *-NCLK.START
*--------------------------------------
MAN
SAVE USR/SRC/PRODOS.FX/PRODOS.S.NCLK
LOAD USR/SRC/PRODOS.FX/PRODOS.S
ASM