Pull to refresh

Comments 91

Я вот недавно узнал, что Z80 не полностью совместим с 8080 "снизу вверх", как это мною ожидалось: проблема во флаге переполнения и ещё чем-то там в регистре флагов. По этой причине не всякий код, написанный для 8080, будет корректно выполняться на Z80, хотя основная масса таки будет.

Ну, плюс та проблема со звуком, которая описана в статье и которую нужно решать костылём :) В общем, я бы, если б стал такое делать, взял бы всё-таки 8080 (КР580ВМ80А) -- благо, их вполне можно купить. Но, насколько понял, тут работал принцип "я тебя слепила из того что было" -- что тоже имеет право на существование, конечно.

Все так. Но я не взял 8080 прежде всего из-за сложности трехполярного питания. Можно было использовать 8085, но раз уж не родной процессор, то уже какая разница какой?

В плане системы команд 8085 и 8080 совместимы полностью, а вот насчёт вывода INTE не помню, а смотреть даташит лениво :)

Поскольку у Вас не было цели собрать комп, которым потом можно активно пользоваться, Ваш подход представляется вполне разумным. Вот если б Вы хотели в дальнейшем им пользоваться подобно реальному Радио-86РК, что предполагает использование существующих программ, которых, всё же, не так уж мало (это по сравнению со "Спектрумом" их мало) замена 8080 на Z80 была бы ошибкой как раз в силу неполной совместимости: мало ли что начало бы выползать, и поди разберись, в чём дело...

Ну а три питания... Да, определённые проблемы сие доставляет, хотя вполне решаемые: преобразователей сейчас пруд пруди на любой вкус и цвет. "Тогда" с этим посложней было, на самом-то деле, особенно с питанием -5 В: импульсный преобразователь на рассыпухе соорудить затратно, а для линейного необходима отдельная обмотка трансформатора (как, собственно, и делали).

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

Некоторые программы у меня не запустились. Я в таких случаях проверял их на эмуляторах, и там они тоже не работали. Пожно пофантазировать почему. Если судить по общению в ркашных некрочатах, то Z80 очень даже успешно применяли. Обычно чтобы разогнать машину, потому что из-за той же ВГ75 ЦПУ очень часто тормозится и много времени просто ждет когда память освободится.

Какие-то программы точно должны были при этом не работать, но сделать версию под Z80 было не сложно.

есть предположение, что не завелись программы, которые недоадаптировали от Микроши, я такие очень часто встречал. а про РК-шку на Z80 я видел только разговоры, в железе так никто и не решился сделать. не знаю, на каких эмуляторах запускались программы, но эмулятор Виктора Пыхонина и мой весьма точно эмулируют РК-шку, всю её периферию и тайминги.

Тогда" с этим посложней было, на самом-то деле, особенно с питанием -5 В

Любопытно, почему для странного питания не использовали charge pump. Это проще чем специальный транс

Потому что их тогда не было в готовом виде, и пришлось бы собирать на рассыпухе. Кроме того, напряжение -5В могло понадобиться (не для Радио-86РК, а вообще) и для других целей, где ток будет уже повыше -- скажем, для преобразователей уровней ТТЛ в уровни RS-232.

собирать на рассыпухе

2 диода 2 конденсатора и 155ла3 ;)

Потому что тогда использование charge pump было странным, а -5в обычное дело. В первоначальной версии 16кб было сделано на 565РУ3, которым тоже надо -5в.

Трехполярный преобразователь хорошо был реализован на "Орионе-128", другом динозавре тех лет

Честно говоря я был удивлен тем фактом, что Z80 на столько совместим с i8080, что можно перепечатать бинарный код из журнала для одного микропроцессора и почти безболезненно запустить на другом. :-) Я всегда считал эти два микропроцессора плохо совместимыми, а код при переносе требует модификации, причем на уровне ассемблера. Ведь есть даже утилиты для этой цели.

Когда-то я начинал изучать машкод на ZX Spectrum, имея под рукой книжку от Радио 86РК, набивая программки через POKE. Я тогда даже не подозревал, что процессоры в принципе как-то отличаются друг от друга, и так как Z80 может то же самое, что и 8080, у меня всё работало.

