User Tag List

Страница 1 из 4 1234 ПоследняяПоследняя
Показано с 1 по 10 из 40

Тема: От чёрного к белому (схема, код)

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    08.12.2023
    Адрес
    г. Жуковский
    Сообщений
    282
    Спасибо Благодарностей отдано 
    53
    Спасибо Благодарностей получено 
    147
    Поблагодарили
    45 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию От чёрного к белому (схема, код)

    Приветики!

    Хочу поделиться с вами схемой, которая добавляет РК градации серого цвета.

    Поскольку в РК ширина символа составляет 6 точек, остаётся два неиспользуемых бита. Эти биты подходят для реализации схемы градаций серого. В левом нижнем углу таблицы символов видно, как заполняются эти биты. В символе каждая линия может иметь свою градацию серого.



    Подсвеченная таким образом псевдографика сохраняет быстрые функции по вычислению прозрачности и наложения символов друг на друга. Верхняя часть знакогенератора стандартная, но с подсветкой фона у цифр. Вот, как это выглядит на реале через не очень хорошую карту захвата:



    Младший бит приглушает яркость пикселей, старший бит повышает яркость фона. Принцип, как на Спектруме, на одно знакоместо две яркости для чернил, две яркости для бумаги. Тем не менее, имея две дополнительных яркости можно рисовать различимые портреты для разрешения 128х64.



    Конвертер картинок: https://vtub.me/86rk/grayscale.html - забирайте на свои сайты, это временный адрес.

    Но картинки - не самая сильная сторона схемы, схема создавалась для улучшения графики в играх. Я точно буду писать под неё всякое.

    Схема очень простая, в этом заключается её сильная сторона. Я смог собрать всё воедино не имея даже программатора, с аскетичным набором инструментов. Вместо ОЗУ в РК Киселёва втыкал энергонезависимую память DS1244Y, загружал шрифт с магнитофона, потом через переходник втыкал её вместо ПЗУ шрифта.



    В разработке активно помогали Барсик, Ведущий Специалист и Руслан Аликберов. Буду рад тестам, предложениям и дополнениям!
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	sh1.jpg 
Просмотров:	723 
Размер:	40.2 Кб 
ID:	80936   Нажмите на изображение для увеличения. 

Название:	sh2.jpg 
Просмотров:	706 
Размер:	31.4 Кб 
ID:	80938   Нажмите на изображение для увеличения. 

Название:	pixeltron_3.jpg 
Просмотров:	757 
Размер:	94.8 Кб 
ID:	80934   Нажмите на изображение для увеличения. 

Название:	86RK_Grayscale.jpg 
Просмотров:	738 
Размер:	47.8 Кб 
ID:	80935  
    Вложения Вложения
    Последний раз редактировалось Hammer; 27.06.2024 в 20:43.

    Эти 9 пользователя(ей) поблагодарили Hammer за это полезное сообщение:

    Alex_LG(11.07.2024), Alikberov(06.07.2024), ALS(06.07.2024), CodeMaster(27.06.2024), Oleg N. Cher(29.06.2024), Pluto(01.07.2024), Pyk(14.10.2024), Shaos(03.07.2024), tnt23(04.07.2024)

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2

    Регистрация
    18.09.2008
    Адрес
    Донецкая обл.
    Сообщений
    95
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    39
    Поблагодарили
    17 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Каким образом переключаете половинки знакогенератора?

  4. #3

    Регистрация
    08.12.2023
    Адрес
    г. Жуковский
    Сообщений
    282
    Спасибо Благодарностей отдано 
    53
    Спасибо Благодарностей получено 
    147
    Поблагодарили
    45 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    У меня на РК Киселёва знакогенератор переключается атрибутом GPA0. В других схемах видел аналогичное переключение.

  5. #4

    Регистрация
    08.12.2023
    Адрес
    г. Жуковский
    Сообщений
    282
    Спасибо Благодарностей отдано 
    53
    Спасибо Благодарностей получено 
    147
    Поблагодарили
    45 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Собрал схему на втором РК, уже с нормальным ПЗУ. Запустилась сразу, даже резисторы подбирать не пришлось. Шрифт изменил по результатам различных тестов на своих программах. Исправил ошибку в конвертере картинок.





    pixeltron_3_1.zip
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	pixeltron_31.jpg 
Просмотров:	598 
Размер:	97.1 Кб 
ID:	81122   Нажмите на изображение для увеличения. 

