From: Moo-Juice Newsgroups: comp.os.msdos.djgpp Subject: A few questions Date: Wed, 22 Jan 1997 10:55:01 +0000 Organization: Honest Ron's Car Emporium Lines: 56 Distribution: world Message-ID: NNTP-Posting-Host: flag.demon.co.uk MIME-Version: 1.0 To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Hi all, I have a few questions, most of which I'm sure are probably in the FAQ, but whenever I search through the FAQ I always seem unable to find the relevant information I require... maybe its just me, or maybe it is just obscure headings. Either way, if someone could help me on some of these questions I would most grateful, and if it *is* explained *thoroughly* in the FAQ then a pointer to the relevant chapter/heading would be appreciated 1. The project I'm working on, will be text only. For this reason, I wish to be able to switch between 80x25 & 80x50 video modes. Is it simple just to support these two modes? Which calls would I need to set these, or other text modes? 2. When using other C/C++ compilers, defining a pointer to the video memory was a simple case of 'unsigned far char *video = 0xB800;'. Now I *do* know in DJGPP, it is different. What method would be most advantageous and quick, to define a pointer to the screen and work with offsets from that? On the other C/C++ compilers, setting a character and a value at say, the top left of the screen would be a simple case of; *(video) = 'A'; *(video+1) = 15; (At least I think thats right... knowing me, the above prolly screws up the video pointer)... but would that set the first character to 'A', and white? Whether this is correct or not, how would this be handled in DJGPP? 3. When working with the screen, as you probably know, each element of the screen is 2 characters, the first representing the ASCII value itself, and the second represents the foreground/background colours and (I think) blinking flags. If I had a structure which was made up of 2 chars like this: struct Element { char ASCII; // Ascii character char Col; // Colour }; And lets say I had an array of these: Element Line[80]; This could easily represent an entire line of characters. And if you can imagine that this line array contained simply, 80 characters how would i 'memcpy()' this array to the screen? Hope some of you guys can be of assistance :) -- Moo-Juice