Karoshi MSX Community

Desarrollo MSX => Desarrollo (Español/Spanish) => Mensaje iniciado por: AxelStone en 15 de Febrero de 2015, 10:09:14 am



Título: Turbo Basic y 64Kb: ¿dónde puedo hacer peeks y pokes?
Publicado por: AxelStone en 15 de Febrero de 2015, 10:09:14 am
Buenas señores, estoy liado con mi pequeño proyecto para Turbo Basic y empiezo a estar un poco corto de memoria de programa así que he pensado en reemplazar los arrays que uso por posiciones almacenadas en zonas de memoria con POKE. El caso es que entre el espacio del intérprete, la zona donde se aloja el compilado...veo que no queda un solo hueco.

Me da igual RAM que VRAM, ¿hay algún sitio donde pueda alojar datos? Gracias.


Título: Re:Turbo Basic y 64Kb: ¿dónde puedo hacer peeks y pokes?
Publicado por: jrcp_kun en 15 de Febrero de 2015, 11:28:00 am
estas haciendo algo que sea formato que?? dsk rom megarom??


los puedes apilar en vram o ram . en vram si no usas todo el espacio para los graficos tambien lo puedes hacer.


Título: Re:Turbo Basic y 64Kb: ¿dónde puedo hacer peeks y pokes?
Publicado por: AxelStone en 15 de Febrero de 2015, 01:02:30 pm
Básicamente almacenar enteros. Ahora mismo lo tengo en DIMs pero me estoy comiendo los 23Kb del Basic y me gustaría almacenarlos en otras zonas de memoria. De Poke ando listo, no hay casi nada libre en los primeros 64Kb, y de VPOKE he hecho algún experimento y parece que la memoria se corrompe o algo pasa. Seguiré probando y os comento. Gracias.


Título: Re:Turbo Basic y 64Kb: ¿dónde puedo hacer peeks y pokes?
Publicado por: jrcp_kun en 15 de Febrero de 2015, 08:16:11 pm
pero dime en que formato porque si es en dsk los puedes sacar de un fichero. Si es rom hay que buscar

por ejemplo

puedes hacer esto en la pagina de vram la 3 por ejemplo
set page 0,3 : for i = 0 to 10-1 : read a :vpoke &h6600+I,a:next i
data 1,2,3,4,5,6,7,8,9,10


aqui escribes en la pagina 3 a partir de la direccion de vram &h6600 , 10 registros o los que quieras. (ojo estarian visibles si la activas).usalas como desees
esto es en screen 5,6 en screen 7,8 solo hay 2 paginas



Título: Re:Turbo Basic y 64Kb: ¿dónde puedo hacer peeks y pokes?
Publicado por: AxelStone en 15 de Febrero de 2015, 09:19:25 pm
Si es en disco, lo leo efectivamente de un fichero. La solución que comentas es la que he intentado, pero amigo, no había caído en lo del set page creo que es lo que me ha faltado. Vamos a probar y te cuento.

Gracias  ;)


Título: Re:Turbo Basic y 64Kb: ¿dónde puedo hacer peeks y pokes?
Publicado por: jrcp_kun en 16 de Febrero de 2015, 10:41:12 am
A ver si te funciona. Ya me cuentas algo de ese mega juego que estas haciendo. Animo!!


Título: Re:Turbo Basic y 64Kb: ¿dónde puedo hacer peeks y pokes?
Publicado por: AxelStone en 16 de Febrero de 2015, 12:49:49 pm
Amigo pues ha funcionado y además sin el set page. He limpiado un poco el código y creo que por el camino había COPYs donde no debía que guarreaban la página. Ahora dispogo de 5632 bytes libres en la página 1 para hacer PEEKs y POKEs a piñón  :) . Gracias por la ayuda.

Sobre el juego pues aquí andamos, se hace lo que se puede pero me las estoy pegando todas juntas  :-[ , para el siguiente ya voy aprendido  ;D


Título: Re:Turbo Basic y 64Kb: ¿dónde puedo hacer peeks y pokes?
Publicado por: jrcp_kun en 17 de Febrero de 2015, 12:17:14 am
En las paginas 0 y 1 puedes escribir directamente
0-&h6fff. &h7000-&hffff. No hace falta set page.


Título: Re:Turbo Basic y 64Kb: ¿dónde puedo hacer peeks y pokes?
Publicado por: AxelStone en 17 de Febrero de 2015, 12:25:13 pm
Ya me he dado cuenta, de ahí que quiera usar las zonas ocultas. De todos modos las direcciones que das no son correctas ¿puede ser? Me refiero, si cada página tiene 32Kb los rangos serían:
- Página 0: &h0000 - &h7FFF (zona visible hasta &H6A00)
- Página 1: &h8000 - &hFFFF (zona visible hasta &HEA00)

Digamos que los rangos "seguros" serían respectivamente &H6A00 - &H7FFF (0) y &HEA00 - &HFFF (1) para no escribir nada en pantalla. Lo afirmo y lo pregunto a partes iguales  :)