Páginas

24 diciembre 2010

Happy Square Christmas!


Este año, 303bcn, hemos querido felicitar las navidades con una postal electrónica con estilo 8bits, creada en una ROM de MSX. También he de dar las gracias a JamQue de The Pets Mode, por su ayuda en la implementación de la música utilizando el player ZMA.

Demo by 303bcn for MSX computers
Code & GFX: mvac7(aorante)
Music: neuroflip (AY-3-8910 ZMA player)
ZMA player & Suport: JamQue/TPM

Solo nos queda desearos:
  • Gajan Kristnaskon (Esperanto)
  • Merry Christmas  (English)
  • Feliz Navidad (Español)
  • Bon Nadal (Catalá)
  • Bo Nadal  (Galego)
  • Bon Nadau (Aranes)
  • Buen Nadal (Aragones)
  • Gabon Zoriontsuak (Euskera)
Descargar ROM!

06 diciembre 2010

38 RU de MSX

Este sábado pasado se celebro la 38 Reunión de Usuarios de MSX.
En esta ocasión participé desde dentro de la organización ya que ahora formo parte de la asociación AAMSX. En concreto, estuve colaborando en una nueva actividad denominada Arcade Zone, que consistía en un stand con tres ordenadores MSX con mandos telemach (un lujo :D), donde los asistentes, podían sentarse y echar unas partidas a diferentes juegos que se encontraban a su disposición. A media mañana se uso uno de estos ordenadores para el concurso, que en esta ocasión se utilizo un juego muy divertido, llamado Crazy Bullet. Esta vez llegué a la final, pero perdí por 2 sets a 1 contra Zener/Ozone.


Dentro de las novedades que se pudieron ver, se encuentra la presentación del juego ya terminado de Hans Adventure de TPM. Imanok mostró una demo de un juego que esta desarrollando de batalla entre personajes de juegos MSX. También se presento el número 2 de la revista MSX-Area.

Entre los expositores se encontraba el de Matra, donde habían disponibles una gran colección de juegos en cartucho de su servicio shokwave. También habían los de venta de productos de segunda mano, merchandising y el de Xenon donde mostraba hardware y software musical para MSX.
Como plataforma invitada, se encontraba José María S. que mostró varios modelos de Amstrad y una pieza de coleccionista: un ordenador Compukit UK101.

En resumen, la jornada se desarrollo con el acostumbrado ambiente de fraternidad y quizás con un aumento de la participación de los asistentes en las actividades de la RU.
  • Más info en la WEB de la AAMSX.

24 noviembre 2010

chiptune stage v2



El pasado sábado tuvo lugar, por segunda vez y dentro de las actividades del club-sprite, un stage dedicado a la música chiptune. Se mostraron proyecciones de vídeos relacionados con la temática, de los grupos 5alad, goto80 y meneo, y hablamos sobre este subgénero musical.
Uno de lo puntos destacables fue la demostración que nos hizo msxKUN del hardware para MSX playSoniq, reproduciendo temas SID y SCC. También nos enseño una demo de un software que esta desarrollando, muy prometedor: Un sintetizador monofónico del AY-3-8910.
Maki nos obsequio con una sesión con sus últimas creaciones con el Korg DS-10 y JamQue/TPM, por su parte, nos enseño en primicia, los últimos temas de josss (AY), para el juego Hans Aventure.
Para finalizar, realicé la presentación oficial de la versión 0.8b del PSGed.
En definitiva, pasamos un buen rato entre amigos, hablando y escuchando música chip...

14 octubre 2010

Veejing con MSX

neuroflip con la proyección de 9978veejing en lancelona

El veejing es una forma de decir videojockey o VJ. y junto con la iluminación, acompañan (aunque no siempre) a los DJ, formando parte de un espectáculo musical.

Normalmente el veejing consiste en mezclar vídeos aplicando efectos, utilizando ordenadores tipo mac o PC con software especifico (o no), aunque en el mundo de la música chiptune en algunos casos se utiliza como fuente de vídeo ordenadores de 8/16bits y consolas. Para estos existe un software que básicamente generaran efectos tipo glitch. Este consiste en mostrar ruido o gráficos distorsionados de forma pseudoaleatoria. Algunos de estos programas son el glitchNES de NO-CARRIER para NES, el VICFICKEN para C64 y recientemente he descubierto el Limited Chaos para la Master System.

Pantalla del glitchNES 0.1

Sobre veejing, tuve una experiencia en los 90, donde colaboré con varios amigos en la elaboración de un vídeo-montaje realizado con ordenadores Amiga para la discoteca barcelonesa Studio54, pero hasta este fin de semana pasado, no había vuelto a tocar el tema. Neuroflip, me propuso que me encargase de los visuals, para una sesión de chiptune en la lan party lancelona, con una aplicación de glitch para MSX y me gusto mucho la idea!
Aprovechando el bagaje que tengo en el desarrollo para MSX del PSGed, lo vi factible para el escaso tiempo disponible (menos de dos semanas), aunque mi intención era hacer algo un poco más elaborado ya que el glitch por si solo, no me gusta.

No soy el primero que utiliza un MSX como generador de efectos para veejing. Que yo tenga constancia The C-Men utiliza un Philips NMS 8280 para crear efectos de distorsión tipo glitch, sobre la entrada de vídeo digitalizado (ver vídeo).

El software que he programado, lo he llamado 9918Veejing (proviene del nombre del VDP TMS9918 de los MSX1), y funciona con dos capas:
La principal puede mostrar tres tipos de ruido pseudoaleatorio (nieve, simbolos y tonos), o ninguno,
La segunda capa se aplica sobre la anterior y puede mostrar imágenes estáticas, escrolls de texto, 2 animaciones o nada.
Todo se basa en un único tileset y lo que cambio son los nombres de patrones (tiles). Con el teclado se activan los diferentes efectos y para dar más juego se puede alterar el tipo y color de los patrones. Por último, con la tecla [enter], genera un efecto de flash que cambia en un instante el color de fondo (y transparente), de negro a blanco. Está pensado para dispararlo cuando suenan golpes rítmicos y conseguir un toque de unión entre lo que suena y lo que se ve.

Fondo de simbolos con animación de walker.

Esta programado en C y Assembler utilizando SDCC, pero quiero pasarlo todo a ASM para conseguir más fluidez y aplicar más efectos. El formato que he utilizado es una ROM de 32k, para poder ejecutarlo desde la MegaFlashROM.

Una vez ejecutado durante una sesión, hay que ir activando los efectos siguiendo el ritmo de la música. El resultado dependerá de la pericia de uno.

Fondo de nieve con animación de ondas.

Después de la experiencia de lancelona (podéis ver el vídeo), me he dado cuenta de que le falta más animaciones y efectos. En una sesión de más de 20 minutos, acabe repitiendo los mismos efectos, sobre todo las animaciones.
Se me quedo en el tintero por falta de tiempo, hacer un efecto utilizando sprites, algún efecto visual más que tenia en mente, y un sistema de sincronismo diseñado por jamque.

También tengo que investigar más afondo el VDP de los MSX1, ya que creo que tocando algunos registros se pueden generar directamente efectos tipo glitch sin necesidad de simularlos con programación. Además con el VDP de los MSX2 se habré todo un mundo de posibilidades. Solo hay que conocer su funcionamiento y echarle imaginación...

Adjunto la ROM del programa para que lo podáis probar. Tiene mensajes concretos para la sesión que hicimos, pero os podéis hacer una idea de su funcionamiento e inspiraros para desarrollar vuestro propio soft ...
Instrucciones de manejo:
9918Veejing v0.1b
Copyleft 2010 aorante/303bcn

Instrucciones de manejo

Fondo ruido
[Q] desactiva el ruido
[W] ruido tipo nieve TV
[E] símbolos
[R] tonos

Capa de contenidos
[A] desactiva contenidos

[1] al [5] scrolltext

[Z] a la [B] pantallas estáticas

[N] animación caminante
[M] animación ondas

Juegos de tiles y tonos
[I] juego tiles 1 (con tono color 1)
[O] juego tiles 2
[P] juego tiles 3

[ tono color 2
] tono color 3

Tonos para anim y scroll
[,] tono rojo
[.] tono verde
[/] tono azul

[Graph] Tono transparente (para algunas pantallas y scrolltext)

Otras funcionalidades
[Return] Efecto flash.
[Select] Negativo/Positivo del scroll text.

11 octubre 2010

Bits & Baudios en Barcelona

Este pasado sábado (09/10/2010) a las 21h, se celebró dentro de las actividades de la lan-party lancelona, los conciertos de Bits & Baudios organizado por la auic
Después de una presentación de Rafael Corrales (organizador de la RetroMadrid), pudimos disfrutar la actuación de Néboa. Mostró un autentico espectáculo realizado con una gran variedad de artilugios electrónicos modificados (circuit bending), junto con una consola Atari 2600 y un par de Commodores 64.

Le siguió 5alad con una sesión alucinante, con temás de su disco Low res. graphics, compuesto con música electro/chiptune creada con diferentes ordenadores de 8/16 bits, todo ello sincronizado con la presentación de animaciones creadas en basic en un Commodore plus/4 y un 64. 

Para finalizar vimos una animada actuación de Gominolas, que canto dos canciones con música de Juan Alonso (del grupo electropop La Monja Enana), y también realizo una original interpretación de uno de sus últimos temas, utilizado en el juego Invasion of the Zombie Monsters (MSX y spectrum), de Relevo.
A pesar de lo excelente que fue, y de ser abierto al publico general, no tuvo la expectación que se merecía. Algo debió fallar en la publicidad. 
Esperamos que este evento se repita en condiciones más favorables, aunque algunos de ellos ya los hemos visto en Barcelona en el festival sonar.

05 agosto 2010

Lady Saturn Making Off

Este es el primer año que participo en la RetroEuskal y lo he hecho con una imagen para MSX que he llamado "Lady Saturn". No he obtenido una buena posición, pero a decir verdad, no creía que fuera a ganar, ya que he de admitir de que carece de originalidad y no expresa nada. Me he dado cuenta de que es un punto importante para poder competir contra trabajos de plataformas más aventajadas gráficamente. Mi dibujo solo muestra una serie de técnicas, aunque no tan buenas como las que se pueden apreciar en los trabajos de algunos concursantes de spectrum y colegas de plataforma.


Esta creada para el modo screen2 de MSX (256x192, 2 colores cada 8 puntos horizontales de una paleta de 16) y no usa sprites. Al ser un modo un tanto limitado se complica el desarrollo de la imagen y hacen que no sean tan vistosas como las de otros ordenadores. Aun así en la imagen que he presentado se pueden ver técnicas como dithering e incluso antialiasing. Para su elaboración habré dedicado aproximadamente unas 20 horas.

Esta dibujada utilizado Gimp, un soft no-nativo, pero he respetando las características del modo gráfico de MSX. Una vez acabada, he usado la aplicación WEB MSX Screen Conversor de Jannone, para transformarla al formato binario SC2 de MSX.

La imagen muestra un primer plano de una mujer con un fondo que representa un paisaje espacial.

Para los ojos, al principio utilicé el cían, pero lo cambié por un tono claro de verde que me gustaba más. Para dar volumen a la cara, utilicé los dos tonos de amarillo que dispone la paleta. No contrastan mucho pero me gustan más que combinarlo con uno de los tres tonos de rojo disponibles. También utilicé el negro para oscurecer los laterales. Para mejorar la sensación de volumen he utilizado diferentes formas de tramado.


Algunos de los detalles que podemos encontrar en la cara, es la incorporación de pecas, un lunar junto a la boca y el tatuaje. A la oreja le he dotado de forma vulcaniana/élfica, para darle un toque más fantástico y la he atravesado con un mechón de pelo. Referente al pelo, para darle detalle, he añadido formas curvas que simulan mechones que van hacia los rizos del contorno y se encuentran tramadas para crear un efecto de tono más oscuro.

El pendiente es un Glifo de Saturno. Es de color gris con brillos de color blanco, para que parezca metálico.

En el dibujo he querido utilizar de forma especial la forma de espiral. La podemos encontrar en el pendiente, en el pelo y como textura dentro del planeta Saturno.

El cuello representa parte de un traje de estilo futurista, y he utilizado un gris para que parezca que es material plateado.

El fondo se compone principalmente de un planeta con arcos que representaría Saturno (aunque la textura interior correspondería más a Jupiter). Creo que es un elemento que se podría haber mejorado para que se asemejase más a Saturno. También he añadido algunos satélites y estrellas, utilizando diferentes colores para variar el brillo. Como detalle, dentro de esas estrellas, incluye resaltada con puntos más brillantes, la constelación cassiopeia (con forma de "W").

Detalle del leve efecto antialiasing aplicado. 

He podido recrear un poco el efecto de antialiasing principalmente en el pelo y en el planeta, en aquellos bloques que me lo han permitido. En algunos casos he adaptado la forma para poder crear este efecto.

Para el próximo concurso, invertiré más tiempo en la idea a ver si tengo más fortuna ;)

Ver imagen final en ArtCity.
Descargar imagen final: LSATUR.SC2

31 julio 2010

Concurso de gráficos en la RetroEuskal 2010

Este fin de semana pasado se celebró la Retroeuskal dentro de la party Euskal Encounters 18. Esta ofreció una serie de actividades relacionadas con el mundo de la ordenadores retro, donde se encontraban una serie de concursos de tipo demoscener, que por el volumen y calidad de los trabajos ha sido todo un éxito. Mis felicitaciones a la organización y a los ganadores!

Yo participé en el concurso de Gráficos 8 bits con la imagen "Lady Saturn" para MSX y quede en el octavo puesto :P
De todas formas estoy contento por haber participado y como me ha quedado la imagen, pero para la próxima vez, prometo dar más guerra!! :D

El resultado ha sido el siguiente:
  1. "Dark Apprehensions" - R0m (49) ZX-Spectrum
  2. "Frozen Girl" - Grass/Avatar (48) C64
  3. "Violet" - Flower (45) C64
  4. "Aliquis Acuario Ingens" - Almighty God (44) MSX
  5. "Carbonero" - thePope (43) ZX-Spectrum
  6. "Do not leave me alone" - Schafft (42) ZX-Spectrum
  7. sin título - Guantxip (41) MSX2
  8. "Lady Saturn" - aorante/303bcn (38) MSX
  9. "Vintage may prevail" - stage7/Genshiken (37) NES
  10. "Shuriken The Hedgedog" - Necropolo (31) C64
Más info en retroAccion

28 julio 2010

Pro-Toros

Hoy el Parlament catalán, ha aprobado la prohibición de las corridas de toros en Cataluña y quiero dar mi opinión al margen de cuestiones políticas o culturales.

El ser humano, tiene la tendencia a imponer su dominio sobre los más débiles. No sé, sí obedece a un sentimiento primario de supervivencia, pero es algo que ofrece un resultado más bien destructivo. Lo podemos ver en casos como el hombre con la mujer, profesionales con posiciones de poder, con empleados y por supuesto la humanidad con el resto de seres vivos (tanto animales como vegetales). Por suerte eso va cambiando poco a poco. Parece que vamos ganando la etiqueta de seres inteligentes a medida de que vamos demostrando conciencia de lo que provocamos con nuestros actos y empezamos a buscar soluciones a nuestros errores.

Es por eso que hoy teóricamente se ha dado un pequeño paso, hacia un mundo más justo. Ahora falta que abramos los ojos con respecto a la industria alimentaria, y se le de al menos una vida digna a los animales que forman parte de nuestra alimentación. Paradójicamente, se reconoce que los toros dedicados al mundo del toreo, si que tienen una vida digna. Habrá que ver que pasa con ellos si dejan de tener interés económico.

Personalmente, pienso que los toros, como otros animales autóctonos del territorio español, se merecen espacios protegidos donde poder desarrollar sus vidas conforme su naturaleza, de la misma forma que nosotros. Hasta que no se formalice y se respete, legalmente unos derechos pro seres vivos, nosotros seremos la primera amenaza contra toda la vida de este planeta, incluida la nuestra.

Nota: He resaltado algunas palabras que considero claves para poder analizar correctamente este tema.

22 julio 2010

El Juego de Ender

