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"