Аналогично. В 88-89-м году я ходил в кружок программирования и у нас появились Atari 800. Никто не знал как с ними обращаться. Из инструментария только встроенный BASIC с командой POKE (позже появился дисковод и дискеты с MAC). Из мануала на Atari выяснили, что у него процесор MOS 6502. Кто-то нам подсказал, что такой же проц устанавливается в ПЭВМ Агат. Мы разжились документацией по "агатовскому ассемблеру" и давай прогать через POKE на Atari по этим мануалам. :)

Та же история с Агатом, но у меня был Atari 65XE, изучать через POKE видеоадаптер и звуковой процессор было очень круто т.к. видеоадаптер был крутой, цветной, со спрайтами, бегущими строками и кучей режимов, а звуковой процессор многоканальный, с генераторами и банками звуков.

Z80 и 8080 одинаковы. За исключением расширенных команд, которых нет в 8080. Так что если программа не использует эти расширенные команды, то она будет работать. В Z80 немного расширили команды, введя например относительные переходы, что позволяет работать программе без привязке к адресации. И еще сделали 2 комплекта регистров. То есть Z80 это типа 8080MMX. И он будет работать вместо 8080, а вот наоборот не всегда.

Z80 и 8080 одинаковы.

Нет. 8080 полностью 8ми битный, от АЛУ до регистров. У Z80 4х битный АЛУ и конвеер обработки. Поэтому, у Z80 есть флаг N (negative, активен при вычитании) и правильно работают флаги H и C (half carry и carry). Из-за того, что есть полноценный флаг N команда DAA работает полностью корректно. С точки зрения правильности Z80 ей больше соответствует, чем 8080. Поэтому, софт от 8080 не 100% совместим с Z80, особенно в части матана. Собственно, 8080 бэйсики крашатся на Z80.

Это если говорить только за основной набор команд, исключая недокументированные опкоды у 8080, на месте которых у Z80 префиксы и расширенные команды относительного перехода.

Вот я тоже помню, что у Z80 4-х битное АЛУ и операции в нём требуют большего числа тактов, что должно было как-то отпечататься и на программной стороне вопроса. Спасибо за разьяснения. Как говорил Поручик - "век живи, век учись". ;)

Нет, число тактов одинаковое. Ходил слух, что производительность Z80 примерно на 20% быстрее (из-за некоторых команд), чем 8080 на той же частоте, но я лично не проверял.

Число тактов немного разное, но в обратную сторону. INC r и LD r,r на 8080 пять тактов, на Z80 четыре. На Z80 вообще нет пятитактовых операций, а на 8080 есть.

У i8080 по-настоящему 5ти тактовых команд почти нет. Потому что i8080 имеет независимый блок АЛУ и блок регистров и поэтому постоянно использует оверлап времени выполнения последнего такта или даже целого цикла. Это я из декапа увидел, когда логическую схему восстанавливал. Есть же растактовка из официального букваря, например.

Про Z80 предположу, что он в противовес i8080 активно использует оба перепада тактового сигнала (об этом говорит хотя бы сдвиг чтения опкода относительно чтению данных на полтакта). Так что некоторые процессы могли быть более оптимизированы, нежели в двухфазной модели i8080. Декап Z80 существует, в том числе и от команды Эмураши, но я в него не нырял за отсутствием личного интереса.

Я могу судить по количеству тактов только по справочникам, так как сам их не измерял, и кристалл не разбирал. В справочниках издревле такие вот таблички без расписания машинных циклов, где мне и бросилось в глаза различие по тактам. А по факту что, они не соответствуют действительности, или всё-таки в расчёте времени выполнения можно ими пользоваться? (кстати, только сейчас вспомнил, что по ним INC r8 и INC r16 занимают по 5 тактов, а на Z80 это 4 и 6).

(страница из 8080 Programming Manual от Intel, 1975 года)

А по факту что, они не соответствуют действительности, или всё-таки в расчёте времени выполнения можно ими пользоваться

В среднем можно пользоваться. На длинных дистанциях ошибка будет минимальна. Прямо сейчас я не смогу точно ответить на этот вопрос, потому что занимался им, судя по теме на ZX-PK, в 2015м году, т.е. уже почти 10 лет назад.

INC r8 и INC r16 занимают по 5 тактов, а на Z80 это 4 и 6

INR/DCR как и INX/DCX у i8080 идут не через АЛУ, а через комбинаторную схему, которая может делать -1, 0 и +1. В случае с r8 старший байт просто не используется. И поэтому эти команды не портят флаги. А у Z80, вроде как, вся математика идёт через АЛУ. В качестве бонуса - правильные флаги и, что важно, дополнительная индексная адресация [(IX+d8) и JR+$] а так же полноценные команды 16ти битных операций.

