На волне всеобщего помешательства на ковоксах, подумалось вот что... 4-х или 8-битный звук это же совсем "порнография" !
У нас в Орионе имеется порт, который умеет выводить аж целых 24 бита. Понятное дело, что труъ 24-битный ЦАП на рассыпухе резисторов - это бесперспективняк, но оно и не нужно. А вот если разбить имеющийся ресурс пополам, то получается два канала по 12 бит на каждый, и это мне уже кажется интересным. Во-первых, 12 бит - это 144 уровня квантования, против 64-х при 8 битах, т.е. качество звука ощутимо подрастёт. Во-вторых, два канала - это стерео, приемущества которого очевидны.
Итого, делается стерео вариант 12 битного ковокса (горстка резисторов).
Звуковой файл содержит трёхбайтовые отсчёты сразу обоих каналов, код для воспроизведения которых на О-128 примерно такой:
Код:
; в паре [DE] буфер WV-файла
; взятие трёх байт отсчёта
LDAX D
INX D
MOV L,A
LDAX D
INX D
MOV H,A
LDAX D
INX D
; вывод их в порт
SHLD 0F600H
STA 0F602H
; задержка, проверка на конец, го в начало
Понятное дело, что нужно для писи написать конвертер обычных писишных WAV'ов в новый орионовский формат (пусть это будет *.WV), решить некоторые вопросы чтения больших файлов на Орионе, но это уже всё дело техники (некоторого кол-ва жопочасов кодинга).
Для уменьшения объёма звукового файла, можно вместо самих отсчётов хранить только дельты для каждого канала, это сократит объём в 1,5 раза. А на Орионе-ПРО с его 10 МГц можно уже подумать в сторону алгоритмов компрессии...
У кого какие мысли? Какие могут быть подводные камни у такой затеи?
П.С. вариант: два 10-битных канала + 4 битный сабвуфер чур не предлагать )))