Комментарии 176
Все же использовать Arduino в роли периферийного контроллера - перебор. при своих 16МГц она не будет ничего успевать делать - что и показал ассемблерный дебаг.
Я сейчас делаю похожую задачу - делаю плату для дебажного порта пишущей машинки на базе Z80 на 2.5МГц. Ее задача мониторить адрес/данные системной шины и по usb выплевывать Коната трассу того что там такого выполняет проц. Прошивка явно живая - активничает по периферии, но внешне машинка не работает :)
Так вот смотрю на BlackPill на базе stm32f411 и думаю - а хватит ли мне 100МГц для такого или половину времени буду WAIT держать? В описанном в статье эксперименте отношение частот 1к32, у меня 1к40... Быть может лучше ПЛИС на роль периферии?
Это правда - с Arduino получилось больше мороки, но я этого не понимал с самого начала, так что использовал то, что было под рукой. Дальше, когда буду наращивать периферию, попробую использовать что-нибудь более шустрое. ПЛИС я трогать не хотел, так как опыта разработки очень мало, да и в схемотехнике не очень силен. Не хотел получить второй активный излучатель багов.
Мне кажется (но я не экспертен), что успевать выплевывать plain text трассу, не зажимая WAIT, при таком соотношении частот маловероятно, так как только на формирование строк уйдет пару десятков инструкций. Я хочу попробовать, пока у меня не появилась STM-ка, держать перед Ардуиной логическую схему, которая будет дергать её за прерывания, чтобы избавиться от ветвлений в обработчиках и дать себе большего пространства для маневра. Хотя думаю, что дело в итоге все равно придет к ПЛИС.
Ну, отладить логику взаимодействия и т.д. и т.п. вполне можно и на Ардуине -- скорость в данном случае не требуется. А перенести уже отлаженное будет, думается, несложно.
Я буду пробовать, спасибо большое за рекомендации!
Если будут вопросы, спрашивайте: тут пока что ещё довольно много тех, кто с подобными древностями работал :)
PКогда-то очень давно я эмулировал ПЗУ для z80@500кГц. За давностью лет ничего не сохранилось уже, но выглядело это примерно так:
Init:
.org 0x0000
cli
ldi r16, 0xFF
out DDRC, r16 ; data bus. Out
out DDRE, r16 ; сигналы wait, rdy, etc. Out
clr r16
out DDRA, r16 ; addr low. In
out DDRB, r16 ; addr high. In
out DDRD, R16 ; сигналы mem, rd, etc.
ldi r17, mask ; для проверки сигналов mem, rd, etc.
ldi r18, flags1 ; wait, rdy, reset, etc. Variant 1
ldi r19, flags2 ; wait, rdy, reset, etc. Variant 2
ldi r20, flags3 ; wait, rdy, reset, etc. Variant 3
out PORTE, r20; reset on
nop
nop
nop
out PORTE, r18 ; reset off
Loop:
out PORTE, r19
in r16, PORTD
or r16, r17 ; проверяем, что из нас читают.
brne Loop
in ZL, PORTA
in ZH, PORTB
inc ZH
lsl ZL
rol ZH
lpm r16, Z
out PORTC, r16 ; данные
out PORTE, r18 ; сигналы
rjmp Loop
Org 0x0100
.db ...
16Мгц атмеги против 0.5 у цпу = 32 такта атмеги на 1 цпу.
Регистры приведены условно, текст программы примерно - как идея.
На прерываниях атмеги точно не хватит, только как грубый автомат.
Upd: потерял два out ещё, в DDRC , для перевода в Hi-Z.
Если вы не стремитесь к максимальной скорости и точности временных интервалов, то можно легко решить задачу без всяких ПЛИС. Сорок лет назад это делалось одним корпусом триггеров. Вот примерная схема для пошагового выполнения команд. На каждое нажатие кнопки выполнялась одна команда и процессор останавливался. Этот кусок схемы был откуда-то утянут, может что-то и напутано в полярности сигналов, давно это было. Так как Arduino не дает дребезга можно оставить только второй триггер, подключив вывод Arduino прямо к тактовому входу триггера. Сигнал /SYN это инвертированный SYNC.

Ооо, как просто! Спасибо, я соберу себе для отладки. Но в целом логика поведения меня меньше челледжит, чем попадание во временные интервалы, потому READY дергать не хочется до последнего
Собственно говоря, что вас смущает в использовании READY? Он и придуман для работы с медленной периферией и памятью. Представьте, что Arduino это память с выборкой 5 или 10 микросекунд, лень считать точно. Arduino получила прерывание, без спешки выставила данные эмулируемой памяти, толкнула триггер RDY и ждет следующего прерывания. Для запуска системы и начальной отладки более чем достаточно. Можно и процессор перевести на 2 МГц, все будет работать.
Как развитие темы можно сделать отладчик на Arduino, с хардварными точками останова, трассировкой ну и дальше насколько хватит фантазии.
В любом случае сейчас это все на порядки проще чем тактовая кнопка и 24 светодиода на линиях адреса и данных для пошаговой отладки.
Радио-86рк дебажили пошагово примерно этим поделием
Я делал минимальную схему на старой ПЛИС для запуска 8085 и Z80. До 8080 руки как-то не дошли. В принципе и на Ардуино всё это можно реализовать, если не гнаться за скоростью. Можно, как подсказали ниже, использовать RDY, а можно и тактовую частоту понизить. Только у 8080 есть нижняя граничная частота, кажется около 200кГц.
Не бойтесь ПЛИС, это довольно просто и наглядно. Не надо собирать макетку, паять перемычки и т.п. Всё можно нарисовать в режиме схемного ввода или на каком-либо языке описания схем и сразу прошить в чип. И если что-то не заработало, за минуту найти и исправить ошибку.
8080 есть нижняя граничная частота, кажется около 200кГц.
У ВМ80А если я не ошибаюсь нижняя частота 500КГц, собственно на них он у меня и ходит.
А так да, спустя два дня чтения комментариев я прогнал максимализм и уже предельно близок к тому, чтобы подрубиться к READY и достать плисину)
Если интересно, вот ссылка на мой проект 8085 на ПЛИС. https://zx-pk.ru/threads/34792-i8085mini-i-plis-(cpld).html

