Малоизвестный ретро компьютер с экраном 256*256

Перейти вниз

Малоизвестный ретро компьютер с экраном 256*256

Сообщение  barsik в Сб Ноя 03 2018, 02:06

Хочу открыть тему посвящённую одному малоизвестному, но всё-же официально опубликованному в литературе, рэтро-компьютеру (разработка сделана в минском ВУЗ-е, кстати, несколько других известных отечественных компьютеров также разработали в ВУЗ-ах).

Этот компьютер схемно представлен в книге в минимальном варианте, хотя предполагается расширение с помощью доп.ОЗУ. Мне интересно потому, что этот компьютер по организации экрана, цвета и клавиатуры очень близок к ОРИОНУ, благодаря чему переделка эмулятора ОРИОНА в эмулятор этого компьютера (с ОЗУ всего в 64К) заключается лишь в изменении всего нескольких цифр (адресов начала и конца экрана и адреса ППА обслуживающего клавиатуру).

Хотя ROM-BIOS этого компьютера в литературе не приведён, но оказывается даже ПЗУ ОРИОНА при изменении в нём нескольких цифр годится, т.к всё аппаратное отличие лишь в адресе начала экрана и его размере (256*256 вместо 384*256). Я за полчаса труда получил работающий эмулятор этого компьютера. Теперь можно удобно разрабатывать ПО для этого компьютера в эмуляторе.

К сожалению, т.к эмулятор ОРИОНА написан для MSDOS, то при сокращении размера экрана, визуально экран в видеорежимах 640*400 или 640*480 получился сильно плющенным сбоков, а не растянутым на весь экран, как положено. Это несколько обескураживает. Но увы, переделать свои эмуляторы под Windows не могу, для этого нет знаний, а на освоение программирования под Windows уже нет энергии. Но так лишь в моём эмуляторе, в реале растр занимает чётко весь экран дисплея.

Выходом может служить или сокращение экрана до 256*192 (с удвоением в эмуляторе: 512*384 в растре 640*480) или использование этого эмулятора через DosBox, где видимому в окне эмулируемому экрану можно придать нужный "aspect ratio". Оба решения неудачные, но тут я ничего не могу поделать.

К сожалению, в современных компьютерах режимы VGA реализованы не аппаратно, а эмулируются, отчего не работает регистровое программирование по регистрам 6845. Это позволяло на VGA видео адаптерах 90-тых получить режим в котором растр 512*256 растянут на весь экран дисплея.

Такой хотя неполный, но уже работающий эмулятор был странслирован более полугода назад, но до реализации в железе руки пока не дошли. Хотя это тоже как раз очень несложно. Для чего берётся рабочая отлаженная плата СПЕЦИАЛИСТ-Экспресс (имею их 5 штук) и на ней меняется кварц 8 на 6 МГЦ, на плате перекидываются пара проводков (смена коэфф-та деления счётчиков и установка сокращённого размера экрана) и подключается клавиатура от РК86. В итоге, всего за 20 минут труда получается монохромный клон этого компьютера.

Минимальный вариант (т.е с одной банкой) клона сделанного на базе платы Специалиста может быть только монохромным, потому что для получения цвета на плату требуется добавлять вторую банку (РУ6), т.к в оригинале этого компа используется совсем иная логика обращений видеочасти к ОЗУ. А именно, и цвет и графика читаются из одной банки ОЗУ, - из каждых трех соседних машинных тактов, в первом такте читается графика, во втором цвет, и только в третьем доступ имеет процессор. Синхронизация достигается за счёт использования тактов WAIT, отчего возникает некоторое торможение и реальное быстродействие составляет ~1.6 МГЦ (хотя клок КР580 равен 2 МГЦ). Напротив, в схеме СПЕЦИАЛИСТА ОЗУ прозрачное, такты WAIT не используются и торможения нет.

