Columns


CUG New Releases

Shareware for Windows

Steven Graham


Steven K. Graham has worked for Hewlett-Packard, served on the Faculty at UMKC, and is currently a Senior Engineer with CSI.

WindosIO v2.0, CUG371 (two disks), is a shareware Dynamic Link Library (DLL) for Microsoft Windows that supports both text and graphics I/O so that programs can readily be ported from MS-DOS, in some cases without change. Jeff Graubert-Cervone (Chicago, Illinois) is the author of WinDosIO. WinDosIO version 2.0 provides over 200 functions for standard terminal-style I/O and Borland/Microsoft graphics under Microsoft Windows 3.0 and 3.1, along with an online user manual, a reference guide, and several example programs. WindosIO must be used with a compiler that includes the Windows Software Development Toolkit. The volume includes an import library, but not the source for the DLL. See the review in this issue called "An Easy Road to Windows?" for more details.

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 "command files"), 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 "screens" what really should be called "MDI windows" and calls "windows" what should be called "panes". Due to MicroEMACS heritage, various operations are definitely not CUA-compliant. The CUA.CMD file included with this package, loaded by the included EMACS. RC, contains macros that modify the standard MicroEMACS mouse bindings to provide a CUA-like interface. The combination of multiple screens with menus (which thoughtfully display the corresponding keystroke commands as shortcut key combinations), makes EMACS more accessible to beginners while maintaining its utility for experienced users. These release notes were prepared using MicroEMACS for Windows.

MicroEMACS Companion

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).

C++ Classes

The Mouse++, String++, and Z++ classes, CUG372, were written by Carl Moreland, (Greensboro, North Carolina), an electronics engineer who designs microelectronic circuits and uses C, C++, and Awk. The classes were developed for Borland C++ or Turbo C++. Mouse++ (currently version 3.1, but soon to be updated to version 4) provides a mouse-interface class and includes the ability to change the cursor. Most of the standard mouse functions place their results directly into class variables and return void. The values are obtained using the appropriate inline accessor functions for the private variables. String++ is a string class (v2.01) and Z++ (v1.0) is a complex-number class. Carl is developing a keyboard class that replaces the standard interrupt 9 handler and provides some unique mapping features. When the keyboard class is available, we plan to add it to this volume. The classes include excellent documentation and example programs.

Updates

Designing Screen Interfaces in C (DSIIC), CUG337, by James Pinson, has been released in a second version that includes modifications to make the code compatible with Borland C++. This volume contains the source code that appeared in James Pinson's book Designing Screen Interfaces in C, distributed by Prentice Hall. This volume includes C source code for screen/window functions such as pop-up menus, moving light-bar menus, and multilevel moving light-bar menus. The code will compile under all memory models. The update changes the prototype for start to int start(int argc, char *argv[]); and the function gotoxy has been renamed to goxy. Microsoft C users should set the stack size to 4,000 to avoid stack related errors.

Alan Baldwin has sent in bug fixes for his ASxxxx cross assemblers, CUG292 and CUG346. The updates (v1.50+) correct bugs in the .ascii and .asciz directives, and a code-generation error in the ASZ80 assembler. The ASxxxx cross assemblers include: 6800 (6802/6808), 6801 (hd6803), 6804, 6805, 6809, 6811, 8085 (8080), and z80 (hd64180) (all in volume 292), and 68HC16 (in volume 346).

A machine-readable version (ASCII text) of the GATool Users' Manual, by Sara Lienau, has been added to volume CUG370. GATool is a C++ based, flexible tool for implementing genetic algorithms.