Радио-86РК | |
---|---|
Тип | Персональный компьютер |
Дата выпуска | 1986 |
Процессор | КР580ИК80А либо КР580ВМ80А |
Оперативная память | ОЗУ: 16—32 кБ, ПЗУ: 2 кБ, с возможностью расширения |
ОС | RAM-монитор (с дисководом RK-DOS 2.95) |
Предшественник | Микро-80 |
«Радио-86РК» — советский любительский 8-разрядный персональный компьютер, предназначенный для сборки опытными радиолюбителями (отсюда буквы РК в названии — радиолюбительский компьютер). Описание компьютера впервые было опубликовано в цикле статей в журнале «Радио» № 4—6 за 1986 год. Авторы цикла — Д. Горшков, Г. Зеленко, Ю. Озеров, С. Попов.[1]
Для сборки компьютера требовалось приобрести необходимые радиодетали, изготовить две печатные платы и смонтировать на них все компоненты. Кроме того, необходимо было с помощью ручного программатора записать прошивку в две микросхемы стираемого ПЗУ, а также изготовить блок питания, клавиатуру и корпус компьютера. Компьютер использовал в качестве монитора бытовой телевизор, подключаемый через видеовход или через радиотракт. Большинство отечественных телевизоров не имели видеовхода и требовали установки специального модуля[2] или доработки схемы[3].
«Радио-86РК» не был первой конструкцией радиолюбительского компьютера. В начале 1980-х годов журнал «Радио» уже публиковал описание самодельного компьютера на процессоре КР580ИК80. Это был «Микро-80», состоящий из нескольких модулей и насчитывавший до 120 микросхем. Компьютер был сложен как в сборке, так и в наладке. Из-за своей сложности, а также из-за практически полного отсутствия цифровых микросхем в свободной продаже, «Микро-80» собрали лишь немногие энтузиасты. «Радио-86РК» на уровне стандартных подпрограмм ПЗУ совместим с «Микро-80», благодаря чему системные программы адаптировались как со старой модели на новую, так и обратно.
Схема «Радио-86РК» в варианте с ОЗУ 16 КБ состояла всего из 29 микросхем, поэтому он был намного проще для повторения. Однако в розничной продаже микросхемы были дефицитным товаром и ограниченно доступны только в Москве и крупных городах СССР[4]. Наиболее дефицитной деталью была микросхема видеоконтроллера КР580ВГ75, которая в 1987 году выпускалась промышленностью ещё в ограниченном количестве. Известный радиолюбитель А. Долгий разработал заменявшую эту БИС дополнительную схему из 19 более доступных микросхем[5], которая через панельку БИС видеоконтроллера включалась в шину и по сути являлась текстовым адаптером со счётчиками и своей экранной памятью, используя из схемы РК только микропроцессорное ядро и видеовыход.
Но это не стало полноценным решением, т. к. такой вариант замены БИС ВГ75 позволял прогонять лишь корректные программы, т. е. программы, выводящие в экран только стандартными подпрограммами ПЗУ (а это лишь системные программы: Бейсик, текстовый редактор, ассемблер, отладчик, редактор дампа и Форт).
Поскольку в письмах, поступавших в редакцию журнала «Радио» после публикации цикла статей о «Радио-86РК», радиолюбители жаловались на трудность приобретения комплектующих, редакция журнала обратилась к промышленности с предложением начать выпуск наборов-радиоконструкторов[6]. Вскоре промышленность наладила выпуск наборов для сборки Радио-86РК, называвшихся «Электроника КР-01»… «Электроника КР-04». Наборы содержали плату компьютера, клавиатуру, а также, в зависимости от модификации, блок питания и корпус. Стоимость набора составляла 395 рублей, в то время как промышленные аналоги стоили 500...650 рублей. К концу 1980-х годов производство корпусов, клавиатур и плат для «Радио-86РК», а также торговля комплектующими уже осуществлялись многочисленными кооперативами.
К концу 1980-х годов уже с десяток промышленных предприятий наладили производство готовых компьютеров Радио-86РК, хотя в ряде случаев выпускался не полный клон, а лишь частично совместимый более развитый вариант.
Однако реальное быстродействие в базовом видеорежиме с 25 видимыми строками соответствует частоте ЦПУ ~1,3 МГц. Торможение вызывается тем, что для работы видеочасти контроллер ПДП по запросам ВГ75 периодически останавливает работу процессора захватом шины. Причём это торможение меняется в зависимости от установленного числа строк. В режиме с 30 строками быстродействие падает ещё на 20 %, а в псевдографическом режиме с 50 видимыми строками быстродействие падает до ~750 кГц эффективного такта.
Для ЭВМ с текстовым адаптером этого вполне достаточно, т. к. критична только скорость вывода на экран, а в текстовой машине это происходит почти мгновенно, в сотни раз быстрее, чем в графической. Соответственно, уменьшив константы торможения, можно играть в большинство РК-игр при эффективном такте ЦПУ всего в 250 кГц. В текстовом компьютере ZX80 быстродействие почти вдвое ниже, чем в Радио-86РК, но это не помешало для него создать несколько тысяч увлекательных и вполне динамичных игр.
Для экономии в РК используется общий генератор для процессора и видеоконтроллера. Так как для соблюдения ТВ-стандарта видеоконтроллер требует строго определённую частоту, тактовая частота процессора была занижена на 30 % от максимально допустимой.
Впоследствии в журнале «Радио» было опубликовано описание простой доработки, позволяющей произвольно увеличивать частоту кварца и максимально поднять такт процессора. Таким способом реальное быстродействие можно увеличить с 1,3 МГц до 2,2 МГц. Но в случае подключения контроллера дисковода такт приходится сознательно снижать, так как на повышенной частоте ОЗУ, применённые в РК без буферов, уже не тянут увеличенную нагрузку шины.[7]
JMP F000
. Предполагалось, что сам пользователь установит на F000 пользовательское ПЗУ. В литературе встречалось только упоминание, что во втором ПЗУ может размещаться драйвер принтера (но т. к. принтеров в 1980-е годы практически ни у кого не было, то этот вопрос не поднимался).Из-за случайного, но постоянного прерывания работы процессора «Радио-86РК» не может работать в реальном времени, т. е. нельзя предсказать, за сколько машинных тактов будет прогоняться фрагмент кода. Для точного счёта времени, что необходимо при выводе на МГ-ленту, ПДП отключают, из-за чего при вводе/выводе с МГ-ленты экран гаснет. Впоследствии в 1991 году была разработана и применена в многоблочных коммерческих защитах от копирования процедура ввода с МГ-ленты, работающая без гашения экрана. При отключённом экране регенерацию динамической памяти приходится осуществлять программно (выполняя 64 POP каждые 2 мс).
EI/DI
. Поскольку прерывания в компьютере не используются, это не вызывает проблем. Однако из-за постоянных и случайных (т. е. без чёткой периодичности) остановов процессора видеосхемой программно формируемые звуковые тоны звучат не как чистый тон, а с хрипом. Чистый тон можно сформировать, только отключив видео (т. е. с погашенным экраном). Потому в более развитые РК-клоны ставили КР580ВИ53, который давал 3 канала чистого тона.Псевдографические возможности «Радио-86РК» реализуются с помощью 16 псевдографических символов, хранящихся в ПЗУ знакогенератора. Для этого матрица знакоместа 6 × 8 делится пополам по горизонтали и вертикали. Получившиеся участки 3 × 4 точки растра образуют в знакоместе 4 пикселя. Чтобы можно было выводить графику без вертикальных разрывов, игры, использующие псевдографику, обычно включают видеорежим с высотой знакоместа в 8 точек, т. к. тогда исчезает межстрочный интервал между строками в 2 линии растра, существующий при стандартном знакоместе высотой в 10 точек. Число видимых строк при этом увеличивается до 30.
При 30 строках графическое разрешение составляет 128 × 60. В таком режиме работают почти все игры с псевдографикой и графредактор. В графическом режиме на 30 строк вывод на экран символов стандартными подпрограммами ПЗУ невозможен (только прямой записью в экранный буфер).
ВГ75 в Радио-86РК использует 7-битовый код, что даёт 128 символов (коды выше $80 используются для управления атрибутами и развёрткой). ВГ75 имеет 4 атрибута, которые предназначены для переключения шрифта, подчёркивания, подсветки и инверсии знакомест. Но разработчики РК эти возможности почему-то проигнорировали, хотя дополнительных микросхем это не требовало, а возможности расширило бы существенно.
Это обстоятельство позволило впоследствии разработать очень простую доработку, добавляющую в РК цвет (журнал «Радиолюбитель» 04.1992)[1]. Эта идея впервые была применена в цветной версии компьютера «Апогей БК-01Ц». В статье упоминается, что более 40 РК-игр были оцвечены под данную схему, и этот процесс оцвечивания несложный. Эти игры продавались защищёнными от копирования одним кооперативом и не сохранились. Сейчас на архивных сайтах можно найти очень небольшое число цветных игр, и почти все они сделаны энтузиастами уже в XXI веке.
Простым изменением 16 графических символов в знакогенераторе можно увеличить псевдографическое разрешение до 128 × 86 или 128 × 102, а применив альтернативный знакогенератор — и до 192 × 102. Это было сделано в производных от «Радио-86РК» продвинутых клонах. Но в «Радио-86РК» официально этого нет, и программы, использующие дополнительный знакогенератор, созданные отдельными энтузиастами, не распространились. Уже в XXI веке ряд любителей экспериментально опробовал режимы псевдографики более высокого разрешения, и на тематических форумах можно найти «демо» таких режимов [2].
Псевдографические режимы большего разрешения требуют применения альтернативного знакогенератора, в котором для псевдографики используется знакоместо с разложением не на 2 × 2, а на 2 × 3 или 3 × 2 пикселя. БИС ВГ75 позволяет изменять высоту знакоместа от 4 до 16 линий растра. При наличии в альтернативном шрифте 64-х псевдографических символов можно получить разрешение 128 × 129 (матрица знакоместа 2 × 3, 43 строки высотой 6 линий) или 192 × 102 (матрица 3 × 2, 51 строка высотой 4 линии).
Несмотря на множество статей в журнале «Радио» о расширении числа символов за счёт альтернативного шрифта (и простоту доработки, даже не требующей деталей), не было стандарта для программного переключения шрифтов. Из-за этого каждый мог делать это по-своему, и эти режимы применялись лишь единичными любителями. В итоге нельзя было делать программы, использующие альтернативный шрифт и псевдографику более высокого разрешения, чем стандартные 128 × 60. Но соответствующие шрифты и такие режимы были использованы на промышленных, более продвинутых клонах Радио-86РК.
Базовая конструкция «Радио-86РК» включала в себя только «Монитор» в ПЗУ, которое содержало только драйверы периферии и загрузчик. «Монитор» поддерживал простейшие функции отладчика, позволял просматривать и изменять ячейки памяти, вводить с МГ-ленты или ROM-диска и запускать программы. Журнал «Радио» опубликовал также дампы основных системных программ, однако ручной ввод их в компьютер был весьма трудозатратным.
Базовое инструментальное программное обеспечение, опубликованное в 1986—1987 году в журнале «Радио» в виде шестнадцатеричных дампов, включало в себя:
В последующие годы было опубликовано ещё несколько полезных системных программ. Прикладное программное обеспечение создавалось программистами-любителями и его можно было приобрести во вскоре возникших кооперативах, скопировать у знакомых или купить на радиорынке. В конце 1980-х годов на нелегальных радиорынках возник пиратский частный бизнес по торговле программами бытовых ПК, что существенно облегчало людям доступ к программам, но лишало авторов программ возможности заработать на своих разработках.
Прикладное ПО включало в себя в основном следующие программы:
Промышленность выпускала и стопроцентные клоны «Радио-86РК», но в большем объёме серийно производились более развитые РК-производные компьютеры, которые имели лишь частичную совместимость, точнее, совместимость лишь для системных программ. Из-за разных адресов экрана и В/У игры были несовместимы, хотя из-за общности схемотехники и ROM-BIOS адаптация игр между РК-подобными компьютерами была несложна.
Кроме вышеприведённого списка полностью РК-совместимых и очень близких РК-производных бытовых компьютеров в стране выпускались ещё два также РК-производных (то есть использующих те же БИС КР580ВГ75 и КР580ВТ57 по той же схеме) промышленных компьютера, в развитии которых их авторы пошли дальше лишь добавки БИС генератора тонов и увеличения ОЗУ, а добавили графику и ряд других схемных усовершенствований.
«Юниор ФВ-6506» использовал ту же самую схемотехнику, лишь изменив число символов в строке с 64 до 80 и введя альтернативный шрифт, содержащий матрично-графические символы с разложением знакоместа на 3 × 2 пикселя, что при настройке ЭЛТ-контроллера ВГ75 на режим с отображением 60 строк позволило выводить псевдографику в формате экрана 240 × 120. 60 строк было видно лишь на профессиональном дисплее. На телевизоре видно меньше линий растра, потому отображалось только 240 × 100 пикселей. Кроме этого авторы ввели возможность работы с текстами, содержащими прописные русские буквы, и аппаратное управление бытовым магнитофоном Маяк-231, используемым в качестве замены дисковода. Это позволило использовать дисководную ОС без дисковода. В комплект поставки входила МК-кассета с ОС CP/M и несколькими её утилитами.
Хотя «Юниор ФВ-6506» остался тем же РК-подобным и соответственно чисто текстовым, его игры выглядят как вполне графические[13]. Так как формат экрана изменился, то этот компьютер не является РК-совместимым и даже адаптировать РК-игры на него труднее. Но схемотехнически «Юниор ФВ-6506» остаётся РК-подобным (отличия в основном программные).
Но самым развитым РК-подобным компьютером является уже упомянутый конструктор «Электроника КР-04». Он даже является частично РК-совместимым, т. к. в одном из видеорежимов поддерживаемом его ROM-BIOS-ом позволяет использовать РК-программы. Но одновременно он является новым полноценно графическим компьютером с экраном размером в 14 КБ и графическим разрешением 480 × 224 точек в монохромном режиме или 240 × 224 в 4 цветах[14].