nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 28 Mar 2024 01:37



Reply to topic  [ 45 posts ]  Go to page Previous  1, 2, 3
«Кроха» — недо-Специалист 
Author Message
Devil

Joined: 06 Oct 2006 03:17
Posts: 856
Location: г.Лянтор,Сургутского р-на,ХМАО
Reply with quote
Поменялось только одно - появился библиотечный элемент. Указанная мною ошибка не исчезла, смысла в дальнейшем копании в запуске схемы я не вижу.


21 Aug 2016 10:37
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
fifan wrote:
...смысла в дальнейшем копании в запуске схемы я не вижу.

Нуууу... это зря... :-? PVV совершенно правильно говорит:
PVV wrote:
Есть исходник, могу выложить и последнюю версию, с доработками от IgorR76, и можно попробовать собрать dll из исходников, тогда уж все должно заработать.
...
Версии proteus у всех разные, и это гораздо проще сделать для своей версии чем пытаться вставить библиотеку от не своей версии.

У меня и вовсе Windows 98 и Proreus 6.7 Pro - да, сполпинка дисплей как dll не заработал,
но выложены тут же в форуме исходники, и все тонкости мы обсудили...
Перекомпилировал исходники и сам нарисовал на свой вкус коробку с 4 выводами.

Чтобы быть уверенным, что дисплей работает, а не схема компьютера глючит - собрал простой ТV-генератор полос:
 ТV-генератор полос
Attachment:
tv_disp6.gif
tv_disp6.gif [ 21.41 KiB | Viewed 13981 times ]

Избавляться от глюков надо по шагам - я не раз про это говорил... все ж может случиться... :wink:

_________________
iLavr


21 Aug 2016 11:50
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
fifan wrote:
Проект работает, но как и у меня ничего не показывает на экран.
Странное поведение, вобще говоря, у этого драйвера дисплея... :osad:
И по тексту-то он простой, как 5 копеек - никаких подводных камней нет явно... :-?

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

Ну ладно - для проверки загружаю вот эту схему из моего поста выше, которая точно
работала на старом ноутбуке, где Вынь 98, Пень II на 366 Мгц и Proteus 6.7.
А она - точно так же не работает, пробегает одинокая строка, и этот процесс повторяется,
хотя dll-библиотека скомпилирована лично мной! :o

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

И самое обидное, что я часа 3 угробил разыскивая сами схемы от «Крохи» ! :roll:
Надо выложить здесь, чтобы второй раз не шаманить в роли бомжика-нищеброда... :mrgreen:

 Оригинальная схема «Крохи» от Caro
Attachment:
kroha_00.gif
kroha_00.gif [ 268.19 KiB | Viewed 13643 times ]


 Схема «Крохи» из проекта PVV
Attachment:
kroha_01.gif
kroha_01.gif [ 158.47 KiB | Viewed 13644 times ]

_________________
iLavr


06 Sep 2017 16:32
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Lavr wrote:
Странное поведение, вобще говоря, у этого драйвера дисплея... :osad:
И по тексту-то он простой, как 5 копеек - никаких подводных камней нет явно...
В общем пришлось исходники драйвера дисплея настойчиво покурить...

Я не знаю, у кого из вас они какие, и насколько уже правлены, но в моём варианте строчная
и кадровая синхронизация явно перепутаны. :-?
Всё-таки как-то общепринято, что H-SYNC - это строчная синхронизация, или синхронизация
по Hоризонтали, а V-SYNC - это кадровая синхронизация, или синхронизация по Vертикали.
Но из текста драйвера следует явно противопложенный расклад... :o
Code:
//---- читаем состояния выводов -----------
    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


06 Sep 2017 19:20
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
rw6hrm wrote:
...извиняюсь, конечно, но что требуется перелопатить в дисплейной части схемы, чтобы выводить не 48 символов в ширину, а нормальные 80х25?

В самом верху файла изменить SIZE_X и SIZE_Y на столько - сколько вам надо.
Посчитайте сами, смотря какая у вас матрица символа (5х7 или 8х8), а потом задайте нужные размеры по X и по Y.

_________________
iLavr


07 Sep 2017 04:48
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
rw6hrm wrote:
Lavr wrote:
В самом верху файла

:mrgreen: я имел в виду "железную" схему "Крохи".
Я не телепат - каков вопрос, таков и ответ... :mrgreen:

А по "железному" вопросу - всё сложнее: надо увеличить тактовую, чтобы в тот же интервал строки
впихнуть большее число точек,
увеличить видео-буфер в памяти, ну и переконструировать выборки КСИ, КГИ, ССИ и СГИ под новую
частоту, чтобы они остались на своих местах в полном телевизионном сигнале.

