nedoPC.org

Community of electronics hobbyists established in 2002

...
Atom Feed | View unanswered posts | View active topics It is currently 21 Nov 2018 10:09



Reply to topic  [ 65 posts ]  Go to page Previous  1, 2, 3, 4, 5  Next
Вывод текста 80x25 на экран ТВ с помощью SX28 
Author Message
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 17149
Location: Colorado
Reply with quote
Post 
Ещё один тест на вывод 16 символов:

Image

Тест сначала выводит нулевой байт (0x00), затем 6 раз 1 пиксел со сдвигом от правого края до левого (0x04,0x08,0x10,0x20,0x40,0x80), затем 5 раз 2 пиксела (0x0C,0x18,0x30,0x60,0xC0), ну и наконец 4 раза по 3 пиксела (0x1C,0x38,0x70,0xE0).

Вот тоже самое, но снятое фотоаппаратом с экрана моего большого ТВ (левый-верхний угол экрана):

Image

Влияние помех можно посмотреть вот по этому видеоролику (399K) - тотже левый-верхний угол экрана.

То что правая колонка знакоместа (шестой пиксел по счёту) выглядит тоньше остальных - нестрашно, т.к. предполагается использовать символы шириной только в 5 пикселов, т.е. шестой пиксел у знакоместа всегда будет чёрным.

_________________
:eugeek: https://twitter.com/Shaos1973


Last edited by Shaos on 26 Dec 2006 01:33, edited 1 time in total.



25 Dec 2006 22:57
Profile WWW
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 17149
Location: Colorado
Reply with quote
Post 
Если использовать знакогенератор через RETLW (храниение и возврат данных по пиковски), то не удаётся влезть в 35 тактов - пробую сделать генератор через DATA (чтение через IREAD - решение только для SX)

_________________
:eugeek: https://twitter.com/Shaos1973


27 Dec 2006 02:23
Profile WWW
God
User avatar

Joined: 03 Feb 2003 14:53
Posts: 1095
Reply with quote
Post 
Shaos wrote:
Если использовать знакогенератор через RETLW (храниение и возврат данных по пиковски), то не удаётся влезть в 35 тактов - пробую сделать генератор через DATA (чтение через IREAD - решение только для SX)

А сколько тактов получается?

_________________
Image
Формат конференции позволяет сказать то что я действительно думаю о проблемах...
(с) Путин


27 Dec 2006 04:31
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 17149
Location: Colorado
Reply with quote
Post 
cr0acker wrote:
Shaos wrote:
Если использовать знакогенератор через RETLW (храниение и возврат данных по пиковски), то не удаётся влезть в 35 тактов - пробую сделать генератор через DATA (чтение через IREAD - решение только для SX)

А сколько тактов получается?


Пока незнаю, но с RETLW точно больше, т.к. RETLW не возвращает за пределы страницы - возвращает RETP, но чтобы его подружить с последовтельностями RETLW надо добавить еще один вызов подпрограммы и возврат - а это ещё 6 тактов. Шесть тут, шесть там - вот и перескочили за допустимую границу...

_________________
:eugeek: https://twitter.com/Shaos1973


27 Dec 2006 08:09
Profile WWW
Novelist

Joined: 24 Aug 2006 03:14
Posts: 34
Location: pуcвoceмьнадцaть
Reply with quote
Post 
Shaos wrote:
В этом проекте всё черно-белое - те цветовые полосы что на картинке - это искажения в плате видеоввода...


Захватываешь через композит, а если через s-video ?!!!


27 Dec 2006 08:23
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 17149
Location: Colorado
Reply with quote
Post 
DDp wrote:
Shaos wrote:
В этом проекте всё черно-белое - те цветовые полосы что на картинке - это искажения в плате видеоввода...


Захватываешь через композит, а если через s-video ?!!!


S-Video по идее можно - я ведь только сигнал яркости могу генерировать, а цветность - не подключать

_________________
:eugeek: https://twitter.com/Shaos1973


27 Dec 2006 18:40
Profile WWW
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 17149
Location: Colorado
Reply with quote
Post 
Shaos wrote:
Взаимодействие с девайсом предпологается осуществлять по 10 сигналам (плюс земля): D0, D1, D2, D3, D4, D5, D6, D7, IFLAG, OFLAG (из них выходной только OFLAG, а все остальные - входы).

Внешнее устройство ждёт когда OFLAG=0, затем выводит в D0...D7 нужный код и взводит IFLAG=1, далее ждём когда OFLAG=1 и сбрасываем IFLAG=0. Пока не станет OFLAG=0 новый код засылать нельзя.

Двоичный код вида 000yyyyy задаёт текущую строку.
Двоичный код вида 1xxxxxxx задаёт текущий столбец.
Все остальные коды (в диапазоне 0x20...0x7F) считаются кодом выводимого символа.


В связи с тем что в чип удалось затолкать весь видимый диапазон букв включая псевдографику и русские буквы в альтернативной досовской кодировке (от 0x20 до 0xEF) - потребовался другой способ задания координаты текущего символа. Можно поробовать что-то более стандартное - например как в терминале VT52: PRINT CHR$(27)+"Y"+CHR$(32+Y)+CHR$(32+X).

_________________
:eugeek: https://twitter.com/Shaos1973


28 Dec 2006 04:00
Profile WWW
Senior

