User Tag List

Страница 119 из 127 ПерваяПервая ... 115116117118119120121122123 ... ПоследняяПоследняя
Показано с 1,181 по 1,190 из 1517

Тема: Вектор-06Ц: Эмуляция

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    22.02.2014
    Адрес
    г. Курган
    Сообщений
    1,706
    Спасибо Благодарностей отдано 
    275
    Спасибо Благодарностей получено 
    318
    Поблагодарили
    222 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Пытался разобраться, почему Emu80 зависает на чтении регистров ВИ53 в программе "Wave AY".
    Из описания ВИ53:

    Скрытый текст

    Существуют задачи, в которых процессор должен периодически считывать содержимое счетчиков
    каналов. Примером такой задачи может служить счет событий. Во время работы счетчика его текущее
    содержимое может быть передано в буферный и прочитано двумя способами: при помощи обычной операции
    чтения или с помощью специальной схемы "чтения на лету", активизируемой вводом специального
    управляющего слова.
    При первом способе для обеспечения стабилизации показаний счета работа счетчика должна быть
    приостановлена подачей на управляющий вход уровня "0" (в режимах 0, 2, 3, 4) или с помощью внешней
    логической схемы, приостанавливающей подачу импульсов на тактовый вход канала.
    [свернуть]

    Кусок кода "Wave AY":

    Скрытый текст

    Код:
    ;
    	MVI	A,00000100B	; "чтение на лету"
    	OUT	008H
    PAUSE1:
    	IN	00BH
    	ANA	A
    	JNZ	PAUSE1
    [свернуть]

    Когда закомментировал установку режима "чтение на лету" - программа перестала зависать.
    При установленном режиме "чтение на лету" - из регистров постоянно читалось записанное в них значение, как будто ВИ53 вообще не уменьшает значение счетчика.

    - - - Добавлено - - -

    Цитата Сообщение от Ramiros Посмотреть сообщение
    Таймер в любом случае ШИМит на какой то частоте за границей слышимости,
    Тогда я переживаю, почему на реале, я вообще ни чего не увидел на выходах ВИ53. Там была стабильная "1".

    но в эмуляторе VV звук воспроизводится с частотой 44КГц, а то что слышно в виде свиста это скорее всего биение частоты ШИМа при ресэмплировании к частоте 44КГц. В VV есть фильтр который настроен на подавление частот выше 20КГц, но в данном случае он почти бесполезен.
    В исходнике "Wave AY" заменил режим "2" работы таймера на "0"-режим, и в эмуляторе "Emu" фоновый свист полностью пропал.
    Вечером попробую в других эмуляторах.
    Вложения Вложения
    • Тип файла: zip ef02-0.zip (12.9 Кб, Просмотров: 529)
    Последний раз редактировалось KTSerg; 26.10.2023 в 12:55.

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2

    Регистрация
    22.02.2014
    Адрес
    г. Курган
    Сообщений
    1,706
    Спасибо Благодарностей отдано 
    275
    Спасибо Благодарностей получено 
    318
    Поблагодарили
    222 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Судя по всему, нашлась причина "фонового свиста" при воспроизведении wav-файлов, в оригинальном плеере "Wave AY", в эмуляторах "Emu" и "VV".
    Судя по всему, если в эмуляторе Emu80 решится проблема с "чтением на лету", то в нём "фонового свиста" не будет.

    Накидал ещё один тест для ВИ53, который перезаписывает счётчик таймера, когда его старший байт становится равным 00h.
    В тесте перебираются режимы 0,2,3,4. Для перехода между режимами используются клавиши "УС" и "СС" (типа 0 "УС" 2 "СС" 3 "УС" 4 "СС").
    В режиме 0 горит "РУС/LAT" - для обозначения начала цикла теста.

    А сейчас о результатах.
    На реале 02-ом, в v06x и Emu80 - только в режиме "3" на выходе видим меандр; в остальных режимах "тишина", на осциллографе - прямая линия, нет ни каких импульсов.
    В эмуляторах Emu и VV - в режиме "3" на выходе видим меандр; в режимах 2 и 4, на осциллографе - видим импульсы, во вложении фото экрана осциллографа.

    Во вложении rom теста и исходник.
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	tst_vi53_3.jpg 
Просмотров:	145 
Размер:	5.3 Кб 
ID:	79692  
    Вложения Вложения
    Последний раз редактировалось KTSerg; 29.10.2023 в 09:41.

    Эти 3 пользователя(ей) поблагодарили KTSerg за это полезное сообщение:

    Improver(29.10.2023), Ramiros(29.10.2023), svofski(29.10.2023)

  4. #3

    Регистрация
    05.08.2008
    Адрес
    Магнитогорск
    Сообщений
    989
    Спасибо Благодарностей отдано 
    25
    Спасибо Благодарностей получено 
    96
    Поблагодарили
    46 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    KTSerg, Спасибо за тестик, благодаря ему удалось обнаружить ошибку. Обновил VV, ссылка в подписи.
    Здесь можно скачать актуальные версии Virtual Vector (VV)

    Эти 3 пользователя(ей) поблагодарили Ramiros за это полезное сообщение:

    Improver(30.10.2023), KTSerg(30.10.2023), ZEman(30.10.2023)

  5. #4

    Регистрация
    22.02.2014
    Адрес
    г. Курган
    Сообщений
    1,706
    Спасибо Благодарностей отдано 
    275
    Спасибо Благодарностей получено 
    318
    Поблагодарили
    222 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Ramiros Посмотреть сообщение
    ... удалось обнаружить ошибку. ...
    Вложения Вложения

  6. #5

    Регистрация
    05.08.2008
    Адрес
    Магнитогорск
    Сообщений
    989
    Спасибо Благодарностей отдано 
    25
    Спасибо Благодарностей получено 
    96
    Поблагодарили
    46 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от KTSerg Посмотреть сообщение
    Писк по окончанию проигрывания так и задуман?
    Здесь можно скачать актуальные версии Virtual Vector (VV)

  7. #6

    Регистрация
    22.02.2014
    Адрес
    г. Курган
    Сообщений
    1,706
    Спасибо Благодарностей отдано 
    275
    Спасибо Благодарностей получено 
    318
    Поблагодарили
    222 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Ramiros Посмотреть сообщение
    Писк по окончанию проигрывания так и задуман?
    В оригинальном плеере, по окончании воспроизведения файла нет отключения ВИ53.

    Во вложении, на всякий случай, вернул режим 2, как в оригинальном плеере, и добавил отключение ВИ53.
    Вложения Вложения
    Последний раз редактировалось KTSerg; 30.10.2023 в 20:39.

  8. #7

    Регистрация
    05.08.2008
    Адрес
    Магнитогорск
    Сообщений
    989
    Спасибо Благодарностей отдано 
    25
    Спасибо Благодарностей получено 
    96
    Поблагодарили
    46 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от KTSerg Посмотреть сообщение
    В оригинальном плеере, по окончании воспроизведения файла нет отключения ВИ53.

    Во вложении, на всякий случай, вернул режим 2, как в оригинальном плеере, и добавил отключение ВИ53.
    По исследовал в отладчике предыдущий вариант, там режим 2 используется, и по окончанию таймер не отключается, отсюда и писк.
    Здесь можно скачать актуальные версии Virtual Vector (VV)

  9. #8

    Регистрация
    22.02.2014
    Адрес
    г. Курган
    Сообщений
    1,706
    Спасибо Благодарностей отдано 
    275
    Спасибо Благодарностей получено 
    318
    Поблагодарили
    222 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Всё ломаю голову, что такое "чтение на лету" в ВМ53...
    В утилите "Wave AY", оно используется как функция. Типа включил один раз до начала цикла чтения регистров, и наслаждайся "чтением на лету".
    А вот ни фига подобного...
    "Чтение на лету" это только команда (разовая акция) блокирующая изменение буфера чтения регистров, пока он не будет прочитан. Т.е. по этой команде, сам счётчик продолжает изменяться, а буфер чтения нет, он ждёт когда его прочитают.
    Уже сделал один тест на реале и вроде подтвердил эту догадку.
    Нужно уточнить и проверить некоторые детали. Когда проверю, выложу результаты.

  10. #9

    Регистрация
    05.08.2008
    Адрес
    Магнитогорск
    Сообщений
    989
    Спасибо Благодарностей отдано 
    25
    Спасибо Благодарностей получено 
    96
    Поблагодарили
    46 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от KTSerg Посмотреть сообщение
    Всё ломаю голову, что такое "чтение на лету" в ВМ53...
    В утилите "Wave AY", оно используется как функция. Типа включил один раз до начала цикла чтения регистров, и наслаждайся "чтением на лету".
    А вот ни фига подобного...
    "Чтение на лету" это только команда (разовая акция) блокирующая изменение буфера чтения регистров, пока он не будет прочитан. Т.е. по этой команде, сам счётчик продолжает изменяться, а буфер чтения нет, он ждёт когда его прочитают.
    Уже сделал один тест на реале и вроде подтвердил эту догадку.
    Нужно уточнить и проверить некоторые детали. Когда проверю, выложу результаты.
    Чтение на лету, это какое то неправильное название. В нормальной литературе эта команда называется "Защелка", предназначена для корректного чтения 16ти битного счетчика, т.к. его чтение проходит в два шага, и содержимое счетчика за это время успеет изменится.

    Я когда исходник смотрел, удивился, зачем дают команду защелку, а потом чуть ли не бесконечно читают счетчик
    Здесь можно скачать актуальные версии Virtual Vector (VV)

  11. #10

    Регистрация
    22.02.2014
    Адрес
    г. Курган
    Сообщений
    1,706
    Спасибо Благодарностей отдано 
    275
    Спасибо Благодарностей получено 
    318
    Поблагодарили
    222 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Ramiros Посмотреть сообщение
    Чтение на лету, это какое то неправильное название. В нормальной литературе эта команда называется "Защелка", предназначена для корректного чтения 16ти битного счетчика, т.к. его чтение проходит в два шага, и содержимое счетчика за это время успеет изменится.
    На русском мало подробной инфы по ВИ53. Впервые нашел упоминание про этот режим, и в доках он именно так (чтение на лету) и называется.

    Я когда исходник смотрел, удивился, зачем дают команду защелку, а потом чуть ли не бесконечно читают счетчик
    Я вот совсем не изучал ВИ53 так глубоко. Когда изучал исходник, думал "так и надо", а внятного объяснения в доках не нашел.
    Вот и пытаюсь "совместить круг с квадратом"... , а оно в голове ну ни как не укладывается.
    Да ещё результаты тестов на всех эмуляторах разные, что не добавляет ясности.
    Последний раз редактировалось KTSerg; 02.11.2023 в 13:16.

Страница 119 из 127 ПерваяПервая ... 115116117118119120121122123 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Вектор-06Ц: Общие вопросы
    от CityAceE в разделе Вектор
    Ответов: 867
    Последнее: 17.10.2025, 18:38
  2. Ответов: 9
    Последнее: 18.04.2009, 21:21
  3. Вектор-06Ц
    от AlexBel в разделе Барахолка (архив)
    Ответов: 4
    Последнее: 20.12.2007, 08:23
  4. IM2, вектор прерывания
    от Jukov в разделе Программирование
    Ответов: 18
    Последнее: 20.09.2006, 09:32

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •