lunes, 25 de mayo de 2020

Desarrollo de Street Fighter 2 Champion Edition para C64. Parte 2: el entorno

En este artículo no voy a hablaros propiamente del desarrollo. Voy a hablar del entorno de desarrollo, de las herramientas que he utilizado para desarrollar el juego y porqué las he elegido. Todas las herramientas están enfocadas al desarrollo cruzado, es decir, al desarrollo desde el PC para C64, por lo que obviaré las herramientas propias de C64. Allá vamos...
  • Editor de código: Relaunch64. Para programar en ensamblador existen varias opciones: o bien utilizas un simple editor de textos de propósito general (Bloc de notas, Notepad++, nano, vi, emacs, Pluma,...), o un editor con funciones avanzadas (Relaunch64), o un IDE genérico (Eclipse con el plugin para ensamblador para C64), o alguno de los IDEs especializados como Kickass IDE, CBM .prg Studio o C64 Studio. En mi caso me decanté por Relaunch64, es un editor programado en Java que permite usar diferentes compiladores, tiene resaltado por color de código y permite compilar el código desde el mismo editor y ver los mensajes del compilador. Y es compatible con el Linux que uso a diario, algo muy importante, ya que los "Studio" comentados antes sólo funcionan bajo Windows.
Relaunch64.
  • Compilador: ACME. El compilador permite transformar el código ensamblador en un programa en código máquina que el C64 puede ejecutar. Aquí también tenemos varias alternativas: Kickassembler, CC65 (permite compilar programas en C para la CPU 6502), DASM, TASS, xa, vasm. ACME es un compilador bastante antiguo y espartano que proporciona funciones adicionales como macros o ensamblado condicional, función que utilizo bastante. También es compatible con Linux.
Compilador ACME.
  • Editor de sprites: SpritePad. Las alternativas que conozco son Spritemate (editor online bastante sencillo de usar), Pixcen y 7up Sprite Editor. SpritePad tiene varias ventajas: permite importar "hojas de sprites" en formato BMP (muy útil en mi caso) o incluso desde snapshots de Vice, permite invertir/girar/hacer espejo a sprites, intercambios de color transparente/color propio/multicolor1/multicolor2, desplazamiento de píxels dentro del sprite o animación de sprites. Su pega principal es que no es compatible con Linux y ello me obliga a usar una máquina virtual para utilizarlo.
SpritePad.

  • Editor de bitmaps: Multipaint. Aunque inicialmente comencé a trabajar con Project One por su manejo del formato Koala, y por las opciones de retoque del color que permite a la hora de importar imágenes en otros formatos, hace unas semanas migré a Multipaint, ya que las últimas versiones permiten trabajar con el formato Koala que utilizo en el juego. Además, cuenta con múltiples opciones de dibujo (puntos, líneas, cuadrados, círculos, patrones de pintado,...) un poco al estilo Deluxe Paint, que son muy útiles a la hora de dibujar fondos. Otra alternativas serían Pixcen (excesivamente simple para mi gusto) y Timanthes (más completo pero muy inestable). Multipaint es compatible con Linux.
Multipaint, imagen creada por Errazking.
  • Editor de caracteres: CharPad. Aunque VChar es una buena alternativa, CharPad, del mismo creador que SpritePad, me proporciona lo necesario para editar el charset o juego de caracteres personalizado que utilizo en el juego, si bien mi charset es muy sencillito. CharPad, al igual que SpritePad, funciona bajo Windows.
CharPad.
  • Editor de sonido: GoatTracker. A decir verdad, usé este tracker cuando convertí el tema de Ryu a formato SID, pero en cuanto Narcisound se incorporó al proyecto dejé de usarlo. GoatTracker permite crear efectos especiales sencillos y viene con ejemplos en ensamblador para que podamos combinar un SID con 2 pistas de música con la reproducción de los efectos de nuestro juego en la pista 3. Dispone de varios filtros y opciones de exportación, y es compatible con Linux.
