[net.micro.att] MS DOS crashes on random keyboard input

mark@cbosgd.UUCP (Mark Horton) (04/18/86)

If I set my 9 month old in front of an IBM PC or an AT&T 6300
and let him pound on the keyboard, in short order he manages
to crash the machine.  (Often the screen goes blank, and much
of the time CTRL ALT DEL won't reboot, I have to do a hard reset.)
This is true at the shell prompt or in an application which has
trapped control C.  It happens with or without FANSI-CONSOLE
watching the keyboard.  I can get it to happen myself if a mimic
his action - I generally have to type real fast with my palms, and
include the alt/ctl/shift keys in what gets pressed.  Once it crashes,
usually every key I press beeps (with no other effect), as if the keyboard
buffer were full.

Both machines run DOS 2.1 (2.11 for the 6300.)  The same thing on a
6300 plus (running 3.1) will not crash the machine.

Does anyone know what's going on here?  Would getting DOS 3.? for a
non-segmented machine solve the problem?  Is it something about the
80286?  Or just a bug that's been recently fixed?  Is it possible to
modify an application program to be bulletproof enough to survive
this, even on a DOS 2.1 or so?

Also, I'm interested in changing the keyboard routine in a C program
to provide keyclick - my kids love that.  I can't find any documentation
about how to make a noise, except from BASIC.  I can call assembly language
if necessary, although I'd rather do it from C (Microsoft C lets me get
at DOS, BIOS, and interrupts.)  I'd like to fiddle with the frequency
and duration, if possible.  Also, if there's a way to control the rate
at which the keyboard auto-repeats, I'd appreciate that info.
Any pointers or suggestions would be appreciated.

Thanks,

	Mark

bc@cyb-eng.UUCP (Bill Crews) (04/22/86)

> If I set my 9 month old in front of an IBM PC or an AT&T 6300
> and let him pound on the keyboard, in short order he manages
> to crash the machine.  (Often the screen goes blank, and much
> of the time CTRL ALT DEL won't reboot, I have to do a hard reset.)

Try doing the same thing at a shell prompt on a Unix terminal, and be sure
to include the Ctrl and Esc keys.  For that matter, try the same thing on
a 3270 attached to a 370, and include the Sys Req key.  I imagine it is
possible to insulate the terminal/PC availablility from hostile attack,
but probably not without significant reduction in usability.

-- 
	- bc -

..!{seismo,topaz,gatech,nbires,ihnp4}!ut-sally!cyb-eng!bc  (512) 835-2266

mark@cbosgd.UUCP (Mark Horton) (04/25/86)

In article <810@cyb-eng.UUCP> bc@cyb-eng.UUCP (Bill Crews) writes:
>> If I set my 9 month old in front of an IBM PC or an AT&T 6300
>> and let him pound on the keyboard, in short order he manages
>> to crash the machine.  (Often the screen goes blank, and much
>> of the time CTRL ALT DEL won't reboot, I have to do a hard reset.)
>
>Try doing the same thing at a shell prompt on a Unix terminal, and be sure
>to include the Ctrl and Esc keys.  For that matter, try the same thing on
>a 3270 attached to a 370, and include the Sys Req key.  I imagine it is
>possible to insulate the terminal/PC availablility from hostile attack,
>but probably not without significant reduction in usability.

I can't speak for a 3270, but I put them in front of a UNIX terminal
at the shell all the time.  I've seen a few strange things, like getting
the terminal into setup mode, or managing to get the login shell to dump
core, but these are pretty rare.  What's more common is they type until
the line buffer fills up, then it beeps continuously (which they love)
until I hit DEL.  But I've never seen UNIX crash, and I've never seen
them get into a state where I can't fix it quickly and easily, and it
never gets into a state where the child doesn't continue to find it
interesting to play with.  (In fact, my Ann Arbor Ambassador keyboard
is by far their favorite, probably due to the keyclick and fast
auto-repeat.)

	Mark

davidsen@steinmetz.UUCP (Davidsen) (04/29/86)

The beep you hear when pressing the keys means that the keyboard buffer
is full. In DOS2.x I seem to recall that the keyboard reset wouldn't
work in that condition. Just for grins, the next time it hangs try
pressing either cntl-Q (to allow output again), or cntl-C to try to get
things unstuck. ESC may also be helpful. Hope some of this helps.
-- 
	-bill davidsen

	seismo!rochester!steinmetz!--\
       /                               \
ihnp4!              unirot ------------->---> crdos1!davidsen
       \                               /
        chinet! ---------------------/        (davidsen@ge-crd.ARPA)

"Stupidity, like virtue, is its own reward"