RMAXTask provides a more capable scheduler and better intertask communication than do simple round-robin task switchers such as Wayne Conrad's MTASK or the system described in the October 1988 issue of Computer Language magazine, while avoiding the complexity of a full-blown interrupt-driven, preemptive system like Thomas Wagner's CTask (CUG 330).
The distribution disk includes a large model of the library, complete documentation, a demo program, and short test programs. To obtain the source code for the library, you may contact Russ Cooper at RMAX Development Group, 1033 East Coral Gables Drive, Phoenix, AZ 85022.
The distribution disk includes the complete C source code, makefile, documentation, assembler executable, and assembly source files for testing.
MicroEMACS was begun by Dave Conroy in 1985, and then taken over by Daniel Lawrence (of Lafayette, Indiana), who is still supporting and enhancing it. MicroEMACS is supported on a variety of machines and operating systems, including MS-DOS, VMS, and UNIX (several versions).
MicroEMACS for Windows CUG373 (four disks) ports the popular MicroEMACS program to the Microsoft Windows environment. MicroEMACS was written by Daniel Lawrence (Lafayette, Indiana), based on code by Dave Conroy, and ported to Windows by Pierre Perret (Glendale, Arizona). MicroEMACS for Windows is a port of MicroEmacs 11c. While MicroEMACS normally comes with documentation and scripts (macros or <169>command files<170>), they are not supplied with MicroEMACS for Windows, but are available with MicroEMACS (CUG366). Exhaustive online documentation (in Winhelp format) is in the works and will be incorporated in this volume as soon as it is available.
Pierre Perret said that his port to Windows will become part of the
next major release of MicroEMACS. The port was designed to preserve
as much of MicroEMACS style as possible, to minimize changes to the
core code. MicroEMACS calls <169>screens<170> what really should be
called <169>MDI windows<170> and calls <169>windows<170> what should
be called <169>panes<170>. Due to MicroEMACS heritage, various operations
are definitely MicroSpell v2.0, CUG374 (two disks, formerly volume 248), provides
a major release of Daniel Lawrence's (Lafayette, Indiana) spelling-checker
program, which can be used standalone or in conjunction with MicroEMACS
3.11. MicroSPELL has a 1,000-word common word list, a 67,000 word
main dictionary, and can access multiple user dictionaries during
a spell check. MicroSPELL runs under MS-DOS, with versions available
for Amiga, Atari, several flavors of UNIX, and CMS on IBM 370s. MicroSPELL
can be used with the MicroEMACS macro (scan.cmd) which scans
text, stopping at suspect words and providing alternatives to deal
with the word. Three utilities are included: DMERGE, for merging
a text file of words and the main compressed dictionary; CDICT,
for compressing a text dictionary; and BIC, for suggesting
replacements for a suspect word. This volume replaces CUG248, version
1.0 of MicroSPELL. This volume includes sources, executables (for
MS-DOS), dictionaries, and users' guide (in various formats).
TextView, CUG375 (one disk) is a free Dynamic Link Library (DLL)
for simplified manipulation of text windows under Microsoft Windows,
written by Alan Phillips (Lancaster, United Kingdom). Alan Phillips
is a systems programmer at the Lancaster University Computer Centre,
where he writes UNIX communications software.
Similar to WinDosIO (CUG 371), TextView handles the details
of window operations, permitting users to call functions for writing
text (such as TVOutputText) in much the same way printf
would be called in an MS-DOS application (with the exception of an
extra parameter to identify the window where the text will be written).
TextView can create multiple, independent windows that can be resized,
minimized, maximized, and scrolled horizontally and vertically. A
thoroughly-documented demonstration program illustrates the use of
TextView windows to provide tracing and debugging information during
application development. TextView requires the use of a compiler (such
as Microsoft C) which can generate Windows code. The TextView volume
includes a readable and carefully-organized 42-page manual. The TextView
functions follow the same conventions as the Windows API, and the
manual uses the same layout as the Microsoft Windows Programmer's
Reference. TextView function names all begin with TV. The functions
use Pascal calling conventions and must be declared FAR.
Function prototypes are contained in the file textview.h. Adding
this file to your source selects the right calling mode and performs
necessary casts to far pointers. The TextView import library textview.lib
must be included in the list of libraries to be linked. The stack
size required for your application may need to be increased. Some
functions in the TextView import library must be statically linked.
Volume 376 (four disks) adds OS/2 tools to the CUG library. Martii
Ylikoski, of Helsinki, Finland, has provided a large number of free,
dual-mode tools that support both OS/2 and MS-DOS. The tools are remarkably
well packaged. Each tool includes accompanying source, makefile, documentation,
and demo files, along with files (.bat or .cmd) to install
and uninstall the tools. For OS/2 there is also a tools2.inf
file, in the standard format for OS/2 help files. Full source code
is included, generally with a single file per utility. The makefiles
(toolname.mak) indicate the required dependencies. A library
was used in building the tools, and is included in two forms mtoolsp.lib
for protected mode and mtoolsr.lib for real mode. No documentation
for the libraries exists, other than the examples of function use
provided in the source code for the tools. The collection of 54 utilities
provides a variety of functions such as: find file (ff), disk
usage (du), head, tail, set priority (setprty), touch,
cat, and scan (a find-like utility that searches for files and executes
commands once the files are found).
Diskette manipulations are the core of CUG 377 (one disk), provided
by Ian Ashdown, P. Eng., of West Vancouver. This volume provides a
wealth of information about diskette device-service routine (DSR)
functions. The documentation addresses a variety of quirks in diskette
access, and provides considerable hard-to-find information on floppy
diskettes, diskette controllers, and the diskette DSR functions. The
volume also provides extensive example and test routines, with source
code (in both C and C++ versions), for reading, writing, formatting,
and verifying almost any IBM System 34 format diskette on a PC compatible.
The code includes support and interface functions that increase the
diskette DSR's reliability and provide a consistent programming interface
across PC platforms. The information was largely determined through
extensive use of an in-circuit emulator and other debugging tools,
along with careful study of various machines and various DOS and BIOS
versions. Given the variety of ROM BIOSes available, and the necessity
to derive the information by experimentation, the material in this
volume cannot cover every case, but certainly provides a thorough
and careful treatment.
From Robert Davies, a consultant and researcher in mathematics and
computing from New Zealand, formerly with the New Zealand Department
of Scientific and Industrial Research (DSIR), we get NEWMAT (CUG 378,
one disk), a C++ matrix package. This volume was written for scientists
and engineers who need to manipulate a variety of matrices using standard
matrix operations. It was developed by a scientist (Robert Davies
has a Ph.D. from the University of California at Berkeley) to support
real work. NEWMAT emphasizes operations supporting statistical calculations.
Functions include least squares, linear-equation solve, and eigenvalues.
Matrix types supported include:
In keeping with object-oriented design each type is derived from
Matrix. Only one element type (float or NEWMAT works with Borland and Glockenspiel C++. The version current
at this writing (NEWMAT03) doesn't work with GNU C++, but a new version
(NEWMAT06) is expected (by November 1992) that will work with GNU
C++. Robert Davies suggests the following as criteria for interest
in NEWMAT: first, a desire for matrix operations expressed as operators;
second, a need for various matrix types; third, a need for only a
single element type; fourth, use of matrix sizes between 4x4 and 90x90;
and fifth, tolerance for a large and complex package. There is a fairly
large file documenting the package, which broadly addresses issues
from particulars of functions and interactions with various compilers,
through design issues in building a matrix package. If you fit the
profile described, then NEWMAT may be the matrix tool you need.(CUG 374)MicroSpell: multiplatform
spell-checker
(CUG 375)TextView: DLL simplifies text
windows
(CUG 376)Unix tools for OS/2 and
MS-DOS
(CUG 377)DSR: Hard-To-Find Information on Floppy
Disks
(CUG 378)Newmat: C++ Matrix Operations
(CUG 379)Zoo: Portable file compression
ZOO (version 2.1), is a file archiving and compression program (standard
extension .zoo), written by Rahul Dhesi, with assistance from J.
Brian Walters, Paul Homchick, Bill Davidsen, Mark Alexander, Haruhiko
Okumura, Randal L. Barnes, Raymond D. Gardner, Greg Yachuk, and Andre
Van Dalen. This volume includes C source, executable, and
documentation. Zoo is used to create and maintain collections of files
in compressed form. It uses the Lempel-Ziv compression algorithm which
yields space savings from 20% to 80% depending on the file data. Zoo
can manage multiple generations of the same file and has numerous
options accompanied by lengthy descriptions in the manuals. Zoo
supports a range of hardware and operating systems, and includes
makefiles with various options. Zoo is part of the GNUish MS-DOS
project, an attempt to provide a GNU-like environment for MS-DOS, with
GNU ports and MS-DOS replacements for non-ported GNU software.
Last updated on 10/20/96