🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.os.msdos.programmer
Article #6280

Re: Direct video memory access

#6280
From: nllopis
Date: Sun, 15 Nov 1992 13:41
58 lines
2897 bytes
For any information on direct memory access, if you are half serious 
about it, I would strongly suggest that you get a copy of the
book "PC&PS/2 VIDEO SYSTEMS" by Richard Wilton, published by
Microsoft Press. 
I had it for a couple years and it has proven to be really 
usefull. It has all the information you need for direct 
graphics programming in all video cards CGA,EGA,VGA,MCGA,Hercules,
etc....
Definetely worth the $27 it costs!


	Noel Llopis
In article <2890.2B054487@catpe.alt.za>, JWF.Thirion@p2.f118.n7102.z5.fidonet.org (JWF Thirion) writes:
> Hello Andrew!
> 
>  AM> I would like information on accessing video memory directly on any PC.  I
>  AM> need information for any screen type, in particular, HERCULES, CGA, EGA
>  AM> and VGA, for text and graphic modes.
> 
> I don't know if the following is what you want, but here goes  (I don't know if Hercules is correct):
> 
> Display  | Video Segment | Type       | Bits per pixel
> 
> HERCULES : 0B000h        : Text       : ?
>            0B000h        : Graphics   : ?
> 
> CGA      : 0B000h        : Text       : ?
>            0B800h        : Graphics   : 4 bits per pixel
> 
> EGA      : 0B800h        : Text       : ?
>            0A000h        : Graphics   : 1 bit per pixel.  (16 Color Mode)
> 
> VGA      : 0B800h        : Text       : ?
>            0A000h        : Graphics   : 1 bit per pixel.  (16 Color Mode)
>                                         8 bits per pixel.  (256 Color Mode)
> 
> MCGA     : 0B800h        : Text       : ?
>            0A000h        : Graphics   : 8 bits per pixel.  (256 Color Mode)
> 
> To for instance plot a pixel at the first position on the screen in MCGA mode, use the following code:
> 
> MOV AX, 0A000h     ; Video Segment
> MOV ES, AX         ; Place it in Extra Segment.  (Used as destination)
> MOV AL, 01h        ; Color to use.  (Blue in this case)
> MOV CX, 0001h      ; Number of pixels to plot
> MOV DI, 0000h      ; Offset on the screen.  Calculated : DI = (320 * Y) + X.
> REP STOSB          ; Plot all pixels.  (Use STOSB if you just want to plot one)
> 
> I hope this could help.  Leave me a message if you are still having trouble with it and I will write a short example to show you how it is done.
> 
> CU,
> JWF Thirion (Derik)
> 
> 
> --  
> INTERNET: JWF.Thirion@p2.f118.n7102.z5.fidonet.org
> via:  THE CATALYST BBS in Port Elizabeth, South Africa.
>        (catpe.alt.za)   +27-41-34-1122 HST or +27-41-34-2859, V32bis & HST.
Technical Details
Message-ID: <19046.2b06539d@ecs.umass.edu>
Path: arc1-ca.pugleaf.net!sparky!uunet!ornl!rsg1.er.usgs.gov!darwin.sura.net!zaphod.mps.ohio-state.edu!caen!nic.umass.edu!risky.ecs.umass.edu!umaecs!nllopis
References: <2890.2B054487@catpe.alt.za>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!sparky!uunet!ornl!rsg1.er.usgs.gov!darwin.sura.net!zaphod.mps.ohio-state.edu!caen!nic.umass.edu!risky.ecs.umass.edu!umaecs!nllopis
From: nllopis@ecs.umass.edu
Newsgroups: comp.os.msdos.programmer
Subject: Re: Direct video memory access
Message-ID: <19046.2b06539d@ecs.umass.edu>
Date: 15 Nov 92 13:41:49 GMT
References: <2890.2B054487@catpe.alt.za>
Lines: 58