WHAT IS THIS? wiml@netcom.com ------------- v0.9 26Dec1994 A PIC programmer. Specifically, I wrote this to program a PIC 16C84 through the parallel printer port of a Linux box using the PIC's serial programming mode and a homebuilt programmer loosely based on David Tait's. However, it uses a configuration file which should allow it to use almost any parallel-port based programmer; and the low-level I/O is in a separate file which could easily be replaced for operating systems other than Linux. This is *not* a "production" programmer; it doesn't do supply margining, or probably a bunch of other things. However, you have the source, so you can make it do whatever you want. This release is stable enough that I'm using it for my own tinkering with PICs and am doing development basically only when I discover it won't do something I want it to do. It should work out of the box on a Linux system, but it's not for the technically faint of heart (but then, if you're not comfortable mucking about with the system when it misbehaves, why are you running Linux?) If you make modifications or improvements, PLEASE send them to me so that I can maintain a coherent master copy and hopefully integrate everything into a portable, versatile, bulletproof driver. INSTALLATION ------------ Just type 'make'. The executables must be setgid kmem to run from a normal account; the Makfile will prompt you for the root password so it can do this. If you don't like that, enter a garbage password and setgid them yourself. On non-Linux machines, you will probably have to replace io_ports.c with whatever is appropriate to your system. This file contains routines to implement basic byte I/O by reading and writing /dev/port. On operating systems with no hardware protection (DOS, Windows, ...), you can just use inb() and outb(). Please send let me know about any changes you have to make to get this to work with your setup. You will need to create an lp_cfg file to tell these programs how to work with your hardware. See either the man page (prog84.man) or the old README file for details. MANIFEST -------- README This file. prog84.man A man page for prog84. old-README A README file from a previous revision of these programs. Contains some useful information. Makefile The makefile, of course. progmain.c Top-level routines for prog84. prog84.[hc] High-level routines for programming a 16C84. lp_io.c Buffered parallel-IO routines. io_ports.[hc] Low-level I/O routines. lp_cfg A sample configuration file. schematic.ps Schematic diagram for the simple programmer with which the sample configuration file works. jig.c A tool to allow you to interactively clock bits through the '84. lpttool.c A tool to allow you to write values to the parallel port and read the status register. dump.c Simple program to read out part of the '84's code and data. -------- Written by Wim Lewis: wiml@netcom.com or wiml@hhhh.org.