![]() |
1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
![]() ![]() |
![]() |
ShadowMaverick |
![]()
Сообщение
#1
|
Гость ![]() |
:D VESA графика из под виндовс не работает
почему кто знает ----- из по DOS работает а из под WINDOWS нет почему ???? ----- при установыке пользуюсь ASM функциями mov ah,4fh mov al,2h mov bx,10eh ;320*200 65536 color ------ режимов много есть и на 16 млн цветов |
Dark |
![]()
Сообщение
#2
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 408 Пол: Мужской Репутация: ![]() ![]() ![]() |
Не знаю, ю меня тоже есть модуль, написанный мной, но у меня все работает... Может у тебя видеокарта такая? попробуй этот режим протестировать:
program testmode; Если ничего не выйдет пиши, будем думать дальше. Всего хорошего! -------------------- - Где я?
- Во тьме. - В какой тьме? - Во тьме твоего мозга. |
ShadowMaverick |
![]()
Сообщение
#3
|
Гость ![]() |
SHADOW MAVERICK он же просто SHADOW т.к. пароль про...
да нет в DOSe все пашет я РЕГИСТРЫ смотрю там правильное щначение возвращается --- а в ВИНДЕ WINDOWS просто выкидывает прогу как процесс (убив) --- что делать --- XP WIND у меня |
Dark |
![]()
Сообщение
#4
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 408 Пол: Мужской Репутация: ![]() ![]() ![]() |
Ну как говорится, если водка мешает работе, бросай нахрен... такую работу ;D
У меня WinXP тоже глючит с досприложениями, т.е. сначало я могу работать в паскале, а через некоторое время я должен переходить в оконный режим - короче фигня!!! >:( Но слава богу XP у меня на работе, дома - Вий 98(еще названия - вынь 98, маздай короче...) ;D А ты где берешь документацию, не у того же автора что и я? ;D Давай еще чего нибудь попишем про VESA? -------------------- - Где я?
- Во тьме. - В какой тьме? - Во тьме твоего мозга. |
Shadow |
![]()
Сообщение
#5
|
![]() Lonely_Raven ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 640 Пол: Мужской Репутация: ![]() ![]() ![]() |
:D В.Ю. Пирогов 320 рубл стоит книга интересная но лин ткаим языком
написанная -------------------- Программа делает то что вы ей приказали а не то что бы ВАМ хотелось бы.
МЕРФИ --------------------- RTFM - Read the fucking manual --------------------- http://www.livejournal.com/users/lonley_raven/ |
Dark |
![]()
Сообщение
#6
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 408 Пол: Мужской Репутация: ![]() ![]() ![]() |
Не, у меня Павел Соколенко - Программирование графики для IBM PC
Тоже интересно ;D А давай будем обмениваться идеями и алгоритмами на asm по VESA? : ![]() -------------------- - Где я?
- Во тьме. - В какой тьме? - Во тьме твоего мозга. |
Shadow |
![]()
Сообщение
#7
|
![]() Lonely_Raven ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 640 Пол: Мужской Репутация: ![]() ![]() ![]() |
:D ню я то непроч моно опыта наберусь т.к. напрямую с видое памятью
плохо умею работать как бы то что в у книге было написано такое ощущения что секрет -- например что такое битовые плоскости и с чем их едят ето вроде с VESA ---- они как то за цвет отвечают и их 4 -------------------- Программа делает то что вы ей приказали а не то что бы ВАМ хотелось бы.
МЕРФИ --------------------- RTFM - Read the fucking manual --------------------- http://www.livejournal.com/users/lonley_raven/ |
mj |
![]()
Сообщение
#8
|
![]() Adminь ![]() ![]() ![]() ![]() Группа: Администраторы Сообщений: 803 Пол: Мужской Реальное имя: Евгений Репутация: ![]() ![]() ![]() |
Ух блин мучался я с этим, но вроде как добил...
Цитата например что такое битовые плоскости и с чем их едят Я ваще не перевариваю зачем эти бытовые плоскости, так как меняя 1 байт, мы меняем сразу 8 пикселов и соответственно чтобы изменить цвет точки приходится читать 4 байта (по 1 из каждой плоскости), менять в них бит отвечающий за нужный нам пиксел и записывать эти 4 байты обратно...ето вроде с VESA ---- они как то за цвет отвечают и их 4 Также там есть что то похожее на маску, это чтобы лишний раз бит не читать, задаём маску и потом пишем... Самое хорошее то, что эти плоскости используются тока в 16 цветном режиме :D |
Shadow |
![]()
Сообщение
#9
|
![]() Lonely_Raven ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 640 Пол: Мужской Репутация: ![]() ![]() ![]() |
:D да будует проклято все семейство видоеадаптеров с их нестандартными системами записи в видеопамять
--- так посмотрел оказывается разный рехим разная система записи --- Const color : Array [0..10,0..10] Of byte = вот как можно улучшить ету блин хр... --- и еще если сменить разрешение на 800*600 256 цветов то почемуто до конца экрана его не довести и он в нескольких местах сразу появляется ---- -------------------- Программа делает то что вы ей приказали а не то что бы ВАМ хотелось бы.
МЕРФИ --------------------- RTFM - Read the fucking manual --------------------- http://www.livejournal.com/users/lonley_raven/ |
GLuk |
![]()
Сообщение
#10
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 775 Пол: Мужской Репутация: ![]() ![]() ![]() |
Цитата Самое хорошее то, что эти плоскости используются тока в 16 цветном режиме :D И в ближайшее будущее, больше такой херни не ожидается... :) Когда писал первую прогу для широкого употребления, выбрал mode 13h, но мне сказали, что это несерьезно, следственно оставался только 640х480х16 и пришлось сильно повыпендриваться, чтобы осознать как записать этот проклятый пиксель, а не сразу 8. Инфы на тот момент вообще не было (no inet), учебника Фаронова тоже... Вообще, самое удобное в этом режиме было очищать экран или рисовать прямоугольники... ![]() |
GLuk |
![]()
Сообщение
#11
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 775 Пол: Мужской Репутация: ![]() ![]() ![]() |
Цитата Самое хорошее то, что эти плоскости используются тока в 16 цветном режиме :D И в ближайшее будущее, больше такой херни не ожидается... :) Когда писал первую прогу для широкого употребления, выбрал mode 13h, но мне сказали, что это несерьезно, следственно оставался только 640х480х16 и пришлось сильно повыпендриваться, чтобы осознать как записать этот проклятый пиксель, а не сразу 8. Инфы на тот момент вообще не было (no inet), учебника Фаронова тоже... Вообще, самое удобное в этом режиме было очищать экран или рисовать прямоугольники... ![]() Shadow плюнь ты на это, это нужно только в плане ознакомления... |
Shadow |
![]()
Сообщение
#12
|
![]() Lonely_Raven ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 640 Пол: Мужской Репутация: ![]() ![]() ![]() |
:D хыть тфу
---- но всетаки интересно тем что ето быстро работает -------------------- Программа делает то что вы ей приказали а не то что бы ВАМ хотелось бы.
МЕРФИ --------------------- RTFM - Read the fucking manual --------------------- http://www.livejournal.com/users/lonley_raven/ |
Dark |
![]()
Сообщение
#13
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 408 Пол: Мужской Репутация: ![]() ![]() ![]() |
Ну в общем-то я делал бы это так:... :D
Const color : Array [0..10,0..10] Of byte = Почти чистый ассемблер получился ;D Если чего не ясно - могу пояснить... {только не панимаю, зачем указывать точку вывода через прямое число, а не через x,y... вроде понятнее и юзабельнее ???} -------------------- - Где я?
- Во тьме. - В какой тьме? - Во тьме твоего мозга. |
Shadow |
![]()
Сообщение
#14
|
![]() Lonely_Raven ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 640 Пол: Мужской Репутация: ![]() ![]() ![]() |
Const color : Array [0..10,0..10] Of byte = --------- там где вопросы по подробнее пожалуйста -------------------- Программа делает то что вы ей приказали а не то что бы ВАМ хотелось бы.
МЕРФИ --------------------- RTFM - Read the fucking manual --------------------- http://www.livejournal.com/users/lonley_raven/ |
Dark |
![]()
Сообщение
#15
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 408 Пол: Мужской Репутация: ![]() ![]() ![]() |
Обьясняю так:
Я сохраняю адрес картинки в ds:si, адрес точки куда выводить - es:di mov di,10000 - это то же, что в твоем примере mov bx,10000 т.е. будет выводиться по адресу A000h:10000 (адрес первой точки) Значение сегмента ds сохраняется потому, что если его потом не востановить - будут глюки в паскале (можешь попробовать его закоментировать) Далее собственно у меня цикл типа for i:=0 to 10 do for j:=0 to 10 do команда movsb помещает содержимое ds:[si] в es:[di] и увеличивает si и di на 1. Т.е я фактически помещаю точку из массива color на экран :-) в сх я храню кол-во линий, в dx - колво точек в линии. Рисую я по линиям: @l1: movsb loop @l1 И еще : заметь, у меня команда pop cx loop @l2 уменьшает cx на 1, а далее я это изменение СОХРАНЯЮ! (push cx) add di,309 - адрес следующей строки (320-11) Ну разбирайся... ;D -------------------- - Где я?
- Во тьме. - В какой тьме? - Во тьме твоего мозга. |
Shadow |
![]()
Сообщение
#16
|
![]() Lonely_Raven ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 640 Пол: Мужской Репутация: ![]() ![]() ![]() |
в cx колво байтов
:D моно rep movsb поставить -------------------- Программа делает то что вы ей приказали а не то что бы ВАМ хотелось бы.
МЕРФИ --------------------- RTFM - Read the fucking manual --------------------- http://www.livejournal.com/users/lonley_raven/ |
GLuk |
![]()
Сообщение
#17
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 775 Пол: Мужской Репутация: ![]() ![]() ![]() |
Цитата в cx колво байтов :D моно rep movsb поставить Или rep movsd... :) |
Dark |
![]()
Сообщение
#18
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 408 Пол: Мужской Репутация: ![]() ![]() ![]() |
Вот твой вывод точки в режиме 320*200, а я тебе предлагаю свой, чуть быстрей:
Procedure PixelOut(x,y:Word;c:Byte); можно вот так:
И еще: cmp bx,63999 {conez video buff} неправильно, так как если указан адрес, выходящий за рамки сегмента, то bx=0+то, что за сегментом... а ты сравниваешь РАВЕНСТВО вх и 63999... а надо так: cmp bx,63999 {conez video buff} ;D -------------------- - Где я?
- Во тьме. - В какой тьме? - Во тьме твоего мозга. |
Shadow |
![]()
Сообщение
#19
|
![]() Lonely_Raven ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 640 Пол: Мужской Репутация: ![]() ![]() ![]() |
:D
=-=-= да базара нет все путем =-=-=-= согласен чуть ошибся с флажками с кем не бывает -=-= :-/ -------------------- Программа делает то что вы ей приказали а не то что бы ВАМ хотелось бы.
МЕРФИ --------------------- RTFM - Read the fucking manual --------------------- http://www.livejournal.com/users/lonley_raven/ |
BlackShadow |
![]()
Сообщение
#20
|
Гость ![]() |
Люди у меня такая же проблема!
WinXP мне позволяет получать инфу о VESA и о режимах через INT10h. Но не более. Win98 даёт мне возможность даже установить какой-либо режим. И всё. При попытке вывода изображения... Насколько я разобрался видеопамять у меня делится в совсем уж загадочном порядке : банк по 64кб, в банке по 64 блока (1кб) в блоке по четыре строки (256б), а вот сколько пикселёв в строке зависит от режима. Причём в режиме, где 24 BPP я вообще ничего не понял. Может кто-нибудь объяснить что тут к чему, куда это сувать и как с этим бороться??? |
![]() ![]() |
![]() |
Текстовая версия | 21.07.2025 20:54 |