Как ни странно, самый примитивный компьютер РК86 остаётся самым популярным, во многом из-за тех, кто подключается к ретро-хобби. Возможно потому, что новички не уверены в своих силах и думают, что РК сделать проще других. А это вовсе не так. Уже один только 30 лет подряд мучивший всех эркашников глюк в виде сбоев ОЗУ, должен настораживать. Новички не в курсе, что РК сложно настраивать из-за метода регенерации ОЗУ, - если не работает МП-ядро, то не работает ничего, т.к байты в ОЗУ дохнут, отчего программный тест бесполезен и диагностика по экранным признакам или программно, как это в других компьютерах невозможна.
Несмотря на все недостатки РК, в последние годы несколько попыток организовать производство платок РК86 хоть с какими-то доработками провалились, что показало, что почти никого это не интересует, и не нашлось богатого пассионария, кто не пожалел бы своих денег и усилий, чтобы довести проект до привлекательного состояния, создав тем самым новую платформу исправленного варианта РК86.
Пару месяцев назад у меня образовалась плата журнального РК86 с хорошим качеством печати. И желание как-то эту плату использовать. С тех пор я думал как схему РК наиболее интересно доработать не заморачиваясь ограничениями совместимости. Задача - не сделать апгрейд, т.е улучшить базовый РК, сохранив совместимость, или получить возможность прогонять на нём программы CP/M. Цель - сделать из платы РК другой компьютер. Совместимость не волнует, т.к 99% программ для РК86 я видел, и они меня и тогда не впечатлили (т.к в 1987 году я уже имел самодельный Синклер). При желании насладиться РК-играми можно и в эмуляторе.
Кстати, и в CP/M на РК теперь нет особого смысла, т.к уже незачем компилировать или писать тексты на самой ретро ЭВМ, это теперь удобнее делать на PC или даже на планшете с Андроидом ценой в 3 килорубля. А другие (кроме компиляторов) программы из CP/M (деловые приложения и CP/M-игры) бесполезны.
Достаточно иметь любую DOS (именно DOS, а не просто возможность запуска программы откуда-то), которая в состоянии загрузить в ОЗУ файл размером в 28 кб (что соответствует максимальному размеру программ РК, такие программы есть). Наличие DOS позволяет писать программы, сохраняющие результаты работы на диск (счёт или состояние игры), а также иметь программы с оверлеями, что позволяет писать на ЯВУ (из под ЯВУ код объёмный, потому хорошие компиляторы поддерживают оверлеи).
Речь об единственной плате и задача сделать минимальной ценой из платы РК другой вариант компьютера на ВГ75 для которого будет интересно программировать. Для самого РК без введения в него новых видео-режимов программировать неинтересно, т.к без альтернативных фонтов, инверсии и цвета, ничего визуально более качественного, чем имеющееся ПО не написать.
Потому с 1991 года практически никто не пишет ПО для РК, а пассионария на внедрение доработок не нашлось (вариант РК-МАКСИ не в счёт, это было изначально обречено, а поставленная задача добиться совместимости с другими клонами невыполнима, т.к кроме адресов портов у клонов много других отличий). Другая возможная цель - это чисто спортивная, реализация аппаратного конструкторского хобби, доказать, что можно было сделать из тех же деталей вариант более подходящий быть любительским компьютером 1986 года.
Если задача не просто показать возможность поиметь лучшее видео, а получить платформу для программирования, то первое, что желательно, это турбирование. Чтобы ПО скомпилированное на ЯВУ не сильно тормозило. Для текстовой машины и программ написаных на ассемблере скоростей РК хватает. Но т.к программы из под Турбо-Паскаля работают тормознее в многие разы, нужно аппаратное ускорение хотя бы до 4 МГЦ реального такта.
Затем нужен процессор Z80. В принципе не хуже MC6809 или 65C816, но для них трудно найти инструментарий, а для Z80 всё есть, как в CP/M, так и в виде кросс-средств. Цепляться за КР580 могут только те, кто собирает ретро компьютеры сдуру, неизвестно зачем. А для использования ретро компа как платформы для любительского программирования лучше иметь более удобный для программиста процессор, дающий к тому же значительно лучший и больший инструментарий.
Исходя из того, что было нужно в 1986 году в качестве бытового компьютера, разумно использовать ВГ75 не для текста, а для имитации графики, т.е синтезирование графики символами за счёт разложения знакоместа на матрицу три на два пикселя. Такой фонт занимает 64 символа.
Многим известно, что в РК альтернативный фонт с 64-мя специальными графическими символами позволяет выводить графику 192*104 (64 символа 6*4 в строке, 52 видимых строки, знакоместо 3*2 пикселя). При некоторых ухищрениях можно выводить и на экран 200*104. В этом режиме частота строк не 50, а 60 Гц, что не было проблемой даже для советских телевизоров 80-тых годов, а для современных всеядных телевизоров это норма (в NTSC 60 Гц).
Режим с 52-мя строками аппаратно присутствует в Апогее, но практически почти не использовался. Лишьvinxru сделал демо.

