Habi Hablóg
Declaro:
XML válidoXHTML válido800x600 +
RSS válidoCSS válidoNavegador digno
  Blog   Archivo   Contacto   Administración  

Acerca de

Matemático, informático, aficionado a la electrónica, friki... y otras cosas que no vienen a cuento ni pasan los filtros de palabras.

¿Queríais un blog? Ahí va.

Red antisocial

¡Me van a volver loca! 2.0
La Fragata Portuguesa

Z
¡Me van a volver loca!

Últimos posts

El expediente X que nadie pidió
eNigma
La cuadratura del píxel
Portando desde Spectrum
Inexorable

Últimos comentarios

Habi
NoSupoResolverLaFuncion
Edu
Habi
EnriqueGG

Calendario

No hay fechas.

Categorías

Chorradas
Paranoias
Posts lúcidos
Tecnoesoterismo
Yuyus

Cenas de Abj

Abj debe 7 cenas.

Frase célebre

Abj dice: come algo 
 
Z dice: ah, comer 
 
Abj dice: te gustará, ya verás 
 
Abj dice: es como follar, pero por la boca y hasta dentro 
 
Z dice: ?? 
 
Z dice: no capto la diferencia

Trinidad

Habi - 02/02/2010 23:33:44 - Chorradas

Puchi puchi puchi puchi puchi, puchi puchi puchi puchi puchi puchi puchi puchi puchi puchi, puchi puchi puchi puchi puchi puchi, puchi, puchi, puchi. Puchi puchi puchi puchi puchi puchi puchi, puchi puchi puchi puchi puchi puchi puchi puchi puchi puchi. Puchi puchi.

Puchi puchi puchi Puchi, puchi puchi puchi puchi puchi, puchi puchi puchi puchi puchi puchi puchi puchi puchi puchi puchi puchi, puchi puchi puchi puchi puchi puchi puchi puchi puchi, puchi puchi puchi puchi puchi puchi puchi. Puchi, Puchi, puchi puchi puchi puchi puchi puchi puchi puchi puchi puchi puchi puchi puchi puchi, puchi puchi puchi puchi puchi puchi puchi puchi puchi puchi puchi puchi, puchi puchi puchi puchi puchi puchi puchi puchi puchi puchi puchi puchi puchi puchi puchi puchi puchi puchi puchi, puchi puchi puchi puchi puchi puchi puchi puchi puchi puchi puchi puchi, puchi puchi puchi puchi puchi puchi puchi puchi puchi puchi puchi puchi, puchi puchi puchi puchi puchi puchi puchi puchi puchi puchi puchi puchi puchi puchi puchi puchi puchi puchi. Puchi.

Puchi Puchi puchi puchi puchi puchi puchi puchi puchi puchi puchi puchi puchi puchi puchi puchi puchi, puchi puchi puchi puchi puchi. Puchi puchi puchi, puchi puchi, puchi puchi puchi puchi puchi puchi puchi puchi puchi puchi puchi puchi puchi. Puchi puchi puchi, puchi puchi puchi puchi puchi puchi puchi, puchi puchi puchi puchi puchi puchi puchi puchi puchi puchi puchi puchi.

Hub hub, hub hub hub, hub hub, hub hub hub hub hub hub hub hub hub hub hub, hub hub hub hub hub, hub hub hub hub hub hub hub hub hub hub hub hub. Hub hub hub hub hub hub hub hub hub hub hub hub hub hub hub hub hub hub, hub hub Hub hub hub hub hub hub, hub hub hub hub hub hub; ¿hub hub hub, hub hub hub hub hub hub hub hub hub hub hub?

Hub hub hub: Hub. Hub hub Hub: Hub, hub hub hub hub, hub hub hub hub hub hub hub hub hub hub hub.

Hub hub Hub, hub hub hub hub hub hub hub hub hub hub, hub hub hub hub hub hub hub hub, hub, hub hub hub hub hub hub hub hub hub, hub hub hub hub hub hub, hub, hub, hub hub hub hub hub hub hub hub hub hub, hub hub hub hub hub hub hub hub, hub hub hub hub, hub, hub hub hub hub hub hub hub hub hub hub hub hub hub hub, hub Hub hub hub hub hub hub hub hub.

Hub hub hub hub hub, hub hub hub hub hub hub, hub hub hub Hub hub hub hub hub hub, hub hub hub hub hub hub hub hub hub. Hub hub hub hub hub hub hub hub hub, hub hub hub hub hub hub hub.

Pooo pooo, pooo pooo, pooo pooo pooo pooo pooo pooo pooo pooo pooo pooo pooo pooo pooo pooo pooo pooo. Pooo pooo pooo pooo pooo pooo pooo pooo pooo pooo. Pooo pooo pooo pooo pooo pooo pooo pooo pooo pooo pooo, pooo pooo pooo pooo pooo pooo pooo pooo pooo pooo pooo pooo pooo pooo pooo pooo pooo pooo pooo. Pooo pooo pooo pooo pooo, pooo pooo pooo pooo pooo pooo pooo pooo pooo pooo pooo, pooo pooo pooo, pooo pooo pooo pooo pooo pooo pooo pooo pooo.

Pooo pooo pooo pooo pooo pooo. pooo pooo pooo pooo pooo pooo pooo pooo pooo, pooo pooo pooo pooo pooo pooo pooo pooo pooo pooo pooo pooo.

Pooo pooo, Pooo pooo pooo pooo pooo pooo pooo pooo, pooo pooo pooo pooo pooo pooo pooo pooo pooo pooo pooo pooo pooo. Pooo pooo pooo pooo pooo pooo pooo pooo pooo pooo, pooo pooo pooo. Pooo pooo pooo pooo pooo, pooo pooo pooo.

Pooo pooo, pooo pooo pooo pooo pooo pooo pooo pooo pooo pooo pooo pooo pooo. Pooo pooo pooo pooo pooo pooo pooo pooo pooo pooo pooo pooo pooo pooo pooo. Pooo pooo pooo pooo pooo pooo pooo pooo pooo pooo pooo pooo pooo pooo. Pooo, pooo.

0


Buddy Spencer

Habi - 27/12/2009 1:19:31 - Chorradas

Seguro que muchos de vosotros habéis visto uno de estos cacharros. Pues bien, hace no mucho vi en DealExtreme esto otro.

¿Clon chino? ¿Compatible con el original? Barato al cambio en cualquier caso, así que me pedí uno; en el peor caso, siempre valdrá para modding.

La caja, el monigote, los mecanismos, el gato de plástico de sujeción, todos son iguales al i-buddy. Sin embargo, no tiene el logo en la base y en la caja pone claramente e-buddy en vez de i-buddy.

Pero hay algo aún más extraño; en el manual pone bien claro "(c) 2007 Union Creations Limited", es decir, los creadores del i-Buddy.

Y es que, en efecto, tiene toda la pinta de ser una versión anterior o prototipo del mismo. El programa tiene la misma arquitectura, sólo que más primitivo, salvando además el tema compilador. El tipo de dispositivo USB (HID) y el sistema de mensajes para controlar el monigote son también similares.

También es de una fecha anterior (2007 en vez de 2008), y buscando por internet he encontrado en DHGate "i-Buddy/ibuddy MSN chat partner upgrades e-buddy Little Angel".

Tiene sentido que cambiasen el logo de e-buddy a i-buddy al salir de china; por un lado la e es la del Internet Explorer, y por otro ya existe ebuddy como marca registrada, un servicio de mensajería instantánea vía web / móvil.

Lo de prototipo lo digo porque se identifica como producto "EBUDDY DRIVER" de la compañía "Test", e incluye en sus cadenas una descripción que dice que es un ratón compatible HID. Un buen punto de partida para este firmware, realmente. El identificador USB es 0C45:0011, perteneciente a Microdia ¿quizás el microcontrolador? Extraño.

Y hablado de interioridades, debo decir que me llevé una sorpresa: no tiene cables como tales, sino hilo fino de cobre esmaltado, supongo que para abaratar costes; si alguien piensa en abrirlo, que tenga cuidado.

La placa es simple, con su microcontrolador (no sabría decir cual, habría que hacerle pruebas) y un montón de transistores como drivers para las luces y motores. También tiene un sitio en el debiera ir un pequeño buzzer, que no trae. ¿Alguien sabe si trae uno el i-buddy?

Como el programa que trae no es gran cosa y es incompatible con un Windows de 64 bits, me hice en una tarde mi propio programa en Delphi. Realmente basta una simple llamada a HidD_SetOutputReport para mandar el mensaje.

