Subversion Repositories pentevo

Rev

Rev 888 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 888 Rev 1010
Line 1... Line 1...
1
 
1
 
2
;LAST UPDATE: 01.03.2020 savelij
2
; LAST UPDATE: 19.07.2020 savelij
3
 
3
 
4
;ЗАГРУЗЧИК С SD КАРТЫ
4
; загрузчик с SD карты
5
SDCARDBOOT      DI
5
SDCARDBOOT      DI
6
                LD HL,ERS_FLAGS
6
                LD HL,ERS_FLAGS
7
                SET B_RUN_FAT,(HL)              ;РАБОТАТЬ БУДЕМ С FAT
7
                SET B_RUN_FAT,(HL)              ; работать будем с FAT
8
                RST8 _COM_DEV,_KOL_VOL
8
        RST8 _COM_DEV,_KOL_VOL
9
                LD A,E
9
                LD A,E
10
                AND A
10
                AND A
11
                JP Z,_STUPID
11
                JP Z,_STUPID
12
                LD HL,ADR_CAT-0X100             ;АДРЕС КУДА ПОЛОЖИТЬ ТАБЛИЦУ НАЙДЕННЫХ РАЗДЕЛОВ
12
                LD HL,ADR_CAT-0X100             ; адрес куда положить таблицу найденных разделов
13
                PUSH HL
13
                PUSH HL
14
                RST8 _COM_DEV,_GET_FNDVOLUME    ;ПОЛУЧЕНИЕ ТАБЛИЦЫ НАЙДЕННЫХ РАЗДЕЛОВ
14
        RST8 _COM_DEV,_GET_FNDVOLUME            ; получение таблицы найденных разделов
15
                PUSH DE
15
                PUSH DE
16
                LD A,E
16
                LD A,E
17
                DEC A
17
                DEC A
18
                RST8 _COM_DEV,_SET_VOL
18
        RST8 _COM_DEV,_SET_VOL
19
                RST8 _COM_FAT,_ROOT_DIR
19
        RST8 _COM_FAT,_ROOT_DIR
Line 28... Line 28...
28
                ADD HL,DE
28
                ADD HL,DE
29
                LD A,(HL)
29
                LD A,(HL)
30
                CP _SD_SDZ
30
                CP _SD_SDZ
31
                JP NZ,RESTART
31
                JP NZ,RESTART
32
                LD HL,BOOTNAME
32
                LD HL,BOOTNAME
33
                RST 8
-
 
34
                DB _COM_FAT
-
 
35
                DB _FIND_NAME
33
        RST8 _COM_FAT,_FIND_NAME
36
                JP C,_STUPID
34
                JP C,_STUPID
37
                LD DE,0X0B                      ;НУЖЕН БАЙТ ПО СМЕЩЕНИЮ
35
                LD DE,0X0B                      ; нужен байт по смещению
38
                ADD HL,DE                       ;ДЛЯ ОПРЕДЕЛЕНИЯ ФАЙЛ ИЛИ ДИРЕКТОРИЯ
36
                ADD HL,DE                       ; для определения файл или директория
39
                LD A,(HL)                       ;ИЗ ЭТОГО БАЙТА НУЖЕН ОДИН БИТ
37
                LD A,(HL)                       ; из этого байта нужен один бит
40
                SBC HL,DE
38
                SBC HL,DE
41
                AND 0X10                        ;ПРОВЕРИЛИ
39
                AND 0X10                        ; проверили
42
                JP NZ,RESTART                   ;ЭТО ДИРЕКТОРИЯ
40
                JP NZ,RESTART                   ; это директория
43
                LD A,7
41
                LD A,7
44
                RST8 _COM_FAT,_POS_FILES
42
        RST8 _COM_FAT,_POS_FILES
45
                LD HL,BUF_FILEITEM
43
                LD HL,BUF_FILEITEM
46
                RST8 _COM_FAT,_READ_DIR         ;ПОЛУЧИЛИ ОПИСАТЕЛЬ ПО УСТАНОВЛЕННОМУ НОМЕРУ
44
        RST8 _COM_FAT,_READ_DIR                 ; получили описатель по установленному номеру
47
                JP GO_RUN_HOB                   ;ЕСЛИ ЭТО ФАЙЛ, ТО ЗАПУСКАЕМ КОДОВЫЙ БЛОК
45
                JP GO_RUN_HOB                   ; если это файл, то запускаем кодовый блок
48
 
46
 
49
BOOTNAME        DZ "SD_BOOT.$C"
47
BOOTNAME        DZ "SD_BOOT.$C"