EasyEDA EasyEDA EasyEDA EasyEDA

"Специалист плюс" - очередное воплощение.

В компьютере Специалист постоянно идут споры о реализации цвета. Сколько цветов и как их читать.

Выскажу и я свою безумную идею.
Сделаем групповое кодирование, как в "Орионе" 16-цветный режим. Т.е. атрибуты цвета находятся в параллельной памяти по тем-же адресам, что и основной экран. Атрибут размером в 1 байт содержит информацию о цвете точки на основном экране в пределах одного байта для 8 точек. 4 бита для нулевого значения и 4 бита для единицы. По 16 комбинаций цвета. Получится, что 8 точек рядом могут иметь только 2 разных цвета из 16-и. Ничего страшного не вижу в этом, в "ZX Spectrum" с этим ещё хуже - 2 цвета на квадрат 8х8. Такое решение позволит старым программам без поддержки цвета прекрасно работать, установив атрибуты однотипные для всего экрана.

А как-же получать доступ к дополнительной памяти? Можно, как в "Орионе" заменять основной участок памяти памятью из дополнительной плоскости, управляя через определённый порт.
Но есть более изящное решение, основанное на особенности процессора i8080. Заключается оно в том, что используя слово состояния при обращению к стеку, можно подменить основную память на дополнительную, объёмом до 65536 байт! Т.е. выделить туда стек и атрибуты экрана и переключаться они будут намного быстрее, чем управление через порт. Да и команды чтения/записи стека быстрее работают. Эту-же память можно использовать и как кеш для игрушек и накопителей. Такой подход был использован в компьютере "ЮТ-88" для организации квазидиска. В принципе, можно и здесь так сделать, установив, например, микросхему памяти DS1250Y ёмкостью 512 кб с встроенной батарейкой.

Схемотически позаимствуем видеоузел у Ориона или у Сябра. Видеоданные и атрибуты, как и в стандартной схеме, параллельно читаются в промежуточные регистры с частотой 1/4 пиксельклока и переписываются с частотой 1/8 пиксельклока данные в регистр сдвига, атрибуты в параллельный регистр, откуда через мультиплексор передаются на видеомонитор/телевизор.

В общем, загорелся я идеей собрать это чудо! Что изменится относительно стандартного "Специалиста"?:

Необходима будет правка ПЗУ:

Для памяти стека переключение банков по 64 кб. осуществляется четырьмя битами, записываемами в порт на ИР35. Остальные 4 бита управляют начальным адресом видеопамяти, аналогично Ориону-128. Здесь, есть небольшая фишка, 2 бита переключают 4 области экрана и атрибутов в пределах 64 кб, а ещё 2 атрибуты - в памяти выше 64 кб. в пределах 256 кб. Т.е. возможно создать видеоэффект моментального переключения цветов на экране (предварительно записав нужные атрибуты в разные области памяти атрибутов! Платы расширения. Для установки дополнительного оборудования будет разъём SL62, частично совместимый по сигналом с шиной ISA-8.
Это позволит использовать некоторые платы от IBM PC.

Для начала создам проект в Протеусе, потом на макетной плате. Если всё пойдёт как задумано - закажу опытную партию плат.
Что-бы уменьшить размеры платы и упростить монтаж и наладку, вероятно, всю мелкую логику засуну в ПЛИС. Старенькая Altera MAX7000 в корпусе PLCC вполне подойдёт.

Обсуждение в Telegram


Распределение портов
00h-3FhРезерв для Z180
40h-43hКР580ВИ53
44h-47hКР580ВВ51
48h-4BhAM9511
4Ch-4Fh
50h-53hНакопитель CH376
54h-55hКонфигурация памяти
58h-5BhЗвук SAA1099
5Ch-5Fh
60h-61hVT82C42/HT6542B
F8h-FBhКР580ВВ55 матричная клавиатура, принтер.
Платы расширения
80hТест коды
88h-89hЗвук OPL3 YMF262-M
70h-71hЧасы КР512ВИ1
F0h-FBhКР580ВВ55 программатор, расширения.
xxh-xxhCF Card
2F8h-xxhCOM3, COM4

Дубль два. "Специалист плюс плюс".

Существует в природе интересный процессор родом из СССР именуемый КР580ВМ1. Это доработанный КР580ВМ80, имеющиё одно питание 5в, и отдельный вывод для адресации дополнительных 64 КБ памяти данных, частота до 5 МГц. В паре с генератором 16 МГц на КР1810ГФ84 при стандартном пиксельклоке видео 8 МГц, получаем 5,333 МГц клок процика. Ну, и, вместо стека используем ту самую возможность доппамяти!
Всё это хорошо и радостно, только процессоров этих было выпущено очень ограниченное количество, и всречаются они в продаже с очень негуманным ценником. Так что пока будем творить на ВМ80, в турборежиме 32/9 = 3,555 МГц.


Дополнительно:
Online эмулятор "Специалист" от Алексея Морозова.
Техническая информация по ПК «Специалист»
Mirror Orion site
Eugene's site
Old Lazy Cats Group
Mirror efu site

reliablecounter.com
reliablecounter blog
Посещений - счетчик посещений