Category : C Source Code
Archive   : CTB100T.ZIP
Filename : MANUAL.ASC

 
Output of file : MANUAL.ASC contained in archive : CTB100T.ZIP



C Tool Box













A Library of Functions for
Turbo C 1.00

Containing Graphics, Fonts,
Windows, Sound, Background Sound
Mouse, Joystick and Printer Controls
and more




Version 1.00
release date 22 August 1987










Copyright (c) 1987
by
David A. Miller
Unicorn Software
8018 NE 123rd St.
Kirkland, WA 98034
(206) 823-4656 after 6:30 PM
Pacific Time Zone
(No collect calls Please)





Welcome to the realm of the mystical Unicorn. It has been an
enjoyable process creating this library and the author hopes you
find it equally enjoyable to use.




Disclaimer

The author has taken due care in the preparation of this manual
and the associated programs to insure that all information
presented is correct and functional as stated. No warranty is
made regarding the suitability of this product for any specific
purpose. Consistent with the requirement of speed in much of
the library and the general philosophy of C in allowing the
programmer complete freedom, the amount of error checking has
been held to a minimum.

The author hereby grants permission to all users to transfer
copies of the library to third parties subject to the conditions
that the entire library and all files including copyrights be
transferred in full for no fee execept in the case of users groups
which may charge a copying fee not to exceed $7.00.

While you may use the library for personal programs without
registration, those who create programs for sale or distribution
are requested to register their copy. The source code may NOT be
distributed to a third party in any form without the written
permission of the author.






Turbo C is a trademark of Borland International, Microsoft C,
MASM and MSDOS are trademarks of Microsoft Corp. IBM, IBM PC,
PC XT, AT, DOS and PCDOS are trademarks of International Business
Machines Corp., Epson is a trademark of Epson Corp. Tandy, Tandy
1000 A and DMP 130 are trademarks of Tandy Corp.

Background


This library is the successor to the original Unicorn Library
which has undergone several revisions and essentially has become
a new entity. Some of the current revisions concern simple
ordering of the parameters in calls to make the library more
consistent. Users of the Unicorn library should take particular
note of this point. Functions have been developed for which the
author has no specific need but found interesting to implement.
Many of the functions are a result of user suggestions for which
we thank the users involved. The author invites users to make
further suggestions, as a worthwile challenge is always an
interesting learning experience.

This library contains functions to perform a wide variety of
tasks The functions may be divided roughly into the following
categories:

1. General video including windows and fast string writes.
2. Graphics, including a variety of normal and rotated fonts
3. Sound including background sound functions similar to BASIC
4. General functions serving a wide variety of purposes
5. Printer control, both graphics and daisy wheel
6. Mouse control
7. Joystick control

Each of these groupings overlaps to some extent but in general
all, except the graphics in group 2, may be used with a
monochrome system. The general library is designed to be used
with Turbo C from Borland and programs written using the small
memory model. Other compilers are supported and libraries may be
requested from the author upon registration. In addition to this
basic library, those available include the large model for Turbo
C and both models for Microsoft C ( Current version ). The
author will also make a Lattice C version 3.0 library available
if there are enough requests. While these are the basic
compilers the author has access to, others may be supported if
the number of requests warrant.

The entire manual is not supplied with the Bulletin Board
version of the library due to space. Enough of the manual is
included to make the library usable including a brief description
of each function and a call in a form similar to function
prototyping. The entire manual is available on disk in Wordstar
or ASCII text format and will be sent to all registered owners
(please specify which format). Preprinted manuals are available
for those who don't wish to print over 200 pages. See the
registration form for details.
First Things First


If you have registered your library and have the full source

distribution disks, you should have one disk of C source code and
headers, one of ASM source code and either a disk containing the
manual or the preprinted manual.

Check your disks to insure that all files are readable. There
should be 14 C source files, 14 ASM source files and 3 header
files as of this writing. This amounts to over 500K of source
code.

There is no particular installation process for this library. It
is ready to use as is. Simply place the library in the directory
with the other libraries you use with your compiler.

