quarta-feira, 12 de dezembro de 2012

Silkworm 128... ?

Emmerson Maurilio fizera uma wishlist de jogos para TKMEM-128 a serem adaptados e, entre estes, figurava Silkworm que teria comportamento diferente entre 48 e 128K. Resolvi tirar a prova.


Carreguei o jogo no emulador Fuse, definindo no debugger um breakpoint com o comando:

br port write 32765

Assim, cada vez que o programa carregador tentasse chavear a RAM, eu ficaria sabendo. Porém a cada interrupção da emulação, só via que era selecionada o banco de RAM 0. Entretanto chegou num ponto em que aparecia a seguinte listagem:
...     ...
25060 LD A,48     ; Bit 5=1: desativa escrita à porta 32765.

                  ;Bit 4=1: seleciona ROM 1. Bits 0-2=0: 
                  ;seleciona RAM 0.

25062 LD BC,32765 ; Valor da porta.
25065 OUT (C),A   ; Escreve A na porta 32765.
...     ...
Traduzindo o disassembly, o jogo prossegue simplesmente no modo 48K, portanto não há a suposta melhoria em modo 128K. A propósito, repeti o teste para todas as versões do Silkworm presentes no World of Spectrum e os resultados foram exatamente iguais. 

Nenhum comentário:

Postar um comentário

Seu comentário é bem vindo, mas peço que use este espaço adequadamente.