Эмуляторы I8080/КР580ВМ80A и Радио-86РК на JavaScript

Советский компьютер Радио-86РК (1986) и его клоны

Moderator: Shaos

User avatar
alexcp
Senior
Posts: 183
Joined: 11 Jun 2012 07:30

Re: Эмуляторы I8080/КР580ВМ80A и Радио-86РК на JavaScript

Post by alexcp »

Благодарю! Все работает!
begoon
Maniac
Posts: 282
Joined: 22 Aug 2012 17:06
Location: 188.220.42.216

Re: Эмуляторы I8080/КР580ВМ80A и Радио-86РК на JavaScript

Post by begoon »

alexcp wrote: 21 Jun 2026 05:45 Все работает!
А что именно ты думаешь добавить в память с e000?

Что если сделать универсальный интерфейс для загрузки и выгрузки памяти РК по USB?

Объясню. Я, например, хотел бы иметь реальный ванильный РК, по полной классике, но на SRAM (например, как твой оригинальный SRAM РК, что ты мне отдал, где в допПЗУ был бейсик).

Но! Мне б не хотелось возиться с программатором, переставлять микросхемы и пр. Что если оборудовать 100% ванильный РК по схемотехнике рядом стоящим USB-доступом в память.

РК будет работать как обычно, и не будет ничего знать о USB соседе. Сосед же, например, что-то на микроконтроллере, будет иметь возможность полностью останавливать процессор и загружать или выгружать блоки памяти через USB. Остановка не будет портить память, ибо SRAM.

USB со стороны компьютера будет, например, терминал с каким-то командами для загрузки и выгрузки памяти.

В итоге, мы будем иметь 100% ванильный родной РК, но без необходимости ленты или ее эмуляции, перепрограммирования ПЗУ и пр. Все, что будет нужно - это любой комп рядом с USB, с которого можно тривиально и очень быстро запускать программы.

Надеюсь, мысль донес.
Damir
Senior
Posts: 109
Joined: 21 Feb 2017 06:54
Location: Казань

Re: Эмуляторы I8080/КР580ВМ80A и Радио-86РК на JavaScript

Post by Damir »

begoon wrote: 20 Jun 2026 22:44 Забыл добавить: кнопка "upload" в моем ассемблере загружает результат ассемблирования в эмулятор без запуска, чтобы не нужно было постоянно через точку останова останавливать запуск.
ВО !!! Спасибо за класический вариант ! Попробовал -работает.
Но к новому я тоже успел привыкнуть ! Правда у меня WIN7 и все преимущества по сохранению состояния не работают, приходилось каждый раз кнопкой upload загружать и менять цвет на dark тоже - это тоже не сохраняеться. я про это и не знал, пока в 10-ке не запустил на ноуте - там красота, все сохраняется и сразу можно начинать!! Поэтому кнопку upload хорошо бы оставить., а для загрузки кода в эмулятор добавить новую кнопку ?
begoon
Maniac
Posts: 282
Joined: 22 Aug 2012 17:06
Location: 188.220.42.216

Re: Эмуляторы I8080/КР580ВМ80A и Радио-86РК на JavaScript

Post by begoon »

Сделаем.
begoon
Maniac
Posts: 282
Joined: 22 Aug 2012 17:06
Location: 188.220.42.216

Re: Эмуляторы I8080/КР580ВМ80A и Радио-86РК на JavaScript

Post by begoon »

Теперь есть и load (для загрузки в эмулятор) и upload (для загрузки в редактор) кнопки.
load.png
You do not have the required permissions to view the files attached to this post.
Damir
Senior
Posts: 109
Joined: 21 Feb 2017 06:54
Location: Казань

Re: Эмуляторы I8080/КР580ВМ80A и Радио-86РК на JavaScript

Post by Damir »