Название:	photo_2024-08-11_21-14-15.jpg 
Просмотров:	598 
Размер:	6.1 Кб 
ID:	81123  

  6. #5

    Регистрация
    08.12.2023
    Адрес
    г. Жуковский
    Сообщений
    282
    Спасибо Благодарностей отдано 
    53
    Спасибо Благодарностей получено 
    147
    Поблагодарили
    45 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Понемногу изучаю получившуюся железку и набор символов:

    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	photo_2024-08-29_21-12-34.jpg 
Просмотров:	535 
Размер:	23.9 Кб 
ID:	81181  

    Этот пользователь поблагодарил Hammer за это полезное сообщение:

    CodeMaster(30.08.2024)

  7. #6

    Регистрация
    30.07.2013
    Адрес
    г. Запорожье, Украина
    Сообщений
    964
    Спасибо Благодарностей отдано 
    83
    Спасибо Благодарностей получено 
    138
    Поблагодарили
    75 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Что за "РК Киселёва"?

    Если использовать биты 6 и 7 не просто как яркость "чернил" и "бумаги", а использовать как градации яркости пикселя, то получим 4-ре градации белого + черный:

    В связке с теневым знакогенератором на ОЗУ https://zx-pk.ru/threads/20714-pomec...l=1#post713206 (схему растащили в новоделы и, изменив немного элементную базу, выдают за свою идею ) можно делать неплохую "раскраску" игр.
    Последний раз редактировалось Alex_LG; 30.08.2024 в 18:17.

  8. #7

    Регистрация
    08.12.2023
    Адрес
    г. Жуковский
    Сообщений
    282
    Спасибо Благодарностей отдано 
    53
    Спасибо Благодарностей получено 
    147
    Поблагодарили
    45 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex_LG Посмотреть сообщение
    Что за "РК Киселёва"?
    https://github.com/skiselev/radio-86rk

    Цитата Сообщение от Alex_LG Посмотреть сообщение
    Если использовать биты 6 и 7 не просто как яркость "чернил" и "бумаги", а использовать как градации яркости пикселя, то получим 4ре градации
    Я так изначально и сделал, но сразу же отказался от этой идеи т.к. в этом случае в знакоместе нельзя использовать одновременно две градации серого. Можно серый и черный. Из-за этого те же самые портреты уже не нарисовать. Либо придётся делать знакогенератор со всеми вариантами серого. От этой идеи я тоже отказался из-за "дороговизны" вычислений. Ну и я в далёком прошлом спектрумист, клэшингом меня не напугать.

    В результате получился удобный для программирования ЗГ, очень простая схема, которая вполне могла появиться ещё на этапе разработки самого РК.

    Про вашу схему:



    Этой схеме всё равно нужен либо триггер, либо регистр, иначе "серить" будет не текущее знакоместо, а предыдущее. А значит уже надо будет два корпуса. Схема получится более громоздкая.

    Цитата Сообщение от Alex_LG Посмотреть сообщение
    В связке с теневым знакогенератором на ОЗУ можно делать неплохую "раскраску" игр.
    Я реально прям жду некую плату, которую можно легко прикрутить к РК. Самым простым вариантом была бы двухпортовая память, у которой один порт стандартный, а второй I2C. Заливать данные по I2C через ВВ55 я научился, даже ардуиновые экраны можно использовать. Если интересно обсудить, вэлкам в группу по QR коду на картинке со схемой.

    Сложную схему не хочу, потому что многие полноцветные TFT экраны до сих пор имеют интерфейс i8080. Уж проще на них перейти, как на второй монитор.
    Последний раз редактировалось Hammer; 30.08.2024 в 20:45.

  9. #8

    Регистрация
    30.07.2013
    Адрес
    г. Запорожье, Украина
    Сообщений
    964
    Спасибо Благодарностей отдано 
    83
    Спасибо Благодарностей получено 
    138
    Поблагодарили
    75 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hammer Посмотреть сообщение
    Я так изначально и сделал, но сразу же отказался от этой идеи т.к. в этом случае в знакоместе нельзя использовать одновременно две градации серого. Можно серый и черный.
    Немного не понял. Почему нельзя в одном знакоместе использовать разные оттенки!? Можно задавать каждой строке в знакоместе свою градацию белого от 25% до 100%, черный - это отдельный цвет. Например, вот так будет в памяти записан квадрат с градациями от белого до черного по вертикали:
    Код:
    D7 D6    D5 D4 D3 D2 D1 D0
    
    0  0     1  1  1  1  1  1     - 100% белая полоса
    1  0     1  1  1  1  1  1     - 75% белая полоса
    1  0     1  1  1  1  1  1     - 75% белая полоса
    0  1     1  1  1  1  1  1     - 50% белая полоса
    0  1     1  1  1  1  1  1     - 50% белая полоса
    1  1     1  1  1  1  1  1     - 25% белая полоса
    1  1     1  1  1  1  1  1     - 25% белая полоса
    х  х     0  0  0  0  0  0     - черная полоса
    Конечно, если знакогенератор держать в ПЗУ, то нужно тысячи вариантов, а вот если вместо ПЗУ использовать ОЗУ, то проблем нет.


    Цитата Сообщение от Hammer Посмотреть сообщение
    Я реально прям жду некую плату, которую можно легко прикрутить к РК. Самым простым вариантом была бы двухпортовая память, у которой один порт стандартный, а второй I2C.
    Простая плата есть, ссылку на схему я дал, проще некуда, в самом РК практически ничего не переделывается - пару разрезов, всё остальное паяется сверху. Любую "некую плату", даже если делать по Вашему варианту (двухпортовая память и запись через ВВ55), все равно нужно как-то "прикрутить" вместо ПЗУ, а это нужно все равно паять...


    Цитата Сообщение от Hammer Посмотреть сообщение
    Этой схеме всё равно нужен либо триггер, либо регистр
    Не вопрос, триггер Вы уже поставили
    +1 корпус не сильно усложняет схему...

  10. #9

    Регистрация
    08.12.2023
    Адрес
    г. Жуковский
    Сообщений
    282
    Спасибо Благодарностей отдано 
    53
    Спасибо Благодарностей получено 
    147
    Поблагодарили
    45 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex_LG Посмотреть сообщение
    Немного не понял. Почему нельзя в одном знакоместе использовать разные оттенки!? Можно задавать каждой строке в знакоместе свою градацию белого от 25% до 100%, черный - это отдельный цвет.
    Цитата Сообщение от Alex_LG Посмотреть сообщение
    Конечно, если знакогенератор держать в ПЗУ, то нужно тысячи вариантов, а вот если вместо ПЗУ использовать ОЗУ, то проблем нет.
    Не получится поставить белый (или серый, или чёрный) псевдопиксельный квадратик в углах знакоместа, если фон будет отличаться от черного. А для картинок нужно обязательно иметь такую возможность. Т.е. количество оттенков больше, но разрешение падает.

    Цитата Сообщение от Alex_LG Посмотреть сообщение
    Простая плата есть, ссылку на схему я дал, проще некуда
    Я подожду когда (если) её можно будет купить в готовом виде. Я попробовал программируемый ЗГ на Пальмире - восторг, страшной силы вещь! Хочу, но самостоятельно собрать пока не готов. Было бы здорово, если бы плата втыкалась в панельку родного ПЗУ, так сразу можно от кучи проводов избавиться.

    Цитата Сообщение от Alex_LG Посмотреть сообщение
    +1 корпус не сильно усложняет схему...
    Для кого как. Я две РКшки на покупных платах спаял с огромным трудом. Не у всех есть скилл, время и нужные инструменты.
    Последний раз редактировалось Hammer; 30.08.2024 в 22:52.

  11. #10

    Регистрация
    08.12.2023
    Адрес
    г. Жуковский
    Сообщений
    282
    Спасибо Благодарностей отдано 
    53
    Спасибо Благодарностей получено 
    147
    Поблагодарили
    45 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex_LG Посмотреть сообщение
    Не вопрос, триггер Вы уже поставили
    +1 корпус не сильно усложняет схему...
    Нашёл предыдущую схему и хороший пример. Вот те же затемнения белого без мультиплексора и уже без запаздывания раскраски:



    Детализация падает из-за невозможности рисовать на фоне, отличном от черного:



    В итоге переделал на две яркости для чернил, и две яркости для бумаги. С программируемым ЗГ детализация картинок ещё возрастёт.
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	photo_2024-06-18_22-11-20.jpg 
Просмотров:	355 
Размер:	23.3 Кб 
ID:	81186   Нажмите на изображение для увеличения. 

Название:	photo_2024-06-19_20-21-47.jpg 
Просмотров:	352 
Размер:	22.2 Кб 
ID:	81187  
    Последний раз редактировалось Hammer; 31.08.2024 в 10:25.

Страница 1 из 4 1234 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ответов: 1
    Последнее: 06.04.2024, 18:39
  2. Фото Вектор 06 ц -черного цвета
    от Munh в разделе Вектор
    Ответов: 10
    Последнее: 19.10.2020, 10:58
  3. Ответов: 20
    Последнее: 16.01.2020, 15:19
  4. К вопросу о привязке уровня черного.
    от Cat_Alex/QRP в разделе Изображение
    Ответов: 3
    Последнее: 05.06.2017, 19:30
  5. Как выставить уровень чёрного?
    от Demige в разделе Изображение
    Ответов: 15
    Последнее: 13.03.2012, 15:16

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •