Quiero programar en BASIC, ¿por dónde empiezo?

Page 2/3
1 | | 3

By Ch00se

Resident (33)

Ch00se's picture

05-01-2015, 13:33

Yo también estaba buscando manuales para programar en basic. Buf, solo hice un curso y saqué un sobresaliente, pero hace muchos años y recuerdo lo mínimo. Qué ilusion! Gracias por los aportes! Es genial.

By Dreamerm42

Hero (621)

Dreamerm42's picture

07-01-2015, 01:44

Hoy es mi dia de dudas y "tonturas", expongo:

10 screen 2
20 a=3:b=6
30 for t=0to192
40 line (t,0)-(256,t),a,bf
50 swap a,b:next

bien, programa simple, que utilizaba en las pantallas de tubo para "mezclar" colores, con el comando swap se van alternando los valores A y B para que line pinte una linea horizontal de cada color de formal alternada...

Al final de line se encuentra la opción BF, si ponemos B crea un cuadro, si ponemos BF crea cuadro y lo rellena, pero como las coordenadas con las mismas para el punto de inicio como le final solo hará una linea...

Pero aqui mi duda, fijaros que si quitamos BF seguimos teniendo una linea, si ponemos B, no pasa nada, pero si ponemos BF va mas rápido xD como puede ser?

Que puede ser una tontera, pero no me entero, supuestamente debería ir hasta mas lento por que se tiene que para a "colorear/rellenar" xDDD no se si me explico bien, pero provadlo!

un saludo!

By Kai Magazine

Paragon (1303)

Kai Magazine's picture

07-01-2015, 11:21

Hola, esto que voy a contar es una hipotesis, no lo se del cierto, pero explicaría porque el box fill es mas rapido que el box:

Cuando hacemos un "line" a secas, el msx tiene que calcular y dibujar la linea de la coordenada de origen a la coordenada de destino. Eso implica que tiene que calcular la posicion de cada pixel de la linea.

Cuando hacemos un line ,b (box) tiene que dibujar 4 lineas.

Cuando hacemos un line,bf (box fill) no tiene que calcular pixeles, ni dibujar lineas. Llena una area de la memoria de vram con una instruccion totalmente diferente. No tiene que calcular, solo cambiar los bits una zona determinada.

By DrWh0

Paladin (767)

DrWh0's picture

07-01-2015, 18:15

Kai Magazine wrote:

Hola, esto que voy a contar es una hipotesis, no lo se del cierto, pero explicaría porque el box fill es mas rapido que el box:

Cuando hacemos un "line" a secas, el msx tiene que calcular y dibujar la linea de la coordenada de origen a la coordenada de destino. Eso implica que tiene que calcular la posicion de cada pixel de la linea.

Cuando hacemos un line ,b (box) tiene que dibujar 4 lineas.

Cuando hacemos un line,bf (box fill) no tiene que calcular pixeles, ni dibujar lineas. Llena una area de la memoria de vram con una instruccion totalmente diferente. No tiene que calcular, solo cambiar los bits una zona determinada.

Bueno Kai, no estoy seguro al 100% (pero sí al 90%) pero yo creo que por ahí pueden ir los tiros, yo me percaté en su día de esa característica y solía usarla sobretodo para acelerar los menús gráficos de mis programas y juegos cuando usaba screen 2 en mi msx1, (luego para menús y fondos que no exigieran modo gráfico de alta resolución usaba redefinición de caracteres en screen1 para ponerlos bonitos que era más rápido y elegante).

By kabish

Master (223)

kabish's picture

08-01-2015, 15:38

Sobre turbo basic, el propio kai escribio un pequeño tutorial en la fkd fan, si mal no recuerdo. Ahi comenta cosas muy interesantes.

Manual de basic, el de sony tiene muchas tablas y referencias de comandos si necesitas mirar algo rapido.

Al lio Wink

By Kai Magazine

Paragon (1303)

Kai Magazine's picture

08-01-2015, 20:31

Lo que si que me gustaria poder hacer a mi personalmente es hacer copys de imagenes almacenadas en ROM desde el turbo basic.
No hay ninguna funcion específica que lo permita hacer, por lo que alguien tendria que hacer una rutina en ASM que se encargase de tal menester.
Si alguien de la comunidad quisiera aportar su granito de arena y generar dicho codigo, que se pueda cargar con un bload y ejecturar la rutina de copiado con un defusr para que se pueda hacer desde dentro de un turbo bloque, sería un gran, gran avance, ya que podriamos tener tantos fotogramas como quisieramos. No habria limite mientras la capacidad del cartucho lo permitiese.
Asi que, a todos los programadores de ASM, hacedlo y llegareis hata donde ningun hombre ha llegado jamas (rollo star trek total) llevando al msx2 a otro nivel, y sereis famosos por los siempres de los jamases.

Preparados... Listos... YA!!

By oskar666

Champion (357)

oskar666's picture

08-01-2015, 21:18

Se puede empezar a programar directamente en msx2 basic, o es recomendable empezar con el msx-basic??

By Kai Magazine

Paragon (1303)

Kai Magazine's picture

08-01-2015, 21:31

Si vas a programar en msx1, msx basic.
Si vas a programar en msx2, empieza por msx2 basic.
Mas que nada por los modos graficos y la forma de trabajar con graficos, que no tiene absolutamente nada que ver el uno con el otro, y lo que aprendas de graficos en msx1 no te va a servir para msx2 (salvo en muy contadas ocasiones).

By oskar666

Champion (357)

oskar666's picture

08-01-2015, 22:17

ok, preferiblemente me gustaria para msx2, asi que empezare po el msx2-basic, a ver que tal...

By Dreamerm42

Hero (621)

Dreamerm42's picture

09-01-2015, 02:43

ummm interesante, viene a ser lo que se ahorra en cálculos el por que e mas rapido...

Pues mira una duda de estas "tontas" que tenia desde hace mucho.

Gracias por tu tiempo Smile

Page 2/3
1 | | 3