Problema com POKE no Bionic Commando
Eletrônica

Problema com POKE no Bionic Commando


Para tempo infinito no Bionic Commando 128K, há dois diferentes POKEs sugeridos no The Tipshop.


Desses dois, o que parece funcionar é POKE 34610,0. Disassembly deste trecho do programa revela:

   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 cotador ficou zerado. 

O que o POKE faz é trocar a instrução que diminui o contador de tempo em uma unidade - DEC (HL) - por NOP, que nada faz. Eu prefiro substituir por OR (HL), pois garante que o flag Z fique sempre com valor 0; isto é, uso POKE 34610,182.

Este POKE tem um efeito colateral que deixa todos os inimigos congelados e o jogador fica imune. Investiguei no debugger do emulador Fuse os trechos do programa que fazem leitura ou gravação no endereço do contador (35750).

O trecho seguinte faz a inicialização do contador com o valor 202:
   34783   LD A,202
   34785   LD (35750),A
e o seguinte, aparentemente é o responsável por paralisar os inimigos:
   48403   LD A,(35750)
   48406   CP 202
   48408   RET NC

Enquanto o contador for igual a 202, os códigos depois do endereço 48408 não são executados devido à instrução RET NC.

Uma aparente solução seria desativar a instrução RET NC com POKE 48408,0. Ao fazer isto, os inimigos moviam-se, mas a imunidade continuava. Pelo menos até onde pude investigar, não deu para conseguir POKEs para providenciar somente tempo infinito.



loading...

- Dica Tvs Panasonic Tx-25xd3e Chassis Euro 2m
Defeito--Este  tv estava em protecção, trazia o transístor de saída de linhas (2SD1577-               LB) em curto. Depois de o substituir, o tv arrancou apresentando o seguinte       ...

- Tv Panasonic Tx-14s1tc Chassis Z5
Defeito--Sem imagem e sem som. Apenas linhas de retorno. Seguindo a linha dos 33V, verifiquei que ao                                          ...

- Pokes Para Rick Dangerous
Fui testar uns pokes para Rick Dangerous listados no The Tipshop e percebi que um deles não funcionava. Figura: World of SpectrumAparentemente o poke para munição infinita foi digitado de forma errada (65075,0). Investigando a listagem, encontrei...

- Detecção De Ram 48/128
Conforme tinha prometido na postagem sobre incompatibilidade do Bubble Bobble, eu vou mostrar a rotina de detecção de tamanho de RAM 48/128K que elaborei na ocasião.  A ideia era fazer uma rotina que não altere o conteúdo da RAM a ser testada;...

- Pokes Para Power Drift 128
Tentei usar os POKEs para facilitar o jogo Power Drift no emulador Fuse em modo ZX Spectrum 128, extraídos do The Tipshop Para minha surpresa, não funcionaram. Os POKEs que estou me referindo são: DESCRIPTION       POKE(s)...



Eletrônica








.