«Кроха» — недо-Специалист
Moderator: Lavr
-
- Devil
- Posts: 909
- Joined: 06 Oct 2006 03:17
- Location: г.Лянтор,Сургутского р-на,ХМАО
Re: «Кроха» — недо-Специалист
Поменялось только одно - появился библиотечный элемент. Указанная мною ошибка не исчезла, смысла в дальнейшем копании в запуске схемы я не вижу.
-
- Supreme God
- Posts: 16676
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: «Кроха» — недо-Специалист
Нуууу... это зря...fifan wrote:...смысла в дальнейшем копании в запуске схемы я не вижу.

У меня и вовсе Windows 98 и Proreus 6.7 Pro - да, сполпинка дисплей как dll не заработал,PVV wrote:Есть исходник, могу выложить и последнюю версию, с доработками от IgorR76, и можно попробовать собрать dll из исходников, тогда уж все должно заработать.
...
Версии proteus у всех разные, и это гораздо проще сделать для своей версии чем пытаться вставить библиотеку от не своей версии.
но выложены тут же в форуме исходники, и все тонкости мы обсудили...
Перекомпилировал исходники и сам нарисовал на свой вкус коробку с 4 выводами.
Чтобы быть уверенным, что дисплей работает, а не схема компьютера глючит - собрал простой ТV-генератор полос:
Избавляться от глюков надо по шагам - я не раз про это говорил... все ж может случиться...

You do not have the required permissions to view the files attached to this post.
iLavr
-
- Supreme God
- Posts: 16676
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: «Кроха» — недо-Специалист
Странное поведение, вобще говоря, у этого драйвера дисплея...fifan wrote:Проект работает, но как и у меня ничего не показывает на экран.

И по тексту-то он простой, как 5 копеек - никаких подводных камней нет явно...

В общем дошли у меня сегодня руки попробовать проект «Крохи» от PVV под Proteus 7.7
на ноутбуке с двухядерным Интел Атом на 1.8ГГц, хотел я эмуляцию пошустрее увидеть.
Запускаю... схема работает, а дисплей - нет. На черном фоне сверху вниз пробегает
одинокая строка, и этот процесс повторяется...
Ну ладно - для проверки загружаю вот эту схему из моего поста выше, которая точно
работала на старом ноутбуке, где Вынь 98, Пень II на 366 Мгц и Proteus 6.7.
А она - точно так же не работает, пробегает одинокая строка, и этот процесс повторяется,
хотя dll-библиотека скомпилирована лично мной!

В общем - пол дня сегодня убил на это, но безрезультатно...

И самое обидное, что я часа 3 угробил разыскивая сами схемы от «Крохи» !

Надо выложить здесь, чтобы второй раз не шаманить в роли бомжика-нищеброда...

You do not have the required permissions to view the files attached to this post.
iLavr
-
- Supreme God
- Posts: 16676
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: «Кроха» — недо-Специалист
В общем пришлось исходники драйвера дисплея настойчиво покурить...Lavr wrote:Странное поведение, вобще говоря, у этого драйвера дисплея...![]()
И по тексту-то он простой, как 5 копеек - никаких подводных камней нет явно...
Я не знаю, у кого из вас они какие, и насколько уже правлены, но в моём варианте строчная
и кадровая синхронизация явно перепутаны.

Всё-таки как-то общепринято, что H-SYNC - это строчная синхронизация, или синхронизация
по Hоризонтали, а V-SYNC - это кадровая синхронизация, или синхронизация по Vертикали.
Но из текста драйвера следует явно противопложенный расклад...

Code: Select all
//---- читаем состояния выводов -----------
BOOL st_v =ishigh(en_video->istate()); //---- VIDEO
BOOL st_sh=ishigh(en_sync_h->istate()); //---- SYNC_H
BOOL st_sv=ishigh(en_sync_v->istate()); //---- SYNC_V
BOOL st_pc=ishigh(en_pclk->istate()); //---- PCLK
if (!st_sh) //- SYNC_H ^^\__ низкий уровень H_SYNC
{
if (!hst)
{
fsize=0;
hst=1;
}
}
else //- SYNC_H __/^^ высокий уровень H_SYNC
{
hst=0;
if (!st_sv) //---- SYNC_V ^^\__ низкий уровень V_SYNC
{
if (vst==0)
{
lsize=0;
vst=1;
fsize+=SIZE_X; //- увеличивается на число точек в строке
c=0x45;
for (i=0; i<SIZE_X; i++)
*(lin + fsize + SIZE_X + i) = c;
}
}
else
{
vst=0;
if (!st_pc) //---- PCLK ^^\__ низкий уровень
{
if (st_v) c=0x45; else c=0xda;
*(lin + fsize + lsize + SIZE_X) = c;
lsize++;
//if (lsize<SIZE_X) lsize++;
}
}
}
iLavr
-
- Supreme God
- Posts: 16676
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: «Кроха» — недо-Специалист
В самом верху файла изменить SIZE_X и SIZE_Y на столько - сколько вам надо.rw6hrm wrote:...извиняюсь, конечно, но что требуется перелопатить в дисплейной части схемы, чтобы выводить не 48 символов в ширину, а нормальные 80х25?
Посчитайте сами, смотря какая у вас матрица символа (5х7 или 8х8), а потом задайте нужные размеры по X и по Y.
iLavr
-
- Supreme God
- Posts: 16676
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: «Кроха» — недо-Специалист
Я не телепат - каков вопрос, таков и ответ...rw6hrm wrote:Lavr wrote:В самом верху файлая имел в виду "железную" схему "Крохи".

А по "железному" вопросу - всё сложнее: надо увеличить тактовую, чтобы в тот же интервал строки
впихнуть большее число точек,
увеличить видео-буфер в памяти, ну и переконструировать выборки КСИ, КГИ, ССИ и СГИ под новую
частоту, чтобы они остались на своих местах в полном телевизионном сигнале.
Похожие расчеты я делал вот здесь: viewtopic.php?f=71&t=9407&start=30
iLavr
-
- Supreme God
- Posts: 16676
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: «Кроха» — недо-Специалист
IC 537РУ10 в схеме «Крохи» включена совершенно грамотно: она не терпит длинный /CSPVV wrote:...с оригинальной схемой не сошлось - без управления /OE на D19 в ОЗУ ничего не писалось,
но с этим еще можно смириться, списав на несоответствие в работе модели SRAM 6264 и 537РУ10
и мрёт за 7 секунд с /CS на земле.
При обычной выборке - сначала /CS, а потом - /ОЕ, который есть /RD от процессора,
она может поймать "тиристорный эффект" и подохнуть сама, поэтому её влючают, так
как нарисовано на схеме «Крохи» чаще всего - её внутренняя организация так позволяет.
Понятно, что 6264 так включать совершенно не требуется...

P.S. Кстати, я улыбнулся: К555ИД4 исправлена ручкой на схеме - самая любимая ошибка всех времён и народов!

iLavr
-
- Doomed
- Posts: 487
- Joined: 05 Nov 2007 05:08
- Location: Украина
Re: «Кроха» — недо-Специалист
я ставил РУ10 параллельно РФ2 в спеце (до 8 штук), ОЕ заводил как раз с чтения, а CS - с ИД4, здыхания не отмечал... может, у меня были клёвые РУ10? раз как-то погорели, конечно, когда провод питания упал на плату, ну там и КП2 повыгорали и еще чево-то, уже не помнюLavr wrote:При обычной выборке - сначала /CS, а потом - /ОЕ, который есть /RD от процессора,
она может поймать "тиристорный эффект" и подохнуть сама

-
- Supreme God
- Posts: 16676
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: «Кроха» — недо-Специалист
Я тоже слышал такое мнение и не только от тебя... но то, что я процитировал - пишут про РУ10shoorick wrote:я ставил РУ10 параллельно РФ2 в спеце (до 8 штук), ОЕ заводил как раз с чтения, а CS - с ИД4, здыхания не отмечал...
в справочной литературе.
А вобще мне это напоминает следующий диалог:
- Сифилис, если его не лечить, приводит к летальному исходу.
- А у меня был сифилис, так мне его вылечили за 5 уколов!

