|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » графика на ассемблере под дос |
|
графика на ассемблере под дос
|
Сообщения: 196 |
Профиль | Сайт | Отправить PM | Цитировать Почти дописал на паскале прогу - просмотрщик файлов
в формате pcx но есть одна проблема. Алгоритм обработки файла пашет без глюков, есть проблемы с отображением, а точнее с передачей цветов. Цвета где более чётко выражены компоненты цвета R,G,B передаются нормально, а всякие там серенькие, извиняюсь поносные и др., на экране неограниченно стремяться к черному. Ну например цвет 808080 (R=80h, G=80h, B=80h) это серый, даже ближе к светло-серому, а у меня гад черный. Так же и с другими. Но повторюсь алгоритм в порядке, все дело в передаче цвета. Привожу упрощенный ассемблерный кусок, т.к. стандартные средства паскаля не покатили в силу их ограниченности. инициализирую граф. режим 256 цветов, 320*200 mov ax,0013h int 10h тут цикл, заношу считанную из файла палитру mov dh,R mov ch,G mov cl,B mov bx,color mox ax,1010h int 10h поточечный цикл вывода на экран (с видеостраницами не парюсь пока не отлажу все до конца) mov ah,0ch mov al,color mov cx,x mov dx,y int 10h Заранее благодарен за ответы. Т.к. ассемблерщик я начинающий, то буду весьма признателен любым советам. |
|
Отправлено: 22:12, 23-07-2003 |
Пользователь Сообщения: 130
|
Профиль | Сайт | Цитировать Дело в том, что при задании палитры в режиме 13h для каждого цвета используется только 6 бит, причем младших, а старшие просто отбрасываются. (Соответственно 80h становиться 00h и ты видишь черный.) Поэтому сдвигай dh,dl,cl вправо на 2 разряда каждый перед вызовом функции 1010h, и все станет нормально.
|
------- Отправлено: 02:23, 28-07-2003 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Сообщения: 196
|
Профиль | Сайт | Отправить PM | Цитировать XXXX Pro все класс! shr и готово!
|
Отправлено: 13:51, 29-07-2003 | #3 |
Guest |
а скорость вывода графики тебя не беспокоит? ведь 10h интеррапт он же медленный как зараза (как и все интеррапты). на прямую в память писать не пробовал?
видеопамять обычно начинается с 0хА000. делаешь так: push 0a000h pop es mov al,color ; 0-255 index of palette array mov es:[di],al в 0х13 режиме видеопамять только 64К так что DI'я хватит вполне. Да и заполнение всего экрана происходит мгновенно. |
Отправлено: 17:27, 22-10-2003 | #4 |
Guest |
Guest конечно же тормозит, я для простоты так написал, меня в тот момент беспокоила не скорость а передача цветов. С видеопамятью давным давно разобрался, заваял уже прсмотрщик под дос 24-битного bmp в SVGA-режиме (у pcx дальше 256 цветов не пошло, 24-битный pcx - формат убитый, влом писать обработчик)
|
|
Отправлено: 22:49, 22-10-2003 | #5 |
Сообщения: 196
|
Профиль | Сайт | Отправить PM | Цитировать блин забыл авторизоваться...в общем это я написал
|
Отправлено: 22:51, 22-10-2003 | #6 |
lss007
Сообщения: n/a |
Помогите советом, кто может! Подскажите пожалуйста, как запрограммировать 16- или 32-разрядный цвет под ДОС. Заранее спасибо.
|
Отправлено: 12:30, 17-09-2004 | #7 |
Старый параноик Сообщения: 2423
|
Профиль | Отправить PM | Цитировать lss007
Во-первых, приветствуем на форуме Что же касается графики для SVGA под DOS, то тут такая история, емнип: Давным-давно , когда ещё не было Win95, существовало много видеокарт от разных производителей. Все они могли работать как SVGA, но аппаратные реализации поддержки больших разрешений и многоцветности были разными. Поэтому писать игрушки стало трудно. В результате был разработан специальный "пакет" VESA, который был неким API для DOS-программеров, что-то типа GDI. Универсальность и поддержка большого количества видеоадаптеров привела к большой популярности этого пакета и в последние годы существования DOS как распространённой операционки все игры шли в комплекте с vesa-драйвером. Он запускался как экзешник или был вшит в саму игрушку. К чему это я? К тому, что: Ищите VESA. К сожалению, я не смог зайти на сайт разработчиков, может они и скопытились |
Отправлено: 13:02, 17-09-2004 | #8 |
lss007
Сообщения: n/a |
Спасибо hasherfrog'у за информацию
|
Отправлено: 09:46, 21-09-2004 | #9 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Assm - Простые проги на ассемблере под dos | Dimaev | Программирование и базы данных | 2 | 08-05-2009 11:18 | |
Программы ДОС под ХР | wolf | Microsoft Windows 2000/XP | 3 | 19-12-2005 17:20 | |
Системный блок под Фотошоп (2D графика) до 800$ | irtish | Выбор отдельных компонентов компьютера и конфигурации в целом | 33 | 07-10-2005 19:01 | |
из под ДОС в сеть | skulida | Хочу все знать | 5 | 10-02-2003 00:13 | |
печать под ДОС | Guest | Сетевые технологии | 1 | 31-01-2003 18:17 |
|