Amiga Warez News - Статьи
Новости | ЧаВо | Статьи | Версии |Обратная связь

01. Как заставить Spirit работать под AmigaOS 3.5?
01. Как заставить Spirit работать под AmigaOS 3.5?
Spirit не работает под AmigaOS 3.5 из-за небольшого бага - неправильного условного ветвления. Исправляется это очень легко. Найдите любым дебаггером следующий кусок кода:
43EDFFF2	lea     -$E(a5),a1
; a1 теперь указывает на строку "« SetPatch »"
4EAEFDAE	jsr     _LVOFindSemaphore(a6)
4A80		tst.l   d0
670A		beq.s   $7668BB8C
2040		movea.l d0,a0
0C68002B003A	cmpi.w  #$2B,$3A(a0)
; $2B = 43
6F06		ble.s   $7668BB92
Вот, собственно, и баг - ветвление происходит, если версия SetPatch'а меньше или равна 43. В AmigaOS 3.5 версия SetPatch'а уже 44, поэтому нам надо значение сответствующей ячейки изменить с $6F06 на $6C06, которое соответствует команде bge.s. Теперь осталось только произвести эту замену в экзешнике любым hex-редактором, и дело сделано.

Прочтите наши правила
Хостинг от uCoz