Большие видеорежимы под DOS.. Нужна помощь..

Тема в разделе "WASM.BEGINNERS", создана пользователем Elusory Jo, 4 мар 2006.

  1. Elusory Jo

    Elusory Jo New Member

    Публикаций:
    0
    Регистрация:
    26 янв 2006
    Сообщения:
    30
    Адрес:
    Moscow
    Необходимо работать в режиме 800х600хTrueColor под DOS.



    Везде, где читал, пишут, что нужно перевести процессор в режим линейной адресации.. Но:



    1. Будет ли это работать под Виндой XP?

    2. Даже если будет, нормальный ли это ход под Виндой?

    3. Возможно ли установить и работать в этом режиме не устанавливая режим линейной адресации?
     
  2. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    2
    Регистрация:
    11 июн 2004
    Сообщения:
    3.552
    Адрес:
    Russia
    ))) Не будет нифига работать в винде..

    Если вам так хочется, используйте VESA режимы.
     
  3. OlegA11

    OlegA11 New Member

    Публикаций:
    0
    Регистрация:
    12 фев 2006
    Сообщения:
    102
    2. Даже если будет, нормальный ли это ход под Виндой?

    Процессора при старте системы, сразу переходит в защищённый режим, поэтому его от туда никак не вернуть без краха системы.
     
  4. zobot1

    zobot1 New Member

    Публикаций:
    0
    Регистрация:
    30 июн 2005
    Сообщения:
    55
    не ну можно и не переглючаться в протект и не юзать LFB. Юзать банки, но это кал и медленно.
     
  5. Elusory Jo

    Elusory Jo New Member

    Публикаций:
    0
    Регистрация:
    26 янв 2006
    Сообщения:
    30
    Адрес:
    Moscow
    Блин..



    А подскажите пожалуйста (ссылки или хоть что-нибудь) как тогда установить и работать в больших режимах? Ведь окно всего-то 64 Кб.. Как мне заполнять весь буфер?



    А как использовать и что это за банки? Я что-то слышал, но про это ничего не знаю..



    В том-то и дело, что нужно так под DOS, чтобы под WinXP можно было запустить и работало бы..



    Так. И еще про VESA: проблемы с окном в 64 Кб остаются..
     
  6. zobot1

    zobot1 New Member

    Публикаций:
    0
    Регистрация:
    30 июн 2005
    Сообщения:
    55
  7. mister_serg

    mister_serg New Member

    Публикаций:
    0
    Регистрация:
    1 ноя 2005
    Сообщения:
    15
    Адрес:
    Russia
    В книге Зубкова"Ассемблер,язык неограниченых возможностей" это можно найти.
     
  8. mdima

    mdima New Member

    Публикаций:
    0
    Регистрация:
    16 июн 2006
    Сообщения:
    4
    Адрес:
    Ukraine
    переключение

    mov ax,0x4f02
    mov bx,номер режыма
    int 10h

    таблица режымов:

    Режим работы Тип Кол. цветов Разрешение пиксел,Размер символов
    100h Графический цветной 256 640x400
    101h Графический цветной 256 640x480 8х16
    102h Графический цветной 16 800x600 8х8
    103h Графический цветной 256 800x600 8х8
    104h Графический цветной 16 1024x768
    105h Графический цветной 256 1024x768 8х16
    106h Графический цветной 16 1280x1024
    107h Графический цветной 256 1280x1024
    108h Текстовый цветной 16 80x60
    109h Текстовый цветной 16 132x25 9х16
    10Ah Текстовый цветной 16 132x43 9х9
    10Bh Текстовый цветной 16 132x50
    10Ch Текстовый цветной 16 132x60
    10Dh Графический цветной 32768 320x200
    10Eh Графический цветной 65536 320x200
    10Fh Графический цветной 16777216 320x200
    110h Графический цветной 32768 640x480
    111h Графический цветной 65536 640x480
    112h Графический цветной 16777216 640x480
    113h Графический цветной 32768 800x600
    114h Графический цветной 65536 800x600
    115h Графический цветной 16777216 800x600
    116h Графический цветной 32768 1024x768
    117h Графический цветной 65536 1024x768
    118h Графический цветной 16777216 1024x768
    119h Графический цветной 32768 1024x768
    11Ah Графический цветной 65536 1280x1024
     
  9. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    Elusory Jo
    Нет проблем используй VESA.
    Под вин XP нельзя работать с линейным буфером LFB, но можно работать с банками.

    Под вин 2K нельзя работать с линейным буфером LFB, но можно работать с банками.
    Помимо этого нельзя получить информацию о видео режимах, не будут работать функция 4F00 и 4F01.(могу путать давно проверял)
    В вин 9x проблем нет.

    Если не заворачиваться, то можно в тупую выставить нужный режим через 4F02
    113h - 800x600 32K (1:5:5:5)
    114h - 800x600 64K (5:6:5)
    Но правильно сначала получить список видео режимов, затем выбрать подходящий. Так как на старых видео картах мало того, что не существуют некоторые видео режимы, так еще некоторые видео режимы работают только в одном режиме банковом или линейном.


    Банки переключаются через следующую функцию
    Input: AX = 4F05h VBE Display Window Control
    (16-bit) BH = 00h Set memory window
    = 01h Get memory window
    BL = Window number
    = 00h Window A
    = 01h Window B
    DX = Window number in video memory in window
    granularity units (Set Memory Window only)
    Output: AX = VBE Return Status
    DX = Window number in window granularity units
    (Get Memory Window only)

    Подробней можешь почитать у Зубкова или в других книжках.