Columns


New Releases

Whither CUG? Not Dead, but Transformed...

Victor R. Volkman


Victor R. Volkman received a BS in Computer Science from Michigan Technological University. He has been a frequent contributor to C/C++ Users Journal since 1987. He is currently employed as Senior Analyst at H.C.I.A. of Ann Arbor, Michigan. He can be reached by dial-in at the HAL 9000 BBS (313) 663-4173 or by Usenet mail to sysop@hal9k.com.

For religious followers of Victor Volkman's CUG column, we have a bit of bad news, but a lot more good news to make up for it. First the bad news: this will be the last installment of the CUG New Releases column in its current form. We will continue to provide semi-annual reports of the latest CUG Library acquisitions, but probably not at the same level of detail as some would like to see.

The good news comes in two pieces: first, the CUG Library is still alive and well, and most volumes are still available for the rock-bottom price of $4.00/diskette + shipping and handling. (We have stopped distributing some of the really early volumes — mostly CP/M stuff, or worse. No one has howled.) You can also buy volumes 100 - 429 on a CD-ROM for just $49.95, and we will continue to update the CD-ROM with new submissions twice a year.

The CUG Library is still accepting submissions, and still awarding bonuses for those submissions. If you have some code you want to share with fellow programmers, consider submitting it to the CUG Library. Send submissions to: C Users' Group, 1601 W. 23rd St., Ste. 200, Lawrence, KS 66046.

The second piece of good news is that you have not seen the last of Victor Volkman in these pages. Next month he starts a new, bi-monthly column, which will be sort of a hybrid between CUG New Releases and Sydney Weinstein's (also defunct) On the Networks. Victor will be writing about C and C++ source code that's available all over the world, almost for free — that is, on Web sites, ftp sites, and CD-ROMs, to name a few. He will also be providing fairly detailed instructions on how to get the code.

So get yourself on the Internet, or at least get yourself a cheap CD-ROM drive, and watch these pages. — mb

New Acquisitions

Updates

CUG #435: VESATEST

Jason Hughes (Abilene, TX) submits his VESA SVGA graphics demonstration that includes many other programming elements essential to writing MS-DOS games. The graphics demonstrations take you through many fast-moving animations that show off the VESA 640x480x256 color display mode. I was particularly impressed with its speed even on my slow 80386DX-20Mhz CPU. Additional graphics routines show off the virtual paging capabilities of SVGAs with more than 1MB RAM onboard. The CUG Library distribution of VesaTest includes full source code in Borland C++ v3.1 along with MS-DOS executables. VesaTest version 2 (as released on 07/20/94) is immediately available as CUG #435.

In addition to fast graphics, VesaTest includes integrated routines for full digitized sound support. This allows playback of both MS-Windows .WAV and SoundBlaster .VOC files. The playback routines use double-buffering and DMA/IRQ detection so that configuration is fully automatic.

Also in this package are mouse routines which intercept mouse interrupts with full support for 2-button and 3-button mice. 2-button users can simulate the middle button by pressing left and right buttons simultaneously. This gives the developer more freedom to use mouse buttons. The latest version also allows automatic mouse acceleration for those mouse drivers that don't yet provide it.

VesaTest doesn't include any documentation other than a brief explanatory README file. However, the comments in the code should be enough to give you a basic idea of what's happening. Hughes has released VesaTest as "tagware," which means that if you use it you are asked to put a tag line in your program's title screen. His notes also indicate he would like to receive postcards in lieu of registration fees.

CUG #436: INCON

Richard Zigler (McBain, MI) submits his INput CONtrol (INCON) library for developing sophisticated data input screens in MS-DOS applications. INCON gives you control over the placement and appearance of input fields, and the type and amount of data that each will accept. Input fields may be alphanumeric, uppercase, integer, or floating-point. The INCON library supports Borland Turbo C 2.01 (or later) and will build Compact, Small, Medium, or Large memory model versions. INCON version 3.1 (as released on 10/08/94) is immediately available as CUG #436.

