Karoshi MSX Community

Desarrollo MSX => Desarrollo (Español/Spanish) => Mensaje iniciado por: oaby en 09 de Febrero de 2007, 03:00:05 pm



Título: Foro para n00bs???
Publicado por: oaby en 09 de Febrero de 2007, 03:00:05 pm
Saludos!!

Ayer mismo llegó mi nuevo MSX NMS 8245, una verdadera belleza: compacto, manejable y potente. Sólo le encuentro una pega: no tiene Ñ... Cachis... bueno, usaremos la lengua de los súbditos de la pérfida Albion.

Mi pregunta es la siguiente: hay algún foro para newbies donde hacer preguntas tan absurdas como: "¿cómo coloco un pixel en pantalla en ASM?", o "Cómo se programa el chip de sonido (no a tan grandes rasgos)?". Porque aquí preguntas son de un level un poco inabarcable para mí. Tengo muchas ganas de empezar, pero no quiero perderlas por no encontrar respuesta a preguntas sencillas que casi cualquiera pueda contestar.
Gracias compis!


Título: Re: Foro para n00bs???
Publicado por: Dioniso en 09 de Febrero de 2007, 03:12:04 pm
Éste es tu foro.


Título: Re: Foro para n00bs???
Publicado por: jltursan en 09 de Febrero de 2007, 03:14:49 pm
Citar
preguntas tan absurdas como: "¿cómo coloco un pixel en pantalla en ASM?", o "Cómo se programa el chip de sonido (no a tan grandes rasgos)?"

¿preguntas tan absurdas? o_O

....madre mía...

Bueno, ahora en serio, tu pregunta, pregunta, que aquí da igual una cosa que otra ;)

De hecho, ahora que caigo no hay un puñetero snippet de como poner un pixel en pantalla... :P



Título: Re: Foro para n00bs???
Publicado por: Dioniso en 09 de Febrero de 2007, 03:32:11 pm
La verdad es que estaría bien incluir una sección en Resources sobre "librerías" (rutinas) para copiar-y-pegar en el código de la aplicación que se esté programando. Ya sé que están los snippets ... pero algo tipo: listado con selección de screen, inicializaciones varias (colores, click del teclado, herzios, modelo de MSX, ...), escritura-lectura a RAM y VRAM, ... Es decir, no escribir 200 snippets (a veces para cosas pequeñas) sino un gran listado de donde coger lo que se necesite.

Los snippets se pueden dejar para cosas curiosas ...  ::)


Título: Re: Foro para n00bs???
Publicado por: oaby en 09 de Febrero de 2007, 03:51:36 pm
Vale, pues entonces pregunto. Quiero celebrar un "Hola mundo" de la forma en que siempre lo hago con cualquier sistema gráfico: un "hola píxel"!!! ;D

Mis preguntas son:
   1- ¿Cómo cambio el modo grafico a Screen 2, ó 5? ???
   2- Imagino que la fórmula típica del cálculo de dimensiones valdrá aqui tb : X_MAX*y+x, para colocar el pixel. A partir de qué direccion de memoria? ???


Título: Re: Foro para n00bs???
Publicado por: SapphiRe en 09 de Febrero de 2007, 04:30:35 pm
1- ¿Cómo cambio el modo grafico a Screen 2, ó 5? ???

Lo mejor es utilizar las rutinas de la BIOS para cambiar el modo de pantalla. Puedes encontrar una buena descripción en el Technical Handbook (http://www.konamiman.com/msx/msx-s.html#msx2th) o en el Red Book. Te recomiendo que visites la página de Robsy con documentación sobre MSX (http://www.robsy.net/docs.htm).

Citar
2- Imagino que la fórmula típica del cálculo de dimensiones valdrá aqui tb : X_MAX*y+x, para colocar el pixel. A partir de qué direccion de memoria? ???

Depende del modo de pantalla que utilices, ya que no es así en todos. Lo que has puesto valdría únicamente para Screen 8, ya que ahí un pixel equivale a un byte. Para otros modos de pantalla el cálculo es completamente diferente y debe incluir una lectura de VRAM, modificación del byte leído y posterior escritura del byte modificado... siempre que no haya que leer y escribir dos veces como en el caso de SC2 ó SC4 (realmente para poner pixels ambos modos son iguales).

En cuanto a la dirección de memoria en la VRAM igual, depende del modo de pantalla, todo viene bien descrito en la documentación.

Por último simplemente darte mi opinión: colocar un único pixel en pantalla es ineficiente para el MSX.

Un saludo y bienvenido al foro!
--
SapphiRe


Título: Re: Foro para n00bs???
Publicado por: oaby en 09 de Febrero de 2007, 04:34:40 pm
Supongo que hacerlo en bloques será mucho más eficiente (tal y como se hace en las máquinas GB o NDS, con tiles). Hay algún modo especial para esto, es decir, "tileable"?


Título: Re: Foro para n00bs???
Publicado por: SapphiRe en 09 de Febrero de 2007, 04:40:11 pm
Supongo que hacerlo en bloques será mucho más eficiente (tal y como se hace en las máquinas GB o NDS, con tiles). Hay algún modo especial para esto, es decir, "tileable"?

Screen1, Screen 2 y Screen 4 son modos de tiles :)

A efectos de tiles SC2 y SC4 son idénticos, mientras que SC1 tiene menos posibilidades de color. Luego tienes el modo mixto, pero ese modo no funciona en todos los MSX1, aunque sí en los MSX2 o superiores.


Título: Re: Foro para n00bs???
Publicado por: oaby en 09 de Febrero de 2007, 04:44:41 pm
Muchas gracias por vuestra ayuda. Acabáis de descubrir a un verdadero pesado, no sabéis lo que habéis hecho ;D ;D ;D


Título: Re: Foro para n00bs???
Publicado por: Jon_Cortazar en 09 de Febrero de 2007, 06:03:51 pm
oaby, este foro está abierto a cualquiera que tenga interés en el desarrollo MSX, no importa su nivel de conocimientos: lo importante es el interés. Además, aquí tenemos a mucho maestro suelto, así que no te cortes! ;)


Título: Re: Foro para n00bs???
Publicado por: oaby en 09 de Febrero de 2007, 07:42:44 pm
Genial! Me mola el rollo, tenia algo de miedo porque parecía un poco 1337, pero ya veo que no. Ahora mismo me estoy leyendo a fondo el Technical Data, en cuanto me meta en materia y no pille algo os pregunto. Gracias  :D


Título: Re: Foro para n00bs???
Publicado por: MsxKun en 09 de Febrero de 2007, 09:12:12 pm
Bienvenido!

Nada nada, a practicar! La mejor forma de aprender es esa, practicar, leer info, preguntar, practicar, leer, preguntar... asi un bucle bastante gordo  ;D
Ya veras luego que la cosa no es tan chunga, pero no hay que intentar pillarlo todo de golpe. :) Y lo dicho, la BIOS es tu amiga!