1. Друзья, в это тяжёлое и непонятное для всех нас время мы просим вас воздержаться от любых упоминаний политики на форуме, - этим ситуации не поможешь, а только возникнут ненужные ссоры и обиды. Это касается также шуток и юмора на тему конфликта. Пусть войны будут только виртуальными, а политики решают разногласия дипломатическим путём. С уважением, администрация Old-Games.RU.

    Скрыть объявление
  2. Пожалуйста, внимательно прочитайте правила раздела.
  3. Если Вы видите это сообщение, значит, вы ещё не зарегистрировались на нашем форуме.

    Зарегистрируйтесь, если вы хотите принять участие в обсуждениях. Перед регистрацией примите к сведению:
    1. Не регистрируйтесь с никами типа asdfdadhgd, 354621 и тому подобными, не несущими смысловой нагрузки (ник должен быть читаемым!): такие пользователи будут сразу заблокированы!
    2. Не регистрируйте больше одной учётной записи. Если у вас возникли проблемы при регистрации, то вы можете воспользоваться формой обратной связи внизу страницы.
    3. Регистрируйтесь с реально существующими E-mail адресами, иначе вы не сможете завершить регистрацию.
    4. Обязательно ознакомьтесь с правилами поведения на нашем форуме, чтобы избежать дальнейших конфликтов и непонимания.
    С уважением, администрация форума Old-Games.RU
    Скрыть объявление

24/32 бита - способы определения