Joined: 09 Jun 2005 06:34
Posts: 113
Reply with quote
Post 
Shaos wrote:
Можно поробовать что-то более стандартное - например как в терминале VT52: PRINT CHR$(27)+"Y"+CHR$(32+Y)+CHR$(32+X).

Ух ты! Надо довести разработку до уровня полного клона VT-52. И сделать чтобы на цветных ТВ цвет был зеленый.
Возможно что я даже знаю кому можно продать некоторое количество данных девайсов. Только там должен быть тогда протокол WYSE.


28 Dec 2006 06:43
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 17149
Location: Colorado
Reply with quote
Post 
Sonic wrote:
Shaos wrote:
Можно поробовать что-то более стандартное - например как в терминале VT52: PRINT CHR$(27)+"Y"+CHR$(32+Y)+CHR$(32+X).

Ух ты! Надо довести разработку до уровня полного клона VT-52. И сделать чтобы на цветных ТВ цвет был зеленый.
Возможно что я даже знаю кому можно продать некоторое количество данных девайсов. Только там должен быть тогда протокол WYSE.


Не знаю что такое WYSE. Да и коммерческих применений не ищу - кому надо, тот разовъет до коммерческого использования ;)

_________________
:eugeek: https://twitter.com/Shaos1973


28 Dec 2006 11:33
Profile WWW
God
User avatar

Joined: 29 Dec 2003 02:00
Posts: 1115
Location: Москва
Reply with quote
Post 
Shaos wrote:
Не знаю что такое WYSE. Да и коммерческих применений не ищу - кому надо, тот разовъет до коммерческого использования ;)

Целеком поддерживаю.
Принцип NedoPC делать в свое удовольствие и класть на коммерцию!


28 Dec 2006 13:48
Profile ICQ WWW
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 17149
Location: Colorado
Reply with quote
Post 
Shaos wrote:
cr0acker wrote:
Shaos wrote:
Если использовать знакогенератор через RETLW (храниение и возврат данных по пиковски), то не удаётся влезть в 35 тактов - пробую сделать генератор через DATA (чтение через IREAD - решение только для SX)

А сколько тактов получается?


Пока незнаю, но с RETLW точно больше, т.к. RETLW не возвращает за пределы страницы - возвращает RETP, но чтобы его подружить с последовтельностями RETLW надо добавить еще один вызов подпрограммы и возврат - а это ещё 6 тактов. Шесть тут, шесть там - вот и перескочили за допустимую границу...


IREAD помог уложиться в отведённые 35 тактов на символ (до сих пор не могу понять почему не 36)

_________________
:eugeek: https://twitter.com/Shaos1973


28 Dec 2006 17:39
Profile WWW
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 17149
Location: Colorado
Reply with quote
Post 
Очередная закапченная картинка:

Image

Тоже самое снятое фотоаппаратом с экрана большого ТВ:

Image

Левый-верхний угол:

Image

Как можно видеть левый край символов "плывёт" и кое-где почти склеивается с правым краем предыдущих символов (несмотря на то что правее правой колонки каждого символа всегда есть ещё одна пустая чёрная колонка). Пока никак не могу это побороть - если начинаю двигать синхропосылку в делитель частоты влево или вправо относительно строба загрузки сдвигового регистра, то становится ещё хуже - исчезает либо полностью левый край, либо полностью правый край символов. Думаю пока можно считать допустимым то что получилось. Исходники как обычно - на CVS.

Теперь надо сделать возможность управления девайсом снаружи.

_________________
:eugeek: https://twitter.com/Shaos1973


28 Dec 2006 22:18
Profile WWW
Maniac

Joined: 01 Mar 2005 22:42
Posts: 230
Reply with quote
Post 
Shaos wrote:
IREAD помог уложиться в отведённые 35 тактов на символ (до сих пор не могу понять почему не 36)


Надеюсь, по завершению этой эпопеи стало понятно, что такие вещи не надо делать на МК =)

_________________
Du bist ein Spektrumist!


29 Dec 2006 00:52
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 17149
Location: Colorado
Reply with quote
Post 
lvd wrote:
Shaos wrote:
IREAD помог уложиться в отведённые 35 тактов на символ (до сих пор не могу понять почему не 36)


Надеюсь, по завершению этой эпопеи стало понятно, что такие вещи не надо делать на МК =)


Это скорее имеет место быть некоторая непредсказуемость (или неполная документированность) чипа SX-28 - в чистых пиках подобных "странностей" быть не должно, хоть они и медленнее.

_________________
:eugeek: https://twitter.com/Shaos1973


29 Dec 2006 11:26
Profile WWW
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 17149
Location: Colorado
Reply with quote
Post 
Наконец-то довёл до ума процедуры записи и чтения памяти - на этом скриншоте показано реальное содержимое видеопамяти (первых 2000 байтов двух-килобайтного срама), причём в первых трёх строках можно увидеть все закодированные в знакогенератор символы (записаны в видеопамять вначале работы программы микроконтроллера):

Image

А теперь на очереди управление снаружи - тестировать буду через LPT-порт своего PC под линуксом.
О результатах сообщу - как обычно со скриншотами ;)

_________________
:eugeek: https://twitter.com/Shaos1973


31 Dec 2006 00:56
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 65 posts ]  Go to page Previous  1, 2, 3, 4, 5  Next

Who is online

Users browsing this forum: No registered users and 2 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.