CUG CD-ROM Vols. 320-339

(CUG 320) Convolution Image Process

This volume, contributed by Wesley G. Faler (MI), contains a program that implements an image manipulation algorithm called convolution. The program takes an image file as input, applies the convolution algorithm to the image, and generates a new image. Supports only the CUT ("Dr. Halo") input file format. The program was developed under MS-DOS using Turbo C v2.0 and its Borland Graphics Interface (BGI) features. The disk includes C source code, documentation, and sample scanned image files.

(CUG 321) Mouse Trap Library

This shareware package, written by James M. Curran (NJ), contains a collection of functions to control a mouse. These functions provide easy access to the low-level functions of the mouse interrupt, as well as a simplified system for defining buttons or hot spots on the screen. The disk includes Small and Large model libraries for Microsoft C v5.1, a sample test program, and documentation that describes each mouse function.

(CUG 322) Doctor's Tools

This volume contains four programs, Trace by William M. Rogers (NJ), RAM Test by Dean Lance Smith, Mkptypes by Eric R. Smith (Canada), and Malloc Leak Trace by Michael Schwartz (WA). The disk includes all the C source code and documentation for each program.

(CUG 322A) Trace: macros for debugging

Trace is a collection of debugging macros. Using ANSI C features such as __FILE__ and __LINE__, these macros provide enough information to trace the execution of a program.

(CUG 322B) RAM Test: ATS tests for defective chips

RAM Test, written by Dean Lance Smith with Mohammad Khurrum and Chaiyos Ruengsakulrach, is an implementation of the ATS (Algorithmic Testing Sequence) algorithm developed by Knaizuk and Hartman and the ATS+ algorithm developed by Nair. The program tests RAM for any single or multiple stuck-at-0 or stuck-at-1 faults. These programs can be compiled under MS-DOS using Turbo C.

(CUG 322C) Mkptypes: generates ANSI C prototypes

Mkptypes is an ANSI prototype generator that takes one or more C source code files, and produces a list of function prototypes for the external functions defined in the input source files. The program is written in Standard C.

(CUG 322D) Malloc Leak Trace: tracks lost memory

The Malloc Leak Trace package is designed to help trace dynamic memory allocation leaks. The package provides the standard malloc/free/realloc interface, but keeps track of all malloc'd buffers, including their size, order of call, and address.

(CUG 323A) Explod: fireworks graphics display

Explod was contributed by Dennis Lo and David Lo (Canada). A graphics program, Explod, generates an animated fireworks display. Explod works with Hercules, VGA, EGA, or CGA graphics cards. By specifying options on the command line, you can control some performance parameters such as video type, the number of simultaneous explosions on the screen, delay factor, the number of explosions to display before exiting, gravity, and wind. The disk includes a complete set of C source code and assembly files, sample explosion data files, executable code, and documentation. Explod compiles with Turbo C v1.5 or later and requires MASM v5.0, but can be compiled with other compilers by changing the segment and group names.

(CUG 323B) Beyond the Tesseract: a text-based adventure game

David Lo has written an adventure game called Beyond The Tesseract. This adventure game recognizes two-word verb-noun commands for moving, taking inventory, manipulating objects, and saving the game. The program recognizes about 200 words. The disk includes C source code and documentation. The program compiles under Turbo C v1.5 or later.

(CUG 324) WGCONIO: TSR-compatible text windowing

WGCONIO Library, contributed by William Giel (CT), is a set of text-windowing functions that emulate most of Turbo C's text windowing functions. Giel created the library after discovering that some of Turbo C functions didn't work when the application program was memory resident. The library provides box drawing, cursor manipulation, keyboard control, window manipulation, shadowing, and text editing in windows. The disk includes C source code, documentation, a sample program and small-model library. Although the library was developed using Turbo C v2.0, it should be compilable using other C compilers by replacing int86() calls with the corresponding routines of your compiler.

(CUG 325) Zia VGA Graphics Library

This shareware VGA graphics library contributed by Ismail Zia (U.A.E.) contains routines for filling a region with specified pattern and color, setting up a view port, drawing an area bigger than the physical screen, saving and loading a screen image, drawing a rectangle, ellipse, polygon, line and arc with specified line style and color, and transforming, scaling, and rotating an object, etc. The program works on VGA standard modes and some extended modes. The distribution disk includes a huge model library for Microsoft C v5.0 or later and a large model library for Zortech C/C++ v2.0, documentation that describes all the functions in the library, demo animation image files, programs, and batch files, font files, and executable stroked font editor. Since the program was developed in C and 80386 Assembly (not included in the distribution), it will run under MS-DOS only on a 386 machine.

(CUG 326) SoftC Database Library: access dBASE IV files