Тема в разделе "Hard & Soft", создана пользователем Kristobal Hozevich Hunta, 9 фев 2010.

  1. MisterGrim Very old

    MisterGrim

    Legacy

    Регистрация:
    29 ноя 2007
    Сообщения:
    25.423
    Вот поэтому и надо запрашивать список, а не тупо перебирать режимы. Тем более, что все VESA-режимы лежат в диапазоне 100h-1FFh.
    Стандартный режим 07, текстовый, монохромный.

    Кстати, у меня результат совсем другой, но это из винды:
    Код:
    mod resol bpp     
    
    106 800x600x4     
    
    256 640x400x8     
    
    257 640x480x8     
    
    258 800x600x4     
    
    259 800x600x8     
    
    260 1024x768x4    
    
    261 1024x768x8    
    
    263 1280x1024x8   
    
    265 132x25x4      
    
    266 132x43x4      
    
    269 320x200x15    
    
    270 320x200x16    
    
    271 320x200x24    
    
    272 640x480x15    
    
    273 640x480x16    
    
    274 640x480x24    
    
    275 800x600x15    
    
    276 800x600x16    
    
    277 800x600x24    
    
    278 1024x768x15   
    
    279 1024x768x16   
    
    280 1024x768x24   
    
    281 1280x1024x15  
    
    282 1280x1024x16  
    
    283 1280x1024x24  
    
    288 320x200x32    
    
    289 640x480x32    
    
    290 800x600x32    
    
    291 1024x768x32   
    
    292 1280x1024x32  
    
    304 132x44x4      
    
    386 320x200x8     
    
    387 640x400x15    
    
    388 640x400x16    
    
    389 640x400x24    
    
    390 640x400x32    
    
    402 320x240x8     
    
    403 320x240x15    
    
    404 320x240x16    
    
    405 320x240x24    
    
    406 320x240x32    
    
    418 400x300x8     
    
    419 400x300x15    
    
    420 400x300x16    
    
    421 400x300x24    
    
    422 400x300x32    
    
    434 512x384x8     
    
    435 512x384x15    
    
    436 512x384x16    
    
    437 512x384x24    
    
    438 512x384x32    
    
    450 640x350x8     
    
    451 640x350x15    
    
    452 640x350x16    
    
    453 640x350x24    
    
    454 640x350x32    
    
    511 640x480x8     
    
     
    Kristobal Hozevich Hunta нравится это.
  2. Kristobal Hozevich Hunta Реликтовый гоминид

    Kristobal Hozevich Hunta

    Регистрация:
    24 апр 2006
    Сообщения:
    1.380
    это на радеоне 9200? тогда про 15bpp всё сходится.

    а в чём разница?

    ---------- Сообщение добавлено в 19:48 ---------- Предыдущее сообщение размещено в 19:45 ----------

    я вроде последний встречал 11Bh (ну кроме еще 81FFh).

    хотя тоже не очень понятно:

     
    Последнее редактирование: 28 фев 2010
  3. MisterGrim Very old

    MisterGrim

    Legacy

    Регистрация:
    29 ноя 2007
    Сообщения:
    25.423
    Ни в чём, уже проверил в голом досе — то же самое.
    Ну, а вот у меня последний как раз 1FFh.
    Что ж тут непонятного? Биты 0-8 — номер режима (если 8-й бит==0, режим стандартный, если 1 — VESA); биты 9-13 зарезервированы и должы быть 0; бит 14 устанавливается, если хотим использовать Linear framebuffer; бит 15 устанавливается, если при смене режима хотим сохранить содержимое видеопамяти (не совсем понятно, правда, зачем).

    И далее: при использовании VBE 1.2 номера VESA-режимов стандартизированы, т.е. если карта поддерживает режим 320x200x24бит, то он гарантированно будет иметь номер 10Fh; при использовании же VBE 2.0 на это рассчитывать нельзя.
     
  4. Kristobal Hozevich Hunta Реликтовый гоминид

    Kristobal Hozevich Hunta

    Регистрация:
    24 апр 2006
    Сообщения:
    1.380
    Ну, работает - и то хлеб - я в асме новичок :)

    Т.е. приведен полный листинг, без изъятий? Странно тогда, что джифорсы откликаются на весь диапазон.

    Перебор - конечно, "грязный хак". Но результат любопытный. В принципе, можно поустанавливать все найденный режимы и посмотреть на результат.

    Спасибо всем за интересную беседу :)
    Особенно MisterGrimу!
     
  5. Kristobal Hozevich Hunta Реликтовый гоминид

    Kristobal Hozevich Hunta

    Регистрация:
    24 апр 2006
    Сообщения:
    1.380
    Вобщем, я кажется понял, о чём предупреждал MisterGrim.

    Тупой перебор выдает кучу повторов. При этом картина примерно такова:

    800х600х16______800х600х32
    ___114h___________115h
    ___254h___________252h
    ___314h___________315h
    ___443h___________452h
    ____..._____________...
    ___2643h__________2652h

    Обратите внимание на последовательность младшего байта в столбце
    (номер режима 2-байтовый, т.е. для значения 115h старший будет 01h, младший - 15h):

    для 16bpp: х14h-х43h-х14h-х43h
    для 32bpp: х15h-х52h-х15h-х52h

    Сначала я решил, что наличие в старшем байте значения, отличного от нуля, всегда указывает на VESA-режим.

    С точки зрения младшего байта режимы 115h и 315h, а также 252h и 452h одинаковы. Но почему тождественны 115h и 252h?

    Видимо, при проверке поддержки режима старший байт проверяется не просто на нулевое/ненулевое значение.

    Вот битовая последовательность старшего байта:

    0000 0001 - 1
    0000 0010 - 2
    0000 0011 - 3
    0000 0100 - 4
    0000 0101 - 5

    Вижу только одну явную зависимость - бит 0 старшего байта номера режима равен либо 0 либо 1, но значение байта всегда ненулевое.

    Таким образом, видеокарта поддерживает, скажем, два режима 800х600х32 с номерами соответственно х15h и х52h. В чем разница, пока неясно.
     
    Последнее редактирование: 4 мар 2010
  6. MisterGrim Very old

    MisterGrim

    Legacy

    Регистрация:
    29 ноя 2007
    Сообщения:
    25.423
    Must be 0, но вообще-то там может быть всё, что угодно.

    Offtop
    Лобовые методы — они такие: думаешь, что сэкономишь время, а в итоге получаешь геморрой на свою голову.
     
  7. Kristobal Hozevich Hunta Реликтовый гоминид

    Kristobal Hozevich Hunta

    Регистрация:
    24 апр 2006
    Сообщения:
    1.380
    MisterGrim, ну мне ничего не мешает перебрать диапазон 100h-1FFh. Для VESA-режимов это получается гарантированный диапазон.

    Вот режимы наподобие 252h - это интересно. Может, стерео или что-то вроде. Попробую вывести картинку для 115h и 252h.
     
  8. TAPAKAH

    TAPAKAH

    Регистрация:
    24 июн 2005
    Сообщения:
    232
    Ну, я же уже писал:
    Режимы выше 200h тоже есть. Как ты мог убедиться сам, для каждой видео-карты они свои.
     
    Последнее редактирование: 5 мар 2010
    Kristobal Hozevich Hunta нравится это.
  9. Kristobal Hozevich Hunta Реликтовый гоминид

    Kristobal Hozevich Hunta

    Регистрация:
    24 апр 2006
    Сообщения:
    1.380
    TAPAKAH, да, до всего эмпирически приходится.
    хотя нафига кому сдалась вся эта некрофилия :)

    Попробую склеить прогу, выводящую спрайт с переключением в оба режима. Проблема в том, что в qemu выше 1хх режимов нет.
     
    Последнее редактирование: 6 мар 2010
  1. На этом сайте используются файлы cookie, чтобы персонализировать содержимое, хранить Ваши предпочтения и держать Вас авторизованным в системе, если Вы зарегистрировались.
    Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление