Вот и замкнулся круг.
Ok, сделаю переопределяющие макросы на pminsw и pmaxsw, для режима без MMX+ будут использоваться 16 бит. Всю функцию перегонять в 16 бит, думаю особого смысла нет.
Я думаю лучше убрать условную компиляцию и разделить код функции на две отдельных ветки для CPU и MMX+. Поставить в начале функции косвенный переход jmp [set_vol_param.code_path] а в START проверять флаги cpuid и записывать нужную ветку в [code_path]. Получим универсальный драйвер.
Можно и так, только вот универсальность в RunTime'е практически всегда ведёт к увеличению объёма бинарного кода. Почему бы не оставить универсальность на стадии компиляции?
Увеличение копеечное. Я думаю оно будет даже меньше примечания о необходимости перекомпиляции для некоторых моделей CPU. + необходимость патча kolibri.img, + необходимость патча iso + ещё что-нибудь. Даже этот пост будет длиннее. Если нет я его допишу
Last edited by Serge on Wed Mar 30, 2011 3:01 am, edited 1 time in total.
Вот взяла и всё испортила . Раньше смысл был. Две команды красиво заменяли цепочку сравнений и ветвлений. Тем более что там FPU подключался. А теперь особого нет.
С компьютерами от HP постоянные проблемы, точнее не проблемы ... работают только с оригинальными драйверами от HP, если поставишь на чипсет, от производителя, не факт что заработает...
Достаточно моего случая, что работает не напрямую, а кто-то хитро через модем ...
Сейчас скачаю AROS, если в ней звук заработает это как-то поможет?