Dudas sobre memoria contenida
Publicado: Vie Abr 03, 2015 12:24 pm
Estaba trabajando un poco sobre el cargador de Ranarama (al parecer el juego de moda del momento) y Deflektor, y me han entrado dudas de principiante sobre el comportamiento de la memoria contenida.
- De entrada... ¿por qué todo el mundo la llama memoria contenida? El término en inglés sería más bien memoria "en disputa" o, mucho mejor, memoria arbitrada.
- Si no lo he entendido mal, afecta a memoria y puertos por debajo de 32768 (en los 48k, en los 128k va diferente). La causa es que la ULA necesita acceder a esta zona (para generar la pantalla), y que tiene prioridad sobre la CPU. ¿Afecta a toda la memoria por debajo de 32768 o solo a la zona 16384~32768?
- El efecto es que deja la CPU colgada hasta que la ULA accede a la memoria, "alargando" artificialmente algunas instrucciones. Por eso, los bucles temporizados no deben estar en esta zona. ¿Afecta esto de alguna manera al registro R?
La historia viene un poco de los juegos que están cifrados y utilizan R para descifrarse, y de los juegos que necesitan tener R en un valor concreto. ¿Se pueden colocar estas rutinas libremente en memoria contenida o deben ir en memoria no contenida obligatoriamente?
- De entrada... ¿por qué todo el mundo la llama memoria contenida? El término en inglés sería más bien memoria "en disputa" o, mucho mejor, memoria arbitrada.
- Si no lo he entendido mal, afecta a memoria y puertos por debajo de 32768 (en los 48k, en los 128k va diferente). La causa es que la ULA necesita acceder a esta zona (para generar la pantalla), y que tiene prioridad sobre la CPU. ¿Afecta a toda la memoria por debajo de 32768 o solo a la zona 16384~32768?
- El efecto es que deja la CPU colgada hasta que la ULA accede a la memoria, "alargando" artificialmente algunas instrucciones. Por eso, los bucles temporizados no deben estar en esta zona. ¿Afecta esto de alguna manera al registro R?
La historia viene un poco de los juegos que están cifrados y utilizan R para descifrarse, y de los juegos que necesitan tener R en un valor concreto. ¿Se pueden colocar estas rutinas libremente en memoria contenida o deben ir en memoria no contenida obligatoriamente?