Date: Mon, 13 Dec 1993 07:04 EST From: "Wonkoo Kim, EE, U. of Pittsburgh" Subject: patch for bioskey() To: djgpp AT sun DOT soe DOT clarkson DOT EDU Hi. The following patch for bioskey() must be confirmed, since I don't have any reference to int86(), and thus possibly my patch may not be right. My tests showed that bioskey() was broken instead of int86(), and the following patch worked well in my programs. I tried to rebuild libc.a and libc_p.a, but my system hanged in middle of building, likely due to insufficient disk space. (Also I got many warning messages, mostly pointer type mismatch ...) So, I patched library binary files instead of cleaning up for disk space. Though it is not a right way, for quick patches for libc.a and libc_p.a (from 1.11 standard distribution), search "04 75 0C 8B 45 E0 EB 09 90 ...", and then replace the first byte 04 to 40. (Use 'diskedit' of Norton Utilities or equivalents.) This binary patch is at your own risk, but please wait until someone confirms my patch. Please someone confirm this patch: *** bioskey.org Mon Oct 4 19:38:16 1993 --- bioskey.c Mon Dec 13 04:06:10 1993 *************** *** 10,14 **** { case 0: return regs.x.ax; ! case 1: if ( (regs.x.flags & 0x4 ) == 0x4 ) return 0; else return regs.x.ax; case 2: return regs.h.al; --- 10,14 ---- { case 0: return regs.x.ax; ! case 1: if ( (regs.x.flags & 0x40 ) == 0x40 ) return 0; else return regs.x.ax; case 2: return regs.h.al; Regards, Wonkoo wkim AT vms DOT cis DOT pitt DOT edu