memoria 256k atari

RECONOCER MEMORIA 256K

Una simple pero muy buena aplicación, para reconocer la expansión de memoria de un atari 256k.

Esta rutina nos permite poder, encontrar la cantidad de bancos de memoria, que tiene una computadora Atari con expansión.

DESCRIPCION

El acceso a las memorias extendidas de los Atari 130xe y 800xl expandidos, son realizadas a través de bancos de memoria, de 16kb cada uno y estos son accesibles, desde zonas fijas que son. entre las $4000 y $7FFF y esta es reemplazada por cada banco.

Para activar cada banco en especifico, lo debemos de hacer, modificando el bit en el registro de nuestro computador, en el puerto denominado PORTB, para esta operación, que es la dirección de memoria 54017.

Acá te dejamos una rutina simple que nos permite poder encontrar, una cierta cantidad de bancos, y lo guardamos en la variable, BANKOS, y además incluye función, que nos da la cantidad de memoria disponible, que se guarda en la variable, MEMORY. Esta en el tiempo, es volátil y no queda, dentro de los registros, de nuestra computadora, al apagarla.

MAX = 16
BANKOS
    .WORD MAX
MEMORY
    .BYTE $00,$00,$00
B
;para ser usado en basic
    ;$B1,$A1,$A5,$A9,$AD
    ;.BYTE 177,$161,165,169,173
    ;$C1,$C5,$C9,$CD,$E1
    ;.BYTE 193,197,201,205,225
    ;$E5,$E9,$ED,$81,$85
    ;.BYTE 229,233,237,129,133
    ;$89,$8D
    ;.BYTE 137,141
;basic deshabilitado    
    .BYTE $B2
    .BYTE $A2,$A6,$AA,$AE
    .BYTE $C2,$C6,$CA,$CE
    .BYTE $E2,$E6,$EA,$EE
    .BYTE $82,$86,$8A,$8E
LIMPIO.MEMORY
    LDA #$00
    STA MEMORY
    STA MEMORY+1
    STA MEMORY+2
    RTS
MEMORIA
    LDY #MAX
BUSCO1
    LDA B,Y
    STA 54017
    STA 22222
    DEY
    BPL BUSCO1
    LDY #1
BUSCO2
    LDA B,Y
    STA 54017
    CMP 22222
    BNE DISTINTO
    INY
    CPY #MAX+1
    BNE BUSCO2
DISTINTO
    LDA B
    STA 54017
    STY BANKOS
    JSR LIMPIO.MEMORY
    LDX BANKOS
    DEX
DISTINTO2
;SACO CALCULO DE MEMORIA
;DISPONIBLE SEGUN BANCOS
;ENCONTRADOS
    CLC
    LDA MEMORY
    ADC #$00
    STA MEMORY
    LDA MEMORY+1
    ADC #$40
    STA MEMORY+1
    LDA MEMORY+2
    ADC #$00
    STA MEMORY+2
    DEX
    BPL DISTINTO2
    RTS

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *