Где?Сообщение от fk0
Где?Сообщение от fk0
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Вот именно. Мне почему-то даже и выяснять не хотелось...![]()
Помни. Только на компьютере можно семь раз Cut, а один - Format. В реале все иначе. (c)
Власть людей сильнее, чем люди у власти.
Чем меньше мы смотрим на мир, тем больше задумываемся о нем. (c)
Скрытый текст
Can you help Robin in his quest for the silver arrow? (c) Odin "Robin of the Wood"
Мы все немного режем по дереву, а потом собираем корабли в бутылках.
Is it the same old story you are going to tell me
or is it the old story telling me and you we are the same?
http://www.sky.od.ua/~ptsk[свернуть]
который воспроизводит (только воспроизводит, писать естественно на такой скорости не возможно) на частоте около 280 кГц.
Тело проигрывателя получается типа:
Out (с),X
Out (с),X
Out (с),X
Out (с),X
..
и так 12 раз.
- это тело герерируется рабочей программы, алгоритм там что называется рехнуться можно, однако работает.
Out (с),X - это команда либо Out (c),c (т.е. вывод в порт 254 значения 254 - логическая единица), либо out (c),0 (часто встречается в виде out (c),(hl) или out (c),f) - соответственно для логического нуля.
Память расходуется просто жутко - посчитается сами - около 12 тактов на одно прогрывение (так как есть управляющие команды кроме выводящих), итого на 256 кб памяти около 8-10 секунд, для метровых машин параметр конечно повыше будет (((-; одним словом мультимедия.
Если надо могу кодер дать и декодер (((((((-;
Ага, чуть не забыл.
Тут фишка есть - дело в том, что в связи с такой скоростью пришлось оптимизировать уже не сам код (который уже некуда оптимизировать - и так одни АУТы), а данные которые на входе к проигрывателю идут. В результате, на 1 байт я использую только 6 бит (формат типа ADPCM), причём это теоретический предел для моей концигурации (т.е. тело декодера настолько здоровое, что еле-еле помещается в основную память). Я просчитывал для машин с теневым ОЗУ можно задействовать ещё бит, но честно говоря возиться с теневым ОЗУ было совсем не интересно, да и прирост не столь качественный чтобы этим заниматься.
И ещё, огромный (и наверное единственный) недостаток оцифровок с speaker'а заключается в том, что в способе модуляции звука отсутствует возможность управлять низкочастотной составляющей. Сейчас я думаю как бы адаптировать систему для того, чтобы можно было расколбасить басы - например выводить низкочастотную составляющую прямо на AYк - как известно эту часть AYк хорошо воспроизводит.
И ещё, тут я посмотрел в коде используются такие команды как "jr nz" "djnz" и прочее. Так вот, избегайте их в проигрывателях, потому что намучаетесь их компенсировать. Я реально сталкивался с тем, что приходилось изворачиваться до одури и не получалось сделать "ровный" звук. Используйте "JP NZ", "DEC B JP NZ" соответственно с этими командами, в байтах оно будет конечно больше, зато в тактах всё будет чётко. Для машин с М1 это вообще ужас, как они работают с этими командами...
У тебя сэмплы то такие есть?Сообщение от GriV
Другими словами, не занимайся фигнёй - поставь отметку в 22 - 44(48) khz и успокойся.
ртфм ШИМ, adpcmСообщение от key-jee
Выше уже ответили ((((-;Сообщение от key-jee
Но тем не менее, сэмплы есть я их из стандартных 44кгц делал, фишка в том, что 44кгц имеет глубину 16 бит, а у меня только 1, потому и приходиться выкручивать руки для обеспечения качества...
Кстати, для стандартного спекка (3,5 мгц) указанная величина - 280 кгц является в общем то теоретическим пределом и быстрей выводить никак не получится. Так что этот метод я бы назвал абсолютным (((((-; с этой точки зрения полезно его знать (((((-;
2GriV: тогда тема закрыта?По сути, максимальная скорость достигается элементарно: Подряд пишутся команды записи в порты вперемежку с записью в видеобуфер
Но память
И внешняя тоже -- даже если упаковать, сколько секторов, к примеру, займет секунда цифорвки вашим методом?
Помни. Только на компьютере можно семь раз Cut, а один - Format. В реале все иначе. (c)
Власть людей сильнее, чем люди у власти.
Чем меньше мы смотрим на мир, тем больше задумываемся о нем. (c)
Скрытый текст
Can you help Robin in his quest for the silver arrow? (c) Odin "Robin of the Wood"
Мы все немного режем по дереву, а потом собираем корабли в бутылках.
Is it the same old story you are going to tell me
or is it the old story telling me and you we are the same?
http://www.sky.od.ua/~ptsk[свернуть]
наверное меня неправильно поняли - такой метод - по два байта на 1 вывод в порт (out (c),X) я не использовал (т.е. вместо данных готовый исполняемый код), именно имеются медиаданные, просто представленные хитрым способом, чтобы достичь максимальной производительности. За 1 секунду расходутся около 45 кбайт. На 256 кб моего скорпиона получалось (2 страница на декодер, 224 кб свободно, итого около 5 секунд )))): ).
Легко подсчитать что если вмеcто медиаданных записывать готовый код, то получится (хехе), на 256 кб скорпиона менее 1 секунды (около 80 мс), на такие жертвы ради скорости я идти не готов :-D
Я может сильно удивлю, но существует (вроде ещё?) такая FTN-сеть -- ZXNET.Сообщение от captain cobalt
Где? Сложно сказать. Вроде, Славка Калинин в состав своих дисков с Virtual TR-DOS (или просто на дисках Virtual TR-DOS) оно было. Ибо точно
помню, мне показывали как с этого диска можно голдедом все письма
тех лет читать.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)