This is a TSR program that toggles a popup on right shift. The popup shows register values and an arbitrary string that the user supplies at startup. There are options for changing the popup style and background color as well.
Use right shift to toggle the popup on and off. While the popup is active, it blocks all keystrokes not related to itself. When the popup is on, press:
- w/a/s/d to move it one character in a direction
- +/- to change border styles. There is single borders, double borders, ascii borders (-, |, +) and a custom style that is read from command line
- shift + +/- to change background colors
The program accepts two arguments: six characters of a custom border style and a text to be shown at the top of the popup:
The six characters are: horizontal bar, vertical bar, and four corners. For example, if the call is:
> driver.com 123456 meow
Then the custom style would look like this:

The text argument allow spaces (like in the first picture)
To build the program, run these commands in the DOS console:
> tasm /la driver.asm
> tlink /t driver.obj
> driver.com # driver.com is the resulting TSRA simple program to test that the register values are correct. The process is as follows:
- compile
test.asmwith the same commands as the driver - run the driver program, but don't enable the popup
- run
test.com, then enable the popup - the popup should show specific values in ax-dx, si and di, like this:

- press the 1 key to exit test.com
How it works: as there is only a single process, the test.com program just constantly puts these special values into the registers, so when the 9th (that the popup hooks) interrupt is called, the register values are most likely these special numbers. And it also checks for the 1 key to be pressed to exit :)
