I think current BIOSes have compatability for mapping usb keyboards to
legacy areas. Not that this will stay forever, but solves the issue for
now.
–
Dan
-----Original Message-----
From: Wesley Witt [mailto:xxxxx@veritas.com]
Sent: Thursday, December 14, 2000 11:21 AM
To: green, daniel
Subject: RE: [ntfsd] Re: Keypress at boot time
also, what about usb keyboards, which all new machine will use in the near
future?
-----Original Message-----
From: green, daniel [mailto:xxxxx@emc.com]
Sent: Thursday, December 14, 2000 6:28 AM
To: File Systems Developers
Subject: [ntfsd] Re: Keypress at boot time
This method will only work depending on what time your driver is
loading (HalDisplayString will not function if to early in the process).
What I have done, which has some caveats is:
- the component maps in the MDA mode 7 video buffer (phys mem address
0xb0000)
- then the keyboard status and i/o ports are mapped in (phys port 0x60,
0x64)
- the text message is displayed by writing directly to the text mode buffer
- the keyboard is polled for the key make scancode
- jump to 4 until timeout period expires
- unmap resources and return result
The caveats are:
a) This only works on machines that have PC ‘standard’ hw mappings.
i.e. any far east (PC-98xx) machines have problems.
b) Machines that start up in any other mode than MDA-7 won’t work.
You need to manipulate based on VGA style
c) a subset of (a) Non-standard (OEM) hw platforms that remap hw
ports will have issues as well.
I have thought of solutions for each of these, but haven’t implemented them
yet.
a) detect far east machines by checking bios for appropriate
signatures and using different keyboard and video style based on their spec
b) detect vga text mode and output unicode chars instead of text
chars
c) detect resources using ACPI, APM, BIOS or similar interfaces, map
keyboard and video info based on detected values
I would like to know if anyone has any far east PC-98xx specs in english. I
have found web hits for many docs, but I don’t know japanese so they haven’t
been much help.
Here are the references I use for these interfaces:
- The Programmers PC Sourcebook - Hogan - ISBN 1-55615-118-7
Probably out of print but I have found this a top notch reference
and have been using it since I purchased it in 1988
- The shareware helppc program by Jurgens. This has a lot of great
low-leval hw info as well and can been found out many shareware sites
–
Dan
-----Original Message-----
From: Max Lyadvinsky [mailto:xxxxx@telecom.sins.ru]
Sent: Thursday, December 14, 2000 3:11 AM
To: File Systems Developers
Subject: [ntfsd] Re: Keypress at boot time
PUCHAR KeyboardPort = 0x60; // Keyboard port
HalDisplayString(“Press space to cancel loading\n”);
while (READ_PORT_UCHAR(KeyboardPort)!=57); // Wait for scan code of space
while (READ_PORT_UCHAR(KeyboardPort)==57); // Wait user unpress space
Add a timeout at the first while and you’ll get what you want.
??: Neil Weicher[SMTP:xxxxx@netlib.com]
???: File Systems Developers
???: 13 ??? 2000 ?. 23:35
???: File Systems Developers
???: [ntfsd] Keypress at boot time
Does anyone know how to simulate the SoftIce “press escape to cancel
loading…” technique? I’d like to cancel loading of my driver if the user
presses Escape.
Thanks.
Neil
You are currently subscribed to ntfsd as: xxxxx@telecom.sins.ru
To unsubscribe send a blank email to leave-ntfsd-$subst(‘Recip.MemberIDChar’)@lists.osr.com
You are currently subscribed to ntfsd as: xxxxx@emc.com
To unsubscribe send a blank email to leave-ntfsd-$subst(‘Recip.MemberIDChar’)@lists.osr.com
You are currently subscribed to ntfsd as: xxxxx@veritas.com
To unsubscribe send a blank email to leave-ntfsd-$subst(‘Recip.MemberIDChar’)@lists.osr.com
You are currently subscribed to ntfsd as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntfsd-$subst(‘Recip.MemberIDChar’)@lists.osr.com