|FLACOUT optimizes the size of .FLAC audio files losslessly. With the right options, it can often beat the reference encoder by 3-5%. It does an exhaustive search (except for block splits) and was designed to optimize compression. Due to its slow speed, it is best to run it only on small files. ;-) Note: headers will be stripped. Click here for license.
|WIN32 command line
|The professional version of PNGOUT, featuring an easy-to-use GUI. Supports all features of the command line version (described below), plus more. PNGOUTWin makes it easier to do batch processing and takes full advantage of multi-core CPUs. Please visit ardfry.com for more information.
|PNGOUT optimizes the size of .PNG files losslessly. It uses the same deflate compressor I wrote for KZIP.EXE (see below). With the right options, it can often beat other programs by 5-10%. That includes pngcrush -brute, optipng -o7, advpng -z4, etc.. PNGOUT is a great tool for optimizing the size of web pages or squeezing game content onto mobile devices. Almost all .PNG files on my website were optimized with PNGOUT. For a detailed description of the options, please check out the PNGOUT tutorial written by Kerry Watson. Click here for license. For a changelog, see: here or here.
|WIN32 command line
|PNGHALF is a simple utility which halves the dimensions of an image file by averaging the R/G/B/A of each group of 2x2 pixels - very handy for when you work with artists who like to make "1300-pixel arrows". ;-) Output files are NOT compressed so it is highly recommended to run a PNG re-compressor (such as PNGOUT above) on the results.
|WIN32 command line
|My own PKZIP-compatible compressor focusing on space over speed. KZIP creates smaller .ZIP files than PKZIP with maximum compression enabled and even beats 7-Zip most of the time. I use a few tricks beyond what your typical compressor will do. The main one is an exhaustive search of all patterns. The other one is my advanced block splitter. ZIP files created with KZIP are compatible with all of the latest .ZIP software - just that if you use KZIP, your file will probably be smaller. Decompression is still very fast, making KZIP the perfect tool for shaving off seconds from download times. What will you do for a byte? :) Click here for license.
|WIN32 command line
|Sometimes, when you run 2 different .ZIP programs on the same data (PKZIP & KZIP for example), some files get compressed better in one program, while other files get compressed better in the other. ZIPMIX will take the best files from each one and create a new output file, which is guaranteed to be equal to or smaller in size to both of the input files. ZIPMIX can also be used to perform boolean operations on ZIP files, such as merging 2 ZIP files together, or updating a new file (with some tricks). You can download the source code here: ZIPMIX_SRC.ZIP (5,232 bytes, 05/01/2016) This code may be used freely.
|WIN32 command line
|Here's a little batch file I wrote for KZIP to directly re-compress an existing ZIP file. I have tried to make the batch file as safe as possible - meaning you shouldn't lose the original file if there's an error during one of the steps. I think the worst that can happen is you end up with a harmless temporary sub-directory - and that's only if your computer freezes! If you really want to feel cool, you can re-compress a whole directory of ZIP files using this command: "for %i in (*.zip) do rekzip %i" : ) Someday, I might actually get around to integrating this functionality into KZIP.EXE..
|WIN32 command line
|Linux & MacOSX ports of PNGOUT, KZIP, and ZIPMIX
|Due to popular demand, here are ports of PNGOUT, KZIP, and ZIPMIX to Linux and MacOSX. Thanks to Jonathon Fowler for all of his assistance in porting, letting me use his machines remotely, packaging the files, and of course hosting. I asked JonoF to host these files because he has more experience with non-Windows platforms than I do. Go grab a copy of the ports at JonoF's site! Click here for license.
|Linux or MacOSX
|Automatic player AI for Minesweeper, Solitaire, and Internet Checkers. Have you ever wanted to throw some advanced computer AI against an unsuspecting Internet Checkers player? :) Did you know that Solitaire has a scoring bug if you win in less than 30 seconds? Have you ever been so lazy that Minesweeper seemed like manual labor? Well, now you're in luck because I've decided to share my cheats with you! Please read the included text file for more hints and instructions.
|The source code to Mineplay, Solplay, and Checkplay. The code is best viewed with tab stops set to 3.
|VC6 or above
|A stand-alone test checkers game I wrote just before I started writing Checkplay. Now you can see for yourself how easy it is to lose to my computer AI :)
|The source code to my stand-alone checkers game. The code is best viewed with tab stops set to 3. To compile Winmain.cpp with VC6, you'll need to install the Processor Pack which is available somewhere at microsoft.com.
|VC6 or above
|67,072 bytes, 08/09/2015
|Ken's PICture viewer. Supports: JPG,PNG,GIF,TGA,PCX,BMP. View all files in a directory or files inside a .ZIP. (no need to extract first!) Example: kpic /zduke3d_hrp.zip *.png *.jpg. Select any DirectX9 mode on the command line. Example: kpic /1024x768 *.* KPIC allows you to scroll and zoom quickly (hold mouse button). It supports a fancy 4x4 filter (uses MMX code) to interpolate samples cleanly when you use the zoom feature. This is a high quality filter - most 3D accelerators use bilinear interpolation which is only a 2x2 filter :) There are 3 interpolation modes; use TAB to select between them. (Mode 0:4x4 when stopped/nearest when moving, Mode 1:4x4 always, Mode 2:nearest always). (See PNGOUT.HTM for a more complete description of supported image formats)
|The source code to KPIC. My exe above is compiled with VC6 to get smaller EXE size, but any newer 32-bit version of VC should work.
|VC6 or above
|Simple Thumbs.db viewer. With SuckThumbs, you can save individual tiles, or spawn a default viewer (if the original file exists). Press F1 inside the program for further help. Source code included.
|WIN32, VC6 or above
|My own text editor for windows, featuring smooth panning, support for large text files and keys similar to DOS EDIT. I use this editor all the time! If you do Visual C or Java programming at the command prompt, you can press F5 while the source is loaded to compile, display errors (if applicable) and run. Press F5 and study the dialog to see how to set this up. Or look at (12/26/2020, 6,033 bytes) KC_GUIDE.TXT for a more complete list of KC commands. Source code here: kc_src.zip (12/26/2020, 80,384 bytes).
|WIN32, VC6 or above
|A command line sampler/profiler for Windows. Visual C includes a function-based sampler/profiler. This is much better! Spawn an executable of your choice (2nd command line option) or latch onto an existing program using its PID (you can look up the PID in Task Manager). When you exit the program, KPROF will dump a listing of all the hotspots to the console, along with the disassembled code. Example syntax: "kprof pngout.exe image.png". To save the results to a file, add "> results.txt" to the end of the command. This program is meant to be run inside a command prompt.
|Record without having to worry about pressing the start button on time. StopChop records at CD quality (by default), allocating a large circular buffer. As soon as you press ENTER, it switches to play mode, where you can view the last so many minutes recorded. In the play mode, you can crop the sound, fade the end, remove silence, and save the sound. To crop, move the mouse or arrow keys, then press ',' and '.' to set the respective marker. Play the sound using SPACE BAR, Home or End keys. Once finished, I like to convert the WAV to FLAC, MP3, or OGG using a separate utility.
|Huge Microphone Array VIEWer, used for audio research. Allows you to quickly view WAV files with hundreds of channels. Supports fast zoom and pan using the mouse, in either time or frequency domain. Marks can be placed using the Insert or Delete keys and saved to an associated .CSV file.
|A simple MIDI sequencer for Windows. KS2 does not support effects of any kind. I have written a bunch of .KS2 songs, but they all use .WAV files that are probably copyright, so I'm reluctant to release them.
|This screen saver uses the VESA DPMS functions. You can select between 3 options: STAND-BY, SUSPEND, and OFF.
|Copies files at 115,200 baud using the serial port. Uses compression. Automatically skips files AND parts of files that haven't changed. For example, if you appended some bytes at the end of a huge text file, CCOPY will update the file very quickly.
|Copies files over a local network using the IPX protocol. Useful when you have problems sharing hard drives. I used this all the time when testing games over a network.
|Use this utility to run a given program on all specified files located in the current directory and any subdirectory of the current one. For example you could play all .WAV files in all subdirectories of C:\WINDOWS with just a single command.
|A multi-purpose word search utility for solving anagrams, word jumbles, crossword puzzles, hangman, Wheel of Fortune, 4x4 Boggle games, etc.. Includes word list (SOWPODS), highly compressed using my own algorithms (alphabetic tree, suffix reuse, Huffman). Supports search based on wildcards, phone numbers to words, and other weird features. Want to know my favorite use? In the middle of a Boggle game, claim you have to go to the bathroom, but instead run this program and print out the results. Guaranteed to annoy everyone at the table! Source code included.
|Returns information about your CPU by dumping the results of the CPUID instruction. It also auto-detects the CPU's currently running frequency (in MHz).
|Bored of 80*25, 80*43, and 80*50 text modes? This program can set your DOS text dimensions to crazy resolutions like: 128*96 or 40*12. (Warning: Doesn't work on all video cards because it sets the video mode using VESA, and then writes some VGA registers to make the video card think it's in text mode again.)
|This used to be called KC.EXE, but since I now use my windows version, I decided to optimize my keystrokes and rename this to KCD.EXE. This is a 32-bit text editor for DOS featuring smooth panning, support for large text files, and keys similar to DOS EDIT.
|Use this program to expand mathematical expressions into sums and products that don't require parenthesis. For example: kcalc (a+b)(a-b) gives: +a*a, -b*b.
|Press a key and this program spits out the scan code. Extended codes such as arrow keys are returned as a single byte in range: 128-255
|View an entire directory of GIF files quickly. Can select any 8-bit VESA resolution on the command line. Will use Wide DAC VGA palette if available (8 bits per color instead of the usual 6). This feature is great for 256-color grayscale. Can display larger GIF files than most other programs (including Internet Explorer) because KGIF uses memory to cache only the compressed GIF data. (Doesn't support animated GIFs yet.)
|View an entire directory of JPEG files quickly. Can select any available VESA resolution and color depth (8,15,16,24,32 bits) on the command line. For old VGA cards, KPEG will display more than 256 colors by TIME DITHERING (320*200*8 mode only) By time dithering, I mean that KPEG averages the colors across 32 display pages and quickly flipping between them. (Doesn't support "progressive" JPEG yet.)
|View an entire directory of PNG files quickly. This program requires support for 32-bit VESA modes. Can display larger PNG files than most other programs because KPNG uses memory to cache only the compressed PNG data. (Doesn't support 16-bit color depths.)
|DOS32 (32-bit color only)
|Detects the rate at which your mouse reports x & y movements. Slow mouse rates can destroy the "apparent" frame rate of any application which doesn't interpolate the mouse data. If you find this number is less than the frame rate of your screen, you could try installing a mouse driver specific to your mouse and playing with the options. Also somebody out there made a neat program that runs in Windows 95/98 that can change the rate without requiring a reboot! In an internet searcher, try the keyword "PS2RATE.ZIP"
|Tests 8,16,32, and 64-bit memory writes to system memory, VGA memory, and linear frame buffer memory (if available).
|Tests 8,16,32, and 64-bit memory reads from system memory, VGA memory, and linear frame buffer memory (if available).
|Tests 8,16,32, and 64-bit memory moves from system memory to: system memory, VGA memory, and linear frame buffer memory (if available).
|After you run "pklite -e" on an exe, run this to hide the PKLite signature. Hackers won't even know that the EXE was compressed with PKLite.
|Run this to help you calculate the dimensions of something on the windows screen. (One of my few Windows programs to use GDI)
|Test your hearing range using this simple utility. I made sure to eliminate as many 'clicks' as possible, so you can't falsely claim you hear a frequency when you actually don't. This program plays at CD quality. For high frequencies, it will work best with headphones... of course if you have bad headphones then this programs tests your headphones more than your hearing. :) If you can hear over 17500hz, then you've got better hearing (or better headphones) than me. Older people often can't hear above 13000hz.
|"Renders" a DOS font text file to a PNG file. I used to use this program when I needed to print out a DOS text file which had line-drawing characters. Source code now included.
|Want to see how fast you can type? Using this program, you can type in any text and it will report the number of words you typed, how many seconds it took you, and how fast you typed it in words per minute. On 02/11/2000, I typed "The quick brown fox jumps over the lazy dog." in 2.683 seconds - that's 201.233 words per minute! On 06/28/1999, I typed the names of all 50 U.S. states in alphabetical order (60 words, no capitalization) in 45.094 seconds. I challenge you to beat me! Don't be discouraged though - I'm really, REALLY FAST! You should be proud of yourself if you can get half my score.
|Tests the features of 8-bit VESA graphic modes. Source code included. Compile with Watcom C.
|Tests the speed of VBE/AF graphic modes. Too bad that the VBE/AF specification seems to not have caught on. To obtain a VBE/AF driver, you can try installing Scitech Display Doctor (www.scitechsoft.com), which puts a file called VBEAF.DRV in the root of your hard drive.
|Plays WAV or VOC files through the PC speaker. Works in Windows 95/98, but not quite at the same quality as DOS because Windows has no GOOD way of disabling interrupts. Includes source; compile with Watcom C.
|Just another MP3 player. Code is based on MPG12304.ZIP, but I optimized the player quite a bit and has a couple of silly features like an alarm. Features low CPU usage. Requires an SB-compatible card.
|Got no sound card? MP3PC plays MP3 files through your PC speaker! For some reason I like to make programs work through the PC speaker. Some people still don't know that it's possible to play real sounds through it. Unfortunately, you must run this in pure DOS mode for it to work.
|KeN's Change Directory. If you like jumping to different directories quickly, you should try my version of the program, based on one of my favorite Norton Utilities. My NCD program is extremely small and fast. One cool feature is that it stores the entire directory tree (skips hidden directories) in the "NCD.EXE" program file itself. This keeps your HD from getting cluttered and makes the program load even faster.
|Use to capture a DOS text screen of any dimensions to a file (called TEXTCAPT.TXT) Handy when a program refuses to redirect output to a file with the '>' DOS operator.
|Set to 80*25 text mode, clear the screen, and fix the IRQ0 timer rate, all in 16 bytes. Use this instead of typing "MODE CO80,25" and "CLS" when your screen gets messed up when DOS programs crash.
|This utility is for the serious QuickBasic programmer who is stuck using WinXP. In WinXP, some old DOS programs (such as Microsoft QuickBasic) stupidly access the floppy drive when you do File..Open. This is really annoying because it wastes 2 seconds while it does this. FLOPPY.COM fixes this behavior by disabling the floppy drive. As a side effect, you can't access the floppy drive until you re-enable it. At the command prompt, type "floppy off" to disable the floppy drive and "floppy on" or "floppy" to enable the floppy drive.
|DOS16 (intended to run on WinXP)
|Ok, obviously this isn't mine. It's the default DOS extender that Watcom C uses. I put it here just in case you need it to run one of my programs.