Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
105 | savelij | 1 | |
2 | ;LAST UPDATE: 11.10.2012 savelij |
||
3 | |||
4 | ; SD |
||
5 | GSDDRV DI |
||
6 | IN A,(ZXDATRD) ; |
||
7 | OUT (CLRCBIT),A ; COMANDBIT |
||
8 | LD HL,COMINT_ |
||
9 | PUSH HL |
||
10 | ADD A,A |
||
11 | LD E,A |
||
12 | LD D,0 |
||
13 | LD HL,TABLSDG |
||
14 | ADD HL,DE |
||
15 | LD E,(HL) |
||
16 | INC HL |
||
17 | LD D,(HL) |
||
18 | EX DE,HL |
||
19 | CALL WDY |
||
20 | IN A,(ZXDATRD) ; 31-24 |
||
21 | LD B,A |
||
22 | CALL WDY |
||
23 | IN A,(ZXDATRD) ; 23-16 |
||
24 | LD C,A |
||
25 | CALL WDY |
||
26 | IN A,(ZXDATRD) ; 15-8 |
||
27 | LD D,A |
||
28 | CALL WDY |
||
29 | IN A,(ZXDATRD) ; 7-0 |
||
30 | LD E,A |
||
31 | CALL WDY |
||
32 | IN A,(ZXDATRD) ; - |
||
33 | JP (HL) |
||
34 | |||
35 | TABLSDG DW SDINITG ;0 , A |
||
36 | ;
2
|
||
37 | DW SDCMPG ;1 SD |
||
38 | DW RDMULG ;2 "A" |
||
39 | DW WRMULG ;3 "A" |
||
40 | |||
41 | SDCMPG LD A,CMD_58 |
||
42 | LD BC,SD_RSTR |
||
43 | CALL OUT_COG |
||
44 | CALL INOOUTG |
||
45 | IN A,(C) |
||
46 | NOP |
||
47 | IN H,(C) |
||
48 | NOP |
||
49 | IN H,(C) |
||
50 | NOP |
||
51 | IN H,(C) |
||
52 | INC A |
||
53 | JP NZ,OK_WORK |
||
54 | ZAW003G CALL CSHIGHG |
||
55 | LD A,0XEE |
||
56 | JP OUTSTAT |
||
57 | |||
58 | SDINITG CALL CSHIGHG |
||
59 | LD BC,SD_SEND |
||
60 | LD DE,0X20FF |
||
61 | OUT (C),E |
||
62 | DEC D |
||
63 | JR NZ,$-3 |
||
64 | LD BC,SD_RSTR |
||
65 | XOR A |
||
66 | EX AF,AF' |
||
67 | ZAW001G LD HL,CMD00G |
||
68 | CALL OUTCOMG |
||
69 | CALL INOOUTG |
||
70 | EX AF,AF' |
||
71 | DEC A |
||
72 | JR Z,ZAW003G |
||
73 | EX AF,AF' |
||
74 | DEC A |
||
75 | JR NZ,ZAW001G |
||
76 | LD HL,CMD08G |
||
77 | CALL OUTCOMG |
||
78 | CALL INOOUTG |
||
79 | IN H,(C) |
||
80 | NOP |
||
81 | IN H,(C) |
||
82 | NOP |
||
83 | IN H,(C) |
||
84 | NOP |
||
85 | IN H,(C) |
||
86 | LD HL,0 |
||
87 | BIT 2,A |
||
88 | JR NZ,ZAW006G |
||
89 | LD H,0X40 |
||
90 | ZAW006G LD A,CMD_55 |
||
91 | CALL OUT_COG |
||
92 | CALL INOOUTG |
||
93 | LD BC,SD_SEND |
||
94 | LD A,ACMD_41 |
||
95 | OUT (C),A |
||
96 | NOP |
||
97 | OUT (C),H |
||
98 | NOP |
||
99 | OUT (C),L |
||
100 | NOP |
||
101 | OUT (C),L |
||
102 | NOP |
||
103 | OUT (C),L |
||
104 | LD A,0XFF |
||
105 | OUT (C),A |
||
106 | CALL INOOUTG |
||
107 | AND A |
||
108 | JR NZ,ZAW006G |
||
109 | ZAW004G LD A,CMD_59 |
||
110 | CALL OUT_COG |
||
111 | CALL INOOUTG |
||
112 | AND A |
||
113 | JR NZ,ZAW004G |
||
114 | ZAW005G LD HL,CMD16G |
||
115 | CALL OUTCOMG |
||
116 | CALL INOOUTG |
||
117 | AND A |
||
118 | JR NZ,ZAW005G |
||
119 | JP OK_WORK |
||
120 | |||
121 | CSHIGHG PUSH AF |
||
122 | LD A,M_SDNCS+M_SNCLR ;0X81 |
||
123 | OUT (SCTRL),A |
||
124 | POP AF |
||
125 | RET |
||
126 | |||
127 | CSLOWG PUSH AF |
||
128 | LD A,M_SDNCS ;1 |
||
129 | OUT (SCTRL),A |
||
130 | POP AF |
||
131 | RET |
||
132 | |||
133 | OUTCOMG CALL CSLOWG |
||
134 | PUSH BC |
||
135 | LD BC,0X0600+SD_SEND |
||
136 | OTIR |
||
137 | POP BC |
||
138 | RET |
||
139 | |||
140 | OUT_COG PUSH BC |
||
141 | CALL CSLOWG |
||
142 | LD BC,SD_SEND |
||
143 | OUT (C),A |
||
144 | XOR A |
||
145 | OUT (C),A |
||
146 | NOP |
||
147 | OUT (C),A |
||
148 | NOP |
||
149 | OUT (C),A |
||
150 | NOP |
||
151 | OUT (C),A |
||
152 | DEC A |
||
153 | OUT (C),A |
||
154 | POP BC |
||
155 | RET |
||
156 | |||
157 | SECM20G PUSH HL |
||
158 | PUSH DE |
||
159 | PUSH BC |
||
160 | PUSH AF |
||
161 | PUSH BC |
||
162 | LD A,CMD_58 |
||
163 | LD BC,SD_RSTR |
||
164 | CALL OUT_COG |
||
165 | CALL INOOUTG |
||
166 | IN A,(C) |
||
167 | NOP |
||
168 | IN H,(C) |
||
169 | NOP |
||
170 | IN H,(C) |
||
171 | NOP |
||
172 | IN H,(C) |
||
173 | BIT 6,A |
||
174 | POP HL |
||
175 | JR NZ,SECN20G |
||
176 | EX DE,HL |
||
177 | ADD HL,HL |
||
178 | EX DE,HL |
||
179 | ADC HL,HL |
||
180 | LD H,L |
||
181 | LD L,D |
||
182 | LD D,E |
||
183 | LD E,0 |
||
184 | SECN20G POP AF |
||
185 | LD BC,SD_SEND |
||
186 | OUT (C),A |
||
187 | NOP |
||
188 | OUT (C),H |
||
189 | NOP |
||
190 | OUT (C),L |
||
191 | NOP |
||
192 | OUT (C),D |
||
193 | NOP |
||
194 | OUT (C),E |
||
195 | LD A,0XFF |
||
196 | OUT (C),A |
||
197 | POP BC |
||
198 | POP DE |
||
199 | POP HL |
||
200 | RET |
||
201 | |||
202 | INOOUTG PUSH DE |
||
203 | LD DE,0X30FF |
||
204 | INWAITG IN A,(SD_RSTR) |
||
205 | CP E |
||
206 | JR NZ,INEXITG |
||
207 | DEC D |
||
208 | JR NZ,INWAITG |
||
209 | INEXITG POP DE |
||
210 | RET |
||
211 | |||
212 | CMD00G DB 0X40,0X00,0X00,0X00,0X00,0X95 ;GO_IDLE_STATE |
||
213 | CMD08G DB 0X48,0X00,0X00,0X01,0XAA,0X87 ;SEND_IF_COND |
||
214 | CMD16G DB 0X50,0X00,0X00,0X02,0X00,0XFF ;SET_BLOCKEN |
||
215 | |||
216 | ;
|
||
217 | RDSECTG IN A,(ZXSTAT) |
||
218 | RRA |
||
219 | JR NC,$-3 |
||
220 | OUT (CLRCBIT),A |
||
221 | LD BC,SD_RSTR |
||
222 | LD HL,0X0200 |
||
223 | IN A,(C) |
||
224 | DEC HL |
||
225 | OUT (ZXDATWR),A |
||
226 | CALL WDN |
||
227 | LD A,H |
||
228 | OR L |
||
229 | JR NZ,$-10 |
||
230 | IN A,(C) |
||
231 | NOP |
||
232 | IN A,(C) |
||
233 | RET |
||
234 | |||
235 | ;
SD |
||
236 | WRSECTG LD BC,SD_SEND |
||
237 | OUT (C),A |
||
238 | IN A,(ZXSTAT) |
||
239 | RRA |
||
240 | JR NC,$-3 |
||
241 | OUT (CLRCBIT),A |
||
242 | LD HL,0X0200 |
||
243 | CALL WDY |
||
244 | IN A,(ZXDATRD) |
||
245 | DEC HL |
||
246 | OUT (C),A |
||
247 | LD A,H |
||
248 | OR L |
||
249 | JR NZ,$-10 |
||
250 | LD A,0XFF |
||
251 | OUT (C),A |
||
252 | NOP |
||
253 | OUT (C),A |
||
254 | RET |
||
255 | |||
256 | ; "A"
|
||
257 | WRMULG EX AF,AF' |
||
258 | LD A,CMD_25 |
||
259 | CALL SECM20G |
||
260 | CALL INOOUTG |
||
261 | INC A |
||
262 | JR NZ,$-4 |
||
263 | EX AF,AF' |
||
264 | WRMULG1 EX AF,AF' |
||
265 | LD A,0XFC |
||
266 | CALL WRSECTG |
||
267 | CALL INOOUTG |
||
268 | INC A |
||
269 | JR NZ,$-4 |
||
270 | EX AF,AF' |
||
271 | DEC A |
||
272 | JR NZ,WRMULG1 |
||
273 | LD C,SD_SEND |
||
274 | LD A,0XFD |
||
275 | OUT (C),A |
||
276 | CALL INOOUTG |
||
277 | INC A |
||
278 | JR NZ,$-4 |
||
279 | JR OK_WORK |
||
280 | |||
281 | ; "A"
|
||
282 | RDMULG EX AF,AF' |
||
283 | LD A,CMD_18 |
||
284 | CALL SECM20G |
||
285 | EX AF,AF' |
||
286 | RDMULG1 EX AF,AF' |
||
287 | CALL INOOUTG |
||
288 | CP 0XFE |
||
289 | JR NZ,$-5 |
||
290 | CALL RDSECTG |
||
291 | EX AF,AF' |
||
292 | DEC A |
||
293 | JR NZ,RDMULG1 |
||
294 | LD A,CMD_12 |
||
295 | CALL OUT_COG |
||
296 | CALL INOOUTG |
||
297 | INC A |
||
298 | JR NZ,$-4 |
||
299 | |||
300 | OK_WORK CALL CSHIGHG |
||
301 | LD A,0X77 |
||
302 | |||
303 | OUTSTAT OUT (ZXDATWR),A |
||
304 | |||
305 | ;
|
||
306 | WDN IN A,(ZXSTAT) |
||
307 | RLA |
||
308 | JR C,$-3 |
||
309 | RET |
||
310 | |||
311 | ;
|
||
312 | WDY IN A,(ZXSTAT) |
||
313 | RLA |
||
314 | JR NC,$-3 |
||
315 | RET |