Public (software) Library Programming Library Descriptions and Compilation Copyright 1994 Nelson Ford ALL RIGHTS RESERVED. Duplication, reprinting and distribution of these descriptions is restricted. See LICENSE.DOC in the PSL_NEWS directory for complete information. Also see TOOLS and GEN_VID for tools and routines for multiple languages, including Pascal. =====Pascal, part 2 CONTENTS: -----ENCRYPT: registration program encryption key -----FONTS: screen fonts -----GAMES: routines, source code for games -----GAUGES: display procedure progress -----GENERAL: various routines for Pascal -----GRAPHICS: graphics routines & tools -----HYPER: hypertext -----KYB_MOUS: keyboard, mouse, joystick routines. -----LIBRARY: various collections of routines/libraries. -----NUMERIC: math & stats related routines for Pascal =========================================== -----ENCRYPT: registration program encryption key [FLXKEY] FlxKey 1.1 (McLoughlin, Guy; $15) is a unit that lets you create encrypted user registration keys for programs. -----FONTS: screen fonts [BIGCHAR] BigChar (Swisher, Brian F.; $5) is a TP4 unit for writing text to the screen in large characters. It is primarily intended for writing opening logo screens. [CUSTOM] Custom Characters 1.0 is a set of fonts, bit map animation and PCX images in VGA text mode to compile with modified Turbo Vision. Requires BP/TP 7, Turbo Vision 2, and VGA. (Steve Goldsmith, reg. fee: $23) [EGAFONT] EGAFont (Williams, Aaron M.; $10) is a set of programs for the easy creation and editing of EGA/VGA fonts. Several EGA/VGA fonts are included, as are several related video utilities. [FREEFNT] FreeFont (Garey, Michael E.; $0-$10) contains TP units that work together with the Borland BGI to allow you to display text in any direction with any slant using BGI stroked fonts. [NEW_FNTS] New-Fonts (Pavia, Donald; $?) contains procedures, functions and a utility for creating your own 8x8 graphics fonts for ASCII characters 128 through 255 to be used by your Turbo Pascal program. In testing New-fonts, it appeared that you can also edit the lower ASCII characters. -----GAMES: routines, source code for games [P_ROBO31] P_Robots 3.1 (Softworks ASP; $25) is a game based on computer programming in PASCAL. The object is to design and program a robot that can triumph over similar robots designed and programmed by others in a real-time battle of wits and flying missiles. You control your robot by writing a procedure in PASCAL to specify your robot's behavior and strategy in its efforts to vanquish up to three other robots in a battle to the death. [SPX] SPX 1.0 (Ramsay, Scott D.; $30) allows TP programmers to write games in 320x200x256 VGA mode. This library covers animation, sound, text, and various input devices. It also includes parallax scrolling, tile-map scrolling, displaying sprites in layers, 3D perspective, automatic implementation of 386 specific code, eight real-time clocks, tilemap maker, font-editor, three complete games, and seven examples with TP source. (On 1.44MB MegaDisk or CD only.) -----GAUGES: display procedure progress [STATBOX] Statbox (Mitchel, Patrick; $0) is a unit for displaying progress of a procedure. Demos and source included. [THERM] Therm (Hood, Doug; $0) is a progress gauge in the form of a thermometer. [TWAIT] Twait (Brewer, Ty; $0) provides a way to display a message while the computer is crunching numbers or processing data, etc. -----GENERAL: various routines for Pascal [ARRAYRW] Arrays (Warren, Robert; $0) is TP unit that provides support for regular arrays and huge arrays. [BASICS] Basics 1.0 is a library of over 30 BASIC routines coded and compiled for use by Pascal programmers. (Sierra Consultants, reg. fee: $5) [DLGDRW] Dlgdrw (Borland International; $0) shows how to change text and text color, and send messages in a dialog box. [FPU] FPU (Olbrys, Erik; $0) contains four TP functions using BASM to directly access the 80387/80486. Functions include FARCTAN, FSIN, FCOS, and FTAN. [JDBTREE] JDBtree 1.20 (Darling, Jeff; $0) demonstrates how to use Binary trees. Executable files are also included. Requires TP 5.5. (The author can no longer be reached at the address provided in the documentation.) [NULVAR] Nulvar is a routine to null all variables. [JANUSW] tDialogWindow 1.24 is a set of two objects which enable programmers to create dialogs as MDI child windows, create BorDlgs from standard resources, and standard dialogs from BorDlg resources. (Peter Sawatzki, reg. fee: $0) [UMBHEAP] UMB_Heap 1.3 (Webb, Brian D.; $10) lets you extend the dynamic heap into UMBs, giving your programs up to 200K more RAM to work with. TP6 required. -----GRAPHICS: graphics routines & tools [3D120] 3D 1.2 (Loewy Ron and Ishai Ben-Aroya; $10) is a companion to 3DLib. [3DLIB30A,3DLIB30B] 3DLib 3.0 (HyperAct, Inc. $50) is a Turbo Pascal 3D graphic animation package. It features fast wire-mesh 3D objects with a macro to Pascal language translator, support for TP for DOS and TP for Windows, DOS and windows hosted macro translator and animator, and a new DOS object compiler. Also included is a C++ library for BC__/BGI. [BRESN] BRESN (Deshpande, Chetan; $0) shows how to draw a line using Bresenham's algorithm, also known as midpoint algorithm. This method is used by AutoCad and other popular graphic programs. [BGICLIP] Clip and ClipShow (Donnelly, Peter; $0-$10) includes two programs to produce and display BGI clip art for use with PutImage. [EGALOGO] EGALogo lets you create smooth scrolling logos for EGA and VGA. [GIFPAS] GIFPas (Wenzel, Sean; $0) this unit decodes GIF images in 256 colors at nearly any resolution. [GNOOM] Gnoom (Soumarokov, Nikolay; $0) lets you edit up to ten colorful images, animate them and use them in Turbo Pascal programs. Two demonstration programs and Turbo Pascal routines are included. Images can have size from 2 x 2 to 64 x 64 pixels each. [GR_COL] GR_COL (Rivers, Jerry; $0) contains routines for using standard text output in graphics modes. [GRAFTXT] Graftxt (Godfrey, Tim; $0) is a set of routines for fast display of text in graphics mode. Includes 8, 14, 16, and 19 line fonts. It is a faster but more limited alternative to OutTextXY. [GRAFXTP] GrafxTP (Fralix, Jim; $0) is a TP6 unit for graphics handling which provides a generic graphic container object and procedures to manipulate the object. [GRPHVGA] GraphVGA Unit 1.0 (Modern Solutions; $38) is a set of high performance graphic routines for EGA/VGA that are over six times faster than BGI routines and take less than 3k. [GWEDIT] GWedit 2.01 (Day, Michael; $0) provides a graphics based string input for use with the Turbo Pascal BGI. [LINEDRAW] LineDraw 1.0 (Tim Schempp, reg. fee: $0) is Pascal source code which allows the programmer to draw lines and rectangles on the screen using the ASCII character set. The unit automatically detects where lines will intersect, and replaces the characters at the intersection with the proper character. [PCXBGI1, PCXBGI2] PCX2BGI (Balash, Marty; $15) converts all or part of PCX or LBM pictures to BGI images for use with Turbo C and Turbo Pascal programs. Turbo C programmers can hard-code smaller graphics into their programs without needing external graphics files. A C-code generation utility, a utility to remove the header and a sample program are provided. [PCXKIT] PCXkit (Donnelly, Peter; $10) CLIP 1.3 lets you clip images up to 64K from PCX files in EGA/VGA medium or high resolution. [PCXPAS] PCXPAS (Donnelly, Peter; $0) includes two Turbo Pascal units for decoding and displaying PCX graphics files. It includes Pascal and assembler source code and sample implementations. [RMAST37] Raster Master 3.7 (Blueview Software, reg. fee: $24) lets you easily create graphics for your TP programs. It can handle graphics up to 100 X 100 pixels in size with 16 colors and PCX, BMP, BGF, DEF, CON, and Windows ICO format. Other features include paint program style tools, a zoom mode, and a very slick graphic user interface. VGA and a mouse are required. [RU03] Raster Utilities #3 (Blueview Software, reg. fee: $20) is a set of programming tools. It includes a screen clipping utility, a binary-to-source code converter, and a utility for converting PCX/BMP files to a format usable by putimage. You can build resource file and run scripts to create graphics. [RGB] RGB (Sieraski, John; $0) is TP5 code which illustrates how to use the SetRGBPalette command from the Turbo Pascal 5.0 Graph unit to create 16 shades of gray on a VGA graphics card. [SCHWAZZ] Schwazz 1.0 (Duncan, Jonathan D.; $0) shows how to manipulate the VGA palette for dazzling effects. [SCENEBL] Scene Builder 1.01 (Rivers, Jerry; $0) is a paint program for Turbo Pascal. A compilable Pascal source program is produced of the graphic you create. Drawing tools include lines, polygons, rectangles, circles/ellipses, and arcs. Other features include flood filling, line styles, snap grid, and zoom viewing. Requires VGA. [SDIMAGE] SdImage 1.03 (Day, Michael; $?) is a Turbo Pascal unit designed to allow saving any BGI screen to disk. There are 20 image buffers available for use. [TEGAS] Tegas 3.0 (BSX International; $5) lets you create and save EGA images for use with the PutImage procedure. [TIMAGE] tIMAGE 1.21 (Sarver, J.H.; $25) creates graphic images in a format compatible with PutImage. It also generates TP source code for accessing the image. [TJGRAFX] TjGrafix 1.0 (Damn Fine Software Solutions; $30) provides routines to let you take advantage of the 256-color capabilities of the IBM MCGA, EGA, and VGA within your programs with minimal difficulty. [TP256D] TP256D (Thomas Design; $45) contains Super VGA BGI driver for Turbo C and Pascal that integrates support for multiple SVGA chipsets into one driver. Supports Video 7, Paradise, ATI, Tecmar, Orchid, Genoa, Compaq VGA, HP VGA, and STB video cards. [TPPCX] TPPCX 1.1 (Rafn, Mark D.; $2) contains a TP 6.0 Object-Oriented unit for displaying or saving PCX format picture files on Hercules, EGA, VGA, or compatible adapters. It allows for the hidden page display used in behind the scenes buffer capturing. [TPPCX256] TPPCX-VGA256 1.0 is a collection of objects for use with BP7.0 which creates and displays 256-color PCX format images up to 1024x768. It handles large PCX files, clipping, locating and palette functions. Sample programs are also included. (Mark D. Rafn, reg. fee: $10) [TVGAS] Tvgas 2.1 (BSX International; $5) lets you create and save VGA images for use with the PutImage procedure. [VGAPAL] VGAPal 1.0 (RAM Software Development; $10) is a palette control TPU which lets you fade-in and fade-out and cycle through palette colors. A routine is also provided for loading 320x200x256-color PCX files. -----HYPER: hypertext [HYPERL] HyperLINK 1.0 (BGASoft, ASP; $20) is a complete system for adding Hypertext help to your programs. No special editors or linkers are required. -----KYB_MOUS: keyboard, mouse, joystick routines. [FASTKEY] FastKey 1.1 (Holley, Steve; $20) is a TP6 unit that provides low-level monitoring of the keyboard, keeping track of which keys are pressed and which are not. Sample files included. [GRABKEY] GrabKey is sample code that illustrates how to get the scan code of each key pressed without removing the keypress from the key buffer so that it can be further processed by the system. [JOYSTCK] JoyStck (JonSoft Technologies Inc.; $0) is a Joystick interface for TP. [MOUSE] Mouse 3.1 (Day, Michael; $0) is an extensive set of mouse functions for TP5. [MOUSLI] MouseLib 8.0 (Loewy Ron; $15) is a Turbo Pascal event driven mouse library. It supports the standard mouse API, plus extensions for event driven programming, support for DPMI mode, text, graphic and true VGA cursor. It also includes DESQview support unit and video hardware support functions. [MOUSE_TL] Mousetools (Anderson, Nels ASP; $10) is a set of TP5 programming utilities providing most of the necessary procedures to use a mouse in your own programs. [MOUSETP] MouseTP5 (Gilroy, T. Russell; $0) is mouse menu support for TP5 using a Mouse Systems 3-button mouse or compatible such as Genius or Logitech. The Mouse Systems .MSC source and compiled versions are included. [MSDEMO] MSDemo (Landry, Bob; $0) is a simple program which exhibits some of the capabilities of using an interrupt driven interface to the mouse. It works on TP 4.0, 5.0 and 5.5. Source code is included. [OGLE] Ogle Eyes (Day, Michael; $0) is TP5 code for a routine that watches the mouse wherever it goes, or any point on the screen. It can show three possible eye styles on the screen. [PASMAC] PasMac 2.0 (Newman, Norman; $15) is a keyboard macro program especially designed for Pascal programmers. [SCAN_PA] Scancode (Anderson, Pat; $0) demonstrates how to add low-level keyboard handling to your Turbo Pascal programs. [THEMOUS] TheMouse (Kwast, Kevin A.; $10) is a set of routines for accessing a Microsoft, Logitech, or compatible mouse from Turbo Pascal. [TMOUSE] TP PD Mouse (Henderson, Ken; $0) is a Mouse to key translation unit (requires TPRO). [TPJR] TP Joystick Routines 3.0b (Howarth, David B.; $0) is a set of TP routines for joysticks. [TPRAT5] TPrat5 1.0 (Smart, J. A.; $0) is a Microsoft-compatible mouse driver to provide mouse support for Borland's Turbo Pascal 5.0. [TRANS] Translat and Keyword (Yoder, Gil ASP; $?) TRANSLAT will allow you to remap from one to five keys on your keyboard. Source code is included. -----LIBRARY: various collections of routines/libraries. [BOOSTERS] Boosters (George F. Smith & Company; $19-$35) is a set of routines for Turbo Pascal programmers. Included is sixty-three assembler-coded routines, screen generator, example programs, and complete documentation. Boosters supports string, video, heap, DOS, and special-effects routines in TEXT mode, for any IBM PC/PS or true compatible. [FLXLIST] FlexList (Power SoftWare; $14) provides TP5.5 applications with a generic hybrid stack-queue-list-array object. There are 31 methods that allow you to push, pop, insert, delete, sort, store, recall, etc. lists of any type data. [FUTILS] FUtils (Kerr, Rex; $20) is a set of TP5.5 units, mostly written in assembler. Routines included do very fast swapping of variables; fast conversion between Pascal and C strings and faster Move and FillChar; array-based stack handling; fast BIOS calls (22 routines); fast screen writing and reading; windowing; and more. Each unit has many routines in it. [MISCUNI] MiscUnit (Moehrke, Geoffrey; $0) is a set of several units written for TP 5.0. Most of these units require Turbo Professional 5.05 or higher to compile. Functions include display of an on-screen clock in any program; a simple method of displaying pop-up message windows; an improved Printer unit; data entry routines; an easy way to implement stacks or queues of any type; mapping of I/O error codes to strings; and more. Pascal source code included. [SWEEPET] Sweep 1.10 (Tauck, Eric; $10) is a library of routines for managing memory and maintaining a heap. The advantage of the Sweep Library over the heap routines built into Turbo Pascal or Turbo C is that the Sweep Library never suffers from memory fragmentation. [TOT11A, TOT11B] TechnoJock's Object Toolkit 1.1 (TechnoJock Software ASP; $90) provides a comprehensive collection of objects for building sophisticated user interfaces. It is designed specifically to be used by programmers who are new to object-oriented programming. It provides the complete source code for 18 units, and includes over 70 example programs. Some of the main tools provided include Screen and Window Management, Form Input, List Management, Menus, Directory and File Selection, and much more. Turbo Pascal 5.5 or later is required, and 640K and a hard disk are recommended. [T_WHEELS] Turbo Wheels is a utility function library disk. [UTIL17] Utility 17.6 is a TP unit including many useful programming utilities: save screen, screen input, encryption, DIR, print-screen, date routines, packkey and unpackkey, screenevent handler, control-alpha keys, support for B-Tree filer, and more. (Gemini Systems, reg. fee: $0) [VGAFNT] VGAFont (Tamburino, Joseph J.; $10) is a set of routines that allow graphics to be displayed with ordinary EGA or VGA text modes. [ZROUTIN] Zroutine 1.1 (Zimmerman, Bob; $0) is a set of TP5 routines you can add to your programs to sound a beep a specified number of times, get command line parameters from users, set text color, modify cursor attributes, trim leading spaces in a string or pad a string, create a window, shell to dos, "press any key to continue", and much more. Also included are a formatted input routine and I/O error routines. -----NUMERIC: math & stats related routines for Pascal [BIGNUM] BigNum 2.01 (Theberge, Stephen A.; $40) is an extensive library of string mathematics functions for TP4 and TP5. Functions include addition, subtraction, multiplication, division, square, root, and factorial. [BFLOAT] BFloat 1.0 (Ritchey, J. P; $0) will convert a MicroSoft Binary Floating point number to IEEE extended format. The result can be returned to TP single and double variables and TP will handle the conversion. Pascal source included. [CALCTP] CalcTP (Coleman, Timothy B.; $20-$60) is a unit for TP5 that allows a programmer to add a pop-up calculator to any application. Included are illustrative code and several ASCII representations of calculators for on-screen use. [COMPLXO] ComplxOps (Glynn, Earl F.; $0) is a ComplexOps UNIT providing complex arithmetic and transcendental functions. [DOLRWRD] DollarWord (Loew, Rob; $0) is a TP5.5 Unit for converting a number from the form "###,###.##" to the spelled-out format for check writing. The program works on number strings from 0.00 to 999,999.99. The source code is included. [FIN_TP] Finance (Anderson, Pat; $0) is source code for loan payment and amortization routines. [INVTRIG] InvTrig (RAM Software Development; $0) is a unit that gives the inverse of the sine, cosine, and tangent functions. [MATHLIB] Math Libraries 1.0 (Waldman Sidelines; $25) is a set of math units with math chip support. The libraries consist of the five transcendental functions plus nine additional ones. [MATHPAS] MathPas (Van Fossan, Richard D.; $0) is a set of transcendental functions for Turbo Pascal. It handles all trig, exponential, and hyperbolic functions. [MPI_KSU] MPI KSU (Research Foundation; $50) is a multiple precision positive integer arithmetic package. The two versions included in this package handle integers up to 149 or up to 3029 decimal digits. It is written in Eric Isaacson's A86 assembler for the 8086 series of processors and contains a Turbo Pascal interface. [NUM_RECI] Numerical Recipes Library (Numerical Recipies Software; $0) contains more than 200 source-code Pascal routines for scientific and engineering calculations. Routines cover integration, linear algebra, differential equations, Fourier methods, data analysis, statistics, lots of special functions, random numbers, sorting, root finding, optimization, and more. [P_MAT] P_Mat 1.2 (Von Tress, Mark; $5) is recursive matrix algebra routine. It includes binary operations, inversion, unary operations, and several patterned matrices. [PARS7] PARS7 (Schaaf, Renate; $0) is a set of units to implement real functions of up to three variables. [PASWIZ] Pascal Wizard's Library 1.4 (Hanlin, Thomas G.; $25) is a library for TurboPascal and QuickPascal that provides high-powered math routines, new string support, mouse management, music and BCD math. Source code is included. [REALSTR] RealStr (Mullen, Rich; $0) is a TP routine that formats a floating point double, real, or single number into a string, according to the requested number of significant digits. [TPSTAT] Stat (Norton Associates; $35) contains 30 elementary statistical and 19 mathematical subprograms developed to aid in the further enhancement of scientific Pascal software development. [VLN] Very Large Numbers 1.0 (Karl Chase, reg. fee: $0) allows the Pascal programmer to to work with numbers up to 1000 decimal digits or more. VLN can also handle numbers to 1* 10 ^ -1000 or smaller as well as add, subtract, multiply, divide, and perform with roots and powers.