В копилку:

У Кена Ширриффа есть статья про устройство АЛУ на Z80 по декапнутым снимкам, но без таймингов. Из схемы видно, что почти все инструкции на Z80 идут через АЛУ и влияют на флаги.

В Википедии прочел, что Z80 тоже активно использует overlap по времени выполнения инструкций. Зачатки конвейеризации ? ;-)

Z80 многое скрывает за обязательным циклом регенерации RFSH. Плюсы - можно использовать DRAM на 16к и 64к как обычное ОЗУ (64к чипы используют 4 поля по 16к, поэтому для регенерации им надо сканировать только 7 бит), минусы - лишние такты в опкоде (раз они отказались от целого такта выдачи на шину слова состояния, этот такт можно было сэкономить, говорю так потому что где-то читал, что Z80 разрабатывали те же люди, что и имели отношение к i8080, может и байка).

Я тоже так думал, а оказалось, что есть несовместимая разница во флагах. Вот регистр флагов 8080 из интеловской доки:

А вот он же для Z80:

У 8080 бит 2 -- всегда чётность, а в Z80 в зависимости от команды там либо чётность, либо переполнение. Соответственно, в определённых ситуациях программа, успешно работающая на 8080, не будет работать на Z80. Почему для переполнения они не использовали остающиеся без дела разряды 5 и 3, непонятно.

Так вроде в Z80 еще были команды управления циклами. То есть одна команда делала сразу две вещи: декрементировала регистр счетчика, и если получался не ноль, происходил прыжок на начало цикла. В 580 такого не было. И еще были регистры  IX и IY, которые предполагались для работы с массивами.

Тут как раз все совместимо снизу вверх

Как уже правильно отмечено, эти команды и регистры не нарушают совместимость снизу вверх: они не меняют поведение процессора для тех команд, которые уже существовали, а добавляют новые возможности. А вот использование бита 2 как индикатора переполнения или внесение изменений в команду десятичной коррекции разрушает совместимость, поскольку программы, написанные для 8080, полагаются на строго определённые правила формирования результатов выполнения используемых ими команд, а нововведения в Z80 приводят иногда к получению других результатов.

Круто! Сначала отнёсся к материалу скептически из-за оформления, но по содержанию оказалось, что проект весьма годный. Но особенно впечатлила информация про существование в продаже макеток формата A4. Как говорится, дайте две.

Но особенно впечатлила информация про существование в продаже макеток формата A4.

Формально это на А4. А4 - это 210*297, здесь - 200*300. Извините за душноту

Всё равно заказал! Но в рамочку для диплома такую плату красиво не вставишь, это да.

Так вроде самый простой был "Специалист", в Моделисте-Конструкторе вроде печатали...

У него 52 микросхемы, если верить оригинальной схеме. почти в два раза больше. Но и огромный плюс - нет той самой 580ВГ75, которая экономит корпуса. Говорят, что ее было очень сложно купить. Я конечно не знаю. Сейчас купил без проблем за копейки по сути.

Да, в те времена ВГ75 была одной из самых дефицитных. Хотя года эдак до 87-88 честно купить вообще практически ничего нельзя было из цифровой электроники, даже рассыпуху 155-й серии проблематично (может, через Посылторг что-то и можно было, и то под вопросом, ну а в магазинах радиодеталей -- только лампы, транзисторы, небольшое количество аналоговых микросхем -- и всё). Поэтому все ранние компьютеры, включая Микро-80, были собраны, по сути, на ворованных деталях. Ну, коммунизм же, "всё вокруг колхозное -- всё вокруг моё" :) В общем, в тех условиях собрать Специалист действительно было проще: украсть нужные микросхемы 155-ю серии можно было практически на любом вычислительном центре, проц и КР580ВВ55 тоже уже встречались достаточно часто в промышленных изделиях, а значит, бывали и в ЗИПах тех предприятий, где эти изделия использовались, а вот ВГ75... Я его встречал вживую, если не ошибаюсь за давностью лет, только в терминалах СМ-7209, причём они польского производства, и ЗИПа к ним не было никакого -- впрочем, они никогда и не ломались.

а вот ВГ75...

30 советских рублей на Шаболовке "с рук" примерно в 87г, но мы были пионерами ещё, не понятно, что бы нам продали.

