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

Zarith dice: en general, tengo que probar cualquier cosa que tenga nabo

Consejos Nu

Habi - 31/01/2011 21:03:27 - Chorradas

La vida es dura para los que adoramos a Nu. Cuán difícil es conseguir artículos Nu, como la sarta de cuentas Nu, o el célebre pañuelo Nu de nuestro gran profeta Tokoro Tennosuke.

Es por ello que hoy en nuestra sección de manualidades traemos algo que no puede faltar en nuestro altar: una figurita de papel de nuestro querido apóstol:

La cual incluye todos sus extras:

Y para los más ambiciosos, incluyendo el celebérrimo pijama Nu:

Congratulémonos; sigamos su ejemplo y oremos ante tamaña revelación:

2


Message in a bottl... program

Habi - 30/01/2011 3:25:40 - Chorradas

A veces cuando uno mira por dentro de las cosas se lleva sorpresas en la forma de mensajes, y en el caso del software mucho más.

Por ejemplo, veamos un trocito de la ROM del venerable Spectrum +3:

Tiene razón, no debiera ver nunca ese mensaje. A pesar de estar en el área de mensajes y tener el formato de uno no se encuentra direccionado en la tabla de los mismos. Y el saludo no pinta nada, pero es muy simpático. Esto está presente en todas las versiones de ROM del Spectrum +2A / +2B / +3, incluso las traducciones como este caso.

Otras veces los mensajes no son tan acogedores; véanse los que puse en mi post de las imágenes de disco; o véase esto, en el BOOT de un disco de MSX:

O decodificando sectores del mismo:

Al final me llevó como unos 15 minutos saltarme la protección, aunque como factor atenuante debo decir que nunca antes había tenido contacto alguno con un MSX. Gracias a San Google, aprendí sobre la marcha.

Por último, una mezcla de penita, molestia y ganas de decir "lo hago por deporte, ni siquiera me interesa tu programa obsoleto, deja de dar la brasa":

-

-

-

-

Es un programa antiguo, un emulador de CP/M usando el modo 8080 de los NEC V20 / V30. Sin protección alguna, no sólo sé por qué se muestra el mensaje ese de arriba sino que es realmente obvio en todo lo que hace. No me extraña que optaran por dar penita en vez de picar al personal.

8


Parches de hemoglobina

Habi - 25/01/2011 13:11:44 - Tecnoesoterismo

Hace poco me volví a instalar el Vampire Bloodlines para sacar unas capturas de pantalla comparativas con respecto al Limbo of the Lost. Sólo el juego original con su parche oficial.

Y cuál no sería mi sorpresa al comprobar que me decía que mi ordenador necesitaba al menos 15MB de RAM instalada (ni siquiera libre), y que yo sólo tenía una cantidad negativa. He aquí uno de los más típicos errores: abusar del tipo int, cuando hay cosas que no deben tener signo.

Porque el compilador genera comprobaciones con signo, las cuales nos cascan a partir de los 2GB.

Busco la cadena en un las dlls, la encuentro en Bin\engine.dll. La meto en el IDA, localizo la cadena, referencia cruzada y listo:

El API capa a partir de los 4GB, para que no casquen las aplicaciones antiguas que no usan GlobalMemoryStatusEx, así que no hay peligro de perder bits; por lo tanto cambié el 7D (jge) en 200FA494 (000FA494 en el archivo) por un 73 (jae) para hacerla sin signo. Pero bien podría ponerse un EB (jmp relativo de 8 bits) y que funcione siempre. Y a jugar.

Sé que algunos de los parches no oficiales incluyen esta librería desde el Half-life 2 (mismo engine) o algo más moderno, pero no es plan. Así  al menos, fueron 4 minutos divertidos, mucho más que tener que buscar un parche por internet, bajarlo, instalarlo (sacando backups previos por si acaso), etc.

1


Plagio of the Lost

Habi - 24/01/2011 15:52:39 - Yuyus

Hace ya algún tiempo oí hablar de cierta aventura gráfica, famosa por infame, llamada "Limbo of the lost". ¿Por qué infame? Haced una visita a la Wikipedia [http://en.wikipedia.org/wiki/Limbo_of_the_Lost] y bajad hasta la sección "Plagiarism".

A sabiendas de todo eso, sabiendo que me gusta lo malo y habiendo localizado la susodicha (no es fácil encontrar una fuente decente; la retiraron del mercado y es mala de narices) me dispuse a jugarla; y habiéndola por fin acabado ahí va este post, otro de mis extraños reviews.

Por el argumento y las primeras impresiones uno cabría esperar un enfoque serio. Nada de eso. Entonces, ¿humorístico, quizás? ¡Tampoco! No se define en ningún momento, pasando de un pseudointento de horror a otro pseudointento de coña marinera a cada momento, sin lograr alcanzar nada plenamente.

También tiene su ración de bugs, como el cursor que desaparece en las fuentes de luz, el menú de acciones que no reconoce el objeto si el personaje estaba hablando mientras lo abres o mi favorito: el reiniciar la fase de animación cada vez que se hace clic. ¡Imite a Chiquito de la Calzada a golpe de ratón, finstro pecadorl de la pradirar!

Aderécese con serios anacronismos, absurdos, y puzles más que trillados y simples. De hecho, me dan pena, no porque puedan resolverse todos en cuestión de minutos, que se pueden, sino porque te dan pistas (guiño, guiño) en las descripciones de los objetos. Me parece muy triste, por no decir un insulto a mi inteligencia.

El arte (no plagiado) es nefasto: el juego tiene es en dos dimensiones, con cosas renderizadas, pero se nota que han usado texturas pequeñas, las animaciones 3D de personajes nos recuerdan a Musiquito imitando a un robot en su Baile de la Mosca mientras la cámara se mueve atrás y adelante, y lo peor de todo: han reutilizado el mismo arte una y otra vez, usando la reflexión horizontal en Photoshop (especialmente donde los trenes). Y hablando de photoshopeados; juzguen ustedes mismos el tamponeo en la pared de la derecha:

O los ángulos de este tren (eléctrico, y en 1872, recordemos):

Y así todo el juego. Triste. En el caso de las animaciones, además, no hay forma de quitarlas, lo cual junto con el que el juego está lleno de pantallas vacías y que hay forma de que el personaje vaya rápido de un sitio a otro, hacen que el 98% del juego te lo pases en postura facepalm.

Pero vamos al punto fuerte del tema. El plagio. En efecto, reconozco al Oblivion, Thief, la tumba de Beetlejuice y otros tantos citados en la Wikipedia, haciendo que jugar a este juego sea un constante Déjà vu. A esa lista habría que añadir otros como el Discworld Noir, Noctropolis o Neverwinter Nights, e incluso el protagonista se nos marca la canción de Indiana Jones con una flauta. Y el plagio, además, es el motivo de este post.

Porque por todo lo anterior, y habida cuenta de mi gusto por lo malo, le pondría un 6. Pero han cometido un error imperdonable: plagiar un juego de mis favoritos, uno de culto, uno del cual me sé de memoria hasta sus scripts en Python. Me estoy refiriendo al Vampire Bloodlines:

     

     Así que un 2. Y va que se chuta. He dicho.

Por último, un gallifante de premio para quien adivine a qué juego pertenece esta pantalla (pista: mirad el kanji (norte) de la esquina superior izquierda):

0


(Po)^n·st

Habi - 13/12/2010 13:47:59 - Tecnoesoterismo

...y mirando de nuevo el disco, meses más tarde, me percato de que es un Seagate de 500GB, de esos con el firmware afectado, con los mismos síntomas que otro que me ha tocado apañar hace poco. Sólo que este siempre ha estado interno y tiene 32MB de caché en vez de 8.

Pero la solución es la misma: le mutilo un poco el conector y le doblo los 4 pines para poder meter las sondas (son el puerto serie de diagnósticos), le pongo un cartón en el conector de datos (el de varios pines en DIP, no en el del motor que son sólo 3) le conecto el PicKit2, VDD 3.3V, UART Tool, forzar consola con Ctrl-Z y a escribir los comandos pertinentes para forzar la regeneración de los datos SMART y la "partición" del sistema y del usuario. Arrancar, salvar datos, corregir firmware para dejar bien el disco y arreglado.

Afortunadamente esta vez he ido a tiro hecho, y entre que estaba todo mejor y mis métodos han sido menos invasivos en este caso puede volver a utilizarse sin problema alguno el disco duro en...

...y el caso es que me dio bastante guerra. A veces se quería comunicar conmigo, a veces no. Y desde que le desmonté por primera vez la placa no hacía más que meterme un bit espurio (pulso) al principio de todas mis transmisiones. Y si el Bus Pirate tuviese un sistema UART digno, con su timeout, no tendríamos estos problemas. Al final, para reducir el ruido lo tuve un rato en el congelador y usé para comunicarme con su puerto serie el PicKit2 (que aunque también hace el UART por software, este sí funciona como Nu manda) y por fin pude arreglar esa parte.

Al final me quedé con todo; La interfaz SATA-USB es algo útil, y la fuente de alimentación la he utilizado para alimentar mi nuevo portátil.

El disco sin embargo no funciona bien sin ayudita externa, por las resistencias en las patas del controlador y los dos zeners que puse para regular el voltaje en las líneas RX y TX, pues...

 

...y así al entrar en mi despacho me encuentro con el portátil que me dijo que me iba a traer Jafid. Desde Marruecos, antes Alemania y antes EEUU, un flamante Epson Equity LT. Un XT de lujo (Nec V30, 10Mhz, HD de 20MB, FDD 3.5" 720KB, pantalla retroiluminada). Bastante mejor, a mi parecer, que los Amstrad PPC que había por estas latitudes.

Funciona perfectamente, aprovechando la fuente de alimentación que tenía de un disco duro externo que había petado. Después de hacerle los test rutinarios, cambiarle la disquetera y llevarme un susto con la fuente de alimentación integrada, aquí lo tengo con su DOS, su A86 y Turbo Pascal (por los viejos tiempos) y unos juegos para dejarme los ojos en esta pantalla azul y gris que se refresca como una vez cada dos segundos.

Para estos retro-ordenadores me he hecho un sistema cliente que lee o escribe sectores a través del puerto serie, y un driver para mi programa lector de imágenes; así puedo generar imágenes remotas de disco, escribir imágenes de disco in situ o bien...

 

...y tras comprobar que la disquetera chocheaba un poco, procedí a cambiarla por otra. Le puse una de 1.44MB que se alimenta con sólo 5V (requisito imprescindible en este portátil) y tras cambiarle el cable del disco por uno estándar recortado ya pude arrancar el DOS.

Lo malo fue al cerrarlo; al poner un tornillo en una esquina oí un débil "clack" y supe que la había cagado. Tras volver a desmontarlo entero, vi la gañanada: el tornillo era largo y justo al otro lado estaban las patas del MOSFET de potencia principal de la fuente de alimentación; así que a tomar por saco el terminal de dren (central). Un TO220 plástico de color verde en el que sólo se ve una T (Toshiba), un J147, y un superfluo *9K.

No os molestéis en buscar, pues no os aparecerá nada. Tras perder casi una hora buscando y dos chapuceando (sí, eché un pegote de soldadura, y aunque funcionó daba un voltaje ligeramente menor y se encendía todo el rato la luz de batería baja; luego puenteé fuente y dren y aunque funcionaba todo  perfectamente no es ese el objetivo, pues pienso ponerle baterías nuevas), pensé: es un transistor MOSFET de canal P, vamos a buscar en la serie 2S, es decir, 2SJ147. Bingo, aunque datasheet en japonés. Hasta Toshiba te recomienda usar en su lugar un 2SJ304, con mayor corriente y algo menor resistencia, aunque al final usé otro que tenía por casa, concretamente...

 

3


Principio de exclusión de Habi

Habi - 08/11/2010 17:41:15 - Paranoias

Demostrado.

No puede haber dos Javieres en una misma habitación al mismo tiempo observando un mismo fenómeno. O algo malo pasará.

Evidencia exclusiva de los dos últimos días:

Un Javi enseñando el Minecraft a otro -> el algoritmo de generación de terrenos del mismo casca.

Un Javi enseñando su conexión de internet a otro -> el router se desconecta y reconecta a 4KB/s, sin que nadie se dé cuenta.

Un Javi enseñando cosas de YouTube a otro -> la luz de un foco empieza a parpadear y se funde. En caliente, no en un ciclo de apagado / encendido.

Un Javi enseñando su casa a otro -> aparece una arañita en el pasillo, cuando sólo había visto una una vez en el baño, en tres años que llevo aquí.

...

Y lo peor es que yo soy el Javi que enseña.

-____-

6


Ibertex

Habi - 30/10/2010 21:42:25 - Chorradas

En un comentario propuse la siguiente definición:

Ibertex: Teletexto por teléfono, aún más lento si cabe, al precio de una llamada a Andorra. Uno de los grandes fracasos españoles al intentar emular la Minitel francesa.

Ahora propongo otra:

Invescom-300: Sucedaneo de modem, únicamente 75/1200 y protocolo privado. Incompatible con todo software excepto el suyo, a su vez incompatible con todo.

No tenía ganas de bajar al sótano a por la tarjeta; así que ahí va una foto del manual:

Y a continuación algunas capturas, apreciemos sus portentosas capacidades gráficas:

  

2


Otro HD apañado

Habi - 25/10/2010 1:13:08 - Yuyus

Pese a ser uno de los más típicos casos de avería en discos duros, es la primera vez que me he encontrado un caso así. Después de pasar por tres personas, me advierten que no funciona en otros ordenadores, carcasas USB ni adaptadores; ni siquiera se pone a rotar.

Al probarlo con una fuente cutrilla que tengo para hacer pruebas me doy cuenta de que hace ruiditos. Me huelo la tostada, meto el polímetro y zas: el regulador de tensión para dar 3.3V está fastidiado, y ningún adaptador o fuente cutre tiene una línea de 3.3V en el conector de alimentación SATA.

En su salida tiene un diodo a la entrada de los 3.3V del conector, por si acaso se proporcionasen, y a partir de ahí alimentar toda la electrónica. En teoría debería funcionar perfectamente en mi ordenador, pues mi fuente es buena y tiene esa linea, pero decido hacer esto otro:

LM317 + 2 resistencias y listo, HD funcionando. Una vez me aseguro de que todo está perfecto en otro ordenador, lo pongo en el mío propio ya sin apaños, vuelco, y otra recompensa que me gano de la forma más tonta.

Afortunadamente era esto y no el firmware como me decían, en estos Maxtor para ahorrar costes no reside en ningún integrado, sino en los primeros sectores del disco. De hecho, esa es la principal causa de avería en estos discos. El daño mecánico lo descarté porque no hacía sonar la "melodía" típica de los Maxtor (suena como un politono).

Moraleja: No volver a usar la cámara del móvil para nada.

1


Minecraft

Habi - 19/09/2010 22:37:19 - Chorradas

¿Cómo hacemos para mantener a Habi alejado de todos sus proyectos durante sus vacaciones?

¡Falso! No es euclídeo. Bloques flotantes, agua infinita, lava de dinámica dudosa... Pero es parte de su encanto.

3


Router capado

Habi - 15/09/2010 3:18:53 - Tecnoesoterismo

A punto casi ya de cumplirse el año de permanencia que tengo con Ya.com y de mudarme a pastos más verdes me he puesto a revisar el router que me dieron en su día. Un tal SMC7908A-ISP (delegado en Arcadyan, otra del grupo Accton).

El firmware está capado y aparte es pésimo. La interfaz es lenta y mala, no hay opciones para casi nada, y tiene graves errores; como enviar peticiones DHCP en capa ATM estando la línea ADSL no sincronizada, y desincronizarla si en 4 segundos no ha obtenido su IP, ambas cosas de forma asíncrona, con lo que puede estar días sin coger línea (sin ayuda externa).

Sin embargo, el hardware es estupendo: un Infineon Danube (MIPS doble núcleo a 333 Mhz, temas analógicos para ADSL, VoIP, etc.), 64MB de RAM, 4 de Flash, un Realtek RTL8306SD para Ethernet y MII y su Atheros AR2417 para WiFi. Y un conector MiniPCI sin soldar, pero presente. Si queréis fotos, las tenéis estupendas aquí.

Dentro de su interfaz podemos abrir páginas no accesibles pero que no se han molestado en eliminar. Y es a partir de este hecho que hoy he decidido echar un ojo.

Partiendo del último firmware (v0.10.016 - 2009/07/29), extrayendo las 6 partes de las que se compone, desencriptando las 1 y 2 (núcleo firmware e interfaz web respectivamente) y descomprimiendo 1-4, nos encontramos en el caso de la 2 un bonito sistema de archivos PFS relativamente normal en routers. Una vez extraídos todos los ficheros, aquí tenéis la lista de los accesibles como interfaz web para los que queráis experimentar (\www\doc\):

accesscontroladd.stm

adsl.stm

adslst.stm

adsl_main.stm

adsl_para.stm

adsl_status.stm

advanced_user.stm

advanced_user_p.stm

arcor_network.stm

arcor_spec.stm

atmint_ya.stm

atmpvc_ya.stm

auto_upg.stm

auto_upg2.stm

blocked.htm

changelanguage.htm

clone.stm

country_css.css

ddns.stm

ddns_main.stm

dns_proxy.stm

err_gen.stm

firewall.stm

firewallst.stm

firewalltemp.stm

firewall_a.stm

firewall_d.stm

firewall_mac.stm

firewall_main.stm

firewall_rule.stm

firewall_rule_a.stm

firewall_spi_h.stm

firewall_u.stm

forward_check.stm

function.stm

help.stm

hwoption.stm

igd.xml

igd_l3f.xml

igd_osf.xml

igd_wcic.xml

igd_wec.xml

igd_wic.xml

igd_wpc.xml

index.stm

ipsec_editsp.stm

iptv_main.stm

isp.stm

js_tree.js

l2tp_a.stm

lan.stm

lan_main.stm

linegraph.class

login.stm

loginerr.stm

loginpserr.stm

menu-hid.stm

menu.css

menu.stm

msg.js

my_function.txt

 

my_function3.css

nat.stmnatst.stm

nattemp.stm

nat_m.stm

nat_main.stm

nat_off.stm

nat_sp.stm

nat_table.stm

nat_v.stm

no_link.txt

pingtest.stm

pin_code.stm

pppoeint.stm

pptp_a.stm

production.stm

qos.stm

qos_clsmap.stm

qos_editcls.stm

qos_main.stm

qos_stats.stm

qstatus_main.stm

qwireless_id.stm

route.stm

route_main.stm

route_tbl.stm

routine2.txt

routine_data.js

r_mort.stm

r_rip.stm

save_ok.htm

setupa.stm

setupa_brief.stm

setupa_main.stm

setupa_top.stm

setupq6_main.stm

setupw.stm

setupw_0.stm

setupw_1.stm

setupw_2.stm

setupw_2_ya.stm

setupw_main0.stm

setupw_main1.stm

setupw_main2_ya.stm

setupw_menu.stm

setupw_top.stm

setup_dns.stm

setup_q6.stm

snmp.stm

snmpst.stm

snmptemp.stm

snmp_community.stm

snmp_main.stm

snmp_trap.stm

status.stm

status_main.stm

system.stm

system_c.stm

system_f.stm

system_i.stm

system_main.stm

system_p.stm

 

system_r.stm

system_remote_mgmt.stm

system_t.stm

telephony_voip.stm

tl.stmtl_main.stm

tools_backup.stm

tools_restore.stm

tr69.stm

tree.js

undoc_upgrade.stm

upnp.stm

upnp_main.stm

usb_fsrv.stm

usb_fsrv_part_f.stm

usb_fsrv_tree.stm

usb_ftp_f.stm

usb_ftp_server.stm

usb_ftp_tree.stm

usb_main.stm

usb_modem.stm

usb_pr_server.stm

usb_wftp_browse.stm

usb_wftp_server.stm

usb_wftp_tree.stm

user_define.stm

verinfo.txt

voice_quality_test.stm

voip.stm

voip_account_edit_ya.stm

voip_account_ya.stm

voip_advanced.stm

voip_call_allocation.stm

voip_extension_in.stm

voip_extension_out.stm

voip_function.txt

voip_isdn_msn.stm

voip_main.stm

voip_numbers_act.stm

voip_num_plan.stm

voip_num_plan_nr.stm

voip_phone.stm

voip_status.stm

vpn.stm

vpn_conn.stm

vpn_function.txt

vpn_main.stm

v_lan.stm

v_lan_a.stm

wait.stm

wait0.stm

wan.stm

wan_main.stm

wireless.stm

wirelessst.stm

wirelesstemp.stm

wireless_1x.stm

wireless_country.stm

wireless_e.stm

wireless_id.stm

wireless_mac.stm

wireless_main.stm

wireless_wds.stm

Particularmente, me parecen útiles:

advanced_user.stm -> para hacer login como administrador, necesario para ciertas funciones; una de las pocas conocidas por ahí fuera.

wireless_country.stm -> se le pueden poner los parámetros de Japón, por ejemplo, y ganar dos bandas WiFi extras. OJO: supuestamente no es legal en Europa, hay leyes de radiofrecuencia, etc.

r_mort.stm -> nos muestra la tabla de reglas de enrutamiento vigentes (por fin).

atmint_ya.stm -> con esto podemos poner el tipo de conexión que queramos, y mandar a tomar por saco las que vienen predefinidas.

route_tbl.stm -> podemos definir nuestras reglas de enrutamiento. Con esto ya puedo tener WiFi y VoIP enrutadas al viejo router de Telefónica configurado para acceder como MER y conectarme a través suya.

También hay cosas que sobran, como lo de Arcor (el Ya.com de Alemania; incluyendo pin_code.stm) y cosas que no deberían estar realmente (como production.stm (valores de fábrica)).

La parte realmente inesperada ha sido en la carpeta de imágenes; entre otras cosas hay logos: de SMC, de Ya.com y de... ¡Pirelli! ¿Tendrá Pirelli routers como éstos personalizados? Prefiero no saberlo. Por otro lado, el firmware ha sido compilado en C bajo un entorno Unix. Nada que no me esperase.

Y con esto me conformo de momento. En cuanto me cambie de compañía y me den mi nuevo router pasaré a la fase 2: bus pirate sobre J2 (tiene un puerto serie a 3.3V) y trastear mandando mis firmwares a RAM. En teoría se podría usar OpenWrt, ya os contaré.

3


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