Na rozdiel od ostatných počítačov, kde je možné generovať periodické priebehy priamo na výstupnom porte, má počítač Ondra pripojený externý generátor pre generovanie predvolených tónov. Ako teda vylúdiť zvuk v inom tóne?
Najskôr krátky pohľad na to, čo sa stane, keď sa na danom porte vygeneruje krátky impulz. Dôjde k nabitu kondenzátora a preklopeniu klopného obvodu, pričom na výstupe bude vygenrovaná polperióda zvukového signálu. Keďže impulz bol krátky, nedôjde k jeho zopakovaniu a klopný obvod by zostal preklopený. Ak však program vygeneruje ďalší impulz, celý cyklus sa zopakuje. Odstupom medzi cyklami teda možno dosiahnuť vytvorenie periodického signálu s frekvenciou riadenou programovo.
Vytvorenie polperiódy krátkym impulzom na Q4 (D7).
Keďže dĺžku impulzu aj časového odstupu medzi impulzami je možné presne vypočítať podľa doby drvania jednotlivých inštrukcií, možno výpočtovo dosiahnuť parametre pre periodický priebeh zvolenej frekvencie.
Základné C medzi pôvodnými tónmi chýbalo.
Je ho možné vytvoriť softvérovo.
Treba však ešte trochu ladiť (261.625Hz), aby to bolo ono :-)
Ešte zostáva zistiť, aký dlhý impulz je potrebný na to, aby došlo k vygenerovaniu plnohodnotného impulzu na výstupe (ten má približne 0,2ms). Meraniami bolo overené, že dĺžka softvérom generovaného impulzu musí byť nad 0,21ms, čiže 420T, ideálne však nad 0,35ms (inak pri vyšších tónoch dochádza ku skresleniu). Impulz nesmie byť pridlhý, aby nedošlo k spätnému preklopeniu klopného obvodu, k tomu dochádza asi pri dlžke impulzu nad 0,6ms. Takýmto spôsobom možno vygenerovať periodické priebehy do 2kHz, prakticky sú použiteľné tóny v piatich oktávach.
Príklad programu na melódiu (Ondra_Xmas) môžete nájsť v sekcii download.