From: Lars Damerow Subject: Protected mode VESA again... To: djgpp AT sun DOT soe DOT clarkson DOT edu Date: Thu, 9 Mar 1995 20:10:17 -0500 (EST) Hello, it's me again! I'm having a new problem with performing VESA interrupts. I managed to get interrupt 0x4f00 working, and it moves data into a DOS buffer that's been allocated with _go32_dpmi_allocate_dos_mem. The interrupt is generated using _go32_dpmi_simulate_int. My problem now is that I'm trying to use a similar interrupt - int 0x4f01 - in exactly the same way, but the computer just hangs when the interrupt is generated. Has anyone else had similar problems? Here's the code for my function: void getmodeinfo (word mode) { _go32_dpmi_registers r; _go32_dpmi_seginfo sinfo; sinfo.size=(256+15)/16; /* Need 256 bytes */ _go32_dpmi_allocate_dos_memory(&sinfo); /* grab some DOS memory */ memset(&r,0,50); /* zero out the registers */ r.x.ax=0x4f01; /* select mode info int */ r.x.cx=mode; /* set up registers */ r.x.ss=r.x.sp=0; r.x.di=sinfo.rm_offset; /* point segments to */ r.x.es=sinfo.rm_segment; /* buffer in DOS mem */ _go32_dpmi_simulate_int (0x10,&r); /* generate interrupt */ dosmemget(sinfo.rm_segment*16, 256, (void *)&vesainfo); } Maybe I'm missing something really simple and I'm going to feel stupid about it later, but for now I'm stuck. I appreciate any help. Thanks a lot! Lars R. Damerow bb07779 AT bingsuns DOT cc DOT binghamton DOT edu (ugly, isn't it?)