Index of /pub/ibmpc/util

      Name                    Last modified       Size  Description

[DIR] Parent Directory 13-Apr-2007 19:21 - [TXT] addcr.asm 31-May-1994 02:18 2k [   ] addcr.com 31-May-1994 02:19 1k [TXT] aspi.c 15-Jun-2001 00:33 7k [TXT] base64.asm 15-Dec-1997 00:50 5k [   ] base64.com 15-Dec-1997 00:50 1k [TXT] breakup.asm 13-May-1999 12:03 4k [   ] breakup.exe 13-May-1999 12:03 1k [TXT] combine.asm 27-May-1995 15:25 4k [   ] combine.com 27-May-1995 15:25 1k [TXT] cvt9312.asm 24-Oct-2000 15:01 3k [   ] cvt9312.com 24-Oct-2000 15:01 1k [TXT] ectloop.asm 22-Jun-1997 11:37 12k [   ] ectloop.com 22-Jun-1997 11:37 1k [TXT] fdisk.asm 26-Oct-1999 17:24 59k [   ] fdisk.com 26-Oct-1999 17:24 9k [TXT] fdisk.txt 26-Oct-1999 17:24 4k [TXT] hex2dsk.c 31-Jul-1999 13:51 5k [   ] hex2dsk.exe 31-Jul-1999 13:51 18k [TXT] hex2dsk.txt 31-Jul-1999 13:51 2k [TXT] lines.asm 03-Apr-2002 16:05 14k [   ] lines.com 03-Apr-2002 16:05 1k [TXT] lines.txt 03-Apr-2002 16:05 1k [TXT] nomcast.asm 10-May-1998 18:35 6k [   ] nomcast.com 10-May-1998 18:35 1k [DIR] old/ 03-Apr-2002 15:59 - [TXT] p84.asm 06-Mar-1999 03:54 41k [   ] p84.com 06-Mar-1999 03:54 4k [TXT] p84.txt 06-Mar-1999 16:23 4k [TXT] page.asm 28-Nov-1995 03:09 26k [   ] page.com 28-Nov-1995 03:10 2k [TXT] pagelen.asm 03-Dec-1995 05:12 3k [   ] pagelen.com 03-Dec-1995 05:12 1k [TXT] rad50.asm 13-Aug-1995 15:31 4k [   ] rad50.com 13-Aug-1995 15:32 1k [TXT] remcr.asm 31-May-1994 02:18 2k [   ] remcr.com 31-May-1994 02:18 1k [TXT] rk05wl.asm 14-Nov-1998 01:00 13k [   ] rk05wl.com 14-Nov-1998 01:00 1k [TXT] rk05wl.txt 14-Nov-1998 01:00 3k [TXT] showflop.asm 11-Dec-1996 01:02 1k [   ] showflop.com 11-Dec-1996 01:02 1k [TXT] showide.asm 31-Jan-1995 03:14 3k [   ] showide.com 31-Jan-1995 03:14 1k [TXT] snip.asm 26-Nov-1995 15:56 6k [   ] snip.com 26-Nov-1995 15:57 1k [TXT] st.c 15-Jun-2001 00:33 15k [   ] st.exe 15-Jun-2001 00:33 38k [TXT] st.h 15-Jun-2001 00:33 1k [TXT] st.lnk 15-Jun-2001 00:33 1k [TXT] st.txt 15-Jun-2001 00:33 3k [TXT] tab.asm 26-Sep-1995 02:46 4k [   ] tab.exe 26-Sep-1995 02:47 1k [TXT] whereis.asm 18-Mar-1994 19:38 5k [   ] whereis.com 18-Mar-1994 19:26 1k [TXT] zm.asm 02-Apr-1992 13:02 2k [   ] zm.com 02-Apr-1992 13:02 1k

This directory contains random small utilities for DOS by John Wilson.
Most of them are simple .COM files and can be built like this (using TASM):

	tasm -t file.asm
	tlink -t -x file

