[comp.sys.ibm.pc] 'Sys Req' - key.

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
-- 
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
                                       Internet: jeff@nmtvax.nmt.edu
                                           UUCP: ...!unmvax!nmtvax!jeff
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

kds10773@uxa.cso.uiuc.edu (Ken S.) (12/06/89)

The SysReq key can be polled using entry point 0x85 of int 0x15 (system
services), however I believe that's only implemented on AT's, so on your
XT keyboard, it's most likely useless.  I'm afraid I also don't know
of any less technical ways to access it.

   - Ken Stillson

Ralf.Brown@B.GP.CS.CMU.EDU (12/06/89)

In article <1989Dec5.181045.10621@ux1.cso.uiuc.edu>, kds10773@uxa.cso.uiuc.edu (Ken S.) wrote:
 >The SysReq key can be polled using entry point 0x85 of int 0x15 (system
 >services), however I believe that's only implemented on AT's, so on your
 >XT keyboard, it's most likely useless.  I'm afraid I also don't know
 >of any less technical ways to access it.

You can't poll SysRq that way, since the BIOS *calls* INT 15/AH=85h whenever
the SysRq key is pressed or released.  If you want to get SysRq, you have to
hook INT 15 and check for AH=85h.


INT 15 - OS HOOK - SYSTEM REQUEST KEY PRESSED (AT,XT2,XT286,CONV,PS)
	AH = 85h
	AL = 00h press
	   = 01h release
Return: CF set on error
	AH = status
Note:	called by keyboard decode routine
SeeAlso: INT 09

--
UUCP: {ucbvax,harvard}!cs.cmu.edu!ralf -=-=-=-=- Voice: (412) 268-3053 (school)
ARPA: ralf@cs.cmu.edu  BIT: ralf%cs.cmu.edu@CMUCCVMA  FIDO: Ralf Brown 1:129/46
FAX: available on request                      Disclaimer? I claimed something?
"How to Prove It" by Dana Angluin
 13.  proof by reference to inaccessible literature:
      The author cites a simple corollary of a theorem to be found in a
      privately circulated memoir of the Slovenian Philological Society, 1883.

cs4g6ag@maccs.dcss.mcmaster.ca (Stephen M. Dunn) (12/08/89)

In article <189@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...

   SysReq is short for "System Request", and is a key introduced with the
AT.  I don't think there's a way to read it on an XT, as the function you
call is part of the AT's BIOS extensions.

   The use of this key is up to an application (actually, it was designed
with operating system uses in mind).  Writers of an operating system that
runs several tasks but only allows one to have control of the screen,
for example, might use it to allow the user to switch between displaying
the screen of one task and the screen of another task.

   Basically, you can use it for whatever you want, but it isn't read like
the other keys through standard keyboard read functions.

-- 
Stephen M. Dunn                               cs4g6ag@maccs.dcss.mcmaster.ca
          <std_disclaimer.h> = "\nI'm only an undergraduate!!!\n";
****************************************************************************
    If it's true that love is only a game//Well, then I can play pretend

darcy@druid.uucp (D'Arcy J.M. Cain) (12/08/89)

In article <189@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...
>
> 				- Jeff -
>				jeff@nmtvax.nmt.edu

This key can not be read by normal keyboard reads.  To use this key you
must intercept int 15h and test for ah=85h.  If not pass through to the
old int 15h.  If so the look at al.  If it is 0 then the SysReq key has
just been pressed.  If 1 the it has just been released.  I used this one
to turn a Hercules graphics screen into a negative of itself.  There aren't
many programs that make use of this key.  I suspect that that is because
it is only available on AT's.


-- 
D'Arcy J.M. Cain (darcy@druid)     |   "You mean druid wasn't taken yet???"
D'Arcy Cain Consulting             |                    - Everybody -
West Hill, Ontario, Canada         |
No disclaimers.  I agree with me   |

darcy@druid.uucp (D'Arcy J.M. Cain) (12/08/89)

In article <1989Dec5.181045.10621@ux1.cso.uiuc.edu> kds10773@uxa.cso.uiuc.edu (Ken S.) writes:
>The SysReq key can be polled using entry point 0x85 of int 0x15 (system

Careful.  You don't poll the SysReq key.  See my response to the previous 
poster.  The hardware actually makes the "call" to this entry point.  The
programmer is in the position of capturing that call.
-- 
D'Arcy J.M. Cain (darcy@druid)     |   "You mean druid wasn't taken yet???"
D'Arcy Cain Consulting             |                    - Everybody -
West Hill, Ontario, Canada         |
No disclaimers.  I agree with me   |

wei@hpctdls.HP.COM (Bill Ives) (12/09/89)

>/ hpctdls:comp.sys.ibm.pc / kds10773@uxa.cso.uiuc.edu (Ken S.) / 11:10 am  Dec  5, 1989 /
>The SysReq key can be polled using entry point 0x85 of int 0x15 (system
>services), however I believe that's only implemented on AT's, so on your
>XT keyboard, it's most likely useless.  I'm afraid I also don't know
>of any less technical ways to access it.

>   - Ken Stillson

    Ken is correct... this is the only standard way of accessing the sys req
    key.   THe original poster also asked what it was used for -- since I
    have used it I may be able to fill in some details there.

    The sys req key was meant to activate the main tasker/controller in a
    multitasking system.  It was theorised at least in the documentation I
    have, that a tasker ( for 286 systems which support multi-tasking) could
    hook into sys req and provide ( or use ) ABIOS routines which give 
    tasks essentail functions in protected mode.  The sys req key is
    ideal for activating a main tasker since the keyboard does not have
    to be polled for an asynchronous sys req to come through ( unlike
    control-break) .  This would have been a good choice for OS/2's session
    manager shell ( the shell that doesn't include PM ), but alas they
    chose control-esc -- don't ask me why :-).   My use of it was to put
    in a hardware debug register manager for the 386 that would work behind
    any application -- even if that application went into protected mode (i.e
    Smalltalk V/286).  

    Thought you might be interested in its intended use - even if obscure.

    Bill Ives
    HP CTD