OSDev

для всех
Текущее время: 16 фев 2025, 12:26

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 27 ]  На страницу Пред.  1, 2, 3  След.
Автор Сообщение
СообщениеДобавлено: 21 янв 2025, 16:29 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1446
А я вот решил поставить на вспомогательный комп ДОС и ВНЕЗАПНО обнаружил, что у меня нет винтов меньше 4 Тбайт. Пришлось срочно заказывать :) ДОС же про GPT ничего не знает.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 21 янв 2025, 19:45 

Зарегистрирован: 10 май 2007, 11:33
Сообщения: 1208
Тоже использую только текстовые режимы (VGA). Чтобы было немного повеселее, есть 30-строковый режим: Программирование VGA

С VESA-режимами игрался в прогах под DOS/Win9x/XP.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 21 янв 2025, 19:56 

Зарегистрирован: 10 май 2007, 11:33
Сообщения: 1208
P.S. Поддержку Long mode так и не сделал. Ядро и приложения 32-разрядные. Но есть линейка (версия ядра и драйверов) с поддержкой PAE.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 21 янв 2025, 21:25 

Зарегистрирован: 10 окт 2013, 14:54
Сообщения: 107
SII писал(а):
ДОС же про GPT ничего не знает.
Неужели не осталось старых SATAшничков, самсунги были вполне себе живучие, многие по 60 тыщ часов играючись ...

А VESA с LFB это, в общем-то, просто ... указатель на память, длина строки - и всё.

Можно даже страничный вывод делать, переключая через "set display start" (4F07) и это должно работать - использовалось, как минимум, в Master of Orion II.
Палитру все ставят через VGA порты, реально все, единственная игра, которая ставит через 4F09 - квака в VESA режимах.
VESA protected mode interface не использует ни одна игра из тех, которые тестировал - вообще никто. Т.е, эта вещь почти наверняка битая.

Главная боль в VESA - это работа через банки. Особенно в 24-битном режиме - банк 64k, пиксель - 3 байта, один пиксель всегда попадает на границу банка, это страшно :) В том числе поэтому, видимо, практически нигде щас нету 24-битных режимов, только 32, да и поддержку банков имеет смысл писать только если хочется запустить на 486 с VESA 1.0 или в VirtualPC (там глючный LFB) ;)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 21 янв 2025, 21:37 

Зарегистрирован: 06 янв 2025, 17:29
Сообщения: 20
Провёл ещё несколько экспериментов. Посмотрел а читается ли вообще что нибудь? Так вот нет, буфер чтения пустой. Попробовал загрузится с флешки на старом железе. Тоже не работает. (Я раньше образ записывал на жёсткий диск и грузился с него). Вот тогда решил посмотреть, а какую ошибку возвращает подпрограмма (результат операции возвращает, но я его не смотрю. Молодец!). Команда чтения через порты в защищённом режиме возвращает ошибку (у меня комментарий "Команда не выдана" - не знаю что это значит, писал давно и в эмуляторе работает). Будем разбираться, вот так кажется всё предусмотрел, а "прилёт индейцев с Марса" нет. :-) Может попробовать записать на SATA диск и попробовать с него загрузится? Наступаю на все грабли какие есть.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 22 янв 2025, 15:49 

Зарегистрирован: 06 янв 2025, 17:29
Сообщения: 20
Попробовал жесткий диск с интерфейсом SATA на старой системе, поведение программы очень похоже (не работает) на поведение при загрузке с флэшки. Вероятно флэшки "работают" как диски SATA. Моя программа рассчитана на диск с интерфейсом IDE, поэтому ничего не вышло. Думаю графический режим будет работать, если исправить программу и корректно работать с SATA. Попробую ни чего не читая с диска закрасить видеопамять.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 22 янв 2025, 16:34 

Зарегистрирован: 06 янв 2025, 17:29
Сообщения: 20
Проверил, графика прекрасно работает на новой системе. Проблема была в чтении с диска. Правда проверял в защищённом режиме, а не в long mode. Но я думаю это не принципиально. Думаю на этом можно пока закончить.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 23 янв 2025, 19:44 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1446
А какого не читает диск, разобрались?

Мне, кстати, пришёл заказанный жёсткий диск на 1 Тбайт -- но оказался наполовину меньше, хотя на нём наклейка терабайтника от WD. В общем, кто-то жульничает в цепочке поставок и продаж. Мне в данном конкретном случае пофиг (если он не сдохнет через месяц): мне нужен был маленький диск, чтоб использовать его с MBR, а не GPT, но вообще...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 23 янв 2025, 20:07 

Зарегистрирован: 06 янв 2025, 17:29
Сообщения: 20
Если коротко, потому что программа рассчитана на чтение с диска с интерфейсом IDE. В "новом" ПК этого интерфейса нет, только SATA. А подробней я затрудняюсь ответить так как "плаваю" в этом вопросе. Нужно либо не так выполнять запрос как я делаю (использовал Кулаков В "Программирование дисковых подсистем"), либо по другому адресу. Там где IDE диск отвечает, в "новом" ПК тишина (ожидаю готовность, возвращает 0xFF). Если что то конкретно интересует, спрашивайте, попробую ответить.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 23 янв 2025, 20:10 

Зарегистрирован: 06 янв 2025, 17:29
Сообщения: 20
Программа сначала грузила ядро, а потом была отладочная закраска экрана. Вот до неё и не доходило дело. Я перенёс закраску до чтения и убедился, что графический режим работает. SATA не поддерживается в эмуляторе bochs, поэтому мне пока не актуально читать с таких дисков.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 27 ]  На страницу Пред.  1, 2, 3  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB