Важная информация

User Tag List

Страница 107 из 113 ПерваяПервая ... 103104105106107108109110111 ... ПоследняяПоследняя
Показано с 1,061 по 1,070 из 1128

Тема: ЭТЮДЫ

  1. #1061

    Регистрация
    03.07.2021
    Адрес
    г. Кировск
    Сообщений
    922
    Спасибо Благодарностей отдано 
    87
    Спасибо Благодарностей получено 
    211
    Поблагодарили
    156 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Что вы все имеете в виду под мертвой зоной? Когда число изначально "неправильное" (выходит за нужный предел) ? Это уже проблемы программиста =)

  2. #1062

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,391
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от 0xDEAD Посмотреть сообщение
    Эти варианты имеют разную длительность. В первоначальном, 14-летней давности посте, это подчёркивалось.
    Выровнять не сложно, но получается громоздко. Для примера декремент (инкремент можно сделать аналогично)
    Код:
    	sub x+1
    	jr c,$+6
    	add a,x
    	jr $+6
    	ld a,x
    	jr nc,$

  3. #1063

    Регистрация
    03.07.2021
    Адрес
    г. Кировск
    Сообщений
    922
    Спасибо Благодарностей отдано 
    87
    Спасибо Благодарностей получено 
    211
    Поблагодарили
    156 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    В общем, чтобы избежать пресловутой "мертвой зоны" (если я правильно вас понял), когда число вне диапазона, то вариант от ivagor самое то.
    Если же число задано корректно и постепенно приближается к порогу, то выравнивание по тактам делается весьма просто:

    Код:
    увеличение:
    CHECK_UP	CP	x
    		ADC	A,0
    PROFIT		...
    
    уменьшение:
    CHECK_DN	CP	x+1
    		CCF
    		SBC	A,0
    PROFIT		...
    Единственное ограничение для декремента - не получится задать число 255 (255+1=0), флаг всегда будет сброшен. Но такой счетчик сам по себе лишен смысла.

  4. #1064

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,391
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от reddie Посмотреть сообщение
    выравнивание по тактам делается весьма просто
    В CHECK_DN можно заменить ccf/ sbc a,0 на adc a,-1 и тогда получатся полные аналоги исходных вариантов по размеру и скорости.

  5. #1065

    Регистрация
    18.07.2021
    Адрес
    г. Хмельницкий, Украина
    Сообщений
    105
    Спасибо Благодарностей отдано 
    12
    Спасибо Благодарностей получено 
    33
    Поблагодарили
    25 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Нужна подпрограмма опроса клавиатуры. Всё, что я везде встречал - процедуры опроса для игр, где опрашивается 1-2-5 клавиш, игнорируются SS и CS, нет задержки перед автоповтором, и вообще - не предназначены для текстового редактора или хотя бы для текстового поля ввода.
    Стоит ли изобретать велосипед, или не заморачиваться, и использовать в процедуре обработки прерываний jp 56 , и не парить мозг?

  6. #1066

    Регистрация
    20.01.2010
    Адрес
    г. Зеленоград
    Сообщений
    600
    Спасибо Благодарностей отдано 
    28
    Спасибо Благодарностей получено 
    231
    Поблагодарили
    123 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Думаё, её будет проще написать, чем приспосабливать что-то чужое

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

  8. #1067

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

    По умолчанию

    Цитата Сообщение от 0xDEAD Посмотреть сообщение
    Нужна подпрограмма опроса клавиатуры. Всё, что я везде встречал - процедуры опроса для игр, где опрашивается 1-2-5 клавиш, игнорируются SS и CS, нет задержки перед автоповтором, и вообще - не предназначены для текстового редактора или хотя бы для текстового поля ввода.
    Стоит ли изобретать велосипед, или не заморачиваться, и использовать в процедуре обработки прерываний jp 56 , и не парить мозг?
    Это уже не Этюды. Это серьезное поделие.
    С уважением,
    Jerri / Red Triangle.

  9. #1068

    Регистрация
    18.07.2021
    Адрес
    г. Хмельницкий, Украина
    Сообщений
    105
    Спасибо Благодарностей отдано 
    12
    Спасибо Благодарностей получено 
    33
    Поблагодарили
    25 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Sandro Посмотреть сообщение
    Думаё, её будет проще написать, чем приспосабливать что-то чужое
    Не, ну она ж уже написана, и уже сидит в ПЗУ. Может просто, где-то есть покороче/побыстрее/пооптимальнее - процедуры ПЗУ ж и бейсиком используются, следовательно, можно было бы многое выбросить и/или упростить. А может, это и не критично.

    - - - Добавлено - - -

    Цитата Сообщение от jerri Посмотреть сообщение
    Это уже не Этюды. Это серьезное поделие.
    Тоже так думаю. Следовательно - пусть себе jp 56 живёт, и процветает.
    Последний раз редактировалось 0xDEAD; 10.09.2022 в 15:11.

  10. #1069

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

    По умолчанию

    Цитата Сообщение от reddie Посмотреть сообщение
    В общем, чтобы избежать пресловутой "мертвой зоны" (если я правильно вас понял), когда число вне диапазона, то вариант от ivagor самое то.
    Если же число задано корректно и постепенно приближается к порогу, то выравнивание по тактам делается весьма просто:

    Код:
    увеличение:
    CHECK_UP	CP	x
    		ADC	A,0
    PROFIT		...
    
    уменьшение:
    CHECK_DN	CP	x+1
    		CCF
    		SBC	A,0
    PROFIT		...
    Единственное ограничение для декремента - не получится задать число 255 (255+1=0), флаг всегда будет сброшен. Но такой счетчик сам по себе лишен смысла.
    Код:
          sub n+1
          adc a,n
    не?
    С уважением,
    Jerri / Red Triangle.

  11. #1070

    Регистрация
    18.07.2021
    Адрес
    г. Хмельницкий, Украина
    Сообщений
    105
    Спасибо Благодарностей отдано 
    12
    Спасибо Благодарностей получено 
    33
    Поблагодарили
    25 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    https://worldofspectrum.org/forums/d...amework#latest
    Какой-то гражданин решил написать консоль для Спектрума. Ну и заодно написал свою процедуру опроса клавиатуры.

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

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

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

Эту тему просматривают: 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

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

Ваши права

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