Board index » delphi » Page switching in VESA modes

Page switching in VESA modes

Well, and just one more question - how do I switch pages in VESA
640x480x256 mode? Pascal's SetActivePage and SetVisualPage don't work
correctly. I know that these procedures can handle just 64k data chunks, so
the maximal mode they can work with is 320x200x256. Is there an unit around
the internet that could do the page switching in higher modes??
I have TP 7.0.
 

Re:Page switching in VESA modes


Quote
Petr Krebs wrote:
> Well, and just one more question - how do I switch pages in VESA
> 640x480x256 mode? Pascal's SetActivePage and SetVisualPage don't work
> correctly. I know that these procedures can handle just 64k data chunks, so
> the maximal mode they can work with is 320x200x256. Is there an unit around
> the internet that could do the page switching in higher modes??
> I have TP 7.0.

Search for grafx2 by Stefan Goehler!

Markus

Re:Page switching in VESA modes


Quote
Petr Krebs <kreb...@seznam.cz> wrote:
> Well, and just one more question - how do I switch pages in VESA
> 640x480x256 mode? Pascal's SetActivePage and SetVisualPage don't work
> correctly. I know that these procedures can handle just 64k data chunks, so

Wrong. They work in 640x480x16, which is 150k. The problem is that the VESA
way of page flipping is not supported. Maybe changing the BGI driver helps,
because it has to implement this functionality. Maybe your graphics card
does not support the needed virtual screen size, see below.

Quote
> the maximal mode they can work with is 320x200x256. Is there an unit around
> the internet that could do the page switching in higher modes??

See the Interrupt List. You can request a VESA 640x960 virtual screen and use
scrolling to do page flipping in VESA. But as stated above, a BGI driver
_should_ be able to handle this.

--
#!/usr/bin/perl -- Random sig generator. Editor command in slrn => ~/siggs
$F=shift;open H,"+<$F";$_=join"",<H>;$s=index$_,"\n\n-- \n";$s<0||truncate
H,$s;close H;system"$ENV{EDITOR} $F</dev/tty>/dev/tty";$s=$n=0;for#sichtig
(<~/siggs/*>){++$n;int rand$n or$s=$_};`(echo "\n\n-- ")|cat - $s>>$F`+nan

Re:Page switching in VESA modes


So where can I obtain the newest BGI drivers. There are thousands of them
around the net, but how do I recognize the right one, uh :-) ?

Rudolf Polzer <adsgoh...@durchnull.de> p1e v?lnku
<va12h9.uqi...@durchnull.de>...

Quote
> Petr Krebs <kreb...@seznam.cz> wrote:
> > Well, and just one more question - how do I switch pages in VESA
> > 640x480x256 mode? Pascal's SetActivePage and SetVisualPage don't work
> > correctly. I know that these procedures can handle just 64k data
chunks, so

> Wrong. They work in 640x480x16, which is 150k. The problem is that the
VESA
> way of page flipping is not supported. Maybe changing the BGI driver
helps,
> because it has to implement this functionality. Maybe your graphics card
> does not support the needed virtual screen size, see below.

> > the maximal mode they can work with is 320x200x256. Is there an unit
around
> > the internet that could do the page switching in higher modes??

> See the Interrupt List. You can request a VESA 640x960 virtual screen and
use
> scrolling to do page flipping in VESA. But as stated above, a BGI driver
> _should_ be able to handle this.

> --
> #!/usr/bin/perl -- Random sig generator. Editor command in slrn =>
~/siggs
> $F=shift;open H,"+<$F";$_=join"",<H>;$s=index$_,"\n\n--
\n";$s<0||truncate
> H,$s;close H;system"$ENV{EDITOR}

$F</dev/tty>/dev/tty";$s=$n=0;for#sichtig

- Show quoted text -

Quote
> (<~/siggs/*>){++$n;int rand$n or$s=$_};`(echo "\n\n-- ")|cat -
$s>>$F`+nan

Re:Page switching in VESA modes


Quote
Petr Krebs wrote:
> So where can I obtain the newest BGI drivers. There are thousands of them
> around the net, but how do I recognize the right one, uh :-) ?

> Rudolf Polzer <adsgoh...@durchnull.de> p1e v lnku
> <va12h9.uqi...@durchnull.de>...

>> Petr Krebs <kreb...@seznam.cz> wrote:

>>> Well, and just one more question - how do I switch pages in VESA
>>> 640x480x256 mode? Pascal's SetActivePage and SetVisualPage don't work
>>> correctly. I know that these procedures can handle just 64k data

> chunks, so

>> Wrong. They work in 640x480x16, which is 150k. The problem is that the

> VESA

>> way of page flipping is not supported. Maybe changing the BGI driver

> helps,

>> because it has to implement this functionality. Maybe your graphics card
>> does not support the needed virtual screen size, see below.

>>> the maximal mode they can work with is 320x200x256. Is there an unit

> around

>>> the internet that could do the page switching in higher modes??

>> See the Interrupt List. You can request a VESA 640x960 virtual screen and

> use

>> scrolling to do page flipping in VESA. But as stated above, a BGI driver
>> _should_ be able to handle this.

>> --
>> #!/usr/bin/perl -- Random sig generator. Editor command in slrn =>

> ~/siggs

>> $F=shift;open H,"+<$F";$_=join"",<H>;$s=index$_,"\n\n--

> \n";$s<0||truncate

>> H,$s;close H;system"$ENV{EDITOR}

> $F</dev/tty>/dev/tty";$s=$n=0;for#sichtig

>> (<~/siggs/*>){++$n;int rand$n or$s=$_};`(echo "\n\n-- ")|cat -

> $s>>$F`+nan

There exist even True Color BGI drivers!
A search on simtel will surely produce some good ones...

Markus

Other Threads