Tip:
Highlight text to annotate it
X
El 16 de Junio de 1983, el japonés Kazuhiko Nishi,
diseñó una arquitectura de computadores domésticos standard llamada MSX.
Dicha arquitectura marcó toda una generación de jóvenes
que creció durante los años 80 en países como ***ón, Rusia, Brasil, Holanda, España y Oriente Medio.
La historia de hoy nos lleva hasta un miembro de la comunidad española
que aun muchos años después de la desaparición del standard MSX,
ha contribuido enormemente a la preservación de su software y de su cultura.
Martos. Este apellido nunca habia significado tanto como a medianos de los años 80,
cuando un joven Francisco Jesús Martos Montiél comenzaba a dar-se a conocer
a través de diferentes conversiones de juegos en formato ROM a disco, perfectamente parcheadas.
Debido a sus extensos conocimientos de programación, aprendidos de manera autodidacta,
Martos llegó a ser un colaborador destacado de la revista MSX Club.
Concreta-mente contribuyó, de forma importante, a la sección "Coleccionable de ***ón",
la cual se convirtió en la más importante de la citada revista.
Aquellas páginas estaban repletas de información y trucos de su cosecha.
Hay que destacar que hablamos también de un auténtico jugon, capaz de sentar-se pacientemente
durante horas, e incluso días a destripar completamente un RPG Japonés.
Además de ser un jugon, Martos era una fuente de información inagotable.
Tenia acceso a las últimas novedades del mercado japonés gracias a su red de contactos,
de ahí conseguía la información que, mas tarde,
se publicava en MSX Club, para deleite de sus lectores.
Debido al exhaustivo de preservación y divulgación, realizado a lo largo de los años en torno al MSX,
Martos es uno de los nombres fundamentales a la hora de hablar de la história del standard japonés en España.
Quieres saber porqué?
Pues tenemos respuesta! Afortunadamente el dia 12 de Diciembre de 2012, Martos fué invitado
a dar una charla sobre su história, a la 42 edición de la reunión de usuarios de MSX de Barcelona.
Allí estaban nuestras cámaras, pero es gracias a la contribución de Germán Díaz y de Toni Cano
que podemos ofreceros el siguiente montaje de 4 episodios reconstruyendo la charla completa.
A continuación puedes asistir a la primera parte de la charla
Puedes seguir la segunda y las 2 últimas partes de la conferencia en nuestro nuevo canal:
The Gamer Inside España.
(...) la manera de conseguirlo, había en las tiendas, había juegos en cartucho, que eran mucho mejores, y ...
me metí muy pronto en el circuito de conseguir los juegos copiados o pirateados en cinta.
Entonces la cuestión, al final fue que ya sobre el año 88, empezaban a ver-se muchos cartuchos en las tiendas,
que era, casi, ya, lo qué valía la pena, porqué la producción de juegos en cinta de MSX, se fue...
A medida que fueron entrando los ordenadores de 16 bits, las cintas eran cada vez peores.
Todos conocéis el asunto. Ya llegaba un punto, en que uno compraba una cinta y decía:
En que me he gastado el dinero, por favor! Lo he tirado!
Tenía que haber ahorrado para comprar otra cosa.
Entonces, lo que me movía en ese tiempo era
como hago yo para poder jugar a estas cosas que un cartucho de 32ks o 16ks de Konami,
un Hyper Sports, un Knightmare, con el tiempo no tenía que molestar-se uno.
Siempre podía conseguirlo, siempre había fulanito o menganito que te lo pasaba en cinta,
pero claro, un Nemesis o un Penguin Adventure, no había manera.
Y ahí, empecé a plantear-me ... ¿Como lo hago?
Pues, por lo visto, al cabo de un tiempo, me llamó un colega..
"- Ven-te para mi casa que te voy a enseñar una cosa muy curiosa!"
Me pone un Nemesis y lo empieza a mirar con las herramientas que usábamos para ver los juegos y hackear cosas, que era en MON.
Estaba el desensamblador GEN, pero sobretodo, lo que se usaba era el desensamblador - monitor de memória MON,
en el cual se veía todo lo se había de ver de los programas.
Aprendimos en una tarde, nos dimos cuenta, de como paginaba los megaroms.
Descubrimos un mundo nuevo. Cómo hacia Konami en sus cartuchos, que hasta entonces sólo cabia
lo que cabía en la memoria plana, es decir 64ks como mucho, y Konami no usaba 64, con 32 le sobraba.
Cómo hacia Konami para meter teóricamente 1 megabit (128ks) en un cartucho?
No lo hacia mediante lo que sabíamos. La documentación que había en ese tiempo sobre los MSX, sobre cómo funcionaban
era lo que iba saliendo en las revistas, MSX- Club o la Input.
No había otras fuentes. Luego estaban los libros que uno podía tener para poder aprender a programar en ensamblador,
pero la base de como llamo yo al sistema para que me haga algo en pantalla, que no tenga yo que programarlo enterito,
esta llamada al sistema sirve para hacer algo con el VDP,
esta otra sirve para sacar sonido por el PSG...
Eso, donde únicamente podías aprenderlo era porqué te lo sacaban en las revistas
o algún libro especializado que había, pero que llegaba solo hasta ciertos puntos, no mucho mas.
Y eso en MSX1, en MSX2, menos aún.
Entonces había aspectos que, mas o menos podían saber-se, pero otros eran un completo misterio.
Entonces, volviendo al tema... Como conseguir que un juego que tenia teóricamente 128ks,
pudiese entrar en la memoria de un MSX.
Sabía que los MSX2 tenían 128ks de RAM principal, y otros 128 de VRAM.
Entonces , digo, esto ya está, me compro un MSX2, y aquí ya tengo memoria!
Ya solo es cuestión de saber como utilizar-la!
Como aprendo yo como utilizar esa memoria? En ninguna revista ni ningún sitio habían explicado
qué era un mapeador de memoria, ni cómo se utilizaba.
Mi única información era del manual del MSX2, que había el mapa típico de slots del MSX,
y donde estaba la RAM del Phillips, ponía, si este era era el tamaño de 64ks, pues ese slot era de 128ks.
Y yo digo... y como llego a los 64ks que están arriba? Ninguna explicación en ningún sitio.
Tendré que averiguarlo. Entonces me puse a desensamblar la BIOS entera.
Bueno, a desensamblar-la no, a poner a buscar en la BIOS todas las instrucciones de entrada / salida
ver a que puertos accedían. Por eliminación pues me iba haciendo una lista...
A ver, este puerto no, porqué este puerto es del VDP, este no que es el PSG, este tampoco,
y al final de toda la lista, había algunos puertos, que nadie sabía para que los accedía la BIOS.
Entre ello había 4 puertos que sin saber, ni tener ni idea para que servían, me puse a escribir valores en ellos
y ver que algunos colgaban el ordenador, otros no, hasta que, no se cómo, ya ni me acuerdo,
conseguí averiguar , que cambiaba los bancos de memoria, y así podía , dentro del slot donde estaba la ram, acceder a los bancos de memoria,
que en teoría no se direccionaban por el sistema standard de slots, sino por el otro sistema de mapeado de memoria.
Todo esto lo averigüe después.
Yo tenía en una cinta, no en un disco, en una cinta...
tenia guardado los 128ks del map del Penguin Adventure.
Yo quería jugar al Penguin Adventure. Como lo hago para jugarlo?
No había averiguado nada de como se manejaba la memoria RAM principal.
Yo solo sabía que los MSX2 tenían bastante VRAM, de sobras.
Los programas de MSX1 usaban dolo 16, los otros 112 estaban libres...
y en la revista sí ponía como se podían utilizar los bancos de memoria de la VRAM.
Pues ya está! Uso esos 112ks de VRAM como disco RAM.
Bloque que el programa me pida y que no esté en la memoria lo copio de allí.
Y efectivamente, funcionó! Lentísimo, pero funcionó!
De hecho iba tan lento, que podía jugar sin que me mataran.
Me daba tiempo a esquivar a todos los enemigos, con lo cual logré llegar al final en la primera partida,
eso sí, una partida de 6 horas!
Eso después tuve que pulirlo. El pulimento definitivo llegó cuando, efectivamente,
descubrí cómo mapear la memoria principal. Eso ya era otro punto!
Ya realmente las coas se cambiaban instantáneamente.Ahí ya se podía hacer una cosa parecida
a la que hacía el cartucho real en la ROM. Parecida hasta cierto punto porqué había tenía su dificultad.
El cartucho ROM tenía 128ks, estaba partido en páginas de 8. El cartucho ROM podía ponerte una página de 8 y otra de diferente a continuación.
Pero la RAM principal paginaba de 16 en 16, entonces tenia que hacer hacerme combinaciones de 2 páginas.
El cartucho podía usar muchas combinaciones diferentes, y tenía que saber cuales eran las que realmente el programa iba a utilizar mucho, todo el tiempo.
Esas eran las que tenían que estar siempre en la RAM principal.
Las otras se podían elaborar al vuelo.
En fin, así, más o menos, indagando lo que se podía, conseguí finalmente hacer que la cosa medio funcionara.
El Penguin Adventure llegó a tirar bastante bien.
Y el Vampire Killer que también tenía los bloques en cinta.
Bueno, no debía, no estaba pensado parara usar mucho la cinta en MSX2.
Pues nada, cogí los bloques y también funcionó el Vampire Killer.
Al principio con fallos, como sabéis, muchos que habéis jugado al Metal Gear, que en su momento era la bomba,
poderlo jugar en disco, llegaba un punto, en que te metías en el ascensor, y te podías ir a tomar un café y cuando volvías el ascensor había llegado a la planta de abajo.
Todos esos fallos se fueron corrigiendo.
En fin, centrándonos en el tema...
Poco a poco pues se empezaron a abrir juegos que podían jugar-se en un MSX2 con cierta capacidad.
En ese tiempo ya había conversiones de juegos que no se habían visto por aquí
y que llegaban sobretodo de Francia y de Holanda...
cartuchos megarom que ya, en ***ón salían pero aquí nadie, ninguna compañía, oficialmente los traía...
quizás Discovery, quizás, trajese alguna importación, pero de poca envergadura.
Esos cartuchos, en principio, se veía que...
Yo tenía mis contactos, que eran los que conocían a todo el mundillo.
Principalmente mi contacto durante todos estos años era Oscar, Oscar López, que vivía en Toledo.
Tenía sus contactos en Francia y en ***ón.
Y era quien conseguía los programas, pero muchas veces los conseguía ya pirateados.
Las versiones que, por ejemplo, de Holanda, conseguía los programas megarom.
Veías, que por ejemplo, el Maze of Galious necesitaba funcionar en un Sony F700, no podía funcionar en otro ordenador
porque necesitaba 256ks de memoria principal
Y ahí es donde entró mi tarea de... yo quería jugar a todo eso, pero tenia que hacerlo en mi máquina
y mi máquina... tenia que hacer como fuese para que aquello cupiese en 128ks.
Entonces eso fue a lo que yo me estuve dedicando mucho tiempo.
Programas que ya habían hecho en Holanda o en Francia gente como Asimosoft o Starcrack
ya los habían convertido pero por la vía fácil, para el ordenador que tenía mucha memoria.
Yo de esas conversiones ya hechas, que ya funcionaban extraía, otra vez los bloques originales,
les quitaba los cambios que les habían metido. Eran cambios de poca envergadura.
Con cambiar-le una instrucción aquí y una instrucción allá... se veían fácilmente.
Los volvía a dejar como estaban, y a partir de ahí trabajaba para hacer que funcionaran con mucha menos memoria.
Había que planteárselo de una manera mucho mas compleja.
Luego, a medida que iban saliendo muchos programas que ya podían funcionar en un MSX2 con 128Ks,
que eran los que tenían la mayoría de la gente que tenían MSX2, empezaron a extender-se, la gente me llamaba, me los pedía,
incluso de la revista MSX-Club me llamaban y me decían:
Tu tienes esto y te funcionan? pues mándamelo! ...