En cualquier caso, otra chorrada para la colección, algo que nunca viene mal.

7


Otro formato

Habi - 28/11/2009 19:50:19 - Tecnoesoterismo

El primer juego hentai que se publicó en inglés (y en "castellano" más adelante) fue el Cobra Mission. Pongo castellano entre comillas porque aunque están traducidos los diálogos del juego, el resto (menús, nombres de objetos, sistema de combate, ...) sigue en inglés. Incluso en su versión inglesa tiene ciertos problemas de traducción. Para más información, la wikipedia.

Lo que poca gente sabe es que originalmente era un juego japonés para PC98, con el mismo nombre. El juego para PC es un refrito del de PC98, con retoques y gráficos efectuados por unos chinos en colaboración con MegaTech (americanos). De nuevo, para más información, esta página.

A lo que por cierto, puedo confirmar que en efecto el tío de las fotos NO está en la versión de PC98, así como TAMPOCO las revistas o el servicio de mensajería. De hecho, el gráfico del último es originalmente el del funcionario del ayuntamiento del sur de Cobra (gracias a Z, por la traducZión).

Como decía en el post anterior, no fui capaz de sacar las imágenes en aquel momento. Años después y con el IDA lo acabé abandonando por aburrido, ya que tenía mezclada dos rutinas de descompresión con varias de volcado (diferentes modos de EGA y VGA).

Pues bien, me cogí hace poco la versión de PC98 y decidí no abandonar hasta conseguirlo. Y lo conseguí. Ahora puedo ver todas las imágenes, incluyendo los monigotes del mapa que bien me hubiesen venido para La Morgue:

Como se puede ver, los muebles son típicamente japoneses, los cambiaron en la versión PC. Tengo puesta la paleta de la ciudad, no la de las casas, por eso se ven así algunas cosas.

Pero lo mejor es lo que está escrito en inglés en el juego; hay joyas exponentes del síndrome "all your base are belong to us" como:

Hay muchos errores ortográficos debidos principalmente a una transliteración katakana -> romanji, como derector, ceef o coution en vez de director, chief o caution, que cualquiera que haya estudiado los kanas identificará.

El juego de PC98 está mucho menos censurado. En el de PC han pintado ropa, puesto objetos en medio, etc. Supongo que la censura americana es (o era) mayor que la japonesa. También han retocado alguna ropa, quitado el rubor que tienen todas las monigotas (independientemente de la imagen que sea), y cambiado carteles según les ha convenido. Como bien dice el autor de la página anterior, han cambiado completamente la trama (a lo que yo añado: incluyendo una sorpresa final con el enemigo final que NO tiene la versión de PC). No diré más.

Ahí van un par de fotillos que no están en la versión PC. Hay un gallifante de premio para el que sepa dónde han reusado una imagen de la primera:

Respecto al formato, es complejo; está orientado a componentes, entendiendo como componente una secuencia que incluye un byte por cada plano de la imagen (3 o 4, según tenga 8 o 16 colores), empaquetando 8 pixels.

Códigos de longitud variable, diccionario, operaciones de copia y operaciones raster, con bastantes casos. Pero cayó en un par de días, y tengo otro visor como el del Mugen.

1


Recapitulando (II)

Habi - 28/11/2009 17:58:46 - Chorradas

Y otra recapitulación. De pequeño conseguí un juego de tablero llamado "La Morgue", en el cual no había reglas, tenías que hacerlas tú. Por aquel entonces tenía mi primer PC, una impresora matricial y el Print Master (mítico programa del cual ya he hablado), así que saqué impresas un montón de "fichas" de personajes, objetos, dinero, etc. Y menudas partidas nos jugábamos mi sobrina (la mayor) y yo, en plan cuasi rol.

Así pues, tendría yo en torno a 15 / 16 años cuando decidí hacerme mi propio juego basado en La Morgue. Me hice el motor 100% en ensamblador (demasiado rápido incluso para mi viejo 8086, tuve que ponerle sincronismos con el haz de retrazado), un editor de dibujos (que fue mejorando con el tiempo, pues lo usé para otras cosas) y me quedé atascado donde siempre: los gráficos.

