Вход

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



Страницы : [1] 2

heavy
04.03.2018, 07:16
Всем доброго времени суток.

Делаю проект аппаратного эмулятора Радио-86РК на ESP8266.
Отличие от других проектов - ультра низкая цена. Всё железо - это ESP8266 (например, ESP-01 за ~100рублей) и одна микросхема 74HC00 (за ~10 рублей). Плюс немного мелочевки - резисторы, регулятор 5->3.3В и разъемы. Все остальное делается программно.
Проект уже готов на 80%. Работает TV-выход (композитный PAL-сигнал), эмуляция процессора, эмуляция ВВ55 (клавиатура), ВГ75-ИК57 (экран). Сейчас в тестовом режиме работает чтение PS/2-клавиатуры. Запускается и работает монитор и разные игры. Скорость эмуляции пока не регулируется (она порядка 8 МГц), позже ограничу, сейчас интересует максимальная производительность при включенных всех подсистемах.

Что планирую сделать в ближайшую неделю:
- доделать клавиатуру
- сделать интерфейс для загрузки файлов в ОЗУ (без участия ПК, из встроенной флэшки)
- хочу добавить эмуляцию дисковода (может что-то лучше кто-то предложит).

Проект делаю в подарок отцу, именно он собрал в свое время Радио-86РК и привил мне тягу к компьютерам, за что ему большое спасибо :)

Ссылка на проект на github: https://github.com/klad-me/RK8266

Жду Ваши комментарии и предложения. Также, есть идея сделать нормальные печатные платы (они получатся где-то 20x80мм), но для двух-трех штук для меня это не имеет смысла. Если кому интересно - отписывайтесь, наберется достаточное количество людей - сделаем в складчину.
Если кто-то решит помочь проекту, оперативная связь по Telegram - heavy131, по возможности буду и в форуме появляться.

644586445764459

siemensC35
04.03.2018, 08:11
Очень интересная реализация, по поводу плат , JPCB предоставляет 10шт ( 100*100мм) плат за 2$ .

heavy
04.03.2018, 08:18
Очень интересная реализация, по поводу плат , JPCB предоставляет 10шт ( 100*100мм) плат за 2$ .

У меня в принципе есть уже разводка под ESP-01, но там ошибка в PS/2 разъеме. Плата всего 15.2x43.8 мм.
64460

SoftFelix
04.03.2018, 08:51
Вот и дОжили: Wi-Fi свисток параллельно эмулирует РК-86 на 8МГц... :)

и одна микросхема 78HC00
74HC00 ?

heavy
04.03.2018, 10:26
Вот и дОжили: Wi-Fi свисток параллельно эмулирует РК-86 на 8МГц... :)

74HC00 ?

Да, опечатка. Через нее графика генерится.

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

Сделал небольшой видосик, как работает игра. Правда, на мелком телеке (3.5"), на котором отлаживаюсь.

https://youtu.be/7kPmKkUORxg

HardWareMan
04.03.2018, 15:25
heavy, это не аппаратный эмулятор. Ведь ты пишешь программный только под ARM.

svofski
04.03.2018, 16:06
HardWareMan, это не ARM.

heavy
04.03.2018, 16:33
heavy, это не аппаратный эмулятор. Ведь ты пишешь программный только под ARM.

Ну ХЗ, смотря что чем называть. У меня получается коробочка, в которую втыкаешь питание, клаву и видео, получаешь аналог РК86. Чем не аппаратный эмулятор ?
И там, на самом деле, не ARM, там просто своя разновидность RISC, проц XTensa.

Vslav
04.03.2018, 16:50
В этом ESP8266 самое вкусное это WiFi. Но если запустить беспроводной стек, то эмуляции сразу гаплык, поэтому придется по-очереди, хотя этого должно быть достаточно.

siemensC35
04.03.2018, 17:03
В этом ESP8266 самое вкусное это WiFi
я так бегло проштудировав описание понял что есть еще и синий зуб , если уж на то пошло то сразу с телефона сливать програмку и запускать ее ;)
Но в моем варианте сборки просто будет PLCC микросхемка через недельку и будут первые пробы

svofski
04.03.2018, 17:03
Vslav, вот у этого Apple 1 на esp8266 с видео через эфир клавиатура подключена через телнет. Это конечно не РК, но какой-то ресурс там все ж есть.
https://youtu.be/rCqbB1UmW8o

Ратмир
04.03.2018, 17:13
Куда катится мир...

Vslav
04.03.2018, 17:27
Vslav, вот у этого Apple 1 на esp8266 с видео через эфир клавиатура подключена через телнет. Это конечно не РК, но какой-то ресурс там все ж есть.
https://youtu.be/rCqbB1UmW8o
Та ресурс есть, но кетайский стек - это @#$. Он может надолго забрать проц сам, и прерывания надолго запрещать нельзя - тогда он помирает. Навороты программные чтобы пользователям было "удобно" - это вообще @#$. Я пару лет назад сделал на 8266 свой MAC, который отдает сырые пакеты по UART на 4 Мбитах, и забыл про программирование этой китайской поделки напрочь. Я вообще не очень понимаю как на нем что-то можно делать - нестандартная архитектура, очень слабая документация, винегрет примеров с кучей ошибок, ну разве если край нужен WiFi. Или хочется сложности попреодолевать. А "в это время в замке у шефа" - stm32 по баксу идут.

PS. На видео кстати мусор видно. Это вот та самая "клава по телнету" напоминает о себе.

svofski
04.03.2018, 18:59
Vslav, это же спорт.

Vslav
04.03.2018, 19:17
Vslav, это же спорт.
Ну да, разве что спорт. А на работе я отбиться от него не смог, дешевое оно очень, пришлось сделать и забыть.

heavy
04.03.2018, 21:48
Vslav, вот у этого Apple 1 на esp8266 с видео через эфир клавиатура подключена через телнет. Это конечно не РК, но какой-то ресурс там все ж есть.
https://youtu.be/rCqbB1UmW8o

Через эфир не проблема, это делал @cnlohr. У меня нигде эфирного ТВ нет, потому композит по-моему лучше.
По поводу клавиатуры через телнет - это тоже не проблема, только вот 1) не удобно, т.к. не все кнопки будут передаваться, 2) хочется сделать именно железку, к которой подключил клаву и телек и оно будет работать без потребности в инете/компе и т.д.
WiFi-стэк у меня отключен только из-за помех на видеосигнал. ESP8266 имеет очень мощный передатчик, по тестам того же @cnlohr он работает на 600м в прямой видимости. Для справки, в момент передачи оно кушает ~350мА по 3.3В.

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


Та ресурс есть, но кетайский стек - это @#$. Он может надолго забрать проц сам, и прерывания надолго запрещать нельзя - тогда он помирает. Навороты программные чтобы пользователям было "удобно" - это вообще @#$. Я пару лет назад сделал на 8266 свой MAC, который отдает сырые пакеты по UART на 4 Мбитах, и забыл про программирование этой китайской поделки напрочь. Я вообще не очень понимаю как на нем что-то можно делать - нестандартная архитектура, очень слабая документация, винегрет примеров с кучей ошибок, ну разве если край нужен WiFi. Или хочется сложности попреодолевать. А "в это время в замке у шефа" - stm32 по баксу идут.

Ты просто неправильно его готовишь. У меня вторая работа - умный дом, я как раз делаю WiFi-утройства (точнее софт для них) для умного дома на ESP8266. Т.ч. на ESP8266 я уже огрооомную собаку сожрал и знаю его вдоль и поперек.

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

У меня тут новости. Позанимался сегодня пару часом эмулятором.
Сделал нормальную поддержку PS/2 клавы. При этом почкался с перекодированием раскладок. Т.ч. можно на РК86 писать так же, как нарисовано на кнопках клавы. По-моему удобно, хотя кому-то может показаться неправильным.
Все выложено на гитхабе. Завтра постараюсь еще видосик запилить на нормальном телеке и чтобы все было видно.

Vslav
04.03.2018, 22:05
Ты просто неправильно его готовишь. У меня вторая работа - умный дом
Ну, у всех свои представления о правильной готовке. У меня основной проект от миллиона до полутора сишных строк с парой сотен параметров компиляции, не всегда в мегабайтный stm32 влазит. Ессно, полностью свой HAL, RTOS, свои стеки, все вылизано и жужжит, никаких сторонних библиотек. Впихнуть это все в esp8266 вместе с китайским говнецом (а без него там никак - ни исходников ни документации толком не дают - ни за деньги, ни под NDA, тексаппорт нулевой, партизаны-хунвейбины, млин) и потом надежно сопровождать серию не представляется возможным. А так - сделали на esp8266 свой беспроводной MAC (говнецо китайское выкинуто по максимуму, своя работа с аппаратурой, только для беспроводного стека песочница оставлена), дешевый, изредка зависает, как хартбит перестал приходить - ему основной процессор передернул питание и полетели дальше. Нормально, несколько тысяч такого продано, клиенты не жалуются.

PS. Ты обмен по вайфай запусти в фоне, можно не особо интенсивный, хотя бы пинг длинным пакетом пару раз в секунду, посмотрим что с видеовыходом станет.
Update: посмотрел проект, видеоданные по DMA I2S отдаются, а синхронизация в прерывании таймера. Ну и от кетайцев ничего не осталось (никакой беспроводки), в таком варианте оно жизнеспособно, почему же нет - основной диверсионный код выкинут.

HardWareMan
05.03.2018, 04:11
HardWareMan, это не ARM.
Сути не меняет.

Ну ХЗ, смотря что чем называть. У меня получается коробочка, в которую втыкаешь питание, клаву и видео, получаешь аналог РК86. Чем не аппаратный эмулятор ?
У меня Core i7 в корпусе видика, тоже включаешь телик, клавку и получаешь аналог МАМЕ, видика или приставки. Но это не делает его аппаратным эмулятором.

heavy
06.03.2018, 15:52
Сегодня спаял плату на ESP-01. Пересобрал проект под него. Все работает !
На гитхаб (ссылка в первом сообщении темы) выложены бинарники прошивки, схема и файлы для сборки платы (ЛУТ).
Следующая цель - нормальный интерфейс для доступа к файлам для эмулятора.
Нормальные фотки и видос сегодня ближе к вечеру.
64483

TomaTLAB
06.03.2018, 16:31
74HC00 - это к155ли1 ? И ? Это 1564ЛА3

zebest
06.03.2018, 16:39
ага, посмотрел уже. И схе-муу. 1117 у мну тока регулируемые, на чисто 3,3 нету еще :((
ну и м\с еще поискать.. эх..

siemensC35
06.03.2018, 16:42
Это 1564ЛА3
155ЛА3 прокатит ?
Шикарные размеры платки, в корпус ВЛ-100 вместо СКМ-20 идеально войдет))

heavy
06.03.2018, 17:46
елси на бред-борде (или на монтажке) не сильно замороченно собрать - я бы потестил.
74HC00 - это к155ли1 ? И ?

Можно. Если видел, я отлаживаюсь на NodeMCU. Сегодня только собрал платку на ESP-01. Видеовыход собирается на макетке за 10 минут неспеша.
74HC00 - это 4 штуки 2И-НЕ. Используется в схеме 3 из них.

heavy
06.03.2018, 22:37
Вот и видос и фотки новой платки.

https://youtu.be/vGROCUriiHM
644916449264493

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

Плата не грязная, это лак :)

IgorR76
06.03.2018, 22:50
У меня два вопроса.
ВГ75 в игре LODE RUNNER перепрограммируется на вывод восьми тв-линий вместо десяти в строке символов, чтобы не было разрывов вертикальных полос псевдографики? Вы поддержали эти режимы в эму?
Курсор мигает медленнее оригинала. Можно ли подправить?
Спасибо!

heavy
06.03.2018, 23:19
У меня два вопроса.
ВГ75 в игре LODE RUNNER перепрограммируется на вывод восьми тв-линий вместо десяти в строке символов, чтобы не было разрывов вертикальных полос псевдографики? Вы поддержали эти режимы в эму?
Курсор мигает медленнее оригинала. Можно ли подправить?
Спасибо!

Да, высоту символов и положение видеопамяти я эмулирую. Форму и мигание курсора тоже.
По поводу курсора - в описании ВГ75, по которому я делал эмулятор написано, что частота мигания курсора равна частоте кадров делить на 32. У нас частота кадров 25к/c, а курсор и мигает примерно 1Гц. Может быть имеется в виду частота полей делить на 32 ? Тогда получится в 2 раза быстрее.
Как правильно то ? По мне, так тоже вроде было быстрее, хоть вживую посмотреть не на что :(

IgorR76
06.03.2018, 23:25
Конечно частота кадров 50гц.
В ютюбе есть видео оригинала с курсором.

HardWareMan
07.03.2018, 06:18
heavy, за кунчика отдельная зелень!

Tronix
07.03.2018, 09:28
А прикольно.

heavy
07.03.2018, 18:40
Народ тут спрашивает про разводку мелкой платы. Вот вкладываю:
http://klad.me/rk8266/rk8266_pcb3.png
Схема и файлы для KiCAD лежат на github.

Ратмир
07.03.2018, 21:58
Эти конструкции подрывают то, во что мы верили и верим. Это Принцип TDA в звуке. Зачем мучиться.... одну микру воткнул да и ладно... всем удачи

heavy
07.03.2018, 22:32
Эти конструкции подрывают то, во что мы верили и верим. Это Принцип TDA в звуке. Зачем еб..ться.... одну микру воткнул да и ладно... всем удачи

Ты железячник - у тебя секас с железками. Я программист - у меня секас программный :) Каждый др.чит как хочет :)

zebest
07.03.2018, 23:57
Не обращай вниманийя. Адвентисты теплого лампового звука на ГУ-50 были есть и будут. Причем ЛА3 -> РЕ3 -> РТ4 -> GAL -> CPLD они за логику считают, а FPGA - это уже Ересь. Акакже, ведь в ней эмулят RISC проц на 100Мгц, на котором эмулят Z80 на 50МГц, которая в свою очередь прикидывается 580ВМ80 на 1,77. Следующее поколение российских процессоров обязательно будет чисто на КТ315, рассово верных.
Ладно, это схоластика, как дальше программить?:

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

ыыыыыыыыы.. получилось :)
http://s2.micp.ru/vWUO5.jpg
Курсор все же в два раза чаще сделай.
И кнопку RESET, ну например на F12

Ратмир
08.03.2018, 09:50
Друзья это шутка..

zebest
08.03.2018, 11:25
Мы то жи пошутили.. Но как известно, в каждой шутке - только доля шутки...
Адептов секты К155ЛА3 ой как много.
Собственно что у мну получилось, под спойлером.

http://s3.micp.ru/Le3L2.jpg
На нижней части можно дополнительно собрать Микрошу или Апофигей, или интерфейс SD/ Или отпилить, нафик.
http://s3.micp.ru/k1E20.jpg
Тут конечно не все так красиво, и без лака, но все же это монтажка, а не какой нибудь ЛУТ :) Явных пару перемычек

siemensC35
08.03.2018, 14:28
Ладно, это схоластика, как дальше программить?:

а теперь объясните смертному как это вообще прошиваеться, с Китая братишки выслали свисток, немного брождения по гуглу сказали что это мракобесие шьеться через UART/SPI . но я так и не понял оно шьет в мк или во флешку которая рядом
В двух трех словах чем прошить и нету здесь беснований нащет фюзов итд ?

heavy
08.03.2018, 14:41
а теперь объясните смертному как это вообще прошиваеться, с Китая братишки выслали свисток, немного брождения по гуглу сказали что это мракобесие шьеться через UART/SPI . но я так и не понял оно шьет в мк или во флешку которая рядом
В двух трех словах чем прошить и нету здесь беснований нащет фюзов итд ?

Шьется все во внешнюю флэшку (на ESP-01 она уже на плате стоит). Но браться китайцы позаботились о нас, и сам ESP8266 имеет загрузчик, чтобы эту самую флэшку шить через UART.
Вот простая прошивалка:
https://github.com/nodemcu/nodemcu-flasher
Для прошивки нужен USB-UART, подключиться к RX и TX. Перед подачей питания GPIO0 надо подтянуть к нулю, чтобы запустился встроенный загрузчик. После прошивки, GPIO0 отпустить (чтобы пул-ап в схеме его вверх утянул) - тогда запустится залитая программа.

TomaTLAB
08.03.2018, 16:24
На нижней части можно дополнительно собрать Микрошу или Апофигей, или интерфейс SD/
Некрошу и Апофигей надо "по воздуху" заливать :) Да и содержимое СД-шки, а то чего вафля без дела стоит :)

