поробуй watcom C++ там с LFB точно проблем нет стаб уже в протекте юзаешь сразу через DPMI функции VESA одно но система должна поддерживать VBE если небудет ищи драйвер vbe....exe щас невспомню но поискать могу если надо
dos4gw, по крайней мере его бесплатная версия своп делать не умеет. Но 1гб физической памяти под досом выделит без проблем, ежели таковая имеется. а под виндами x64 оно не пашет (((( облом... :'-( хотя надо новые версии посмотреть - чем черт не шутит... а то у меня еще 11.0
Aloner Можно сделать так (у меня именно эта схема и пока она меня устраивает). Для компиляции в *.obj используешь TASM от Borland (а вернее, надо взять где-то здесь лежащий немного доведенный до ума как раз для 32-bit flat mode). Для получения *.exe используешь WLINK от Watcom. В качестве DOS-расширителя (чтобы работал без геморроя int 21h и прочие) рекомендую использовать DOS32/A и навсегда забыть о поделках навроде rtmres.exe. Теперь по шагам - как это делается у меня. 1. Компилируем исходник. На выходе *.obj: tasm /l /t /m /ml /zi /p ikpuk.asm 2. Получаем *.exe. На этом этапе формат у него не DOS, а OS/2 (так удобнее расширителю) wlink form os2 le op m op c f ikpuk.obj n ikpuk.exe 3. Теперь нам надо а) встроить DOS-расширитель в получившееся хозяйство, так, чтобы расширитель первым получал управление, переводил проц в защищенный 32-битный режим и только потом передавал управление нашей программе; и б) преобразовать *.exe в удобоваримый формат, подходящий как для DOS, так и для DOS-окна в Windows. Это все делается одной утилитой из набора, прилагаемого к расширителю DOS32/A: sc /B /Q ikpuk.exe (для выполнения нужной нам функции в одном каталоге с этой утилитой необходимо поместить еще dos32a.exe и sb.exe из того же набора) Все готово. Первые же команды нашей программы уже выполняются в защищенном режиме, с наличием интерфейса DPMI (либо от ОС, либо от самого DOS32/A), а также некоторые функции int'ов уже транслируются расширителем напрямую, т.е. для их вызова нет необходимости в функции 0300h прерывания int 31h и прочем геморрое. Какие конкретно функции и прерывания транслируются, а какие нет - в документации на DOS32/A на его офсайте.
Ykidia Спасибо за хорошее, детальное описание!!! Буду пробовать. Если понравится работать под расширителем - переведу свой 3D Engine на DPMI.
Ты точно тот wlink используеш? Там для разных host OS разные линкеры есть. В папке BINW - для DOS, Win9x; в BINNT - для Win2k и выше. Как для OS/2 называется не знаю, не ставил. Это всё при условии что во время установки были выбраны галочками нужные host OS.
Раньше использовал wlink.exe для DOS, потом почему-то сменил на wlink.exe+wlink.dll (вроде скачал весь комплект с open watcom, установил и вытащил оттуда эти 2 файла) для WIN, работает и на W2k3 Server, и на W2k, и на WXP.
Попалось небольшое обсужение по теме: http://forum.sources.ru/index.php?showtopic=50471 Думаю будет интересно с ИСТОРИЧЕСКОй точки зрения. К тому же там дается ссылочка на редкий документ по VBE/AF ( http://www.filesearch.ru/cgi-bin/s?q=vbeaf&t=f&d=&x=0&y=0 ) Код (Text): VESA BIOS Extension/Accelerator Functions (VBE/AF) Version: 1.0P Document Revision: .12P впоследствии "выпавший" или "выделившийся" ? из стандарта VESA. Автор этого документа - Kendall Bennett, разработчик UniVESA/UniVBE/SDD/Snap. SNAP SDK, кстати тоже интересная вещица - http://www.scitechsoft.com/ftp/devel/
Кто-нибудь может сказать, lfb появилась в vb2 или vbe3? В vbe3 написано что если в системе более одно контроллера то его можно задействовать только через "VBE/AF Accelerator Functions specification". Интересно какой был смысл в непринятии этой спецификации, её обновления и по сей день и ссылки на нее из принятого стандарта если она вроде как непринята... Кто-нибудь занимался несколькими видео контроллерами?
http://www.osp.ru/pcworld/1998/08/159480/ http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/video/miniport/vbe/ ищу VBE/DDC спецификацию, надо узнавать какое разрешение поддерживает монитор, но пока что-то я её не нашел...
NoName LFB появиля в VBE2. Смотри стандарт Я нет. Но думаю там первый контроллер берет на сабя задачу совместимости. Стандарты на VESA.org доступны только регется надо. Раньше в свободном доступе были. DDC он же EDID На ftp выложил все что у меня по VESA есть. А да для работы с FTP нужна поддержка протокол IPv6. :P ftp://[2001:0:d5c7:a2d6:18ad:3939:c173:2f7]/
Это не обязательно. Есть тунели IPv4 IPv6 в висте подефолту через MS сервер кидают. Можно еще через интеловский настроить. В XP драйвер ставить.