Karoshi MSX Community
05 de Julio de 2021, 12:58:48 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: .CAS + MSX2 + BLOAD de pantalla  (Leído 3175 veces)
0 Usuarios y 1 Visitante están viendo este tema.
j4mk3
Karoshi Maniac
****
Mensajes: 376


MSx Powa!


WWW Email
« : 01 de Enero de 2012, 02:47:32 pm »

Buenas,
Como algunos ya sabreis, la entrada de ThePetsMode al concurso de Basic de Konamito, no ha podido ser aceptada por el formato de entrega del juego.
Nos fue imposible conseguir que desde un .CAS se cargara un grafico con BLOAD,S en screen 5, en la página 2 de VRAM. [Si, tengo 128k VRAM configurados]
Los datos guardados eran correctos. Miré los bytes del fichero generado con BSAVE y veia la forma del dibujo correctamente en sus datos hexadecimales.

El mismo programa en .DSK cojonudo...sin problema.

Quisiera saber el porque no hemos podido ser capaces de realizar correctamente la carga.
Os dejo aquí un codigo de prueba, muy sencillito para que alguno de vosotros que quiera experimentar me diga en que me estoy equivocando para crear un archivo BASIC y un archivo BSAVE (binario) de pantalla (,S) y no me cargue nada de nada, aun que el BASIC dice que no ha tenido problemas para cargarlo.

Cargador BASIC (no tiene ningun misterio) Wink
Código:
10 SCREEN 5
20 SET PAGE 2,2
30 BLOAD"CAS:pict",S
40 IF INKEY$="" THEN 40
50 END

Creador de fichero binario (dibujo unos circulos concentricos y los salvo detrás del cargador BASIC anterior)
Código:
10 SCREEN 5
20 SET PAGE 2,2
30 FOR R=150 TO 10 STEP -10
40 CIRCLE (128,106),R,R/10
50 NEXT R
60 BSAVE"CAS:pict",0,&H6FFF,S
70 END

NOTA : He probado lo mismo en PAGE 0...y nada...que no carga el grafico. Sad

A ver si me podeis resolver el misterio.
En línea

---  G Fan  ---  Galious & Gradius  & G Boys   ---
--- Play HANS' ADVENTURE, STAN, THE DREAMER & BITLOGIC ---
SapphiRe_MSX
Visitante
« Respuesta #1 : 01 de Enero de 2012, 03:28:51 pm »

Si mal no recuerdo, el ",S" sólo funciona desde disco...
En línea
j4mk3
Karoshi Maniac
****
Mensajes: 376


MSx Powa!


WWW Email
« Respuesta #2 : 01 de Enero de 2012, 03:50:08 pm »

Si mal no recuerdo, el ",S" sólo funciona desde disco...
Wow! Wow! Wow!
Pues nada....no era un juego valido para el concurso de Konamito. END.
En línea

---  G Fan  ---  Galious & Gradius  & G Boys   ---
--- Play HANS' ADVENTURE, STAN, THE DREAMER & BITLOGIC ---
MsxKun
Karoshi Forum's Guru
*******
Mensajes: 1554


Kimochi-ii


WWW Email
« Respuesta #3 : 01 de Enero de 2012, 03:57:38 pm »

@SapphiRe: Xasto.
@J4mk3: Lo cual no quiere decir que no puedas colgar el juego en algun otro lado en formato DSK para que lo podamos ver Cheesy
En línea

--

Cindy Lauper She Bops!
theNestruo
Karoshi Lover
***
Mensajes: 236


Email
« Respuesta #4 : 01 de Enero de 2012, 04:37:15 pm »

Joer, pues qué chasco Sad

Puedes probar a convertir el BLOAD,S a BLOAD+LDIRVM (la rutina ensamblador que viene en las reglas) de la siguiente forma:

A la hora de generar el binario, pasas la parte de VRAM que quieras guardar a RAM y haces BSAVE normal. Como lo que quieres guardar es bastante tocho, tendrás que partirlo en fragmentos. Por ejemplo, dos:
- Pasas de VRAM &H0000-&H37FF a RAM a partir de &H9000 o &HA000 (esto se puede hacer en ensamblador, pero no sé cómo; en BASIC sería un FOR de POKEs y VPEEKs) y lo guardas con un BSAVE normal.
- Pasas de VRAM &H3800-&H6FFF a RAM y lo guardas también con un BSAVE normal.
A la hora de hacer el cargador, cargas el primer bloque con BLOAD y lo vuelcas a VRAM con la rutina que viene en las reglas del concurso. Luego cargas el segundo bloque y lo vuelcas igual (actualizando los valores de la rutina para que lo vuelque en su sitio).

Todo esto es válido si se hace el BLOAD,S desde un cargador antes de llamar al juego, que es un momento en el que hay mucha RAM libre. Otro tema sería que se hicieran diferentes BLOAD,S desde dentro del juego, lo que complicaría un poco el asunto: seguramente el código del juego acabe más allá de &HA000 o incluso &HB000 y entonces los fragmentos BLOAD deberían ser más y más pequeños...
En línea

theNestruo."Old BASIC programmers never die; they GOSUB but never RETURN."
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!