Category : Miscellaneous Language Source Code
Archive   : PRGCALC.ZIP
Filename : PRGCALC.DOC
PRGCALC - Programmer's Calculator
Users Guide for
Version 2.5
07 November 1987
Copyright (C) 1987 by Michael Burton
Michael Burton
15540 Boot Hill Rd.
Hayden Lake, Idaho 83835
(208) 772-9347 (after 6 p.m. Pacific Time)
PRGCALC - Programmer's Calculator Version 2.5
Copyright (C) 1987 by Michael Burton 07 Nov 87
TABLE OF CONTENTS
I. Introduction. . . . . . . . . . . . . . . . . . . . . . . 1
A. Overview. . . . . . . . . . . . . . . . . . . . . . . . 1
B. Purpose . . . . . . . . . . . . . . . . . . . . . . . . 1
C. Program Specifications. . . . . . . . . . . . . . . . . 1
D. PRGCALC as ShareWare. . . . . . . . . . . . . . . . . . 1
II. Getting Started. . . . . . . . . . . . . . . . . . . . . 2
A. Running PRGCALC . . . . . . . . . . . . . . . . . . . . 2
B. Making PRGCALC RAM-resident . . . . . . . . . . . . . . 3
C. PRGCALC Command Line Switches . . . . . . . . . . . . . 3
a. The Color Switch (/C) . . . . . . . . . . . . . . . . 3
b. The Position Switch (/P). . . . . . . . . . . . . . . 4
c. The Hotkey Switch (/H). . . . . . . . . . . . . . . . 4
d. The Install Switch (/I) . . . . . . . . . . . . . . . 5
e. The Suspend Switch (/S) . . . . . . . . . . . . . . . 5
f. The Resume Switch (/R). . . . . . . . . . . . . . . . 5
g. The Delete Switch (/D). . . . . . . . . . . . . . . . 5
D. Calculator Keys Operation . . . . . . . . . . . . . . . 6
a. The Right Side Keys . . . . . . . . . . . . . . . . . 6
b. The Left Side Keys. . . . . . . . . . . . . . . . . . 6
E. Reverse Polish Notation and the Stack . . . . . . . . . 7
a. Stack Operation . . . . . . . . . . . . . . . . . . . 7
b. One number (Monadic) Operations . . . . . . . . . . . 9
c. Two number (Dyadic) Operations. . . . . . . . . . . . 9
III. Calculator Functions. . . . . . . . . . . . . . . . . .10
A. Stack Functions . . . . . . . . . . . . . . . . . . . .10
B. Number Base Functions . . . . . . . . . . . . . . . . .10
C. Logical Functions . . . . . . . . . . . . . . . . . . .11
D. Shift/Rotate Functions. . . . . . . . . . . . . . . . .11
E. Display Functions . . . . . . . . . . . . . . . . . . .12
F. Arithmetic Functions. . . . . . . . . . . . . . . . . .12
G. Other Functions . . . . . . . . . . . . . . . . . . . .12
IV. Memory Functions . . . . . . . . . . . . . . . . . . . .13
A. Storing Numbers in Memory Registers . . . . . . . . . .13
B. Recalling Numbers from Memory Registers . . . . . . . .13
Appendix A - Display Colors. . . . . . . . . . . . . . . . .14
Appendix B - Keyboard Scan Codes . . . . . . . . . . . . . .15
Appendix C - Software Discrepancy Report Form. . . . . . . .16
Page i
PRGCALC - Programmer's Calculator Version 2.5
Copyright (C) 1987 by Michael Burton 07 Nov 87
I. Introduction
A. Overview
PRGCALC is an integer calculator specifically designed for
use by programmers. All registers used in, and
calculations done by PRGCALC use 32 bit integers. PRGCALC
can perform number base conversions, bit manipulations,
logical operations and normal arithmetic operations.
PRGCALC is a Reverse Polish Notation (RPN) calculator with
a four entry stack and sixteen memory registers. The user
can control PRGCALC's display colors, calculator
positioning on the display, its RAM-residency status and
even what 'hot key' is used to activate it if it is RAM-
resident.
PRGCALC was written in Borland International Turbo C. It
uses three routines that were written in assembly language.
B. Purpose
The purpose of this users guide is to provide help with
running PRGCALC, as well as helping you to get the most out
of the calculator. It will explain how to run PRGCALC, how
to use the command line switches, how to key in operations,
how Reverse Polish Notation works, how the different
calculator functions work and how to use the calculator's
memory registers.
C. Program Specifications
Program date: 07 Nov 87
Program version: 2.5
Program size: 24978
RAM-residence memory requirement: 37792
Disk Drives required: None
Display required: Any IBM compatible MDA, CGA, EGA, VGA,
Hercules, etc. in text mode.
Special hardware required: None
D. PRGCALC as ShareWare
The PRGCALC program and this manual are both Copyright (C)
1987 by Michael Burton. They are being distributed under
the 'ShareWare' concept. This means that if after trying
out PRGCALC, you decide to use it on a regular basis, you
are expected to register the program by sending $18 to
Michael Burton
15540 Boot Hill Rd.
Hayden Lake, ID 83835
In return for your registration, you will immediately
receive via first class mail the latest version of PRGCALC
Page 1
PRGCALC - Programmer's Calculator Version 2.5
Copyright (C) 1987 by Michael Burton 07 Nov 87
and a printed version of this guide, as well as several
other ShareWare programs written in both C and Pascal.
You are encouraged to copy and distribute PRGCALC to anyone
with the following restrictions:
1. The PRGCALC program and the file for this manual
must be distributed as a set. It is important that
the manual be included for those who know little or
nothing about RPN.
2. No changes may be made to either file. PRGCALC and
this manual are both copyrighted and should remain
unchanged.
3. You may not charge for PRGCALC's distribution or
copying. The exception to this is User Groups, who
may make a small charge for the cost of disks and
copying, not to exceed $10.
4. Commercial use of PRGCALC in any manner is
prohibited without the express written consent of
the author. Commercial users of PRGCALC MUST
register the number of copies that they will be
using.
The PRGCALC program and this accompanying users guide are
provided 'as is' without warranty of any kind. The
correctness, accuracy, reliability and currentness of
PRGCALC and this users guide is not warranted. The entire
risk as to results and performance of PRGCALC is assumed by
the user.
II. Getting Started
A. Running PRGCALC
PRGCALC is very easy to run. The only file required is
PRGCALC.EXE. You may run it by entering:
PRGCALC
This will load and execute PRGCALC with default display
colors and calculator positioning. PRGCALC will NOT be
RAM-resident when invoked in this way. The default display
colors have been picked so that the calculator and its help
screens display correctly on a monochrome display.
If you are not satisfied with where the calculator is
positioned on the screen, you may move it with the cursor
keys.
To leave the PRGCALC program, simply press the Esc key.
Page 2
PRGCALC - Programmer's Calculator Version 2.5
Copyright (C) 1987 by Michael Burton 07 Nov 87
B. Making PRGCALC RAM-resident
PRGCALC may be made RAM-resident, that is, it will be
loaded into memory but will not be invoked until you press
a special combination of keys called a 'hot key'. To make
PRGCALC RAM-resident, enter:
PRGCALC /I
A message will be printed indicating that PRGCALC is
resident. To invoke the calculator, press the hot key.
The default hot key is Alt = (press and hold down the Alt
key, then press the equals key).
C. PRGCALC Command Line Switches
PRGCALC has several command line switches that you may use
to customize the calculator's operation. Some of these
switches are useful only if PRGCALC is already RAM-
resident. Other switches control other display and
invocation aspects of the calculator. There may be more
than one switch on the command line and they may be in any
order. The PRGCALC command line with all switches looks
like this:
PRGCALC /Chhdd /Prrcc /Hsscc /I /S /R /D
We will look at each of these switches separately.
a. The Color Switch (/C)
The /C color switch allows you to pick your own
favorite colors for the PRGCALC calculator and help
screens. The switch is invoked as:
PRGCALC /Chhdd
where hh is a hexadecimal number for the help screen
colors and dd is a hexadecimal number for the
calculator display colors. The upper digit of each
hex number is the background color and the lower digit
of each hex number is the text color. The allowable
values for colors are shown in Appendix A of this
guide.
Example:
Suppose you wish your help screens to be black letters
on a lightgray background and the calculator to be
yellow letters on a red background. The color switch
would look like:
Page 3
PRGCALC - Programmer's Calculator Version 2.5
Copyright (C) 1987 by Michael Burton 07 Nov 87
/C704E
||||
|||+-> Yellow text for calculator
||+-> Red background for calculator
|+-> Black text for help screens
+-> Lightgray background for help screens
b. The Position Switch (/P)
The /P position switch allows you to change the
initial position of where PRGCALC appears on the
screen. The switch is invoked as:
PRGCALC /Prrcc
where rr is a hexadecimal number for the starting row
and cc is a hexadecimal number for the starting
column. rr and cc refer to the coordinates of the
upper left corner of the calculator. rr must be
between 1 and 08h and cc must be between 1 and 18h (1
and 24 decimal).
Example:
Suppose you wanted the calculator to be initially
displayed at row 7 and column 17 (11h). The position
switch would look like:
/P0711
c. The Hotkey Switch (/H)
The /H hot key switch allows you to change the
combination of keys that are used as the hot key which
invokes the calculator when it is RAM-resident. The
switch is invoked as:
PRGCALC /Hsscc
where ss is a hexadecimal number that is the shift
key(s) to use and cc is a hexadecimal number of the
scan code for the hot key to use. ss looks like the
following:
bit 7 6 5 4 3 2 1 0
value 0 0 0 0 ALT CTL LSHF RSHF
The hot key scan codes may be obtained from Appendix
B of this users guide.
Example:
Suppose you want the hot key to be Ctl-Alt-1. The
shift key byte would look like:
Page 4
PRGCALC - Programmer's Calculator Version 2.5
Copyright (C) 1987 by Michael Burton 07 Nov 87
00001100 in binary, which is 0C in hex.
From the scan code table in Appendix B, the scan code
for '1' is 02, so the hot key switch would look like:
/H0C02
d. The Install Switch (/I)
The /I install switch instructs PRGCALC to make itself
RAM-resident. If you attempt to install PRGCALC and
it is already installed, nothing will happen.
If you wish to change the color, position and/or the
hot key used in a RAM-resident version of PRGCALC,
you must do so at the same time you make it RAM-
resident, i.e., at the same time the /I switch is
used.
Example:
Make PRGCALC RAM-resident with a hot key of Ctl-Alt-1.
PRGCALC /I /H0C02
e. The Suspend Switch (/S)
The /S suspend switch turns off the RAM-resident
PRGCALC, i.e., PRGCALC stops looking for its hot key.
This is useful if you are trying to run a program that
makes use of your PRGCALC hot key for one of its
internal functions. If you attempt to use the suspend
switch when PRGCALC is not RAM-resident, nothing will
happen.
f. The Resume Switch (/R)
The /R resume switch turns the RAM-resident PRGCALC
back on, i.e., PRGCALC starts looking for its hot key
again. If you attempt to use the resume switch when
PRGCALC is not RAM-resident, nothing will happen.
g. The Delete Switch (/D)
The /D delete switch allows you to remove the RAM-
resident PRGCALC from memory, IF POSSIBLE. There will
be certain times when it is not possible to remove the
program. PRGCALC will inform you whether it has
removed itself from memory or merely suspended itself.
If you attempt to delete PRGCALC and it is not RAM-
resident, nothing will happen.
Page 5
PRGCALC - Programmer's Calculator Version 2.5
Copyright (C) 1987 by Michael Burton 07 Nov 87
D. Calculator Keys Operation
Looking at the PRGCALC display (see below), you can see
that the keys are divided into two basic groups; those to
the left of the double line and those to the right. Since
the keys on the right are activated differently from the
keys on the left, we will address each group separately.
+--------------------------------------------------------+
| Programmer's +--------------------------------+ |
| Calculator Dec| 0| |
| Version 2.5 +--------------------------------+ |
+--------------------------------------------------------+
| F1 F2 F3 F4 F5 || |
| +---+---+---+---+---+ || +---+---+---+---+---+---+ |
| |HLP|CLX|ROL|XCH|SHW| || | A | B | 7 | 8 | 9 | / | |
| +---+---+---+---+---+ || +---+---+---+---+---+---+ |
| SHF |HEX|DEC|OCT|BIN|SHM| || | C | D | 4 | 5 | 6 | * | |
| +---+---+---+---+---+ || +---+---+---+---+---+---+ |
| CTL |AND| OR|XOR|NOT|STO| || | E | E | 1 | 2 | 3 | - | |
| +---+---+---+---+---+ || | N +---+---+---+---+---+ |
| ALT | SL| SR| RL| RR|RCL| || | T | F | 0 |BSP|SGN| + | |
| +---+---+---+---+---+ || +---+---+---+---+---+---+ |
+--------------------------------------------------------+
Left Side Keys Right Side Keys
a. The Right Side Keys
The keys on the right side of the calculator are very
easy to use. You simply press the corresponding key
on your keyboard and that operation takes place. If
you accidently hit a number that is not valid in the
number base you are working in, nothing will happen.
The three keys on the right side that might not be
immediately obvious are the ENT, BSP and SGN keys.
ENT means the Enter key, BSP means the backspace key
and SGN means the 'S' key.
b. The Left Side Keys
The keys on the left side of the calculator are
activated by using combinations of function keys F1
through F5 and the Shift, Control and Alt keys. For
instance, if you wished to activate the BIN key, you
would press Shift-F4, since the BIN key is in the F4
column and the SHF row.
Each of the keys on the left side will be explained
later in this users guide.
Page 6
PRGCALC - Programmer's Calculator Version 2.5
Copyright (C) 1987 by Michael Burton 07 Nov 87
E. Reverse Polish Notation and the Stack
PRGCALC uses Reverse Polish Notation (RPN), which is an
operating method that allows you to perform complex
calculator operations without using parentheses. RPN puts
intermediate results onto a 4 register stack and retrieves
them when required. The stack looks like this:
+--------------------------------+
| 0| X register
+--------------------------------+
| 0| Y register
+--------------------------------+
| 0| Z register
+--------------------------------+
| 0| T register
+--------------------------------+
The X register is the stack element that you see in the
window at the top of the calculator. To help understand
stack operations, you can display the other stack registers
by pressing SHW (F5).
When you enter a number, PRGCALC must be told that you have
finished entering it. You can do this by pressing any of
the function keys, but if you just want the number
available, you may press the Enter key. This is called
terminating the number. When you terminate a number, it is
pushed onto the stack.
a. Stack Operation
To make maximum effective use of PRGCALC, it is
necessary for you to understand how the stack works.
This understanding will increase if you use PRGCALC
with the SHW option turned on while you are performing
operations.
When a number is terminated, it is pushed onto the
stack. This means that the other numbers on the stack
are pushed down also. For example, if while you are
entering the number 121 into X and the stack looks
like this:
+--------------------------------+
| 121| X register
+--------------------------------+
| 0| Y register
+--------------------------------+
| 34| Z register
+--------------------------------+
| -2| T register
+--------------------------------+
Page 7
PRGCALC - Programmer's Calculator Version 2.5
Copyright (C) 1987 by Michael Burton 07 Nov 87
When you press the Enter key, everything is pushed
down and the stack looks like this:
+--------------------------------+
| 121| X register
+--------------------------------+
| 121| Y register
+--------------------------------+
| 0| Z register
+--------------------------------+
| 34| T register
+--------------------------------+
Note that the number that was in T is lost. Now when
you enter 67 into X, the 121 in it is written over:
+--------------------------------+
| 67| X register
+--------------------------------+
| 121| Y register
+--------------------------------+
| 0| Z register
+--------------------------------+
| 34| T register
+--------------------------------+
When you perform a dyadic operation (two number
operation) such as adding, Y will be added to X and
the terminated result will be placed in X. Press the
'+' key and the operation is performed and the rest of
the stack is popped:
+--------------------------------+
| 188| X register
+--------------------------------+
| 0| Y register
+--------------------------------+
| 34| Z register
+--------------------------------+
| 34| T register
+--------------------------------+
Note that when the stack is popped T is COPIED into Z.
Now if you enter another number, such as 201, the
terminated 188 is automatically pushed:
+--------------------------------+
| 201| X register
+--------------------------------+
| 188| Y register
+--------------------------------+
| 0| Z register
+--------------------------------+
| 34| T register
+--------------------------------+
Page 8
PRGCALC - Programmer's Calculator Version 2.5
Copyright (C) 1987 by Michael Burton 07 Nov 87
There are a couple of other ways to manipulate the
stack that we will explore later.
b. One number (Monadic) Operations
Monadic (one number) operations only affect the X
register. This means that you can key in your number,
press the key for the monadic operation and the
operation will be performed on the X register. The
number is terminated following the operation, but is
not pushed until you key in the next number. For
example, suppose you key in 8191:
+--------------------------------+
| 8191| X register
+--------------------------------+
| 0| Y register
+--------------------------------+
| 0| Z register
+--------------------------------+
| 0| T register
+--------------------------------+
Then change its sign by pressing S for SGN:
+--------------------------------+
| -8191| X register
+--------------------------------+
| 0| Y register
+--------------------------------+
| 0| Z register
+--------------------------------+
| 0| T register
+--------------------------------+
X is now terminated, so when you key in your next
number, the stack will be pushed:
+--------------------------------+
| 32| X register
+--------------------------------+
| -8191| Y register
+--------------------------------+
| 0| Z register
+--------------------------------+
| 0| T register
+--------------------------------+
PRGCALC's monadic functions are NOT, SL, SR, RL, RR and SGN.
c. Two number (Dyadic) Operations
Dyadic (two number) operations affect both the X and Y
registers. This means that both numbers involved in
Page 9
PRGCALC - Programmer's Calculator Version 2.5
Copyright (C) 1987 by Michael Burton 07 Nov 87
the operation must be keyed in before the operation is
performed, as in the addition example above.
PRGCALC's dyadic functions are AND, OR, XOR, addition,
subtraction, multiplication and division.
III. Calculator Functions
This section presents detailed explanations of each
calculator function. The functions are grouped into seven
areas; stack functions, number base functions, logical
functions, shift/rotate functions, display functions,
arithmetic functions and other functions. Memory functions
are addressed in a later section.
A. Stack Functions
The stack functions are those functions that are used to
rearrange the stack registers. They include ROL, XCH and
ENT.
ROL stands for roll. Its function is to roll the stack
registers up one register. When you press ROL, the X
register is put into T, T is put into Z, Z is put into Y
and Y is put into X. Following a ROL operation, the number
in X is terminated, i.e., when you key in another number,
the stack is pushed.
XCH exchanges the X and Y registers. It does not affect Z
or T. Following an XCH, the number in X is terminated.
ENT is used to immediately enter (push) the number in X
into Y. This affects the entire stack, as all registers
are pushed. The contents of T is lost.
B. Number Base Functions
Number base functions are used to convert between various
number bases. When a number base function is performed,
the display changes to indicate the new base and to
display the X register in that base. Using a number base
function terminates X. The number base functions are HEX,
DEC, OCT and BIN.
HEX changes the number base to hexadecimal. Entry of
digits 0 through 9 and A through F are allowed.
DEC changes the number base to decimal. Entry of digits 0
through 9 are allowed.
OCT changes the number base to octal. Entry of digits 0
through 7 are allowed.
BIN changes the number base to binary. Entry of digits 0
and 1 are allowed.
Page 10
PRGCALC - Programmer's Calculator Version 2.5
Copyright (C) 1987 by Michael Burton 07 Nov 87
C. Logical Functions
Logical functions are used to perform a bit by bit
operation on the number in X. The logical functions are
AND, OR, XOR and NOT. NOT is a monadic function, all the
rest are dyadic.
The AND function compares each corresponding bit of X and
Y. If both bits are a one, the result will be one. If
either bit is a zero the result is zero. The result of
this bit by bit ANDing is placed in X.
The OR function compares each corresponding bit of X and Y.
If either bit or both bits are a one, the result will be
one. If both bits are zero, the result will be zero. The
result of this bit by bit ORing is placed in X.
The XOR function compares each corresponding bit of X and
Y. If both bits are a one or both bits are a zero, the
result will be a zero. Otherwise the result will be a one.
The result of this bit by bit XORing is placed in X.
The NOT function performs a ones-complement of the X
register, making all zero bits into ones and all one bits
into zeroes. The result is placed in X.
D. Shift/Rotate Functions
Shift and rotate functions are monadic operations that move
the bits in the X register to the left or right. The shift
functions are SL and SR. The rotate functions are RL and
RR.
The SL shift function shifts the bits in X one posiion to
the left. The bit that was in the high order position is
lost.
The SR shift function shifts the bits in X one position to
the right. The bit that was in the low order position is
lost.
The RL rotate function shifts the bits in X one position to
the left. The bit that was in the high order position is
shifted into the low order position.
The RR rotate function shifts the bits in X one position to
the right. The bit that was in the low order position is
shifted into the high order position.
Page 11
PRGCALC - Programmer's Calculator Version 2.5
Copyright (C) 1987 by Michael Burton 07 Nov 87
E. Display Functions
Display functions are used to alter the calculator display
in some way. They include HLP, SHW and SHM. Activating a
display function does not affect the X register or any of
the other stack registers.
The HLP help function is used to pop up some help screens.
They will not take the place of this manual, but they will
give enough information to allow you to perform rudimentary
operations with the calculator. You may use the Esc key to
leave the HLP screens.
The SHW show function is a toggle that, when toggled on,
will display the entire stack in whatever number base that
has been selected. Pressing SHW again will disable the
stack display.
The SHM show memory function will display the sixteen
memory registers, 0 through 9 and A through F, in the
selected number base. Pressing Esc will disable the
display and allow you to continue using the calculator.
F. Arithmetic Functions
The arithmetic functions are the four functions that are
found on any calculator; add (+), subtract (-), multiply
(*) and divide (/). They are all dyadic operations.
The add function adds X to Y and places the result in X.
No checks are made for overflow - any overflow is
truncated.
The subtract function subtracts X from Y and places the
result in X.
The multiply function multiplies Y by X and places the
result in X. No checks are made for overflow - any
overflow is truncated.
The divide function divides Y by X and places the result in
X. Any remainder is lost. A check is made to ensure no
attempt to divide by 0 - nothing is done in that case.
G. Other Functions
The other functions include any function that doesn't fit
into a nice cosy category above. They include CLX, BSP and
SGN.
CLX is used to set the X register to zero. It does not
affect any of the other stack registers. The zero is not
terminated, i.e., it will not be pushed when you start to
key in another number.
Page 12
PRGCALC - Programmer's Calculator Version 2.5
Copyright (C) 1987 by Michael Burton 07 Nov 87
The BSP backspace function is used to delete a mistaken key
press from the X register. If, for instance, you keyed in
127 and meant to key in 128, you could use BSP to delete
the 7, then press 8 to get 128.
SGN simply changes the sign of the value in the X register.
This is the same as taking the 2's complement of X. When
SGN is used, the number in X is terminated.
IV. Memory Functions
PRGCALC has sixteen memory registers that can be used to
retain constants or intermediate calculation results. They
are labelled 0 through 9 and A through F. There are two
functions that allow you to use the memory registers - STO
allows you to store into a memory register and RCL allows
you to recall a memory register value. In either case, the
number in X is terminated.
A. Storing Numbers in Memory Registers
To store the value of X into a memory register, press STO,
then press the number of the memory register that you wish
to use. The value in X will be stored in the memory
register and will also remain in X.
B. Recalling Numbers from Memory Registers
To get a value back from a memory register, press RCL, then
press the number of the memory register from which you wish
to recall the number. The value will appear in the X
register and will also remain in the memory register.
Page 13
PRGCALC - Programmer's Calculator Version 2.5
Copyright (C) 1987 by Michael Burton 07 Nov 87
Appendix A - Display Colors
Display Colors For Calculator and Help Screens
Background colors
0 - black 4 - red
1 - blue 5 - magenta
2 - green 6 - brown
3 - cyan 7 - lightgray
Foreground colors
0 - black 8 - darkgray
1 - blue 9 - light blue
2 - green A - light green
3 - cyan B - light cyan
4 - red C - light red
5 - magenta D - light magenta
6 - brown E - yellow
7 - lightgray F - white
Page 14
PRGCALC - Programmer's Calculator Version 2.5
Copyright (C) 1987 by Michael Burton 07 Nov 87
Appendix B - Keyboard Scan Codes
Scan Codes for Keyboard Keys
Key Code Key Code Key Code
A 1E TAB 0F [ 1A
B 30 BSP 0E ] 1B
C 2E SPACE 39 ; 27
D 20 1 02 ' 28
E 12 2 03 , 33
F 21 3 04 . 34
G 22 4 05 / 35
H 23 5 06 ESC 01
I 17 6 07 NUML 45
J 24 7 08 SCRL 46
K 25 8 09 SYS 54
L 26 9 0A HOME 47
M 32 0 0B UPARRW 48
N 31 F1 3B PGUP 49
O 18 F2 3C LTARRW 4B
P 19 F3 3D NUM 5 4C
Q 10 F4 3E RTARRW 4D
R 13 F5 3F END 4F
S 1F F6 40 DNARRW 50
T 14 F7 41 PGDN 51
U 16 F8 42 PRTSC 37
V 2F F9 43 NUM - 4A
W 11 F10 44 NUM + 4E
X 2D ` 29 INS 52
Y 15 - 0C DEL 53
Z 2C = 0D
ENTER 1C \ 2B
Page 15
PRGCALC - Programmer's Calculator Version 2.5
Copyright (C) 1987 by Michael Burton 07 Nov 87
Appendix C - Software Discrepancy Report Form
Software Discrepancy Report
If you detect any errors in PRGCALC, please fill out this form
and send it to:
Michael Burton
15540 Boot Hill Rd.
Hayden Lake, ID 83835
Name: __________________________________________________________
Address: _______________________________________________________
City: _____________________________ State: ____ Zip: _________
Computer (PC, XT, AT, PS/2, etc.): _____________________________
Display adapter: _________________ Monitor Type: ______________
RAM size: _______ Operating System: __________ Version: _____
RAM-resident software loaded (in order loaded): ________________
________________________________________________________________
________________________________________________________________
Describe any unusual hardware in your system: __________________
________________________________________________________________
________________________________________________________________
Please describe the problem you encountered in detail: _________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
Page 16
Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!
This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.
But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/