This shareware package, submitted by Jan Schumann (SoftC Ltd.), provides 120 functions for fully compatible access to dBASE III/III+ and dBASEIV data, memo, and index files; and Clipper and Foxbase index files. The distribution disk includes complete documentation, header file, demo programs, and small memory model libraries for Turbo, Zortech, and Microsoft C. Version 2.1 provided new features: the support for dBXL, Quicksilver data and FoxPro memo files, functions added to perform record I/O with users' structures, object code libraries for Zortech C++, Turbo C/C++ and Microsoft Quick/Professional C. Version 3.0 provides full dBaseIV support, fully-automatic record and file locking, faster re-index functions, user-extensible Index Expression Evaluator, faster index searches, and more compact index files. Windows DLL support is available from the vendor.

(CUG 327) Panels for C: Text Windows and Menus

J. Brown (KS) contributed Panels for C, a shareware package containing user interface routines (windows and menus) for the IBM PC. Unlike other window libraries, screen fields and attributes that are defined in an ASCII text file are interpreted at runtime. Thus, fine-tuning user interfaces is possible without recompiling the program. The distribution disk includes a small model object code for Microsoft C, and demo C source and executable code. The current version (v2.3) provides Turbo C support, adds an Interactive Panel Design (IPD) utility, and allows the inclusion of panel definitions in C source programs by utilizing the PATH environment variables to find panel definition files.

(CUG 328) WTWG: Windows Text / Windows Graphics

WTWG v 1.2 is a public domain software package with routines for Window Text mode or Window Graphics mode, submitted by David Blum (CA). It provides drawing boxes, overlapping windows, mouse-selectable buttons, scroll bars, save/restore screens, text/graphics mode operations, pull-down and pop-up menus, context-sensitive help, programmer-definable hot keys, keyboard macros, transparent integration of mouse and keyboard, and a virtual memory system using expanded memory, RAM or disk space. The disk includes all the C source code that can be compiled under Turbo C v2.0/C++ or Microsoft v5.1; demo C source and project/batch files; utilities for online help, keyboard macros, and file manipulation; and documentation.

(CUG 329) Unix Tools for PC: classic text manipulation tools

This volume contains a collection of submissions. Most of the programs were derived from some UNIX commands and rewritten to compile under MS-DOS or OS/2. The distribution disk includes all the C source code.

(CUG 330) CTask: Priority-based Preemptive Multitasker

CTask v2.2, contributed by Thomas Wagner (West Germany), is a set of routines that allows a C program to execute functions in parallel, without a programmer building in sophisticated polling and switching schemes. CTask handles the switching of processor time with a priority-based, pre-emptive scheduler to provide routines for inter-task communication, event signaling and task interlocking. The package includes drivers for MS-DOS serial I/O, printer buffering and concurrent access to DOS functions. To compile CTask, Microsoft C v5.1 or later, or Turbo C v2.0 or later are required. Microsoft MASM 5.1 or later, or TASM 1.01 or later is required for the assembly parts. The disk includes well-written documentation, C and assembly source code, library modules for Microsoft C and Turbo C, make files, and sample application source code.

(CUG 331) SE Editor: Text editor with a stack

