Mostrando entradas con la etiqueta syx. Mostrar todas las entradas
Mostrando entradas con la etiqueta syx. Mostrar todas las entradas

viernes, 29 de julio de 2011

Conteniendo la respiración... ¡Madura!

Pues nada... Con el tiempo uno aprende a contenerse cuando continuamente le dan por detrás... Siempre me he caracterizado por no callarme cuando algo no me ha parecido correcto y he intentado defender "mi verdad" (que no es ni mejor que la tuya, pero es la mía). Gracias a mi actitud, multitud de personas seguramente desean verme fuera de juego.

Uno no es de piedra...
Pero con el tiempo vas aprendiendo
Sin embargo, hoy he hecho algo que no suelo hacer... He opinado y he reaccionado ante cierto comentario irónico de Syx en el foro de Amstrad (concretamente aquí  http://www.amstrad.es/forum/viewtopic.php?p=36832#p36832). La diferencia es que, en esta ocasión, he recapacitado y he retirado mi post del lugar... ¿Por qué? Hace tiempo que no tengo la capacidad de expresarme libremente en determinados foros y sobre determinadas actuaciones y comentarios, pues siempre es motivo de ataque personal hacia mi persona. En los tiempos transcurridos, he visto como en meses, Syx y su cara de niño bueno han conseguido (creando una curiosa dependencia en los demás que yo mismo estoy sufriendo) que muchos de sus nuevos compañeros de clase opten por literalmente ignorarme en público (por supuesto, libremente y sin influencia alguna... Todo perfectamente orquestado) después de años participando en el foro (y es que los nuevos pegan fuerte).

Por supuesto, si todos ellos supiesen o leyesen lo que yo sé o he leído de manos de Syx (conversaciones que guardo con celo hoy en día, visto lo visto y por lo que puediera o pudiese ser) refiriéndose a muchos de sus nuevos compis, la cosa cambiaría, y mucho. Pero como no es el caso, le dejaremos que siga disfrutando de su momento dulce esperando que algún otro (que no sea yo) descubra a este gran actor en el papel de su vida. Lo que no voy a permitir es que me busque las cosquillas gratuitamente.

Responderle en el que ahora es "su terreno" lo convertiría en un nuevo ataque hacia mi persona por gente que no ha vivido la situación (entre ambos) y en un juicio popular sin sentido y en mi contra, por supuesto. Hay que tener cuidado con "las vacas sagradas" (ostras, esta expresión es de Syx, a quién se estaría refiriendo en su día?) de la escena (sobretodo las recién llegadas). Por lo tanto, he decidido reproducir aquí mi contestación, pues este es mi blog y aquí hago lo que me sale de las "mismas" y opino lo que me da la gana, dejando tranquilo el foro, por lo que pueda ser. Si señores, aquí no existe la democracia, lo siento: "el blog es mío y lo rompo si quiero".

Al inicio de esta entrada tenéis una captura de mi post (que luego he eliminado a los pocos minutos tras reflexionar profundamente) y el texto completo de mi réplica... Es la contestación de un tipo (yo) sin "motivación ni ilusión" por la escena Retro (por eso formo parte de la junta directiva de RetroMallorca entre otras cosas), que jamás se ha movido ni ha hecho nada útil por la escena Retro (hoy en día sólo vale saber programar en ensamblador, está claro, los demás somos una simple ilusión supeditada a estos personajes y sus decisiones trascendentales)... Hay que tenerlos muy gordos Syx para decir lo que dices... En fin, que disfrutéis tanto como yo de la naturaleza humana y la hipocresía de libre consumo. ¡Es gratis!

P.D.: Pronto recompondré mis pensamientos y habilidades y volveremos a la carga con contenidos más fructíferos... Y si alguno de vosotros sabe programar en ensamblador y le apetece terminal Uwol, ¡ADELANTE! Aquí estoy con todo el material preparado esperando un dueño digno. Saludetes.
___________________________________________________________________________

syx escribió:PD: Estas cosas son las que suceden cuando se trabaja con gente altamente motivada e ilusionada 
DaDMaN contesta: 
Lo que no tienes es ningún tipo de vergüenza. Haber hecho lo que has hecho no tiene nombre, pero encima venir con recochineo público confirma lo que me he resistido a ver por el cariño que te tengo.
Me muerdo la lengua y callo cada vez que "la sueltas" en público por ser para mí quien eres, tengo que buscar programadores fuera para terminar todo lo que has dejado aparcado y sin terminar dejándome completamente tirado, te meto en mi casa y no contento con ignorarme por completo después de haberte metido por completo en mi vida y en la de mi familia ahora encima cachondeo público, joderme gratuitamente, ¿por qué? ¿Por haber puesto ilusión con Uwol y otros tantos y pedirte "constancia" semanalmente para terminar "algo"? ¿Por cargarte mi ilusión y mi motivación? ¿Tengo que tirar de historial? Porque o yo me estoy volviendo completamente loco o has hecho el papelazo de tu vida conmigo... En fin, todo extremadamente clarito. Tan claro como que encima de la humillación pública a sabiendas del aprecio que te tengo y el daño que me estás ocasionando, no pienso permitir que te sigas regocijando en mi dolor, y menos públicamente, pues no tienes lo que hay que tener para hablar en privado ni conmigo, ni con Laura (sí, mi mujer me ha contado como la has ignorado a ella también, tras contarle "historias para no dormir" que a mí jamás me has contado). Papelazo machote, de Oscar.
Para todos los demás y administradores varios: salto porque salto y mis enormes motivos tengo (algo que este señor no tiene pues me ha tomado el pelo durante años, está claro... Y todo lo que me callo). No se lo digo en privado, ni por correo, porque simplemente unilateralmente decidió no hablarme, ni leerme, ni contestarme (ni a mí ni a mi mujer, que nada tiene que ver con todo esto e intentó encontrarle cierto sentido al asunto para solucionarlo). Por lo tanto, la función de este post es que el señor Mauricio lo lea y por supuesto, puede ser inmediatamente borrado pues no tiene "nada" que ver con este hilo y no es cuestión de ensuciarlo, sobre un proyecto que sinceramente me parece fantástico y no queda más que dar la enhorabuena a sus autores.
Sólo espero Mauricio, que seas al menos suficientemente hombre para aceptar tus actos y tus palabras tal cual han sido, tarde o temprano... La ventaja de haber soltado siempre lo que he pensado de todo el mundo sin "cortarme" es que muchos me odian y nadie se sorprende con cualquier ida de pinza que yo pueda protagonizar, pero lo que tal vez no se esperan son las tuyas. No pongo buena cara para que todo el mundo me quiera mientras por detrás voy malmetiendo. Así que veremos si te queda algo de conciencia inalterable o se confirma tu papel y empiezas a "inventar"...
Si me quieres ignorar, hazlo, pero indirectas y coñitas las justas. Y si ahora vas y me vienes con que no soy el centro del mundo y que no iba por mí, bla... bla... bla..., excusándote... no te lo crees ni tú (nos conocemos de sobra).
Pido que si alguien quiere opinar sobre el tema, no lo haga en este hilo, me lo haga saber por privado. Repito que espero que este post se borre lo antes posible tras la requerida lectura del protagonista y que no se ensucie este hilo. Prometo contestar a todo el que quiera en privado (no como otros). Syx, por supuesto, si no tienes lo que hay que tener para contestarme los correos y los privados, tampoco tiene mucho sentido que lo hagas en público... A no ser que pretendas lo que yo creo que pretendes (y que se está confirmando). Por supuesto, si decides hablar en privado y "comunicarte", yo a ti no te he vetado (idiota que es uno).
Repito que siento esta entrada, pero si alguno de vosotros tiene y ha sentido lo que ha considerado una bonita y verdadera amistad con alguien y en menos de un minuto han sentido como la otra parte jode esa amistad y la tira a la basura, entenderá mi reacción ante la evasiva de usar el único cartucho que queda para intentar entender algo, aún en público, pues es el único modo de que este señor "me lea" (y todos vosotros, aunque no era la intención, y por eso callo muchas cosas que no conviene exponer públicamente por el bien de todos).
Un abrazo a todos y enhorabuena al creador por la nueva iniciativa. Un emulador en HTML5 es un gran avance para llegar al máximo público posible en cualquier sistema y más cuando la estandarización del HTML5 es un paso natural.
Saludos.
P.D.: Yo tenía mucha ilusión y dedicación. No dormía por avanzar proyectos y estaba muy pendiente de ti y de nuestros asuntos... Lo que pasa es que claro, yo ya no era la novedad y la excusa del "tiempo" te venía que ni pintada figura. Esperemos que pueda encontrar a otro programador para retomar (o empezar desde 0, pues no me has pasado los fuentes) el UWOL, después de rehacer todos los gráficos, músicas... Por usarlos, vamos, visto que a ti no te apetece. Sólo espero que esta vez, no se te crucen los cables y dejes tirados a "tus nuevos compañeros" cuando la novedad ya no sea "tan nueva", llevándotelo todo contigo, sentimientos incluidos.

miércoles, 26 de enero de 2011

Emulando el BEEPER del Spectrum 48K con el puerto de cinta del Amstrad CPC

No, no me he vuelto loco. Así es, tal cual lo habéis leído. Pero antes pongámonos en situación.

Spectrum 16K / 48K (el "gomas")
Como muchos sabréis, el ZX Spectrum en sus primeras versiones generaba sonido usando un pequeño altavoz interno (un buzzer) como única arma. Cuantísimas risas nos hemos echado los cepeceros en la época, comparando las músicas y el sonido de nuestro flamante Amstrad CPC y su AY8912, con los pitiditos "cutres" del ZX Spectrum 48K (el famoso "gomas") del vecino / compañero de clase.

Ciertamente, los pobres usuarios de los primeros Spectrum (aquellos que no poseían nuestro querido AY) tenían todas las de perder. Su sistema de generación de sonido es bien simple: enviar 1 para que el cacharro pite o enviar un 0 para que deje de pitar, sin más. Digamos que únicamente genera sonido usando 1 bit, lo cual no deja demasiado margen de actuación... Sin embargo, visionarios como el señor Joffa cayeron en la cuenta de que enviando unos y ceros (1010101010101...) a gran velocidad a ese primitivo altavoz, se podría simular tener varios canales de sonido a distintas frecuencias en ese diminuto buzzer. Por supuesto, ese envío masivo de bits a gran velocidad se realiza tirando de procesador, así que el pobre Z80 del Spectrum va un poquito pasado de vueltas. Por ese motivo, los juegos de 48K tenían música multicanal en los menús, pantallas de Game Over y poco más, donde podías dedicar la mayoría del tiempo de procesador en generar sonido y lo restante en mostrarnos el menú y esperar alguna pulsación de teclas.

Placa Base del Spectrum 48.
Abajo a la derecha, el zumbador de marras, alias
"LOUD SPEAKER"
Y los años pasan, señores... Y las tecnologías mejoran... Y la inventiva y el ingenio también. Hoy en día, para Spectrum 48 y su beeper existen verdaderas obras de arte sonoras multicanal. Existen varios motores de sonido (el más moderno y potente, el Phazer 1, con baterías sampleadas), que permiten tener 2 canales de sonido y uno de percusión, por ejemplo. También tenemos trackers para generar esas melodías, como el Beepola, donde se pueden generar composiciones con todos esos "motores".

El resultado, ciertamente es increíble (teniendo en cuenta que hablamos de un simple beeper conectado al Z80, sin más).

El PPI 8255 encargado de controlar el puerto de cintas,
el puerto de impresora y el propio AY del
Amstrad CPC
Pues bien, teniendo esto claro, al chalado de Syx y a mí se nos ocurrió que, el chip PPI 8255 del Amstrad CPC, encargado entre otras cosas de generar "los pitiditos" de carga en las cintas, pues... vaya, que funcionaba igual que el beeper del Spectrum. Es tan simple como que los pulsos (los soniditos de carga) de una cinta no son más que secuencias de unos y ceros (11101010101010...) a distintas frecuencias (esto a grandes rasgos). Pues nada hombre, vamos a emular el beeper del Spectrum usando el PPI 8255 del Amstrad, adaptando el motor de sonido Phazer 1 usado en Spectrum y a ver qué pasa.

El resultado lo tenéis justo debajo de esta línea (dadle al PLAY y me comentáis qué tal):



Eso es, señores, nada más y nada menos, que una grabación hecha en el portátil resultado de conectar el cable de cinta al Line In del portátil. Si no lo recordáis, el cable tenía 3 cables, uno azul (el de entrada), otro rojo (para grabar nuestros programillas en una cinta) y uno blanco más pequeño que era el control remoto, encargado de encender y parar el motor del cassette. Pues bien, el cable rojo (REC) conectado al portátil. El resultado es el que habéis escuchado.

El tracker Beepola, con el que podemos componer
musicones para el beeper del Spectrum
Y repito, aquí no ha participado el chip de sonido del CPC en absoluto (el AY). Es sonido de 1 bit puro y duro, directo del puerto de cintas del Amstrad a nuestros oídos.

Observaréis que se oyen algunos defectillos en la reproducción, pero el culpable es el compresor de MP3 (el WAV original se oye perfecto)...

Resumiendo: una chorrada como un piano, pero a mí me mola y... bueno... si sumamos los 3 canales de sonido del PPI a los 3 canales del AY... pues... tenemos 6 canales de sonido, por si alguien se anima.

En fin, que lo paséis bien y hasta la próxima chorrada tecnológica.

¡Saludos!

lunes, 20 de diciembre de 2010

Uwol Amstrad CPC - Game engine preview VIDEO

Hace ya varios días que no doy señales de vida (demasiados). Tengo poquito tiempo últimamente, y el poco tiempo disponible lo dedico a lo que os dejo a continuación...

Lo prometido es deuda y más vale tarde que nunca (o eso dicen). Vamos lentos pero seguros, así que ya tenemos un primer vídeo para que podáis ver en movimiento lo que será el engine de Uwol para nuestro Amstrad CPC (128K).

Vais a ver sprites y tiles morrocotudamente grandes (comparado con otras versiones), una zona de juego generosa y mucho, mucho, ¡mucho! movimiento (enemigos, monedas...). Exprimiendo el hardware del CPC y el Z80 al máximo y optimizando, que es gerundio.

Lo siguiente: empezar a integrar la lógica del juego. Espero que disfrutéis del vídeo.

Saludotes,

DaD.

sábado, 20 de noviembre de 2010

Proyecto: "UWOL - Quest For Money" - Amstrad CPC

Pantalla de carga que hice en la época de CEZ.
Habrá que reaprovecharla, ¿no?
Hace ya algunos años, cuando el grupo de programadores de CEZ (CEZ Games Studio) seguía en activo y yo formaba parte de él, surgió la idea de crear un juego sencillo, pero al mismo tiempo divertido. Realmente la idea se gestó en la mente de los que actualmente conforman el grupo "MojonTwins" que también formaban parte de CEZ. Así nació UWOL.

Lo que pudo ser UWOL para
Amstrad CPC hace unos años.
Mi misión en la época era convertir los gráficos de otras plataformas para usarlos en Amstrad CPC, así que me puse a ello (lo cual no fue tarea fácil). La resolución oficial de la zona de juego de UWOL es de 192x160 píxeles. Esa resolución ya es menor que la pantalla del Spectrum o MSX (256x192 píxeles), así que ahora imaginaros el tamaño de esa pantalla en un monitor de Amstrad (con una resolución total de 384x272). La verdad es que resulta diminuta para un Amstrad... Ahora imaginaros que hacemos el juego en Mode 0 y 16 colores, quedando la resolución equivalente de la zona de juego en unos escasos 96x160 píxeles. Podéis deducir que no es algo fácil de realizar. El resultado previo lo tenéis en una de las capturas (de la época de CEZ).

Y aquí "lo que será" Uwol para Amstrad CPC.
Mejor, ¿no?
Al final, el desarrollo se detuvo y nunca más se supo, hasta ahora. En la actualidad, los "MojonTwins" han sacado la versión para Spectrum y otros grupos han hecho lo propio y convertido el original para otros sistemas, como el Commodore 64, Commodore 16 / Plus4 y Sega Megadrive.

Ahora le toca el turno al Amstrad CPC. Cómo el compañero Syx tiene contacto con los "mojones" y tiene permiso para ponerse con la versión de Amstrad y como a mí me hacen gracia los gráficos de la versión de Megadrive y también tenemos permiso expreso para usar esos gráficos como base en la conversión, pues hemos dicho... qué narices, vamos con ello.

Comparativa de los tamaños de las zonas
de juego de las distintas versiones.
Pero no vamos a quedarnos en una conversión, sin más. Somos cómo somos y queremos darle una vuelta de tuerca al asunto. Queremos exprimir el Amstrad CPC, así que ya hay unos cuantos conceptos claros para esta versión:
  • Resolución en Mode 0 de 144x240 píxeles (equivalente a 288x240 píxeles en el resto de sistemas).
  • Rutinas de impresión de Tiles y Sprites megaoptimizadas (cortesía de Syx el grande).
  • Tiles y Sprites de 12x24 píxeles (equivalente a 24x24 píxeles contra los 16x16 usados en el resto de sistemas, cortesía de un servidor).
  • Reconversión de todo el código original escrito en C a lenguaje ensamblador, para ir rapiditos.
  • Remasterizado de todo el apartado sonoro usando el "Arkos Player", para exprimir al máximo las capacidades sonoras del Amstrad CPC y haciendo uso de la característica "estéreo" que únicamente el Amstrad CPC tiene (cortesía de un servidor).
  • Modo de 2 jugadores (aún está por definir si modo "versus" o modo "cooperativo").
  • Fases de bonus (de dos tipos, "buenas" y "malas").
  • Nuevos fondos y plataformas (de momento, hemos doblado el número de fondos original, cortesía de un servidor).
  • Fondos animados... Queremos muchísima movilidad. De momento, tenemos las monedas animadas (al estilo Megadrive) y fondos animados en las fases bonus.
  • La intención final es equiparar la versión Amstrad a sistemas de 16 bits.
Todos estos extras, tienen un coste: memoria RAM. Así que la idea es que este UWOL sea para equipos con 128Kbytes de RAM (y sin que sirva de precedente, esto incluye a los Amstrad CPC464 y CPC664 con ampliación de RAM, pues no vamos a usar ningún modo "especial" de paginación de RAM no soportado por estas máquinas).

Una de las nuevas fases de bonus, con nuevos fondos
y nuevas plataformas.
Una versión de 64K también está contemplada, pero sin la mayoría de extras. La versión de 64K básicamente sería como la del resto de sistemas, pero con unos gráficos mayores y la música "remasterizada", nada más.

De momento os dejo unas cuantas imágenes de "pantallazos" para que vayáis viendo el resultado de la conversión, así como un archivo de audio para que escuchéis como sonará el invento en el Amstrad CPC ("In Stereo Where Avaliable"), También podéis comparar el tamaño de la zona de juego con el resto de versiones en relación a la resolución del Amstrad CPC y su monitor.







Pirámide. ¿Dónde estamos?
Pronto os subiré un vídeo del motor de juego en movimiento, donde veréis cantidades ingentes de monedas y los enemigos, todos en movimiento, para gusto y disfrute de todos nosotros. De momento, os tendréis que conformar con unos pantallazos y el nuevo audio.

Saludos.

sábado, 6 de noviembre de 2010

CPCVIEW para Amstrad CPC - ¿Son 16 colores suficientes?

El señor Horatio, tras pasar por las manos del CPCVIEW
y con el filtro simulador de monitor activado


El otro día, ojeando el blog de Manuel Sagra, "Paraíso Friki" (http://paraisofriki.com/post/1486365429/yeeppy-ki-yay-d), descubrí en "DevianArt" el fantástico trabajo de Anthony Geoffroy. Este gran dibujante tiene unas cuantas caricaturas espectaculares de varios y variopintos personajes conocidos por todos y de rabiosa actualidad.

Visto lo visto, he pensado que puede ser una buena excusa para explicaros por encima las características gráficas del Amstrad CPC y enseñaros una preview del conversor en el que trabajamos Syx y yo, usando para la demostración las imágenes de Anthony y así demostrar la potencia gráfica del Amstrad CPC y su paleta de colores si se usa con conocimiento y cabeza.

El Amstrad CPC tiene una paleta total de 27 colores (realmente son 32, pero 5 son colores repetidos, así que tenemos un total de 27 distintos). Técnicamente se resume en que tenemos 3 componentes de color (Rojo, Verde y Azul - RGB = Red, Green, Blue) y cada uno de ellos puede tener 3 valores posibles (0, 127 y 255). Eso son 3^3 colores, osea, 27.

Por ejemplo, el color NEGRO equivale a los valores RGB (0,0,0), el BLANCO equivale a los valores RGB (255,255,255), el GRIS sería RGB (127,127,127), el ROJO INTENSO pues RGB (255,0,0), etc.

Teniendo esto claro, ahora definamos la cantidad de colores disponibles en pantalla simultáneamente, que son directamente proporcionales al modo (Mode) de pantalla que usemos.

De modo oficial, el Amstrad CPC tiene 3 modos de pantalla para uso y disfrute del usuario, a saber:
  • Mode 0: 192x272 píxeles (160x200 píxeles en modo Firmware), 16 colores simultáneos de 27.
  • Mode 1: 384x272 píxeles (320x200 píxeles en modo Firmware), 4 colores simultáneos de 27.
  • Mode 2: 768x272 píxeles (640x200 píxeles en modo Firmware), 2 colores simultáneos de 27.
¿Qué es eso del modo "Firmware"? El Firmware son el conjunto de rutinas que trae preprogramadas el Amstrad CPC en su memoria ROM. Esas resoluciones, son las resoluciones que decidieron los fabricantes poner como "predeterminadas" al arrancar el equipo, pero gracias a la flexibilidad del hardware gráfico del Amstrad CPC, esas resoluciones son completamente variables "a gusto del consumidor". Los "ports directos" de Spectrum para Amstrad CPC, por ejemplo, usan una resolución de pantalla de 256x192 píxeles REALES (idéntica a la del Spectrum y MSX).

Una muestra del tramado LINEAL en el fondo.
Gregory House nos saluda desde nuestros
Amstrad CPC
Esta flexibilidad siempre ha sido una característica "oscura" para los usuarios españoles de Amstrad CPC, y algo muy poco usado en las compañías de videojuegos españolas de la época (cuando la usaban, era precisamente para reducir el tamaño de la pantalla hasta el más absoluto ridículo, dejándonos con un inmenso BORDE negro alrededor).

En cuanto las limitaciones a nivel de color por zonas de pantalla, el Amstrad CPC destaca sobre el Spectrum, el MSX y el propio Commodore 64, pues podemos usar un color por píxel, sin más. Recordemos que el Spectrum puede usar únicamente 2 colores por cada 8x8 píxeles, por ejemplo.

El señor Horatio del principio, sin ningún tipo de filtro
y usando tramado LINEAL
En esta entrada no voy a abordar ni los RASTERS, ni los SPLIT SCREENS, ni el SCROLL HARDWARE suave del que dispone el Amstrad y que es otro gran desconocido para los usuarios españoles y las susodichas compañías de software (menos alguna pequeña excepción). Estas técnicas permiten tener más colores en pantalla, mezclar modos de pantalla y ver correr un scroll de fondo a pantalla completa (sin bordes) a velocidades de infarto y a 50 fps. Todo esto lo abordaremos en una próxima entrada, y espero contar con la genialidad de Syx para ello, pues es el maestro español en este tipo de técnicas.

Lo que sí podéis deducir, mirando las cifras anteriores es que el Amstrad CPC es el ordenador con mayor resolución de pantalla en la historia de los 8 bits (768x272 píxeles y 96x34 caracteres en pantalla), aunque únicamente con dos colores. Ese modo de pantalla es perfecto para gráficos tramados en alta definición, procesamiento de texto, hojas de cálculo, etc. 

Conversiones realizadas con el programa
CPCVIEW, tramado ALEATORIO y el modo de
cuantización de color "optimizado" para la paleta
del Amstrad CPC.
Para juegos, el modo "natural", es el "Mode 0", que tiene 16 colores disponibles de los 27 que nos ofrece el Amstrad CPC, aunque con una resolución menor (el famoso "Ladrillo Píxel", donde el píxel no es cuadrado, más bien es rectangular, el doble de ancho que alto). El "Mode 1" también fue bastante usado para juegos, con mucho menos colorido pero mayor resolución (píxel cuadrado, equivalente al de MSX y Spectrum). El "Mode 2" fue usado en un par de juegos, no más.

Ahora que lo tenemos todo más o menos claro, llega el momento de presentaros el programa de Syx y mío, CPCVIEW. El CPCVIEW es un conversor (pendiente de terminar) enormemente flexible (mucho más que los existentes actualmente) a la hora de convertir gráficos y hacerlos compatibles para el Amstrad CPC. Permite definir cualquier tipo de resolución para la conversión, cambiar los valores de color, brillo, contraste, enfoque, 3 tipos distintos de dithering (aleatorio, ordenado y lineal, este último, marca de la casa, jejejeje), filtros de pantalla y el modo de pantalla "inventado" por Syx y por mí que hemos denominado "Mode 5", que permite tener los 27 colores de la paleta de colores simultáneamente en un modo de resolución equivalente al "Mode 1 oficial" (resolución media). También dispone de 3 tipos distintos de "cuantización" de color seleccionables a la hora de realizar la conversión. Dos de ellos son "matemáticos" (y son los que por regla general usan el resto de programas existentes), pero el tercero es "manual" (o a ojímetro, como yo le llamo) y está optimizado por "un servidor" (yo mismo) para que la adaptación de color se haga pensando en la paleta del Amstrad CPC, y los resultados son brutales (como podéis observar en las capturas que acompañan a la entrada).

Pero el punto fuerte de la aplicación, es que es multisistema. Está programada en Python, y mientras que Syx la programa en su Linuxete Debian, yo lo pruebo y ejecuto en mi Windows XP sin problema alguno. El programa funcionará en cualquier sistema que disponga de intérprete Python (la gran mayoría).

CPCVIEW en pleno funcionamiento. Click en la imagen
para verla a tamaño real.
El programa sigue en desarrollo y todavía no está disponible para descarga, pero yo hace ya meses que lo uso habitualmente y el resultado que hemos obtenido en las conversiones es más que óptimo (como podréis observar en las capturas que acompañan esta entrada).

En definitiva, que he matado varios pájaros de un tiro con esta entrada, que espero que haya aclarado algunas cosas a muchísimas personas que no hacen más que preguntarse una y otra vez... ¿Pero cuantos colores tiene el Amstrad? ¿Qué colores son?...

Un saludete a todos y gracias por su atención.

lunes, 4 de octubre de 2010

Chu, Chuuuuuuuuu... ROCKET!!!! - Spectrum

Para que veáis que los usuarios de Amstrad no somos rencorosos, os voy a enseñar un proyecto que tenemos entre manos el omnipresente Syx y yo.

¿Sabéis? Me encanta pelearme con los atributos de colores del Spectrum. Digamos que son "ladrillo-pixeles de colores" mucho más grandotes, jejejejeje. La historia es que me gusta intentar darle color (y no sólo tramas) a los gráficos spectrumiles, así que nos pusimos manos a la obra y nos preguntamos, ¿qué hacemos?

Un cepecero dibujando para Spectrum...
Pues una conversión del juego Chu-Chu Rocket!, ni más ni menos, para Spectrum. Un juego muy divertido, frenético y con montones de sprites simultáneos en pantalla... Pero... ¿muchos, muchos, muchos? Sí señor, muchos.

Pero tranquilos, que los usuarios de Amstrad tenemos que batallar siempre con los excesivos 16 Kbytes de VRAM que tiene que mover el pobre Z80 contra los cerca de 7 Kbytes de VRAM que usa el Spectrum (menos de la mitad).

¿Eso qué significa? Significa que las rutinas mega optimizadas que Syx usa para el Amstrad, pues, con cuatro arreglos, literalmente funden en el Spectrum (qué le vamos a hacer, la vida es así). 

100 Ratitas Presumidas
Pues ya tenemos pruebas de concepto de las rutinas y tenemos a la no poco despreciable cantidad de... 100 ratitas en pantalla a 25 fps. Osea, 100 sprites de 16x16 píxeles a todo trapo por la pantalla.

¿Os parece bien? ¿Sí? ¿No? Veremos en lo que termina esto... ¡Maldito Spectrum! (pero con cariño).

Saludos.

domingo, 3 de octubre de 2010

Digi-Evoluciona - ¡ARMED C512! (aka ARMTRAD)

Buenos días a todos.

Todos sabemos lo bonito que es tener un ordenador Retro entre nuestras manos, pero sinceramente, hoy en día son bastante "inútiles" para un uso diario (por muchas ampliaciones que les hagamos). Bajo esta premisa, cierto día de locura se nos ocurrió al colega SyX y a mí lo que podría ser hoy en día una evolución inteligente de un Amstrad CPC.

Los puntos a tener en cuenta son:
  • Feeling Retro (aspecto y modo de funcionamiento)
  • Amigable y fácil de usar
  • Que sea usable y por supuesto útil hoy en día
  • Lo más barato posible
  • Manejable y transportable
Teniendo todo esto claro, empezamos a investigar y a plantearnos opciones. Al final, llegamos a la conclusión de que deberíamos usar una placa estilo "beagleboard" (concretamente un clon que se fabrica en Barcelona).

¿Qué es esta placa? Básicamente, es una placa base del tamaño de una tarjeta de crédito, sin apenas consumo, que funciona a 5V. Entre sus bondades destacamos:
  • Procesador ARM OMAP 3530 a 1Ghz
  • Tarjeta gráfica molona 3D con soporte OpenGL 2.0 integrada dentro del propio procesador
  • Tarjeta de red 10/100
  • Tarjeta de red Wireless con antena integrada en la propia placa
  • Bluetooth
  • Conector USB (para conectar un HUB USB 2.0 y meterle dispositivos USB como teclados, ratones, discos duros, pendrives, etc)
  • 512 MBytes de RAM DDR2
  • 512 Mbytes de FLASH RAM (para instalarle un sistema operativo en FLASH, por ejemplo)
  • Salida de video mini DVI
Y todo eso, señores, en una plaquita del tamaño de una tarjeta de crédito por algo más de 150€ (por ahora). Tal bestia parda mueve con soltura y sin problemas al UBUNTU más pintado (nada de versiones light), reproduce vídeo en HD, navega por Internet como el que más y le da al 3D que es una primura (la saga Quake compila y funciona a las mil maravillas en esta placa, sin despeinarse).

Ya tenemos el corazón de nuestro Amstrad evolucionado, ahora sólo nos queda "dónde meterlo" y el sistema operativo que usaremos.

Por el tamaño de la plaquita, lo ideal es usar un teclado USB adaptado para la ocasión y meter la placa y dispositivos dentro. Ya tenemos ese "feeling Retro" (cuando los ordenadores eran un simple teclado, sin ventiladores).

Lo que podría llegar a ser el ARMED C512
El tema del sistema operativo, es algo más peliagudo a estudiar. Android gana puntos. Tenemos el código fuente a mano (como en Linux) pero tiene la ventaja de que existen miles y miles de aplicaciones de libre descarga ya funcionando, así como otros tantos miles de juegos.

La idea es modificarlo para darle "feeling Retro" también, añadir un intérprete para poder programar con él nada más encenderlo (bien Python, bien el BASIC adaptado de Locomotive Software, bien ambos). Tenemos pensado también añadir dos capas de compatibilidad con el Amstrad original:
  • Una a nivel Firmware / BASIC: En esta capa podremos usar programas del Amstrad original, programados en su BASIC, que hagan uso de las rutinas Firmware del sistema, pero sin acceso al hardware "real" del Amstrad CPC. Por supuesto, la velocidad será muy superior a la original, además de tener a nuestro alcance nuevas APIs  para acceder al potente hardware que tenemos por debajo (sonido, 3D, colores, etc).
  • Otra a nivel Emulación: En esta capa tendremos básicamente un emulador del Amstrad CPC original, 100% compatible, con acceso al disco duro interno de la máquina y a una disquetera externa USB (si la hubiese). También se incluiría soporte para cargar imágenes de disco DSK de emuladores. Tendremos 2 velocidades de funcionamiento en esta capa; original (emulando un Z80 a 4Mhz) y turbo (lo que el ARM nos de, sin límites). Por supuesto, en este modo tendríamos acceso a todo el hardware original del Amstrad CPC, pero no así a las nuevas características de la máquina.
Por supuesto, el usuario podría instalar suites ofimáticas de Android, juegos, emuladores de otros sistemas...

Con todo esto en su conjunto, tenemos un equipo útil, usable, compacto, barato y potente, capaz de funcionar hoy en día en la vida real y con "feeling Retro".

¿Qué os parece? ¿Estamos muy locos?

Saludos.

sábado, 2 de octubre de 2010

King's Valley para Amstrad CPC

Así es. El amigo SyX (programador multiplataforma consagrado) y un servidor por fin tienen lista la conversión para Amstrad CPC de uno de los juegos más conocidos entre los usuarios de MSX: "King's Valley".

King's Valley en acción (Amstrad CPC)
El juego, en cuanto a adicción, es de lo mejorcito que podréis encontrar (te engancha y no te suelta). La tarea ha sido complicada, pues hemos tenido que desensamblar el juego de Konami y "cepecerizarlo". Por otro lado, hemos extraído los gráficos de la reciente versión de Spectrum y los he retocado para adaptarlos al Amstrad CPC, así como añadir algunos extras.

Uno de los puntos fuertes de esta versión (además de los extras sorpresa) es su funcionamiento a 50 fps y movimientos al pixel. Los que conocen la plataforma saben que estas dos cualidades no suelen ser compatibles entre sí.

Por el momento, os dejo con un pantallazo que ha subido SyX en su blog. Estamos en fase de testeo y de búsqueda de errores.

¡Estad atentos!

Noticia original vía: Allons-y!!!