Hi, Try downloadin the latest promate firmware. The latest MPLAB has given us hell and still does, I wish they would leave something that works alone as not every one is a software genius. We are still waiting to here why software written for a 12c509 does not run on a 12c509A. For all the geniuses out there why does the below software work on a 12c509 but not on a 12c509A ;PROJECT ;Test Code for generating a known frequency to compare on a 12c509A ;NO EEPROM ;DONE BY :MARK E'SILVA ;COMPANY :DIGITRON ;ASSEMBLER :MPASMWIN ;Info :Note the oscal value has been set at the reset vector 3FFh and ; also at 0FFh as the Promate programmer software first reads 3FFh ; for the oscal value then Overwrites this value to 3FFh on ; programming of the 12c509. As this value is not always constant ; for all 12c509's when reading a device, I set the oscal value ; twice as a precaution to prevent a read of the Default value ; Overwriting my value in 3FFh ,So even if it does overwrite 3ffH ; With an unknown or default value it is changed at 0FFh to My ; value and written to oscal register 5h ; ;The problem is that even if the ocsal trim value on the new 12c509A ;Is set for Maximum speed it Still doesn't seem to run the code at ;the correct speed but runs to slow. All our code has been writen for ;the old 12c509 with a value of 96 writen to oscal and we would like ;to use the new 12c509A to replace the old 12c509 ; ;Our tests show that the Code writen bellow generates a 3.937 Khz tone ;on porta Ra5 with a 12c509 with oscal value B'01100000' ;And on a 12c509A it generates 3.827 Khz tone with oscal value B'11111100' ;which is the maximum speed setting. ;For a 12c509A I would write the Oscal value the same way but ;with differnt value B'11111100' "max speed" ;-------------------------------------------------------------------------- ;(Ocacal register 8Fh) pin definitions as per data sheet 1997 for 12c509A ;-------------------------------------------------------------------------- ;7=cal3 * ;6=cal2 * ;5=cal1 * ;4=cal0 * ;3=calfst fast course trim ;2=calslw slow course trim ;1=not implemented ;0=not implemented ;------------------------------------------------------------------------ ;(Ocacal register 8Fh) pin definitions as per data sheet 1998 for 12c509A ;------------------------------------------------------------------------ ;7=cal5 * ;6=cal4 * ;5=cal3 * ;4=cal2 * ;3=cal1 * ;2=cal0 * ;1=not implemented ;0=not implemented ;---------------------------------------------------------------------- ;(Ocacal register 5h) pin definitions as per data sheet 1998 for 12c509 ;---------------------------------------------------------------------- ;7=cal3 * ;6=cal2 * ;5=cal1 * ;4=cal0 * ;3=not implemented ;2=not implemented ;1=not implemented ;0=not implemented ;--------------------------------------------------------------------------- -- list R=DEC ;Set radix to decimal list P=12C509 ;Set device to pic12c509 ; list F=INHX8M ;INTEL HEX format ;--------------------------------------------------------------------------- --- ;SETTING UP LABLES oscal equ 5h ;rc osc calabration value port_a equ 6h ;equate port a same equ 1 ;same register w equ 0 ;w register _pc equ 02h ;program counter _rtcc equ 01h ;rtcc indirect equ 00h ;indirect address contents _fsr equ 04h ;file select register _status equ 03h ;status register _carry equ 0 ;carry flag _zero equ 2 ;zero flag ;-------------------------------------------------------------------------- temp9 equ 13h ;Timer temp12 equ 17h ;----- ;--------------------------------------------------------------------------- -- ;port pin definitions ;-------------------- ;porta pins------------------------------------------------------------------ testpin equ 5 ;0 output to freq counter ; equ 4 ;1 ; equ 3 ;1 ; equ 2 ;1 ; equ 0 ;1 ; equ 1 ;1 ;--------------------------------------------------------------------------- org 000h ;Begin of prog mem ;--------------------------------------------------------------------------- start movlw B'01100000' ;96 Oscal trim value as set ;on the 12c509 movwf oscal ;load oscal value movlw B'011111' ;i/o config porta RA5 = 0 tris port_a ; clrf port_a ;resetting port a movlw B'11011111' ;setup wdt 128:1 option ; bcf _fsr,5 ;ram page 0 goto main ; ;------------------------------------------------ timer1 movlw 1 ; movwf temp9 ; loop7 movlw 29 ; movwf temp12 ; loop6 clrwdt ;kick dog decfsz temp12,same ; goto loop6 ; decfsz temp9,same ; goto loop7 ; retlw 0 ; ;------------------------------------------------ main call timer1 ;delay bsf port_a,testpin ;testpin high call timer1 ;delay bcf port_a,testpin ;testpin low goto main ;loop back to main ;--------------------------------------------------------------------------- -- org 3ffh ;last address movlw B'01100000' ;96 Oscal trim value END ;As set on the 12c509 -----Original Message----- From: Harold Hallikainen To: PICLIST@MITVMA.MIT.EDU Date: 13 April 1999 03:39 Subject: MPLAB downloads to PROMATE > I've just updated to MPLAB 4.0. As with the previous version of MPLAB, >downloads into the PROMATE programmer crash shortly after starting. >However, downloading with the DOS promate program (which I don't think is >supported any more) works fine. Anyone have a solution to this? I tried >everything in the help file (setting FIFO to 0, etc.). > >Thanks! > >Harold > >___________________________________________________________________ >You don't need to buy Internet access to use free Internet e-mail. >Get completely free e-mail from Juno at http://www.juno.com/getjuno.html >or call Juno at (800) 654-JUNO [654-5866] >