Не правда-ли, картинку скорее можно принять за скриншот Специалиста, чем РК86?
В этом демоvinxru использовал особый фонт, где не только графические символы с разложением знакоместа на матрицу 3*2, где каждый пиксель состоит из 2*2 физических точек, но и есть символы, где линии имеют толщину в 1 точку. Потому на картинке отдельные элементы соответствуют разрешению 384*208.
Забегая вперёд, укажу, что в предлагаемом режиме такого не будет, т.к используется особый фонт, в котором в каждом байте фонта прошит код, который напрямую соответствует графическому рисунку. Это означает, что фонт вообще не нужен (достаточно "код символа" напрямую подавать на выходной сдвиговый регистр). В предлагаемом режиме просто физически нельзя вывести одну физическую точку, а только квадратик 2*2.
Увеличить разрешение по горизонтали можно увеличив число символов в строке. Базовая схема РК не позволяет изменить число символов в строке, т.к бордюр по горизонтали сделан программно. На это не было необходимости (кроме желания с'экономить 1 корпус), т.к длительность гашения по строкам регулируется программно. Лишь на программный бордюр по вертикали необходимость была (иначе перерыв в регенерации РУ3 превысил бы 2 МСЕК и некоторые микросхемы ОЗУ могли сбоить).
Если же формировать горизонтальный бордюр не программно, а аппаратно, средствами ВГ75, задав при задании режима соотвествующее число знакомест на обратный ход луча по строкам, то можно выводить 80 символов в строке, как сделано в Роботроне-1715. 80 символов в строке при разложение знакоместа на матрицу 3*2 позволяет получить псевдографический экран 240*104 с частотой кадров в 60 Гц.
240*104 это вполне приемлемый графический режим. Для сравнения, некоторые бытовые ЭВМ и игровые консоли из 70-тых имели типовое разрешение 160*100, этого для игр хватало. Текст на 40 символов в строке на 13-ти строках (знакоместо 6*8) это даже оптимально для компьютера с выводом на телевизор. При желании можно иметь 48 символов в строке с худшим фонтом 5*8.
Когда я делал эксперименты с подобным режимом в 90-тые годы, то делая вывод (на 42 строки, о возможности иметь 52 видимых строки просто не знал), вынужденно, т.к это задано железом, использовал неоптимальный графический фонт. Для текста это неважно, а вот при выводе графики это сильно усложняет. Для вывода точки приходилось специальной довольно сложной процедурой высчитывать код символа.
Т.о несмотря на достаточное для некоторых игр разрешение графики, выводить саму графику по базовой концепции РК неудобно, сложное программирование. Я в 90-тые написал под такой режим лишь текстовый драйвер, а выводить графику утомился. Требовалось это как-то исправить, но лишь недавно я нашёл нужное решение.
Я додумался, как работу с графикой сделать традиционной, т.е когда каждый бит экранного байта управляет одним пикселем, а не влияет на их целую группу. Для этого достаточно сделать весьма простую аппаратную коррекцию в видеовыходе и применить особый фонт. В таком фонте 6 битов кода символа кодируют две тройки пикселей стоящих одна над другой, причём так, что биты D2,D1,D0 управляют зажиганием точек верхней триады, а биты D5,D4,D3 - нижней. Тогда не требуется сложных расчётов, всегда известно какой бит какой точкой управляет.
Фонт высотой в 4 линии, отчего используются лишь выходы LC0 и LC1 из ВГ75. В схему добавляется мультиплексор, переключаемый сигналом LC1 из ВГ75. Тогда на адреса ПЗУ фонта в линиях 0 и 1 знакоместа подаются биты D2,D1,D0 кода символа, а в линиях 2 и 3 на ПЗУ подаются биты D5,D4,D3 (номера линий соответствуют весам LC1,LC0). Тогда верхним рядом пикселей управляют одни биты, а нижним - другие. Что и обеспечивает такое простое кодирование графики.
Отличие от традиционной графики в том, что тут в одном байте задаются два ряда пикселей, а не один ряд, как например в ИРИШЕ или ОРИОНЕ. ПЗУ фонта для графики может быть 3-х битовым, а если не нужен обычный текстовый режим, то ПЗУ с фонтом вообще можно снять, подав выходы КП11 прямо на ИР13.
А суть и полезность идеи в том, что изменение бита, например, соответствующего пикселю верхней триады, никак не влияет на отображение других пикселей знакоместа, т.к не меняются биты ответственные за их свечение. В базовом РК изменение одного бита кода символа изменяет не один граф.пиксель, а сразу все 6 пикселей, потому там так трудно выводить графику.
Теоретически, если обеспечить коммутацию (т.е отключение КП11), то и обычный текст обычными РК-шными символами 6*8 можно выводить, т.к режим с фонтом высотой в 4 линии устанавливается программно, а в ПЗУ РФ2 как раз и влезают два фонта - фонт для графического режима и обычный текстовый фонт 6*8. Но коммутация усложнит схему, потому вряд-ли я так сделаю.
Т.к совместимость с РК недостижима и не волнует, разумно исправить и адресацию портов. После доработки получится обычный компьютер, например, с ОЗУ 59 кб (4 кб ПЗУ и 1 кб - под В/У), шириной экрана в 80 символов и имеющий дополнительный графический режим с разрешением 240*104 (при желании с цветом). Графический экран занимает 4000 байтов. 59-4= 55 кб остаются для программ в граф.режиме. Но это лишь прикидка, может быть лучше поиметь ОЗУ в 48 кб, а 16 кб отдать ПЗУ (оставив 256 адресов с $FF00 под В/У)
Возможно, что идея такой организации псевдографики применена и в каких-нибудь иностранных текстовых ЭВМ с псевдографикой из 70-тых годов (идея-то очень полезная и обходится всего в один дешёвый TTL-корпус). Но для отечественных ЭВМ это однозначно оригинальная идея. Никто из отечественных разработчиков и любителей РК86 о этой идее не знал, в т.числе и разработчики РК86 и Микро-80. С ними, кстати, в Москве 31 октября состоится встреча (надеюсь видео снимут).
Вот такой графический РК с экраном 240*104 или 192*104, аппаратно отличающийся от оригинала лишь формирователем ССИ (это один корпус сдвоенного одновибратора типа 155АГ3) и напайкой 555КП11 на выходы данных ВГ75. И естественно, для цвета остаётся ещё 5 битов на знакоместо 3*2 пикселя (это бит D6 в коде символа плюс ещё 4 атрибутных выхода ВГ75). А если удовлетвориться экраном в 192*104, то весь расход деталей составляет лишь одна 555КП11.
Собираюсь сделать такую переделку на плате РК. Но сначала хочу заменить в РК процессор и хотя бы тупо (т.е заменой кварца) турбировать его до 2.3...2.5 МГЦ. Чтобы поиметь бОльший такт (например, желательные 4 МГЦ) нужны буфера на ОЗУ или придётся менять РУ5 на статику. Чтобы сохранить эстетичный вид платы, собираюсь впаять Z80 в посадочное место КР580. Я уже так делал в Специалисте: Z80 впаивается и держится на 4-х (удлинённых) ножках, остальное МГТФ-ом под процессором (это одновременно самый простой способ и эстетичный, т.к нет нависающих доп.плат).
Для программирования придётся изменить свой эмулятор РК86 работающий на ОРИОНЕ для поддержки такой схемы - в нём отлажу соответствующий ROM-BIOS, а затем уже сделаю железо и буду отлаживать ROM-BIOS в реале. Без эмулятора писать программы 8-ми разрядки сейчас не принято, т.к на самой 8-ми разрядке это намного дольше, да и не всегда там есть DOS и инструментарий.
Кстати, безотносительно к теме, - схему РК86 на РУ5 можно удешевить, если воспользоваться идеей применённой в Acorn Electron. Там ОЗУ тоже всего 32К и главная задача была именно удешевление. 565РУ5 (4164) дают 64 кб, а требовалось всего 32. Потому там поставили всего 4 штуки 4164 вместо 8-ми и применили временнОе мультиплексирование. Т.е за один цикл доступа в память процессора, к реальному ОЗУ делается два доступа, при чтении сначала в защёлку читается одна тетрада, затем вторая и обе поступают на шину процессора. При записи аналогично. В 1982 году банка 4164 стоила треть цены компьютера, потому замена 4-х дорогих ИМС 4164 на несколько дешёвых TTL-корпусов позволила создать дешёвый клон BBC Micro доступный для малообеспеченных слоёв населения.
https://ru.qwertyu.wiki/wiki/Acorn_Electron (это кое-какой перевод английской вики)
https://www.theregister.co.uk/2013/08/2 ... ory_at_30/
Для Acorn Electron эта идея тормознула процессор и стала фатальной (т.к ОЗУ уже до того работало на пределе из-за общего доступа с видеоадаптером). В РК можно этого избежать сократив вдвое время доступа к ОЗУ, т.к 565РУ5 легко тянут удвоенный такт 1.77 МГЦ, т.е 3.5 МГЦ (на такой частоте работают РУ5-тые в клонах Синклера и не дохнут). Но можно оставить время доступа к ОЗУ тем же, что тормознёт прогон.