zebest
08.03.2018, 18:07
с Китая братишки выслали свисток,
у них же и удобная прошивалка есть в комплекте (https://ru.aliexpress.com/item/1pcs-USB-to-ESP8266-Serial-Wireless-Wifi-Module-Developent-Board-8266-Wifi-Module/32693314450.html?spm=a2g0s.9042311.0.0.MEULKh)
так то у меня штук 5 разных уарт-ов есть, но за копейки можно и еще один.

Перед подачей питания GPIO0 надо подтянуть к нулю
Замечу, что это можно делАть кратковременно,пильцетом нпрмр, замкнули, подключили, можно размыкать.
По программе.. Не совсем очевидно, но можно выставить сразу все три файла и одномоментно прошьеЦЦа.

fifan
08.03.2018, 18:57
Хочу спросить у автора. В какой среде пишется программа и чем компилируются коды для esp8266?

heavy
08.03.2018, 22:05
Хочу спросить у автора. В какой среде пишется программа и чем компилируются коды для esp8266?

Программа пишется в обычном текстовом редакторе, компилируется обычным компилятором gcc про процы xtensa. Собираю все через make. Все это работает под Linux. Это мне так просто удобнее. У нас на работе есть программист, он тоже пишет под ESP8266, но он работает под виндой и пользуется Visual Studio.
Для разработки я использую плату NodeMCU (там стоит ESP-12E) и под него NodeMCU Base - там удобно, что каждый пин размножен на 4 пина - можно подключать какую-то внешнюю хрень и параллельно, например, осцил или логический анализатор. Осцил у меня простой DSO-150, анализатор - китайский клон Saleae на 8 каналов и 20МГц.
В общем, самый дешман :)

tank-uk
10.03.2018, 22:30
а как в него проги грузить ?

zebest
11.03.2018, 10:44
Во флеше еще 3,5 Мб свободного места, РК-шные программы впоместятся наверное ВСЕ! Это бы меньшая проблема, авот эмууляция ВГ75 весьма условно-приблизительная, на уровне Maximite от begoon-a, предположу что и код тот же же самый vg75.c
Могу и ошибаЦЦа :)

heavy
11.03.2018, 14:10
Во флеше еще 3,5 Мб свободного места, РК-шные программы впоместятся наверное ВСЕ! Это бы меньшая проблема, авот эмууляция ВГ75 весьма условно-приблизительная, на уровне Maximite от begoon-a, предположу что и код тот же же самый vg75.c
Могу и ошибаЦЦа :)

Я сейчас доделываю уже прошивку с WiFi. Можно будет загружать программы прямо по WiFi. На флэшке будет своя файловая система. Надеюсь к вечеру понедельника доделаю.
Эмуляция ВГ75 частично подсмотрена у begoon, но делал ее по описанию ВГ75 и ИК57. Единственное, что не делаю - изменяемая ширина строки, но кто ее менять будет ? Синхра ведь тогда поплывет. Что я там еще неправильно делаю ? Ты напиши - я поправлю. Желательно еще с тестовыми програми.

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


а как в него проги грузить ?

Пока только программатором во флэшку. Через пару дней будет готова прошивка, чтобы по WiFi можно было загружать на встроенную флэшку.

heavy
11.03.2018, 17:35
У меня одна тестовая программа от Shiru_Otaku (в версии от DDp) на все времена. Но ты бы хоть в каком нить эмуле подсмотрел, как она правильно работать должна, в принципе и видео выкладывали. На реальном РК-86 работает почти как в эмуле, за исключением того, что не реализовано, увы, в железе. Но в ВГ75 - реализовано. А вот нужно это кому то или нет - это второй вопрос. Мне - нужно. Даже включая железную псевдографику.
первые несколько тестов - курсор , внешний вид. 9 тест - псевдографика. Только не надо говорить, что ее ни у кого в РК нет. У меня есть.
30 тест - установка курсора. у тебя вообще не работает правильно. Ну и т.д.

Так никто и не говорит, что у меня все правильно работает. Я пока запустил некий минимум, с чего можно начать. Сейчас доделаю возможность подгрузки и буду дописывать и править косяки.
А где найти описание, что делает каждый тест ?
По поводу теста курсора (30) - вижу, у меня прога валится вообще. Буду разбираться.
В конце-концов, я этим эмулем занимаюсь неделю, думаю, для такого времени результат нормальный.

zebest
11.03.2018, 18:36
аячтоговорю!?(с)
Главное не останавливаться на достигнутом. Как Дёмин.
Тема все там же
http://www.nedopc.org/forum/viewtopic.php?f=43&t=8395
в конце темы архивы и видео должно там быть. В моем тесте нумерация условная, там вроде вообще без нумерации, но можно разобраться

heavy
14.03.2018, 12:32
В проекте большое обновление.
Теперь работает WiFi, есть простая файловая система во флэшке. Можно загружать программы по WiFi с компьютера и запускать их.
Меню открывается по нажатию ESC:
https://github.com/klad-me/RK8266/raw/master/screenshots/rk8266_2.png
Есть сброс, загрузка программ и переключение в режим WiFi, магнитофон пока не сделал.
Если переключиться в режим WiFi, то можно закачивать файлы с компьютера:
https://github.com/klad-me/RK8266/raw/master/screenshots/rk8266_4.png
На компьютере все работает через обычный браузер:
https://github.com/klad-me/RK8266/raw/master/screenshots/rk8266_7.png

Пока все сыро-криво, но уже более-менее работает.
Буду рад, если кто-то поможет с тестированием.
Относительно эмуляции хотелось бы дельные советы - что я эмулирую не так, а не просто "игра работает как-то не так".

siemensC35
14.03.2018, 17:08
Вопрос, а прикручивание сд карточки планируеться ?

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

или хотябы магнитофон

heavy
14.03.2018, 19:29
Вопрос, а прикручивание сд карточки планируеться ?

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

или хотябы магнитофон

У него встроенного флэша от 512кб до 3.5мб в зависимости от запаяной флэшки. Думаю, городить SD-интерфейс - это лишнее. Даже если встроенной памяти не хватает - всегда можно через WiFi одни файлы скачать, другие закачать.

Эмуляцию магнитофона делаю. Уже готово сохранение, осталось сделать считывание. Файлы будет писать на флэшку

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


Если не затруднит, добавить

ну а так же установку длины строки и пр.
http://www.computer-museum.ru/technlgy/i8275.htm
Спасибо. А так да - круто!! Особенно работа с WiFi

Все будет ! Дайте только время :)
Я по этой доке и делаю все.
Я сначала сделаю минимальный функционал, потом буду дорабатывать детали.
Вот щас чтение с магнитофона сделаю и займусь доделкой ВГ75.
Повышенную яркость, к сожалению, пока сделать не смогу из-за видео-выхода.

zebest
14.03.2018, 21:34
Повышенную яркость, к сожалению, пока сделать не смогу из-за видео-выхода.
тут понял. однобитное видео.
Ну подождем мигание и инверсийю.
Вот этот тест просто не загружается, ошибка файла.
http://zx-pk.ru/threads/25783-vychislenie-chisla-pi-na-assemblere.html?p=840271&viewfull=1#post840271

heavy
15.03.2018, 12:12
тут понял. однобитное видео.
Ну подождем мигание и инверсийю.
Вот этот тест просто не загружается, ошибка файла.
http://zx-pk.ru/threads/25783-vychislenie-chisla-pi-na-assemblere.html?p=840271&viewfull=1#post840271

Хм. Подскажите тогда как его загрузить.
Я поддерживаю два формата файлов:

1. Сихробайт 0xE6 + смещение + размер
2. Смещение + размер

У этого файла синхробайта нет. Ну и проверка смещения и размера показывает, что оно в ОЗУ не влазит.
Есть какой-то еще общепринятый формат ?


Посмотрел .ASM файл - похоже, мой косяк. Второе поле - ведь это не размер, а адрес конца загрузки, так ? Видно, я встречал только образы, загружаемые с адреса 0.
Поправлю сейчас.

b2m
15.03.2018, 12:20
1. Сихробайт 0xE6 + смещение + размер
2. Смещение + размер
Там вообще-то не размер, а конечный адрес (точнее адрес последнего байта). Чтобы получить размер нужно посчитать end-start+1.
И так везде, по-моему. Разница бывает только в порядке байт (ну может где-то не нужно +1 делать).

heavy
15.03.2018, 12:46
В общем исправил. Число ПИ считает. Можешь забрать прошивку на гитхабе. Билд №12

SoftFelix
15.03.2018, 17:22
Не удержался, заказал ESP-01 (https://ru.aliexpress.com/item/Free-shipping-ESP8266-serial-WIFI-wireless-module-wireless-transceiver/32341788594.html). :) Проект понравился своей простотой, дешевизной и конечным результатом. Ну и автор всё очень бОдро продвигает, что особенно радует. p.s. Потом ещё поискал и оказалось, что самые дешёвые модули есть в этом (https://ru.aliexpress.com/store/1022067?spm=a2g0v.12010108.0.0.15926d9esmfrja) магазине: ESP-01 (https://ru.aliexpress.com/store/product/Free-Shipping-ESP8266-remote-serial-Port-WIFI-wireless-module-through-walls-Wang/1022067_2038068522.html?spm=a2g0v.12010615.0.0.354 1b4c9P99cjm) и программатор для него (https://ru.aliexpress.com/store/product/1pcs-USB-to-ESP8266-Serial-Wireless-Wifi-Module-Developent-Board-8266-Wifi-Module/1022067_32693314450.html?spm=a2g0v.12010615.0.0.72 2b2ee2U2HaS).

zebest
15.03.2018, 19:19
самые дешёвые модули есть в этом магазине
Нудык я у них и брал. Два месяЦЦа назад.
После третьей перепрошивки допаял кнопку. Удобнее.
http://s3.micp.ru/3J6zJ.jpg
Теперь да, Pi считает, в принципе сопоставимо с реалом, 5мин 15 сек

SoftFelix
15.03.2018, 19:53
Нудык я у них и брал.
Занятно, но поиск по их магазину "ESP" или "ESP-01", или "8266" не выдаёт сам модуль, только просмотр "глазами" позволил найти нужное. А вот поиск по "esp8266" выдал список необходимого.

ALS
15.03.2018, 20:28
У них так поиск работает, через задницу. Вся причина в тире, которое они воспринимают не как все остальные люди.
По этой причине на всем али не находится ни одной AY-3-8910, приходится их тоже "глазами" искать :)

zebest
15.03.2018, 20:50
А вот поиск по "esp8266" выдал список необходимого
я искал от обратного. ESP действительно у многих, и цены более менее сопоставимы, а вот таких прогеров что то не нашлось.
Попозже парочку ESP-01 у них же закажу. А немного посерьезнее модуль брал тут (https://ru.aliexpress.com/item/1-CH340-esp8266-nodemcu-V3-Lua-WI-FI-32/32837163912.html?spm=a2g0s.9042311.0.0.Py3TcU)

SoftFelix
15.03.2018, 20:56
А немного посерьезнее модуль брал тут
Эх... Надо было раньше отписаться... В нём и стабилизатор на 3.3В, и программатор через USB... Одну ЛА3 допаять и всё.

zebest
15.03.2018, 21:02
ну у автора под него тогда тоже прошивку просить надо было бы)) Или ждать, что кто-то пересоберет проект под Windows :) Для чайникофф

siemensC35
15.03.2018, 21:12
По этой причине на всем али не находится ни одной AY-3-8910, приходится их тоже "глазами" искать :)
немного не в тему но запчасти к моб телефона сименс такимже макаром, весь китай завален всякой ересью небось а на али ничего нету

heavy
16.03.2018, 20:04
ну у автора под него тогда тоже прошивку просить надо было бы)) Или ждать, что кто-то пересоберет проект под Windows :) Для чайникофф

Там пересобирать ничего не надо. Просто подключить порты соответствующе к любому модулю на ESP8266:
GPIO0 - PS2 Clock
GPIO2 - PS2 Data
GPIO1 - TV Sync
GPIO3 - TV Data

На многих модулях написаны назначения пинов для Arduino. Для того же модуля NodeMCU просто пишем в гугле "NodeMCU pinout" и в картинках смотрим где какой GPIO

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

Я вообще сначала думал собрать его на Wemos D1 Mini + ProtoBoard, кстати очень рекомендую тем, кто хочет красиво и быстро собрать. Но меня жаба задушила - он у меня только один, а ESP-01 валяется штуки 3-5.
Ищется так же на Али. Они очень удобные - собираются этажами. На протоборд можно припаять логику и разъемы RCA и PS2. Питать можно от того же USB. Плюс для прошивки ничего придумывать не надо.
64640
64641

CityAceE
17.03.2018, 02:49
Очень крутой проект! Неплохо было бы всю полезную информацию по проекту, которая размазана по теме (фото, видео, шаблон платы, ссылки на магазин и т.д.), разместить в первом сообщении для всегобщего удобства.

А почему был выбран такой разъём USB? Он ведь громоздок, особенно в рамках данного проекта. Почему бы не использовать microUSB?

Звук в дальнейшем реально сделать?

И ещё вопрос к автору: А реально ли на том же железе повторить монохромный Специалист?

P.S. Разместил заметку на главной об этом проекте.

barsik
17.03.2018, 10:21
В качестве внешней памяти задействована внутренняя флеш-память ESP8266, в которой осталось около 3,5 Мб свободного места, что по некоторым подсчётам позволяет вместить большую часть программного обеспечения, выпущенного для Радио-86РК
Всё программное обеспечение РК86 (в т.числе и на бейсике) влезало у меня на 4 дискеты RK-DOS формата 400 кб. Ну пусть ещё 1-2 дискеты займут те программы, что у меня не было. Итого в 3.5 мб влезит не только всё имеющееся ПО для РК86, но и (если выкинуть "тесты для женщин" и расчёт линейных цепей и т.п. ерунду на бейсике) две трети флэш останется пустой.

Если в архитектуре предусмотреть доп.ПЗУ в 15 кб в области C400...FFFF (т.к в эту область сам РК только пишет) и эмулировать извне загружаемый дисковый привод объёмом всего в 400...640 кб, то можно ввести RK-DOS, т.к для ДОС без разницы как физически устроен внешний носитель (меняются только подпрограммы чтения/записи сектора). Потому все DOS работают с эл.диском, а программы (кроме форматёров дискет), не замечают разницы.

Если налаживать производство печ.плат, может быть предусмотреть разъём для подключения периферии (флопа, винта или ROM-диска на большой флэш-ПЗУ 28xxx) и подумать на тему эмуляции цвета и РК-клонов. "Партнёр" конечно не с'эмулировать, а вот более примитивные клоны не сложнее базового РК86. Возможно можно реализовать за счёт внешней логики и цветовую схему, которую тут называют "Самоцвет" (как и ВИА) из ж.Радиолюбитель 04.1992.

РК отличается от "Микроши" и "Апогея" аппаратно в основном лишь отсутствием ВИ53 и переключения фонтов, а остальное отличие только в содержимомм ПЗУ F800, адресации В/У и размере ОЗУ (и в Микроше перепутаны порты клавиатуры А и Б).

Для Апогея программ меньше, но зато есть и цветные, а для Микроши программ вдвое больше (и главное найти их легче). Видимо, поменять адресацию В/У и сделать переключаемый выходом INTE фонт можно сделать программно, а вот ВИ53 придётся подключать реальную, т.к думаю, что одновременно давать звук, делать цветную ТВ-картинку и прогонять код КР580, - ресурсов не хватит.

ALS
17.03.2018, 10:40
Вроде, модули на ESP8266 максимально поддерживают 16 МБайт памяти. Это м/сх 25Q128 и подобные.
Некоторые (но немногие) производители запаивают именно эти чипы, т.о. данный объем доступен "из коробки".
Есть и 25Q64, это 8 МБайт.
По мне, так проще поменять сам чип на модуле, чем подключать внешнюю память, расходуя на это и без того "дефицитные" пины.

heavy
18.03.2018, 21:01
Сегодня на github выложил 13-й билд. Работает запись и загрузка с магнитофона.
Первый пост темы приведу в порядок в ближайшее время. Буду там выкладывать ссылку на последнюю версию и все описание.
Многие спрашивают про Специалист, Микро-80 и т.д. Все будет, сначала надо доделать до конца этот эмулятор. Осталось, надеюсь, уже немного.
Еще из новостей - буду делать миниютюрный модуль для встраивания внутрь клавиатуры. Если все будет хорошо, скорее всего буду делать заказ плат в производство, ну и закажу комплектацию. О сборе заказов с жаждущих напишу отдельно.
Ссылка на файлы: https://github.com/klad-me/RK8266/tree/master/builds/13

CityAceE
19.03.2018, 10:43
Многие спрашивают про Специалист, Микро-80 и т.д. Все будет, сначала надо доделать до конца этот эмулятор.
Это понятно! Непонятно было, хватит ли ресурсов данного чипа. Теперь понятно, что хватит :)

Jimbo_77
20.03.2018, 07:54
Огромный респект разработчику проекта! Жаль что я не электронщик и не могу повторить его в домашних условиях, но если когда-нибудь появится возможность приобрести готовый девайс обязательно возьму :)

SaNchez
20.03.2018, 08:21
Наверное туда и спектрум можно запихать? :D

SoftFelix
20.03.2018, 08:43
Жаль что я не электронщик и не могу повторить его в домашних условиях
Там (http://zx-pk.ru/threads/28907-apparatnyj-emulyator-radio-86rk-na-esp8266.html?p=954913&viewfull=1#post954913) элементарная пайка двух разъёмов и одной микросхемы в DIP-14 на макетке (https://ru.aliexpress.com/item/For-WeMos-Breadboard-Expansion-Shield-Pin-Lithium-battery-D1-Mini-Module-For-Arduino-Compatible/32842116856.html) при покупке этой основы (https://ru.aliexpress.com/item/NodeMCU-Lua-ESP8266-ESP-12-WeMos-D1-Mini-WIFI-4M-Bytes-Development-Board-Module-with-pcb/32703511086.html). Вполне можно попробовать самому.

Jimbo_77
20.03.2018, 12:22
интересно, а у него какой-нибудь псевдо-графический режим кроме текстового существует хотя бы теоретически (типа заменить символы графическими элементы например)?

Shumadan
20.03.2018, 12:29
интересно, а у него какой-нибудь псевдо-графический режим кроме текстового существует хотя бы теоретически (типа заменить символы графическими элементы например)?

Если вы о Радио 86, там такой режим есть.

Jimbo_77
20.03.2018, 12:38
неплохо, а есть примеры каких-нибудь игр или программ в таком режиме, интересно взглянуть :)

Shumadan
20.03.2018, 12:41
неплохо, а есть примеры каких-нибудь игр или программ в таком режиме, интересно взглянуть :)

Так на 3 стр. этой темы автор разместил демовидео. По крайней мере заставка из псевдографики. Есть и игры

Jimbo_77
20.03.2018, 12:50
ага глянул, смотрится интересно, а звук на Радио 86 есть хоть в каком-нибудь виде?

zebest
20.03.2018, 12:50
Псевдографика конечно оставляет желать, что есть - то есть
Таблица. В начале - коды псевдографики.

http://www.danbigras.ru/RK86/Naladka/R86Char.jpg
Но существует , теоретически, и аппаратная псевдографика, которой как бы нету, но она есть.
Если уж делать правильную эмууляцию ВГ75
.и звука в радио дАже не так чтобы мало)

http://s3.micp.ru/Ocu0E.jpg

Shumadan
20.03.2018, 13:22
ага глянул, смотрится интересно, а звук на Радио 86 есть хоть в каком-нибудь виде?

В журнальной версии только пищалка. Есть возможность доработки с использованием 580ВИ53. Будет играть как детский синтезатор.

CityAceE
20.03.2018, 14:01
Наверное туда и спектрум можно запихать? :D
Текущая реализация позволяет только однобитную графику выводить. Так что, если Спектрум и возможен (а судя по всему мощей должно хватить), то только монохроный. Ну и звука совсем никакого нет. Для меня лично очень интересна реализация Специалиста, тем более, что в базовом варианте он был монохромным. Именно Специалист был моим первым домашним компом и с ним у меня связано столько воспоминаний!

Вообще этот проект на меня очень большое впечатление произвёл! Комп (ну, хорошо, эмулятор!) на двух микросхемах за копейки!

Тут бы, конечно, объединить усилия наших уважаемых эмуляторописателей отечественных компов с автором этой аппаратной разработки и это была бы просто пушка! Потенциал просто огромен!

SoftLight
20.03.2018, 18:46
Вроде, модули на ESP8266 максимально поддерживают 16 МБайт памяти.
32 МБайт есть (https://ru.aliexpress.com/item/Nodemcu-V3-Lua-WI-FI-esp8266/32845558400.html?s=p).

heavy
20.03.2018, 18:47
Наверное туда и спектрум можно запихать? :D

В планах есть спек на этом железе. Только вот не будет звука и цвета. Нужен ли такой ?

SoftLight
20.03.2018, 19:01
В планах есть спек на этом железе. Только вот не будет звука и цвета. Нужен ли такой ?
А почему цвета не будет? Вот товарищ на ESP демки (https://hackaday.com/2016/03/01/color-tv-broadcasts-are-esp8266s-newest-trick/) с 3d-графоном лабает:

https://hackadaycom.files.wordpress.com/2016/03/esp8266-color-ntsc-broadcast-featured.jpg?w=800

ALS
20.03.2018, 19:03
32 МБайт есть (https://ru.aliexpress.com/item/Nodemcu-V3-Lua-WI-FI-esp8266/32845558400.html?s=p).

Это 32 Мегабита или 4 МБайта.
Т.е. "стандартный" для большинства модулей объем памяти.

siemensC35
20.03.2018, 19:36
Текущая реализация позволяет только однобитную графику выводить. Так что, если Спектрум и возможен (а судя по всему мощей должно хватить), то только монохроный
ZX81 ZX82....

petrov1962
20.03.2018, 21:10
В планах есть спек на этом железе. Только вот не будет звука и цвета. Нужен ли такой ?

Нужен даже такой.

barsik
20.03.2018, 22:23
Программа... компилируется обычным компилятором gcc... эмулируется скорость прогона программы КР580 на такте 8 МГЦ
Из этого ясно, что программа пишется на Си и компилируется для целевой платформы, т.е системы команд данного низкопотребляющего скоростного 32-х разрядного микропроцессора, что встроен внутрь этого микроконтроллера EPS8266. Но мне как полному чайнику хотелось бы выяснить следующие моменты.

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

Здесь видео делает сам процессор. При такте CPU в 80 МГЦ это возможно, но тогда для прогона программы КР580 остаётся только время долгого гашения луча во время обратного хода кадровой развёртки, что для РК составляет лишь 20% времени, отчего эффективное быстродействие падает в 5 раз. Т.е это принцип ZX80/ZX81.

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

Просьба прокомментировать, почему эти рассуждения полного чайника в корне ошибочны.

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

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


Только вот не будет звука и цвета

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

Но цвет-то тут при чём? Т.к входов-выходов всего 15, чего для для формирования RGB хватит, то единственное объяснение этой проблемы - в нехватке скорости.

Кстати, похоже, что на базе этого микроконтроллера можно сделать оцифровыватель ТВ-кадров с телевизора или с видеокамеры.

CityAceE
21.03.2018, 00:58
написан ли свой блок эмуляции КР580 или использован чей-то чужой проверенный блок эмуляции 8080?
На сайте проекта на GitHub (https://github.com/klad-me/RK8266)указана следующая информация:


Эмулятор i8080
Используется эмулятор https://github.com/begoon/i8080-core
При работе ESP8266 на 160МГц и работающем генераторе видеосигнала, частота эмуляции i8080 7.6 .. 8.2 МГц !



Только вот не будет звука
А звук совсем-совсем не реально прикрутить? Там ведь только один бит-то и нужен всего!

SaNchez
21.03.2018, 01:21
В планах есть спек на этом железе. Только вот не будет звука и цвета. Нужен ли такой ?

Не, спек без цвета - это оксюморон:D
Получается, сейчас все выводы задействованы? 3 штучек для RGB нет?

fifan
21.03.2018, 06:31
cейчас все выводы задействованы? 3 штучек для RGB нет?
Во-первых нужно 4 лишних вывода, а не три. Во-вторых нет ни одного лишнего незадействованного.

SaNchez
21.03.2018, 07:14
Хмм... А если сразу PAL выдавать? :)

Tronix
21.03.2018, 08:52
Хмм... А если сразу PAL выдавать? :)

PAL - очень геморройный стандарт, на сколько знаю. Надо четные/нечетные строки фазовращать и прочее. С этой точки зрения, лучше NTSC гнать. И картинка четче, и гимора поменьше. Один фиг, щаз любой телек понимает NTSC. А если вдруг не понимает, то купить любой который понимает в ближайшей аптеке или на заправке за 1000 рублей не проблема.
Или вообще, православный SECAM -)

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


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

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


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

Если убрать вывод графики и оптимизировать HAL, то можно получить частоту эмуляции 10-12 МГц, думаю. Ресурсов хватает с запасом.


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



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


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


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

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

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

heavy
21.03.2018, 17:54
Сегодня закончил авантюру :) Собрал эмулятор Радио-86РК в корпусе клавиатуры :)
Вечером или завтра выложу все файлы на гитхаб. Плату обрезал до минимума - 14,2 x 24,6 мм (по размеру ESP-01).
Плата и ESP-01 собираются бутербродом, с ESP-01 снимаю пластик с PLD, чтобы платы были вплотную.
Т.к. плата получается внутри клавы, то сделал возможность прошивки по воздуху (через WiFi) без разбора корпуса.
Такая мелкота оказалась необходима. Я вскрыл 3 разные клавы, единственное место, куда можно всунуть свою плату - это место буквой "П" над кнопками управления курсором.
Там места реально очень мало, но больше всего жмет высота - 6-8мм (на разных клавах). В общем такого минимализма и удалось достичь.
Прикладываю фотки сего чуда.
http://klad.me/rk8266/1/1.jpg
http://klad.me/rk8266/1/2.jpg
http://klad.me/rk8266/1/3.jpg
http://klad.me/rk8266/1/4.jpg
http://klad.me/rk8266/1/5.jpg
http://klad.me/rk8266/1/6.jpg
http://klad.me/rk8266/1/7.jpg

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

Eltaron
22.03.2018, 00:26
Получается ТТЛ-логика запитывается от 3 вольт?
Там же 74HC, это КМОП

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

Shumadan
22.03.2018, 09:04
Там же 74HC, это КМОП

А ну тогда у меня завалялась целая лента 564ЛА7.

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

http://pakhom.weebly.com/uploads/1/5/1/0/15109966/6470229_orig.jpg?257

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

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

собсна можно даже так как тут
ESP-01 hacked by Dave Allan, как пример. Дополнительно вы получаете 4 GPIO: GPIO14, GPIO12, GPIO13 и GPIO15
https://img.mysku-st.ru/uploads/images/03/40/13/2015/01/05/138304.jpg

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

кто-то тут говорил про 4 порта для цвета, собсна вооот они, + еще и звук будет

Eltaron
22.03.2018, 15:53
кто-то тут говорил про 4 порта для цвета, собсна вооот они, + еще и звук будет
Проблема же не пинах. Ради пинов можно и просто другой модуль взять, ESP-12, например.
Проблема в том, что видео гонится через I2C DMA, и больше чем к одной ноге это дело не прикрутить.

ALS
22.03.2018, 21:42
Я - за ч/б Спектрум.
В конце 80х у меня лично был ч/б монитор. Подавляющее число игрущек на нем были вполне играбельны.

siemensC35
22.03.2018, 21:52
Я - за ч/б Спектрум.
если уж на то пошло то давайте вспомним ZX81 ZX82 тоже . Лично я о них слышал но и эмуляторов не видел даже . Не столь популярная у нас машина ?

Eltaron
22.03.2018, 21:59
Я - за ч/б Спектрум.
В конце 80х у меня лично был ч/б монитор. Подавляющее число игрущек на нем были вполне играбельны.
Ч/б или всё же градации серого?

ALS
22.03.2018, 22:09
Хм, а ведь точно - там были градации серого, тут же, как понимаю, даже это невозможно.
Печаль...

ZX_NOVOSIB
23.03.2018, 06:23
Спектрум нужен! Пусть не за 3$, а за 10-15$, но чтобы встраивался в клавиатуру. Цвет, 48, бипер, и 3.5 мм аудиовход обязателен. Но в идеале бы конечно хотелось и 128 + AY + TRD + корректная работа с пентагон-демами + мышь + чтоб в черного ворона можно было )

CityAceE
23.03.2018, 07:24
Спектрум нужен! Пусть не за 3$, а за 10-15$,
Такой уже есть! Это Raspberry Pi Zero:
http://storage9.static.itmages.ru/i/18/0323/h_1521779056_8514420_f432a54bf6.jpg

ZX_NOVOSIB
23.03.2018, 09:57
CityAceE, да, но пока это просто микрокомпьютер. И всего вышеописанного в нём нет.

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

ну и как-то подороже он 10-15$

SoftLight
23.03.2018, 11:01
Sinclair ZX81 вполне можно было бы эмулировать, у него монохромный экран. Даже библиотека игр есть.

