;LAST UPDATE: 12.11.2018 savelij
 
 
 
SUPPORT_EXT     DB "TRDSCLFDITAPSPG$C FNTBMPROM",0
 
 
 
;[СОРТИРОВКА СПИСКА НАЙДЕННЫХ ДИРЕКТОРИЙ/ФАЙЛОВ]
 
SORT_FINDFILES  LD HL,(KOL_FOUNDED)
 
                LD A,H
 
                OR L
 
                RET Z                           ;ВЫХОД ЕСЛИ НИЧЕГО НЕ НАЙДЕНО
 
                DEC HL
 
                LD A,H
 
                OR L
 
                RET Z                           ;ВЫХОД ЕСЛИ ДИРЕКТОРИЯ/ФАЙЛ ТОЛЬКО 1
 
                EVOPORT WIN_P3,RAM_TEMP2
 
                LD HL,CPU3+0X1000               ;АДРЕС ПЕРВЫХ СИМВОЛОВ
 
                LD DE,0X1000
 
                LD BC,SYMS4SORT
 
                EXX
 
                LD HL,CPU3+0X2000               ;АДРЕС КУДА СКЛАДИРОВАТЬ СОРТИРОВАННОЕ
 
                LD BC,(KOLFIND)
 
                EXX
 
;ПЕРВЫЙ ПРОХОД ДЛЯ ДИРЕКТОРИЙ
 
SORTIR03        LD A,(HL)
 
                AND 0X10
 
                JR Z,SORTIR01
 
                INC HL
 
                LD A,(BC)
 
                CP (HL)
 
                DEC HL
 
                JR NZ,SORTIR01
 
                SBC HL,DE                       ;ПЕРЕХОД К НОМЕРАМ
 
                LD A,(HL)
 
                INC HL
 
                EXX
 
                LD (HL),A
 
                INC HL
 
                EXX
 
                LD A,(HL)
 
                INC HL
 
                EXX
 
                LD (HL),A
 
                INC HL
 
                DEC BC
 
                LD A,B
 
                OR C
 
                EXX
 
                JR Z,SORTIR05                   ;ЕСЛИ КОНЧИЛОСЬ ТО ТОЖЕ САМОЕ ДЛЯ ФАЙЛОВ
 
                ADD HL,DE                       ;ВОЗВРАТ К ФЛАГАМ И ИМЕНАМ
 
                JR SORTIR03
 
 
 
;НЕ ДИРЕКТОРИЯ, СЛЕДУЮЩАЯ ПАРА
 
SORTIR01        INC HL
 
                INC HL
 
                EXX
 
                DEC BC
 
                LD A,B
 
                OR C
 
                EXX
 
                JR NZ,SORTIR03
 
SORTIR05        EXX
 
                LD BC,(KOLFIND)
 
                EXX
 
                LD HL,CPU3+0X1000
 
                INC BC
 
                LD A,(BC)
 
                AND A
 
                JR NZ,SORTIR03
 
                LD BC,SYMS4SORT
 
                LD HL,CPU3+0X1000
 
;ВТОРОЙ ПРОХОД ДЛЯ ФАЙЛОВ
 
SORTIR02        LD A,(HL)
 
                AND 0X10
 
                JR NZ,SORTIR04
 
                INC HL
 
                LD A,(BC)
 
                CP (HL)
 
                DEC HL
 
                JR NZ,SORTIR04
 
                SBC HL,DE
 
                LD A,(HL)
 
                INC HL
 
                EXX
 
                LD (HL),A
 
                INC HL
 
                EXX
 
                LD A,(HL)
 
                INC HL
 
                EXX
 
                LD (HL),A
 
                INC HL
 
                DEC BC
 
                LD A,B
 
                OR C
 
                EXX
 
                JR Z,SORTIR07
 
                ADD HL,DE
 
                JR SORTIR02
 
 
 
SORTIR04        INC HL
 
                INC HL
 
                EXX
 
                DEC BC
 
                LD A,B
 
                OR C
 
                EXX
 
                JR NZ,SORTIR02
 
SORTIR07        EXX
 
                LD BC,(KOLFIND)
 
                EXX
 
                LD HL,CPU3+0X1000
 
                INC BC
 
                LD A,(BC)
 
                AND A
 
                JR NZ,SORTIR02
 
                LD HL,CPU3+0X2000
 
                LD DE,CPU3
 
                LD BC,0X1000
 
                LDIR
 
                RET