The second edition projects are based on the new MPLAB X IDE. You can still use the source code with MPLAB 8.x but you will have to manually recreate each project.
Or you can download archived copies of both book editions using the links below.
Note that only the Github repository is updated to reflect all known errata and tested against new revisions of MPLAB X and the XC16 compiler.
Second Edition – December 2011
Download here the source code for all the exercises presented in the book:
Courtesy of Wayne Duquaine, you can also download here the source code for all the projects modified and tested for the PIC24FJ256GA110 and PIC24FJ256GB110 models:
1- PAL graphics module
Converting the graphic routines to generate a PAL video composite signal is actually a pretty trivial exercise. Only two constants need to be updated/replaced as the basic PAL definition calls for 625 lines repeated for 25 frames each second.
Since we chose to ignore interlacing we will repeat 50 times a second a 312 lines frame instead.
#define V_PAL 312 // replaces V_NTSC
#define H_PAL 1024 // replaces H_NTSC for a horizontal period of 64us
2- dsPIC WavePlayer
Several readers have asked about the opportunity to port the code presented in the book to the dsPIC series of Digital Signal Controllers. Not only it is easy, but it can also be very rewarding. Below you will find a version of the WavePlayer project (chapter 15) for the dsPIC33F series. (NOTE: if you purchased an Explorer16 board, you have also received a PIM with the dsPIC33FJ256GP710 to try the new code on). Inspecting the code you will notice how Steve Bowling has modified the LCD driving module, compensating for the lack of the PMP, but taking also advantage of the additional speed of the dsPIC (40MIPS) to allow for higher resolution and greater audio performance.
3- SD/MMC PICTail+ support
Microchip is now offering a new expansion board for the Explorer 16 demonstration board (based on the PICTail+ standard format) that offers access to SD and MMC cards:
Thanks to Frank Ziegenhorn, attached below you will find a replacement for the sdmmc.c module that supports the pinout of the PICTail+ board when installed in the top slot.
NOTE: You will not be able to use the video output or the AV16 board when the PICTail+ board is installed.