Был у меня такой прикол, делал программаторы, которых в сети полным полно, через последовательный порт и для виндов, тоже 10 - 20 раз перепрошил и траблы пику, помогло то что шью под досом через паралельный порт, в сети есть прога на С под дос, проблема в том что задержки не соответствуют рекомендуемым для пиков, поэтому смотри даташит на контроллер, и в проге установи нужные задержки (обязательно проверь на осциллографе длительности, так как если поставишь большие то мало будет шиться, если очень маленькие то тоже не хорошо, а так контроллеры шить можжно столько сколько и пишут в инструкции, но требуют чтобы выполняли условия. Как вариант можно сделать загрузчик , 84 может писать в флеш, тогда он будет писать через свой внутренний алгоритм
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)