Меня вот статья подобная вашей, правда про спектрум, как раз и побудила заняться ПЛИС. Очень уж не хотелось искать и паять 40 корпусов :)
Ну, иногда интерес как раз в том, чтоб на рассыпухе сделать. Хотя трудоёмкость та ещё, конечно, при этом :)
На рассыпухе собирал пару штук еще в детсве с отцом, в начале 90ых, чисто механически, не особо понимая. Сейчас было интересно полностью разобраться как спектрум устроен. И уверен что один из лучших способов это сделать, это повторить дизайн самостоятельно на ПЛИС :)
На рассыпухе свои приколы бывают, которые в ПЛИС воспроизвести иногда затруднительно (во всяком случае, без "уговоров" средств синтеза делать то, что ты требуешь, а не то, что они считают правильным :) ).
Но вот, скажем, проц от СМ-1420 в лоб не перенесёшь: тайминги шины и т.п. вещи там сделаны на одновибраторах, т.е., по сути, на аналоговых схемах. Естественно, при реализации такого в ПЛИС придётся конкретно эти вещи переделать.
Ещё можно вспомнить про активное использование линий с открытым коллектором и с тремя состояниями на рассыпухе, что на ПЛИС в лоб сделать, опять-таки, не получится. Скажем, ту же двунаправленную шину данных любого микропроцессора внутри ПЛИС не сделаешь, придётся делать отдельно шину приёма, отдельно шину передачи -- и так для всех устройств, которые в исходном компьютере висели на одной двунаправленной шине.
Это вы ещё ВМ80 не собирали на ПЛИС, который имеет 2 внутренние шины и каждая из них использует ёмкость этой самой шины как память в пределах такта. А ещё она в фазе F1 пречерджится...
Да, в извращениях толк знают не только месье... :)
В общем, подозреваю, на ПЛИС было бы проще разработать его с нуля -- также при сохранении потактовой совместимости и всё такое.
Ну мы после декапа и реверса по сути так и поступили. Сделали конверсию nMOS в CMOS, от чего модель подняла планку частоты сверху (это из-за самой ПЛИС), и опустила нижнюю планку частоты до 0, делая его full static, как какой-нибудь AVR. После понимания всех секретов внутренней кухни оказалось лучше сделать подробный пересказ-изложение, чем списывать слово-в-слово. Модель проходит экзорциста на 100% будучи приаттаченной к реальной плате (я подключал FPGA девборду через плату-адаптер с шифтерами уровней) из этого поста: https://habr.com/ru/companies/yadro/articles/873740/comments/#comment_27786720
А как насчет использования ESP-шки? Там и частота будет приемлимая. А если сама логика может работать и при очень низких частотах, то можно и напрямую всю инфу о сигналах и уровнях на пинах выводить через COM порт на монитор и анализировать.
пишущей машинки на базе Z80 на 2.5МГц.
А что за машинка, если не секрет?

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

Слева у платы как раз расположен краевой разъем для дебажных плат (есть даже фотографии подобных устройств) - там шина адреса, данных и все линии управления процессором. Также там можно поставить 2кб епромку - она будет расположена по адресу 0х3800 и после ребута управление уйдет на нее, с полным доступом к драйверам устройства по нижестоящим адресам.
Процессор живой, все CS шевелятся, но визуально никакого движения на машинке пока нет. Я в процессе дебага.
Я помню машинку Ромашка, со шрифтом на ромашке. Она была на ВМ80А.
Если ваша Ромашка выглядела так же как моя - то знаю такую. Я еще находил ПЭЛК "Элема" - по внешнему виду и механике 1к1 как роботрон, но мат. плата на ВМ80А. Явно более новая разработка нежели роботрон - уже два корпуса ПЗУ и один корпус ОЗУ. Но более простая - семисегментников на ней нет спереди, только светодиоды. Сейчас в муромском кибер-музее выставляется.
Другие машинки с Ромашкой мне тоже попадались, более компактные. Но процессор там был зарубежный, какой - уже не помню.
Нет. «Ромашки» делали на 1801, микросхемном клоне PDP-11.
Круто! Удачи в работе! Пишите почаще!
Можно ещё RP2040, он двухбашковый. Одно ядро можно тупо на перефирию, а второе по DMA подсовывать данные на выдачу и обратно. По идее должно хватить. Но я что-то не поборол двухядерность, всё кривое.
Я сразу FPGA начал использовать, чтоб был запас для 8080, который крутится на частоте 3.125 МГц. По моему опыту даже частота в 1МГц с трудом переваривается не самыми мощными микроконтроллерами.
Хотя, может, поздние варианты и поддерживали частоты свыше 3 МГц, но, вроде б, предел везде 2,5 указывается... Впрочем, обычно работает; кажись, в заводском Векторе его на 3 МГц как раз и гоняли.
А ПЛИС -- откопали старую, 5-вольтовую, или преобразователи уровней лепите?
1) Если говорить строго, то нужно гарантировать порядок подачи питания, причём -5 В идут первыми, иначе проц имеет полное право сдохнуть. Учитывая, что сам БП никакого порядка не гарантирует, единственный способ -- делать свой... скажем так, контроллер питания, который пропускает на проц напряжения в нужном порядке. Правда, я неоднократно встречал слухи, что у советских процов поздних выпусков это требование стало необязательным: в принципе, это вполне возможно, ведь та же Интел через какое-то время выпустила 8085, чуть ли не важнейшим отличием которого стало только одно напряжение питания (отрицательное смещение научились вырабатывать "на борту"), который у нас тоже клонировали -- КР1821ВМ85, если склероз не изменяет.
2) Для отладки Ардуина вполне пойдёт; я сам временами использую её для разборок с логикой работы сложных микросхем, когда документация не даёт полного ответа или допускает двоякое толкование. Но для нормальной работы в качестве периферии, увы, не подходит. Я вот для аналогичной, но несколько более объёмной задачи (эмуляция периферии для СМ ЭВМ, в девичестве PDP-11) рассматриваю какой-нибудь мощный ARM -- скажем, GD32H7 с ядром Cortex-M7 на 600 МГц, ну а память будет настоящей, только на относительно современных (1990-х годов) микросхемах статического ОЗУ.
ПЛИС в роли периферии смотрится лучше, но там сразу кучу геморроя с согласованием уровней, ведь ПЛИС, поддерживающие +5 В, найти сложно, их выпуск прекращён много лет назад. Но такой вариант тоже рассматриваю, но, вероятно, как "продолжение банкета": отлаживаться по понятным причинам проще на микроконтроллере.
3) Достать почти все микросхемы 580-й серии пока ещё возможно. Самый дефицит, похоже, -- КР580ВВ79, которая применяется мало где (из любительских, кажется, только в ЮТ-88).
4) А вот в те годы (года эдак до 1987-88) "достать" означало прямо или косвенно украсть, ибо купить легально даже какую-нибудь К155ЛА3 было проблематично (в магазинах были лампы, транзисторы и несколько типов аналоговых микросхем -- и, по большому счёту, всё). Фактически, так сделали и разработчики Микро-80: где-то было то ли интервью, то ли рассказ о его создании, там и говорилось, что им в контору ошибочно прислали К580ИК80 (раннее название этого проца), которого ещё ни в каких справочниках не было, но они имели доступ к буржуйской литературе, кто-то связала советское название с 8080 -- и они из того, что было, слепили комп. Не по заданию конторы, а по собственному желанию использовали целую кучу государственных микросхем. Как только им не ай-ай-ай :)
Самый дефицит, похоже, -- КР580ВВ79, которая применяется мало где
Я вообще не помню применения в самоделках. Только к 1816ВМ48/51 подключали
Необязательность подачи минус 5 вольт возникает только в одном случае: если +12 В снизить до +5В. В любых, и в старых, и в новых. Но старые при этом не работают совсем, а новые кое-как, с пониженной частотой (в частности, на РКшных 1,7 МГц), но работают.
А так -- в качестве крайнего варианта допускалось документацией подавать и снимать -5 В одновременно с другими напряжениями.
Огоспаде, -5в это "смещение подложки", напрямую оно ничего не питает, только, собственно, подложку (большую часть кристалла мсх) смещает к -5в. Если -5в не подать, то что будет? Ну, пороговые напряжения у транзисторов чуть уползут, может быть вдруг даже работать правильно не сможет пока -5в не подадут. В чуть более новых чипах, например Z80, таковое смещение вырабатывалось прямo на кристалле, простым мультивибратором и выпрямителем-умножителем. Вдолгую отсутствие -5в как-то там влияет на дрейф атомов-загрязнителей из той самой подложки в транзисторы и нарушению их работы. Но в течение секунды -- никак не повлияет.
Если быть совсем точным, то -5 был жизненно необходимым для первого поколения, который маркировался как К580ИК80. Он ещё в керамике был.

