************************************************************************ FMT version 1.30, Copyright (C) 1990 Clair Alan Hardesty, 22-DEC-1990 Floppy disk formatter for AT compatible computers Features: 1: Format verification is an option, allowing fast formatting on known good media by not specifying it. 2: Generates DOS version 4.0 style volume serial numbers. 3: The system files may be copied, producing a bootable floppy. 4: The `insert disk' prompt may be bypassed, easing use in batch files and speeding formatting of a single floppy already in the drive. 5: Recursive formatting is optional. 6: All program output is to STDOUT, allowing redirection. 7: Extensively commented source code is included. 8: The boot sector data is coded entirely in assembly language, this is a feature that I have not seen in any other floppy format program. I hope this provides others with an increased understanding of DOS and of the possibilities of assembly language programming. 9: A plethora of error messages and exit codes provide detailed program fault information. 10: Program progress display is informative without being verbose. 11: Small code size: approximately 6 Kb. 12: The floppy boot sector contains the drive parameter table, this should help in making nonstandard formats bootable, (something I may attempt in the next major revision). 13: A liberal source code license is available at resonable cost. ************************************************************************ The source code for FMT has been included for several major reasons: 1: To provide the user with peace of mind, (you are encouraged to examine the source and compile it yourself), as any program that does low level disk I/O is a potential nemesis. 2: To share what I have learned from writing it with others. 3: To encourage others to do likewise. 4: To show off (not too boisterously, but I am proud of my work). The source code is copyrighted, unlicensed users are not permitted to use any portion of the source code in programs they distribute, they are, however, permitted to use any part or all of the source code in programs written and maintained for personal use, and to use the the program as provided without compensation to the author. Licensed users are permitted to use any portion of the source code in any program written for distribution, commercial or otherwise, including distribution of the source code, providing credit is given where credit is due. You are encouraged to distribute the original files, provided they are unaltered and distributed as a set. The files are: 1: FMT.ASM 2: FMT.COM 3: FMT.DOC If you use and enjoy this program, any contribution to encourage my efforts would be greatly appriciated. If you send $10 or more, you will be receive: 1: The latest version of the source code on your choice of media (3«" 720 Kb or 5¬" 1.2 Mb) 2: A selection of other utilities I have written (with source code) If you send $20 or more, you will also receive: 1: A signed and dated source code license 2: The next major release (with source) when available Make check or money order payable to: Clair Hardesty Send to: Clair Alan Hardesty 840 Colusa Street Chico, CA 95928-4117 I may be contacted at: (916) 342-2751 Voice (916) 345-7586 FAX / Voice Mail CompuServe 75350,16 or in writing at the above address ************************************************************************ command line syntax: FMT d: size [V] [S] [N|R] where: d = drive (A or B), size = floppy size in Kb, the optional V enables format verification, the optional S copies the system files, the optional N bypasses the prompt, and the optional R enables recursive formatting with prompting supported sizes are: 360 for a 360 Kb floppy in a 360 Kb or 1.2 Mb drive 720 for a 720 Kb floppy in a 720 Kb or 1.44 Mb drive 1200 for a 1.2 Mb floppy in a 1.2 Mb drive 1440 for a 1.44 Mb floppy in a 1.44 Mb drive notes: 1:When the N option (bypass prompt) is used, formatting begins immediately (be sure the proper floppy is in the drive). Only the break key will abort the format (escape is disabled), this allows the user to type ahead of the format command. ************************************************************************ Exit codes: 0 = successful format 1 = failure during format, verify, or write 2 = disk size / drive type combination is not supported 3 = requested drive does not exist 4 = invalid or null command line 5 = system files not found or error writing system files 6 = computer is not AT compatible 7 = insufficient memory for file copy buffer (system transfer) 8 = insufficient stack space for program 9 = program aborted by user (Control-C, Break, or Escape) 10 = unknown drive type (CMOS RAM says floppy type is greater than 4) 11 = memory allocation error (while attempting to reduce memory) 12 = both N and R options specified (only one allowed) ************************************************************************ In order to use the system transfer option, the following files must be in the root directory of the default drive: 1: IBMBIO.COM or IO.SYS (normally a hidden file) 2: IBMDOS.COM or MSDOS.SYS (normally a hidden file) 3: COMMAND.COM ************************************************************************ To compile with Borland Turbo Assembler version 1.0 or greater: tasm /t fmt tlink /t /x fmt or tasm /t /zi fmt tlink /v /x fmt tdstrip -c -s fmt for use with Turbo Debugger ************************************************************************ To compile with Microsoft Macro Assembler version 5.0 or greater: masm /t fmt; link fmt; exe2bin fmt fmt.com del fmt.exe ************************************************************************ Microsoft(R) is a registered trademark of Microsoft Corporation IBM(R) and PS/2 are registered trademarks of International Business Machines Corporation Turbo Assembler(R) and Turbo Debugger(R) are registered trademarks of Borland International ************************************************************************ Revision history: Version 1.00 : 23-JAN-1990 Initial public release Version 1.10 : 03-FEB-1990 Fixed MASM bugs Added MASM version 5.0 compatibility Improved compatibility for drive type determination Added a break handler and `user abort' message Added some new exit codes Improved the boot record code Improved computer compatibility (some Wyse computers have problems) Version 1.20 : 10-JUL-1990 Fixed serial number generation to match IBM format exactly Fixed system file transfer to work with IBM or Microsoft DOS Modified the user abort code to accept the ESCAPE, CONTROL-C, or BREAK keys, and fixed some bugs in the user abort code Added recursive formatting capability Version 1.30 : 22-DEC-1990 Comment clarifications Minor code improvements ************************************************************************