Article View: comp.os.msdos.programmer
Article #6280Re: Direct video memory access
From: nllopis
Date: Sun, 15 Nov 1992 13:41
Date: Sun, 15 Nov 1992 13:41
58 lines
2897 bytes
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!nllopisReferences:
<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