annotate level1/modules/clock2_coco3fpga.asm @ 3169:1ff3d7673e36

mc09 l2: bring sys/makefile in line with latest organisation for other platforms Revise bootfiles/makefile to remove sysgo from bootfile - it can be found on the root of the disk.
author Neal Crook <foofoobedoo@gmail.com>
date Mon, 17 Apr 2017 22:59:28 +0100
parents 37737e5ec640
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3150
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
1 ********************************************************************
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
2 * Clock2 - Coco3FPGA Analog Board RTC Driver
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
3 * for the Maxim Integrated DS3231 RTC
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
4 * Coco3FPGA ONLY!
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
5 *
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
6 * $Id$
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
7 *
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
8 * Edt/Rev YYYY/MM/DD Modified by
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
9 * Comment
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
10 * ------------------------------------------------------------------
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
11 * 1 2004/08/18 Boisy G. Pitre
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
12 * Separated clock2 modules for source clarity.
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
13 *
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
14 * 2 2017/01/21 Robert Gault
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
15 * Modified clock2_elim.asm to work with the DS3231 on the Coco3FPGA
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
16 *
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
17 * 3 2017/01/23 Gary Becker
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
18 * Corrected the timing of the Read/Write activation routines
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
19 *
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
20 * 4 2017/01/23 Robert Gault
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
21 * Corrected a bug in the Setime routine and added a "stpreg" routine
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
22 *
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
23 * 5 2017/01/24 Bill Pierce
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
24 * Removed erronius "stpreg" routine, cleaned up code, re-assembled, IT WORKS!
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
25
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
26 nam Clock2
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
27 ttl Coco3FPGA Analog Board RTC Driver
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
28
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
29 ifp1
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
30 use defsfile
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
31 endc
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
32
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
33 tylg set Sbrtn+Objct
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
34 atrv set ReEnt+rev
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
35 rev set $00
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
36 edition set 4
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
37
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
38 * All bits not specified must be set to 0!
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
39 RTC.sec equ $00 0-59
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
40 RTC.min equ $01 0-59
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
41 RTC.hr equ $02 bit 6 12/24, bit5 PM/AM, or 20hr, bit4 10hr, bit3-0 hr:0-23
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
42 RTC.day equ $03 bit 2-0: 1-7
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
43 RTC.date equ $04 bit5-4 10 date, bit 3-0 date: 1-31
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
44 RTC.mn equ $05 bit4 10 mn, bit3-0 mn
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
45 RTC.yr equ $06 bit7-4 10yr, bit3-0 yr
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
46 RTC.base equ $FF80
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
47 RTC.data equ $FF81 data I/O
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
48 RTC.cmd equ $FF82 $D1=read, $D0=write
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
49 RTC.adr equ $FF83 indicates 00h-06h see above
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
50 RTC.tog equ RTC.base set 1 then 0
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
51 RTC.stat equ RTC.base wait for $80 to show ready
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
52
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
53 mod eom,name,tylg,atrv,JmpTable,RTC.base
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
54
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
55 name fcs "Clock2"
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
56 fcb edition
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
57
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
58 JmpTable
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
59 lbra INIT
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
60 bra GetTime
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
61 nop
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
62 lbra SetTime
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
63 lbra GetSta
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
64 lbra SetSta
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
65 lbra TERM
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
66
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
67 GetTime ldx M$Mem,pcr get RTC base address from fake memory requirement
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
68 ldd #$D106 read and year
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
69 sta 2,x
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
70 bsr rdreg
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
71 lda 1,x get year
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
72 bsr bcd2hex
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
73 sta <D.Year
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
74 ldb #5 month register address
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
75 bsr rdreg
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
76 lda 1,x
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
77 anda #%11111 keep only month
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
78 bsr bcd2hex
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
79 sta <D.Month
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
80 ldb #4 day of month register address
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
81 bsr rdreg
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
82 lda 1,x
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
83 bsr bcd2hex
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
84 sta <D.Day
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
85 ldb #2 hour register address
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
86 bsr rdreg
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
87 lda 1,x
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
88 anda #%111111 assume 24hr clock
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
89 pshs a
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
90 anda #%11111 limit to 19
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
91 bsr bcd2hex
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
92 puls b recover original time
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
93 andb #%100000 test for 20+
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
94 beq no20
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
95 adda #20
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
96 no20 sta <D.Hour
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
97 ldb #1 minute register address
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
98 bsr rdreg
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
99 lda 1,x
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
100 bsr bcd2hex
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
101 sta <D.Min
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
102 clrb second register address
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
103 bsr rdreg
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
104 lda 1,x
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
105 bsr bcd2hex
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
106 sta <D.Sec
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
107 UpdTExit rts
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
108
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
109 rdreg stb 3,x set mode
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
110 ldb #1 activate
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
111 stb ,x
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
112 LP1 lda ,x Done yet?
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
113 bmi LP1 No, loop
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
114 clr ,x Clear for activation
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
115 LP2 lda ,x get status
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
116 anda #$80
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
117 beq LP2 Update In Progress, loop
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
118 rts
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
119
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
120 * Convert Bitcode to Hex
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
121 bcd2hex pshs b
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
122 tfr a,b copy the bcd number
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
123 andb #15 keep the lowest digit
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
124 pshs b save it
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
125 anda #$F0
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
126 ldb #160
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
127 mul times 10
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
128 adda ,s+ add partials
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
129 puls b,pc
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
130
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
131 SetTime pshs cc save interrupt status
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
132 orcc #IntMasks disable IRQs
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
133 ldx M$Mem,pcr get RTC base address from fake memory requirement
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
134 ldd #$D006 write and year
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
135 sta 2,x
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
136 ldy #D.Time point [Y] to time variables in DP
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
137 lda ,y+ get year
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
138 bsr hex2bcd
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
139 sta 1,x
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
140 bsr rdreg
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
141 lda ,y+ month
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
142 bsr hex2bcd
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
143 sta 1,x
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
144 ldb #5 month
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
145 bsr rdreg
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
146 lda ,y+ day
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
147 bsr hex2bcd
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
148 sta 1,x
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
149 ldb #4 day
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
150 bsr rdreg
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
151 lda ,y+ hour
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
152 bsr hex2bcd
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
153 sta 1,x
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
154 ldb #2 hour
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
155 bsr rdreg
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
156 lda ,y+ minute
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
157 bsr hex2bcd
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
158 sta 1,x
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
159 ldb #1 minute
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
160 bsr rdreg
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
161 lda ,y sec
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
162 sta 1,x
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
163 clrb sec = 0
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
164 bsr rdreg
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
165 puls cc Recover IRQ status
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
166 rts
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
167
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
168 * Convert Hex to Bitcode
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
169 hex2bcd pshs b
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
170 ldb #$FF
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
171 lp10 incb
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
172 suba #10
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
173 bcc lp10
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
174 adda #10
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
175 lslb
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
176 lslb
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
177 lslb
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
178 lslb
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
179 pshs b
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
180 adda ,s+
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
181 puls b,pc
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
182
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
183 INIT equ *
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
184 GetSta equ *
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
185 SetSta equ *
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
186 TERM equ *
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
187 rts
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
188
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
189 emod
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
190 eom equ *
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
191 end
37737e5ec640 Add coco3fpga RAM disk and RTC driver
Bill Pierce <merlinious999@gmail.com>
parents:
diff changeset
192