И первые экземпляры второго поколения, которые маркировались как К580ВМ80.

Суть его в том, что на тот момент чистота кремния была недостаточной поэтому получались паразитные токи, которые приводили к открыванию транзисторов и как следствие - тепловому пробою. Отрицательное смещение эффективно боролось с ними. И действительно - требовался только потенциал, ток был минимальный, буквально единицы мА. Что касается последнего поколения, которое маркировалось как КР580ВМ80А напряжение подложки требовалось, однако отсутствие не приводило к мгновенному выходу чипа из строя, потому что качество кремния заметно повысилось. Личный опыт игры с парой десятков чипов при сборке и эксплуатации этого процессора в ЛК "Орион-128.2" показал то, что чип выдерживает даже свап его на ходу, но я, конечно же, не советую так делать.
И действительно - требовался только потенциал, ток был минимальный, буквально единицы мА.
скорее даже мкА, но проверять лень)
1988-1989, Киев (УССР), радио-кружок при КЮТ - мы травили платы, паяли, собирали, тестировали и учились работать на тех самых "игрушечных" Микрошах и Корветах. Абсолютно бесплатно! Причем все компоненты/материалы нам выдавали, тоже бесплатно! Загнивающий СССР, чё вы хотели!
В 89 году мы переезжали из Киева - а в кружке как раз начали собирать несколько комплектов "Радио-86РК". Но я не знаю, собрали или нет.
Так вот, всю серию логики К155 можно было купить без проблем - приходишь в магазин, заказываешь, через некоторое время забираешь. А вот с серией 580 было сложнее.
1989 -- это уже самый конец СССР, когда "социализм" уже, по сути, дал дуба; тогда в продаже что-то появляться стало (всякие спекулянты стали торговать уже открыто, а не из-под полы, а что-то и само государство стало, наконец, гражданам продавать). А попробуйте купить, скажем, в 1980-м -- фигушки. Зато дорогого Леонида Ильича можно было лично послушать.
Кроме того, Москва, Ленинград, Киев, Минск -- это далеко не весь СССР, так снабжение и всё такое прочее было намного лучше, чем в целом по стране. Недаром была типа загадка: длинное, зелёное, колбасой пахнет (ответ: электричка из Москвы).
Наконец, кружки -- это вообще ни разу не показатель, поскольку это организация -- а попробуй купить как частное лицо. (Ну и читай в таких условиях Хоровица с Хиллом про возможность заказа по почте чего угодно хоть из Мухосрановки-на-Аляске, а не только из Нью-Йорка).
В Ленинграде, году так в 1989 купить хоть что-то из микросхем 580 серии в гос.торговле был шанс только в одном магазине на весь 5-миллионный город - "Электроника" на пр. Гагарина. И то - сугубо ножками приехать и убедиться, что сегодня не повезло :)
Микросхемы помельче - да, проскакивали в "Юных техниках" (штуки 3 магазинов на весь город)
Проц Z80 (я тогда ZX-Spectrum собирал) - тоже практически в одном месте можно было найти. На (тогда ещё неофициальной) толкучке около "Юного Техника" на Краснопутиловской :)
Вы удивитесь но в кружках и ныне все бесплатно. По крайней мере в школьных. Хотя кружков по сравнению с тем, что было в союзе, стало меньше.
Лет несколько назад, когда младший активно ходил по кружкам - было ощущение, что кружков, по сравнению с советским периодом, стало поболее.
Районные и городской дворцы/дома пионеров - переименовались, но никуда не исчезли.
Появились "Кванториумы" (современные аналоги домов пионеров; также бесплатные) - со всякими техническими прибамбасами.
Плюс различные платные кружки - тоже снимают остроту вопроса и резко уменьшают очереди на попадание в бесплатные.
Вспоминая своё пионерское детство в Ленинграде: записаться в кружок/секцию - тот ещё квест был (по крайней мере - в не-особо центральной части города, где мы тогда жили). Надо было строго в самом конце августа прибегать...
Районные и городской дворцы/дома пионеров - переименовались, но никуда не исчезли.
Только там как-то всё тихо и уныло, по сравнению с теми временами...
Из опыта ребенка:
Кванториум (у нас он при детской железной дороге) оказался унылым, HTML изучали.
Из кружков: роботы на Lego Mindstorms (до 11 лет, потом выгнали типа неинтересно будет), предлагали 3D моделирование (принтеры и вот это вот все), но выбрал программирование и удава питон. В школе на трудах в 5 классе изучали Лего (те же роботы), сейчас всякий инженерный САПР (типа компаса), обещают Ардуину, но без паяльника.
В целом даже продвинутые кружки по робототехнике, которые во всех соревках участвуют, останавиваются на типовых (отработанных поколениями - каждый год на соревнованиях одни и те же роботы) конструкциях роботов из желудей, палок и профилей, внутри ардуино/ягода и упправление со смартфона.
Где то при авиазаводе еще есть авиамодельный кружок "мейд ин СССР", но это надо очень фанатом быть.
Вполне можно использовать 3,3 В ПЛИС'ки с 5V tolerant входами. На приём адресов от 8080 будет работать эта фича, а на передачу данных к 8080 будет работать "естественное" согласование уровней при передаче от 3,3 V CMOS к (LS)TTL, описанное ещё у Хоровица с Хиллом (ЕМНИП).
На ютубе Алексей, любитель советских компов подробно собирал недавно микру 80.
Vinxru если не ошибаюсь
Даа, он подогревал во мне интерес все время ковыряния в этом проекте!
Отличный гайд по Микро-80 и Океан-240(весьма грамотная ЭВМ)
https://www.youtube.com/@Alemorf/videos
ЗЫ: Очень понравилось в цикле по Микро-80 модификация дисплейного адаптера.
Надо сразу взять Xilinx Spartan и реализовать на нём всё, как создатели ZX Spectrum Next сделали :-) Правда, из-за дороговизны и дефицита в последних реализациях они на другой FPGA перешли.
Впервые слышу про СБМ-20 в советских светофорах, да и поиск ничего не находит.
Мне сказали, что это детали светофоров, я там нашел СБМ-20. В этом и абсурд ситуации)
Думаю, что это часть системы городского мониторинга. А датчики ставили на светофоры, т.к. удобно и есть, где провода сигнальные протянуть
Думаю, дедушка просто не мог сказать внукам, что таскает детали с военного завода. Вот и приплел светофоры.
Решил собрать «Микро-80» на макетных платах по схемам
Это жестоко! Но только за такую безбашенность можно поставить плюсик!
Ну а к высказанным выше в комментах рекомендациям использовать FPGA - присоединяюсь.
зы. Микро-80 у нас в те годы в целом заработал, но дисплейный модуль мы так и не допаяли..
Я дисплей запустил в свое время, лет 30 назад, но в 2025-м заниматься подобной фигнёй занятие сомнительное. Охота поковырять ретро, можно запитлить 8080+8275+8279+память на каком нибудь циклоне. И то прикольные бы смотрелось. Впрочем это мое личное ИМХО, никому не навязываю.
Это все же немного не то )
я периодически "думаю мысль" сделать эмуль PDP11/СМ4. Но лень пока побеждает...
Ностальгирую периодически тут https://skn.noip.me/pdp11/pdp11.html
Boot>boot rk1
...
.SH AL
RT-11SJ V04.00C
Booted from RK1:RT11SJ
Resident Monitor base is 150076 (53310.)
USR is set SWAP
TT is set NOQUIET
Indirect file abort level is ERROR
Indirect file nesting depth is 3
PDP 11/70 Processor
FP11 Hardware Floating Point Unit
Extended Instruction Set (EIS)
KT11 Memory Management Unit
Cache Memory
VT11 Graphics Display Hardware
60 Cycle System Clock
No SYSGEN options enabled
А реально в этом эмуле первый юних от кернигана и ритчи запустить, вроде исходники выложены? В жизни рт 11 ( на укнц) звапускал, хотелось бы юних пощщупать...
А я вот сейчас делаю несколько подпиленный римейк проца СМ-2420.01 -- в тырнетах есть схема и техописание, ну а это первый проц, какой в своё время я разобрал по косточкам, так сказать (году эдак в 1987-88) :)
Так они существуют. Есть программные, есть на ПЛИС...
Насколько знаю, Микро-80 с своём первозданном виде, описанном в изначальных статьях в журнале "Радио" - был без схем печатных плат. Только принципиальные схемы. Собирать предлагалось каждому по своему разумению. То есть - на макетных платах по факту.
Без советского кассетного магнитофона будет не то
Какой ваш любимый замок в Героях 3 ? :)
Подержи моё пиво!

