Subj : Re: cputs does not work in graphics-modi ? To : borland.public.cpp.borlandcpp From : Bob Gonder Date : Sat Sep 10 2005 10:15 am R.Wieser wrote: >> >And that seems to be the problem : the system forces restrictions that >are >> >not correct for the screen-mode I've choosen. >> >> "Not correct" now, or back when the compiler was new? > >Would be a bit difficult for me to look to "back when" would it not ? No, quite easy. Look at the documentation from "back then". >But do you think that mode 12h (driver=vga, mode=vgahi) would have changed >in between ? As far back as I can see mode 12h has allways been 80x30 text No, it has always been listed in the manuals as 640x480 graphics mode. It has never been listed as a text mode, and certainly not as a text window. gotoxy() is a text-window function. >> If you are choosing a screen mode that doesn't support those >> functions, then there is no surprise that they don't do what you want. > >You're assuming something I didn't. But it actually does not matter : No, I'm assuming that what you are saying is what you are doing. Mode 12h is a graphics mode, and is being used with text commands, which is not "supported" by the C language. That the Hardware and Bios support it is irrelevant. >Am I hearing a Gates-adept here ? "new versions are better than old >version, whatever the reason" :-) New version support new hardware. You'll have a Dickens of a time getting BCC to support 5GB files. >I'm sorry ? The bios console-output works without any problems (after I cputs() is documented to write to a text window, not a graphics window. It is documented to be able to use Bios calls to do so. It is Not documented that said Bios calls will work on graphics screens. That bios console-output "happens to work" on a graphics screen is a nice feature from the people who wrote the Bios, but is not a documented feature of BCC. >set the "directvideo"-switch you've shown me to 0x00), only the compiler is >currently limiting the cursor-movement. Is that a good reason to "just >ditch it" and use a (as far as I consider it) work-around ? Other way around. cputs() is the work-around. outtext() and outtextxy() are the proper methods. >As for work-around ? I can use INT 10h, ah=02h to move the cursor >whereever I want it to go (and use the normal console-output commands). >But I'd rather not. That's your choice. .