Size: a a a

pro.osdev — ясельная группа

2021 January 27

АК

Александр Караев... in pro.osdev — ясельная группа
Котеечко Пухнастиньке
жажда развития - порекается?
Конечно, нет. Но когда в чат по плюсам приходят по оффтоп вопросам, я очень расстраиваюсь. И не я один. Думаю, это касается и этого чата
источник

BV

Boris Vinogradov in pro.osdev — ясельная группа
Котеечко Пухнастиньке
:)

в двух словах, если используется int13 0x02 - нужно где-то брать инфу о разметке диска?
в двух словах — об этом написано на осдев вики
источник

КП

Котеечко Пухнастиньк... in pro.osdev — ясельная группа
Boris Vinogradov
в двух словах — об этом написано на осдев вики
+ спасибо
источник

КП

Котеечко Пухнастиньк... in pro.osdev — ясельная группа
Александр Караев
Конечно, нет. Но когда в чат по плюсам приходят по оффтоп вопросам, я очень расстраиваюсь. И не я один. Думаю, это касается и этого чата
Вы - циник
источник

BD

Berkus Decker in pro.osdev — ясельная группа
Котеечко Пухнастиньке
жизни не хватит прочитать абсолютно все :(
я читал про LBA, но сказали что это не то
Ват
источник

BD

Berkus Decker in pro.osdev — ясельная группа
Котеечко Пухнастиньке
жажда развития - порекается?
Бездумная жажда задолбать всех (а не развития, как вам показалось) таки порицается.

Попрошу все же прочитать инфу чата, а то вы только заголовок прочитали похоже.
источник

BD

Berkus Decker in pro.osdev — ясельная группа
Котеечко Пухнастиньке
я пооонял! код, который обрабатывает всякие int 13 как раз и хранится в этом мегабайте!
Нет, он хранится в довольно маленьком куске от 2 до 128 килобайт размером. Остальное в этом мегабайте - ram и память видеоадаптера.
источник

КП

Котеечко Пухнастиньк... in pro.osdev — ясельная группа
.... сори
источник

BD

Berkus Decker in pro.osdev — ясельная группа
А циник пишется с одной н
источник

BD

Berkus Decker in pro.osdev — ясельная группа
Развитие это как раз читать книги, раз жизни не хватит прочитать все то надо приоритизировать и читать то что необходимо для этого самого развития.
источник
2021 January 28

Miss Очепятка... in pro.osdev — ясельная группа
Котеечко Пухнастиньке
ребята, подскажите пожалуйста, что есть цилиндры и Head ?
Head - Головка cylinder - цилиндр
источник

Miss Очепятка... in pro.osdev — ясельная группа
Котеечко Пухнастиньке
:)

в двух словах, если используется int13 0x02 - нужно где-то брать инфу о разметке диска?
Вызываем функцию 08. Она вернёт для HDD информацию о его разметки для флопиков прямо в 1 секторе так записана его разметка.
Ниже пример с разбором структуры:
  MOV ah,08
   int 13h                    ; AH - статус 00h нет ошибки
                              ; CX - с 0 по 6 бит макс. номер сектора (от 1 до 63)
                              ; CX - с 8 по 15 бит и с 7 по 8 биты макс номер цилиндра (от 0 до 3FFFh)
                              ; +---------+--------+
                              ; |15      8|7      0|
                              ; +---------+--------+
                              ; |876543210|09      |
                              ; +---------+--------+
                              ; |         |  543210|
                              ; +---------+--------+
                              ; DL - число подключенных дисков
                              ; DH - макс номер головки (от 0 до 255)

   MOV     AL,CL
   AND     AL,111111b         ; число секторов на дорожку (биты 5-0)
   CBW                        ; Конвертируем Байт в Слово.
   MOV     BL,DH              ;
   MOV     BH,AH
   INC     BX                 ; число головок на цилиндр
   XCHG    AX,BX
   MUL     BX                 ; AX:DX := (число головок x Сектора)

   MOV     CX,AX              ; CX := AX   (DX- всегда ноль)
источник

Miss Очепятка... in pro.osdev — ясельная группа
И не забываем прочитать стандарты и wiki. Там рассказано про трансляцию из физической структуры разметки диска в структуру принятую в БИОС'е. И про пересчёт CHS в LBA.
источник

d

disba1ancer in pro.osdev — ясельная группа
Miss Очепятка
Вызываем функцию 08. Она вернёт для HDD информацию о его разметки для флопиков прямо в 1 секторе так записана его разметка.
Ниже пример с разбором структуры:
  MOV ah,08
   int 13h                    ; AH - статус 00h нет ошибки
                              ; CX - с 0 по 6 бит макс. номер сектора (от 1 до 63)
                              ; CX - с 8 по 15 бит и с 7 по 8 биты макс номер цилиндра (от 0 до 3FFFh)
                              ; +---------+--------+
                              ; |15      8|7      0|
                              ; +---------+--------+
                              ; |876543210|09      |
                              ; +---------+--------+
                              ; |         |  543210|
                              ; +---------+--------+
                              ; DL - число подключенных дисков
                              ; DH - макс номер головки (от 0 до 255)

   MOV     AL,CL
   AND     AL,111111b         ; число секторов на дорожку (биты 5-0)
   CBW                        ; Конвертируем Байт в Слово.
   MOV     BL,DH              ;
   MOV     BH,AH
   INC     BX                 ; число головок на цилиндр
   XCHG    AX,BX
   MUL     BX                 ; AX:DX := (число головок x Сектора)

   MOV     CX,AX              ; CX := AX   (DX- всегда ноль)
вот только кто пользуется всем этим добром в 2к20...
источник

BD

Berkus Decker in pro.osdev — ясельная группа
disba1ancer
вот только кто пользуется всем этим добром в 2к20...
некрофилов полно
источник

s

smthidk in pro.osdev — ясельная группа
disba1ancer
вот только кто пользуется всем этим добром в 2к20...
а как еще сделать это в загрузчике?
источник

s

smthidk in pro.osdev — ясельная группа
"это" - загрузка ядра с диска
источник

d

disba1ancer in pro.osdev — ясельная группа
smthidk
а как еще сделать это в загрузчике?
int 13h ax=42h? не?
источник

s

smthidk in pro.osdev — ясельная группа
понял, имелась в виду именно функция, а не метод в целом
источник

Miss Очепятка... in pro.osdev — ясельная группа
smthidk
а как еще сделать это в загрузчике?
А в загрузчике у вас UEFI и CSM устаревший биос более не поддерживается. Начиная с 2020 года.
источник