I wrote: > [While I'm in GRUB] I can type exactly *one* character on the usb keyboard. > When trying to > read a second character from the keyboard, the system hangs.
I'd say this is an Apple BIOS bug. The following INT 16, Function 0 BIOS call (GET KEYSTROKE) hangs: (tested from DEBUG.EXE, using a Windows ME boot floppy / CD) MOV AH, 0 INT 16 But checking with INT 16, Function 1 (CHECK FOR KEYSTROKE) and waiting until a keystoke is available, then calling INT 16, Function 0 works just fine: wait: MOV AH, 1 INT 16 JZ wait MOV AH, 0 INT 16 I've modified GRUB with this patch, and now I have a working keyboard inside GRUB: diff -ru ../opensolaris-20060404/usr/src/grub/grub-0.95/stage2/asm.S usr/src/grub/grub-0.95/stage2/asm.S --- ../opensolaris-20060404/usr/src/grub/grub-0.95/stage2/asm.S 2006-04-05 23:28:21.000000000 +0200 +++ usr/src/grub/grub-0.95/stage2/asm.S 2006-04-12 19:09:52.939626580 +0200 @@ -2127,6 +2164,11 @@ ENTRY(console_getkey) push %ebp +wait_for_key: + call EXT_C(console_checkkey) + incl %eax + jz wait_for_key + call EXT_C(prot_to_real) .code16 This message posted from opensolaris.org _______________________________________________ opensolaris-discuss mailing list opensolaris-discuss@opensolaris.org