Похожие расчеты я делал вот здесь: http://www.nedopc.org/forum/viewtopic.php?f=71&t=9407&start=30

_________________
iLavr


07 Sep 2017 06:32
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
PVV wrote:
...с оригинальной схемой не сошлось - без управления /OE на D19 в ОЗУ ничего не писалось,
но с этим еще можно смириться, списав на несоответствие в работе модели SRAM 6264 и 537РУ10

IC 537РУ10 в схеме «Крохи» включена совершенно грамотно: она не терпит длинный /CS
и мрёт за 7 секунд с /CS на земле.
При обычной выборке - сначала /CS, а потом - /ОЕ, который есть /RD от процессора,
она может поймать "тиристорный эффект" и подохнуть сама, поэтому её влючают, так
как нарисовано на схеме «Крохи» чаще всего - её внутренняя организация так позволяет.
Понятно, что 6264 так включать совершенно не требуется... :wink:


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

_________________
iLavr


07 Sep 2017 06:59
Profile
Doomed
User avatar

Joined: 05 Nov 2007 05:08
Posts: 487
Location: Украина
Reply with quote
Lavr wrote:
При обычной выборке - сначала /CS, а потом - /ОЕ, который есть /RD от процессора,
она может поймать "тиристорный эффект" и подохнуть сама

я ставил РУ10 параллельно РФ2 в спеце (до 8 штук), ОЕ заводил как раз с чтения, а CS - с ИД4, здыхания не отмечал... может, у меня были клёвые РУ10? раз как-то погорели, конечно, когда провод питания упал на плату, ну там и КП2 повыгорали и еще чево-то, уже не помню 8)


07 Sep 2017 07:18
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
shoorick wrote:
я ставил РУ10 параллельно РФ2 в спеце (до 8 штук), ОЕ заводил как раз с чтения, а CS - с ИД4, здыхания не отмечал...

Я тоже слышал такое мнение и не только от тебя... но то, что я процитировал - пишут про РУ10
в справочной литературе.
А вобще мне это напоминает следующий диалог:

- Сифилис, если его не лечить, приводит к летальному исходу.
- А у меня был сифилис, так мне его вылечили за 5 уколов!
:wink:

А ещё анекдот:
- Береженного - Бог бережет! Говаривала одна монашка в келье, надевая презерватив на свечку...

Это я к чему? Да у меня тоже есть РУ10 и я ни одной не сжег... но если мы глянем в схему ЮТ-88,
то РУ10 там включены так же, как и в «Крохе».
И если люди пишут, что РУ10 горят, особенно в АОН-ах, где /CS, бывало, намертво вешали на землю,
значит факт этот имеет место быть? Никто же не пишет такое про ту же 6264 ?

_________________
iLavr


07 Sep 2017 09:34
Profile
Doomed
User avatar

Joined: 05 Nov 2007 05:08
Posts: 487
Location: Украина
Reply with quote
не знаю... аоностроение прошло мимо меня :roll:
возможно, эти красивые былины возникли на почве замены РУ8 на РУ10 и наоборот?
так были подключены РФ2 в моем спеце, я из-за этого у Ру10 две ноги отгибал вверх и паял крестики из проволочек :D


07 Sep 2017 11:17
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
shoorick wrote:
не знаю... аоностроение прошло мимо меня :roll:

А жаль... там было мнооооого интересного и зогадошного помимо РУ10...
Если что-то прошло мимо тебя, то это не значит, что такого не было.
Я вот, к примеру, сифилисом не болел, но это же не отменяет наличие КВД в стране... :mrgreen:

_________________
iLavr


07 Sep 2017 12:16
Profile
Doomed

Joined: 12 Feb 2016 13:39
Posts: 463
Reply with quote
rw6hrm wrote:
...извиняюсь, конечно, но что требуется перелопатить в дисплейной части схемы, чтобы выводить не 48 символов в ширину, а нормальные 80х25? Хочется доделать свою машинку под СР/М, а делать видеовывод на Атмеге328 ну как-то некошерно (хотя возможностей получается на два порядка больше, в основном из-за переноса части вычислительных функций с основного процессора на видео)...

переделать просто не получится, а как Вы представляете эти 80х25? организация памяти линейная? или с некими пропусками для шага кратного степени двойки? поддержка курсора будет? цвет символа и\или фона? от всего этого сильно аппаратная часть меняться будет, за увеличение частоты пиксельклока и формирование КСИ и ССИ уже сказали, с этим все понятно...
и в довесок, с внешним миром как общаться, по RS232? клавиатура своя или только отображение символов?