Ого, крутоооо! Чем занимаются ПЛИСы? Один формирователь управляющих сигналов, насколько я догадываюсь, а второй делает страничную адресацию памяти судя по 512К Flash? Или это регенерация DRAM? А есть сорцы в открытом доступе?)
Это просто чипсет, который заменил россыпуху. Вариант с россыпухой у меня тоже есть.
В открытом доступе с гербер файлами есть проект Сергея Кисилёва radio-86rk. Его я ещё не собирал, но Micro 8088 того же автора отлично заработал с первого раза.
При запуске такого от стороннего проца можно чуть упростить свою жизнь с паяльником.
На 8080 гарантированно нужна только напаянная ОЗУ-шка. Их сейчас реально найти и на все 64 кило.
На внешний контроллер надо завести: шину данных, reset, wr, rd, ready. Возможно, что-то ещё, сейчас уже надо думать чуть больше минуты.
Быстродействие внешнего проца тоже не важно при простейших довесках жёсткой логики снаружи.
Как выглядит процесс:
по сбросу проц читает первую команды всегда одинаково. Ставит адрес и читает "ПЗУ" – несколько раз. Далее, может быть, например, переход по новому адресу, или цикл записи данных.
Если сделать подсовывание от внешнего проца своего кода "из ПЗУ", можно имитировать выполнение заданной программы. Для замедления шустрости зажимая ready. Минимально надо всего два варианта таких циклов:
reset; mov al,BYTE; mov ADDRESS,al; дать процессору записать BYTE по ADDRESS; reset --- если такое повторяется много раз, в нужной области ОЗУ появляется нужная нам программа. BYTE и ADRESS мы подсовываем нам нужные, в каждом цикле разные.
reset; jmp ADDRESS; отпускаем шину = запускаем свеже-записанную в ОЗУ программу.
Минимально этого уже хватит. Ready зажимается немедленно по падению WR или RD и отпускается по установке необходимого байта на шине адреса. 8080 сам заканчивает цикл. Если это делать, программу можно вообще грузить из компа по UART на любой скорости. Альтернатива – контроллер должен отрабатывать всё очень быстро. Загруженная в ОЗУ 8080 программа может уже самостоятельно, например, переписать нужный кусок во флэшь.
Спасибо большое за совет. Именно этим я сейчас и занимаюсь: пытаюсь загружать программу в SRAM, а потом отпускать проц ее исполнять.
На 8080 гарантированно нужна только напаянная ОЗУ-шка
Подскажите, пожалуйста, почему? Чуть позже я все равно это распаяю, но пока делаю 10 ошибок на квадратный сантиметр хотелось бы держаться макетной платы.
пытаюсь загружать программу в SRAM, а потом отпускать проц ее исполнять.
А зачем? Поставьте 32 кБ SRAM в верхние адреса, а в нижние какую-нибудь EEPROM/FLASH ПЗУ тоже на 32 кБ. Запишите в это ПЗУ программу получения данных и команд, скажем, по SPI с каких-либо портов (тут вам ВВ55 пригодится, помнится) ну, а ардуино пусть эту программу и передаст.
Разумно! Спасибо большое за совет! Я почему-то думаю о своей ардуине как о панацее. Надо прекращать)
Дам ещё совет не брать К580. А взять Z80. Ему только +5 В нужно.
580ВМ80 может работать только от +5, на -5 подаем землю, на +12 подаем +5. При этом снижаются частотные характеристики, но работоспособность сохраняется, проверено практикой.
Выше этот момент с напряжениями разбирался. Конкретный экземпляр может и не завестись. Это не штатная работа. Для Z80 (Т34ВМ1 или КР1858ВМ1) же это штатная гарантированная работа.
100% это не штатный режим, но именно ВМ80 я не встречал не работающих в таком режиме (конечно мои эксперименты не показатель), в журнале, откуда я это когда взял, по-моему Р-Л каких то 90-х годов, писали что ИК80 ранние выпуски просто не работают в таком режиме, более поздние какие-то работают какие то нет, а ВМ80 вроде как должны.
Я читал в ВК в обсуждениях 580 такие комментарии:
"Если не дать 580му +12 и -5 он издохнет! Проверено практикой!!!"
Так что у кого-то оно из строя-таки выходило.
ну если -5 и +12 в воздухе оставить при подключенной линии +5 то вероятно может быть и такой исход
Я надеюсь, автор этого сообщения их в воздухе не оставлял. Это ж глупость неописуемая. :)
вот, оставлю здесь ссылку на первоисточник, для интересующихся: публикация в 8 номере "Радиолюбителя" за 94 год. Гильманов, И. "Микропроцессор КР580ВМ80А в экономичном режиме". https://www.radioman-portal.ru/magazin/radiolubitel/1994/8.php
После прочтения, поскольку идея очень понравилась, тащить три источника действительно хлопотно, попробовал на нескольких экземплярах своих процессоров, на простейшем подключении, лишь бы начал команды считывать, убедился что действительно работает. Ну и память меня конечно подвела, ничего про особенности ИК против ВМ в статье не говорилось, видимо где-то в другом месте встречал, и возможно без привязки к экспериментам с питанием. Была какая то статья про историю разработки 580-й серии, может в Радио, но это уже не найду, да и не так важно это.
Если говорить конкретно за ИК80 и ВМ80(А), то вся разница у них в верхней границе тактовой частоты и зависимость от питания. Всё это следствие качества кремния.
А вот если сравнивать ППА К580ИК55 и КР580ВВ55, то там есть большая разница в поведении. Например, если порт настроен на выход есть разница в том, что считается (FF, регистр вывода или физические ноги). Подробности уже не помню, увы.
Всё-таки между 8080 и Z80 есть принципиальная разница. В первом нет 'depletion mode' транзисторов (тех, у которых пороговое напряжение ниже нуля), во втором есть. Из-за этого первому и нужны 2 напряжения питания: обычная нмос-логика без 'depletion mode' транзисторов не дотягивает выходными уровнями до напряжения питания, но если мы её запитаем от +12в, то уровни будут достаточные, чтоб иметь честную "лог. 1" в 5 вольт на выходе, т.к. nmos-транзистор, соединяющий выход и шину 5в уже можно открыть уровнем, взятым от 12-вольтовой логики.
В случае с Z80 это всё не нужно, т.к. 'depletion mode' транзисторы работают как "идеальные" пуллапы, могущие дотянуть выход до 5в.
Потому, что Вас утомит разбираться как именно процессор выполняет тот или иной вариант кода. После сброса всё легко, надо изучить всего две-три последовательности: запись по адресу, переход на адрес, можно ещё чтение адреса. Далее повторяете то-же самое Х раз, или Y раз. В принципе, этого хватит, но можно ещё что-нибудь придумать для тестирования запускаемой серии :) . Так легко записать прогу в ОЗУ и запускать её там - но это всё.
А вот подсовывать процу нечто более сложное, это означает надёжно разобраться, предсказывать, где ему нужен фетч, где чтение данных, а где запись данных. Плюс к этому - прерывания, всякие системные состояния... Ох, утомит быстро. Из плюсов - начнёте понимать, как работают процы изнутри и что такое их конвеер. ...
Смиритесь с тем, что ОЗУшку всё-же надо/придётся паять и получите удовольствие :)
Ready полезно, т.к. быстродействие внешнего контроллера вообще не важно, хоть на тумблерах его делайте. Кстати, по этой технологии можно оживлять и платы на процах 8086, 80186, даже с клоком 50 МГц. Там только проводов управления надо чуть побольше.
Недавно наткнулся вот на такой проект https://www.youtube.com/watch?v=ggm-KhYEMxs&t=320s
Он, правда, не на 580, а на z80, но идея кажется работоспособной.
Если это делать, программу можно вообще грузить из компа по UART на любой скорости
Спасибо, интересно!
Тоже хочу запустить платку на Z80 с которой начинал, понятно что будет только RAM, 8051 тоже есть на борту, но идеологически некошерно прикручивать внешний загрузчик на МК
Идеологически - как раз очень кошерно. Если у Вас малосерийное, даже среднесерийное производство это позволяет запаивать в платы чистые флэши, прямиком с завода/поставщика. И запускать / оживлять уже полностью смонтированное, но ещё не оживлённое изделие на столе регулировщиком после элементарных проверок. И запускать тесты, если есть проблемы.
Да, в крупносерийном производстве так не делают. Китайцы даже для тысячи штук с нас требовали hex прошивки проца, для заказа прошитой партии процов прямо на заводе-изготовителе (STM, NXP). Запаивалось строго уже зашитое.
Но до таких партий ещё надо дожить.
А если речь об отладке и загрузка у Вас быстрая, можно обойтись вообще только ОЗУхой, без ПЗУ/флэши.
Но это всё паралельная шина, эпоха 1980х, 1990х. Сейчас модно последовательные флэши, scl/sda.
в те времена люди САМИ доставали детали и по схемам собирали рабочие компьютеры? Без осциллографов, интернета и прочих радостей цивилизации?
Ну, справедливости ради, осциллографы тогда вполне себе были. И активно использовались при отладке
Человек, у которого я докупал микросхемы говорил, что к осциллографу нужно было ходить, чтобы отладиться. Думаю, про то, что их не было я преувеличил. Все же не застал, как дела обстояли)
Были, были. Тот же журнал Радио вам поо них расскажет. И покажет их доработки.
Году в 1992 я прикупил где-то списанный двухлучевой осциллограф. На ЭЛТ. Как положено советской портативной технике - оснащён двумя ручками. Вес этой красоты - килограмм 50 был. Мы с одногрупником сильно вспотели, пока мне домой его тащили :)
Так что "ходить к осциллографу" - вполне верю :)
Мне на ДР в 1990 году отец подарил С1-67. Он всячески старался поддерживать моё увлечение радиотехникой/электроникой, которое сам же мне и привил. За что ему огромное спасибо!
В жёсткие 90-е ремонт телевизоров и организация кабельного телевидения кормила всю нашу семью - родителям почти не платили, зато я зарабатывал неплохо.
Я даже не представляю что было бы, если бы автору статьи предложили самостоятельно, с помощью лака для ногтей, фольгированного текстолита и хлорного железа изготовить плату для компьютера) А потом еще единственным (второе фиг достанешь!) сверлом на 0,7 ручной дрелью сверлить отверстия в плате)))
А потом еще единственным (второе фиг достанешь!) сверлом на 0,7 ручной дрелью
ну не сгущайте, а то потом слухи, что у нас медведи ходют....
бралась обычная швейная игла и затачивалась отвёрткой со скошенными углами.
не благодарите:)
с помощью лака для ногтей,
стеклянным рейсфедером...
(эх,когда мы прочитали совет делать аналог стеклянного рейсфедера из пустого стержня от шариковой ручки... )
Кстати, ещё хотел сказать. Настоятельно рекомендую блокировочные кондюки вешать сверху на каждую паяемую микросхему. Независимо от тактовой. Такие зелёненькие, как у вас на фотках - по 47 нан - достаточно. И один электролит, допустим, 470 мкф в сторонке, в углу платы.
Плюс, соедините земли всех микрух типа положив сверху сетку тех же МГТФ-ов. Горизонтальную, плюс можно пару линий через каждую микруху по диагонали. Всё остальное у Вас, судя по фото, вполне работоспособно.
Спасибо! Я почему-то под конец сборки начал пренебрегать конденсаторами, нужно будет довесить. А земли и питания на макетной плате снизу идут параллельными рядами и электролиты тоже в уголке сидят)
Но на самом деле вешаю конденсаторы скорее в рамках ритуальных практик и не совсем понимаю, чем вызвана их необходимость возле каждой микросхемы, тем более не понимаю, необходимость сетки из МГТФ. Предполагаю, мы таким образом пытаемся сократить разность потенциалов на длинной линии, но неужели габариты микросхемы настолько велики, чтобы у каждой стояла своя керамика? Или я фундаментально ошибаюсь?
На плате печатью сделана сетка горизонтальная, ... но это не сетка, а забор горизонтальных линий. Их можно/достаточно использовать, только добавьте вертикальные перемычки по возможности у каждого столбца микросхем от каждой строки на ближайшие.
Зачем? С некоторыми глюками лучше бороться превентивно, не рискуя скатиться в адепты тёмных религий :)
Есть очень толковый двухчасовой фильм по разводке печатных плат: "Земля в печатных платах / Слои, компоненты, секции, питание и переходы / Тренинг Рика Хартли". Посмотрите, пожалуйста. Он близко к этой и именно этой теме уделяет вполне достаточное внимание.
https://www.youtube.com/watch?v=c-VAPqNBDRU
Блокировочные конденсаторы нужны не для того, чтобы сокращать разности потенциалов на длинной линии, а чтобы внутри каждой микрухи не было бы глитчей по фронтам, когда переключаются широкие шины. Конкретная тактовая не важна. Важно именно быстродействие по фронту. Для Вашей платы и таких конденсаторов достаточно 22-68 нФ. Но на каждой микрухе, на ней, или под ней. А вот стадо электролитов по краям не нужно, бессмысленно, бесполезно, достаточно одного на плату.
Радио-86РК. Не заработал((( мне было 15 лет. Как искал и на что выменивал деталюшки - отдельная тема. Плату выписывал почтой у какого-то кооператива.
А потом институт...и Синклер. Заработал! Кто помнит Аэлиту?
Никто не помнит... Что за Аэлита?
Элиту?
Аэлита - фантастический рассказ про любовь землянина и марсианки))
тогда уж https://www.kinopoisk.ru/film/43415
п/с: охренеть! фильму-то уже 100 лет!
naked. Этот атрибут говорит компилятору не создавать пролог и эпилог функции (которые у нас и занимают бо́льшую часть кода!), но взамен требует принести тело функции в жертву — написать ее на ассемблере.
Документация использует ISR_NAKED с сишным кодом. В другом месте она запрещает не только C, но и extended asm (с двоеточиями и операндами), который в статье использован.
Да, мне было очень обидно, что документация соврала по поводу возможности использования Си в ISR_NAKED
, avr-gcc
не разрешил мне так делать, сказав прямым текстом, что он такого не поддерживает.
Потому я воспользовался словом safely:
Only basic
asm
statements can safely be included in naked functions
И проверил адекватность objdumpов. Отписывать вектор прерываний и их тела на асме в чистом виде было страшно лень...
Микро-80 - древний, и, честно говоря, не слишком удачный проект на этом процессоре. Я бы рекомендовал все же делать Радио-86 РК либо "Специалист". По ним и деталей надо меньше, и информации гораздо больше.
И еще, для отладки-трассировки тех систем вовсе не нужна аппаратура с еще большим быстродействием. Для этого нехитрой добавкой "пару ключей плюс кнопка" система вводилась в пошаговый режим, и можно было вволю глядеть даже тестером, по тактам, что происходит на шинах. Для эстетов можно было вывести все в ряды светодиодов.
Микро-80 по сути букварный вариант использования чипсета. Практически копия из оригинального букваря на MCS80. Что в оригинале, что в журнале сложная машина разбита на функционально законченные блоки, которые можно собирать поэтапно получая некоторый результат сразу. Это сильно мотивирует. Его наследник по сути это ЮТ-88.
Что касается "хуже-лучше" то я бы не стал оперировать такими терминами при сравнении ЛК, публиковавшихся в журналах. Например, я люблю графику и поэтому топлю за Специалист (и его производные, вроде Специалист-МХ) потому что я с ним познакомился первым и Орион-128.2 потому что я его собрал и он так же графический. Однако, большинству простых людей достаточно и алфавитно-цифрового вывода, поэтому они собирали Радио-86РК или Микро-80/ЮТ-88. Например, радиолюбители, которые вели на них журналы и даже позже прикрутившие трансивер и получив электронный TTY. Это просто разные по назначению и частично совместимые программно компьютеры.
Последний аргумент это простота схемы и сборки. Тут, конечно, в лидерах Специалист "Экспресс", а тот же Радио-86РК пестрил дефицитными на актуальное время БИС КР580ВГ75 и КР580ВТ37. Я знаю - батя мой был увлечён. Я же собрал Орион потому что там из комплекта только процессор требуется, а его было много - факт. Остальное формировалось обычной логикой, которая так же валялась под ногами.

8080/580 и «Ардуина»... Кто бы мог подумать...
А дальше можно попробовать собрать ЮТ-88, он в минимуме использует клавиатуру от калькулятора и экран от него же. Клавиатуру можно и на дверных звонках собрать...
P.S.: Плюсик Вам в карму авансом за Ваши будущие эксперименты!
Если под словом "процессор" в названии статьи Вы имели ввиду КР580ВМ80А, то он вовсе не из журнала "Радио" – редакция журнала "Радио" их не выпускала.
Насколько я знаю, К580ИК80 (так он сначала назывался) не является ПОЛНОЙ копией Intel 8080. Впрочем, их было несколько вариантов, выпускаемых разными заводами, может быть и ПОЛНАЯ копия была.
В 1983 году я стал подписчиком журнала "Радио", так что этот журнал, начиная с февральского номера (именно в нём была опубликована первая схема "Микро-80" – процессорного модуля) повлиял на выбор профессии.
В 1985 или 1986 году (не помню), учась в 8 классе, я начертил свой вариант схемы процессорного модуля "Микро-80" с максимальным использованием ИМС МПК КР580.
Насколько я знаю, К580ИК80 (так он сначала назывался) не является ПОЛНОЙ копией Intel 8080. Впрочем, их было несколько вариантов, выпускаемых разными заводами, может быть и ПОЛНАЯ копия была.
Никогда не была. Все версии даже самые ранние являются результатом переосмысления инженеров СССР. Декап который мы делали последние 15 лет это доказал. Более того, русский вариант ВМ80А преодолел планку в 3МГц и некоторые экземпляры могли взять даже 4МГц, в то время как для i8080A 2,5МГц было по паспорту а на 3МГц заводились не все экземпляры. При этом, ВМ80А грелся заметно меньше чем i8080A на тех же частотах.
AMD AM9080A-4DC по паспорту рассчитан на 4МГц. Intel 8080A-1 изначально на 3МГц, ему и преодолевать ничего не надо и, кстати говоря, даже процы без индекса (8080A) спокойно тянут 3 МГц долговременно. А меньше всего греется проц от National Semiconductor. По моим ощущениям советский КР580ВМ80А (пластик) греется ничуть не меньше интеловского.
Верно, предпоследняя итерация действительно 3МГц по паспорту:
Но это уже на излёте и я не встречал его в дикой жизни (но это не показатель). Далее, его последователь А-2 почему-то откатили назад на 2,5МГц:
Внезапно, да?
PS Время в заголовке указано для самой короткой инструкции в 4 такта, в таблице параметров указано 0.32 мкс и 0.38 мкс для минимального периода такта соответственно.
являются результатом переосмысления инженеров СССР. Декап который мы делали последние 15 лет это доказал. Более того, русский вариант ВМ80А преодолел планку в 3МГц
Ага, преодолел, лет через 10, когда уже 286 были во всю.
На этот момент уже существовал комплект КР1816. И даже МК серии КР1818. И что?
КР580 использовался в роли массового универсального микроконтроллера для разных устройств от принтеров до терминалов. А ПК на нем строили любители изза его широкой доступности.
Ага, преодолел, лет через 10, когда уже 286 были во всю.
i8080 1974 год
КР580ВМ80А 1977 год
Как бы не наблюдается разрыва в десять лет ;)
При этом, это не оптическая копия, а именно переосмысление. Т.е., полный реверс в транзисторную и логическую схемы, оптимизация, адаптация под имеющиеся техпроцессы и компиляция новой литографии.
Поправка: 1977 год -- К580ИК80, переименование произошло позже, когда расширили номенклатуру обозначений микросхем (главным образом, ввели обозначения для микропроцессоров и иже с ними -- ВМ, ВИ, ВТ, ВВ...)
Можно навесить на процессор статическую ОЗУшку и ардуиной в неё писать код через USB. КМК, так будет проще и отлаживаться и не мудрить с загрузкой программ в ОЗУ и прошивок ПЗУ.
Собирал так же когда то РК86 и он сразу заработал (плата была корректная), кроме пресловутой ВГ75. Проверял работоспособность процессора точно так же -- вслепую написал EI-DI и динамик запищал. Радости не было предела. Потом ВГ-шку в панельку пришлось вставлять, дорожки от перепайки покоробились.
Позднее ремонтировал видеотерминалы серии ВТА-2000, там используется как раз ВМ80, и схема процессорной части до боли была знакомая, но сложнее.
Можно навесить на процессор статическую ОЗУшку и ардуиной в неё писать код через USB. КМК, так будет проще и отлаживаться и не мудрить с загрузкой программ в ОЗУ и прошивок ПЗУ.
Это мой следующий пункт плана)
Позднее ремонтировал видеотерминалы серии ВТА-2000, там используется как раз ВМ80, и схема процессорной части до боли была знакомая, но сложнее.
Дааа, я из нее вытряхнул абсолютно все, местами даже нужное, так что проще там, как мне кажется, уже буквально некуда.
На самом деле даже сейчас запустить эту зверушку для меня было огромной радостью и удовольствием. Очень сложно представить, сколько эмоций это вызывало в те времена!
Заостряю на этом внимание только потому, что единой документации на КР580ВМ80А я не нашел. Отыскал лишь несколько сухих страниц в советском справочнике «Микропроцессоры и микропроцессорные комплекты интегральных микросхем».
Вы шутите? Кажется, это одна из самых документированных микрух того времени. Более того, в 90-х нас, студентов-радиотехников, заставляли проектировать все, что угодно, на базе этого комплекта (часы, АОНы, фиг уже вспомню, что). А чего не хватило в справочнике? Ролика с Ютуба?
Не хватило в справочнике понимания временных диаграм. Мне было непросто практически впервые разбираться в одной единой царь-диаграмме, в которой было все поведение микросхемы. Еще и в шакальном скане:

