Hát, lehet hogy tökre félreértem a dolgot, de elvileg van lehetőség IS BASIC-ben időzítőt létrehozni és megszakításból kezelni. Vagy nincsen ilyen?
Ha jól olvastam, a legrövidebb időzítő 1 másodperces lehet. Ez azt jelenti, hogy 50 hang-időegységenként váltódik ki. A hangfeldolgozó várakozósor csatornánként 9 hangparancsot tud befogadni. Egy másodpercre vetítve a kilenc hangot, az jön ki hogy átlagosan kicsit kevesebb mint 6 időegységig (0,12 s – pontosabban 1/9 s) szólhatnak az egyes hangok ahhoz hogy teljesen kihasználd a puffert és ne maradjon benne hang a következő megszakítás bekövetkezésének idején.
Az összes általad megadott hangnak ismered az időtartamát. A pufferelt hangok idejét és számát összegezve nyilvántartható, hogy a megszakítás bekövetkeztekor az adott szólamból mennyi hang várakozik még, illetve a szólam melyik hangjától mennyi hangot lehet és kell sorba állítani, hogy a következő megszakításig el legyen foglalva a gép a zenéléssel. Csak annyi a megszorítás, hogy a zene bármely pontján egy másodpercbe ne essen több mint kilenc hang.
Vagy rosszul értelmezek valamit?