Mercurial > hg > Members > kono > nitros9-code
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 |
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 |