Author |
Message |
vinxru
Retired
Joined: 27 Mar 2013 04:55 Posts: 587 Location: 62.192.229.16
|
А эти байты F1 и FF, о которых я говорил, никак не влияют на параметры развертки.
F1 - для контроллера обозначает конец строки. Контроллер прекращает опрашивать ПДП контроллер до начала следующей строки.
То есть, F1 это аналогичен 77 нулям, если его разместить во втором символе строки. То есть строка может занимать 2 байта, а не 78.
Так же, 9 невидимых байт справа видимых строк можно заменить на один символ F1.
Last edited by vinxru on 21 Apr 2013 03:50, edited 1 time in total.
|
20 Apr 2013 10:56 |
|
|
vinxru
Retired
Joined: 27 Mar 2013 04:55 Posts: 587 Location: 62.192.229.16
|
Я скину пример, как только доберусь до своего ноута.
|
20 Apr 2013 10:56 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Почему 320? По стандарту - 312 строк в кадре...
_________________ iLavr
|
20 Apr 2013 11:25 |
|
|
vinxru
Retired
Joined: 27 Mar 2013 04:55 Posts: 587 Location: 62.192.229.16
|
Мог что то не так вспомнить. Значит 310 линий (31*10) и 312 линий (39*8)
|
20 Apr 2013 12:49 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Что-то я с этим их рисунком экрана туплю...
Первая строка начинается с байта 36D0 и заканчивается байтом 371D,
371D - 36D0 = 4Dh - это действительно 77d.
Но сам байт 36D0 надо тоже прибавить - 78 символов в строке?
К примеру, с 10-го по 15-й элемент - их шесть... хотя 15-10=5.
В последней строке тоже получается 78 символов в строке:
3FF3 - 3FA6 = 4Dh + 1 = 78...
Или я что-то не так считаю?
Настройка же ВГ75 осуществляется действительно на 4Dh - 77d символов:
_________________ iLavr
|
20 Apr 2013 14:09 |
|
|
vinxru
Retired
Joined: 27 Mar 2013 04:55 Posts: 587 Location: 62.192.229.16
|
MVI M,4DH
В контроллер записывается число на единицу меньше, т.е. реально 78 столбцов (4Eh). А значение 0 это уже 1 строка.
MVI M, 1DH
И 30 строк (1Eh)
|
20 Apr 2013 14:38 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Да вот я и туплю на этот повод... в контроллере ПДП ВТ57 - там явно сказано,
" число циклов" - 1 (при настройке).
А вот у ВГ75 я такого что-то не помню... и у меня что-то расчет для " РК-86" не сходится:
сдвиговый регистр тактируется частотой 8МГц ~ 125 нс.
Размер стандартной строки 64 мкс. Делим: 64 мкс на 0.125 мкс = 512 точек в строке.
Как я говорил, в " РК-86" настраивается строчный синхроимпульс,
а не строчный гасящий, и ССИ, согласно настройке, - выбран равным
времени отображения восьми знаков.
Предположим, что знаков в строке 78, как мы и насчитали...
Вместе с ССИ в полной строке 78 + 8 = 86 символов.
Считаем число точек на 1 знакоместо: 512 точек / 86 знакомест = 5,95 точек -
округляем - это 6 точек.
Теперь проверяем... если в строке 78 знакомест, т.е. 86 знакомест вместе с
ССИ, то 86 знакомест * 6 точек = 516 точек в полной строке.
А если в строке 77 знакомест, т.е. 85 знакомест вместе с
ССИ, то 85 знакомест * 6 точек = 510 точек в полной строке.
Но при 8МГц в строке 512 точек...
В принципе и 510 точек в полной строке и 516 точек в полной строке в
параметры телевизионной развёртки влезут...
Но что из них верно?
_________________ iLavr
Last edited by Lavr on 20 Apr 2013 17:08, edited 1 time in total.
|
20 Apr 2013 15:25 |
|
|
vinxru
Retired
Joined: 27 Mar 2013 04:55 Posts: 587 Location: 62.192.229.16
|
Вот я демку подготовил для Апогея. Там RKA для загрузки в эмулятор, исходники, компилятор.
http://rghost.ru/45438127
|
20 Apr 2013 15:50 |
|
|
vinxru
Retired
Joined: 27 Mar 2013 04:55 Posts: 587 Location: 62.192.229.16
|
|
20 Apr 2013 15:51 |
|
|
vinxru
Retired
Joined: 27 Mar 2013 04:55 Posts: 587 Location: 62.192.229.16
|
> Но при 8МГц в строке 512 точек...
Не, кол-во точек в строке привязано не к таковой частоте, а к ССИ формируемому контроллером.
Контроллер тактируется частотой 8/6 = 1,3(3) Мгц.
Что бы получить частоту строк 15625 Гц, надо что бы в строке было 85,3 символа.
8000000 / 6 / 15625 = 85,3(3)
То есть теоретически нельзя сделать правильно. Строку нельзя поделить на целое кол-во символов при такой частоте.
Вот и получается, что контроллер выдает нестандартную частоту строк.
8000000 / 6 / 86 = 15504 Гц
|
20 Apr 2013 16:02 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Тоже не совсем так... сдвиг по строке идёт с частой 8 МГц, но единица измерения при настойке КЭЛТ -
знакоместо и знакоряд.
В матрице символа - 6 точек растра на знакоместо. Отсюда и вылезла тактовая CCLK = 8/6 = 1,3(3) МГц.
С числом символов - я вспомнил, что это не реальное "число", а фактически код из таблицы:
и он действительно на 1 меньше реального числа знакомест в строке.
Поэтому все те, кто пишут, что настройка КЭЛТ - 77 знакомест в ряду, вводят народ в заблуждение.
4Dh - это 78 знакомест в ряду по таблице 11.
А расчет у меня всё-таки совершенно правильный. Первоначально отталкиваются от
тактовой частоты сдвига и количества точек на знакоместо по горизонтали.
Значит я насчитал: 86 знакомест в полной строке, что соответствует 516 точкам в ней.
При частоте сдвига 8 МГц, 1 точка сдвигается за 125 нс.
Значит 516 точек * 125 нс = 64,5 мкс - длительность полной строки.
Откуда частота строк при данной настройке: 1 / 64,5 мкс = 15503,87 Гц.
Что и есть твои: 8000000 / 6 / 86 = 15504 Гц
_________________ iLavr
|
20 Apr 2013 16:41 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Кстати говоря - из картинки стандарта видеосигнала строчный синхроимпульс
равен 4.7 мкс.
В настройке КЭЛТ ВГ75 ССИ выбрали равным 8 знакам...
Отсюда он тоже не совсем стандартный - 6 * 8 * 0.125 нс = 6 мкс.
Равным 7 знакам его выбрать нельзя, но был бы 5.2 мкс.
При выборе 6 знаков ССИ чуть коротковат и равен 4.5 мкс.
Но при этом частота строчной развертки будет составлять 15873 Гц.
А добавлять ещё 2 символа в каждую строку - это ОЗУ совсем уж не жалеть...
PS. Да, интересно, но по ссылке Intel 8275/Документация приведена таблица, аналогичная приведенной мной таблице 11. Я из документации на "Микрошу" её выдернул, а вот откуда по той ссылке они её откопали?... Видны "уши" от общего источника. В справочнике Шахнова такой таблицы нет.
И надо бы Вадиму Кудрявцеву сказать, что ошибочка у него:
CC0-CC6 Вход Chip Select (Выбор микросхемы) - это неправда.
Правильно будет:
/CS Вход Chip Select (Выбор микросхемы) CC0-CC6 Выходы Character Code (Адрес кода символа (код символа)).
И передрали эту ошибочку " добросовестно, исключительно для образовательных некоммерческих целей" у Эдуарда Пройдакова.
Который раз эту ошибку у него передирают, и я когда-то давно купился...
_________________ iLavr
|
20 Apr 2013 17:26 |
|
|
b2m
Devil
Joined: 26 May 2003 06:57 Posts: 863
|
Ты бы ещё msvcp100d.dll и msvcr100d.dll приложил, а то не у всех есть runtime от 10-той версии MS VC++, да ещё и debug версии
А ещё, если компилятор будет выдавать в .asm ";:" перед C-шной строкой (а не только ";" ) то она тоже будет видна в отладчике. Вообще-то эта фича только для меток, но её можно использовать и так.
Желательно также, там, где не метка, не два пробела перед строкой выдавать, а один символ табуляции.
_________________Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/
|
21 Apr 2013 01:43 |
|
|
vinxru
Retired
Joined: 27 Mar 2013 04:55 Posts: 587 Location: 62.192.229.16
|
Косяк Я обычно отдаю Release, который работает без DDL-ки.
|
21 Apr 2013 03:49 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Вот тут ты кардинально прав...
В связи с написанием библиотек под Proteus, у меня и вовсе сейчас
MSVC++ 5.0 установлен...
_________________ iLavr
|
21 Apr 2013 04:42 |
|
|