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

User Tag List

Страница 4 из 10 ПерваяПервая 12345678 ... ПоследняяПоследняя
Показано с 31 по 40 из 98

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

  1. #31
    Veteran
    Регистрация
    03.07.2007
    Адрес
    Мариуполь-Киев
    Сообщений
    1,112
    Спасибо Благодарностей отдано 
    33
    Спасибо Благодарностей получено 
    14
    Поблагодарили
    13 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Lion17 Посмотреть сообщение
    Сообщение от alvis
    И было бы неплохо, что бы были версии этих тестов для прошивки в ПЗУ

    Конкретно данный тест перенести в тест-ПЗУ не получится. Он частично написан на Бейсике.
    Не обязательно конкретно этот (хотя теоретически и его можно скомпилить). Речь о том, чт нужен нормальный тест конфигурации/характеристик прошиваемый в ПЗУ. Железячникам будет удобно.

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


    Profi 6.2 Rev.B / 1024
    Profi v5.02 /1024/палитра/FDD3,5"/FDD5,25"/HDD130/XT-Keyb/Covox
    Profi v4.00 /1024
    АТМ Turbo /512/ - собран но еще не запускался
    ATM Turbo 2+ v7.10 - собран на 80%
    Pentagon 128 - в планах восстановить (раскуроченная плата)
    ZXMC20/NemoIDE/AT-Keyb (by Caro)
    Revers U8EP3C
    Speccy2010, r2
    [свернуть]

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

  3. #32
    Veteran Аватар для ZXMAK
    Регистрация
    30.01.2006
    Адрес
    Харьков
    Сообщений
    1,406
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    20
    Поблагодарили
    14 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Есть какие-то новости про результаты-на реальном пентагоне?
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

  4. #33
    Master
    Регистрация
    18.01.2005
    Адрес
    Ростов-на-Дону
    Сообщений
    577
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    8
    Поблагодарили
    7 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Продолжил изучение схемы Пентагона и теста.

    Импульс прерывания начинается на пересечении кадрового и строчного синхроимпульса. Будем считать, что он начинается на такте 0. Далее следует 16 строк кадрового синхроимпульса и 64 строки верхнего бордюра.
    Длина строки 224 такта. Итого, до начала синхроимпульса первой строки экрана 80*224=17920 тактов.
    Далее следует 32 такта (гашение, со строчным синхроимпульсом внутри) и 32+4 такта левого бордюра (4 такта, или 8 пикселей, добавляются в схеме для того, чтобы видео-контроллер заведомо успел считать из памяти данные пикселей и атрибутов).
    Итого, от начала прерывания до первого пикселя экрана 17920+64+4=17988 пикселя. Первый пиксель экрана имеет номер 17988 (если считать с 0).
    Цикл записи Z80 состоит из трех тактов, непосредственно запись в схеме Пентагона происходит во второй половине второго такта. Поэтому, уже в третьем такте цикла записи видео-контроллер сможет считать из памяти записанное туда значение.
    Z80 реагирует на прерывание, если в последнем такте предыдущей команды сигнал INT уже в низком уровне. То есть, идеально выровненный кадр начинается не с первого такта, а со второго. Именно поэтому длительность процедуры прерывания теста 46 тактов, а не 45:

    Код:
    RAM:C086 IntSubSample:                           ; 1 + 19    
    RAM:C086                 inc     sp              ; 6
    RAM:C087                 inc     sp              ; 6
    RAM:C088                 ei                      ; 4
    RAM:C089                 ret                     ; 10
    Код самого теста:

    Код:
    RAM:C018 Test:                                   
    RAM:C018                 call    AlignInt        ; 46
    RAM:C01B
    RAM:C01B Loop:                                   
    RAM:C01B                 im      1               ; 8
    RAM:C01D                 ld      de, 4000h       ; 10
    RAM:C020                 xor     a               ; 4
    RAM:C021                 ld      (de), a         ; 7
    RAM:C022                 ld      bc, (WriteTackt) ; 20
    RAM:C026                 call    WaitBCTackts    ; WT-106
    RAM:C029                 ld      a, 0FFh         ; 7
    RAM:C02B                 ld      (de), a         ; 4+1 Write!
    Получается, что перед тактом записи выдерживается пауза: 46+8+10+4+7+20+WT-106+7+4+1=WT+1 такт

    Итак:
    1. Выставляем в тесте значение 17983. Запись в память происходит на такте 17985. Видео-контроллер всегда успевает считать и атрибуты, и пиксели в тактах 17986 и 17987. Полоска на экране всегда есть.
    2. Значение 17984. Запись в память - 17986. До начала первого пикселя контроллеру остается только 1 такт. В одном кадре контроллер считывает атрибуты, а в другом пиксели - полоска мерцает с частотой в 25 герц.
    3. Значение 17985. Запись в память - 17987. Следующий такт - вывод первого пикселя на экран. Контроллер не имеет шансов считать записанное в память значение. В качестве пикселей берется значение считанное контроллером до записи в память на такте 17986 или 17985. Полоски на экране нет.

    Как-то так.
    Последний раз редактировалось Lion17; 04.05.2013 в 12:58.

  5. #34
    Master
    Регистрация
    18.01.2005
    Адрес
    Ростов-на-Дону
    Сообщений
    577
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    8
    Поблагодарили
    7 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Запустил на настоящем Пентагоне другой тест камрада Бобровского - btime. Скриншоты прилагаю.
    Что любопытно, в схеме Пентагона нет выравнивания бордюра по границе пикселей. Данные попадают на экран непосредственно после записи в порт (плюс задержка на распространение сигнала). Поэтому точно выровнять полоску бордюра со знакоместом на экране не представляется возможным. Довольно заметная разница составляет приблизительно 0.5-1 пиксель. Этим же и обуславливается разрешение бордюра у Пентагона - бордюр можно менять только с точностью до такта, а в одном такте, как известно, 2 пикселя.
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	pentagon_lion17_btime_17761.jpg 
Просмотров:	245 
Размер:	100.9 Кб 
ID:	41379   Нажмите на изображение для увеличения. 

