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 C. =====C Programming, part 2 CONTENTS: -----FORNLANG: foreign language interfaces -----GAMES: game related routines for C -----GEN_LIB: general, multi-purpose libraries and routines -----GRAPHICS: graphics routines -----INDEXING: indexing & linked list routines for C -----INFO_TUT: information, tutorials, etc. -----KYB_MOUS: keyboard, mouse, joystick routines -----NUMERIC: random numbers, large numbers, etc., for C ============================================================== -----FORNLANG: foreign language interfaces [NJSDK] NJSDK 3.0 is a C library based on NJStar Chinese word processor 3.0. It includes a common Chinese interface to other programs. It handles Chinese input, display and printing. It features an intelligent PinYin input method with dynamic sorting and optimization and 20 other Chinese input methods. It allows you to easily port any English program to a stand-alone Chinese application. LaserJet, Postscript and Epson compatible printers are supported. Requires 512K memory, 2 MB free disk space and EGA/VGA/SVGA. (Hongbo Data Systems, reg. fee: $?) -----GAMES: game related routines for C [BNCE_RA] Bounce (Abramson, R.; $0) is C source code (and the .EXE) for a bouncing block program with a shoot'em-up feature. [CODEBRK] Code Breaker II (Fogel, Kenneth; $0) is the source code and bitmap files for a MasterMind type game for Windows. [DECK] Deck 1.0 (D'Ascensio, Paul; $0) is a C++ class that contains basic card handling routines for card games. The header, source, and doc files are included. [GOGAME] GoGame 2.0 (Colin Walker, reg. fee: $0) is the Turbo C source code for the game of Go. [GRUNDA] Grunda 1.0 (Walsh, Joe; $0) is the source code for a game in which a robot has gone mad. [SHUFFLC] Shuffelc (Howell, W.; $0) is a routine for shuffling and dealing a specified number of card hands of a specified number of cards. The randomness has been proven to be statistically valid. -----GEN_LIB: general, multi-purpose libraries and routines [C_ALGORI] C Language Algorithms (Tal, John; $0) is a collection of "classic" C algorithms, including link lists, binary trees, stacks, fifo queues, heaps (priority queues), (shell) sort, file merging, multi-tasking and processing scheduling, virtual memory management, file-based process communication, graph/network job management, and data encryption. All C and C++ source is included. [CTOOLBOX] C Toolbox (Miller, David A.; $30) is a library of functions in the following areas: general video, including windows and fast writing; graphics, including several normal and rotated fonts; sound, including background sound; printer control; mouse control; joystick control and other general functions. [WLIB] C++ Wheaton Libraries (Wheaton, Paul; $0) is a C++ library for developing faster, smaller programs in less time. It includes classes for strings, files, linked lists, vectors (dynamic arrays) and more. [FLASHPC] FlashPac C Library 3.61 (SimpleSoft, Inc. ASP; $0-$55) is a set of low level routines for Turbo C that access the video display, keyboard, printer, disk, and mouse devices. [JHTOOLS] JH'S C Power Tools (Hoffman, Jon; $40) contains a menu and windowing library, mouse interface library, and utility functions library. It also includes graphic cursor shapes for the mouse, keyboard scan codes, examples of menu structures, and more. [MFL_MS] MicroFirm Function Library - MS (Stout, Robert B.; $28) is a library for use with Microsoft C 5.1 or Quick C 2.0x. The features include an advanced stream I/O with installable stream filters, data encryption and compression, comprehensive direct video package, ANSI Superset Locale and Strftime functions, microsecond resolution timing, filename parsing and normalization, Julian dates, volume label manipulation, push/pop directories, open/read/close directories, file truncation and copying, serial I/O and printer support, sound and gameport support, CTRL-Break handler, basic-like string functions, and ANSI.SYS detect. [MFLZT] MicroFirm Function Library - ZT (Stout, Robert B.; $28) is a C Programming Library for use with Zortech C/C++. The features include: an advanced stream I/O with installable stream filters, data encryption and compression, MSC/TC compatibility functions, ANSI Superset Locale and Strftime functions, microsecond resolution timing, filename parsing and normalization, Julian dates, volume label manipulation, push/pop directories, open/read/close directories, file truncation and copying, serial I/O and printer support, sound and gameport support, CTRL-Break handler, basic-like string functions, and ANSI.SYS detect. This library used to be Steve's Library for Zortech C, but was acquired and enhanced by Stout. [MOVETO] MoveTo (Bender, A. L., M. D.; $0) is an assembler routine that improves on memcpy/strncpy. It adds a fourth parameter which lets you stop the copying process. [MULTI_C] Multi-App Core 1.0.1 (MicroGenesis Software; $75) is a set of platform independent classes that will form the core system of any application. It includes classes for communication, file I/O, timing, dynamic data structures, and other functions. [NEWMAT] NewMat (Davies, R.B. and DSIR; $0) contains classes and functions for manipulating matrices. [PCLCJS] Power C Functions Library (Chuck Steenburgh, reg. fee: $0) is a multi-purpose function library. It contains more than two dozen functions for string handling, video, i/o, and more. C source code for several functions are included. [SCL1] SCL1 (Alvira, Jose Rodriguez & Lebron, Jose R.; $25) is a library of over 200 functions for the Microsoft and Borland C compilers. Extensive screen and mouse handling functions are provided that are not found in the standard library. Other functions include background functions, keyboard related functions, file related functions, sound and time related functions, video related functions and Dialog functions. Also included a quick library, example programs, a demonstration program, and a demo of a screen editor/program generator that has been developed to aid using the library. SCL1 supports CGA 40 columns mode as well as EGA 43 lines and VGA 50 lines video modes. Video-pages and Double click are supported. You can also modify the mouse cursor appearance. Other features include Extended and Expanded memory support, support for the Turbo C compiler, and keyboard macros. These files unarchive to over 1 meg of disk space. [SLTC] Steve's Library for Turbo-C (Margison, Steve E., ASP; $28) has over 100 functions for use with Borland's Turbo-C. [SNP493] Snippets 493 (Stout, Bob; $0) is a collection of various C routines. This collection includes macros for ANSI.SYS, macros for direct video work, multiple printer support, BASIC-like string functions, cursor management/manipulation, DES encryption/decryption, joystick functions, mouse functions, sound and timing functions, comment extractor, file search functions, FOSSIL access functions, PRINT.COM interface functions, memory allocation strategy functions, word wrapping functions, absolute sector read/write functions, mouse functions, DOS utilities and much more. [STRUCTS] Structs (Giannini, Mario; $0) includes the the C source code which demonstrates the use of arrays of structures for such tasks as screen painting, field definition, and data file searching. [TCCLIB] TCCLIB 2.0 (Collins, Chris; $0) is a C library containing of 130 different routines, source code is included. [TCXL] TCXL (Innovative Data Concepts ASP; $53) incorporates over 375 multipurpose functions. Features include critical error handlers; macro-string capability to key-bindings; national-language support; nested entry forms; the ability to browse through data with the entry system; support for TopSpeed C/C++, a true floating-point decimal, and MASM 6.0 support. [TMULTBOX] TMultiple Box (Ogrinz, Michael; $0) is source for a multi-selection TListBox. [STDLIB1, STDLIB2] UCR Standard Library (Hyde, Randall and others; $0) is a library of C-like functions in assembly source code form. [XMMLRG] XMM Large Model Library for C is a large model port of the Microsoft XMM.ASM library routines for C. A simple handler for storing records in XMM memory is included. -----GRAPHICS: graphics routines [3DSHADE] 3DShade is C code (and the executable) to plot z = f(x,y) in three dimensions using shaded graphics. VGA required. [ARTOOL] ARTool 1.4 (Intrinsic Computer Systems; $15) is a graphics editor that will generate TurboC or BorlandC source code for pictures you build using a full screen graphics editor. You can build quite complex graphic pictures using graphic primitives such as circles, lines or polygons. It generates code that can be used in your own applications to produce sophisticated graphic designs, logos, games, and more. Requries EGA/VGA, a mouse, and a hard disk or high density floppy. [BARS] Bar Graphs (Smith, Dave; $0) is C source for a utility to draw a bar graph. In this app, the number of files of each filename extension is graphed. [EGAPAL] EGAPal 1.0 (Young, Scott; $20) allows you to create pictures and animated characters to be included in Turbo C programs using the EGA 640x350x16 video mode. The images are encoded into a header file to be placed at the start of the program or saved to an image file which is read from the disk at the time of display. [GUI_LIB] GUI Library 1.0a (Ludicrous Data; $25) is a graphic interface library for Borland C++ and Turbo C++. You can create graphic based applications featuring push buttons, icons, animated icons, string input, pulldown menus, and more. [MIKE_GGR] Mike's Game Graphic Routines 2.0 (Cantelmi, Michael; $15) is a set of fast library routines for Microsoft C and Quick C. These routines are for screens of any size and number in the 320x200x256 mode. Features include sprites that do not require a separate bit mask and support for joystick, mouse, expanded memory and for loading PCX files. Demos with commented source code are included. [MPLUS] MPlus (Yam, Michael; $10-$50) is a graphic interface library for C programs. Built upon Graphics, a library supplied with Microsoft C 5.x, MPlus provides tools to build a graphical user interface: windows, dialog boxes, bar menus, and mouse support. The menu system will support up to five levels of submenus. Wordwrap and text scrolling are supported, as well as hot keys and "checkmarks". You can enable/ disable menu attributes, and a function is included to indicate free memory. [PCX_C] PCX_C 1.0 is C source code for displaying PCX files. (reg. fee: $0) [SVGACC20] SVGACC 2.0 is a high-res, 256-color graphics library for Microsoft C/C++/QuickC and Borland C/C++. It recognizes 20 different SVGA cards, and allows programming in 320x200, 640x480, 800x600 and 1024x768 256-color modes. Other features include hardware ID, plain and filled primitives, 2D and 3D point rotation, joystick and mouse support, GIF encode and decode, paging, XMS support, and palette, bitmap and sprite functions. (Zephyr Software, reg. fee: $35) [TIFF256] TIFF256 Graphics Library Extensions 1.1b (Spyro Gumas; $20) is a library of C routines to read and display TIFF graphics. This library supports 256 color video modes defined within the VESA standard. Microsoft C and Borland C are supported. TIFF file analyzer, demo, and source code are included. [VSA256] VSA256 Graphics Library 1.1b (Spyro Gumas; $20) contains C routines which supply 256 color capabilities in all VESA resolutions including 1024x768 and 1280x1024. Demo, source, and VESA BIOS TSRs are included. This library can be used with TIFF256 Graphics Library Extensions (#4574, below). -----INDEXING: indexing & linked list routines for C [LIB_DOS] is an indexing library for MSC and DOS. [LINKLI] Linkli (SpeedSOFT Development ASP; $0) contains code that implements a linked-list algorithm using standard technique. The code is fast and memory-efficient, and well documented. [LINKLIST] LinkList 1.0 (Steve Schustack, reg. fee: $0) is a graphical explanation of link lists and pointers, and their usage in C programming. It also includes a demonstration of a screen drawing program written in C. [LLIST] ListList 5.0 (Lee Malone, reg. fee: $5) is a linked list manager, written in C, which solves the general problem of how to organize odd pieces of data held anywhere in memory. A linked list can make processing data easier by ordering and grouping related data. [WI_LIBC] is an indexing library for MSC and OS/2. [WI_LIBT] is an indexing library for Turbo-C and OS/2. -----INFO_TUT: information, tutorials, etc. [ADV_IN] Adv_In_C (Valentine, Joaquin; $?) is a tutorial in C programming, complete with homework assignments. You will need a C compiler and a text editor, [ARRAYS] Arrays (Hamilton, Dennis E.; $0) demonstrates the do's and dont's of trying to set and use pointers to arrays in C and C++. [BOOK_C] BOOK-C.LST (Chicares, Greg; $0) is a review of a dozen or two books on learning the C programming language. [CODERULE] CodeRule 1.00 is a document describing the software development standards for C/C++, including MFC interface standards. (Brian Donaldson, reg. fee: $0) [COP] COP (Small, John W.; $35) defines a formal approach to Object Oriented Programming in C. COP upholds the concepts of encapsulation, single and multiple inheritance involving virtual base classes, and polymorphism using the C preprocessor. Source code included. [CPPQUIZ] C++ Quiz 1.1 is a multiple choice quiz which tests your knowledge of C++. It has four stages of increasing difficulty. In each stage you are asked fifteen questions. Answer questions right to win the bonus and get extra points. Requires VGA. (Millstream Software, reg. fee: $15) [TUTC] C Tutor 2.4 (Dodrill, Gordon J.; $15) is a series of 14 lessons teaching ANSI-C programming. It is intended for those with very little programming experience. [C_TUTOR] C Tutor is a tutorial on programming in C. [CTUTR_CE] C Tutorial (Coronado Enterprises; $15-$40) is a C tutorial book-on-disk. The disk contains the Advantage Paperless Reader. This is an excellent C tutorial. [CPP_TUTR] C++ Tutor (Coronado Enterprises; $40) is a comprehensive instructional course for the C++ programming language. All of the points of C++ language, including properly-structured programming techniques, are covered at the elementary level. Source code is included for a large example program to illustrate how to use C++. (Borland C++ required.) [TUTCPP] C++ Tutorial 2.20 (Dodrill, Gordon J.; $15) is a series of 14 lessons teaching C++ programming. It is intended for a person with a working knowledge of C. Careful attention is given to a full description of Object Oriented Programming and how to use it. [CV_XVT] CV-XVT (Rochkind, Marc J.; $0) is a text file that provides a detailed comparison of the CommonView and XVT high-level libraries for C. [FLGZERO] FLGZero (Bender, A.L.; $0) demonstrates the way MASM 5.1 can interface with your C programs. Source is included. [HELPCPP] Help.Cpp (Hillman, Dave; $0) is a modification of help.cpp for ALT-F1 to retrace previous topics. [C_HINTS] Hints For Effecient Programming (Omega Point, Inc.; $0) is a text file with 38 tips for optimizing C programs. [IOSTRM] IOStream (Nagler, Eric; $0) is a tutorial on the IOStream.h header file. It provides information about the members of class IOS and its decendants, as well as manipulators. [JST4FUN] Jst4Fun (Vass, Garry J.; $0) is a random collection of C fragments demonstrating the potential of C to address philosophical and political issues. [MYSTERYC] Mystery of C (Groff Software; $10) is a beginner's course in the C language written in the form of a murder mystery. Also included are uncompiled C programs that form part of the mystery. A compiler is not required for use with the program. [PCT10] Portable C++ Tutorial 1.01 (Tim Boreham, reg. fee: $20) is a demo of Portable C++, a language and programming system designed to allow the programmer to create C++ compatible programs that are portable and object oriented. [ARCADE] Programming Arcade Games (Conger, David; $18) is an interactive tutorial for programming object oriented arcade games in Turbo C. It teaches the fundamental techniques of animation and the underlying principles of object oriented programming. It helps you apply animation techniques to writing arcade games and create an easier transition to object oriented languages like C++. Requires EGA/VGA/SVGA. -----KYB_MOUS: keyboard, mouse, joystick routines [CMOUSE] Cmouse (Small, John W.; $0) is a TC++/BC++ mouse driver interface class complete with auto-interrupt handler. It uses screen physical coordinates instead of mouse virtual coordinates. [CTRLC] Ctrlc (Pittman, Roger; $0) is a quick-and-dirty Ctrl-Break and Ctrl-C intercept handler. [CTRLCLIB] CtrlCLib - The Ctrl+C Library (Trendtech Corporation ASP; $33) is a collection of C-language functions that help programs manage the user-initiated class of interrupts such as Ctrl-C, Ctrl-Break Ctrl-Alt-Del, Alt-3, Ctrl-2, Ctrl-NumLock, Pause, Ctrl-S, Ctrl-PrtSc and more. [CWSCR] Cwscr (Haden, Charles W.; $?) contains C++ code modules for directly accessing mouse drivers and the screen. Compiled executables are also provided. [GAMEPRT] Gameport (Richards, Fred; $0) is a small set of routines that allow you to read the position of the Joy Stick. Assembler/C source code included. [GMICE] GMice (Tovey, Dwight N.; $0) is a sample program to demonstrate how to write mouse interrupt handlers entirely in C. [GPORT] Gport 1.01 (Bri Productions; $27) is a game port library for C. It is compatible with most DOS based C compilers. Features include timer driven button monitor, optional joy stick calibration, and more [KEYS] Keys is a set of PC keyboard Defines and routines for C. [KYBDEX] KYBDEX (Drash, Jim; $0) reports on the presence of an extended keyboard and if the BIOS supports the extended keyboard. The full source is included. [MOUSDM] MousDM (Burks, James B.; $0) is a mouse driver demo with C source routines for using an MS compatible mouse in graphics mode. [MPP] Mouse++ (Moreland, Carl; $15) is a mouse interface class for Borland C++ or TurboC++. Features include a fully buffered event handler, shift-key/button events, MultiClick buffer, hold- and-repeat button events, and more. Source code and a text/graphics demo are included. [MOUSE_C] Mouse (Loos, Rodney; $0) contains mouse routines and the resulting library. Source code is included. [MCDT] Mouse Cursor Design Tool (Oliver, Dale D.; $10) lets you design a mouse cursor and then generates the C code for it. Tools include copy, flip, rotate, flood, clear and more. Requires EGA, a mouse, and 117K of free RAM. [MOUSTR] Mousetrap 1.0 (Curran, James M.; $15) is a collection of functions to control a mouse, designed to be called from a 'C' program. They provide easy access to the low-level functions of the mouse interrupt, as well as a simplified system for high-level control over the mouse. The basic functions are mostly self explanatory, while high-level functions are a bit more complicated. [MOUSTRK] Moustrk (Goldrich, Bob; $0) is C code showing how to implement a mouse event handler. [GOODMOUS] Mr. GoodMouse (American Abbey; $35) is a library of mouse and video services and character menus and windows for DeSmet C and QuickC. No mouse control code is required if a mouse driver has been installed. The video routines include automatic sensing of video type, automatic mouse boundary limiting, windowed data entry and more. Several demo programs and their source code are included. [NOPAUSE] NoPause (Astin, Thomas; $0) demonstrates a way to disable the pause key. [ONKEY] Onkey (Bridges, Steve; $0) is a C library of keyboard functions, including OnKey - calls a supplied function whenever a passed key is hit, InKey - waits n seconds or forever for a key to be pressed, PutKey - stuffs a keystroke into the keyboard and LastKey - retrieves the last key pressed. [PCKEY] PCKey (Small, John; $0) provides access to the PC's keyboard through fast inline member functions. Includes C++ source code and demo. [STUFFKY] StuffKy (Kanarek, Richard; $0) contains an assortment of keyboard handling routines and technical information about the keyboard buffer. Assembler source and sample calling routines in Turbo C are included. [TCRAT2] Tcrat2 (Smart, J. A.; $0) is a MS-compatible mouse driver to provide mouse support for Borland's Turbo C 2.0 Integrated Development Environment. [MOUSED] Visual Mouse Cursor Designer 1.0 allows C++ programmers to design a custom mouse cursor for DOS graphic modes. (ARF Enterprises, reg. fee: $5) -----NUMERIC: random numbers, large numbers, etc., for C [BPREAL] BPReal (Biffl, Richard; $0) contains functions in C to convert floating-point numbers between the IEEE double type used by most PC-based C compilers and the proprietary real type used by Borland Pascal. [BUMP] BUMP 1.1 (Almon, Clopper; $0) is the Beginner's Understandable Matrix Package in Borland C++. It has classes with functions, derived classes with inheritance, non-trivial constructors and destructors, overloaded operators, and a virtual function. [CGAUSS] CGauss (Vass, Garry; $0) is C++ source code to iniatiate a stream of Gaussian random numbers. [CMATH] CMath is a large (150k, unarchived) set of portable, high quality math routines in C. [COMNUMB] Compound Numbers Class (Azarona Software; $?) is the source for a compound number class. [DISPAT] Dispatch (McDermott, Joe; $0) illustrates how to send and receive values via DDVT's. [DOUBLE] Double.C is a routine which converts PASCAL REAL to C DOUBLE and vice versa. [EVALX] Evalx (Hawkins, James P.; $5) is C source code for a convenient and powerful algebraic expression parser and evaluator. [EXTMATH] EXTMath (Victor, Tim; $0) is a library of C-callable assembler subroutines to do 64-bit unsigned math. Turbo Assembler source code is provided for add, subtract, multiply, divide, copy, compare, and negate operations. The object library with the assembled modules and a program example with Turbo C source code are also included. [FINCALC] Financial Calculator (Vasile, Eddy; $0) contains C++ code and a program which illustrate object oriented techniques for finance: Present Value, Future Value, Interest Rate and Number of Periods. [FORMAT] Format 1.0 (Barry Childress, reg. fee: $0) is a C++ class for printing formatted numbers. [GRAVSIM] GravSim (Hassell, C. Daniel; $0) is C code for a simulation of the affects of mutual gravitational pull on a set of bodies. [MATV] Matv 1.0 (Mark Von Tress, reg. fee: $5) is a simple matrix class. It includes IO, binary operations, inversion, unary operations, and several patterned matrices. It is small and portable. [OOSET] Ooset (Hatfield, Joe; $0) contains a C++ class used for algebraic sets (such as { 1, 3, 8, 11 }). [PARFNCT] PARSE Function 1.0 (Rubin, Jonathan L.; $20-$45) is a mathematical string function evaluator. It lets you add dynamic computations to your programs. [RANDGEN] RandGen is C and ASM code to generate random numbers. [RNG] Random Number Generators (Holsinger, Ken E.; $0) contains C source code for two random number generators. [VECTLIB] Vector Library 1.0 (Litvinoff, Scott; $10) is a C++ Class Library that allows you to easily handle 2 and 3-dimensional vectors and 3x3 matrices. The 2 dimensional vectors can be accessed and handled in either polar or rectangular format and the 3 dimensional vectors can be accessed and handled in rectangular format. [WINMAX] Winmax (O'Connor, Dan; $0) is a header file that defines max(), min(), absMax() and absMin() as inline functions instead of macros. [YAMP] Yet Another Matrix Program 1.6 (Von Tress, Mark Ph.D.; $0) is a C++ matrix algebra package. The package supports recursive matrix functions. Matrices are stored in a virtual memory file that can be stored in a RAM disk, and is limited to 32 megs. Matrices can be larger than 640K.