Mercurial > hg > Members > kono > nitros9-code
comparison level2/modules/boot_1773.asm @ 0:6641a883d6b0
Initial revision
author | boisy |
---|---|
date | Thu, 04 Apr 2002 16:34:12 +0000 |
parents | |
children | 25c2f2c8f15f |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:6641a883d6b0 |
---|---|
1 ******************************************************************** | |
2 * Boot - WD1773 Boot module | |
3 * | |
4 * $Id$ | |
5 * | |
6 * Ed. Comments Who YY/MM/DD | |
7 * ------------------------------------------------------------------ | |
8 * 4 Original Tandy distribution version | |
9 * 6 Obtained from L2 Upgrade archive, has 6ms step BGP 98/10/12 | |
10 * rate and disk timeout changes | |
11 | |
12 nam Boot | |
13 ttl WD1773 Boot module | |
14 | |
15 ifp1 | |
16 use defsfile | |
17 endc | |
18 | |
19 * Step Rate: | |
20 * $00 = 6ms | |
21 * $01 = | |
22 * $02 = | |
23 * $03 = 30ms | |
24 STEP equ $00 | |
25 | |
26 tylg set Systm+Objct | |
27 atrv set ReEnt+rev | |
28 rev set $01 | |
29 edition set 6 | |
30 | |
31 mod eom,name,tylg,atrv,start,size | |
32 | |
33 u0000 rmb 2 | |
34 u0002 rmb 2 | |
35 u0004 rmb 1 | |
36 u0005 rmb 1 | |
37 u0006 rmb 1 | |
38 u0007 rmb 1 | |
39 u0008 rmb 1 | |
40 u0009 rmb 1 | |
41 size equ . | |
42 | |
43 name fcs /Boot/ | |
44 fcb edition | |
45 | |
46 start clra | |
47 ldb #$0A | |
48 L0015 pshs a | |
49 decb | |
50 bne L0015 | |
51 tfr s,u | |
52 ldx #$FF48 | |
53 lda #$D0 | |
54 sta ,x | |
55 lbsr L01AA | |
56 lda ,x | |
57 lda #$FF | |
58 sta u0004,u | |
59 leax >NMIRtn,pcr | |
60 stx <D.NMI | |
61 lda #$09 | |
62 sta >$FF40 | |
63 ldd #$C350 | |
64 L003A nop | |
65 nop | |
66 subd #$0001 | |
67 bne L003A | |
68 pshs u,y,x,b,a | |
69 ldd #$0001 | |
70 os9 F$SRqMem | |
71 bcs L00AA | |
72 tfr u,d | |
73 ldu $06,s | |
74 std u0002,u | |
75 clrb | |
76 ldx #$0000 | |
77 bsr L00C7 | |
78 bcs L00AA | |
79 ldd $01,y | |
80 std u0007,u | |
81 lda <$10,y | |
82 sta u0005,u | |
83 anda #$01 | |
84 sta u0008,u | |
85 lda $03,y | |
86 sta u0006,u | |
87 ldd <$18,y | |
88 std ,s | |
89 ldx <$16,y | |
90 pshs x | |
91 ldd #256 | |
92 ldu u0002,u | |
93 os9 F$SRtMem | |
94 ldd $02,s | |
95 os9 F$BtMem | |
96 puls x | |
97 bcs L00AA | |
98 stu $02,s | |
99 ldu $06,s | |
100 ldd $02,s | |
101 std u0002,u | |
102 ldd ,s | |
103 beq L00A3 | |
104 L0091 pshs x,b,a | |
105 clrb | |
106 bsr L00C7 | |
107 bcs L00A8 | |
108 puls x,b,a | |
109 inc u0002,u | |
110 leax 1,x | |
111 subd #256 | |
112 bhi L0091 | |
113 L00A3 clrb | |
114 puls b,a | |
115 bra L00AC | |
116 L00A8 leas $04,s | |
117 L00AA leas $02,s | |
118 L00AC sta >$FFD9 | |
119 puls u,y,x | |
120 leas $0A,s | |
121 clr >$FF40 | |
122 rts | |
123 L00B7 lda #$29 | |
124 sta ,u | |
125 clr u0004,u | |
126 lda #$05 | |
127 lbsr L0170 | |
128 ldb #STEP | |
129 lbra L0195 | |
130 L00C7 lda #$91 | |
131 cmpx #$0000 | |
132 bne L00DF | |
133 bsr L00DF | |
134 bcs L00D6 | |
135 ldy u0002,u | |
136 clrb | |
137 L00D6 rts | |
138 L00D7 bcc L00DF | |
139 pshs x,b,a | |
140 bsr L00B7 | |
141 puls x,b,a | |
142 L00DF pshs x,b,a | |
143 bsr L00EA | |
144 puls x,b,a | |
145 bcc L00D6 | |
146 lsra | |
147 bne L00D7 | |
148 L00EA bsr L013C | |
149 bcs L00D6 | |
150 ldx u0002,u | |
151 orcc #IntMasks | |
152 pshs y | |
153 ldy #$FFFF | |
154 ldb #$80 | |
155 stb >$FF48 | |
156 ldb ,u | |
157 orb #$30 | |
158 tst u0009,u | |
159 beq L0107 | |
160 orb #$40 | |
161 L0107 stb >$FF40 | |
162 lbsr L01AA | |
163 orb #$80 | |
164 lda #$02 | |
165 L0111 bita >$FF48 | |
166 bne L0123 | |
167 leay -$01,y | |
168 bne L0111 | |
169 lda ,u | |
170 sta >$FF40 | |
171 puls y | |
172 bra L0138 | |
173 L0123 lda >$FF4B | |
174 sta ,x+ | |
175 stb >$FF40 | |
176 bra L0123 | |
177 | |
178 NMIRtn leas $0C,s | |
179 puls y | |
180 ldb >$FF48 | |
181 bitb #$04 | |
182 beq L018F | |
183 L0138 comb | |
184 ldb #E$Read | |
185 rts | |
186 L013C lda #$09 | |
187 sta ,u | |
188 clr u0009,u | |
189 tfr x,d | |
190 cmpd #$0000 | |
191 beq L016C | |
192 clr ,-s | |
193 tst u0008,u | |
194 beq L0162 | |
195 bra L0158 | |
196 L0152 com u0009,u | |
197 bne L0158 | |
198 inc ,s | |
199 L0158 subb u0006,u | |
200 sbca #$00 | |
201 bcc L0152 | |
202 bra L0168 | |
203 L0160 inc ,s | |
204 L0162 subb u0006,u | |
205 sbca #$00 | |
206 bcc L0160 | |
207 L0168 addb #$12 | |
208 puls a | |
209 L016C incb | |
210 stb >$FF4A | |
211 L0170 ldb u0004,u | |
212 stb >$FF49 | |
213 cmpa u0004,u | |
214 beq L018D | |
215 sta u0004,u | |
216 sta >$FF4B | |
217 ldb #$10+STEP | |
218 bsr L0195 | |
219 pshs x | |
220 ldx #$222E | |
221 L0187 leax -$01,x | |
222 bne L0187 | |
223 puls x | |
224 L018D clrb | |
225 rts | |
226 L018F bitb #$98 | |
227 bne L0138 | |
228 clrb | |
229 rts | |
230 L0195 bsr L01A8 | |
231 L0197 ldb >$FF48 | |
232 bitb #$01 | |
233 bne L0197 | |
234 rts | |
235 L019F lda ,u | |
236 sta >$FF40 | |
237 stb >$FF48 | |
238 rts | |
239 L01A8 bsr L019F | |
240 L01AA lbsr L01AD | |
241 L01AD lbsr L01B0 | |
242 L01B0 rts | |
243 | |
244 * Filler to get $1D0 | |
245 Filler fcb $39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39 | |
246 fcb $39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39 | |
247 | |
248 emod | |
249 eom equ * | |
250 end |