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

Habi dice: puede ser que realmente estés adelgazando, y tu báscula sólo mida el valor absoluto

HAL

Habi - 03/04/2008 2:33:07 - Tecnoesoterismo

Hace tiempo, buscando imágenes de disco del Knight Force para poner los archivos en sus respectivos discos originales, me encontré con una cierta recopilación. Os invito a mirar el siguiente link: [link].

Alguien se ha tomado la molestia de recopilar todas esas imágenes (y otras muchas más que todavía no ha publicado) de discos de juegos de los años del DOS. Me picó bastante la curiosidad, tenía una ADSL en el curro muerta de asco, una cosa llevó a la otra...

Al grano: en efecto esos archivos contienen las imágenes de disco, y estas son correctas. Sin embargo, están hechas con un programa raro, el EPLCopy (de uso interno de IBM y que no conocía hasta hace poco), nada de CopyWrite, DCP, o una simple imagen RAW en crudo. Si hay craqueos en los juegos, no hay disco llave, luego entonces deben ser imágenes estándar, luego lo lógico es usar RAW.

Sólo se encuentra por internet ese programa (v4.21 y v5) en una subida del propio autor a GigaSize. Descarga que me casca siempre que intento bajarla.

Con la v4.21 se baja bastante, así que uso un gestor de descargas, le interrumpo, renombro a .zip y arreglo con el WinRar. Se puede extraer el ejecutable.

Como dice el autor, sólo se puede grabar con el programa a disco, y eso bajo DOS. Ningún programa entiende este formato raro.

¿Qué hizo Habi a continuación? Lo que no haría nadie en su sano juicio: tratar de averiguar el formato del fichero estudiando el programa a partir de su desensamblado.

Pero primero hay que quitarle las compresiones y protecciones (*ays*). Cups, Tron y el debugger del DosBox (versión desarrollador, claro), y queda medio listo para empezar. En el Ida hay que reconstruir el segmento de datos y se puede empezar a trabajar.

Está compilado en MS C, de las primeras versiones. Buen programador, mal compilador; el hombre ha hecho trucos a nivel de FDC, BIOS y DOS todos juntitos, el compilador ni las optimizaciones más básicas.

Pero finalmente, tras dos días, he sacado el formato. Al final del fichero un pie opcinal de 512B con la descripción del disco, seguido de otro variable (18B normalmente, depende de la versión); al principio una o más cabeceras de 80B (normalmente una) CODIFICADAS con una tabla rara. Después, todos los datos están comprimidos con un simple run-length, con el código F1 como prefijo y alguna modificación en las repeticiones.

Estos datos están separados por pistas de disco; cada una empieza con una cabecera de al menos 80B de descripción con los datos de los sectores y después todos los datos en crudo de las pistas. ¡Por fin!

Programita en Delphi, abrir el resultado con mi editor de imágenes o el WinImage o lo que sea, y arrastrar afuera. Ya tengo entretenimiento para este finde con mis emuladores.

9


MeduShow

Habi - 21/03/2008 2:47:30 - Yuyus

No intentéis entenderlo...

3


Tres cenas, tres...

Habi - 09/03/2008 18:23:47 - Tecnoesoterismo

...de la ganadería de L. Premio merecido por sacar en algo legible los datos de un antiguo disco, 3" / PCW / LocoScript.

Cena 1:

Esta es la fase hardware. Para leer este disco de 3" usamos un Spectrum +3 (que tiene disquetera de 3" y un µPD765 como controlador), al cual se le ha acoplado una disquetera de 3½" de PC para intercambiar los datos.

En principio el disco recalibró varias veces mientras lo analizaba bajo +3DOS, pero al final se leyó bien. Normal, pues llevaba mucho tiempo sin leerse. En vez de copiar los ficheros al otro disco, opté por hacer una copia sector a sector y luego volcar la imagen en el PC con mi editor de imágenes de disco, para no perder datos. Me dí cuenta de que el tamaño libre no se correspondía con el teórico del disco, esto lo veremos con más detalle en la siguiente fase.

Otra ventaja de la imagen es que la lectura es secuencial, con lo que eliminamos posibles time-outs y fallos del disco (que tiene muuuchos años) bajo un acceso aleatorio.

Cena 2:

Las imágenes por sí solas bastarían para trabajar con esos datos bajo un emulador de PCW, como Joyce o MESS con su driver. Pero nos interesan los archivos, en PC, en algo legible.

