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