Version 3.9 firmware now available - see below.
PIC source code is in
Microchip ASM format.
PIC hex programming file
Unfortunately, the upgrade procedure seems to cause problems for some people and there seems to be a problem with Windows not always setting up the serial port correctly for hardware handshake. My own PC which always used to be reliable no longer works correctly with hardware handshake except for the USB version or using a serial version through a USB serial adapter.
DecoderPro version 1.5.7 and later includes a utility to upgrade SPROG v3/v4 firmware but, for the reasons mentioned in the prvious paragraph, I cannot recommend you use this at the moment. Please note that the code to do this in DecoderPro was written by myself and I take full responsibility. This problem does not affect in any way the otherwise excellent quality and functionality of DecoderPro.
You first need to download sprog3_8.hex.
Next download a copy of TeraTerm Pro from here
Configure TeraTerm Pro to connect to the COM port to which your SPROG is connected. Choose "setup|serial port" froom the menu and select 9600baud, 8 bit, no parity, 1 stop bit no flow control. Set the transmit delays to 1msec/char and 20msec/line. Reset SPROG whilst holding down the boot switch and you should see the "L>" prompt. Use "file|send file" to download the .hex file to SPROG. Once the transfer is complete, SPROG should restart automatically with the new version:SPROG Ver 3.8
If SPROG does not restart then use the reset switch and you should see the prompt.
Once you start the bootloader (the program within SPROG that allows you to install new firmware) you should always download a new firmware image. Resetting SPROG will just put you back in the bootloader. If you wish to get back to normal operation without downloading a new firmware image then carefully type the following (with SPROG connected to Hyperterminal, or similar, without the quotes) ":00000001FF". This should return SPROG to normal operation.
If your SPROG should lock up during the transfer of the hex file then I apologise and will fix any SPROG sent back to me free of charge.
If you have access to a PIC programmer (or ICD or similar) then it is also possible to re-program the PIC with the new firmware by connecting the programmer to J1 (see schematics for pinout) and using high voltage programming mode. Doing this will also update the bootloader with fixes for the problems mentioned above. I assume anyone with a PIC programmer will know what they are doing at this point, but please don't hesitate to contact me if you require further details.