Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!sdd.hp.com!usc!srhqla!demott!kdq From: kdq@demott.COM (Kevin D. Quitt) Newsgroups: comp.os.msdos.programmer Subject: 25 vs. 43 lines, 80 vs 40 columns Message-ID: <475@demott.COM> Date: 10 Aug 90 18:28:24 GMT Reply-To: kdq@demott.COM (Kevin D. Quitt) Organization: DeMott Electronics Co., Van Nuys CA Lines: 60 Ok, folks, I need help. I've got a system where I'm switching back and forth between graphics mode, 80x25, 80x43, and 40x25. I have yet to find a completely reliable way of changing from each of these to any of the others. Using MSC's _setvideomode doesn't hack it, because they don't support 43/50 line mode. Here's my code (condensed): For 80 by 25 mode, I've tried both of the following. This generally seems to work, but not always. regs.x.ax = 0x0003; Technique 1 int86( 0x10, ®s, ®s ); _setvideomode( _DEFAULTMODE ); Technique 2 _setvideomode( _TEXTC80 ); For 40 by 25 mode. It reliably switches to 40 columns, but not to 25 lines. _setvideomode( _DEFAULTMODE ); _setvideomode( _TEXTC40 ); For 80 by 43 mode. This works. set_25_lines(); regs.x.ax = 0x0300; /* Ask about the cursor */ regs.h.bh = 0; int86( 0x10, ®s, ®s ); regs.x.ax = 0x1112; /* Load ROM 8x8 double-dot font */ regs.h.bl = 0; /* Page zero */ int86( 0x10, ®s, ®s ); Graphics mode (EGA 640 by 350, 16 colours) regs.x.ax = 0x0010; This doesn't work int86( 0x10, ®s, ®s ); _setvideomode( _ERESCOLOR ); This does. Has anybody got code that does this that really works? -- _ Kevin D. Quitt demott!kdq kdq@demott.com DeMott Electronics Co. 14707 Keswick St. Van Nuys, CA 91405-1266 VOICE (818) 988-4975 FAX (818) 997-1190 MODEM (818) 997-4496 PEP last 96.37% of all statistics are made up.