А ещё анекдот:
- Береженного - Бог бережет! Говаривала одна монашка в келье, надевая презерватив на свечку...
Это я к чему? Да у меня тоже есть РУ10 и я ни одной не сжег... но если мы глянем в схему ЮТ-88,
то РУ10 там включены так же, как и в «Крохе».
И если люди пишут, что РУ10 горят, особенно в АОН-ах, где /CS, бывало, намертво вешали на землю,
значит факт этот имеет место быть? Никто же не пишет такое про ту же 6264 ?
iLavr
-
- Doomed
- Posts: 487
- Joined: 05 Nov 2007 05:08
- Location: Украина
Re: «Кроха» — недо-Специалист
не знаю... аоностроение прошло мимо меня
возможно, эти красивые былины возникли на почве замены РУ8 на РУ10 и наоборот?
так были подключены РФ2 в моем спеце, я из-за этого у Ру10 две ноги отгибал вверх и паял крестики из проволочек

возможно, эти красивые былины возникли на почве замены РУ8 на РУ10 и наоборот?
так были подключены РФ2 в моем спеце, я из-за этого у Ру10 две ноги отгибал вверх и паял крестики из проволочек

-
- Supreme God
- Posts: 16676
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: «Кроха» — недо-Специалист
А жаль... там было мнооооого интересного и зогадошного помимо РУ10...shoorick wrote:не знаю... аоностроение прошло мимо меня![]()
Если что-то прошло мимо тебя, то это не значит, что такого не было.
Я вот, к примеру, сифилисом не болел, но это же не отменяет наличие КВД в стране...

iLavr
-
- Doomed
- Posts: 463
- Joined: 12 Feb 2016 13:39
Re: «Кроха» — недо-Специалист
переделать просто не получится, а как Вы представляете эти 80х25? организация памяти линейная? или с некими пропусками для шага кратного степени двойки? поддержка курсора будет? цвет символа и\или фона? от всего этого сильно аппаратная часть меняться будет, за увеличение частоты пиксельклока и формирование КСИ и ССИ уже сказали, с этим все понятно...rw6hrm wrote:...извиняюсь, конечно, но что требуется перелопатить в дисплейной части схемы, чтобы выводить не 48 символов в ширину, а нормальные 80х25? Хочется доделать свою машинку под СР/М, а делать видеовывод на Атмеге328 ну как-то некошерно (хотя возможностей получается на два порядка больше, в основном из-за переноса части вычислительных функций с основного процессора на видео)...
и в довесок, с внешним миром как общаться, по RS232? клавиатура своя или только отображение символов?
вообще все это уже выходит за пределы обсуждения 'Крохи' и надо вынести в отдельную тему...
-
- Supreme God
- Posts: 16676
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: «Кроха» — недо-Специалист
Я вот тоже за последние 3 дня Атмег накушался... по самое "нихачу"...rw6hrm wrote:Тем более, что с Атмегой уже всё готово, но это другая история...

А всё почему?
Два года назад зашел я перед НГ в магазин радиотоваров и купил 6 штук Атмег -
чисто потому, что у меня их не было, а после НГ обычно всё дорожает....

iLavr
-
- Supreme God
- Posts: 16676
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: «Кроха» — недо-Специалист
В общем, с пинками, костылями, матюками, подпорками и танцами с бубном «Кроха» у
меня тоже заработала...
Решил выяснить структуру её видео-ОЗУ. Под видео-ОЗУ у «Крохи» отведено 2048 байт
ОЗУ по адресам 0E800-0EFFFH.
Чтобы осталось памяти для стека и переменных программы в ПЗУ-картридже, видео-буфер
ограничивают 25-ю строками по 48 позиций в строке - это 48х25=1600 байт.
Но в принципе видеоадаптер «Крохи» способен показать все 32 строки по 48 позиций в строке.
(строки - символьные, а не графические).
Лишнее прячут гасящими импульсами развертки.
Написал тест, заполняющий всё видео-ОЗУ у «Крохи» символами от 20Н - это пробел, до 7FH.
В закогенераторе «Крохи» символов в нижнем регистре нет - только заглавные.
На скриншоте серым цветом - то, что выдает «Кроха» при заполнении видео-ОЗУ.
Зелёным цветом я на левое слишком длинное гасящее поле в графредакторе прилепил
знакогенератор «Крохи», который посмотрел через эмулятор «Специалиста». Организация экрана довольно странная - всё что выводится с 0E800 - находитсяв самом
правом столбце, а потом изображение переходит в крайний левый столбец и далее - по
столбцам идёт подряд.
Через «Специалист» также немного почитал код программы из ПЗУ. Смутила установка стека:
LXI SP,Е9Е0
Стек линейно увеличивается вниз, но от Е9Е0 до верха видео-ОЗУ 0EFFFH не набирается этих
самых даже 48х25=1600 байт по минимуму!
Под Windows 7 оба драйвера дисплея не работают, причем тот, что поновее при долгом ожидании
видео-чуда таки может наглухо завесить систему. Под Вендой 98 - работают нормально.
меня тоже заработала...

