Значок ресурса

ZX_RGBI2VGA-HDMI GOTEK OSD — конвертер RGBI в VGA/HDMI с эмулятором дисковода GOTEK и интерфейсом OS

scheme.png


zx-rgbi-to-vga-hdmi_gotek-osd — это проект на базе Raspberry Pi Pico (и совместимых плат, таких как WaveShare RP2040-Zero), объединяющий:
  • Конвертер аналогового RGB в цифровой RGBI (на основе проекта RGBtoHDMI) с выводом на VGA и HDMI
  • Эмулятор дисковода GOTEK с прошивкой FlashFloppy и I2C OSD интерфейсом 40×4
  • Интерфейс PS/2 клавиатуры для управления ZX Spectrum (58-клавишная расширенная клавиатура) и навигации по меню OSD

Файлы для загрузки​

Название файла / ПапкаОписаниеGitHubYandex.Диск
hardware (папка)Аппаратная часть — схемы и файлы печатных платСсылка на GitHubСсылка на Яндекс.Диск
ZX_RGBI_TO_VGA_HDMI (папка)Прошивка и исходные коды для Raspberry Pi Pico (C/C++)Ссылка на GitHubСсылка на Яндекс.Диск
docs (папка)Документация (включая описание VGA таймингов)Ссылка на GitHubСсылка на Яндекс.Диск
images (папка)Фотографии (OSD, плат)Ссылка на GitHubСсылка на Яндекс.Диск
Скачать все файлыВсе файлы находятся в одном архивеСсылка на GitHubСсылка на Яндекс.Диск

Новые возможности и изменения​

Программное обеспечение​

  • Видеовыход:
    • Добавлены новые разрешения VGA: 800×600, 1024×768, 1280×1024
    • Внедрён эффект "scanline" на более высоких разрешениях
  • Настройка через последовательный терминал:
    • Текстовые меню
    • Предустановки частот для самосинхронизирующегося режима захвата (поддержка таймингов ZX Spectrum 48K/128K)
    • Регулировка в реальном времени задержки захвата, положения изображения, эффектов scanline и режимов буферизации
  • Оптимизация делителя тактовой частоты PIO — повышенная точность в режиме самосинхронизирующегося захвата
  • Тестовый/Приветственный экран — стилизован под ZX Spectrum 128K
  • Управление GOTEK — навигация по меню FlashFloppy с помощью PS/2 клавиатуры
Аппаратное обеспечение
  • Преобразование аналогового в цифровое: Преобразует аналоговый RGB в цифровой RGBI (на основе проекта RGBtoHDMI)
  • GOTEK OSD: Прошивка FlashFloppy с I2C OSD 40×4, поддержка VGA и HDMI
  • PS/2 клавиатура: Интерфейс для ZX Spectrum 58-клавишной расширенной клавиатуры с аналоговым коммутатором CH446Q в последовательном режиме

Удалённые функции​

  • Внешний источник тактового сигнала Z80 CLK

GOTEK — I2C OSD интерфейс​

Кратко: Подключите контакты GOTEK SDA и SCL к контактам Pico GP16/GP17 (GP26/GP27 для RP2040-Zero). Линии SDA и SCL должны быть подтянуты к 3.3В резисторами 4.7–10 кОм. Также поддерживается PS/2 клавиатура для управления OSD.

Реализовано на основе flashfloppy-osd 1.9 от Keir Fraser.

I2C коммуникация с хостом:
  1. Эмуляция контроллера HD44780 через I2C расширитель PCF8574. Поддерживаемый размер экрана: 20×4 символов.
  2. Поддержка расширенного протокола FF OSD с двунаправленной связью, до 40×4 символов.

Компиляция​

Используйте Visual Studio Code с расширением "Arduino Community Edition". Не используйте Arduino IDE — она использует другие SDK/библиотеки, что вызывает проблемы с синхронизацией захвата.
  • При компиляции для WaveShare RP2040-Zero добавьте #define WAVESHARE_RP2040_ZERO в g_config.h.
  • Выполните: Terminal/Run Task.../Build

Настройка RP Pico​

  1. Подключите компьютер к USB Raspberry Pi Pico (отключите линию +5V от ZX)
  2. Используйте Putty / Minicom для подключения к COM-порту RP Pico (скорость 9600 бод)
  3. Нажмите h для справки по меню

Подключение GOTEK/FlashFloppy OSD​

  • Проводка I2C OSD: 2 провода: SDA и SCL
  • Подключите выводы GOTEK SDA и SCL к пинам Pico GP16/GP17
  • Линии SDA и SCL должны быть подтянуты к VCC (3.3В) резисторами 4.7–10 кОм на стороне GOTEK или RGBI2VGA

Настройка GOTEK/FlashFloppy​

FF.CFG:
  • Для протокола FF OSD с поддержкой двух дисплеев (OLED+LCD):
    display-type=auto или display-type=oled-128x64 с osd-display-order=3,0, osd-columns=40 и display-off-secs=0-255 (по умолчанию 60)
  • Для протокола PCF8574 20×4 LCD:
    display-type=lcd-20x04 с display-order=3,0,2,1 и display-off-secs=0-255
Поддержка русских имён файлов — требуется модифицированная прошивка flashfloppy (flashfloppy-russian).

GOTEK/FlashFloppy OSD горячие клавиши​

КомбинацияФункция
CTRL+RIGHTВправо
CTRL+LEFTВлево
CTRL+UPВверх по директории
CTRL+DOWNВыбрать элемент

Специальные клавиши (PS/2)​

КлавишаФункция
F10PAUSE (Z80 BUSRQ/) — триггер
F11MAGIC (Z80 NMI/)
F12RESET (Z80 RST/)

Проводка специальных клавиш:
  • Вход CH446Q: контакт 5 — общий/GND
  • Выход CH446Q: контакт 15 — MAGIC, контакт 13 — RESET, контакт 11 — PAUSE

Ветки с дополнительными функциями​

  • Поддержка SetupGUI и доработки от Дмитрия Стародубцева (@cinsler78) — отдельная ветка
  • Выбираемые во время работы палитры HDMI — отдельная ветка (сохранение настроек не реализовано)

Полезные ссылки проекта:​

  • scheme.png
    scheme.png
    91.8 КБ · Просмотры: 14
Автор
Verter_bot
Просмотры
11
Первый выпуск
Последнее обновление

Оценки

0.00 звезд(ы) 0 оценок
Назад
Вверх