Ayer acabé de leerme "El Juego de Ender" de Orson Scott. Hace unos años que un compañero de trabajo (Robert), que le gusta la ciencia ficción, me recomendó este libro y aprovechando una oferta de una librería, acabé comprándomelo junto con "Hijos de la Mente" (el cuarto y último de la saga). Es un libro, con una historia que he encontrado bastante original, y muy bien desarrollada, ya que te engancha desde el principio. Esta describe el plan de los humanos para resolver un problema de supervivencia ante una especie muy diferente. Me ha gustado bastante, por que no es una historia de héroes, si no más bien oscura y dramática.

Me ha recordado a la novela Starship Troopers de Robert A. Heinlein, por la similitud que comparten en el tipo de enemigo (una colonia similar a los insectos), aunque la historia esta enfocada de forma muy diferente.

20 junio 2010

Resultado del Concurso de Gráficos 37RU de MSX

Este 19 de junio, se presentó en la 37RU de MSX de Barcelona, los resultados y la entrega de premios del concurso de gráficos organizado por la AAMSX y patrocinado por aorante/303bcn.

A pesar de que solo se presentaron 3 obras, se ha de destacar la calidad de estos, por lo que lo consideramos un exito.

Las imágenes se pudieron ver en el stand de 303bcn en un MSX2 y se mostraron con un proyector, durante la entrega de premios.


Resultado
Los valores se corresponden a la suma de los votos de los cuatro miembros del jurado (aorante/303bcn, neuroflip/303bcn, JamQue/TPM y Ramones/AAMSX), de los tres criterios (técnica de dibujo, técnica de color y arte) y el total sale de la suma de estos tres valores.

1º/ Conquista de Sacsayhuaman
Autor: Guantxip
Screen 5
Votos: 36, 32, 30 = 98 puntos


2º/ A las puertas del Infierno
Autor: Almighy God
Screen 5
Votos: 30, 29, 28 = 87 puntos


3º/ Una Escena Feliz
Autor: Jon Cortázar
Screen 2 + sprites
Votos: 27, 30, 28 = 85 puntos

11 junio 2010

RetroEuskal 2010


Ya se ha anunciado las bases de la 3ra competición demoscene de 8bits, dentro de las actividades de la RetroEuskal/Euskal encounter, que se celebrará en Julio de este año.
Hay disponibles 3 concursos : Intros de 4k, Gráficos y Música.
Mi intención es participar, dentro del grupo 303bcn, en el concurso de gráficos y si da tiempo con una intro de 4k, ambos para MSX.

11 mayo 2010

Salón del comic 2010

Ilustración de Manuel Bartual para la portada 
de un disco de Wicked Wanda

Suelo ir cada año al salón del comic, pero en este me lo he pasado muy bien, ya que me he encontré con muchos amigos (Dani, Monica, JuanMan, Ruth y Pepe), y más gente que conocí del mundo de los fanzines y los cortos de cine de terror.
Con relación al salón, este año habían bastantes exposiciones de las que yo destacaría la de "Spectrum" con ilustraciones de portadas de videojuegos realizadas por Azpiri y "Artistas de vinilo" donde se podían ver portadas de discos realizadas por ilustradores conocidos en el mundo del comic.
Otro aspecto divertido, era ver la gran cantidad de gente disfrazada de personajes del mundo del comic, cine y videojuegos. Algunos llevaban reproducciones de espadas y armas gigantescas.

02 mayo 2010

Asimo, el robot que aprende.



Siempre he admirado el robot Asimo de Honda, desde que empezó a caminar en sus primeras versiones, pero cuando vi este vídeo me quede bastante impresionado, por su comportamiento al identificar objetos. Esto es debido a que le introdujeron una nueva inteligencia artificial que le permite aprender. El resultado es asombroso, verlo moverse de una forma tan natural.

13 abril 2010

aorante Blog en Retroinvaders!

Ya formo parte de Retroinvaders!!!
Ahora podéis encontrar mis entradas relacionadas con el MSX, Amiga, PixeArt y las de mi otro blog del proyecto PSGed, en esta WEB, junto a las de una gran lista de blogs relacionados con la informática Retro.

06 abril 2010

Técnicas para pintar imágenes SC2 (2 de 2)

Hay un truco con el que podemos paliar la limitación de colores del screen2, consiguiendo un color más en determinadas zonas de la pantalla. Consiste en utilizar planos de figuras móviles (sprites). Esto es posible gracias a que toda la información de los sprites (gráfica y atributos), se encuentra en la memoria de vídeo (VRAM) y el formato SC2 consiste en un volcado de esta memoria.

Antes tenemos que tener en cuenta una serie de puntos:
  1. Solo podemos utilizar 32 sprites de 8x8 o 16x16 pixels y solo podrán situarse 4 en la misma línea, ya que el quinto se borraría o se mostraría parcialmente. 
  2. Para cada uno de ellos, solo podemos utilizar uno de los 16 colores de la paleta de los MSX.
  3. Tendremos que programar una aplicación para situar los sprites sobre la imagen, para luego guardar el fichero SC2.
En este tutorial, explicaré como desarrollar este efecto, utilizando un PC o MAC en combinación con un MSX (físico o emulado). También se puede hacer perfectamente utilizando aplicaciones nativas. Lo importante es conocer la idea y luego aplicarla con las aplicaciones que más nos gusten.

Dibujando los sprites
Empezaremos por dibujar lo que serán los sprites, sobre nuestra imagen. Para ello recomiendo utilizar un programa gráfico que disponga de capas, ya que nos ayudara a distinguirlos de la imagen principal. Utilizaremos una o más capas y en ellas dibujaremos la forma con el color que necesitemos.

Imagen normal, capa de sprites y combinación de ambas.

