Departments


New Releases


CUG307 ADU & COMX (Device Driver)

Submitted by Alex Cameron (Australia), ADU is a disk utility program designed to work with both the IBM PC standard and non-PC disk formats. By choosing an option from the main menu, you can analyze the disk format, then read and write the contents of the disk, sector by sector. The menu is also user-configurable so that the disk parameters can be adapted to almost any conceivable disk format. The initial alien disk parameters are derived by scanning the disk and building up a disk_base table, which may then be modified by the user. The disk includes C source code and well-written documentation revealing the low-level detail of the PC's disk drive configuration, not available anywhere else. The program is compiled under Turbo C v2.0 or v1.5. No assembly is required.

Submitted by Hugh Daschbach (CA), COMX, an MS-DOS communication port device driver, is an answer to a question posed by Jose Alfonso Corominas (Question & Answers, CUJ November 1989, page 52). COMX provides buffered I/O to a serial port with optional XON/XOFF flow control through standard read/write requests or interrupt 0x14. The program uses mixed memory models. COMX.C is compiled under the small model with explicitly declared far pointers and a front end program forces the linkage editor to produce a tiny model executable. This program is specifically written for Microsoft C (v5.0 or later) and some assembly code comes with the C source code.

CUG308 MSU, REMZ & LIST

Dinghuei Ho (WA) has submitted MSU, an educational simulation of simple computer organization and operation. MSU can simulate a computer that has a 4K word memory space (each word is 32 bits), a CPU that includes four segment origin registers (code segment, input segment, output segment, and workspace segment), instruction register, program status register, a card reader and line printer for input/output, and a clock. Using merely 10 basic instructions, you can operate this computer and derive output. The program runs under VMS on the Dec VAX 8820, but you can port it to other environments by modifying the code.

Bob Briggs (CA) has submitted REMZ, the classic Parks-McClellan-Remez FIR filter design program based on the FORTRAN version appearing in Theory and Application of Digital Signal Processing by Rabiner & Gold (Prentice Hall). The program compiles under Turbo C or Quick C.

Michael Kelly (MA) has submitted LIST, an object-oriented implementation of a linked list using C. LIST is able to imitate C++ notation (address_list.sort()) by defining a general structure whose fields are pointers to functions, each corresponding to the operations of an object.

CUG309 6809 C Compiler for MS-DOS

Brian Brown (New Zealand) has ported CUG221 6809 C for FLEX to MS-DOS. Modifications allow the program to run with ASxxxx assembler (CUG292), as well as with Motorola AS9 assembler. The program also generates ROMmable code. The disk includes a complete set of C source code, well-written documentation, and a run-time library such as routines for controlling the ACIA serial port, functions for character handling and data conversion between character strings and integers, routines for controlling a Hercules card, routines for a magnetic card reader, memory manipulation routines, PC serial card functions, and string handling functions.