Оверклокинг процессора или памяти — это понятно, но зачем разгонять подсветку монитора?
Речь пойдёт о стареньком 23-дюймовом Samsung SyncMaster BX2340 (выпущен в январе 2011) со светодиодной подсветкой. Со временем стал замечать, что работать за ним утомительно, а сосредоточиться всё сложнее. И даже не только работать, просто читать, например. Сам монитор остался тот же, но мне стало труднее. А за другими экранами работалось вполне нормально.
Предупреждение:В данной статье повсеместно используются грязные хаки. Её можно воспринимать только как пособие «как не надо делать»!
Как только я увидел статью «Маленький Hello World для маленького микроконтроллера — в 24 байта», то мой внутренний ассемблерщик наполнился негодованием: «Разве можно так разбрасываться драгоценными байтами?!». И хотя я давно перешёл на C, это не мешает в критических местах проверять быдлокод компилятора и, если всё плохо, то иногда можно слегка изменить C-код и получить заметный выигрыш в скорости и/или занимаемом месте. Либо просто переписать этот кусок на ассемблере.
Итак, условия нашей задачи:
AVR микроконтроллер, у меня больше всего в закромах оказалось ATMega48, пусть будет он;
Тактирование от внутреннего источника. Дело в том, что внешне можно тактировать AVR со сколь угодно малой частотой, и это сразу переводит нашу задачу в разряд неспортивных;
Мигаем светодиодом с различимой глазом частотой;
Размер программы должен быть минимальным;
Вся недюженная мощь микроконтроллера бросается на выполнение задачи.