Скорей, в 89-м, но, в любом случае, всё это стало появляться в самом конце Союза, когда всё уже разваливалось, а воровать и продавать краденое стали практически открыто -- заметьте, "с рук", как Вы пишите, а не в магазинах, доступных честным гражданам.

"с рук", как Вы пишите

Да, я долго подбирал нейтральное выражение.

Некислыми вы были пионерами, раз в 87 году у вас 30 рублей на руках имелось.

Это было очень много! И конечно таких денег не было.
Друг мог покупать по 1 фирменной кассете не каждый месяц за 4.50руб и за столько же записывать в студийке. И это было сразу как бы ощутимо - можно было послушать. А тут одна только микросхема и неизвестный результат, да и мы тогда в глаза этих компов не видели, непонятно что бы с ним делать. Хотя я собирался получить интернет packet radio :) Оставалось бы только заполучить радиостанцию :)

Не все воры - радиолюбители, но все радиолюбители - воры. Поговорка из 80-х)

Экспресс был ещё компактнее журнального варианта потому что использовал РУ5 вместо 3х банков РУ3/РУ6.

Журнальный вариант так же допускал использование одного банка РУ5 вместо 3х РУ3/РУ6.

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

Там даже генерация изображения программная, от чего эффективность програм пользователя сильно ниже и VGA на нём точно не сделать.

Ну дык и в Специалисте тоже, да и много где. А сделать можно не только VGA, можно хоть 4К -- вопрос только в том, сколько проц всё это отрисовывать будет :) Поэтому лично я, если б проектировал комп на 8080, ограничился бы чисто текстовым режимом (для бытового компа это не очень-то приемлемо, но меня аркадные игры никогда не привлекали, а более-менее приличные стратегии или симуляторы, как и стрелялки и прочие РПГ, стали возможны лишь на железе совсем другого уровня).

Нет. В РКшке изображение генерируется видеоконтроллером ВГ75, в Орионе, Специалисте и Спектруме изображение генерируется синхрогенератором. И только в Галаксии оно полностью программное. Т.е. остановите процессор в HALT и экран потухнет.

Я понимаю, что вы спутали растеризацию и вывод с фактическим заполнением кадрового буфера картинкой - тут всё верно, оно программное. Но если остановить процессор у всех кроме Галаксии, то вы будете наблюдать статичную картинку. Остановите процессор Галаксии и экран потухнет т.к. развёртка прекратится.

А, Вы про это. Я про другое говорю: как формируются битики, формирующие изображение. У Специалиста и многих других они лежат в ОЗУ, и за формирование их отвечает процессор. У а вот у Радио-86РК -- нет, там в ОЗУ лежат коды символов, а конкретные последовательности битов для отображения формирует КР580ВГ75 совместно с ПЗУ знакогенератора. По этой причине формирование изображения на Радио многократно быстрей, чем на Специалисте (нужно записать лишь коды символов, а не программно отрисовывать каждый символ как набор пикселей).

Что же до этого компа... Как по мне, это уже вообще ничем не оправданное извращение.

Это лишь перспектива интерпретации данных. У Корвета тоже аппаратный растеризатор (синхрогенератор) но 2 плана: алфавитно-цифровой и графический. Текстовый экран находится в 9ти битном банке на КР132РУ4, графический экран находится на 3х банках К565РУ5 (справа на фото) и ещё банка ОЗУ на К565РУ5 для програм в середине (между ОЗУ текстового экрана и графического). Изображение всегда формируется на экран по содержимому этих банков ОЗУ вне зависимости состояния процессора, тогда как информацию для интерпретации как графическую так и текстовую процессор должен заносить в эти банки сам. Для этого у него есть настраиваемый маппер, который включает банки в адресное пространство по мере необходимости.

блин. это Корвет, да? нет, я понимаю, когда мы использовали "зеленые" кондёры в своих "Ленинградах" - что купил у барыг на таганрогском "радиоцирке" то и впаял (до начала эры приема металлов они стоили как обычные)... но что и в промышленном изделии дорогие высокоточные платиносодержащие "каэмки" тоже ставили как фильтры по питанию - ёпрст, ну слов нет.

Угу, но у меня был поздний вариант, без КМок. Там уже сборки фигачили, у которых ещё и шины питания продублированы внутри.

И да, это ученический вариант, без контроллера дисковода. Пошивка Радио за 94 год, где весь Корвет расписан, очень помогала...