Однако из-за прозрачного ОЗУ для получения цвета в схеме СПЕЦИАЛИСТА нужна параллельная банка ОЗУ, откуда синхронно с графикой читается цвет. При 256 точках в строке для растяжки растра на весь экран нужен пиксель клок в 5.25...6 МГЦ, такт CPU при этом 1.31...1.5 МГЦ. И тут важно что КР580 в схеме Экспресс тянет 3 МГЦ и выше, то легко такт удвоить до 2.62...3 МГЦ. Тогда такой компьютер с реальным тактом 3 МГЦ превосходит не только Вектор-06Ц, но и ZX-48К как по быстродействию так и по цветовым возможностям. У Вектора-06Ц клок КР580 3 МГЦ, но ОЗУ непрозрачное, отчего реальное быстродействие не превышает 2.4 МГЦ.

Очевидны существенные недостатки не только тормозящей схемотехники, но главное архитектуры памяти этого компьютера, которая неудобна для игр, но ещё более невыгодна для системных программ. Для системных программ в этом компьютере невыгодно выбран адрес экрана 8000, - более высокий адрес экрана позволяет получить бОльший сплошной участок ОЗУ, польза чего ясна программистам и не очевидна аппаратчикам.

При изготовлении цветного клона этой ЭВМ на базе платы Специалиста, как и в ОРИОНЕ экранные плоскости графики и цвета разнесены по разным банкам. Каждая плоскость экрана 256*256 занимает 8 кб, потому, если переместить экран на С000...DFFF и включать в окне экранные плоскости поочерёдно, то даже с одной банкой ОЗУ образуется 56 кб ОЗУ пользователя, причём для TPA CP/M даже в базовом варианте (без второй банки РУ6) остаётся 48 кб сплошным участком.

А при наличии второй банки РУ6 достигается сплошной участок ОЗУ уже в полные 64 кб. Т.е установка второй банки РУ6 решает не только проблему цвета, но и улучшает архитектуру. В РУ6 вмещаются два окна по 8 кб, одно из этих окон является цветовой плоскостью экрана, а второе окно 8 кб позволяет закрыть собой и исключить экран из адресного пространства. Сплошное ОЗУ в 64К позволяет получить TPA в 56 кб, хотя для 99 % программ CP/M достаточно TPA в 48 кб.

Конечно с музейно-исторической и коллекционной точки зрения стоит воссоздать полностью оригинальный компьютер в том виде, каким он был опубликован в литературе. По счастью, по ряду причин (в основном из-за наличия в схеме ПЛМ), мало кто смог повторить эту конструкцию, отчего общее количество имеющихся в наличии программ для данного компьютера не превышает нуля, а точнее меньше нуля (т.к оригинального ROM-BIOS-а тоже нет). И как упомянуто выше, воссоздание в железе предполагается полностью другой схемой. Потому, если чуть изменить архитектуру перенеся экран, то сути это не изменит, а качество компьютера улучшится.

Дополнительная банка 565 РУ6 для хранения цвета, включается параллельно графическому экрану C000...DFFF. Хотя при желании можно сделать две программно коммутируемые экранные области C000...DFFF и 8000...AFFF, что позволит использовать без переделок оригинальное ПО данного компьютера, если оно будет обнаружено.

Добавление такой архитектуры на базе РУ6 к базовой схеме даёт следующие возможности:

- сохраняется работоспособность в минимальной конфигурации (т.е без банки РУ6) в монохроме
- сплошное ОЗУ в 64 кб (экран вне адресного пространства, т.к закрыт окном из РУ6)
- размещение ROM-BIOS (всего или только входов) в ОЗУ (перегружается туда при старте из ПЗУ)
- 16 цветов аналогичные ОРИОНУ (2 цвета в пределах экранного байта)
- простой в реализации моно режим 512*256

Режим 512*256 (монохром) позволяющий удобную текстообработку резко улучшает потребительные качества данной простейшей ЭВМ, обеспечивая как 80 символов шрифтом 6*8, так и 64 символа в строке более качественным шрифтом 8*8.

