Upgrade de projeto baseado em PIC16F877A em assembly

Bom dia galera do fórum!!
Surgiu hoje um problema chatinho de resolver, um projeto muito antigo (10 anos pra cima) baseado em PIC16F877A em assembly está para atingir o numero máximo de senhas técnicas que cada microcontrolador pode receber.
A senha é gravada no uC no momento de compilação, ou seja, o garoto que grava os hexas vai na linha de código e coloca uma nova senha a mão compila e manda essa senha junto com o produto calibrado.
O PIC16F877A possui 8K de flash de código. Compilei um código que vai no produto e usando o gauge de memória do mplab, cheguei a conclusão que f****. A usagem de memória ta em seus 90% pra cima... (levando em consideração que não é recomendado usar todos os espaços de memória, não sei se isso é verídico) me restou duas soluções.
1 - procurar algum microcontrolador da microchip baseado no mesmo núcleo do 16F que bata pino-a-pino e possua maior range de memória,e implementar a rotina para expandir o número de senhas.
2- enxugar as gorduras do firmware e implementar a rotina para expandir o número de senhas.
F*** que a ultima vez que programei assembly foram a mais ou menos 2 anos 3 anos e foi uma aplicação bem besta....
Se alguém souber de alguma solução que se encaixe na opção 1, agradeço.
PS: não é cogitado mudança radical no projeto, como passar ele pra C em outro PIC...
Surgiu hoje um problema chatinho de resolver, um projeto muito antigo (10 anos pra cima) baseado em PIC16F877A em assembly está para atingir o numero máximo de senhas técnicas que cada microcontrolador pode receber.
A senha é gravada no uC no momento de compilação, ou seja, o garoto que grava os hexas vai na linha de código e coloca uma nova senha a mão compila e manda essa senha junto com o produto calibrado.
O PIC16F877A possui 8K de flash de código. Compilei um código que vai no produto e usando o gauge de memória do mplab, cheguei a conclusão que f****. A usagem de memória ta em seus 90% pra cima... (levando em consideração que não é recomendado usar todos os espaços de memória, não sei se isso é verídico) me restou duas soluções.
1 - procurar algum microcontrolador da microchip baseado no mesmo núcleo do 16F que bata pino-a-pino e possua maior range de memória,e implementar a rotina para expandir o número de senhas.
2- enxugar as gorduras do firmware e implementar a rotina para expandir o número de senhas.
F*** que a ultima vez que programei assembly foram a mais ou menos 2 anos 3 anos e foi uma aplicação bem besta....
Se alguém souber de alguma solução que se encaixe na opção 1, agradeço.
PS: não é cogitado mudança radical no projeto, como passar ele pra C em outro PIC...