Lo que si que me gustaria poder hacer a mi personalmente es hacer copys de imagenes almacenadas en ROM desde el turbo basic.
Para eso no hace falta usar defusr, puede montarse algo con en inline ('#I) del turbobasic. Hay rutinas en la SUB-BIOS para tranferencia de datos. BLTVM es como un copy de RAM o ROM a VRAM. Para usarla hay que llenar primero una serie de variables en la RAM de sistema y luego invocar la rutina. Para BLTVM son:
&hf562, 2 bytes: dirección donde está el gráfico en RAM/ROM
&hf566, 2 bytes: coordenada X de destino
&hf568, 2 bytes: coordenada Y de destino
&hf56f, 1 byte: indica la dirección de copia y si va a VRAM expandida o normal. Es igual a lo que se pondría en el registro R#45 del VDP.
&hf570, 1byte: operación lógica. (0 para pset y 8 para tpset.)
El registro HL tiene que tener &hf562
Pongo un ejemplo que pone en screen 5 y pasa un gráfico de una especie de donut a la pantalla.
10 bload"XBASIC.BIN",r 20 color 15,1,1:screen 5 30 call turbo on 40 x=10 41 y=10 42 ar=0 43 lp=&b00001000 50 poke(&hf566),x 51 poke(&hf567),0 52 poke(&hf568),y 53 poke(&hf569),0 54 poke(&hf56f),ar 55 poke(&hf570),lp 60 '#I &h11,@200 61 '#I &hed,&h53,&h62,&hf5 62 '#I &h21,&h62,&hf5 63 '#I &hdd,&h21,&h95,&h01 64 '#I &hcd,&h5f,&h01 100 ifnotstrig(0)then100 110 end 200 '#I &h10,&h00,&h08,&h00 201 '#I &h00,&h00,&h0f,&hff,&hff,&hf0,&h00,&h00 202 '#I &h00,&h00,&hff,&hff,&hff,&hff,&h00,&h00 203 '#I &h00,&hff,&hff,&hff,&hff,&hff,&hff,&h00 204 '#I &h0f,&hff,&hff,&h00,&h00,&hff,&hff,&hf0 205 '#I &h0f,&hff,&hff,&h00,&h00,&hff,&hff,&hf0 206 '#I &h00,&hff,&hff,&hff,&hff,&hff,&hff,&h00 207 '#I &h00,&h00,&hff,&hff,&hff,&hff,&h00,&h00 208 '#I &h00,&h00,&h0f,&hff,&hff,&hf0,&h00,&h00
En este ejemplo se rellenan las variables y luego se invoca la rutina. En la línea 60, donde pone @200, es la dirección de la fuente del grafico. La arroba es para indicar el número de línea donde comienza este. Si se pone una dirección directamente se ha de hacer con &h, dos bytes.
El gráfico está puesto también con '#I entre las líneas 200 y 208. Al comienzo del gráfico tienen que estar las dimensiones X e Y, dos bytes cada una.
Espero que sirva de algo.
Un saludo!
¿Has mirado si Nestorbasic incluye algo asi?
Nestorbasic es una extensión del Kun Basic con algunas mejoras.
Salu2
Si lo incluye, de hecho cuando pregunté por donde empezar con Basic dije que apuntaba hacia el Nestor Basic. Es muy probable que acabe en él, la única "pega" es que requiere 128Kb de RAM, dejas fuera a los 2+.
Axel, que acabas de empezar!
Y ya eres la envidia de muchos con lo que has adelantado en 1 semana!
Date tiempo, y experimenta mucho
Qué va hombre, envidia ni mucho menos, pues no me queda camino por recorrer... Aquí estamos todos para aprender.
Para eso no hace falta usar defusr, puede montarse algo con en inline ('#I) del turbobasic. Hay rutinas en la SUB-BIOS para tranferencia de datos. BLTVM es como un copy de RAM o ROM a VRAM. Para usarla hay que llenar primero una serie de variables en la RAM de sistema y luego invocar la rutina.
Espero que sirva de algo.
Un saludo!
Por lo pronto ya tenemos algo, muchas gracias. Aún así como dice Kai, molaría un BIN que se pudiera cargar para no tener que estar metiendo siempre el chorizaco. No obstante lo probamos a ver, gracias nuevamente!
En el ejemplo que puse antes va el gráfico con inlines, pero si tienes la dirección de memoria la puedes meter con pokes. Simplificado quedaría así:
50 poke(&hf566),X 51 poke(&hf567),0 52 poke(&hf568),Y 53 poke(&hf569),0 54 poke(&hf56f),R#45_VDP 55 poke(&hf570),código_operación_lógica 56 poke(&hf562),byte_bajo_dirección_gráfico 57 poke(&hf563),byte_alto_dirección_gráfico 60 '#I &h21,&h62,&hf5,&hdd,&h21,&h95,&h01,&hcd,&h5f,&h01
Axel nestorbasic pilla las ampliaciones de memoria...
En su dia.lo probe ( y no.me.preguntes...) y me pillaba los 4 megas...
Hay 2+ con memoria ampliada y mucha gente va teniendo megaflash con ram, osea que seria hacer tu programa de la forma q tu veas en un.msx2 y meterle una parte q mire la.ram y el modelo de msx si hay ram y es un 2+,tr u ocm entonces tira de modificaciones especificas para 2+
Es un lio a lo mejor pero es que los 64kb en un 2+ eran ridiculos hasta en la.epoca...
Axel nestorbasic pilla las ampliaciones de memoria...
En su dia.lo probe ( y no.me.preguntes...) y me pillaba los 4 megas...
Hay 2+ con memoria ampliada y mucha gente va teniendo megaflash con ram, osea que seria hacer tu programa de la forma q tu veas en un.msx2 y meterle una parte q mire la.ram y el modelo de msx si hay ram y es un 2+,tr u ocm entonces tira de modificaciones especificas para 2+
Es un lio a lo mejor pero es que los 64kb en un 2+ eran ridiculos hasta en la.epoca...
Lo sé, de hecho difícilmente me planteo trabajar para 64Kb de RAM precisamente por este punto. Lo poco que he visto de NestorBasic me gusta y si el peaje a pagar es usar 128Kb de RAM, tampoco me parece una cifra descabellada. Como tu dices la gente activa suele tener el MSX mejorado con su correspondiente MFR y/o expansión de RAM, así que el salto al Nestor Basic es casi un hecho.
Mas ejemplos, en este caso el Dragon spirit (aunque hay 3 años de diferencia de la version MSX2 es de 1987 y la de Atari ST de 1990). En este caso los graficos son mas vistosos en Atari, pero es leeeentooo de narices, los movimientos muy bruscos, ademas el scroll parece que va a saltos, y carece de musica "in game" e intro, ademas de que 1/3 de la pantalla la ocupa el marcador... En cambio la vesion msx2 si tiene musica, el scroll y movimientos de personajes van muy, muy finos, y es practicamente a pantalla completa:
MSX2:
http://www.youtube.com/watch?v=EoA1FtkdrPs
ATARI ST: ( a partir de minuto 2:15)
http://www.youtube.com/watch?v=g-6qpFrFNGI
Ostras! si en atari va a 12 o 15 fotogramas por segundo! que horror!
Imaginate jugar al aleste2 (que va a 60 fotogramas en msx2) a 15 fps!
Madre mia!
Ahora vamos con el XEVIOUS, vamos a obviar el sonido, ya que en MSX tiene opcion FM...
MSX2:
http://www.youtube.com/watch?v=ZUynlbaa2Rk
ATARI ST:
http://www.youtube.com/watch?v=DloiAWTbTxE
Kai, viendo estos ejemplos, no creo que un ST pudiera con un ALESTE 2... ;)
Me da a mi que es dragon spirits no pasa de la primera pantalla y que no es de 1987... me da q va a ser una demo que salio no hace mucho tiempo...
Creo yo eh!
Lastima que el video de youtube solo llega hasta 23 fps, y no se aprecia la suavidad en la que va realmente en msx.