Subversion Repositories pentevo

Rev

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