Many of the critical functions have been coded in assembler for
speed. Some of the present functions coded in C (the fonts
remaining in C and rotated fonts in particular) will be coded in
assembler in future revisions. There are a few instances where
functions perform similar tasks but are coded differently. For
example, there is both an assembler and a C function to set the
video mode. Some of these have been left as learning tools for
the user as they illustrate both approaches to solution of a
particular task. Since this library was begun as a learning
project, it is felt the user may benefit from such material.

Make a backup copy before you do anything else. The disks are
not copy-protected in any manner. Also, it would be helpful if
you read the file READ.ME as it contains the latest information
concerning the library. Where this manual and READ.ME conflict,
please regard the READ.ME file as being the most current
information.

There are demo programs on the disk, the largest being CTDEMO.EXE
and CTDEMO.C. This was compiled with the library on the
distribution disks and illustrates the capability of the library
itself although it by no means uses or illustrates every function
in the library.

The library, as delivered normally, is the small memory model of
Turbo C, and all references, unless otherwise stated, will refer
to that configuration.

There are over 200 functions contained within the C Tool Box and
there is a short reference section giving a brief sample call and
description of each function later in the manual. The
comprehensive section following that gives a complete call,
parameter description, sample program or code fragment
illustrating the fuctions usage, returns and any caveats that may
occur with that function.

All of the functions will perform correctly with IBM PC's or
close compatibles, but be aware that for several of the critical
timing functions direct screen writing is used to improve
performance. Unless your machine addresses video memory in the
same manner as the IBM, a problem may exist. The library was
written on a Tandy 1000 A and has been run on several other
machines with complete success.

All functions beginning with dx are designed to support a daisy
wheel printer. They were developed on a Epson printer that is
compatible with the DW-630. All functions begining with gr are
designed to support the IBM graphics printer or compatible.
These were developed on a TANDY DMP 130.

Those who are registered owners and have the source code will
find that only four functions need to be altered to support other
graphics systems. These are the two dot routines (internal and
external) and the two functions to return the color of a pixel
(internal and external). All other functions are based on these
to make conversion easier. The author does not have access to a
Hercules system for this conversion. A conversion to the EGA is
currently underway although access to an EGA system is very
limited for testing purposes.



Update Policy

It is the policy of Unicorn Software to provide one free update
for the library itself (not the source code which may be updated
for a small fee) and notification of one update beyond that. If
the new library is registered for the update fee, then we will
start the process over again and you will again receive one free
update and one notification beyond that point. This insures
users who register will always have access to the latest version
of the Tool Box. Minor releases will be placed on bulletin
boards, but registered users will not be notified directly unless
they so request. (It is felt that most would prefer to use the
free update for a major release). Currently the author places
copies of the Tool Box (major and minor releases) directly on the
following boards in the Seattle area.

1. Journey to Mars (RBBS) 206 486-3136
2. Night Shift (RBBS) 206 488-0924
3. Planet Claire (RBBS) 206 783-8037
4. PNW IBM user group (RBBS) 206 343-7843



The author logs on with the name 'Dave Miller' on each of these
boards.

The most likely spot to find the author for feedback would be
Journey to Mars or Nightshift.



Programming Style


The source code is written in standard K & R with one deviation.
The author prefers the opening and closing braces to line up so
instead of:

if (i = 2) {
printf("I = 2");
}

you will find:

if (i = 2)
{
printf("I = 2");
}

in the source code for the Tool Box.


Declaration of Functions


Most functions are either void or return int. It is not strictly
required to declare them prior to use. It is GOOD PROGRAMMING
PRACTICE to declare all functions prior to use. This practice
will avoid problems with the few functions which do return a
different value, such as a pointer to a window.






Technical

This library was created using the following tools.

Turbo C 1.00
Microsoft Link 3.51
MASM 4.0
Microsoft Library Manager 3.02


The modules used and the order they should appear in the library
may be found by using LIB to create an LST file of the library.
If you register and wish to recompile for a different memory
model or compiler, this order should be preserved.

At present, a small bug exists in the endsound function. It will
be best if you let background sound run its course, and not
attempt to stop it with this command. This will be fixed in the
next major release ( Jan 1988 ). Registered owners will
automatically receive the new source for this function with their
free update disk.

