Midi Demo - Daniel A. Nagy (Hungary)
Добавлено: 08 дек 2019, 21:56
Midi Demo - Daniel A. Nagy (Hungary) 2019
https://zxaaa.net/view_demo.php?id=12455

Annak idején igen népszerű volt videojátékokban és háziszámítógépekben a General Instruments AY 3-8910 (vagy a kisebb tokban lévő AY 3-8912, vagy a Yamaha által gyártott YM-2149 klón) 3-csatornás hanggenerátor IC. Megtalálható a TRS-80 és HT-1080Z gépekben, a ZX Spectrum különböző 1984 utáni változataiban és klónjaiban, az Amstrad CPC sorozatának minden gépében, az Atari ST és TT sorozatban, meg még rengeteg más gépben, amiket felsorolni is nehéz lenne. Talán a Commodore volt az egyetlen ismertebb cég, amelyik abban az időben szisztematikusan tartózkodott a használatától, mindenki más beépítette ebbe-abba. Asszem, még ma is gyártják a cuccot.
Nemrég írtam rá egy MIDI-fájl lejátszót azzal a konkurens programozástechnikával (kooperatív multitasking), amit itt már egyszer bemutattam: kizárólag a stack pointer lecserélésével váltogatunk a konkurensen futó szálak között olyankor, amikor épp kényelmes, ám elég gyakran ahhoz, hogy minden szál "szóhoz jusson". A szálak közötti kommunikáció a processzor regisztereiben zajlik, még memóriapuffer sem kell hozzá. Jelen esetben két szál fut, egy "sequencer", ami megfelelően időzítve midi parancsokat generál (ez teljesen független a lejátszó hardvertől), és egy "zongora", ami hanggenerátor-specifikus és csak lejátssza a billentyűleütéseket valós időben, amint megkapja őket, mindig a soron következő hangcsatornán. Az eredmény engem is meglepve egész jó lett, úgyhogy veletek is megosztom.
P.S. Igen, TETRIS klónhoz kellett jó zene.
В то время General Instruments AY 3-8910 (или меньший корпус AY 3-8912 или клон YM-2149 производства Yamaha) были очень популярны в видеоиграх и домашних компьютерах. Его можно найти на TRS-80 и HT-1080Z, различных версиях и клонах ZX Spectrum после 1984 года, на всех машинах серии Amstrad CPC, Atari ST и TT и многих других, которые сложно перечислить. Возможно, Commodore была единственной известной компанией, которая систематически воздерживалась от ее использования в то время, когда все остальные были встроены в нее. Я думаю, что материал все еще сделан сегодня.
Недавно я написал проигрыватель файлов MIDI с конкурирующей техникой многозадачного программирования, которую я уже представил здесь: только путем замены указателя стека для чередования конкурирующих потоков, когда это удобно, но достаточно часто, чтобы произносить слова «все потоки». получить ". Связь между потоками происходит в регистрах процессора и даже не требует буфера памяти. В этом случае работают две строки: «секвенсор», который генерирует миди-команды надлежащим образом синхронизированным образом (полностью независимым от оборудования проигрывателя), и «пианино», которое зависит от голосового генератора и воспроизводит нажатия клавиш только в реальном времени по мере их получения. на предстоящем аудиоканале. Результат был очень хорошим для меня, поэтому я поделюсь им с вами.
https://www.youtube.com/watch?v=0bExq6xpx4o
https://zxaaa.net/view_demo.php?id=12455

Annak idején igen népszerű volt videojátékokban és háziszámítógépekben a General Instruments AY 3-8910 (vagy a kisebb tokban lévő AY 3-8912, vagy a Yamaha által gyártott YM-2149 klón) 3-csatornás hanggenerátor IC. Megtalálható a TRS-80 és HT-1080Z gépekben, a ZX Spectrum különböző 1984 utáni változataiban és klónjaiban, az Amstrad CPC sorozatának minden gépében, az Atari ST és TT sorozatban, meg még rengeteg más gépben, amiket felsorolni is nehéz lenne. Talán a Commodore volt az egyetlen ismertebb cég, amelyik abban az időben szisztematikusan tartózkodott a használatától, mindenki más beépítette ebbe-abba. Asszem, még ma is gyártják a cuccot.
Nemrég írtam rá egy MIDI-fájl lejátszót azzal a konkurens programozástechnikával (kooperatív multitasking), amit itt már egyszer bemutattam: kizárólag a stack pointer lecserélésével váltogatunk a konkurensen futó szálak között olyankor, amikor épp kényelmes, ám elég gyakran ahhoz, hogy minden szál "szóhoz jusson". A szálak közötti kommunikáció a processzor regisztereiben zajlik, még memóriapuffer sem kell hozzá. Jelen esetben két szál fut, egy "sequencer", ami megfelelően időzítve midi parancsokat generál (ez teljesen független a lejátszó hardvertől), és egy "zongora", ami hanggenerátor-specifikus és csak lejátssza a billentyűleütéseket valós időben, amint megkapja őket, mindig a soron következő hangcsatornán. Az eredmény engem is meglepve egész jó lett, úgyhogy veletek is megosztom.
P.S. Igen, TETRIS klónhoz kellett jó zene.
В то время General Instruments AY 3-8910 (или меньший корпус AY 3-8912 или клон YM-2149 производства Yamaha) были очень популярны в видеоиграх и домашних компьютерах. Его можно найти на TRS-80 и HT-1080Z, различных версиях и клонах ZX Spectrum после 1984 года, на всех машинах серии Amstrad CPC, Atari ST и TT и многих других, которые сложно перечислить. Возможно, Commodore была единственной известной компанией, которая систематически воздерживалась от ее использования в то время, когда все остальные были встроены в нее. Я думаю, что материал все еще сделан сегодня.
Недавно я написал проигрыватель файлов MIDI с конкурирующей техникой многозадачного программирования, которую я уже представил здесь: только путем замены указателя стека для чередования конкурирующих потоков, когда это удобно, но достаточно часто, чтобы произносить слова «все потоки». получить ". Связь между потоками происходит в регистрах процессора и даже не требует буфера памяти. В этом случае работают две строки: «секвенсор», который генерирует миди-команды надлежащим образом синхронизированным образом (полностью независимым от оборудования проигрывателя), и «пианино», которое зависит от голосового генератора и воспроизводит нажатия клавиш только в реальном времени по мере их получения. на предстоящем аудиоканале. Результат был очень хорошим для меня, поэтому я поделюсь им с вами.
https://www.youtube.com/watch?v=0bExq6xpx4o