Páginas

01 marzo 2014

SpriteSX ED v0.9b

Después de más de un año que empecé a desarrollar esta aplicación, por fin, ya esta disponible su primera versión.

Esta pensado para el desarrollo gráfico de figuras móviles (sprites), para proyectos en MSX u otras plataformas que utilicen los procesadores de vídeo TMS9918 o V9938.

Aun le falta trabajar algunos aspectos para que sea una herramienta realmente útil, pero poco a poco se irán desarrollando nuevas funcionalidades.


Las características son:

  • Asistente (wizard), para crear un nuevo proyecto. 
  • Los proyecto pueden ser de diferentes tipos de sprites: 8x8 o 16x16, mono o multicolor.
  • Leer, Fusionar y Guardar proyectos, incluyendo la paleta de colores. 
  • Posibilidad de conversión de un proyecto almacenado, al formato en curso. 
  • Herramientas para eliminar, mover, rotar y voltear un sprite. 
  • Edición del color por línea y del bit OR, en modo multicolor (V9938). 
  • Control de la lista de sprites con herramientas de orden, copiar y borrar. 
  • Hasta 256 sprites de 8x8 y 64 de 16x16, por proyecto. 
  • Herramienta para la edición de la paleta de colores (V9938). Permite leer o guardar la paleta de forma independiente. 
  • Ventana de generación de código que proporciona una salida con formato ensamblador, C o BASIC, en decimal o hexadecimal.

Esta programado en .net por lo que necesitareis un ordenador con framework 3.0 o superior.

Podéis descargarlo o consultar más información, en la WEB del proyecto de spriteSXED.

26 febrero 2014

BytesGen! v0.7.2.0b

Acabo de publicar una nueva versión de esta herramienta pensada como complemento en el desarrollo-cruzado.