barsik
23.03.2018, 11:14
Sinclair ZX81 вполне можно было бы эмулировать, у него монохромный экран
ZX81 (https://en.wikipedia.org/wiki/ZX81) намного более массовый компьютер, чем РК86. Их выпустили более 1.5 млн (а ещё сотни тысяч пиратских клонов). Потому для ZX81 написали несколько тысяч игр и они точно играбельнее, чем полсотни примитивных игр РК86. К тому же у него не должно быть звуков с включённым экраном, т.к видео он выводит тоже процессором. И можно будет убедиться, что википедия нагло врёт, что якобы для ZX81 с ОЗУ всего в 1 кб (из которых половина отнимает экран) есть шахматы (https://ru.wikipedia.org/wiki/ZX81). Кстати и Галаксия (https://ru.wikipedia.org/wiki/Галаксия_(компьютер)) не сложнее ZX81 и имеет лучшие параметры.

А ещё, если как-то добавить эл.диск, можно просто сделать быстрый CP/M-компьютер с монохромным экраном 64*25 или 80*32 с инверсией знакомест.

Anubis_OD
23.03.2018, 12:05
CityAceE, да, но пока это просто микрокомпьютер. И всего вышеописанного в нём нет.

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

ну и как-то подороже он 10-15$

ну почему же.. полно их по 5 баксов.. просто далековато.. доставка стоит часто сильно дороже.
Вот пара примеров
https://www.adafruit.com/product/2885
https://www.canakit.com/raspberry-pi-zero.html
Кстати везде почти есть ограничение. 1 платка в 1 заказе.
И вот спектрум на этом микрокомпе..
https://www.facebook.com/photo.php?fbid=10156276299683385&set=gm.606848729661602&type=3&theater&ifg=1

CityAceE
23.03.2018, 12:46
да, но пока это просто микрокомпьютер. И всего вышеописанного в нём нет.
Официальная цена базовой модели Raspberry Pi Zero - $5. Да, оно не сильно доступно нам, но есть и доступные аналоги по цене от $8,5 (https://ru.aliexpress.com/item/New-Orange-Pi-Zero-H2-Quad-Core-Open-source-development-board-beyond-Raspberry-Pi/32760774493.html). Компьютер, обсуждаемый в этой ветке, тоже не настоящий Радио-86РК. Это железяка, на которой запущен программный эмулятор. Не вижу разницы между этой железякой и запущенным эмулятором (причём одним из нескольких!) ZX Spectrum на Raspberry Pi Zero. Вот мне лично, этот эмулятор (http://zx-pk.ru/threads/28154-zxbaremulator.html) импонирует.

fifan
23.03.2018, 15:08
Господа, тема про Радио-86РК, не о Спектруме и не о тем более о Raspberry - не забывайтесь.

Titus
23.03.2018, 15:15
Господа, тема про Радио-86РК, не о Спектруме и не о тем более о Raspberry - не забывайтесь.
А чем отличается Raspberry от чипа топикстартера? По сути - ничем. И там, и там какой-то процессор/микроконтроллер, на котором эмулируется заданная тачка.

Ewgeny7
23.03.2018, 16:04
Автор темы запилил прямо-таки чудесную по минимализму машинку, которая все же является программным эмулятором, ну да нам не привыкать на этом месте копья ломать.
Как ваше мнение, коллеги, оставляем ее здесь, или все же в "Эмуляторы"?

barsik
23.03.2018, 16:11
Как ваше мнение, коллеги, оставляем эту тему здесь, или всё же - в раздел "Эмуляторы"?
Логично всегда поступать единообразно, а именно также как с темами про конструкции клонов 8-ми разрядок на FPGA и ПЛИС.

heavy
23.03.2018, 20:54
Народ, нужна помощь по пониманию работы ВГ75.
По псевдографике все понятно.
Вопрос по командам End of row и End of screen. Насколько я понял, если встречается End-of-row, то остальные символы строки я просто не рисую, но они должны быть в памяти. А если встречается End-of-row, stop DMA, то дальше в памяти уже идут данные новой строки (+ пустой символ, если команда не последняя в строке). Верно ?
Теперь по аттрибутам. Байт аттрибута является знакоместом или нет ? Т.е. он генериует какой-то символ на экране, или он просто пропускается контроллером и на вывод идет уже следующий символ после аттрибута ?
Еще хочу встроить в эмулятор вывод текстовой справки, типа команд монитора, адреса точек входа в процедуры монитора, справка по бейсику и т.д. Может кто знает ссылки на готовые документы ?
Новая версия будет с нормальной эмуляцией ВГ75 (кроме highlight), сохранением состояния и другими плюшками.
Уже сделал изменяемый знакогенератор (его можно менять по адресу 0xF800, но только на запись). Обновление прошивки по воздуху тоже уже работает, в следующем релизе вынесу обновление в Web-страничку эмулятора для удобства.
Еще у меня, как у топикстартера, просьба - давайте пока откинем холивары типа у ZX яйца лучше блестят. Очень нужен фидбек - что нужно еще сделать в эмуляторе. Хочется его уже добить до какой-то точки и попробовать сделать Специалист. Читал про него в Моделисте, но, к своему стыду, даже ни разу не видел и не запускал эмулятор. А очень хочется. Да, следующим однозначно будет Специалист.

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

Ну и вдогонку относительно малинки.
У меня дома на всех телеках стоит т.н. Android TV - это фигня, размером чуть больше флэшки, которая втыкается в HDMI и питается от USB. Внутри нормальный Android, проц 4 ядра, ОЗУ 2 Гб, флэша 8 Гб, microSD, WiFi, Bluetooth ну и т.д. Стоит сие удовольствие всего то 1500 рублей на Али. Оно с легкостью тянет эмуляцию PlayStation One, не говоря уже о РК86 и Спеке.
Так это я вот к чему - в наше время за сравнительно небольшие деньги можно купить ооочень крутые вещи, но хочется чего-то старого, лампового. Сейчас вот, ковыряясь с эмулятором РК86 я испытываю те же чувства, что и тогда, когда отец собрал его сам дома. Даже вспомнил как он выглядел.
Ностальгия странная штука. rk86.ru очень классный сайт, но он обычно закрывался на 2-й минуте игры в КЛАД или Ксоникс. Этот же проект для меня как-то живее. Уже помню наизусть команды монитора, некоторые машинные коды. Думаю, это же чувствуют те, кто собирает "тру" РК86. Но я далеко не электронщик и вряд ли смогу собрать и запустить "тру" РК86. Таких же, как я, думаю, много. Моя железка дает простоту сборки и запуска. Что-то среднее, между "тру" и "rk86.ru" :)
В общем не в деньгах счастье. Проект изначально задумывался не как дешевый, а как собираемый из легкодоступных компонентов. Перед этим проектом, честно хотел сделать настоящий, даже нашел половину микросхем на Элитане, но уткнулся во что-то типа памяти, которую не нашел. А моих познаний в электронике не хватает на то, чтобы найти подходящую замену.
В общем как-то так. Теперь очень хочется заиметь настоящего РК86, хоть Апогея, хоть проект на SRAM :) Как всегда - хочу странного.
Извините за бред, нервы мне сегодня подпортили, надо было выговориться :(

Shumadan
23.03.2018, 21:57
Мне кажется что вы с вашими познаниями можете легко взяться за "железный" Радио РК. А все комплектующие можно быстро найти здесь на Барахолке. В 500 р можно уложиться

Titus
23.03.2018, 22:29
Хочется его уже добить до какой-то точки и попробовать сделать Специалист. Читал про него в Моделисте, но, к своему стыду, даже ни разу не видел и не запускал эмулятор. А очень хочется. Да, следующим однозначно будет Специалист.
Запусти) Это просто (http://zx-pk.ru/threads/28891-emulyator-spetsialista-emustudio.html).

barsik
23.03.2018, 23:22
Байт аттрибута является знакоместом или нет ? Т.е. он генерирует какой-то символ на экране, или он просто пропускается контроллером и на вывод идет уже следующий символ после аттрибута ?
Бывает и так и этак и это задаётся битом D6 в четвёртом параметре команды 00 (задать формат экрана). В литературе упоминают, что аттрибут выводится пробелом, но предполагаю, что это код 00. Точно ответить может только тот, кто использовал это в своих программах для РК86, но такие люди уже не с нами. Потому сейчас наиболее информированные люди на эту тему это эмуляторо-писатели. Я тоже в 1998 написал эмулятор РК86, но ВГ75 вообще не эмулировал, отчего работает только часть РК-программ.


Еще хочу встроить в эмулятор вывод текстовой справки о командах монитора, адресах точек входа в процедуры монитора, командах бейсика и т.д. Может кто знает ссылки на готовые документы ?Встроенная справка никому не требуется. Особенно о командах монитора, что вообще означает считать пользователей за идиотов. Программы на бейсике вряд-ли кто-то будет набивать в этой конструкции. Вся справочная информация есть в ж.РАДИО. И при желании можно встроить весь цикл статей о РК86 из журнала Радио.

Гораздо полезнее сделать встроенный отладчик, типа пультового режима в ПК11/16 (там для этого в процессор специально включили второй набор регистров). В крайнем случае могу предложить отладчик в кодах КР580 (размер 4К), который можно разместить в области C400...F7FF.


Хочется... попробовать сделать Специалист
Специалист в эмуляции проще, чем РК86 (т.к не требуется эмулировать тысячу режимов ВГ75).

Titus
23.03.2018, 23:30
Встроенная справка никому не требуется.
Не соглашусь. Не требуется только тем, кто заядлый РК-шник.
А те, кто давно на РК не работал, либо же просто не знаком близко с машинкой, за HELP скажут спасибо.

SegaBoy
24.03.2018, 01:52
Вопрос по командам End of row и End of screen. Насколько я понял, если встречается End-of-row, то остальные символы строки я просто не рисую, но они должны быть в памяти. А если встречается End-of-row, stop DMA, то дальше в памяти уже идут данные новой строки (+ пустой символ, если команда не последняя в строке). Верно ?
Не совсем так - не последняя в строке, а последняя в пакете. Если ПДП настроен, например, на размер пакета 8 и команда "Стоп ПДП" не последняя в пакете (восьмая), то требуется дозагрузка ещё одного знака (любого).



Теперь по аттрибутам. Байт аттрибута является знакоместом или нет ? Т.е. он генериует какой-то символ на экране, или он просто пропускается контроллером и на вывод идет уже следующий символ после аттрибута ?
Если включён режим "видимых" атрибутов, то на экране вместо атрибута отображается пустое знакоместо. При этом активируется сигнал VSP ("Подавление видеосигнала") контроллера ВГ75, подключённый к CS знакогенератора, и тем самым знакогенератор отключается (аналогичным образом работает затемнение при получении команд "Конец знакоряда" или "Конец кадра" - до конца знакоряда или кадра знакогенератор выключен).

Dotoro
24.03.2018, 14:19
Sinclair ZX81 вполне можно было бы эмулировать, у него монохромный экран. Даже библиотека игр есть.

ZX81 уже есть на esp8266 и давно, но вывод на серийный порт.

heavy
24.03.2018, 14:21
Еще вопрос по ВГ75.
По аттрибутам понятно. А когда идет псевдографика, для нее отдельно выставляется моргание и яркость. Остальные аттрибуты берутся из общих аттрибутов строки или на псевдографику они не действуют ? Что становится с общими аттрибутами поля после символа псевдографики ? В них меняются биты B и H или нет ? Например, мы рисовали обычный текст, потом пошла псевдографика с битом мигания, следом снова текст. Вот второй текст должен будет моргать или нет ?

Pyk
24.03.2018, 15:37
Не совсем так - не последняя в строке, а последняя в пакете.
Правильнее так: "последняя в строке ИЛИ последняя в пакете".



А когда идет псевдографика, для нее отдельно выставляется моргание и яркость.
У РК нет аппаратной псевдографики, описанной в документации на ВГ75 (коды C0-EF). Несколько я помню, нет и атрибута повышенной яркости (добавляли вроде бы только инверсию, но в оригинальном РК и ее не было). Это все должно формироваться дополнительно внешней логикой, которой у РК просто не было.

Насколько я помню, для кодов C0-EF на выходе ВГ75 атрибуты GPx выдаются на основе общих, а на выходы яркости и мерцания попадают значения соответствующих битов самого псевдографического символа. А уж дальше отображение этого всего зависит от внешней схемы. В документации это не описано, экспериментировал с этим и пытался разобраться 2 года назад, когда делал эмуляцию ВГ75 в emu80. Мог что-то забыть, если что-то интересует - подсмотрю в коде...

barsik
24.03.2018, 15:46
когда идет псевдографика, для нее отдельно выставляется моргание и яркость. Остальные аттрибуты берутся из общих аттрибутов строки или на псевдографику они не действуют ?Судя по тому, что атрибуты мигания и подсветки включены прямо в код псевдографики, то логично считать, что на графические символы общие атрибуты B и H не действуют. Но на практике в этом, если кто-то и разбирался, то только авторы эмуляторов, - программистам для РК этого знать не требовалось.

Зачем Вы разбираетесь в аппаратной псевдографике, она не используется в РК86, хотя аппаратно реализуется лишь кучкой диодов? Псевдографика неудобна для РК потому что средняя горизонтальная линия проходит по линии подчёркивания, т.е не по центру, а в самом низу знакоместа.

Гораздо разумнее псевдографику включить в РК86 используя те же самые выходы LA0 и LA1, но иначе. Выходы LA0 и LA1 управляются только кодами псевдографики. Потому, изобретя хитрую схему можно с их помощью программно формировать дополнительный атрибут. Которым включать альтернативный фонт содержащий настоящие графические символы.

Одного атрибута в РК86 очень не хватает для коммутации фонтов (чтобы поиметь графику в играх и КОИ-8), т.к цвет тратит все 4 программно управляемых атрибута. Осталось только изобрести схему генерации этого атрибута. Кто-нибудь способен на это ?

Предлагаю первое тупое решение - это ставить линию подчеркивания на 9-ю линию сверху (по сбросу стоит 10-я линия) и сигналом LC3 для ПЗУ фонта защелкивать LA1, LA0. Тогда при сочетании 11 триггер дополнительного атрибута взводится, а при сочетании 01 сбрасывается. Коммутация этого атрибута на экране будет занимать пустое знакоместо.

zebest
24.03.2018, 23:14
У рк86 есть псевдографики, и у меня есть её на чем проверить. И в приличных эмулях:) тоже почти есть. Так что я за псевдографику, если не сильно затратноповремени. Атрибуты там да, работают тоже, но сделай хоть начало, потом фидбек будет

barsik
25.03.2018, 00:43
У РК86 есть псевдографика, и у меня есть на чем её проверитьКакой смысл проверять на чём-то ином, если речь о отладке конкретного изделия? Тут скорее надо наоборот, - предложить топикстартеру программы использующие такие спец.символы.

Речь идёт о отображении так называемых 11-ти спец.символов, которые представляют собой тонкие линии (причём вертикальные линии без разрыва). Это использовано в Роботроне и, если МНИП, в одном каком-то клоне РК86. Это суррогат, я это пробовал и мне не понравилось. И этого в оригинальном РК86 нет. В любом случае программами это не используется и использоваться, очевидно, не будет. Но это может пригодиться, если кто-то захочет писать уникальные программы только для данной конструкции.

Значительно эффектнее полноценные графические символы включённые в альтернативный знакогенератор, тогда при желании можно поиметь хоть все символы псевдографики из текстового режима IBM PC.

heavy
25.03.2018, 12:52
Готов 15-й билд: https://github.com/klad-me/RK8266/tree/master/builds/15
0x00000.bin - файл для прошивки программатором
fota.bin - файл для обновления по WiFi (через Web-страницу)
Последние изменения:
- Scroll Lock включает Турбо-режим (эмуляция проца на максимальной скорости).
- Можно загружать знакогенератор (запись с адреса 0xF800)
- Сделана поддержка псевдографики и аттрибутов (проверьте, пожалуйста, насколько я корректно это делаю).
- Изменен масштаб экрана по ширине
- Картинку на экране можно двигать с помощью Win+Курсор (для подгонки к определенному телевизору)
- Сделано обновление прошивки по воздуху (через Web-страницу).

Осталось доделать сохранение и загрузку состояния. Думаю, пока на этом закончить и заняться тестированием.

mvg
25.03.2018, 13:07
а сколько будет стоить готовый девайс, желательно в корпусе от клавы? ;))
чтоб включил и работает?

heavy
25.03.2018, 13:34
а сколько будет стоить готовый девайс, желательно в корпусе от клавы? ;))
чтоб включил и работает?

Честно, не думал о монетизации этого проекта. В корпусе от клавы все выглядит классно, только вот довольно трудоемко. Я на свою убил почти целый день. Т.ч. меньше, чем за 2-2,5к я делать не возьмусь. Если есть желающие - скидывайте в личку. Будет десяток желающих - можно будет изготовить.

mvg
25.03.2018, 14:02
пожалуй - буду первым желающим ;)
кстати могу парочку "эксклюзивов" для новой рк заделать ;)) если конечно лень поборю....

barsik
25.03.2018, 17:00
Пока заливка фонта это почти бесполезно.

Посмотрел вариант внешней платки расширения (http://zx-pk.ru/threads/20714-pomechtaem-ili-vopros-o-videovykhode.html?p=713206&viewfull=1#post713206) от Alex_LG, позволяющей грузить фонт и оказалось, что заливка фонта на F800 это совместимо с конструкцией от Alex_LG. Хотя производство таких платок пока организовать не удалось, но поддержка этого сразу в 2-х изделиях может помочь в этом. Загрузка фонта позволяет заменить символы, которыми изображаются фигурки и фон в конкретной игре и возможно у Alex_LG уже имеется куча ографиченных РК-игр.

И всё-равно как для системных программ, так и для игр, полезнее два фонта используемых одновременно, а не миллион фонтов используемых по очереди. И ради совместимости с реалом, гораздо полезнее сделать мгновенное программное переключение фонтов каким-либо внешним сигналом. Т.к заливку фонта в реале, так же просто как кусочком проволоки или тумблером, не реализовать.

Доп.фонты в РК вводят двумя способами. Это коммутация внешним сигналом - т.е просто тупое переключение, например, тумблером переключая половинки РФ2 с ПЗУ знакогенератора. Или программно, например, сигналом с неиспользуемого при РК-клавиатуре, бита ППА. Или самим процессором (его выходом INTE), как сделано в одном РК-клоне. Это практически малополезно, и даёт лишь возможность, включив тумблером фонт с маленькими и заглавными русскими буквами, писать на РК86 тексты в КОИ-8 (в которых при этом недоступны латинские буквы).

И есть второй стандартный для ВГ75 вариант, использующий GPA для оперативного переключения фонтов прямо по ходу экранной развертки. Что и позволяет в одном экране иметь полноценные рамки, КОИ-8 и инверсию знакомест. Так сделана русификация в Роботроне и символьная графика во всех иностранных компьютерах с ВГ75.

В данном устройстве, раз уж цвет невозможен, то 4 атрибута позволяют иметь 16 фонтов и 2048 разных символов доступных в одном экране (хотя все сразу в экран даже не влезут, т.к ёмкость экрана 64*25=1600 символов). В минимуме достаточно 256 символов, т.е всего двух фонтов. Базового и альтернативного, дающего инверсию латинских букв и графические рамки.


Сделать данный клон более ламповым, т.е близким к оригиналу, позволит введение RK-DOS. Для чего достаточно предусмотреть ПЗУ в области E000...EFFF, где в реале располагается ПЗУ RK-DOS и встроить в эмулятор два вызова функций эмулятора - чтение и запись сектора в 512 байт. А в коде RK-DOS вместо подпрограмм чтения/записи сектора работающих по железу встроить вызов процедур эмулятора. Тогда DOS сможет работать в эмуляторе как в реале, что не только обеспечит ламповость, но и запуск программ будет не за счёт имитации работы с магнитофоном, а из нортона ДОС, что намного удобнее.

Авторы эмуляторов EMU и EMU80 полностью эмулировали работу КНГМД путём отлавливания команд записываемых в регистр команд ВГ93, а для РК-КНГМД вообще эмулировали работу с дискетой на самом низком уровне в реальном времени. Но это совершенно не требуется, т.к с регистрами ВГ93 или с железом РК-КНГМД работает только сама DOS (не считая форматёра дискет). Потому достаточно написать эмуляцию чтения/записи сектора на абсолютно любом носителе и в эмуляторе, причём с затратой труда на два порядка меньшей, получается поддержка дисковода. Это ничуть не хуже, т.к при перехвате команд для ВГ93 точно также не работают форматёры дискет. Да и кому сейчас надо отлаживать форматёры дискет в эмуляторе?

В EMU и EMU80 нет функций эмулятора доступных из программ КР580, написанных специально для эмулятора. Потому и приходится делать полную эмуляцию контроллера дисковода. А в моих древних эмуляторах для MSDOS принцип поддержки дисковода иной. Там слегка переделывается код DOS. И кстати, не требуются образы дискет (что неудобны), вместо них используется каталог, из которого файлы при старте эмулятора перегружаются в эмулируемую дискету. Программам всё-равно как физически устроен дисковый носитель, с ним они общаются только функциями DOS и не лезут напрямую в железо.

Нужны лишь две функции эмулятора доступные из программ КР580. В своих эмуляторах я использовал для этого команду INIR (Z80), передавая в регистре А номер функции, а в других регистрах - параметры. Для процедур чтения/записи сектора надо передавать три параметра - номер трека, номер сектора и адрес DMA. Можно применить лишь 2 параметра, используя LBA принцип адресации секторов. Если Вы введёте в эмулятор две такие процедуры, то истратив 2 минуты, на замену п/п-рамм чтения/записи сектора на вызов функций эмулятора, я странслирую Вам RK-DOS для данной конструкции.

Если для вызова функции эмулятора сложно отлавливать код команды, можно отлавливать адрес. Например, ввести перехват адреса FFFF как входа в подпрограмму (т.е вход в функцию по CALL FFFF). Тогда в коде DOS подпрограммы чтения и записи сектора будут состоять всего из 3-х команд загрузки регистров и JMP FFFF.

zebest
25.03.2018, 19:14
- Сделана поддержка псевдографики и аттрибутов (проверьте, пожалуйста, насколько я корректно это делаю).
уже лучше, но доделывать есть еще чего
http://zx-pk.ru/threads/28907-apparatnyj-emulyator-radio-86rk-na-esp8266.html?p=955456&viewfull=1#post955456
тут картинка. Сейчас найду тест, там еще и другая картинка. Но эффект одинаковый Как то по высоте псевдографика смещена, надо бы поправить, только не пойму, некоторые символы короткие, что ли?? На картинке увидишь и проверишь
мигание и инверсия вроде есть, правильность оных проверю чуть позже сравнением с другим , хорошим, емуулятором)
Конец строки я так думаю не работает. Установка количества символов в строке - то жи.