Una vez tengamos terminada la composición, necesitaremos tener por un lado la imagen de fondo en formato SC2 y los sprites en formato código Basic.

Obteniendo el fondo en SC2
Para obtener la imagen del fondo en SC2, utilizaremos el Screen Conversor de Jannone. Su manejo es sencillo:
  1. Cargamos nuestra imagen. 
  2. Seleccionamos la paleta de los MSX1, inhabilitamos la opción de "Error Diffusion" y pulsamos el botón "Convert".
  3. Guardamos la imagen SC2, utilizando la opción Save "all dump", y copiamos el código que muestra, a un editor de texto y lo guardamos con extensión ".BAS".


El editor de sprites
Para obtener los datos de los sprites, utilizaremos el TinySprite, también desarrollado por Jannone.

Pintaremos todos los sprites, añadiendo tantos "slots" como sprites necesitemos. Utilizaremos como referencia lo que hemos pintado desde nuestro software de dibujo. Cuando terminemos "Exportaremos" el resultado a Basic. Aconsejo cambiar el numero de linea inicial por uno más alto, para reservar unas líneas para añadir más código que necesitaremos. El resultado se nos mostrará cuando pulsemos el icono representado por una hoja con una rueda dentada. Lo seleccionaremos y lo copiaremos al programa Basic guardado en el punto anterior.



A Programar!
Sobre el programa que disponemos, tendremos que añadir unas lineas, para que se comporte como nosotros necesitamos. Incluyo los fuentes del que he utilizado para este tutorial, el cual os servirá para adaptarlo a vuestras creaciones. De todas formas os detallo algunos puntos para que entendáis su funcionamiento.

Primero añadiremos una línea que asigne el color negro al borde de la pantalla. Esto sera necesario para que la imagen se visualice correctamente ya que el conversor suele aplicar el negro como el color 0 (transparente), de la paleta del MSX.

1 color ,,1

Luego indicaremos el modo de pantalla con el tipo de sprites que vamos a utilizar (0=8x8; 1=8x8 ampliado; 2=16x16; 3=16x16 ampliado).

10 SCREEN 2,2

Quitaremos la linea "30 goto 30" y en su lugar añadiremos una que lance la función que añade los datos gráficos de los sprites en la memoria de vídeo.

30 GOSUB 10010

También sera necesario añadir como última linea de programa, la función de retorno:

10030 RETURN

El siguiente paso sera mostrar los sprites en la posición adecuada. Para ello utilizaremos la instrucción "PUT SPRITE". Antes necesitaremos saber la posición de cada sprite. Desde el programa de dibujo situaremos el cursor en la posición superior izquierda de cada bloque de 16x16 y apuntaremos las coordenadas (en Gimp se muestran a la izquierda de la barra de estado de la ventana principal). Deberemos utilizar la sentencia PUT SPRITE tantas veces como sprites tengamos. Funciona de la siguiente manera:

PUT SPRITE número de plano, (coordenada X, coordenada y), color, número de sprite

Ejemplo:

100 PUT SPRITE 0,(33,23),1,0

Después de esto, guardamos la pantalla (sprites incluidos), con la siguiente sentencia (Nota: el nombre de fichero ha de ser diferente al original, si queremos conservarlo):

180 BSAVE"BENDER_S.SC2",0,&H3FFF,S

Y para finalizar he colocado una línea que espera que pulsemos una tecla para salir:

190 IF INKEY$="" THEN 190
192 END

A continuación podéis ver todo el programa (también se encuentra en el DSK que se puede descargar al final del tutorial):

1 color ,,1
10 SCREEN 2,2
19 ' carga la imagen sin sprites
20 BLOAD"BENDERSX.SC2",S
30 GOSUB 10010
90 ' visualiza sprites
100 PUT SPRITE 0,(33,23),1,0
101 PUT SPRITE 1,(64,28),15,1
102 PUT SPRITE 2,(18,96),1,2
103 PUT SPRITE 3,(34,96),1,3
104 PUT SPRITE 4,(40,85),14,4
105 PUT SPRITE 5,(137,85),1,5
106 PUT SPRITE 6,(137,101),1,6
107 PUT SPRITE 7,(32,120),14,4
108 PUT SPRITE 8,(146,118),1,7
174 ' guarda la imagen con los sprites
180 BSAVE"BENDER_S.SC2",0,&H3FFF,S
184 ' espera una respuesta del teclado
190 IF INKEY$="" THEN 190
192 END
200 ' --- Slot 0
210 ' color 1
220 DATA &H00,&H00,&H05,&H0A,&H15,&H2A,&H54,&HA8
230 DATA &H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00
240 DATA &H15,&HA8,&H50,&H80,&H00,&H00,&H00,&H00
250 DATA &H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00
260 '
270 ' --- Slot 1
280 ' color 15
290 DATA &HC0,&H30,&H18,&H0C,&H0C,&H00,&H00,&H00
300 DATA &H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00
310 DATA &H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00
320 DATA &H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00
330 '
340 ' --- Slot 2
350 ' color 1
360 DATA &H00,&H00,&H00,&H03,&H0D,&H3A,&HD5,&H00
370 DATA &H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00
380 DATA &H0D,&H3A,&HD5,&HAA,&H55,&HAA,&H54,&H00
390 DATA &H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00
400 '
410 ' --- Slot 3
420 ' color 1
430 DATA &H50,&HA0,&H40,&H80,&H00,&H00,&H00,&H00
440 DATA &H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00
450 DATA &H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00
460 DATA &H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00
470 '
480 ' --- Slot 4
490 ' color 14
500 DATA &H80,&H00,&H00,&H00,&H00,&H00,&H00,&H00
510 DATA &H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00
520 DATA &H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00
530 DATA &H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00
540 '
550 ' --- Slot 5
560 ' color 1
570 DATA &H01,&H00,&H01,&H00,&H01,&H00,&H01,&H00
580 DATA &H01,&H00,&H01,&H00,&H01,&H00,&H01,&H02
590 DATA &H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00
600 DATA &H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00
610 '
620 ' --- Slot 6
630 ' color 1
640 DATA &H00,&H04,&H28,&H50,&HA8,&H50,&H20,&H00
650 DATA &H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00
660 DATA &H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00
670 DATA &H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00
680 ' --- Slot 7
690 ' color 1
700 DATA &H00,&H00,&H00,&H90,&H90,&H95,&H95,&H95
710 DATA &H92,&H90,&HA0,&HC1,&H00,&H00,&H00,&H00
720 DATA &H20,&H54,&H44,&H44,&H44,&H4C,&H54,&H64
730 DATA &HC4,&H44,&H54,&H48,&H80,&H00,&H00,&H00
740 DATA *
10000 REM -- LOAD SPRITES
10010 S=BASE(9)
10020 READ R$: IF R$="*" THEN RETURN ELSE VPOKE S,VAL(R$):S=S+1:GOTO 10020
10030 RETURN

