Ага, впилю. Не сегодня только уже...
Ага, впилю. Не сегодня только уже...
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
В общем, довольно оперативно получилось сделать:
http://emu80.org/v4beta/Emu80qt_40352_test.7z
Распаковать поверх версии 4.0.351 с заменой.
Я правильно понимаю, что при выводе на магнитофон встроенный динамик тоже пищит?
- - - Добавлено - - -
В этой версии исправлены как динамик, так и распределение памяти.
- - - Добавлено - - -
напоминаю, что в эмуляторе есть настройка "Не воспроизводить звук с магнитофона".
Если включить, будет воспроизводиться только звук со встроенной пищалки.
до притом пищит в противофозе
тоесть нельлзя просто взять и тупо сумировать оба сигнала в эммуляторе
тк будет громкость только падать (когда на реале она будет увеличиватся)
нужно пропускать звук бипера через фильтрКод:pb7 pc0 0 0 BEEP TAPE B=1 T=1 0 1 BEEP .... B=1 T=0 1 0 .... TAPE B=0 T=1 1 1 BEEP .... B=1 T=0
ну или хотябы делать задержку и другую аммплитуду
(а лучшо делать все это сразу : )
хотя никто не мешает проинверттировать сигнал бипера
но это не поможет имитировать гипотетический режим полтора битного DAC
Код:3 = pc0=0 pb7=0 TAPE+BEEP 2 = pc0=0 pb7=1 TAPE 1 = pc0=1 pb7=1 BEEP 1 = pc0=1 pb7=0 BEEP
Последний раз редактировалось NEO SPECTRUMAN; 24.03.2021 в 10:19.
А я инвертировал сигнал магнитофона. а не бипера. Хотя бы из того соображения, чтобы при старте на выходах не было постоянной составляющей.
В общем, сейчас на выходе эмулятора будет:
То есть в некоторой степени это можно рассматривать как реализацию "гипотетического режима полтора битного DAC", хотя на реале этот режим мне кажется несколько надуманным - пищалка и магнитофон в общем случае в разных местах, как можно рассматривать суммарный звук с них?Код:pc0 0 1 0 1 pb7 0 0 1 1 --------------- out 1 2 0 2
- - - Добавлено - - -
P. S. Как говорится, поспешишь - людей насмешишь. Табличка выше - это как я хотел сделать. А на самом деле у меня сейчас просто выводится звук спикера. Сделаю еще одну сборку чуть позже.
Последний раз редактировалось Pyk; 25.03.2021 в 14:30.
В общем, все-таки все правильно в последней сборке, поправил ошибку в таблице только. Правильная:
Код:pc0 0 1 0 1 pb7 0 0 1 1 --------------- out 1 2 0 2
Посмотрел тесты DDp (b0000x), хорошо, но мало, и на мой взгляд не очень удобно. Предлагаю более технологичный подход с использованием "магнитофона" (тест). Загружаем (BLOAD"",R), стартуем запись и жмем клавишу. В wav последовательно запишутся резльтаты тестирования команд, которые параллельно будут печататься на экране. Для удобства и скорости тестируется минимум команд, остальные можно свести к этим. Если что забыл - готов дополнить или можно дополнить самому, исходник прилагается. Длительность пересчитываем в такты. Точность не такая уж и плохая, для примера (выгрузил wav из emu, там без торможения) несколько команд (без округления):
NOP - 4.0735; MOV A,A - 5.0704; SHLD - 16.1053; XTHL - 18.1473
Если будет wav с реала, то готов перевести в такты.
WAV с реала по той же ссылке (tstsp1_*)
фдеукю у-ьфшдЖ ввз"шярюсщь D356 47C0 35F8 F55E 8A52 A88F F3F8 B003 03EB 3D7F
ivagor(25.03.2021)
Спасибо, весьма познавательно, только пока не очень понятно. В такты перевел, но мне кажется что их нельзя использовать точно в таком виде в любых условиях, скорее всего конкретная растактовка будет зависеть и от последнего цикла предыдущей команды. Один вопрос можно считать проясненным - торможение "в целом" однородное, нет такого, что на бордюре так, а в активной области иначе, это было бы слышно и видно по wav (так было у искры-1080).
По картинкам DDp:
b00000: mov r,r\ out - 22-23 такта
b00001: 3*nop\ mov r,r\ out - 42 такта
b00002: 2*xthl\ nop\ mov r,r\ out - (66-71)? такт
b00003: lhld\ mov r,r\ out - 49-52 такта
Результаты неплохо согласуются с TSTSP1, кроме b00002, с ним что-то сильно не то (или я неправильно измерил, но почему тогда другие совпали?). Может все же картинка b00002.png от другого теста, не от b00002.asm?
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)