- Изменен масштаб экрана по ширине
Это как то не очень хорошо получилось. По крайней мере для меня. Мне надо еще "поуже" картинку, лево-право не все влезает.

0x00000.bin - файл для прошивки программатором
fota.bin - файл для обновления по WiFi (через Web-страницу)
Ну да, только первый раз надо все же программатором, а уж потом по воздуху.
Тест сейчас найдУ псевдографики и пришлю
Upd
Все же видимо символы псевдографики немного неверно сгенерированы, или по номерам не совпадают.

CityAceE
26.03.2018, 10:51
А вот такой модуль (https://ru.aliexpress.com/item/ESP8266-CH340G-CH340-G-NodeMcu-V3-Lua-Wireless-WIFI-Module-Connector-Development-Board-Based-ESP-12E/32800966224.html) какое-нибудь преимущество для сборки этого эмулятора даёт? Как минимум, вижу, что там уже есть готовый USB-порт для питания и преобразователь напряжения, а также кнопки (сброс и прошивка). Просто смотрю, что это наиболее востребованный модуль на AliExpress.

http://storage3.static.itmages.ru/i/18/0326/h_1522050411_1698507_b90cb79ff9.jpg

zebest
26.03.2018, 11:26
А вот такой модуль какое-нибудь преимущество для сборки этого эмулятора даёт?
Автор на таком и собирал в самом начале. И потом тоже отписывался
http://zx-pk.ru/threads/28907-apparatnyj-emulyator-radio-86rk-na-esp8266.html?p=954913&viewfull=1#post954913
РазниЦЦы как бы и нет. Можно и на таком, можно и попроще. Выводы переподключить только. Ну и цена в два раза. а размер - в четыре. Хотя и возможностей побольше, как и пинов
http://s2.micp.ru/e0kQi.jpg
Выбирать - но осторожно.

SoftFelix
26.03.2018, 11:56
А вот такой модуль какое-нибудь преимущество для сборки этого эмулятора даёт?
Я такой же заказал. Именно по причине наличия на плате всего вышеуказанного (разъём питания, кнопки, программатор, стабилизатор 3.3В). Надеюсь, прошивка под него подойдёт или будет сделана минимальная корректировка под пины. У этого модуля есть задел на будущие конфигурации. Сам модуль замечательно ставится на макетку с двумя разъёмами (RCA и mini-DIN PS/2) и микросхемой (74НС00). Вообще, было неплохо указать в первой мессаге наиболее предпочтительный модуль (со ссылкой) и вариант его использования (ссылка на какую-нибудь макетку-прото-боард). Данный модуль стОит чуть за 200 руб. с доставкой, +разъёмы и макетка... Можно рублей в 300 уложиться. Зато с более-менее приличным видом и без лишних сложностей с изготовлением доп.платы. Имхо.

CityAceE
26.03.2018, 13:03
Сам модуль замечательно ставится на макетку с двумя разъёмами (RCA и mini-DIN PS/2) и микросхемой (74НС00).
А можно ссылку на подходящую макетку? Уже давно сам ничего не делал и сильно отстал. Последний раз платы сам травил ещё в школе (~30 лет назад). Сегодня-то техника заметно шагнула - всё стало куда доступнее. И тут прям захотелось повторить эту самоделку, учитывая её простоту. А тем более, автор обещает следующим шагом приступить к реализации Специалиста!

zebest
26.03.2018, 13:30
А можно ссылку на подходящую макетку?
У меня на такой (https://ru.aliexpress.com/item/98-11-free-shipping-5pcs-4x6cm-Double-Side-Prototype-PCB-Universal-Printed-Circuit-Board/32673538325.html?spm=a2g0s.9042311.0.0.kq7gq0) собрано. Но пять штук сразу партия) Бывают и односторонние попроще, и других размеров, и в наборе сразу. Вряд ли дешеМле можно найти.

SoftFelix
26.03.2018, 13:33
А можно ссылку на подходящую макетку?
Искать на Али что-то типа "прототип PCB макет (https://ru.aliexpress.com/af/%25D0%259F%25D1%2580%25D0%25BE%25D1%2582%25D0%25BE %25D1%2582%25D0%25B8%25D0%25BF-PCB-%25D0%259C%25D0%25B0%25D0%25BA%25D0%25B5%25D1%2582 .html?site=rus&g=y&origin=n&blanktest=0&filterCat=202001107%2C202001491%2C202001487&jump=afs&groupsort=1&SearchText=%D0%9F%D1%80%D0%BE%D1%82%D0%BE%D1%82%D0 %B8%D0%BF+PCB+%D0%9C%D0%B0%D0%BA%D0%B5%D1%82&SortType=total_tranpro_desc&initiative_id=SB_20180326022925)". И выбирать по цене и размеру.

Ещё автор предлагал использовать вот такую (https://ru.aliexpress.com/item/NodeMCU-Lua-ESP8266-ESP-12-WeMos-D1-Mini-WIFI-4M-Bytes-Development-Board-Module-with-pcb/32703511086.html) плату и макетку (https://ru.aliexpress.com/item/For-WeMos-Breadboard-Expansion-Shield-Pin-Lithium-battery-D1-Mini-Module-For-Arduino-Compatible/32842116856.html) под неё. Но я не уверен, что на макетку поместятся два разъёма и микросхема в DIP-14.

Pyk
26.03.2018, 21:03
heavy, нет ESP пока в наличии, можно скрин посмотреть какого-нибудь тестового экрана для проверки псевдографики и атрибутов?

Ewgeny7
27.03.2018, 11:10
https://c.radikal.ru/c21/1803/a0/6baadb7d8016.jpg (https://radikal.ru)

Работаить...
Косяков пока не нашел, ну да мне на работе и не загрузить ничего на платку изза особенностей подключения интернета к рабочему компу (192.168 не доступно).

zebest
27.03.2018, 11:17
192.168 не доступно
не-не-не.. Там ай-пишник не жестко прошит. Если вайфай есть - нажимаешь Space - он ищет доступныйе сети, логинишься, получаешь IP адрес и уже в браузере к немуу коннектишься

Ewgeny7
27.03.2018, 11:23
не-не-не.. Там ай-пишник не жестко прошит. Если вайфай есть - нажимаешь Space - он ищет доступныйе сети,
Да дело не в этом...
У меня в комп воткнут свисток модема, а из компа идет интернет на раздачу в WAN вай-вай роутера. Поэтому все, кто прилогинился к роутеру, не видны с самого компа. Вот такой вот винегрет.

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

Надо бы переделать, раздавать через обычное сетевое подключение, но уже лень скакать с бубном...

zebest
27.03.2018, 11:28
ну хоть IP то получает?? И пинг не проходит?))))
В первых версиях там несколько файлов загружалось, в пследнем вроде игра была. для проверки)

vazman
27.03.2018, 11:35
Собрал девйс. Всё работает, кроме WiFi. В режиме WiFi при нажатии на пробел 2-3 секунды ничего не происходит, потом чёрный экран, потом опять - нажмите пробел для поиска сетей
Есть какие-то мысли?

zebest
27.03.2018, 11:37
у меня за 2-3 секундЫ находит и мою сеть и соседскую. моя -40дБ, соседская -90дБ. Довольно чувствительная фиговина. А ты все версии перепробовал??

Ewgeny7
27.03.2018, 11:51
ну хоть IP то получает?? И пинг не проходит?))))
Всё получает и подключается...

Зашел с другого компа. Пытался залить Барсика и Клад.
Тыкаем на выбор файла, в проводнике указываю файл *.rkr
Выскакивает окошко, "ошибка выбора файла. Файл существует?"
Через пару секунд перезахожу на страницу, файлик значится в списке "программ", память доступная уменьшилась.
Но при попытке загрузить образ - "нет файла!".

zebest
27.03.2018, 11:59
я за все время ну десятка два файлов загружал. Такой ошибки не видел. Это видимо ждать автора за разъяснениями.
*rk попробуй еще, или путь к файлам покороче\без_пробелов\лати ицей?

Ewgeny7
27.03.2018, 12:02
https://youtu.be/WIS92oOU_NE

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

Как бы вот....
Потом сам РК не видит образов для загрузки, пишет что нету.

zebest
27.03.2018, 12:09
Похоже на стороне браузера такая фигня. я Хромом пользуюсь. "Чудовище" ты хотел версию с псевдографикой посмотреть?? :)

Ewgeny7
27.03.2018, 12:13
Похоже на стороне браузера такая фигня.
Я решил извратиться и зашел с телепона. Всё один-в-один как с компа, не качает.

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

Есть вариант, что своеобразие сети может влиять, дома вечером посмотрю на нормальном компе.

vazman
27.03.2018, 12:28
у меня за 2-3 секундЫ находит и мою сеть и соседскую. моя -40дБ, соседская -90дБ. Довольно чувствительная фиговина. А ты все версии перепробовал??

Все перепробовал - то же самое.
Вопрос - при прошивке та часть, которая отвечает за работу WiFi тоже перешивается? Или часть прошивки остаётся старая от свистка?

zebest
27.03.2018, 12:46
Вопрос - при прошивке та часть, которая отвечает за работу WiFi тоже перешивается? Или часть прошивки остаётся старая от свистка?
я думаю стирается все и прошивается заново все. Свисток то перед этим работал ? я свой изначально проверял в Unreal-e - там работал прилично.

Ewgeny7
27.03.2018, 12:55
Вопроззз...
Была у меня залита версия 13.
Сейчас залил 15, файл 000000.бин с нулевого адреса и до забора.
Загрузка программ не появилась, но не в этом суть.
Что делать с файлом fota.bin из того же билда? Шить его куда, и надо ли?

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

Картинка, кстати, стала на порядок лучше, чем в 13-ой.

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

Очень нахально хочется сохранение памяти на магнитофоне на дисководе во флеши, как файл.
Чтоб не только смотреть, но и писать, вот... (скромно потупив глазки).

zebest
27.03.2018, 12:55
Что делать с файлом fota.bin
Это я так понимаю как бы уже для 15(и следующих) версий. Скорее всего следующую можно будет таким файлом по воздуху шить. ну теоретически и сейчас можешь проверить - я не пробовал.

Ewgeny7
27.03.2018, 13:05
теоретически и сейчас можешь проверить - я не пробовал
Тоесть, забить и не трогать, понял. :)

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

Так...
Пункт "Загрузка с магнитофона".
Поставил рядом магнитофон, включил на полную громкость - ничего не загрузилось.
Только соседи по трубам стучат и матерятся.
Что я сделал не так? :)

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

А по-серьезному - там как, другой формат файлов должен быть?

Ewgeny7
27.03.2018, 13:11
возможно что WAV
Вот я и пытаюсь вытянуть из автора базовые вещи касаемо его разработки, чтобы набрался небольшой FAQ для зачатых в лифте рожденных в пещере, и все ответы вывалить в первом посте.

zebest
27.03.2018, 13:18
Вот я и пытаюсь вытянуть из автора базовые вещи касаемо его разработки
Идеальный вариант - сделать проект под Винду, или в студии или в Эклипсе. мне бы и в Code::Block подошел:)
В эклипсе как бы можно, но сыпет ошибкамЕ при компиляции, видимо библеОтик не хватает, или путей к ним. Для меня слишком сложно(

vazman
27.03.2018, 14:15
я думаю стирается все и прошивается заново все. Свисток то перед этим работал ? я свой изначально проверял в Unreal-e - там работал прилично.
В том то и дело.. свистков несколько было.. И другие, который я не прошивал - не могу заставить отвечать на AT..

heavy
27.03.2018, 16:33
уже лучше, но доделывать есть еще чего
Чем больше тестов, тем лучше сделаю :) документация, на самом деле, оставляет желать лучшего. Работаю по оригиналу от Интела - очень мало написано о том, как должно работать.


Изменен масштаб экрана по ширине
Это как то не очень хорошо получилось. По крайней мере для меня. Мне надо еще "поуже" картинку, лево-право не все влезает.
У меня стало лучше. А что за телевизор ?

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


Собрал девйс. Всё работает, кроме WiFi. В режиме WiFi при нажатии на пробел 2-3 секунды ничего не происходит, потом чёрный экран, потом опять - нажмите пробел для поиска сетей
Есть какие-то мысли?
Возможно что-то не так с WiFi-модулем, ну или вообще нет WiFi сетей.

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


Зашел с другого компа. Пытался залить Барсика и Клад.
Тыкаем на выбор файла, в проводнике указываю файл *.rkr
Выскакивает окошко, "ошибка выбора файла. Файл существует?"
Через пару секунд перезахожу на страницу, файлик значится в списке "программ", память доступная уменьшилась.
Но при попытке загрузить образ - "нет файла!".
По симптомам очень похоже, что размер флэшки на ESP-01 стоит 512кб. Нужен минимум мегабайт. Программатор умеет показывать размер флэшки. Проверь.

Ewgeny7
27.03.2018, 16:59
По симптомам очень похоже, что размер флэшки на ESP-01 стоит 512кб.
Флешка запаяна 25080, тоесть мегабайтная. А программатор какой? Флешер NodeMCU умеет?

zebest
27.03.2018, 17:54
Флешер NodeMCU умеет?
ну да, такой флешер. Но я в нем не нашел чтобы он сам объем определял. Зато в браузере явно пишет, сколько общий объем, сколько свободно

Чем больше тестов, тем лучше сделаю
Парочку я уже присылал, игра с псевдографикой тут
http://zx-pk.ru/threads/10161-radio-86rk-igry.html?p=870202&viewfull=1#post870202
а демо с флагом тут
http://zx-pk.ru/threads/25076-mir!-trud!!-maj!!!.html?p=801055&viewfull=1#post801055
Флаг должен оочень медленно колыхаться:-)
ну и выше там можно кое что позапускать)

А что за телевизор ?
так это, как иво. тиви-тюнер. Картинку с него могу прицепить

heavy
27.03.2018, 18:22
Так...
Пункт "Загрузка с магнитофона".
Поставил рядом магнитофон, включил на полную громкость - ничего не загрузилось.
Только соседи по трубам стучат и матерятся.
Что я сделал не так? :)
А по-серьезному - там как, другой формат файлов должен быть?

