Mail Archives: djgpp/1994/02/15/03:13:28
>
> 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 -