Rev 1190 | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
507 | savelij | 1 | |
1204 | savelij | 2 | ; LAST UPDATE: 23.03.2025 savelij |
507 | savelij | 3 | |
573 | savelij | 4 | COM_FAT EX AF,AF' |
585 | savelij | 5 | CALL P5_READ_BYTE |
573 | savelij | 6 | LD A,(NEXTBYTERST8) |
7 | PUSH IX |
||
8 | PUSH IY |
||
9 | LD IYL,EXTERNAL |
||
10 | JR ICOM_FAT1 |
||
507 | savelij | 11 | |
1186 | savelij | 12 | ; 窠 室 ࠡ FAT |
573 | savelij | 13 | ICOM_FAT EX AF,AF' |
507 | savelij | 14 | EX (SP),HL |
15 | LD A,(HL) |
||
16 | INC HL |
||
17 | EX (SP),HL |
||
18 | PUSH IX |
||
19 | PUSH IY |
||
573 | savelij | 20 | LD IYL,INTERNAL |
1186 | savelij | 21 | ICOM_FAT1 LD (ADR_SP_COMFAT),SP |
507 | savelij | 22 | PUSH HL |
23 | LD HL,EXITDRV |
||
24 | EX (SP),HL |
||
25 | PUSH HL |
||
26 | LD HL,TABLFAT |
||
573 | savelij | 27 | ADD A,A |
507 | savelij | 28 | ADD A,L |
29 | LD L,A |
||
30 | LD A,H |
||
31 | ADC A,0 |
||
32 | LD H,A |
||
33 | LD A,(HL) |
||
34 | INC HL |
||
35 | LD H,(HL) |
||
36 | LD L,A |
||
37 | EX AF,AF' |
||
38 | EX (SP),HL |
||
39 | RET |
||
40 | |||
1186 | savelij | 41 | ERR_DRV LD SP,(ADR_SP_COMFAT) |
507 | savelij | 42 | EXITDRV POP IY |
43 | POP IX |
||
44 | RET |
||
45 | |||
1028 | savelij | 46 | TABLFAT DW INIT_FATVARS ; 樠 ६ FAT |
47 | DW READ_DIR ; 祭 ⥫ 䠩 |
||
48 | DW ENTER_DIR ; 室/室 |
||
49 | DW GET_PATH ; 祭 ⥪饣 |
||
50 | DW GET_LONGNAME ; 祭 䠩 |
||
51 | DW FIND_NAME ; |
||
52 | DW FIND_FILEITEM ; ⥫ 뤠祩 |
||
53 | DW SET_MASK_EXT ; ⠭ ᪨ ७ ᪠ |
||
54 | DW OPEN_FILE ; ⨥ 䠩 |
||
55 | DW READ_FILE ; ⥫쭮 ⥭ 䠩 |
||
56 | DW INIT_TEKDIR ; ᮧ ⠡ ⥪饩 ४ਨ |
||
57 | DW POS_FILES ; ࠡ ⥪饩 樥 |
||
58 | DW ROOTDIR ; 室 ४ |
||
507 | savelij | 59 | |
875 | savelij | 60 | ROOTDIR PUSH IY |
61 | LD IYL,INTERNAL |
||
1186 | savelij | 62 | LD A,(DEVMAN_VARS.SETDVOL) |
875 | savelij | 63 | LD D,A |
64 | LD L,A |
||
65 | LD H,0 |
||
66 | ADD HL,HL |
||
67 | ADD HL,HL |
||
68 | ADD HL,HL |
||
1186 | savelij | 69 | LD BC,BUF_VOLUMES + 2 |
875 | savelij | 70 | ADD HL,BC |
71 | LD A,(HL) |
||
1186 | savelij | 72 | LD HL,BUF_VOLUMES |
875 | savelij | 73 | CALL INIT_FATVARS |
1186 | savelij | 74 | LD DE,(FATVAR.CurrentDIRCluster) |
75 | LD BC,(FATVAR.CurrentDIRCluster + 2) |
||
875 | savelij | 76 | CALL INIT_TEKDIR |
77 | POP IY |
||
78 | RET |
||
79 | |||
961 | savelij | 80 | ; 樠 ६ FAT |
81 | ; 室: |
||
82 | ; HL = ⠡ ࠧ |
||
83 | ; DE = D - ࠭ ࠧ, E - ⢮ ࠧ |
||
84 | ; A = ⨯ ࠧ MBR |
||
85 | ; 室: |
||
86 | ; BCDE = ४ਨ |
||
87 | ; A = ⨯ ࠧ MBR |
||
573 | savelij | 88 | INIT_FATVARS PUSH HL |
961 | savelij | 89 | LD HL,0xFFFF |
1186 | savelij | 90 | LD (FATVAR.NumSec2Buf + 2),HL |
91 | LD (FATVAR.FATType),A |
||
573 | savelij | 92 | LD E,D |
93 | LD D,0 |
||
507 | savelij | 94 | EX DE,HL |
573 | savelij | 95 | POP DE |
507 | savelij | 96 | ADD HL,HL |
97 | ADD HL,HL |
||
573 | savelij | 98 | ADD HL,HL |
507 | savelij | 99 | ADD HL,DE |
573 | savelij | 100 | INC HL |
101 | INC HL |
||
102 | INC HL |
||
1186 | savelij | 103 | CALL RD_DWORD |
104 | LD (FATVAR.StartSecVol),DE |
||
105 | LD (FATVAR.StartSecVol + 2),BC ; ࢮ ᥪ ࠧ |
||
573 | savelij | 106 | CALL LOADLST |
736 | savelij | 107 | CALL VALID_BOOTSEC |
108 | AND A |
||
1186 | savelij | 109 | JR Z,.L6 |
736 | savelij | 110 | SCF |
111 | RET |
||
112 | |||
1186 | savelij | 113 | .L6 LD A,(BUF_512 + _BPB_SecPerClus) |
114 | LD (FATVAR.SecPerClus),A |
||
961 | savelij | 115 | LD HL,(BUF_512 + _BPB_RsvdSecCnt) |
116 | ADD HL,DE |
||
1186 | savelij | 117 | LD (FATVAR.NumSecFAT1),HL |
961 | savelij | 118 | LD HL,0 |
1007 | savelij | 119 | ADC HL,BC |
1186 | savelij | 120 | LD (FATVAR.NumSecFAT1 + 2),HL |
1007 | savelij | 121 | LD HL,0 |
961 | savelij | 122 | LD DE,(BUF_512 + _BPB_FATSz16) |
573 | savelij | 123 | LD A,D |
124 | OR E |
||
1186 | savelij | 125 | JR NZ,.L7 ; FAT12/16 (_BPB_FATSz16 == 0) |
961 | savelij | 126 | LD DE,(BUF_512 + _BPB_FATSz32) |
1028 | savelij | 127 | LD HL,(BUF_512 + _BPB_FATSz32 + 2) ; ६ ᬥ饭 +36 |
1186 | savelij | 128 | .L7 LD (FATVAR.FATSize),DE |
129 | LD (FATVAR.FATSize + 2),HL ; ᥪ FAT ⠡ |
||
961 | savelij | 130 | |
573 | savelij | 131 | LD HL,0 |
961 | savelij | 132 | LD DE,(BUF_512 + _BPB_TotSec16) |
573 | savelij | 133 | LD A,D |
134 | OR E |
||
1186 | savelij | 135 | JR NZ,.L5 ; FAT12/16 (BPB_TOTSEC16=0) |
961 | savelij | 136 | LD DE,(BUF_512 + _BPB_TotSec32) |
137 | LD HL,(BUF_512 + _BPB_TotSec32+2) |
||
1028 | savelij | 138 | ; ६ ᬥ饭 +32 |
1186 | savelij | 139 | .L5 LD (FATVAR.NumsSectorsVol + 2),HL |
140 | LD (FATVAR.NumsSectorsVol),DE ; - ᥪ ᪥/ࠧ |
||
573 | savelij | 141 | |
961 | savelij | 142 | ; 塞 ROOTDIRSECTORS |
143 | LD DE,(BUF_512 + _BPB_RootEntCnt) |
||
507 | savelij | 144 | LD BC,0 |
573 | savelij | 145 | LD A,D |
146 | OR E |
||
1186 | savelij | 147 | JR Z,.L8 |
1028 | savelij | 148 | LD A,0x10 |
573 | savelij | 149 | CALL BCDE_A |
150 | |||
1028 | savelij | 151 | ; ॠ 㫠 |
152 | ; ROOTDIRSECTORS = ((BPB_ROOTENTCNT * 32) + (BPB_BYTSPERSEC - 1)) / BPB_BYTSPERSEC |
||
153 | ; HL ROOTDIRSECTORS. FAT32, HL = 0 ᥣ |
||
573 | savelij | 154 | |
1186 | savelij | 155 | .L8 PUSH DE ; ROOTDIRSECTORS |
156 | LD HL,FATVAR.NumSecFAT1 |
||
157 | CALL RD_DWORD |
||
961 | savelij | 158 | LD A,(BUF_512 + _BPB_NumFATs) |
1186 | savelij | 159 | LD (FATVAR.NumFATs),A |
573 | savelij | 160 | DEC A |
961 | savelij | 161 | JR Z,.L1 |
1186 | savelij | 162 | LD HL,FATVAR.FATSize |
961 | savelij | 163 | CALL BCDEHLP |
1186 | savelij | 164 | LD (FATVAR.NumSecFAT2),DE |
165 | LD (FATVAR.NumSecFAT2 + 2),BC |
||
166 | .L1 LD HL,FATVAR.FATSize |
||
961 | savelij | 167 | CALL BCDEHLP |
1186 | savelij | 168 | LD (FATVAR.NumSecRootDir),DE |
169 | LD (FATVAR.NumSecRootDir + 2),BC |
||
961 | savelij | 170 | POP HL |
171 | ; 塞 ࠧ ROOTDIR |
||
172 | ADD HL,DE |
||
507 | savelij | 173 | EX DE,HL |
961 | savelij | 174 | LD HL,0 |
175 | ADC HL,BC |
||
507 | savelij | 176 | LD B,H |
177 | LD C,L |
||
1186 | savelij | 178 | LD (FATVAR.FirstSecData),DE |
179 | LD (FATVAR.FirstSecData + 2),BC |
||
180 | LD HL,FATVAR.NumsSectorsVol |
||
961 | savelij | 181 | CALL BCDEHLM |
1186 | savelij | 182 | LD A,(FATVAR.SecPerClus) |
961 | savelij | 183 | CALL BCDE_A |
1186 | savelij | 184 | LD (FATVAR.NumsClustersVol),DE |
185 | LD (FATVAR.NumsClustersVol + 2),BC |
||
573 | savelij | 186 | |
1186 | savelij | 187 | LD A,(FATVAR.FATType) |
1028 | savelij | 188 | CP 0xFF |
1010 | savelij | 189 | JR NZ,.L4 |
961 | savelij | 190 | ; । ⨯ FAT ⢨ MBR |
1028 | savelij | 191 | LD HL,(BUF_512 + _BPB_FATSz16) |
192 | LD A,H |
||
193 | OR L |
||
194 | LD A,2 |
||
195 | JR Z,.L2 |
||
1186 | savelij | 196 | LD DE,(FATVAR.FATSize - 1) |
197 | LD BC,(FATVAR.FATSize + 1) |
||
961 | savelij | 198 | LD E,0 ; BCDE = ⢮ ᥪ * 0x100 |
1186 | savelij | 199 | LD HL,FATVAR.NumsClustersVol ; ⢮ FAT |
961 | savelij | 200 | CALL HLBCDEM ; ⢮ - (⢮ ᥪ * 0x100) |
573 | savelij | 201 | LD A,D |
202 | OR C |
||
203 | OR B |
||
961 | savelij | 204 | LD A,1 ; FAT16 |
1010 | savelij | 205 | JR Z,.L2 ; FAT16 䫠 Z=0 |
961 | savelij | 206 | XOR A ; FAT12 |
1186 | savelij | 207 | .L2 LD (FATVAR.FATType),A |
573 | savelij | 208 | |
961 | savelij | 209 | ; FAT12/16 ROOT = 0 |
210 | ; FAT32 ६ ᬥ饭 +44 |
||
1186 | savelij | 211 | ; 室: BCDE - ROOTDIR |
1010 | savelij | 212 | .L4 XOR A |
1186 | savelij | 213 | LD (FATVAR.CurrentNumLevDIR),A |
961 | savelij | 214 | CALL INIT_PATH |
1186 | savelij | 215 | LD A,(FATVAR.FATType) |
1010 | savelij | 216 | PUSH AF |
736 | savelij | 217 | AND A |
573 | savelij | 218 | LD DE,0 |
219 | LD B,D |
||
220 | LD C,E |
||
1186 | savelij | 221 | JR Z,.L3 ; FAT12-NONE |
573 | savelij | 222 | DEC A |
1186 | savelij | 223 | JR Z,.L3 ; FAT16 |
961 | savelij | 224 | LD DE,(BUF_512 + _BPB_RootClus) |
1028 | savelij | 225 | LD BC,(BUF_512 + _BPB_RootClus + 2) ; FAT32 |
1186 | savelij | 226 | .L3 LD (FATVAR.CurrentDIRCluster),DE |
227 | LD (FATVAR.CurrentDIRCluster + 2),BC ; ⥪饣 |
||
228 | LD (FATVAR.RootDIRCluster),DE |
||
229 | LD (FATVAR.RootDIRCluster + 2),BC ; |
||
1010 | savelij | 230 | POP AF |
573 | savelij | 231 | RET |
507 | savelij | 232 | |
961 | savelij | 233 | ; ઠ 0 ᥪ ࠧ |
234 | VALID_BOOTSEC LD HL,(BUF_512 + _BPB_BytsPerSec) |
||
235 | LD A,H |
||
736 | savelij | 236 | SUB 2 |
961 | savelij | 237 | OR L |
1186 | savelij | 238 | JR NZ,.L1 |
961 | savelij | 239 | LD HL,(BUF_512 + _BPB_SecPerClus) |
240 | OR L |
||
1186 | savelij | 241 | JR Z,.L1 |
736 | savelij | 242 | NEG |
961 | savelij | 243 | AND L |
244 | CP L |
||
1186 | savelij | 245 | JR NZ,.L1 |
961 | savelij | 246 | LD A,(BUF_512 + _BPB_NumFATs) |
736 | savelij | 247 | DEC A |
248 | CP 7 |
||
1186 | savelij | 249 | JR NC,.L1 |
736 | savelij | 250 | XOR A |
251 | RET |
||
252 | |||
1186 | savelij | 253 | .L1 OR IXH |
736 | savelij | 254 | RET |
255 | |||
961 | savelij | 256 | ; ନ ⠡ DIR |
257 | ; ࢮ "쭮" DIR |
||
573 | savelij | 258 | INIRTSC PUSH AF |
961 | savelij | 259 | LD HL,0xFFFF |
1186 | savelij | 260 | LD (FATVAR.NumSec2Buf + 2),HL |
261 | LD HL,BUF_DIRCLS |
||
262 | LD DE,(FATVAR.CurrentDIRCluster) |
||
263 | LD BC,(FATVAR.CurrentDIRCluster + 2) |
||
264 | CALL WR_DWORD |
||
573 | savelij | 265 | LD A,D |
266 | OR E |
||
267 | OR B |
||
268 | OR C |
||
1186 | savelij | 269 | JR Z,.L2 |
270 | .L1 PUSH HL |
||
573 | savelij | 271 | CALL RDFATZP |
272 | CALL LST_CLS |
||
273 | POP HL |
||
1186 | savelij | 274 | JR C,.L2 |
275 | CALL WR_DWORD |
||
276 | JR .L1 |
||
573 | savelij | 277 | |
1186 | savelij | 278 | .L2 LD BC,0xFFFF |
279 | CALL WR_DWORD |
||
573 | savelij | 280 | CALL POSTF02 |
281 | POP AF |
||
282 | RET |
||
283 | |||
1028 | savelij | 284 | ; ⥭ 饣 |
1186 | savelij | 285 | RDFATZP LD A,(FATVAR.FATType) |
573 | savelij | 286 | AND A |
1186 | savelij | 287 | JR Z,.L3 |
573 | savelij | 288 | DEC A |
1186 | savelij | 289 | JR Z,.L1 |
573 | savelij | 290 | EX DE,HL |
291 | ADD HL,HL |
||
292 | EX DE,HL |
||
293 | LD HL,0 |
||
294 | ADC HL,BC |
||
1028 | savelij | 295 | ADD HL,BC ; HLDE = BCDE * 2 |
573 | savelij | 296 | LD A,E |
297 | LD E,D |
||
298 | LD D,L |
||
299 | LD C,H |
||
300 | LD B,0 |
||
1186 | savelij | 301 | CALL .L2 |
573 | savelij | 302 | INC HL |
507 | savelij | 303 | LD C,(HL) |
304 | INC HL |
||
305 | LD B,(HL) |
||
573 | savelij | 306 | RET |
307 | |||
1186 | savelij | 308 | .L1 LD BC,0 |
573 | savelij | 309 | LD A,E |
310 | LD E,D |
||
311 | LD D,C |
||
1186 | savelij | 312 | .L2 PUSH AF |
573 | savelij | 313 | PUSH BC |
1186 | savelij | 314 | LD HL,FATVAR.NumSecFAT1 |
573 | savelij | 315 | CALL BCDEHLP |
316 | CALL LOADLST |
||
317 | POP BC |
||
318 | POP AF |
||
319 | LD E,A |
||
320 | LD D,0 |
||
507 | savelij | 321 | ADD HL,DE |
573 | savelij | 322 | ADD HL,DE |
507 | savelij | 323 | LD E,(HL) |
324 | INC HL |
||
325 | LD D,(HL) |
||
573 | savelij | 326 | RET |
327 | |||
1186 | savelij | 328 | .L3 LD H,D |
573 | savelij | 329 | LD L,E |
330 | ADD HL,HL |
||
331 | ADD HL,DE |
||
332 | SRL H |
||
333 | RR L |
||
334 | LD A,E |
||
335 | LD E,H |
||
336 | LD D,0 |
||
337 | LD B,D |
||
338 | LD C,D |
||
339 | SRL E |
||
340 | PUSH AF |
||
341 | PUSH HL |
||
1186 | savelij | 342 | LD DE,(FATVAR.NumSecFAT1) |
343 | LD BC,(FATVAR.NumSecFAT1 + 2) |
||
573 | savelij | 344 | CALL LOADLST |
345 | POP BC |
||
346 | LD A,B |
||
347 | AND 1 |
||
348 | LD B,A |
||
349 | ADD HL,BC |
||
350 | LD B,(HL) |
||
507 | savelij | 351 | INC HL |
573 | savelij | 352 | LD A,H |
353 | CP HIGH (BUF_512)+2 |
||
1186 | savelij | 354 | JR NZ,.L4 |
507 | savelij | 355 | PUSH BC |
573 | savelij | 356 | LD BC,0 |
357 | INC DE |
||
358 | CALL LOADLST |
||
507 | savelij | 359 | POP BC |
1186 | savelij | 360 | .L4 POP AF |
573 | savelij | 361 | LD D,(HL) |
362 | LD E,B |
||
363 | LD BC,0 |
||
364 | RRA |
||
1186 | savelij | 365 | JR NC,.L5 |
961 | savelij | 366 | REPT 4 |
573 | savelij | 367 | SRL D |
368 | RR E |
||
961 | savelij | 369 | ENDM |
1186 | savelij | 370 | .L5 LD A,D |
1028 | savelij | 371 | AND 0x0F |
573 | savelij | 372 | LD D,A |
373 | RET |
||
374 | |||
961 | savelij | 375 | ; ॠ쭮 ᥪ |
376 | ; 室: BCDE = FAT |
||
377 | ; 室: BCDE = ᥪ |
||
573 | savelij | 378 | REALSEC LD A,B |
379 | OR C |
||
380 | OR D |
||
381 | OR E |
||
1186 | savelij | 382 | JR NZ,.L1 |
383 | LD DE,(FATVAR.NumSecRootDir) |
||
384 | LD BC,(FATVAR.NumSecRootDir + 2) |
||
961 | savelij | 385 | RET |
507 | savelij | 386 | |
1186 | savelij | 387 | .L1 LD HL,0xFFFE |
573 | savelij | 388 | EX DE,HL |
507 | savelij | 389 | ADD HL,DE |
390 | EX DE,HL |
||
573 | savelij | 391 | INC HL |
1028 | savelij | 392 | ADC HL,BC ; -2 |
1186 | savelij | 393 | LD A,(FATVAR.SecPerClus) |
394 | JR .L3 |
||
573 | savelij | 395 | |
1186 | savelij | 396 | .L2 SLA E |
573 | savelij | 397 | RL D |
398 | RL L |
||
399 | RL H |
||
1186 | savelij | 400 | .L3 RRCA |
401 | JR NC,.L2 ; 㬭 ࠧ |
||
507 | savelij | 402 | LD B,H |
403 | LD C,L |
||
1186 | savelij | 404 | LD HL,FATVAR.FirstSecData |
1028 | savelij | 405 | JP BCDEHLP ; ਡ ᬥ饭 砫 ࠧ |
573 | savelij | 406 | |
1028 | savelij | 407 | ; ࠭塞 ᥪ 㦥 |
1186 | savelij | 408 | LSTSAVE LD DE,(FATVAR.NumSec2Buf) |
409 | LD BC,(FATVAR.NumSec2Buf + 2) |
||
573 | savelij | 410 | LD HL,BUF_512 |
411 | LD A,1 |
||
412 | CALL TO_DRV |
||
585 | savelij | 413 | DB _DEV_WRITE |
573 | savelij | 414 | AND A |
415 | JP NZ,ERR_DRV |
||
507 | savelij | 416 | RET |
417 | |||
1028 | savelij | 418 | ; 㦠 ᥪ |
507 | savelij | 419 | LOADLST CALL CPNUMSC |
420 | JR NZ,LOADLS1 |
||
421 | LD HL,BUF_512 |
||
422 | RET |
||
423 | |||
1186 | savelij | 424 | LOADLS1 LD (FATVAR.NumSec2Buf),DE |
425 | LD (FATVAR.NumSec2Buf + 2),BC |
||
507 | savelij | 426 | LD HL,BUF_512 |
427 | PUSH HL |
||
573 | savelij | 428 | LD A,1 |
507 | savelij | 429 | CALL TO_DRV |
585 | savelij | 430 | DB _DEV_READ |
507 | savelij | 431 | AND A |
432 | JP NZ,ERR_DRV |
||
433 | POP HL |
||
434 | RET |
||
435 | |||
961 | savelij | 436 | ; ઠ 㦥 㦥 ᥪ |
1186 | savelij | 437 | CPNUMSC LD HL,FATVAR.NumSec2Buf |
507 | savelij | 438 | LD A,(HL) |
439 | INC HL |
||
440 | CP E |
||
441 | RET NZ |
||
442 | LD A,(HL) |
||
443 | INC HL |
||
444 | CP D |
||
445 | RET NZ |
||
446 | LD A,(HL) |
||
447 | INC HL |
||
448 | CP C |
||
449 | RET NZ |
||
450 | LD A,(HL) |
||
451 | CP B |
||
452 | RET |
||
453 | |||
1028 | savelij | 454 | ; ઠ |
1186 | savelij | 455 | LST_CLS LD A,(FATVAR.FATType) ; ⨯ FAT |
507 | savelij | 456 | AND A |
1186 | savelij | 457 | JR NZ,.L1 |
1028 | savelij | 458 | LD HL,0x0FF7 ; FAT12 |
573 | savelij | 459 | SBC HL,DE |
460 | RET |
||
507 | savelij | 461 | |
1186 | savelij | 462 | .L1 DEC A |
463 | JR NZ,.L2 |
||
1028 | savelij | 464 | LD HL,0xFFF7 ; FAT16 |
573 | savelij | 465 | SBC HL,DE |
507 | savelij | 466 | RET |
467 | |||
1186 | savelij | 468 | .L2 LD HL,0x0FFF |
573 | savelij | 469 | SBC HL,BC |
470 | RET NZ |
||
1028 | savelij | 471 | LD HL,0xFFF7 |
573 | savelij | 472 | SBC HL,DE |
473 | RET |
||
474 | |||
1028 | savelij | 475 | ; ⥫ ⥪饣 䠩 |
573 | savelij | 476 | READ_DIR LD A,IYL |
477 | AND A |
||
1186 | savelij | 478 | JR NZ,.L1 |
573 | savelij | 479 | PUSH IY |
480 | LD IYL,INTERNAL |
||
481 | PUSH HL |
||
482 | LD HL,(RREG_C) |
||
1186 | savelij | 483 | LD (FATVAR.TEK_ZAP),HL |
484 | LD HL,.L3 |
||
573 | savelij | 485 | EX (SP),HL |
1186 | savelij | 486 | .L1 LD E,0 ; 䫠 ।饣 䠩 |
487 | LD BC,(FATVAR.TEK_ZAP) ; ⥪騩 ⥫ |
||
507 | savelij | 488 | LD A,B |
489 | OR C |
||
1186 | savelij | 490 | JR Z,.GETRZAP ; =0, ।騩 塞 |
1028 | savelij | 491 | PUSH BC ; ࠭ ⥪騩 |
492 | DEC BC ; 㦭 ।騩 |
||
1186 | savelij | 493 | CALL .GETRZAP ; 塞 |
1028 | savelij | 494 | POP BC ; 㫨 ⥪騩 |
495 | LD E,A ; ।饣 ⥫ 㦥 ⮫쪮 䫠 |
||
1186 | savelij | 496 | .GETRZAP PUSH DE |
1028 | savelij | 497 | CALL RDDIRSC ; ⠥ ᥪ ⥪騬 |
498 | POP DE ; 㫨 ॣ E |
||
507 | savelij | 499 | INC A |
1028 | savelij | 500 | LD A,E ; 㫨 稥/⢨ |
501 | RET Z ; 室 뫥⥫ । 饩 |
||
507 | savelij | 502 | EX AF,AF' |
1186 | savelij | 503 | LD A,C |
504 | AND %00001111 ; 稫 ⥫ 㦥 ᥪ |
||
507 | savelij | 505 | LD E,A |
506 | LD D,0 |
||
507 | EX DE,HL |
||
508 | ADD HL,HL |
||
509 | ADD HL,HL |
||
510 | ADD HL,HL |
||
511 | ADD HL,HL |
||
512 | ADD HL,HL |
||
1028 | savelij | 513 | ADD HL,DE ; ࠭ ⥫ |
1186 | savelij | 514 | LD DE,_DIR_Attr |
515 | LD A,(HL) ; |
||
507 | savelij | 516 | EX DE,HL |
517 | ADD HL,DE |
||
1186 | savelij | 518 | LD L,(HL) ; 䫠 ⥪饣 ⥫ |
1028 | savelij | 519 | LD H,A ; 䫠 ⮣ ⥫ |
507 | savelij | 520 | EX DE,HL |
1028 | savelij | 521 | CALL CP_TWOT ; ઠ 稥 ".." |
522 | LD D,0 ; 㤥 室 ४ |
||
1186 | savelij | 523 | JR NZ,.L2 |
1028 | savelij | 524 | LD D,0x80 ; 㤥 室 । ४ |
1186 | savelij | 525 | .L2 EX AF,AF' |
526 | CP M_DIR_AttrLongName ; 塞 䫠 ।饣 ⥫ |
||
1028 | savelij | 527 | LD A,E ; 䫠 ⥪饣 ⥫ |
528 | LD E,D ; ⠢ ࠢ |
||
507 | savelij | 529 | RET NZ |
1028 | savelij | 530 | INC E ; ⠭ |
507 | savelij | 531 | RET |
532 | |||
1186 | savelij | 533 | .L3 PUSH AF |
573 | savelij | 534 | PUSH HL |
535 | PUSH DE |
||
1186 | savelij | 536 | LD DE,CPU2 |
573 | savelij | 537 | ADD HL,DE |
538 | LD DE,(RREG_L) |
||
1028 | savelij | 539 | LD BC,0x20 |
573 | savelij | 540 | CALL LDIR_BYTES |
541 | POP DE |
||
542 | POP HL |
||
543 | POP AF |
||
544 | POP IY |
||
545 | RET |
||
546 | |||
961 | savelij | 547 | ; ⥭ ᥪ DIR BC |
548 | ; 室: A = 0xFF - 室 । DIR |
||
507 | savelij | 549 | RDDIRSC PUSH BC |
550 | LD D,B |
||
551 | LD E,C |
||
552 | LD BC,0 |
||
1028 | savelij | 553 | LD A,0x10 |
507 | savelij | 554 | CALL BCDE_A |
555 | LD A,E |
||
556 | PUSH AF |
||
1186 | savelij | 557 | LD A,(FATVAR.SecPerClus) |
507 | savelij | 558 | PUSH AF |
559 | CALL BCDE_A |
||
1186 | savelij | 560 | LD HL,BUF_DIRCLS |
507 | savelij | 561 | EX DE,HL |
562 | ADD HL,HL |
||
563 | ADD HL,HL |
||
564 | ADD HL,DE |
||
1186 | savelij | 565 | CALL RD_DWORD |
507 | savelij | 566 | BIT 7,B |
567 | JR Z,RDDIRS3 |
||
568 | POP BC |
||
569 | POP BC |
||
570 | POP BC |
||
571 | XOR A |
||
572 | DEC A |
||
573 | RET |
||
574 | |||
575 | RDDIRS3 CALL REALSEC |
||
576 | POP AF |
||
577 | DEC A |
||
578 | LD L,A |
||
579 | POP AF |
||
580 | AND L |
||
581 | LD L,A |
||
582 | LD H,0 |
||
583 | ADD HL,DE |
||
584 | EX DE,HL |
||
585 | LD HL,0 |
||
586 | ADC HL,BC |
||
587 | LD B,H |
||
588 | LD C,L |
||
589 | CALL LOADLST |
||
590 | POP BC |
||
591 | XOR A |
||
592 | RET |
||
593 | |||
1028 | savelij | 594 | ; ઠ 1 |
507 | savelij | 595 | CP_ONET LD A,(HL) |
1186 | savelij | 596 | CP '.' |
507 | savelij | 597 | RET NZ |
598 | INC HL |
||
599 | LD A,(HL) |
||
600 | DEC HL |
||
1186 | savelij | 601 | CP ' ' |
507 | savelij | 602 | RET NZ |
603 | XOR A |
||
604 | RET |
||
605 | |||
1028 | savelij | 606 | ; ઠ 2 窨 |
507 | savelij | 607 | CP_TWOT LD A,(HL) |
1186 | savelij | 608 | CP '.' |
507 | savelij | 609 | RET NZ |
610 | INC HL |
||
611 | LD A,(HL) |
||
612 | DEC HL |
||
1186 | savelij | 613 | CP '.' |
507 | savelij | 614 | RET NZ |
615 | XOR A |
||
616 | RET |
||
617 | |||
1186 | savelij | 618 | EPOS_FILES LD HL,(FATVAR.TEK_ZAP) |
573 | savelij | 619 | LD (RREG_C),HL |
620 | RET |
||
621 | |||
622 | POS_FILES LD D,A |
||
623 | LD A,IYL |
||
624 | LD IYL,INTERNAL |
||
625 | AND A |
||
626 | LD A,D |
||
627 | JR NZ,POSITFILE1 |
||
628 | LD HL,EPOS_FILES |
||
629 | PUSH HL |
||
630 | LD A,(RREG_A) |
||
631 | LD BC,(RREG_C) |
||
961 | savelij | 632 | POSITFILE1 CP LOW ((ENDTPOS - TPOSITF) / 2) |
507 | savelij | 633 | RET NC |
634 | ADD A,A |
||
635 | LD DE,TPOSITF |
||
636 | LD L,A |
||
637 | LD H,0 |
||
638 | ADD HL,DE |
||
639 | LD E,(HL) |
||
640 | INC HL |
||
641 | LD D,(HL) |
||
642 | EX DE,HL |
||
643 | JP (HL) |
||
644 | |||
1028 | savelij | 645 | TPOSITF DW POSTF00 ; ࠭ ⥪饩 樨 䠩 |
646 | DW POSTF01 ; ⠭ ⥪饩 樨 䠩 |
||
647 | DW POSTF02 ; ⥪饩 樨 0 ࢮ "쭮" |
||
648 | DW POSTF03 ; ६ "B" 䠩 |
||
649 | DW POSTF04 ; ६ "B" 䠩 । |
||
650 | DW POSTF05 ; ⢠ "" ᥩ |
||
651 | DW POSTF06 ; ⠭ "쭮" "BC" |
||
652 | DW POSTF07 ; "BC" ⥪騩 "쭮" |
||
507 | savelij | 653 | ENDTPOS |
654 | |||
1028 | savelij | 655 | ; ࠭ ⥪饩 樨 䠩 |
1186 | savelij | 656 | POSTF00 LD HL,(FATVAR.TEK_ZAP) |
657 | LD (FATVAR.SAVEZAP),HL |
||
507 | savelij | 658 | RET |
659 | |||
1028 | savelij | 660 | ; ⠭ ⥪饩 樨 䠩 |
1186 | savelij | 661 | POSTF01 LD HL,(FATVAR.SAVEZAP) |
662 | LD (FATVAR.TEK_ZAP),HL |
||
507 | savelij | 663 | RET |
664 | |||
1028 | savelij | 665 | ; ६ "B" 䠩 |
507 | savelij | 666 | POSTF03 LD A,B |
667 | AND A |
||
668 | RET Z |
||
961 | savelij | 669 | .L1 PUSH BC |
507 | savelij | 670 | CALL PRVLEGZ |
671 | POP BC |
||
961 | savelij | 672 | DJNZ .L1 |
507 | savelij | 673 | RET |
674 | |||
1028 | savelij | 675 | ; ६ "B" 䠩 । |
507 | savelij | 676 | POSTF04 LD A,B |
677 | AND A |
||
678 | RET Z |
||
961 | savelij | 679 | .L1 PUSH BC |
507 | savelij | 680 | CALL NXTLEGZ |
681 | POP BC |
||
961 | savelij | 682 | DJNZ .L1 |
507 | savelij | 683 | RET |
684 | |||
1028 | savelij | 685 | ; ⢠ "" ᥩ |
507 | savelij | 686 | POSTF05 LD BC,0 |
687 | PUSH BC |
||
688 | EXX |
||
689 | POP BC |
||
690 | EXX |
||
691 | CALL RDDIRSC |
||
961 | savelij | 692 | LD DE,_DIR_StructSize |
693 | .L4 LD A,(HL) |
||
1186 | savelij | 694 | CP '.' |
961 | savelij | 695 | JR NZ,.L5 |
507 | savelij | 696 | INC HL |
697 | LD A,(HL) |
||
698 | DEC HL |
||
1186 | savelij | 699 | CP '.' |
961 | savelij | 700 | JR Z,.L5 |
507 | savelij | 701 | INC BC |
702 | ADD HL,DE |
||
961 | savelij | 703 | JR .L4 |
507 | savelij | 704 | |
961 | savelij | 705 | .L1 INC BC |
507 | savelij | 706 | ADD HL,DE |
961 | savelij | 707 | .L5 LD A,H |
708 | CP HIGH (BUF_512) + 2 |
||
709 | JR NZ,.L2 |
||
507 | savelij | 710 | CALL RDDIRSC |
711 | LD D,0 |
||
712 | AND A |
||
961 | savelij | 713 | JR Z,.L2 |
714 | CALL .L3 |
||
507 | savelij | 715 | DEC A |
716 | RET |
||
717 | |||
961 | savelij | 718 | .L2 LD E,_DIR_Attr |
507 | savelij | 719 | ADD HL,DE |
720 | LD A,(HL) |
||
721 | AND A |
||
722 | SBC HL,DE |
||
961 | savelij | 723 | LD E,_DIR_StructSize |
1186 | savelij | 724 | CP M_DIR_AttrLongName ; ? |
961 | savelij | 725 | JR Z,.L1 |
1186 | savelij | 726 | CP M_DIR_VolumeID ; ࠧ? |
961 | savelij | 727 | JR Z,.L1 |
507 | savelij | 728 | LD A,(HL) |
1028 | savelij | 729 | CP 0xE5 ; 㤠 䠩? |
961 | savelij | 730 | JR Z,.L1 |
507 | savelij | 731 | AND A |
961 | savelij | 732 | JR Z,.L3 |
507 | savelij | 733 | EXX |
734 | INC BC |
||
735 | EXX |
||
961 | savelij | 736 | JR .L1 |
507 | savelij | 737 | |
961 | savelij | 738 | .L3 LD D,B |
507 | savelij | 739 | LD E,C |
740 | EXX |
||
741 | PUSH BC |
||
742 | EXX |
||
743 | POP BC |
||
744 | XOR A |
||
745 | RET |
||
746 | |||
1028 | savelij | 747 | ; ⠭ "쭮" "BC" |
1186 | savelij | 748 | POSTF06 LD (FATVAR.TEK_ZAP),BC |
507 | savelij | 749 | RET |
750 | |||
1028 | savelij | 751 | ; "BC" ⥪騩 "쭮" |
1186 | savelij | 752 | POSTF07 LD BC,(FATVAR.TEK_ZAP) |
507 | savelij | 753 | RET |
754 | |||
755 | CPTEKZP CALL RDDIRSC |
||
756 | RET M |
||
757 | LD A,C |
||
1028 | savelij | 758 | AND 0x0F |
507 | savelij | 759 | LD L,A |
760 | LD H,0 |
||
761 | LD DE,BUF_512 |
||
762 | ADD HL,HL |
||
763 | ADD HL,HL |
||
764 | ADD HL,HL |
||
765 | ADD HL,HL |
||
766 | ADD HL,HL |
||
767 | ADD HL,DE |
||
1186 | savelij | 768 | LD DE,_DIR_Attr |
507 | savelij | 769 | ADD HL,DE |
770 | LD A,(HL) |
||
771 | SBC HL,DE |
||
772 | LD E,(HL) |
||
773 | AND A |
||
774 | RET |
||
775 | |||
961 | savelij | 776 | ; ⥪饩 樨 0 ࢮ "쭮" |
507 | savelij | 777 | POSTF02 LD BC,0 |
1186 | savelij | 778 | LD (FATVAR.TEK_ZAP),BC |
507 | savelij | 779 | CALL RDDIRSC |
780 | CALL CP_ONET |
||
1186 | savelij | 781 | JR Z,NXTLEGZ.L1 |
507 | savelij | 782 | LD A,(HL) |
783 | AND A |
||
784 | RET Z |
||
1186 | savelij | 785 | JR NXTLEGZ.L2 |
507 | savelij | 786 | |
1186 | savelij | 787 | NXTLEGZ LD BC,(FATVAR.TEK_ZAP) |
788 | .L1 INC BC |
||
789 | .L2 CALL CPTEKZP |
||
1028 | savelij | 790 | CP 0xFF |
507 | savelij | 791 | RET Z |
1186 | savelij | 792 | CP M_DIR_AttrLongName ; ? |
793 | JR Z,.L1 |
||
794 | CP M_DIR_VolumeID ; ࠧ? |
||
795 | JR Z,.L1 |
||
507 | savelij | 796 | LD A,E |
797 | AND A |
||
798 | RET Z |
||
1028 | savelij | 799 | CP 0xE5 |
1186 | savelij | 800 | JR Z,.L1 |
801 | LD (FATVAR.TEK_ZAP),BC |
||
507 | savelij | 802 | RET |
803 | |||
1186 | savelij | 804 | PRVLEGZ LD BC,(FATVAR.TEK_ZAP) |
507 | savelij | 805 | CALL CPTEKZP |
806 | CALL CP_TWOT |
||
807 | RET Z |
||
1186 | savelij | 808 | .L1 DEC BC |
507 | savelij | 809 | CALL CPTEKZP |
1186 | savelij | 810 | CP M_DIR_AttrLongName ; ? |
811 | JR Z,.L1 |
||
812 | CP M_DIR_VolumeID ; ࠧ? |
||
813 | JR Z,.L1 |
||
507 | savelij | 814 | LD A,E |
1028 | savelij | 815 | CP 0xE5 |
1186 | savelij | 816 | JR Z,.L1 |
817 | LD (FATVAR.TEK_ZAP),BC |
||
507 | savelij | 818 | RET |
819 | |||
1186 | savelij | 820 | WR_DWORD LD (HL),E |
507 | savelij | 821 | INC HL |
822 | LD (HL),D |
||
823 | INC HL |
||
824 | LD (HL),C |
||
825 | INC HL |
||
826 | LD (HL),B |
||
827 | INC HL |
||
828 | RET |
||
829 | |||
1186 | savelij | 830 | RD_DWORD LD E,(HL) |
507 | savelij | 831 | INC HL |
832 | LD D,(HL) |
||
833 | INC HL |
||
834 | LD C,(HL) |
||
835 | INC HL |
||
836 | LD B,(HL) |
||
837 | INC HL |
||
838 | RET |
||
839 | |||
573 | savelij | 840 | BCDE200 LD E,D |
841 | LD D,C |
||
842 | LD C,B |
||
843 | LD B,0 |
||
844 | LD A,2 |
||
845 | JR BCDE_A |
||
846 | |||
1028 | savelij | 847 | ; BCDE >> A = BCDE |
573 | savelij | 848 | BCDE_A1 SRL B |
849 | RR C |
||
850 | RR D |
||
851 | RR E |
||
852 | BCDE_A RRCA |
||
853 | JR NC,BCDE_A1 |
||
854 | RET |
||
855 | |||
1028 | savelij | 856 | ; BCDE - (ADR) = BCDE |
573 | savelij | 857 | HLBCDEM LD A,E |
858 | SUB (HL) |
||
507 | savelij | 859 | INC HL |
573 | savelij | 860 | LD E,A |
861 | LD A,D |
||
862 | SBC A,(HL) |
||
507 | savelij | 863 | INC HL |
573 | savelij | 864 | LD D,A |
865 | LD A,C |
||
866 | SBC A,(HL) |
||
507 | savelij | 867 | INC HL |
573 | savelij | 868 | LD C,A |
869 | LD A,B |
||
870 | SBC A,(HL) |
||
871 | LD B,A |
||
872 | RET |
||
873 | |||
1028 | savelij | 874 | ; (ADR) - BCDE = BCDE |
573 | savelij | 875 | BCDEHLM LD A,(HL) |
507 | savelij | 876 | INC HL |
573 | savelij | 877 | SUB E |
878 | LD E,A |
||
879 | LD A,(HL) |
||
507 | savelij | 880 | INC HL |
573 | savelij | 881 | SBC A,D |
882 | LD D,A |
||
883 | LD A,(HL) |
||
507 | savelij | 884 | INC HL |
573 | savelij | 885 | SBC A,C |
886 | LD C,A |
||
887 | LD A,(HL) |
||
888 | SBC A,B |
||
889 | LD B,A |
||
890 | RET |
||
507 | savelij | 891 | |
1028 | savelij | 892 | ; (ADR) + BCDE = BCDE |
573 | savelij | 893 | BCDEHLP LD A,(HL) |
894 | INC HL |
||
895 | ADD A,E |
||
896 | LD E,A |
||
897 | LD A,(HL) |
||
898 | INC HL |
||
899 | ADC A,D |
||
900 | LD D,A |
||
901 | LD A,(HL) |
||
902 | INC HL |
||
903 | ADC A,C |
||
904 | LD C,A |
||
905 | LD A,(HL) |
||
906 | ADC A,B |
||
907 | LD B,A |
||
908 | RET |
||
909 | |||
1028 | savelij | 910 | ; HLDE + BC = HLDE |
573 | savelij | 911 | HLDEPBC EX DE,HL |
912 | ADD HL,BC |
||
913 | EX DE,HL |
||
507 | savelij | 914 | LD BC,0 |
573 | savelij | 915 | ADC HL,BC |
916 | RET |
||
507 | savelij | 917 | |
1028 | savelij | 918 | INIT_PATH |
1186 | savelij | 919 | EVOPORT WIN_P1,RAM_MOUNTER |
920 | LD A,(DEVMAN_VARS.SETDVOL) |
||
573 | savelij | 921 | LD D,A |
1186 | savelij | 922 | ADD A,HIGH (BUF_CURRPATH + CPU1) + 4 |
573 | savelij | 923 | LD H,A |
924 | LD L,0 |
||
1186 | savelij | 925 | LD A,'E' |
573 | savelij | 926 | ADD A,D |
927 | LD (HL),A |
||
928 | INC L |
||
1186 | savelij | 929 | LD (HL),':' |
573 | savelij | 930 | INC L |
1186 | savelij | 931 | LD (HL),'/' |
573 | savelij | 932 | INC L |
933 | LD (HL),0 |
||
934 | INC L |
||
935 | LD A,L |
||
1028 | savelij | 936 | LD L,0xFF |
573 | savelij | 937 | LD (HL),A |
938 | RET |
||
507 | savelij | 939 | |
1028 | savelij | 940 | RENEW_PATH |
1186 | savelij | 941 | EVOPORT WIN_P1,RAM_MOUNTER |
573 | savelij | 942 | BIT 7,E |
943 | JR NZ,MINUS_PATH |
||
1028 | savelij | 944 | ; ४ਨ ⥪饬 (室 ४) |
507 | savelij | 945 | EX DE,HL |
1186 | savelij | 946 | LD A,(DEVMAN_VARS.SETDVOL) |
947 | ADD A,HIGH (BUF_CURRPATH + CPU1) + 4 |
||
573 | savelij | 948 | LD H,A |
1028 | savelij | 949 | LD L,0xFF |
573 | savelij | 950 | LD L,(HL) |
507 | savelij | 951 | EX DE,HL |
573 | savelij | 952 | DEC DE |
953 | LD BC,8 |
||
954 | LDIR |
||
955 | LD B,8 |
||
1186 | savelij | 956 | .L1 DEC DE |
573 | savelij | 957 | LD A,(DE) |
958 | INC DE |
||
1186 | savelij | 959 | CP ' ' |
960 | JR NZ,.L2 |
||
573 | savelij | 961 | DEC DE |
1186 | savelij | 962 | DJNZ .L1 |
963 | .L2 LD A,(HL) |
||
964 | CP ' ' |
||
965 | JR Z,.L4 |
||
966 | LD A,'.' |
||
573 | savelij | 967 | LD (DE),A |
968 | INC DE |
||
969 | LD BC,3 |
||
970 | LDIR |
||
971 | LD B,3 |
||
1186 | savelij | 972 | .L3 DEC DE |
573 | savelij | 973 | LD A,(DE) |
974 | INC DE |
||
1186 | savelij | 975 | CP ' ' |
976 | JR NZ,.L4 |
||
573 | savelij | 977 | DEC DE |
1186 | savelij | 978 | DJNZ .L3 |
979 | .L4 EX DE,HL |
||
980 | LD (HL),'/' |
||
573 | savelij | 981 | INC L |
982 | LD (HL),0 |
||
983 | INC L |
||
984 | LD A,L |
||
1028 | savelij | 985 | LD L,0xFF |
573 | savelij | 986 | LD (HL),A |
987 | RET |
||
507 | savelij | 988 | |
1028 | savelij | 989 | ; 㪮祭 ⥪饣 (室 । ४) |
1186 | savelij | 990 | MINUS_PATH LD A,(DEVMAN_VARS.SETDVOL) |
991 | ADD A,HIGH (BUF_CURRPATH + CPU1) + 4 |
||
573 | savelij | 992 | LD H,A |
1028 | savelij | 993 | LD L,0xFF |
573 | savelij | 994 | LD L,(HL) |
995 | DEC L |
||
996 | DEC L |
||
1186 | savelij | 997 | .L1 DEC L |
573 | savelij | 998 | LD A,(HL) |
1186 | savelij | 999 | CP '/' |
1000 | JR NZ,.L1 |
||
573 | savelij | 1001 | INC L |
1002 | LD (HL),0 |
||
1003 | INC L |
||
1004 | LD A,L |
||
1028 | savelij | 1005 | LD L,0xFF |
573 | savelij | 1006 | LD (HL),A |
1007 | RET |
||
507 | savelij | 1008 | |
1028 | savelij | 1009 | ; 祭 ⥪饣 |
1010 | GET_PATH |
||
1186 | savelij | 1011 | EVOPORT WIN_P1,RAM_MOUNTER |
585 | savelij | 1012 | LD A,IYL |
1013 | AND A |
||
1186 | savelij | 1014 | JR NZ,.L1 |
1015 | LD A,(DEVMAN_VARS.SETDVOL) |
||
573 | savelij | 1016 | LD D,A |
1186 | savelij | 1017 | ADD A,HIGH (BUF_CURRPATH+CPU1)+4 |
573 | savelij | 1018 | LD H,A |
1028 | savelij | 1019 | LD L,0xFF |
573 | savelij | 1020 | LD A,(HL) |
1186 | savelij | 1021 | LD DE,BUF_MOVE256 |
1022 | LD BC,BUF_MOVE256_Size |
||
573 | savelij | 1023 | LD L,C |
1024 | LDIR |
||
1028 | savelij | 1025 | LD C,A ; BC=쪮 ७ |
1186 | savelij | 1026 | LD A,HIGH (CPU2) - 1 |
573 | savelij | 1027 | ADD A,D |
1028 | LD H,A |
||
1028 | savelij | 1029 | LD DE,(RREG_L) ; 㤠 ७ |
573 | savelij | 1030 | JP LDIR_BYTES |
1031 | |||
1186 | savelij | 1032 | .L1 PUSH HL |
585 | savelij | 1033 | PUSH HL |
1186 | savelij | 1034 | LD A,(DEVMAN_VARS.SETDVOL) |
585 | savelij | 1035 | LD D,A |
1186 | savelij | 1036 | ADD A,HIGH (BUF_CURRPATH + CPU1) + 4 |
585 | savelij | 1037 | LD H,A |
1028 | savelij | 1038 | LD L,0xFF |
585 | savelij | 1039 | LD A,(HL) |
1040 | POP DE |
||
1028 | savelij | 1041 | LD BC,0x100 |
585 | savelij | 1042 | LD L,C |
1043 | LDIR |
||
1044 | POP HL |
||
1045 | RET |
||
1046 | |||
1028 | savelij | 1047 | ; ⤠ ⪮ 䠩, |
507 | savelij | 1048 | NO_LNG POP DE |
1049 | LD BC,8 |
||
1050 | LDIR |
||
573 | savelij | 1051 | EX DE,HL |
1186 | savelij | 1052 | .L1 DEC HL |
507 | savelij | 1053 | LD A,(HL) |
1186 | savelij | 1054 | CP ' ' |
1055 | JR Z,.L1 |
||
573 | savelij | 1056 | INC HL |
1057 | LD A,(DE) |
||
1058 | EX DE,HL |
||
1186 | savelij | 1059 | CP ' ' |
1060 | JR Z,.L2 |
||
507 | savelij | 1061 | EX DE,HL |
1186 | savelij | 1062 | LD (HL),'.' |
507 | savelij | 1063 | INC HL |
1064 | EX DE,HL |
||
1065 | LDI |
||
1066 | LDI |
||
1067 | LDI |
||
1186 | savelij | 1068 | .L2 EX DE,HL |
507 | savelij | 1069 | LD (HL),0 |
573 | savelij | 1070 | LD A,L |
1071 | LD (RREG_A),A |
||
507 | savelij | 1072 | POP HL |
1073 | RET |
||
1074 | |||
1186 | savelij | 1075 | MOVE_LONGNAME POP IY |
1076 | LD DE,CPU2 |
||
573 | savelij | 1077 | ADD HL,DE |
1078 | LD DE,(RREG_L) |
||
1028 | savelij | 1079 | LD BC,0x100 |
573 | savelij | 1080 | JP LDIR_BYTES |
1081 | |||
1028 | savelij | 1082 | ; ⤠ 䠩 |
573 | savelij | 1083 | GET_LONGNAME LD A,IYL |
1084 | AND A |
||
1186 | savelij | 1085 | JR NZ,.L1 |
573 | savelij | 1086 | PUSH IY |
1087 | LD IYL,INTERNAL |
||
1186 | savelij | 1088 | LD HL,MOVE_LONGNAME |
507 | savelij | 1089 | PUSH HL |
1186 | savelij | 1090 | LD HL,BUF_MOVE256 |
1091 | .L1 PUSH HL |
||
573 | savelij | 1092 | PUSH HL |
1093 | CALL READ_DIR |
||
507 | savelij | 1094 | BIT 0,E |
1095 | JR Z,NO_LNG |
||
1096 | EXX |
||
1097 | LD C,0 |
||
1098 | EXX |
||
1186 | savelij | 1099 | .L2 DEC BC |
1100 | CALL READ_DIR.GETRZAP |
||
507 | savelij | 1101 | LD A,(HL) |
1102 | INC HL |
||
1103 | EXX |
||
1104 | BIT 6,C |
||
1105 | POP HL |
||
1186 | savelij | 1106 | JR NZ,.L4 |
507 | savelij | 1107 | LD C,A |
1108 | EXX |
||
1109 | LD A,5 |
||
1186 | savelij | 1110 | CALL .L5 |
507 | savelij | 1111 | AND A |
1186 | savelij | 1112 | JR Z,.L3 |
507 | savelij | 1113 | INC HL |
1114 | INC HL |
||
1115 | INC HL |
||
1116 | LD A,6 |
||
1186 | savelij | 1117 | CALL .L5 |
507 | savelij | 1118 | AND A |
1186 | savelij | 1119 | JR Z,.L3 |
507 | savelij | 1120 | INC HL |
1121 | INC HL |
||
1122 | LD A,2 |
||
1186 | savelij | 1123 | CALL .L5 |
507 | savelij | 1124 | AND A |
1186 | savelij | 1125 | JR Z,.L3 |
507 | savelij | 1126 | EXX |
1127 | PUSH HL |
||
1128 | EXX |
||
1186 | savelij | 1129 | JR .L2 |
507 | savelij | 1130 | |
1186 | savelij | 1131 | .L3 EXX |
1132 | .L4 LD (HL),0 |
||
573 | savelij | 1133 | LD A,L |
1134 | LD (RREG_A),A |
||
507 | savelij | 1135 | EXX |
1136 | POP HL |
||
1137 | RET |
||
1138 | |||
1186 | savelij | 1139 | .L5 EXX |
507 | savelij | 1140 | LD B,A |
1141 | EXX |
||
1186 | savelij | 1142 | .L6 LD D,(HL) |
507 | savelij | 1143 | INC HL |
1144 | LD E,(HL) |
||
1145 | INC HL |
||
1146 | LD A,D |
||
1147 | OR E |
||
1148 | RET Z |
||
1149 | LD A,E |
||
1150 | AND A |
||
1186 | savelij | 1151 | JR NZ,.L7 |
507 | savelij | 1152 | LD A,D |
1028 | savelij | 1153 | CP 0x80 |
1186 | savelij | 1154 | JR C,.L10 |
1028 | savelij | 1155 | LD D,0x5F |
1186 | savelij | 1156 | JR .L10 |
507 | savelij | 1157 | |
1186 | savelij | 1158 | .L7 CP 4 |
1028 | savelij | 1159 | LD A,0x5F |
1186 | savelij | 1160 | JR NZ,.L10 |
507 | savelij | 1161 | LD A,D |
1028 | savelij | 1162 | LD E,0xEF |
1163 | LD D,0x5F |
||
507 | savelij | 1164 | CP 1 |
1186 | savelij | 1165 | JR Z,.L9 |
1028 | savelij | 1166 | LD E,0xA0 |
1167 | CP 0x51 |
||
1186 | savelij | 1168 | JR Z,.L9 |
1028 | savelij | 1169 | SUB 0x10 |
1170 | LD E,0x80 |
||
1186 | savelij | 1171 | JR NC,.L8 |
507 | savelij | 1172 | LD A,D |
1186 | savelij | 1173 | JR .L10 |
507 | savelij | 1174 | |
1186 | savelij | 1175 | .L8 CP 0x30 |
1176 | JR C,.L9 |
||
1028 | savelij | 1177 | LD E,0xB0 |
1178 | CP 0x40 |
||
1186 | savelij | 1179 | JR C,.L9 |
507 | savelij | 1180 | LD A,D |
1186 | savelij | 1181 | JR .L10 |
507 | savelij | 1182 | |
1186 | savelij | 1183 | .L9 ADD A,E |
1184 | .L10 EXX |
||
507 | savelij | 1185 | LD (HL),A |
1186 | INC HL |
||
1187 | DEC B |
||
1188 | EXX |
||
1189 | RET Z |
||
1186 | savelij | 1190 | JR .L6 |
507 | savelij | 1191 | ;401,410-44F,451 |
1192 | |||
1028 | savelij | 1193 | ; 室: DE = ᯨ᮪ ७ |
1194 | ; HL = ⥫ 䠩 |
||
1186 | savelij | 1195 | ; 室: A = ७, 0 |
573 | savelij | 1196 | CP_EXT LD C,0 |
1186 | savelij | 1197 | .L1 LD A,(DE) |
507 | savelij | 1198 | AND A |
1190 | savelij | 1199 | JR Z,.L3 |
507 | savelij | 1200 | INC C |
1201 | PUSH DE |
||
1202 | PUSH HL |
||
1186 | savelij | 1203 | CALL .L2 |
507 | savelij | 1204 | POP HL |
1205 | POP DE |
||
573 | savelij | 1206 | LD A,C |
1207 | RET Z |
||
507 | savelij | 1208 | INC DE |
1209 | INC DE |
||
1210 | INC DE |
||
1186 | savelij | 1211 | JR .L1 |
507 | savelij | 1212 | |
1190 | savelij | 1213 | .L3 DEC A |
1214 | RET |
||
1215 | |||
1186 | savelij | 1216 | .L2 PUSH DE |
1217 | LD DE,_DIR_Ext |
||
507 | savelij | 1218 | ADD HL,DE |
1219 | POP DE |
||
1186 | savelij | 1220 | LD A,(DE) |
507 | savelij | 1221 | CP (HL) |
1222 | RET NZ |
||
1223 | INC HL |
||
1224 | INC DE |
||
573 | savelij | 1225 | LD A,(DE) |
1226 | CP (HL) |
||
1227 | RET NZ |
||
1228 | INC HL |
||
1229 | INC DE |
||
1230 | LD A,(DE) |
||
1231 | CP (HL) |
||
507 | savelij | 1232 | RET |
1233 | |||
573 | savelij | 1234 | FIND_FILEITEM PUSH IY |
1235 | LD IYL,INTERNAL |
||
1236 | CALL INIRTSC |
||
1186 | savelij | 1237 | EVOPORT WIN_P3,RAM_SORTFILES |
628 | savelij | 1238 | LD HL,CPU3 |
1239 | LD DE,CPU3+1 |
||
1028 | savelij | 1240 | LD BC,0x3FFF |
628 | savelij | 1241 | LD (HL),L |
1242 | LDIR |
||
507 | savelij | 1243 | LD HL,0 |
1186 | savelij | 1244 | LD (FATVAR.KOLFIND),HL ; 䠩 |
585 | savelij | 1245 | LD HL,CPU3 |
1028 | savelij | 1246 | LD (ADR_SKLAD),HL ; ᪫ |
1247 | LD HL,CPU3+0x1000 |
||
1248 | LD (ADR_SKLAD_NAME),HL ; ᪫ ࢮ ᨬ 䫠 |
||
1249 | LD BC,0xFFFF |
||
623 | savelij | 1250 | EXX |
1251 | LD BC,0 |
||
1186 | savelij | 1252 | LD A,(FATVAR.CurrentNumLevDIR) |
507 | savelij | 1253 | AND A |
623 | savelij | 1254 | EXX |
1186 | savelij | 1255 | JR NZ,.L1 |
1256 | LD A,(FATVAR.FATType) |
||
623 | savelij | 1257 | CP 2 |
1186 | savelij | 1258 | JR NC,.L1 |
623 | savelij | 1259 | EXX |
1186 | savelij | 1260 | LD BC,(FATVAR.ROOTZAP) |
623 | savelij | 1261 | EXX |
1186 | savelij | 1262 | .L1 INC BC |
623 | savelij | 1263 | CALL RDDIRSC |
1264 | LD A,C |
||
1028 | savelij | 1265 | AND 0x0F |
623 | savelij | 1266 | ADD A,A |
1190 | savelij | 1267 | ADD A,A |
1268 | ADD A,A |
||
1269 | ADD A,A |
||
623 | savelij | 1270 | LD E,A |
1271 | LD D,0 |
||
1272 | EX DE,HL |
||
1273 | ADD HL,HL |
||
1274 | ADD HL,DE |
||
1275 | EXX |
||
628 | savelij | 1276 | DEC BC |
623 | savelij | 1277 | LD A,B |
1278 | OR C |
||
1279 | EXX |
||
1186 | savelij | 1280 | JR Z,.L5 |
623 | savelij | 1281 | LD A,(HL) |
1282 | AND A |
||
1186 | savelij | 1283 | JR Z,.L5 |
1284 | CP '.' |
||
1285 | JR NZ,.L2 |
||
623 | savelij | 1286 | INC HL |
1287 | LD A,(HL) |
||
1288 | DEC HL |
||
1186 | savelij | 1289 | CP ' ' |
1290 | JR Z,.L1 |
||
1291 | .L2 CP 0xE5 ; 㤠 |
||
1292 | JR Z,.L1 ; 室 騩 ⥫ |
||
1293 | LD DE,_DIR_Attr ; 㦥 䫠 ⥫ |
||
1028 | savelij | 1294 | ADD HL,DE ; 稫 䫠 |
1295 | LD A,(HL) ; 䫠 |
||
573 | savelij | 1296 | SBC HL,DE |
1186 | savelij | 1297 | CP M_DIR_AttrLongName ; ? |
1298 | JR Z,.L1 |
||
1299 | AND M_DIR_Directory ; ઠ 䠩 ? |
||
1300 | JR NZ,.L3 |
||
573 | savelij | 1301 | LD A,(EXT4FOUND) |
1302 | AND A |
||
1303 | PUSH DE |
||
1304 | LD DE,EXT4FOUND |
||
1305 | PUSH BC |
||
1306 | CALL NZ,CP_EXT |
||
1307 | POP BC |
||
1308 | POP DE |
||
1186 | savelij | 1309 | JR NZ,.L4 |
1310 | .L3 EX DE,HL |
||
573 | savelij | 1311 | ADD HL,DE |
507 | savelij | 1312 | LD A,(HL) |
573 | savelij | 1313 | EX AF,AF' |
1028 | savelij | 1314 | LD HL,(ADR_SKLAD) ; |
507 | savelij | 1315 | LD (HL),C |
1316 | INC HL |
||
1028 | savelij | 1317 | LD (HL),B ; ⠡ |
507 | savelij | 1318 | INC HL |
1319 | LD (ADR_SKLAD),HL |
||
1186 | savelij | 1320 | LD HL,(FATVAR.KOLFIND) |
1028 | savelij | 1321 | INC HL ; +1 䠩 |
1186 | savelij | 1322 | LD (FATVAR.KOLFIND),HL |
573 | savelij | 1323 | LD HL,(ADR_SKLAD_NAME) |
1324 | EX AF,AF' |
||
1325 | LD (HL),A |
||
1326 | INC HL |
||
1327 | LD A,(DE) |
||
1328 | LD (HL),A |
||
1329 | INC HL |
||
1330 | LD (ADR_SKLAD_NAME),HL |
||
1186 | savelij | 1331 | .L4 LD A,(ADR_SKLAD + 1) |
1028 | savelij | 1332 | CP HIGH (CPU3) + 0x10 |
1186 | savelij | 1333 | JR C,.L1 ; 2048 /䠩 ⥪饩 ४ਨ |
1334 | .L5 LD HL,(FATVAR.KOLFIND) |
||
573 | savelij | 1335 | POP IY |
1336 | LD A,IYL |
||
507 | savelij | 1337 | AND A |
1186 | savelij | 1338 | JR NZ,.L6 |
1339 | LD A,RAM_SORTFILES |
||
585 | savelij | 1340 | LD (RREG_A),A |
573 | savelij | 1341 | LD (RREG_C),HL |
1186 | savelij | 1342 | .L6 LD (KOL_FOUNDED),HL |
585 | savelij | 1343 | LD B,H |
1344 | LD C,L |
||
507 | savelij | 1345 | XOR A |
1346 | RET |
||
1347 | |||
573 | savelij | 1348 | SET_MASK_EXT LD A,(RREG_A) |
507 | savelij | 1349 | AND A |
1186 | savelij | 1350 | JR NZ,.L1 |
573 | savelij | 1351 | LD (EXT4FOUND),A |
1352 | RET |
||
1353 | |||
1186 | savelij | 1354 | .L1 LD HL,(RREG_L) |
1355 | LD DE,BUF_MOVE256 & 0x3FFF |
||
1028 | savelij | 1356 | LD BC,0x10 * 3 + 1 |
573 | savelij | 1357 | CALL LDIR_BYTES |
1186 | savelij | 1358 | LD HL,BUF_MOVE256 |
573 | savelij | 1359 | LD DE,EXT4FOUND |
1028 | savelij | 1360 | LD BC,0x10FF |
1186 | savelij | 1361 | .L2 LD A,(HL) |
573 | savelij | 1362 | AND A |
1186 | savelij | 1363 | JR Z,.L3 |
573 | savelij | 1364 | LDI |
1365 | LDI |
||
1366 | LDI |
||
1186 | savelij | 1367 | DJNZ .L2 |
1368 | .L3 XOR A |
||
573 | savelij | 1369 | LD (DE),A |
1370 | RET |
||
1371 | |||
1372 | LD_FILE6 PUSH AF |
||
1373 | POP HL |
||
1374 | LD (RREG_F),HL |
||
585 | savelij | 1375 | LD_FILE8 EXX |
1028 | savelij | 1376 | LD (SAVE_IY),DE ; IY |
507 | savelij | 1377 | EXX |
1378 | RET |
||
1379 | |||
1028 | savelij | 1380 | ; IXL - L - ⢮ ᥪ 㧪 |
1381 | ; IXH - H - ࠧ |
||
1382 | ; IYL - E - |
||
1383 | ; IYH - D - ᬥ饭 |
||
573 | savelij | 1384 | READ_FILE EX AF,AF' |
1204 | savelij | 1385 | LD A,0xFF |
1386 | LD (FATVAR.NumSec2Buf),A |
||
573 | savelij | 1387 | LD A,IYL |
1388 | DEC A |
||
1389 | JR Z,LD_FILE00 |
||
1390 | LD IYL,INT4EXT |
||
507 | savelij | 1391 | LD HL,LD_FILE6 |
573 | savelij | 1392 | PUSH HL |
1028 | savelij | 1393 | LD HL,(RREG_L) ; 㧪 |
573 | savelij | 1394 | EXX |
1028 | savelij | 1395 | LD DE,(SAVE_IY) ; ᬥ饭 |
1186 | savelij | 1396 | LD A,(FATVAR.SecPerClus) |
1028 | savelij | 1397 | LD H,A ; ⢮ ᥪ |
573 | savelij | 1398 | LD A,(RREG_A) |
1028 | savelij | 1399 | LD L,A ; ⢮ ᥪ 㧪 |
573 | savelij | 1400 | EXX |
1401 | JR LD_FILE0 |
||
507 | savelij | 1402 | |
573 | savelij | 1403 | LD_FILE00 EXX |
1028 | savelij | 1404 | LD DE,(SAVE_IY) ; ᬥ饭 |
585 | savelij | 1405 | LD HL,LD_FILE8 |
1406 | PUSH HL |
||
1186 | savelij | 1407 | LD A,(FATVAR.SecPerClus) ; ⢮ ᥪ |
1028 | savelij | 1408 | LD H,A |
573 | savelij | 1409 | EX AF,AF' |
1028 | savelij | 1410 | LD L,A ; ⢮ ᥪ 㧪 |
573 | savelij | 1411 | EXX |
1028 | savelij | 1412 | ; IXL - L - ⢮ ᥪ 㧪 |
1413 | ; IXH - H - ࠧ |
||
1414 | ; IYL - E - |
||
1415 | ; IYH - D - ᬥ饭 |
||
1186 | savelij | 1416 | LD_FILE0 LD DE,(FATVAR.AFILCLS) |
1417 | LD BC,(FATVAR.AFILCLS+2) ; ⥪騩 |
||
507 | savelij | 1418 | PUSH BC |
1419 | PUSH DE |
||
1420 | PUSH HL |
||
1028 | savelij | 1421 | CALL REALSEC ; ॢ ᥪ |
573 | savelij | 1422 | EXX |
1028 | savelij | 1423 | LD A,D ; IYH |
573 | savelij | 1424 | EXX |
507 | savelij | 1425 | LD L,A |
1426 | LD H,0 |
||
1427 | ADD HL,DE |
||
1428 | EX DE,HL |
||
1429 | JR NC,LD_FILE1 |
||
1028 | savelij | 1430 | INC BC ; BCDE= ᥪ 㤠 㧨 |
573 | savelij | 1431 | LD_FILE1 EXX |
1028 | savelij | 1432 | LD A,L ; IXL |
1433 | CP H ; IXH |
||
507 | savelij | 1434 | JP C,LD_FILE2 |
1028 | savelij | 1435 | LD A,H ; IXH |
1436 | LD_FILE2 ADD A,D ; IYH |
||
1437 | CP H ; IXH |
||
1438 | LD A,L ; IXL |
||
507 | savelij | 1439 | JP C,LD_FILE5 |
1028 | savelij | 1440 | LD A,H ; IXH |
1441 | SUB D ; IYH |
||
1442 | LD_FILE5 LD E,A ; IYL,A ; 쪮 ᥪ ᥩ 㧨 |
||
573 | savelij | 1443 | EXX |
1028 | savelij | 1444 | POP HL ; ⠭ 㧪 |
573 | savelij | 1445 | ; LD IYL,INT4EXT |
507 | savelij | 1446 | CALL TO_DRV |
585 | savelij | 1447 | DB _DEV_READ |
1448 | LD A,IYL |
||
1449 | DEC A |
||
1450 | JR Z,LD_FILE7 |
||
573 | savelij | 1451 | LD (RREG_L),HL |
585 | savelij | 1452 | LD_FILE7 POP DE |
1028 | savelij | 1453 | POP BC ; ⠭ |
573 | savelij | 1454 | EXX |
1028 | savelij | 1455 | LD A,D ; IYH |
1456 | ADD A,E ; IYL |
||
1457 | CP H ; IXH |
||
507 | savelij | 1458 | JP C,LD_FILE3 |
1028 | savelij | 1459 | SUB H ; IXH |
1460 | LD_FILE3 LD D,A ; IYH,A |
||
573 | savelij | 1461 | EXX |
507 | savelij | 1462 | JP C,LD_FILE4 |
1028 | savelij | 1463 | PUSH HL ; ࠭ 㧪 |
573 | savelij | 1464 | PUSH IY |
1465 | LD IYL,INTERNAL |
||
1028 | savelij | 1466 | CALL RDFATZP ; ⠫ 饣 |
573 | savelij | 1467 | POP IY |
1186 | savelij | 1468 | LD (FATVAR.AFILCLS),DE |
1469 | LD (FATVAR.AFILCLS + 2),BC |
||
1028 | savelij | 1470 | CALL LST_CLS ; ਫ, ? |
1471 | POP HL ; ⠭ 㧪 |
||
1472 | RET C ; , 室 |
||
573 | savelij | 1473 | LD_FILE4 EXX |
1028 | savelij | 1474 | LD A,L ; IXL |
1475 | SUB E ; IYL |
||
573 | savelij | 1476 | EXX |
507 | savelij | 1477 | RET Z |
573 | savelij | 1478 | EXX |
1028 | savelij | 1479 | LD L,A ; IXL,A |
573 | savelij | 1480 | EXX |
507 | savelij | 1481 | JP NZ,LD_FILE0 |
1482 | RET |
||
1483 | |||
573 | savelij | 1484 | OPEN_FILE LD A,IYL |
1485 | AND A |
||
1486 | JR NZ,OPENFILE1 |
||
1487 | LD HL,EOPEN_FILE |
||
1488 | PUSH HL |
||
1489 | OPENFILE1 PUSH IY |
||
1490 | LD IYL,INTERNAL |
||
1491 | CALL READ_DIR |
||
1186 | savelij | 1492 | LD DE,FATVAR.FILE_SRC |
961 | savelij | 1493 | LD BC,_DIR_StructSize |
573 | savelij | 1494 | PUSH DE |
1495 | LDIR |
||
605 | savelij | 1496 | LD HL,0 |
1186 | savelij | 1497 | LD A,(FATVAR.FATType) |
605 | savelij | 1498 | CP 2 |
1028 | savelij | 1499 | JR C,OPENFILE2 ; FAT32 訥 16 塞 |
1186 | savelij | 1500 | LD HL,(FATVAR.FILE_SRC + _DIR_FstClusHI) |
1501 | OPENFILE2 LD (FATVAR.AFILCLS + 2),HL |
||
1502 | LD HL,(FATVAR.FILE_SRC + _DIR_FstClusLO) |
||
1503 | LD (FATVAR.AFILCLS),HL |
||
1504 | LD HL,(FATVAR.TEK_ZAP) |
||
1505 | LD (FATVAR.NUM_FILE_SRC),HL |
||
573 | savelij | 1506 | XOR A |
1507 | LD H,A |
||
1508 | LD L,A |
||
1509 | LD (SAVE_IY),HL |
||
1510 | POP HL |
||
1511 | POP IY |
||
1512 | RET |
||
1513 | |||
1514 | EOPEN_FILE PUSH AF |
||
1515 | POP HL |
||
1516 | LD (RREG_F),HL |
||
1517 | RET |
||
1518 | |||
1186 | savelij | 1519 | EFINDNAME LD HL,(FATVAR.TEK_ZAP) |
573 | savelij | 1520 | LD (RREG_C),HL |
1521 | PUSH AF |
||
1522 | POP HL |
||
1523 | LD (RREG_F),HL |
||
1524 | RET |
||
1525 | |||
1526 | FIND_NAME LD A,IYL |
||
1527 | AND A |
||
1528 | JR NZ,FINDNAME01 |
||
1529 | PUSH HL |
||
1530 | LD HL,(RREG_L) |
||
1186 | savelij | 1531 | LD DE,BUF_MOVE256 & 0x3FFF |
1028 | savelij | 1532 | LD BC,0x10 |
573 | savelij | 1533 | CALL LDIR_BYTES |
1534 | LD HL,EFINDNAME |
||
1535 | EX (SP),HL |
||
1536 | FINDNAME01 PUSH IY |
||
1537 | LD IYL,INTERNAL |
||
1186 | savelij | 1538 | LD HL,BUF_MOVE256 |
573 | savelij | 1539 | LD DE,FB_EXT |
1028 | savelij | 1540 | LD BC,0x8FF |
573 | savelij | 1541 | LD A,(HL) |
1186 | savelij | 1542 | CP '.' |
573 | savelij | 1543 | JR NZ,FINDNAME02 |
1544 | LDI |
||
1545 | LDI |
||
1546 | LD B,6 |
||
1547 | FINDNAME02 LD A,(HL) |
||
1186 | savelij | 1548 | CP '!' |
573 | savelij | 1549 | JR C,FINDNAME03 |
1186 | savelij | 1550 | CP '.' |
573 | savelij | 1551 | JR Z,FINDNAME12 |
1552 | LDI |
||
1553 | DJNZ FINDNAME02 |
||
1554 | LD A,(HL) |
||
1186 | savelij | 1555 | CP '!' |
573 | savelij | 1556 | JR C,FINDNAME06 |
507 | savelij | 1557 | INC HL |
573 | savelij | 1558 | JR FINDNAME06 |
1559 | |||
1560 | FINDNAME12 INC HL |
||
1186 | savelij | 1561 | FINDNAME03 LD A,' ' |
573 | savelij | 1562 | FINDNAME05 LD (DE),A |
1563 | INC DE |
||
1564 | DJNZ FINDNAME05 |
||
1565 | FINDNAME06 LD B,3 |
||
1566 | FINDNAME08 LD A,(HL) |
||
1186 | savelij | 1567 | CP '!' |
573 | savelij | 1568 | JR C,FINDNAME07 |
1569 | LDI |
||
1570 | DJNZ FINDNAME08 |
||
1571 | CALL POSTF02 |
||
1572 | JR FINDNAME11 |
||
1573 | |||
1186 | savelij | 1574 | FINDNAME07 LD A,' ' |
573 | savelij | 1575 | FINDNAME09 LD (DE),A |
1576 | INC DE |
||
1577 | DJNZ FINDNAME09 |
||
1578 | CALL POSTF02 |
||
1579 | JR FINDNAME11 |
||
1580 | |||
1581 | FINDNAME10 CALL NXTLEGZ |
||
1582 | FINDNAME11 PUSH HL |
||
1583 | CALL CMP_NAME |
||
1584 | POP HL |
||
1585 | JR Z,FINDNAME13 |
||
1586 | LD A,(HL) |
||
1587 | AND A |
||
1588 | JR NZ,FINDNAME10 |
||
1589 | SCF |
||
1590 | FINDNAME13 POP IY |
||
1591 | RET |
||
1592 | |||
1593 | CMP_NAME LD DE,FB_EXT |
||
1186 | savelij | 1594 | ICMP_NAME LD B,8 + 3 |
573 | savelij | 1595 | CMP_NAME_B LD A,(DE) |
1186 | savelij | 1596 | CP 'a' |
573 | savelij | 1597 | JR C,CMPNAME01 |
1186 | savelij | 1598 | CP 'z' + 1 |
573 | savelij | 1599 | JR NC,CMPNAME01 |
961 | savelij | 1600 | AND %11011111 |
573 | savelij | 1601 | CMPNAME01 CP (HL) |
1602 | RET NZ |
||
1603 | INC DE |
||
507 | savelij | 1604 | INC HL |
573 | savelij | 1605 | DJNZ CMP_NAME_B |
1606 | XOR A |
||
1607 | RET |
||
961 | savelij | 1608 | |
1186 | savelij | 1609 | ; 宦 DIR |
961 | savelij | 1610 | ENTER_DIR LD IYL,INTERNAL |
1611 | CALL READ_DIR |
||
1612 | PUSH AF |
||
1613 | PUSH DE |
||
1614 | PUSH HL |
||
1615 | CALL RENEW_PATH |
||
1616 | POP HL |
||
1617 | POP DE |
||
1618 | POP AF |
||
1186 | savelij | 1619 | BIT B_DIR_Directory,A |
961 | savelij | 1620 | EX AF,AF' |
1621 | LD A,E |
||
1622 | EX AF,AF' |
||
1623 | LD E,A |
||
1624 | LD D,(HL) |
||
1625 | RET Z |
||
1626 | EXX |
||
1627 | EX AF,AF' |
||
1628 | BIT 7,A |
||
1186 | savelij | 1629 | JR Z,.L1 |
1630 | ; 室 ४ਨ |
||
1631 | LD HL,FATVAR.CurrentNumLevDIR |
||
961 | savelij | 1632 | LD A,(HL) |
1633 | AND A |
||
1634 | EXX |
||
1635 | RET Z |
||
1636 | EXX |
||
1637 | DEC A |
||
1638 | LD (HL),A |
||
1639 | ADD A,A |
||
1186 | savelij | 1640 | LD H,HIGH (BUF_DIRCEP) |
961 | savelij | 1641 | LD L,A |
1642 | LD A,(HL) |
||
1643 | INC L |
||
1644 | LD H,(HL) |
||
1645 | LD L,A |
||
1186 | savelij | 1646 | JR .L2 |
961 | savelij | 1647 | |
1186 | savelij | 1648 | ; 室 ४ |
1649 | .L1 LD HL,FATVAR.CurrentNumLevDIR |
||
961 | savelij | 1650 | LD A,(HL) |
1651 | INC A |
||
1028 | savelij | 1652 | CP 0x10 |
961 | savelij | 1653 | EXX |
1654 | RET Z |
||
1655 | EXX |
||
1656 | LD (HL),A |
||
1657 | DEC A |
||
1658 | ADD A,A |
||
1186 | savelij | 1659 | LD H,HIGH (BUF_DIRCEP) |
961 | savelij | 1660 | LD L,A |
1186 | savelij | 1661 | LD BC,(FATVAR.TEK_ZAP) |
961 | savelij | 1662 | LD (HL),C |
1663 | INC L |
||
1664 | LD (HL),B |
||
1186 | savelij | 1665 | .L2 EXX |
961 | savelij | 1666 | PUSH DE |
1667 | LD DE,_DIR_FstClusHI |
||
1668 | ADD HL,DE |
||
1669 | LD C,(HL) |
||
1670 | INC HL |
||
1671 | LD B,(HL) |
||
1672 | LD E,5 |
||
1673 | ADD HL,DE |
||
1674 | LD E,(HL) |
||
1675 | INC HL |
||
1676 | LD D,(HL) |
||
1677 | LD A,B |
||
1678 | OR C |
||
1679 | OR D |
||
1680 | OR E |
||
1186 | savelij | 1681 | JR NZ,.L3 |
1682 | LD DE,(FATVAR.RootDIRCluster) |
||
1683 | LD BC,(FATVAR.RootDIRCluster + 2) |
||
1684 | .L3 LD (FATVAR.CurrentDIRCluster),DE |
||
1685 | LD (FATVAR.CurrentDIRCluster + 2),BC |
||
961 | savelij | 1686 | POP DE |
1687 | INIT_TEKDIR PUSH DE |
||
1688 | PUSH IY |
||
1689 | LD IYL,INTERNAL |
||
1690 | CALL INIRTSC |
||
1691 | POP IY |
||
1692 | POP DE |
||
1693 | RET |
||
1186 | savelij | 1694 | |
1695 | STORE_CURRFATVARS |
||
1696 | ADD A,HIGH (CPU1+BUF_ALLVOL)+4 |
||
1697 | LD HL,BUF_CURRFATVAR |
||
1698 | LD D,A |
||
1699 | LD E,0 |
||
1700 | LD BC,BUF_CURRFATVAR_Size |
||
1701 | LDIR |
||
1702 | RET |
||
1703 | |||
1704 | RESTORE_CURRFATVARS |
||
1705 | ADD A,HIGH (CPU1+BUF_ALLVOL)+4 |
||
1706 | LD H,A |
||
1707 | LD L,0 |
||
1708 | LD DE,BUF_CURRFATVAR |
||
1709 | LD BC,BUF_CURRFATVAR_Size |
||
1710 | LDIR |
||
1711 | RET |