Важная информация

User Tag List

Страница 10 из 10 ПерваяПервая ... 678910
Показано с 91 по 98 из 98

Тема: Тайминги Pentagon 128 :)

  1. #91
    Veteran
    Регистрация
    07.10.2006
    Сообщений
    1,640
    Спасибо Благодарностей отдано 
    241
    Спасибо Благодарностей получено 
    249
    Поблагодарили
    155 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Модифицировал тест btime так, что вместо вывода в бордюр он теперь переключает экранные страницы, с целью исследовать поведение реального Пентагона на этой операции: ptime.zip. Как и ожидалось, поведение нового теста на разных эмуляторах разное.

    Предполагаю, что эмуляторы ZX DevStudio и ZXMAK2 ведут себя ближе всего к реальному Пентагону, поэтому приведу их результаты:

    Нажмите на изображение для увеличения. 

Название:	PTIME.jpg 
Просмотров:	252 
Размер:	21.5 Кб 
ID:	62854



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

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

  3. #92
    Member Аватар для Portos13
    Регистрация
    11.03.2015
    Адрес
    г. Санкт-Петербург
    Сообщений
    85
    Спасибо Благодарностей отдано 
    5
    Спасибо Благодарностей получено 
    7
    Поблагодарили
    5 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Виноват.. не очень понял как записать. Снял видео.
    128 Пентагон , красная плата 2014года

  4. #93
    Veteran
    Регистрация
    07.10.2006
    Сообщений
    1,640
    Спасибо Благодарностей отдано 
    241
    Спасибо Благодарностей получено 
    249
    Поблагодарили
    155 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Portos13 Посмотреть сообщение
    Виноват.. не очень понял как записать. Снял видео.
    128 Пентагон , красная плата 2014года
    Огромное спасибо! Видео даже лучше. Из вашего видео видно, что поведение теста на реальном Пентагоне в точности соответствует поведению эмулятора ZX DevStudio. Чуть позже выложу полную раскладку таймингов Пентагона.

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

    Итак, тайминги Пентагона.

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


    Нового тут немного, но, возможно, будет полезно свести данные в одном месте.


    Основные:

    Частота процессора: 3.5 МГц (при кварце на 14 МГц) или 3.575 МГц (при кварце на 14.3 МГц; ближайшие номиналы — 14286 и 14318)
    Частота строк: 15.625 кГц или 15.96 кГц (см выше)
    Частота кадров: 48.828 Гц / 49.87 Гц (см выше). Для эмулятора — можно спокойно округлять до 50Гц.

    Число строк развертки: 320
    Тактов процессора на строку: 224
    Пикселей на такт: 2
    Длина кадра в тактах процессора: 320*224=71680
    Длина импульса прерывания — подстраивается, но лучше, чтобы была в районе 36 тактов.

    Экранные строки по порядку сверху вниз:

    16 строк кадрового синхроимпульса (невидимых)
    16 невидимых строк верхнего бордюра (хотя дема Across the Edge считает их видимыми, они не отображаются на большинстве мониторов, TV, и эмуляторов. Фактически, я знаю только один эмулятор, отображающий их — Z80Stealth, плюс их выводит ZX DevStudio, помечая их яркостью как невидимые. upd. Форк UnrealSpeccy от tsl также выводит невидимые строки верхнего бордюра.)
    48 видимых строк верхнего бордюра (как минимум, на большинстве эмуляторов)
    192 строки растрового экрана (с знакоместами)
    48 строк нижнего бордюра

    Экранная строка верхнего/нижнего бордюра:
    32 такта гашения со строчным синхроимпульсом
    192 такта вывода бордюра (192*2=384 пикселя)

    Экранная строка с знакоместами:
    32 такта гашения со строчным синхроимпульсом
    36 тактов левого бордюра (72 пикселя)
    128 тактов растровой картинки (INK/PAPER) (256 пикселей)
    28 тактов правого бордюра (56 пикселей)

    Количество строк верхнего и нижнего бордюра, а также ширина левого и правого бордюра, реально отображаемого на экране, зависит от ТВ/монитора. В большинстве эмуляторов отображается 48 строк бордюра сверху и снизу, и по 48 пикселей бордюра слева/справа.

    Важные начальные такты:

    0й такт. Захват прерывания происходит на последнем такте команды предыдущего кадра. Но, чтобы он был захвачен, импульс прерывания должен начаться ещё раньше, на предпоследнем такте команды. Т.е. самым первым тактом кадра, при программном выравнивании на начало кадра, фактически является предпоследний такт предыдущей команды. Поэтому, если такты нового кадра в эмуляторе нумеруются с начала цикла подтверждения прерывания, начиная с нулевого (а это практически стандарт), дальнейшие значения нужно уменьшать на 2.

    (16+64)*224 = 17920й такт — начало первой строки экрана с растровой картинкой
    17920+32 = 17952й такт — начало вывода левого бордюра первой растровой строки
    17920+32+36 = 17988й такт — начало вывода растровой картинки первой растровой строки
    17920+32+36+128 = 18116й такт — начало вывода правого бордюра первой растровой строки

    Ещё раз по тактам кадра, выровненного программно:

    0й такт — начало импульса INT
    1й такт — захват импульса INT процессором
    2-й такт — начало цикла подтверждения прерывания. для IM 2 он длится 19 тактов
    21-й такт — начало первой команды обработки прерывания IM 2

    17988-й такт — начало вывода растра (INK/PAPER)

    Внимание — эмуляторы в большинстве (Spectaculator, SpecEmu, Unreal, ZXMAK2, скорее всего и другие) нумеруют такты, считая, что 0й такт — такт начала цикла подтверждения прерывания. Т.е. в эмуляторах номера тактов в выровненном программно кадре такие:

    предпоследний такт предыдущего кадра — начало импульса INT
    последний такт предыдущего кадра — захват импульса INT процессором
    0-й такт — начало цикла подтверждения прерывания. для IM 2 он длится 19 тактов
    19-й такт — начало первой команды обработки прерывания IM 2

    17986-й такт — начало вывода растра (INK/PAPER)

    71679 такт — последний такт кадра

    Пока на 5 машинах (Lion17, goodboy, JV-Soft, IL_DECAMERON, Portos13) тесты показали единообразие таймингов. Единственное отличие пока что — в таймингах переключения экранов, которые отличаются на такт на двух машинах с совпадающими во всём остальном таймингами.
    Хотя, возможно, существуют Пентагоны с другой растактовкой, со смещением начала сигнала INT относительно начала кадра (и, соответственно, смещением такта начала растра относительно такта начала цикла подтверждения прерывания), можно предположить, что вышеописанная схема — самая распространенная, и её можно принять за стандарт.

    (upd. Протестирована машина с началом INTa на один такт позже от предыдущих машин — соответственно, количество тактов от начала подтверждения прерывания до вывода растра на 1 такт меньше, и результаты в тестах на 1 такт раньше. Причем, на этой машине переключение экранов происходит после 2го такта машцикла вывода в порт (а изменение цвета бордюра — по-прежнему после 1-го).
    upd2: Протестирован ещё один комп с такими же результатами (начало INT на такт позже).)

    Видеоконтроллер Пентагона.

    Видеоконтроллер Пентагона читает байты пикселей/атрибутов попеременно на каждом такте процессора, за один такт один байт. Когда процессор обращается к ОЗУ, видеоконтроллер приостанавливает чтение видеопамяти на этот такт (второй такт машинного цикла обращения к ОЗУ), при этом также приостанавливая изменение триггера выборки пикселей/атрибутов. Этот триггер, к тому же, не сбрасывается на границе кадра. Поэтому, в зависимости от количества обращений процессора к ОЗУ, в любом такте с одним и тем же номером в разных кадрах может происходить как выборка пикселей, так и атрибутов.

    По завершению вывода 8 пикселей растра видеоконтроллер на следующем такте начинает выводить следующие 8 пикселей по значениям пикселей/атрибутов, заблаговременно считанным им ранее.

    Бордюр

    Вывод нового цвета бордюра в Пентагоне не выровнен на границу пикселей растрового поля. Поэтому пиксели бордюра слегка смещены по сравнению с пикселями растра. В частности, в конце демо Rage после остановки вращения сегментов на реальном Пентагоне видно, что вертикальная полоска на бордюре слегка смещена влево, по сравнению с полоской на растровом поле.


    По данным Lion17, вывод нового цвета бордюра видеоконтроллером начинается спустя некоторое время после начала 2-го такта машинного цикла вывода в порт. Однако, для эмуляторов достаточно принять, что цвет бордюра меняется сразу после 1го, начиная со 2-го такта цикла вывода в порт.

    В Пентагоне цвет бордюра обновляется каждый такт, соответственно точность отображения бордюра — 2 пикселя (в отличие от фирменных машин, в которых цвет бордюра обновляется каждые 4 такта, и точность отображения бордюра — 8 пикселей).

    Переключение экранных страниц

    Моя модификация теста btime от Jan Bobrowski, тест ptime-p показал, что есть два варианта таймингов переключения экранных страниц для видеоконтроллера.
    На некоторых машинах переключение идет после 1-го, начиная со 2-го такта машинного цикла вывода в порт, а на некоторых - после 2-го, начиная с 3-го такта цикла.

    Видео поведения теста, снятое Portos13


    и IL_DECAMERON:





    На сегодняшний день наиболее точно отражает поведение реального Пентагона в плане эмуляции видеоконтроллера эмулятор ZX DevStudio. На нём правильно работают тесты stime и тест ptime-p. Все остальные эмуляторы (включая, я так понимаю, и аппаратные), выдают в этих тестах результаты, отличные от поведения реального Пентагона. Однако, в этом эмуляторе неправильно эмулируется команда PUSH : изменена последовательность записи в память - сначала пишется младший байт, потом старший, что подтверждено тестом ltime.

    Скачать набор тестов в TRD-образе можно здесь: http://zx-pk.ru/attachment.php?attac...8&d=1511457692
    Ознакомиться со всеми результатами тестов - здесь: http://zx-pk.ru/threads/28382-artefa...l=1#post936256


    Выражаю благодарность всем, протестировавшим свои Пентагоны, и поделившихся результатами:
    Lion17, goodboy, Portos13, IL_DECAMERON, и особо - JV-Soft-у, протестировавшему 3 своих Пентагона.
    [свернуть]
    Последний раз редактировалось Spectramine; 05.12.2017 в 22:08.

  5. #94
    Master
    Регистрация
    24.05.2005
    Адрес
    г. Запорожье, Украина
    Сообщений
    992
    Спасибо Благодарностей отдано 
    571
    Спасибо Благодарностей получено 
    364
    Поблагодарили
    239 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    настолько глубоко похоже никто не копал до этого )

  6. #95
    Veteran
    Регистрация
    07.10.2006
    Сообщений
    1,640
    Спасибо Благодарностей отдано 
    241
    Спасибо Благодарностей получено 
    249
    Поблагодарили
    155 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ну вроде как у Lion17 в эмуляторе ZX DevStudio всё это уже есть. Данные разрознены по разным сообщениям, а по переключению экранов вообще конкретной информации не было.

  7. #96
    Veteran Аватар для daniel
    Регистрация
    31.10.2005
    Адрес
    Кемерово
    Сообщений
    1,384
    Спасибо Благодарностей отдано 
    106
    Спасибо Благодарностей получено 
    20
    Поблагодарили
    11 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вот здесь это ещё ражёвывалось, рекомендую почитать, может пригодится, начиная с моего поста от 02.02.2014 16:58:55:
    http://forum.tslabs.info/viewtopic.p...t=20&start=225

  8. #97
    Veteran
    Регистрация
    07.10.2006
    Сообщений
    1,640
    Спасибо Благодарностей отдано 
    241
    Спасибо Благодарностей получено 
    249
    Поблагодарили
    155 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от daniel Посмотреть сообщение
    Вот здесь это ещё ражёвывалось, рекомендую почитать, может пригодится, начиная с моего поста от 02.02.2014 16:58:55:
    http://forum.tslabs.info/viewtopic.p...t=20&start=225
    Спасибо за наводку, нашел ещё несколько демок для тестов, и тест MulFix.
    Вопрос - что означает параметр HSInt в данном контексте?
    Последний раз редактировалось Spectramine; 13.11.2017 в 11:01.

  9. #98
    Veteran Аватар для daniel
    Регистрация
    31.10.2005
    Адрес
    Кемерово
    Сообщений
    1,384
    Спасибо Благодарностей отдано 
    106
    Спасибо Благодарностей получено 
    20
    Поблагодарили
    11 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от weiv Посмотреть сообщение
    HSInt в данном контексте
    вроде какая то переменная в прошивке для PentEVO.

Страница 10 из 10 ПерваяПервая ... 678910

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

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

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

Похожие темы

  1. Тайминги Leningrad-1
    от ZXMAK в разделе Ленинград
    Ответов: 17
    Последнее: 14.06.2013, 03:09
  2. Тайминги экранов Спектрумов
    от Alex Rider в разделе Программирование
    Ответов: 12
    Последнее: 02.04.2013, 16:20
  3. Тайминги DENDY
    от evgs в разделе Nintendo
    Ответов: 7
    Последнее: 01.11.2011, 22:59
  4. Тайминги Pentagon-128
    от Mick в разделе Pentagon
    Ответов: 40
    Последнее: 26.09.2011, 20:00
  5. Ответов: 4
    Последнее: 18.11.2010, 09:47

Ваши права

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