GoatTracker.
  • Emulador: Vice64. Los 3 grandes emuladores para C64 son Vice64, Frodo y CCS64, pero me decanté por Vice64 porque es el que más conozco, por su monitor de ensamblador (herramienta vital para el desarrollo), por su modo warp que acelera las cargas desde disco, por sus múltiples opciones de configuración y por su compatibilidad. Y por su versión para Linux, claro.
Vice64.
  • Depurador: C64Debugger. Aquí las opciones que conozco se reducen a dos: C64Debugger e ICU64. ICU64 está diseñado para ser usado en Windows y con Frodo, aunque la última versión ya permite usar Vice. Por otra parte C64Debugger es compatible con Linux y usa Vice, y a pesar de que es algo inestable y tiende a cerrarse inesperadamente, me proporciona una serie de herramientas muy útiles que me permiten ver en tiempo real cosas como la lectura y escritura de áreas de la RAM, los sprites en uso o los datos bitmap, aparte de un monitor ensamblador o los muy útiles puntos de parada, para detener la ejecución del juego en alguna rutina concreta.
C64Debugger.
  • Otras herramientas: además de todo lo comentado anteriormente utilizo exomizer para compilar los ficheros del juego en versión disco, CC1541 para escribir ficheros en imágenes de diskette .d64 por línea de comandos y cartconv para crear el fichero .crt para la versión cartucho.
Como veis, programar en ensamblador te puede obligar a usar muchas herramientas diferentes, aunque siempre tenemos la opción de usar algún IDE como CBM .prg Studio o C64 Studio que integran depuradores, editores de sprites, de caracteres, de mapas o incluso de sonido, y que reducen considerablemente el número de programas a utilizar.

Si tenéis cualquier duda sobre los programas que utilizo o queréis contarme vuestra opinión sobre tal o cual herramienta ya sabéis, podéis escribir en los comentarios. El próximo día: sprites.


Saludos, Paco.

sábado, 2 de mayo de 2020

Desarrollo de Street Fighter 2 Champion Edition para C64. Parte 1

Esto debería haber salido hace muuuuuchos meses, pero bueno, más vale tarde que nunca... En el último Explora Commodore David Asenjo (Darro99) y un servidor dimos una charla sobre cómo empezar a programar en ensamblador para C64. En dicha charla hablé de mi ejercicio de aprendizaje, un monstruo que llevo unos años programando y que no es más que una conversión del Street Fighter 2 Champion Edition para C64. Presenté este proyecto por sorpresa en el Explora 2018 y en la última edición del evento mostré nuevos avances en el motor de combates y el programa del menú principal, pero hasta hoy no había escrito nada sobre esto en el blog...
Pantalla de selección de luchadores de Street Fighter 2 Champion Edition (arcade).


Un poco de contexto

Street Fighter 2 es la única recreativa que he logrado pasarme con 5 duros. Fue en el verano de 1992, en un bar de la calle Escocia de Barcelona, jugando con Vega en un Street Fighter 2' (un bootleg del Champion Edition) para ser exactos. Solíamos pasar las vacaciones en la ciudad en la que vivían mis abuelos, y aquél estío sucumbimos a la fiebre de la máquina de Capcom, y no paré de jugarla día tras día hasta que logré llegar hasta el final.
Mueble de la recreativa del Street Fighter 2 Champion Edition (foto de Vintage Arcade Superstore).

Cuando US Gold lanzó las versiones domésticas del juego me alegré mucho, ya que por fin podría jugar en casa a mi recreativa favorita. Lamentablemente, las 2 versiones que llegaron a nuestro hogar fueron una completa decepción. La de PC tenía carencias en cuanto a control, animaciones, detección de colisiones, velocidad del juego y sonido, pero al menos era visualmente atractiva y podía jugarse... un ratito.
Street Fighter 2 para MS-DOS.