Teniendo en cuenta que estos están clasificados en grupos (incluyendo el limbo, posiblemente la primera papelera de reciclaje de la historia) del LocoScript, y éstos están basados a su vez en los usuarios del CP/M, además de existir archivos ocultos y de sistema, usamos de nuevo mi editor de imágenes de disco sobre las imágenes anteriormente creadas. Si los hubiésemos copiado tal cual a otro disco hubiésemos perdido toda esa información.

En cualquier caso se extraen, se borran los de arranque / grupos / configuración del propio LocoScript y luego añadimos la extensión .abj (por ejemplo) a todos los ficheros para que no se confunda el Windows.

Ahora sólo nos falta convertirlos a algo legible.

Cena 3:

Hay por ahí varios conversores de LocoScript a algo, y todos cascan o son de pago. Finalmente me decanto por WinConv, con sus modulitos para LocoScript y RTF.

Es de pago, pero dan una versión demo, la cual sólo convierte hasta 25 archivos, y nunca más de 10.000 bytes en cada uno. Siendo el programa de 37KB, sin compresión / empaquetado / protección, es desprotegido en dos minutos y me salto ambas restricciones.

El programa funciona bien. Sólo tiene una pega: se come unos caracteres del principio de los ficheros. Así que los miro uno a uno, contrastando con el volcado hexadecimal del paso anterior y se corrige.

Moraleja:

Una hora del paso 1, un minuto del paso 2 y media hora del paso 3 = 1:31; y 1:31 de mi tiempo bien vale tres cenas.

4


Total Sauna

Habi - 08/03/2008 17:48:55 - Chorradas

Creo que todos sabéis las circunstancias de la gente que me vendió la casa, de los antiguos propietarios que allí habitaban y sus gustos (siguen en el trullo hasta donde sé).

En caso es que todavía me llega correspondencia suya; en concreto la revista "La tienda en casa". No tiene desperdicio, mejor que cualquier comic de Mortadelo y Filemón.

Casi cualquiera de sus productos sería merecedor de un post: el dosificador de cloro para piscinas Pulp’o, el spa hinchable Lay-Z-Spa, el collar de energía positiva I.Ballance, ...

Pero como hay que elegir, me quedo con este:

La sauna portátil Total Sauna (anunciada en TV, nos dice). Esta mochila gigante con agujeros para la cabeza y manos, y silla de plástico de regalo.

1


¡Chí Cheñó!

Habi - 03/03/2008 23:18:31 - Chorradas

Ohlah como-tahmoh...

Todos tenemos algún deporte. El mío es el de poner búsquedas aleatorias y seguir los links aun más aleatoriamente. Así es como a veces encuentro auténticas (e incomprendidas) joyas.

El caso es que hoy he encontrado ALGO. Algo que ni me imaginaba que podía existir. Algo que de hecho, no debería existir.

¡Ni más ni menos que la web oficial del señor Barragán! -> http://www.barragan.tv/

Si no le conocen diré que aproximadamente entorno al 6 A.Ch. (antes de Chiquito) campaba este personaje por la televisión, con su particular humor verde - asqueroso que tanto nos gusta. Yo lo conocí en su época dorada (?), en el programa "No te rías que es (lo puto) peor".

Qué gran personaje. Qué recuerdos cuando lo vi aparecer en algunas de las pelis de Torrente. Y no soy el único; hace tiempo vi en Viruete un review de ese programa precisamente, en el que fue nombrado "El embajador de la ponzoña". No hace falta decir más.

Se lo crean o no, este personaje se encontraba en mi sagrado panteón: en el centro Yo (quién si no), a mi diestra el Inspector Gadget y Einstein, y a la izquierda el Sr. Barragán y Darth Vader.

Y no diré nada más de él; estoy demasiado ocupado saqueando esa web, mucho menos casposa que el propio Barragán.

5


Cazador cazado

Habi - 01/03/2008 22:11:45 - Posts lúcidos

Cualquier profesional tiene sus herramientas; una de mis preferidas es el IDA pro.

Es un desensamblador interactivo. Cambia los nombres, referencias, etc simultaneamente, analiza código para encontrar más código y datos, infiere las estructuras a partir del API, propaga tipos... todo en tiempo real. Si no entiendes lo que quiero decir: este programa es una de las 3 cosas en el universo conocido que más me ponen. Y no es la número 3.

Ayer me bajé la nueva versión 5.2 (690€ que cuesta, y merecidos; si fuese rico lo compraba), junto con el Hex-Rays. Tenía ganas de probar este plugin descompilante. El descompilador funciona relativamente bien, pero sólo para código x86 de 32b; no vale los 1500€ que cuesta. Cuando maneje código de 16b será medio útil para mí.

Pero vamos al grano; abriendo una BBDD de desensamblado anterior, me ha salido el siguiente cuadro de diálogo:

