NewsProductsSprinterSupportDownloadSprinter ForumAbout usLinksSite map Russian site

Russian
   >> Общие вопросы
Thread views: 445 View all threadsNext thread*Threaded Mode

Pages in this thread: 1 | 2 | 3 | 4 | (show all)
cr0acker
(stranger )
2002/06/21 12:12
Re: Sprint!!! new [re: Shaos]Reply to this post

рПД ДПУ РЙЫЙ УДЕМБК ДЧЕ РТПГЕДХТЩ fliptoscreen(adr) fliptomem(adr) ЙРЙЫ Ч НБРСФШ Б РПФПН ЧУЈ ЧМЙФПУЛТЙОПН ЛБДЩК РТПИПД МХЮБ ЧЩЛЙДЩЧБК ОБ ЬЛТБО! уБН РПНПЗП ФПМШЛП ОБ г ОЕ РЙЫХ! оП ДМС ЧБФЛПНБ ВЩМП НОПЗП ВЙВМЙПФЕЛ ЗТБЖЙЮЕУЛЙИ!



Shaos
(member)
2002/06/21 12:23
Re: Sprint!!! new [re: cr0acker]Reply to this post

> Под дос пиши сделай две процедуры fliptoscreen(adr)
> fliptomem(adr) ипиш в мапять а потом всё
> влитоскрином кадый проход луча выкидывай на экран!
> Сам помого только на Ц не пишу! Но для ваткома было
> много библиотек графических!

С библиотеками под WATCOM скорее всего будут проблемы, чаще всего они закрытые (в формате lib), а в моем проекте необходимо оставаться в рамках лицензии GNU GPL, которая требует, чтобы весь код имел исходники под анаогичной лицензией.

Скорее всего придется непосредственно разбираться с режимом 640x480X256, и, если тебе не трудно, напиши как устроена память в таком режиме в стандарте VESA.


Alexander Shabarshin (shaos@mail.ru)

cr0acker
(stranger )
2002/06/21 20:33
Re: Sprint!!! new [re: Shaos]Reply to this post

Исходники пока нашел только паскалевские ассеблерные поишу. Нашел очень хоршую доку по веса стандартам! Такж нашел способ создания фрамебуфера который испоьзуются для работы с графика без ождания ретрайсав отличи от вывода графики вваткоме! Если я тебе скажи как его делать ты расмеюшься и у тебя может начатся истереки а может и нет))))))))) Вот цитата из доки:
1. Map the physical memory address to a linear memory address (using DPMI function
0x800 for example).
2. Find the base address of the default DS selector for your operating environment.
3. Subtract the base address from the linear address computed in step 1 to give you a
near pointer (relative to DS) that you can use from within your code.



cr0acker
(stranger )
2002/06/21 20:45
Re: Sprint!!! new [re: cr0acker]Reply to this post

Вот тебе две процедуры!
PROCEDURE Init_VW(var VWPage:VirtualWindow;Breite,Hoehe:LongInt;Clear:Boolean);
Begin
VWPage.Segment := Get_DS;
VWPage.Size := Breite * Hoehe shl 1;
VWPage.Breite := Breite;
VWPage.BreiteMinus1:= Breite-1;
VWPage.BreiteDiv2 := Breite shr 1;
VWPage.BreiteMod2 := Breite mod 2;
VWPage.ByteBreite := Breite shl 1;
VWPage.Hoehe := Hoehe;
VWPage.HoeheMinus1 := Hoehe-1;
VWPage.HoeheDiv2 := Hoehe shr 1;
Getmem(Pointer(VWPage.VWOffset),VWPage.Size);
EnoughMemoryOf(Pointer(VWPage.VWOffset),VWPage.Size);
If Clear then ClrPackedSprite(VWPage,0);
End;
Прцедура создаёт окно с именем! размером! Размер не может меньше размера физического экрана! Последний парамет тру и фалсе! Если труе то мы ждем ретрайса при выводе на экран если фалсе то нет!

PROCEDURE Kill_VW(VWPage:VirtualWindow);
Begin
Freemem(Pointer(VWPage.VWOffset),VWPage.Size);
End;
Процедура убивает экран!
ROCEDURE Flip_SVGA(Source:VirtualWindow);
Begin
If VESAMODEINFO.LFB_Supported then Flip_VW(Source,VGA) else
begin
Loop2:= Source.VWOffset; // Falls kein LFB Support springt
// diese bank-switching routine ein.
For Loop1:= 0 to VESAMODEINFO.Banks do
Asm
Mov eax,4F05h
Xor ebx,ebx
Mov edx,Loop1
Int 10h

Push es
Mov es,VGA.Segment
Xor edi,edi
Mov esi,Loop2
Mov eax,VESAMODEINFO.BSize
Add Loop2,eax
Mov ecx,eax
Shr ecx,2
REP MOVSD
Pop es
end;

end;
End;
Процедура выводит виртуальный жкран на реальный)))))))) Это всё будет рабоатать только с ЛФБ!



Anton Enin
(newbie)
2002/06/29 08:41
Re: Sprint!!! new [re: cr0acker]Reply to this post

Господа, не надо идти в тупиковом направлении... Забудте про ms-dos и про весу, как о страшном сне!!!!
Если переделывать эмуль, так под win32 и DirectX... если желаете я тоже свои src на x86 асме могу кинуть под DirectX, я тоже когда-то их писал... авось сгодятся... :)



Shaos
(member)
2002/06/29 11:05
Re: Sprint!!! new [re: Anton Enin]Reply to this post

Мы выбираем SDL :)

Alexander Shabarshin (shaos@mail.ru)

Anton Enin
(newbie)
2002/06/29 19:29
Re: Sprint!!! new [re: Shaos]Reply to this post

я рад... :) правильный выбор...



Anonymous
(Unregistered)
2002/07/04 20:52
Re: Sprint!!! new [re: Shaos]Reply to this post

А зря!
Говорю как знающий програмер.... Когда в Досе или Линухе неделю пишешь приличный диалог открытия файлв и видишь, как за соседней машиной его за 1 минуту мышаком рисуют, задумываешься о многом....

Писать эмуль imho надо именно под DirectX. Хотя у меня и есть человеческие pascal(BP for Dos) модули для работы с графикой (8/16 bit 640/480-1024/762)).
С Уважением Сергей.



Shaos
(member)
2002/07/05 12:42
Re: Sprint!!! new [re: Anonymous]Reply to this post

> Писать эмуль imho надо именно под DirectX
К сожалению DirectX отсутствует в линухе :(
К тому же у меня нет никакого желания привязывать себя к одной программно-аппаратной платформе

Alexander Shabarshin (shaos@mail.ru)

Anonymous
(Unregistered)
2002/07/05 19:35
Re: Sprint!!! new [re: Shaos]Reply to this post

Дался тебе этот линух.....
Вон NT то-же мультиплатформенная, и direct на нем есть. А на счет привязки .... Сколько в мире копий мастдая, а сколько никс-ов.... разница на четыре порядка.. Прога может получить распостранение, только если ее могут использовать МАКСИМАЛЬНОЕ число юзверей...




Pages in this thread: 1 | 2 | 3 | 4 | (show all)
View all threadsNext thread*Threaded Mode
Jump to