Такой компьютер аналогичен ОРИОНУ, но более скоростной и благодаря грамотной организации экрана, более удобен как для текстообработки, так и для игр, а также более прост, чем ОРИОН. Благодаря общности с ОРИОНОМ можно использовать всё системное ПО ОРИОНА. Речь, естественно не о ORDOS, а о дискетных ДОС ОРИОНА для банки 0. Пока введение цвета и экр.режима 512*256 это лишь благие намерения, - не сделано даже в эмуляторе.

Специалист легко переделать только в монохромную версию такого компьютера, т.к для установки банки РУ6 нужна существенная доработка с установкой доп.ИМС вторым этажом (или вообще на отдельной платке). А вот ОРИОН, уже имеющий вторую банку и цветной видеовыход, намного легче переделать в цветную версию.

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



Последний раз редактировалось: barsik (Сб Ноя 03 2018, 13:29), всего редактировалось 10 раз(а)

_________________
***
avatar
barsik
новичёк

Сообщения : 90
Дата регистрации : 2016-11-10
Откуда : 600 км от Москвы

Посмотреть профиль

Вернуться к началу Перейти вниз

.

Сообщение  Viktor2312 в Сб Ноя 03 2018, 08:53

Схему бы посмотреть, было бы интересно, хотя бы для истории, если никто не решится повторить....
avatar
Viktor2312
Гуру+

Сообщения : 11045
Дата регистрации : 2012-08-10
Возраст : 39
Откуда : Пятигорск

Посмотреть профиль

Вернуться к началу Перейти вниз

.

Сообщение  barsik в Сб Ноя 03 2018, 16:19

Для истории схема в конце книги "Микро-ЭВМ для всех".

Её я делать не хочу и не могу, т.к там ПЛИС, да и монтировать 40 корпусов МГТФ-ом утомительно. А здесь я веду речь об изготовлении клона, точнее почти клона (т.к предложенный там адрес экрана меня не устраивает) по схеме СПЕЦИАЛИСТА или ОРИОНА. Ценность в том, что в монохроме получается очень простой компьютер, не сложнее зоновского Синклера, имеющий экран 256*256 размером в 8 кб, а всё остальное ОЗУ пользователя. Если говорить только о монохромной версии, то это и есть СПЕЦИАЛИСТ с сокращённым и перенесённым в другой адрес экраном и без ПЗУ занимающего память (т.е с "теневым" ПЗУ). Т.о речь о компьютере с наиболее удобной для домашней бытовой ЭВМ архитектурой, именно его имело смысл разработать в 80-тые вместо РК86 и других самоделок.

Не макетировал, но есть две настроенные и доступные для макетирования платы СПЕЦИАЛИСТА и ещё штук 5, правда насмерть дохлых, плат ОРИОНА.

Теоретически удобно переделывается ОРИОН, т.к всё его отличие только в размере экрана (и клавиатура та же и экран и цвет такой же). Достаточно триггер BORDER взводить не при весе счётчиков в 48, а при весе в 64. И экранчик становится 512*256. Из чего уже просто сделать 256*256 убрав от мультиплексора младший разряд счётчиков и уменьшив вдвое пиксель клок выходного сдвигового регистра и строб параллельной записи в него.

При кварце 10 МГЦ видео сигнал почти точно соответствует стандарту (52 МКСЕК строчного периода на картинку, 12 МКСЕК на обратный ход). Коэфф-т деления строчных счётчиков 80 (кадровых, естественно, 312). Период сдвига одного видеобайта - 800 НСЕК, т.е два цикла доступа к ОЗУ за время вывода одного видеобайта. При ширине растра в 512 точек 64 отображаемых в строке видеобайта выводятся за 0.8 МКСЕК * 64= 51.2 МКСЕК. В СПЕЦИАЛИСТЕ и РК86 этот параметр - 48 МКСЕК, в базовом ОРИОНЕ - 42 МКСЕК.

