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