Название:	pentagon_lion17_btime_17762.jpg 
Просмотров:	256 
Размер:	100.5 Кб 
ID:	41380   Нажмите на изображение для увеличения. 

Название:	pentagon_lion17_btime_17763.jpg 
Просмотров:	261 
Размер:	98.7 Кб 
ID:	41381  

  6. #35
    Guru
    Регистрация
    03.01.2006
    Адрес
    Рязань
    Сообщений
    2,935
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Lion17, на твоём пентагоне последняя часть Rage показывает ровно или со сдвигом на 1 или 2 пикселя?

  7. #36
    Master
    Регистрация
    18.01.2005
    Адрес
    Ростов-на-Дону
    Сообщений
    577
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    8
    Поблагодарили
    7 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от alone Посмотреть сообщение
    Lion17, на твоём пентагоне последняя часть Rage показывает ровно или со сдвигом на 1 или 2 пикселя?
    Уверен на 100%, точного совпадения не будет. Но, чтобы выяснить на сколько именно будет смещение и в какую сторону, сейчас запущу.

    ---------- Post added at 13:56 ---------- Previous post was at 13:50 ----------

    Да, результаты btime:
    реальный Пентагон: 17762-17763 (слева-справа)
    Старый ZX-Emul v0.31b: 17762 точно
    Новый ZX-Emul: 17762 точно
    Но, это и понятно - я подстраивал положение импульса прерывания под бордюрные эффекты. Теперь предстоит работа - вывести эмуляцию на расчетный уровень, так, чтобы учесть эффект работы видео-контроллера.

  8. #37
    Veteran Аватар для zebest
    Регистрация
    11.01.2008
    Адрес
    Ладошкино
    Сообщений
    1,671
    Записей в дневнике
    4
    Спасибо Благодарностей отдано 
    321
    Спасибо Благодарностей получено 
    221
    Поблагодарили
    174 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от alone Посмотреть сообщение
    последняя часть Rage показывает ровно или со сдвигом на 1 или 2 пикселя?
    Ты хочешь сказать, что на всех реальных Пентах должен быть сдвиг в один пиксель? а на эмулях, где нет сдвига - это неправильная эмуляция выходит?
    Profi v3.2 -=- Speccy2010,r2

  9. #38
    Master
    Регистрация
    18.01.2005
    Адрес
    Ростов-на-Дону
    Сообщений
    577
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    8
    Поблагодарили
    7 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Запустил Rage. Замучился, пока поймал строго-вертикальную границу черного и белого сегментов. Спас режим серийной съемки в смартфоне.

    Как и ожидалось, полного схождения нет. Изображение на бордюре примерно на пол-пикселя левее, чем на экране.

    ЗЫ: Пока писал ответ и заливал фотки, вращение сегментов в демке остановилось!
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	pentagon_lion17_rage_big.jpg 
Просмотров:	278 
Размер:	56.6 Кб 
ID:	41382   Нажмите на изображение для увеличения. 

Название:	pentagon_lion17_rage_small.jpg 
Просмотров:	260 
Размер:	76.7 Кб 
ID:	41383   Нажмите на изображение для увеличения. 

Название:	pentagon_lion17_rage_big_stoped.jpg 
Просмотров:	1004 
Размер:	79.0 Кб 
ID:	41384   Нажмите на изображение для увеличения. 

Название:	pentagon_lion17_rage_small_stoped.jpg 
Просмотров:	266 
Размер:	92.8 Кб 
ID:	41385  

  10. #39
    Master
    Регистрация
    18.01.2005
    Адрес
    Ростов-на-Дону
    Сообщений
    577
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    8
    Поблагодарили
    7 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от zebest Посмотреть сообщение
    Ты хочешь сказать, что на всех реальных Пентах должен быть сдвиг в один пиксель? а на эмулях, где нет сдвига - это неправильная эмуляция выходит?
    Запись в порт бордюра (D43-TM8) в Пентагоне происходит при:
    IORQ=0, A0=0, WR=0 по переднему фронту сигнала.
    После того как была произведена запись, сигналы подаются на входы мультиплексоров цветов (D46/D47-КП2) с них сигналы выводятся на видео-усилитель.

    Согласно, официальной доке по Z80, при цикле записи в порт, адресная шина устанавливается почти сразу в первом такте, в начале первой половины второго такта устанавливается IORQ, и немного позже (приблизительно 0.25 второго такта) сигнал WR. Задержка сигнала происходит на элементе D8.2 (ЛЕ1) и собственно при записи в D43.
    Длина одного пикселя ~143ns. Задержка на элементе К555ЛЕ1 - 20ns, на К555ТМ8 - 30ns. Итого - получается больше трети пикселя. То есть, изменения на бордюре проявятся в начале первой половины 2 такта цикла записи. Что, согласуется с тем что разница в сигнале на глаз видна, как 0.5-1 пиксель.

    Смещение бордюра будет зависеть от скоростных характеристик этих микросхем. Поэтому на разных сборках Пентагона оно может немного отличаться.

    PS: Кстати, надо учесть и задержку распространения прохождения сигнала пикселей.
    Последний раз редактировалось Lion17; 04.05.2013 в 15:25.

  11. #40
    Veteran Аватар для ZXMAK
    Регистрация
    30.01.2006
    Адрес
    Харьков
    Сообщений
    1,406
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    20
    Поблагодарили
    14 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    вполне возможно что разница в 1 пиксель возникает из-за того что значение бордюра и пикселей захватывается по разным фронтам импульса. Но не исключено что это особенность конкретной платы пентагона (конденсаторы и т.п.). Не факт что на других платах эта задержка тоже будет присутствовать. Для проверки нужны результаты и с других экземпляров...
    Последний раз редактировалось ZXMAK; 04.05.2013 в 16:24.
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

Страница 4 из 10 ПерваяПервая 12345678 ... ПоследняяПоследняя

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

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

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

Ваши права

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