Живой магнитофон подносить не надо :) Микрофона в нем нет. Магнитофон эмулируется на встроенную флэшку.
При сохранении на магнитофон, оно в верхней строке показывает процесс сохранения (можно нажать Scroll Lock для ускорения). Т.е, в мониторе просто пишешь, например OF800,FFFF. Когда запись закончится - он предложит ввести имя файла для сохранения. Ему все равно откуда идет сохранение, оно просто запоминает битовый поток. Потом файл можно скачать по WiFi. При сохранении через монитор получится обычный .rk файл с первым байтом E6.
Для считывания с магнитофона просто даем команду считывания типа "MLOAD" в Бейсике или "I" в мониторе. Но тут уже надо будет нажать ESC и выбрать в меню "Загрузка с магнитофона", выбираем файл и оно начнет загрузку (прогресс так же будет в верхней строке). Можно так же нажать Scroll Lock для ускорения.

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


Вопроззз...
Была у меня залита версия 13.
Сейчас залил 15, файл 000000.бин с нулевого адреса и до забора.
Загрузка программ не появилась, но не в этом суть.
Что значит не появилась ? Ты выбираешь в меню "Переключиться в режим WiFi" ? Проверял при программировании, что у тебя флэшка 1мб (8мбит) или более ?
Повторяю, что если флэшка меньше 1мб, то сохранять файлы оно не будет :(
В принципе можно будет сделать версию, чтобы и 512кб флэшка работала, но места там будет от силы 128-160кб для сохранений.
Т.ч. отпишитесь, если у кого есть такие флэшки - я сделаю. Там не много делать - просто карту адресов во флэше перекроить.


Что делать с файлом fota.bin из того же билда? Шить его куда, и надо ли?
Это для обновления по воздуху (но для него точно потребуется флэшка 1мбайт). Если шьешь программатором, то этот файл не нужен. Новую версию потом можно будет залить уже через WiFi.


Картинка, кстати, стала на порядок лучше, чем в 13-ой.

У меня тоже, но народ вот жалуется. Соберите, пожалуйста, статистику по мониторам, желательно с фотками.


Очень нахально хочется сохранение памяти на магнитофоне на дисководе во флеши, как файл.
Чтоб не только смотреть, но и писать, вот... (скромно потупив глазки).

Есть оно - я выше писал. У тебя не работает, возможно, из-за маленькой флэшки.

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


ну пока да.. А вот след.16 или какую можно будет попробовать сразу по воздуху, без проггера. На следующую я все же надеюсь, там бы псевдографику поправить, ну и демо от DDp(и begoon-a) с развевающимся флагом кривоватенько работает. Очень быстро :) видимо нет синхронизации с кадрами.

Скинь, пожалуйста, флаг в личку. А как реализуется кадровая синхронизация ? Разве у РК86 есть такая возможность ?

zebest
27.03.2018, 18:27
А как реализуется кадровая синхронизация ?

Улучшения: без полос, 50fps, синхонизация с развёрткой. А также версии для Микроши и Апогея.
ну я такой фокус не делал, но думаю синхронизируются по флагу в конце строки\кадра. Это все в той же ВГ
http://zx-pk.ru/attachment.php?attachmentid=52045&d=1430507883
тут не скачивается*? или архиватор не подходящий? ну тогда скину

heavy
27.03.2018, 18:35
так это, как иво. тиви-тюнер. Картинку с него могу прицепить

Я пробовал на 4 телевизорах, все, правда, LCD.
Samsung, LG большие.
И 2 автомобильных 3.5" и 4.3", у них разное соотношение сторон, но даже на 3.5" нормально показывает.
Отлаживаюсь я щас на USB капчилке от Pinnacle. Она показывает тоже все отлично, я с нее скрины скидывал (там, где сверху MPlayer подписано). Но это профессиональная штука и она ловит весь кадр целиком, без обрезки полей.

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


ну я такой фокус не делал, но думаю синхронизируются по флагу в конце строки\кадра. Это все в той же ВГ
http://zx-pk.ru/attachment.php?attachmentid=52045&d=1430507883
тут не скачивается*? или архиватор не подходящий? ну тогда скину

Насколько понимаю, речь по IR (Interrupt Request) ? Постараюсь в следующей версии реализовать !

zebest
27.03.2018, 19:11
Пинейкл понимаю, хорошая фирма, но АверМедиа - тоже не самый последний производитель.
Тест 41MAY я скидывал, сам глянь У мну так кажет
http://s3.micp.ru/yvhN4.jpg
ну и не только эта картинка, другие - то жи. явно видно, что лево\право режет.
А. ну да. Строка то тут возможно длиннее :((

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


Насколько понимаю, речь по IR (Interrupt Request) ?
Каждый деятель по своему делал. Но воТ кусок кода Великого Ушельца


start:


ld hl, VG75_ADDR+1 ; Ждем обратный ход
ld a, (hl)

wait1: ld a, (hl)
and 20h
jp z, wait1

Читают из регистра ВГ75 , сравнивают, и ждут пока не изменится содержимое. Возможно там так же.
Там такой код


nextfrm:lxi d,CTRL_CRT+1
ldax d
wait_ir:ldax d
ani 20h
jz wait_ir

Ждуны.

Ewgeny7
27.03.2018, 20:14
Есть оно - я выше писал. У тебя не работает, возможно, из-за маленькой флэшки
Дома - работает. Здесь нормальная, классическая сетка с вайфаем.
И еще. частенько забываем, что в режиме вайфая импульсно свисток жрет немалый ток. У меня ESP регулярно отваливается от сети, надо цепи питания жирнее сделать.

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


Живой магнитофон подносить не надо
Разобрался, спасибо! Сохранялка - это действительно полезно.

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


Соберите, пожалуйста, статистику по мониторам, желательно с фотками
У меня не мониторы, а ТВ-тюнеры. Старый РоверМедиа и Бехолд. Оба хорошо работают с РКшкой.

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

Из отчетностей - с компом работают две клавиатуры из четырех.
Работают без проблем обыкновенные китайские большие клавы.
Но совсем не работают слим-клавы, компактные.
Colorvis и Ehere отказались. С прочими железяками они работают нормально.
Чую, что здесь дело в не самом лучшем подключении к МК. Сигналы с клавиатур обычно подтягивают резисторами 10к к +5 питания, а требуемый уровень получают стабилитронами (типа BAT54, например) или прочими способами.

zebest
27.03.2018, 20:27
Оба хорошо работают с РКшкой.
http://zx-pk.ru/attachment.php?attachmentid=52037&d=1430434796
это попробуй. По ширине все влезает? особенно первые экраны. можно с картинкой

zebest
27.03.2018, 20:36
А что там не так с пайкой?
и резисторов надо немного больше, и на монтажке плохо становяЦЦа. если специально плату разводить - тогда конечно лучше с ними. Но даже и без них esp за 100р не жалко если выгорит порт)

DDp
27.03.2018, 21:07
http://zx-pk.ru/attachment.php?attachmentid=52037&d=1430434796
это попробуй. По ширине все влезает? особенно первые экраны. можно с картинкой
zebest, эдак ты всех заМАЙеш. ;) Не надо рисовать сильно шире 64 символов - на реальном телевизоре это не видно!!! :v2_dizzy_stop:
Или ты хочешь что бы heavy сделал эмулятор эмулятора? :v2_laugh:

6481564816
zxpk в реале - не лезет ни в какие рамки. (выход с реального РК)

Смотрите так же --> ссылка (http://zx-pk.ru/threads/27478-sekrety-i-tryuki-programmirovaniya-(v-tom-chisle-i-igr)-dlya-rk-86.html?p=905294&viewfull=1#post905294) ... ах, да, по ссылке картинки на ESP не будут работать корректно - "изменяемая ширина строки".

zebest
27.03.2018, 21:36
Или ты хочешь что бы heavy сделал эмулятор эмулятора?
я выше писал - я не настаиваю. Можно сделать - ну хорошо же, нельзя, ну значит низзя) Это давно уже обсудили.
Ты лучше подскажи, как "синхонизация с развёрткой" осуществляется

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


Программер был маньяк
чей та сраzу - "был"!? Он и есть ... *скромно потУпиф глазки*

Ewgeny7
27.03.2018, 21:41
Он и есть ... *скромно потУпиф глазки*
Просто лапушка, не спорю :)

А вот схемко и фотко -

https://c.radikal.ru/c20/1803/e6/f29b725c780dt.jpg (https://c.radikal.ru/c20/1803/e6/f29b725c780d.jpg)

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

В центре - пятно от горячих слёз умиления.

zebest
27.03.2018, 21:47
А вот схемко и фотко -
ну вот то жи схемко, лишнее - можно и убрать)
http://s2.micp.ru/Fy6vl.jpg

Ewgeny7
27.03.2018, 21:50
Первомай. Чуть не написал первона....ээээээ.... Не написал, в общем.

https://d.radikal.ru/d08/1803/6a/9ca86bcf8e1et.jpg (https://d.radikal.ru/d08/1803/6a/9ca86bcf8e1e.jpg)

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


ну вот то жи схемко, лишнее - можно и убрать)
Если внимательно, а главное - трезво! вглядеться, то это - одна и та же схемка :)

DDp
27.03.2018, 21:56
Ты лучше подскажи, как "синхонизация с развёрткой" осуществляется
Ждуны (http://zx-pk.ru/threads/28907-apparatnyj-emulyator-radio-86rk-na-esp8266.html?p=956624&viewfull=1#post956624) - какие ещё нужны комментарии? ;)

heavy
27.03.2018, 22:19
Дома - работает. Здесь нормальная, классическая сетка с вайфаем.
И еще. частенько забываем, что в режиме вайфая импульсно свисток жрет немалый ток. У меня ESP регулярно отваливается от сети, надо цепи питания жирнее сделать.
Конденсатор пожирнее, да поближе к ЕСП обычно спасает. Хотя мне попадалась партия (конкретно ESP-03), у которых была проблема с радиомодулем. Наверное, 80% ушло в брак. Там как раз была проблема, что не видела сетей, не подключалась итд.




Из отчетностей - с компом работают две клавиатуры из четырех.
Работают без проблем обыкновенные китайские большие клавы.
Но совсем не работают слим-клавы, компактные.
Colorvis и Ehere отказались. С прочими железяками они работают нормально.
Чую, что здесь дело в не самом лучшем подключении к МК. Сигналы с клавиатур обычно подтягивают резисторами 10к к +5 питания, а требуемый уровень получают стабилитронами (типа BAT54, например) или прочими способами.

Судя по мануалу, по которому я делал, подтяжка вверх есть уже в клавиатуре. Там подтяжка десятки кОм, оба пина дергаются открытым коллектором. Получается, у меня разность напряжений 1,7В. При учете, что я подключаю через резисторы 510 Ом, то даже если в клавиатуре напрямую линии будут подключены к +5В (хотя такого быть не может - тогда невозможно будет ей управлять), то ток будет 3,3мА. У всех процессоров на портах есть встроенные защитные диоды (есть исключения, но в ЕСП они есть) и обычно до 5 мА через себя без проблем скидывают. Тут же получается ток через встроенные защитные диоды порядка 0.1 мА (исхожу из того, что CLK и DATA в клаве подключены через 10кОм на +5В) . Потому считаю, что внешние защитные диоды просто избыточны.
Если есть возможность - прописать бы осциллом или лог.анализатором.

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


Распаял на монтажке, намана становятся.
Заработали слим-клавы.

Что сделал, чтобы заработало ? Можешь дать больше деталей, что было и стало на пинах ?

Ewgeny7
27.03.2018, 22:39
Если есть возможность - прописать бы осциллом или лог.анализатором.
По приведенной тобой схеме, которая только с резисторами, со слим-клавиатурами - цифровой анализатор показывал удивительные вещи.
Данные по линии PS2_DAT шли нормально, а вот PS2_CLK - с сильными искажениями, импульсы могли вообще пропадать, или частично повторять эпюры сигнала данных, вместо обычного меандра синхроимпульсов.
Осциллографа нет, поэтому более детальной информации - увы.
После распайки деталей по схеме, что я выше приводил (4 резистора и 2 диода/стаба) - оба сигнала с клавиатуры стали "чистыми", клавиатуры заработали, соответственно.

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


подтяжка вверх есть уже в клавиатуре
На это рассчитывать не стОит. Клавиатуры когда-то может и делались по стандарту. А сейчас.... Китай...
Тем более, выходные каскады там наверняка сделаны с открытым коллектором, поскольку клавиатуры также и получают данные извне, а не только отправляют.
А насколько там коллекторы притянуты к питанию - одному дядюшке Ли известно.

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


Конденсатор пожирнее, да поближе к ЕСП обычно спасает.
Есть конденсатор, да видать, нужно пожирней, спасибо!

heavy
27.03.2018, 22:44
По приведенной тобой схеме, которая только с резисторами, со слим-клавиатурами - цифровой анализатор показывал удивительные вещи.
Данные по линии PS2_DAT шли нормально, а вот PS2_CLK - с сильными искажениями, импульсы могли вообще пропадать, или частично повторять эпюры сигнала данных, вместо обычного меандра синхроимпульсов.
Осциллографа нет, поэтому более детальной информации - увы.
После распайки деталей по схеме, что я выше приводил (4 резистора и 2 диода/стаба) - оба сигнала с клавиатуры стали "чистыми", клавиатуры заработали, соответственно.


Странно, в моей схеме есть подтяжки вверх (правда на +3.3В). Можешь попробовать, оставив только диоды ?

Ewgeny7
27.03.2018, 23:09
Можешь попробовать, оставив только диоды ?
Уже сложно, клубок мелких отрезков МГТФа разбирать - не очень хорошая идея.
А притягивать сигналы с клавиатуры на 3.3 - ну не знаю... так никогда не делали. И наверняка - неспроста.

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

В режиме вайфая настройки подключения не сохраняются?
Конденсатор не помог, а каждый раз выбирать сеть и вводить пароль - не очень комильфо.
Хорошо бы при потере подключения автоматом подключаться к последней сети.

zebest
27.03.2018, 23:33
Хорошо бы при потере подключения автоматом подключаться к последней сети.
Хорошо бы. А так да - теряются.. Или в какой нить их ini-файл прописать

vazman
28.03.2018, 09:40
Мой девайс тоже, вроде, заработал. Я прошил ESP-01 обратно в родную прошивку. Подключился putty, используя enter+CTRL-J
смог подключиться к домашней сети. Потом прошил прошивку РК. И после этого он, после нажатия пробела в режиме WI-FI даже не высвечивая списка сетей и не запрашивая пароле, выдал ай-пи, по которому к нему подключаться в браузере.

siemensC35
28.03.2018, 15:50
" Я тебя слепила из чего было "
А можно CH_PD подвесить на Reset свистка на СН340 ?
https://s9.postimg.org/tn53k2xt7/IMG_20180328_154533.jpg (https://postimg.org/image/tn53k2xt7/)

Ewgeny7
28.03.2018, 15:53
Тиски - сила! :)

siemensC35
28.03.2018, 15:54
удобно для мелких плат просто

Ewgeny7
28.03.2018, 15:56
А можно CH_PD подвесить на Reset свистка на СН340 ?
Я просто на +3,3 питания завел, без шаманства.

siemensC35
28.03.2018, 16:03
Я просто на +3,3 питания завел, без шаманства.
это не интересно, нада свой изврат внести всегда

zebest
28.03.2018, 16:11
А можно CH_PD подвесить на Reset свистка на СН340 ?
Извиняйусь спросить - ЗАЧЕМЪ!? Для прошивки?? так один раз прошить проггером, а потом то по воздуху можно??

Ewgeny7
28.03.2018, 17:19
а потом то по воздуху можно??
Вероятно - да. Покажите пунктик в меню, гидэ обновление по воздуху? :)

zebest
28.03.2018, 17:45
Покажите пунктик в меню, гидэ обновление по воздуху?
http://s2.micp.ru/cC9iI.jpg

siemensC35
28.03.2018, 18:46
зависло или я не отрицаю шо я тупой?
https://s14.postimg.org/ad9wjg3gd/image.jpg (https://postimg.org/image/ad9wjg3gd/)

vazman
28.03.2018, 18:55
зависло или я не отрицаю шо я тупой?
https://s14.postimg.org/ad9wjg3gd/image.jpg (https://postimg.org/image/ad9wjg3gd/)

не находит свисток. передёрнуть ему питание, причем чтоб GPIO0 был притянут к 0. у меня иногда со второго-третьего раза только находиться...

siemensC35
28.03.2018, 19:14
не находит свисток. передёрнуть ему питание, причем чтоб GPIO0 был притянут к 0. у меня иногда со второго-третьего раза только находиться...
в сети фотки притяжки к 1 . но всеравно что 0 что 1 . все едино