Потому при пиксель клоке в 10 МГЦ растр полностью виден только на видео мониторе, а на телевизоре видна лишь часть картинки и срывается синхронизация. Также кстати и на Корвете, там тоже пиксель клок 10 МГЦ и 512 пикселей в строке. Чтобы на телевизоре картинка шириной в 512 точек целиком влезала в растр нужен пиксель клок не ниже 11 МГЦ, лучше 12 МГЦ, как в Векторе-06Ц.

Экран ОРИОНА в 90-тые расширяли до 512*256 (так сделано и в ОРИОН-ПРО), но как указано выше это неудачно для телевизора. На пиксель клоке в 10 МГЦ даже 480 точек не видны целиком. Потому одновременно с расширеним экрана до 480/512 точек, кварц 10 МГЦ меняли на 11 МГЦ. Это простая доработка необходима, чтобы расширенный экран 512*256 влезал в экран телевизора. При замене кварца, естественно, и клок Z80 меняется с 2.5 МГЦ до 2.75 МГЦ (ускорение 10%). При кварце 11 МГЦ коэфф-т деления строчных счётчиков соответственно увеличивают с 80 до 88, чтобы сохранилась частота строк и кадров.

Чтобы из экрана 512*256 получить экран 256*256 достаточно убрать младший вес счётчика и уменьшить вдвое пиксель клок с 10 до 5 МГЦ. Значения весов последующих счётчиков падают вдвое, т.е при этом в строке веса будут пробегать не до 88, а лишь до 44. Это меньше чем, 64, что значит, что разряд счётчика V5 не годится для регенерации ОЗУ, с ним счётчик не пробегает все значения (никогда не принимает значения 44...63).

Потому, чтобы сохранить регенерацию придётся поменять на входе мультиплексора вес V5 на вес V7 (чтобы была регенерация важно чтобы по /RAS коммутировались самые высокочастоные веса счётчиков). В базовом ОРИОНЕ ОЗУ регенерируется за время вывода двух строк растра (128 МКСЕК), в каждой строке регенерируется 64 столбца. При растре экрана в 256 точек по ширине, ОЗУ будет регенерироваться за 4 строки, т.е за 256 МКСЕК, т.к тогда в каждой строке регенерируется только 32 столбца. Но 256 МКСЕК всё-равно меньше, чем 2 МСЕК, что минимум для РУ5-тых.

Это много слов вряд-ли понятных тем, кто не разбирался в видеогенераторах Специалиста или ОРИОНА, но реально это не сложнее, чем типовая доработка ОРИОНА до экрана в 512*256 с расходом двух дешёвых ТТЛ-корпусов. Чтобы уместить растр шириной в 256 (или 512) в экране, заменяем кварц 10 МГЦ на 11 МГЦ, а для сокращения разрешения с 512 на 256 вставляем доп разряд до счётчика видеогенератора (один счётчик из ИЕ5 или ТМ2 с инвертором, чтобы переключался по заднему фронту как счётчики). И обеспечиваем переписывание видеобайтов из ИР82 в ИР13-тые не каждым вторым импульсом CAS, а каждым четвёртым. Т.е на время сдвига одного видеобайта приходится уже не 2, а 4 обращения к ОЗУ.

Т.к экран в ОРИОНЕ также с C000 и клавиатура та же, то для монохромного варианта ничего больше делать не надо. А для цвета придётся сделать несложную коррекцию в схеме выбора банок, чтобы банки 1 и 2 включались только в окне C000...DFFF. Это вызывает дополнительный расход ещё в один ТТЛ-корпус.

Так получается компьютер с реальным тактом в 2.75 МГЦ, экраном 256*256, причём в отличие от ОРИОНА, растр на весь экран. Режим 512*256 можно сделать по принципу "Супер-фонт", что очень просто схемотехнически (одна КП11), но намного хуже программно, т.к чётные точки - из одной банки, нечётные - из другой, и программно намного сложнее работать с графикой, хотя для чисто текста потери меньше. Разумнее разделение ячеек экрана на банки не попиксельное, а побайтовое. Четные видеобайты - из одной банки, нечётные - из другой.

