http://GameProgrammer.Com

Programming

GP Mailing List
     Thread Index
     Date Index

ATXGPSIG List
     Thread Index
     Date Index

Google
>

Home

Wise2Food



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Mode 13h



the bit shifting stuff could be applied but regarding
the "far" keyword, it is not recognised in protected
mode compilers like DJGPP.

Nikhil.


--- Tommi Pirinen <tommi.pirinen@dlc.fi> wrote:
> for some reason most of the modern compiles compile
> this code but it doesn't
> work.
> and actually  faster method than y*320 is
> (y<<6)+(y<<8) but that isn't
> necessary for modern computers they are too fast
> anyways.
> And for some compilers it has to be unsigned char
> far. and color must be
> unsigned char (0 - 255).
> about the outportb you use. isn't 0x3C9 Palette
> address.  so writing
> anything to that address will change the value for
> that palette index (which
> is set via 0x3c7 I think)
> correct me if I'm wrong as I'm typing this in a bit
> hurry and don't have
> time to check the information.
> --Tommi Pirinen
> ----- Original Message -----
> From: Nick Hill <nikhilwiz@yahoo.com>
> To: <gameprogrammer@gameprogrammer.com>
> Sent: Wednesday, September 08, 1999 5:27 AM
> Subject: Re: Mode 13h
> 
> 
> > make a pointer to 0xA000
> > unsigned char *VidMem=0xA000. This makes a pointer
> to tha vid. mem.
> > Mode 13h is a linear buffer where 1 byte
> represents one pixel. u can
> > plot a pixel by writing the color of tha pixel to
> tha particular mem.
> > loc. Since the data in the vid. mem. start from
> (0,0) and proceeds
> > along tha row, the first 320 bytes represents tha
> first row., u get tha
> > idea. so tha formula to calc. tha byte at (x,y) on
> screen will be :
> >
> > pos=y * 320 + x;
> > VidMem[pos]=color;
> >
> > where color is tha color of tha pixel u wanna
> plot. Keep it under 255,
> > as Mode 13h s'portz only that much. thazz why tha
> data type on VidMem
> > also is defined as unsigned char... so that u wont
> end up writing
> > NEthin' oth' than 0-255. Hope this helped.
> >
> > Nikhil.
> >
> > --- Peter Peterssen <getoutnow@Hotmail.com> wrote:
> > > Hello..
> > >
> > > Mode 13H. Wow. Then, perhaps you can tell me how
> the
> > > heck I draw a dot on
> > > the screen like X and Y ?
> > >
> > > I do call 0xA0000 and the use the..
> > > outportb(0x3c9, red);
> > > outportb(0x3c9, green);
> > > outportb(0x3c9, blue);
> > >
> > > .. for the background layout and then ..
> > >
> > > b= 0;
> > > pokeb(0xa0000, B,30)
> > >
> > > .. for the actual dot.
> > >
> > > This doensnt work unless i add 1 to red OR green
> OR
> > > blue. ( I dont see the
> > > dot on the screen).
> > >
> > > So, as you see Im totaly lost and really dont
> get
> > > the whole thing. Do you
> > > have an example how to structure something?
> > >
> > >
>
______________________________________________________
> > > Get Your Private, Free Email at
> > > http://www.hotmail.com
> > >
>
=================================================================
> > > To SUBSCRIBE or UNSUBSCRIBE please visit
> > > http://gameprogrammer.com/mailinglist.html
> > >
> >
> > __________________________________________________
> > Do You Yahoo!?
> > Bid and sell for free at http://auctions.yahoo.com
> >
>
=================================================================
> > To SUBSCRIBE or UNSUBSCRIBE please visit
> > http://gameprogrammer.com/mailinglist.html
> 
>
=================================================================
> To SUBSCRIBE or UNSUBSCRIBE please visit
> http://gameprogrammer.com/mailinglist.html
> 

__________________________________________________
Do You Yahoo!?
Bid and sell for free at http://auctions.yahoo.com
=================================================================
To SUBSCRIBE or UNSUBSCRIBE please visit
http://gameprogrammer.com/mailinglist.html