I always liked coding, right from my very first line of Basic back in 1986. Later I did some 65xx-Assembler work and in 1991 I finally went for Turbo Pascal. During the nineties I created a lot of stuff for MS-DOS based systems either during university projects or just for fun. Being a lazy programmer, I produced a lot of tools to perform repetitive tasks more easily. DOS and Windows never shipped with many utilities, unlike other operation systems. (Today there are Windows ports of more powerful tools available.)
Recently, when reorganising all my historic code I recovered these command-liners. Well, good old Turbo Pascal is definitely out-dated and most executables wouldn't even run any more. The reason is that the CRT unit as supplied by Borland has a few defects causing RTE200 on fast computers or at least inconsistent delay problems. Fortunately there are CRT Replacement Units for Turbo & Borland Pascal Compilers which fix all these problems. So I spent some time recompiling all my 280k lines of Pascal code. Now they work on newer computers as well. The tools are divided into several groups: Data-File-Hacking, File-Utilities, Image-, Sound/Music- and Text-Manipulation.
Most of the tools provided here were created in 1994 to 1998. They were developed for 16 bit MS-DOS based systems and do not support long file names or recently introduced file formats. Most likely some of them are superseded. Use them at your own risk! Almost all tools show their usage when called with parameter "-?" or "/?". Unfortunately the help messages are in German... Some of them are highly experimental. and some are probably totally useless. I say it again, use them at your own risk!
The Data-File-Hacking package contains programs for disassembling, extracting data from files and memory, extracting files from special data files of some games, hex- and eor/xor-representation of binary data and extensive search and compare procedures. (Download hacking tools).
????HACKcontains code to "hack" i.e. unpack or uncompress data files of certain games.
BIN2HEXconverts binary data into hex table text file.
BIT2BYTEexpands every bit of binary data to a full byte.
BUB2ASMconverts Bubble-Asm format into TASM-Asm (prefix hex numbers with 0).
BYTE2BITcompress every byte with value != 0 to a set bit, else not set bit.
CHANGBYTchanges a single byte in a file.
CUTBINremoves the first bytes of a binary file.
CUTBYTESremoves bytes of a binary file starting at a certain offset.
CUTNOPremoves all lines from a text file that start with 90<space> (NOP command).
CV2ASMDBconverts CodeView output into ASM "DB" format.
CV2INLINconverts CodeView output into Turbo Pascal inline assembler format.
EOVexclusive-or viewer to find byte sequences of 'protected' files.
EXTRACTextracts parts of files from larger files.
HEXconverts hex, decimal, octal and binary numbers into each other.
HEX2BINconverts a sequence of hex number into a binary file.
HEXTSR(TSR) shows hex conversion window on key stroke ALT-S.
MEMLOADloads binary data into memory without executing it.
MEMSAVEsaves memory contents to a file.
MEMSVCNVsaves contents of conventional memory to a file.
MEMSVXMSsaves contents of free XMS memory to a file.
MEMTSR(TSR) saves memory contents to a file on key stroke ALT-S.
RECHcalculates arithmetic expressions.
SAVESCRNsaves current contents of video text memory to a file.
SCRNTSR(TSR) saves current contents of video text memory to a file on key stroke ALT-S.
VOCEXTRfinds and extracts Creative Labs Voice (VOC), Wave (WAV) and XMidi (XMI) from larger files.
WADITedits and displays contents of ID software's WAD files (DOOM data files).
WAVEXTRfinds and extracts RIFF Wave and IFF files from larger files.
XADDadds/xors all bytes of a file to a checksum.
XCHGBYTEreplaces or swaps specific values in binary files.
XCOMPextended version of DOS
XSEARCHsearches several files simultaneously.
XSEQUENZsearches results of
XCOMPruns for ascending/descending sequences.
XWHATprints the value of a certain position in files.
XWHAT2prints all the value of a certain position in files.
File-Manipulation features tools for comparing, renaming, setting time and date, wildcard operations and hardware detection. (Download file tools.)
BRAKE!slows down CPU using busy waits in interrupt 8 (
CHKFILESreads files from disk to check their integrity.
DETECTultimate hardware detection and benchmark tool.
DFORexecutes a DOS command for all file names in a list.
COPYto duplicate directory trees, copies only new files.
FILLDISKcalculates somehow optimal distribution of files when saved to floppy disks.
GETTIMEmeasures the time another DOS command needs to execute.
ISWINchecks for currently running Windows 3.1 or 95.
LENCOMPcompares files similar to
COMPbut based on length, ignoring path and name.
NOTHINGDo Nothing Loop.
RENALLrenames a wildcard file set according to a name list.
SCOMPcompares files similar to
COMPand deletes identical ones.
SFORexecutes a DOS command for a wildcard file set.
TDIRlists files similar to
DIRwith their date time to be used for
TT) changes the date and time of a file.
TOsearches for a directory and changes current working directory to there.
TIMETOUCfor a list file produced with
The Image-Manipulation collection provides help for viewing header information of images, viewing special picture formats, viewing special animation formats, palette manipulation, Windows BMP generation and font designing and using. (Download image tools.) Some of the tools need a VESA compatible driver to display images in SVGA graphics mode.
ANIMcreates an rotating animation from a Bitmap (BMP).
ANMplays 320x200x256 sized ANM animations (with
LPF ANIMmagic bytes).
APAL2BINconverts ASCII RGB-palette into binary.
BGI2DOOMconverts Turbo Pascal's BGI images into Doom 1.2 textures.
BMP2ASCconverts 640x400x256 sized BMP into an ASCII image.
BMP2BGIconverts uncompressed BMP into Turbo Pascal's BGI format.
BMP2DRWconverts 80x50x16 sized BMP into my own DRW format for display in text mode.
BMP2PALsaves colour palette of a BMP.
BMP2PLANconverts 640x480x16 sized BMP into 4 colour planes.
BMP2RAWconverts 320x200x256 sized BMP into raw-format.
BMP2TXTconverts BMP into ASCII image depending on brightness values.
BPAL2ASCconverts binary RGB-palette (768 bytes) into decimal text format as needed for
COLTABLdisplays table of DOS colours.
DRAWPICeditor for drawing 80x25 DRW image files.
DRAWTXTeditor for drawing ASCII images.
FNTMAGICeditor for drawing 16x8/8x8 fonts.
FONTHACKdisplays binary data as 16x8/8x8 fonts.
FONTVIEWdisplays an F16 font.
GIF2BGIconverts a GIF into one or more BGI images.
GIF2SPRconverts 160x160 sized GIF into 64 BGI images useable as sprites in games.
GIFHEADdisplays header information of GIF images.
HLS2RGBconverts ASCII HLS-palette into ASCII RGB-palette.
KPACKcompresses in my own R9 format, similar to
RLE8with slightly better compression.
LINESETset number of lines text mode (25, 28, 33 or 50).
PACKcompresses files with RLE algorithm.
PACKFL4compress 4-bit animations with distinct frames, my own FL4 format.
PAL2BMPPconverts binary palette into BMP palette with empty padding.
PLAYplays 320x200x256 sized Autodesk FLI and 640x480x256 sized FLC.
PLAYFL4plays 640x480x16 sized FL4 animation.
PLAYFLIplays 320x200 sized Autodesk FLI and FLC animation.
RAW2BMPconverts RAW images into BMP.
RGB2HLSconverts ASCII RGB-palette into ASCII HLS-palette.
SETBORDsets border colour in console.
SETFONTsets an F16 font in console.
SHOWBMPdisplays unpacked 1024x768x256 sized BMP.
SHOWC64displays Commodore 64 Koala Painter and other image formats.
SHOWGIFloads a few GIFs into XMS memory, displays and cycles them (mini slide show).
SHOWITdisplays GIFs and slide shows of GIFs using external
SHOWPALdisplays colours of a palette.
SHOWPICdisplays arbitrary data as colour values of an image.
SHOWRAWdisplays arbitrary data as 16 or 256 colour values of an image up to 1024x768x256.
EV) displays arbitrary data as colour values of an image up to 1280x1024x256.
SHOWVGAdisplays arbitrary data as VGA image (320x200x256), part of
TXT2BMPconverts text into 80 times lines sized BMP.
TXT2RAWconverts text into 80 times lines sized raw image data.
UNPCKFL4unpacks and displays 4-bit animations (FL4 files).
XCOLORchanges specific colour values of a BMP in image data, not in palette.
XTRC_BMPextracts sub-image out of an uncompressed BMP into a new BMP.
The Sound/Music-Manipulation tools support conversion of special sound formats into common formats and between different types of formats, playing of VOCs, WAVs and XMidis via Soundblaster and PC-Speaker and getting header information of audio files. (Download sound tools.) To use your audio hardware you need a DOS styled driver emulator like VDMSound.
AMIG2SNDconverts Amiga signed raw sound data (SND) into PC format.
DWD2SNDconverts DiamondWare digitised data into SND format.
MAC2SNDconverts Apple Mac sound data (SND) into SND format.
MANYINSTlists instruments of an XMidi found in the
MIDHEADdisplays header information and event list of Midi files (MID).
PAWEplays XMidi (XMI) using AWE32 hardware.
PCM2VOCconverts Space Hulk PCM into VOC.
PCM2WAVconverts AquaNox's PCM into WAV.
PCMFplays Creative Music File (CMF), needs
SBFMto be started before.
PMIDplays XMidi using Midi hardware.
PMPUplays XMidi using MT32MPU hardware.
PSOUNDplays sound files like VOC and WAV using PC speaker hardware.
PXMIplays XMidi using Soundblaster hardware.
RAW16TO8converts raw 16 bit samples into 8 bit by ignoring every second byte.
RAW2SGNconverts signed into unsigned samples by adding 080h.
RAW2SNDconverts raw samples into SND format.
ModplayerSample data (SAM) into WAV.
SND2WAVconverts SND into WAV.
SYN2WAVsplit SYN data files into separate WAVs.
VAC2WAVconverts VAC, RAC and MAC (ST-TNG CD, 11025Hz) into WAV.
VCMFplays all CMFs in the current directory, needs
SBFMto be started before.
VCMF17plays all CMFs in the current directory.
VMF2WAVconverts Creatix sound 4800Hz (VMF) into WAV.
VMPUplays all XMidis in the current directory using MT32MPU hardware.
VOCHEADdisplays header information of VOC files.
VVOCplays all VOCs in the current directory.
VWAVplays all WAVs in the current directory.
VXMIplays all XMidis in the current directory.
WAV16TO8converts 16 bit WAVs into 8 bit.
WAV2SAMconverts WAV into
ModplayerSample data (SAM).
WAV2SYNcombines several WAVs into a SYN.
WAV2VMFconverts WAV into Creatix VMF.
WAV2VOCconverts WAV into VOC.
WAVHEADdisplays header information of WAV files.
WAVMIXmixes WAVs using different algorithms.
WAVMORPHmorphs a WAV into another (very experimental).
WAVST2MOconverts 8 bit stereo WAV into mono format.
XMIHEADdisplays header information of XMidi files.
XMITRACKextracts single tracks from a multi-track XMidi.
Text-Manipulation (ASCII) offers methods for converting, replacing, sorting and different kinds of removing of pieces of text in text files. (Download text tools.)
ASCTABLdisplays table of ASCII characters.
ASCTABL2displays table of ASCII characters together with their decimal values.
BIN2ASCremoves all bytes 0-31 from a file to edit it as text.
C64TOASCconverts Commodore 64 text into ASCII format.
COPYLINEcopies all lines of a text file which contain a search term.
CUT10removes the first 10 columns in each line (for
CUTLASTremoves the last given characters in each line.
CUTLEADremoves the first given characters in each line.
CUTLINESremoves every some lines some more lines, e.g. remove two lines every ten lines.
CUTPOSremoves all text after a given column position.
CUTSPACEremoves trailing spaces.
D2Ereplaces all 'D' with 'E', used to convert FORTRAN output into gnuplot data.
DELNEWSremoves all lines of a text file which start with search term.
DELSPACEremoves all double blanks.
DIR2HTMLcreates an HTML index file containing the current folder entries.
DIR2TEXcreates a TeX index file containing the current folder entries.
DOC2TXTconverts WinWord umlauts back into DOS characters.
DOWNconverts all letters into lowercase.
EXP2DEZconverts scientific numbers (e.g. 1.3E-1) into decimal numbers (e.g. 0.13).
FIT2PIXreduces data points to one value per pixel, used for gnuplot and TeX.
FORM2TXTconverts HTML form data into plain text.
GERADENsolves a linear equation.
GNUSUBsubtracts values from the second column, used for translation of gnuplot data.
INSP2TEXconverts INSPEC search results to LaTeX
LINECNTcounts the lines of a text file.
SORTbut blocks of lines instead of single lines.
LINESUBreplaces whole lines of a text file, configured by line number.
MERGLINEmerges two text files line wise (today's editors know this as 'column mode').
MOVE_TEXmoves TeX elements inside EmTeX pictures.
NOSPACEremoves all single blanks.
ROUNDrounds all decimal numbers.
SEQ2TXTconverts Commodore 64 sequential file data (SEQ) into PC char-set.
SKALIERscales numbers by a factor, used for gnuplot data.
SLIM_TEXremoves all unnecessary horizontal
\put(lineto), used for gnuplot and TeX.
STRIP_%removes all comments (%) from TeX source.
STRIP_Cremoves all comments from FORTRAN 77 source.
TASTCODEprints the key code of the pressed key.
TEST7BITchecks if a text only contains ASCII characters > 127
TEXTDELremoves every some lines some more lines, e.g. remove two lines every ten lines.
TEXTINSinserts a text file into another at a certain position.
TEXTSUBreplaces characters in a text file.
TURNBACKsave a file in reverse order, i.e. last byte first.
TURNLINEturn all lines backwards, i.e. from right to left.
UMBRUCHjoins all lines and adds new line breaks at given position.
UPconverts all letters into uppercase.
UP11converts all letters and umlauts into uppercase.