Afortunadamente descubrí como era el formato del Print Master, con lo que pude coger algunos de allí, modificarlos y colorearlos. Y fue entonces cuando me pasaron el Cobra Mission, cuyo post vendrá a continuación y es objetivo de estas recapitulaciones.

El caso es que capturando algunas pantallas (no pude descubrir cómo era el formato de sus imágenes) pude robarle algunos gráficos y retocarlos. El juego quedó más o menos listo, a falta de un guión decente. Aquí os pongo unas imágenes inéditas:

Si habéis jugado al Cobra Mission os sonarán algunos gráficos, incluyendo el de la protagonista. Respecto al editor de gráficos:

Esta es la última versión que hice del mismo. Puede importar y exportar los formatos de Autodesk Animator, y también es 100% ensamblador.

En fin, otro motor que hice que al final no se usó para nada. Lo mismo pasó con otro isométrico, otro 3D, otro 3D que proyecta ortogonalmente en 2D para aventuras gráficas con animación vectorial por esqueletos (FANGO), ...

Bueno, al menos puedo decir: "tengo un engine RPG en el garaje, nunca lo usé".

0


Recapitulando (I)

Habi - 28/11/2009 15:04:47 - Tecnoesoterismo

Me falla la memoria; haciendo un post nuevo, me he puesto a buscar otro que creía haber escrito en este blog, cuando no lo hice aquí. En fin, copiaré una parte del mismo actualizada para que se quede en este sitio para la posteridad (la caché de Google).

El post es sobre un juego antiguo, una de esas historias interactivas eroge tan comunes en Japón y una de las pocas en ser traducidas al inglés. Su nombre es Nocturnal Illusion (Mugen Yasoukyoku).

Normalmente suelo pasar de este tipo de juegos, pues no suelen ser más que una excusa para mostrarte imágenes hentai. Sin embargo este tiene una muy buena historia de fondo y las escenas cerdas metidas como con calzador. Me dijeron que me iba a gustar y no se equivocaron. En esta línea de juegos de misterio (aunque con toque gore en este caso) podemos encontrar más recientemente a otros como el DiviDead (pobre perro ¿Saburo se llamaba?), pero eso es otra historia.

Le eché una ojeada por dentro, y me di cuenta de algo: no es más que una máquina virtual, los verdaderos scripts son independientes de la plataforma. Considerando los inconvenientes del juego (es un ejecutable de 16 bits NE, pero con un segmento de 32 bits para las operaciones gráficas) me decidí a analizarlo y generar de nuevo la máquina virtual.

Tal cual está no funciona en ninguna versión de Windows de 64 bits (pues ya no existe la máquina virtual de 16 bits). Tampoco es fácil debugearlo, pues está dentro de la VM de 16 bits, y la mayoría de los debuggers asumen siempre código de 32 bits, y aunque no sea así saltamos al código de la VM a la mínima. Sólo hay un desensamblador (que no debugger) que funciona bien, el IDA, con esta mezcla 16 bits / 32 bits.

Así que lo primero que hice fue desensamblarlo enterito, y después de agrupar código y datos, quitar basura, renombrar las cosas, identificar estructuras, etc, acabé con un librito de sólo 170 páginas en Courier de 8 puntos, doble columna y doble cara.

 

Más tarde, y tras buscar durante bastante tiempo, fui capaz de encontrar el original japonés para PC98.

¿Qué es un PC98? Es la abreviatura de PC-9801 y de los PC-9821, unas máquinas autóctonas de Japón fabricadas mayormente por NEC aunque hubo clones. Mientras aquí teníamos PCs, ellos tenían sus propias arquitecturas y no fue hasta la salida de Windows 95 que las empezaron a dejar de usar.

Estaban basados en x86 (8086, NEC v30 en principio; 80286 y 80386 más adelante, y después son básicamente PCs), con sus chips PIC y DMA pero en otras direcciones de hardware. Distintas BIOS con su soporte de kanas y kanjis y hardware de video y sonido dedicados. Aunque había otros competidores (x68000 (Sharp) y FM Towns (Fujitsu), por citar algunos), este fue el más extendido.

Tenían su versión de DOS y todo, similar al DOS/V pero con los kanas en BIOS, y usaban los mismos formatos de disquete y casi los mismos de disco duro (aunque con algunos cambios; hasta 16 particiones en vez de 4, unidad de arranque siempre A en vez de A ó C, arranque desde cualquier unidad (disquete, HD, MO, CD-ROM, ...), proceso de arranque estandarizado). Por eso es que es relativamente fácil entender sus programas, salvando accesos a hardware y llamadas BIOS.

En cualquier caso, las fases del proyecto con el Mugen son:

  1. Desensamblado (100%).
  2. Análisis (100%).
  3. Creación de la máquina virtual (75%).
  4. Creación de herramientas de manipulado de scripts (ensamblado / desensamblado) (0%).
  5. Modificaciones al programa (0%):
    1. Traducirlo al castellano.
    2. Añadirle el texto original japonés (y creo que también salió en chino, si alguien lo sabe que me lo confirme).
    3. Poner un modo sin escenas cerdas.

De momento está parado, hasta que me dé el yuyu algún día. Pero está bastante avanzado, funcionan perfectamente todos los menús y muchas partes del juego, y es compatible con los juegos guardados que se tengan.

Su VM trabaja con palabras de 16 bits, y tiene alineado su código y hasta sus datos a nivel de direcciones. Consta de unos 100 opcodes distintos, con funciones tanto de bajo como de alto nivel.

Particularmente me costó la rutina de decodificar las imágenes, una mezcla de códigos de longitud variable y diccionario rotatorio. Un formato japonés conocido simplemente como PI.

También hice una herramienta que manipula los archivos empaquetados, extrae, quita y pone ficheros, y navega por las imágenes y scripts mostrándolos.

Y ya vale de post, que bastante he escrito para ser una recapitulación.

0


Nigromancia II

Habi - 12/11/2009 12:51:30 - Posts lúcidos

Hoooooooola, vine a reanimar a los muertos.

 

 

Bueeeeeeeeno, chao.

2


Formatos

Habi - 01/11/2009 23:02:00 - Tecnoesoterismo

Dibujos

Mi primer programa de dibujo venía con mi primer ratón (que me regaló mi hermana) para mi primer PC. Por aquel entonces, eran un artículo de lujo y costó lo suyo.

El programa se llama Mouse Painter y, al igual que el resto del software, estaba en alemán:

El programa utilizaba el formato PCX, de sobra conocido. En sus tiempos me hice mi propio visor en ensamblador, y más adelante uno más refinado en Turbo Pascal con soporte para más formatos. He aquí un pequeño collage de dibujos hechos con ese programa que aún conservo (y hay un premio para quien averigüe de dónde sale la tortuga esa):

Tiempo después llegó un programa de dibujo un tanto mejor, el Dr Halo:

El otro día intenté leer sus archivos de dibujo, y me di cuenta de que no aparece la información exacta del formato PIC en ninguna parte, sólo del CUT (para recortes). Además, no funciona bien en DosBox.

Una vez terminé mi propio programa conversor, me dijeron que sí existía algo de información en http://www.dal.kr/chair/ce/gformat/halo.txt, aunque es para una versión anterior, no listan los modos de video y tarjetas, no saben lo que hacen los campos de longitud y peor: no dicen cómo están los gráficos, se limitan a decir “I *do not* recommend trying to do any conversions to or from Halo .pic files. They are terribly sensitive to boards and modes thereof”.

En fin, ahí va otro de esos collages:

Y finalmente vino la época dorada: el Autodesk Animator y el Autodesk Animator Pro. A mi parecer el mejor programa de dibujo y animación, con permiso del Deluxe Paint, y facilidad de exportación para usarlos en mis propios programas (GIF, PIC en crudo, y documentación abundante de los formatos CEL, FLI y FLC):

Y aquí nada de collage, porque ya no era tan niño cuando hice los dibujos, y en este caso sí avergüenza. Pondré sin embargo un dibujo psicotrópico de una sobrina mía:

 

Sistemas de archivos

Supongamos que se tiene una imagen de disco, y que ese disco tiene formato NTFS. Aunque bajo Windows 7 puede montarse no me vale, pues es de un disco pocho. Así que me decidí y le añadí soporte NTFS (sólo lectura) a mi programa editor de imágenes:

Total: una tarde. Y funciona, en vez de quejarse y cascar como hace el Linux (loopback) por estar pocho el disco.

 

Paquetes RPA

Y por último una petición, un programa que extraiga archivos del formato RPA que usan ciertos juegos:

Viendo que es un formato propio del Ren’Py y viendo para qué vale ese programa me hago una idea de para qué se le va a usar. En fin.

En cualquier caso, hay una pequeña cabecera que incluye dos datos: el origen del índice y la clave con la que se encriptan las entradas de posición y longitud de los ficheros. Los ficheros están además con basurillas entre medias para confundir, y en versiones modernas con parte del principio del mismo dentro de los índices.

Los índices están al final, comprimidos con Deflate, y codificados con esa clave. En versiones modernas están hasta los 16 primeros bytes incluidos dentro, para que no funcionen los programas de extracción de imágenes y tal (a la vez que mantiene la compatibilidad con las versiones anteriores). Y todo en un streaming de los objetos Python (pickled).

0


3D, o casi

Habi - 07/10/2009 22:34:43 - Tecnoesoterismo

Ya llegó mi nuevo pedido de DX. Esta vez tocaron algunas cosas para mi tallercito de electrónica y algunas gafas 3D.

Mi idea es usar unas de esas polarizadas con el monitor, aprovechando que el celofán gira 90º la polarización de la luz, para obtener una visión estereoscópica sin necesidad de recurrir a anáglifos ni nada por el estilo. Pero ya que estaban baratas, cogí entre otras las típicas con par rojo / azul.

Como seguramente sabrán, nVidia en sus drivers tiene soporte para sistemas estereoscópicos, a partir de una GeForce 8, para usar con gafas obturadoras de LCD y así enviar una imagen distinta a cada ojo sincronizándose con el refresco vertical.

Lo que ya es menos conocido es que tiene un modo “3D Vision Discover”, en el cual la propia tarjeta te monta el par en forma de anáglifo, corrigiendo colores, videos, etc. Así que decidí hacer la prueba.

El resultado depende un poco del juego pero es realmente bueno, y ya que funciona a nivel de drivers, compatible con casi cualquier juego o aplicación que use Direct3D. Particularmente estoy satisfecho con los resultados obtenidos con el Overlord, a pesar de no estar probado por nVidia, ni tener profile para él ni nada.

Hale, a dejarse los ojos.  8)

0


PDAndo USBísticamente

Habi - 04/09/2009 1:39:10 - Tecnoesoterismo

Esta es una imagen cogida de la web de cómo es la PDA que tengo con su peana, la cual es necesaria para cargarse, pues no se carga de USB:

¿Por qué no se carga de USB? ¿Por qué es el más de la mitad de alta que la propia PDA y aún más grande en profundidad? Esas son preguntas que siempre me hice. Así que me cargué la peana, y encontré una ínfima placa con el conector para la PDA, otro para el USB y otro para la alimentación:

El cable amarillo es un puente que le he hecho: de la alimentación del USB (igual que la de la fuente) al conector donde iba la misma. Ahora la PDA se carga de USB y sólo de USB (aunque se podría poner un diodo de baja caída pasé al final):

¿Por qué pasé al final? Pues porque con la fuente de alimentación externa y un conector USB hembra doble de una placa madre averiada puedo hacer esto:

Y alimentar / cargar cualquier cacharro USB directamente de la red, incluyendo si quiero la propia PDA.

¡Tachán!

1


M$ Boy

Habi - 02/08/2009 21:32:14 - Chorradas

Ahora que estoy de vacaciones tengo más tiempo para trabajar en casa. Colocando cosas de las cajas de la mudanza que aún tengo en el trastero, me he encontrado con esto:

Es el MS-DOS 4.01 que venía con mi primer PC, qué recuerdos. Pero al lado tenía esto:

¿Un 6.22 original? ¡Ah, ya recuerdo! Venía de regalo con:

Este NT4 server. También he localizado:

Un Windows 3, un NT4 workstation y este 98se. Pero no sólo había cosas de Microsoft en la caja, no crean:

Aquí tenemos un excelente DR-DOS 6.0, con su ViewMAX.

Y cosas más bizarras; un ServerGuide de IBM y software CAD para estaciones de trabajo CLIPPER (un cuasi-RISC de 32b) ejecutando CLIX (una variante de UNIX V) con extensiones de servidor para VAX / VMS.

A ver si me traigo del curro los ME, 2000 y XP para la colección.

3


Reglas del 10:
10 últimos   10 después   10 antes   10 primeros