I have tried the V1.70.0 version of the PICKIT 1 Classic application with 16F648A and 16F877A. It is working for the 16F648A (tested with the EASYISP firmware for Wisp628). I believe it should work with 16F627A and 16F628A 18pin device as well. For the 16F877A, it does not work properly. It can recognize the chip but programming failed. Maybe it is because of the ICSP cable. Maybe it is because of the application is not really ready for 16F877A. Xiaofan -----Original Message----- From: Chen Xiao Fan Sent: Wednesday, May 11, 2005 4:30 PM To: 'Microcontroller discussion list - Public.' Subject: RE: [PIC] Using pickit 1 to program other picmicros Here is a code snippet from the V170 Pickit 1 classic application. So it seems that it will support the new 16F785 and 16F91x. Quite surprised to see 16F627A/628A/16F877A as well. Maybe it is not implemented yet. I will try this sometime later. Xiaofan ---------------------------- /** code snippet ' Function CheckBoard looks to see if indeed the PICkit 1 board is attached ' and if there is a device in the socket. Public Function CheckBoard() As Boolean ProgCon.L_Info.BackColor = &H8000000F ProgCon.L_Info.Caption = "Checking Device..." DoEvents ProgrammerVersion = ReadTheVersion If ProgrammerVersion = "0.0.0" Then ProgrammerVersion = "Programmer not found..." ProgCon.L_Info.Caption = ProgrammerVersion CheckBoard = False Else InquireDevice If (DeviceName = "Not Present") Then ProgCon.L_Info.Caption = "Insert Device" PowerDownDevice CheckBoard = False Else ' We have new firmware and a device is present. CheckBoard = True Select Case DeviceName ' download the appropriate command table Case "PIC12F629", "PIC12F675", "PIC16F630", "PIC16F676" Call WriteToDevice(CMDTABLE, &H0, &H2, &H3, &H4, &H5, &H6, &H8) Call WriteToDevice(&H18, &HA, &H9, &HB, &HFF, &HFF, &HFF, &HFF) Case "PIC16F716" Call WriteToDevice(CMDTABLE, &H0, &H2, &H3, &H4, &H5, &H6, &H8) Call WriteToDevice(&H18, &HE, &H9, &HB, &HFF, &HFF, &HFF, &HFF) Case "PIC16F627A", "PIC16F628A", "PIC16F648A" Call WriteToDevice(CMDTABLE, &H0, &H2, &H3, &H4, &H5, &H6, &H8) Call WriteToDevice(&H18, &HA, &H9, &HB, &HFF, &HFF, &HFF, &HFF) Case "PIC12F635", "PIC16F636", "PIC12F683", "PIC16F684", "PIC16F688", "PIC16F785" Call WriteToDevice(CMDTABLE, &H0, &H2, &H3, &H4, &H5, &H6, &H8) Call WriteToDevice(&H18, &HA, &H9, &HB, &HFF, &HFF, &HFF, &HFF) Case "PIC16F913", "PIC16F914", "PIC16F916", "PIC16F917", "PIC16F877A" Call WriteToDevice(CMDTABLE, &H0, &H2, &H3, &H4, &H5, &H6, &H8) Call WriteToDevice(&H18, &HA, &H9, &HB, &HFF, &HFF, &HFF, &HFF) End Select End If End If End Function /** End of code snipet ---------------------------- -----Original Message----- From: Mark Rages [mailto:markrages@gmail.com] Sent: Tuesday, May 10, 2005 1:28 PM To: Microcontroller discussion list - Public. Subject: Re: [PIC] Using pickit 1 to program other picmicros The original only supports the 12F675 (or other chip with an identical memory map). My additions to the software attempt to support the following: $ grep deviceName usb_pickit.c deviceName="12F629"; deviceName="12F675"; deviceName="16F630"; deviceName="16F676"; deviceName="16F635"; deviceName="16F683"; deviceName="16F636 / 16F639"; deviceName="16F684"; deviceName="16F685"; deviceName="16F687"; deviceName="16F688"; deviceName="16F689"; deviceName="16F690"; I am using 16F688 on my project. Other parts have not been tested, but I filled in values from the datasheet and they *should* work, except for when I mistyped something. If someone wants to try programming some other parts, it is not hard to add devices. Look for the big switch statement in usb_pickit.c or just tell me what part you want to try and I'll add it for you. I could also set up a cross-compiler to make Win32 versions, if someone will commit to testing them for me. Regards, Mark markrages@gmail -- -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist