Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!watmath!clyde!caip!lll-crg!lll-lcc!qantel!hplabs!tektronix!uw-beaver!uw-june!entropy!dataio!bright From: bright@dataio.UUCP (Walter Bright) Newsgroups: net.text,net.micro.mac,net.micro.pc Subject: Re: Possible BUG in AZTEC C??? Message-ID: <1032@dataio.UUCP> Date: Mon, 30-Jun-86 13:21:23 EDT Article-I.D.: dataio.1032 Posted: Mon Jun 30 13:21:23 1986 Date-Received: Wed, 2-Jul-86 05:33:50 EDT References: <298@umt.UUCP> <2261@usceast.UUCP> Reply-To: bright@dataio.UUCP (Walter Bright Organization: Data I/O Corp., Redmond WA Lines: 22 Xref: watmath net.text:1193 net.micro.mac:6775 net.micro.pc:8934 In article <2261@usceast.UUCP> godawski@usceast.UUCP (Mike godawski) writes: >To do my thesis work, I have been using Aztec C compiler on a Speary IT >computer equipped with an IBM EGA (256K ega ver). Since the compiler >does not know what the ega is, I had to write (copy from books) some >routines that seem to display my images correctly. >The problem seems to come when I compile my programs with the (+F) option >on the compiler. This option supposedly creates Fast code. When I >compile my routines with the +F, my program runs, but my images are >displayed in a strange repeating pattern on the screen. When I omit the >+F, my program works perfectly. >Can there be some REAL reason for this to happen? Optimization strikes again! Code that deals with device registers and such usually cannot be optimized by classic optimization techniques. The solutions are: 1) Isolate the code that writes to the EGA to a separate module, and compile just that module with optimization turned off. 2) Use the 'volatile' type modifier on the accesses to the hardware. Of course, I don't know if Aztec supports volatile, but Datalight C does.