delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1994/02/15/03:13:28

To: Jim Crigler <jcrigler AT orl DOT mmc DOT com>
Subject: Re: get vga info: int 10, ah == 1b
Cc: DJGPP List <djgpp AT sun DOT soe DOT clarkson DOT edu>
Reply-To: pgf AT Cayman DOT COM
Date: Mon, 14 Feb 94 10:48:59 EST
From: Paul Fox <pgf AT Cayman DOT COM>

 > 
 > Be careful of the answer you get here Paul.  When I was trying to get vile
 > 3.62 (and all the subsequent versions) working with respect to this call,
 > someone (DJ himself?) replied with a possible solution which I tried.  It
 > failed abysmally, giving the same result as the DJGPP binary you are currently
 > distributing:  It sets the video mode to CGA 80x25, losing the VGA text
 > resolution, i. e., only 80x25 text, and the dots are large and `coarse'.
 > 
 > It is worth noting that vile 3.61, which still has the original video code
 > from Tuan Dang (who did the original DJGPP port), which I still (sadly) use
 > on my laptop does the video mode switching properly (even with go32 1.11maint1).

thanks jim -- i'll take a look at that old code.  

in the meantime, i've tracked down my immediate problem with int 10/1b -- i
had two things wrong.  i was a) passing the same size to dosmemget() that i
passed to _go32_dpmi_allocate_dos_memory(), which of course is off by a
factor of 16, and b) i didn't realize that gcc doesn't pack structures by
default, so the declaration of the struct filled in by the int10/1b call
was 4 bytes too long.

[ aside: if i have the following struct:
	struct {
		char a;
		short b;
	} foo;
  where do i need to put the "__attribute__ ((packed))" keywords?  the
  shotgun approach to programming says do this:
	struct {
		char a __attribute__ ((packed));
		short b __attribute__ ((packed));
	} foo __attribute__ ((packed));
  but i'll bet they're not all necessary...
]

paul

(p.s. thanks for the vile plug, jim... the more people on this list that
use it, the less time _i'll_ have to spend debugging it under djgpp!  ;-)


- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019