jeff@nmtvax.nmt.edu (- Jeff -) (12/05/89)
This is probably a useless question, but there is a mysterious key on my XT-keyboard called the 'Sys Req' key. I've seen this key on many other IBM and compatible keyboards and I am just curious if anyone knows what it is for and how to access it? I can't seem to find anything in my DOS 3.3 manual about it. Anyone know what this key is for? Just curious... - Jeff - jeff@nmtvax.nmt.edu
wang@m.cs.uiuc.edu (Eric Wang) (12/06/89)
In article <187@nmtvax.nmt.edu> jeff@nmtvax.nmt.edu (- Jeff -) writes: >This is probably a useless question, but there is a mysterious key on my >XT-keyboard called the 'Sys Req' key. I've seen this key on many other >IBM and compatible keyboards and I am just curious if anyone knows what it >is for and how to access it? I can't seem to find anything in my DOS 3.3 >manual about it. Anyone know what this key is for? Just curious... This is only what little I know of SysReq. It does not claim to be a comprehensive, technical treatise. The SysReq key is indeed a special key. Of all keys on the keyboard, it is the only one which is NOT processed through the INT 09 Keyboard interrupt. Instead, it has a special interrupt all to itself (INT 15, I believe). It is a carryover from the days of pre-PC IBM terminals, when it was used to send noninterruptable signals to e.g. an IBM mainframe, for use in establishing a connection and/or starting/ending/otherwise modifying a login session. Though it is little used today by most engineering, business, or recreational programs (can't say about PC-mainframe connectivity programs, as I've never seen one), it remains extremely useful for PC-host connection programs. Its primary strength is the fact that it is not affected by any TSRs or the like that are chained to the keyboard interrupt, so that no matter how badly your runaway program has messed up your keyboard layout, you can always rely on SysReq to come through with its meaning unchanged. One elegant and exceedingly useful use of SysReq was in an ANSI terminal emulation program written by Doug Schafer for use on the rather specialized Ethernet equipment that we had installed at Caltech. This wonderful comm program, which was called Ansi PopTerm, was done as a TSR that would communicate directly with the Ethernet card in the machine when active, and hide in the background when not active. It used SysReq as its hotkey to toggle between the host and the PC. The nice thing about this program was that you could run any application on the PC while you logged into a remote host and ran another application(s) there, then toggle between the two at the touch of a key. My friends and I used it to play Empire, and it beat logging in via Kermit or Cterm hands down, mostly because we could escape back to the PC at the touch of a single key and edit a map file, then pop back to the host, and do this so quickly that it made it feasible to interactively map a scout's entire move. To the best of my knowledge, this program is alive and well and still widely used at Caltech. Let me state right now that I don't know how to write a program to use SysReq. Eric Wang wang@cs.uiuc.edu "Birds of prey know they're cool."
swh@hpcupt1.HP.COM (Steve Harrold) (12/06/89)
Re: SysReq key Isn't this key also used in Microsoft's CodeView to interrupt runaway programs?
cs9a-ax@dorothy.Berkeley.EDU (Mike Morrison) (12/06/89)
In article <1989Dec5.190738.17084@ux1.cso.uiuc.edu> wang@cs.uiuc.edu (Eric Wang) writes: -In article <187@nmtvax.nmt.edu> jeff@nmtvax.nmt.edu (- Jeff -) writes: --This is probably a useless question, but there is a mysterious key on my --XT-keyboard called the 'Sys Req' key. I've seen this key on many other --IBM and compatible keyboards and I am just curious if anyone knows what it --is for and how to access it? I can't seem to find anything in my DOS 3.3 --manual about it. Anyone know what this key is for? Just curious... - -This is only what little I know of SysReq. It does not claim to be a -comprehensive, technical treatise. - -The SysReq key is indeed a special key. Of all keys on the keyboard, it is -the only one which is NOT processed through the INT 09 Keyboard interrupt. -Instead, it has a special interrupt all to itself (INT 15, I believe). It This is at least partially false. On my machine, an XT clone, the sys-req key DOES use int 09. (int 15h is for cassette io). It generates ascii 00, scan code 37h. When num-lock is on it generates ascii 77h, scan code 54h. The rest of the posting sounds ok to me, though -- I don't have any idea what the key is supposed to be used for. Mike Morrison cs9a-ax@dorothy.berkeley.edu morrison@ocf.berkeley.edu
trier@wrangell..scl.cwru.edu (Stephen Trier) (12/06/89)
Peter Norton's _Programmer's_Guide_to_the_IBM_PC_and_PS/2_ contains a pretty complete description of the Sys Rq key. The key is apparently meant to be used for operating systems, perhaps as a hot key to switch between virtual terminals or to suspend a process and return you to a shell. When it is pressed, the BIOS does an Int 15H with AH=85H and AL=00H. When the key is released, it does the same interupt, but with AL set to 01H instead. That way, your program can use it as a shift key, kind of like Alt. Apparently, very few (if any) programs or operating systems use the key. <=> Stephen Trier sct@po.CWRU.Edu trier@skybridge.scl.CWRU.Edu
c60c-4ab@e260-4c.berkeley.edu (Scott Drellishak) (12/06/89)
In article <20358@pasteur.Berkeley.EDU> cs9a-ax@dorothy.Berkeley.EDU.UUCP (Mike Morrison) writes: >In article <1989Dec5.190738.17084@ux1.cso.uiuc.edu> wang@cs.uiuc.edu (Eric Wang) writes: >-In article <187@nmtvax.nmt.edu> jeff@nmtvax.nmt.edu (- Jeff -) writes: >--This is probably a useless question, but there is a mysterious key on my >--XT-keyboard called the 'Sys Req' key. I've seen this key on many other >--IBM and compatible keyboards and I am just curious if anyone knows what it >--is for and how to access it? I can't seem to find anything in my DOS 3.3 >--manual about it. Anyone know what this key is for? Just curious... >- >-This is only what little I know of SysReq. It does not claim to be a >-comprehensive, technical treatise. >- >-The SysReq key is indeed a special key. Of all keys on the keyboard, it is >-the only one which is NOT processed through the INT 09 Keyboard interrupt. >-Instead, it has a special interrupt all to itself (INT 15, I believe). It > >This is at least partially false. On my machine, an XT clone, the sys-req >key DOES use int 09. (int 15h is for cassette io). It generates ascii 00, >scan code 37h. When num-lock is on it generates ascii 77h, scan code 54h. >The rest of the posting sounds ok to me, though -- I don't have any idea what >the key is supposed to be used for. > >Mike Morrison >cs9a-ax@dorothy.berkeley.edu >morrison@ocf.berkeley.edu On my XT clone, the Sys Req key doesn't generate any ascii or scan codes, and, according to Peter Norton's Programmer's Guide to the IBM PC (not actually called that, but close enough), it generates INT 15H with AH equal to 85H. It says nothing about the use of this key, however. ( Scott Drellishak ( ( "You pays your money and you takes your frame of reference." ( - Joe Haldeman, _The Forever War_
bill@hpcvlx.cv.hp.com (Bill Frolik) (12/07/89)
| This is probably a useless question, but there is a mysterious key on my | XT-keyboard called the 'Sys Req' key. I've seen this key on many other How you use the SYS REQ key is completely up to you. I'm not sure exactly WHY the key is there, or why IBM chose to call it SYS REQ. I think it might have been derived from the old IBM minicomputer consoles and/or their SNA terminals -- the microcomputer market was just getting started, and I don't think anyone really knew what kinds of special keys ought to be on the keyboards... Anyway, SYS REQ has a scancode (54h), but doesn't stick anything the keyqueue, so you generally can't detect it with Int 16h or your run-of- the-mill CON driver. The advertised method for detecting SYS REQ being pressed/released is to intercept the SYS REQ hook in Int 15h and examine AX. The BIOS calls Int 15h with AH=85h whenever SYS REQ changes state. If AL=0, the key has been depressed. If AL=1, it has been released. ________________________________________ Bill Frolik Hewlett-Packard Co. hp-pcd!bill Corvallis, Oregon
djo7613@blake.acs.washington.edu (Dick O'Connor) (12/07/89)
In article <20358@pasteur.Berkeley.EDU> cs9a-ax@dorothy.Berkeley.EDU.UUCP (Mike Morrison) writes: >This is at least partially false. On my machine, an XT clone, the sys-req >key DOES use int 09. (int 15h is for cassette io). It generates ascii 00, >scan code 37h. When num-lock is on it generates ascii 77h, scan code 54h. >The rest of the posting sounds ok to me, though -- I don't have any idea what >the key is supposed to be used for. > My copy of the Much-Feared MSDOS Interrupt List does indeed list cassette functions for Interrupt 15, AH=00, 01, 02, and 03. It also lists Interrupt 15, AH=85 as an OS Hook (System Request Key Pressed) for AT, XT2, XT286, Convertible and PS type machines. Isn't INT 09 usually a keyboard interrupt? "Moby" Dick O'Connor ** DISCLAIMER: It would Washington Department of Fisheries ** surprise me if the Olympia, Washington 98504 ** rest of the Department Internet Mail: djo7613@blake.u.washington.edu ** agreed with any of this!
jonathan@cs.keele.ac.uk (Jonathan Knight) (12/07/89)
From article <1989Dec6.071852.25430@agate.berkeley.edu>, by c60c-4ab@e260-4c.berkeley.edu (Scott Drellishak): > > On my XT clone, the Sys Req key doesn't generate any ascii or scan codes, > and, according to Peter Norton's Programmer's Guide to the IBM PC (not > actually called that, but close enough), it generates INT 15H with AH equal > to 85H. It says nothing about the use of this key, however. I use it as a ^C key when my program isn't writing to the screen or reading the keyboard. Hold down CTRL and hit SYS REQ. Looks like a ^C, acts like a ^C but isn't a ^C. Because its done by an interrupt it should not require DOS to read it and process it, it clears the outstanding chars from the input buffer too. Play with it and see what use it is, it's certainly more useful that ^C. -- ______ JANET :jonathan@uk.ac.keele.cs Jonathan Knight, / BITNET:jonathan%cs.kl.ac.uk@ukacrl Department of Computer Science / _ __ other :jonathan@cs.keele.ac.uk University of Keele, Keele, (_/ (_) / / UUCP :...!ukc!kl-cs!jonathan Staffordshire. ST5 5BG. U.K.
markc@wpi.wpi.edu (Mark B. Cohen) (12/08/89)
In article <1989Dec6.054648.17589@usenet.ins.cwru.edu> trier@skybridge.scl.cwru.edu (Stephen Trier) writes: ]Peter Norton's _Programmer's_Guide_to_the_IBM_PC_and_PS/2_ contains a pretty ]complete description of the Sys Rq key. The key is apparently meant to be ]used for operating systems, perhaps as a hot key to switch between virtual ]terminals or to suspend a process and return you to a shell. When it is ]pressed, the BIOS does an Int 15H with AH=85H and AL=00H. When the key is ]released, it does the same interupt, but with AL set to 01H instead. That ]way, your program can use it as a shift key, kind of like Alt. ] ]Apparently, very few (if any) programs or operating systems use the key. For Microport's System V/AT with DosMerge, the SysReq key _is_ used to switch between virtual terminals under UNIX, or between DOS and UNIX screens when using a Merge (DOS) application. I know some other PC compatible UNIX's have this feature. I don't know if they also use the SysReq key. Microport is now defunct. -- Internet: markc@wpi.wpi.edu "This is drugs... UUCP: uunet!wpi.wpi.edu!markc this is your brain... BITnet: markc@wpi.bitnet this is your breakfast."
schaut@cat9.CS.WISC.EDU (Richard Schaut) (12/08/89)
In article <187@nmtvax.nmt.edu> jeff@nmtvax.nmt.edu (- Jeff -) writes: | This is probably a useless question, but there is a mysterious key on my | XT-keyboard called the 'Sys Req' key. I've seen this key on many other | IBM and compatible keyboards and I am just curious if anyone knows what it | is for and how to access it? I can't seem to find anything in my DOS 3.3 | manual about it. Anyone know what this key is for? Just curious... I'm not positive, but I think IBM added it to their PC keyboards in order to establish some compatibility with the 3270 series terminals. That's also one of the reasons for the addition the f11 and f12 function keys. If you've ever used a terminal emulation package for systems that predate the 101 key board, then you know that PF11 and PF12 were always generated in strange ways. If you're not doing any terminal emulation to an IBM mainframe, you'll never need the Sys Req key. Rick "Any questions? Any answers? Anyone care for a mint?" -- Rita Rudner
brown@vidiot.UUCP (Vidiot) (12/09/89)
In article <1989Dec6.054648.17589@usenet.ins.cwru.edu> trier@skybridge.scl.cwru.edu (Stephen Trier) writes:
<Peter Norton's _Programmer's_Guide_to_the_IBM_PC_and_PS/2_ contains a pretty
<complete description of the Sys Rq key. The key is apparently meant to be
<used for operating systems, perhaps as a hot key to switch between virtual
<terminals or to suspend a process and return you to a shell. When it is
<pressed, the BIOS does an Int 15H with AH=85H and AL=00H. When the key is
<released, it does the same interupt, but with AL set to 01H instead. That
<way, your program can use it as a shift key, kind of like Alt.
<
<Apparently, very few (if any) programs or operating systems use the key.
IGC's VM/386 uses it. You do a Alt-SysRq to bring up the menu manager or
to switch to a different partition. If you don't have the 101 key layout,
then the SysRq key is used by itself.
--
harvard\ att!nicmad\
Vidiot ucbvax!uwvax..........!astroatc!vidiot!brown
rutgers/ decvax!nicmad/
ARPA/INTERNET: <@spool.cs.wisc.edu,@astroatc:brown@vidiot>
leonard@bucket.UUCP (Leonard Erickson) (12/10/89)
cs9a-ax@dorothy.Berkeley.EDU (Mike Morrison) writes: >This is at least partially false. On my machine, an XT clone, the sys-req >key DOES use int 09. (int 15h is for cassette io). It generates ascii 00, >scan code 37h. When num-lock is on it generates ascii 77h, scan code 54h. >The rest of the posting sounds ok to me, though -- I don't have any idea what >the key is supposed to be used for. The SysReq key first appeared on the AT, thus it's operation on the PC, XT, and clones on them is non-defined. The scan codes don't matter. The BIOS processes the scan codes, and that is where an AT BIOS would use INT 15h. (remember, the AT didn't have a cassette port). A similar situation situation exists with respect to using an extended keyboard on one of these machines. The keyboard may have the extended layout, but the scan-codes it sends are those that the XT understands. BTW, 00h 37h is *not* the scan code for SysReq. It's the keycode. That's what the BIOS translates the scancode to. Except for a couple of keys on the extended keyboard, the scan code for a key is always the same. The code for SysReq is 54h. But it takes an incredibly low-level access to the keyboard to ever see scancodes. (hint: the shift keys send scan codes, so if hitting shift doesn't result in a value, you aren't getting the scancodes. -- Leonard Erickson ...!tektronix!reed!percival!bucket!leonard CIS: [70465,203] "I'm all in favor of keeping dangerous weapons out of the hands of fools. Let's start with typewriters." -- Solomon Short
gpitcher@edpmgt.UUCP (Glenn Pitcher) (12/12/89)
In article <187@nmtvax.nmt.edu>, jeff@nmtvax.nmt.edu (- Jeff -) writes: > This is probably a useless question, but there is a mysterious key on my > XT-keyboard called the 'Sys Req' key. I've seen this key on many other > IBM and compatible keyboards and I am just curious if anyone knows what it > is for and how to access it? I can't seem to find anything in my DOS 3.3 > manual about it. Anyone know what this key is for? Just curious... > If I remember correctly, the sys-req is a key that is used on the big IBM's (303x, 308x). Now, you asking, "well, why then is this key on my PC keyboard?" Well, glad you asked. Very early on in the PC's life, there were a couple of specialized products that were produced. These were called the 3270 PC and PC/370(?). The 3270 PC was intended to give people access to both their mainframe and the PC. I belive you could have up to four mainframe sessions, one PC session and two "electronic notepads" for whatever you wanted. Believe it or not, this thing actually had windows! That, if I remember correctly, was pretty rare back in 83-84. The PC/370 was a little more complex. It was designed not only for connecting up to the local monster (mainframe) but it could also execute ost commands locally via an extra processor. Well, hope that answers your questions. If I messed up, I'm quite sure I'll be flamed! :-) -- Glenn Pitcher UUCP: {crash,ucsd}!edpmgt!gpitcher Programmer/Analyst & ARPA: Too many $$$ Unix Guru in training BITNET: A net for runaway programs EDP Management, Inc. =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
dick@slvblc.UUCP (Dick Flanagan) (12/17/89)
In article <1806@bucket.UUCP> leonard@bucket.UUCP (Leonard Erickson) writes: > >The code for SysReq is 54h. But it takes an incredibly low-level access >to the keyboard to ever see scancodes. (hint: the shift keys send scan >codes, so if hitting shift doesn't result in a value, you aren't getting >the scancodes. Scan codes are quite low level. Most keyboards will give you different scan codes for the left and right shift keys, and each key will give you two different codes: one when the key is pressed (the 'make') and another one when the key is released (the 'break'). Dick
bill@hpcvlx.cv.hp.com (Bill Frolik) (12/19/89)
>>This is at least partially false. On my machine, an XT clone, the sys-req >>key DOES use int 09. (int 15h is for cassette io). It generates ascii 00, >>... >The SysReq key first appeared on the AT, thus it's operation on the PC, XT, >and clones on them is non-defined. The scan codes don't matter. The BIOS >processes the scan codes, and that is where an AT BIOS would use INT 15h. >(remember, the AT didn't have a cassette port). >... Int 9h is the keyboard HARDWARE interrupt vector -- ALL keys go through it in true PC-compatible systems. On any transition (up or down), the BIOS Int 9h handler retrieves the key's scancode from the keyboard controller, notes whether it was an up or down transition, and performs an appropriate action. Most of the time that means converting the scancode into a keycode if necessary and stuffing the results into a queue, where it can be later read using Int 16h. Int 9h treats some keys special: instead of getting stuffed in the keyqueue, SYS REQ causes the Int 9h handler to turn around and perform an Int 15h, allowing whoever is fielding Int 15h requests to handle the transition. Modifier keys such as Ctrl, Shift, Alt, and CapsLock set/clear flags in the BIOS RAM "shift state" byte, so that subsequent calls to the Int 9h handler will properly convert scancode to keycode. This "shift state" byte can also be read via Int 16h. Ctrl-Alt-Del gets trapped in the Int 9h handler, causing a "warm boot" flag (1234h) to be stuffed into the word at 40:72, generally followed by a far jump to FFFF:0, causing a reboot. If you want to see ALL keyboard activity, you write your own Int 9h handler. If you simply want to WATCH all keyboard activity without changing the way things are currently handled, intercept Int 9h, examine the keyboard registers without doing anything, and then pass the interrupt on to the real Int 9h handler. ________________________________________ Bill Frolik Hewlett-Packard Co. hp-pcd!bill Corvallis, OR
jeffj@masscomp.ccur.com (Jeff Jonas) (12/19/89)
In article <216@edpmgt.UUCP>, gpitcher@edpmgt.UUCP (Glenn Pitcher) writes: > In article <187@nmtvax.nmt.edu>, jeff@nmtvax.nmt.edu (- Jeff -) writes: > > This is probably a useless question, but there is a mysterious key on my > > XT-keyboard called the 'Sys Req' key. I've seen this key on many other ... > If I remember correctly, the sys-req is a key that is used on the big IBM's > (303x, 308x). Now, you asking, "well, why then is this key on my PC > keyboard?" Well, glad you asked. Very early on in the PC's life, there > were a couple of specialized products that were produced. These were called > the 3270 PC and PC/370(?). I remember in high school, we had a big RJE terminal (keyboard, printer and card reader). In the IBM tradition of "speak when you are spoken to", the keyboard was disabled until the controller was ready to listen. The 'sys req' key requested keyboard input, and the keyboard was then unlocked for input (yes, all the other keys were disabled until the keyboard was selected). Perhaps there were batch systems intended for the PC :-) So far, all responses confirm that 'sys req' is an out of band signal, so it was intended to have an important function. I guess an underutilized function is better than an overutilized function, where applications would fight over control of the key interrupt. J e J f o f n r a e s y