вообще все это уже выходит за пределы обсуждения 'Крохи' и надо вынести в отдельную тему...


07 Sep 2017 12:41
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
rw6hrm wrote:
Тем более, что с Атмегой уже всё готово, но это другая история...

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

_________________
iLavr


07 Sep 2017 14:16
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
В общем, с пинками, костылями, матюками, подпорками и танцами с бубном «Кроха» у
меня тоже заработала... :wink:
Решил выяснить структуру её видео-ОЗУ. Под видео-ОЗУ у «Крохи» отведено 2048 байт
ОЗУ по адресам 0E800-0EFFFH.
Чтобы осталось памяти для стека и переменных программы в ПЗУ-картридже, видео-буфер
ограничивают 25-ю строками по 48 позиций в строке - это 48х25=1600 байт.
Но в принципе видеоадаптер «Крохи» способен показать все 32 строки по 48 позиций в строке.
(строки - символьные, а не графические).
Лишнее прячут гасящими импульсами развертки.

Написал тест, заполняющий всё видео-ОЗУ у «Крохи» символами от 20Н - это пробел, до 7FH.
В закогенераторе «Крохи» символов в нижнем регистре нет - только заглавные.

На скриншоте серым цветом - то, что выдает «Кроха» при заполнении видео-ОЗУ.
Зелёным цветом я на левое слишком длинное гасящее поле в графредакторе прилепил
знакогенератор «Крохи», который посмотрел через эмулятор «Специалиста».
Attachment:
KroxaScr.gif
KroxaScr.gif [ 14.79 KiB | Viewed 9296 times ]

Организация экрана довольно странная - всё что выводится с 0E800 - находитсяв самом
правом столбце, а потом изображение переходит в крайний левый столбец и далее - по
столбцам идёт подряд.

Через «Специалист» также немного почитал код программы из ПЗУ. Смутила установка стека:
LXI SP,Е9Е0
Стек линейно увеличивается вниз, но от Е9Е0 до верха видео-ОЗУ 0EFFFH не набирается этих
самых даже 48х25=1600 байт по минимуму! :o

Под Windows 7 оба драйвера дисплея не работают, причем тот, что поновее при долгом ожидании
видео-чуда таки может наглухо завесить систему. Под Вендой 98 - работают нормально.

_________________
iLavr


10 Sep 2017 21:39
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Lavr wrote:
Организация экрана довольно странная - всё что выводится с 0E800 - находитсяв самом
правом столбце, а потом изображение переходит в крайний левый столбец и далее - по
столбцам идёт подряд.

Из этого теста стало понятно, что на экране память организована столбцами по 32 символа,
нумерация символов идет сверху вниз линейно 0-31, переход в другой столбец.. и т.д.

Теперь я усложнил тест, чтобы понять, как расположены сами столбцы по отношению к
геометрии экрана и адресам памяти. Я выводил столбцами по 32 числа 0,1,2,3 ... D,E,F.
Получилось вот что:
Attachment:
K_Test2.gif
K_Test2.gif [ 12.69 KiB | Viewed 9264 times ]

Действительно, столбец "0" с адреса Е800 находится справа, потом пропадают столбцы с
номерами "1" ... "F", и первый видимый столбец - снова "0".
Я дорисовал влево и вправо недостающие столбцы (они скрыты обратным ходом TV-развертки),
и получилась карта памяти видео-ОЗУ "Крохи":
Attachment:
K_V-RAM.gif
K_V-RAM.gif [ 19.11 KiB | Viewed 9264 times ]

Реально выводимая на экран область ОЗУ начинается с 0EA00H и по 0EFFFH.
Нижние 7 символов каждого столбца маскирует Кадровый гасящий импульс.
Интервал 0Е800-Е9FFH приходится на строчный гасящий импульс и является
доступным ОЗУ пользователя, т.к. не отображается на дисплее. Там же расположен
и стек, как видно, адресом 0E9E0H начинается первый столбец до области, отобра-
жаемой на дисплее.

Несложный подсчет показывает, что вроде я нигде не ошибся: на интервал строки у "Крохи",
как и у "Специалиста", приходится 64 столбца (или байта). Из них 16 столбцов (байт) приходятся
на интервал гашения. На экране видимы оставшиеся 48 столбцов по 32 символа, из которых
7 символов гасятся по кадру и остается - 25 строк.

_________________
iLavr


11 Sep 2017 13:56
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 45 posts ]  Go to page Previous  1, 2, 3

Who is online

Users browsing this forum: No registered users and 11 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.