You may pass a string to INCON and specify that it be treated as default input, an input template, or both. Templates may be alpha, numeric, or mixed. You may specify that fields scroll, that they be delimited, that user input be hidden, and that input be returned to your program left- or right-justified or centered in a field whose width and "pad" character you select. A number of reserved edit keys give users of your programs extensive input editing capabilities. Several assembly language string-handling routines are available as part of INCON and in a separate object file.

The basic operation of the program is as follows:

1. The calling routine defines a block of parameters, among which is a far pointer to an I/O buffer.

2. At entry, INCON copies any string in the I/O buffer to an internal work buffer and may then display it as default input or use it to construct an input template, or both.

3. User keyboard entries are examined. INCON acts upon its reserved keys immediately. It returns extended-key codes that it finds in a list provided by the calling routine and cancels the input operation. INCON displays and saves in the work buffer all entries that are appropriate to the field type; it discards all others.

4. If the operation succeeds, INCON copies user input to the I/O buffer, overwriting its previous contents. If it fails or is canceled, INCON discards any user input it has so far gathered.

5. INCON returns a code to the calling routine that indicates input status or whether the user has made a special request.

The INCON documentation consists of a 26-page reference and tutorial manual. The manual appears as an ASCII file formatted out to 66 lines/page. The documentation provides in-depth information on all parameters and data structures you need to use. Additionally, a well-documented demonstration program also makes its easy to learn.

Since Zigler has committed INCON to the public domain, there are no fees required for its use. The CUG Library edition includes full source code in C and ASM files. Demonstration MS-DOS executables are also included.

CUG #437: C Exploration Tools for Windows

C/C++ Exploration Tools for Windows, by Jrgen Mller (Kornwestheim, Germany), includes both his C Function Tree Generator (CFT) and the C Structure Tree Generator (CST). CFT and CST analyse the C/C++ source code of applications of any size with multiple files. CFT and CST are useful to explore new, unknown software and to support reuse, maintenance and re-engineering. By preprocessing, scanning, and analysing the program source code, these programs generate the function call hierarchy (CFT) and the data structure/class (CST) relations. Both programs can handle C and C++ code, CFT can additionally analyse assembler code. The C Exploration Tools for Windows executables (released 09/11/94) are immediately available as CUG volume #437.

The C Exploration Tools are shareware and require registration with the author if you decide to use them beyond the 30-day evaluation period. The registration price is $46 U.S. or DM 60 for a single copy. Generous site license discounts with prices as low as $15 are appropriate for corporate use or educational institutions. Registered users of the MS-Windows version automatically receive the Win32s version that can be used with Windows NT or Windows 3.1 and Win32s drivers. Source code for the C Exploration Tools is not available.

The C Exploration Tools for Windows version 1.04 is functionally identical to the C Exploration Tools for MS-DOS version 2.30 (see CUG #391 update below). However, the Windows version also allows you to configure the increasingly complex set of options via a GUI and also captures textual output in a scrolling window. Please note that you must register the MS-DOS and Windows versions separately.

Update to CUG #391: C Exploration Tools for DOS

Version 2.30 of C Exploration Tools for MS-DOS features significant enhancements over the previously released version 2.20. Here are just a few of the changes that Mueller reports:

Update to CUG #423: RECIO — RECORD BASED I/O

William Pierpoint (Camarillo, CA) submits an update to his comprehensive library for stream-style record I/O. The RECIO library contains more than 50 functions and macros enabling file input where each line becomes a data record, and each record is subdivided into fields. Fields may be either character delimited or column delimited. The learning curve is simplified since many functions are based on analogous counterparts in stdio. RECIO is freeware and is protected by the GNU Public License. RECIO version 2.10 (as released 11/02/94) is immediately available from the CUG Library.

Here are some highlights of changes since version 2.00, which was the most recently distributed CUG archive: