Придется ставить дополнительную ПЗУ на 4 Кб, так как основная ПЗУ всего 2 Кб и занята полностью. А раз такое дело, то лучше сделать триггер, который бы переключал в качестве знакогенератора ОЗУ<->ПЗУ. То есть, параллельно ПЗУ припаять ОЗУ и переключать их CS-входы.
В видеоадаптере Микро-80 применены микросхемы РУ2 объемом 1 КБит. Вот их и надо применять. Нам потребуется 6x3 Килобита под знакогенератор 256*6*10. Это уже 18 редких микросхем + дешифратор адреса (155ИД4).
Это уже слишком много, что бы это делать.
А далее, нам нужно только 5 корпусов. Несколько корпусов (155ЛН1, 155ЛА7), которые будут при обращении к адресам F000-F005 подавать сигнал записи на РУ2. Если мы заполним видеопамять идентичными значениями, то на 8 адресных линиях РУ2 будет всегда нужное значение. На остальные 4 линии адреса ставим мультиплексор (2x155ЛР1 + 155ЛН1) к которому подключаем шину адреса процессора.
И вот такой способ записи:
void setChar(byte charCode, byte* charData) {
``for(i=0; i<2048; i++)
````memory[0xE000+i] = charCode;
``for(i=0; i<6; i++)
````memory[0xF000+i] = charData[i];
}
Можно конечно мультиплексор поставить на все линии адреса, но для этого потребуется еще 4 корпуса 155ЛР1. И еще триггер, что бы сделать возможность отключения знакогенератора от ценного адресного пространства.
Короче, дохрена микросхем. Легче тогда выкинуть знакогенератор вообще и сделать полноценный граф режим. Получится что то похожее на Специалист.





Ответить с цитированием