Больше игр нет
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Помучать меня про бейсики и звук можно, но все же я пока не понял насчет пиксельклока.
Попробую расписать подробнее, что именно я не понял.
картинка 4: 1.28 мкс - это 16 точек при пиксельклоке 12.5 МГц или 8 при 6.25 МГц
картинка 5: 40.96 мкс - это 512 точек при пиксельклоке 12.5 МГц или 256 при 6.25 МГц
Откуда взялись именно такие цифры? Скорее всего ошибка на картинках 4 и 5? На других картинках и в тексте цифры соответствуют частотам кратным 12 МГц. Разница все же не такая и маленькая. Например 512 точек при 12 МГц будет 42.67 мкс (как на векторе) - разница 1.71 мкс с картинкой 5.
Просто есть еще смежный вопрос, связанный с выборкой видеоданных из памяти и доступом процессора к памяти.
Пусть все пляшет от 12 МГц. Fcpu=12/5=2.4 МГц. Tcpu=416.67 нс. Fpix512=12 МГц. Tpix512=83.33 нс. Tpix512*512/Tcpu=102.4 такта, т.е. нацело не делится. Доступ проца и видеоконтроллера к озу асинхронный (судя по диаграммам вроде нет)?
Скрытый текст
У далеких немских стран
Есть, ребята, окиян.
По тому ли окияну
Ездят только басурманы;
С православной же земли
Не бывали николи
Ни дворяне, ни миряне
На поганом окияне.
От гостей же слух идет,
Что девица там живет;
Но девица не простая,
Дочь, вишь, месяцу родная,
Да и солнышко ей брат.
Та девица, говорят,
Ездит в красном полушубке,
В золотой, ребята, шлюпке
И серебряным веслом
Самолично правит в нем;
Разны песни попевает
И на гусельцах играет...[свернуть]
- - - Добавлено - - -
Я склонен думать, что ошибка на картинках. При пиксельклоке 6.5МГц тактовая должна была бы быть 13.0МГц. Не знаю, существовали ли в природе СССР доступные кварцевые резонаторы на такие частоты (хотя 6.5МГц похожа на ПЧ звука в советском же телевидении (поправьте меня) и можно было раздуть кварц на гармонике? во я гоню). Возможно также, что цифры на картинках взяты из расчетных данных, где для простоты могли оперировать кратными степеням двойки частотами.
Про асинхронный доступ не скажу, но вроде они доступаются к видеопамяти по очереди. Там еще странно написано в статье, что видеопроцессор притормаживается при конфликте доступа с процессором, но я это плохо понимаю.
Наконец то считал свою РТ4. Она полностью совпала с журнальной.
Я грешил что она сдохла, но оказывается ошибался.
Тест запускал и тишина. Подозреваю ВВ55 , на ней все время висячие выводы, а их не должно быть.
Пока отложил, другими делами занимаюсь.
Микро-80, Радио-86РК, Океан 240, Ириша, Спектрум-48, NEC PC-8201, ЮТ-88(2017).
Не, 6.5 там не фигурирует, 6.25 (12.5/2).
У меня есть дикое предположение, надеюсь неправильное, что некоторые точки при выводе пропускаются. Тогда все получается легко и просто.
Если выборка видеоданных 2 байта за 3 такта процессора, то
1) Tсpu*3=1.25 мкс
2) 1.25 мкс/Tpix512=15 точек. Т.е. при такой прикидке в режиме 512 точек не успеваем показать 1 точку из 16. В режиме 256 покажем 7 с половиной точек.
L Juriy, у меня тест в самом начале не шел дальше, так как была неисправна ВВ55, на которую заведен обратный ход луча. В ожидании этого самого луча тест не двинется дальше темного экрана.
- - - Добавлено - - -
Это очень смелая гипотеза. Пропущенные при выводе точки быстро бы себя обнаружили на границах байт. (В цветном режиме, действительно, какая-то паразитная полоска в конце видимой части строки видна, но это может быть что угодно).
А откуда взялась длительность такта процессора, равная 0.5мкс?
Такт процессора Tcpu=1/2.4e6=416.67 нс
Есть идея, как можно сочетать целые такты процессора и кратность 8 точкам - надо чередовать циклы выборки разной длительности.
Например чередование циклов
1) 6 тактов процессора (за которые нужно выбрать 4 байта видеоинформации)
и
2) 10 тактов процессора (за которые нужно выбрать 6 байт видеоинформации)
Tcpu*16/Tpix=80 точек, т.е. за 16 тактов процессора мы покажем ровно 80 точек 512 (или 40 точек 256)
512 точек при этом ровно на такты процессора не разобьем, но это и не обязательно, только надо иметь отдельный способ узнать, где у нас можно начинать показывать точки и где надо заканчивать их показывать с разрешением не хуже Tpix512*2=166.67 нс. Такую инфу можно хранить, например, в пзу.
Я только не пойму, зачем такие сложности с процессором. В моем представлении видеопроцессор - обычно довольно тупая схема с кучей счетчиков, формирующая ворох клоков для разверток, регистров-мультиплексоров и проч. И вывод на экран обычно тупой и незатейливый, читаем видео-ОЗУ подряд и подряд (16 бит за раз, между прочим), а в перерывах давая CPU доступиться к памяти.
На схеме есть блок, обозначенный как "Узел синхронизации", но я ни из журнальной статьи, ни бдением над картинкой узла, так и не понял, как он работает. (Хочется верить, что чуть притормаживается процессор при одновременном доступе к видеопамяти).
- - - Добавлено - - -
Такое ПЗУ там как раз есть, это РТ4 с пиксельклоком/2 и сигналами цвета и разверток на входах.
Сложность в том, что если у нас доступ процессора и видеоконтроллера к озу не асинхронный и частоты кратные, тогда надо как-то сгруппировать целое число тактов в циклы. Можно не париться с группировкой в сравнительно малотактные циклы, если читать видеоинформацию на строку раньше в какое-нибудь промежуточное озу маленькой емкости, но вроде в океане это не так.
Единственное место, куда данные из видео-ОЗУ читаются видеоконтроллером, это составной сдвиговый регистр в 16 бит на основе ИР16. Он тактируется клоком 6МГц, а значения в него записываются по сигналу V, которыйгде-то формируется чуть загодя (пока не нашел)получается делением 12МГц на 16 (выход >=15 ИЕ7)и вполне может чуть задержаться в исключительном случае.
Последний раз редактировалось tnt23; 01.02.2019 в 14:41.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)