Revisions are possible in some functions in the next release.
Every possible effort will be used to maintain FULL
compatibility, but be aware that the calls to some window
functions and to the background sound functions may be altered
somewhat. When using the Tool Box please keep this in mind if
you plan to upgrade. It is anticipated the changes will not be
extensive and additional functions will be added wherever
possible rather than altering the existing functions. The author
will preserve all current function calls intact in all releases
beyond this point.

Your First Program


Using the C Tool Box is essentially quite simple. With Turbo C
you must specify any modules to be linked in your project file.
If they are not C files then the complete extension must be used.
For example suppose you wish to build a file 'mytest.exe' from
mytest.c and the C Tool Box library. Your project file should be
in a form similar to the below:


mytest
CTB100.LIB


When you are within the Turbo C environment, simply use Alt P to
indicate the project file name and then Alt R to build and run
your program. You may also build your program from the command
line by typing:

TCC mytest CTB100.lib


Either approach will build your program and link it with the C
Tool Box library.


The demo program was built using the command:

TCC CTDEMO CTB100.LIB

There is a project file on the disk if you prefer to work within
the Turbo C environment. The demo may be built by specifying
ctdemo as the file and ctdemo.prj as the project file. Use ALT r
to run the program or ALT c to compile it.

The Future


The next major release is planned for Jan., 1988. Some
of the ideas being considered and/or worked on are:

1. Animation functions
2. Data entry functions
3. Menu functions (including pulldown)
4. Additional window functions
5. Additional sound functions
6. Fonts - rewritting those left coded in C in assembler
for speed and a true stroke font capability. This was
contained in the original Lattice C version; The author
would like to restore it with full rotation,
translation and scaling for the next major release.


The author wishes to continue providing this library to users in
the form of shareware consistent with user support. It has been
an enjoyable spare time project over the last year and a half.
The author feels shareware is an important element in today's
computer environment.

Please feel free to express your opinion on what you wish to see
made available. Let us know!

Internal Global Variables


The library contains a series of global variables. You
should not use these names in your programs unless you
specifically wish to reference that variable. For example using
a variable named bdr1 in your program will result in a link error
at best or failure of the windowing functions that use border 1
at worst. Below is a list of these variables and their internal
meanings to the library.

int BLACK the color black
int BLUE the color blue
int GREEN the color green
int CYAN the color cyan
int RED the color red
int MAGENTA the color magenta
int BROWN the color brown
int GRAY the color gray
int GREY the color gray
int WHITE the color gray
int DARK_GRAY the color dark gray
int DARK_GREY the color dark gray
int LTBLUE the color light blue
int LTGREEN the color light green
int LTCYAN the color light cyan
int LTRED the color light red
int LTMAGENTA the colorlight magenta
int LTBROWN the color yellow
int YELLOW the color yellow
int LTWHITE the color light or bright white

int NORMAL the normal monochrome attribute
int UNDERLINE the underline monochrome attribute
int REVERSE the reverse video monochrome attribute
int BRIGHT the highlighted monochrome attribute
int BLINK monochrome blink bit indicator

int v_start starting address for video memory
int ct_mode_ current video mode
int ct_col_ current number of video columns
int ct_color_ indicates if color is allowed (1) or not

BORDER bdr1 a single line border for windows
BORDER bdr12 a border with a single vertical line and
double horizontal lines.
BORDER bdr21 a border with double vertical lines and
a single horizontal line
BORDER star a border of "*" characters
BORDER dot a border of "." characters
BORDER solid a border of solid blocks ( char 219)
BORDER heart a border of heart characters
BORDER space a blank border of space characters

NOTE - The default border is a double
line.
BORDER is a pointer to a border.
WINDOW is a pointer to a box,
generally indicated by 'bp' in
documentation.


See the header CTB.H for additional variables and defines that
may be useful.



Registration Form

This library is distributed as shareware which simply means
you are free to copy, use and pass copies on to friends for
evaluation. If you decide it is useful, you may register your
copy with the author. Upon registration you will receive the
complete source code for the library and a copy of the manual on
disk. This will consist of 3 disks. In addition you will
receive the first update disk free and notification of any
further updates. Major release updates are occuring about 3
times a year.

The current registration fee is $29.95


Name: ______________________________________________

Computer Type: ______________________________________________

Address: ______________________________________________

______________________________________________

City/State/Zip: _________________________ ____ _____________

Library Version: _CTB_1.00___________________________________

Compiler: (check 1)
Turbo C ___ Microsoft C ___ other __________

More than one version may be requested. Please add an update fee
of $12.95 for each additional version.

Preprinted manual pages suitable for placement in a three ring
binder will be supplied for an additional $18.00.

User Statement

I realize that while the library may be freely given away to
third parties the source code is not public domain and I agree to
protect the authors code and not to pass it on to third parties.


Signed: ___________________________ Date: ________________



Comments or additional information may be placed on the back of
this page.
Function Descriptions

atsay (row, col, fore, back, *string);
Print a string in color at row, column
back is for graphics. It's a dummy paramter in text
mode.

bac16_4 (fore, back)
Sets 40 column text mode to use highlighted background
colors

back16_8 (fore, back)
Sets 80 column text mode to use highlighted background
colors

backclr (color)
Set the background color

backsnd ()
Background sound function

beepsp ()
Beeps the speaker with a tone similar to the DOS beep

blink16_4 (fore, back)
Sets 40 column text mode to normal blink attribute

blink16_8 (fore, back)
Sets 80 column text mode to normal blink attribute

boxfill (x1, y1, x2, y2, color)
Draws a box and fills it with color (assembler)

boxtitle (bp, position, col, title, fore, back)
Print a window title in the border

burble (1/pitch, duration)
Plays an undescribable sound in the speaker. You have
to try various numbers to see the variety.

button ()
Returns joy stick button press status

circle (rc, cc, radius, aspect_num, aspect_den, color)
Draws graphics cicrle with aspect ratio

cls ()
Clear the screen and return mode and number of columns




cls_clr (fore, back)
Clears text screen (80 col), sets attributes and places
the cursor in the 'home' position

CM_INCH (cm)
Convert cm to inches

countch (*string, char)
Returns # of times a char occurs in a string

ct_bkclr (color)
Set background color

ct_char (row, col, fore, back, char)
Write a character directly to the video buffer

ctinit ()
Initializes video data for the windowing functions

ctone (freq, duration)
Sounds a tone of given frequency and duration

ct_peek (row, col)
Returns the WORD at row, col

ct_poke (row, col, char)
Pokes a WORD at row, col

ctposit (row, col)
Returns address of video memory byte at row, col

ct_sm (mode)
Set the video mode

ct_str (row, col, fore, back, *string)
Write a string directly to video buffer

ct_vstr (row, col, fore, back, *string)
Write a string vertically directly to video memory

ct_wstr (row, col, fore, back, *string, bp)
Write a string to video memory in a window

ct_wvstr (row, col, fore, back, *string, bp)
Write a vertical string to video memory in a window

DEG_RAD (degrees)
Convert degrees to radians


delay (millisecs)
Delay a number of ms, assumes 4.77 MHz clock

drawbox (bp)
Draws a predefined box on the screen

dwarn2 ()
Issue a warning & exit if not DOS 2.00 or greater

dwarn3 ()
Issue a warning & exit if not DOS 3.00 or greater

dx120bs ()
Backspace the DW printer 1/120th inch

dxback ()
Select backwards printing on the DW printer

dxbi ()
Select bidirectional printing

dxboldst ()
Begin bold print

dxbs ()
Send a backspace

dxbsend ()
End bold/shadow printing

dxchwide (number)
Set character width HMI (1/120ths inch)

dxclr1tab ()
Clear 1 tab

dxclrtab ()
Clear all tabs

dxcr ()
Send a carriage return

dxdefwid ()
Set DW printer to default HMI

dxeject ()
Eject paper



dxff ()
Send a form feed

dxfor ()
Select forward printing

dxhlf ()
Send a half line feed

dxht ()
Horizontal tab

dxinit ()
Initialize the DW printer

dxlf ()
Send a line feed

dxlinsp (number)
Set line spacing in (n-1)/48 inch

dxlmarg ()
Set left margin

dxpglen (length)
Set page length

dxrhlf ()
Send a reverse half line feed

