Аппаратный эмулятор Радио-86РК на ESP8266
Moderator: Shaos
-
- Writer
- Posts: 12
- Joined: 19 Mar 2021 18:47
Re: Аппаратный эмулятор Радио-86РК на ESP8266
Прочитал я все страницы темы и задался вопросом: неужто никто, включая автора не сделал толковое описание с нормальной схемой и пошаговой процедурой заливки прошивки для новичков? Дел то на час, а польза - большая
P.S. У меня всё прошилось и запустилось, но кои-8 в исходниках - это что-то с чем-то... И схема оставляет желать лучшего
P.S. У меня всё прошилось и запустилось, но кои-8 в исходниках - это что-то с чем-то... И схема оставляет желать лучшего
-
- Fanat
- Posts: 88
- Joined: 21 Feb 2017 06:54
- Location: Казань
Re: Аппаратный эмулятор Радио-86РК на ESP8266
А можно ли этот эмулятор запустить на ESP 32 ?
-
- Devil
- Posts: 798
- Joined: 04 Jan 2016 09:15
- Location: Russia, S.- Peterburg
Re: Аппаратный эмулятор Радио-86РК на ESP8266
Есть интересный проект ESP32 VGA с i8080 процессором и графической библиотекой.Damir wrote:А можно ли этот эмулятор запустить на ESP 32 ?
Демонстрация:Emulating Altair 8800 with FabGL (ESP32) - CP/M languages (BBC Basic, Nevada Basic, forth, lisp...)
Demo using FabGL Library (VGA Controller, PS/2 Keyboard Controller, Graphics Library, Sound Engine, Game Engine and ANSI/VT Terminal for the ESP32)
Используя эти прототипы можно сделать эмулятор "Радио-86РК"...
You do not have the required permissions to view the files attached to this post.
"Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)
-
- Devil
- Posts: 911
- Joined: 06 Oct 2006 03:17
- Location: г.Лянтор,Сургутского р-на,ХМАО
Re: Аппаратный эмулятор Радио-86РК на ESP8266
Уже сталкивался с таким. Похожий эмулятор только Специалиста у меня где-то лежит. Чёрно-белый выход, подключение PS/2 клавиатуры, загрузка файлов по Wi-Fi. Разработкик бросил проект на полпути.
-
- Devil
- Posts: 798
- Joined: 04 Jan 2016 09:15
- Location: Russia, S.- Peterburg
Re: Аппаратный эмулятор Радио-86РК на ESP8266
This is my 8080-Emulator (yet another 8080 Emulator) running on an ESP32
https://github.com/meinlebenswerk/YAE80 ... rduino.git
Выполнил сборку и старт. Проект успешно собрался:
Запуск и проверка производительности эмуляции выполнения кода i8080:
https://github.com/meinlebenswerk/YAE80 ... rduino.git
About
This is my 8080-Emulator (yet another 8080 Emulator) running on an ESP32. The Idea is to later have a webserver running on the second core, so it can stream the emulated game!
Code: Select all
$ tree -L 3
.
├── lib
│ ├── librom
│ │ └── invaders.h
│ ├── libyae8080
│ │ ├── yae8080.cpp
│ │ └── yae8080.h
│ └── readme.txt
├── platformio.ini
├── README.md
└── src
└── main.cpp
Code: Select all
Retrieving maximum program size .pio/build/esp32dev/firmware.elf
Checking size .pio/build/esp32dev/firmware.elf
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM: [ ] 4.1% (used 13504 bytes from 327680 bytes)
Flash: [== ] 16.9% (used 221890 bytes from 1310720 bytes)
Code: Select all
--- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
Free Heap:: [310528]bytes
cycletime: [0.245350]us, -> max emulation frequency: [4.0758] MHz
Free Heap:: [310528]bytes
cycletime: [0.244960]us, -> max emulation frequency: [4.0823] MHz
Free Heap:: [310528]bytes
cycletime: [0.245100]us, -> max emulation frequency: [4.0800] MHz
"Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)
-
- Devil
- Posts: 798
- Joined: 04 Jan 2016 09:15
- Location: Russia, S.- Peterburg
Re: Аппаратный эмулятор Радио-86РК на ESP8266
Эмулятор Радио-86РК на ESP8266
Оригинальный проект: - https://github.com/klad-me/RK8266
Схема: - https://easyeda.com/UN7FGO/RADIO_86RK_ESP8266
В проекте есть документация: - https://github.com/klad-me/RK8266
зашёл в каталог './RK8266/soft/EmuAPP' и собрал проект для esp8266:
В скрипте 'boot.sh'
Есть фрагмент для прошивки esp8266:
Автор проекта выполнил большую работу. Проект в Linux Ubuntu 20.04 успешно собрался.
P.S.
Для ESP32 можно исходные файлы проекта перенести в YAE8080_ESP32 (This is my 8080-Emulator (yet another 8080 Emulator) running on an ESP32).
Оригинальный проект: - https://github.com/klad-me/RK8266
Схема: - https://easyeda.com/UN7FGO/RADIO_86RK_ESP8266
В проекте есть документация: - https://github.com/klad-me/RK8266
зашёл в каталог './RK8266/soft/EmuAPP' и собрал проект для esp8266:
Code: Select all
>$ make
...
Making emu.bin...
esptool.py v3.1
Creating image for ESP8266...
Merged 1 ELF section
Есть фрагмент для прошивки esp8266:
Code: Select all
/home/heavy/KLAD/x-tools/esp8266/xtensa-lx106-elf/bin/esptool.py \
--port /dev/ttyUSB0 \
write_flash \
--flash_size 8m \
--flash_freq 20m \
--flash_mode dio \
0x00000 boot-2apps/out/boot.bin \
0x01000 EmuAPP/out/emu-0x00000.bin \
0x10000 WiFiAPP/out/wifi.1.bin \
0x50000 help/help.bin \
0x70000 WiFiAPP/httpfs/httpfs.bin \
P.S.
Для ESP32 можно исходные файлы проекта перенести в YAE8080_ESP32 (This is my 8080-Emulator (yet another 8080 Emulator) running on an ESP32).
You do not have the required permissions to view the files attached to this post.
"Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)
-
- Fanat
- Posts: 88
- Joined: 21 Feb 2017 06:54
- Location: Казань
Re: Аппаратный эмулятор Радио-86РК на ESP8266
Это я все перепробовал. и ещё на STM32F407 на 4 " ЛСД повторил Спектрум. но это все спекки, а Радио 86РК нет.askfind wrote:Есть интересный проект ESP32 VGA с i8080 процессором и графической библиотекой.Damir wrote:А можно ли этот эмулятор запустить на ESP 32 ?
Используя эти прототипы можно сделать эмулятор "Радио-86РК"...Emulating Altair 8800 with FabGL (ESP32) - CP/M languages (BBC Basic, Nevada Basic, forth, lisp...)
Demo using FabGL Library (VGA Controller, PS/2 Keyboard Controller, Graphics Library, Sound Engine, Game Engine and ANSI/VT Terminal for the ESP32)
Хотя ЕСП 01 тоже уже заказал, может к концу апреля придут, придется осваивать его. Сам я не сильно программист, больше по железу,
могу на Ассемблере все, но вот в совремменных С++ не очень получается понять.
Давно хотел такое же для 86РК , ещё лучше было бы на ЛСД дисплее 3... 4 " . Тут я ещё увидел, что прошивку можно загружать по WiFi, а может и с
СД карты можно обновлять ? тогда можно было бы универсальный емулятор всех Ретро компов сделать, меняя прошивку на одном и том же процессоре (STM32 или ESP32) тем более половина модулей в них одна и та же.
Ещё на ЕСП есть эмулятор БК 010, тоже интересно. но программ на СД почти нет для него.
You do not have the required permissions to view the files attached to this post.
-
- Devil
- Posts: 798
- Joined: 04 Jan 2016 09:15
- Location: Russia, S.- Peterburg
Re: Аппаратный эмулятор Радио-86РК на ESP8266
Мой вердикт - использовать шаблон Arduino ESP32 DevKit и перенести исходные файлы проект от esp8266 РК-86.Damir wrote:
Это я все перепробовал. и ещё на STM32F407 на 4 " ЛСД повторил Спектрум. но это все спекки, а Радио 86РК нет.
Хотя ЕСП 01 тоже уже заказал, может к концу апреля придут, придется осваивать его. Сам я не сильно программист, больше по железу,
могу на Ассемблере все, но вот в совремменных С++ не очень получается понять.
Давно хотел такое же для 86РК , ещё лучше было бы на ЛСД дисплее 3... 4 " . Тут я ещё увидел, что прошивку можно загружать по WiFi, а может и с
СД карты можно обновлять ? тогда можно было бы универсальный емулятор всех Ретро компов сделать, меняя прошивку на одном и том же процессоре (STM32 или ESP32) тем более половина модулей в них одна и та же.
esp8266 - устаревший микроконтроллер. Лучше и проще ESP32!
"Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)
-
- Fanat
- Posts: 88
- Joined: 21 Feb 2017 06:54
- Location: Казань
Re: Аппаратный эмулятор Радио-86РК на ESP8266
А можно про прошивку есп8266 поподробнее !В скрипте 'boot.sh'
Есть фрагмент для прошивки esp8266:
если придет ЕСП 01 , мне придется с эти разбираться, и пока не очень понятно ... немного похоже на прошивку ЕСП32 ?
у меня есть ESP-IDF 4/4 CMD, можно ли его использовать.
а программы автора в чем собирать ( есть VSC Platformio)?
не совсем пока понял, как прошивать bin файлы , у автора их 15 папок, в каждой по 3 - 4 файла , с адресом прошивки ...
надо только из 1 папки прошивать или их все ? там ещё есть fota.bin - его по каким адресам ?
-
- Devil
- Posts: 798
- Joined: 04 Jan 2016 09:15
- Location: Russia, S.- Peterburg
Re: Аппаратный эмулятор Радио-86РК на ESP8266
Версии прошивок здесь -Damir wrote:
не совсем пока понял, как прошивать bin файлы , у автора их 15 папок, в каждой по 3 - 4 файла , с адресом прошивки ...
надо только из 1 папки прошивать или их все ? там ещё есть fota.bin - его по каким адресам ?
https://github.com/klad-me/RK8266/tree/master/builds
Бинарные файлы и адреса во flash esp8266 из txt-файла https://github.com/klad-me/RK8266/blob/ ... layout.txt в проекте :
Code: Select all
Адрес Размер Описание
0x00000 4k Загрузчик
0x01000 60k Эмулятор
0x10000 256k Приложение для WiFi
0x50000 64k Справка
0x60000 64k Буфер для записи на магнитофон
0x70000 48k Файловая система для HTTP-сервера
0x7C000 16k Системная область SDK
0x80000 до конца Flash-диск
Code: Select all
./esp8266/xtensa-lx106-elf/bin/esptool.py \
--port /dev/ttyUSB0 \
write_flash \
--flash_size 8m \
--flash_freq 20m \
--flash_mode dio \
0x00000 boot-2apps/out/boot.bin \
0x01000 EmuAPP/out/emu-0x00000.bin \
0x10000 WiFiAPP/out/wifi.1.bin \
0x50000 help/help.bin \
0x70000 WiFiAPP/httpfs/httpfs.bin
"Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)
-
- Devil
- Posts: 798
- Joined: 04 Jan 2016 09:15
- Location: Russia, S.- Peterburg
Re: Аппаратный эмулятор Радио-86РК на ESP8266
Версии прошивок здесь -Damir wrote:
не совсем пока понял, как прошивать bin файлы , у автора их 15 папок, в каждой по 3 - 4 файла , с адресом прошивки ...
надо только из 1 папки прошивать или их все ? там ещё есть fota.bin - его по каким адресам ?
https://github.com/klad-me/RK8266/tree/master/builds
Бинарные файлы и адреса во flash esp8266 из txt-файла https://github.com/klad-me/RK8266/blob/ ... layout.txt в проекте :
Code: Select all
Адрес Размер Описание
0x00000 4k Загрузчик
0x01000 60k Эмулятор
0x10000 256k Приложение для WiFi
0x50000 64k Справка
0x60000 64k Буфер для записи на магнитофон
0x70000 48k Файловая система для HTTP-сервера
0x7C000 16k Системная область SDK
0x80000 до конца Flash-диск
Code: Select all
./esp8266/xtensa-lx106-elf/bin/esptool.py \
--port /dev/ttyUSB0 \
write_flash \
--flash_size 8m \
--flash_freq 20m \
--flash_mode dio \
0x00000 boot-2apps/out/boot.bin \
0x01000 EmuAPP/out/emu-0x00000.bin \
0x10000 WiFiAPP/out/wifi.1.bin \
0x50000 help/help.bin \
0x70000 WiFiAPP/httpfs/httpfs.bin
"Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)
-
- Fanat
- Posts: 88
- Joined: 21 Feb 2017 06:54
- Location: Казань
Re: Аппаратный эмулятор Радио-86РК на ESP8266
Cпасибо, стало понятно. Там оказывается тексты в кодировке другой, поэтому я ничего не видел.
а ещё про это можно обьяснить, как сделать :
а ещё про это можно обьяснить, как сделать :
использовать шаблон Arduino ESP32 DevKit и перенести исходные файлы проект от esp8266 РК-86.
-
- Devil
- Posts: 798
- Joined: 04 Jan 2016 09:15
- Location: Russia, S.- Peterburg
Re: Аппаратный эмулятор Радио-86РК на ESP8266
Это работа программиста. Неделю, другую необходимо заниматься проектом.Damir wrote:Cпасибо, стало понятно. Там оказывается тексты в кодировке другой, поэтому я ничего не видел.
а ещё про это можно обьяснить, как сделать :использовать шаблон Arduino ESP32 DevKit и перенести исходные файлы проект от esp8266 РК-86.
Вы предлагаете вместе сделать?
Пишите сообщение в личку. Готов в качестве консультанта-наставника стать для планирования и переноса файлов из esp8266.
"Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)
-
- Supreme God
- Posts: 16680
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: Аппаратный эмулятор Радио-86РК на ESP8266
Джентльмены, а подскажите мне, почему это называется "Аппаратный эмулятор" ?
Слежу за этой веткой... так на мой взгляд это - "программный эмулятор" на подходящем по скорости железе...
Где-то у нас была ветка типа "эмулятор Радио-86РК на PIC" и на Atmega вроде был проект,
так никто эти эмуляторы "аппаратными" не называл...

Слежу за этой веткой... так на мой взгляд это - "программный эмулятор" на подходящем по скорости железе...
Где-то у нас была ветка типа "эмулятор Радио-86РК на PIC" и на Atmega вроде был проект,
так никто эти эмуляторы "аппаратными" не называл...

iLavr
-
- Fanat
- Posts: 88
- Joined: 21 Feb 2017 06:54
- Location: Казань
Re: Аппаратный эмулятор Радио-86РК на ESP8266
Наконец и я собрал этот эмулятор Радио 86РК. За лето пришли 3 платки ESР8266, осенью закончились садово-огородные заботы и появилось время проверить платки в деле.
Сразу напишу что все платки - ESP-01, ESP-D1 mini, ESP Nodemcu на макете заработали без проблем. Прошиваются программкой ESPFlashDownloadTool_v3.4 . Самой удобной оказалась WEMOS D1mini, её я и использовал в дальнейшем. Получился компактный эмулятор со встроенным MicroUSB интерфейсом для програмирования и питания:
Элемент 2И-НЕ использовал КР1533ЛА3, она хорошо работает при напряжении питания 3,3 В.
(на макете попробовал 555ла3 - тоже работает при 3,3В.) Две клавиатуры PS/2, которые у меня есть, тоже замечательно работают при питании 3,3В. Ещё есть клавиатура USB - она тоже заработала через стандартный переходник. Потребляет эмулятор примерно 65ма, при включении Wi-Fi потребление возрастает до 95ма.
Прошивал для теста разные версии прошивок, все работают, кроме 23 сборки. Она у меня не пошла, работает до момента записи во флешку. Например запись на магнитофон - файл записывается, в каталоге появляется имя, при попытке чтения, иногда и раньше, все виснет и не работает совсем, приходиться аж заново прошивать контроллер. Я использовал 21 сборку, она работает стабильно, файлы на флешку записываются и читаются нормально, и из Монитора, и из Бейсика и из Редактора. Но есть недоработка при чтении длинных файлов более 2 К - буфер магнитофона налезает в область знакогенератора и портится экран - видно что что-то загрузилось, но прочитать ничего не возможно. Видимо все таки неправильно использовать области ПЗУ для записи блоков знакогенератора.
Запись на магнитофон происходит штатно по директиве «О,адрН,адрК». Чтение происходит следующим образом - по директиве «I», при нажатии на ВК ничего не происходит, надо нажать F5, зайти в файловый менеджер, выбрать «Магнитофонные записи» , из каталога выбрать нужный файл, и тогда он загружается блоками по указанному в заголовке файла адресу, выводит НачА, КонА, и КС. Примерно то же самое надо проделать и при загрузке файлов в Бейсике и Редакторе. Если с ПК поместить в каталог .bin файл без заголовка- то эмулятор показывает, что грузит, пересчитывает на экране блоки, но куда загрузилось и как найти данные неизвестно. Утилиты, Игры и Программы грузятся и стартуют нормально. ещё в эмуляторе есть возможность скачать образ файловой системы, но у меня ни разу не получилось это, пишет, что осталось до конца загрузки примерно 1 час. и ничего не происходит очень долго. Очень не хватает эмуляции директивы «R», можно выделить для неё из 3,5 Мб флешки 32 Кб и адресовать по адресам регистров директивы «R», и грузить в память. В неё можно будет грузить с ПК любые файлы и вводить в память РК по директиве «R».
ПС. Попробовал прошить представленные здесь прошивки «СПЕЦИАЛИСТа», ничего не пошло. выводить на экран фразу «ПРОГРАММА», при нажатии на Ф7 начинает мигать курсор и все, далее ничего не происходит. Но зато работает Wi-Fi, при нажатии на Ф12 идет на страничку поиска Wi-Fi сети. Жаль, если довести до уровня эмулятора РК86, хорошая была бы штука.
Сразу напишу что все платки - ESP-01, ESP-D1 mini, ESP Nodemcu на макете заработали без проблем. Прошиваются программкой ESPFlashDownloadTool_v3.4 . Самой удобной оказалась WEMOS D1mini, её я и использовал в дальнейшем. Получился компактный эмулятор со встроенным MicroUSB интерфейсом для програмирования и питания:
Элемент 2И-НЕ использовал КР1533ЛА3, она хорошо работает при напряжении питания 3,3 В.
(на макете попробовал 555ла3 - тоже работает при 3,3В.) Две клавиатуры PS/2, которые у меня есть, тоже замечательно работают при питании 3,3В. Ещё есть клавиатура USB - она тоже заработала через стандартный переходник. Потребляет эмулятор примерно 65ма, при включении Wi-Fi потребление возрастает до 95ма.
Прошивал для теста разные версии прошивок, все работают, кроме 23 сборки. Она у меня не пошла, работает до момента записи во флешку. Например запись на магнитофон - файл записывается, в каталоге появляется имя, при попытке чтения, иногда и раньше, все виснет и не работает совсем, приходиться аж заново прошивать контроллер. Я использовал 21 сборку, она работает стабильно, файлы на флешку записываются и читаются нормально, и из Монитора, и из Бейсика и из Редактора. Но есть недоработка при чтении длинных файлов более 2 К - буфер магнитофона налезает в область знакогенератора и портится экран - видно что что-то загрузилось, но прочитать ничего не возможно. Видимо все таки неправильно использовать области ПЗУ для записи блоков знакогенератора.
Запись на магнитофон происходит штатно по директиве «О,адрН,адрК». Чтение происходит следующим образом - по директиве «I», при нажатии на ВК ничего не происходит, надо нажать F5, зайти в файловый менеджер, выбрать «Магнитофонные записи» , из каталога выбрать нужный файл, и тогда он загружается блоками по указанному в заголовке файла адресу, выводит НачА, КонА, и КС. Примерно то же самое надо проделать и при загрузке файлов в Бейсике и Редакторе. Если с ПК поместить в каталог .bin файл без заголовка- то эмулятор показывает, что грузит, пересчитывает на экране блоки, но куда загрузилось и как найти данные неизвестно. Утилиты, Игры и Программы грузятся и стартуют нормально. ещё в эмуляторе есть возможность скачать образ файловой системы, но у меня ни разу не получилось это, пишет, что осталось до конца загрузки примерно 1 час. и ничего не происходит очень долго. Очень не хватает эмуляции директивы «R», можно выделить для неё из 3,5 Мб флешки 32 Кб и адресовать по адресам регистров директивы «R», и грузить в память. В неё можно будет грузить с ПК любые файлы и вводить в память РК по директиве «R».
ПС. Попробовал прошить представленные здесь прошивки «СПЕЦИАЛИСТа», ничего не пошло. выводить на экран фразу «ПРОГРАММА», при нажатии на Ф7 начинает мигать курсор и все, далее ничего не происходит. Но зато работает Wi-Fi, при нажатии на Ф12 идет на страничку поиска Wi-Fi сети. Жаль, если довести до уровня эмулятора РК86, хорошая была бы штука.
You do not have the required permissions to view the files attached to this post.