Ewgeny7
28.03.2018, 19:29
zebest, сразил. Наповал.
А я туда даже и не прокручивал экран :)

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


в сети фотки притяжки к 1 . но всеравно что 0 что 1 . все едино
таки 0.
Пробуй и пробуй снова. Подавай питание при притянутом на землю пине.

siemensC35
28.03.2018, 19:40
таки 0.
Пробуй и пробуй снова. Подавай питание при притянутом на землю пине.
0 так ноль,
1) втыкаю програматор
2) втыкаю юсб с питанием.
В програме должны определиться AP и STA МАС .а у меня нит
https://s7.postimg.org/ps3x0ltmf/IMG_20180328_193610.jpg (https://postimg.org/image/ps3x0ltmf/)

Ewgeny7
28.03.2018, 19:52
В програме должны определиться AP и STA МАС .а у меня нит
Они определяются после начала загрузки.

zebest
28.03.2018, 19:57
0 так ноль,
я вышее писАл, что я замыкаю IO0 на землю, подключаю питание и отпускаю. Потом спокойно программЛю. кратко временно! замыкаю:)

siemensC35
28.03.2018, 20:11
я вышее писАл, что я замыкаю IO0 на землю, подключаю питание и отпускаю. Потом спокойно программЛю. кратко временно! замыкаю
я уже все перепробывалъ . гугль написаль . что если появляеться вифи точка то замыкание происходит нормально. но вот почему энта дич не хочет шить мне пока не понятно

vazman
28.03.2018, 20:17
не знаю - по-моему, если появляется wi-fi точка - то стартанула основная прошивка.. А надо, чтобы bootloader. Может, конечно, я и ошибаюсь..
Ещё раз. CH-PD на плюс, GPIO0 - на минус. Также подключены GND, VCC,RXD и TXD

siemensC35
28.03.2018, 20:30
Ещё раз. CH-PD на плюс, GPIO0 - на минус. Также подключены GND, VCC,RXD и TXD
мой косяк походу в GPIO0 который я не присрал на массу но это уже все не сегодня...

siemensC35
29.03.2018, 11:30
вообщим подключил я именно так как на картинке а толку уж как от дырки бублика. все тоже что и вчера с разницей в том что теперь нет вифи точки ( вторая еыр-01)
из лога видно Note:Begin find ESP8266. - что оно ее находит
https://cs8.pikabu.ru/post_img/big/2016/12/17/11/1482001677160612384.png

vazman
29.03.2018, 12:48
:Begin find ESP8266
имхо - она только начинает её искать? Не?

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

у меня даже когда не находилась ESP-01, на ней часто мигал синий светик.. Тогда передёргивал её питание.. иногда несколько раз. Каждый раз перед этим нажимая stop,а потом старт

siemensC35
29.03.2018, 13:08
имхо - она только начинает её искать? Не?
я так понял что находило. в другой програмке его виидит, пишет название тчк доступа итд. Вот с почты забрал с китая вторую а она вообще не реагирует на это все

Ewgeny7
29.03.2018, 13:13
гм.... А почему на схеме нарисовано прямое соединение GPIO_0 на землю? Там кнопка должна быть (или просто временное замыкание сигнала на землю).
После подачи питания на схему эта цепь разрывается.

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

Еще версия - посмотри в свойствах подключенного свистка-адаптера скорость порта. Нужно ставить не менее 115200 бод. Иначе выйфайка не законнектится.

siemensC35
29.03.2018, 14:45
Прогрес мать ио
Warning:Serial port closed by user.
Note:Serial port connected.
Note:Begin find ESP8266.
Note:ESP8266 ACK success.
Error:Read ESP8266 register timeout.

обращу внимание, китайский свищ без гемороя прошивался ( мне без статического пакета братишки прислали и флешка 25й80 ноунейм)
а вот взятый в месном радиомагазе беснует. на нем винбондовская флешь

ALS
29.03.2018, 17:15
В "магазины" обычно закупают самое дешевое, что находится на том же Али.
Чтобы к этому малобюджетному добру можно было накрутить еще 400%.

А по факту, на этом вашем "магазинном", наверняка, отсутствует ставшая почти стандартной подтяжка GPIO_0 к +3,3в.
Поэтому после снятия пина с GND он, будучи в неопределенном состоянии, и беснуется...

siemensC35
29.03.2018, 19:13
энто я знаю по виду одно и тоже . номагазинскую я прошивал уже впаяную . еще грешу на это . ну а пока ищу где скомуниздить стаб на 3.3

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

а вообще лучше всего на барахолке затариваться, там точно все "нашару"

ALS
29.03.2018, 21:07
стабы на 3,3в можно сдуть с плат старых CD-ROMов

siemensC35
30.03.2018, 15:45
" Сдуть ".... интересное словечко но мы бедные студенты у нас есть токо "атшахи" и "снизначительными" . еще есть вариант "три диода"

работает по типу ИК паяльника, ну а тапками не кидайте, я застрял в 86г:)
https://pp.userapi.com/c846419/v846419860/1056e/fI8ttMGIvq4.jpg

Shumadan
30.03.2018, 16:11
" Сдуть ".... интересное словечко но мы бедные студенты у нас есть токо "атшахи" и "снизначительными" . еще есть вариант "три диода"

работает по типу ИК паяльника, ну а тапками не кидайте, я застрял в 86г:)
https://pp.userapi.com/c846419/v846419860/1056e/fI8ttMGIvq4.jpg

Это что за агрегат?

siemensC35
30.03.2018, 16:34
Это что за агрегат?
прикуриватель, содрана оболочка и хороший АТ бп. удобно мосфеты итд снимать

ALS
30.03.2018, 17:41
" Сдуть ".... интересное словечко
"Сдуть" происходит от фена паяльной станции, который именно дует горячим воздухом.
Можно, конечно же, и выпаять, но обычно SMD-компоненты сдувают.
Ваш кэп :)