dxrlf ()
Send a reverse line feed

dxsetht ()
Set a horizontal tab position

dxshast ()
Start shadow printing

dxundend ()
End underlined printing

dxundlst ()
Begin underlining

dxuni ()
Select unidirectional printing



endsound ()
Uninstall the sound timer interrupt and turn background
music off

equip ()
Returns a word indicating installed equipment

flagdec ()
Decrements mouse cursor flag by one

forward (pixels)
Move the turtle forward a number of pixels

GAL_LT (gallons)
Convert gallons to liters

gcomtype ()
Returns a byte indicating the computer type in use

gcurpos (row, col, page)
Return current cursor position

getatch (page)
Returns char and attribute at current cursor position

getbcnt (which_button)
Returns the count of mouse button presses

getbrcnt (which_button)
Returns mouse button releases

getbstat ()
Returns current mouse button status

getchne ()
Return keyboard character with no echo

getctype (start, end, page)
Return the current cursor start & end lines and page

getcurp (&row, &col)
Return cursor position

getcurps (page, &row, &col)
Returns cursor position on a specified page

getdmaj ()
Return the DOS major version number


getdmin ()
Return the DOS minor version number

getdver ()
Return the DOS version number

gethpos ()
Returns the current mouse horizontal position

getkey ()
Destructive read of keyboard buffer

getkeycd ()
Return keycode - waits for key stroke

getmode ()
Returns the current video mode

getpage ()
Returns the current video page

getscode ()
Returns scan code for key stroke, waits for key

getstate ()
Get video state, mode, width, page into register struct

get_str ()
Get user string and replace CR with \0

getvpos ()
Returns the mouse current vertical position

gliss (start_freq, end_freq, rate)
sounds a glissando through the speaker

GM_OZ (grams)
Convert grams to ounces

gothic (char, row, col, color)
Writes a gothic character to the graphics screen

hollow (char, row, col, color)
Writes an outline character to the graphics screen

INCH_CM (inches)
Convert inches to cm



indexch (*string, char)
Return the first position of a character in a string

indexr (*string, char)
Return the rightmost position of char in string

iskey ()
Returns non-0 if key in buffer / 0 if no key

kbstat ()
Returns the keyboard status byte

keystat ()
DOS interrupt to return keyboard status byte

KG_LB (kilograms)
Convert kilograms to pounds

KM_MI (kilometers)
Convert kilometers to miles

LB_KG (pounds)
Convert pounds to kilograms

lhjoystk ()
Return the current horizontal pos, of left joystick

lightpen (&row, &col, &rasline, &ras_col)
Read the lightpen position

line (x1, y1, x2, y2, color)
Draw a graphics line

lprintf (*string)
Print a string to the line printer

lputch (char)
Send a character to the printer

lrotate (yc, xc, ys, xs, ye, xe, 3, angle)
Draw a rotated line around a center point

lsthpos (which_button)
Return last mouse horiz. position when button pressed

lsthrpos (which_button)
Last mouse horiz. position when button released



lstvpos (which_button)
Last mouse vertical pos. when button pressed

lstrvpos (which_button)
Last mouse vertical pos. when button release

LT_GAL (liters)
Conver liters to gallons

lvjoystk ()
Return the current vertical pos. of left joystick

M_YD (meters)
Convert meters to yards

makebdr (bp, type)
Sets a border type for a window/box

makebox (row, col, height, width, bfore, bback, ffore, fback)
Defines a new box/window and returns a pointer to it

memsize ()
Return memory size using int86 call

mgun ()
Makes a machine gun tye sound through the speaker

MI_KM (miles)
Convert miles to kilometers

moveto (row, col)
Move the turtle to an absolute position

mreset ()
Checks to see if mouse is installed

msize ()
Returns the number of K Bytes of memory installed

note (voice, octave, note, volume)
Set a musical note for TANDY 1000 voice

OZ_GM (ounces)
Convert ounces to grams

paint (row, col, color, border_color)
fill a bounded region with color



palette (a, b, c)
Change color set for graphics modes
a = palette (0-3)
b = 4 for normal colors / 5 for alternate color set
c = background color

pcurpos (row, col, page)
Places cursor to location

