Что вы все имеете в виду под мертвой зоной? Когда число изначально "неправильное" (выходит за нужный предел) ? Это уже проблемы программиста =)
Что вы все имеете в виду под мертвой зоной? Когда число изначально "неправильное" (выходит за нужный предел) ? Это уже проблемы программиста =)
В общем, чтобы избежать пресловутой "мертвой зоны" (если я правильно вас понял), когда число вне диапазона, то вариант от ivagor самое то.
Если же число задано корректно и постепенно приближается к порогу, то выравнивание по тактам делается весьма просто:
Единственное ограничение для декремента - не получится задать число 255 (255+1=0), флаг всегда будет сброшен. Но такой счетчик сам по себе лишен смысла.Код:увеличение: CHECK_UP CP x ADC A,0 PROFIT ... уменьшение: CHECK_DN CP x+1 CCF SBC A,0 PROFIT ...
В CHECK_DN можно заменить ccf/ sbc a,0 на adc a,-1 и тогда получатся полные аналоги исходных вариантов по размеру и скорости.
Нужна подпрограмма опроса клавиатуры. Всё, что я везде встречал - процедуры опроса для игр, где опрашивается 1-2-5 клавиш, игнорируются SS и CS, нет задержки перед автоповтором, и вообще - не предназначены для текстового редактора или хотя бы для текстового поля ввода.
Стоит ли изобретать велосипед, или не заморачиваться, и использовать в процедуре обработки прерываний jp 56 , и не парить мозг?
Думаё, её будет проще написать, чем приспосабливать что-то чужое
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Не, ну она ж уже написана, и уже сидит в ПЗУ. Может просто, где-то есть покороче/побыстрее/пооптимальнее - процедуры ПЗУ ж и бейсиком используются, следовательно, можно было бы многое выбросить и/или упростить. А может, это и не критично.
- - - Добавлено - - -
Тоже так думаю. Следовательно - пусть себе jp 56 живёт, и процветает.
Последний раз редактировалось 0xDEAD; 10.09.2022 в 15:11.
https://worldofspectrum.org/forums/d...amework#latest
Какой-то гражданин решил написать консоль для Спектрума. Ну и заодно написал свою процедуру опроса клавиатуры.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)