Pero la de C64, ¡ay amigo!, aquello era un desastre absoluto en todos los aspectos: gráficamente era muy feo, los controles no respondían adecuadamente, la detección de colisiones era terrible, la música in-game era una taladrante melodía en bucle de unos pocos segundos, tenía serios bugs (por ejemplo, Honda tendía a saltar y quedarse colgado en un imaginario "segundo piso") y la dificultad brillaba por su ausencia. Ni siquiera se respetaban las proporciones entre los personajes, y por ejemplo teníamos una Chun Li casi tan alta como Zangief.  Por entonces no me esperaba una conversión tan buena como la de SNES, pero conociendo la más que correcta conversión que hicieron los americanos de Pacific Dataworks del primer Street Fighter (hablé de ella hace unos años aquí), imaginaba que US Gold nos brindaría un juego decente.
Street Fighter 2 para C64 de US Gold, pantalla de presentación.

Unos 20 años después, en la grandérrima web Games That Weren't publicaron un artículo explicando el porqué de esta desastrosa conversión y entonces mi opinión sobre su programador James MacDonald cambió, ya que la culpa fue básicamente de US Gold, que quiso hacer caja con los últimos títulos que lanzaría para los micros de 8 bits, ya fuesen buenos o malos programas (Final Fight, G-Loc R360 o Indiana Jones and the Fate of Atlantis son otras muestras), y tomó decisiones que afectaron al desarrollo, como poner un plazo límite absurdamente corto, reemplazar al grafista en mitad del proyecto o hacer cambiar a MacDonald los gráficos del juego tan sólo unas horas antes de comenzar a grabarlos en cinta y disco.
Street Fighter 2 para C64 de US Gold, combate Chun Li - Zangief. Fijaros en la altura de ambos luchadores.

¿Cómo y por qué me embarqué en esta locura?

El caso es que hace unos años mi padre me regaló un lector de e-books, y uno de los primeros libros que le metí fue Lenguaje máquina del Commodore 64, de I.Sinclair. Empecé a aprender este lenguaje y el funcionamiento interno de la memoria del C64, los sprites, los modos gráficos, los bucles, las interrupciones, etc. Lo que aprendía lo escribía con Relaunch64 y lo probaba en Vice. Y recordé lo que me dijo un compañero de trabajo de mi padre allá por 1993, cuando me pasó un compilador de TurboBasic para MS-DOS: "si vas a aprender un lenguaje de programación, ponte una meta y trabaja en ella o acabarás abandonándolo". Y me propuse hacer un nuevo Street Fighter 2 para C64. Una locura, lo sé, pero tenía claro que no tenía prisa y este proyecto sería mi ejercicio de aprendizaje, ya que podría practicar el manejo de sprites, la visualización de gráficos bitmap, el uso de juegos de caracteres personalizados, las interrupciones, la multiplexación de sprites, la carga de datos desde disco, etc. De hecho algunas de las cosas aprendidas las apliqué en la intro del Star Wars: Wings que presenté en la Spanish SEUCK Compo y Olé 2017.
Nuevo Street Fighter 2 CE para C64, pantalla de presentación (versión preliminar).

Elegí Street Fighter 2, además de por ser uno de mis videojuegos favoritos, porque estoy convencido de que el C64 sería capaz de mover una versión jugable del título. Aparte del mencionado Street Fighter versión EE.UU., había más ejemplos de buenos juegos de lucha con personajes de gran tamaño para nuestro ordenador, como Barbarian 1 y 2, International Karate (e IK+), The Way of The Exploding Fist, Budokan o Long Life. Street Fighter 2 tiene el añadido de los movimientos especiales, pero creo que la mayoría se pueden implementar.
Nuevo Street Fighter 2 CE para C64, pantalla de selección de luchadores (versión preliminar)

Características deseadas de Street Fighter 2 Champion Edition para C64

Me he propuesto que el juego tenga las siguientes características:
  • 12 personajes jugables, de ahí que sea la Champion Edition.
  • Posibilidad de realizar la mayoría de los movimientos especiales.
  • Control únicamente por joystick, sin usar el teclado. Los movimientos especiales se harán con un único botón de disparo.
  • 3 niveles de dificultad.
  • Músicas y efectos de sonido: 1 melodía por cada escenario y melodías en pantallas de paso. En este apartado tengo la enorme suerte de contar con Narciso Quintana, programador y músico commodoriano de los años 80.
  • Formatos: cartucho Ocean de 512 KB y diskette de 1 ó 2 caras. La cinta está totalmente descartada por razones obvias.
  • Modo cheat o con trampas, para poder pasarse el juego sin que nos afecten los golpes del rival.


Obviamente el juego será lanzado de manera gratuita, ya que no poseo los derechos del mismo, y en vista de lo que le pasó hace poco a ZeroPaige con su Super Mario Bros 64... En cuanto a plazos, no me he puesto ninguna fecha tope. Lo programo en mis ratos libres y cuando considere que está terminado, lo publicaré gratuitamente, como decía antes. Actualmente está programada gran parte del menú principal, el motor de combates está terminado al 98% aproximadamente, y tengo 4 personajes completados (todos los sprites, fondos, animaciones y melodías excepto la de uno de ellos). Mi intención es publicar en este blog algunos artículos sobre ciertas partes del desarrollo. Quizás esto anime a alguien a empezar a programar en ensamblador para C64, quién sabe...


Saludos, Paco.

martes, 31 de diciembre de 2019

Diskettes preservados

No sé si lo recordaréis, pero el año pasado, tras reparar mi vieja unidad de discos 1541, comencé a preservar los diskettes para C64 que aún conservaba por casa. Tras un largo -e injustificable- parón, el pasado verano terminé la tarea de preservación de diskettes, y a continuación procedí a testearlos uno a uno para registrar su contenido y anotar lo que funciona y lo que no. Al final, de 65 diskettes, 15 dieron errores de lectura (la 1541 "rascaba" al leer partes del disco o durante toda la lectura). La mayoría de diskettes con errores de lectura tienen su contenido dañado, pero he podido rescatar material de varios de estos, aunque también tengo diskettes que no dieron error de lectura y que contienen software ilegible. En este artículo os voy a contar lo que me he encontrado.
Tragaperras, programa teclado desde un número de la Commodore Magazine.

La gran mayoría de software preservado son juegos piratas, desde clásicos como Ghosts'n Goblins, Ghostbusters, One on One, Kung Fu Master, Maniac Mansion, los Summer Games o Wonderboy, pasando por juegos más modernos como Golden Axe, Pacmania, Teenage Mutant Ninja Turtles, Rick Dangerous, Bubble Bobble, Rodland, Out Run Europa o SWIV, con varios juegos británicos y americanos que diría que no llegaron a España por los canales oficiales, como los dos Creatures, Mayhem in Monsterland, Street Fighter versión USA, Another World (el de CP Verlag, no el clásico de Amiga), CJ in the USA, The Simpsons: Coin Up (versión cartucho convertida en 3 diskettes) o el rpg Elvira - Mistress of the Dark en sus 4 diskettes.

Elvira - Mistress of the Dark.
Me he encontrado varios títulos que no recuerdo haber jugado nunca: The Sporting News: Baseball, Snowboard Race, Bouncing Heads, Gem'X, Pegasis y Work Games.
Snowboard Race.
Me ha llamado la atención la cantidad de juegos que llevan intros de grupos o piratas españoles. A dichas intros en su día no les prestaba atención, los veía como elementos que estorbaban y retrasaban el momento de comenzar a jugar. Ahora las valoro más y muchas veces me paro a leer los mensajes y puyas que se lanzaban los piratas en esas combinaciones de música y gráficos llamativos. Los españoles de los que hablo son gente como Alexsoft, Spooks Factory, The Blasters Inc (del que formó parte un ilustre como Narciso Quintana), The Barrufets Crackers, Óscar y Yeyus, nuestros "camellos" habituales desde Barcelona.
Intro de The Barrufets Crackers.

Óscar y Yeyus, además de juegos y utilidades, nos enviaron algunos mensajes de texto en forma de demos. Imagino que en aquella época era habitual comunicarse con los clientes de esta forma, aunque debía llevar su tiempo armar el programita, pero el resultado en ocasiones podía ser impresionante, como podéis ver en la captura.
Demo-mensaje de Óscar.
En cuanto a programas que no son ni juegos ni demos, tengo cosas como Art Studio, Kawasaki Rythm Rocker, Magic Desk, Zoom Pascal, Logo, Cardco's Super Printer Utilities, duplicadores y copiones de disco y cinta, el clásico Shoot'em Up Construction Kit (SEUCK) o Lotería Primitiva. Los que más utilicé en su día fueron Art Studio (aunque conservo uno o dos dibujos), Kawasaki (para hacer el tonto con el tecladito porque no tenía ni idea de música), y Logo (en 2º de BUP dimos Logo y en casa practicaba con el C64).
Art Studio con una imagen dibujada por mi.

Usé algún copión para reordenar los juegos de la A a la Z, pero no recuerdo cuál. Una anécdota sobre Lotería Primitiva: recuerdo que durante una temporada mi padre se dedicó durante a meter las estadísticas de las combinaciones ganadoras en el programa y con ellas hizo varias apuestas de golpe por unas 5.000 pesetas, que dieron como premio unas 20.000 pesetas. No debió compensarle porque no volví a verle usar el programa...
Lotería Primitiva, estadísticas de números más habituales.

He dejado para el final los programas tecleados por mi padre o por mi, ya sean desde la revista Commodore Magazine (la gran mayoría) o intentos de programas salidos de mi cabeza de infante ochentero, como Pesadilla Estudiantil: Matemáticas o la "demo" -y es llamarle mucho- que tenéis a continuación. Otros programas que muchos recordaréis son Basic en 1 tecla, Tragaperras, Anuario (calcula el día de la semana de una fecha), Rumbos-distancia (algo relacionado con navegación, cosas de mi padre), Jet Car (juego simplón de coches que tiene su punto) o Simon 64 (el clásico juego de las secuencias de colores y notas).
Cutre-demo programada allá por 1992-93. Lo de abajo son las características de mi primer PC. 1,2 MHz, vaya pifia...

¿Vosotros habéis preservado vuestros viejos diskettes o cintas? ¿Habéis rescatado algún tesoro? Contádmelo en los comentarios.

 
Salu2, Paco.

miércoles, 31 de julio de 2019

Reparando la placa de un C64C

Os cuento esta pequeña batallita por si alguna vez os encontráis con averías similares en vuestro C64. El año pasado compré en eBay una placa de C64C que teóricamente funcionaba correctamente, y a la que únicamente le faltaba el chip SID 8580, que conseguí también en eBay. Utilicé la placa durante un tiempo con el SD2IEC y EasyFlash3 sin ningún problema, pero al probar a cargar algún juego por cinta con un datasette detecté que algo no iba bien: el motor giraba continuamente. Más adelante comprobé que al conectarle un Tapuino, el ordenador directamente no arrancaba. También encontré otra avería: usar un joystick en el puerto 1 provocaba comportamientos extraños como reinicios de la máquina.
La placa con el cartucho Doktor64 y los conectores de loop, los dichosos "harnesses" en inglés.


Para poder detectar y encontrar las causas de estas y otras averías, recientemente adquirí un kit consistente en un cartucho de diagnóstico C64 Doctor (o Doktor64 en algunos sitios) + conectores de loop para testear las conexiones (puertos serie, paralelo y de cassette, joysticks y teclado), ya que aunque ya tenía un cartucho de diagnósticos, sin los conectores no podía localizar averías en determinados componentes.
Kit de cartucho C64 Doctor + conectores de loop/harnesses.