Я не спорю, что, возможно, их умел читать каждый пионер, но я не пионер и это не моя основная область деятельности, а один из способов провести выходные. 5 сухих страниц vs. талмуд документации к 8080.
Если вы можете подсказать мне какие-либо полезные материалы про комплект КР580, буду очень рад.
Брать и читать оригинальные интеловские даташиты (собственно, советские -- это их переводы, иногда с косяками, иногда обрезанные). Плюс, у Интела были книжки про использование их железяк -- с примерами и прочим.
Хм... на первой странице поиска:
https://portal.sibadi.org/pluginfile.php/5538/mod_resource/content/1/MU_po_laboratornym_rabotam_MPSU_1.pdf
https://www.bsuir.by/m/12_100229_1_65756.pdf
Во втором документе на последней странице список использованной литературы.
счетчик Гейгера-Мюллера СБМ-20, которые, как мне сказали, были скручены с советских светофоров в давние времена
Несолидно как-то, я бы на светофоры как минимум гамма-спектрометры ставил, и сцинтилляционные камеры.
Тут уже упомянали ЮТ-88. Основная идея - помодульное создание и тестирование.
Вот первый материал из серии
https://jt-arxiv.narod.ru/DjVu/utpril/utpr8902.djvu
и далее по выпускам
https://jt-arxiv.narod.ru/utpril89.html
Ооо, спасибо большое за материалы)
Тут интересный гайд по сборке https://alemorf.github.io/retro_computers/UT-88/how_do_i_build.html/russian.html
Вчера была статья о ROM-эмуляторе для консоли Atari. Там STM32 работал просто в цикле, без каких либо прерываний. И тут можно попробовать то же самое, чтобы исключить все возможные накладные расходы.
Даташит говорит, 5 тактов на вход в ISR + 5 тактов на выход.
Очень круто
Простейшая микроЭВМ. (КР580ИК80А). Книга для школьников. Проектирование. Наладка. Использование. 1989.