Ahora tendremos que copiar los ficheros SC2 y el BAS, en un disco de MSX o en un fichero de disco (.DSK). Para este último caso, podemos usar la utilidad Disk-Manager de Lex Lechz (Windows).



Y para finalizar lo ejecutamos y ya tenemos nuestra imagen!!!
Nota: Es posible que alguna posición no nos concuerde. En ese caso, tendremos que modificarlas hasta que consigamos que se muestre todo correctamente.

Para ver nuestra imagen final, podemos usar el siguiente listado:

10 color 15,1,1
20 SCREEN 2,2
30 BLOAD"BENDER_S.SC2",S
40 IF INKEY$="" THEN 40
50 END

NOTA: No seria muy complicado hacer un programa para crear un efecto de animación, cambiando el número de sprite de un plano dado. Solo es cuestión de animarse! ;-)

Más información:

03 abril 2010

nst0002 play SID!

Después de mucho trabajo ya esta disponible la segunda versión de NST para ordenadores Amiga. Se trata de un musicdisk de una selección de los mejores SIDs de la escena actual de C64.
Este proyecto personal de mi amigo neuroflip, ha provocado que formásemos el grupo 303bcn. Detrás hay muchas horas de trabajo, pero ha sido una experiencia fabulosa, sobre todo de trabajo en equipo. Esta dirigido y programado por neuroflip y yo me he encargado de la parte gráfica. Lo bueno es que los dos hemos participado en ambas partes, siendo críticos y aportando ideas. Otro punto importante es que al no tener la presión de tener una fecha limite, hemos estado trabajando hasta conseguir el resultado que nos ha satisfecho.
Esperamos que os guste!


26 marzo 2010

Técnicas para pintar imágenes SC2 (1 de 2)


Los primeros procesadores gráficos utilizados en los ordenadores domésticos, son muy peculiaridades por lo que proporcionaban un estilo característico. En el caso concreto de los MSX, estas características nos dificultan la creación de imágenes, por esa razón he creado un tutorial dividido en dos partes, con algunas técnicas que espero que os ayuden en vuestras creaciones.

Nota: Las imágenes creadas para los ordenadores MSX, por sus características, entrarían dentro de lo que se denomina PixelArt. Es todo un reto, donde la paciencia, la imaginación y la técnica del autor son fundamentales para conseguir un buen resultado.

Sobre el modo Screen2

Los MSX de primera generación utilizan el vídeo procesador (VDP) Texas Instruments TMS9918, que también se utilizo en más ordenadores y consolas como por ejemplo la Colecovision y la Sega SG1000. Dispone de varios modos de pantalla, de los cuales, el que nos interesa es el modo gráfico 2, también llamado Screen 2. Este ofrece una resolución de 256 x 192 pixels, con una paleta de 16 colores, pero con la limitación de que solo podemos utilizar 2 colores en cada línea de 8 puntos (efecto que se denomina attribute clash). A modo de aclaración, la pantalla se dividiría en 32 columnas de 8 pixels de ancho.

Detalle de una sección de una imagen, con una rejilla de 8x1.
Podemos comprobar que solo se usan 2 colores por cada 8 pixels.

Colores

La paleta se compone de 16 vivos colores, aunque al ser fija nos encontraremos un poco limitados, (se echa a faltar un naranja y un gris oscuro). Proporciona tres tonos de los tres colores básicos (Rojo, Verde y Azul), más dos amarillos pálidos, además de un magenta,  negro, gris y blanco. Dispone de un color transparente, solo útil para hacer algún tipo de efecto, ya que replica el color definido para el borde. 

Encontrareis más información en el post: La Paleta del TMS9918.

Paleta del MSX.


Sprites

Dispone de 32 planos de sprites de 8x8 o 16x16 mono color, pensados para el desarrollo de juegos, pero como veremos en la segunda parte, también podremos utilizarlos en la creación de nuestras imágenes.

Manos a la obra

Ahora que conocemos las características del screen2, hablaremos de algunas técnicas para dibujar y sacar el máximo provecho a este modo de pantalla.

Para la creación de la imagen de este tutorial he utilizado Gimp.

El primer paso sería crear un boceto de nuestra idea. Podemos hacerlo en papel y luego pasarlo a nuestro programa gráfico favorito.

