User Tag List

Страница 26 из 113 ПерваяПервая ... 222324252627282930 ... ПоследняяПоследняя
Показано с 251 по 260 из 1128

Тема: ЭТЮДЫ

  1. #251

    Регистрация
    27.11.2008
    Адрес
    Красноярск
    Сообщений
    747
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    если использовать set'ы - 700*15=10 500т
    + inc h - 700*4=2800т
    итого 12800, а есть около 18000 свободных

  2. #252

    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,866
    Спасибо Благодарностей отдано 
    328
    Спасибо Благодарностей получено 
    310
    Поблагодарили
    234 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    Cool

    Цитата Сообщение от GM BIT Посмотреть сообщение
    Помогите с оптимизацией построения вертикальной линии. То, что надумал я не устраивает по скорости
    Дело в том, что на входе желательно только иметь адрес и кол-во точек

    До начала построения основного экрана строится линия примерно из 350 точек, хочется выйти на 700
    Код:
    /// вход hl,adr, b - длина
    
    line	        ld hl,16384		;начало линии
    		ld b,85
    		ld a,h
                    and 7 
                    sub 8
                    neg 
                    ld c,a									
    ///
    		
    sc0		set 2,(hl)		;рисуем в одном знакоместе
    		inc h			;
    		dec c		;
    		jr z,sc1		;
    		djnz sc0		;
    		ret		
    sc1				;переходим на знакоместо ниже
    		ld a,l
    		add a,32
    		ld l,a
    		jr c,sc3
    		ld a,h
    		sub 8
    		ld h,a
    sc3		ld c,8
    		djnz sc0
    		ret
    но это все медленно

    Код:
    быстро так
    на входе 
    sp адрес таблицы адресов экрана
    b количество точек
    
    loop
    		pop hl
    		add hl,de
    		set 2,(hl)
    		djnz loop
    С уважением,
    Jerri / Red Triangle.

  3. #253

    Регистрация
    27.11.2008
    Адрес
    Красноярск
    Сообщений
    747
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от denpopov Посмотреть сообщение
    по идее не помешало бы развернуть такой цикл.
    там два djnz, не могу додуматься. наверное и поможет

    ---------- Post added at 10:59 ---------- Previous post was at 10:58 ----------

    Цитата Сообщение от GM BIT Посмотреть сообщение
    или pop hl
    нет у меня 16384 свободных

    ---------- Post added at 11:00 ---------- Previous post was at 10:59 ----------

    Цитата Сообщение от jerri Посмотреть сообщение
    быстро так
    это намного медленнее пред варианта

    ---------- Post added at 11:03 ---------- Previous post was at 11:00 ----------

    Jerri за избавление от доп переменной спасибо

    ---------- Post added at 11:14 ---------- Previous post was at 11:03 ----------

    как-бы развернуть цикл, чтоб осталось:

    вначале set + inc h сколько надо
    середина down_hl: dup 8: set: inc h: edup: down_hl
    конец set + inc h сколько надо

    было бы идеально

  4. #254

    Регистрация
    03.01.2006
    Адрес
    Рязань
    Сообщений
    2,935
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    loop
    dup 8
    set 2,(hl)
    inc h
    edup
    ld a,l
    sub e;-32
    ld l,a
    sbc a,a
    and d;-8
    add a,h
    ld h,a
    djnz loop

    А начало и конец дорисовывать отдельно.

  5. #255

    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,866
    Спасибо Благодарностей отдано 
    328
    Спасибо Благодарностей получено 
    310
    Поблагодарили
    234 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    GM BIT, там не 16384

    там 192*2 байта таблица
    С уважением,
    Jerri / Red Triangle.

  6. #256

    Регистрация
    11.01.2008
    Адрес
    Ладошкино
    Сообщений
    1,811
    Записей в дневнике
    4
    Спасибо Благодарностей отдано 
    386
    Спасибо Благодарностей получено 
    339
    Поблагодарили
    244 сообщений
    Mentioned
    14 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Как правильно организовать кольцевой счетчик на 6 (цветов)?
    естьнадо
    Только надо "ровный", без условных переходов, ибо бордюр, а у мну только на 8 получился, и то криво((
    В шесть регистров надо 6 чисел записывать. Можно конечно в памяти сделать 6 ячеек и LDIR-ом их сдвигать по кругу, но тогда я не придумаю как задержку регулировать а5 же ровно.
    Profi v3.2 -=- Speccy2010,r2

  7. #256
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  8. #257

    Регистрация
    01.03.2005
    Адрес
    Новосибирск
    Сообщений
    2,080
    Спасибо Благодарностей отдано 
    87
    Спасибо Благодарностей получено 
    480
    Поблагодарили
    145 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от zebest Посмотреть сообщение
    Как правильно организовать кольцевой счетчик на 6 (цветов)?а у мну только на 8 получился
    На 8, я полагаю, так:

    COUNTER:
    LD A,#FF
    INC A
    AND %00000111
    LD (COUNTER+1),A
    RET

  9. #258

    Регистрация
    12.02.2014
    Адрес
    г. Арзамас
    Сообщений
    6,123
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от zebest Посмотреть сообщение
    Как правильно организовать кольцевой счетчик на 6 (цветов)?
    lookup?LUT?

  10. #259

    Регистрация
    03.01.2006
    Адрес
    Рязань
    Сообщений
    2,935
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ld l,(hl)

    Это вся процедура. Номер цвета в L. Старший байт адреса таблицы в H. Таблица содержит 1,2,3,4,5,0.

    ---------- Post added at 12:17 ---------- Previous post was at 12:13 ----------

    Если надо использовать не цвета 0,1,2,3,4,5, а, например, цвета 2,6,4,5,1,3 (в таком порядке), то таблица будет начинаться с адреса #xx01 и содержать 3,6,2,5,1,4.
    Последний раз редактировалось Shadow Maker; 05.04.2014 в 13:54. Причина: alone, это ж Этюды, пишите законченные рабочие процедуры с in-out, а не "умному достаточно".

  11. #260

    Регистрация
    01.03.2005
    Адрес
    Новосибирск
    Сообщений
    2,080
    Спасибо Благодарностей отдано 
    87
    Спасибо Благодарностей получено 
    480
    Поблагодарили
    145 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от alone Посмотреть сообщение
    Это вся процедура. Номер цвета в L. Старший байт адреса таблицы в H. Таблица содержит 1,2,3,4,5,0.

    ---------- Post added at 12:17 ---------- Previous post was at 12:13 ----------

    Если надо использовать не цвета 0,1,2,3,4,5, а, например, цвета 2,6,4,5,1,3 (в таком порядке), то таблица будет начинаться с адреса #xx01 и содержать 3,6,2,5,1,4.
    А без таблиц ?

Страница 26 из 113 ПерваяПервая ... 222324252627282930 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Этюды: как бы написать поизящнее.
    от AndTorp в разделе Программирование
    Ответов: 5
    Последнее: 17.03.2008, 00:43
  2. Ответов: 0
    Последнее: 18.08.2006, 22:40
  3. Этюды: печать шрифтом 5x5...
    от breeze в разделе Программирование
    Ответов: 12
    Последнее: 27.03.2005, 05:21

Метки этой темы

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •