Dave's Software

Broccoli18: PIC18F programming tool

This will program your PIC18F using low-voltage ICSP mode. For more information and to download, see my Broccoli18 webpage.


Dis51 is a simple 8051 disassembler for Unix. It takes an Intel HEX-file as input and outputs 8051 Assembly code. Rather than assume everything is code, the disassembler attempts to determine what sections are data by following all code paths. For more information and to download, see my Dis51 webpage.


Hexcmp compares two files in Intel HEX format and determines whether they represent the same data, even if they are formatted differently. Hexcmp was originally called Hexdiff, until I discovered that there are several other programs with that same name. For more information and to download Hexcmp, see my Hexcmp webpage.


Bitinfo parses the header on a Xilinx bit-file and outputs information such as the target Xilinx FPGA and the date the file was created. I had to reverse-engineer the format of the bit-file header to write this program. For more information and to download Bitinfo, see my Bitinfo webpage.

Nomad Utilities

I implemented a set of utilities to teach myself more about writing Linux kernel drivers, and to be able to access my Nomad MP3 player at home. I was only able to write this software because someone else did the hard work of reverse-engineering the Nomad protocol. I recommend using this user-space program instead of my driver since a bug in the user-space program will not crash your computer. In fact, I'm hesitant to even put my driver on the web. Send email to the address at the bottom of this page if you think you might have a use for my code, and I'll send it to you.


Awale is an African board game that I enjoy. Sometimes it's hard to find someone else who knows how to play this game to play against me, so I wrote this program. I spent a little bit of time with a profiler making sure the program was fast enough to beat me every time and still only take a few seconds to come up with the next move. Either I'm good at writing efficient code, or I'm bad at Awale. Probably the latter. Check out the README text file for the rules of the game, or just download Awale now.

Hexchksum and Chkhex

I used to teach a class where we had the students create a simple Intel-HEX file by hand as part of one of their experiments. It became tedious trying to track down all their mistakes before the file was downloaded to our development board, so I wrote this pair of programs to check the files for me. Hexchksum takes a hex file as input and outputs the same file with corrected checksums. Chkhex takes a hex file as input and displays anything that it thinks might be an error. We don't make the students create HEX-files by hand any more, so I'd be tickled pink if anyone out there found a use for these two programs.


If you have any questions about this webpage or my software, feel free to send me a message at davesullins@earthlink.net.

Back to Dave Sullins's web page