Но исправный ОРИОН у меня только один и экспериментировать на нём нельзя. Починить дохлые ОРИОНЫ слишком сложно (платы с летучими дефектами). Потому для макетирования доступны только несколько плат СПЕЦИАЛИСТА.

Как раз есть одна плата Специалиста на КР580 с кварцем 11 МГЦ. В ней достаточно добавить один ТМ2 и проводками перекинуть сколько-то цепей, чтобы получился монохромный режим 256*256 с клоком КР580 в 2.75 МГЦ. Но проще переделать Специалист с базовым кварцем 8 МГЦ.

Заменяем кварц на 6 МГЦ и чуть меняем логику, чтобы коээф-т деления строчных счётчиков сократился с 64 до 48 и, также как для ОРИОНА, меняем V5 на V7 на входе мультиплексора, чтобы не потерять регенерацию. Экран сокращаем до размера в 8 кб и сдвигаем на 8000. При этом получится СПЕЦИАЛИСТ с ПЗУ по-прежнему на С000, с маленьким экраном 256*256 с адреса 8000, но с тактом КР580 не 3 МГЦ, а всего 1.5 МГЦ. После тестирования останется только перенести ПЗУ на адрес 0, а экран на C000. И получится нужная архитектура.

Всё это несложно сделать за полчаса. Здесь практически всё достигается только разрезами печати и соединением цепей по новому проводками. Дополнительных микросхем единицы. Именно такой простейший вариант я и планирую. Важно, что могу это сделать быстро и проблем не предвижу. То что скорость будет низка (всего 1.5 МГЦ) пока не важно и даже лучше, т.к чем ниже такт, тем надёжнее. А также на такте 1.5 МГЦ удобно поставить 6502, который по скорости соответствует быстродействию КР580 с тактом 3 МГЦ.

Лишняя трудоёмкость лишь в том, что к плате СПЕЦИАЛИСТА не подключить клавиатуру РК86, не тот разъём. Придётся или использовать клавиатуру Специалиста или монтировать как-то разъём СНП-30, как в ОРИОНЕ и РК86, чтобы подключать клавиатуру РК86. Потому, видимо, применю ASCII аппаратную клавиатуру, для неё драйвер очень маленький и простой, а подключается через панельку DIP-16.

Т.о получить СПЕЦИАЛИСТ с пониженным тактом, маленьким экраном и ПЗУ по другим адресам несложно. А вот добавка второй банки для цвета и тем более экрана 512*256 будет довольно громоздкой доработкой. Не считая второй банки ОЗУ придётся добавить примерно десяток ТТЛ-корпусов. Тут удачно, что у меня уже есть плата Специалиста где смонтирована вторая банка ОЗУ и видеовыход по схеме ОРИОНА (не ней я в 1990 переделывал плату Специалиста в ОРИОН).

Схему я собирался рисовать перед началом макетирования и как раз не на бумаге, а в компьютере. Но обещать что-то очень вредно для дела, так что "лишь может быть" схему (непроверенную) выложу вскоре. Это будет схема "Экспресс" с небольшими изменениями. Хотелось бы также доделать эмулятор этого компьютера, т.к без него всё бессмысленно, - с его помощью надо написать и отладить тесты и ROM-BIOS. Это мне интересно, т.к хочется написать свой ROM-BIOS, лучший, чем у других подобных ЭВМ. Без эмулятора нет смысла вообще делать что-то микропроцессорное в железе, т.к только эмулятор позволит сделать ПО.

_________________
***
avatar
barsik
новичёк

Сообщения : 90
Дата регистрации : 2016-11-10
Откуда : 600 км от Москвы

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: Малоизвестный ретро компьютер с экраном 256*256

Сообщение  Спонсируемый контент


Спонсируемый контент


Вернуться к началу Перейти вниз

Вернуться к началу


 
Права доступа к этому форуму:
Вы не можете отвечать на сообщения