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" |