delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1994/12/13/21:43:31

Date: Tue, 13 Dec 94 11:35:32 PST
From: baca AT crl DOT ucsd DOT edu (Kevin Baca)
To: djgpp AT sun DOT soe DOT clarkson DOT edu
Subject: DPMI convenience funcs

I am trying to work with VESA functions using GO32's convenience functions
(_go32_dpmi....).  The convenience functions crash while the dos (int86)
functions do not.  If I try to access other BIOS functions (e.g. 13H) 
using the convenience functions, they work fine.  Below are two of my
examples.  The first works.  The second locks up the system.  Any ideas?

The following works:

#include <dos.h>

void main(void)
{
	union REGS iregs, oregs;
	
	iregs.x.ax = 0x4f02;		/* VBE set mode function */
	iregs.x.bx = 0x101;		/* 640x480x256 mode */
	int86(0x10, &iregs, &oregs);
}

The following crashes:

#include <dpmi.h>

void main(void)
{
	_go32_dpmi_registers iregs;
	
	iregs.x.ax = 0x4f02;		/* VBE set mode function */
	iregs.x.bx = 0x101;		/* 640x480x256 mode */
	iregs.x.ss = iregs.x.sp = 0;
	_go32_dpmi_simulate_int(0x10, &iregs);
}


-Kevin Baca

- Raw text -


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