[Back to TSR SWAG index]  [Back to Main SWAG index]  [Original]

{
LOU DUCHEZ

>I recently wrote a short utility in TP.  I want to make it a TSR
>which can be activated by a hotkey (like ALT-R).  Do I need to
>redirect the Keyboard INT to my Program?

Right on the nose.

>if so, then where does my Program direct the INT after that?

To the OLD keyboard interrupt.  You can use the GetIntVec to find
where the interrupt originally pointed; and trust me, it's a royal
pain in the keister to Program your own.  (Note: you'll want to
execute a PUSHF instruction before calling the "old" interrupt;
easily done With the built-in Assembler: Asm PUSHF end.)

Now, For reading the Alt-R: you can get the "Alt" key from
memory location $0040:$0017.  It Records the Alt key, shift keys,
caps lock, etc.  Each bit sets/reports whether the key is active or
inactive ("1" = "active").  Like so:

Const insByte = $80;  capsByte = $40;  numByte   = $20;  scrollByte = $10;
      altByte = $08;  ctrlByte = $04;  lshftByte = $02;  rshftByte  = $01;

Var keyboardstat: Byte Absolute $0040:$0017;

To test if Alt is on, see if this expression evaluates to "True":

      keyboardstat and altByte = altByte

As For the "R", check port $60 (the keyboard port) For scan code $13.
(Maybe ya oughtta find a complete list of the scan codes.)

>Also, I want my Window to disappear when my Program
>is finished (and the previous screen to come back).
>How can I do this?

Store the old screen into memory.  Hint: on Mono systems, it's the
4000 Bytes starting at b000:0000; on color, it's the 4000 starting
at b800:0000.  Use the "Move" Procedure first to move the 4000 Bytes
to an Array of 4000 Characters, then use "Move" to move the 4000 Bytes
back to the video location.

>  (BTW, I could do all this on the Commodore 64 back in the good 'ol
>days when the 64 was king.  Life was much simpler then).

Yeah, I can hear ya now: "Oh you spoiled kids.  When I started in
computers, we had only 64k to work With, and we LIKED it!  And we
didn't waste our money on a separate 'monitor', oh no! we just hooked
our computers up to the TV.  Damn kids these days."
}

[Back to TSR SWAG index]  [Back to Main SWAG index]  [Original]