From: horus AT prima DOT ruhr DOT de Newsgroups: comp.os.msdos.djgpp Subject: Please help: VESA and linear frame buffer Date: Tue, 27 Jan 1998 15:30:20 GMT Organization: Prima e.V. Lines: 96 Message-ID: <34cdfd3a.2510437@news.prima.ruhr.de> NNTP-Posting-Host: horus.prima.de To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Precedence: bulk hi can anyone help me with this program ? I want to put a pixel in 600x640x256 mode. it compiles fine without warnings but I get no pixel on the screen "def.h" = some typedefs and include stuff "vesa.h" is the same like in allegro (/src/djgpp/vesa.c ) #include "def.h" #include "vesa.h" int main(void) { unsigned long linear_address; unsigned char *screen; FILE *log; MODE_INFO mode_info; __dpmi_regs regs; __dpmi_regs regs2; __dpmi_meminfo mem; log=freopen ("LOG.DAT", "wr", stderr); /* get VESA_INFO */ /* --- cut --- */ /* get MODE_INFO */ assert(sizeof(MODE_INFO) < _go32_info_block.size_of_transfer_buffer); regs.x.ax=0x4F01; regs.x.cx=0x101; regs.x.di=__tb & 0x0F; /* offset */ regs.x.es=(__tb>>4) & 0xFFFF; /* segment */ __dpmi_int(0x10, ®s); dosmemget (__tb, sizeof(MODE_INFO), &mode_info); /* fprintf the structure to LOG.DAT */ /* --- cut --- */ /* check for linear address support */ /* --- cut --- */ /* get linear address */ mem.size=(unsigned long) \ (mode_info.XResolution*mode_info.YResolution); mem.address=mode_info.PhysBasePtr; if (0!=__dpmi_physical_address_mapping(&mem)){ fprintf (stderr, "physical_address_mapping failed !\n"); } linear_address=mem.address; fprintf (stderr, "\nsize =%d \n",mem.size); /* set mode 600x480x256 */ regs2.x.ax=0x4F02; regs2.x.bx=0x101; __dpmi_int (0x10, ®s2); if (regs2.x.ax!=0x4F){ return 1; fprintf (stderr, "no \n"); } fprintf (stderr, "yes \n"); screen=(unsigned char *)linear_address; __djgpp_nearptr_enable(); /* put_pixel direct */ screen[2+__djgpp_conventional_base]=10; while (!kbhit()); /* set text mode */ regs.x.ax=0x03; __dpmi_int(0x10, ®s); __djgpp_nearptr_disable(); fclose (log); return 0; } my video card supports VESA 2.0 and linear frame buffer. Could anyone tell me what I am making wrong ? thanks for your time