Rocksolid Light

Welcome to novaBBS (click a section below)

mail  files  register  newsreader  groups  login

Message-ID:  

Reserve your abuse for your true friends. -- Larry Wall in <199712041852.KAA19364@wall.org>


devel / alt.lang.asm / Re: Testing all video mode - but which ones are graphics ?

SubjectAuthor
* Testing all video mode - but which ones are graphics ?R.Wieser
+* Re: Testing all video mode - but which ones are graphics ?Paul Edwards
|`- Re: Testing all video mode - but which ones are graphics ?R.Wieser
+* Re: Testing all video mode - but which ones are graphics ?wolfgang kern
|`* Re: Testing all video mode - but which ones are graphics ?R.Wieser
| `* Re: Testing all video mode - but which ones are graphics ?wolfgang kern
|  `* Re: Testing all video mode - but which ones are graphics ?R.Wieser
|   `* Re: Testing all video mode - but which ones are graphics ?wolfgang kern
|    `- Re: Testing all video mode - but which ones are graphics ?R.Wieser
`* Re: Testing all video mode - but which ones are graphics ?R.Wieser
 `* Re: Testing all video mode - but which ones are graphics ?wolfgang kern
  `* Re: Testing all video mode - but which ones are graphics ?R.Wieser
   `* Re: Testing all video mode - but which ones are graphics ?wolfgang kern
    `* Re: Testing all video mode - but which ones are graphics ?R.Wieser
     `* Re: Testing all video mode - but which ones are graphics ?wolfgang kern
      +* Re: Testing all video mode - but which ones are graphics ?R.Wieser
      |`* Re: Testing all video mode - but which ones are graphics ?wolfgang kern
      | `* Re: Testing all video mode - but which ones are graphics ?R.Wieser
      |  `- Re: Testing all video mode - but which ones are graphics ?wolfgang kern
      `* Re: Testing all video mode - but which ones are graphics ?R.Wieser
       `* Re: Testing all video mode - but which ones are graphics ?wolfgang kern
        `* Re: Testing all video mode - but which ones are graphics ?R.Wieser
         `* Re: Testing all video mode - but which ones are graphics ?wolfgang kern
          `* Re: Testing all video mode - but which ones are graphics ?R.Wieser
           `* Re: Testing all video mode - but which ones are graphics ?wolfgang kern
            `* Re: Testing all video mode - but which ones are graphics ?R.Wieser
             `* Re: Testing all video mode - but which ones are graphics ?wolfgang kern
              `* Re: Testing all video mode - but which ones are graphics ?R.Wieser
               +- Re: Testing all video mode - but which ones are graphics ?R.Wieser
               `* Re: Testing all video mode - but which ones are graphics ?wolfgang kern
                `* Re: Testing all video mode - but which ones are graphics ?R.Wieser
                 `* Re: Testing all video mode - but which ones are graphics ?wolfgang kern
                  `* Re: Testing all video mode - but which ones are graphics ?R.Wieser
                   +* Re: Testing all video mode - but which ones are graphics ?wolfgang kern
                   |`* Re: Testing all video mode - but which ones are graphics ?R.Wieser
                   | `- Re: Testing all video mode - but which ones are graphics ?wolfgang kern
                   `* Re: Testing all video mode - but which ones are graphics ?R.Wieser
                    `* Re: Testing all video mode - but which ones are graphics ?wolfgang kern
                     `* Re: Testing all video mode - but which ones are graphics ?R.Wieser
                      `- Re: Testing all video mode - but which ones are graphics ?wolfgang kern

Pages:12
Testing all video mode - but which ones are graphics ?

<uqkr4r$39ek9$2@dont-email.me>

 copy mid

https://www.novabbs.com/devel/article-flat.php?id=466&group=alt.lang.asm#466

 copy link   Newsgroups: alt.lang.asm
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: addr...@is.invalid (R.Wieser)
Newsgroups: alt.lang.asm
Subject: Testing all video mode - but which ones are graphics ?
Date: Thu, 15 Feb 2024 12:04:28 +0100
Organization: A noiseless patient Spider
Lines: 48
Message-ID: <uqkr4r$39ek9$2@dont-email.me>
Injection-Date: Thu, 15 Feb 2024 11:04:59 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="839a28f7c5491a2332b90636e30e3eb4";
logging-data="3455625"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX191SUBQcnsoxP5qSIudiv9CvaCvFOpbHko81AmMd7Ejig=="
Cancel-Lock: sha1:x84DMF0gSaHmcuvveHTJyo0j3tA=
X-RFC2646: Format=Flowed; Original
X-MSMail-Priority: Normal
X-Priority: 3
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5512
X-Newsreader: Microsoft Outlook Express 6.00.2900.5512
 by: R.Wieser - Thu, 15 Feb 2024 11:04 UTC

Hello all,

I've got a small program going thru all video-modi by looping AL from 80
upto FF, calling INT 10, AH=00.

I would like to find out which of those modi are graphical. Ralf Browns
memory list shows 0040:0065 to hold some bits regarding the current video
mode. In my case the lower two bits are of interrest

Mode 03, text, shows the value 01. Alas, mode 0D, graphics, also shows 01.
In fact, only modi 4 thru 6 show a 02 there, and modi 0 and 01 show a 00.
Al others show 01.

And I'm pretty sure there are few other graphics modi above mode 06 ...

tl;dr:
How do I find out if a certain mode is graphics ?

Secondary question : if the lower two bits of 0040:0065 are *not* the
current video-modes graphics and textmode capablities, what do they signify
instead ?

## Bummer.

It turns out that selecting at least one video modus causes, on return to
it, my XP desktop to go black, with only the mouse visible & working. Than
after a few seconds the 'puter reboots.

In some other video modi enabeling the mouse causes an NTVDM illegal
instruction error.

Yet other video modi just display a black screen, which accepts neither text
output nor pixel plotting.

On short : even when INT 10h, AH=0Fh returns a selected video modus as
accepted, there is still a chance it won't work (and thats besides the -
expected - "out of range" and "no video signal" ones). :-(

Revised question:
How do I find all INT 10h, ah=00h video modi that wil actually work on my
(XP) 'puter ? (My "is it a graphical mode?" has become secondary).

Regards,
Rudy Wieser

Re: Testing all video mode - but which ones are graphics ?

<uql3pt$3arit$2@dont-email.me>

 copy mid

https://www.novabbs.com/devel/article-flat.php?id=467&group=alt.lang.asm#467

 copy link   Newsgroups: alt.lang.asm
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: mutazi...@gmail.com (Paul Edwards)
Newsgroups: alt.lang.asm
Subject: Re: Testing all video mode - but which ones are graphics ?
Date: Thu, 15 Feb 2024 21:32:44 +0800
Organization: A noiseless patient Spider
Lines: 20
Message-ID: <uql3pt$3arit$2@dont-email.me>
References: <uqkr4r$39ek9$2@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=windows-1252; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Thu, 15 Feb 2024 13:32:45 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="72a1f3f0f8d76e7abf7981b6152d5087";
logging-data="3501661"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+92g0aZTcB1nh11QcCbdWY0Qah7gelSHU="
User-Agent: Mozilla/5.0 (OS/2; Warp 4.5; rv:45.0) Gecko/20100101
Thunderbird/45.8.0
Cancel-Lock: sha1:q8Mjly2e0wDAjhinoTnvaXB0Fsc=
In-Reply-To: <uqkr4r$39ek9$2@dont-email.me>
 by: Paul Edwards - Thu, 15 Feb 2024 13:32 UTC

On 15/02/24 19:04, R.Wieser wrote:

> It turns out that selecting at least one video modus causes, on return to
> it, my XP desktop to go black, with only the mouse visible & working. Than
> after a few seconds the 'puter reboots.
>
> Revised question:
> How do I find all INT 10h, ah=00h video modi that wil actually work on my
> (XP) 'puter ? (My "is it a graphical mode?" has become secondary).

Do you mean XT?

Or are you talking about running MSDOS apps under Windows XP?

I don't know the answer to your question - but
someone who does know the answer may not answer
because they are confused about the environment.

BFN. Paul.

Re: Testing all video mode - but which ones are graphics ?

<uql79q$3bgns$1@dont-email.me>

 copy mid

https://www.novabbs.com/devel/article-flat.php?id=468&group=alt.lang.asm#468

 copy link   Newsgroups: alt.lang.asm
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: nowh...@never.at (wolfgang kern)
Newsgroups: alt.lang.asm
Subject: Re: Testing all video mode - but which ones are graphics ?
Date: Thu, 15 Feb 2024 15:32:24 +0100
Organization: A noiseless patient Spider
Lines: 90
Message-ID: <uql79q$3bgns$1@dont-email.me>
References: <uqkr4r$39ek9$2@dont-email.me>
Reply-To: nowhere@never.at
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Thu, 15 Feb 2024 14:32:26 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="a387abd216c3166b7606019cfe1fdf12";
logging-data="3523324"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/qUIIZS6F0eFklctctDbkPH7YPn63jNrk="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:ukxfh0WsMY4IXVQa0aHf1KMP6KU=
Content-Language: en-US
In-Reply-To: <uqkr4r$39ek9$2@dont-email.me>
 by: wolfgang kern - Thu, 15 Feb 2024 14:32 UTC

On 15/02/2024 12:04, R.Wieser wrote:

hello Rudy,

> I've got a small program going thru all video-modi by looping AL from 80
> upto FF, calling INT 10, AH=00.
....
> And I'm pretty sure there are few other graphics modi above mode 06 ...

> How do I find out if a certain mode is graphics ?
> Revised question:
> How do I find all INT 10h, ah=00h video modi that wil actually work
on > my (XP) 'puter ? (My "is it a graphical mode?" has become secondary).

VESA support is found within:

details are also reported in RBIL 104f00,104f01,014f02

(may need a few 66h override or split instructions)
(and I use some variables as code parts already)
push es
push ds
push 0x8400 ;buffer for returned data
pop es
xor di,di
mov ax,0x4f00
int 0x10
cmp ax,0x004f
jz vesa_ok
:no_vesa
...err-msg
pop/pop/ret
vesa_ok:
lds:si,[es:di+0x0e] ;ds:si points to mode list
mov ax,[es:di+0x12] ;
sll eax,16 ;mov ax to top and clear bottom
mov [cs:xxx+0x0c],eax ;current mode number
movzx eax,word[es:di+0x08] ;
movzx ecx,word[es:di+0x06] ;
sll eax,4
add eax,ecx
mov [cs:xxx+0x04],eax ;linear start address
.... ;I get&store vesa version here.
;---
push 0x8420 ;buffer for modelist
pop es
xor di,di
CHECKLOOP:
mov cx,[si] ;
add si.0x02
cmp cx,0xffff ;end mark
jz pop_ret ;all done
mov ax.0x4f01
int 0x10 ;get info for mode number in cx
cmp ax,0x004f
jz error_ret
mov al,[es:di] :mode type (see below)

;store cx in text or graphic list but loop until endmark

---copied from RBIL---
Bitfields for VESA SuperVGA mode attributes:
Bit(s) Description (Table 00080)
0 mode supported by present hardware configuration
1 optional information available (must be =1 for VBE v1.2+)
2 BIOS output supported
3 set if color, clear if monochrome
4 set if graphics mode, clear if text mode *******
---VBE v2.0+ ---
5 mode is not VGA-compatible
6 bank-switched mode not supported
7 linear framebuffer mode supported
8 double-scan mode available (e.g. 320x200 and 320x240)
---VBE v3.0 ---
9 interlaced mode available
10 hardware supports triple buffering
11 hardware supports stereoscopic display
12 dual display start address support
13-15 reserved
---
The INT0x10_AH00 method isn't meant to be looped with all values,
so some may just lock up while others could damage (old) monitors.
And several numbers can represent both text and graphic modes.
many different modes are assigned to the same number by vendors.
So there is no way to tell which is what by using INT10_00.

there once were a list of available modes in the graphic card's BIOS.
__
wolfgang

Re: Testing all video mode - but which ones are graphics ?

<uql7n7$3bimk$1@dont-email.me>

 copy mid

https://www.novabbs.com/devel/article-flat.php?id=469&group=alt.lang.asm#469

 copy link   Newsgroups: alt.lang.asm
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: addr...@is.invalid (R.Wieser)
Newsgroups: alt.lang.asm
Subject: Re: Testing all video mode - but which ones are graphics ?
Date: Thu, 15 Feb 2024 15:39:11 +0100
Organization: A noiseless patient Spider
Lines: 20
Message-ID: <uql7n7$3bimk$1@dont-email.me>
References: <uqkr4r$39ek9$2@dont-email.me> <uql3pt$3arit$2@dont-email.me>
Injection-Date: Thu, 15 Feb 2024 14:39:35 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="839a28f7c5491a2332b90636e30e3eb4";
logging-data="3525332"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+vwpCPiHh3SpSwz04XHtW5XuY1Kkki25WMIgQa+fBqXg=="
Cancel-Lock: sha1:MMt5v6AHPEn+FB183B+GqtQQ028=
X-Priority: 3
X-Newsreader: Microsoft Outlook Express 6.00.2900.5512
X-RFC2646: Format=Flowed; Response
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5512
X-MSMail-Priority: Normal
 by: R.Wieser - Thu, 15 Feb 2024 14:39 UTC

Paul,

> Do you mean XT?

Nope. Do those motherboards still exist ? :-)

