;*; Updated on 22-May-91 at 12:09 PM by John Paiement; edit time: 0:00:27
;
; Draw the calculator window and text on screen
;

DRAWSC:
       CLS
       SCROFF

       DRWBOX  2,27.,<08>
       DRWBOX  2,54.,<(4>

       HORZLN  4,27.,24.
       HORZLN  4,54.,20.
       HORZLN  11.,27.,24.
       HORZLN  13.,27.,24.
       HORZLN  15.,27.,24.
       HORZLN  17.,27.,18.

       PRTTAB  12.,31.
       TYPE            <7     8     9 >
       EVEN
       PRTTAB  14.,31.
       TYPE            <4     5     6 >
       EVEN
       PRTTAB  16.,31.
       TYPE            <1     2     3 >
       EVEN
       PRTTAB  17.,49.
       TYPE            <=>
       EVEN
       PRTTAB  18.,34.
       TYPE            <0        .>
       EVEN

       GRFCHR  12.,34.,47.                     ; Vertical line characters
       GRFCHR  12.,40.,47.
       GRFCHR  12.,46.,47.
       GRFCHR  14.,34.,47.
       GRFCHR  14.,40.,47.
       GRFCHR  14.,46.,47.
       GRFCHR  16.,34.,47.
       GRFCHR  16.,40.,47.
       GRFCHR  16.,46.,47.
       GRFCHR  18.,40.,47.
       GRFCHR  18.,46.,47.

       GRFCHR  11.,34.,42.                     ; Top intersections
       GRFCHR  11.,40.,42.
       GRFCHR  11.,46.,42.
       GRFCHR  13.,34.,48.                     ; Intersections
       GRFCHR  13.,40.,48.
       GRFCHR  13.,46.,48.
       GRFCHR  15.,34.,48.
       GRFCHR  15.,40.,48.
       GRFCHR  15.,46.,48.
       GRFCHR  17.,34.,45.
       GRFCHR  17.,40.,48.
       GRFCHR  19.,40.,45.                     ; Bottom intersections
       GRFCHR  19.,46.,45.

       PRTTAB  3,30.
       TYPE            <Func (    ) Base (   )>
       EVEN
       PRTTAB  3,62.
       TYPE            <Memory>
       EVEN

       PRTTAB  5,3
       TYPE            <  +  Add>
       EVEN
       PRTTAB  5,30.
       TYPE            <Dec>
       EVEN
       PRTTAB  5,34.                           ; To prevent screen flash
       PRTTAB  -1,33.                          ; Set the reverse end characters

       PRTTAB  6,3
       TYPE            <  -  Subt>
       EVEN
       PRTTAB  6,30.
       TYPE            <Hex>
       EVEN
       PRTTAB  6,34.
       PRTTAB  -1,33.

       PRTTAB  7,3
       TYPE            <  *  Mult>
       EVEN
       PRTTAB  7,30.
       TYPE            <Oct>
       EVEN
       PRTTAB  7,34.
       PRTTAB  -1,33.

       PRTTAB  8.,5
       MOVB            #47.,D1
       TTY
       PRTTAB  8.,8.
       TYPE            <Div>
       EVEN
       PRTTAB  8.,30.
       TYPE            <Rad  [   ]>
       EVEN
       PRTTAB  8.,34.
       PRTTAB  -1,33.

       PRTTAB  9.,30.
       TYPE            <Bin>
       EVEN
       PRTTAB  9.,34.
       PRTTAB  -1,33.

       PRTTAB  10.,3
       TYPE            < ^A  And>
       EVEN
       PRTTAB  10.,30.
       TYPE            <Ppn  [   ,   ]>
       EVEN
       PRTTAB  10.,34.
       PRTTAB  -1,33.
       PRTTAB  10.,57.
       TYPE            <[>
       PRTTAB  11.,3
       TYPE            < ^O  Or>
       EVEN

       PRTTAB  12.,3
       TYPE            < ^N  Not>
       EVEN

       PRTTAB  13.,3
       TYPE            < ^X  Xor>
       EVEN

       PRTTAB  14.,58.
       TYPE            <^P +   memory add>
       EVEN

       PRTTAB  15.,3
       TYPE            < ^Y  Clear Display>
       EVEN

       PRTTAB  15.,58.
       TYPE            <^P -   memory minus>
       EVEN

       PRTTAB  16.,3
       TYPE            < ^T  Clear Memory>
       EVEN
       PRTTAB  16.,58.
       TYPE            <^P CR  memory recall>
       EVEN

       PRTTAB  17.,58.
       TYPE            <^P =   memory in>
       EVEN

       PRTTAB  18.,3
       TYPE            <TAB  Change Base>

       PRTTAB  19.,3
       TYPE            <ESC or ^C   Exit>

       SCRON
       RTN

END