¿Qué es una llamada inter-slot y cómo se hace en Basic?

Por AxelStone

Prophet (2956)

Imagen del AxelStone

16-02-2015, 12:56

Buenas señores, el pesado vuelve a la carga. Por lo que me han comentado en Basic puedes disponer de la primera página completa (16Kb) reservándola como RAM. Una vez hecho puedes leer y escribir valores en ella con una llamada inter-slot. He visto la sección de turno en el MSX2 technical handbook (http://www.konamiman.com/msx/msx2th/th-ap.txt) y lo cierto es que no me aclaro, creo que la clave son las primeras instrucciones que menciona:

* Subroutines for read/write calls of the inter-slot
RDPRIM (F380H, 5)
contents: read from basic slot

WRPRIM (F385H, 7)
contents: write to basic slot

CLPRIM (F38CH, 14)
contents: basic slot call

¿Alguien con suficiente bagaje técnico puede ponerme un ejemplo de cómo se haría esa reserva de RAM y las posteriores lecturas / escrituras en RAM?

Gracias :)

Login sesión o register para postear comentarios

Por AxelStone

Prophet (2956)

Imagen del AxelStone

18-02-2015, 10:52

Iba equivocado, las rutinas son WRSLT y RDSLT, ya me han ayudado en el foro inglés.

Por jrcp_kun

Paragon (1410)

Imagen del jrcp_kun

18-02-2015, 18:52

cuenta aqui la explicacion de lo que quieres conseguir.

Por AxelStone

Prophet (2956)

Imagen del AxelStone

19-02-2015, 12:30

En el foro inglés está este mismo hilo, por resumir: hace poco abrí un hilo preguntando dónde puedo hacer pokes en Turbo Basic pq los 64Kb están llenos entre el intérprete Basic y el código generado. En vista que no había por donde cogerlo me enteré que la página 0 se puede reservar para RAM, por lo que dispones de 16Kb para guardar datos, cosa que ha resultado ser cierta usando los comandos RDSLT y WRSLT.

El objetivo es claro: sacar del programa Basic y sus escuetos 23Kb todos los datos de programa que sea posible o te comes la memoria enseguida. Y la verdad, disponer de esos 16Kb son una bendición...

Por jrcp_kun

Paragon (1410)

Imagen del jrcp_kun

19-02-2015, 19:10

Eso lo hacen tambien creo los juegos de conversiones. Tipo metropolis de topo soft y demas
Cogen memoria baja y cargan las rutinas en f300 hacia arriba.
Porque al ser conversiones directas tiraban de las rutinas directas con los outs 98 y 99. No necesitaban las rutinas propias y demas.
Por eso es tan engorroso cuando ves ese codigo tan directo. De redibujar en pantalla constantemente

Por AxelStone

Prophet (2956)

Imagen del AxelStone

19-02-2015, 21:11

Amigo es lo que tienen las conversiones directas. De todos modos supongo que serían juegos en ASM, con lo que tienes más control sobre el hardware y el acceso a esas zonas de memoria es directo. En BASIC la verdad es que a veces tienes que hacer malabarismos para acceder a ciertos recursos, está claro que es un handicap importante comparado con el ASM.

Hablando de conversiones un dato curioso: en el foro inglés alguien ha conseguido compilar para MSX su juego de Spectrum hecho en C con el compilador Z88dk. Evidentemente no usa el hardware del MSX, pero abre una puerta interesante a los desarrollos cross platform que tampoco requieran mucho aprovechamiento del hardware. Me consta que gracias a herramientas como el Z88dk el Spectrum goza de una salud estupenda.

Por jrcp_kun

Paragon (1410)

Imagen del jrcp_kun

20-02-2015, 07:57

Si. Por eso te comento que pases a asm todas las rutinas basicas de transferencia que igual ganas espacio.
Queria hacerte algunas preguntas si eso te envio mail.
Un saludo

Por AxelStone

Prophet (2956)

Imagen del AxelStone

20-02-2015, 09:11

jrcp_kun wrote:

Si. Por eso te comento que pases a asm todas las rutinas basicas de transferencia que igual ganas espacio.
Queria hacerte algunas preguntas si eso te envio mail.
Un saludo

En ello estoy, sacando los datos a la página 0 y dejando el espacio del Basic solo para la lógica de programa Wink . De todos modos seguro que de aquí a 3 días ya me encuentro otro obstáculo, esto tiene su chicha oO

Por MsxKun

Paladin (984)

Imagen del MsxKun

04-04-2015, 23:23

Ains... si es que os complicais la vida, os calentais la cabeza y dais mil y una vueltas para una cosa que en ASM son apenas 3 lineas de codigo sin más historia... Tongue

Si, hoy he sacado el látigo, como es Semana Santa... Running Naked in a Field of Flowers