Departments


New Releases


CUG302 3-D Transforms

Written by Gus O'Donnell (CA) and submitted by Michael Yokoyama (HI), 3-D Transforms is a library of functions used to create, manipulate and display objects in three dimensions. The functions allow the programmer to create representations of solid objects bound by polygons, to rotate, translate, scale the objects in three dimensions, and to display the objects in color with a given light source. The disk includes a brief description of each function in the library, complete C source code, function libraries for Turbo C, and a demonstration program which displays a cube, a tetrahedron, and octahedron in three dimensions with each figure rotated about a different axis (Figure 1) . The program requires a Turbo C graphics library and BGI files. Turbo C v1.5 or later is recommended.

CUG303 MC68K Disassembler

Written by John M. Collins (England) and submitted by Steven M. Ward (MA), MC68K Disassembler runs on Motolora 68000 ports of UNIX System III and V. The disassembled output can be assembled to generate the same object module as the input. When disassembling stripped executable files, object modules and libraries may be scanned, modules in the main input identified and the appropriate names automatically inserted into the output. Also, an option is available to convert most non-global names into local symbols, reducing the number of symbols in the generated assembler file.

The disassembler copes reasonably with modules merged with the -r option to ld, generating a warning message as to the number of modules involved. The disk includes a users guide and complete C source code. Although the program is MC68000 specific, it is easily adaptable to run in most any operating system environment as a cross development tool.

CUG304 ROFF5

Ernest E. Bergmann (PA) has completed a major rewrite of his ROFF4 (CUG128 and CUG145). The ROFF5, v2.00 technical text formatter has evolved from ROFF4 to become somewhat more like UNIX's nroff and troff. ROFF5 now supports conditional macros, page traps, roman numerals and line numbering. It is intended for preparation of manuscripts on any dot matrix printer and can handle equations and special symbols. Different ouput devices are supported with device-specific ASCII files that inform ROFF5 of the special controls for that device. Fractional line spacing for superscripts and subscripts are supported even for printers that cannot reverse scroll. The "built-in" commands follow the naming conventions of nroff and troff where appropriate; however, in contrast to the UNIX formatters, ROFF5 supports register and macro names of arbitrary length. The disk includes a complete set of C source code, well-written documentation, and a number of test and demo files. The program was written using Turbo C v2.0 for MS-DOS.

CUG305 HGA Mandelbrot Explorer and Card Games

Dan Schechter has submitted a Hercules monochrome Mandelbrot program, as well as the card games, poker and blackjack. Unlike most Mandelbrot programs, which require you to specify "color-value" information in advance, his programs, EMANDEL and EJULIA (Figure 2) save all calculation data, allowing you to tweak the picture by specifying color-value information afterwards.

POKER is five-card draw poker. The computer plays four hands independently (the computer's four "players" do not consult with each other) and you play one hand.

BLACKJACK is not quite real casino blackjack. It is just you against the dealer. "Doubling down" is not supported. The screen display of both card games is neatly organized using the Hercules graphics.

This disk includes C source codes as well as executables for MS-DOS. All the programs are compiled using the Aztec C compiler.

CUG306 Thread and Synapsys

Gregory Colvin (CO) has contributed Thread and Synapsys. Thread is a multitasking kernel based on lightweight threads. (See his story elsewhere in this issue.) He uses the ANSI Standard C library functions, setjmp() and longjmp() to implement multiple threads within a single C program. He has tested the code with Microsoft C v5.0 on an IBM-AT, with MPW C v3.0 on a Macintosh SE. On his AT machine, the kernel compiles to under 1K of code and executes over 80,000 jumps per second.

Synapsys is a neural network simulation program which implements a very fast backpropagation network by representing synapse layers as word arrays and implementing all operations with integer arithmetic.

The disk includes C source code, benchmark and testing code for both programs.

Updates

CUG252, 253 C Tutor

Coronado Enterprises (12501 Coronado Ave NE, Albuquerque, NM 87122) has released C Tutor v2.4. This new C Tutor has been modified to include many of the proposed ANSI standard changes. CUG252 includes documentation and CUG253 includes source code. CUG257 and CUG258, C Tutor for Turbo C are not included in the revision. We will retain them for a few months as a resource for programmers working with older versions of Turbo C. Eventually convergence to the ANSI standard should allow us to retire these volumes.

CUG263 c_wndw and c_ndx

This v2.02 release from Marietta Systems includes the "c_ndx" library that supports relational database access to dBase files and B-tree indexes. This shareware package includes a manual, sample programs, and small model library for Turbo C and Quick C. The source code is available from the author (2917 Ashebrooke Dr, Marietta, GA 30068).

CUG265 cpio Installation Kit

Good news for AT&T 3B1 users. In the past, 3B1 users have been unable to read CUG disks even though our physical disk format (48 tpi, 8 sectors/track, 512 bytes/sector) matches theirs. There seems to be some incompatibility between their UNIX on 3B1 (it is okay on 3B2) and our SCO XENIX/386. T.W Kalebaugh (KS) has created a loader and dump utility for AT&T 3B1 (UNIX PC, 7300 and Convergent Technologies S-50). The updated disk includes his new subroutines and makefiles.

CUG278 CXL Library

Mike Smedley has updated his shareware C function Library, CXL to v5.1. The update includes new features such as a context-sensitive help system, extensive mouse support, shadowed windows, multiple-field data entry forms, enhanced menuing functions, extended keyboard support, and file encryption. This disk includes a manual, demo programs, small model library for Microsoft C & Quick C, Turbo C and Zortech C/C++. The source code is available from the author (P.O. Box 33603, San Antonio, TX 78265). Additionaly, Kamran Bayegan has contributed a "Screen and Form Designer" program which designs screens and forms that are completely compatible with this library.

CUG297 Small Prolog

Henri de Feraudy (France) has updated his original Small Prolog. The updated disk includes some minor bug fixes, a speed improvement involving prunify.c and prhash.c, a better handling of type predicates such as integer, and three new examples. A review of the earlier version appears elsewhere in this issue.