Ahora, dibujaremos sobre el boceto las formas de los diferentes componentes de nuestra imagen. Aconsejo que utilicemos la herramienta rejilla (Grid en ingles). Para el caso del ejemplo, me he ayudado utilizando herramientas para crear formas básicas como rectángulos y círculos.

Dibujo de las formas básicas.

En la siguiente fase empezaremos a darle detalle a nuestro dibujo. Si usamos un programa no especializado para el modo gráfico de MSX, tendremos que tener cuidado de no superar los 2 colores por 8 puntos. Para esta labor más precisa, es recomendable trabajar con zoom al máximo. Puede servirnos de ayuda, utilizar una rejilla de 8x1 pixels si el editor nos lo permite. También podemos variar la forma para adaptarlas a la cuadricula y evitar el efecto attribute clash.

Dando detalle a la imagen.

Para finalizar, podremos mejorar nuestra imagen, proporcionándole volumen y textura. Para ello podéis utilizar las técnicas que os doy en los siguientes puntos.

Técnica 1. Tramados

La técnica de tramado o Dithering, se basa en alternar puntos de diferentes colores. Pueden seguir un patrón o ser totalmente aleatorios. Nos ofrecen una forma de simular más colores de los que disponemos y nos serán útiles para crear degradados o sombras.

Podemos crear una gran variedad de tramados, pero yo voy a comentar los más básicos que serian tipo 2x2 pixels.

El primero se basaría en cruzar los puntos, obteniendo como una mezcla de los 2 colores usados.

10
01
Tramado cruzado aplicado a tres tonos de verde.

Tabla de combinación de colores con el tramado cruzado .

El siguiente tramado consiste en utilizar un punto rodeado por otros del segundo color. Con este tramado se obtiene una transición más suave con predominio del color de fondo:

10
00
Tramado de punto aplicado a tres tonos de verde.

Los tramados los podemos aplicar combinados y con la forma que queramos, para conseguir el efecto deseado.

Tramado combinado con dos tonos de verde.


Técnica 2. Lineas horizontales

Se trata de otro tipo de tramado, muy utilizado en imágenes de MSX. Consiste en dibujar lineas horizontales de diferentes colores. Se puede utilizar tanto para degradados verticales, como para crear un efecto de tono diferente alternando con dos colores. También se puede utilizar en logos para darles un efecto de relieve utilizando lineas de colores claros para crear un brillo y oscuras como sombra.

Aquí podemos ver el efecto de las lineas horizontales aplicado en 
la pantalla principal del juego Crusader (Ponyca). Se utiliza en 
el logo para recrear un efecto de atardecer en el paisaje. 


Podemos encontrar más ejemplos donde se aplica este efecto, en los fondos de Yie Ar Kung Fu 2 (Konami), en el logo del Salamander (Konami), y en los logos del Dunk Shot y Hole in One (HAL).

Yie Ar Kung Fu 2 (Konami) Salamander (Konami)
Dunk Shot (HAL) Hole in One Pro (HAL)


Y le aplicamos el tramado

Y continuando con la imagen del tutorial, le he aplicado algunos de los tramados utilizando la primera técnica y de paso le he añadido algunos detalles más que se me han ocurrido...

Aquí podemos ver el resultado de aplicarle tramados a nuestro dibujo.

Conclusiones

Con lo explicado, ya puedes empezar a dibujar tus propias imágenes, pero aún así, nos queda un recurso, que explicaré en la segunda parte del artículo.

Más información:

18 marzo 2010

Concurso de gráficos en la 37RU!


Ya es oficial! Ayer se publicaron en la WEB de la AAMSX las bases del concurso de gráficos que organizo conjunto a esta asociación. Después de ir durante bastantes años como visitante a las RUs, en las dos últimas reuniones participé en el stand de la plataforma invitada y este año me he animado a probar con patrocinar y organizar un concurso de gráficos. Dependiendo del resultado de este, determinará la posibilidad de organizar más concursos en próximas RUs, tipo demoscene (demos, música y gráficos), así que espero que os animéis y participéis. Para ello, vamos a dar el máximo de facilidades y personalmente estoy publicando en este blog y en la WEB del club-sprite, una serie de tutoriales para aquellos que lo necesitéis. Estar atentos por que en breve publicaré más. Así que no tenéis escusa! Con una buena idea, un poco de habilidad y algo de paciencia, podéis hacer un gráfico bien chulo y demostrar que en la plataforma MSX también hay buenos Artistas!  ;D>

Artículos publicados:

Pintando imágenes MSX Screen 2 con GIMP