> Or are you talking about running MSDOS apps under Windows XP?

Yep.

> but someone who does know the answer may not answer
> because they are confused about the environment.

The full info in that regard is : Windows XPsp3 cmd.exe console in 80x25
full-screen mode.

Regards,
Rudy Wieser

Re: Testing all video mode - but which ones are graphics ?

<uqlpaa$3es8u$1@dont-email.me>

 copy mid

https://www.novabbs.com/devel/article-flat.php?id=470&group=alt.lang.asm#470

 copy link   Newsgroups: alt.lang.asm
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: addr...@is.invalid (R.Wieser)
Newsgroups: alt.lang.asm
Subject: Re: Testing all video mode - but which ones are graphics ?
Date: Thu, 15 Feb 2024 20:39:38 +0100
Organization: A noiseless patient Spider
Lines: 62
Message-ID: <uqlpaa$3es8u$1@dont-email.me>
References: <uqkr4r$39ek9$2@dont-email.me> <uql79q$3bgns$1@dont-email.me>
Injection-Date: Thu, 15 Feb 2024 19:39:54 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="839a28f7c5491a2332b90636e30e3eb4";
logging-data="3633438"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18FrWyJyXimLL5EIurNBvpF+3xneLNwxrk/ydL90qlpjw=="
Cancel-Lock: sha1:jtI4gYgihB8m7qWnPsXRBbk0Ank=
X-Priority: 3
X-MSMail-Priority: Normal
X-RFC2646: Format=Flowed; Original
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5512
X-Newsreader: Microsoft Outlook Express 6.00.2900.5512
 by: R.Wieser - Thu, 15 Feb 2024 19:39 UTC

wolfgang,

>> I've got a small program going thru all video-modi by looping AL from 80
>> upto FF, calling INT 10, AH=00.

> The INT0x10_AH00 method isn't meant to be looped with all values,
> so some may just lock up

Which is indeed is a problem I already ran into. In several different ways.

> while others could damage (old) monitors.

I read about that, but thought that their limited resolutions would mean
they where thrown out long ago (as in, last century). But with the absense
of a "tell me if <number> video mode is supported" system call I saw no
other possibilities.

> VESA support is found within:

:-) You're talking about possible damage to ancient monitors (connected to
EGA, MCGA or even older videocards), and than you're presenting a bit of
code thats ment for VESA ? :-p

> details are also reported in RBIL 104f00,104f01,014f02

I've got Ralf Browns interrupt list (since forever) on my 'puter, so I'm
sure to take a peek.

And thanks for the code, I'm going to take a look at it.

<some time passes>

I see you used a few "magic numbers" :

> push 0x8400 ;buffer for returned data
> push 0x8420 ;buffer for modelist

> mov [cs:xxx+0x0c],eax ;current mode number
> mov [cs:xxx+0x04],eax ;linear start address

Also, for the "xxx+0x0c" one, why storing 4 bytes when the low two are
always zero ?

furthermore, int 0x10, AX=0x4F00, offset 0E..11 does seem to point to a list
with video modi, but only from 0x100 and up.

Than when I use int 0x10, AX=0x4F01 on the range 0x00...0xFF it doesn't
think that there are any valid video modi below 0x30. And the ones it
thinks are valid all seem to be Graphics modi (bit 4 set in the first byte).

IOW, the above two calls do work, but not for any of the basic (old?) video
modi. And those are the ones I'm pretty-much after.

Regardless of the above, stil thank you for posting it.

Regards,
Rudy Wieser

Re: Testing all video mode - but which ones are graphics ?

<uqmvq5$3ocvh$1@dont-email.me>

 copy mid

https://www.novabbs.com/devel/article-flat.php?id=471&group=alt.lang.asm#471

 copy link   Newsgroups: alt.lang.asm
Path: i2pn2.org!i2pn.org!news.hispagatos.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: nowh...@never.at (wolfgang kern)
Newsgroups: alt.lang.asm
Subject: Re: Testing all video mode - but which ones are graphics ?
Date: Fri, 16 Feb 2024 07:36:52 +0100
Organization: A noiseless patient Spider
Lines: 65
Message-ID: <uqmvq5$3ocvh$1@dont-email.me>
References: <uqkr4r$39ek9$2@dont-email.me> <uql79q$3bgns$1@dont-email.me>
<uqlpaa$3es8u$1@dont-email.me>
Reply-To: nowhere@never.at
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Fri, 16 Feb 2024 06:36:53 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="885523a110e6336dd3636e2892ac36fd";
logging-data="3945457"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/45ewxAIHZQXHR5nXEXAUeIplnpXbYsf8="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:GVydhH0xzHV8fWMb+K3os0OZ21k=
In-Reply-To: <uqlpaa$3es8u$1@dont-email.me>
Content-Language: en-US
 by: wolfgang kern - Fri, 16 Feb 2024 06:36 UTC

On 15/02/2024 20:39, R.Wieser wrote:
....
>> VESA support is found within:
>
> :-) You're talking about possible damage to ancient monitors (connected to
> EGA, MCGA or even older videocards), and than you're presenting a bit of
> code thats ment for VESA ? :-p

I still owe one working PC-AT tower from 1998 which had an old TV-like
RGB CRT-monitor (already died RIP) but it used VESA from very start.

>> details are also reported in RBIL 104f00,104f01,014f02

> I've got Ralf Browns interrupt list (since forever) on my 'puter, so I'm
> sure to take a peek.
> And thanks for the code, I'm going to take a look at it.

> <some time passes>
> I see you used a few "magic numbers" :
>
>> push 0x8400 ;buffer for returned data
>> push 0x8420 ;buffer for modelist

these are just free memory locations, you can use any other even I find
my choice a good solution [at the end of user RAM space].

>> mov [cs:xxx+0x0c],eax ;current mode number
>> mov [cs:xxx+0x04],eax ;linear start address

I use them as part of instructions:
CS:xx02:
66 BA dd dd dd dd MOV EDX,immediate quad dd ;screen start address

> Also, for the "xxx+0x0c" one, why storing 4 bytes when the low two are
> always zero ?

that's because I prefer linear addressing in graphic modes
the graphic card's LFB (linear frame buffer) is usually above 3rd GB
you'll need either PM32 or UNREAL-mode like I do during boot-up to
access that memory region.

> furthermore, int 0x10, AX=0x4F00, offset 0E..11 does seem to point to a list
> with video modi, but only from 0x100 and up.

Yes, VESA mode numbers are all +0x0100

> Than when I use int 0x10, AX=0x4F01 on the range 0x00...0xFF it doesn't
> think that there are any valid video modi below 0x30. And the ones it
> thinks are valid all seem to be Graphics modi (bit 4 set in the first byte).

> IOW, the above two calls do work, but not for any of the basic (old?) video
> modi. And those are the ones I'm pretty-much after.

most of these olde were replaced by "new(1995)" Vesa codes.
you may find x/y resolution and pixel-depth in the list which
do what you search for.

only a few "old" modes can be used with VESA.
I use cx=0x0003 for classical text mode
and IIRC modes 0..7 may work similar

> Regardless of the above, stil thank you for posting it.
welcome
__
wolfgang

Re: Testing all video mode - but which ones are graphics ?

<uqn5c3$3p828$1@dont-email.me>

 copy mid

https://www.novabbs.com/devel/article-flat.php?id=472&group=alt.lang.asm#472

 copy link   Newsgroups: alt.lang.asm
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!feeder8.news.weretis.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: addr...@is.invalid (R.Wieser)
Newsgroups: alt.lang.asm
Subject: Re: Testing all video mode - but which ones are graphics ?
Date: Fri, 16 Feb 2024 09:11:17 +0100
Organization: A noiseless patient Spider
Lines: 58
Message-ID: <uqn5c3$3p828$1@dont-email.me>
References: <uqkr4r$39ek9$2@dont-email.me> <uql79q$3bgns$1@dont-email.me> <uqlpaa$3es8u$1@dont-email.me> <uqmvq5$3ocvh$1@dont-email.me>
Injection-Date: Fri, 16 Feb 2024 08:11:47 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="0a39a971857a09e14d320007bcc95af9";
logging-data="3973192"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/aVoljhq73sNzSwI51PcAyjdn8S73XdA0yHsgVZ61spQ=="
Cancel-Lock: sha1:waXAAJi38C4o2DmLlhajq9PO5iE=
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5512
X-Priority: 3
X-Newsreader: Microsoft Outlook Express 6.00.2900.5512
X-RFC2646: Format=Flowed; Response
X-MSMail-Priority: Normal
 by: R.Wieser - Fri, 16 Feb 2024 08:11 UTC

wolfgang,

>> I see you used a few "magic numbers" :
>>
>>> push 0x8400 ;buffer for returned data
>>> push 0x8420 ;buffer for modelist
>
> these are just free memory locations, you can use any other even I find my
> choice a good solution [at the end of user RAM space].

I'm sorry ? The segment address 0x8400 is almost smack in the middle of
the 1 M memory space DOS can address. It /might/ not be in use (yet!), but
just writing data in memory not owned by the program is ... not good.

I used a bit of stack space instead.

>>> mov [cs:xxx+0x0c],eax ;current mode number
>>> mov [cs:xxx+0x04],eax ;linear start address
>
> I use them as part of instructions:
> CS:xx02:
> 66 BA dd dd dd dd MOV EDX,immediate quad dd ;screen start address

Ah, self-modifying code.

> that's because I prefer linear addressing in graphic modes
> the graphic card's LFB (linear frame buffer) is usually above 3rd GB
> you'll need either PM32 or UNREAL-mode like I do during boot-up to access
> that memory region.

I understand the need for the storage size, but have no idea why you put the
video mode in the upper two bytes of that 4-byte storage space.

> only a few "old" modes can be used with VESA.
> I use cx=0x0003 for classical text mode
> and IIRC modes 0..7 may work similar

:-) Thats pretty-much the problem : I have no idea which of those "old" mod
are valid. When I use INT 0x10, AH=0x00 to check modi 0x08 thru 0x0C they
seem to be accepted, but give rather odd text screen width and height (last
value is supposed to be the character cell height):

0x08> 0x2 0x02
0x09> 42x43 0x15
0x0A> 17x29 0x08
0x0B> 0x64 0x00
0x0C> 13x16 0x10

I've got no idea how (by what) to weed those out yet.

But looking at where the VESA modi start, I think I may conclude that the
"old" modi are limited to the 0x00....0x2F range. Thats at least something.
:-)

Regards,
Rudy Wieser

Re: Testing all video mode - but which ones are graphics ?

<uqn95j$3prlh$1@dont-email.me>

 copy mid

https://www.novabbs.com/devel/article-flat.php?id=473&group=alt.lang.asm#473

 copy link   Newsgroups: alt.lang.asm
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: nowh...@never.at (wolfgang kern)
Newsgroups: alt.lang.asm
Subject: Re: Testing all video mode - but which ones are graphics ?
Date: Fri, 16 Feb 2024 10:16:33 +0100
Organization: A noiseless patient Spider
Lines: 73
Message-ID: <uqn95j$3prlh$1@dont-email.me>
References: <uqkr4r$39ek9$2@dont-email.me> <uql79q$3bgns$1@dont-email.me>
<uqlpaa$3es8u$1@dont-email.me> <uqmvq5$3ocvh$1@dont-email.me>
<uqn5c3$3p828$1@dont-email.me>
Reply-To: nowhere@never.at
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Fri, 16 Feb 2024 09:16:35 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="b6032e3eb55827a91126a4496d3e249e";
logging-data="3993265"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/0J7sSt2+j4zKXT57aQ1o73DNdPKkn74U="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:xHv9Hcmrq5dSieTOqmjpBpHQBMc=
In-Reply-To: <uqn5c3$3p828$1@dont-email.me>
Content-Language: en-US
 by: wolfgang kern - Fri, 16 Feb 2024 09:16 UTC

On 16/02/2024 09:11, R.Wieser wrote:
> wolfgang,
>
>>> I see you used a few "magic numbers" :
>>>
>>>> push 0x8400 ;buffer for returned data
>>>> push 0x8420 ;buffer for modelist
>>
>> these are just free memory locations, you can use any other even I find my
>> choice a good solution [at the end of user RAM space].
>
> I'm sorry ? The segment address 0x8400 is almost smack in the middle of
> the 1 M memory space DOS can address. It /might/ not be in use (yet!), but
> just writing data in memory not owned by the program is ... not good.

OK, the code is part of my OS, it owns all RAM except what BIOS uses.

> I used a bit of stack space instead.

then you could be on the safer side but I'd store the info somewhere
for later use.

>>>> mov [cs:xxx+0x0c],eax ;current mode number
>>>> mov [cs:xxx+0x04],eax ;linear start address
>>
>> I use them as part of instructions:
>> CS:xx02:
>> 66 BA dd dd dd dd MOV EDX,immediate quad dd ;screen start address
>
> Ah, self-modifying code.

yes, I use that a lot even mainly once per item during boot-up and right
after screen mode changes on all involved "variables". [big savings]

>> that's because I prefer linear addressing in graphic modes
>> the graphic card's LFB (linear frame buffer) is usually above 3rd GB
>> you'll need either PM32 or UNREAL-mode like I do during boot-up to access
>> that memory region.

> I understand the need for the storage size, but have no idea why you put the
> video mode in the upper two bytes of that 4-byte storage space.

oh yes, I keep a whole list of screen modes (filtered for my needs) in
memory and use this two free lower bytes as status info and short-keys.

>> only a few "old" modes can be used with VESA.
>> I use cx=0x0003 for classical text mode
>> and IIRC modes 0..7 may work similar
>
> :-) Thats pretty-much the problem : I have no idea which of those "old" mod
> are valid. When I use INT 0x10, AH=0x00 to check modi 0x08 thru 0x0C they
> seem to be accepted, but give rather odd text screen width and height (last
> value is supposed to be the character cell height):
>
> 0x08> 0x2 0x02
> 0x09> 42x43 0x15
> 0x0A> 17x29 0x08
> 0x0B> 0x64 0x00
> 0x0C> 13x16 0x10
>
> I've got no idea how (by what) to weed those out yet.

I rare to never used any of the above, my preference is/was always 2^n
aligned modes [512x386 instead of 320x200 a.s.o.] with 8 or 32 bit DAC.
but newer modes aren't 2^n anymore so I had to add instructions for it.

> But looking at where the VESA modi start, I think I may conclude that the
> "old" modi are limited to the 0x00....0x2F range. Thats at least something.
> :-)

sure worth to give it a try. good luck
__
wolfgang

Re: Testing all video mode - but which ones are graphics ?

<uqna9m$3q16r$1@dont-email.me>

 copy mid

https://www.novabbs.com/devel/article-flat.php?id=474&group=alt.lang.asm#474

 copy link   Newsgroups: alt.lang.asm
Path: i2pn2.org!i2pn.org!nntp.comgw.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: addr...@is.invalid (R.Wieser)
Newsgroups: alt.lang.asm
Subject: Re: Testing all video mode - but which ones are graphics ?
Date: Fri, 16 Feb 2024 10:35:25 +0100
Organization: A noiseless patient Spider
Lines: 34
Message-ID: <uqna9m$3q16r$1@dont-email.me>
References: <uqkr4r$39ek9$2@dont-email.me> <uql79q$3bgns$1@dont-email.me> <uqlpaa$3es8u$1@dont-email.me> <uqmvq5$3ocvh$1@dont-email.me> <uqn5c3$3p828$1@dont-email.me> <uqn95j$3prlh$1@dont-email.me>
Injection-Date: Fri, 16 Feb 2024 09:35:50 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="0a39a971857a09e14d320007bcc95af9";
logging-data="3998939"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19bIKh9ia2oMtpm0G8HuFMS75lhwWc2kCJdxIoO2qpgxg=="
Cancel-Lock: sha1:FJp3eCTSlx3vdlAfRQYRf7LMXY8=
X-RFC2646: Format=Flowed; Response
X-Priority: 3
X-Newsreader: Microsoft Outlook Express 6.00.2900.5512
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5512
X-MSMail-Priority: Normal
 by: R.Wieser - Fri, 16 Feb 2024 09:35 UTC

wolfgang,

>> I'm sorry ? The segment address 0x8400 is almost smack in the middle of
>> the 1 M memory space DOS can address. It /might/ not be in use (yet!),
>> but just writing data in memory not owned by the program is ... not good.
>
> OK, the code is part of my OS, it owns all RAM except what BIOS uses.

Ah yes, that explains it.

> then you could be on the safer side but I'd store the info somewhere
> for later use.

The /needed/ info, yes. Which might well be /way/ less than that 0x200
bytes.

>> 0x08> 0x2 0x02
>> 0x09> 42x43 0x15
>> 0x0A> 17x29 0x08
>> 0x0B> 0x64 0x00
>> 0x0C> 13x16 0x10
>>
>> I've got no idea how (by what) to weed those out yet.
>
> I rare to never used any of the above,

Neither have I, as those modi do not work (on my machine). :-)

Thanks for the help and explanations.

Regards,
Rudy Wieser

Re: Testing all video mode - but which ones are graphics ?

<uqq9gq$dgjq$1@dont-email.me>

 copy mid

https://www.novabbs.com/devel/article-flat.php?id=475&group=alt.lang.asm#475

 copy link   Newsgroups: alt.lang.asm
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: addr...@is.invalid (R.Wieser)
Newsgroups: alt.lang.asm
Subject: Re: Testing all video mode - but which ones are graphics ?
Date: Sat, 17 Feb 2024 13:40:44 +0100
Organization: A noiseless patient Spider
Lines: 23
Message-ID: <uqq9gq$dgjq$1@dont-email.me>
References: <uqkr4r$39ek9$2@dont-email.me>
Injection-Date: Sat, 17 Feb 2024 12:40:58 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="99cb6eab9d742e449e4560b15df8fe2b";
logging-data="443002"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18pZUjLhEGoE8P762JglwJH3HEL13gA4xHdpVmOAroXTQ=="
Cancel-Lock: sha1:96E00zzNtZcu5wCmxUGh+wNVLM4=
X-Newsreader: Microsoft Outlook Express 6.00.2900.5512
X-MSMail-Priority: Normal
X-Priority: 3
X-RFC2646: Format=Flowed; Response
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5512
 by: R.Wieser - Sat, 17 Feb 2024 12:40 UTC

> Revised question:
> How do I find all INT 10h, ah=00h video modi that wil actually work on my
> (XP) 'puter ? (My "is it a graphical mode?" has become secondary).

It turns out that INT 0x10, AH=0x1B, BX=0x0000 returns a record with the
first six (three?) bytes containing a bit mask of valid video modi.

So, success !

Ehhrmm... Not so fast please.

It works on my current machine, but on another (also XPsp3) machine *none*
of the "valid" video-modi (using INT 0x10, AH=0x00) actually works : the
puter locks up and can only be gotten outof it thru a power-cycle. :-((

No idea why, or how I could deal with it.

Regards,
Rudy Wieser

Re: Testing all video mode - but which ones are graphics ?

<uqqnai$gb1a$1@dont-email.me>

 copy mid

https://www.novabbs.com/devel/article-flat.php?id=476&group=alt.lang.asm#476

 copy link   Newsgroups: alt.lang.asm
Path: i2pn2.org!i2pn.org!news.bbs.nz!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: nowh...@never.at (wolfgang kern)
Newsgroups: alt.lang.asm
Subject: Re: Testing all video mode - but which ones are graphics ?
Date: Sat, 17 Feb 2024 17:36:31 +0100
Organization: A noiseless patient Spider
Lines: 24
Message-ID: <uqqnai$gb1a$1@dont-email.me>
References: <uqkr4r$39ek9$2@dont-email.me> <uqq9gq$dgjq$1@dont-email.me>
Reply-To: nowhere@never.at
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Sat, 17 Feb 2024 16:36:34 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="b0c2e9115310b4d88985fe324c5a1627";
logging-data="535594"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19fxqF14NY70DSJwQR1phT5e0AjKz7JypA="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:TeDv91bmoKG+1S4k+SDP9QlEnRw=
Content-Language: en-US
In-Reply-To: <uqq9gq$dgjq$1@dont-email.me>
 by: wolfgang kern - Sat, 17 Feb 2024 16:36 UTC

On 17/02/2024 13:40, R.Wieser wrote:

> It turns out that INT 0x10, AH=0x1B, BX=0x0000 returns a record with the
> first six (three?) bytes containing a bit mask of valid video modi.

three (2.5) bytes. bits 0..19 for modes 00..0x13 (19dec)

> So, success !

supported only if INT10_1B (ax=0x1B00) returns 0x1B in AL

> Ehhrmm... Not so fast please.

> It works on my current machine, but on another (also XPsp3) machine *none*
> of the "valid" video-modi (using INT 0x10, AH=0x00) actually works : the
> puter locks up and can only be gotten outof it thru a power-cycle. :-((
>
> No idea why, or how I could deal with it.

depends on the graphic chip... modern stuff may work only with VESA.
have you tried cx==0x0013 ax==0x4f01 INT_0x10 ?
didn't work on my old PC
__
wolfgang

Re: Testing all video mode - but which ones are graphics ?

<uqqsr3$hgk6$1@dont-email.me>

 copy mid

https://www.novabbs.com/devel/article-flat.php?id=477&group=alt.lang.asm#477

 copy link   Newsgroups: alt.lang.asm
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: addr...@is.invalid (R.Wieser)
Newsgroups: alt.lang.asm
Subject: Re: Testing all video mode - but which ones are graphics ?
Date: Sat, 17 Feb 2024 19:10:37 +0100
Organization: A noiseless patient Spider
Lines: 35
Message-ID: <uqqsr3$hgk6$1@dont-email.me>
References: <uqkr4r$39ek9$2@dont-email.me> <uqq9gq$dgjq$1@dont-email.me> <uqqnai$gb1a$1@dont-email.me>
Injection-Date: Sat, 17 Feb 2024 18:10:43 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="99cb6eab9d742e449e4560b15df8fe2b";
logging-data="574086"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX186TlXVnS6khWOvZurLftaMRgyWkn6QLuJdKjx7b72aTQ=="
Cancel-Lock: sha1:JHOn2/4Xyy0DHRp6HrQu09lb9U4=
X-RFC2646: Format=Flowed; Original
X-Priority: 3
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5512
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2900.5512
 by: R.Wieser - Sat, 17 Feb 2024 18:10 UTC

wolfgang,

>> So, success !
>
> supported only if INT10_1B (ax=0x1B00) returns 0x1B in AL

:-) Yes, I checked that.

>> No idea why, or how I could deal with it.
>
> depends on the graphic chip... modern stuff may work only with VESA.

That was my conclusion too.

> have you tried cx==0x0013 ax==0x4f01 INT_0x10 ?
> didn't work on my old PC

On the first machine (with the BIOS video modi working) it fails, on the
other machine it succedes.

Question:
I tried to call INT 0x10, AX=0x4F02, CX=0x0100 on the second machine, but I
have no idea what all goes into that es:di area, so I just cleared it. The
machine locked up. :-(

Do you know where that info comes from ?

I could try to (pretty-much randomly) slap something together (from what I
don't know), but as long as you're here ... :-)

Regards,
Rudy Wieser

Re: Testing all video mode - but which ones are graphics ?

<uqqu9n$hq2q$1@dont-email.me>

 copy mid

https://www.novabbs.com/devel/article-flat.php?id=478&group=alt.lang.asm#478

 copy link   Newsgroups: alt.lang.asm
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: nowh...@never.at (wolfgang kern)
Newsgroups: alt.lang.asm
Subject: Re: Testing all video mode - but which ones are graphics ?
Date: Sat, 17 Feb 2024 19:35:32 +0100
Organization: A noiseless patient Spider
Lines: 67
Message-ID: <uqqu9n$hq2q$1@dont-email.me>
References: <uqkr4r$39ek9$2@dont-email.me> <uqq9gq$dgjq$1@dont-email.me>
<uqqnai$gb1a$1@dont-email.me> <uqqsr3$hgk6$1@dont-email.me>
Reply-To: nowhere@never.at
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Sat, 17 Feb 2024 18:35:36 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="b0c2e9115310b4d88985fe324c5a1627";
logging-data="583770"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/vUMptVlW8HmiaHDGziAcL99kgDPOHibo="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:MFzXkk92/+70oJ00UH9Zb7yI3iQ=
Content-Language: en-US
In-Reply-To: <uqqsr3$hgk6$1@dont-email.me>
 by: wolfgang kern - Sat, 17 Feb 2024 18:35 UTC

On 17/02/2024 19:10, R.Wieser wrote:
> wolfgang,
>
>>> So, success !
>>
>> supported only if INT10_1B (ax=0x1B00) returns 0x1B in AL
>
> :-) Yes, I checked that.
>
>>> No idea why, or how I could deal with it.
>>
>> depends on the graphic chip... modern stuff may work only with VESA.
>
> That was my conclusion too.
>
>> have you tried cx==0x0013 ax==0x4f01 INT_0x10 ?
>> didn't work on my old PC
>
> On the first machine (with the BIOS video modi working) it fails, on the
> other machine it succedes.
>
> Question:
> I tried to call INT 0x10, AX=0x4F02, CX=0x0100 on the second machine, but I
> have no idea what all goes into that es:di area, so I just cleared it. The
> machine locked up. :-(
>
> Do you know where that info comes from ?

RBIL tells on 104F02:

AX = 4F02h
!! BX = new video mode (see #04082,#00083,#00084)
ES:DI -> (VBE 3.0+) CRTC information block,
bit mode bit 11 set(see #04083)
---RBIL copy
Format of VESA VBE CRTC Information Block:
Offset Size Description (Table 04083)
00h WORD total number of pixels horizontally
02h WORD horizontal sync start (in pixels)
04h WORD horizontal sync end (in pixels)
06h WORD total number of scan lines
08h WORD vertical sync start (in scan lines)
0Ah WORD vertical sync end (in scan lines)
0Ch BYTE flags (see #04084)
0Dh DWORD pixel clock, in Hz
11h WORD refresh rate, in 0.01 Hz units
this field MUST be set to pixel_clock / (HTotal * VTotal),
even though it may not actually be used by the VB implementation
13h 40 BYTEs reserved

Bitfields for VESA VBE CRTC Information Block flags:
Bit(s) Description (Table 04084)
0 enable double scanning
1 enable interlacing
2 horizontal sync polarity (0 positive, 1 negative)
3 vertical sync polarity (0 positive, 1 negative)

mode 0100 is graphic 640*400,8bit (256 colors)
my OS rare alters CRTC values, so I have ES:DI as 0:0

> I could try to (pretty-much randomly) slap something together (from what I
> don't know), but as long as you're here ... :-)

my lifetime is already limited but I'm still alive for now :)
__
wolfgang

Re: Testing all video mode - but which ones are graphics ?

<uqr3pu$iuj4$1@dont-email.me>

 copy mid

https://www.novabbs.com/devel/article-flat.php?id=479&group=alt.lang.asm#479

 copy link   Newsgroups: alt.lang.asm
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: addr...@is.invalid (R.Wieser)
Newsgroups: alt.lang.asm
Subject: Re: Testing all video mode - but which ones are graphics ?
Date: Sat, 17 Feb 2024 21:09:28 +0100
Organization: A noiseless patient Spider
Lines: 68
Message-ID: <uqr3pu$iuj4$1@dont-email.me>
References: <uqkr4r$39ek9$2@dont-email.me> <uqq9gq$dgjq$1@dont-email.me> <uqqnai$gb1a$1@dont-email.me> <uqqsr3$hgk6$1@dont-email.me> <uqqu9n$hq2q$1@dont-email.me>
Injection-Date: Sat, 17 Feb 2024 20:09:34 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="99cb6eab9d742e449e4560b15df8fe2b";
logging-data="621156"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19tKKcRvK/RsjX0fujQBvBAlToUa9SsYh4XFAhE41FH+g=="
Cancel-Lock: sha1:7qMjiT4wN/36iKyMiROhOcWXvMU=
X-RFC2646: Format=Flowed; Original
X-MSMail-Priority: Normal
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5512
X-Newsreader: Microsoft Outlook Express 6.00.2900.5512
X-Priority: 3
 by: R.Wieser - Sat, 17 Feb 2024 20:09 UTC

Wolfgang,

>> I tried to call INT 0x10, AX=0x4F02, CX=0x0100 on the second machine, but
>> I
>> have no idea what all goes into that es:di area, so I just cleared it.
>> The
>> machine locked up. :-(
>>
>> Do you know where that info comes from ?
>
> RBIL tells on 104F02:

I've got the same info here. The thing is that I can see the names of the
fields, but stil have no idea what goes into them / where to get it from.

> 02h WORD horizontal sync start (in pixels)
> 04h WORD horizontal sync end (in pixels)

No idea.

> 06h WORD total number of scan lines

I /think/ I saw something about that somewhere, but am not quite sure.

Than again, total vs displayed. Which one do they even mean here.

> 08h WORD vertical sync start (in scan lines)
> 0Ah WORD vertical sync end (in scan lines)

Same problem as the first two

> 0Ch BYTE flags (see #04084)
....
> 0 enable double scanning
> 1 enable interlacing
> 2 horizontal sync polarity (0 positive, 1 negative)
> 3 vertical sync polarity (0 positive, 1 negative)

No idea either, with 16 combinations to choose from.

> 0Dh DWORD pixel clock, in Hz
> 11h WORD refresh rate, in 0.01 Hz units

Same again here.

> mode 0100 is graphic 640*400,8bit (256 colors)
> my OS rare alters CRTC values, so I have ES:DI as 0:0

My first machine doesn't seem to use the above data at all (ES:DI can be
anything). But, as mentioned, my second machine freezes hard when I try to
"ignore" that record (zeroing it out) (might have nothing to do with its
contents ...). And, although your OS accepts ES:DI when its zero, RBIL
makes no mention of being allowed to supply that value.

.... Just tried it (with ES:DI being zero) on my second machine, and got the
same hard freeze (with a black screen) as with a zeroed-out record.

Shucks. That second machine doesn't allow BIOS video modi, and now it
doesn't accept VESA modi either (but does tell me its VESA 3.0 capable). :-\

Regards,
Rudy Wieser

P.s.
The second machines videocard is a gforce GT 730.

Re: Testing all video mode - but which ones are graphics ?

<uqr5fk$j821$1@dont-email.me>

 copy mid

https://www.novabbs.com/devel/article-flat.php?id=480&group=alt.lang.asm#480

 copy link   Newsgroups: alt.lang.asm
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: nowh...@never.at (wolfgang kern)
Newsgroups: alt.lang.asm
Subject: Re: Testing all video mode - but which ones are graphics ?
Date: Sat, 17 Feb 2024 21:38:10 +0100
Organization: A noiseless patient Spider
Lines: 8
Message-ID: <uqr5fk$j821$1@dont-email.me>
References: <uqkr4r$39ek9$2@dont-email.me> <uqq9gq$dgjq$1@dont-email.me>
<uqqnai$gb1a$1@dont-email.me> <uqqsr3$hgk6$1@dont-email.me>
<uqqu9n$hq2q$1@dont-email.me> <uqr3pu$iuj4$1@dont-email.me>
Reply-To: nowhere@never.at
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Sat, 17 Feb 2024 20:38:12 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="8860b4ae6f841e167f59616831aaed3d";
logging-data="630849"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+VfXZpQPLmFKOpqi5Wl4Z6NwPlbts3bdo="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:1xc2XfnWy12mRQZjcX6PK4T0rrw=
In-Reply-To: <uqr3pu$iuj4$1@dont-email.me>
Content-Language: en-US
 by: wolfgang kern - Sat, 17 Feb 2024 20:38 UTC

On 17/02/2024 21:09, R.Wieser wrote:

>>> I tried to call INT 0x10, AX=0x4F02, CX=0x0100 ...

try INT 0x10, AX=0x4F02, BX=0x0100
and ES:DI could need to be 0xFFFF:FFFF to ignore CRT setup.
__
wolfgang

Re: Testing all video mode - but which ones are graphics ?

<uqse80$v0kj$1@dont-email.me>

 copy mid

https://www.novabbs.com/devel/article-flat.php?id=481&group=alt.lang.asm#481

 copy link   Newsgroups: alt.lang.asm
Path: i2pn2.org!rocksolid2!news.neodome.net!news.mixmin.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: addr...@is.invalid (R.Wieser)
Newsgroups: alt.lang.asm
Subject: Re: Testing all video mode - but which ones are graphics ?
Date: Sun, 18 Feb 2024 09:13:38 +0100
Organization: A noiseless patient Spider
Lines: 46
Message-ID: <uqse80$v0kj$1@dont-email.me>
References: <uqkr4r$39ek9$2@dont-email.me> <uqq9gq$dgjq$1@dont-email.me> <uqqnai$gb1a$1@dont-email.me> <uqqsr3$hgk6$1@dont-email.me> <uqqu9n$hq2q$1@dont-email.me> <uqr3pu$iuj4$1@dont-email.me> <uqr5fk$j821$1@dont-email.me>
Injection-Date: Sun, 18 Feb 2024 08:13:52 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="1cb8eab2aed186edb887515d18d77b85";
logging-data="1016467"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+677x6IExQNh+L23aW30dlI/GrGiemTymnHIoO4SYpyw=="
Cancel-Lock: sha1:X/CTUcSkyFDR41g/94H2Ihyj5uQ=
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5512
X-Newsreader: Microsoft Outlook Express 6.00.2900.5512
X-MSMail-Priority: Normal
X-Priority: 3
X-RFC2646: Format=Flowed; Response
 by: R.Wieser - Sun, 18 Feb 2024 08:13 UTC

wolfgang,

>>>> I tried to call INT 0x10, AX=0x4F02, CX=0x0100 ...
>
> try INT 0x10, AX=0x4F02, BX=0x0100
> and ES:DI could need to be 0xFFFF:FFFF to ignore CRT setup.

Thanks for the suggestion.

I already tried doing that (and for other VESA modi too) with ES:DI set to
zero or untouched. It didn't make a difference, the 'puter froze every
time. :-\

As both ways to set a video mode froze the puter I started to suspect the
"OS" (drivers, other stuff installed on it). So, booted from an USB stick
with DOS on it (taken from Win98. Yes, an old stick :-) ).

Surprise surprise, it had no problem with scanning thru the BIOS video modi
(using INT 0x10, AX=0x00??), nor had it any problems with setting VESA mode
0x0100 (using INT 0x10, AX=0x4202, BX=0x0100, ES=DI=0) (though a DIR
outputs scrolling was /slow/. )

In short, I think I need to consider re-installing that 'puter, and at least
check its response before and after I install the videocards drivers.

A question about the INT 0x10, AX=0x4F01 result though : When I look at the
"mode attributes" (offset 0x00) I see that :

Bit 0 is about "mode supported by present hardware configuration". As such
I've ignored any VESA modus where that bit was not set. Is that what I
needed to do, or does that bit have another meaning ?

Bit 2 is about "BIOS output supported". I assume that means that when its
set I can do an INT 0x10, AH=0Eh and expect the character to appear on the
screen (same for plotting pixels using INT 0x10, AH=0x0C). Is that a correct
assumption?

Bit 4 is set if its a graphic mode. I /thought/ I remembered graphics modi
which do not support text output. Have you ever encountered such a mode and
know how to check for them ?

Regards,
Rudy Wieser

Re: Testing all video mode - but which ones are graphics ?

<uqsgrk$venf$1@dont-email.me>

 copy mid

https://www.novabbs.com/devel/article-flat.php?id=482&group=alt.lang.asm#482

 copy link   Newsgroups: alt.lang.asm
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: nowh...@never.at (wolfgang kern)
Newsgroups: alt.lang.asm
Subject: Re: Testing all video mode - but which ones are graphics ?
Date: Sun, 18 Feb 2024 09:58:25 +0100
Organization: A noiseless patient Spider
Lines: 76
Message-ID: <uqsgrk$venf$1@dont-email.me>
References: <uqkr4r$39ek9$2@dont-email.me> <uqq9gq$dgjq$1@dont-email.me>
<uqqnai$gb1a$1@dont-email.me> <uqqsr3$hgk6$1@dont-email.me>
<uqqu9n$hq2q$1@dont-email.me> <uqr3pu$iuj4$1@dont-email.me>
<uqr5fk$j821$1@dont-email.me> <uqse80$v0kj$1@dont-email.me>
Reply-To: nowhere@never.at
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Sun, 18 Feb 2024 08:58:29 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="ef89dbb2a01fb10f68bd5de45cc7a3c3";
logging-data="1030895"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1809pG3pkx4lj/YOPH3jplxsdX6cP0ONyU="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:ssMn3XMsqgyxq4aHC3OYf8mY4GE=
Content-Language: en-US
In-Reply-To: <uqse80$v0kj$1@dont-email.me>
 by: wolfgang kern - Sun, 18 Feb 2024 08:58 UTC

On 18/02/2024 09:13, R.Wieser wrote:

>>>>> I tried to call INT 0x10, AX=0x4F02, CX=0x0100 ...
>>
>> try INT 0x10, AX=0x4F02, BX=0x0100
>> and ES:DI could need to be 0xFFFF:FFFF to ignore CRT setup.
>
> Thanks for the suggestion.
>
> I already tried doing that (and for other VESA modi too) with ES:DI set to
> zero or untouched. It didn't make a difference, the 'puter froze every
> time. :-\
>
> As both ways to set a video mode froze the puter I started to suspect the
> "OS" (drivers, other stuff installed on it). So, booted from an USB stick
> with DOS on it (taken from Win98. Yes, an old stick :-) ).
>
> Surprise surprise, it had no problem with scanning thru the BIOS video modi
> (using INT 0x10, AX=0x00??), nor had it any problems with setting VESA mode
> 0x0100 (using INT 0x10, AX=0x4202, BX=0x0100, ES=DI=0) (though a DIR
> outputs scrolling was /slow/. )
>
> In short, I think I need to consider re-installing that 'puter, and at least
> check its response before and after I install the videocards drivers.

YEAH, virtualization kills almost everything :)
And graphic driver software may be just there to support windoze&loonix.

INT_0x10 used direct from Video BIOS w/o detoured by hooks work best.

> A question about the INT 0x10, AX=0x4F01 result though : When I look at the
> "mode attributes" (offset 0x00) I see that :

> Bit 0 is about "mode supported by present hardware configuration". As such
> I've ignored any VESA modus where that bit was not set. Is that what I
> needed to do, or does that bit have another meaning ?

yes.
and there are additional issues with monitors (I hate this EDID story)

> Bit 2 is about "BIOS output supported". I assume that means that when its
> set I can do an INT 0x10, AH=0Eh and expect the character to appear on the
> screen (same for plotting pixels using INT 0x10, AH=0x0C). Is that a correct
> assumption?

yes, but plotting pixels in text modes may not work.
and INT_10_0C is usually pretty slow, I use direct screen write instead.

> Bit 4 is set if its a graphic mode. I /thought/ I remembered graphics modi
> which do not support text output. Have you ever encountered such a mode and
> know how to check for them ?

some graphic modes may support INT_10_0E for text-out, but I use my own
draw routines for it anyway.
I use my own fonts [16*8 12*8 8*8] for graphic modes,
and use some of my fonts for text modes too with:
---RBIL copy
INT 10 - VIDEO - Realtek RTVGA - SET USER GRAPHICS CHARACTERS
AX = 1110h
ES:BP -> user table
CX = bytes per character
BL = row specifier
00h user set
DL = number of rows
01h 14 rows
02h 25 rows
03h 43 rows
Return: nothing
Note: this function is meant to be called immediately after a mode set;
results are unpredictable at other times
---
I once played around with my very own video-modes by using VGA-registers
funny things like mixed text/graphic can be made but unfortunately work
only for one specific brand and crash on others.
__
wolfgang

Re: Testing all video mode - but which ones are graphics ?

<uqsne8$10mg8$1@dont-email.me>

 copy mid

https://www.novabbs.com/devel/article-flat.php?id=483&group=alt.lang.asm#483

 copy link   Newsgroups: alt.lang.asm
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: addr...@is.invalid (R.Wieser)
Newsgroups: alt.lang.asm
Subject: Re: Testing all video mode - but which ones are graphics ?
Date: Sun, 18 Feb 2024 11:50:28 +0100
Organization: A noiseless patient Spider
Lines: 93
Message-ID: <uqsne8$10mg8$1@dont-email.me>
References: <uqkr4r$39ek9$2@dont-email.me> <uqq9gq$dgjq$1@dont-email.me> <uqqnai$gb1a$1@dont-email.me> <uqqsr3$hgk6$1@dont-email.me> <uqqu9n$hq2q$1@dont-email.me> <uqr3pu$iuj4$1@dont-email.me> <uqr5fk$j821$1@dont-email.me> <uqse80$v0kj$1@dont-email.me> <uqsgrk$venf$1@dont-email.me>
Injection-Date: Sun, 18 Feb 2024 10:50:48 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="1cb8eab2aed186edb887515d18d77b85";
logging-data="1071624"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX183aRPUUysXhdID+rLYzt3XZra0B+P3cZkSzcI8N7upJw=="
Cancel-Lock: sha1:uPLxreaB+xuPuK5lO+towHI8iTI=
X-RFC2646: Format=Flowed; Response
X-Newsreader: Microsoft Outlook Express 6.00.2900.5512
X-Priority: 3
X-MSMail-Priority: Normal
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5512
 by: R.Wieser - Sun, 18 Feb 2024 10:50 UTC

Wolfgang,

>> In short, I think I need to consider re-installing that 'puter, and at
>> least
>> check its response before and after I install the videocards drivers.
>
> YEAH, virtualization kills almost everything :)

I'm not sure which virtualisation you mean, but both the 'puters I mentioned
are bare-metal ones.

> And graphic driver software may be just there to support windoze&loonix.

Hence my before-and-after checking. :-)

> INT_0x10 used direct from Video BIOS w/o detoured by hooks work best.

A number of those hooks could be there to make the video card "play nice"
with Windows .though ..

TBH, I was already thinking of a DOS TSR to block the BIOS video modi calls,
so at least my 'puter would not lock up. But that was before I noticed it
wouldn't work with VESA either.

>> Bit 0 is about "mode supported by present hardware configuration". As
>> such
>> I've ignored any VESA modus where that bit was not set. Is that what I
>> needed to do, or does that bit have another meaning ?
>
> yes.

"yes", ignoring such a modus is what you should do, or "yes", it does have
another meaning ? :-)

> and there are additional issues with monitors (I hate this EDID story)

Oh goody. :-\

>> Bit 2 is about "BIOS output supported". I assume that means that when
>> its
>> set I can do an INT 0x10, AH=0Eh and expect the character to appear on
>> the
>> screen (same for plotting pixels using INT 0x10, AH=0x0C). Is that a
>> correct
>> assumption?
>
> yes,

Score one for the team! :-)

> but plotting pixels in text modes may not work.

I thought that went without saying (with the "may not" read as "won't"), but
I guess you've met some "special" people.

> and INT_10_0C is usually pretty slow, I use direct screen write instead.

I would expect so, as it treats every pixel on its own, repeating all the
calculations and stuff it already did for the previous pixel.

>> Bit 4 is set if its a graphic mode. I /thought/ I remembered graphics
>> modi
>> which do not support text output. Have you ever encountered such a mode
>> and
>> know how to check for them ?
>
> some graphic modes may support INT_10_0E for text-out, but I use my own
> draw routines for it anyway.

I'm comfortable with starting with video modi which support text output, and
wait with drawing text myself for a later date/project.

> I use my own fonts [16*8 12*8 8*8] for graphic modes,
> and use some of my fonts for text modes too with:
> ---RBIL copy
> INT 10 - VIDEO - Realtek RTVGA - SET USER GRAPHICS CHARACTERS

One of the few times I did something with a font was with a DOS pseudo-virus
called "animo" - once in a while it would animate the "o" character into a
hand-waving figure. Was fun to see people get bug-eyed about what just
happened. :-)

> I once played around with my very own video-modes by using VGA-registers
> funny things like mixed text/graphic can be made but unfortunately work
> only for one specific brand and crash on others.

That I can imagine, knowing that each videocard carries its own BIOS and
needs its own Windows drivers.

Regards,
Rudy Wieser

Re: Testing all video mode - but which ones are graphics ?

<uqspqb$115h4$1@dont-email.me>

 copy mid

https://www.novabbs.com/devel/article-flat.php?id=484&group=alt.lang.asm#484

 copy link   Newsgroups: alt.lang.asm
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: nowh...@never.at (wolfgang kern)
Newsgroups: alt.lang.asm
Subject: Re: Testing all video mode - but which ones are graphics ?
Date: Sun, 18 Feb 2024 12:31:21 +0100
Organization: A noiseless patient Spider
Lines: 31
Message-ID: <uqspqb$115h4$1@dont-email.me>
References: <uqkr4r$39ek9$2@dont-email.me> <uqq9gq$dgjq$1@dont-email.me>
<uqqnai$gb1a$1@dont-email.me> <uqqsr3$hgk6$1@dont-email.me>
<uqqu9n$hq2q$1@dont-email.me> <uqr3pu$iuj4$1@dont-email.me>
<uqr5fk$j821$1@dont-email.me> <uqse80$v0kj$1@dont-email.me>
<uqsgrk$venf$1@dont-email.me> <uqsne8$10mg8$1@dont-email.me>
Reply-To: nowhere@never.at
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Sun, 18 Feb 2024 11:31:23 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="56a76f605fc8ad3e932f594bb95b4d83";
logging-data="1087012"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18OASorkHuV9aJk/u6cJL+o075S6ay7CBA="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:m+MOAMqOXqL6HCy54uO59isc8Xg=
In-Reply-To: <uqsne8$10mg8$1@dont-email.me>
Content-Language: en-US
 by: wolfgang kern - Sun, 18 Feb 2024 11:31 UTC

On 18/02/2024 11:50, R.Wieser wrote:
....
>>> Bit 0 is about "mode supported by present hardware configuration". As
>>> such
>>> I've ignored any VESA modus where that bit was not set. Is that what I
>>> needed to do, or does that bit have another meaning ?
>> yes.

> "yes", ignoring such a modus is what you should do, or "yes", it does have
> another meaning ? :-)

my single yes to multiple questions always respond to the first! :)
while others may mean the last...
....

>> some graphic modes may support INT_10_0E for text-out, but I use my own
>> draw routines for it anyway.

> I'm comfortable with starting with video modi which support text output, and
> wait with drawing text myself for a later date/project.

yeah, my preferred text-mode was/is mode 0003 [BIOS default].

>> INT 10 - VIDEO - Realtek RTVGA - SET USER GRAPHICS CHARACTERS

and I had to use this font changer because as a hex-code programmer with
worn eyes I too often misread "Oh" vs Zero and B vs 8.
I still use this hard edged font B/D/O and zero with dot inside in all
modes. And mY 165 KESYS clients like it as well.
__
wolfgang

Re: Testing all video mode - but which ones are graphics ?

<urf2rp$1ph0f$1@dont-email.me>

 copy mid

https://www.novabbs.com/devel/article-flat.php?id=494&group=alt.lang.asm#494

 copy link   Newsgroups: alt.lang.asm
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: addr...@is.invalid (R.Wieser)
Newsgroups: alt.lang.asm
Subject: Re: Testing all video mode - but which ones are graphics ?
Date: Sun, 25 Feb 2024 10:55:51 +0100
Organization: A noiseless patient Spider
Lines: 31
Message-ID: <urf2rp$1ph0f$1@dont-email.me>
References: <uqkr4r$39ek9$2@dont-email.me> <uqq9gq$dgjq$1@dont-email.me> <uqqnai$gb1a$1@dont-email.me> <uqqsr3$hgk6$1@dont-email.me> <uqqu9n$hq2q$1@dont-email.me> <uqr3pu$iuj4$1@dont-email.me> <uqr5fk$j821$1@dont-email.me>
Injection-Date: Sun, 25 Feb 2024 09:56:09 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="f7a7bcfa7690944dd0eda7d0df4323d9";
logging-data="1885199"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX197LCUANX7sx/hllxTa+5liBdqTWq3MF8/rap+lCd4HYA=="
Cancel-Lock: sha1:m9rlQQbaLlkBtuit5nyABWxINvw=
X-RFC2646: Format=Flowed; Response
X-Priority: 3
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5512
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2900.5512
 by: R.Wieser - Sun, 25 Feb 2024 09:55 UTC

wolfgang,

> try INT 0x10, AX=0x4F02, BX=0x0100
> and ES:DI could need to be 0xFFFF:FFFF to ignore CRT setup.

I just came across this webpage :

https://wiki.osdev.org/VESA_Video_Modes

Somewhere halfway down it says "Set the bit 11 of BX to instruct the BIOS to
use the passed CRTCInfoBlock structure".

IOW, its not about what ES:DI itself contains which determines if the 'CRT
setup' datablock is used.

Phew, I did set, as a test, a few VESA video modes (and expected it to
crash), and couldn't figure out when that that "CRTC information block" was
used (erased it with '-', which was unchanged on return).

I must say that VESA, or rather its support, is nasty. I have a 'puter
which doesn't have (VESA) BIOS support for drawing text and/or pixels on any
modus, and I got another one which supports it on all of them. Not funny
when you want to create a simple, portable DOS program.

By the way: I do not see, in RBIL, any INT 0x10 function to plot a 256+
color pixel. Did I overlook something ?

Regards,
Rudy Wieser.

Re: Testing all video mode - but which ones are graphics ?

<urfbl6$1rhck$1@dont-email.me>

 copy mid

https://www.novabbs.com/devel/article-flat.php?id=495&group=alt.lang.asm#495

 copy link   Newsgroups: alt.lang.asm
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: nowh...@never.at (wolfgang kern)
Newsgroups: alt.lang.asm
Subject: Re: Testing all video mode - but which ones are graphics ?
Date: Sun, 25 Feb 2024 13:26:11 +0100
Organization: A noiseless patient Spider
Lines: 54
Message-ID: <urfbl6$1rhck$1@dont-email.me>
References: <uqkr4r$39ek9$2@dont-email.me> <uqq9gq$dgjq$1@dont-email.me>
<uqqnai$gb1a$1@dont-email.me> <uqqsr3$hgk6$1@dont-email.me>
<uqqu9n$hq2q$1@dont-email.me> <uqr3pu$iuj4$1@dont-email.me>
<uqr5fk$j821$1@dont-email.me> <urf2rp$1ph0f$1@dont-email.me>
Reply-To: nowhere@never.at
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Sun, 25 Feb 2024 12:26:14 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="36231e12e313091f2c24b12892dbafa4";
logging-data="1951124"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19z0XRu+L8fHrCZzamMbrw/TuEfF2UqZa0="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:ijFyy8V6VUKBTQIKjI5BcE5CFA8=
Content-Language: en-US
In-Reply-To: <urf2rp$1ph0f$1@dont-email.me>
 by: wolfgang kern - Sun, 25 Feb 2024 12:26 UTC

On 25/02/2024 10:55, R.Wieser wrote:
> wolfgang,
>
>> try INT 0x10, AX=0x4F02, BX=0x0100
>> and ES:DI could need to be 0xFFFF:FFFF to ignore CRT setup.
>
> I just came across this webpage :
>
> https://wiki.osdev.org/VESA_Video_Modes
>
> Somewhere halfway down it says "Set the bit 11 of BX to instruct the BIOS to
> use the passed CRTCInfoBlock structure".
>
> IOW, its not about what ES:DI itself contains which determines if the 'CRT
> setup' datablock is used.

yes, that's right, too many years passed since I wrote my code for this.
and I never used this CRT Controls (I used EDID to get info on monitor).

> Phew, I did set, as a test, a few VESA video modes (and expected it to
> crash), and couldn't figure out when that that "CRTC information block" was
> used (erased it with '-', which was unchanged on return).

> I must say that VESA, or rather its support, is nasty. I have a 'puter
> which doesn't have (VESA) BIOS support for drawing text and/or pixels on any
> modus, and I got another one which supports it on all of them. Not funny
> when you want to create a simple, portable DOS program.

yeah, portability was/is a nightmare. therefor I sold my OS only
together with a complete PC (only a few hardware versions) all assembled
by myself.

when I remember my first attempts to show colored graphic on these
four-plan CGA-cards, I'm really happy that we got VESA.
> By the way: I do not see, in RBIL, any INT 0x10 function to plot a 256+
> color pixel. Did I overlook something ?

isn't AL large enough ? :)

INT 10 - VIDEO - WRITE GRAPHICS PIXEL
AH = 0Ch
BH = page number
AL = pixel color
if bit 7 set, value is XOR'ed onto screen except in 256-color modes
CX = column
DX = row
Return: nothing
Desc: set a single pixel on the display in graphics modes
Notes: valid only in graphics modes
BH is ignored if the current video mode supports only one page
SeeAlso: AH=0Dh,AH=46h

__
wolfgang

Re: Testing all video mode - but which ones are graphics ?

<urg1p8$20jje$1@dont-email.me>

 copy mid

https://www.novabbs.com/devel/article-flat.php?id=496&group=alt.lang.asm#496

 copy link   Newsgroups: alt.lang.asm
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: addr...@is.invalid (R.Wieser)
Newsgroups: alt.lang.asm
Subject: Re: Testing all video mode - but which ones are graphics ?
Date: Sun, 25 Feb 2024 19:43:33 +0100
Organization: A noiseless patient Spider
Lines: 26
Message-ID: <urg1p8$20jje$1@dont-email.me>
References: <uqkr4r$39ek9$2@dont-email.me> <uqq9gq$dgjq$1@dont-email.me> <uqqnai$gb1a$1@dont-email.me> <uqqsr3$hgk6$1@dont-email.me> <uqqu9n$hq2q$1@dont-email.me> <uqr3pu$iuj4$1@dont-email.me> <uqr5fk$j821$1@dont-email.me> <urf2rp$1ph0f$1@dont-email.me> <urfbl6$1rhck$1@dont-email.me>
Injection-Date: Sun, 25 Feb 2024 18:43:52 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="f7a7bcfa7690944dd0eda7d0df4323d9";
logging-data="2117230"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/8AOcnXYN8yar7Gd/IXs/Wfi4pVDScxnrhjpKgQxQbdQ=="
Cancel-Lock: sha1:0T5l3wInywcxWSueygTuoUedxaI=
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5512
X-Priority: 3
X-RFC2646: Format=Flowed; Response
X-Newsreader: Microsoft Outlook Express 6.00.2900.5512
X-MSMail-Priority: Normal
 by: R.Wieser - Sun, 25 Feb 2024 18:43 UTC

wolfgang,

>> By the way: I do not see, in RBIL, any INT 0x10 function to plot a 256+
>> color pixel. Did I overlook something ?
>
> isn't AL large enough ? :)

Not to me it isn't - I want Moar!!! :-)

> INT 10 - VIDEO - WRITE GRAPHICS PIXEL
> AH = 0Ch
> BH = page number
> AL = pixel color
> if bit 7 set, value is XOR'ed onto screen except in 256-color modes

One of my 'puters has got a number of 16 and 32 BPP VESA modi available
(modes 0x20...0x22 are 32 BPP). It would be nice if I could actually use
them.

I just tried to draw a (diagonal) line in a 32 BPP mode with AL=0xFF, but
all I get is (understandable) blue.

Regards,
Rudy Wieser

Re: Testing all video mode - but which ones are graphics ?

<urgg1u$24ekf$1@dont-email.me>

 copy mid

https://www.novabbs.com/devel/article-flat.php?id=497&group=alt.lang.asm#497

 copy link   Newsgroups: alt.lang.asm
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: nowh...@never.at (wolfgang kern)
Newsgroups: alt.lang.asm
Subject: Re: Testing all video mode - but which ones are graphics ?
Date: Sun, 25 Feb 2024 23:47:23 +0100
Organization: A noiseless patient Spider
Lines: 45
Message-ID: <urgg1u$24ekf$1@dont-email.me>
References: <uqkr4r$39ek9$2@dont-email.me> <uqq9gq$dgjq$1@dont-email.me>
<uqqnai$gb1a$1@dont-email.me> <uqqsr3$hgk6$1@dont-email.me>
<uqqu9n$hq2q$1@dont-email.me> <uqr3pu$iuj4$1@dont-email.me>
<uqr5fk$j821$1@dont-email.me> <urf2rp$1ph0f$1@dont-email.me>
<urfbl6$1rhck$1@dont-email.me> <urg1p8$20jje$1@dont-email.me>
Reply-To: nowhere@never.at
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Sun, 25 Feb 2024 22:47:26 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="36231e12e313091f2c24b12892dbafa4";
logging-data="2243215"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+f8n/dlF0XTi8g+/CqvuwezFq/07sPbFk="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:6UxZf3kWFvLZnnn9DXjrV72alqU=
Content-Language: en-US
In-Reply-To: <urg1p8$20jje$1@dont-email.me>
 by: wolfgang kern - Sun, 25 Feb 2024 22:47 UTC

On 25/02/2024 19:43, R.Wieser wrote:

>>> By the way: I do not see, in RBIL, any INT 0x10 function to plot a 256+
>>> color pixel. Did I overlook something ?
>>
>> isn't AL large enough ? :)
>
> Not to me it isn't - I want Moar!!! :-)
>
>> INT 10 - VIDEO - WRITE GRAPHICS PIXEL
>> AH = 0Ch
>> BH = page number
>> AL = pixel color
>> if bit 7 set, value is XOR'ed onto screen except in 256-color modes
>
> One of my 'puters has got a number of 16 and 32 BPP VESA modi available
> (modes 0x20...0x22 are 32 BPP). It would be nice if I could actually use
> them.

> I just tried to draw a (diagonal) line in a 32 BPP mode with AL=0xFF, but
> all I get is (understandable) blue.

the drawing method for (odd) 15 and 16 bit pixels would be similar to
16+16 color text-mode. [alternating Hi/Lo bytes]
[32 bit would need a set of four consecutive bytes]

but because pixel drawing with INT10 is awful slow, almost nobody do.
Direct screen write to Video-Memory was the way to go since the begin.
that's why they added (1977 ?) the ES-register to access 0xA0000...

But most VESA modes use LFB (Linear Frame Buffer) which is usually at
3rd GB and need either PM32 or UNREAL to access it at all.

after I calculated equalized HUE values for a 256 color palette,
I arranged DAC RGB-values (stored as 32 bit even only 24 bit used)
to form a set of 64 gray plus 192 rainbow colors.

This let me show astonishing good images with only 8 bit/pixel.
And by using 32bit registers I can draw four pixels at once.

I finally (1992) added 32 bit RGB_A support to my routines, but mainly
used just my 8 bit palette,
So I never supported 15 and 16 bit color depth.
__
wolfgang

Re: Testing all video mode - but which ones are graphics ?

<urhen3$2dpr0$1@dont-email.me>

 copy mid

https://www.novabbs.com/devel/article-flat.php?id=498&group=alt.lang.asm#498

 copy link   Newsgroups: alt.lang.asm
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: addr...@is.invalid (R.Wieser)
Newsgroups: alt.lang.asm
Subject: Re: Testing all video mode - but which ones are graphics ?
Date: Mon, 26 Feb 2024 08:30:24 +0100
Organization: A noiseless patient Spider
Lines: 51
Message-ID: <urhen3$2dpr0$1@dont-email.me>
References: <uqkr4r$39ek9$2@dont-email.me> <uqq9gq$dgjq$1@dont-email.me> <uqqnai$gb1a$1@dont-email.me> <uqqsr3$hgk6$1@dont-email.me> <uqqu9n$hq2q$1@dont-email.me> <uqr3pu$iuj4$1@dont-email.me> <uqr5fk$j821$1@dont-email.me> <urf2rp$1ph0f$1@dont-email.me> <urfbl6$1rhck$1@dont-email.me> <urg1p8$20jje$1@dont-email.me> <urgg1u$24ekf$1@dont-email.me>
Injection-Date: Mon, 26 Feb 2024 07:30:43 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="91483aa7ba5718b39d8b21d00114a54a";
logging-data="2549600"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+E/xqOOQI6fz2n4YFrGspRjw3d4gVeS7pe/fy+sOQ96A=="
Cancel-Lock: sha1:qs2QffM5rTjYFFa05zs/ntQD9II=
X-RFC2646: Format=Flowed; Response
X-MSMail-Priority: Normal
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5512
X-Newsreader: Microsoft Outlook Express 6.00.2900.5512
X-Priority: 3
 by: R.Wieser - Mon, 26 Feb 2024 07:30 UTC

wolfgang,

> the drawing method for (odd) 15 and 16 bit pixels would be similar
> to 16+16 color text-mode. [alternating Hi/Lo bytes]
> [32 bit would need a set of four consecutive bytes]

Thats what I thought of too, but the diagonal (X=Y) line I did draw (for
testing purposes) was, in 32 bpp mode, the same color everywhere. Which
makes sense, but seems to mean that I can only touch byte 0 (blue), but not
bytes 1,2 and 3.

> but because pixel drawing with INT10 is awful slow, almost nobody
> do Direct screen write to Video-Memory was the way to go since the
> begin.that's why they added (1977 ?) the ES-register to access 0xA0000...

The ES registers existence is a direct result from wanting to do direct
video-memory access ? Thats a new one to me. I always though it was a
logical conclusion of the need for larger memory models (with 64K+ data
segments).

> But most VESA modes use LFB (Linear Frame Buffer) which is usually at 3rd
> GB and need either PM32 or UNREAL to access it at all.

I know of that way to do it myself (and you mentioned it once or twice), but
was hoping that BIOS support for a certain VESA video mode also meant that
there would be a INT 10h method to plot such 256+ color pixels. You know,
trying to do the minimum ammount of work to get the largest result. :-)

> after I calculated equalized HUE values for a 256 color palette,
> I arranged DAC RGB-values (stored as 32 bit even only 24 bit used)
> to form a set of 64 gray plus 192 rainbow colors.

Yep, I've found and used such an array of DAC colors too. Was a bit
surprised to see multiple black colors at the end of the list. Assumed it
was for private use..

> This let me show astonishing good images with only 8 bit/pixel.

:-) I think that 8 bpp will do fine for me too. I'm currently just trying
to inventorize what all I can use (and how). You know, the 'information
gathering' phase.

To be honest, being able to use a higher resolution (than 320x200) is more
important to me than being able to use 16 or 32 bit colors.

Thanks for the info.

Regards,
Rudy Wieser

Re: Testing all video mode - but which ones are graphics ?

<urhghp$2e58i$1@dont-email.me>

 copy mid

https://www.novabbs.com/devel/article-flat.php?id=499&group=alt.lang.asm#499

 copy link   Newsgroups: alt.lang.asm
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: nowh...@never.at (wolfgang kern)
Newsgroups: alt.lang.asm
Subject: Re: Testing all video mode - but which ones are graphics ?
Date: Mon, 26 Feb 2024 09:02:00 +0100
Organization: A noiseless patient Spider
Lines: 65
Message-ID: <urhghp$2e58i$1@dont-email.me>
References: <uqkr4r$39ek9$2@dont-email.me> <uqq9gq$dgjq$1@dont-email.me>
<uqqnai$gb1a$1@dont-email.me> <uqqsr3$hgk6$1@dont-email.me>
<uqqu9n$hq2q$1@dont-email.me> <uqr3pu$iuj4$1@dont-email.me>
<uqr5fk$j821$1@dont-email.me> <urf2rp$1ph0f$1@dont-email.me>
<urfbl6$1rhck$1@dont-email.me> <urg1p8$20jje$1@dont-email.me>
<urgg1u$24ekf$1@dont-email.me> <urhen3$2dpr0$1@dont-email.me>
Reply-To: nowhere@never.at
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Mon, 26 Feb 2024 08:02:01 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="3d73aecf391119964f4fb700e2b0ffc0";
logging-data="2561298"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19iAJz2zSqDle+Hjde/sDXWxFigKpKXC0g="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:zy+7NJjW+PhJpnybHyqRO6hxDuA=
In-Reply-To: <urhen3$2dpr0$1@dont-email.me>
Content-Language: en-US
 by: wolfgang kern - Mon, 26 Feb 2024 08:02 UTC

On 26/02/2024 08:30, R.Wieser wrote:
> wolfgang,
>
>> the drawing method for (odd) 15 and 16 bit pixels would be similar
>> to 16+16 color text-mode. [alternating Hi/Lo bytes]
>> [32 bit would need a set of four consecutive bytes]
>
> Thats what I thought of too, but the diagonal (X=Y) line I did draw (for
> testing purposes) was, in 32 bpp mode, the same color everywhere. Which
> makes sense, but seems to mean that I can only touch byte 0 (blue), but not
> bytes 1,2 and 3.

? have you tried an iterated sequence of:
AL=00 INT10
AL=ff INT10
AL=00 INT10
Al=80 INT10

>> but because pixel drawing with INT10 is awful slow, almost nobody
>> do Direct screen write to Video-Memory was the way to go since the
>> begin.that's why they added (1977 ?) the ES-register to access 0xA0000...

> The ES registers existence is a direct result from wanting to do direct
> video-memory access ? Thats a new one to me. I always though it was a
> logical conclusion of the need for larger memory models (with 64K+ data
> segments).

exact, video-RAM were often apart add-ons in the range 8000..BFFF

>> But most VESA modes use LFB (Linear Frame Buffer) which is usually at 3rd
>> GB and need either PM32 or UNREAL to access it at all.

> I know of that way to do it myself (and you mentioned it once or twice), but
> was hoping that BIOS support for a certain VESA video mode also meant that
> there would be a INT 10h method to plot such 256+ color pixels. You know,
> trying to do the minimum ammount of work to get the largest result. :-)

minimum work would be after you decided to write direct to screen :)

>> after I calculated equalized HUE values for a 256 color palette,
>> I arranged DAC RGB-values (stored as 32 bit even only 24 bit used)
>> to form a set of 64 gray plus 192 rainbow colors.

> Yep, I've found and used such an array of DAC colors too. Was a bit
> surprised to see multiple black colors at the end of the list. Assumed it
> was for private use..

I use 0x20 as BLACK and 0x00 as transparent (keep what's there).

>> This let me show astonishing good images with only 8 bit/pixel.

> :-) I think that 8 bpp will do fine for me too. I'm currently just trying
> to inventorize what all I can use (and how). You know, the 'information
> gathering' phase.

yes, been there... decades ago.

> To be honest, being able to use a higher resolution (than 320x200) is more
> important to me than being able to use 16 or 32 bit colors.
>
> Thanks for the info.

welcome
__
wolfgang

Pages:12
server_pubkey.txt

rocksolid light 0.9.7
clearnet tor