Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
Разрешение 800х600 меня тоже тронуло. Если оно действительно... 23.03.06 15:46 Число просмотров: 3025
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman Отредактировано 23.03.06 15:47 Количество правок: 1
|
Разрешение 800х600 меня тоже тронуло. Если оно действительно нужно, то это другой разговор.
Если немного подумать, убавить аппетит и ограничится 10 строк по 20 знаков. Если изображение по бОльшей части статическое, то рефреш можно опустить до 25Гц и ниже. Причем инерционность матрицы подавит и на этой частоте мерцание, то:
10*20*64*25=0.32Мгц.
> 20*38*64*50 = 2.5 МГц - уже легче, но с остальным все равно > туго.
> Нереально. Пара команд (на ОЧЕНЬ урезанной системе команд > микроконтроллера) это инкремент (или декремент), проверка и > условный переход по флагу. Регистров мало - нужно дергать > память, многие команды (тот же вывод в порт) доступны > только для одного регистра (например аккумулятора) - надо > дергать другие регистры или опять таки память. 10-20 команд > это ОЧЕНЬ оптимистичный прогноз.
Есть таблица шрифтов. В регистре символ. Из таблички выдергиваем байт, описывающий одну восьмиточечную строку. В основном цикле (8 раз) закидываем байтик в параллельный порт, младший бит которого является сигналообразующим, делаем побитовый сдвиг регистра. Итого 4 инструкции. out a; shr a; dec c, jne -4. Разумеется для каждых 8 бит нужно будет сделать следующее: загрузить регистр-счетчик значением 8, сделать выборку очередной строки для символа, а для этого значение символа нужно умножить на 8 (сдвинуть влево на 3 бита), добавить номер строки. Ничего страшного, если между символами будет маленький зазор.
> Все равно нужно тактировать бедный контроллер сотнями > мегагерц. Где такие контроллеры, которые это выдержат?
Можно это дело спаять на двух-трех микросхемах: одна/две ОЗУ, третья ПЗУ и еще счетчик нужен.
В ПЗУ прошиты адреса строк шрифтов. ОЗУшка минимум одна - буфер экрана, вторая можно ПЗУ, но лучше ОЗУ, чтоб шрифты можно было грузить. Со счетчика сигналы подаются на адрес ПЗУ порядка выборки, с ПЗУ порядка выборки данные подаются на адрес ОЗУ фрейм-буфера. Значение байта фрейм-буфера подается на младшие 8 разряд адреса ОЗУ шрифтов, на старшие 3 разряда подадим сигнал от ПЗУ выборки (это будет номер строки шрифта). На выходе регистр сдвига, который загружается строкой шрифта, каждые 8 тактов.
Сотни мегегерц не нужны, 5 вполне хватит для 20*40*64*50.
> Легче уж рассыпуху а-ля эмуляторы спектрумовского ULA - > дешево и сердито.
|
|
|