<?xml version="1.0" encoding="ISO-8859-1" ?><rss version="2.0"><channel>

<title>Habi Hablóg</title>
<link>http://www.habisoft.com/irmia/</link>
<description>Paranoias, chorradas y tecnoesoterismo</description>

<item>
<title>I&apos;m A Goofy Goober</title>
<guid isPermaLink="true">http://www.habisoft.com/irmia/comentarios.asp?id=321</guid>
<link>http://www.habisoft.com/irmia/comentarios.asp?id=321</link>
<comments>http://www.habisoft.com/irmia/comentarios.asp?id=321#fin</comments>
<category>Tecnoesoterismo</category>
<author>NoSpam@NoSpam.com (Habi)</author>
<description>&lt;p&gt;
	&lt;span style=&quot;text-align: justify; &quot;&gt;Intentar&amp;eacute; ser poco matem&amp;aacute;tico, que se me asustan los lectores.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify; &quot;&gt;
	Existe un m&amp;eacute;todo de construcci&amp;oacute;n de fractales llamado IFS, basado en el hecho de que una aplicaci&amp;oacute;n contractiva tiene un punto fijo (atractor por tanto). Supongamos que trabajamos en R&lt;sup&gt;2&lt;/sup&gt; y que nuestras aplicaciones ser&amp;aacute;n transformaciones afines de la forma:&lt;/p&gt;
&lt;p style=&quot;text-align: center; &quot;&gt;
	&lt;img alt=&quot;&quot; src=&quot;http://www.habisoft.com/userfiles/image/02/Matriz.png&quot; style=&quot;width: 150px; height: 46px; &quot; /&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify; &quot;&gt;
	L&amp;oacute;gicamente si a, b, c y d son menores que 1 en valor absoluto, entonces es contractiva.&lt;/p&gt;
&lt;p style=&quot;text-align: justify; &quot;&gt;
	Generalizando: si tenemos n transformaciones as&amp;iacute; y les asociamos una probabilidad p&lt;sub&gt;i&lt;/sub&gt; (con i entre 1 y n) a cada una tenemos el llamado &amp;ldquo;juego del caos&amp;rdquo;, en donde partiendo de un punto vamos transform&amp;aacute;ndolo aleatoriamente seg&amp;uacute;n la regla que le corresponda. Y por la autosimilitud (punto fijo) del sistema tenemos una bonita fractal. Tambi&amp;eacute;n representaremos cada aplicaci&amp;oacute;n en una l&amp;iacute;nea para ahorrar (y para no tener que usar tensores).&lt;/p&gt;
&lt;p style=&quot;text-align: justify; &quot;&gt;
	Ejemplos:&lt;/p&gt;
&lt;p style=&quot;text-align: center; &quot;&gt;
	&lt;img alt=&quot;&quot; src=&quot;http://www.habisoft.com/userfiles/image/02/Sierpinski0.png&quot; style=&quot;width: 437px; height: 302px; &quot; /&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; &quot;&gt;
	&lt;img alt=&quot;&quot; src=&quot;http://www.habisoft.com/userfiles/image/02/Sierpinski1.png&quot; style=&quot;width: 244px; height: 80px; &quot; /&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; &quot;&gt;
	- &amp;nbsp;- &amp;nbsp;-&lt;/p&gt;
&lt;p style=&quot;text-align: center; &quot;&gt;
	&lt;img alt=&quot;&quot; src=&quot;http://www.habisoft.com/userfiles/image/02/Helecho0.png&quot; style=&quot;width: 267px; height: 439px; &quot; /&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; &quot;&gt;
	&lt;img alt=&quot;&quot; src=&quot;http://www.habisoft.com/userfiles/image/02/helecho1.png&quot; style=&quot;width: 179px; height: 100px; &quot; /&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify; &quot;&gt;
	Bien. Para una de las asignaturas de libre configuraci&amp;oacute;n de la carrera (teor&amp;iacute;a del caos) hice un programa de fractales con varios m&amp;oacute;dulos, entre ellos uno IFS. Entre otras cosas. La verdad es que las pr&amp;aacute;cticas fueron una sobrada en todos los sentidos; por ejemplo, inclu&amp;iacute; &amp;eacute;sta fractal IFS con mi nombre:&lt;/p&gt;
&lt;p style=&quot;text-align: center; &quot;&gt;
	&lt;img alt=&quot;&quot; src=&quot;http://www.habisoft.com/userfiles/image/02/Javier0.png&quot; style=&quot;width: 501px; height: 126px; &quot; /&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; &quot;&gt;
	&lt;img alt=&quot;&quot; src=&quot;http://www.habisoft.com/userfiles/image/02/Javier1.png&quot; style=&quot;width: 452px; height: 360px; &quot; /&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify; &quot;&gt;
	El truco es f&amp;aacute;cil: dibujamos un rect&amp;aacute;ngulo en un papel, y calculamos las transformaciones que lo llevan a cada uno de los palotes que conforman cada letra; adem&amp;aacute;s, se puede distribuir la probabilidad en funci&amp;oacute;n del &amp;aacute;rea de cada palote, para que el relleno de puntos sea m&amp;aacute;s uniforme. En los fractales anteriores el degradado de negro a color representa la densidad de puntos en esa zona.&lt;/p&gt;
&lt;p style=&quot;text-align: justify; &quot;&gt;
	A&amp;ntilde;os despu&amp;eacute;s, cuando termin&amp;eacute; la carrera y para celebrarlo, decid&amp;iacute; darle una vuelta de tuerca. Una de nuestras co&amp;ntilde;as era que al unir una colecci&amp;oacute;n de puntos cualquiera siempre aparec&amp;iacute;a la cara de Goofy.&lt;/p&gt;
&lt;p style=&quot;text-align: justify; &quot;&gt;
	As&amp;iacute; que... cogemos una imagen de Goofy (mapa de bits 256x256 representando a [0, 1]&lt;sup&gt;2&lt;/sup&gt;) y por cada pixel que pertenezca a su cara escribimos la l&amp;iacute;nea de la aplicaci&amp;oacute;n correspondiente.&lt;/p&gt;
&lt;p style=&quot;text-align: justify; &quot;&gt;
	L&amp;oacute;gicamente a&lt;sub&gt;i&lt;/sub&gt;=d&lt;sub&gt;i&lt;/sub&gt;=1/256, b&lt;sub&gt;i&lt;/sub&gt;=c&lt;sub&gt;i&lt;/sub&gt;=0, e&lt;sub&gt;i&lt;/sub&gt;=x&lt;sub&gt;i&lt;/sub&gt;/256, f&lt;sub&gt;i&lt;/sub&gt;=1-y&lt;sub&gt;i&lt;/sub&gt;/256, y p&lt;sub&gt;i&lt;/sub&gt;=1/n para i de 1 a n (n en este caso es 10.098, el n&amp;uacute;mero total de p&amp;iacute;xeles y por tanto filas de la matriz) y x&lt;sub&gt;i&lt;/sub&gt; e y&lt;sub&gt;i&lt;/sub&gt; son la columna y fila respectivamente del pixel en cuesti&amp;oacute;n en su mapa de bits correspondiente.&lt;/p&gt;
&lt;p style=&quot;text-align: justify; &quot;&gt;
	En cualquier caso, &amp;eacute;sta y no otra es la historia de la fractal de la cara de Goofy.&lt;/p&gt;
&lt;p style=&quot;text-align: center; &quot;&gt;
	&lt;img alt=&quot;&quot; src=&quot;http://www.habisoft.com/userfiles/image/02/Goofy0.png&quot; style=&quot;width: 500px; height: 466px; &quot; /&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; &quot;&gt;
	&lt;img alt=&quot;&quot; src=&quot;http://www.habisoft.com/userfiles/image/02/Goofy1.png&quot; style=&quot;width: 400px; height: 369px; &quot; /&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; &quot;&gt;
	&lt;img alt=&quot;&quot; src=&quot;http://www.habisoft.com/userfiles/image/02/Goofy2.png&quot; style=&quot;width: 300px; height: 277px; &quot; /&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; &quot;&gt;
	&lt;img alt=&quot;&quot; src=&quot;http://www.habisoft.com/userfiles/image/02/Goofy3.png&quot; style=&quot;width: 200px; height: 185px; &quot; /&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; &quot;&gt;
	...&lt;/p&gt;
&lt;p style=&quot;text-align: justify; &quot;&gt;
	[ &lt;u&gt;&lt;a href=&quot;http://www.youtube.com/watch?v=9D3hZfJ2sqs&quot;&gt;Celebr&amp;eacute;moslo.&lt;/a&gt;&lt;/u&gt; ]&lt;/p&gt;
</description>
<pubDate>04 Feb 2012 19:25:43 +0100</pubDate>
</item>

<item>
<title>Sega weekend</title>
<guid isPermaLink="true">http://www.habisoft.com/irmia/comentarios.asp?id=320</guid>
<link>http://www.habisoft.com/irmia/comentarios.asp?id=320</link>
<comments>http://www.habisoft.com/irmia/comentarios.asp?id=320#fin</comments>
<category>Chorradas</category>
<author>NoSpam@NoSpam.com (Habi)</author>
<description>&lt;p&gt;
	Regalo N&amp;ordm; 1: Pack de Sega Master System (uno, con la ranura de tarjetas, etc.).&lt;/p&gt;
&lt;p style=&quot;text-align: center; &quot;&gt;
	&lt;img alt=&quot;&quot; src=&quot;http://www.habisoft.com/userfiles/image/02/sega-ms.jpg&quot; style=&quot;width: 500px; height: 375px; &quot; /&gt;&lt;/p&gt;
&lt;p&gt;
	Regalo N&amp;ordm; 2: Sega Mega Drive (uno, con el puerto EXT, audio bueno, etc.).&lt;/p&gt;
&lt;p style=&quot;text-align: center; &quot;&gt;
	&lt;img alt=&quot;&quot; src=&quot;http://www.habisoft.com/userfiles/image/02/sega-md.jpg&quot; style=&quot;width: 440px; height: 368px; &quot; /&gt;&lt;/p&gt;
</description>
<pubDate>29 Oct 2011 22:32:32 +0100</pubDate>
</item>

<item>
<title>Flash de naranja, escribe fino</title>
<guid isPermaLink="true">http://www.habisoft.com/irmia/comentarios.asp?id=319</guid>
<link>http://www.habisoft.com/irmia/comentarios.asp?id=319</link>
<comments>http://www.habisoft.com/irmia/comentarios.asp?id=319#fin</comments>
<category>Chorradas</category>
<author>NoSpam@NoSpam.com (Habi)</author>
<description>&lt;p style=&quot;text-align: justify; &quot;&gt;
	En principio era la Web, y la Web se hallaba desnuda y fea, con p&amp;aacute;ginas en Times New Roman sobre fondo blanco. Y alguien dijo: creemos GeoCities para que la gente se cree p&amp;aacute;ginas mierden con gifis animados a punta pala y colores chillones. Y GeoShitties fue creado.&lt;/p&gt;
&lt;p style=&quot;text-align: justify; &quot;&gt;
	Pero otro alguien dijo: pa chulo yo, pues har&amp;eacute; un sistema de animaci&amp;oacute;n vectorial con scripting, para que la gente haga cositas din&amp;aacute;micas y de paso se nos quejen los Linuxeros y Maqueros del futuro. Y as&amp;iacute; naci&amp;oacute; el Flash.&lt;/p&gt;
&lt;p style=&quot;text-align: justify; &quot;&gt;
	Y es del Flash que hablaremos, o mejor dicho de algunos de los jueguecitos que se han hecho con &amp;eacute;l, pues realmente y en verdad os digo queridos hermanos que hay aut&amp;eacute;nticas joyas; no hablar&amp;eacute; de los que ya he citado anteriormente, como Seiklus o &amp;quot;You have to burn the rope&amp;quot;. Ah&amp;iacute; va una docenita.&lt;/p&gt;
&lt;p style=&quot;text-align: justify; &quot;&gt;
	Empecemos por un g&amp;eacute;nero muy adecuado a la plataforma: aventuras gr&amp;aacute;ficas; podemos hallar algunas antiguas como &lt;a href=&quot;http://www.ejuegos.com/la-piedra-de-anamara.html&quot;&gt;&lt;strong&gt;La piedra de Anamara&lt;/strong&gt;&lt;/a&gt;, de misterio con su puntito de terror. Si prefer&amp;iacute;s algo m&amp;aacute;s apacible, pod&amp;eacute;is probar&amp;nbsp;&lt;a href=&quot;http://www.weebls-stuff.com/games/Trader+of+Stories/&quot;&gt;&lt;strong&gt;Trader of Stories&lt;/strong&gt;&lt;/a&gt;. Y por supuesto, hay cl&amp;aacute;sicos del tema como &lt;a href=&quot;http://amanita-design.net/samorost-1/&quot;&gt;&lt;strong&gt;Samorost&lt;/strong&gt;&lt;/a&gt;&amp;nbsp;(con su segunda parte, Machinarium, ...).&lt;/p&gt;
&lt;p style=&quot;text-align: center; &quot;&gt;
	&lt;img alt=&quot;&quot; src=&quot;http://www.habisoft.com/userfiles/image/02/Fla0.jpg&quot; style=&quot;width: 500px; height: 152px; &quot; /&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify; &quot;&gt;
	Personalmente me gustan las cosas experimentales. Simuladores extra&amp;ntilde;os como &lt;a href=&quot;http://ludusnovus.net/my-games/the-majesty-of-colors/&quot;&gt;&lt;strong&gt;The Majesty of Colors&lt;/strong&gt;&lt;/a&gt;, cuasipoes&amp;iacute;as como&amp;nbsp;&lt;a href=&quot;http://www.ludomancy.com/games/today.php?lang=en&quot;&gt;&lt;strong&gt;Today I die&lt;/strong&gt;&lt;/a&gt;&amp;nbsp;(una mina este Daniel Benmergui) o cosas indefinidas como&amp;nbsp;&lt;strong&gt;&lt;a href=&quot;http://www.kongregate.com/games/Edmund/coil&quot;&gt;Coil&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;p style=&quot;text-align: center; &quot;&gt;
	&lt;img alt=&quot;&quot; src=&quot;http://www.habisoft.com/userfiles/image/02/Fla1.jpg&quot; style=&quot;width: 500px; height: 173px; &quot; /&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify; &quot;&gt;
	A medio camino nos encontramos con algo tipo exploraci&amp;oacute;n de ambiente. Juegos como &lt;a href=&quot;http://www.gameshot.org/?id=4224&quot;&gt;&lt;strong&gt;Small Worlds&lt;/strong&gt;&lt;/a&gt;, &lt;a href=&quot;http://www.kongregate.com/games/TerryCavanagh/dont-look-back&quot;&gt;&lt;strong&gt;Don&amp;rsquo;t Look Back&lt;/strong&gt;&lt;/a&gt;&amp;nbsp;(del autor de VVVVVV) o &lt;a href=&quot;http://armorgames.com/play/12117/grey&quot;&gt;&lt;strong&gt;Grey&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p style=&quot;text-align: center; &quot;&gt;
	&lt;img alt=&quot;&quot; src=&quot;http://www.habisoft.com/userfiles/image/02/Fla2.jpg&quot; style=&quot;width: 500px; height: 145px; &quot; /&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify; &quot;&gt;
	&amp;iquest;Quer&amp;eacute;is algo m&amp;aacute;s cl&amp;aacute;sico? El original y adictivo&amp;nbsp;&lt;a href=&quot;http://armorgames.com/play/5349/infectonator-world-dominator&quot;&gt;&lt;strong&gt;Infectonator World Dominator&lt;/strong&gt;&lt;/a&gt;, El simp&amp;aacute;tico&amp;nbsp;&lt;a href=&quot;http://armorgames.com/play/7195/haunt-the-house&quot;&gt;&lt;strong&gt;Haunt the House&lt;/strong&gt;&lt;/a&gt;&amp;nbsp;o el remake en flash del c&amp;aacute;sico Death Worm:&amp;nbsp;&lt;a href=&quot;http://www.kongregate.com/games/EffingGames/effing-worms&quot;&gt;&lt;strong&gt;Effing Worms&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p style=&quot;text-align: center; &quot;&gt;
	&lt;img alt=&quot;&quot; src=&quot;http://www.habisoft.com/userfiles/image/02/Fla3.jpg&quot; style=&quot;width: 500px; height: 122px; &quot; /&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify; &quot;&gt;
	Uf, ya vale de jugar por hoy.&lt;/p&gt;
</description>
<pubDate>07 Sep 2011 23:17:22 +0100</pubDate>
</item>

<item>
<title>Corre, PCW, corre</title>
<guid isPermaLink="true">http://www.habisoft.com/irmia/comentarios.asp?id=318</guid>
<link>http://www.habisoft.com/irmia/comentarios.asp?id=318</link>
<comments>http://www.habisoft.com/irmia/comentarios.asp?id=318#fin</comments>
<category>Tecnoesoterismo</category>
<author>NoSpam@NoSpam.com (Habi)</author>
<description>&lt;p style=&quot;text-align: justify; &quot;&gt;
	Aqu&amp;iacute; viene otro de mis an&amp;aacute;lisis, en este caso hardware: un Sprinter para PCW (una placa aceleradora para PCW, no me refiero al clon ruso de Spectrum).&lt;/p&gt;
&lt;p style=&quot;text-align: justify; &quot;&gt;
	Pero primero hablemos un poco del PCW: tiene un reloj de 32Mhz, el cual se divide hasta los 4Mhz para el Z80. Adem&amp;aacute;s, internamente tiene dos bancos de memoria din&amp;aacute;mica, refrescada y decodificada a trav&amp;eacute;s del Gate Array.&lt;/p&gt;
&lt;p style=&quot;text-align: justify; &quot;&gt;
	Es decir, el G.A. se encarga de todo, pero a cambio nos penaliza con un &amp;uacute;nico acceso cada 4 ciclos de procesador (es decir cada microsegundo, igual que el CPC). Eso nos deja una velocidad efectiva reducida de como unos 3,3 Mhz en media. Sin embargo, no hay contenci&amp;oacute;n por acceder al G.A. v&amp;iacute;a I/O, pero eso es otra historia.&lt;/p&gt;
&lt;p style=&quot;text-align: justify; &quot;&gt;
	Supongamos que ponemos un Z80 a 8Mhz con su se&amp;ntilde;al de reloj correspondiente as&amp;iacute; sin m&amp;aacute;s; &amp;iquest;qu&amp;eacute; ocurrir&amp;iacute;a?&lt;/p&gt;
&lt;p style=&quot;text-align: justify; &quot;&gt;
	Pues ocurrir&amp;iacute;a que desde su punto de vista podemos hacer 2 accesos &lt;u&gt;&lt;strong&gt;SEGUIDOS&lt;/strong&gt;&lt;/u&gt; a memoria cada 8 ciclos. La clave est&amp;aacute; en la palabra &amp;quot;seguidos&amp;quot;, por si no lo he remarcado lo suficiente: eso es algo que no ocurre en el Z80. Es decir, el Gate Array nos frenar&amp;iacute;a hasta dejarnos a la misma velocidad efectiva que ten&amp;iacute;amos originalmente.&lt;/p&gt;
&lt;p style=&quot;text-align: justify; &quot;&gt;
	Para que no se duerma la gente, ah&amp;iacute; va una foto del Sprinter:&lt;/p&gt;
&lt;p style=&quot;text-align: center; &quot;&gt;
	&lt;img alt=&quot;&quot; src=&quot;http://www.habisoft.com/userfiles/image/02/Sprinter0.jpg&quot; style=&quot;width: 500px; height: 359px; &quot; /&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify; &quot;&gt;
	Como bien pod&amp;eacute;is ver, tenemos un Z0840008PSC (Z80 a 8Mhz, el doble que el original) por el centro, un banco de memoria en la parte superior (a base de 256K x 4) hasta 1,5MB (512KB instaladas en este caso) y en la esquina inferior derecha una bonita memoria est&amp;aacute;tica de 128KB (TC551001PL).&lt;/p&gt;
&lt;p style=&quot;text-align: justify; &quot;&gt;
	Atenci&amp;oacute;n al detalle del puente usando hilo esmaltado de cobre. Los dos cables que salen (amarillo y negro) van a parar a las se&amp;ntilde;ales de 32Mhz (32 = 4 (frecuencia original, cogida del z&amp;oacute;calo) * 8 (frecuencia del Sprinter)) y /MDIS (deshabilita el acceso a la RAM interna) respectivamente en el bus.&lt;/p&gt;
&lt;p style=&quot;text-align: justify; &quot;&gt;
	El Sprinter mapea su memoria a continuaci&amp;oacute;n de la instalada en el sistema (512KB en este caso, dando un total de 1MB de los 2MB m&amp;aacute;ximos que admite de forma est&amp;aacute;ndar), en la cual no hay contenci&amp;oacute;n pues est&amp;aacute; gestionada por el propio Sprinter. Sin embargo, tanto el CP/M como el TPA se encuentran en las 128KB inferiores (junto con la memoria de video y el mapeo del teclado).&lt;/p&gt;
&lt;p style=&quot;text-align: justify; &quot;&gt;
	Y esa es la funci&amp;oacute;n de la memoria est&amp;aacute;tica anteriormente mencionada: una shadow RAM. Cuando se lee de las 128KB inferiores (exceptuando el teclado) se lee de esta memoria y no accede a la principal. Cuando se escribe, va a parar a ambas. Con esta chapucilla, la velocidad se ve incrementada.&lt;/p&gt;
&lt;p style=&quot;text-align: justify; &quot;&gt;
	Hay software mal programado en el que esto genera incompatibilidades de sincronizaci&amp;oacute;n (por no usar las interrupciones del G.A.) e incluso totales (por los ciclos que tenemos antes de una interrupci&amp;oacute;n). Pero en general, va muy bien.&lt;/p&gt;
&lt;p style=&quot;text-align: justify; &quot;&gt;
	Y por completitud, ah&amp;iacute; va la cara de pistas:&lt;/p&gt;
&lt;p style=&quot;text-align: center; &quot;&gt;
	&lt;img alt=&quot;&quot; src=&quot;http://www.habisoft.com/userfiles/image/02/Sprinter1.jpg&quot; style=&quot;width: 360px; height: 393px; &quot; /&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify; &quot;&gt;
	* Ning&amp;uacute;n animal, Sprinter ni Espinete fue da&amp;ntilde;ado durante la elaboraci&amp;oacute;n de este art&amp;iacute;culo. Gracias a Jaime por prest&amp;aacute;rmelo. En caso de duda, consulte a su farmac&amp;eacute;utico.&lt;/p&gt;
</description>
<pubDate>02 Sep 2011 15:26:13 +0100</pubDate>
</item>

<item>
<title>Otro ciclo</title>
<guid isPermaLink="true">http://www.habisoft.com/irmia/comentarios.asp?id=317</guid>
<link>http://www.habisoft.com/irmia/comentarios.asp?id=317</link>
<comments>http://www.habisoft.com/irmia/comentarios.asp?id=317#fin</comments>
<category>Yuyus</category>
<author>NoSpam@NoSpam.com (Habi)</author>
<description>&lt;p style=&quot;text-align: center; &quot;&gt;
	&lt;img alt=&quot;&quot; src=&quot;http://www.habisoft.com/userfiles/image/02/a5.jpg&quot; style=&quot;width: 478px; height: 472px; &quot; /&gt;&lt;/p&gt;
</description>
<pubDate>28 Jul 2011 23:59:59 +0100</pubDate>
</item>

<item>
<title>Habi&apos;s way</title>
<guid isPermaLink="true">http://www.habisoft.com/irmia/comentarios.asp?id=316</guid>
<link>http://www.habisoft.com/irmia/comentarios.asp?id=316</link>
<comments>http://www.habisoft.com/irmia/comentarios.asp?id=316#fin</comments>
<category>Tecnoesoterismo</category>
<author>NoSpam@NoSpam.com (Habi)</author>
<description>&lt;p style=&quot;text-align: justify; &quot;&gt;
	Como algunos de los que leen este blog sabr&amp;aacute;n, hay dos firmwares distintos para el Amstrad PCW: uno para los modelos con impresora matricial y otro para los de margarita (9512 y 9512+). Y que sus discos de arranque son incompatibles entre s&amp;iacute; por usar una suma de comprobaci&amp;oacute;n en arranque del primer sector.&lt;/p&gt;
&lt;p style=&quot;text-align: justify; &quot;&gt;
	El primer firmware puede encontrarse listado, desensamblado y comentado en &lt;a href=&quot;http://www.chiark.greenend.org.uk/~jacobn/cpm/pcwboot.html&quot;&gt;esta direcci&amp;oacute;n&lt;/a&gt;. Del segundo no hay ni rastro, s&amp;oacute;lo &lt;a href=&quot;http://groups.google.com/group/comp.sys.amstrad.8bit/browse_thread/thread/0343dbccb2c631df/398c5728c6e6538e?#398c5728c6e6538e&quot;&gt;esta conversaci&amp;oacute;n&lt;/a&gt;.&amp;nbsp;As&amp;iacute; que tenemos dos opciones: escribir un mail a alguien con quien me estoy escribiendo y que tiene TODOS los modelos de PCW y que me diga la diferencia usando el programa ah&amp;iacute; especificado (de hecho, esa persona participa en esa conversaci&amp;oacute;n) o deducirlo a partir de:&lt;/p&gt;
&lt;ol&gt;
	&lt;li style=&quot;text-align: justify; &quot;&gt;
		S&amp;oacute;lo se modifican dos bytes, uno para la comprobaci&amp;oacute;n del sector y otro para compensar la suma del programa.&lt;/li&gt;
	&lt;li style=&quot;text-align: justify; &quot;&gt;
		Tengo unos CRCs de ambos firmwares.&lt;/li&gt;
	&lt;li style=&quot;text-align: justify; &quot;&gt;
		Tengo sendos sectores de arranque.&lt;/li&gt;
	&lt;li style=&quot;text-align: justify; &quot;&gt;
		Mi 9&amp;ordm; sentido (el de ingeniero inverso) me dice que no necesito m&amp;aacute;s.&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;text-align: justify; &quot;&gt;
	Bien. Sabiendo que s&amp;oacute;lo es necesario un cambio de un byte para lograr el arranque, y sabiendo que la suma del sector de arranque pasa de ser congruente con $FF (-1) a serlo con 1 m&amp;oacute;dulo 256, lo que pide el cuerpo es el cambio en la direcci&amp;oacute;n $80 de memoria, de Inc A a Dec A ($3C -&amp;gt; $3D).&lt;/p&gt;
&lt;p style=&quot;text-align: justify; &quot;&gt;
	Al incrementar en 1 la suma y sabiendo que s&amp;oacute;lo nos queda un byte por modificar, sabemos que tenemos que tocar ese otro byte restando 1 m&amp;oacute;dulo 256 (ese gran n&amp;uacute;mero, tan importante en la inform&amp;aacute;tica e incluso en este blog).&lt;/p&gt;
&lt;p style=&quot;text-align: justify; &quot;&gt;
	Por otro lado, hagamos un CRC-16 del firmware que s&amp;iacute; tenemos; de ah&amp;iacute; deducimos (probando) que es un CRC-16 con el polinomio del CCITT (no el de IBM) en forma MSB curiosamente. En cualquier caso ya est&amp;aacute; calibrada nuestra prueba.&lt;/p&gt;
&lt;p style=&quot;text-align: justify; &quot;&gt;
	Finalmente, teniendo en cuenta que el programa son s&amp;oacute;lo 256 bytes, aplicaremos fuerza bruta; s&amp;oacute;lo hay 255 candidatos a los que restar 1 y lanzar el algoritmo de CRC hasta que d&amp;eacute; una soluci&amp;oacute;n. Y la da, y es &amp;uacute;nica, y todo lo anterior es congruente. La soluci&amp;oacute;n simplemente toca una constante tonta de un retardo, nada esencial (en $2E, de $21 a $20).&lt;/p&gt;
&lt;p style=&quot;text-align: justify; &quot;&gt;
	Es curioso. Hubiese sido m&amp;aacute;s f&amp;aacute;cil enviar ese email, pero extra&amp;ntilde;amente esto es, desde luego, m&amp;aacute;s r&amp;aacute;pido. Al menos para m&amp;iacute;.&lt;/p&gt;
</description>
<pubDate>18 Jul 2011 23:48:16 +0100</pubDate>
</item>

<item>
<title>Destroy Everything You Touch</title>
<guid isPermaLink="true">http://www.habisoft.com/irmia/comentarios.asp?id=315</guid>
<link>http://www.habisoft.com/irmia/comentarios.asp?id=315</link>
<comments>http://www.habisoft.com/irmia/comentarios.asp?id=315#fin</comments>
<category>Chorradas</category>
<author>NoSpam@NoSpam.com (Habi)</author>
<description>&lt;p style=&quot;text-align: justify; &quot;&gt;
	No s&amp;eacute; si alguien se ha preguntado alguna vez c&amp;oacute;mo empez&amp;oacute; HabiSoft. Algunos de los que se pasan por aqu&amp;iacute; seguro recordar&amp;aacute;n:&lt;/p&gt;
&lt;p style=&quot;text-align: center; &quot;&gt;
	&lt;img alt=&quot;&quot; src=&quot;http://www.habisoft.com/userfiles/image/02/0W-Primera.jpg&quot; style=&quot;width: 500px; height: 320px; &quot; /&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify; &quot;&gt;
	Que en breve tuvo su secci&amp;oacute;n secreta de programaci&amp;oacute;n:&lt;/p&gt;
&lt;p style=&quot;text-align: center; &quot;&gt;
	&lt;img alt=&quot;&quot; src=&quot;http://www.habisoft.com/userfiles/image/02/0W-Delphi.jpg&quot; style=&quot;width: 500px; height: 362px; &quot; /&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify; &quot;&gt;
	Pero acabaron apareciendo varios proyectos, as&amp;iacute; que los recopil&amp;eacute; con una interfaz extra&amp;ntilde;a y contrase&amp;ntilde;as:&lt;/p&gt;
&lt;p style=&quot;text-align: center; &quot;&gt;
	&lt;img alt=&quot;&quot; src=&quot;http://www.habisoft.com/userfiles/image/02/0W-Tarot.jpg&quot; style=&quot;width: 500px; height: 274px; &quot; /&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify; &quot;&gt;
	Un par de esos proyectos:&lt;/p&gt;
&lt;p style=&quot;text-align: center; &quot;&gt;
	&lt;img alt=&quot;&quot; src=&quot;http://www.habisoft.com/userfiles/image/02/0W-Triki.jpg&quot; style=&quot;width: 500px; height: 390px; &quot; /&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; &quot;&gt;
	&lt;img alt=&quot;&quot; src=&quot;http://www.habisoft.com/userfiles/image/02/0W-Diogenes.jpg&quot; style=&quot;width: 500px; height: 445px; &quot; /&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify; &quot;&gt;
	Y finalmente otra interfaz de entrada a HabiSoft que dur&amp;oacute; poco tiempo; hasta ten&amp;iacute;a una aventura conversacional mierdera integrada:&lt;/p&gt;
&lt;p style=&quot;text-align: center; &quot;&gt;
	&lt;img alt=&quot;&quot; src=&quot;http://www.habisoft.com/userfiles/image/02/0W-Shell.jpg&quot; style=&quot;width: 500px; height: 381px; &quot; /&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify; &quot;&gt;
	C&amp;oacute;mo pasa el tiempo.&lt;/p&gt;
</description>
<pubDate>13 Jul 2011 13:48:45 +0100</pubDate>
</item>

<item>
<title>Externalizando el PCW</title>
<guid isPermaLink="true">http://www.habisoft.com/irmia/comentarios.asp?id=314</guid>
<link>http://www.habisoft.com/irmia/comentarios.asp?id=314</link>
<comments>http://www.habisoft.com/irmia/comentarios.asp?id=314#fin</comments>
<category>Tecnoesoterismo</category>
<author>NoSpam@NoSpam.com (Habi)</author>
<description>&lt;p style=&quot;text-align: justify; &quot;&gt;
	Finalmente he decido publicar el emulador. Esto es debido a cuatro razones:&lt;/p&gt;
&lt;ol&gt;
	&lt;li style=&quot;text-align: justify; &quot;&gt;
		S&amp;oacute;lo existe otro emulador, el cual se centra m&amp;aacute;s en ampliar artificialmente las m&amp;aacute;quinas emuladas que en hacer una emulaci&amp;oacute;n exacta.&lt;/li&gt;
	&lt;li style=&quot;text-align: justify; &quot;&gt;
		Esta comunidad es mucho m&amp;aacute;s reducida que la de Spectrum. Por lo tanto, en media recibir&amp;eacute; menos amenazas. M&amp;aacute;s tolerable, por tanto.&lt;/li&gt;
	&lt;li style=&quot;text-align: justify; &quot;&gt;
		La emulaci&amp;oacute;n es semi decente. Tiempos, sonido, etc.&lt;/li&gt;
	&lt;li style=&quot;text-align: justify; &quot;&gt;
		[RESERVADA PARA FUTUROS USOS].&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;text-align: center; &quot;&gt;
	As&amp;iacute; que ah&amp;iacute; va el link:&lt;/p&gt;
&lt;h1 style=&quot;text-align: center; &quot;&gt;
	&lt;a href=&quot;http://www.habisoft.com/pcw&quot;&gt;http://www.habisoft.com/pcw&lt;/a&gt;&lt;/h1&gt;
&lt;p style=&quot;text-align: justify; &quot;&gt;
	Y de regalo, mini-art&amp;iacute;culo sobre la protecci&amp;oacute;n (?) de los juegos de Opera:&lt;/p&gt;
&lt;p style=&quot;text-align: center; &quot;&gt;
	&lt;strong&gt;Parte 1: Formato f&amp;iacute;sico&lt;/strong&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify; &quot;&gt;
	Archivos analizados: Coleccion_Opera_Vol1.dsk, dy.dsk (Goody), Sol_Negro.dsk, corsarios.DSK, Gonzalezz.dsk, ... Todos im&amp;aacute;genes de originales, sin cracks.&lt;/p&gt;
&lt;ol&gt;
	&lt;li style=&quot;text-align: justify; &quot;&gt;
		El disco consta de sus 40 pistas normales, no hay informaci&amp;oacute;n extra en ese sentido. Todo el juego se halla contenido en una cara.&lt;/li&gt;
	&lt;li style=&quot;text-align: justify; &quot;&gt;
		Las pistas 0-2 son est&amp;aacute;ndar, 9 sectores de 512 bytes, interleave de 2.&lt;/li&gt;
	&lt;li style=&quot;text-align: justify; &quot;&gt;
		De la pista 3 en adelante (inclusive) los sectores son de 1024 bytes, 5 por pista, con ordenaci&amp;oacute;n secuencial. Eso nos da unos 512 bytes extra por pista con respecto a un formato est&amp;aacute;ndar.&lt;/li&gt;
	&lt;li style=&quot;text-align: justify; &quot;&gt;
		No hay sectores d&amp;eacute;biles, informaci&amp;oacute;n entre la pista, corte laser ni nada avanzado. Es una protecci&amp;oacute;n simplemente geom&amp;eacute;trica y bastante simple.&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;text-align: justify; &quot;&gt;
	En conjunto, ganamos 18.944 Bytes / Cara y ofuscamos el juego (s&amp;oacute;lo se puede leer un directorio que contiene &amp;uacute;nicamente el EMS de arranque).&lt;/p&gt;
&lt;p style=&quot;text-align: center; &quot;&gt;
	&lt;strong&gt;Parte 2: Software&lt;/strong&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify; &quot;&gt;
	No hay mucho que contar, la verdad. El sector de arranque es est&amp;aacute;ndar, busca &amp;quot;????????.EMS&amp;quot; (GOODY.EMS, p.ej.) y lo carga (primer loader). En el directorio puede verse que han utilizado el disco de arranque del CP/M como base:&lt;/p&gt;
&lt;p style=&quot;text-align: center; &quot;&gt;
	&lt;img alt=&quot;&quot; src=&quot;http://www.habisoft.com/userfiles/image/02/Goody_dir.png&quot; style=&quot;width: 500px; height: 470px; &quot; /&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify; &quot;&gt;
	Una vez cargado, salta a $0000, de ah&amp;iacute; a $0100 (se ve que por comodidad usan archivos COM como base) y empieza el segundo loader; inicializa memoria, video, y hace la carga de la pantalla de presentaci&amp;oacute;n y el juego (rutina en $0193, cargando siempre sobre el banco 1); a continuaci&amp;oacute;n se ejecuta tal cual (salto mediante, por la paginaci&amp;oacute;n, hasta $F000 y de ah&amp;iacute; a $0100 (otra vez COM)). No hay encriptaci&amp;oacute;n o verificaci&amp;oacute;n alguna, s&amp;oacute;lo carga de sectores de 1024 bytes.&lt;/p&gt;
&lt;p style=&quot;text-align: justify; &quot;&gt;
	Conclusi&amp;oacute;n: protecci&amp;oacute;n realmente simple. Adem&amp;aacute;s, puede volcarse la memoria y hacerse un .COM del juego en cuesti&amp;oacute;n completamente desprotegido.&lt;/p&gt;
</description>
<pubDate>06 Jul 2011 13:37:37 +0100</pubDate>
</item>

<item>
<title>Más mierda, más wasabi</title>
<guid isPermaLink="true">http://www.habisoft.com/irmia/comentarios.asp?id=313</guid>
<link>http://www.habisoft.com/irmia/comentarios.asp?id=313</link>
<comments>http://www.habisoft.com/irmia/comentarios.asp?id=313#fin</comments>
<category>Yuyus</category>
<author>NoSpam@NoSpam.com (Habi)</author>
<description>&lt;p style=&quot;text-align: justify; &quot;&gt;
	No le llegan ni a la suela del zapato al picor de los guisantes aquellos, pero...&lt;/p&gt;
&lt;p style=&quot;text-align: center; &quot;&gt;
	&lt;img alt=&quot;&quot; src=&quot;http://www.habisoft.com/userfiles/image/02/Delight2.jpg&quot; style=&quot;width: 366px; height: 500px; &quot; /&gt;&lt;/p&gt;
</description>
<pubDate>20 Jun 2011 23:19:06 +0100</pubDate>
</item>

<item>
<title>Emulando</title>
<guid isPermaLink="true">http://www.habisoft.com/irmia/comentarios.asp?id=312</guid>
<link>http://www.habisoft.com/irmia/comentarios.asp?id=312</link>
<comments>http://www.habisoft.com/irmia/comentarios.asp?id=312#fin</comments>
<category>Tecnoesoterismo</category>
<author>NoSpam@NoSpam.com (Habi)</author>
<description>&lt;p style=&quot;text-align: justify; &quot;&gt;
	Vamos a explicar el otro teaser, pero antes algo de historia sobre mis emuladores. &amp;iquest;Por qu&amp;eacute;? Porque lo digo yo:&lt;/p&gt;
&lt;p style=&quot;text-align: justify; &quot;&gt;
	&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; &quot;&gt;
	&lt;u&gt;&lt;strong&gt;Es.Pectrum&lt;/strong&gt;&lt;/u&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify; &quot;&gt;
	Emulador de ZX Spectrum. Modelos oficiales, clones rusos, ciclos de bus, ULA exacta, contenciones, RZX, BetaDisk, disco 3&amp;rdquo;, MultiFace, Disciple, +D, GunStick, LightGun, Interface I y II, ...&lt;/p&gt;
&lt;p style=&quot;text-align: center; &quot;&gt;
	&lt;img alt=&quot;&quot; src=&quot;http://www.habisoft.com/userfiles/image/02/E-0-0.jpg&quot; style=&quot;width: 250px; height: 263px; &quot; /&gt; &lt;img alt=&quot;&quot; src=&quot;http://www.habisoft.com/userfiles/image/02/E-0-1.jpg&quot; style=&quot;width: 250px; height: 263px; &quot; /&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; &quot;&gt;
	&lt;img alt=&quot;&quot; src=&quot;http://www.habisoft.com/userfiles/image/02/E-0-3.jpg&quot; style=&quot;width: 250px; height: 263px; &quot; /&gt; &lt;img alt=&quot;&quot; src=&quot;http://www.habisoft.com/userfiles/image/02/E-0-4.jpg&quot; style=&quot;width: 250px; height: 263px; &quot; /&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify; &quot;&gt;
	&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; &quot;&gt;
	&lt;strong&gt;&lt;u&gt;PC-Cito&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify; &quot;&gt;
	Empez&amp;oacute; como un intento de emulador de XT, acab&amp;oacute; siendo 386 + 387, con VGA (mal emulada) y las BIOS del Bochs.&lt;/p&gt;
&lt;p style=&quot;text-align: center; &quot;&gt;
	&lt;img alt=&quot;&quot; src=&quot;http://www.habisoft.com/userfiles/image/02/E-1-0.jpg&quot; style=&quot;width: 500px; height: 375px; &quot; /&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify; &quot;&gt;
	&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center; &quot;&gt;
	&lt;strong&gt;&lt;u&gt;PCW.es&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify; &quot;&gt;
	Y finalmente, ahora sab&amp;eacute;is por qu&amp;eacute; ten&amp;iacute;a destripado ese PCW, y la clase de experimentos que estoy haciendo. De momento arranca LocoScript y CP/M, pero no el BatMan. Vida esta. :/&lt;/p&gt;
&lt;p style=&quot;text-align: center; &quot;&gt;
	&lt;img alt=&quot;&quot; src=&quot;http://www.habisoft.com/userfiles/image/02/E-2-0.jpg&quot; style=&quot;width: 500px; height: 402px; &quot; /&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center; &quot;&gt;
	&lt;img alt=&quot;&quot; src=&quot;http://www.habisoft.com/userfiles/image/02/e-2-2.jpg&quot; style=&quot;width: 500px; height: 402px; &quot; /&gt;&lt;/p&gt;
</description>
<pubDate>18 Jun 2011 19:04:16 +0100</pubDate>
</item>

</channel></rss>
