Karoshi MSX Community
05 de Julio de 2021, 12:56:55 pm *
Bienvenido(a), Visitante. Por favor, ingresa o regístrate.

Ingresar con nombre de usuario, contraseña y duración de la sesión
Noticias:
 
   Inicio   Ayuda Buscar Ingresar Registrarse  
Páginas: [1]
  Imprimir  
Autor Tema: Turbo Basic y 64Kb: ¿dónde puedo hacer peeks y pokes?  (Leído 4293 veces)
0 Usuarios y 1 Visitante están viendo este tema.
AxelStone
Karoshi Newbie
*
Mensajes: 36



« : 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.
En línea

MSX Still alive!
jrcp_kun
Karoshi Newbie
*
Mensajes: 34


Email
« Respuesta #1 : 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.
En línea
AxelStone
Karoshi Newbie
*
Mensajes: 36



« Respuesta #2 : 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.
En línea

MSX Still alive!
jrcp_kun
Karoshi Newbie
*
Mensajes: 34


Email
« Respuesta #3 : 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

En línea
AxelStone
Karoshi Newbie
*
Mensajes: 36



« Respuesta #4 : 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  Wink
En línea

MSX Still alive!
jrcp_kun
Karoshi Newbie
*
Mensajes: 34


Email
« Respuesta #5 : 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!!
En línea
AxelStone
Karoshi Newbie
*
Mensajes: 36



« Respuesta #6 : 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  Smiley . Gracias por la ayuda.

Sobre el juego pues aquí andamos, se hace lo que se puede pero me las estoy pegando todas juntas  Embarrassed , para el siguiente ya voy aprendido  Grin
En línea

MSX Still alive!
jrcp_kun
Karoshi Newbie
*
Mensajes: 34


Email
« Respuesta #7 : 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.
En línea
AxelStone
Karoshi Newbie
*
Mensajes: 36



« Respuesta #8 : 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  Smiley

En línea

MSX Still alive!
Páginas: [1]
  Imprimir  
 
Ir a:  

Impulsado por MySQL Impulsado por PHP Powered by SMF 1.1.21 | SMF © 2013, Simple Machines XHTML 1.0 válido! CSS válido!