Расскажу про свой вариант компьютера Радио86РК полностью на ОЗУ статике 64К без ПЗУ и с выводом на ЖКИ индикатор.
Весь проект полностью смоделирован в Протеусе и начальные схемы присутствуют на этом сайте в разделах ещё Один РК в Протеус и Апогей в Протеус.
Сейчас у меня конфигурация такая :
Процессор и др. БИС - КР580ВМ80, КР580ВВ55-2шт., Кр580ГФ24,
ОЗУ - 61512Ф - 64К , с 0-7FFF - сплошное по классике, с 8000 - FFFF c пропусками по 16 байт на 8000, А000, С000, Е000
причем в Е000 можно при старте записать и потом только читать. защиту от записи этой области памяти можно записать в дешифратор.
Дешифратор адресов - 537 РУ17 - записывается при старте.
вместо ВТ57 и ВГ75 работает Атмега32, которая в том же режиме ПДП читает экранную область и организует вывод её на ЖКИ экран (8бит параллельный). Так как читает ПДП быстрее а обновлять ЖКИ можно реже - скорость процессора увеличилась прим на 20%
При старте Атмега32 считывает информацию со сменного носителя по SDA типа 24С256 - 32К - в которой записаны коды для дешифратора адресов и программы "Монитор" для выбранной конфигурации и любую программу пользователя ,например для РК с Е000 у меня грузится прога для работе с флешЕЕПром 24Q32 - 4Мб
Изначально было 3 конфигурации - РК86, Апогей Цв. Специалист, - соответственно для каждой конфигурации грузится свой дешифратор и Монитор. SDA память быстросменная и можно менять Мониторы и проги.
Дешифратор можно дополнять до любой нужной конфигурации.
Все пространство памяти и дешифрации сменное и можно смоделировать любую конфигурацию, например недавно познакомился с ОРИОН128 и решил его добавить . В монохромном режиме зарботало сразу, а вот для цветного режима пришлось добавить ещё одну страницу памяти 64К и немного изменить схему - добавить регистры страниц и цвета. Смоделировал в Протеусе и допаял на макетке . Сейчас занимаюсь тем что пишу проги для Ориона для загрузки его обьемных программ с SPI Флешь памяти 4Мб .
2026-04-27_16-OR.jpg
You do not have the required permissions to view the files attached to this post.
Damir
Senior
Posts: 109
Joined: 21 Feb 2017 06:54
Location: Казань

Re: Эмуляторы I8080/КР580ВМ80A и Радио-86РК на JavaScript

Post by Damir »

begoon wrote: 22 Jun 2026 02:43 Теперь есть и load (для загрузки в эмулятор) и upload (для загрузки в редактор) кнопки.
ОК! Спасибо. проверил - работает !!
User avatar
alexcp
Senior
Posts: 183
Joined: 11 Jun 2012 07:30

Re: Эмуляторы I8080/КР580ВМ80A и Радио-86РК на JavaScript

Post by alexcp »

begoon wrote: 22 Jun 2026 02:17 А что именно ты думаешь добавить в память с e000?
Что если сделать универсальный интерфейс для загрузки и выгрузки памяти РК по USB?
И это тоже. Я недавно играл с micro:bit. Когда его подключаешь по USB, для настольной ОС он выглядит как USB drive. В него можно скопировать .hex файл, и этот файл начинает выполняться. на micro:bit. Если есть WebUSB (например, в Chrome), то даже файл не нужен - можно прямо в браузере нажать кнопку и перепрограммировать micro:bit. Удобно.

Для РК кмк есть несколько вариантов разной степени сложности и полезности. Самый простой для ванильного РК - это эмуляция все того же магнитофона. Настольная среда разработки общается с РК по аудио каналу, РК пользуется Монитором для загрузки-выгрузки. Большой плюс - РК не требуется менять. Минус - медленно, неудобно, при выгрузке из РК нужно думать об адресах. Так много кто делал, в том числе и я.

Второй - добавить в РК новый интерфейс, который в РК будет занимать несколько адресов в памяти, а со стороны USB выглядеть как (быстрый) последовательный порт. Я так тоже делал, на FT245R. Поскольку памяти в РК немного, получается быстро, скорости последовательного порта хватает. Для РК нужно будет дописать код. Я тогда адаптировал для РК монитор от отладчика NoICE, но можно написать какой-нибудь XMODEM или еще чего-то, по вкусу.

Третий - сделать подобие того же micro:bit, добавив в РК модуль на микроконтроллере c USB, который будет, к примеру, приостанавливать процессор РК и читать и записывать ОЗУ и ПЗУ. (Запись в ПЗУ потребует доп. модификаций из-за все того же ВТ57). Это выглядит довольно сложно - много кода и железа - хотя, конечно, не невозможно.

Четвертый - добавить в РК возможность читать и писать файлы на USB флешке путем добавления модуля на каком-нибудь CH376S. Это немного похоже на недавний вариант РК с CompactFlash, но без вымирающих CompactFlash карт и без ограничений, связанных с реализацией FAT на РК. Для РК придется написать подобие ОС.