Зачем именно 89с4051, взять полномерный вместо ПЗУ взять ОЗУ, обединить в одну плоскость CODE & XDATA, и все, читаешь из послю флеши в xdatа'у она же code и запускаешь на выполнение, так вроде....
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)