Outra rotina de detecção de RAM 48/128K
Eletrônica

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 os bancos de RAM 0 e 1 e mantém os conteúdos de ambos intactos.

; Test availability of 128K of RAM without modifying its
;contents.
; Registers destroyed: A, F, B, C, D, E, H and L.
; Output:   Flag Z is 1 if 128K was available.
;
; This routine must be executed with maskable interrupt disabled.
;
    LD BC,32765     ; Port for RAM bank switching (#7FFD). 
    LD E,17         ; Constant for RAM 0 switching. 
    LD HL,49168     ; HL is pointer to a sample byte of RAM page

                    ;3. L is also used to select RAM bank 0.
    OUT (C),L       ; Switch to RAM 0. 
    LD A,(HL)       ; Fetch sample byte from RAM.
    CPL             ; Invert all bits of sample byte.
    OUT (C),E       ; Switch to RAM 1.
    LD D,(HL)       ; Save byte into register D before modifying 

                    ;RAM 1.
    LD (HL),A       ; Put inverted sample byte into RAM 1. 
    OUT (C),L       ; Switch to RAM 0.
    CPL             ; Invert bits of sample byte again and 

                    ;compare. 
    CP (HL)         ; Flag Z=1 for 128K; Z=0 for 48K. 
    OUT (C),E       ; Switch to RAM 1.
    LD (HL),D       ; Restore RAM 1 contents. 
    OUT (C),L       ; Switch to RAM 0.


Se houver 128K de RAM, a flag Z retornará com valor 1.




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

- Número Aleatório Por Xor-shift
Apresento a sub-rotina de geração de número pseudoaleatório que foi usada na minha parte do demo Mission Highly Improbable.  Anteriormente mostrei a sub-rotina de Phantom Club para a mesma finalidade, porém a qualidade da sequência gerada...

- 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








.