addcr	Filter to add CRs before LFs, for fixing text files inadvertantly
	transferred in binary mode from UNIX systems.  ADDCR <oldfile >newfile.

base64	Filter to convert Base64 files to binary (must trim out all non-Base64
	stuff first with an editor).

breakup	Program to break up a large file into smaller equally-sized pieces
	(so it will fit on a stack of floppies etc.).

combine	Program to combine even/odd ROM image files to one file.

cvt9312	Convert DEC "23-xxxA9-00" boot PROM images (as used in an 82S130
	bipolar PROM in the M9312 diag/boot board, or similar) to or from
	straight PDP-11 words.  Files are standard input and output.  Type
	of transformation is decided by the size of the source file -- if
	it's 512 bytes, it's an 82S130 image and gets converted to a
	64-word memory image.  If it's 128 bytes, it's 64 words of PDP-11
	code and it gets converted to a 512-byte 82S130 image.

	If none of that made any sense to you, don't worry about it.
	This was a utility I needed for a PDP-11 project I was working on,
	probably no one else in the world cares about writing new PDP-11
	boot PROM code now.

ectloop	Server for the Ethernet Communications Test loopback protocol (90-00)
	used by DEC (specifically the NITEST.SAV program included with the
	RT-11 operating system for the PDP-11).

fdisk	FDISK replacement.  Its noteworthy functions are that it can save
	and restore backup copies of the master boot record (including the
	partition table), and it can sort the partition table by cylinder,
	so that your Linux partition numbers will correspond to your DOS
	partition numbers -- the newer FDISKs supplied with DOS screw up the
	order, DOS doesn't care, Linux does.  This FDISK can also create
	and delete partitions of any type, not just DOS ones, and it has
	its own 100% original (i.e. not pirated from MS-DOS or anywhere else,
	unlike some FDISKs I could mention) master boot record code (so it
	can perform the same function as the undocumented "FDISK /MBR" in
	DOS).  This master boot record includes primitive support for
	multiple bootable partitions;  if no partition is marked as bootable,
	it prompts for the partition number to boot (this is not supported
	by all OSes, some of them locate themselves in the partition table
	by re-reading it and locating the bootable one, which screws up if
	there isn't one -- apparently they don't know that the MBR passes
	the booted OS a pointer to its own partition table entry in DS:SI).

hex2dsk	Program to read an RSX "DMP TI:=ddu:/BL:0/WD" hex dump (captured
	with a terminal program) and convert it back to a binary file
	(e.g. disk image for Ersatz-11).  It's careful about syntax so it
	will catch really huge transfer errors, but you should still use
	this as your last choice for when a reliable transfer method is not
	available.  Unfortunately this program is written in C, I figured
	people might care about running it on machines other than PCs.

lines	Program to quickly count the number of lines in text file(s).
	Handles wildcards and prints a grand total for all files counted.
	Supports Windows 9x long filenames.

nomcast	Packet driver shim which disables the calls having to do with
	multicast address lists.  I originally wrote this to try to reproduce
	a bug (which I couldn't see because my NE2000's driver handled
	multicast lists just fine).

p84	Tiny command line utility to program Microchip PIC16F84
	microcontrollers over a serial port using the "COM84" programmer
	circuit.  Type "P84/?"  to get the command line syntax.  Can
	erase/blank check/read/write/verify chips using either merged or
	split Intel hex files.  No forms to fill out, everything is on the
	command line so you can call it from a makefile or whatever (these
	days lots of point & drool weenies seem to like filling out forms
	all day long, not me).

page	Program to handle printing a text file (or formatting it for later
	printing) on page-at-a-time printers (i.e. inkjets and lasers).  Can
	print selected pages of a file, or can print fronts and backs
	separately (for two-sided output in two passes), and can print the
	pages in reverse order.  Handles left margin, optionally maintaining
	separate margins for fronts and backs of sheets (for pages that will
	be bound or put in a binder).  I finally got a duplex printer but
	this is very handy if you want two-sided output on a regular printer.
	I *still* haven't gotten around to building a double-decker printer
	stand for my two NEC Spinwriters!

