OngoingSpecialist+
STDSpecialist+
License
:TAPR Open Hardware License
Description
В компьютере Специалист постоянно идут споры о реализации цвета. Сколько цветов и как их читать.
Выскажу и я свою безумную идею.
Сделаем групповое кодирование, как в "Орионе" 16-цветный режим. Т.е. атрибуты цвета находятся в параллельной памяти по тем-же адресам, что и основной экран. Атрибут размером в 1 байт содержит информацию о цвете точки на основном экране в пределах одного байта для 8 точек. 4 бита для нулевого значения и 4 бита для единицы. По 16 комбинаций цвета. Получится, что 8 точек рядом могут иметь только 2 разных цвета из 16-и. Ничего страшного не вижу в этом, в "ZX Spectrum" с этим ещё хуже - 2 цвета на квадрат 8х8. Такое решение позволит старым программам без поддержки цвета прекрасно работать, установив атрибуты однотипные для всего экрана.
А как-же получать доступ к дополнительной памяти? Можно, как в "Орионе" заменять основной участок памяти памятью из дополнительной плоскости, управляя через определённый порт.
Но есть более изящное решение, основанное на особенности процессора i8080. Заключается оно в том, что используя слово состояния при обращению к стеку, можно подменить основную память на дополнительную, объёмом до 65536 байт! Т.е. выделить туда стек и атрибуты экрана и переключаться они будут намного быстрее, чем управление через порт. Да и команды чтения/записи стека быстрее работают. Эту-же память можно использовать и как кеш для игрушек и накопителей. Такой подход был использован в компьютере "ЮТ-88" для организации квазидиска. В принципе, можно и здесь так сделать, установив, например, микросхему памяти DS1250Y ёмкостью 512 кб с встроенной батарейкой.
Design Drawing
The preview image was not generated, please save it again in the editor.BOM
Bom empty
CloneProject Members
Empty


Comment