annotate level1/modules/clock.asm @ 1842:50bdf0b95c85

Fix for non-booting on real hardware
author afra
date Fri, 17 Jun 2005 00:41:59 +0000
parents 277b53362535
children 8234be91628d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1 ********************************************************************
1313
7fdef42e19a0 New clock/clock2 combo
boisy
parents: 1287
diff changeset
2 * Clock - OS-9 System Clock
7fdef42e19a0 New clock/clock2 combo
boisy
parents: 1287
diff changeset
3 *
7fdef42e19a0 New clock/clock2 combo
boisy
parents: 1287
diff changeset
4 * CoCo 3 notes:
7fdef42e19a0 New clock/clock2 combo
boisy
parents: 1287
diff changeset
5 * Includes support for several different RTC chips, GIME Toggle
7fdef42e19a0 New clock/clock2 combo
boisy
parents: 1287
diff changeset
6 * IRQ fix, numerous minor changes.
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
7 *
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
8 * $Id$
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
9 *
1287
10957d54bf16 Made all modules rev 0
boisy
parents: 1213
diff changeset
10 * Edt/Rev YYYY/MM/DD Modified by
10957d54bf16 Made all modules rev 0
boisy
parents: 1213
diff changeset
11 * Comment
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
12 * ------------------------------------------------------------------
1313
7fdef42e19a0 New clock/clock2 combo
boisy
parents: 1287
diff changeset
13 * ????/??/??
7fdef42e19a0 New clock/clock2 combo
boisy
parents: 1287
diff changeset
14 * NitrOS-9 2.00 distribution.
1287
10957d54bf16 Made all modules rev 0
boisy
parents: 1213
diff changeset
15 *
1313
7fdef42e19a0 New clock/clock2 combo
boisy
parents: 1287
diff changeset
16 * 9r4 2003/01/01 Boisy G. Pitre
7fdef42e19a0 New clock/clock2 combo
boisy
parents: 1287
diff changeset
17 * Back-ported to OS-9 Level Two.
1287
10957d54bf16 Made all modules rev 0
boisy
parents: 1213
diff changeset
18 *
1313
7fdef42e19a0 New clock/clock2 combo
boisy
parents: 1287
diff changeset
19 * 9r5 2003/08/18 Boisy G. Pitre
7fdef42e19a0 New clock/clock2 combo
boisy
parents: 1287
diff changeset
20 * Separated clock into Clock and Clock2 for modularity.
7fdef42e19a0 New clock/clock2 combo
boisy
parents: 1287
diff changeset
21 *
7fdef42e19a0 New clock/clock2 combo
boisy
parents: 1287
diff changeset
22 * 9r6 2003/09/04 Boisy G. Pitre
7fdef42e19a0 New clock/clock2 combo
boisy
parents: 1287
diff changeset
23 * Combined Level One and Level Two sources
1735
11f38ece79ef More changes by Phill for Dragon
boisy
parents: 1731
diff changeset
24 *
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
25 * 9r7 2004/11/27 Phill Harvey-Smith
1735
11f38ece79ef More changes by Phill for Dragon
boisy
parents: 1731
diff changeset
26 * Fixed bug in init routine that was causing DP and CC to
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
27 * be pulled off the stack and stored in D.Proc under Level 1
1735
11f38ece79ef More changes by Phill for Dragon
boisy
parents: 1731
diff changeset
28 *
1744
80cdc57fbaae PIAs initialized with new value
boisy
parents: 1742
diff changeset
29 * 9r7 2005/01/17 Boisy G. Pitre
80cdc57fbaae PIAs initialized with new value
boisy
parents: 1742
diff changeset
30 * Fixed incorrect value for PIA initialization. Robert indicated
80cdc57fbaae PIAs initialized with new value
boisy
parents: 1742
diff changeset
31 * that it should be $3434, not $3435.
80cdc57fbaae PIAs initialized with new value
boisy
parents: 1742
diff changeset
32 *
1794
277b53362535 Additions by Phill
boisy
parents: 1744
diff changeset
33 * 9r7 2005/04/08 Phill Harvey-Smith
277b53362535 Additions by Phill
boisy
parents: 1744
diff changeset
34 * Made the above level dependent as having PIAs inited with $3434
277b53362535 Additions by Phill
boisy
parents: 1744
diff changeset
35 * will disable the IRQ from them, this is ok for Level 2/CoCo 3 as the
277b53362535 Additions by Phill
boisy
parents: 1744
diff changeset
36 * IRQ is later enabled from the GIME, however the CoCo 1,2 and Dragon
277b53362535 Additions by Phill
boisy
parents: 1744
diff changeset
37 * do not posses a GIME so anything dependent on the clock tick will
277b53362535 Additions by Phill
boisy
parents: 1744
diff changeset
38 * hang. So changed to conditionaly compile based on level :-
277b53362535 Additions by Phill
boisy
parents: 1744
diff changeset
39 *
277b53362535 Additions by Phill
boisy
parents: 1744
diff changeset
40 * Level 1 $3435
277b53362535 Additions by Phill
boisy
parents: 1744
diff changeset
41 * Level 2 $3434
277b53362535 Additions by Phill
boisy
parents: 1744
diff changeset
42 *
277b53362535 Additions by Phill
boisy
parents: 1744
diff changeset
43
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
44 nam Clock
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
45 ttl OS-9 System Clock
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
46
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
47 IFP1
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
48 use defsfile
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
49 IFGT Level-1
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
50 use cc3iodefs
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
51 ENDC
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
52 ENDC
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
53
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
54 tylg set Systm+Objct
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
55 atrv set ReEnt+rev
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
56 rev set 7
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
57 edition set 9
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
58
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
59
1313
7fdef42e19a0 New clock/clock2 combo
boisy
parents: 1287
diff changeset
60 *------------------------------------------------------------
7fdef42e19a0 New clock/clock2 combo
boisy
parents: 1287
diff changeset
61 *
7fdef42e19a0 New clock/clock2 combo
boisy
parents: 1287
diff changeset
62 * Start of module
7fdef42e19a0 New clock/clock2 combo
boisy
parents: 1287
diff changeset
63 *
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
64 mod len,name,tylg,atrv,init,0
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
65
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
66 name fcs "Clock"
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
67 fcb edition
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
68
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
69
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
70 IFEQ Level-1
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
71 TkPerTS equ TkPerSec/10 ticks per time slice
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
72 ELSE
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
73 TkPerTS equ 2 ticks per time slice
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
74 ENDC
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
75
1313
7fdef42e19a0 New clock/clock2 combo
boisy
parents: 1287
diff changeset
76 *
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
77 * Table to set up Service Calls
1313
7fdef42e19a0 New clock/clock2 combo
boisy
parents: 1287
diff changeset
78 *
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
79 NewSvc fcb F$Time
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
80 fdb FTime-*-2
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
81 fcb F$VIRQ
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
82 fdb FVIRQ-*-2
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
83 IFGT Level-1
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
84 fcb F$Alarm
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
85 fdb FALARM-*-2
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
86 ENDC
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
87 fcb F$STime
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
88 fdb FSTime-*-2
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
89 fcb $80 end of service call installation table
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
90
1313
7fdef42e19a0 New clock/clock2 combo
boisy
parents: 1287
diff changeset
91
7fdef42e19a0 New clock/clock2 combo
boisy
parents: 1287
diff changeset
92 *------------------------------------------------------------
7fdef42e19a0 New clock/clock2 combo
boisy
parents: 1287
diff changeset
93 *
7fdef42e19a0 New clock/clock2 combo
boisy
parents: 1287
diff changeset
94 * Handle F$STime system call
7fdef42e19a0 New clock/clock2 combo
boisy
parents: 1287
diff changeset
95 *
7fdef42e19a0 New clock/clock2 combo
boisy
parents: 1287
diff changeset
96 * First, copy time packet from user address space to system time
7fdef42e19a0 New clock/clock2 combo
boisy
parents: 1287
diff changeset
97 * variables, then fall through to code to update RTC.
7fdef42e19a0 New clock/clock2 combo
boisy
parents: 1287
diff changeset
98 *
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
99 FSTime equ *
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
100 IFGT Level-1
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
101 ldx <D.Proc caller's process descriptor
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
102 lda P$Task,x source is in user map
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
103 ldx R$X,u address of caller's time packet
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
104 ldu #D.Time destination address
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
105 ldb <D.SysTsk destination is in system map
1729
7bdc60c48533 Additional Dragon changes from Phill Harvey-Smith
boisy
parents: 1726
diff changeset
106 lbsr STime.Mv get time packet (ignore errors)
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
107 ELSE
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
108 ldx R$X,u
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
109 ldd ,x
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
110 std <D.Year
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
111 ldd 2,x
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
112 std <D.Day
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
113 ldd 4,x
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
114 std <D.Min
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
115 ENDC
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
116 lda #TkPerSec reset to start of second
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
117 sta <D.Tick
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
118 ldx <D.Clock2 get entry point to Clock2
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
119 jmp $06,x and call GetTime entry point
1313
7fdef42e19a0 New clock/clock2 combo
boisy
parents: 1287
diff changeset
120
7fdef42e19a0 New clock/clock2 combo
boisy
parents: 1287
diff changeset
121
7fdef42e19a0 New clock/clock2 combo
boisy
parents: 1287
diff changeset
122 *--------------------------------------------------
7fdef42e19a0 New clock/clock2 combo
boisy
parents: 1287
diff changeset
123 *
7fdef42e19a0 New clock/clock2 combo
boisy
parents: 1287
diff changeset
124 * Clock Initialization
7fdef42e19a0 New clock/clock2 combo
boisy
parents: 1287
diff changeset
125 *
7fdef42e19a0 New clock/clock2 combo
boisy
parents: 1287
diff changeset
126 * This vector is called by the kernel to service the first F$STime
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
127 * call. F$STime is usually called by SysGo (with a dummy argument)
1313
7fdef42e19a0 New clock/clock2 combo
boisy
parents: 1287
diff changeset
128 * in order to initialize the clock. F$STime is re-vectored to the
7fdef42e19a0 New clock/clock2 combo
boisy
parents: 1287
diff changeset
129 * service code above to handle future F$STime calls.
7fdef42e19a0 New clock/clock2 combo
boisy
parents: 1287
diff changeset
130 *
7fdef42e19a0 New clock/clock2 combo
boisy
parents: 1287
diff changeset
131 *
1731
16a81c903c23 Moved clock string closer to reference
boisy
parents: 1729
diff changeset
132
16a81c903c23 Moved clock string closer to reference
boisy
parents: 1729
diff changeset
133 Clock2 fcs "Clock2"
16a81c903c23 Moved clock string closer to reference
boisy
parents: 1729
diff changeset
134
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
135 init
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
136 IFEQ Level-1
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
137 pshs dp,cc save DP and CC
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
138 clra
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
139 tfr a,dp set DP to zero
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
140 ELSE
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
141 ldx <D.Proc save user proc
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
142 pshs x
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
143 ldx <D.SysPrc make sys for link
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
144 stx <D.Proc
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
145 ENDC
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
146
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
147 leax <Clock2,pcr
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
148 lda #Sbrtn+Objct
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
149 os9 F$Link
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
150
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
151 bcc LinkOk
1735
11f38ece79ef More changes by Phill for Dragon
boisy
parents: 1731
diff changeset
152
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
153 IFEQ Level-1
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
154 jmp >$FFFE level 1: jump to reset vector
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
155 ELSE
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
156 lda #E$MNF
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
157 jmp <D.Crash level 2: jump to CRASH vector
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
158 ENDC
1735
11f38ece79ef More changes by Phill for Dragon
boisy
parents: 1731
diff changeset
159
11f38ece79ef More changes by Phill for Dragon
boisy
parents: 1731
diff changeset
160 LinkOk
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
161 IFEQ Level-1
1735
11f38ece79ef More changes by Phill for Dragon
boisy
parents: 1731
diff changeset
162 puls cc,dp ; Restore saved dp and cc
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
163 ELSE
1735
11f38ece79ef More changes by Phill for Dragon
boisy
parents: 1731
diff changeset
164 puls x
11f38ece79ef More changes by Phill for Dragon
boisy
parents: 1731
diff changeset
165 stx <D.Proc restore user proc
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
166 ENDC
1735
11f38ece79ef More changes by Phill for Dragon
boisy
parents: 1731
diff changeset
167
11f38ece79ef More changes by Phill for Dragon
boisy
parents: 1731
diff changeset
168 sty <D.Clock2 save entry point
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
169 InitCont
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
170 ldx #PIA0Base point to PIA0
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
171 clra no error for return...
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
172 pshs cc save IRQ enable status (and Carry clear)
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
173 orcc #IntMasks stop interrupts
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
174
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
175 IFGT Level-1
1313
7fdef42e19a0 New clock/clock2 combo
boisy
parents: 1287
diff changeset
176 * Note: this code can go away once we have a rel_50hz
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
177 IFEQ TkPerSec-50
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
178 ldb <D.VIDMD get video mode register copy
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
179 orb #$08 set 50 Hz VSYNC bit
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
180 stb <D.VIDMD save video mode register copy
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
181 stb >$FF98 set 50 Hz VSYNC
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
182 ENDC
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
183 ENDC
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
184
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
185 sta 1,x enable DDRA
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
186 sta ,x set port A all inputs
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
187 sta 3,x enable DDRB
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
188 coma
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
189 sta 2,x set port B all outputs
1794
277b53362535 Additions by Phill
boisy
parents: 1744
diff changeset
190
1735
11f38ece79ef More changes by Phill for Dragon
boisy
parents: 1731
diff changeset
191 ; ldd #$343C [A]=PIA0 CRA contents, [B]=PIA0 CRB contents
1794
277b53362535 Additions by Phill
boisy
parents: 1744
diff changeset
192
277b53362535 Additions by Phill
boisy
parents: 1744
diff changeset
193 IFGT Level-1
1744
80cdc57fbaae PIAs initialized with new value
boisy
parents: 1742
diff changeset
194 ldd #$3434 as per Robert Gault's suggestion
1794
277b53362535 Additions by Phill
boisy
parents: 1744
diff changeset
195 ELSE
277b53362535 Additions by Phill
boisy
parents: 1744
diff changeset
196 ldd #$3435 IRQ needs to be left enabled for Level1, as no GIME generated IRQ
277b53362535 Additions by Phill
boisy
parents: 1744
diff changeset
197 ENDIF
277b53362535 Additions by Phill
boisy
parents: 1744
diff changeset
198
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
199 sta 1,x CA2 (MUX0) out low, port A, disable HBORD high-to-low IRQs
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
200 stb 3,x CB2 (MUX1) out low, port B, disable VBORD low-to-high IRQs
1735
11f38ece79ef More changes by Phill for Dragon
boisy
parents: 1731
diff changeset
201
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
202 IFGT Level-1
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
203 lda ,x clear possible pending PIA0 HBORD IRQ
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
204 ENDC
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
205 lda 2,x clear possible pending PIA0 VBORD IRQ
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
206
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
207 * Don't need to explicitly read RTC during initialization
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
208 ldd #59*256+TkPerTS last second and time slice in minute
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
209 std <D.Sec will prompt RTC read at next time slice
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
210 stb <D.TSlice set ticks per time slice
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
211 stb <D.Slice set first time slice
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
212 leax SvcIRQ,pcr set IRQ handler
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
213 stx <D.IRQ
1735
11f38ece79ef More changes by Phill for Dragon
boisy
parents: 1731
diff changeset
214
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
215 IFGT Level-1
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
216 leax SvcVIRQ,pcr set VIRQ handler
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
217 stx <D.VIRQ
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
218 ENDC
1735
11f38ece79ef More changes by Phill for Dragon
boisy
parents: 1731
diff changeset
219
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
220 leay NewSvc,pcr insert syscalls
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
221 os9 F$SSvc
1735
11f38ece79ef More changes by Phill for Dragon
boisy
parents: 1731
diff changeset
222
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
223 IFGT Level-1
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
224 IFNE H6309
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
225 oim #$08,<D.IRQER
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
226 ELSE
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
227 lda <D.IRQER get shadow GIME IRQ enable register
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
228 ora #$08 set VBORD bit
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
229 sta <D.IRQER save shadow register
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
230 ENDC
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
231 sta >IRQEnR enable GIME VBORD IRQs
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
232 ENDC
1735
11f38ece79ef More changes by Phill for Dragon
boisy
parents: 1731
diff changeset
233
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
234 * Call Clock2 init routine
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
235 ldy <D.Clock2 get entry point to Clock2
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
236 jsr ,y call init entry point of Clock2
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
237 InitRts puls cc,pc recover IRQ enable status and return
1313
7fdef42e19a0 New clock/clock2 combo
boisy
parents: 1287
diff changeset
238
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
239 IFEQ Level-1
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
240 *
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
241 * Clock IRQ Entry Point
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
242 *
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
243 * Called once every 1.66666ms
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
244 SvcIRQ
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
245 clra
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
246 tfr a,dp set direct page to zero
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
247 lda PIA0Base+3 get hw byte
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
248 bmi L0032 branch if sync flag on
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
249 jmp [>D.SvcIRQ] else service other possible IRQ
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
250 L0032 lda PIA0Base+2 clear interrupt
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
251 dec <D.Tick decrement tick counter
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
252 bne L007F go around if not zero
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
253 ldb <D.Sec get minutes/seconds
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
254 * Seconds increment
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
255 incb increment seconds
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
256 cmpb #60 full minute?
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
257 bcs L0079 nope...
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
258 *
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
259 * Call GetTime entry point in Clock2
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
260 *
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
261 ldx <D.Clock2 get entry point to Clock2
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
262 jsr $03,x call GetTime entry point
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
263 fcb $8C skip next 2 bytes
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
264 L0079 stb <D.Sec update sec
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
265 L007B lda <D.TSec get ticks per second value
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
266 sta <D.Tick and repopulate tick decrement counter
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
267 L007F clra clear A
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
268 pshs a and save it on the stack
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
269 ldy <D.CLTb get pointer to VIRQ Polling Entries
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
270 bra L009E go to the processing portion of the loop
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
271 L0087 ldd Vi.Cnt,x get count down counter
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
272 subd #$0001 subtract tick count
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
273 bne L009C branch if not at terminal count ($0000)
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
274 lda #$01
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
275 sta ,s set flag on stack to 1
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
276 lda Vi.Stat,x get status byte
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
277 beq DelEntry branch if zero (one shot, so delete)
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
278 L0096 ora #Vi.IFlag set interrupted flag
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
279 sta Vi.Stat,x save in packet
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
280 ldd Vi.Rst,x get reset count
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
281 L009C std Vi.Cnt,x save tick count back
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
282 L009E ldx ,y++ get two bytes at Y
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
283 bne L0087 if not zero, branch
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
284 lda ,s+ else get byte off stack
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
285 beq GoAltIRQ branch if zero
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
286 ldx <D.Proc else get pointer to current process descriptor
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
287 beq L00AE branch if none
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
288 tst P$State,x test process' state
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
289 bpl UsrPoll branch if system state not set
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
290 L00AE jsr [>D.Poll] poll ISRs
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
291 bcc L00AE keep polling until carry set
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
292 GoAltIRQ
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
293 jmp [>D.AltIRQ] jump into an alternate IRQ if available
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
294 DelEntry
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
295 bsr DelVIRQ delete the VIRQ entry
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
296 bra L0096
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
297
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
298 UsrPoll leay >up@,pcr point to routine to execute
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
299 jmp [>D.URtoSs] User to System
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
300 up@ jsr [>D.Poll] call polling routine
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
301 bcc up@ keep polling until carry set
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
302 ldx <D.Proc get current process descriptor
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
303 ldb P$State,x and its state
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
304 andb #^SysState turn off sysstate bit
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
305 stb P$State,x save new state
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
306 ldd <P$SWI2,x
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
307 std <D.SWI2
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
308 ldd <D.UsrIRQ
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
309 std <D.SvcIRQ
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
310 bra GoAltIRQ
1313
7fdef42e19a0 New clock/clock2 combo
boisy
parents: 1287
diff changeset
311
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
312 DelVIRQ pshs y,x save off Y,X
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
313 dl@ ldx ,y++ get next entry
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
314 stx -$04,y move up
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
315 bne dl@ continue until all are moved
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
316 puls y,x restore
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
317 leay -2,y move back 2 from Y (points to last entry)
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
318 rts return
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
319
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
320 * Install or Remove VIRQ Entry
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
321 FVIRQ pshs cc
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
322 orcc #IntMasks mask all interrupts
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
323 ldy <D.CLTb get pointer to VIRQ polling table
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
324 ldx <D.Init get pointer to init module
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
325 ldb PollCnt,x get poll count
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
326 ldx R$X,u get pointer to caller's X
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
327 beq L0118 branch if removing
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
328 tst ,y entry available?
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
329 beq L010C
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
330 subb #$02
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
331 lslb
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
332 leay b,y
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
333 tst ,y
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
334 bne PTblFul polling table full
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
335 L0106 tst ,--y
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
336 beq L0106
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
337 leay $02,y
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
338 L010C ldx R$Y,u
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
339 stx ,y
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
340 ldy R$D,u
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
341 sty ,x
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
342 bra L0124
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
343 L0118 leax R$Y,u X = caller's Y
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
344 L011A tst ,y end of VIRQ table
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
345 beq L0124 branch if so
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
346 cmpx ,y++ else compare to current VIRQ entry and inc Y
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
347 bne L011A continue searching if not matched
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
348 bsr DelVIRQ else delete entry
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
349 L0124 puls cc
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
350 clrb
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
351 rts
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
352 PTblFul puls cc
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
353 comb
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
354 ldb #E$Poll
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
355 rts
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
356
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
357
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
358
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
359 * F$Time system call code
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
360 FTime ldx R$X,u
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
361 ldd <D.Year
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
362 std ,x
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
363 ldd <D.Day
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
364 std 2,x
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
365 ldd <D.Min
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
366 std 4,x
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
367 clrb
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
368 rts
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
369
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
370
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
371
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
372
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
373 ELSE
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
374
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
375
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
376
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
377
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
378 * OS-9 Level Two Clock
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
379
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
380 GI.Toggl equ %00000001 GIME CART* IRQ enable bit, for CC3
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
381
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
382 * TC9 needs to reset more interrupt sources
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
383 *GI.Toggl equ %00000111 GIME SERINT*, KEYINT*, CART* IRQ enable bits
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
384
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
385
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
386 *---------------------------------------------------------
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
387 * IRQ Handling starts here.
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
388 *
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
389 * Caveat: There may not be a stack at this point, so avoid using one.
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
390 * Stack is set up by the kernel between here and SvcVIRQ.
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
391 *
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
392 SvcIRQ lda >IRQEnR get GIME IRQ Status and save it.
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
393 ora <D.IRQS
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
394 sta <D.IRQS
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
395 bita #$08 check for clock interrupt
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
396 beq NoClock
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
397 anda #^$08 drop clock interrupt
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
398 sta <D.IRQS
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
399 ldx <D.VIRQ set VIRQ routine to be executed
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
400 clr <D.QIRQ ---x IS clock IRQ
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
401 bra ContIRQ
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
402
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
403 NoClock leax DoPoll,pcr if not clock IRQ, just poll IRQ source
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
404 IFNE H6309
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
405 oim #$FF,<D.QIRQ ---x set flag to NOT clock IRQ
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
406 ELSE
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
407 lda #$FF
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
408 sta <D.QIRQ
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
409 ENDC
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
410 ContIRQ stx <D.SvcIRQ
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
411 jmp [D.XIRQ] chain through Kernel to continue IRQ handling
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
412
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
413 *------------------------------------------------------------
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
414 *
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
415 * IRQ handling re-enters here on VSYNC IRQ.
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
416 *
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
417 * - Count down VIRQ timers, mark ones that are done
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
418 * - Call DoPoll/DoToggle to service VIRQs and IRQs and reset GIME
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
419 * - Call Keyboard scan
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
420 * - Update time variables
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
421 * - At end of minute, check alarm
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
422 *
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
423 SvcVIRQ clra flag if we find any VIRQs to service
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
424 pshs a
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
425 ldy <D.CLTb get address of VIRQ table
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
426 bra virqent
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
427
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
428 virqloop
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
429 IFGT Level-2
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
430 ldd 2,y get Level 3 extended map type
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
431 orcc #IntMasks
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
432 sta >$0643
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
433 stb >$0645
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
434 std >$FFA1
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
435 andcc #^IntMasks
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
436 ENDC
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
437
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
438 ldd Vi.Cnt,x decrement tick count
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
439 IFNE H6309
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
440 decd --- subd #1
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
441 ELSE
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
442 subd #$0001
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
443 ENDC
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
444 bne notzero is this one done?
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
445 lda Vi.Stat,x should we reset?
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
446 bmi doreset
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
447 lbsr DelVIRQ no, delete this entry
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
448 doreset ora #$01 mark this VIRQ as triggered.
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
449 sta Vi.Stat,x
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
450 lda #$80 add VIRQ as interrupt source
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
451 sta ,s
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
452 ldd Vi.Rst,x reset from Reset count.
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
453 notzero std Vi.Cnt,x
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
454 virqent ldx ,y++
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
455 bne virqloop
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
456
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
457 IFGT Level-2
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
458 puls d
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
459 orcc #Carry
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
460 stb >$0643
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
461 stb >$FFA1
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
462 incb
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
463 stb >$0645
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
464 stb >$FFA1
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
465 andcc #^IntMasks
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
466 ELSE
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
467 puls a get VIRQ status flag: high bit set if VIRQ
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
468 ENDC
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
469
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
470 ora <D.IRQS Check to see if other hardware IRQ pending.
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
471 bita #%10110111 any V/IRQ interrupts pending?
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
472 beq toggle
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
473 IFGT Level-2
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
474 lbsr DoPoll yes, go service them.
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
475 ELSE
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
476 bsr DoPoll yes, go service them.
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
477 ENDC
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
478 bra KbdCheck
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
479 toggle equ *
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
480 IFGT Level-2
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
481 lbsr DoToggle no, toggle GIME anyway
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
482 ELSE
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
483 bsr DoToggle no, toggle GIME anyway
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
484 ENDC
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
485
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
486 KbdCheck
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
487 IFGT Level-2
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
488 lda >$0643 grab current map type
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
489 ldb >$0645
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
490 pshs d save it
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
491 orcc #IntMasks IRQs off
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
492 lda >$0660 SCF local memory ---x
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
493 sta >$0643 into DAT image ---x
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
494 sta >$FFA1 and into RAM ---x
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
495 inca
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
496 sta >$0645
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
497 sta >$FFA2 map in SCF, CC3IO, WindInt, etc.
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
498 ENDC
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
499
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
500 jsr [>D.AltIRQ] go update mouse, gfx cursor, keyboard, etc.
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
501
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
502 IFGT Level-2
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
503 puls d restore original map type ---x
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
504 orcc #IntMasks
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
505 sta >$0643 into system DAT image ---x
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
506 stb >$0645
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
507 std >$FFA1 and into RAM ---x
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
508 andcc #$AF
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
509 ENDC
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
510
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
511 dec <D.Tick end of second?
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
512 bne VIRQend no, skip time update and alarm check
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
513 lda #TkPerSec reset tick count
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
514 sta <D.Tick
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
515
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
516 * ATD: Modified to call real time clocks on every minute ONLY.
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
517 inc <D.Sec go up one second
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
518 lda <D.Sec grab current second
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
519 cmpa #60 end of minute?
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
520 blo VIRQend no, skip time update and alarm check
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
521 clr <D.Sec reset second count to zero
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
522
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
523 *
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
524 * Call GetTime entry point in Clock2
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
525 *
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
526 ldx <D.Clock2 get entry point to Clock2
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
527 jsr $03,x call GetTime entry point
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
528
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
529 NoGet ldd >WGlobal+G.AlPID
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
530 ble VIRQend Quit if no Alarm set
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
531 ldd >WGlobal+G.AlPckt+3 does Hour/Minute agree?
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
532 cmpd <D.Hour
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
533 bne VIRQend
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
534 ldd >WGlobal+G.AlPckt+1 does Month/Day agree?
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
535 cmpd <D.Month
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
536 bne VIRQend
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
537 ldb >WGlobal+G.AlPckt+0 does Year agree?
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
538 cmpb <D.Year
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
539 bne VIRQend
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
540 ldd >WGlobal+G.AlPID
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
541 cmpd #1
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
542 beq checkbel
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
543 os9 F$Send
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
544 bra endalarm
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
545 checkbel ldb <D.Sec sound bell for 15 seconds
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
546 andb #$F0
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
547 beq dobell
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
548 endalarm ldd #$FFFF
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
549 std >WGlobal+G.AlPID
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
550 bra VIRQend
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
551 dobell ldx >WGlobal+G.BelVec
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
552 beq VIRQend
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
553 jsr ,x
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
554 VIRQend jmp [>D.Clock] jump to kernel's timeslice routine
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
555
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
556 *------------------------------------------------------------
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
557 * Interrupt polling and GIME reset code
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
558 *
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
559
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
560 *
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
561 * Call [D.Poll] until all interrupts have been handled
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
562 *
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
563 DoPoll
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
564 IFGT Level-2
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
565 lda >$0643 Level 3: get map type
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
566 ldb >$0645
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
567 pshs d save for later
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
568 ENDC
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
569 d@ jsr [>D.Poll] call poll routine
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
570 bcc d@ until error (error -> no interrupt found)
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
571
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
572 IFGT Level-2
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
573 puls d
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
574 orcc #IntMasks
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
575 sta >$0643
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
576 stb >$0645
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
577 std >$FFA1
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
578 andcc #^IntMasks
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
579 ENDC
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
580
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
581 *
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
582 * Reset GIME to avoid missed IRQs
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
583 *
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
584 DoToggle
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
585 lda #^GI.Toggl mask off CART* bit
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
586 anda <D.IRQS
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
587 sta <D.IRQS
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
588 lda <D.IRQER get current enable register status
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
589 tfr a,b
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
590 anda #^GI.Toggl mask off CART* bit
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
591 orb #GI.Toggl --- ensure that 60Hz IRQ's are always enabled
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
592 sta >IRQEnR disable CART
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
593 stb >IRQEnR enable CART
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
594 clrb
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
595 rts
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
596
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
597
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
598 *------------------------------------------------------------
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
599 *
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
600 * Handle F$VIRQ system call
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
601 *
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
602 FVIRQ pshs cc
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
603 orcc #IntMasks disable interrupts
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
604 ldy <D.CLTb address of VIRQ table
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
605 ldx <D.Init address of INIT
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
606 ldb PollCnt,x number of polling table entries from INIT
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
607 ldx R$X,u zero means delete entry
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
608 beq RemVIRQ
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
609 IFGT Level-2
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
610 bra FindVIRQ ---x
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
611
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
612 v.loop leay 4,y ---x
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
613 ENDC
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
614 FindVIRQ
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
615 ldx ,y++ is VIRQ entry null?
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
616 beq AddVIRQ if yes, add entry here
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
617 decb
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
618 bne FindVIRQ
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
619 puls cc
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
620 comb
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
621 ldb #E$Poll
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
622 rts
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
623
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
624 AddVIRQ
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
625 IFGT Level-2
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
626 ldx R$Y,u
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
627 stx ,y
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
628 lda >$0643
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
629 ldb >$0645
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
630 std 2,y
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
631 ELSE
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
632 leay -2,y point to first null VIRQ entry
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
633 ldx R$Y,u
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
634 stx ,y
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
635 ENDC
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
636 ldy R$D,u
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
637 sty ,x
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
638 bra virqexit
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
639
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
640 IFGT Level-2
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
641 v.chk leay 4,y
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
642 RemVIRQ ldx ,y
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
643 ELSE
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
644 RemVIRQ ldx ,y++
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
645 ENDC
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
646 beq virqexit
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
647 cmpx R$Y,u
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
648 bne RemVIRQ
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
649 bsr DelVIRQ
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
650 virqexit puls cc
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
651 clrb
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
652 rts
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
653
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
654 DelVIRQ pshs x,y
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
655 DelVLup
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
656 IFGT Level-2
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
657 ldq ,y++ move entries up in table
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
658 leay 2,y
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
659 stq -8,y
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
660 bne DelVLup
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
661 puls x,y,pc
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
662 ELSE
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
663 ldx ,y++ move entries up in table
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
664 stx -4,y
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
665 bne DelVLup
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
666 puls x,y
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
667 leay -2,y
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
668 rts
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
669 ENDC
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
670
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
671 IFGT Level-1
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
672 *------------------------------------------------------------
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
673 *
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
674 * Handle F$Alarm call
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
675 *
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
676 FAlarm ldx #WGlobal+G.AlPckt
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
677 ldd R$D,u
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
678 bne DoAlarm
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
679 std G.AlPID-G.AlPckt,x erase F$Alarm PID, Signal.
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
680 rts
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
681
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
682 DoAlarm tsta if PID != 0, set alarm for this process
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
683 bne SetAlarm
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
684 cmpd #1 1 -> Set system-wide alarm
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
685 bne GetAlarm
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
686 SetAlarm
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
687 std G.AlPID-G.AlPckt,x
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
688 ldy <D.Proc
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
689 lda P$Task,y move from process task
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
690 ldb <D.SysTsk to system task
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
691 ldx R$X,u from address given in X
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
692 ldu #WGlobal+G.AlPckt
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
693 ldy #5 move 5 bytes
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
694 bra FMove
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
695
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
696 GetAlarm
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
697 cmpd #2
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
698 bne AlarmErr
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
699 ldd G.AlPID-G.AlPckt,x
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
700 std R$D,u
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
701 bra RetTime
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
702 AlarmErr
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
703 comb
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
704 ldb #E$IllArg
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
705 rts
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
706 ENDC
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
707
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
708 *------------------------------------------------------------
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
709 *
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
710 * Handle F$Time System call
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
711 *
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
712 FTime equ *
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
713 IFGT Level-1
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
714 ldx #D.Time address of system time packet
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
715 RetTime ldy <D.Proc get pointer to current proc descriptor
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
716 ldb P$Task,y process Task number
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
717 lda <D.SysTsk from System Task
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
718 ldu R$X,u
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
719 STime.Mv
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
720 ldy #6 move 6 bytes
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
721 FMove os9 F$Move
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
722 ELSE
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
723 ldx R$X,u get pointer to caller's space
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
724 ldd <D.Year get year and month
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
725 std ,x
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
726 ldd <D.Day get day and hour
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
727 std 2,x
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
728 ldd <D.Min get minute and second
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
729 std 4,x
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
730 clrb
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
731 ENDC
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
732 rts
1742
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
733
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
734 ENDC
ea3988b5403c Incremented rev to indicate PHS's changes
boisy
parents: 1736
diff changeset
735
1726
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
736 emod
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
737 len equ *
043d330e2f0e Recomposed source lines to share more common code between Level 1
boisy
parents: 1658
diff changeset
738 end