The Sorry Tale of the PIC Programmer
Several years ago (almost exactly three, as I write this in early '97)
I released a utility to program PIC 16C84 microcontrollers using a
simple adapter connected to the parallel port of a PC running Linux or
NetBSD. I had to write my own since all of the existing software I
could find ran only under DOS and Windows.
I named the release "version 0.9" with the idea that I would release
a version 1.0 after fixing any remaining bugs. You can find the release
or here (README and
(This version is not current any more — please
read the note below about Frank Damgaard's improvements.)
During the three-year beta-test period, a few bugs were reported.
Unfortunately, in that time, I lost access to the NetBSD box I was
using, as well as the patched source code (it was on the disk of my
other machine when it was stolen) and the programming adapter (which
went with the machine). This set my development cycle, already
lethargic in the extreme, back even more.
Two of the reported errors were in the documentation, which I have
fixed: you can retrieve an updated copy of
(or as PDF for the PostScript-impaired).
The third error involves
programming the PIC's ID locations, which are not used by very many
hobbyists, so it's not a big problem, although it can be confusing
if you're using the ID locations to test whether your programmer is
working. I haven't fixed that one because I don't have a programmer
As soon as I buy a new computer and build a new adapter I will
probably release a version 1.0 of prog84, followed by a new version
with a number of new features (and new bugs, heh heh). My current
wishlist for new features is:
- Support for reading and writing Intel hex record format.
- Support for serial-port based adapters, and mixed adapters.
- Some sort of automatic revision control and version logging. I want
the programmer to keep a database of which chip was most recently
burned with which program, so I can look at the label on the
chip and find out what it has on it without putting it into the
programmer and reading the program back out.
A note on naming: there aren't very many obvious names for a 16C84
programmer. I called mine "prog84", but there are a few other programs
out there with the same name, and different requirements and abilities.
New as of April 1998: Steve Wahl has sent me a patch to prog84 which adds the ability to
read Intel hex format files in addition to the oddball PICTOOLS format, as
well as a few other small changes.
New: (January 1999)
Frank Damgaard has been
developing prog84 further, adding more features (more Intel Hex support,
support for some Microchip serial EEPROMs, etc.) as well as bumping
the version number to 2.x. See his
utilities page for details and source code.
Other PIC resources
There seems to be a lot more PIC-related activity now than there was
in 1994. Here are a few useful pages for people who are interested in
experimenting with this chip. The list is not complete and not in
any sort of order:
Other resources in general
Here is some low level information on the PC parallel port; if you're
mucking around with LPT-based PIC programmers this can help you understand
what's going on.
Last modified: 29th January, 1999.
Wim Lewis <firstname.lastname@example.org>
(My home page)