Moved from our bugzilla item 1744 to here:
Not a bug but a feature request :-)
in DOS (incl. MS-DOS and Win-DOS-Box) the Keyboard shows a certain behavior:
If the Keyboardbuffer is full (the application didn't fetch/read enough
keystrokes or a key is stuck down), with each additional keystroke, the system
freezes for a short moment in order to do a BEEP.
This is not really usefull:
1.) Many todays computers (especially embedded applications) don't have the
original loudspeaker anymore -> beeps are useless anyway
2.) If this case happens the system "freezes", the beeps take 100% CPU, and the
application is halted (e.g. also affecting serial line transfers etc.)
3.) In case the keyboard buffer is full, keystrokes get lost anyway, no matter
if it beeps or not, but freezing the application.
4.) An unintentional stuck down key (generating auto repeats) can freeze the
whole system, making to impossible to operate (e.g. to react accordingly)
In case this behavior is really necessary and desired (for compatibility
reasons) it should be at least possible to turn it on/off via command line
*Aitor Santamaria* 2004-01-30
Requested feature: prevent BIOS from notifying from a full buffer, so that it does not beep.
Annotated as a feature for when the /B switch is implemented.
/B Disable any sound alert
This is intended to block beeping sources, that so far where
(a) when the buffer is full
(b) when a second character of a diacritic sequence (COMBI) is not admitted
(c) command !162
and that now adds
(d) when BIOS buffer is already full (we don't send the new character to BIOS)
Partial solution: Use a larger keyboard buffer. The SVN
sources of the kernel now contain code for a new config.sys option for that, so you need no extra tools :-). Example:
The example allocates a buffer for 104 keys (default buffer is only 16 keys) in a space which is only used by BASICA, so there should be no side effects usually.