Ну исходники библиотеки на ассемблере, достаточно много кода, и на глубокое погружение у меня не хватило сил и времени. С наскоку - взял уже готовый драйвер для Tandy - это примерно как спикер в, частота и длительность, 3 канала. Написал свои процедуры вывода для CMS - задается канал, частота, октава, громкость. Через регистры SAA1099.
Сам синтезатор далее обрабатывает фактически только ctrl change, pitch, note off:
В управляющих меняется громкость, остальное не используется. В питче задается частота. В ноте офф - выключается канал. Вот вкратце и все. Таким образом я сейчас просто проигрываю ноты из МИДИ с заданной частотой,громкостью и все.Код:cmp ax,0b0h je __ctrl_change cmp ax,0e0h je __pitch cmp ax,080h je __note_off
Для Adlib'а там конечно все намного круче. Там и банк инструментов подгружается и по нему уже играется.... Там очень мощно наворочено, я не разобрался.
Не знаю как лучше объяснить, потому что сам не понимаю большую часть. Поэтому и ищу какой-то проект, типа поделки на Ардуино, который MIDI бы с компа на SAA1099 играл классно (с сорцами). Вот, например чувак подключал: http://little-scale.blogspot.co.uk/2...-saa-1099.html А вот демо-запись с его устройства: http://chipmusic.org/little-scale/mu...heart-saa-1099 И шумы и всякие эффекты. Вот как он так?




Ответить с цитированием