Thomas G. Hanlin III 3544 E. Southern Ave. #104 Mesa, AZ 85204 This is a list of some of the software which I have written. This software, or a similar collection (things get added or removed over time) will be sent to you free if you register any of my shareware products, or you may order a set of disks for $5.00 (foreign orders must be via international money order and include $4.00 shipping). This does not include shareware registration fees, if any. You are still expected to register any shareware that you find useful. The $5.00 Sampler fee may be applied toward any registration. The registered versions of each library come with full source code-- often a megabyte or more, providing an excellent learning opportunity for beginners and old pros alike. Assembly language source code is designed for MASM 6.0 and may require alteration to assemble with A86, OPTASM, TASM, or older versions of MASM. DOS BASIC source code is designed for QuickBasic 4.0-4.5, BASCOM ("PDS") 6.0-7.1, and Visual Basic 1.0, or for PowerBASIC 3.0, depending on the library. Pascal source code is designed for Turbo Pascal 6.0 or Quick Pascal 1.0, but should compile with Turbo Pascal versions dating back to 5.0 (and, of course, newer versions as well). Windows DLLs are currently written in Microsoft C 7.0, but this may change in the future-- I am not at all happy with this compiler or its so-called documentation. 2MON: Utilities for dual-monitor systems. Free. Utilities include a clock TSR which runs on the mono display, a utility to clear the mono display, and a TSR which remaps the PrintScreen key-- instead of going to the printer, it copies the color display to the mono display. AABAS: Affordable Alternative BASIC Library. Shareware ($8). This is a good library for people curious about the workings of their computer, learning how to use libraries, or interested in writing their own assembly language routines for QuickBasic. It is a collection of scores of simple BIOS and DOS-related routines written in assembly language. AABAS is not as fancy as my other BASIC libraries, but it's quite useful in its own right and makes a great learning tool. ASICLIB: Library for David A. Visti's ASIC compiler. Shareware ($8). This library is for ASIC 4.0 and later versions. If you haven't seen ASIC, it's a shareware BASIC compiler which provides both command-line and editor/environment support. It can produce .COM, .EXE, and .OBJ files. For more info about ASIC, write its author: David A. Visti P.O. Box 2952 Raleigh, NC 27602-2952 AsicLib contains over 100 routines which add to the ASIC compiler. It provides support for some EGA and VGA modes that ASIC doesn't: SCREEN 8, 11, 12, N0, and N1. The latter two modes are special 256-color modes which provide up to 360x480 on standard VGAs! A large set of math extensions, equipment detection routines, mouse support, DOS output, string functions, and other goodies is also included. ASMWIZ: The Assembly Wizard's Library. Shareware ($25). This is a library for assembly language. The library will work with A86, MASM, OPTASM, and TASM. Only .COM files are supported. Routines include text displays (machine-level, BIOS, and DOS), graphics (Hercules, CGA, EGA), number base conversions, long integer math, file matching and command-line parsing, pseudo-random number generation, countdowns and delays, buffered file support with critical error handling, environment scanning, string functions, mouse support, sound generation, control over Break, loading of BSAVE-format files, and more. BASUPD: BASIC Update Library. Free. This library provides routines for QuickBasic 4.x which mimic new functions and commands provided by other Microsoft BASIC compilers, such as PDS 7.x and Visual Basic. These include disk routines and a powerful selection of time and date functions. BasUpd comes with full source code. BASWIZ: The BASIC Wizard's Library. Shareware ($35). This is a library for Microsoft BASIC compilers: QuickBasic, PDS, and VB/DOS. It contains an equation solver; far string support (even for QuickBasic!); powerful file handling, with buffering, critical error handling, and sharing support; telecommunications for COM1-COM4; memory management and pointers; a virtual windowing system without parallel... Extensive graphics support is built in. It handles all standard modes: MDA, Hercules (no TSR needed), CGA, EGA, VGA, SuperVGA (Tseng 4000 and VESA), Epson-compatible dot matrix printers, and HP-compatible laser printers. Printer graphics output can be previewed on the display. Special non-standard VGA modes are included, providing up to 360x480 graphics in 256 colors on ordinary VGAs. Fonts, polygons, multi-colored text-- it's all in here, and more. BasWiz math support will handle even the most demanding applications. It extends BASIC's own math and provides two other alternatives: fraction math and BCD support. With BCD, you can have up to 254 digits! This is no minimal four-function BCD package, either. It includes a wide range of support, including many trig functions, constants, and conversions. Equally good for huge and tiny numbers. PBClone uses a low-level approach, giving you the greatest flexibility possible. BasWiz uses a higher-level approach, giving you more power for less effort. These libraries can be used separately or together. BPP: A BASIC PreProcessor. Free. This utility provides a powerful meta-language for QuickBasic, BASCOM (including "PDS"), and even the QBASIC provided with DOS 5.0. It processes your code before the compiler gets to it, allowing conditional compilation, underscores within variable names, flexible "include" files (which may even contain SUB and FUNCTION definitions), name substitutions, and more. C programmers have had preprocessors for years-- now there's one for BASIC too! EXECOM: EXE-to-COM converter. Free. Like EXE2BIN, this utility converts .EXE files to .COM files. It's smaller and faster, though, as well as offering a few additional conveniences. Assembly language source code is included. EXETOOL: EXE Tool. Free. This program examines .EXE files for validity and can tell you whether the .EXE was designed for use with Microsoft Windows. If the .EXE file is determined to be too long, as it might be if you got it using an older file transfer protocol, you are given the option of truncating it to the right size. KEYCTL: Keyboard Control. Free. For AT-class machines only (286, 386, 486), this utility allows you to speed up your keyboard (or make it less sensitive for kids, etc). You can also swap the positions of the CapsLock and Left Ctrl keys, useful for civilizing the 101-key "enhanced" keyboard. Assembly language source code included. LIBWIZ: The Library Wizard's *BASIC Library Manager*. Free. This is a management tool for handling and customizing BASIC libraries. It allows ready creation of subsets of existing libraries, automatically resolving any interdependencies for you. Tools for updating and extracting from libraries are also included. LibWiz is strongly recommended for my BASWIZ and PBClone libraries, due to the vast number of routines involved. OBJTOOL: OBJ Tool. Shareware ($10). This must be the ultimate tool for manipulating .OBJ files. You can select files for inclusion or exclusion using wildcards, time, date, and size comparisons, and even the results of a search through the .OBJ file. View the file's stats, rename publics, externals, and default libraries, delete default libraries and languages, check for validity, repair checksum errors, ObjTool has it all. Useful for reducing the size of libraries, resolving conflicting routine names, patching .OBJs and just snooping around! PASWIZ: The Pascal Wizard's Library. Shareware ($25). This is a library for Turbo Pascal and QuickPascal. It provides high-powered math routines, new string support, mouse management, music, BCD math, and other routines. The math routines provide a numeric expression evaluator which allows you to convert equations into numbers at run time. The math capabilities of Pascal have been expanded significantly with new trig, inverse trig, hyperbolic trig, and other functions. For the ultimate in numeric precision, BCD math is also provided, allowing you to manipulate numbers of up to 254 digits-- not just with the basic four functions, but trig, square roots, factorials, constants with hundreds of digits of precision, etc; formatted output can be done to your specs. You can place the decimal point anywhere you want, so this works equally well with very large and very small numbers. String support includes compression, encryption, fuzzy comparisons, and other goodies. The music manager works like the BASIC PLAY language and BBS "ANSI music". PBBACK: The PB Backwards-Compatible Library. Shareware ($25). This library is like my PBClone library, but is compatible with the full range of QuickBasic compilers: QB 1.0 - 4.5. It is much easier to set up than PBClone but does not support all newer compiler features and offers some 300 routines. See the description for PBClone, below. PBCLON: The PBClone Library. Shareware ($35) This is a library for Microsoft BASIC compilers: QuickBasic 4.x, BASCOM and PDS, and Visual BASIC for DOS. It is the successor to my old ADVBAS library. With over 550 routines, this library covers a little bit of everything: mouse support, disk wrangling, string mangling, keyboard input, equipment detection, graphics, a wide variety of display management, directory searching, text compression, viewing archive directories (.ARC/.ARJ/.LZH/.PAK/.ZIP/.ZOO), matrix math, dates, times and countdowns, sorts, binary searches, graphics, and... well, it's hard to describe such a collection other than to say "it's probably in here"! PBClone uses a low-level approach, giving you the greatest flexibility possible. BasWiz uses a higher-level approach, giving you more power for less effort. These libraries can be used separately or together. PBCWIN: The PBClone Windows Library. Shareware (1993: $19.95). This is a DLL for use in programming for Microsoft Windows. It is oriented specifically towards Visual Basic, but can be used with other Windows languages that support DLLs if you know what you're doing. There are 79 routines in the first version, including bit manipulation, array initialization, PEEK, POKE, and SWAP routines, checksums and CRCs, equipment information, string testing, and more. PBWIZ: The PowerBASIC Wizard's Library. Shareware (1993: $25). This is a library of some 300 routines for Spectra's PowerBASIC 3.0 compiler. It includes archive viewing (for ARC, ARJ, EXE, LZH, PAK, ZIP, ZOO), disk directory viewing, 256-color graphics modes (320x200 and 360x480 on any VGA, more on SVGA or VESA), read and write .BMP pictures, mouse and keyboard control, EMS and XMS memory access, equipment detection, extended math and string routines, an equation solver, ANSI emulation, et al. QBWIZ: The QuickBasic Wizard's Library. Free. A collection of routines which allow you to access internal variables for QuickBasic 4.x, BASCOM 6.x, and PDS 7.x. You can retrieve the screen mode, display adapter type, DEF SEG setting, I/O redirection status, current screen colors, and many other useful values. VCLOCK: Video clock TSR. Free. This tiny TSR provides a running display of the time. You may specify screen position, 12 or 24 hours, whether to display seconds, the colors to use, and other parameters. Two versions are provided-- one for 8088 PCs and one for later machines. Assembly language source code is included.