En efecto, lo hice con una versión pirateada. Igual que con la que la estoy abriendo ahora, debo añadir.

UltraEdit, buscar la cadena en archivos, la localizo (entre otros sitios) en ida.wll; es una DLL realmente, la cargo en el propio IDA, referencia cruzada sobre la cadena, localizo el lugar y parcheo un Jz (74h) por un Jmp (EBh). Listo en menos de 3 minutos.

¿Por qué no se han molestado en esconder las cosas o en añadir protecciones, encriptados... algo? ¿Será porque conocen a la gente que maneja este programa y la eficiencia del mismo?

2


Intrusión

Habi - 25/02/2008 16:24:16 - Chorradas

"Debate" - Habi, 2008

 

Y dedicado a T. (ya que estaba con el Photoshop):

1


Dudas existenciales

Habi - 18/02/2008 23:02:29 - Chorradas

En su día, mucha gente jugó al Monkey Island; de esa gente, poca jugó la versión CD o la FM-Towns. Estas versiones traían gráficos en el inventario, en vez de los textos de las versiones normales.

Por ello es que siempre surgía la eterna pregunta:

¿Cómo es un pollo de goma con una polea en el medio?

¿Tiene la polea en la tripa? ¿Longitudinalmente? ¿Transversalmente?

Va por ustedes.


2


Resultados concurso

Habi - 08/02/2008 17:08:56 - Chorradas

¡¡¡Hooooolaaaaa, guapooossss!!!

Soy yo, Richie, vuestro azafato favoritooooo.

Me han pedido que os dé los resultados del concurso "Encuentra a UltraVesti". Así que bueno, aquí os dejo estas tablas y gráficos que he hecho con el Excel. Están todos supercurrados de la muerte.

3


Grata sorpresa

Habi - 03/02/2008 19:48:56 - Tecnoesoterismo

Jugando a juegos antiguos, encontré mi querido Alley Cat.

Juego que funciona perfectamente incluso bajo XP, por sus rutinas de retardo / sincronismo. Mejor no probarlo bajo DosBox, porque no hace una emulación de los ciclos de cada instrucción.

Me dio el punto y me puse a desensamblarlo. Y me di cuenta de que las rutinas gráficas encargadas de poner la paleta de colores eran dobles, y se discriminaba por que el valor de una variable valiese FD; una variable que se inicializaba con el valor de F000:FFFE (FFFFE), el machine ID. ¡Estaba tratando el caso especial del PCJr! Y de una manera no compatible con el Tandy 1000.

Esto merece una explicación; no entraré en detalle sobre la historia de los PCs. Sólo decir que después del PC (Agosto 1981) y el XT (Marzo 1983), en IBM decidieron hacer un ordenador más cutrillo y tal, orientado para la familia en vez de los negocios: el PCJr (Noviembre 1983).
El ordenador en cuestión fue una ruina. Aunque tenía gráficos de 16 colores (una CGA mejorada), era bastante incompatible con el PC, más lento debido a utilizaba el reloj del sistema para el refresco de la memoria, tenía un teclado infame (e inalámbrico), era caro y sobre todo: los ordenadores de 8 bits YA lo superaban en gráficos, precio y catálogo de juegos. No digamos ya los de 16 bits como el Amiga.

Por su parte, Tandy decidió hacer unos clónicos orientados al uso doméstico. Como había salido hace poco el PCJr decidió hacerlos compatibles con él. Una semana antes de su lanzamiento IBM anunció que renegaba del PCJr, así que Tandy cambió toda la publicidad de su ordenador a "MS-DOS compatible", lo cual no era falso.

Pero volvamos al Alley Cat.

Experimenté con el DosBox. Tanto en modo PCJr como en modo Tandy con un ejecutable parcheado el resultado que tenemos es:

Probé en Tandy con el parcheado porque dicen que la emulación de PCJr está al 50%. Pero nada, siempre saca el juego esa paleta, lo cual contradice el código del juego, el cual para cada habitación utiliza una paleta distinta. Y no es esa, además.

Utilizando el MESS para emular un Tandy 1000, con el ejecutable parcheado:

Esto sí se corresponde a los colores definidos en la tabla para la pantalla 0, la presentación.

Sé que se hicieron muchos juegos que detectaban Tandy 1000 y tenían gráficos y sonido mejorados, pero nunca había visto uno exclusivamente para PCJr.

(Nota: Todos los gráficos son en RGB; paso de video NTSC compuesto.)

(Moraleja: El DosBox es una mierda para cosas antiguas; incluso PicoXT (29Kb de emulador) le da mil vueltas.)

4


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