Al margen de esto, consulté el Service Manual para C64/C64C de CBM para averiguar las causas.

Entradas de las tablas de solución de problemas del manual, con las dos averías de mi placa.


El diagnóstico: la CPU MOS 8500 (controla el motor del cassette) y las CIAs MOS 6526 (controlan la mayoría de entradas y salidas del ordenador, como las de los joysticks) estaban dañadas.
Resultado de los tests de C64 Doctor en la placa, indicando las averías.
 
Revisé los chips que tenía por casa de otras placas averiadas y por fortuna tenía algunas CIAs y un 6510, que es compatible con el 8500 que llevaban algunos C64C.
Una de las CIAs averiadas.


Así que me dispuse a desoldar los componentes, reemplazarlos por zócalos y conectar chips en mejor estado. Comencé por las CIAs, y una vez sustituidas, C64 Doctor lo reflejaba en sus tests.
La CIA anterior reemplazada por un zócalo.


Al pasarle el C64 Doctor a la placa pude comprobar que esta vez únicamente aparecía la avería del puerto del cassette. A continuación retiré la CPU, coloqué en su lugar un zócalo y en éste instalé un chip 6510.
Resultado del test de C64 Doctor, que esta vez únicamente muestra la avería de la CPU.


Al volver a comprobar en C64 Doctor el funcionamiento de la placa, esta vez los tests indicaban que todo funcionaba correctamente, aún teniendo en cuenta que este y otros cartuchos pueden dar falsos positivos en la detección de averías en placas de modelos C64C. Ahora ya puedo volver a usar Tapuino en esta placa y los joysticks se comportan de forma correcta.
El test final indica que ya no hay averías en la placa.


Espero que esto os ayude en caso que os encontréis averías similares en vuestros C64. En estos tiempos tenemos la gran suerte de contar con una amplia gama de herramientas y una ingente cantidad de documentación sobre nuestras máquinas, y sobre todo podemos acceder a dicha información de forma inmediata y gratuita, algo que hace 30 años era impensable. Todo esto hace que reparar nuestros viejos cacharros en casa sea mucho más sencillo que antaño.


Salu2, Paco.

sábado, 18 de mayo de 2019

Crónica del Explora Commodore 2019

Cartel del 5º Explora Commodore obra de Juan Carlos Pastor - Denymetanol.

Casi 8 meses después, vuelvo a escribir unas líneas para comentaros la última edición del evento anual dedicado a las máquinas de nuestra compañía americana favorita: Explora Commodore. Esta edición ha contado con algunos elementos extraordinarios, ya que se trataba de la 5a edición y desde la organización queríamos celebrarlo por todo lo alto. Para empezar, el póster del evento es obra del artista alicantino Juan Carlos Pastor, alias Denymetanol, un genio al que le das un boli bic y te dibuja auténticas maravillas. Además de ser el autor del cartel, también ha realizado otra ilustración que se incluye a modo de póster dentro de nuestro ya tradicional fanzine.
Póster del fanzine del 5º Explora Commodore.

Por otra parte, este año hemos organizado el primer concurso de sprites Explora Commodore, en el cual los concursantes tenían que enviarnos un personaje (ya sea humano, alienígena, animal, vegetal o incluso un vehículo) ambientado en la temática espacial, dibujado con las restricciones de tamaño y colores de los sprites del C64. Finalmente se presentaron 21 diseños, todo un éxito para ser la primera edición del concurso, dado que además participaron personas de todas las edades. Esperamos repetirlo el año próximo y mejorar la organización del mismo.

Los 21 diseños recibidos para el concurso de sprites.