Si queremos dibujar una imagen para MSX en el modo gráfico Screen 2, una solución muy accesible es el software libre Gimp. Yo he utilizado la versión 2.6.8 para Windows. Como Photoshop Elements, no contiene herramientas tipo Paint. Aun así, es una buena opción para crear nuestros gráficos.
Si no tenemos instalada la aplicación podemos descargarla de la WEB oficial de Gimp (http://www.gimp.org/), donde la encontraremos disponible para Windows, MacOS bajo el entorno X11 y Linux.

Una vez que tengamos abierto el programa, lo primero que haremos es crear una nueva imagen y para ello nos iremos al menú "Archivo" de la ventana principal y accionaremos la opción "Nuevo". Podemos acceder más rápidamente pulsando [CTRL]+[N]. Se nos mostrará una ventana donde nos pedirá el tamaño de la imagen y que le daremos 256 de anchura y 192 de altura. 


NOTA: Si vamos a utilizar a menudo Gimp para dibujar en este formato, podemos crear una plantilla desde "Archivo>Guardar como plantilla". Cuando empecemos una imagen, solo tendremos que indicar nuestra plantilla, desde el selector que se encuentra en la parte superior de la ventana para crear una nueva imagen.

El siguiente paso, será indicarle la cantidad de colores y la paleta que usaremos. Para nuestro caso necesitaremos que sea de tipo indexado de 16 colores con la paleta del VDP de los MSX. Para ello, necesitaremos disponer de la paleta. Podemos crearla nosotros desde "Ventanas>Diálogos empotrables>Paletas", pero para simplificaros la tarea he creado dos que podéis descargar desde este artículo. Una es la paleta que utilizan los emuladores blueMSX/OpenMSX (+info MSX Org) y la otra es la del MSX Screen Conversor de Jannone, útil para cuando utilicemos esta aplicación.

Para cargarla, antes recomiendo los siguientes pasos para cambiar la configuración de la ventana de diálogos empotrables (la que por defecto se muestra a la derecha). Primero añadiremos una nueva solapa con el gestor de paletas. Hay dos formas, abrirla desde el menú "Ventanas>Diálogos empotrables>Paletas" y arrastrándola directamente a la zona inferior de la ventana. La segunda opción sera pulsando ese pequeño botón con una flecha apuntando a la izquierda, situado en la parte superior derecha donde se encuentran las solapas. Se nos mostrará un menú y seleccionaremos la opción añadir solapa, donde encontraremos una llamada "Paleta". 


Una vez la tengamos insertada, pulsaremos de nuevo el pequeño botón, para acceder a la primera opción "Menú de paletas" y desde este seleccionaremos la opción "Importar paleta...". Luego utilizaremos la opción "Archivo de la paleta", para cargar la paleta.


Ahora que ya tenemos la paleta, ya podemos indicar el tipo de imagen. Seleccionaremos "Imagen>Modo>Indexado". Se nos mostrará una ventana, Donde activaremos la opción "Usar paleta personal" y pulsaremos en el botón que hay en la linea inmediata, para seleccionar la paleta.
Importante: Inhabilitaremos el control que indica "Eliminar los colores sin usar de la paleta final" ya que de lo contrario, nos sera imposible pintar en la pantalla.


El siguiente paso será poder acceder a nuestra paleta de colores y para ello, tendremos que añadir una solapa con el editor de paleta. Esto se consigue situándonos con el cursor encima de nuestra paleta y con el botón derecho abriremos el menú contextual donde pulsaremos sobre la opción de "Editar paleta". Se nos abrirá una ventana, con nuestros colores, que aconsejo incrustar junto a la solapa del selector de paletas.


NOTA: Las modificaciones de la interfaz de usuario de Gimp, se mantienen al iniciar una nueva sesión, por lo que no deberemos repetir estos pasos de configuración, a excepción de la paleta, que se cambia por la "default".

Para ayudarnos a respetar las características del modo de pantalla del Screen2 (2 colores cada 8 pixels), nos ayudaremos utilizando la rejilla. Antes de activarla, modificaremos su configuración mediante la opción "Imagen>Configurar la rejilla". Se nos mostrará una ventana donde cambiaremos los valores de "Espaciado", primeramente pulsando el icono de cadena, para inhabilitar la proporción, para luego indicar en la "Anchura" 8 y en "Altura" 1. Ahora toca activarla. Nos iremos al menú "Ver" y activaremos la opción "Mostrar Rejilla".


Para poder ver correctamente la rejilla, tendremos que trabajar visualizando la imagen con un mínimo de un 400%. Esto se ajusta desde "Ver>Ampliación", o en el marco inferior de la ventana principal. Otra forma de trabajar será utilizando una rejilla de 8x8.


Ahora ya podemos dibujar. Una vez terminado y guardado el fichero, podemos usar la aplicación WEB MSX Screen Conversor de Jannone para conseguir un binario en SC2.

20 febrero 2010

"An Ending" de Brian Eno

Hoy me he quedado maravillado escuchando este tema de Brian Eno. Me parece un ejemplo perfecto que muestra que las cosas más simples llegan mejor a las personas.



Vínculo de "An Ending (Ascent)" en Spotify.

07 febrero 2010

Proyecto MSX PSGed

Ultimamente me he puesto en serio con un proyecto que empecé a bocetar el año pasado. Es un editor de los registros del PSG de los MSX. No es una aplicación muy útil en si, aunque el objetivo principal es adquirir experiencia en la programación en SDCC (Small Device C Compiler) y Assembler para MSX, para más tarde abordar un proyecto mucho más interesante, que es un Tracker para el modulo SG-01/05 de Yamaha (YM2151), para ordenadores MSX.
De momento tengo bastante avanzado el tema del diseño de la interfaz gráfica y acabo de empezar con el aspecto técnico, donde tengo que agradecer a la ayuda que estoy obteniendo de los usuarios del foro de Karoshi y más gente que desinteresadamente ofrece información para esta plataforma.
Con la intención de compartir la experiencia y ofrecer la posibilidad de participar, he creado un blog donde informo de todos los pasos del desarrollo.

01 febrero 2010

Club Sprite Second Stage

Ayer pude asistir al segundo "stage" del Club Sprite y me pude mezclar con más frikis de los pixels sin sentirme extraño ;D>
Me lo pase muy bien, conocí gente, y además vi una genuina NES japonesa.
En el rato que estuve, pudimos buscar las cosquillas a las versiones de MSX y NES, de los juegos Salamander y the Maze of Galious.