Здравствуйте!
Хочу выразить огромную благодарность Sourcerer, без его кода программы бы не было!
Описание: при достижении края экрана, левого или правого, курсор "перескакивает" на противоположный край, очень удобно у кого тачпад.
Т.к. это моя первая программа для Колибри да и вообще первая программа на ассемблере, прошу не бить
В архиве программа и исходник.
madmouse
-
- Attachments
-
-
madmouse.7z (1.69 KiB)Downloaded 453 times
-
Очень хороший код, так держать!
И с комментариями всё в порядке - программа отлично читается.
Теперь попробуй запустить одновременно 2 (лучше 3) раза эту программу - нет будет ли между ними конфликта ?
И еще надо продумать как удобнее выключать этот режим (иногда нужна "твёрдая" граница экрана).
Может повесить какую-нибудь кнопку на панель задач?
И с комментариями всё в порядке - программа отлично читается.
Теперь попробуй запустить одновременно 2 (лучше 3) раза эту программу - нет будет ли между ними конфликта ?
И еще надо продумать как удобнее выключать этот режим (иногда нужна "твёрдая" граница экрана).
Может повесить какую-нибудь кнопку на панель задач?
Я вообще считаю что этот функционал надо встроить в драйвер мышки, и уже от туда включать или выключать, просто реально удобно и когда привыкаешь садишься за чужой компьютер так этого не хватает...
Надо попробовать, я как-то не думал над тем что кому-то захочется запустить несколько экземпляров...
В программе используется 1 переменная, можно ли от неё как-то избавиться, например хранить данные в стеке? Что можно посоветовать, думаю что 1 переменная на такую программу слишком расточительно
Надо попробовать, я как-то не думал над тем что кому-то захочется запустить несколько экземпляров...
В программе используется 1 переменная, можно ли от неё как-то избавиться, например хранить данные в стеке? Что можно посоветовать, думаю что 1 переменная на такую программу слишком расточительно
На панель задач сейчас лучше ничего не навешивать (я имею в виду кнопки). Код там и так запутанный... Хотя можно дописать обработчик ещё одной горячей клавиши, при нажатии на которую данная программа либо запускается, либо завершается.
Ну так это в коде самой программы же?Я ничего не путаю?
Можно и в коде самой программы. Но тогда её нужно запускать либо вручную, либо из авторана.
popovpa,
молодец! Для начала очень хорошо.
Рекомендую обратить внимание на файл /programs/macros.inc. Там есть много удобных и полезных фич. Например, такой код:можно заменить таким:
Удачи в дальнейшей разработке!
молодец! Для начала очень хорошо.
Рекомендую обратить внимание на файл /programs/macros.inc. Там есть много удобных и полезных фич. Например, такой код:
Code: Select all
mov eax,5
mov ebx,1
int 0x40
Code: Select all
mcall 5,1
В первоначальном коде Sourcerer были макросы, но у меня к ним что-то не лежит душа, может со временем конечно же буду пользоваться, но сейчас...
У меня в Windows тоже есть madmouse в нём тоже нет интерфейса и за много лет эксплуатации ни разу не понадобился, да и отключать приходилось всего 1 раз когда играл в Сибирь, там какой-то глюк был уже и не припомню...а так всётаки я склоняюсь к внедрению такой фичи в драйвер в котором уже и регулировать включение через галочку или ini файл...
У меня в Windows тоже есть madmouse в нём тоже нет интерфейса и за много лет эксплуатации ни разу не понадобился, да и отключать приходилось всего 1 раз когда играл в Сибирь, там какой-то глюк был уже и не припомню...а так всётаки я склоняюсь к внедрению такой фичи в драйвер в котором уже и регулировать включение через галочку или ini файл...
Программа перекидывает только по горизонтали (между крайним левым и крайним правым положением), если сделать прекидывание по вертикали (между крайним верхним и крайним нижним положением), то программ будет полноценной и ее можно будет залить на SVN и включить в сборку.
Хорошо, постараюсь сделать!
Ну вот, благодаря Марату (Mario)...новая версия программы. Нумерацию не ввожу..думаю это излишнее. Прошу более опытных программистов взглянуть на код, если будет время, и дать рекомендации по оптимизации...СПАСИБО!
- Attachments
-
-
madmouse.7z (1.81 KiB)Downloaded 428 times
-
Насчёт оптимизации я увидел вот: mov ebx,0 -> xor ebx,ebx
Никогда до этого подобной программой не пользовался, но по ощущениям весьма приятно, хоть и не обычно. На больших мониторах может быть неплохой профит.
Никогда до этого подобной программой не пользовался, но по ощущениям весьма приятно, хоть и не обычно. На больших мониторах может быть неплохой профит.
Из хаоса в космос
Можно сделать так:
Так, код будет быстрее и короче.
Code: Select all
cmp ecx,0 можно заменить на test ecx,ecx
Code: Select all
mov ebx,1 можно заменить на xor ebx,ebx
inc bl
Code: Select all
mov eax,37 можно заменить на xor eax,eax
mov al,37
Короче? Возможно! Быстрее? Не факт. А вообще - преждевременная оптимизация корень многих бед.
Вообще скорость зависит от проц-а, но то, что данные инстр. короче - факт (сам проверял).
Code: Select all
mov ebx,eax можно заменить на push eax
pop ebx
Who is online
Users browsing this forum: No registered users and 1 guest