Incorpora los siguientes cambios:
  • Para la salida en BASIC, el incremento por defecto ahora es 10 (antes= 15).
  • Drag&Drop de un fichero de sistema a la entrada de fichero (en Binary file).
  • Añadidos nuevos formatos de salida de datos (FF, 0xFF, 0FFh, FF#, FF$, y &HFF).
  • La salida se limpia al cambiar de pestaña.
  • Añadido botón de borrado de la salida.
  • Cambios estéticos en la interfaz gráfica.
Podéis descargarla (incluido los fuentes), desde la WEB del proyecto: BytesGen!




15 febrero 2014

Librería de funciones para el TMS9918 (C)

TMS9918A 01

Esta semana he publicado dos librerías de funciones (tipo object), para el desarrollo de aplicaciones con el compilador SDCC. Una es para un acceso básico al VDP TMS9918 (inicio de modo, escribir/leer un byte, escribir/leer un bloque, Fill y setVDP) y otra para manejo de sprites (setSize, setZoom, putSprite, setPattern, setColor, setPosition y setVisible).

A su vez, hay dos versiones: una muy ligera con acceso a BIOS para desarrollo de ROMs y otra con las funciones programadas para desarrollo de aplicaciones MSXDOS, compatible con V9938 y V9958. Esta última estaba pensada para portar a colecovision, SG1000, etc., pero al añadir la compatibilidad con generaciones superiores de MSX, ya no es posible, por lo que haré una tercera versión de las librerías con este fin.

Cada paquete incluye los fuentes, los object (.REL), junto con sus headers y documentación. También he añadido una aplicación con sus fuentes, que he utilizado para test pero que puede ser útil para el aprendizaje.

04 enero 2014

mirando al 2014

Los cambios de año son un buen momento para dedicar un tiempo a mirar atrás y hacer un poco de auto-critica, para ver como mejorar en la próxima etapa.

Observando mi lista de proyectos, veo que no he cerrado ninguno y por lo contrario, ha crecido. Una de las razones, es debido a que soy muy despistado y me entretengo con otros temas y otra es que le he dado prioridad a mis colaboraciones con la AAMSX, a la cual he dedicado bastante tiempo este año. De todas formas, algunos de ellos están bastante evolucionados y si me enfoco en ellos en breve podrían ver la luz y podré compartirlos. Estos son aplicaciones de desarrollo cruzado, para ordenadores MSX (o similares), como el SDCC MSX devTool (GUI para el SDCC), msx-tiles-tools y spriteSX. Además, estas me servirán para ayudarme para mi participación en la msxdev'14 y quien sabe, quizás a otros participantes. Máxima prioridad para estas tools! ;)

También tengo varias librerías C (SDCC), para acceso al hardware de MSX (gráficos, sonido y msxdos1) y la adaptación del player de WYZ. Espero publicarlas en breve.

Tengo bastante ganas de ponerme con el GrooveSX Live y un tracker (para MSX), como evolución del PSGed, pero de momento queda parado hasta el segundo semestre. La idea es crear herramientas para crear y DJing con MSX utilizando los chips AY y SCC.


Otro tema que me gustaría mucho, es participar en algún evento demoscene con una demo para MSX. A ver si me entero de algún evento donde pueda participar.

Otro de mis proyectos es el software amiVJing, para ordenadores Amiga, que empieza a ser funcional, pero al que le he de añadir un editor de proyectos o al menos un fichero en texto para poder asignar los contenidos sin tener que tocar el código y compilar. Del tema VJing tengo pendiente sacar la versión 1 del veejingSX, tanto para MSX1 como MSX2.

Además de las tools y libs, este primer semestre lo dedicaré al juego 4e para MSX. Estoy pensando en relatar en este blog, los pasos del desarrollo de esta aventura. Aunque me robe tiempo, puede ayudar a motivarme y animar a otras personas a meterse en el mundo del desarrollo de videojuegos.

No se como se desarrollará este año, pero veamos que pasa..
El juego acaba de empezar! :D

Project List:

31 diciembre 2013

MSX 2013 Christmastro (303bcn)

Esta simple Christmastro (Christmas + intro), tiene su historia, que voy a contar de forma resumida.

Empezó en el 2004 cuando comencé a dibujar un Papa Noel en formato MSX SC2 para utilizarlo como felicitación navideña. No pude acabarla y quedo parado hasta el 2008 donde pude terminarla.



En el 2011 quise hacer una intro utilizando la imagen. Le quite la nieve para sustituirla por una animación de sprites y la mejoré un poco. También programé una rutina en assembler de scroll (al pixel), que utilicé posteriormente en las invitros de las RUs. Entre que tenia algunos bugs y me faltaba la música, se me echo el tiempo encima y la tuve que aparcar.

En el 2012 me olvide de ella y este año la retomé después de la RU. Mejoré el código con todo lo aprendido en estos 2 años, y neuroflip aporto su música realizada con el tracker AHX de Amiga, utilizando instrumentos reproducibles en WYZplayer. La pasé utilizando WYZtracker, la añadí al proyecto, desarrollado con SDCC y aquí esta:



Nota: Fuera de las opiniones que tenga cada uno de las ideologías que puedan haber detrás de esta tradición, solo hay el deseo de que podamos hacer una tregua a los problemas de la vida y ser felices con nuestros familiares y amigos.

Merry Christmas · Feliz Navidad · Bon Nadal! :-D

Ficha técnica:

  • MSX 2013 CHRISTMASTRO (303bcn)
  • Programación & gráficos:  mvac7 
  • Música: Snow White Cold by neuroflip
  • Music player: WYZPROPLAYER by Iggy Rock 
  • Fichero: SNOW2013.ROM (MSX ROM 32k)
  • Herramientas de desarrollo: Photoshop Elements 2, SDCC, PSPad, nMSXtiles, AHX, WYZtracker y BlueMSX.

21 octubre 2013

ideas disparatadas

"La principal regla del método es aplazar el juicio, ya que en un principio toda idea es válida y ninguna debe ser rechazada. Habitualmente, en una reunión para la resolución de problemas, muchas ideas tal vez aprovechables mueren precozmente ante una observación "juiciosa" sobre su inutilidad o carácter disparatado. De ese modo se impide que las ideas generen, por analogía, más ideas, y además se inhibe la creatividad de los participantes."

18 junio 2013

amiVJing v0.8b


El sábado 8 de Junio, 303bcn participo en el Festival de Música Electrónica ArteNou(2) con una fantástica sesión de chiptune de neuroflip con AHX, donde utilizamos 3 ordenadores Amiga 1200: 2 para música y uno para las visuales.

A la nueva versión del soft de vjing le he dado un buen empujón. En la anterior (0.7b), incorporé el sistema de multicarga de contenidos, que permite cambiar los gráficos para ajustarlos a la temática de cada canción y  la nueva incorpora el estado inicial para después de la carga (primer plano, fondo y sprites) y la animación de sprites multidireccional (hasta ahora solo tenia una única dirección :P ), entre otras cosas.


Quizás el cambio más importante, es que ha pasado de un dual-playfield de 8+8 colores a uno de 16+16 colores (8 bitplanos), aunque con algunos problemas. El caso es que para poder trabajar en este modo con 7 sprites (para poder usar 8 me encontraba con el mismo problema), el AGA no tiene suficiente potencia y se pierden sprites. Para solucionarlo he tenido que recortar 32 pixels el tamaño horizontal, quedando la pantalla en 288x256 desplazada 32 puntos a la derecha, pero ahora puedo visualizar 8 sprites. Aun con la perdida de resolución, la mejora gráfica es considerable.


A nivel de efectos, he incorporado al primer plano, un FX de distorsión ondulatoria y al fondo dos efectos de ciclo de paleta para crear en las imágenes efecto de animación. Uno afecta a todos los colores menos el primero y el segundo solo afecta al último color.

La sesión musical se componía de 12 canciones, por lo que preparé con ayuda de God/Ozone, los sets gráficos, formado por más de 100 imágenes!! Para agilizar la carga, copie todo a la RAM, pero aun así se pierden unos 4 segundos en el proceso.


Aunque aún le falta disponer de más efectos, incluir diferentes estados para tener más control de la visualización de los contenidos (ya hay una parte implementada) y optimizar el código, en esta última versión he notado que puedo interpretar una sesión más a gusto sin mostrar contenidos repetitivos.

Cuando tenga bien definido el funcionamiento podré pasar a la penúltima fase: el desarrollo de una aplicación de escritorio para generar un proyecto y definir sus contenidos y estados.

Aprovecho para agradecer a Zener y 007, por su ayuda para resolver problemas técnicos y a God por sus ideas y la creación de contenidos.