Subversion Repositories ngs

Rev

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