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