User Tag List

Показано с 1 по 7 из 7

Тема: 8 оттенков серого, или ZX Spectrum48 за $3

Древовидный режим

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

    По умолчанию 8 оттенков серого, или ZX Spectrum48 за $3

    Вышла сегодня на Хабре статья с таким же названием.
    Прочитав статью Передача аналогового тв сигнала с помощью STM32 решил попробовать нарисовать телевизионный сигнал на дешевой китайской плате stm32f401ccu6 за $2.5 без дополнительного железа.

    Когда-то давным -давно году так 1988 досталась мне собранная плата ZX spectrum 48 ,без корпуса и клавиатуры. Клавиатуру собрал на герконовых кнопках, а вот телевизор был только черно-белый. И тут прочитав вышеупомянутую статью, решил , а не собрать ли мне черно-белый спекки. Починил подобранный когда то на помойке ч/б телевизор с экраном ЭЛТ в 5 дюймов и почитав спецификации на PAL/NTSC, взял китайскую платку stm32f401ccu6 с 64КB RAM ,256 Flash 84MHz 32bit processor.

    Генерация видео-сигнала:

    Specci нужно 256 пикселей по горизонтали. Добавим по 8 на рамку. Добавим обратный ход луча и синхро импульс получим около 400 точек на линию 64 мсек. Если берем первый таймер (TIM1) с частотой 84MHz то получим 13 отсчетов ШИМ на точку, то есть от нуля до двенадцати. Возьмем уровень черного 3, уровень белого 10 , а уровень синхроимпульса 1. И запускаем Circular double buffer DMA с высоким приоритетом и отрисовкой в прерывании.Четные и нечетные линии дублируются , то есть у нас реально есть 50 герц обновления экрана (выбран PAL). Скорость эмуляции спектрума задается другим таймером (TIM4), выводящим звук.

    Что не получилось:

    Два синхронных канала ШИМ на видео, для большего числа уровней серого. Они разваливаются, даже если на одном таймере, при работе USB.

    Реализация Спектрума 128. На платке есть место для флеша, так туда подходит и даже работает сериальный PSRAM (PSRAM64H 3.3V SOP8 64Mbit),но только в режиме 1Bit SPI из-за разводки на плате. Примерно вдвое медленней чем нужно для эмуляции.

    Телевизор подключен напрямую, но это нарушение спецификации уровня сигнала (3.3 вместо 1 вольта). По хорошему нужен делитель и ФНЧ.

    Видео получилось не очень, картинка реально лучше, но с тв сложно снимать:

    Исходный код

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

    andykarpov(17.10.2020), Djoni(17.10.2020), polikarpov76(17.10.2020), PVV(17.10.2020)

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

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

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

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

Похожие темы

  1. Помогите с неисправностью серого +2
    от Mair в разделе Зарубежные модели
    Ответов: 13
    Последнее: 22.03.2015, 11:10
  2. 16 градаций серого
    от ASDT в разделе Графика
    Ответов: 5
    Последнее: 21.12.2013, 19:40
  3. Проблема с изображением ZX Spectrum48
    от Vitali27 в разделе Изображение
    Ответов: 39
    Последнее: 22.09.2013, 16:52
  4. Хочу вместо серого черное (Ленинград)
    от Rodion в разделе Ленинград
    Ответов: 6
    Последнее: 25.06.2009, 14:23
  5. BMP с 4-мя градациями серого на Speccy
    от CityAceE в разделе Графика
    Ответов: 25
    Последнее: 20.04.2007, 14:37

Ваши права

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