Subversion Repositories pentevo

Rev

Rev 888 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed | ?url?

  1.  
  2. ; LAST UPDATE: 19.07.2020 savelij
  3.  
  4. ; загрузчик с SD карты
  5. SDCARDBOOT      DI
  6.                 LD HL,ERS_FLAGS
  7.                 SET B_RUN_FAT,(HL)              ; работать будем с FAT
  8.         RST8 _COM_DEV,_KOL_VOL
  9.                 LD A,E
  10.                 AND A
  11.                 JP Z,_STUPID
  12.                 LD HL,ADR_CAT-0X100             ; адрес куда положить таблицу найденных разделов
  13.                 PUSH HL
  14.         RST8 _COM_DEV,_GET_FNDVOLUME            ; получение таблицы найденных разделов
  15.                 PUSH DE
  16.                 LD A,E
  17.                 DEC A
  18.         RST8 _COM_DEV,_SET_VOL
  19.         RST8 _COM_FAT,_ROOT_DIR
  20.                 POP DE
  21.                 DEC E
  22.                 LD L,E
  23.                 LD H,0
  24.                 ADD HL,HL
  25.                 ADD HL,HL
  26.                 ADD HL,HL
  27.                 POP DE
  28.                 ADD HL,DE
  29.                 LD A,(HL)
  30.                 CP _SD_SDZ
  31.                 JP NZ,RESTART
  32.                 LD HL,BOOTNAME
  33.         RST8 _COM_FAT,_FIND_NAME
  34.                 JP C,_STUPID
  35.                 LD DE,0X0B                      ; нужен байт по смещению
  36.                 ADD HL,DE                       ; для определения файл или директория
  37.                 LD A,(HL)                       ; из этого байта нужен один бит
  38.                 SBC HL,DE
  39.                 AND 0X10                        ; проверили
  40.                 JP NZ,RESTART                   ; это директория
  41.                 LD A,7
  42.         RST8 _COM_FAT,_POS_FILES
  43.                 LD HL,BUF_FILEITEM
  44.         RST8 _COM_FAT,_READ_DIR                 ; получили описатель по установленному номеру
  45.                 JP GO_RUN_HOB                   ; если это файл, то запускаем кодовый блок
  46.  
  47. BOOTNAME        DZ "SD_BOOT.$C"
  48.