delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1998/12/22/09:45:38

Message-ID: <8D53104ECD0CD211AF4000A0C9D60AE337C6A6@probe-2.Acclaim-Euro.net>
From: Shawn Hargreaves <ShawnH AT Probe DOT co DOT uk>
To: djgpp AT delorie DOT com
Subject: Re: old VGA laptop mode 13h problems
Date: Tue, 22 Dec 1998 14:43:10 -0000
MIME-Version: 1.0
X-Mailer: Internet Mail Service (5.0.1460.8)
Reply-To: djgpp AT delorie DOT com

Simon writes:
> I am going away for a few days and have borowed an old 
> 386 laptop for coding (yes I know its ridiculously slow) but I need
> to use it, anyway I have probems setting any screen mode from
> the dpmi int code such as :
>
> #define SET_MODE_FUNCTION 0x4F02
> #define VIDEOBIOS 0x10
>
> void SetVideoMode(int mode){
>    __dpmi_regs registers;
> 
>    registers.x.ax=SET_MODE_FUNCTION;
>    registers.x.bx=mode;
>    __dpmi_int(VIDEOBIOS,&registers);
> }

You are calling a VESA function (int 0x10, ax=0x4F02), but the chances 
are that you don't have any VESA driver installed on this machine. 
Either get a VESA driver, if one exists for this machine, or use 
standard video BIOS routines instead. Mode 0x10 is a standard VGA 
resolution, so there is no need to be calling VESA at all for this. 
Try something like:

   __dpmi_regs r;
   r.x.ax = 0x10;
   _dpmi_int(0x10, &r);


	Shawn Hargreaves.


- Raw text -


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