С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
c 7 не было, вроде.. но я запускал то по разу
Загрузку в de1 я проверяю на примерно 10 файлах разного размера. Некоторые по несколько раз. В de1 fm8 грузит без проблем, ошибок не было. Но понятно, что характеристики магнитофонного входа реального вектора отличаются. Да и звуковая карта оказывает влияние. Кстати, для загрузки я выкручиваю громкость на максимум, при меньшей громкости может грузить хуже. Думаю, что в принципе можно дожать до стабильности и загрузку fm8 в реал, но т.к. я не могу это отладить, наверно сделаю выбор скорости, хотя бы 2-3 варианта. Сам буду грузить в de1 на максимале, а более умеренные варианты может пригодятся кому-нибудь еще.
Могу, кстати, на de2 тоже погонять.. хотя наверняка от de1 ничем не отличается?
Тут даже немного смешно получается. У меня три плисовые девборды и на всех аудиокодек wm8731. Плюс еще платка от waveshare, которую можно подключать к GPIO - там тоже wm8731. И на de2 тоже 8731. В общем de2 можно на эту тему не мучать. Если останется запал, то лучше потом потратить его на пробу доработанной версии.
Еще, например, в плане удобства использования Как я говорил - пока нет дисковода. поэтому в первую очередь гружу дос с магнитофона. Так вот, в первый раз после его загрузки при старте надо удерживать УС (тогда, как я понимаю, форматируется квазидиск) Так вот, с быстрой загрузкой так не получается. Пытался начать удерживать ус ещё при загрузке.. но тогда после загрузки всё виснет и ничего не получается
Про удержание клавиш при старте я как-то не подумал. Добавил второй вариант загрузчика, без автостарта - после успешной загрузки замигает рус/лат и будет ждать нажатия сбр+блк
Rom2fm9 - теперь можно выбрать один из двух вариантов скорости (меньшая примерно соответствует fm7, большая - fm8). Сразу приложены два варианта загрузчика - один запускает загруженный fm9, другой мигает рус/латом и ждет блк+сбр.
Сделал загрузчик с определением длительности бита по таймеру - работает! Профит в увеличении точности определения длительности.
Раньше делал так:
inr b\ in 01\ cmp d\ jz $-4
Дискретность 36 тактов.
Убираем увеличение счетчика и уменьшаем дискретность до 28 тактов. А чтобы узнать, сколько мы там крутились, используем таймер. Т.е. фактически точность как в развернутом цикле, который предлагал svofski, но без развертывания. Преимущество таймера перед развертыванием - легко подстроить (изменением порога сравнения) под разные скорости и код компактнее.
- - - Добавлено - - -
С другой стороны у развертывания меньше накладные расходы между битами и таймер (причем согласованный по частоте с процом) не нужен (это если не для вектора делать). Но накладные расходы на запись/чтение таймера между битами для частоты дискретизации 44100 имхо вполне приемлемы, т.к. один интервал дискретизации 68 тактов и даже при использовании развертывания имеет смысл добавить балластные команды (короткие, но долгие), чтобы сократить код. А тут вместо балласта взаимодействие с таймером.
Супер! Это новое слово в использовании таймера на Векторе.
Больше игр нет
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)