Набор разработки УМПК-80 (Эмулятор и транслятор)

8-битные микроконтроллеры и микропроцессоры от Intel и их клоны, а также компьютеры на них построенные

Moderator: Shaos

GalaxyShad
Junior
Posts: 6
Joined: 26 Apr 2025 13:19

Набор разработки УМПК-80 (Эмулятор и транслятор)

Post by GalaxyShad »

Всем привет! Делал в рамках дипломной работы набор разработки на базе КР590ВМ80А - УМПК-80
У нас в университете были лабораторные работы на стендах УМПК-80, но работы с ним имела ряд проблем
  • Ограниченный физически доступ к стенду. Студенты не могут отлаживать программы дома.
  • Перезагрузка стенда из-за случайного замыкания со сбросом всех введенных в ОЗУ программ.
  • Трудности в работе со стендом из-за устаревания электронных компонентов, дребезг клавиш, тусклых семисегментных индикаторов.
  • Трудности в отладке написанного программного кода.
  • Долгий процесс составления отчета из-за сопоставления мнемоник команд и их байтового представления.
  • Невозможность проведения дисциплин в дистанционном формате в СурГУ.
В связи с этим решил разработать ряд инструментов:
  • Компонент эмулятора стенда «УМПК-80-Core» - программный продукт, а также внешний программный интерфейс полной эмуляции работы стенда.
  • Компонент транслятора ASM «Some-I8080-ASM-Translator» - консольное приложение для преобразования ассемблерного кода КР580ВМ80А в машинный, а также автоматически генерирующее листинг в различные форматы.
  • Компонент «Лабораторный стенд УМПК-80-VE» - собственная печатная плата, использующая современные электронные компоненты по функционалу полностью повторяющая оригинальный УМПК-80, функционирующая благодаря «УМПК-80- Core» (п. 1).
  • Компонент «UMPK-80-IDE» - IDE, объединяющая компоненты эмулятора (п. 1) и транслятора (п. 2) в одном приложении.
  • Компонент исходного кода прошивки стенда «Монитор DM80» – полный восстановленный дизассемблированный код прошивки с комментариями.
Image


https://youtu.be/tGa5co65u1s
GalaxyShad
Junior
Posts: 6
Joined: 26 Apr 2025 13:19

Re: Набор разработки УМПК-80 (Эмулятор и транслятор)

Post by GalaxyShad »

1 Компонент «УМПК-80-Core»

Image

Особенности:
• Полная эмуляция всей прошивки оригинального стенда и ее подпрограмм
• Полная эмуляция всех инструкций микропроцессора КР580ВМ80А, в том числе и недокументированных
• Эмуляция музыки и звуков
• Наличие дизассемблера
• Поддержка загрузки программ из бинарных форматов
• Кроссплатформенность
• Настраиваемое рабочее пространство, вкладки, настройка окон и их размера
Особенности архитектуры:
• Внешнее API, позволяющее интегрировать эмулятор в другие приложения
• Ядро эмуляции стенда написано полностью без зависимостей, даже от стандартной библиотеки, что позволяет облегчить сборку API под разные платформы
• Используется многопоточность, особое внимание уделено производительности

Стек технологий: C++, Intel 8080 ASM, ImGui, SFML, CMake
Видео: https://youtu.be/y5EJtHPTtjg
Репозиторий: https://github.com/GalaxyShad/UMPK-80-Emulator
GalaxyShad
Junior
Posts: 6
Joined: 26 Apr 2025 13:19

Re: Набор разработки УМПК-80 (Эмулятор и транслятор)

Post by GalaxyShad »

Компонент «Some-I8080-ASM-Translator»
Image
Особенности:
Автоматическая генерация отчетов – листингов в популярные форматы - .docx, .md, .bin, .txt
Почти полная реализация спецификации ассемблера INTEL 8080
Уникальные функции из современных языков программирования, такие как разделитель цифр (1_000_000)
Кроссплатформенность
Особенности архитектуры:
Транслятор оптимизирован под сложность O(n)
Соблюдаются принципы SOLID, KISS
Удобство расширения инструкций, достигнутое через рефлексию

Стек технологий: C#, .NET
Видео: https://youtu.be/SY4XkizdHL4
Репозиторий: https://github.com/GalaxyShad/Some-i8080-ASM-Translator
GalaxyShad
Junior
Posts: 6
Joined: 26 Apr 2025 13:19

Re: Набор разработки УМПК-80 (Эмулятор и транслятор)

Post by GalaxyShad »

3 Компонент «Лабораторный стенд УМПК-80-VE»
umpk1.png
umpk2.png
Особенности:
  • Универсальный порт USB-TYPE-C
  • Быстрый микроконтроллер ESP-32
  • Надежные механические переключатели Kalih Blue
  • Яркий OLED дисплей с информацией о состоянии стенда
  • Работа с периферийными устройствами повторяет оригинальный стенд
  • Использование API УМПК-80-Core
Стек технологий: C++, EasyEDA, PlatformIO, ESP32

Видео:


https://www.youtube.com/watch?v=xxZdv2KBrt4

Видео 2:


https://youtu.be/9HLPWjlUayc

Схема:
You do not have the required permissions to view the files attached to this post.
GalaxyShad
Junior
Posts: 6
Joined: 26 Apr 2025 13:19

Re: Набор разработки УМПК-80 (Эмулятор и транслятор)

Post by GalaxyShad »

4 Компонент «UMPK-80-IDE»
Image
Особенности:
• Функционирует за счет компонент «УМПК-80-Core» и «Some-I8080-ASM-Translator»
• Встроенный удобный редактор кода Monaco Editor (Такой же как в VSCode)
• Встроенная документация по всем инструкциям микропроцессора
• Настраиваемый интерфейс. Dock Layout
• Собственный, написанный с нуля, быстрый и виртуализированный компонент «Hex редактор» для отображения ПЗУ и ОЗУ
• Адаптивный интерфейс
• Удобные инструменты отладки
• Темная и светлая темы интерфейса

Стек технологий: Rust, Tauri, TypeScript, React, Zustand, Vite, Monaco Editor (VSCode редактор)
Видео: https://youtu.be/tGa5co65u1s
Репозиторий: https://github.com/GalaxyShad/UMPK80-IDE
GalaxyShad
Junior
Posts: 6
Joined: 26 Apr 2025 13:19

Re: Набор разработки УМПК-80 (Эмулятор и транслятор)

Post by GalaxyShad »

5 Листинг и бинарник с прошивкой "Монитор"

https://github.com/GalaxyShad/UMPK80-Monitor-System
User avatar
Shaos
Admin
Posts: 24185
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Набор разработки УМПК-80 (Эмулятор и транслятор)

Post by Shaos »

Всё одобрил

Картинки не все видны - лучше их прям сюда заливать (уменьшив до 1200 по ширине, если сильно широкие) - как например я выше сделал (плюс тэг youtube для видео)

P.S. И линки на облака лучше давать если это реально большой архив (десятки и сотни мегабайт), а если просто PDF-файл маленький, то лучше сюда же цеплять...
Я тут за главного - если что шлите мыло на me собака shaos точка net