Path: utzoo!utgpu!news-server.csri.toronto.edu!bonnie.concordia.ca!uunet!mcsun!unido!fauern!lan!rommel From: rommel@lan.informatik.tu-muenchen.dbp.de (Kai-Uwe Rommel) Newsgroups: comp.os.os2.programmer Subject: Re: Using VioSetMode Message-ID: <6579@tuminfo1.lan.informatik.tu-muenchen.dbp.de> Date: 15 Jan 91 13:33:55 GMT References: <2593@excelan.COM> Sender: news@lan.informatik.tu-muenchen.dbp.de Reply-To: rommel@lan.informatik.tu-muenchen.dbp.de (Kai-Uwe Rommel) Distribution: comp.os.os2.programmer comp.os.os2.misc Organization: Inst. fuer Informatik, TU Muenchen, Germany Lines: 28 In article <2593@excelan.COM> colin@la.excelan.com (Colin Goldstein) writes: >I have a question about using VioSetMode. I find that it only works >some times. If I have the display in 80*50 mode and use VioSetMode >to change it to 80*25, it works. However, if I'm in other modes such >as 80*34 it does not work at all. And if I'm in 80*12 or 80*43, it >only partially works. Although the screen changes to the correct >number of lines, the font is not the default font. > viomi.cb = sizeof(viomi); > VioGetMode(&viomi, 0); > > viomi.row = 25; > viomi.col = 80; > VioSetMode(&viomi, 0); Try setting the hres and vres fields (screen pixel width/height) to to appropriate values. For example, while 80x25 and 80x50 both work with 720x400, 80x34 works with 720x480! This should solve your problem. Always calculate hres and vres from row/col and the font size (9x16, 9x14 and 9x8); hres is always 720 on VGA, vres has to be set by you. Kai Uwe Rommel -- /* Kai Uwe Rommel, Munich ----- rommel@lan.informatik.tu-muenchen.dbp.de */ DOS ... is still a real mode only non-reentrant interrupt handler, and always will be. -Russell Williams (MS)