Subj : Re: Wayne King (disregard ealier question) BIOS interrupt To : borland.public.cpp.borlandcpp From : "Gonzalo Núñez" Date : Fri Aug 22 2003 09:46 am Hi Rob. Here's a quick snip of code that gets the char and attribute from screen at position 'x', 'y'. Note that the function accesses directly the screen buffer. Note that the text in the screen buffer is ordered in two-byte pieces: one for the attribute, and one for the actual text character. Be warned though, I wrote this from memory and haven't tested, it can have errors!!! unsigned int char_at( int x, int y ) { // // Set up a pointer to the screen buffer // char __far* scrSeg = (char*)0xB8000000L; // // Calculate the 'flat' position from x, y // int charPos = ( y * 80 ) + x; // // Get the character // char textChar = scrSeg[ charPos ]; // // Get the attribute // char attrChar = scrSeg[ charPos + 1 ]; // // Pack them up // unsigned int result = ( attrChar << 8 ) | textChar; // // Return it // return result; }; HTH Gonzalo Núñez Riboni .