Contents of the POPUP.DOC file
Popup.arc - Sidekick-style "pop-up" program in C (written for MSC
4.0). This program implements a desk calculator that can be
brought up in a window on the screen by quickly tapping the left
shift key twice. There is a main menu under which other functions
such as a notepad and an ASCII table are listed; however, none of
these is supported. The calculator uses "conventional entry" of
problems (for lack of a better term; by this I mean it doesn't
use RPN); beside the four basic operations it supports
exponentiation and the following binary (meaning base 2)
operations: left shift, right shift, "and," "or," and "xor."
Hierarchy of operators is supported; the system used is the same
as is used in the C language.
The calculator has many shortcomings (a euphemism in this case
for "bugs"); it is not intended to be viewed as a finished
product; rather, the whole program is intended as a demonstration
to programmers of how "pop-up" programs can be developed with the
Microsoft C compiler.
Below is a short description of the various files in this
popup.c Handles management of pop-up functions, main menu.
calc.c Handles all calculator functions.
popup.h Used by popup.c and calc.c.
tsr.asm Contains all TSR code and code to detect "hot key"
and call popup() function in C.
window.c General-purpose window library.
window1.asm Assembly language help for several window
printf.c Contains wprintf() function for outputting
formatted data to a window.
ci.asm Contains character-input routines.
Also, object files popup.obj, calc.obj, tsr.obj, window.obj,
window1.obj, printf.obj, sci.obj and lci.obj are included "for
your linking convenience." I have not included the executable
file due to download time (mine as well as yours).
The code in tsr.asm was written by Thomas Brandenborg of Denmark
and adapted for use with the Microsoft C Compiler Version 4.0 by
Paul Ketrick (me). All other code was written by myself.
If you find any bugs in the TSR/pop-up code, the windowing
routines, the character-input functions or anything else besides
the calculator, I would appreciate your leaving me a short
message about it on either the Programmer's Forum at (818)701-
1021 or Mike's C BBS at (619)722-8724. Also, the program has not
been tested on any type of display hardware besides a CGA card;
I'd like to hear how it works on monochrome screens, EGA's, etc.
You may use any of this code in any way you like, but please
leave my name at the top of the source file(s). Also see Mr.
Brandenborg's copyright notice in the file tsr.asm.