lvd wrote:Я не знаю, под что её писали, знаю только, что цвет бордера надо ставить портами F6 и FE, а не 86 и 8E, как в той деме. И ещё я знаю, что в доке на АТМ тоже написано Ф6 и ФЕ. Выводы очевидны.
Это не говнокод, а дань универсальности - демка изначально писалась под ATM-turbo 1, и лишь потом была портирована на TURBO 2+. И до сих пор она являлась универсальной, подстраиваясь самостоятельно под работу ATM-1 или ATM-2(+). Там еще автоматически определяется, сделана ли доработка по устранению перепутывания памяти при см ене графики или нет. А фишка в том, что в ATM-1 расширенные экраны, яркость бордюра и палитра выбирались через сброшенные адресные линии A7 и A6 (экраны), A5 (поллитра) и A3 (яркость бордюра). В АТМ-2 от этого осталось только А3 - бордюр. Вот поэтому в деме и используются такие порты. Поэтому называть изделие авторов говнокодом - элементарно несправедливо - ибо это не баг, а фича, т.е. так задумано. А вот патч - подлинный говнокод, потому что не исправляет какой-нибудь баг, а искажает задумку авторов - я сейчас провкрил на эмуле, так теперь демка на ATM-1 виснет (точнее идет, но только при устраненном перепутывании памяти, а так как в отличие от ATM-2 перепутывание памяти не устранить перепаиванием единственного проводка, то вряд ли найдется много таких машин ATM-1, где этот патч пойде). Вот и все дела. И что мне теперь, придется на сайте ATM выкладывать второй файл с патчем, когда можно было при грамотном подходе в разработке портов на Еве иметь одну универсальную демку...
Мораль - конечно, дорабатывать железо под кривые извраты программеров не надо, но в данном случае тут именно недоработка "железячников" - раз уж взялись делать совместимость с ATM-2+, то пор FE/F6 надо адресовать точно по тем же адресным линиям, как и в ATM-2+, чтобы все работало. ИМХО, но настоятельное.