Otro elemento que hizo que esta edición fuese muy especial fue el juego 4MArena, desarrollado por David Asenjo (Darro99) a partir de una idea y los gráficos de Ígor Errazkin (Errazking), y que cuenta con las músicas de un grande de la más que cuestionable "Edad de Oro del Software Español", Narciso Quintana, que en su día compuso temas para Jai Alai (uno de mis juegos españoles favoritos), Zona 0 o Tour 91. Este juego fue desarrollado exclusivamente para ser jugado en uno de los torneos del evento y tuvo un gran éxito tanto entre los que lo jugaron como de ventas. Si os interesa, lo tenéis aquí.
Final del torneo de 4MArena (foto cortesía de Tentáculo Púrpura).

Dado que en cada edición habíamos invitado a una plataforma a tener stand en el evento, este año invitamos a varias plataformas como Amstrad (Amstrad Eterno), MSX (AAMSX), ZX Spectrum (Xuxo), arcades (Retromaniacs) y Acorn Computers (Javier González), una marca que no tuvo mucho éxito en nuestro país y de la cual es difícil encontrar máquinas aquí a día de hoy, de ahí el privilegio de poder contar con algunos de sus ordenadores.
Stand de Acorn (foto cortesía de Tentáculo Púrpura).

En cuanto a las actividades del evento, sobre las 10:30h arrancó el tradicional torneo de juegos para C64 y Amiga, en el que jugamos al mencionado 4MArena y a Micro Machines respectivamente, y que estuvo organizado por King of Games. Los ganadores del torneo fueron dos sospechosos habituales: Davae (C64) y Murshus (Amiga). Al finalizar el torneo, Javier Couñago (Commodore Spain) entrevistó a Rubén Colón, que en su día trabajó en empresas que distribuían máquinas Commodore, y que además es el autor de varias portadas de la revista Amiga World. Con esta entrevista y con la intervención de David Sancho y Andreu Ibáñez el año anterior, pretendemos documentar parte de la historia de la distribución de los sistemas de Commodore en nuestro país, y conocer los entresijos y algunas anécdotas de este tema.

Entrevista a Rubén Colón.

Ya por la tarde, alrededor de las 16:45h, se proyectó un avance del juego SkillGrid para Amiga 1200 de los italianos Retream. A continuación hicimos entrega de los premios a los ganadores del concurso de sprites de C64, y el podio quedó así: el primer premio fue para Rulas International, el segundo para Yolanda, y el tercero para Toni Gálvez. A las 17:30h tuvimos el honor de contar con los chicos de Retromanía30, el podcast que cada mes repasa los contenidos de un número de la revista Micromanía de hace justo 30 años. Para esta ocasión prepararon un divertido enfrentamiento entre juegos de C64 y Amiga, en el cual pusieron frente a frente títulos como Cabal, Powerdrift o Blues Brothers.
Momento de la conferencia de Retromanía30.

Y justo después David Asenjo y yo dimos una conferencia sobre cómo es esto de programar en ensamblador para C64 en pleno siglo XXI. En nuestra charla quisimos dar algunas pautas para aventurarse a programar nuestra máquina favorita, con el objetivo de animar a dar el paso a aquellos que tengan alguna idea en la cabeza pero no se atrevan a empezar.
Momento de la conferencia sobre programación en ensamblador (foto cortesía de Tentáculo Púrpura).

Y concluimos la agenda de actividades con el tradicional trivial commodoriano, nuestro particular cierre de fiesta, en el cual ganamos un servidor, Davae y mi compañero de stand David Asenjo.

Respecto a los stands, dado que este año el número era aún mayor que otros años, tuvimos que expandirnos hacia la zona de la entrada del salón de actos para situar allí los puestos de venta de Matranet, Bruja de Papel, Play Games&Cards, Telemach y Chips'n Bits. Ya en el interior del salón estaban los espacios de Commodore Plus (qué mostraban novedades de Commodore 64 Club o Sputnik World, como Panzer), Commodore 4 Ever, Commodore manía, Game Museum, Rafeva, Xuxo, Commodore Spain (en el cual se podía adquirir su Soccer War), Retroscroll, Toni Bianchetti (representando a ZZap64 Italia), Kopsec y MacGiver (con su tradicional taller de reparaciones commodorianas), Tromax (y sus Fundas del Pasado), Darro99 (presentando su 4MArena) y servidor (mostrando los avances de Street Fighter 2 Champion Edition para C64), además de los mencionados stands de las plataformas invitadas.
Stand de Commodore 4 Ever.

