Rev 831 | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
507 | savelij | 1 | |
1186 | savelij | 2 | ; LAST UPDATE: 16.02.2025 savelij |
507 | savelij | 3 | |
1186 | savelij | 4 | ; 横 饭 ᯥ |
5 | COMINT_ EQU 0x026E |
||
507 | savelij | 6 | |
1186 | savelij | 7 | ; ⠭騪 ࠩ NeoGS |
8 | SETUPSD EQU 0x5B00 |
||
507 | savelij | 9 | |
1186 | savelij | 10 | ; ࠩ SD-CARD NGS |
507 | savelij | 11 | |
1186 | savelij | 12 | ; 室 ࠬ 騥: |
13 | ; HL- 㧪 |
||
14 | ; BCDE-32- ᥪ |
||
15 | ; A-⢮ (=512 ) |
||
16 | ; ⮫쪮 筮 /⥭ |
||
507 | savelij | 17 | |
1186 | savelij | 18 | ; 訡 뤠 室: |
19 | ; A=0-樠 諠 ᯥ譮 |
||
20 | ; A=1- ⢥⨫ |
||
507 | savelij | 21 | |
22 | COMSDG EX AF,AF' |
||
23 | LD A,IYL |
||
24 | AND A |
||
25 | LD A,(NEXTBYTERST8) |
||
26 | JR Z,COMSDG1 |
||
27 | EX (SP),HL |
||
28 | LD A,(HL) |
||
29 | INC HL |
||
30 | EX (SP),HL |
||
31 | COMSDG1 ADD A,A |
||
32 | PUSH HL |
||
33 | LD HL,RET4SDG |
||
34 | EX (SP),HL |
||
35 | PUSH HL |
||
36 | LD HL,NGSSDT |
||
37 | ADD A,L |
||
38 | LD L,A |
||
39 | ADC A,H |
||
40 | SUB L |
||
41 | LD H,A |
||
42 | LD A,(HL) |
||
43 | INC HL |
||
44 | LD H,(HL) |
||
45 | LD L,A |
||
46 | EX AF,AF' |
||
47 | EX (SP),HL |
||
48 | RET |
||
49 | |||
50 | RET4SDG PUSH AF |
||
51 | LD A,IYL |
||
52 | AND A |
||
53 | JR NZ,RET4SDG1 |
||
553 | savelij | 54 | LD (RREG_L),HL |
507 | savelij | 55 | EX (SP),HL |
553 | savelij | 56 | LD (RREG_F),HL |
507 | savelij | 57 | EX (SP),HL |
58 | RET4SDG1 POP AF |
||
59 | RET |
||
60 | |||
1186 | savelij | 61 | NGSSDT DW GSDINIT ; SD |
62 | DW GSDCMP ; ઠ SD |
||
63 | DW SDRDMUL ; 'A' ᥪ |
||
64 | DW SDWRMUL ; 'A' ᥪ |
||
507 | savelij | 65 | |
1186 | savelij | 66 | ; 'A' ᥪ |
573 | savelij | 67 | SDWRMUL EX AF,AF' |
585 | savelij | 68 | LD A,_DEV_WRITE |
573 | savelij | 69 | CALL COMM2SD |
70 | EX AF,AF' |
||
71 | PUSH DE |
||
72 | PUSH BC |
||
73 | LD BC,GSDAT |
||
74 | SDWRSN1 EX AF,AF' |
||
75 | OUT (GSCOM),A |
||
76 | CALL WC_ |
||
1186 | savelij | 77 | LD DE,0x0200 |
573 | savelij | 78 | SDWRSN2 OUTI |
79 | CALL WD_ |
||
80 | DEC DE |
||
81 | LD A,D |
||
82 | OR E |
||
83 | JR NZ,SDWRSN2 |
||
84 | EX AF,AF' |
||
85 | DEC A |
||
86 | JR NZ,SDWRSN1 |
||
87 | CALL WN_ |
||
585 | savelij | 88 | IN A,(GSDAT) |
1186 | savelij | 89 | CP 0x99 ; ६ ⥭/ |
585 | savelij | 90 | JP Z,SD_CARD_LOST |
573 | savelij | 91 | POP BC |
92 | POP DE |
||
93 | XOR A |
||
94 | RET |
||
95 | |||
1186 | savelij | 96 | ; ⥭ 'A' ᥪ |
507 | savelij | 97 | SDRDMUL EX AF,AF' |
585 | savelij | 98 | LD A,_DEV_READ |
573 | savelij | 99 | CALL COMM2SD |
507 | savelij | 100 | EX AF,AF' |
101 | PUSH DE |
||
102 | PUSH BC |
||
573 | savelij | 103 | LD D,A |
104 | LD A,IYL |
||
588 | savelij | 105 | BIT 1,A |
106 | JR NZ,SDRDSN3 |
||
573 | savelij | 107 | AND A |
108 | JR NZ,SDRDSN5 |
||
680 | savelij | 109 | SDRDSN3 |
1186 | savelij | 110 | READ_7FFD |
111 | AND 0x10 |
||
573 | savelij | 112 | LD BC,(B0_CPU2) |
113 | JR Z,SDRDSN4 |
||
114 | LD BC,(B1_CPU2) |
||
1186 | savelij | 115 | SDRDSN4 LD A,0x37 |
588 | savelij | 116 | OR B |
117 | LD B,A |
||
118 | LD A,C |
||
573 | savelij | 119 | LD C,LOW (WIN_A0) |
120 | OUT (C),A |
||
121 | SDRDSN5 LD A,D |
||
507 | savelij | 122 | LD BC,GSDAT |
123 | SDRDSN1 EX AF,AF' |
||
124 | OUT (GSCOM),A |
||
1186 | savelij | 125 | .L1 IN A,(GSCOM) |
588 | savelij | 126 | RRA |
1186 | savelij | 127 | JR C,.L1 |
128 | LD DE,0x0200 ; த 浪 |
||
129 | .L2 IN A,(GSCOM) |
||
588 | savelij | 130 | RLA |
1186 | savelij | 131 | JR NC,.L2 |
507 | savelij | 132 | INI |
133 | DEC DE |
||
134 | LD A,D |
||
135 | OR E |
||
1186 | savelij | 136 | JR NZ,.L2 |
507 | savelij | 137 | EX AF,AF' |
138 | DEC A |
||
139 | JR NZ,SDRDSN1 |
||
1186 | savelij | 140 | .L3 IN A,(GSCOM) |
588 | savelij | 141 | RLA |
1186 | savelij | 142 | JR NC,.L3 |
585 | savelij | 143 | IN A,(GSDAT) |
1186 | savelij | 144 | CP 0x99 ; ६ ⥭/ |
585 | savelij | 145 | JP Z,SD_CARD_LOST |
1186 | savelij | 146 | LD BC,WIN_P2 |
573 | savelij | 147 | XOR A |
148 | OUT (C),A |
||
507 | savelij | 149 | POP BC |
150 | POP DE |
||
151 | RET |
||
152 | |||
1186 | savelij | 153 | ; ઠ 窨 |
154 | GSDCMP LD H,CMOS.BYTE_01 |
||
155 | ROMCALL READCMOS,ROM_RST82 |
||
585 | savelij | 156 | LD A,L |
1186 | savelij | 157 | AND CMOS_EC.M_SD_NGS_ONOFF ; ઠ ࠧ襭 㯠 SD NEOGS |
158 | JR Z,SD_NO ; 室 窥 饭 |
||
159 | LD A,(DEVMAN_VARS.FLAGS_DRV) |
||
585 | savelij | 160 | AND B_INST_SDG |
1186 | savelij | 161 | JR Z,SD_NO ; 室 ࠩ ⠭ |
623 | savelij | 162 | XOR A |
163 | OUT (GSDAT),A |
||
1186 | savelij | 164 | LD A,0x1D |
623 | savelij | 165 | OUT (GSCOM),A |
1186 | savelij | 166 | .L1 IN A,(GSCOM) |
623 | savelij | 167 | RRA |
1186 | savelij | 168 | JR C,.L1 |
623 | savelij | 169 | IN A,(GSDAT) |
170 | LD D,A |
||
1186 | savelij | 171 | AND 0x0F |
623 | savelij | 172 | LD E,A |
173 | LD A,D |
||
1186 | savelij | 174 | AND 0xF0 |
623 | savelij | 175 | RRCA |
176 | RRCA |
||
177 | RRCA |
||
178 | RRCA |
||
179 | CP E |
||
585 | savelij | 180 | LD A,1 |
623 | savelij | 181 | JR NZ,GSDINIT1 |
182 | CALL INSTSDD |
||
507 | savelij | 183 | |
1186 | savelij | 184 | ; 樠 窨 |
507 | savelij | 185 | GSDINIT XOR A |
585 | savelij | 186 | GSDINIT1 CALL COMM2SD |
507 | savelij | 187 | CALL WN_ |
585 | savelij | 188 | GSDINIT2 IN A,(GSDAT) |
1186 | savelij | 189 | GSDINIT3 CP 0x99 ; ६ ⥭/ |
585 | savelij | 190 | JP Z,SD_CARD_LOST |
1186 | savelij | 191 | CP 0x77 |
507 | savelij | 192 | JR NZ,SD_NO |
193 | XOR A |
||
194 | RET |
||
195 | |||
196 | SD_NO LD A,1 |
||
197 | RET |
||
198 | |||
1186 | savelij | 199 | ; ।稪 /ࠬ ࠩ NeoGS |
200 | COMM2SD OUT (GSDAT),A ; 諠 ࠩ |
||
201 | LD A,0x1E |
||
507 | savelij | 202 | OUT (GSCOM),A |
1186 | savelij | 203 | CALL WC_ ; 諠 訢 |
507 | savelij | 204 | LD A,B |
205 | OUT (GSDAT),A |
||
1186 | savelij | 206 | CALL WD_ ; 諨 31-24 ࠬ |
507 | savelij | 207 | LD A,C |
208 | OUT (GSDAT),A |
||
1186 | savelij | 209 | CALL WD_ ; 諨 23-16 ࠬ |
507 | savelij | 210 | LD A,D |
211 | OUT (GSDAT),A |
||
1186 | savelij | 212 | CALL WD_ ; 諨 15-8 ࠬ |
507 | savelij | 213 | LD A,E |
214 | OUT (GSDAT),A |
||
1186 | savelij | 215 | CALL WD_ ; 諨 7-0 ࠬ |
507 | savelij | 216 | EX AF,AF' |
217 | OUT (GSDAT),A |
||
218 | EX AF,AF' |
||
219 | DUPL 9,0 |
||
1186 | savelij | 220 | RET ; 諮 - ᥪ |
507 | savelij | 221 | |
1186 | savelij | 222 | ; NeoGS |
507 | savelij | 223 | WD_ IN A,(GSCOM) |
224 | RLA |
||
1186 | savelij | 225 | JR C,WD_ |
507 | savelij | 226 | RET |
227 | |||
1186 | savelij | 228 | ; NeoGS |
507 | savelij | 229 | WN_ IN A,(GSCOM) |
230 | RLA |
||
1186 | savelij | 231 | JR NC,WN_ |
507 | savelij | 232 | RET |
233 | |||
1186 | savelij | 234 | ; NeoGS |
507 | savelij | 235 | WC_ IN A,(GSCOM) |
236 | RRA |
||
1186 | savelij | 237 | JR C,WC_ |
507 | savelij | 238 | RET |
239 | |||
1186 | savelij | 240 | ; ⠭騪 ࠩ NeoGS |
241 | INSTSDD LD A,0x80 |
||
242 | OUT (GSCTR),A ; NEOGS |
||
507 | savelij | 243 | EI |
244 | HALT |
||
585 | savelij | 245 | EI |
507 | savelij | 246 | HALT |
585 | savelij | 247 | EI |
573 | savelij | 248 | HALT |
507 | savelij | 249 | DI |
1186 | savelij | 250 | LD A,0xF3 |
507 | savelij | 251 | OUT (GSCOM),A |
1186 | savelij | 252 | LD B,0x30 |
507 | savelij | 253 | ISDD1 EI |
254 | HALT |
||
255 | DI |
||
256 | DEC B |
||
257 | JR Z,SD_NO |
||
258 | IN A,(GSCOM) |
||
259 | RRA |
||
260 | JR C,ISDD1 |
||
261 | LD BC,GSDAT |
||
262 | IN A,(C) |
||
1186 | savelij | 263 | LD DE,0x0300 |
507 | savelij | 264 | LD HL,SETUPSD |
265 | OUT (C),E |
||
1186 | savelij | 266 | LD A,0x14 |
507 | savelij | 267 | OUT (GSCOM),A |
268 | CALL WC_ |
||
269 | OUT (C),D |
||
270 | CALL WD_ |
||
271 | OUT (C),L |
||
272 | CALL WD_ |
||
273 | OUT (C),H |
||
274 | CALL WD_ |
||
275 | LD HL,UKLAD1 |
||
276 | ISDD3 OUTI |
||
277 | CALL WD_ |
||
278 | DEC DE |
||
279 | LD A,D |
||
280 | OR E |
||
281 | JR NZ,ISDD3 |
||
282 | LD HL,SETUPSD |
||
283 | OUT (C),L |
||
1186 | savelij | 284 | LD A,0x13 |
507 | savelij | 285 | OUT (GSCOM),A |
286 | CALL WC_ |
||
287 | OUT (C),H |
||
288 | EI |
||
289 | HALT |
||
585 | savelij | 290 | EI |
507 | savelij | 291 | HALT |
292 | DI |
||
293 | LD B,3 |
||
294 | IN A,(GSDAT) |
||
295 | DEC B |
||
296 | JP Z,SD_NO |
||
1186 | savelij | 297 | CP 0x77 |
507 | savelij | 298 | JP NZ,SD_NO |
299 | XOR A |
||
300 | RET |
||
301 | |||
1186 | savelij | 302 | UKLAD1 ; 㤠 뢠 |
507 | savelij | 303 | |
304 | PHASE SETUPSD |
||
305 | |||
1186 | savelij | 306 | ; ᠬ ⠭騪 ࠩ NeoGS |
507 | savelij | 307 | DI |
1186 | savelij | 308 | LD A,0x9C |
309 | OUT (SCTRL),A ; 䨣 NeoGS |
||
507 | savelij | 310 | CALL AVTODET |
311 | AND A |
||
1186 | savelij | 312 | LD A,0x77 ; 0x77-NeoGS |
313 | JR Z,.L1 |
||
314 | LD A,0xCC ; 0xCC- OLDGS |
||
315 | .L1 OUT (ZXDATWR),A |
||
507 | savelij | 316 | OUT (CLRCBIT),A |
317 | JP NZ,COMINT_ |
||
318 | DI |
||
319 | IN A,(GSCFG0) |
||
320 | RES B_RAMRO,A |
||
321 | OUT (GSCFG0),A |
||
1186 | savelij | 322 | LD HL,0x1D00 |
323 | LD (0x0300+(0x1E*2)),HL |
||
507 | savelij | 324 | LD DE,UKLAD2 |
325 | LD BC,GSDDRVE-GSDDRV |
||
326 | EX DE,HL |
||
327 | LDIR |
||
328 | IN A,(GSCFG0) |
||
329 | SET B_RAMRO,A |
||
330 | OUT (GSCFG0),A |
||
331 | JP COMINT_ |
||
332 | |||
1186 | savelij | 333 | ; ઠ NeoGS 祭 24MHz |
507 | savelij | 334 | AVTODET IN A,(GSCFG0) |
1186 | savelij | 335 | AND 0xCF |
336 | OUT (GSCFG0),A ; ⭠ 襭묨 |
||
337 | ; ⠬ 5-4 砥 |
||
338 | ; ࠢ 24 |
||
507 | savelij | 339 | LD D,A |
340 | IN A,(GSCFG0) |
||
341 | CP D |
||
342 | LD A,0 |
||
343 | RET Z |
||
344 | DEC A |
||
345 | RET |
||
346 | |||
1186 | savelij | 347 | UKLAD2 ; 㤠 ४뢠 |
507 | savelij | 348 | |
349 | DEPHASE |
||
350 | |||
1186 | savelij | 351 | PHASE 0x1D00 |
507 | savelij | 352 | |
1186 | savelij | 353 | ; 窠 室 ࠡ SD ⮩ |
507 | savelij | 354 | GSDDRV DI |
1186 | savelij | 355 | IN A,(ZXDATRD) ; ਥ ࠩ |
356 | OUT (CLRCBIT),A ; COMANDBIT |
||
507 | savelij | 357 | LD HL,COMINT_ |
358 | PUSH HL |
||
585 | savelij | 359 | PUSH IY |
1186 | savelij | 360 | LD IYH,0x77 |
507 | savelij | 361 | ADD A,A |
362 | LD E,A |
||
363 | LD D,0 |
||
364 | LD HL,TABLSDG |
||
365 | ADD HL,DE |
||
366 | LD E,(HL) |
||
367 | INC HL |
||
368 | LD D,(HL) |
||
369 | EX DE,HL |
||
370 | CALL WDY |
||
1186 | savelij | 371 | IN A,(ZXDATRD) ; ਥ ⮢ 31-24 ࠬ |
507 | savelij | 372 | LD B,A |
373 | CALL WDY |
||
1186 | savelij | 374 | IN A,(ZXDATRD) ; ਥ ⮢ 23-16 ࠬ |
507 | savelij | 375 | LD C,A |
376 | CALL WDY |
||
1186 | savelij | 377 | IN A,(ZXDATRD) ; ਥ ⮢ 15-8 ࠬ |
507 | savelij | 378 | LD D,A |
379 | CALL WDY |
||
1186 | savelij | 380 | IN A,(ZXDATRD) ; ਥ ⮢ 7-0 ࠬ |
507 | savelij | 381 | LD E,A |
382 | CALL WDY |
||
1186 | savelij | 383 | IN A,(ZXDATRD) ; ਥ - ᥪ |
507 | savelij | 384 | JP (HL) |
385 | |||
1186 | savelij | 386 | TABLSDG DW SDINITG ; 0 ࠬ ॡ, 室 'A' |
387 | ; ᬮ 2 祭 |
||
388 | DW SDCMPG ; 1 ઠ SD |
||
389 | DW RDMULG ; 2 'A' ᥪ |
||
390 | DW WRMULG ; 3 'A' ᥪ |
||
507 | savelij | 391 | |
585 | savelij | 392 | SDCMPG LD A,CMD_58 |
393 | LD BC,SD_RSTR |
||
394 | CALL OUT_COG |
||
395 | CALL INOOUTG |
||
396 | IN A,(C) |
||
397 | NOP |
||
398 | IN H,(C) |
||
399 | NOP |
||
400 | IN H,(C) |
||
401 | NOP |
||
402 | IN H,(C) |
||
403 | INC A |
||
404 | JP NZ,OK_WORK |
||
1186 | savelij | 405 | LD IYH,0x88 ; 諠 稥 |
585 | savelij | 406 | JP OK_WORK |
507 | savelij | 407 | |
1186 | savelij | 408 | ZAW003G LD IYH,0xEE ; 㦥 |
585 | savelij | 409 | JP OK_WORK |
410 | |||
507 | savelij | 411 | SDINITG CALL CSHIGHG |
412 | LD BC,SD_SEND |
||
1186 | savelij | 413 | LD DE,0x20FF |
414 | .L1 OUT (C),E |
||
507 | savelij | 415 | DEC D |
1186 | savelij | 416 | JR NZ,.L1 |
507 | savelij | 417 | LD BC,SD_RSTR |
418 | XOR A |
||
419 | EX AF,AF' |
||
420 | ZAW001G LD HL,CMD00G |
||
421 | CALL OUTCOMG |
||
422 | CALL INOOUTG |
||
423 | EX AF,AF' |
||
424 | DEC A |
||
425 | JR Z,ZAW003G |
||
426 | EX AF,AF' |
||
427 | DEC A |
||
428 | JR NZ,ZAW001G |
||
429 | LD HL,CMD08G |
||
430 | CALL OUTCOMG |
||
431 | CALL INOOUTG |
||
432 | IN H,(C) |
||
433 | NOP |
||
434 | IN H,(C) |
||
435 | NOP |
||
436 | IN H,(C) |
||
437 | NOP |
||
438 | IN H,(C) |
||
439 | LD HL,0 |
||
440 | BIT 2,A |
||
441 | JR NZ,ZAW006G |
||
1186 | savelij | 442 | LD H,0x40 |
507 | savelij | 443 | ZAW006G LD A,CMD_55 |
444 | CALL OUT_COG |
||
445 | CALL INOOUTG |
||
446 | LD BC,SD_SEND |
||
447 | LD A,ACMD_41 |
||
448 | OUT (C),A |
||
449 | NOP |
||
450 | OUT (C),H |
||
451 | NOP |
||
452 | OUT (C),L |
||
453 | NOP |
||
454 | OUT (C),L |
||
455 | NOP |
||
456 | OUT (C),L |
||
1186 | savelij | 457 | LD A,0xFF |
507 | savelij | 458 | OUT (C),A |
459 | CALL INOOUTG |
||
460 | AND A |
||
461 | JR NZ,ZAW006G |
||
462 | ZAW004G LD A,CMD_59 |
||
463 | CALL OUT_COG |
||
464 | CALL INOOUTG |
||
465 | AND A |
||
466 | JR NZ,ZAW004G |
||
467 | ZAW005G LD HL,CMD16G |
||
468 | CALL OUTCOMG |
||
469 | CALL INOOUTG |
||
470 | AND A |
||
471 | JR NZ,ZAW005G |
||
585 | savelij | 472 | JP OK_WORK |
507 | savelij | 473 | |
474 | CSHIGHG PUSH AF |
||
1186 | savelij | 475 | LD A,M_SDNCS+M_SNCLR ; 0x81 |
507 | savelij | 476 | OUT (SCTRL),A |
477 | POP AF |
||
478 | RET |
||
479 | |||
480 | CSLOWG PUSH AF |
||
1186 | savelij | 481 | LD A,M_SDNCS ; 1 |
507 | savelij | 482 | OUT (SCTRL),A |
483 | POP AF |
||
484 | RET |
||
485 | |||
486 | OUTCOMG CALL CSLOWG |
||
487 | PUSH BC |
||
1186 | savelij | 488 | LD BC,0x0600+SD_SEND |
507 | savelij | 489 | OTIR |
490 | POP BC |
||
491 | RET |
||
492 | |||
493 | OUT_COG PUSH BC |
||
494 | CALL CSLOWG |
||
495 | LD BC,SD_SEND |
||
496 | OUT (C),A |
||
497 | XOR A |
||
498 | OUT (C),A |
||
499 | NOP |
||
500 | OUT (C),A |
||
501 | NOP |
||
502 | OUT (C),A |
||
503 | NOP |
||
504 | OUT (C),A |
||
505 | DEC A |
||
506 | OUT (C),A |
||
507 | POP BC |
||
508 | RET |
||
509 | |||
510 | SECM20G PUSH HL |
||
511 | PUSH DE |
||
512 | PUSH BC |
||
513 | PUSH AF |
||
514 | PUSH BC |
||
515 | LD A,CMD_58 |
||
516 | LD BC,SD_RSTR |
||
517 | CALL OUT_COG |
||
518 | CALL INOOUTG |
||
519 | IN A,(C) |
||
520 | NOP |
||
521 | IN H,(C) |
||
522 | NOP |
||
523 | IN H,(C) |
||
524 | NOP |
||
525 | IN H,(C) |
||
585 | savelij | 526 | INC A |
527 | JR NZ,SECN20G1 |
||
1186 | savelij | 528 | LD IYH,0x99 ; |
585 | savelij | 529 | SECN20G1 DEC A |
507 | savelij | 530 | BIT 6,A |
531 | POP HL |
||
532 | JR NZ,SECN20G |
||
533 | EX DE,HL |
||
534 | ADD HL,HL |
||
535 | EX DE,HL |
||
536 | ADC HL,HL |
||
537 | LD H,L |
||
538 | LD L,D |
||
539 | LD D,E |
||
540 | LD E,0 |
||
541 | SECN20G POP AF |
||
542 | LD BC,SD_SEND |
||
543 | OUT (C),A |
||
544 | NOP |
||
545 | OUT (C),H |
||
546 | NOP |
||
547 | OUT (C),L |
||
548 | NOP |
||
549 | OUT (C),D |
||
550 | NOP |
||
551 | OUT (C),E |
||
1186 | savelij | 552 | LD A,0xFF |
507 | savelij | 553 | OUT (C),A |
554 | POP BC |
||
555 | POP DE |
||
556 | POP HL |
||
557 | RET |
||
558 | |||
559 | INOOUTG PUSH DE |
||
1186 | savelij | 560 | LD DE,0x80FF |
507 | savelij | 561 | INWAITG IN A,(SD_RSTR) |
562 | CP E |
||
563 | JR NZ,INEXITG |
||
564 | DEC D |
||
565 | JR NZ,INWAITG |
||
566 | INEXITG POP DE |
||
567 | RET |
||
568 | |||
1186 | savelij | 569 | CMD00G DB 0x40,0x00,0x00,0x00,0x00,0x95 ; GO_IDLE_STATE |
570 | CMD08G DB 0x48,0x00,0x00,0x01,0xAA,0x87 ; SEND_IF_COND |
||
571 | CMD16G DB 0x50,0x00,0x00,0x02,0x00,0xFF ; SET_BLOCKEN |
||
507 | savelij | 572 | |
1186 | savelij | 573 | ; । ᥪ SD |
585 | savelij | 574 | WRSECTG LD BC,SD_SEND |
575 | OUT (SD_SEND),A |
||
1186 | savelij | 576 | .L1 IN A,(ZXSTAT) |
507 | savelij | 577 | RRA |
1186 | savelij | 578 | JR NC,.L1 |
507 | savelij | 579 | OUT (CLRCBIT),A |
1186 | savelij | 580 | LD HL,0x0200 |
585 | savelij | 581 | WRSECTG1 CALL WDY |
582 | IN A,(ZXDATRD) |
||
507 | savelij | 583 | DEC HL |
585 | savelij | 584 | OUT (C),A |
507 | savelij | 585 | LD A,H |
586 | OR L |
||
585 | savelij | 587 | JR NZ,WRSECTG1 |
1186 | savelij | 588 | LD A,0xFF |
585 | savelij | 589 | OUT (C),A |
507 | savelij | 590 | NOP |
585 | savelij | 591 | OUT (C),A |
507 | savelij | 592 | RET |
593 | |||
1186 | savelij | 594 | ; । ᥪ ᯥ |
585 | savelij | 595 | RDSECTG IN A,(ZXSTAT) |
573 | savelij | 596 | RRA |
1186 | savelij | 597 | JR NC,RDSECTG |
573 | savelij | 598 | OUT (CLRCBIT),A |
585 | savelij | 599 | LD BC,SD_RSTR |
1186 | savelij | 600 | LD HL,0x0200 |
585 | savelij | 601 | RDSECTG1 IN A,(C) |
573 | savelij | 602 | DEC HL |
585 | savelij | 603 | OUT (ZXDATWR),A |
604 | CALL WDN |
||
573 | savelij | 605 | LD A,H |
606 | OR L |
||
585 | savelij | 607 | JR NZ,RDSECTG1 |
608 | IN A,(C) |
||
573 | savelij | 609 | NOP |
585 | savelij | 610 | IN A,(C) |
573 | savelij | 611 | RET |
612 | |||
1186 | savelij | 613 | ; 'A' ᥪ |
573 | savelij | 614 | WRMULG EX AF,AF' |
615 | LD A,CMD_25 |
||
507 | savelij | 616 | CALL SECM20G |
585 | savelij | 617 | LD A,IYH |
1186 | savelij | 618 | CP 0x99 |
585 | savelij | 619 | JR Z,ERR_WR_LOST |
620 | WRMULG3 CALL INOOUTG |
||
573 | savelij | 621 | INC A |
585 | savelij | 622 | JR NZ,WRMULG3 |
573 | savelij | 623 | EX AF,AF' |
624 | WRMULG1 EX AF,AF' |
||
1186 | savelij | 625 | LD A,0xFC |
573 | savelij | 626 | CALL WRSECTG |
585 | savelij | 627 | WRMULG2 CALL INOOUTG |
573 | savelij | 628 | INC A |
585 | savelij | 629 | JR NZ,WRMULG2 |
573 | savelij | 630 | EX AF,AF' |
631 | DEC A |
||
632 | JR NZ,WRMULG1 |
||
633 | LD C,SD_SEND |
||
1186 | savelij | 634 | LD A,0xFD |
573 | savelij | 635 | OUT (C),A |
1186 | savelij | 636 | .L1 CALL INOOUTG |
573 | savelij | 637 | INC A |
1186 | savelij | 638 | JR NZ,.L1 |
507 | savelij | 639 | JR OK_WORK |
640 | |||
585 | savelij | 641 | ERR_WR_LOST LD BC,SD_SEND |
642 | OUT (SD_SEND),A |
||
1186 | savelij | 643 | .L1 IN A,(ZXSTAT) |
585 | savelij | 644 | RRA |
1186 | savelij | 645 | JR NC,.L1 |
585 | savelij | 646 | OUT (CLRCBIT),A |
1186 | savelij | 647 | LD HL,0x0200 |
585 | savelij | 648 | ERRWRLOST1 CALL WDY |
649 | IN A,(ZXDATRD) |
||
650 | DEC HL |
||
651 | LD A,H |
||
652 | OR L |
||
653 | JR NZ,ERRWRLOST1 |
||
654 | JP OK_WORK |
||
655 | |||
656 | ERR_RD_LOST IN A,(ZXSTAT) |
||
657 | RRA |
||
1186 | savelij | 658 | JR NC,ERR_RD_LOST |
585 | savelij | 659 | OUT (CLRCBIT),A |
660 | LD BC,SD_RSTR |
||
1186 | savelij | 661 | LD HL,0x0200 |
585 | savelij | 662 | ERRRDLOST1 XOR A |
663 | OUT (ZXDATWR),A |
||
664 | CALL WDN |
||
665 | DEC HL |
||
666 | LD A,H |
||
667 | OR L |
||
668 | JR NZ,ERRRDLOST1 |
||
669 | JP OK_WORK |
||
670 | |||
1186 | savelij | 671 | ; 㧪 'A' ᥪ |
507 | savelij | 672 | RDMULG EX AF,AF' |
673 | LD A,CMD_18 |
||
674 | CALL SECM20G |
||
585 | savelij | 675 | LD A,IYH |
1186 | savelij | 676 | CP 0x99 |
585 | savelij | 677 | JR Z,ERR_RD_LOST |
507 | savelij | 678 | EX AF,AF' |
679 | RDMULG1 EX AF,AF' |
||
1186 | savelij | 680 | .L1 CALL INOOUTG |
681 | CP 0xFE |
||
682 | JR NZ,.L1 |
||
585 | savelij | 683 | RDMULG5 CALL RDSECTG |
507 | savelij | 684 | EX AF,AF' |
685 | DEC A |
||
686 | JR NZ,RDMULG1 |
||
687 | LD A,CMD_12 |
||
688 | CALL OUT_COG |
||
585 | savelij | 689 | RDMULG3 CALL INOOUTG |
507 | savelij | 690 | INC A |
585 | savelij | 691 | JR NZ,RDMULG3 |
507 | savelij | 692 | OK_WORK CALL CSHIGHG |
585 | savelij | 693 | LD A,IYH |
694 | POP IY |
||
507 | savelij | 695 | OUTSTAT OUT (ZXDATWR),A |
1186 | savelij | 696 | ; ᯥ |
507 | savelij | 697 | WDN IN A,(ZXSTAT) |
698 | RLA |
||
1186 | savelij | 699 | JR C,WDN |
507 | savelij | 700 | RET |
701 | |||
1186 | savelij | 702 | ; ᯥ |
507 | savelij | 703 | WDY IN A,(ZXSTAT) |
704 | RLA |
||
1186 | savelij | 705 | JR NC,WDY |
507 | savelij | 706 | RET |
707 | GSDDRVE |
||
708 | DEPHASE |