Hello Vadik!
25 Sep 05 20:57, Vadik Akimoff wrote to Dima Bystrov:
Для игрушек достаточно. Посчитай для сравнения, сколько тактов ты бы выводил 10DB>> получаем: 10 спрайтов 16x16 или 5 спрайтов 16x32 < 85000 тактов.
VA> Ага. в кадре остаётся примерно 45000 (70000-25000), 2 кадра выводить
VA> только несколько микроспрайтов =))
спрайтов 16x16 (по маске, с точностью в 2 пиксела по горизонтали и в один по
вертикали, с запоминанием области под спрайтами и с восстановлением оной) на
обычном экране :)
Есть! Первый - в 5,4 страницах, второй - в 7,6 страницах. А то, что я сказалDB>> фреймовость нам особо не нужна, мультиколорами и не пахнет, так
DB>> что на
DB>> тормознутость при выборке строчки можно не обращать внимания...
VA> Фреймовость не нужна, зато нужна несекучесть с лучом (второго-то нету
VA> экрана)!
"надо 256k" - я тупил! следить за мной надо!
128k достаточно.
Есть мысль задавить мультиколорный режим #eff7 bit0 и продвинуть сабж цвет на
каждый пиксел (удобно накладывать что угодно на что угодно, в т.ч. для
проволочных построений, графиков и т.п.). Этот девайс должно быть возможно
собрать на почти любом неПЛИС эхотаге.
Идея простая, как шарик (ко мне в голову сложные идеи не приходят ;))).
Работать должно так:
1. в поле основного экрана все такты отдаются видеоконтроллеру (2 лог. эл-та).
2. запись в сдвиговые регистры должна идти с частотой не 0.875MHz, а 3.5MHz (1
мультиплексорный эл-т). Частота сдвига остаётся та же, какая была - 7 MHz.
3. с выходов сдвиговых регистров (через один) снимаются 4 цветовых
составляющих. эти составляющие идут через буфер/регистр (1 корпус + 1 лог.эл-т
для наложения сигнала бордюра на сигнал выборки режима) на выход и микшируются
резисторами, в палитре RGBw. биты 7 6 5 4 3 2 1 0 = wL wR GL GR RL RR BL BR,
где L - левый пиксел, R - правый пиксел.
4. во время работы этого режима выход с мультиплексоров RGBI должен
блокироваться (1 лог. эл-т).
5. адресация экрана такая же, как в мультиколорном режиме (2 лог. эл-та), но
для промежуточных (освободившихся из-за отрубания процессора от доступа к
памяти) пикселов подаётся сигнал включения нечётной страницы. Т.е. получается:
#c000 #4000 #e000 #6000 #c001 #4001 #e001 #6001 и т.д.,
где #c000 - в 4-й странице (2-я экранная область - в 6,7 страницах).
6. доступ через, допустим, тот же #eff7 bit0. Мультиколорных программ через
этот порт всё равно одна штука (моя), и та программа хорошо работает и без
аппаратного мультиколора.
Программируется очень удобно (особенно наложение спрайтов - просто кладём/не
кладём нужные 2 пиксела. Причём даже не нужно сдвигать побитно для печатания
спрайтов с точностью в 2 пиксела по горизонтали!).
Игр под это чудо нашлёпать - делать нечего. Я бы парочку нашлёпал, если бы у
меня сей режим был. Hасчёт возможных криков "megatormozzzz!" - не нужно весь
экран каждый раз чистить/заполнять, и megatormozzz'а не будет. И текст в этом
режиме листать не надо - на то обычный режим есть.
Hадо:
дешифратор порта #eff7 с триггером типа ТМ8
регистр/буфер типа ИР22/ИР23/АП5
5-6 лог. эл-тов, часть можно на диодах, часть на свободных выходах того
регистра
1 мультиплексорный эл-т, можно собрать на лог.эл-тах
- A.Coder [Wolf3d2004 InfoGuide7 ACEdit96 ACN42 PT3695 Chip13 HexFill HDDoct6]
[Ansi04 8col12 ZXRar27UnR59 Jpg042 CacVox1 Dbs07 Gluk61R PC21 Alasm50f2 Sts70i]
... ZX Spectrum today




Ответить с цитированием
Размещение рекламы на форуме способствует его дальнейшему развитию 
