
Сообщение от
ZX_NOVOSIB
@Stl75 , возьмёшься вот этот Short Circuit отучить от порта FF? Изначально игра выпущена заточенной под FF-порт, потом сделали вроде оф.версию без FF. Но аж в 94 году кто-то из наших умудрился где-то откопать не нормальную версию, а FF, и русифицировал именно её. Интересно даже, на чём всё это делалось? У нас вроде и клонов с FF не было, ну кроме какой-то монструозной экзотики.
@Lethargeek , @Raydac , помогите, плиз, отыскать процедуру вывода на экран. Нужно же найти адрес этой процедуры, потом взять пофикшенную процедуру из новой версии, и вживить её в старую?..
не сама экранная процедура, а код задержки:
Код:
l_84f9: ld a, $28 ; 84f9
in a, ($ff) ; 84fb
inc a ; 84fd
jr z, l_84f9 ; 84fe
ret ; 8500
(это в первой части, в самой игре)
для пятногона вроде бы работает замена:
Код:
l_84f9: ld b, 0 ; 84f9
l_84fb: cp (hl) ; 84fb
ex (sp),hl ; 84fc
ex (sp),hl ; 84fd
djnz l_84fb ; 84fe
ret ; 8500
счётчик можно попытаться подобрать другой, здесь на максимум
- - - Добавлено - - -
аналогично для второй части, чтоб не зависал, врезавшись в пенёк или камень:
Код:
...
call $85c4 ; 8ae1
l_8ae4: ld a, $28 ; 8ae4
in a, ($ff) ; 8ae6
cp $60 ; 8ae8
jr nz, l_8ae4 ; 8aea
ld bc, $012c ; 8aec
...
заменить на:
Код:
...
call $85c4 ; 8ae1
l_8ae4: ld b, $00 ; 8ae4
nop ; 8ae6
l_8ae7: cp (hl) ; 8ae7
ex (sp), hl ; 8ae8
ex (sp), hl ; 8ae9
djnz l_8ae7 ; 8aea
ld bc, $012c ; 8aec
...
осталось найти только, где на диске изначально они лежат