Date: Thu, 26 Mar 92 09:41:27 -0600 From: miguel AT roxanne DOT nuclecu DOT unam DOT mx (Miguel de Icaza A.) To: N DOT Berrington AT ecs DOT southampton DOT ac DOT uk Cc: djgpp AT sun DOT soe DOT clarkson DOT edu Subject: Bios problem Status: O Maybe this helps you: Remember that Int 0x16 returns ZF=(0|1) depending on the keyboard buffer status, so don't use bioskey that way, maybe this works: int readkey() { union REGS in, out; in.h.ah = 0; in.h.al = 0; int86(0x16,&in,&out); return out.h.al; } int kbhit () { union REGS in, out; in.h.ah = 1; in.h.al = 0; int86(0x16,&in,&out); return out.flags.zero.flag == 0; } if (kbhit()) if (readkey() == CONTROL_Q) abort_eval(2); Hope this works. Miguel de Icaza Universidad Nacional Autonoma de Mexico