Решил выяснить структуру её видео-ОЗУ. Под видео-ОЗУ у «Крохи» отведено 2048 байт
ОЗУ по адресам 0E800-0EFFFH.
Чтобы осталось памяти для стека и переменных программы в ПЗУ-картридже, видео-буфер
ограничивают 25-ю строками по 48 позиций в строке - это 48х25=1600 байт.
Но в принципе видеоадаптер «Крохи» способен показать все 32 строки по 48 позиций в строке.
(строки - символьные, а не графические).
Лишнее прячут гасящими импульсами развертки.
Написал тест, заполняющий всё видео-ОЗУ у «Крохи» символами от 20Н - это пробел, до 7FH.
В закогенераторе «Крохи» символов в нижнем регистре нет - только заглавные.
На скриншоте серым цветом - то, что выдает «Кроха» при заполнении видео-ОЗУ.
Зелёным цветом я на левое слишком длинное гасящее поле в графредакторе прилепил
знакогенератор «Крохи», который посмотрел через эмулятор «Специалиста». Организация экрана довольно странная - всё что выводится с 0E800 - находитсяв самом
правом столбце, а потом изображение переходит в крайний левый столбец и далее - по
столбцам идёт подряд.
Через «Специалист» также немного почитал код программы из ПЗУ. Смутила установка стека:
LXI SP,Е9Е0
Стек линейно увеличивается вниз, но от Е9Е0 до верха видео-ОЗУ 0EFFFH не набирается этих
самых даже 48х25=1600 байт по минимуму!

Под Windows 7 оба драйвера дисплея не работают, причем тот, что поновее при долгом ожидании
видео-чуда таки может наглухо завесить систему. Под Вендой 98 - работают нормально.
You do not have the required permissions to view the files attached to this post.
iLavr
-
- Supreme God
- Posts: 16676
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: «Кроха» — недо-Специалист
Из этого теста стало понятно, что на экране память организована столбцами по 32 символа,Lavr wrote:Организация экрана довольно странная - всё что выводится с 0E800 - находитсяв самом
правом столбце, а потом изображение переходит в крайний левый столбец и далее - по
столбцам идёт подряд.
нумерация символов идет сверху вниз линейно 0-31, переход в другой столбец.. и т.д.
Теперь я усложнил тест, чтобы понять, как расположены сами столбцы по отношению к
геометрии экрана и адресам памяти. Я выводил столбцами по 32 числа 0,1,2,3 ... D,E,F.
Получилось вот что: Действительно, столбец "0" с адреса Е800 находится справа, потом пропадают столбцы с
номерами "1" ... "F", и первый видимый столбец - снова "0".
Я дорисовал влево и вправо недостающие столбцы (они скрыты обратным ходом TV-развертки),
и получилась карта памяти видео-ОЗУ "Крохи": Реально выводимая на экран область ОЗУ начинается с 0EA00H и по 0EFFFH.
Нижние 7 символов каждого столбца маскирует Кадровый гасящий импульс.
Интервал 0Е800-Е9FFH приходится на строчный гасящий импульс и является
доступным ОЗУ пользователя, т.к. не отображается на дисплее. Там же расположен
и стек, как видно, адресом 0E9E0H начинается первый столбец до области, отобра-
жаемой на дисплее.
Несложный подсчет показывает, что вроде я нигде не ошибся: на интервал строки у "Крохи",
как и у "Специалиста", приходится 64 столбца (или байта). Из них 16 столбцов (байт) приходятся
на интервал гашения. На экране видимы оставшиеся 48 столбцов по 32 символа, из которых
7 символов гасятся по кадру и остается - 25 строк.
You do not have the required permissions to view the files attached to this post.
iLavr