SoftFelix
30.03.2018, 22:27
Сегодня пришла вот такая (https://ru.aliexpress.com/item/1-CH340-esp8266-nodemcu-V3-Lua-WI-FI-32/32837163912.html) платка.

https://ae01.alicdn.com/kf/HTB143ZdgzlxYKJjSZFuq6yYlVXa7.jpg

Помогите определиться с нахождением нужных выводов.

1. RxD - TxD вроде вижу - нижний ряд 3-ая-4-ая нога слева TX-RX. Оно? Вроде как подключены к CH340 через 470 Ом и 340-ая не должна на них влиять.
2. С питанием всё понятно.
3. RST - верхний ряд, 3-яя слева?
4. Затык с ногами GPIO0, GPIO2 и CH_PD.

15-ый билд залился в эту плату нормально через программатор по USB. Правда, флешку по умолчанию не менял, а в данной плате она стоИт аж на 32 мегабита. Критично? Поменять, перепрошить?

Разобрался. Нашёл такую картинку.

https://pradeepsinghblog.files.wordpress.com/2016/04/nodemcu_pins.png?w=616

siemensC35
31.03.2018, 14:43
чот накупился я этих стабилизариков но на выходе на холостых 4,3в при подаче 4,9в. эт норма или не оч ?

Upd: ну это уже гониво . 5шт перепаял именоо 1117-3,3 и у всех 4,3 на вых

heavy
31.03.2018, 21:41
На гитхаб выложил 16-ю версию. Времени, к сожалению, сейчас очень мало, но проект не забрасываю !
Ссылка для скачивания:
https://github.com/klad-me/RK8266/tree/master/builds/16

По изменениям:
- Сделан звук на GPIO14. Кто использует ESP-01 - его можно подпаять прямо на проц, у кого другие платы - все намного проще.
- Улучшена поддержка ВГ75. Тесты теперь, по-моему, отрабатывают корректно. Кадровая синхронизация (для флага) тоже сделана.

По Вашим вопросам:
- Масштаб по ширине оставил новый. Проверил все хорошенько - 64х25 при 10 линиях на символ влазит везде. Все что шире, по-моему не стоит поддерживать, т.к. оно залезает на области синхронизации и гашения.
- Относительно спец-команд для ВГ75 типа end-of-row и end-of-screen. Проверял - вроде как все работает по документации. Если есть некорректное поведение - жду файл с тестом и описание, что не так - буду править.

http://klad.me/rk8266/2/rk8266_9.png
http://klad.me/rk8266/2/rk8266_10.png

polikarpov76
31.03.2018, 22:30
- Сделан звук на GPIO14. Кто использует ESP-01 - его можно подпаять прямо на проц, у кого другие платы - все намного проще.
Примерно вот так (https://esp8266.ru/esp8266-esp-01-hacked/):
https://i1.wp.com/esp8266.ru/wp-content/uploads/ESP-01-hacked.jpg

siemensC35
31.03.2018, 22:41
а там часом схемы нету нольпервого, ибо я уже по дури снес какую-то СМД букашечку

есесно модуль с картинки выше не такой

zebest
01.04.2018, 00:04
Примерно вот так:

Требуются прямые руки, орлиный глаз и высокий скилл пайки.
Оттуда же. я бы сказал оч. высокий скилл. Или микроскоп.
По воздуху то обновилась, но не работало. Пришлось по-старинке прошивать.
По играм.
2048 - не работает. Что обидно, самая моя любимая игра.
Xonix - как бы работает, но играть невозможно, с любым скиллом, Клавиатура похоже не успевает реагировать :(
Баннер теперь нормально. Вполне медленно.
По тесту с псевдографикой. Сама то псевдографика рисуется правильно, на второй картинке нормально, а вот на первой.. Там нижние строки скорее всего смещены вправо. Кстати в эмуле это так же криво, но эму лю - простительно, там то постольку поскольку

polikarpov76
01.04.2018, 01:23
а там часом схемы нету нольпервого, ибо я уже по дури снес какую-то СМД букашечку

есесно модуль с картинки выше не такой

Они в деталях могут отличаться. Вот тут (http://cxem.net/arduino/arduino175.php) реверсили:

http://cxem.net/arduino/images/arduino175-2.jpg

И тут (https://nurdspace.nl/ESP8266):

https://nurdspace.nl/images/thumb/5/58/Esp8266_schema.png/800px-Esp8266_schema.png

barsik
01.04.2018, 01:48
http://klad.me/rk8266/2/rk8266_9.png
Эта картинка отражает реальность или несколько дополнительных клавиш просто для красоты? Т.е эти клавиши есть только в данном эмуляторе, а в реале с подключенным контроллером PS/2 клавиатуры эти клавиши отсутствуют.

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

На базе этой микросхемы можно сделать самый дешёвый в мире терминал. До сих пор самый простой терминал на базе Atmega содержал 7 корпусов http://qsl.net/rw6hrm/html/8bitdisp.htm.

Можно сделать несколько режимов отображения (64*25, 80*32 или 53*21) с качественным шрифтом 9*16 и выходом на VGA, что сейчас многим требуется, т.к современные телевизоры перестали выводить обычный TV-сигнал.

Такой дешёвый текстовый дисплей имел бы успех, т.к удобен для любой рэтро 8-ми разрядки, если понадобится на ней редактировать тексты, причём освободив при этом для нужд CP/M кучу ОЗУ (что при обычном видеовыводе занимает графический экран). В конструкторской практике терминал удобен как временное устройство индикации при отладке контроллеров.

Кстати, терминал со скоростью 75/300 бод стоил в 1975 ~1000/1500 USD и ~600 USD со скоростью 9600 бод в начале 80-тых. Думаю, что можно получить скорость обмена быстрее, чем 9600.

heavy
01.04.2018, 07:45
ну как бы да. Псевдографика уже покрасивее выглядит, но вот эти "хвостики" как справа на Enter-e и др. буквах - смущают. Не должно быть их. Как и подчеркивания полсе PRESS ANY KEY...
Перепроверю конечно.

Посмотрел данные на экране - последний уголок там с активным флагом подчеркивания, т.ч. хз как правильно отображать. Сделал, что флаг подчеркивания активен только для символов из знакогенератора.

По поводу клавиатуры - есть идея, где вносятся тормоза. Буду исправлять.
По 2048 - непонятно, что там происходит. Может кто-то сможет подсказать ? Или начинать встраивать отладчик ?

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


Эта картинка отражает реальность или несколько дополнительных клавиш просто для красоты? Т.е эти клавиши есть только в данном эмуляторе, а в реале с подключенным контроллером PS/2 клавиатуры эти клавиши отсутствуют.

Это просто программа от zebest для проверки псевдографики. Раскладка моего эмулятора по кнопке ESC.

zebest
01.04.2018, 10:09
Эта картинка отражает реальность или несколько дополнительных клавиш просто для красоты?
Это раскладка для FPGA-реплики. И да, я не вступаю в теологические споры, эмулятор это, симулятор, курица или яйцо. Это мимо меян.
Nie jest to oczywiście replika 1:1, ale funkcjonalny odpowiednik, umożliwiający również uruchamianie gier typu Xonix i 2048 z RK86.
И из картинки-программы не видно, что по клавише Alt+F12 идет сброс в Микрошу, а по Ctrl+F12 - в Апогей. Это так, к слову.
И

Это просто программа от zebest для проверки псевдографики.


По 2048 - непонятно, что там происходит. Может кто-то сможет подсказать ?
Ну так может подсказать автор, все тот жЫ Незабвенно-Великий DDp, он уже разок заглядывал на огонёк.
Насколько знаю там не совсем стандартный экран?


Посмотрел данные на экране - последний уголок там с активным флагом подчеркивания, т.ч. хз как правильно отображать. Сделал, что флаг подчеркивания активен только для символов из знакогенератора
вот наверное строго наеборот. Флаг подчеркивания активен для обычных символов, а для символов псевдографики у у них преимущество, и рисуются именно они и только. По крайней мере мы так с Sorgeilig-ом решили исходя из мануалов этого чипа. Обратное пока то жи никто не доказал.
И курсор именно в этом тесте есть. Но его не должно быть, если он попадает на ячейку с включенным флагом атрибутов. Как то так.
а , да, картинко забыль :(
http://s1.micp.ru/gf7w0.jpg

Ewgeny7
01.04.2018, 11:59
До сих пор самый простой терминал на базе Atmega содержал 7 корпусов
Скажем так, правды ради, самый простой терминал содержит всего один корпус, саму Атмегу.
Всё зависит от запросов.
Если достаточно 40х25 и UART-интерфейса, то можно не паять лишнего.

Pyk
01.04.2018, 12:08
Это просто программа от zebest для проверки псевдографики.
heavy, а зачем эмулировать то, чего в реале нет?
Как я уже говорил, этой псевдографики нет на РК и, насколько я знаю, нет ни в одном из его клонов...

zebest
01.04.2018, 12:46
зачем эмулировать то, чего в реале нет?
я так понимаю реал для тебя - это каноничный почти-компьютер с 16к ОЗУ из Журнала Радио за 86 год? Без ВИ53, без ВИ1, без второй ППА, без РОМ диска и SD интерфейса, без SRAM и Z80, без цвета ? Ну а чо. не было, значит и потом не считается.
В твоем эмуле нет поддержки - ну и нет. Это уже обсуждали. У b2m какая никакая поддержка псевдОграфики есть? ну и хорошо, что он ее не выпилил вовремя. Выпилит - буду пользоваться старыми версиями.
В версии Радио-86 для DE1 от него же тоже нет псевдографики.
сейчас это же псевдографика вполне может работать на тысячах MisT и MisTer, на полутысяче ZX Uno (ye при условии елси вообще заинтересует этот раритет) ну и на полтора AEON (это чисто для себя любимого).
Да, я попросил heavy (http://zx-pk.ru/members/8673-heavy.html), если его не затруднит сделать и тут поддержку. Он сделал, за что ему и за это отдельная благодарность. Это на что то повлияло?? хоть на одну программу\игру?
что вы так цепляетесь, было\не было. Автор эмулирует ВГ75 - вот пусть эмулирует правильно, за что ему честь и хвала.
Такая точка зрения и ответ принимаеЦЦа ?

Ewgeny7
01.04.2018, 13:05
Подпаял проводок для звука к лапке МК. Ничего сложного.
Плюмкает, а что еще можно от него ожидать? :)
Обновление по воздуху вроде как работает, по крайней мере программы из флеши пропадают бесследно.
Но КМК, не хватает вывода номера версии прошивки где-нибудь.
Игра Лодеруннер, достаточно бешенная сама по себе, вообще не играбельна по скорости. Файлик тут (https://yadi.sk/d/rEf5E9NC3TxYoX).
Ну и остается в силе просьба о автоматическом подключении к последней сети. Ибо отваливается сеть практически после каждого залитого файла.

barsik
01.04.2018, 13:06
Я так понимаю реал для тебя - это каноничный почти-компьютер с 16К ОЗУ из журнала РАДИО за 1986 год? ... Такая точка зрения и ответ принимается ?
Никто не против полной поддержки ВГ75 (это пригодится при эмуляции Роботрона-1715, который тоже чёрно-белый).

Просто некоторых удивило, что бесполезные 11 аппаратных графических символа ввели, а гораздо более полезные доработки - альтернативные фонты, доп.ОЗУ 8400...BFFF, доп.ПЗУ C400...F7FF и ROM-диск не ввели.

zebest
01.04.2018, 13:16
некоторых
Ключевое слово.
а по мне так
бесполезные 11 аппаратных графических символа интереснее, чем

ROM-диск 64/128/256 кб - который именно в данной реализации нафик нужен при наличии SPI и WiFi.
Впрочем - заинтересуйте автора. Или сами допилите. Проект открытый. Не?

barsik
01.04.2018, 14:05
Или сами допилите. Проект открытый. Не?Не все тут умеют и любят программировать микроконтроллеры. Не хочу тратить последние годы жизни на то, чтобы это изучить. Это хобби многими ценится потому, что оно для простого, всем понятного, железа и с простым, всем доступным, программированием.

Имею РК86 с мелкими доработками. Я за простейшие самые логичные и совместимые доработки, т.к, похоже, это единственный способ хоть немного улучшить РК86. В данном случае мой интерес в том, что чем в большем числе конструкций можно использовать фонты, доп ОЗУ и ПЗУ, тем более желательными и программно поддерживаемыми они станут.

Естественно, если изделие использутся только для запуска игры XONIX, то ROM-диск абсолютно не нужен. Зато наличие ROM-диска ближе к реалу, позволяет проверять правильность компоновки ROM-дисков перед прошивкой в реальное ПЗУ и использовать DOS (стартующие из него и) использующие ROM-диск (например, CP/M с подкачкой CCP + BDOS не с дискеты, а из ROM-диска).

Не понимаю, почему, если есть возможность, не сделать подобную "мелочь", которая по трудоёмкости реализации в программе на многие порядки проще, чем всё остальное.

Кстати, ни у кого нет мнения, что данное изделие обнуляет шансы для выпуска новых плат новоделов РК86 ? Т.е это последний шанс, хоть что-то улучшить. И именно потому в нём нужны доработки.

Pyk
01.04.2018, 14:31
Такая точка зрения и ответ принимаеЦЦа ?
Конечно :) Я понял твою точку зрения и то, что это было сделано по твоей просьбе.
А повлиять оно действительно почти ни на что не повлияет, ну разве что на пару игр типа "Чудовища" или "Liquid Sky".
Нужно ли ради этого делать псевдографику отключаемой - решать автору.

Вообще, я не уловил почему-то тенденцию реализации псевдографики в FPGA, поэтому и был несколько удивлен ее наличию в этой разработке.
Могу и в свой эмулятор добавить опциональную поддержку, если это действительно нужно (мне даже мысль такая в голову не приходила).
Уже есть какие-то разработки, использующие псевдографику, кроме приведенного теста?

zebest
01.04.2018, 14:51
Подпаял проводок для звука к лапке МК. Ничего сложного.
Плюмкает, а что еще можно от него ожидать?
Обновление по воздуху вроде как работает, по крайней мере программы из флеши пропадают бесследно.
Но КМК, не хватает вывода номера версии прошивки где-нибудь.
Игра Лодеруннер, достаточно бешенная сама по себе, вообще не играбельна по скорости.
это да, Лодруннер тут ваще летает. Ксоникс в принципе так же сильно ускорен.
Про номер версии прошивки я тоже думал уже.
Обновление то и у меня прошло, файлы затерлись, но после передергивания питания не запустилось.
Плюмкает. А интересно, если через оставшийся элемент "или-не" пропустить - buzzer раскачает пьезоизлучательный?

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


ну разве что на пару игр типа "Чудовища"
На чудовище ни разу не повлияет. На оригинальную версию. А про вторую игру тоже вряд ли, но могу проверить

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

за игру "Чудовище" я уже писал, много столетий назад

http://rk86.ru/catalog/CHUDOV.RK/CHUDOV.RK-1.png

На сайте http://rk86.ru/catalog/ версия под Партнер, даром что написано для РК. На РК как раз она неиграбельна, если хоть кто то в этом понимает. (или играл)
я под РК ее портировал, ну и заодно отдельно под аппаратную псевдографику. а5 же, для "себя любимого" .Запрещаете мне это делать?

Ewgeny7
01.04.2018, 15:26
А интересно, если через оставшийся элемент "или-не" пропустить - buzzer раскачает пьезоизлучательный?
У меня на баззер и выведено, прямо с МК.

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

Кстати, никто не помнит кнопок управления в игре ТРАССА, где за рулем жигуля сидишь?

Pyk
01.04.2018, 16:19
zebest, переделывать никто не запрещает, даже наоборот: раз уж есть на чем, то интересно было бы посмотреть на что-нибудь еще переделенное или изначально написанное под псевдографику.

Кстати, похоже, что оригинальной версии "Чудовища" для РК действительно нигде нет, есть только переделанная под "Партнер", где задуманное изначально чудовище с рожками превратилось в непонятно что...
А liquid sky сейчас доступен для Апогея, хотя возможно когда-то существовал оригинал и для РК...

zebest
01.04.2018, 16:36
А liquid sky сейчас доступен для Апогея
ну да, для РК я в своих архиваХ не нашел, а архивов точно больше одного.

есть только переделанная под "Партнер"
Ну возможно под Партнер оно и писАлось. Там экранные адреса не совпадают, из-за этого все сдвинуто и возможен вариант, что само чудовище за пределами рамки. Как повезет.А рожки там или что - это дело третье)
я дизассемблил ИД-ой и собирал взаново. Под Апофигей то жи собирал.
Сейчас проверю.

http://s1.micp.ru/90woS.jpg

вместо чудовиСча тут у меня нолик рисуется, не помню из каких соображений. Но экранные адреса на месте

http://s2.micp.ru/6M5J7.jpg

Тут с рожкамЕ. Так что коллизий и конфликтов из-за добавления "11 ненужных псевдосимволов" быть не должно. Впрочем каждый решает себе самъ

Pyk
01.04.2018, 16:45
zebest, похоже, что оригинал Liquid Sky был для Микроши, есть в архивах LIQSKY.RKM.
А Чудовище вряд ли писалось под Партнер, так как на Партнере символ чудовища из-за различий в знакогенераторе отображается совсем некрасиво, в отличие от "чертика с рожками" на РК... К тому же и адаптация на Партнер там кривоватая... Так что оригинал скорее всего также был для РК или Микроши, но утерян...

Ewgeny7
01.04.2018, 17:11
Есть мнение (голос из-под дивана), что можно расширить объем ОЗУ до 52кб, аки у Апогея. Далее, где-то хранить конффайл, где хранить настройки конфигурации, и иметь возможность перемаппировать системные порты между Радио-86РК_32кб и Апогей-БК01 (с подменой Монитора, разумеется). Воть... К апоГею можно будет еще и штатный 580ви53 прикрутить, если тайминги позволят.
Все-таки, Апогей - это теплая ламповая вершина 86РК-строительства. Даже черно-белый вариант.

zebest
01.04.2018, 17:17
К апоГею можно будет еще и штатный 580ви53 прикрутить
а чей та не к Радиву то жи?? Там то же есть что послушать. Но видимо ресурсов на ВИ53 не хватит.

Ewgeny7
01.04.2018, 17:47
а чей та не к Радиву то жи?? Там то же есть что послушать. Но видимо ресурсов на ВИ53 не хватит
Ну, если основной цикл эмулятора укладывался в симуляцию 8МГц, то уж ВИ53 должно потянуть на 2МГц :)
Но это виднее только автору.

Можно и к Радио, просто нужно не отключать его, а оставить на портах Апогея, это один из вариантов подключения таймера к РК.

DDp
01.04.2018, 18:06
По 2048 - непонятно, что там происходит.
Там, типо, баг. Вместо адреса 0E00xH DMA контроллера был 0F00xH. На классическом РК это не имеет значения, DMA адресуется в диапазоне 0E000H...0FFFFH. Глюк проявится, если установлен контроллер FDD (http://zx-pk.ru/threads/11319-radio-86rk-podklyuchenie-diskovoda.html) или хитрый эмулятор ;)
В сообщении (http://zx-pk.ru/threads/10161-radio-86rk-igry.html?p=695856&viewfull=1#post695856) обновил вложение (http://zx-pk.ru/attachment.php?attachmentid=64838&d=1522594092). (CRC32 файла 2048.rkr E7527D5C, РК-сумма в нём 692A)

Pyk
01.04.2018, 18:54
В сообщении обновил вложение.
Сорри за небольшой оффтоп, кто-нибудь может проверить версию для Микроши на реале?
В emu80 без звука идет...

Pyk
01.04.2018, 19:36
Вопрос снят, со звуком все ок, просто в предпоследней версии эмулятора что-то сломалось...

Error404
01.04.2018, 22:45
На базе этой микросхемы можно сделать самый дешёвый в мире терминал. До сих пор самый простой терминал на базе Atmega содержал 7 корпусов http://qsl.net/rw6hrm/html/8bitdisp.htm.


Уже есть такое (https://hackaday.io/project/9992-low-cost-vga-terminal-module). Поссылке самый дешевый (50р вместе с разъемами, сам контроллер 20р.) и самый микроскопический (влезает в корпус разборного переходника RS-232<->RJ45) терминал VT100/52. Клавиатура PS/2, выход на VGA (монохром), связь с хостом по RS-232.

Ewgeny7
01.04.2018, 23:44
heavy, еще одна хотелка, возникла при работе в пакете "Микрон" :)
Было бы полезно сделать перезапись, если имена файлов магнитной ленты совпадают при сохранении.
Иначе очень быстро вырастает целый ворох файликов.
Ну или хотя бы иметь возможность удалить ранее записанный магнитофонный файл, не прибегая к помощи большого ПЦ и вайфая.
А например, выйдя в меню "загрузка образа магнитной ленты" - выбрать файл и нажав кнопу, не загрузить его, а - удалить.
Так хоть порядок можно будет поддерживать.
Хотя, вариант с перезаписью был бы вообще шикарен.

heavy
05.04.2018, 09:35
Готовая 17-я сборка эмулятора:
https://github.com/klad-me/RK8266/tree/master/builds/17

Изменения:
- Переделай файловый менеджер
- Сделана сортировка файлов по имени
- Перезапись существующих файлов
- Отображение версии прошивки
- Убраны тормоза клавиатуры (при быстром нажатии нескольких кнопок они терялись)
- Немного переделан интерфейс

По поводу того, что забывает подключенную WiFi-сеть - я у себя такого не замечаю. Попробуйте программатором сделать полное стирание флэшки, а потом уже запись прошивки, возможно в секторах для параметров WiFi какая-то ошибка. Если не поможет - сделайте, пожалуйста, видео глюка.

В общем тестируем и отписываемся о результате !

heavy
05.04.2018, 14:00
С клавиатурой получше стало. В ксоникс уже можно играть, но общая скорость игры субъективно повыше.
Псевдографика подправлена, спасибо отдельное.
По воздуху снова не обновилось, вернее после передергивания питания не завелось. Там предлагается перегрузить, так вот, можно кнопку перезагрузки со стороны браузера??
И все же по скорости. Запускал сейчас LodeRunner и Xonix в эмуле, скорость ощутимо медленнее в эмуле, я бы сказал раза в два.
Скорее всего слишком быстро ВГ75 отрабатывает вместе с ВТ57, DMA тут работает шустрее.? так то процентов 20 оно общее быстродействие то тормозит?? Или больше должно?

Я держу частоту эмуляции проца на 1.78 МГц. В этом, видимо, и причина - не учитываю, что в реальности DMA отжирает шину. Вроде где-то слышал про фактические 1.35 МГц. Сколько лучше ограничение сделать ?
По поводу обновления - действительно, проблема есть. Только что окирпичил эмулятор в корпусе клавиатуры. Буду разбирать и сливать прошивку, чтобы понять что пошло не так..

zebest
05.04.2018, 14:28
Я держу частоту эмуляции проца на 1.78 МГц. В этом, видимо, и причина - не учитываю, что в реальности DMA отжирает шину. Вроде где-то слышал про фактические 1.35 МГц. Сколько лучше ограничение сделать ?
Сложный вопрос в действительности. Например считаем число ПИ. Там будем считать чисто проц работает, и как бы экраном НЕ ОСОБО не тормозится общее быстродействие. Один вариант.
Второй вариант - - ну например же эти две игры. Тут все на экране и в динамике, видимо нагрузка на связку ВГ75+ВТ57 побольше на реальном компутере, и общее быстродействие должно упасть, ну и картинка рисоваЦЦа помедленнее.
по быстродействию вычисления ПИ как бы я раньше проверял, было сопоставимо с реалом. Сейчас не знаю.
Задержку куда нибудь бы в связку ВГ75+ВТ57 добавить, динамическую, чем больше обращений, тем больше тормозим. Ну и наеборот.
Можно предположить, где обращения к экрану через монитор идут - там более менее скорость будет ровная, но в играх наверняка ПДП\DMA напрямую программили, для увеличения общего быстродействия построения экрана. imho
upd
Что еще подумалось. Хоть проц то команды выполняет по тактам более менее похоже?? не за один такт, что в принципе тоже возможно.
Перепроверил вычисление ПИ. У автора - , надеюсь на реале:), 5 мин 10 сек, тут - 5 мин 12 сек. Так что тут сопоставима общая скорость

Pyk
05.04.2018, 16:27
Вроде где-то слышал про фактические 1.35 МГц. Сколько лучше ограничение сделать ?
Каждая выборка ПДП из памяти отжирает примерно 4 такта. Получается, что в обычном режиме видео каждую секунду теряются примерно 78*30*4*50 = 468000 тактов, что дает примерную итоговую частоту 1,32 МГц.

zebest
05.04.2018, 16:30
Но жестко ограничивать частоту на 1,32 то жЫ нельзя. я например ПИ буду считать на реале с выключенным ПДП. И что?? Тоже фигня, сильный разбег по быстродействию будет.

barsik
05.04.2018, 16:50
что дает примерную итоговую частоту 1,32 МГц.
Удивительно, что этот теоретический результат совпадает с моим замером.

Хотя возможно, что точную величину эффективного (т.е реального) такта РК86 сказать нельзя, т.к он зависит от кода конкретной программы. Я определял реальный такт РК86 в начале 90-тых запуская одну программу на ОРИОНЕ и на РК86 и засекая по секундомеру время прогона. Получилось 96 секунд и 182 секунды. И с помощью арифметики скорость РК получилась ~1.31 МГЦ. Но увы, ОРИОН был на Z80, так что это совсем не точный результат.

Но это только в режиме ВГ75, что устанавливается по сбросу (30 строк). А в графических играх, что ставят обычно 36-38 строк, быстродействие существенно падает. А в ещё более высокой High Resolution графике быстродействие падает, кажется, до 800 КНЦ. Заметно поднять скорость прогона можно понаставив стоп-байты для ПДП за последней стандартной позицией строки (начало строки +7 +64) и в начале пустых строк бордюра, но лучше не на каждой строке, т.к при полудохлых ОЗУ может пропасть регенерация.

Чтобы сделать эмуляцию точной, нужны замеры на реале при разном числе отображаемых строк. И все эмуляторы должны подстраивать скорость прогона в зависимости от числа строк. А в RK-DOS ВГ75 перенастраивается на более короткую длину пакета ПДП, что возможно тоже влияет на скорость прогона.

SegaBoy
05.04.2018, 17:06
При стандартных для РК86 настройках ПДП, во время отображения строки символов контроллер ПДП прерывает процессор во время первых четырёх линий (столько ему надо для загрузки следующей строки символов). Следующие линии строки отображаются без прерываний.
Из этого следует что в при размере высоты строки по умолчанию в 10 точек (первая и последняя не отображаются) - контроллер прерывает процессор первые четыре строки и следующие шесть не трогает. Но при изменении формата строки на высоту в 8 точек (так называемый "экран без разрывов) прерывания случаются уже четыре раза из восьми. Получается в таком случае и "средняя" частота процессора будет отличаться от частоты по умолчанию.

heavy
05.04.2018, 17:31
Исправил ошибку в загрузчике, из-за чего не работало обновление по WiFi. На гитхаб выложил 18-ю прошивку.
По поводу торможения ПДП уже понял. Сделаю максимально приближенно к настящему РК. Буду считать такты ПДП, которые забирает ВГ75 и менять частоту эмуляции.
Врядли сегодня успею, но завтра 99% будет к вечеру.