Nedavno jsem tu psal o experimentech s implementaci Xmodemu. Tady je kompletni projekt programu Xboot, ktery pres Xmodem natahne MZF soubor a ten nasledne pres ROM spusti.
Maximalni velikost nahravaneho programu je neco pres 52 kB. Nutno podotknout, ze se nejedna zrovna o nejspolehlivejsi protokol co se tyka odolnosti vuci chybam.
Veskera interakce programu Xboot s uzivatelem probiha pres zmenu barvy borderu. Po startu se Xboot pokusi poslat 16x co 2 sec vyzvu k zahajeni prenosu ve standardu s kontrolou CRC16 (zlute blikajici bordel), nasledne to zkusi s bilou barvou ve standardu s klasickym sumarnim souctem.
Jakmile zacne prenos, tak po dobu prenaseni packetu je border modry. Po dobu kontroly packetu + crc16/checksumm je zeleny, takze epileptici si prijdou na sve. Po uspesnem dokonceni prenosu zablika vsema barvama a pokusi se spustit MZF podle udaju z headeru. V pripade chyby zustane program stat a barva borderu znaci cislo chyby.
Pri prenosu Cybernoid2.mzf (cca 42KB) rychlosti 115200 jsem pri CRC16 nahrkal cca 933 Bps a pri sumarnim souctu 2700 Bps.
Program by mel bez problemu fungovat i s origo RS232, akorat je potreba zmenit cisla portu v rs232.c a v main.c doplnit adekvatni nastaveni pro SIO.
Zdrojaky a MZF - http://ordoz.com/sharp/xboot_2011-10-27.tgz
Michal