HispaMSX

Re: Gestion de memoria [Era: SCREEN 4]

2000-10-30 12:33:50
Hola, Sobre lo de las 64K de memoria:


Nestor dijo:
Bueno, no hay una respuesta universal a eso. Yo suelo hacer mis
programas para DOS, es decir con las 64K de RAM conectadas; no 
suelo
necesitar la BIOS, con las llamadas del DOS ya tengo suficiente. 
Pero
cuando la necesito, lo que hago es una simple llamada interslot, 
con la
rutina CALLF (se llama así?) que está disponible tanto en modo DOS 
como
en modo BASIC.

Ahi Nestor tiene Razon. Pero ten en cuenta que Nestor suele hacer 
aplicaciones DOS 2, por lo que es obligado trabajar bajo DOS.

Pero para juegos, yo no te recomiendo trabajar bajo DOS.
Es mas comodo bajo BASIC, teniendo la Rom principal en las primeras 
64K, y 48 KB de Ram para tu programa (respetando las aprox. 6..7K de 
Variables del sistema en la zona alta).
Las 16K de Ram bajas, puedes accederlas para cosas secundarias, y 
siempre desactivando las interrupciones antes. Por ejemplo, para 
almacenar el replayer musical, o graficos secundarios.

Para acceder a disco, nunca se te ocurra usar algo que no sean las 
llamadas estandar. &HF37D para BASIC, &H5 para DOS.
Ademas, ten en cuenta que los servicios DOS suelen estar en ROM 
situada en 16K..32K, por lo que antes de llamar a rutinas de disco, 
conviene poner 32K de Rom, y sobre todo al volver, poner solo 16K de 
Rom.
Tambien ten en cuenta que si tienes memoria mapeada, y si estas bajo 
DOS 2, al llamar a casi cualquier rutina del DOS, este te pone el 
mapper que el tiene anotado. Por lo que para evitar jaleos, lo mejor 
es volver a poner el mapper que te interesa, al regresar de una 
llamada al DOS.


Lo mas facil es usar 32K de Ram y 32K de Rom, y acceder a las 32K de 
Ram restantes, para cargar graficos, pantallas, musicas, etc.
Asi te evitas jaleos. Si no tienes mucha experiencia, yo te 
recomendaria eso: 32K de Ram principal, y 32 K de Ram para uso 
secundario. A lo sumo, 48K + 16K. Pero en ningun caso 64K de Ram.

 Sobre la situacion de las 64K de Ram, lo normal es suponer que esta 
toda en el mismo slot-subslot. Pero si te dicen que algun modelo de 
MSX2 tiene la memoria repartida en varios slots/subslots, puedes 
plantearte el detectarla. (Yo pasaria...)

 Para 64K, no suele estar mapeada la memoria. Es a partir de 128 K 
cuando se implementan memorias mapeadas. Aunque algunos MSX2+ (y 
quiza MSX2) japoneses ya tienen mapeadas sus 64K. Pero no es lo 
habitual.

Si no recuerdo mal, el Sir Dan exige memoria mapeada, ¿no?
En efecto. Sobre todo porque requiere 128 K de Ram, no 64.
Si hubiese requerido solo 64K, no se me habria ocurrido requerir 
mapper de memoria.

  Chao.

    Daniel Zorita





<Anterior en la conversación] Conversación actual [Siguiente en la conversación>