IPB
ЛогинПароль:

> Правила раздела!

1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!

> Совсем прямое обращение к видеопамяти., навеяло работой с режимом VGA 640x480
сообщение
Сообщение #1


Злостный любитель
*****

Группа: Пользователи
Сообщений: 1 755
Пол: Мужской

Репутация: -  62  +


В режиме 640 на 480 видеопамять состоит из 4 цветовых слоёв. Которые в оперативной памяти расположены... по одному и тому же адресу! Для доступа к тому или иному слою надо записать какое-то значение в порты. Но тогда получается, что физическое расположение видеопамяти - это вовсе не $A000: $0000, ведь иначе один слой затирал бы информацию о другом. Можно ли обратиться к видеопамяти ещё более непосредственно, минуя механизм обращения по известному адрему? Или это на уровне железа так сделано, и по другому никак? Ведь помню, когда с портами баловался - экран покрывался цветными пятнами, причём разрешение экрана было довольно высокое.


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Большевик–концептуал
***

Группа: Пользователи
Сообщений: 194
Пол: Мужской
Реальное имя: Иван Левашев
Jabber: bu_gen@octagram.name
Skype: i.levashew
QQ: 3152538431
WeChat
Ада: Сторонник
Embarcadero Delphi: Сторонник
Free Pascal: Разработчик
Turbo Pascal: Установлен

Репутация: -  1  +


Вот как раз линейный видеобуффер и имелся в виду.

Но, чтобы это работало, надо без EMM загружаться.

Сейчас это разве что при программировании кофейных автоматов может заинтересовать.


--------------------
If you want to get to the top, you have to start at the bottom
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гуру
*****

Группа: Пользователи
Сообщений: 1 168
Пол: Мужской
Реальное имя: Сергей Андрианов

Репутация: -  28  +


Цитата(OCTAGRAM @ 20.03.2009 21:01) *

Вот как раз линейный видеобуффер и имелся в виду.

Но, чтобы это работало, надо без EMM загружаться.

Сейчас это разве что при программировании кофейных автоматов может заинтересовать.

Вообще-то линейный буфер полезен и целесообразен в 32-разрядном режиме DOS. Где он, собственно, интенсивно использовался. Помнится, любая уважающая себя игра имела в корневом каталоге файл dos4gw.exe.
И, кстати, EMM этому не мешал.
Сейчас же неприятность состоит в том, что WinXP не поддерживает линейный буфер для DOS приложений, и все, что было написано с использованием этого режима, под Виндой не запускается (под 95 запускалось), кроме, разве что, DOSBox.

обратил внимание еще на одну фразу:
Цитата
и обрабатывать прерывание клавиатуры, потому что DOS несколько клавиш одновременно не понимает как надо.
Насколько я помню, проблема была не в распознавании нескольких нажатых клавиш (такая проблема тоже была, но она была исключительно аппаратной, а потому неразрешимой программными средствами), а в отсутствии индикации отпускания клавиши. И свой обработчик прерывания клавиатуры приходилось писать именно для того, чтобы знать, когда клавиша отпущена. И, кстати, это проблема BIOS, а не DOS.

Сообщение отредактировано: OCTAGRAM -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 20.05.2024 19:58
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name