home *** CD-ROM | disk | FTP | other *** search
- Path: 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
-
- 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.
-