pencolor (color)
Defines turtle pen color

pendown ()
Places trutle pen on screen to draw

penup ()
Lifts turtle pen off screen

play (note, octave, time)
plays a foreground tone in the speaker

point (row, col, color)
Lights a single graphics pixel

prtbs ()
Send backspace to the graphics printer

prtbuzz ()
Sound the printer bell

prtcan ()
Cancel and clear the printer buffer

prtcomof ()
Turn off compressed print

prtcomon ()
Turn on compressed print mode

prtcr ()
Send a carriage return to the graphics printer

prtdubof ()
Turn off double print mode

prtdubon ()
Turn on double print mode



prtempof ()
Turn off emphasized print mode

prtempon ()
Turn on emphasized print mode

prtsec ()
Send an ESC code to the printer

prtff ()
Send a form feed to the graphics printer

prtlf ()
Send a line feed

prttab ()
Send atab to the graphics printer

prtwidof ()
Turn off the double width character mode

prtwidon ()
Turn on the double width character mode

RAD_DEG (radians)
Convert radians to degrees

raschar (char, ULR, ULC, hmag, vmag, color)
Uses the internal character font descriptions to
display characters at larger sizes

rdhcount ()
Reads current mouse horizontal motion counter

rdvcount ()
Reads current mouse vertical motion counter

readkey ()
Destructive return of ASCII and scan codes for key

rect (ULR, ULC, LRR, LRC, color)
Draw a filled rectangle

rect1 (ULR, ULC, LRR, LRC, bdr_clr, rect_clr)
Draw a flled rectangle bounded by a single pixel border

rect2 (ULR, ULC, LRR, LRC, bdr_clr, rect_clr)
Draw a flled rectangle bounded by a double pixel border


redalert ()
Plays a red alert sound through the speaker

replacech (*string, old_char, new_char)
Replaces ALL occurences of char in string

resbox (bp)
Removes a window/box from the screen and restores video

rhjoystk ()
Return right joystick horizontal position

rotate (yc, xc, x, y, angle)
rotate a point around a given center point

rvjoystk ()
Return right joystick vertical position

savebox (bp)
Saves the memory where a window/box will be drawn

scankey ()
Returns scan and ASCII codes (non-destructive)

script (char, row, col, color)
Draw a simulated handwritten character on the graphics
screen

scrolldn (up_l_row, up_l_col, low_r_row, low_r_col, fore, back,
num_rows)
Scroll a bios window down

scrollup (up_l_row, up_l_col, low_r_row, low_r_col, fore, back,
num_rows)
Scroll a bios window up

setatten (voice, level)
Sets attenuation level on Tandy 1000 sound chip

setcallm (mask, address)
Define a mouse subroutine mask

setcur (h_hot, v_hot, cursor)
Define and pass a mouse graphics cursor

setcurp (row, col)
Sets the cursor to location


setcurps (page, row, col)
Sets position of cursor on the page

setcurt (start, end)
Sets the cursor type parameters

setcurtp (start, end)
Sets start and end lines for cursor

setfreq (voice, freq)
Set Tandy voice frequency

sethor (min, max)
Sets mouse min and max positions

setpage (page)
Set the current visual page number

set_pal (color_set)
Selects either color set 0 or 1 for graphics

setpal (0/1)
Selects a palette for graphics modes

setpos (hor, ver)
Set mouse cursor postion

setsound ()
enables the background sound interrupt and uses notes
in array melody and timing in array beat to produce
background sound

settxtc (type,screen_mask/first_line, cur_mask/lst_line)
Select and define mouse text cursor

setver (min, max)
Set max and min vertical mouse positions

sm (mode)
Set the video mode

smode (mode)
set video moe using int86

soundoff ()
Turn off Tandy sound chip

soundon ()
Turn on the Tandy sound chip