а что за микросхемы под радиаторами?

Справа над графической памятью 2 РТ5, возле ПЗУ сверху 2 РТ2, а снизу большое сам ВМ80.

РТшки применялись как ПЛМки.

Так изображение ещё в ZX-80 формировалось. Минимализм.

Когда у меня был Микроша (тоже клон Радио-86РК), у меня был знакомый взрослый дяденька, который сделал свой компьютер вообще без шрифтов.

У него был самодельный дешифтратор, который как-то преобразовывал код символа в телевизионную развертку. Ну то есть в самом коде символа содержался внешний вид символа! Нечто вроде визуализации 7-сегментного индикатора на телевизоре на одном знакоместе. Возможно у него были и полу-символы, чтобы показать левую и правую части буквы.

Естественно, таблица символов была ни с чем не совместима.

Даже не слышал раньше про такой. Посмотрел по вашей ссылке, действительно очень простой.

Присоединяюсь, "Специалист", ПМСМ и по совокупности потребительских свойств - лучший. Мог бы просто плюсик поставить, но для этого не хватает кармы, а вот чтобы написать "Присоединяюсь", её достаточно. Ну не парадокс ли? Есть ещё одно ограничение - не более одного комментария в час... Жду.

А кто-то таки отреверсил «Дон» или этот раритет сгинул в безвестности? Партии очень маленькие были, вроде смутно помню, в одном «кроватки» для расширения памяти были, а в другом — уже не было…

У меня только кассета осталась, ХЗ, можно ли там что-то разобрать, кроме «БЕЙСИК! (на заднем плане: „…хорошо ж те в рубашке…“) ПИИИИИИИИпжжжжжжжжжж…»

На «Саннате» целая одна штука нашлась, ХЗ куда уехала, правда.

Спасибо за статью!)
И особенно за цвет на мониторе - я такой в ssh выставляю:)
Особо хочется отметить усилия по раскидыванию навесного монтажа, у меня такое больше 5-10 перемычек превращается в не поддерживаемую паутину, поэтому даже для макета - только плата!

Каждый раз так получается. С другой стороны, «следующий размер» на 100 ног уже слишком большой.

После PLCC44 идёт PLCC84 а уже затем TQFP100.

В серии MAX3000A - только один вариант PLCC, на 44 вывода.

Я не погружался в неважные детали, но имел в виду, что у меня есть ЕРМ240 в корпусе на 100 выводов. Что-то заказывать и ждать около месяца было не интересно.

А у MAXII с TQFP100 и BGA100 только начинается корпусной ряд.

В тексте, вроде, EPM3032A.

Но миксовать LVTTL и обычный TTL автором такое себе.

В чем проблема? Даташиты посмотрите. Вполне совместимо по уровням.

Ещё надо за токами следить, чтоб не превысить. Но в простых случаях проблем, как правило, не возникает.

если бы у них были микросхемы SRAM как у меня, вышло бы тоже около 20

можно было использовать контроллер RAM из той же серии, хотя не уверен, был ли наш аналог

Благодарю за статью!

Очень интересно, как и комментарии коллег, которые появились благодаря статье :)

Отсутствие очистки ОЗУ при нажатии кнопки сброса считается одним из преимуществ РК. А вы сделали, чтобы очищалось?

Нет. Но первые три байта перезаписываются. Это можно было легко обойти просто еще одной кнопкой сброса чисто на ЦПУ, но я ее не стал делать - нужды не ощутил. Сейчас у меня сброс сбрасывает микроконтроллер STC, тот готовит ОЗУ - записывает туда код монитора и те три байта, а потом ресетит ЦПУ.

Лучше сделать эту кнопку. Удобная функция. Прочитал программу с кассеты, запустил. Что-то сделал. Программа зависла. Нажал сброс, запустил снова. На Спектруме для такого надо программу заново с кассеты читать, а на РК вот так просто и непринуждённо.

Программа зависла. Нажал сброс, запустил снова

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

А может и оказаться нормально. Возможность это проверить не помешает.

Запускаем программу -:она зависает. Что будет, если запустить её ещё раз? (хм. надо подумать.. неужели починится?)

Я уже говорил тебе, что такое безумие? (С) Ваас

Ну, во-первых, такое бывает. В официальной доке на ОС ЕС, в девичестве OS/360, на половину сообщений об ошибках первая рекомендация -- повторить задание или перезагрузить систему и повторить задание :)