pagelen	Program to count the number of lines between form feeds in a file.
	The number of lines for each page is displayed along with the last
	non-null line on that page, which may be useful if that's the page
	number.  I wrote this to help clean up the scanned-in OS/8 manuals
	I have on-line, although of course I haven't done that yet.

rad50	Program to convert between octal and Radix-50 (character code used on
	PDP-11s to pack three characters into 16 bits, used for filenames and
	in object files for symbol names).  Well OK so *I* had a use for it!

remcr	Filter to remove CRs before LFs, for fixing binary files inadvertantly
	transferred in text mode from UNIX systems.  Note that unlike some
	stupid programs (C-Kermit!), this program does not remove CRs unless
	followed by LFs, so if you want to transfer a text file that contains
	overprinting to a UNIX machine, you can run it through REMCR and then
	transfer it as a binary file.  REMCR <oldfile >newfile

rk05wl	Program to insert/extract DEC RK05 disk images to/from Zip disk images
	used with the Wilson Labs RK05-to-SCSI bridge box.  This is another
	thing I only needed once, but you never know.

showflop Program to display floppy disk drive types from CMOS RAM.
	Sheesh, some people are probably too young to remember when there was
	more than one type of floppy drive, and you had more than one of them
	(or these days, more than zero of them).

showide	Program to query IDE drives and display their parameters.  Putting
	this on a bootable floppy can save you a lot of grief if your BIOS
	doesn't know how to query IDE drives (well OK all modern BIOSes do,
	and AUTO is the default anyway, but back when I wrote this you usually
	had to key in the C/H/S values by hand when you got a new disk drive).

snip	Program to snip the specified number of bytes off of the beginning
	and/or end of a file.  This is useful on any kind of file but is
	intended for use with disk image files that were transferred using
	labeled magtapes, so that the labels need to be trimmed off.  The
	copying/truncation is done in-place so no additional space is needed
	on your disk (good for trimming enormous files).  Just follow the
	prompts, and make a backup if you're not really sure about what
	you're doing.

st	SCSI tape utility.  Can be used to capture tape images for Ersatz-11,
	among other things.  Use "st -f scsi6: iget foo.tap" to read the
	entire tape at SCSI ID 6 into the file "foo.tap", suitable for use
	with E11's MOUNT command.  It can also go the other way, use "iput"
	instead of "iget" to write foo.tap onto the tape.  Fixed block sizes
	with recordless files are also supported, like what you get with the
	UNIX "dd" program.

	I'm ashamed to say this is written in C (Watcom 11.0).  It was
	originally intended as sample code to be supplied to a contractor
	(otherwise it would have been in assembly language like everything
	else I do), but it evolved into a utility in its own right.

	Files are:

	aspi.c	DOS ASPI interface code
	st.c	the utility itself
	st.h	definitions
	st.lnk	linker script

	Build it with wcc aspi, wcc st, wlink @st (first change the "libpath"
	lines in st.lnk to point at where the Watcom libraries are on your
	system, unless you configured your Watcom better than I did).

tab	Filter to convert tab characters to spaces;  default tab stops are
	every 8 columns, or they may be specified on the command line, as in
	"tab 10 16 35" to set tabs for IBM 370 assembly language files, etc.
	This can be handy if you've been using an editor that knows about
	non-standard tab stops, but need to send the file somewhere that
	can't handle this (or can't handle tabs at all).

whereis	Program to search a disk for files matching a wildcard.  Not to be
	confused with similar programs of the same name written by others,
	I'm not pretending I wrote those.

zm	Program to set all free DOS memory to 00s (or to the 8-bit hex value
	specified on the command line).  Named for a DEC KS10 console command
	that does the same thing (it stands for "zero memory").  May be handy
	for finding bugs caused by forgetting to initialize variables, this
	way you can get repeatable results.