Karoshi MSX Community
06 de Julio de 2021, 12:15:06 am *
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: Problemilla con BIN en ROMCreator  (Leído 3001 veces)
0 Usuarios y 1 Visitante están viendo este tema.
theNestruo
Karoshi Lover
***
Mensajes: 236


Email
« : 01 de Septiembre de 2011, 10:45:51 am »

Buenos días.

Tengo una duda con el ROMCreator de JLTursan. Le escribí un privado a él, pero luego me he dado cuenta desde hace cuánto no escribe :S

Supongamos que desarrollando en disco tengo algo (un AUTOEXEC.BAS) tal que así:
10 BLOAD"DATA.BIN"
20 RUN"GAME.BAS"
Luego el juego (GAME.BAS) vuelca los datos de RAM a VRAM y funciona perfectamente. También tengo otro miniprograma que simplemente hace ese volcado para mostrar los patrones y los colores y verificar que el .BIN está correcto.
El DATA.BIN lo he generado (en otro miniprograma) a base de POKEs a partir de &HB000 y lo he guardado con BSAVE.

Ahora, para pasarlo a .ROM, con el ROMCreator meto GAME.BAS y DATA.BIN como ficheros BASIC y binario respectivamente. Y me da los siguientes datos:
BASIC: START $8010, END $98F1, SIZE $18E2
Binary: START $B000, END $B980, SIZE $0980
Pero cuando lo ejecuto no "sale" nada. Ni con el juego ni con el miniprogramita de ver el volcado. Es decir, el juego funciona, pero lo que se ha volcado a la VRAM no es nada reconocible Sad

Supongo que tendrá que ver con algo de bancos de memoria... pero eso es un tema en el que estoy totalmente pez. ¿Qué es lo que estoy haciendo mal?

Muchas gracias por adelantado Cheesy
En línea

theNestruo."Old BASIC programmers never die; they GOSUB but never RETURN."
phsoft
Karoshi Fan
**
Mensajes: 68



WWW
« Respuesta #1 : 01 de Septiembre de 2011, 02:20:38 pm »

buenas,

yo probaría a tomar solo los datas y solo las rutinas de definición de tiles y sprites (de la parte en basic de tu programa, se entiende) e intentaría montar una rom con esto, que definiese tiles y sprites y los volcase en pantalla, punto pelota!. entiendo que los datos son solo datos y que el programa basic lo primero que hace es volcarlos a vram (.. que cómo lo hace, por cierto?). por las direcciones que das (todo entra en la page 2, generando un rom de 16kb con inicio en 0x8010) a mi no me parece que fuese problema de bancos de memoria, pero entiéndeme que sin código es complicado de mirar Tongue

saludos,
- paco
En línea
theNestruo
Karoshi Lover
***
Mensajes: 236


Email
« Respuesta #2 : 01 de Septiembre de 2011, 03:09:17 pm »

Te adjunto un .DSK con varios ficheros: POKEDSK.BAS hace los POKEs, el BSAVE y una prueba rápida. TESTDSK.BAS hace un BLOAD y la misma prueba rápida. Las versiones POKEROM.BAS y TESTROM.BAS son lo mismo pero sin el BSAVE ni el BLOAD.
He hecho lo que comentas, montar una ROM con el programa que hace POKEs (y luego lo vuelca para probar) y no hace tampoco nada. Aunque en este caso me lo esperaba, porque es ROM y los POKEs no van a cambiar nada.
Y he hecho otra prueba, montando una ROM con TESTROM.BAS y DATA.BIN... pero nada Sad

El volcado de RAM a VRAM lo hago con la rutina que aparecía en las bases del nuevo concurso de MSX-BASIC de Konamito, con el código de SapphiRe, aunque con las funciones que sacan cada byte de un word modificadas (que las originales suyas me daban problemas con determinadas direcciones de memoria).

Muchas gracias!!!
En línea

theNestruo."Old BASIC programmers never die; they GOSUB but never RETURN."
phsoft
Karoshi Fan
**
Mensajes: 68



WWW
« Respuesta #3 : 01 de Septiembre de 2011, 04:37:08 pm »

niño, he visto testdsk.bas .. menudo pedazo de cabeza! Joe
funciona perfecto desde disco y cargando en basic, pero esta parte no se puede meter en un rom, yo creo (que no soy un experto, ojo!)
...
RO=&HB000
AD=RO-16
...
POKEAD,1
POKEAD+1,...
...
puesto que no puedes pokear en 0xb000 en un rom alojado en pag 2 (0x8000 a 0xc000)

tu explica qué quieres hacer con esos datas. si es solo volcarlos a vram pues se prepara una rutina puro asm que comience en b000, los busque en b050, pej, los pase a vram y salte a 8010, pej, y listo. si solo es definir tiles y sprites esto debería ser trivial

saludos,
- paco
En línea
phsoft
Karoshi Fan
**
Mensajes: 68



WWW
« Respuesta #4 : 01 de Septiembre de 2011, 08:26:24 pm »

buenas, pichorra

mírate esto que sigue, que está montado a tu modo, creo, y con la herramienta del crak de jlt
http://phsoft.vecindiario.es/ftp/basic2rom.zip
porque creo que es un ejemplo de lo que quieres hacer, y es operativo (funciona), aunque también tiene su truco (el loader.asm). pienso que para lo que quieres es mejor que mires un poco el asm y hagas pequeños cargadores de datos como este loader. se te puede echar una mano al cuello, claro, Joe y en lo que alcance mi sesera, pero mañana no porque estaré out todo el día Cry

saludos,
- paco

En línea
theNestruo
Karoshi Lover
***
Mensajes: 236


Email
« Respuesta #5 : 01 de Septiembre de 2011, 08:48:04 pm »

Si el POKE es un perro me come. Estoy ciego.
Na, estoy preparando algo para el concurso de Konamito, donde irá en CAS: con lo que no habra problema. Lo de montar un ROM era solo por probar. Y respecto a mas ensamblador... las normas solo permiten esa rutina. En mi caso hago varios volcados porque el bin lleva todo (color, pattern, sprite pattern, name de diferentes pantallas) or lo que  tendre que hacer una version especifica para ROM que lleve la rutina en el propio BIN
Pero vamos, que con paciencia; rimero tengo que acabar el juego y ahora mismo estoy a media mudanza :-S
Muchas gracias, pichorra!
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!