Knight Lore disassembly
Eletrônica

Knight Lore disassembly


Foi anunciado no fórum do World of Spectrum a primeira versão do disassembly comentado do jogo Knight Lore.


A listagem publicada não é apenas a saída de um programa disassembler de Z80, mas tem vários comentários esclarecendo o código. Este é um trabalho artesanal extenuante, feito praticamente de instrução em instrução. O autor afirma ainda que conseguiu portar o programa para TRS-80 modelo 4, modificando algumas partes da listagem. Ele planeja concluir uma listagem completa que possa ser montada (assembled) para ZX Spectrum, TRS-80 e talvez MSX. Foi feito ainda um port para C que roda em PC, com vistas a compilar  em Amiga e eventualmente NeoGeo.

Deve ser de conhecimento dos leitores que sou um grande apreciador do Knight Lore. Traz-me felicidade esta oportunidade de conhecer os detalhes internos deste jogo.

Um trecho que me chamou a atenção é este:
RAM:B5F7         read_port: 
RAM:B5F7 D3 FD        out (0xFD),a      ; select upper address
RAM:B5F9 DB FE        in  a,(0xFE)      ; read status
RAM:B5FB 2F           cpl               ; positive logic
RAM:B5FC E6 1F        and #0x1F         ; mask off undefined bits
RAM:B5FE C9           ret

A instrução 'out', além de desnecessária para a leitura de teclado, causa problemas no chaveamento da RAM em modelos 128K (lembre-se que o Spectrum 128 veio anos após lançamento de Knight Lore). Não sei se esta instrução era um erro do programador, que tinha conhecimento equivocado sobre leitura do teclado no Spectrum, se estava visando portar o jogo para outro computador ou se possuía algum hardware dedicado que lia esta porta. Aparentemente esta sub-rotina era empregada nos demais jogos da Ultimate, pois era notória sua incompatibilidade com o modo 128K.



loading...

- Dica Tv Electronia 20nt Chassis 11ak30
Defeito--Não liga. Led vermelho aceso. Ao tentar ligar, o led passa a verde mas, no               mesmo instante, o led volta para vermelho e a fonte da tv não arma.Valores         ...

- Dica Tvs Panasonic Tx-32pk25f Chassis Euro-4h
Defeito--Imagem a preto e branco ou com as cores alteradas com manchas como se o              TRC estivesse magnetizado. Foi regravada a eeprom mas não resultou. Em           ...

- 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       ...

- Outra Rotina De Detecção De Ram 48/128k
Eu publiquei nesta postagem, uma rotina que faz a detecção no TK90X da configuração com ou sem a TKMEM-128 (128 ou 48K de RAM). Modifiquei-a e consegui fazer com que ficasse menor ainda (25 bytes).  Esta rotina testa se ocorre chaveamento entre...

- Thundercats V. 2 Para Basic 128
Mal acabei de lançar uma adaptação do Thundercats para Beta e TKMEM-128 e estou com a versão 2. A versão anterior tinha um problema: não consegue carregar a partir do BASIC 128, portanto tinha que dar um 'USR 0' antes. Na versão 2 não...



Eletrônica








.