Mi valoración personal sobre esta edición del evento es más que positiva. Si bien no es un evento con una asistencia masiva como otros más generalistas, creo que tanto los expositores como las actividades programadas han alcanzado un nivel muy alto, que esperamos en todo caso superar el año próximo. De hecho ya estamos trabajando en la siguiente edición. ¡Esperamos veros en Explora Commodore 2020!
Momento del torneo.


Salu2, Paco.

domingo, 23 de septiembre de 2018

Cambio de batería a una GP2X Wiz

GP2X Wiz, la batería original y el reemplazo.

Hace unos años compré una GP2X Wiz, la consola con SO basado en Linux sucesora de las exitosas GP32 y GP2X de la compañía surcoreana GamePark que creo que casi todos ya conoceréis. Con sus fallos y limitaciones (pantalla pequeña y con tearing, emulación de C64 justita, etc), es una máquina que me había dado muchas horas de diversión, hasta que hace un par de años la batería comenzó a fallar. Busqué reemplazos pero no encontré ninguno para una máquina tan obsoleta. Hasta que hace poco se me ocurrió probar con una batería de li-po (iones de polímero de litio) y parece que el cambio ha funcionado. Os cuento cómo lo he hecho por si alguno tiene el mismo problema...
Batería original de la GP2X Wiz.

Antes de comprar la batería, busqué en foros posibles soluciones al problema, y mucha gente comentaba que no era sencillo sustituir la batería por otra no original porque la batería oficial lleva 3 pines (+, - y servicio), y al parecer el pin de servicio es usado para detectar la carga restante. Sin este pin, comentaban que era posible que una batería no original no fuese capaz de cortar la carga tras llenarse y una sobrecarga podría hacerla explotar. Afortunadamente muchas de las baterías de li-po llevan un circuito que corta el suministro eléctrico hacia la batería cuando esta se llena. Es el caso de la mía.
Batería de reemplazo.

La batería que uso es similar a ésta, de li-po, con unas dimensiones similares a la batería original, y una capacidad superior de 3000 mAh (1100 mAh más que aquella). Para realizar la modificación, procedí de la siguiente manera...
  1. Primero retiré los dos tornillos de la tapa de la batería y luego retiré los 6 restantes de la carcasa. Una vez desmontada, desoldé la pieza que contiene los 3 contactos dónde se coloca la batería.
  2. Una vez desoldada la pieza, le soldé dos cables para los polos positivo (izquierdo) y negativo (derecho). El contacto central es el de servicio, que en la batería está marcado con un martillo.
  3.  Volví a colocar la carcasa inferior, pasando los cables por el hueco de los contactos de la batería.
  4. A continuación, corté el conector de la nueva batería y soldé los cables a los que acababa de instalar en la consola.Como se ve en la foto, la batería encaja perfectamente en el hueco, y al desplazarla a la derecha, hay un espacio para colocar los cables.
  5. Coloqué la tapa de la batería y procedí a encender la consola, que funcionaba (y funciona) perfectamente, algo esperable por otro lado al coincidir el voltaje y tener la batería cierta carga.
  6. Faltaba la prueba de fuego: cargar la batería completamente. Enchufé la consola a un cargador y esperé varias horas, y tal y como sucedía con la batería original, al cargarse completamente, el led que indica el estado pasó de rojo a azul. Esperé un par de horas más para comprobar si la batería se calentaba pero no, estaba fría.
Y esto es todo. La batería lleva varios días instalada y la consola funciona perfectamente, aunque tengo que hacer más cargas completas para asegurarme al 100% de que no hay riesgos.


Salu2, Paco.