Demorou, mas consegui uma solução para o problema que detectei no POKE de tempo infinito no Bionic Commando 128.
O seguinte trecho é o responsável por diminuir o contador de tempo e verificar se este atingiu valor zero:
34607 LD HL,35750 ; HL aponta para o contador de tempo.
34610 DEC (HL) ; Diminui o contador de tempo.
34611 JR Z,34630 ; Salta se o contador ficou zerado.
Simplesmente desativar a instrução DEC em 34610 produz efeito colateral de paralisar todos os inimigos. Aparentemente o contador é inicializado com um valor superior ao máximo, período em que os inimigos não se movem e o jogador fica imune, provavelmente para dar uma trégua logo no início da fase. Se o contador não é diminuído, o jogo fica nesse estado para sempre.
A solução é relativamente simples:
34610 LD (HL),H ; Mantém o contador de tempo constante.
34611 JR Z,34613 ; Salto fica sem efeito.
34610,116
34612,0
O contador sempre ficará com o valor 138, que não congela os inimigos. Submeterei estes valores ao The Tipshop.
Nenhum comentário:
Postar um comentário
Seu comentário é bem vindo, mas peço que use este espaço adequadamente.