Force screen size when testing embedded DOS app in Windows 7 command window
- by tomlogic
I'm doing some embedded DOS development with OpenWatcom (great Windows-hosted compiler for targeting 16-bit DOS applications). The target hardware has a 24x16 character screen (that supposedly emulates CGA to some degree), and I'm trying to get the CMD.EXE window on my Windows 7 machine to stay at a fixed 24x16 without any scroll bars.
I've used both the window properties and MODE CON: COLS=24 LINES=16 to get the screen size that I wanted, but as soon as my application uses an INT10 BIOS calls to clear the screen, the mode jumps back to 80x24.
Here's what I'm using to clear the screen:
void cls(void)
{
// Clear screen and reset cursor position to (0,0)
union REGS regs;
regs.w.cx = 0; // Upper left
regs.w.dx = 0x1018; // Lower right (of 16x24)
regs.h.bh = 7; // Blank lines attribute (white text on black)
regs.w.ax = 0x0600; // 06 = scroll up, AL=00 to clear
int86( 0x10, ®s, ®s );
}
Any ideas? I can still do my testing at 80x24 (or 80x25), but it doesn't entirely behave like the 24x16 mode.