yrabbit / BK8266

BK-0010-01 on ESP8266 emulator

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

БК-0010-01

Эмулятор БК-0010-01 на ESP8266
Сделан на основе эмулятора Радио-86РК на ESP8266 https://github.com/klad-me/RK8266

Железо

  • ESP8266 (с флэшкой), например ESP-01: эмулирует процессор и переферию БК, генерирует видеосигнал стандарта PAL, обрабатывает PS/2 клавиатуру.
  • 74HC00 (4 элемента 2И-НЕ): используется для генерации видео и синхроимульсов (там простая логика, описана в схеме).
В каталоге pcb/ESP-01-LUT есть проект для изготовления платы ЛУТом.

Исходники

Во всех исходниках кодировка КОИ8-Р.
Проект в стадии разработки.

Состав прошивки

Прошивка состоит из 4 частей:

  • soft/boot-2apps - загрузчик, который переключает между эмулятором и WiFi-прилоежнием.
  • soft/EmuAPP - сам эмулятор, работает без SDK полностью из IRAM.
  • soft/WiFiAPP - WiFi-приложение для обмена файлами с компьютером.
  • soft/WiFiAPP/httpfs - файловая система для HTTP-сервера.

Готовые сборки

Готовые сборки лежат в каталоге builds. Каждый файл имеет имя, соответствующее адресу для прошивки в флэш.
При прошивке не забывайте правильно указывать размер флэша.
Пока что все сборки под плату ESP-01-LUT.

Эмулятор К1801ВМ1

Эмулятор собственный.
Кое чего подсмотрено из эмулятора Юрия Калмыкова http://gid.pdp-11.ru
Пока не реализовано:

  • Прерывание по вектору 14 после выполнения каждой команды при установленном в PSW бите T (трассировка).

Переферия

  • Эмуляция графики только в Ч/Б режиме.
  • PS/2 клавиатура с автоматической перекодировкой русских букв и спец.символов
  • Реализован перехват обращения к функции чтения / записи на магнитную ленту. Загрузка / запись соответственно происходит из / во flash.
  • Звук от пищалки и моно Covox на порту 177714 выводится на GPIO14 в виде сигма-дельта модуляции (типа ШИМ). Так что на выходе нужно сделать фильтр (RC).
  • Реализована эмуляция таймера (регистры 177706, 177710, 177712).

Раскладка клавиатуры

Соответствие клавишам БК-0010-01:

  • любой Alt - АР2
  • любой Shift - Нижний регистр
  • любой Ctrl - СУ
  • Caps Lock - Переключение ЗАГЛ / СТР
  • левый Win - РУС
  • правый Win - ЛАТ
  • Pause - СТОП
  • F1 - ПОВТ
  • F2 - КТ
  • F3 - =|=>|
  • F4 - |<==
  • F5 - |==>
  • F6 - ИНД СУ
  • F7 - БЛОК РЕД
  • F8 - ШАГ
  • F9 - СБР
Клавиши джойстика:
  • Up - Вверх (разряд 0 порта)
  • Right - Вправо (разряд 2 порта)
  • Down - Вниз (разряд 3 порта)
  • Left - Влево (разряд 4 порта)
  • Пробел - Кнопка 1 (разряд 1 порта)
  • A - Кнопка 2 (разряд 5 порта)
  • S - Кнопка 3 (разряд 6 порта)
  • D - Кнопка 4 (разряд 7 порта)
  • F - Кнопка 5 (разряд 8 порта)
Клавиши эмулятора:
  • Scroll Lock - Переключение режима Турбо
  • Print Screen - выход в режим WiFi. Это временное решение. В дальнейшем планируется переходить в режим WiFi из меню по Esc
  • Esc - выход в меню эмулятора. В данный момент эта функция не реализована.
  • Num Lock - переключение клавиш в режим джойстика

About

BK-0010-01 on ESP8266 emulator

License:GNU General Public License v3.0


Languages

Language:C 87.6%Language:C++ 8.0%Language:Makefile 2.0%Language:HTML 1.2%Language:Assembly 1.0%Language:Shell 0.2%Language:CSS 0.0%