mantech 53 21 февраля, 2014 Опубликовано 21 февраля, 2014 · Жалоба Приветствую. Собственно встал вопрос, как правильно работать с весовскими режимами(0х112, 0х115 и 0х118) под чистым досом? Пользуюсь watcom C под98й виндой (в ХР он не работает), работают все 256и цветные режимы, на остальных пишет неверный видеоконтроллер. Сначала думал, что эти режимы просто не работают, но в инете нашел прогу VESA16M, в которой все прекрасно работает. Ответ - сам дурак! Может у кого есть какие-нить исходники под это дело? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
garlands 0 21 февраля, 2014 Опубликовано 21 февраля, 2014 · Жалоба странно. гугл выдает на первом месте: http://sources.codenet.ru/download/1062/VESA16M.html Только не надо говорить, что там асм+кубасик, а надо на си. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 53 21 февраля, 2014 Опубликовано 21 февраля, 2014 (изменено) · Жалоба странно. гугл выдает на первом месте: http://sources.codenet.ru/download/1062/VESA16M.html Только не надо говорить, что там асм+кубасик, а надо на си. Да мне все-равно на чем - лишь бы исходники были рабочие и работали c PM(dos4gw). ЗЫ. И там по этой ссылке только готовый бинарник - исходников нет. Изменено 21 февраля, 2014 пользователем mantech Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_pv 79 21 февраля, 2014 Опубликовано 21 февраля, 2014 · Жалоба а для чего? правда очень интересно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Pavia 0 22 февраля, 2014 Опубликовано 22 февраля, 2014 · Жалоба Тоже интересно для чего? Ведь гораздо проще писать под виндоус. как правильно работать с весовскими режимами(0х112, 0х115 и 0х118) под чистым досом? Сразу не правильно. Забудьте нет фиксированных режимов. Режимы надо перебирать и искать подходящий. чистым досом? Пользуюсь watcom C под98й виндой Вы уж определитесь win98 или чистый DOS. Просто под VDM будет чуть по сложнее. dos4gw с этой штукой почти не работал не помню, что к чему. http://www.tenberry.com/dos4g/faq/video.html Обращаю внимание что для работы с VESA в dos4gw нужно вызывать функции через DPMI. Если под чистый DOS читай VESA спецификацию. Есть статьи их куча к примеру вот. http://www.osp.ru/pcworld/1998/07/159374 А теперь про сложности. 1. Графическую библиотеку надо будет создавать или портировать. 2. Баги в железе. Не удобно работать с банковым режимом, лучше работать с линейным буфером. Нужно будет отобразить, а это зависит от DPMI и dos4gw реализации. Тут свои тараканы так как под дос одна реализация DPMI под виндоус другой. По поводу портирования я бы остановился на AGG хотя тут надо смотреть может что по лучше по проще есть. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 53 22 февраля, 2014 Опубликовано 22 февраля, 2014 · Жалоба Тоже интересно для чего? Ведь гораздо проще писать под виндоус. Ребят, я конечно это понимаю Почему? Всеочень просто, пишу программу для промавтоматики, работающей в режиме 24х7 без участия оператора. Сейчас все работает под винду ХР и 7. С самой программой и подключенными к ней контроллерами проблем нет,а вот винда.... Постоянно что-то с ней не так, то экран внезапно "засыпает", хотя все настройки сделаны в режим "никогда", то отваливается усб порт, иногда просто перезагруз или вдруг трей вылезет поверх программы, ну и напоследок - включение-отключение компа - раз 20-30 все проходит на ура, а потом либо не выключится или при включении запускается безопасный режим... вобщем достала меня эта винда! Вы уж определитесь win98 или чистый DOS. Просто под VDM будет чуть по сложнее. А чего тут неопределенного? Программа под чистый дос, а иде у ваткома под дос нет, поэтому работаю из 98й винды :laughing: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_pv 79 22 февраля, 2014 Опубликовано 22 февраля, 2014 · Жалоба была библиотека allegro, что-то вроде SDL, старые версии поддерживали DOS. что-то умела с графикой, гляньте, может поможет. но имхо Linux, *BSD и даже QNX, а то и вообще странные варианты вроде reactOS или haiku. даже при отсутствии вообще каких-либо знаний об этих ОС, выглядят куда более адекватно чем попытка сделать графику под DOS. да и описанные проблемы под windows выглядят странно, и вполне решаемо. на решения beckhoff с их twincat посмотрите, вполне под windows живут и ничего, даже с каким-то realtime. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sasamy 0 23 февраля, 2014 Опубликовано 23 февраля, 2014 · Жалоба Всеочень просто, пишу программу для промавтоматики Программа под чистый дос, а иде у ваткома под дос нет, поэтому работаю из 98й винды .... А чего тут неопределенного? Вы для музея чтоли пишете :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 53 23 февраля, 2014 Опубликовано 23 февраля, 2014 (изменено) · Жалоба на решения beckhoff с их twincat посмотрите, вполне под windows живут и ничего, даже с каким-то realtime. Я не спорю, может и живут, только там скорее всего винда очень урезана и допилена, как например для mach 3 было в свое время. Только мне это не подходит - пользователи аппаратов в случае повреждения винды или диска не смогут сами так все доработать. Мое видение таково - чем проще система - тем стабильнее работа! Согласитесь, куда прощеформатануть флеху, скопировать туда прогу плюс каталог с картинками, вставить в плату промкомпа и включить! Что тут можно испортить? ;) Изменено 23 февраля, 2014 пользователем mantech Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
fowler 0 23 февраля, 2014 Опубликовано 23 февраля, 2014 · Жалоба Была такая контора SciTech, делала SVGAKIT - эту библиотеку использовало множество разработчиков досовых игр. В принципе, там только инициализация видеорежима и эмуляция части функций VESA BIOS для старых карт, которые этих функций не имеют. У меня есть сам SDK и демы к нему, к сообщению прикрепил лишь инсталлятор от SciTech с исходниками, остальное не влезло. SVSRC60.ZIP Что касается Watcom, до того, как он стал open-source - у него была IDE под Дос. И замените сам DOS4GW - уж больно он большой. Я использовал "ZRDX by Sergey Belyakov". SVSRC60.ZIP Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 53 23 февраля, 2014 Опубликовано 23 февраля, 2014 · Жалоба У меня есть сам SDK и демы к нему, к сообщению прикрепил лишь инсталлятор от SciTech с исходниками, остальное не влезло. Спасибо, посмотрю обязательно. А если еще скините хоть один-два рабочих примера - буду очень признателен. ЗЫ. Режим вроде запустил, единственное - работа через int 10h уж очень медленно... И замените сам DOS4GW - уж больно он большой. А чем это грозит в защищенном режиме? Просто этот экстендер уже проверен десятилетиями ;) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
fowler 0 23 февраля, 2014 Опубликовано 23 февраля, 2014 · Жалоба Если будете рисовать через БИОС - и должно быть жутко медленно. Вам проще использовать любой 256-цветный палитровый режим (1 байт на точку). Устанавливаете требуемый режим (он должен иметь поддержку линейного режима - там бит где-то об этом говорит). Далее отображаете область памяти видеоадаптера на память вашего процесса средствами дос-экстендера (в защищенном режиме). И потом устанавливаете значение пиксела (Х,У) по адресу (byte*)base_addr+Y*stride+X, где stride - количество байтов в одной строке, а base_addr - указатель на начало области памяти (видеоадаптера...). Палитру либо загружаете через порты, либо средствами БИОС. Как-то так, за давностью лет все уже смутно помнится. Что касается экстендера - дело ваше. Наверное, у вас нет проблем с размером ПО. ZRDX, насколько я помню, не обеспечивал полной совместимости с ДОС4ГВ. Просто он раз в 10 меньше. Плюс я в него еще пихал некоторые свои функции. В приложении - демы от SciTech SVGAKIT. SVDEM60.ZIP Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 53 23 февраля, 2014 Опубликовано 23 февраля, 2014 (изменено) · Жалоба Вам проще использовать любой 256-цветный палитровый режим (1 байт на точку). Дак вот в том-то и дело, что 256 не подходит - заказчику нужно полноцветные PNG картинки, с самим форматом проблем нет особых, а вот с видеокартой, совсем другое. Та скорость, с которой отрисовывается через int 10h - 2 сек кадр - тут никуда не годится. :crying: Причем я бы понял, еслиб это был какой-нить 486 проц, а тут все-таки pentium M-1,5 ГГц ! Изменено 23 февраля, 2014 пользователем mantech Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
fowler 0 23 февраля, 2014 Опубликовано 23 февраля, 2014 · Жалоба Любой HiColor или TrueColor режим. При линейном доступе разница лишь в адресации. Адрес пиксела задается как (byte*)base_addr+Y*stride+X*byteperpix, где byteperpix - количество байт на один пиксел. TrueColor в использовании проще, да и цветов больше (по байту на каждый цвет). И если вы полностью формируете новый кадр заново, разумнее строить его в оперативной памяти и уже потом копировать его в видеопамять блочными операциями (двойными словами, выровненными по границе двойного слова). Если работаете со спрайтами, пишите простенькую процедуру на асме, которая вначале равняет адрес назначения до границы двойного слова (копирует байтами), потом основной блок двойными словами и остаток снова байтами... Есть еще всякие средства ускорения типа VBE/AF, но вам это не нужно. Сложности добавит, а на результате не особо скажется. В общем, если откажетесь от работы через БИОС - раз в 20 как минимум быстрее будет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 53 24 февраля, 2014 Опубликовано 24 февраля, 2014 · Жалоба В общем, если откажетесь от работы через БИОС - раз в 20 как минимум быстрее будет. Видимо так и нужно. Посмотрел демки, там почти всепод старую винду, но есть одна под дос, и там как раз то, что нужно - работа с 16м цветов через linear frame buffer по времени укладывается в задачу. Будем копать в эту сторону B) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться