Why No one know about Video Memory ???

Hello All ,
I want to draw a small bitmap on screen from VXD/SYS.
How can I get pointer to Video Memory or something which will allow me to
draw a bitmap (or modify vid. memory accordingly.)…
Isnt there any way ???
How do any VXD does that ??
What is FrameBuffer can I use it to write vid memory ??
How can I do that…
I searched 98/2000 DDK docs and MSDN a lot but they have given very small
info. about everything.
Where can I find help…
(I am using VtoolsD for 98 and DriverStudio for NT/2000).

If anybody knows anything about it ,please reply this post.I am desperetly
looking for solution on this.

> I want to draw a small bitmap on screen from VXD/SYS.

Forget such an idea forever and draw anything from the helper
user-mode app using GDI.
Kernel mode code is essential for OS operation. Is drawing any
bitmaps - essential?

Max

You can go through DirectDraw to drive the display from Kernel Mode, the DDK
Documentation has a whole chapter on DirectDraw. Alternatively, you can use
one of the Eng or Drv calls that allow you to draw to device-managed
surfaces while in kernel mode. For example, look at the DDK Documentation on
DrvBitBlt or EngBitBlt, or EngStretchBltROP.

Hope this helps,

Alberto.

-----Original Message-----
From: Maxim S. Shatskih [mailto:xxxxx@storagecraft.com]
Sent: Tuesday, September 24, 2002 11:45 AM
To: NT Developers Interest List
Subject: [ntdev] Re: Why No one know about Video Memory ???

I want to draw a small bitmap on screen from VXD/SYS.

Forget such an idea forever and draw anything from the helper
user-mode app using GDI.
Kernel mode code is essential for OS operation. Is drawing any
bitmaps - essential?

Max


You are currently subscribed to ntdev as: xxxxx@compuware.com
To unsubscribe send a blank email to %%email.unsub%%

The contents of this e-mail are intended for the named addressee only. It
contains information that may be confidential. Unless you are the named
addressee or an authorized designee, you may not copy or use it, or disclose
it to anyone else. If you received it in error please notify us immediately
and then destroy it.

Using DDI in kernel.

Bi

-----Original Message-----
From: Pawar [mailto:xxxxx@rediffmail.com]
Sent: Tuesday, September 24, 2002 2:54 AM
To: NT Developers Interest List
Subject: [ntdev] Why No one know about Video Memory ???

Hello All ,
I want to draw a small bitmap on screen from VXD/SYS.
How can I get pointer to Video Memory or something which will allow me to
draw a bitmap (or modify vid. memory accordingly.)…
Isnt there any way ???
How do any VXD does that ??
What is FrameBuffer can I use it to write vid memory ??
How can I do that…
I searched 98/2000 DDK docs and MSDN a lot but they have given very small
info. about everything.
Where can I find help…
(I am using VtoolsD for 98 and DriverStudio for NT/2000).

If anybody knows anything about it ,please reply this post.I am desperetly
looking for solution on this.


You are currently subscribed to ntdev as: xxxxx@appstream.com
To unsubscribe send a blank email to %%email.unsub%%

RE: [ntdev] Why No one know about Video Memory ???Can You tell me where can I find docs about DDI in kernel mode ??

I know somehow it is possible ,though I am getting a way right now.
I know it can be done by hooking Display driver also…

DDK graphics driver document.

All most all the graphics card execept very stone age one do not expose flat
frame buffer, at least to anything outside its driver, or only expose it
through video BIOS. All most all the 2D function such as drawing and fill
are done by video hardware. In 2D (now depreciated DirectDraw), one can have
multiple surfaces (like frame buffer) and one can flip those surface to top
to be displayed. There is no static frame buffer area where RAMDAC will get
data and display it to monitor in Windows.

Good luck

Bi

-----Original Message-----
From: Pawar [mailto:xxxxx@rediffmail.com]
Sent: Tuesday, September 24, 2002 8:56 PM
To: NT Developers Interest List
Subject: [ntdev] Re: Why No one know about Video Memory ???

Can You tell me where can I find docs about DDI in kernel mode ??


You are currently subscribed to ntdev as: xxxxx@appstream.com
To unsubscribe send a blank email to %%email.unsub%%

RE: [ntdev] Why No one know about Video Memory ???>All most all the
graphics card execept very stone age one do not expose flat frame
buffer, at

least to anything outside its driver, or only expose it through video
BIOS. All most all the 2D
function such as drawing and fill are done by video hardware. In 2D
(now depreciated

IIRC the newest AGP cards (I’ve heard this on GeForces) abandon the 2D
accelerators, since the chip space is necessary for 3D and AGP is fast
enough to draw 2D by CPU. So, according to what I’ve heard, GeForce is
a flat frame buffer for 2D.

Also any video card can be used in “no acceleration” mode (Windows
provides UI for this), where it is really a flat framebuffer.

Also note the huge physical memory ranges claimed by GeForce.

Also note the video driver DDI - “hooking” and “punting”. Generally,
any videocard is a framebuffer, though with an additional chip which
can execute some kinds of operations over it very fast.

DDraw overlays usually require second RAMDAC (present on GeForce, can
even work for TV output).

Max

Well one question ,

When a application is Drawing using DirectDraw ,it is visible on screen ,but
it’s not reflected in Desktop Device Context ,why so ?

I am thinking everything visible on desktop should be in Desktop’s HDC ,isnt
it ??
If this is not then where this differs ?

You are wrong.
You can try to BitBlt from desktop DC when some DirectDraw application draws
smth there and you will get nothing.


Bye,
SaB

-----Original Message-----
From: Pawar [mailto:xxxxx
mailto:xxxxx@rediffmail.com]
> Sent: Thursday, September 26, 2002 5:43 AM
> To: NT Developers Interest List
> Subject: [ntdev] Re: Why No one know about Video Memory ???
>
>
> Well one question ,
>
> When a application is Drawing using DirectDraw ,it is visible
> on screen ,but
> it’s not reflected in Desktop Device Context ,why so ?
>
> I am thinking everything visible on desktop should be in
> Desktop’s HDC ,isnt
> it ??
> If this is not then where this differs ?
>
>
>
> —
> You are currently subscribed to ntdev as: xxxxx@mastereye.kiev.ua
> To unsubscribe send a blank email to %%email.unsub%%
></mailto:xxxxx>

> When a application is Drawing using DirectDraw ,it is visible on
screen ,but

it’s not reflected in Desktop Device Context ,why so ?

This can be an overlay surface, for instance, Media Player uses this
to play video.

The test for overlay surface is - run ZoomIn tool from MSVC, the
overlay surface data is not zoomed since it is not readable by desktop
HDC.

Overlay surface is a hardware-supported thing. It is, in fact, a
second hardware RAMDAC. A second region of video memory, separate from
screen one, is put under this second RAMDAC. It forms a separate HDC.
The output of the second RAMDAC can be either mixed as a rectangle to
the main RAMDAC (MPlayer in a window), or mixed by merging colors
(chroma keying) or put full screen, blocking the main RAMDAC (MPlayer
full screen), or put to TV-out (if the card has it).

If you have GeForce card with TV-out - you can observe all these
modes. Detonator’s control panel has even HLS sliders to control both
main and overlay RAMDACs separately. The default mode for the card
is - TV-out connected to overlay surface, regardless of whether it is
also put to window or not. So, MPlayer plays video both in a window on
a monitor and full-screen on TV.
A good facility, great pity that it has aspect ratio and contrast
problems :slight_smile:

Max