sexta-feira, 26 de outubro de 2012

Consumo de RAM da Beta 48 e 128

Uma das coisas complicadas de se adaptar programas da fita cassete para a interface de drive Beta é a memória. O sistema operacional TR-DOS usa 112 bytes extras de RAM para as suas próprias variáveis de sistema, nos endereços 23734 a 23845 (#5CB6 a #5D25). Portanto em muitos programas BASIC é necessário empregar técnicas de economia de memória.


No caso da Beta 128 a situação é pior pois, a cada operação de escrita ou leitura, é criado um buffer que usa mais 256 bytes que armazena 1 setor do disco. Esta área é criada durante a operação, através do deslocamento do programa BASIC para cima na RAM. Após a conclusão da escrita ou leitura, o programa é reposto na posição original. Eu descobri esta informação ao ler o manual da interface. Antes eu ficava quebrando a cabeça para descobrir porque um programa adaptado na Beta 48 não funcionava na 128, acusando falta de memória.

A Beta 48 usa a área do buffer de impressora (23296 a 23551 ou #5B00 a #5BFF) e por isso não emprega memória extra. Porém como no BASIC 128 esta mesma área abriga as suas variáveis de sistema, a Beta 48 é incompatível com o Spectrum 128.


Nenhum comentário:

Postar um comentário

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