Но ценность сохранения ОЗУ -- и в возможностях для отладки. Прога зависла, но, если ты разработчик, ты можешь из монитора или что там у них в ПЗУ лежит глянуть, что творится в памяти, не вылез ли стек за границы и т.д. и т.п.

В общем, смысл в сохранении всё-таки имеется.

Ну и повиснуть могло по разным причинам. Например, по питанию помеха приехала. На процессор повлияла, на ОЗУ - нет.

Когда пишешь длинную прогу на ассемблере на 8080 или z80, и это делаешь путём ввода каждого байта с клавиатуры, вероятность ошибки растёт по мере роста программы. И вот ты такой ввёл несколько килобайт данных, запускаешь.... И тут хопа! Зависание! ААААААА! ВСЁ ЗАНОВО ВВОДИТЬ!

И вот тут как раз охрененнвй плюс сброса без очистки памяти. И можно проверить код, поискать ошибку и прочее.

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

В спектруме мне пришлось даже пзу перепрограммировать и добавить сброс без чистки памяти(реализовал сброс прерыванием с адреса 8).

У меня с этим проблем нет. Только первые три байта надо будет восстановить.

О... Радио-86РК ) Это мой первый компьютер))

Для него написал пакет 3-х игр. Конечно, на ассемблере. Причем ОЗУ у меня было 16 Кб. Все в память не помещалось.

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

хотелось бы увидеть код программирующий вг75

инициализация видео
инициализация видео

Это скрин с кода на ассемблере. Мои параметры для VGA режима указаны как комментарий. 4 других байта. Я конечно не пересобирал монитор из исходников, а просто нашел это место в коде и поменял байты. Это было не сложно. Важно, что при этом на ВГ75 должна подаваться частота синхронизации примерно 25.175 / 8 = 3.15 МГц. Иначе VGA не получится.

А почему все байты летят в один регистр? Это нормально?

Да. Там два регистра на прием. Команд и праметров. Сначала пишется команда 0 по адресу С001 - это команда "сейчас будут настройки", потом декремент указателя и идут параметры команды (4 штуки) в адрес С000. Потом инкремент указателя и команда 27 по адресу С001. Это запуск. Параметры в самой команде. Дальше (уже не видно на скрине) в цикле чтение регистра состояния и там проверка флага конца кадра. Как только кадр закончится, и начнется обратный ход луча по кадру, будет инициализация и запуск ПДП. Потом уже пойдет картинка.

Получается, что Радио-86РК воспроизводил звук флагом запрещения прерываний?! Жёстко.

Справедливости ради, это не местное изобретение, оно пошло ещё с IMSAI 8080.

А что такого то? Внутри i8080/ВМ80 нет маскирования входящего прерывания, оно должно делаться снаружи, используя как раз выход INTE. Сам же выход по сути однобитный порт на вывод, управлением которого наличествуют 2 однобайтные команды: EI и DI. Одна устанавливает 1 а другая 0. Т.к. в 86РК не используются прерывания, то почему бы и не использовать халявный порт вывода с ультрабыстрым доступом?

Такое решение лишило их возможности использовать прерывания в будущих версиях компьютера.

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

С другой стороны, конечно, будущих версий и не было.

Журнал "Радио" крайне ревностно относился к своим ЛК и никого другого не пускал на своё поле. "Будущая версия" Радио-86РК стал внезапно "Орион-128". И в нём уже есть системный разьём и, соответственно, сигналы INT/INTE буферизированы на этом разъёме. Кстати, как и RDY. Все внешние подключения в РКшке предполагались только через дополнительный ППА, в то время как у Ориона помимо ППА в адресном пространстве была специальная область для плат расширений, подключаемых к системному разьёму.

Существует заводской клон РКшки, у которого тоже есть системный разьем. И называется он "Микроша". Но он немного расширен относительно РКшки и в следствие этого не полностью совместим с РКшкой.

Да и качество звука с ножки прерывания было ужасающим. Меандр не получить

Да не такое уж и ужасающее. Можно сделать и меандр, и три импульсных канала, как на ZX Spectum. Софт из видео в 80-х был перетащен на РК86, называется там «Музыкальная система»: https://www.youtube.com/watch?v=1FDigtF0dRQ

А почему не получить то? Это же вопрос тайминга, команды симметричны по времени выполнения.

Sign up to leave a comment.

Articles