CC65 crosscompiler v2.8.0¢http://www.cc65.org¢¢V polovin❎ dubna 2002 jsem se dozv❎d❎l o existenci nov⑦ verze k② əov⑦ho kompil⇧toru CC65 pro syst⑦my s procesorem 6502. Ano, je to dal③ verze toho stejn⑦ho crosscompileru jazyka C, o kter⑦m psal v minul⑦m Flopu Jirka Svoboda. Protoəe jsem v③ak Jirku za⑤koloval jin⑨m ⇨l⇧nkem a do term nu vyd⇧n Flopu zb⑨v⇧ zhruba t⑨den, zm n m se pouze v kr⇧tkosti o n❎kter⑨ch hlavn ch ozn⇧men⑨ch vylep③en ch oproti p②edchoz verzi, kter⇧ se t⑨kaj p② mo At⇧rka, a pak v⇧s sezn⇧m m s v⑨sledky m⑦ho vlastn ho testov⇧n CC65.¢¢Novinky CC65 v2.8.0¢-------------------¢¢RS232 podpora pro Atari platformu:¢¢* Byla p②id⇧na implementace uip TCP stacku, d ky ⇨emuə je moən⑦ nap② klad provozovat na At⇧rku web server.¢¢N❎kolik zm❎n t⑨kaj c ch se generov⇧n kdu a optimalizac :¢¢* Porovn⇧vac podm nky jsou nyn do c lov⑦ho kdu p②ekl⇧d⇧ny l⑦pe. (Pozn⇧mka: Toto vylep③en bylo provedeno na z⇧klad❎ p②ipom nek od Piotra Fusika = Fox/Taquart. Velmi m❎ pot❎③ilo, kdyə jsem jeho jm⑦no zahl⑦dl - ②ekl bych, əe jak⑨koliv jeho z⇧sah je vədy z⇧rukou kvality! :-))¢¢* Op❎tovn⇧ podpora 65C02 kdu.¢¢* Funk⇨n kompilace s optimalizac na velikost.¢¢* Pruən❎j③ p②evod znakov⑨ch kd
.¢¢* Implementace funkce "sscanf". Fuknce "scanf" pro souborov⑦ operace by m❎la b⑨t pravd❎podobn❎ dostupn⇧ v dal③ verzi.¢¢* Opravy r
zn⑨ch men③ ch chyb a drobn⇧ vylep③en .¢¢Testov⇧n ¢---------¢¢Neodolal jsem a narychlo provedl p⇧r jednoduch⑨ch test
kompilace dvou uk⇧zkov⑨ch p② klad
, kter⑦ se nach⇧zej v bal ku crosscompileru. Zaj mala m❎ hlavn❎ moənost kompilace s optimalizac na velikost. Zde jsou v⑨sledky:¢¢Norm⇧ln❎:¢hello.c => hello.com (3087 bytes)¢S optimalizac :¢hello.c => hello.com (3066 bytes)¢¢T m jsem si ov❎②il, əe optimalizace skute⇨n❎ funguje. K v⑨sledn⑦ velikosti je③t❎ podotknu, əe tento p② klad "Hello world!" rozhodn❎ nen ona klasick⇧ varianta s jedn m ②⇧dkem tisku, ale obsahuje maz⇧n obrazovky, mal⑦ par⇧di⇨ky se syst⑦mov⑨m p②ebr⇧n m rozm❎r
obrazovky, kreslen m ohrani⇨uj c ho obd⑦ln ku, vlastn tisk textu a ⇨ek⇧n na stisk kl⇧vesy. Zkou③el jsem ze zv❎davosti tento p② klad osekat a nechat jen minimum - v⑨sledek pouze s tiskem m❎l p②i zapnut⑦ optimalizaci pouh⑨ch 2625 bytes.¢¢Druh⑨ p② klad je zaj mav❎j③ . Program "Sieve" prov⇧d vyhled⇧n prvo⇨ sel v intervalu 2 aə 8192 metodou Eratosthenova s ta. Po dokon⇨en v⑨po⇨tu zobraz v⑨sledn⑨ ⇨as a nab dne v⑨pis.¢¢Norm⇧ln❎:¢sieve.c => sieve.com (4023 bytes)¢S optimalizac :¢sieve.c => sieve.com (3844 bytes)¢¢Krom❎ ⑤spory 179 bytes je v③ak daleko skv❎lej③ m zji③t❎n m vliv zapnut⑦ optimalizace na rychlost. Bez optimalizace trval v⑨po⇨et 146 ticks (pades⇧tin sekundy), s optimalizac pouh⑨ch 57 ticks. Zrychlen je tedy v tomto p② pad❎ v ce neə 2.5 n⇧sobn⑦!¢¢Protoəe CC65 je crosscompiler pro r
zn⑦ syst⑦my s procesorem 6502, zkusil jsem zkompilovat a spustit oba dva p② klady i pro Commodore C64. V⑨sledky:¢¢Norm⇧ln❎:¢hello.c => hello.prg (2665 bytes)¢S optimalizac :¢hello.c => hello.prg (2644 bytes)¢¢Norm⇧ln❎:¢sieve.c => sieve.prg (3142 bytes)¢S optimalizac :¢sieve.c => sieve.prg (2963 bytes)¢¢✓spora se zapnutou optimalizac je i na C64, zcela logicky, v obou p② padech naprosto stejn⇧ jako ⑤spora na At⇧rku a m⇧ samoz②ejm❎ tak⑦ vliv na rychlost. Bez optimalizace trv⇧ v⑨po⇨et na C64ce 225 ticks, se zapnutou 87 ticks, coə p②edstavuje t⑦ə (p②ekvapiv❎ ;-)) v ce neə 2.5 n⇧sobn⑦ zrychlen .¢¢-RASTER-