Важная информация

User Tag List

Страница 10 из 38 ПерваяПервая ... 67891011121314 ... ПоследняяПоследняя
Показано с 91 по 100 из 375

Тема: Аппаратный эмулятор Радио-86РК на ESP8266

  1. #91
    Member
    Регистрация
    04.03.2018
    Адрес
    г. Орёл
    Сообщений
    50
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    7
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от barsik Посмотреть сообщение
    Во-первых, написан ли свой блок эмуляции КР580 или использован чей-то чужой проверенный блок эмуляции 8080? Эмуляция на ассемблере только системы команд 8-ми разрядного процессора (в зависимости от близости процессоров) без учёта конвейера тормозит скорость прогона в 25-40 раз. Из-за конвейера эта величина в несколько раз ниже. При использовании оптимизирующего Си для процессора с кэшем (где операции с ОЗУ не тормознее, чем с регистрами) торможение лишь немного выше, чем на ассемблере. Потому в 8 МГЦ эмулируемого КР580 вполне верится. Но это только для эмуляции лишь процессора. А как же с экраном?
    Я использую эмулятор i8080 от begoon, на гитхабе указано. Современные RISC-процы крайне навороченные и сравнивать их производительность с тактами не совсем правильно. Та же xtensa, на которой работает ESP8266 многоконвеерная, т.е. разные конвееры занимаются выполнением различных операций паралельно. Еще и отдельный конвеер раскладывает задания. Т.ч. в зависимости даже от порядка выполняемого кода, он может выполняться быстрее или медленнее. К примеру, 1-я инструкция может помещать в память какое-то число, а 2-я инструкция может использовать эту же ячейку памяти. Так вот, без специальной команды синхронизации такое работать не будет, т.к. эти команды скорее всего будут выполняться параллельно на разных конвеерах, 1-й будет заниматься записью, второй - чтением, но при этом запись еще не будет завершена и вторая команда будет еще использовать старые данные. В общем там все сложно, просто так по тактам выполнения команды не подсчитаешь

    Цитата Сообщение от barsik Посмотреть сообщение
    Здесь видео делает сам процессор. При такте CPU в 80 МГЦ это возможно, но тогда для прогона программы КР580 остаётся только время долгого гашения луча во время обратного хода кадровой развёртки, что для РК составляет лишь 20% времени, отчего эффективное быстродействие падает в 5 раз. Т.е это принцип ZX80/ZX81.
    Проц работает на 160МГц, остальная переферия на 80МГц. Это разрешенный штатный максимум. Видео генерируется не совсем и программно. Программно генерируются буфера для каждой строки. Я делал профайлинг в реальном времени - генерация строки видео занимает порядка 6мкс процессорного времени. При длительности строки 64мкс - это менее 10% загрузки процессора. А при учете, что есть еще пустые строки и строки кадровой синхронизации, которые лежат готовые в ОЗУ и на их генерацию проц не тратится, то фактически это число уже 7-8%.
    Эти буфера выкидываются через DMA на выход I2S, что дает битовый поток на скорости 40 МБит. Сигнал синхронизации выдается по таймеру, для точности смешивается с видеоданными как раз с помощью 74HC00. Т.ч. на вывод графики тратится не так уж много ресурсов.

    Многие спрашивают про цветную графику. Дам развернутый ответ.
    Текущая аппаратная реализация цвет никаким образом получить не сможет, т.к. вывод графики 1-битный. Аппаратных интерфейсов для вывода цвета на ESP8266 нет (имеется в виду без дополнительной внешней логики).
    Что касается работы @cnlohr и вывода цвета через 3-й канал NTSC - я такого делать не буду, т.к. это не более, чем хак для конкретных случаев. К тому же качество графики отвратительное.
    У меня есть идея для отдельного цветового процессора, которому буду передавать только данные цветности, а он будет модулировать ЧБ-сигнал от ESP.

    Цитата Сообщение от barsik Посмотреть сообщение
    При этом возникает вопрос, а с какой реально скоростью прогоняется эмулируемая программа КР580 (или Z80)? Дотягивает ли до 3.5 МГЦ, чтобы хватило на ZX-Spectrum? Возможно хватит, т.к у ZX кадровый бланк длится дольше (38.5% периода кадра). Но даже если хватит, то есть сомнения, что получится качественно его эмулировать, ведь там всё основано на времянках и движения спрайтов делаются по прерываниям во время гашения луча.
    Если убрать вывод графики и оптимизировать HAL, то можно получить частоту эмуляции 10-12 МГц, думаю. Ресурсов хватает с запасом.

    Цитата Сообщение от barsik Посмотреть сообщение
    И ещё такой вопрос. Раз этот микроконтроллер дёшев и эмулирует КР580 быстрее, чем 2.5 МГЦ, то нельзя ли из него сделать скоростной микропроцессор КР580 работающий с тактом 8 МГЦ? Т.к есть 15 программируемых входов-выходов, то нельзя ли, добавив регистры для защёлок шины адреса, сделать дешёвый, но скоростной эквивалент КР580. Например, для турбирования Специалиста нужен КР580 на 4 МГЦ, т.е 8080-D, но он редкий и потому винтажный и очень дорогой.
    Его легко можно эмулировать на каком-нибудь STM32 в корпусе LQFP48 там и портов достаточно и флэша для эмуляции того же ПЗУ.


    Цитата Сообщение от barsik Посмотреть сообщение
    Проблемы со звуком, видимо, объясняют мои предположения о прогоне программы КР580 только во время бордюра. Если в РК86 звук хрипастый, лишь оттого, что за время вывода строки в 64 МКСЕК ПДП кратковременно рвёт прогон программы 5 раз, то тут прогон полностью пропадает на долгие 16.4 МСЕК, отчего звуки вообще невозможны (100% модуляция частотой 50 ГЦ со скважностью 5). По тем же причинам без гашения экрана, как и на реальном РК, не получится ввод с магнитофона.
    Со звуком как раз проблем нет никаких. Просто на ESP-01 нет свободных пинов. Я сделаю проект на чем-нибудь типа ESP-03 (у него портов побольше), тогда и звук будет.

    Цитата Сообщение от barsik Посмотреть сообщение
    Кстати, похоже, что на базе этого микроконтроллера можно сделать оцифровыватель ТВ-кадров с телевизора или с видеокамеры.
    Адекватного ничего не сделаешь, да и зачем ? USB-видеовход на Али стоит 300р.


    Информация для тех, кто хочет повторить этот проект.
    Чтобы не ждать, ESP-01 (как и 74HC00, разъемы, платы итд) можно купить на http://chip-nn.ru/
    У них они всегда в наличии и всего по 175р (на Али в районе 100р).

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

  3. #92
    Guru
    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,847
    Спасибо Благодарностей отдано 
    84
    Спасибо Благодарностей получено 
    229
    Поблагодарили
    167 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от heavy Посмотреть сообщение
    Эти буфера выкидываются через DMA на выход I2S, что дает битовый поток на скорости 40 МБит
    Пиксельклок обычно около 8-10МГц, так что если добавить сдвиговый регистр (ага, а потом ещё параллельный регистр и счётчик), то получим 4-5 бит на пиксель. Во время обратного хода можно использовать данные для звука, дискретизация 15КГц это очень даже неплохо. Но нужен ещё один регистр

  4. #93
    Member
    Регистрация
    25.11.2015
    Адрес
    г. Москва
    Сообщений
    192
    Спасибо Благодарностей отдано 
    12
    Спасибо Благодарностей получено 
    16
    Поблагодарили
    14 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от heavy Посмотреть сообщение
    Многие спрашивают про цветную графику. Дам развернутый ответ.
    Текущая аппаратная реализация цвет никаким образом получить не сможет, т.к. вывод графики 1-битный. Аппаратных интерфейсов для вывода цвета на ESP8266 нет (имеется в виду без дополнительной внешней логики).
    Что-то мне подсказывает, что у данной микросхемы есть QuadSPI или SDIO, который используется для загрузки программы из внешнего Flash в кеш-память, и ни на какие контакты больше не выведен. Если у данного контроллера есть возможность заморозки кеша или выполнения кода из ОЗУ, то в теории через QuadSPI вполне можно гнать 16 цветов на точку, а синхросигналы попробовать изобразить при помощи таймеров.

  5. #94
    Member
    Регистрация
    04.03.2018
    Адрес
    г. Орёл
    Сообщений
    50
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    7
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Сегодня закончил авантюру Собрал эмулятор Радио-86РК в корпусе клавиатуры
    Вечером или завтра выложу все файлы на гитхаб. Плату обрезал до минимума - 14,2 x 24,6 мм (по размеру ESP-01).
    Плата и ESP-01 собираются бутербродом, с ESP-01 снимаю пластик с PLD, чтобы платы были вплотную.
    Т.к. плата получается внутри клавы, то сделал возможность прошивки по воздуху (через WiFi) без разбора корпуса.
    Такая мелкота оказалась необходима. Я вскрыл 3 разные клавы, единственное место, куда можно всунуть свою плату - это место буквой "П" над кнопками управления курсором.
    Там места реально очень мало, но больше всего жмет высота - 6-8мм (на разных клавах). В общем такого минимализма и удалось достичь.
    Прикладываю фотки сего чуда.







  6. #95
    Master Аватар для Shumadan
    Регистрация
    04.04.2017
    Адрес
    г. Казань
    Сообщений
    539
    Спасибо Благодарностей отдано 
    104
    Спасибо Благодарностей получено 
    80
    Поблагодарили
    53 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Только посмотрел схему. Получается ТТЛ-логика запитывается от 3 вольт?

  7. #96
    Sinclair User Аватар для Eltaron
    Регистрация
    16.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    2,045
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    143
    Спасибо Благодарностей получено 
    463
    Поблагодарили
    326 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Shumadan Посмотреть сообщение
    Получается ТТЛ-логика запитывается от 3 вольт?
    Там же 74HC, это КМОП
    Граф Дракула наш кумир, патамушта он вомпир!
    VKINK 9 : BORDER NOT PI

  8. #97
    Master Аватар для siemensC35
    Регистрация
    13.10.2017
    Адрес
    г. Днепр, Украина
    Сообщений
    770
    Спасибо Благодарностей отдано 
    149
    Спасибо Благодарностей получено 
    131
    Поблагодарили
    111 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    плану развести "Пэшечкой", выпилить посадку под ЕSP и под логику и небольшое отверстице под 1117 . Во китайцы занадоедаються это випиливать :-)

  9. #98
    Master Аватар для Shumadan
    Регистрация
    04.04.2017
    Адрес
    г. Казань
    Сообщений
    539
    Спасибо Благодарностей отдано 
    104
    Спасибо Благодарностей получено 
    80
    Поблагодарили
    53 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Eltaron Посмотреть сообщение
    Там же 74HC, это КМОП
    А ну тогда у меня завалялась целая лента 564ЛА7.

  10. #99
    Master Аватар для siemensC35
    Регистрация
    13.10.2017
    Адрес
    г. Днепр, Украина
    Сообщений
    770
    Спасибо Благодарностей отдано 
    149
    Спасибо Благодарностей получено 
    131
    Поблагодарили
    111 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Пару слов о свободных пинах.... Даная м/с ESP-8266 емсть в PLCC корпусе ( я это заменив копошась на сайте месного радиомагазина, все остальное как говориться есть под ногами/руками многих..

    тык

    [свернуть]


    - - - Добавлено - - -

    думаю будет рациональнее использовать плцц ибо оно еще дешевлее)

    собсна можно даже так как тут

    тык

    ESP-01 hacked by Dave Allan, как пример. Дополнительно вы получаете 4 GPIO: GPIO14, GPIO12, GPIO13 и GPIO15
    [свернуть]


    - - - Добавлено - - -

    кто-то тут говорил про 4 порта для цвета, собсна вооот они, + еще и звук будет
    Последний раз редактировалось siemensC35; 22.03.2018 в 15:48. Причина: добавил пикчу

  11. #100
    Sinclair User Аватар для Eltaron
    Регистрация
    16.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    2,045
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    143
    Спасибо Благодарностей получено 
    463
    Поблагодарили
    326 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от siemensC35 Посмотреть сообщение
    кто-то тут говорил про 4 порта для цвета, собсна вооот они, + еще и звук будет
    Проблема же не пинах. Ради пинов можно и просто другой модуль взять, ESP-12, например.
    Проблема в том, что видео гонится через I2C DMA, и больше чем к одной ноге это дело не прикрутить.
    Граф Дракула наш кумир, патамушта он вомпир!
    VKINK 9 : BORDER NOT PI

Страница 10 из 38 ПерваяПервая ... 67891011121314 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Эмулятор Радио-86РК на JavaScript
    от begoon в разделе Эмуляторы отечественных компьютеров
    Ответов: 12
    Последнее: 20.03.2021, 17:57
  2. Аппаратный горизонтальный скролл в Радио 86РК
    от NEO SPECTRUMAN в разделе Радио-86РК
    Ответов: 23
    Последнее: 06.06.2019, 13:44
  3. N80emu - Эмулятор Радио-86РК
    от kovdry в разделе Эмуляторы отечественных компьютеров
    Ответов: 10
    Последнее: 05.09.2014, 00:22
  4. Эмулятор Радио-86РК на железе Maximite
    от begoon в разделе Эмуляторы отечественных компьютеров
    Ответов: 2
    Последнее: 11.10.2012, 16:33
  5. эмулятор радио-86рк
    от sergey2b в разделе Эмуляторы отечественных компьютеров
    Ответов: 4
    Последнее: 09.06.2011, 15:59

Ваши права

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