www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1993/06/07/23:55:45

From: sandmann AT clio DOT rice DOT edu (Charles W. Sandmann)
Subject: graphics mystery solved
To: dj AT ctron DOT com, djgpp AT sun DOT soe DOT clarkson DOT edu (djgpp)
Date: Mon, 7 Jun 1993 21:52:26 -0600 (CDT)

I ran both my compiled version of GO32 1.10 (which works with graphics) and
the distributed version of GO32 1.10 (which doesn't work with graphics) in 
a real mode debugger and have found out why one works and the other doesn't.  
The problem is with the way the compilers handle inline assembler mixed with 
an assignment statement to prev_es in routine graphics_mode in graphics.c .  
This modification was introduced with the VESA support modifications.

The assignment to prev_es uses AX as a temporary register in DJ's 
distributed version, wiping out the value that should be sent to the
graphics driver.

The fix is to back out the VESA stuff (or fix it) in graphics.c

- Raw text -


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