spalreg (reg#, color)
Set the palette register values (Tandy & EGA only)

spratio (hor, ver)
Set mouse movement ratios

str_cent (*string, *destination, width)
Center a string within width

strclr (fore, back, *string)
C function to write a string in color

strdel (*string, start, number)
Delete a substring from a string

strpad (*string, number)
Add spaces to the left of a string

strtolow (*string)
Convert a string to all lower case

strtoup (*string)
Convert a string to all upper case

tcos (angle)
return 2 digit value of cosine for whole degrees -
operates faster for graphics plotting

tone (freq, time_in_ms)
play a tone - time assumes 4.77 MHz clock

tsin (angle)
return 2 digit value of sin for whole degrees -
operates faster for graphics than does the sin function

turnleft (angle)
Turns the turtle heading left

turnright (angle)
Turns the turtle heading right

usrfont (char, ULR, ULC, hmag, vmag, color, font#)
Allows user to select from predetermined fonts the
style of character to display

vbar3d (base, height, col, width, depth, color, outline_color)
3d bar graph plot function



wac (char, color/attribute, xor_flag)
Write a character and attribute/color using BIOS call

waitkey ()
Pauses and waits for key stroke if none in buffer

watch (page, num_chars, char, fore, back)
Writes character(s) in color using BIOS call

wch (page, num_chars, char, color)
Writes char(s) to page (text mode) in color (graphics
mode)

wchtty (char, fore)
Writes character using tty BIOS mode, color if graphics
mode in use

wco (char, color)
Write character only (color is active in graphics,
dummy parameter in text modes)

wgets (bp, row, col, len)
Return a string that exists inside a window

w_hline (row, col,fore, back, char, width)
Draw a horizontal line of character

wnoise (low_freq, high_freq, duration)
Produces white noise over a specified freq range

wputs (bp, str, row, col)
Puts s string to a window using BIOS

wtty (char, color)
Write character in TTY mode, color is only active in
graphics modes, in text modes it is a dummy parameter

w_hline (row, col, fore, back, ch, width)
Draw a horizontal line of character

w_vline (row, col, fore, back, char, height)
Draws a vertical string of character

YD_M (yards)
Convert yards to meters







Appendix A





This section of the manual is a detailed description of the
functions. It includes a description of the function, a sample
call from C, a sample program or program fragment using the
function and any returns from the function. Included also are
any limits, peculiarities or other information about the
functions required for effective use in programming.

atsay



This function is similar to the dBASE function of the same name
in that it allows the user to print, in color, a string at a
specified location on the screen.


Call:
atsay(row, col, fore, back, *string)

row = the starting row for the string
col = the starting column for the string
fore = the foreground color of the string
back = the background color of the string
string = the string to be printed on the screen

Example:
main()
{
/* sm(4); */
atsay(5, 10, 3, 2, "Testing");
}

This program will print the string "Testing" on the
screen in color 3, starting at row 5 column 10. If in
graphics mode (remove the comments) the background
color will be color 2, for text mode this parameter is
a dummy parameter.


Return:
None


Caveats:
Background color is only active in graphics modes. For
text modes it is a dummy parameter. For writting with
a background color in text modes use the watch
function.
Be sure the string parameters lie within the screen
boundries.







This ends the Board version of the manual.





The full manual will be sent with all library source code to all
registered owners of the C Tool box Library. There simply is not
enough room in a bulletin board sized file.

This section of the manual is an early version. The final manual
will contain complete descriptions of all aspects of the tool
Box. It is available in two disk formats. One suitable for
printing from DOS and one in WordStar format. It is also
available in the form of preprinted pages suitable for a three
ring binder.


The following is included since the full manual is not with this
file.


BACKGROUND SOUND FUNCTIONS INFORMATION

The numbers for the musical notes are listed below for the octave
starting with middle C:

C C# D D# E F F# G G# A A# B
24 25 26 27 28 29 30 31 32 33 34 35

The note 100 may be used for rests.

Timing for the notes is in timer ticks (18.2 per second).

See the full manual for further details.

Place the notes in an array called melody[] and the timing count
in an array called beat[], see ctdemo.c for an example. Other
songs may be defined with notes and timing in different arrays
but these will have to be copied into the melody and beat arrays
before activation the background sound function. A future
release will pass a pointer to the desired array.
eat arrays
before activation the background sound function. A future
release will pass a pointer to the desire

  3 Responses to “Category : C Source Code
Archive   : CTB100T.ZIP
Filename : MANUAL.ASC

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. 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/