Contributed by Gary Osborn (CA), SE is a revision of the GED editor (CUG #199), which is a revision of the e editor (CUG #133). This version uses up to 500K of RAM for text storage, while functioning with as little as 6K of allocatable memory. A stale page directory has doubled the virtual disc system's efficiency. An embedded runoff function will reformat internal text as per dot commands, and a text push stack has been added for pushing and popping lines. The undo capability has been extended to include redo. The program supports free cursor movement. The command and display structure has been enhanced, but still retains Wordstar compatibility where feasible. The program was developed under Microsoft C v4.0. The distribution disk includes C source code, documentation, and an executable file.

(CUG 332) PCcurses: Unix terminal-independent I/O

Written by Bjorn Larsson (Sweden), this volume includes the PCcurses v1.4 cursor/window control package. PCcurses offers the functionality of UNIX curses, plus some extras. Normally, you should be able to port curses-based programs from UNIX curses to PCcurses without making changes. PCcurses is a port and rewrite of Pavel Curtis' public domain ncurses package. All the code has been rewritten. The disk includes C and assembly source code, user documentation, makefiles for various compilers, and a public domain make executable file. In addition, the distribution disks include some game programs such as stone, bugs, jotto, yahtzee. This program can be compiled under Microsoft C v3.0, 4.0, 5.1, or Turbo C v1.0, 2.0 or 68K Paragon C. MASM is required for the assembly file.

(CUG 333) gAWK: GNU AWK for DOS and OS/2

Bob Withers (TX) has modified the GNU version of AWK. This gAWK version provides all the features and functionality of the current UNIX AWK version, except for using pipes and user-defined functions. The program was developed under Microsoft C v5.1 and can be executed under MS-DOS and OS/2. The distribution disk includes C source code, Yacc source, makefile, user documentation, sample AWK programs, and AWK executable file. Yacc (CUG#285 BISON) is required to compile the Yacc source.

(CUG 334) GNUPLOT: plots mathematical functions or data

Written by Thomas Williams, Colin Kelley, modified by Russell Lang, Dave Kotz, John Campbell and submitted by Henri de Feraudy (France), GNUPLOT (ver.2.02) is a command-driven interactive function plotting program with bit mapped graphics routines. By typing commands interactively or loading a text file that contains commands, users can draw graphs or plot data points on screen in a given graphics mode or on a printer using a given printer driver. GNUPLOT provides a set of commands: loading/saving command file; plotting a function (builtin or user-defined) or data files, printing a title, label or arrow on a graph; clipping data points; specifying graphics mode (CGA, EGA, VGA if PC), line style, grid, ranges, offset, scaling size, sampling rate, polar/rectangular coordinates; turning on/off auto-axis scaling or auto-tic marks; output redirection; on-line help; and escaping to shell. Builtin mathematical functions are the same as the corresponding function in the UNIX math library, except that all functions accept integer, real, and complex arguments. The 'sgn' function is also supported as in BASIC.

GNUPLOT supports the following graphics and printer drivers: AED 512, AED 767, BBN BitGraph, Roland DXY800A, EEPIC, Epson LX-800, Fig, HP2623, HP2648, HP75xx, HPGL, IBM Proprinter, Imagen, Iris4D, Kermit-MS, LaTeX, NEX CP6 pinwriter, PostScript, QMS QUIC, ReGis (VT125 and VT2xx), Selanar, Tek 401x, Vectrix 384, and UNIXplot. For the PC version, it supports IBM CGA, EGA, MCGA, VGA, Hercules, AT&T 6300, and Corona 325 graphics. Version 2 has added parametric functions, X11 Motif support and printer drivers for Epson 60dpi printer, Tandy DMP-130 printer, Star color printer, emTeX, AT&T 6300, Tektronix 410x, X11, HP LaserJet II, VT like Tektronix emulator, Kyocera Laser printer and SCO CGI). The disk includes a complete set of C source files for the program and graphics drivers, makefile for UNIX, Microsoft C and Turbo C, documentation, and demo command files. The program has compiled under UNIX, VMS, and MSDOS (using Microsoft C or Turbo C).

(CUG 335) Frankenstein Cross Assemblers: many 8 and 16-bit CPUs

Written in a combination of Yacc and C, Frankenstein includes a series of cross-assemblers for 8- and 16-bit microcomputers; RCA 1802-1805, Signetics/Phillips 2650, Hitachi 6301-6303, 64180, Mos Technology/Rockwell 6502, Motorola 6805, 6809, 68hc11-6801-6800, Texas Instruments tms7000, Intel 8041-8048, 8051, 8085, 8096, Zilog Z8, Z80. The programs were developed and tested under UNIX/XENIX and MS-DOS systems. Turbo C v1.5 was used for MS-DOS. Yacc or Bison (CUG285) is required to build executable code.

(CUG 336) EGAPAL/EDIPAL: EGA graphics and palette editors

This volume includes EGA graphics applications and utilities contributed by Scott Young (NH) and Marwan El-Augi (FRANCE). Young's shareware package, EGAPAL, is a series of programs allowing users to create EGA graphics images for the 640x350 and 16-color mode. EGAPAL includes a graphics image editor program, a utility that converts the graphics image into a header file to be included in your C programs, and a library that loads a graphics image from disk or header files to the screen. The package requires Turbo C and includes documentation and a sample program. El-Augi's palette editor, EDIPAL, allows the user to change the EGA palette and save it. Saving the new palette is implemented by not closing the graphics system, therefore the change is not permanent.

(CUG 337) Designing Screen Interfaces in C

This volume contains the source code that appeared in James Pinson's book Designing Screen Interfaces in C (paperback 267 pp., published by Yourdon, February 1991, ISBN 0132015838, distributed by Prentice Hall). The disk includes C source code for screen/window functions such as pop-up menus, moving light bar menus, and multi-level moving light bar menus. The code will compile under all memory models of Turbo C and Quick C.

(CUG 338) 68000 C compiler and assembler for MS-DOS

The cross development tools for MS-DOS from Brian Brown (New Zealand) includes a 68000 C compiler, which was adapted from CUG204 68K C compiler and assembler adapted from CUG261 68K cross assembler. The compiler uses both intermediate and peephole optimization and generates very efficient 68000 assembly code. It accepts floating point types but doesn't know how to deal with them. The preprocessor supports only #include, and #define. There is no standard runtime library support. The disk includes the C source code and MS-DOS executable code for both compiler and assembler and documentation. The source code will compile under Turbo C. Currently, no commercial use of the programs is allowed.

(CUG 339) CTRLCLIB: manage CTRL-C, CTRL-BREAK, reboot

This shareware package from William Letendre (NJ), is a collection of C functions to help programmers manage user-inititated interrupts such as Control-c, Control-Break, lock keys, and reboot sequences. Properly handling these interrupts is one of the hardest things an MS-DOS developer will run up against. The disk includes small and large memory model libraries for Microsoft C v5.1 and v6.0, Quick C v2.5, Turbo C v2.0, and Turbo C++ v1.0, and sample demo programs.

This page maintained by Victor R. Volkman
Last updated on 2/19/97