Не хватало только одного — процессора КР580ВМ80А, который при ближайшем рассмотрении оказался клоном процессора Intel 8080.
Как я уже говорил, процессор КР580ВМ80А — это полная советская копия процессора Intel 8080, так что вся (или почти вся) известная информация об Intel 8080 верна и для нашего подопытного.
КР580ВМ80А не КЛОН, а аналог i8080, так как при его создании киевлянами были устранены обнаруженные ошибки в топологии и была проведена оптимизация схемы микропроцессора. Кстати, для оптимизации схемы i8080 использовалась БЭСМ6. Поэтому у них разное количество элементов на кристалле. Так что корректнее КР580ВМ80А называть аналогом i8080, или его сервис релизом от USSR ;)
для оптимизации схемы i8080 использовалась БЭСМ6
Интересно!
А в какой САПР ?
Следует уточнить, что ВМ80А аналог i8080А. Аналогом i8080 были ИК80 и ВМ80 (как второе поколение разработки). Отличия только в электрических и частотных показателях, в плане программной и потактовой совместимости они полностью идентичны и взаимозаменяемы.
И кстати из-за этой полной взаимозаменяемости и низкой цены ВМ80А имел определенный коммерческий успех на Западе среди производителей терминалов.
Так он не цельнотянутый, только логически совпадает с 8080.
А что Интел мог сделать СССР и СЭВ? Они же "А что ты мне сделаешь? Я же в другом городе живу!" Только пальчиком погрозить! И плюсом к тому, Интел тогда 580вм80а вскрыли и публично признали что топология у кристалла отличается от 8080А.
Вспоминается история эпического баттла "Intel vs. AMD", после которого х86 (с 386ых?) под своей маркировкой не делал только ленивый.
Всё было точностью до наоборот, до появления 386 (DX) x86 клепали "все кому не лень", и Intel смотрела на всё это сквозь пальцы. Но с выходом 386 Intel вдруг осознала, что её конкуренты AMD/Harris/NEC/Siemens чересчур оперились, и своими решениями мешают Intel стричь купоны (ЕМНИП 286@25mhz от Harris был существенно быстрее оригинального 386@16mhz, а столил Harris в разы дешевле). И тогда Intel "выпустили Кракена", юридический отдел начал массовые юридические преследования и мелкие секондсоурсы, легальные и не очень, стали отлетать на раз-два, а крупным пришлось пойти в суд.
Это ещё может быть связано с изменениями в законодательстве. Архитектуры (т.е. системы команд и всё, относящиеся к "точке зрения программиста") в 1960-70-х не защищались, а соответственно, любой мог выпускать свои реализации чужих архитектур (в частности, поэтому СССР ничего не нарушил, позаимствовав у IBM, HP и DEC их архитектуры). А вот позже, насколько знаю, это дело стали защищать юридически.
Ну как самый простой вариант, можно воткнуть между ардуиной и вм80 регистр по шине данных. Как только процессор выдает сигнал запроса данных, поджигаем останов и не снимаем его пока не запишем очередной байт в регистр, после этого снимаем останов и радостный процессор забирает посылку.
Дешево и сердито, но чтение по байту за раз )
эй! Hello, world! до сих пор говорят ...
Запускаем советский процессор из журнала «Радио» с помощью Arduino