Message-Id: <199605092338.TAA14382@eelab.newpaltz.edu> Comments: Authenticated sender is From: "John Fortin" To: djgpp AT delorie DOT com Date: Thu, 9 May 1996 18:35:14 +0000 Subject: something strange with printf This one is strange. I'm learning how to use the svga card on my box. I wrote the attached program to get the characteristics of the card. This is a standard VESA 1.2 call (0x00). I also wanted to see the location of the transfer buffer __tb. I wanted to compare what I saw after with what was there (using debug) The strange part is with this line in svga.c : printf("TB Address %lx %lx\n",__tb, (__tb/16)&0xffff); If it is commented out, everything seems to work fine with the following output: VGAInfoBlock size 256 VESASignature VESA VESA Version 1.258 VESA Capabilities 0 # of 64k Blocks 8 OEMString Address: 4b860 c0001d11 SEGMENT c000 OFFSET 1d11 Cirrus Logic GD-54xx VGA VideoModePointer Address: 4b65c 24110014 SEGMENT 2411 OFFSET 14 If I try to use the line I get the following: TB Address 24110 2411 VGAInfoBlock size 256 VESASignature TB A VESA Version 100.25700 VESA Capabilities 0 # of 64k Blocks 12596 OEMString Address: 4b860 73736572 SEGMENT 7373 OFFSET 6572 VideoModePointer Address: 4b65c 32203031 SEGMENT 3220 OFFSET 3031 The even stranger part, to me anyway, is that if I send the output to a file instead of the screen, OR if I send it to con:, the output is correct. Any ideas?? I hope it is something I am doing. TIA John E. Fortin fortin44 AT eelab DOT newpaltz DOT edu