I couldn't understand why my code didn't run 12F635 chips but I think I've found the problem (still haven't tried it).
The datasheet says that the 12F635 (unlike the 12F629,675 and 683) has it's ram at 0x40-0x7F while 12F635.dat has it as 0x20-0x5F. I've changed my 12F635.dat and I'm going to try it out as soon as I get time. Also it may be a good idea to remove the TRISA and PORTA references in 12F635 since at least the PORTA line results in clearing both GPIO and PORTA in the INITSYS subroutine (and GPIO and PORTA is the same in a 12F635). As a comparison the 12F683.dat only has GPIO and TRISIO.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I couldn't understand why my code didn't run 12F635 chips but I think I've found the problem (still haven't tried it).
The datasheet says that the 12F635 (unlike the 12F629,675 and 683) has it's ram at 0x40-0x7F while 12F635.dat has it as 0x20-0x5F. I've changed my 12F635.dat and I'm going to try it out as soon as I get time. Also it may be a good idea to remove the TRISA and PORTA references in 12F635 since at least the PORTA line results in clearing both GPIO and PORTA in the INITSYS subroutine (and GPIO and PORTA is the same in a 12F635). As a comparison the 12F683.dat only has GPIO and TRISIO.
FYI: I've just tried my code the my modified 12F635.DAT and now it works perfectly.
Thanks for letting me know, I'll fix the 12F635 file and check the others.