User Tag List

Страница 150 из 152 ПерваяПервая ... 146147148149150151152 ПоследняяПоследняя
Показано с 1,491 по 1,500 из 1517

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

  1. #1491

    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,299
    Спасибо Благодарностей отдано 
    1,027
    Спасибо Благодарностей получено 
    811
    Поблагодарили
    484 сообщений
    Mentioned
    26 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от rst Посмотреть сообщение
    Т.е. получается - что-то у меня выполняется слишком быстро? По идее - команды не должны, тогда бы разница была гораздо существеннее. Есть подозрение, что у меня установлена неверная длительность входа в прерывание. Я её задал равной длительности команды "RST 7". Но, возможно, нужно больше тактов добавить.
    Может кто подсказать по длительности входа в прерывание на реальном "Вектор-06Ц"? (который без доработок, оригинальный Кишинёвский).
    Не зная других деталей трудно подсказать. Вход в прерывание такая же инструкция, как и все остальные. Может быть дело в торможении процессора? У Вектора время каждого машинного цикла округляется вверх до чиста тактов, кратного четырем. За одно прерывание исполняется 59904 такта, 312 строк по 192 такта.
    Больше игр нет

    Этот пользователь поблагодарил svofski за это полезное сообщение:

    rst(09.09.2024)

  2. #1492

    Регистрация
    09.09.2024
    Адрес
    г. Рига, Латвия
    Сообщений
    51
    Спасибо Благодарностей отдано 
    5
    Спасибо Благодарностей получено 
    12
    Поблагодарили
    11 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от svofski Посмотреть сообщение
    Не зная других деталей трудно подсказать. Вход в прерывание такая же инструкция, как и все остальные. Может быть дело в торможении процессора? У Вектора время каждого машинного цикла округляется вверх до чиста тактов, кратного четырем. За одно прерывание исполняется 59904 такта, 312 строк по 192 такта.
    Оп! А здесь можно подробнее? Почему 59904, а не 3e6/50=60000 ? Процессор останавливается сигналом прерывания на 96 тактов?
    Наверное это можно почерпнуть из схемы, но.... долго разбираться. Поэтому буду благодарен за пояснения.

    PS: Если так, то всё понятно: (96/6e4+1)*748 = ~749тыс.оп; и (96/6e4+1)*623 = ~624 тыс.оп
    Как раз получаются мои показания. Спасибо!
    Последний раз редактировалось rst; 09.09.2024 в 19:55.

  3. #1493

    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,299
    Спасибо Благодарностей отдано 
    1,027
    Спасибо Благодарностей получено 
    811
    Поблагодарили
    484 сообщений
    Mentioned
    26 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от rst Посмотреть сообщение
    Почему 59904, а не 3e6/50=60000 ? Процессор останавливается сигналом прерывания на 96 тактов?
    Процессор не останавливается. Частота кадров у Вектора не совсем 50Гц, но мы это предпочитаем игнорировать. А цифры получаются просто из числа строк и их длительности -- маленькая погрешность в пользу упрощения схемотехники.
    Больше игр нет

  4. #1494

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

    По умолчанию

    rst, Pilars использует особенность реализации команды вычитания через сложение, т.е. i8080 на самом деле выполняет не вычитание, а сложение с числом в дополнительном коде и флаг дополнительного переноса при этом получается инвертированый, если сравнивать его с этой же командой SUB на i8086, там этот баг уже пофиксили.
    Здесь можно скачать актуальные версии Virtual Vector (VV)

  5. #1495

    Регистрация
    09.09.2024
    Адрес
    г. Рига, Латвия
    Сообщений
    51
    Спасибо Благодарностей отдано 
    5
    Спасибо Благодарностей получено 
    12
    Поблагодарили
    11 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    В общем - pillars заработала. Проблема была не в эмуляции команд, а в неверной эмуляции работы с прерываниями. Из разных кривых описаний в сети я решил, что во время действия запрета прерывания, новое событие запроса прерывания защёлкивается. И хранится до момента разрешения прерываний. И активируется после разрешения. И только команда DI сбрасывает ждущий запрос прерывания (если он есть).
    Оказывается - никакого запоминания запроса нет. Если на момент запроса прерывания запрещены - запрос просто игнорируется.
    Сразу после исправления этого, pillars и заработала.

    Этот пользователь поблагодарил rst за это полезное сообщение:

    Improver(14.09.2024)

  6. #1496

    Регистрация
    29.06.2022
    Адрес
    г. Ирвайн, США
    Сообщений
    408
    Спасибо Благодарностей отдано 
    586
    Спасибо Благодарностей получено 
    340
    Поблагодарили
    109 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    rst, мой эмулятор тоже споткнулся об игру pillars. Оказалось что я забыл выставить неиспользуемые биты регистра флагов в нужные значения при выполнении pop psw. Хотел посоветовать посмотреть в эту сторону, а ты уже разобрался. Отлично!
    Кстати про дебагинг. Интересно глянуть на функционал который у тебя в эмуляторе. Я тоже добавил некоторые фишки в свой.

  7. #1497

    Регистрация
    09.09.2024
    Адрес
    г. Рига, Латвия
    Сообщений
    51
    Спасибо Благодарностей отдано 
    5
    Спасибо Благодарностей получено 
    12
    Поблагодарили
    11 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от parallelno Посмотреть сообщение
    rst, мой эмулятор тоже споткнулся об игру pillars. Оказалось что я забыл выставить неиспользуемые биты регистра флагов в нужные значения при выполнении pop psw. Хотел посоветовать посмотреть в эту сторону, а ты уже разобрался. Отлично!
    Все обычно почему-то спотыкаются на флагах. Но я - на другом.

    Цитата Сообщение от parallelno Посмотреть сообщение
    Кстати про дебагинг. Интересно глянуть на функционал который у тебя в эмуляторе. Я тоже добавил некоторые фишки в свой.
    Как только более-менее закончу - поделюсь. Пока ещё слишком сырой - много чего не доделано или сделано на скорую руку.
    Но некоторые вещи (типа эмуляции звука) у меня работают уже лучше, чем у существующих эмуляторов.
    Последний раз редактировалось rst; 18.09.2024 в 12:05.

  8. #1498

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,386
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,365
    Поблагодарили
    1,315 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от rst Посмотреть сообщение
    Но некоторые вещи (типа эмуляции звука) у меня работают уже лучше, чем у существующих эмуляторов.
    Существующие эмуляторы вектора очень сильно отличаются по качеству эмуляции звука. На примере какой программы сравниваете?

  9. #1499

    Регистрация
    09.09.2024
    Адрес
    г. Рига, Латвия
    Сообщений
    51
    Спасибо Благодарностей отдано 
    5
    Спасибо Благодарностей получено 
    12
    Поблагодарили
    11 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    На примере какой программы сравниваете?
    На примере VV (Virtual Vector). Другие не пробовал.

  10. #1500

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,386
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,365
    Поблагодарили
    1,315 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Под программой я подразумевал программу для вектора, которую запускаем в эмуляторе и слышим разницу с другим эмулятором или реалом.

    Субъективно о качестве звука в эмуляторах

    Основная проблема для эмуляторов - ШИМ во всех его проявлениях (и "преднамеренный" шим и биперная музыка). Остальное сравнительно легко поправить. Сам условно делю современные эмуляторы на 1) группу с качеством получше: лидер v06x и на втором месте Emu80; 2) с качеством похуже: VV и Emu. У VV и Emu свои фишки, на звуке свет клином не сошелся, но мне, например, он очень важен. Пару раз очень кратко пробовал Devector в win10, и он приятно удивил качеством звука, но это было мельком и сложного почти ничего не попробовал.
    [свернуть]

    Этот пользователь поблагодарил ivagor за это полезное сообщение:

    parallelno(20.09.2024)

Страница 150 из 152 ПерваяПервая ... 146147148149150151152 ПоследняяПоследняя

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

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

Эту тему просматривают: 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

Ваши права

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