Plutonium
#08
09 октября 1998 |
|
Почта - Тут письмо от Eмрlоyer/Alliance...
------------------------------------------ MAIL ------------------------------------------ Тут письмо от Employer/Alliance Hi All ! В PLUTONIUM#O7 я (Employer/Alliance) обноружил такую строку: 12.75 такта на байт !!! Быстрее не бывает, если кто-то придумает более быстрый способ пусть мне сообщит, я буду очень рад. Спешу сообщить, о том что самый быстрый (!?) способ передачи данных на #Z8O осуществляется за 1O.5 такта на байт !!! Взяв калькулятор вы можете, при помощи нажатия не хитрой комбинации клавиш, обноружить, что если это так, то представляется реальная возможность выбросить весь (FULL) экран за одно пре- рывание ! Сразу-же оговорюсь: подразуми- вается экран без цветов (#18OO), но на музыку хватает и еще остается. Помнится, еще в ZX-POWER'е была доказа- на нереальность вывода экрана за опе int а выглядит это вот так: LD HL,NN: 1O PUSH HL : 11 я чувствую, что возникает сомнение ... Ну а теперь более подробно: Вообще-то этот метод практически не имеет применения. Дело в том, что можно хранить спрайт не отдельно, а в самой процедуре ! т.е. надо заранее подготовить процедуру занимающую, если не ошибаюсь 12288 байт. Затем взять картинку и по 2 байта под- ставить в процедуру. Нельзя забывать,что PUSH Муменьшает регистр Пна 2, а это означает, что картинка будет печататься задом на перед. Как вы заметили, процедура в 12кб не вызывает оптимизма, но все-таки это быс- трее ... хотя если пожертвовать 2Чкб, то можно выполнить fullscreen scrolling ! Кстати ! В intr'е этого номера, я имел счастье наблюдать такой scrolling, вот только он резался в 3х местах и напоми- нал таскание окон в wINDOWS'9x ! :-) Если тов. LYNX скажет, что при опе int скроллинге трудно успеть прочитать чего там написано, то я еще поверю. А если он скажет, что не знал о существовании 2го экрана у Speccy, то я могу подумать ... А теперь немного об оптимизации: Совершенно не обязательно набирать про- цедуру в 12кб целеком. В XAS'е есть дерективы !assm n и !cont что означает: !assm #18OO/#O2 LD HL,NN PUSH HL !cont в памяти построится заданная программа n раз. Но это не оптимизация. Надо написать программу которая сама построит процедуру и подставит байты из картинки в нее. Тогда ваша программа займет не больше 2OO байт в памяти. Все это дело применяется и к программам HIGHLANDER'а (PLUTONIUM#O7) Судя по коду view'ера HIGHLANDER непло- хой кодер, поэтому ему не составит тру- да реализовать такой алгоритм, а если что, то я могу предоставить вам исходник (если вам всетаки не верится) Кстати, HIGHLANDER писал, что нужно за- прещать прерывания перед работой со стеком, но я например никогда этого не делал и все работало, пока-что. Просто если есть полная уверенность, что ваша прога уляжется в прерывание, то ничего страшного не произойдет. На этом буду прощаться, bye ! р.s. Просьба не обижаться на меня т.к. я слегка наехал на тов. LYNX'а. (просто его scroll я уже где-то видел, и кажется это было в книге Инфоркома) р.р.s. Speccy Rulez Чeva ! р.р.р.s. Если хотите, то я могу вам накатать статью о быстрой 3D графике (с примерами на asm'е !) Ed>хотим! ------------------------------------------ End of mail... ------------------------------------------
Другие статьи номера:
Похожие статьи:
В этот день... 12 ноября