2 call msxcallmsx.atlantes.org/pdf/7.pdf · puertos serie y el fantástico lector de tarjetas sd,...

52

Upload: lekhanh

Post on 28-Mar-2018

219 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: 2 Call MSXcallmsx.atlantes.org/pdf/7.pdf · puertos serie y el fantástico lector de tarjetas SD, totalmente operativo. ... - Soporte Kanji - Soporte MSX-DOS2 - Conexión PS/2 - 2
Page 2: 2 Call MSXcallmsx.atlantes.org/pdf/7.pdf · puertos serie y el fantástico lector de tarjetas SD, totalmente operativo. ... - Soporte Kanji - Soporte MSX-DOS2 - Conexión PS/2 - 2

2 Call MSX

NÚMERO 7

03

04

10

12

14

24

39

40

44

50

Editorial

Actualidad

Eventos

En Breve

Ya disponible

Artículo

Konamiteca

Software Amateur

Trucos y Pokes

Cómo pasar ...

Eventos:29a Ru de Barcelona

Una reunión más en la capital catalanaque no despertó el mismo interés quesu predecesora por la escasez denovedades. Aun así, hubo motivos desobra para acercarse.

Sumario

secciones 10

Ya disponible:Operation Wolf

Es cierto, nunca tuvimos una versiónde la recreativa como merecíamos. Elgrupo Toybox nos ofrece una nuevaversión más acorde a las posibilidadesde nuestra máquina.

18

12

Software Amateur:Spelunkers

En esta sección veremos juegos ydemos creadas por usuarios.Spelunkers es buena muestra de ello.

40Cómo pasar ...:Ghost House

Si se te atascaba el mítico juego deCasio te ofrecemos una guía para poderllegarte al final.

50Artículo:

Desarrollo cruzado enPC para MSX

Programar para MSX utilizando el PC.

24

DICIEMBRE / 2006

En breve:Manbow 2

Manbow 2 será una realidad muypronto. Aquí encontrarás una introduc-ción a lo que promete ser un juegazo.

Page 3: 2 Call MSXcallmsx.atlantes.org/pdf/7.pdf · puertos serie y el fantástico lector de tarjetas SD, totalmente operativo. ... - Soporte Kanji - Soporte MSX-DOS2 - Conexión PS/2 - 2

Call MSX 3

¡A TODA MÁQUINA!

Con el nombre de aquel famoso pack de Dinamic podríamos resumir lagran actividad dentro de la escena del MSX. Y es que multitud de títulosaparecen día tras día, muchos impulsados por la conocida MSX Dev y otrosdesarrollados independientemente gracias a ese espíritu tan poderoso quecrece y no deja de sorprendernos. Es tal el volumen de novedades que hemostenido que crear nuevos artículos o realizar modificaciones a última hora,justo antes de enviar el magazine a la imprenta. Por un lado pensábamos:¡Dejadnos acabar la revista en paz! pero por el otro pedíamos más y másnovedades. El detalle a destacar es que últimamente no tenemos dificultadespara llenar la revista con todo el material que aparece, algo que denotanuevamente la actividad actual del sistema.

En la era de Internet donde todo el mundo puede descargar cualquierjuego y que el soporte físico, en muchos casos, está en un plano secundarioo inexistente, el MSX vuelve a los orígenes dando soporte nuevamente a lacinta o a nuevos y avanzados cartuchos; todo ello culminado por un granlogro para la escena: el One Chip MSX, un sistema MSX completo fruto dela insistencia y perserverancia de muchos usuarios de MSX en todo el mundoque lo han apoyado.

Una vez más queremos agradecer la gran ayuda prestada por nuestroshabituales colaboradores sin los cuales esta revista difícilmente se encon-traría en vuestras manos. Un trabajo totalmente voluntario y que refuerza eseespíritu y esa manera que tenemos los usuarios del MSX de hacer las cosas.También animamos al resto de la gente a colaborar con la revista, cualquieridea, trabajo u opinión será bienvenida.

Nos despedimos felicitando las fiestas y que el 2007 nos traiga másalegrías MSXeras si es posible.

¡Hasta la próxima!

El equipo de Call MSX.

EDITORIALRedacción

Francisco ÁlvarezRoberto ÁlvarezÓscar CentellesDavid Lucena

Ilustraciones

Roberto Álvarez

Maquetación

Francisco ÁlvarezRoberto ÁlvarezÓscar Centelles

Colaboran

David FernándezAvelino Herrera

Juan Luis MartínezJuan Miguel Ortuño

Manuel PazosArmando Pérez

Contacto

http://callmsx.gabiot.compor Avelino Herrera

Page 4: 2 Call MSXcallmsx.atlantes.org/pdf/7.pdf · puertos serie y el fantástico lector de tarjetas SD, totalmente operativo. ... - Soporte Kanji - Soporte MSX-DOS2 - Conexión PS/2 - 2

4 Call MSX

Los usuarios japoneses están de enhorabuena porque elnuevo One Chip MSX ya está disponible. La compañíaD4 se ha animado a fabricar este nuevo

dispositivo y a lanzarlo al mercado al precio de20790 yens más gastos de envío. Asimismo ytras realizar algunas modificaciones paracumplir con las exigencias del mercadoeuropeo, la compañía Bazix se encargade su distribución fuera de Japón.

Este nuevo ordenador equi-vale a un MSX2 con intere-santes mejoras de serie entrelas que podemos destacarel lector de tarjetasSD/MMC basado en elmismo sistema queutiliza el Mega-SCSIoriginal con soporte nativoFAT16, y sonido MSXMusic ySCC+ incorporado de serie.Originalmente el One Chip MSX incorporaba256 Kb pero finalmente se ha decidido aumentar dicha

memoria hasta 1 Mb de RAM.

El aspecto externo es muy bueno, una carcasa de colorazul transparente nos permite distinguir la circuitería y

el chip Altera Cyclone, el auténtico corazón de lamáquina, además queda muy llamati-

vo el movimiento de los ledsrojos, de izquierda a derecha.También podemos observarlos dos slots perfectamente

protegidos por unas pequeñaspuertas basculantes y un par de

botones, el de encendido y el reset.Echando un vistazo a los conectores

podemos ver en la parte posterior los típi-cos conectores de video y audio estéreo

(RCA), S-Video, VGA y alimentación. En laparte frontal podemos hallar un par de entradas

USB que en un futuro podrán ser utilizadas, dospuertos serie y el fantástico lector de tarjetas SD,

totalmente operativo.

Ya que el One Chip MSX está basado en el AlteraCyclone, un chip FPGA totalmente reprogramable, podemos

variar su estructura para que se comporte de manera dife-rente, pudiendo cambiar la lógica para que equivalga a otroprocesador; siempre y cuando no sobrepasemos la capacidado el número de puertas reprogramables de dicha FPGA. Estoes muy interesante ya que se pueden realizar actualizacioneso ampliaciones del sistema simplemente modificando el códi-go interno del chip principal.

Según informaciones hechas públicas, el código paraemular cada chip de nuestro MSX está lejos de estar opti-mizado al 100%, lo que deja una puerta abierta a estos futu-ros “upgrades” de Hardware. Si el futuro desarrollador deHardware para el MSX One Chip quiere mostrar su destrezacon el código VHDL será mejor que adquiera (o se construya)el cable necesario, pues podría tener resultados imprevistos ydejar su máquina inservible por un tiempo.

¿Impaciencia? ¿Alegría contenida? ¿Cómo podríamos definirel estado de ánimo en el que nos hallamos mientras escribimosestas líneas? El One Chip MSX ya está a la venta, eso es algoque creíamos impensable hace unos meses o años. Pensábamosque iban a volver a jugar con nosotros, con nuestros sentimien-tos, pero verlo para creerlo, definitivamente se vende. Ahora alos usuarios de fuera de Japón nos toca esperar un poco máspara hacernos con él. Hasta entonces, a morderse las uñas.

AAccttuuaalliiddaadd¡LLEGA POR FIN EL NUEVO MSX!

CARACTERÍSTICAS TÉCNICAS :

- MSX2 con 1024kB RAM- Soporte Kanji- Soporte MSX-DOS2- Conexión PS/2- 2 puertos de joystick MSX- 2 slots de cartuchos MSX (soporte de 12 voltios)- Slot de tarjeta SD/MMC con soporte nativo para FAT16bajo MSX-DOS 2- Salida de vídeo compuesto y SVHS- Salida para monitor VGA- 2 salidas de audio- Pin de E/S para la FPGA (40 pins y 10 pins)- 2 puertos USB- 32MB SDRAM

Page 5: 2 Call MSXcallmsx.atlantes.org/pdf/7.pdf · puertos serie y el fantástico lector de tarjetas SD, totalmente operativo. ... - Soporte Kanji - Soporte MSX-DOS2 - Conexión PS/2 - 2

Call MSX 5

Tuvimos tiempo hasta el pasado 21 de Noviembre parareservar nuestro One Chip MSX, ya que al parecer no habráuna segunda venta de los mismos. El “package” del One ChipMSX contendrá:

Para finalizar, sóloconfirmar que One ChipMSX, sumando gastosde envío y el famosoVAT nos sale a losespañoles a un precioque ronda los 240euros. Posiblemente lacantidad sea un pocomás elevada que la quepagarán en el mercadojaponés, pero por todolo visto, merecerá lapena.

OOnnee CChhiipp MMSSXX

4º Número de Moai-Tech

Ya podéis visitar en internet la cuar-ta entrega del webzine de MSX encastellano.

A destacar en este número el comen-tario del primer cartucho del milenio deMSX: Ink Exxon Surfing y la entrevista algrupo holandés Delta Soft, creadores delKonami Quiz 2, los cuales veremos que tienenuna visión del futuro del sistema que a más deuno les chocará.

Como siempre somos fans de la secciónCuriosidades y esta vez nos ha parecido unpoco corta, nos hubiera gustado que profun-

dizaran un poco más en esos aparatos koreanostan sorprendentes como el Kobo.

Después de bastante tiempo nos muestranun CD musical relacionado con el MSX, estábien dar de vez en cuando un placer al oído.

También destacar la mención al anime delcual Konami hizo un soberbio juegazo,Hinotori. Para los fans de este juego nosfacilitan el enlace para descargar la películadesde el programa de PC eMule.

http://www.ivanpriego.com/0_moai/

MATERIAL INCLUIDO :

- 1 One Chip MSX- Manual de usuario en inglés- Código fuente en VHDL de la configuración MSX2- CDROM con fuentes y programas:

- Altera Quartus II - Desarrollar en VHDL- PLDLOAD / PLDSAVE - Cargar/Grabar la FPGA- EP, FDLOAD, FDSAVE - Utilidades para DSKs

- Adaptador de 220V- Esquemas de la placa del One Chip MSX- Anteproyectos de la carcasa del One Chip MSX

Page 6: 2 Call MSXcallmsx.atlantes.org/pdf/7.pdf · puertos serie y el fantástico lector de tarjetas SD, totalmente operativo. ... - Soporte Kanji - Soporte MSX-DOS2 - Conexión PS/2 - 2

6 Call MSX

Profundizando enel contenido deldisco musical y

tras varias audiciones,podemos decir que esun tanto especial, pordos razones: la primeraes que está compuestopor composicionestotalmente originalesinterpretadas por loschips sonoros denuestros MSX, valién-

dose del PSG y MSX-Music e intentando retorcer su circuitería para obtener lossonidos más rebuscados y raros, algo común para usuariosactivos de la norma, pero a destacar en un recopilatorio musi-cal con perspectivas hacia un reducido mercado musical alter-nativo, donde se busca un sonido diferente y no necesaria-mente proveniente de sintetizadores modernos; la segundarazón es que el compacto contiene un tipo de música bastantedifícil de catalogar y para nada comercial, pudiendo decir queroza la psicodelia. Personalmente nos parecen más intere-

santes algunos sonidos, que sin ser tampoco algo extraordi-nario, superan en conjunto a las melodías en sí. Es decir, noes un disco para amantes de las composiciones tradicionales,como las que encontramos en los juegos MSX, sino todo locontrario ya que está destinado principalmente a un usuarioveterano del MSX que busca experiencias sonoras nuevas ycomposiciones que no estén forzosamente ligadas con elmundo del videojuego pero sí al de la electrónica, especial-mente la de su máquina favorita. En algunos aspectos quizásse pueda encontrar similitudes entre la música de esta recopi-lación y el estilo de maestros pioneros de la música electróni-ca como Kraftwerk.

Por último, destacar la excelente calidad de las graba-ciones. Presentan una gran nitidez y pureza, poco habitual eneste tipo de trabajos procedentes directamente desde el MSX.

El precio de este compacto es de 1995 yen (incluyendotasas). Si queréis más información acerca de este productopodeis visitar la página de 360º Records(http://www.360records.net). También es posible comprarlo,incluso con algún descuento desde otras páginas comoAmazon.

MSX TYPHOONMSX Typhoon es un disco compacto musical del artista japonés Araki Kenta que produjo 360º Recordsen el 2005 y que ha llegado hace unos días a nuestra redacción. El mismo presenta un acabado profe-

sional al igual que podríamos encontrar en cualquier producto de venta en tiendas. Esta creación incluyeveinte temas musicales que nos brindarán casi una hora y cuarto de diversión para nuestros oídos.

AAccttuuaalliiddaadd

Bajan los precios de los cartuchos

Aunque a día de hoy, previo a la Reunión de Usuariosde MSX en Barcelona, no se ha hecho oficial en lapágina web de MATRA ( http://www.matranet.net ),

parece ser que la opción SHOCKWARE va a recibir un sucu-lento descuento.

Poco después de la noticia de la aparición de los nuevoscartuchos por parte de Manuel Pazos, aunque no podemosafirmar que haya relación alguna, Jon Cortázar nos comentadesde los foros de Karoshi (http://karoshi.msxgamesbox.com)cómo los precios del servicio que ofrece Matra ha descendidode forma considerable.

Matra ofrece dos posibilidades para los desarrolladores deSoftware en cartucho. Dicho Soft debe tener formato .ROM yocupar 8K, 16K, 32K o 48K:

- La primera opción se basa en la opción del pago porcartucho creado, con un mínimo de 10 unidades, al precio de8 euros por cartucho. Esto incluye cartucho, caja y pegatina.El packaging, a elección del comprador, puede ser diseñadopor parte de Matra si se prefiere y cada unidad irá retractila-da.

- La segunda opción consigue que el desarrollador nonecesite invertir dinero inicialmente. Coincidiendo con lascaracterísticas de formato de la opción 1, se recibirá 2 eurospor cada cartucho vendido por parte de Matra. En este caso,el PVP desde matranet será de 10 euros por unidad.

Como podemos observar, hay un trabajo excelente porparte de Matra. Quien no quiera su propio juego en cartuchocon noticias como ésta, es porque no quiere.

Page 7: 2 Call MSXcallmsx.atlantes.org/pdf/7.pdf · puertos serie y el fantástico lector de tarjetas SD, totalmente operativo. ... - Soporte Kanji - Soporte MSX-DOS2 - Conexión PS/2 - 2

Call MSX 7

Lo que se nos viene encima

16-09-05 Babaliba (MSX1 / Karoshi Corporation) - EspañaBall-On! (MSX1 / Karoshi Corporation) - España

21-08-06 Beez - MSXDEV'06 - (DarkStone) - Holanda12-03-04 Blox (Team Bomba, Graphis 9000) - Holanda

Bust A Move (MSX1 / Karoshi Corporation / Taito) - España04-02-04 Carmen Sandiego (MSX Files / SLotman) - Brasil13-04-05 Columns (MSX1 32kb / Karoshi Corporation) - España22-04-06 Cyber Ware: Chapter IV - Katarsis Episode II (TNI) - Holanda10-05-06 Dash! - (XL2S) - Holanda04-05-06 Dragon's Lair (Nyyrikki) - Finlandia09-08-03 Dream On (MSX2 / Kralizec) - España26-02-05 Dr. Mario (MSX1 / Karoshi Corporation) - España

Dynamite Düx (MSX1 32kb / Karoshi Corporation) - España30-08-06 Flash Gordon (Matra, ROM Cartridge) - España29-03-04 Final Race / Final Lap (MSX1 32kb / Karoshi Corp.) - España06-01-06 Goonies 2 (Crappy Soft) - España16-08-06 Kame Graphics 2.0 (Paxanga Software) - España18-04-06 Krakonia (MSX1 / Dioniso) - España

Little Knight's Adventure (MSX1 / Karoshi Corporation) - España19-04-06 Lucky Darts (Deltasoft) - Holanda25-04-06 Lux (XL2S) - Holanda15-05-06 Malaika-Prehistoric Quest- MSXDEV'06 - (Karoshi) - España04-12-05 Manbow 2 (MSX2 / RenovatiO) - Holanda02-07-06 Merin’s World (MSX2 / webmouse) - Holanda05-12-05 Monster Bash (MSX1 32kb, Karoshi Corp.) - España10-06-06 Monster Hunter - MSXDEV'06 - (Nerlaska Studio) - España03-09-06 MSX Invaders! - MSXDEV'06 - (Nerlaska Studio) - España13-04-06 Pacman Collection DX (Op Software) - Holanda16-08-06 Pengo (Paxanga Software) - España24-06-06 Project Hunter ( MSX1 / MSX Retrodevelopment ) - Holanda

Rapid Burst Space Conflict (MSX1 32kb / Karoshi Corp.) - España18-06-05 Soulgrinder (MSXTurboR / DemonSeed ) - Holanda01-01-04 Super Puzzle Fighter 2X (MSX1 / Karoshi Corp.) - España16-08-06 Tam Tam Twins (Paxanga y Dered Software) - España14-08-06 Target Area (Rabbit Soft Workers) - Japón

The Best of Hamaraja Night 2 (XL2S) - HolandaThe Revenge of the Last Dragon (XL2S, Graphics 9000) - Holanda

20-04-06 TT Virus - MSXDEV'06 - (Dioniso y WIZ) - España16-08-06 Unknown name (Paxanga Software) - España26-04-06 Unknown name - MSXDEV'06 - (Infinite Software) - Holanda

X-Tazy (Mi-Chi y otros, GFX 9000, Moonsound) - Holanda

¡Tomad juegos!

Page 8: 2 Call MSXcallmsx.atlantes.org/pdf/7.pdf · puertos serie y el fantástico lector de tarjetas SD, totalmente operativo. ... - Soporte Kanji - Soporte MSX-DOS2 - Conexión PS/2 - 2

8 Call MSX

Tras años de desarrollo silenciosode Software para el estándar,Manuel Pazos vuelve a sorpren-

dernos con una creación Hardware.

Y es que Manuel no descansa. Trasun periodo de estudio y una búsquedaexhaustiva de componentes, haconseguido crear una placa de cartuchocon SCCs tanto para crear las ya cono-cidas MegaFlashROM como para crearcartuchos ROM.

Y es que hubo alguna gente descon-tenta con el hecho de tener que“aprovechar” juegos en cartucho paracrear las MegaFlashROM. Así pues,este colectivo no tendrá excusa estavez para adquirirlas.

Además de estas MegaFlashROMSCC de 512K donde cabe hasta un 4megarom y totalmente compatibles conla original, el bueno de Manuel ha dadoun paso adelante y ha creado un nove-doso catálogo de cartuchos ROMs paradesarrolladores de juegos.

Estos cartuchos soportan juegos o

aplicaciones desde 8Khasta 64K sin mapper.Si el desarrolladorpensase que esto no essuficiente, tiene la posi-bilidad de usar mapperpara conseguirmegaroms de hasta 4megas de capacidad. Y,para terminar desorprender a loscreadores de Software,

éstos podránhacer usodel chip SCCen sus composiciones musi-cales.

Sin tiempo para digerirtodo lo anunciado y comoprueba de potencial delcartucho y oferta de lanza-miento, Manuel haconseguido reunir diferentesjuegos de diversos gruposde desarrolladores -algunosinéditos hasta el momento-y montar un cartucho

MultiROM que se venderá por primeravez en la próxima Reunión de Usuariosde MSX al precio simbólico de 10euros.

Este cartucho,MultiROM Collection,viene con 8 juegos, 3de ellos no publica-dos hasta la fecha:Majikazo, nuevojuego de Lemonizedel que se sabe másbien poco hasta lafecha; una versiónmejorada del TrafficJam de Imanok y la

“Extended Version” del Operation Wolfde Toybox. De estos dos últimos, tenéisuna review completa en este mismonúmero de call MSX.

El resto de juegos que completan elMultiROM son los siguientes: el fantás-tico The Cure de XL2S, ganador delpasado MSX Dev’05; el peculiar, loco ycachondo Parachuteless Joe dePaxanga Soft; el “invertido” shoot’emup Universe: Unknown de Infinite; el“complejo para el que escribe” Stratos,de CEZ Games Studio; por último, laindiscutible mejor versión bajo MSX quese ha hecho del clásico Tetris:Kralizec’s Tetris.

AAccttuuaalliiddaadd

Nuevos cartuchos de Manuel PazosManuel Pazos sorprende durante el mes de Noviembre con par de noticias que no han pasado

desapercibidas. Por una parte, ha conseguido crear sus ya famosas MegaFlashROM SCC desde cero, sinnecesidad de mutilar un cartucho original de Konami con SCC. Por otra, la construcción de cartuchos

ROM para que los desarrolladores de Software tengan un formato físico para sus creaciones.

Logotipo descartado para el cartucho

Page 9: 2 Call MSXcallmsx.atlantes.org/pdf/7.pdf · puertos serie y el fantástico lector de tarjetas SD, totalmente operativo. ... - Soporte Kanji - Soporte MSX-DOS2 - Conexión PS/2 - 2

Call MSX 9

SymbOS, SISTEMA MULTITAREASymbOS es un sistema operativo

multitarea que nació en ordenadoresAmstrad CPC y que ahora está siendoportado al MSX. Es un programa deorigen alemán y su autor es conocidocon el apodo de Prodatron. En la páginadel proyecto podemos encontrar multi-tud de trabajos realizados por el progra-mador, algo que revela el gran nivel desus conocimientos.

Este sistema operativo tiene una in-terfaz gráfica similar al conocido Win-dows, así que disponemos de un es-critorio con nuestros accesos directos yun menú desplegable con los programasy las diversas utilidades. Además,alardea de utilizar la multitarea por loque podemos abrir multitud de ven-tanas o programas y ejecutarlos a lavez.

Nuestras pruebas

Hemos probado la última versión enun Turbo R con adaptador de tarjetasflash y realmente nos ha impresionado.Podemos escoger una resolución de512x212 píxels y 4 ó 16 colores, porlo que podemos configurar un aspectográfico muy bueno, especialmente siañadimos uno de los espectacularesfondos. El sistema operativo trae unsurtido de utilidades entre las que seencuentran una pequeña calculadora,un visor de imágenes (en un formato

especial), un reproductor de melodíasPSG con aspecto similar al Winamp, unreproductor de vídeo (aunque no lo

hemos podido probar) y el clásicobuscaminas, entre otras. Tambiéntenemos una ventana (Shell) para traba-jar en modo de comandos, un panel de

control e incluso unatractivo monitor detareas y rendimien-to. Existe ademásuna Suite para PC(SymStudio) con lacual podemos crearutilidades, convertirimágenes y vídeos ymuchas cosas máspara luego utilizarlasdentro de SymbOS.

Recientemente,el autor nos hasorprendido con una

AVISOPara ejecutar SymbOS sobre

MSX Turbo R es necesario anular ladisquetera del mismo ya que no estátodavía soportada, para ello se utilizael parámetro f0 (hay que escribirsymbos f0).

versión del clásico Pac-Man. Hemosprobado el rendimiento del sistema convarias tareas abiertas y éste ha sidobueno. Con cuatro ventanas dePacman, el monitor de recursos nosindicaba que se estaba utilizando el72% de la cpu aproximadamente.

El único punto negativo es para elsistema de instalación ya que es untanto lioso, engorroso y para nadaautomatizado. Los problemas han surgi-do a la hora de ubicar los archivos yestablecer las particiones para estesistema operativo. De todos modos, elautor es consciente de esto y estápreparando un sistema de instalaciónmás sencillo.

Un aplauso para Prodatron por estegran trabajo; esperamos que siga evolu-cionando, ofreciendo así más posibili-dades. http://www.symbos.de/

Multitarea real576Kb de memoria dinámicaHasta 128Gb de almacenamiento100% Interface tipo ventanas

Page 10: 2 Call MSXcallmsx.atlantes.org/pdf/7.pdf · puertos serie y el fantástico lector de tarjetas SD, totalmente operativo. ... - Soporte Kanji - Soporte MSX-DOS2 - Conexión PS/2 - 2

10 Call MSX

El pasado 29 de Abril se celebró una vez más la másantigua reunión de MSX que se hace en España. Pesea no ser ya tan populosa como hace una década sigue

al pie del cañón. De vez en cuando, si las novedades sonllamativas, el número de visitantes se acerca al de los viejostiempos, pero cuando las novedades son escasas como lo hasido en esta ocasión, la asistencia puede bajar tranquilamentea la mitad (60 visitantes). El lugar sigue siendo el mismo delas últimas ocasiones, la Sala "L’Altell" en las Cocheras deSants de Barcelona. Vamos a hacer un breve recorrido por losstands que se presentaron en dicha cita.

El Stand de SEGUNDA MANO

Como viene siendo habitual se hacía cargo de él el presi-dente de la AAMSX, Jordi Tor. Fue el stand más visitado yaque muchos usuarios buscaban videojuegos antiguos operiféricos. También se vendieron en un suspiro revistasjaponesas de MSX Magazine antiguas.

EL Stand de CALL MSX

Como en cada cita barcelonesa pusimos a la venta unnuevo ejemplar. En este caso el número 6, lo cual significaque llevamos ya tres años en la labor. Uno de los númerosmás equilibrados hasta la fecha en cuanto a contenidos.También vendíamos números antiguos, la trilogía musical

Perfect Covers de Jordi Tor y unos ejemplares del nuevoKonami Quiz 2 del grupo Delta Soft que se agotaron pronto.Como siempre llevamos un Turbo R muy bien equipado paramostrar novedades a lo largo de la jornada.

El stand de PAXANGA

Uno de los grupos que pese a no traer ninguna novedadacabada pusieron stand. Con un cartelito irónico de EnConstrucción dejaban claro que seguían con algún nuevoproyecto entre manos. De paso por si no lo tenías ya podías

BarcelonaBarcelona29a Reunión de Usuarios de MSX de

Mr Melenas buscando “cambio”

Ejemplares del sexto número de la Call

EEvveennttooss

Paxanga “under construction”

Page 11: 2 Call MSXcallmsx.atlantes.org/pdf/7.pdf · puertos serie y el fantástico lector de tarjetas SD, totalmente operativo. ... - Soporte Kanji - Soporte MSX-DOS2 - Conexión PS/2 - 2

Call MSX 11

hacerte con el mítico Yupipati o jugar con el concursableParachuteless Joe.

El stand de MATRA

Era una incógnita su llegada pero ansiada, ya que todo elmundo sabía que era el día perfecto para presentar el espera-do Ink : Exxon Surfing, y así fue. Una presentación que resultócuriosa, ya que la mitad de los presentes atendían y un gruporeducido que se situaba en el stand de segunda mano no lehacían ni puto caso. Pues eso, después de muchos años sevendía un cartucho MSX otra vez. Aparte de esto, numerosascamisetas con logos sarcásticos relacionados con la retroin-formática o el frikismo televisivo. También se vendían lascintas de Ink o Bloody Paws aparte de los tradicionalesproductos MATRA y Kralizec de hace unos años, y númerosde la revista First Generation.

El stand de TABUROTO

Sin presentar novedad alguna los Taburoto estuvieronliados toqueteando internamente su ordenador y conectándo-lo al amplificador para poner la música a tope.

El Stand de MOAI-TECH

El grupo que presenta periódicamente un webzine vendíaun DVD musical llamado Music Soundtracks eXperience con48 discos en su interior en formato MP3 por 2,50 euros.Lástima que hayan optado por este formato tan extendido yaque los puristas en sonido no lo aprecian excesivamente. Perobueno, si te gusta alguno te lo compras original. Tambiénorganizaron un concurso con el juego Family Boxing.

Y esto fue todo lo que dio de sí este evento. Por la nocheno faltó la típica cena de usuarios para celebrar "Another dayof living", aunque esta vez fue más reducida de lo normal.

Otro Dvd musical de Moai-Tech

Inmerso en una reparación

2299aa RRUU BBaarrnnaa

El Mesías quiere pillarse el Ink en el stand de Matra

Una instantánea de la Reunión

Page 12: 2 Call MSXcallmsx.atlantes.org/pdf/7.pdf · puertos serie y el fantástico lector de tarjetas SD, totalmente operativo. ... - Soporte Kanji - Soporte MSX-DOS2 - Conexión PS/2 - 2

12 Call MSX

MANBOW 2 Manbow 2 es uno de los proyectos más serios y

prometedores que podemos encontrar en el panora-ma del MSX; los creadores, RenovatiO, han traba-

jado duro para que así sea. Hace un tiempo apareció un videopromocional en el que podíamos ver las cualidades del futurojuego, entre las que podemos mencionar el suave scroll hori-zontal y vertical que seguirá fielmente los movimientos de lanave; la velocidad del juego en general y la calidad gráfica.Aunque el planeta que se mostraba en el video era bastantesoso, actualmente hemos visto varias capturas de diferentesenemigos y escenarios que nos han dejado con la boca abier-ta. Un ejemplo es un cangrejo espacial o el mismímo núcleoorgánico que dirigía el Manbow totalmente re-estilizado conunos geniales gráficos (gracias Norakomi), el cual vuelve a lacarga tras su derrota en la anterior entrega, gobernando denuevo su poderosa fortaleza.

La nave también ha sufrido laevolución (después de muchassugerencias y colaboraciones en elforo del MSX Resource Center) yahora tiene un look más sofistica-do.

Respecto al tema musical podemos decir que las melodíasson una gozada. Están compuestas utilizando el chip desonido de Konami (SCC) con la intención de mantener elsonido original del primer Space Manbow. Podemos hacernosuna idea descargándonos los tres temas disponibles en lapágina bgMSX (www.bgmsx.com).

The Descent y la melodía del enemigo final combinan unsonido electrónico-futurista, ágil, detallista y además melódi-co, un sonido de la vieja escuela que nos recordará muchasotras legendarias composiciones. Living Planet quizás nosrecuerde más a la música del original de Konami. De nuevoNorakomi lo ha conseguido.

Sin dudarlo le damos un diez a este artista por deleitarnoscon este fantástico trabajo, tanto por los gráficos como por lamúsica, aunque estamos ansiosos de ver y escuchar el resto,que si todo va según lo previsto, debería ser presentado afinales de enero en el Encuentro de Nijmegen (Holanda).

EEnn bbrreevvee

El juego

Nada menos que ocho niveles repletos de acción nosaguardarán, a través de los cuales Jr deberá enfrentarse alManbow espacial y derrotar todo su peligroso ejército.

Nivel 1 - Las cavernas: Jr esquiva el ataque del Manbowpero muchos fragmentos de planeta obstaculizan su escapa-da. Vuela a través de una caverna que encuentra en un mete-orito y allí lucha con multitud de enemigos que permanecíanocultos. Jr derrotará al guardian de la caverna que permaneceoculto en las paredes de la misma. Llega la calma y Jr puedepensar en lo sucedido. Vuela hasta las profundidades de lacaverna mientras piensa vengar a su padre destruyendo elnuevo Manbow espacial. Finalmente encuentra la salida de lacaverna.

Nivel 2 - El espacio: el Manbow espacial detecta la pre-sencia de Jr en el espacio y envía una flota para que loencuentren y lo destruyan. Jr, lleno de rabia, combate contraestos enemigos y acaba con un gran destructor espacial. Labatalla ha sido inevitable pero por el momento ha salido victo-rioso. Es hora de destruir al gran enemigo.

El Manbow espacial es un sol en estado orgánico que sealimenta de la energía de otros sistemas, destruyéndoloscompletamente. En su superficie podemos ver un gran ojo,con el que fija su malvada y hambrienta mirada en las profun-didades del espacio.

Nivel 3 - Dentro del Manbow espacial: Jr se da cuenta deque su armamento no causa daño alguno en la superficie deesta poderosa nave así que busca una entrada al interior de lamisma; encuentra una pequeña entrada y se infiltra a travésde ella. Dentro encuentra dificultades para esquivar a la grancantidad de enemigos pero logra llegar al corazón. El sistemade defensa de éste se activa mientras Jr intenta destruir elcorazón si éxito; la batalla se hace cada vez más difícil. Unrayo sale del corazón del Manbow y abre un agujero hacia elexterior; esta vez, Jr no tiene más remedio que escapar.

Jr piensa cómo destruir a este poderoso enemigo, así quepone rumbo hacia las ruinas Alpha4 con el fin de encontrar la

¡Inminente lanzamiento!

O B L I V I O N S U N

Page 13: 2 Call MSXcallmsx.atlantes.org/pdf/7.pdf · puertos serie y el fantástico lector de tarjetas SD, totalmente operativo. ... - Soporte Kanji - Soporte MSX-DOS2 - Conexión PS/2 - 2

Call MSX 13

solución.

Nivel 4 - El descenso: viejos templos, columnasdestrozadas y restos de lo que antiguamente fueron gigan-tescas estatuas componen el paisaje de este planeta. Jr luchacontra multitud de estrañas criaturas a pesar de no ser unosenemigos prioritarios para él. Finalmente se enfrenta contrauna antigua e inmensa nave espacial. Después de la luchabusca alguna pista entre las ruinas pero no encuentra nada.Una extraña señal proveniente de un cercano planeta haceque Jr ponga rumbo hacia él.

Nivel 5 - El planeta viviente: un planeta dominado por elagua y cubierto por una gran jungla floral. Hay un pequeñopueblo y Jr desciende hasta él. Los habitantes entienden lacausa del piloto y deciden ayudarle, pero a cambio piden queJr libere al pueblo de un horrible monstruo que cada día atacaal poblado. Pilotando su nave a través de la frondosa selvaencuentra la guarida del feroz enemigo: se trata de undinosaurio. La batalla es frenética pero finalmente el gigan-tesco animal es derrotado.

Jr es proclamado el héroe del pueblo y descubre así quesu gente son descendientes directos de la civilización Alpba4.Cuentan cómo sus ancestros consiguieron grandes avancestecnológicos aprendiendo a sustraer la vida de los ecosis-temas, pudiendo crear formas de vida completamente nuevas.Desafortunadamente, su sol fue prácticamente destruido enuna colisión contra un gran meteorito, así que desarrollaron unplan para enviar energía vital al astro. Al principio la ideafuncionó pero al poco tiempo este nuevo sol tomó conscien-cia propia y aprendió a robar energía de los ecosistemas, asíque comenzó a destruir todos los planetas cercanos. Comoesto podría suponer la destrucción del Universo se diseñó unarma láser para destruir este mortal sol llamado el Manbowespacial.

El Manbow fue destruido. La gente del planeta lo aban-donó y se dirigió al planeta donde Jr se encuentra. Los cientí-ficos que diseñaron el láser se dirigieron a un lugar descono-cido del espacio con la idea de revivir el Manbow espacial.Ellos todavía mantienen el increíble arma láser.

El pueblo todavía tiene la bomba que puede destruir elescudo que proteje el corazón del Manbow, pudiendo asídestruirlo con la ancestral arma láser.

Jr recoge la bomba y comienza la búsqueda del láser.

Nivel 6 - Profundidades del núcleo: Jr entra en una atmós-fera decadente. La muerte domina la superficie y restos deanterior vida se espacen por ella creando una manta oscura deceniza. Solamente los desalmados y la maldad puede vivir eneste ecosistema. Jr lucha contra multitud de demonios y llegahasta un oscuro hangar donde se enfrenta a una gran naveorgánica. Finalmente logra entrar dentro del complejo yencuentra el láser. Es hora de la venganza.

Nivel 7 - Rojo / Amarillo: el Manbow espacial envía nueva-mente un escuadrón para evitar que Jr se aproxime. Jr acabafácilmente con el escuadrón y su líder.

Nivel 8 - Dentro del Manbow espacial: La lucha seráespectacular y decisiva para el futuro del Universo.¿Conseguirá Jr destruir al Manbow espacial y salir con vida?Haceros con este fantástico juego para conocer el desenlace.

MMaannbbooww 22

Page 14: 2 Call MSXcallmsx.atlantes.org/pdf/7.pdf · puertos serie y el fantástico lector de tarjetas SD, totalmente operativo. ... - Soporte Kanji - Soporte MSX-DOS2 - Conexión PS/2 - 2

14 Call MSX

YYaa ddiissppoonniibbllee1986, Konami daba al MSX la primera entrega deuna exitosa saga, Mayou Densentsu, más conocidoen Europa por Knightmare. Han pasado los años ysiempre ha estado ahí como referente, un juego quenunca pasará de moda, un clásico donde se inspi-rarían juegos posteriores. La propia Konami leañadió en 1990 sonido SCC+ que mejorabanotablemente sus famosas melodías. Se han hechoremakes, se ha llevado a móviles y ahora tenemosuna nueva revisión justo cuando cumple 20 años desu primera aparición.

Lo primero que nos pasa por la cabeza antes de probar eljuego es si realmente valía la pena retocar un juego queya nos parecía “intocable”, se había convertido en clási-

co por méritos propios. Aunque esta pregunta no es unanovedad porque hemos visto ya en otros casos cómo se han“retocado” juegos antiguos con un magnífico resultado. Es elcaso de La Abadía del crimen, donde Manuel Pazos hizo unexcelente trabajo y le dio el aspecto cromático que merecíanuestro sistema.

En este caso los responsables han sido los programadoresdel grupo brasileño Amusement Factory. El hardware requeri-do para poder jugar con él es variable, todo depende del modoal que quieras jugar; vamos, que se hacen un buen número decombinaciones según el modelo de ordenador que dispon-gamos aparte de los periféricos. Lo mínimo es un MSX1 conel que jugaremos a la versión original, pero si disponemos dedispostivo para CDRom funcionarán las pistas de audio.

Como siempre en esta vida lo mejor es disponer de unTurbo R para curarse en salud y la unidad de CDRom con lacontroladora ATA-Ide. De este modo nos funcionará el juegoa la perfección.

Y es que nunca habíamos jugado en MSX con música enCD, se nos hace rarísmo. Lo más parecido a un MSX con CDes la mítica Pc Engine Turbo Duo. Pero bueno, ya tocaba. Yaque teníamos la posibilidad de disfrutarlo aquí lo tenemos.

Lo que no tiene sentido en este comentario es hablar deljuego en sí, es de sobra conocido, así que hablaremos de lasnovedades que presenta.

Comenzamos por el apartado gráfico. Si alguna vez habíassoñado cómo podría ser el Knightmare para MSX2 ya puedesabrir los ojos y despertar. El colorido es excepcional. Laversión clásica ya disponía de un color acertado pero esta vezse ha sabido matizar con elegancia las nuevas posibilidades dela paleta de los ordenadores de segunda generación. Se ha

optado por elegir una gama más “apastelada” que da unasensación de dulzura cromática. Los colores han perdidointensidad pero están más armonizados. De este modo desta-ca más el dibujo porque el negro sí que mantiene su fuerzaintensa.

Se ha retocado el scroll, si lo pruebas en un ordenador quesupere los 7 mhz vas a notar la diferencia. Es muy suave, real-mente ha ganado en jugabilidad, y eso ya era difícil. Pues yadesde un principio percibes una sensación diferente, muyagradable en el movimiento del personaje. Recordar que eloriginal comenzaba como demasiado lento, parece que lecostaba moverse. Hasta que no cogías un par de velocidadesno lo encontrabas satisfactorio. Ahora desde buen principionotamos esta sensación.

El sonido es el otro punto fuerte de esta revisión. La grannovedad reside en las pistas de audio, una sensacióndesconocida hasta ahora en el MSX y que tendrá tanto detrac-tores como gente a favor. La banda sonora respeta la originaly añade nuevos temas familiares de la casa Konami. Los arre-glos son más que correctos. Los efectos de sonido semantienen en PSG. En este caso debemos ajustar el nivel delos altavoces con el nivel del volumen del televisor para poderequiparar el sonido. Si ponemos muy alto los altavoces encomparación a la TV no oiremos los efectos. Es en definitivalo mismo que sucede con el Moonsound y el PSG.

Page 15: 2 Call MSXcallmsx.atlantes.org/pdf/7.pdf · puertos serie y el fantástico lector de tarjetas SD, totalmente operativo. ... - Soporte Kanji - Soporte MSX-DOS2 - Conexión PS/2 - 2

las ventajas. La principal es que se ha conseguido que dejende parpadear algunos sprites. La razón, muy sencilla. Al serreprogramado como un juego de MSX2, la nueva máquinaconcede más sprites por línea lo que han sabido aprovecharlos programadores para mejorar este “defecto”.

En conclusión, estamos ante un “patch” del juego original,no un remake. No han tratado de sustituir el juego sino deañadirle extras, y creemos sinceramente que ha valido la penapor abrir nuevos campos sin explorar en el MSX como son laspistas de audio. Todo lo que se ha tocado ha sido con la mejorintención de hacer de un juego extraordinario un poco mejorsi cabe. Debemos felicitar esta iniciativa y esperar a que seatrevan con nuevos proyectos para el futuro.

Celebramos proyectos como éste donde se puede mejorarlo existente. En nuestro sistema se pueden mejorar muchísi-mas cosas debido a los nuevos accesorios existentes. No sólolas mejoras de color y audio son bienvenidas. Algo que noestaría mal pero dudamos de que se pueda llevar a cabo es enlos juegos de disco y sus molestas cargas de 64k de RAM. Sedebería conseguir que los numerosos discos fueran un únicoarchivo para las nuevas potentes tarjetitas de memoria. Deesta forma no se cortarían las melodías.

Call MSX 21

Puede surgir un pequeño problema según el lector de CDque dispongamos. Con lectores actuales no hay problemapero si tenemos algún modelo bastante antiguo de aquéllos de4 velocidades sí vamos a notar unos instantes de parón(pantalla negra durante 1 incordioso segundo) mientras cargala pista de audio del cd. Hemos probado con varios lectores ycon los de mayor velocidad se juega en perfectas condiciones.En cambio con el lector lento se hace insoportable a no serque quites los efectos de sonido del CD por los del PSG, deeste modo la cosa se hace jugable.

Si vemos algún otro “fallo” es ya propio de la ROM origi-nal. Nos referimos a cuando en algún caso un enemigo pasacomo Jesucristo por encima de las aguas, en lugar de por elpuente. Como decimos esto ya sucedía en la ROM original, asíque nada de error.

La lástima es que no se hubiera conservado el modo desonido con chip SCC+ de la propia revisión de Konami por sino eres partidario de las pistas de audio. No sabemos si algúndía será implantado por petición popular, pero parece que noestaban por la labor los programadores.

Y quitando las posibles “pegas” también debemos celebrar

Jugabilidad: 9Música: 9SFX: 7GFX: 8Duración: 8Extras: 9

Total: 9

KKnniigghhttmmaarree GGoolldd

Page 16: 2 Call MSXcallmsx.atlantes.org/pdf/7.pdf · puertos serie y el fantástico lector de tarjetas SD, totalmente operativo. ... - Soporte Kanji - Soporte MSX-DOS2 - Conexión PS/2 - 2

Para empezar debemos dirigirnos a la página oficial deKnightmare Gold que se encuentra en siguiente enlace:http://www.caetano.eng.br/MSXPage/KMG/

Dentro de la sección "Arquivos" hay que descargar todoslos archivos del programa (pacote principal ylos archivos MP3), en total 22 ficheros. Ladescarga es un poco lenta por lo que hay quetener un poco de paciencia. Opcionalmentetambién podemos descargar los manuales y laportada, así tendremos el juego como si de unoriginal se tratara.

Una vez que tengamos todos los archivosen nuestro PC, descomprimimos el archivoKMG_R2.ZIP en C:\KMG\GAMEDATA.Seguidamente tenemos que buscar la ROMoriginal de Knightmare (que no se incluye eneste pack) y copiarla con el nombre deKMARE.ROM al directorio anterior. En totaldeben quedar cuatro archivos en este directo-rio.

Seguidamente debemos convertir todos los ficheros MP3a WAV, para ello podemos usar cualquier programa que puedahacer la conversión. Nosotros hemos utilizado el Nero WaveEditor. Los ficheros convertidos deben mantener el mismonombre con la nueva extensión WAV. Cuando tengamos los

21 ficheros de audio, hay que copiarlos todos en una carpetaque crearemos con el nombre de C:\KMG\GAMEISO

Ahora hay que preparar la ISO de los datos que serángrabados en el CD junto con las pistas musicales; para

ello utilizamos el programa MKISOFS, para la versiónde sistema operativo que utilicéis; nosotros expli-

caremos cómo hacer todo el proceso paraWindows. Esta utilidad se puede descargar de

muchas páginas de Internet pero recomen-damos hacerlo desdehttp://www.sbox.tugraz.at/home/t/tplank/puesto que hemos descargado otrasversiones de estas utilidades que handado errores y "cuelgues". En esta pági-na encontraréis un paquete de utilidadesque se llama cdrtools-2.01.01a17-win32-bin.zip que contiene las utili-dades necesarias para la creación delCD, también es imprescindible bajar laDLL cygwin1.dll para el correcto

funcionamiento de éstas. Si copiamoslos archivos cdrecord.exe, mkisofs.exey cywin1.dll dentro de la carpeta de

windows, no deberíamos tener proble-

YYaa ddiissppoonniibbllee

¡CREA TU CD KNIGHTMARE GOLD!

16 Call MSX

Cd de Konami Gold preparado para su lectura

Page 17: 2 Call MSXcallmsx.atlantes.org/pdf/7.pdf · puertos serie y el fantástico lector de tarjetas SD, totalmente operativo. ... - Soporte Kanji - Soporte MSX-DOS2 - Conexión PS/2 - 2

mas. Una vez preparado todo esto, procedemos a crear laimagen de datos: vamos a Inicio->ejecutar y escribimos CMDpara entrar en modo de consola de comandos. Escribimos:

C:CD KMGMKISOFS -V KMG_R2 -iso-level 3 -RJ -o .\gameiso\k01.iso .\gamedata

Si hemos seguido todos los pasos correctamentedeberíamos tener los siguientes archivos en el direc-torio C:\KMG\GAMEISO:

K01.ISOK02.WAVK03.WAVK04.WAVK05.WAVK06.WAVK07.WAVK08.WAVK09.WAVK10.WAVK11.WAVK12.WAVK13.WAVK14.WAVK15.WAVK16.WAVK17.WAVK18.WAVK19.WAVK20.WAVK21.WAVK22.WAV

Ahora sólo queda grabar la información sobre un CD.

Desde la consola de comandos escribimos:

C:CD KMG\GAMEISOCDRECORD -SCANBUS | MORE

Obtenemos la información de nuestra grabadora deCD/DVD. Hay que apuntar los tres valores separados porcomas asociados a dicha grabadora. Colocamos un CD virgeny escribimos:

CDRECORD dev=x,y,z speed=4 fs=8192k -v -pad -multi -xak01.iso k02.wav k03.wav k04.wav k05.wav k06.wavk07.wav k08.wav k09.wav k10.wav k11.wav k12.wavk13.wav k14.wav k15.wav k16.wav k17.wav k18.wavk19.wav k20.wav k21.wav k22.wav

Donde x,y,z son los valores de nuestro grabador,obtenidos al principio. Una vez finalizada la copia y si noaparece ningún error, el juego estará listo para ser disfrutado.

Hemos realizado las pruebas de juego sobre un Turbo RGT con un adaptador Sunride ATA-IDE y un lector DVDToshiba de 16x y ha funcionado todo a la perfección.Recuerda que para que funcione la música el juego debeindicar que ha detectado el CD (KMG CD found), compruebabien la configuarción del IDE y asegúrate de ejecutar el driverde CD (IDECDEX).

KKnniigghhttmmaarree GGoolldd

Call MSX 17

Dispositivo IDE necesario para conectar el lector de CD

Knightmare Gold funcionando en un TurboR

Page 18: 2 Call MSXcallmsx.atlantes.org/pdf/7.pdf · puertos serie y el fantástico lector de tarjetas SD, totalmente operativo. ... - Soporte Kanji - Soporte MSX-DOS2 - Conexión PS/2 - 2

18 Call MSX

¡VUELVE OPERATION WOLF!

El equipo de TOYBOX lo ha conseguido. Una versión delclásico de Taito, digna de nuestras máquinas, en sólo32 kbytes de memoria (versión MSXDEV’06) y 48

kbytes para la versión extendida, con soporte para MSX-Music y compatible con todos los ordenadores y generacionesde la norma. Ya podemos disfrutar de esta pequeña joya queluchará contra el resto de proyectos del concurso y que apesar de su gran calidad parece ser que no lo tendrá fácil.

Muchos recordaréis el juego original de 1987 creado porTaito en el que, a través de una vista subjetiva en primerapersona, debíamos apuntar con nuestra ametralladora (física-mente presente) y disparar a todos los enemigos que encon-trábamos a nuestro paso; una idea por aquella época bastanteoriginal y que hizo que el juego tuviera mucho éxito.

En 1988 Ocean adaptó, como de costumbre, la versión deSpectrum directamente al MSX, obteniendo un juego lento ycarente de buen colorido; sin embargo y a pesar de todasestas pegas, la conversión todavía era jugable y podías pasarratos divertidos, incluso con las interminables cargas desde lacinta de cassette. De todos modos, no aprovechaba para nadalas prestaciones del ordenador japonés.

Así que para variar, este fue un juego versionadopara todas las máquinas existentes. En un par deaños el juego estaba desde el Spectrum hastael Amiga, pasando por las consolas propiasde aquellos años, Nintendo, MasterSystem y Pc Engine.

Después de nada menos quedieciocho años desde todo aquello,aparece la versión que siempre semereció nuestro sistema, llena decolorido, rapidez; una versión real-mente difícil y adictiva. Multitud desprites se mueven suavemente por lapantalla y a pesar de que se hansuprimido los primeros planos deenemigos podemos asegurar quemantiene una calidad gráfica exce-

lente y un rediseño más ajustado y equilibrado para nuestrosMSX.

Los 16KB extras de la versión extendida no se quedan en unamera adición de músicas o más pantallas como suele serhabitual en otros juegos, aprovechando el mayor tamaño de laROM. Aquí se ha sabido dotar al juego de lo que realmentecarecía, aunque sean añadidos que no modifiquen el juego ensí (salvo por el uso de la paleta MSX2). El resto hace que un

juego que podría parecernos “incompleto” por nocontener los extras que sí aparecían enla recreativa original consiga unapuntuación global muy alta y el esta-tus de videojuego con un acabadomuy profesional en la parte software.

-El juego se divide en seis misiones.

Misión 1 - Communication Setup - Destruirel sistema de comunicaciones enemigo y

evitar que avancen sus tropas. Unataque directo a la base enemigadonde se encuentran multitud desoldados, vehículos blindados e

incluso helicópteros.

Misión 2 - The jungle -Extraer la información nece-

YYaa ddiissppoonniibbllee

La versión extendida recupera los gráficos en las intros

Page 19: 2 Call MSXcallmsx.atlantes.org/pdf/7.pdf · puertos serie y el fantástico lector de tarjetas SD, totalmente operativo. ... - Soporte Kanji - Soporte MSX-DOS2 - Conexión PS/2 - 2

Call MSX 19

saria para localizar el campo de concentración. Nos movemossiguiendo el curso de un río que atraviesa una frondosa selva.

Misión 3 - Village - Libera la aldea de la ocupación enemiga ytoma un merecido descanso. Dentro de la aldea la concen-tración es máxima, debemos tener especial cuidado en nodisparar a los civiles que cruzan.

Misión 4 - Powder Magazine - Dentro del polvorín debes vigi-lar con los enemigos que se esconden tras los búnkers y tratade recuperar toda la munición posible.

Misión 5 - Concentration Camp - Tienes que ayudar a loscinco rehenes y ponerlos a salvo. Si consigues salir de éstahuirás con los ellos.

Misión 6 - Airport - Debes conducir a los cinco rehenes hastael avión de rescate y ejecutar una precipitada huída. Debessalvar todos los rehenes para salir victorioso.

Resumiendo, por fin tenemos un Operation Wolf como semerecía el MSX en aquella época que mejora la burda conver-sión del Spectrum. Puestos a comparar, Toybox ha creado

una versión de las más dignas vistas en 8 bits, sobretodo conla incorporación de los extras (intros, mapa, control vía ratóny selección de 60 hz). Tanto la versión de NES como la deMaster System carecen de enemigos en primer plano, así queno podemos criticar a Toybox por la supresión de éstos.

La música de esta nueva versión supera en calidad aambas, incluso a la de Pc Engine. Suena pero que muy bien.Se ha acertado con crear las melodías para el chip Msx Music.Tampoco notamos nada extraño en los efectos de sonido, locual quiere decir que cumplen con su cometido. Disparosnormales, ametralladoras, explosiones o el efecto de cuandote lanzan una granada están conseguidos.

El apartado gráfico es correcto pero sin alardes. Todo sonsprites, de dos colores los delanteros y monocromos losposteriores, y les falta volumen, pero es preferible eso a laversión incolora de hace 2 décadas. Además, la pantalla dejuego propiamente dicha dispone de mayor tamaño respecto ala antigua. Si la comparamos con las versiones consolerasaquí salimos perdiendo. Debemos reconocer que la MasterSystem es una pedazo de máquina en potencia gráfica y es lamejor versión visualmente hablando.

OOppeerraattiioonn WWoollff

OTRAS VERSIONES DE OPERATION WOLF

Arcade Pc-Engine NES

La segunda misión nos llevará a la jungla

También se incorpora el mapa existente en otras versiones

Page 20: 2 Call MSXcallmsx.atlantes.org/pdf/7.pdf · puertos serie y el fantástico lector de tarjetas SD, totalmente operativo. ... - Soporte Kanji - Soporte MSX-DOS2 - Conexión PS/2 - 2

20 Call MSX

Entre las “pegas” gráficas podemos decir que en lasegunda fase, en la jungla, cuesta ver los ítems que caen anuestros pies por la similitud de color de éstos con el delterreno. Es decir, bombas verdes en zona de vegetación, porejemplo. Y también sucede algo similar pero más vistoso enla última pantalla, en el aeropuerto. Este “fallo” lo localizare-mos si hemos mantenido pulsado Graph durante la ejecuciónde juego para seleccionar la paleta MSX1. El color tan lumi-noso del asfalto dificulta la visión de los sprites y complicala labor de acertar a primer golpe de vista entre enemigos yrehenes. Hay que decir que en MSX2 esto no sucede. Estoes debido a que se ha programado en MSX2 y al trasladarlos colores a la paleta de MSX1 han aparecido sorpresascomo ésta. Es un problema similar al que ya vimos haceaños en Scramble Formation, no en el error de paletas, perosí en la confusión cromática, recordemos que era difícil verlos sprites de los disparos enemigos.

Los extras de la versión extendida son de agradecer, sepedían a gritos. Los gráficos de la intro o del game over sonexactamente los mismos que en el arcade o las otrasversiones pero adaptados al MSX. No se trata de un simple

ripeado, o por lo menos han sabido camuflarlo adaptando losgráficos y los colores al formato MSXero. También el mapade las fases ha sido incorporado de manera correcta, congráficos que recrean las diferentes fases además de indicarel número de enemigos que debemos derrotar, tanto solda-dos de a pie como helicópteros y tanques.

La jugabilidad ha ganado enteros con la inclusión delratón. ¡Es una auténtica pasada! La mirilla va de una puntaa otra de la pantalla a gran velocidad y con una precisiónenvidiable. Digamos que gracias al ratón tenemos posibilidasreales de acabar el juego. Ya no sólo serán capaces losusuarios de más pericia con los cursores (o joystick) dellegar al final sino que cualquier usuario con un mínimo deatención podrá llegar muy lejos. Esto motiva a más usuariosa engancharse, ya que un juego realmente difícil quita lasganas de seguir jugando. Y esto no es sólo para el modoMSX2, sino que las rutinas del ratón han sido creadas paraMSX1, ya que la primera generación del estándar nodisponía de soporte en la BIOS... ¿recordáis software paraMSX1 que soportara ratón? Para terminar de hablar de lagenialidad del uso del ratón cabe comentar que, tanto élcomo el joystick, funcionan en ambos ports. Es más, puedenconectarse durante las interfases, que serán detectados ycompletamente funcionales.

En fin, podrás conseguir Operation Wolf versión extendi-da, entre otros juegos, el 9 de Diciembre de 2006 en laReunión de Usuarios de MSX de Barcelona dentro de uncartucho multirom presentado por Manuel Pazos. Vale lapena hacerse con él porque creemos que los extras queconlleva son más que suficientes como para no quedarseúnicamente con la versión limitada del concurso.

Este Operation Wolf es un juego que, sin duda,engrandece todavía más una idea absolutamente genial deofrecernos en cartucho estas pequeñas joyas...

YYaa ddiissppoonniibbllee

Jugabilidad: 9Música: 9SFX: 8GFX: 8Duración: 8Extras: 9

Total: 8

Los rehenes deben llegar sanos al avión

¡Y es que quedarse sin munición pasa factura!

Page 21: 2 Call MSXcallmsx.atlantes.org/pdf/7.pdf · puertos serie y el fantástico lector de tarjetas SD, totalmente operativo. ... - Soporte Kanji - Soporte MSX-DOS2 - Conexión PS/2 - 2

Call MSX 21

TTrraaffffiicc JJaamm

tt rraa ff ff ii ccjamjam

Hacía tiempo que Imanok no nos presentaba ningúnprograma, el último fue el Cat’n Mouse. En estaocasión, el colomense nos sorprende abandonando su

habitual programación en TurboBasic y se mete de lleno en elensamblador. Resultado, Traffic Jam, un juego que se presen-tará dentro del cartucho multirom que Manuel Pazos pondrá ala venta en la próxima Reunión de Barcelona. A la par partici-pará en el concurso MSX-Dev’06 con el mismo título, peroacotado en prestaciones: En MSX2 no permite simular la pale-ta MSX1 arrancando con GRAPH, las melodías sólo usan PSGcuando la versión que trae el Multirom posee FM y tiene untotal de 20 pantallas en vez de 40.

Podríamos clasificar a Traffic Jam conceptualmente entreel rompecabezas de toda la vida y el mítico Sokoban.Debemos superar el puzzle poniendo orden en el caos. Laexcusa es conseguir que Sandy Olson, una mujer policía,saque el coche de su amigo Danny Zucku del atasco circula-torio que se monta a diario. Para ello debemos dirigir elmovimiento de todos los vehículos colapsados para facilitar lasalida del atasco del coche de Danny. Los vehículos hay quetomarlos como piezas del rompecabezas, las hay más cortasy más largas, para hacer más complicada la maniobra. La difi-cultad irá subiendo a medida que vayamos superando fases.Cada cinco obtendremos un merecido password, habitual yaen títulos de Imanok como el Bubble Bobble.

Gráficamente el programa es muy elemental. No es nece-sario ningún tipo de alarde en un juego como éste. La pantalla

de presentación es muy básica pero respira al no tener exce-so de elementos con una tipografía más que correcta. Lapantalla de juego se desarrolla dentro de una pequeña ventanadonde se sitúan los vehículos que tienen un nivel de detallemuy logrado (apetece un juego de conducción con estoscoches) . En la parte derecha tenemos un marcador donde nosindica los movimientos realizados durante la maniobra y eltiempo restante. En la parte inferior, Sandy Olson nos iráponiendo al corriente de la situación diaria del tráfico. El dibu-jo es nítido pero, desde nuestro punto de vista, se deberíaevitar caer siempre en grafismos típicos del manga, aunqueesto ya se sabe que es muy subjetivo.

No hay mucho que comentar sobre la jugabilidad, tan sólodebemos seleccionar el vehículo a mover con el icono deldedo y manteniendo la barra espaciadora movemos el vehícu-lo en la dirección posible. Los cursores responden suave yhacen que el juego sea dinámico y agradable, con lo que elvicio está asegurado.

La melodía utiliza chip MSX-Music, cosa que se agradeceen juegos de MSX1, ya que en otros tiempos era algo pococomún. Por suerte, se ha escogido con mimo, pues tras horasde juego no agobia en absoluto.

En resumen, nos alegramos por la vuelta de Imanok yesperamos que con sus nuevos conocimientos en ensam-blador logre desarrollar juegos aún mejores que los que nostiene acostumbrados. Desde aquí le animamos para que elpróximo sea un título más elaborado y demuestre su poten-cial. Éste, sin duda, sienta las bases de una forma muy digna.

Jugabilidad: 8Música: 7SFX: 6GFX: 7Duración: 8Extras: 6

Total: 7

Page 22: 2 Call MSXcallmsx.atlantes.org/pdf/7.pdf · puertos serie y el fantástico lector de tarjetas SD, totalmente operativo. ... - Soporte Kanji - Soporte MSX-DOS2 - Conexión PS/2 - 2

22 Call MSX

La salida de este juego nos ha pillado en plena maque-tación de la revista. Aunque estábamos pendientes desu desarrollo no esperábamos por estas fechas su lanza-

miento. No es el primer juego que este grupo saca para MSX.Ya participaron en el concurso MSXDEV’04 con su programaStratos, aunque no es un grupo programador exclusivo paraMSX, ya que trabajan tanto para Spectrum como paraAmstrad.

Antes de nada hay que saber de dónde viene la idea en laconcepción de este juego. La mítica firma española Dinamicrealizó dos juegos basados en la saga Phantomas. Tan sólo lasegunda parte, Vampire (1986) fue producida para nuestrosistema, pero era un calco de la versión de Spectrum, así lasposibilidades de mejora en MSX se quedaban al margen.

En esta ocasión el grupo CEZ Games Studio homenajeaesta saga realizando un juego totalmente nuevo basado en elmismo personaje, algo parecido a lo que ha hecho RenovatiOcon Manbow 2. La historia es bastante compleja, pero el obje-tivo es claro, destruir la factoría de Androides saqueadores.Para ello debemos activar diez dispositivos encontrando paracada uno su llave. Una vez hayamos activado las llaves en suscerrojos correspondientes, habremos activado los diez dispo-sitivos. Lo cual significa que la bomba está a punto de esta-llar. Así que tienes medio minuto para abandonar la factoría,o lo que es lo mismo, volver a la pantalla inicial. Esta angus-tiosa huida contrarreloj ya los habíamos vivido en Metal Gearo la saga Metroid de Nintendo, por poner un ejemplo.

En la pantalla de presentación ya percibimos varias sensa-ciones. En primer lugar el grafismo, hacía un par de décadasque no veíamos algo similar. Gráficos típicos de las conver-siones de Spectrum con la técnica del puntillismo, para lograrciertos degradados. Eso sí, muy colorista, por eso nossorprende. Estábamos acostumbrados a relacionar esa estéti-ca con la monocromía, salvo raras excepciones, como elMagical Kid Wiz, pero claro, éste era japonés. El otro recursoque nos llama la atención es el scroll vertical de fondo mien-tras tiene el logo por delante. Una técnica que ya vimos en sumomento en el Tetris de Kralizec y que lo hace muy vistoso,y consigue dar un toque de dinamismo a las siempre estáticaspantallas de presentación.

El juego en sí sigue la estela de muchas produccionesochenteras del estilo plataformero.¿A quién no le viene a lacabeza el Jet Set Willy o el Abu Simbel Profanation? Nuestros

YYaa ddiissppoonniibblleePhantomas’ saga Infinity era un juego programadopor el grupo CEZ Games Studio para los sistemasSpectrum y Amstrad. Ahora gracias a la labor deJon Cortázar (Karoshi Corp) tenemos una versiónpara MSX1 en formato Rom y con los gráficosredefinidos aprovechando la mayor capacidad gráfi-ca de nuestro estándar.

Captura de Phantomas 2 Vampire de Dinamic

Page 23: 2 Call MSXcallmsx.atlantes.org/pdf/7.pdf · puertos serie y el fantástico lector de tarjetas SD, totalmente operativo. ... - Soporte Kanji - Soporte MSX-DOS2 - Conexión PS/2 - 2

Call MSX 23

movimientos son limitados, derecha, izquierda, salto alto perocorto y salto largo pero bajo. Costará hacerse con el controlsi estamos acostumbrados a subir y bajar por escaleras. Aquíeso no vale. El triunfar en esta misión depende de cómodominemos los saltos, el adecuado para cada momento. Sólotenemos una vida que irá desvaneciéndose a medida quevayamos topando con los enemigos. Conseguiremos algunospuntos de vida adicional si logramos abrir un cerrojo. Hay quereconocer que el juego es bastante difícil, ya que sortear aalgunos enemigos no es pan comido. Además cuando cambia-mos de pantalla no sabemos con quién nos toparemos. Esfácil caer encima de un enemigo si saltamos de una pantalla aotra. En este caso jugabilidad y dificultad podrían irestrechamente relacionadas. Porque estamos ante una juga-bilidad de precisión. Un movimiento fatal te hará perderbastante energía, así que hay que tener especial cuidado. Elproblema es que se requiere precisión en momentos dondetienes el enemigo encima y acabarás dándole cuatro puñeta-zos al teclado de pura rabia.

Los gráficos del juego son correctos. Si lo que te gustanson los gráficos puliditos y definidos olvídate. Estamos anteun grafismo un poco tosco pero que se defiende muy bien abase de una riqueza en cuanto a texturas. Si se saben contro-lar el resultado puede ser muy decente. Quizás le falte algo decarisma a los personajes. Como punto a favor decir que altratarse de una conversión de otros sistemas de ocho bits elesfuerzo por redefinir los gráficos para su optimización enMSX es de agradecer. Es la mejor versión gráfica de todas.Usuarios de Spectrum y CPC se podrán dar cuenta por fin queel MSX siempre fue infravalorado en las conversiones, que erauna máquina a la que se le podía sacar mayor partido.

El aspecto sonoro está en la línea de este tipo de juegos.La música de la presentación sigue los patrones de lasmelodías de los juegos españoles de los años ochenta, muytípica de los ordenadores Spectrum, forzando en ocasiones elbajo para que ofrezca una sensación de ruido. La melodía deljuego está muy lograda, aunque nos la imaginamos más en un

PPhhaannttoommaassjuego espacial. Podría pasar como un tema más en el Zanac oen el Alpha Roid. Pero está muy bien, aunque no sea un temaque se te quedará nunca grabado en el cerebro consigue unaatmósfera muy especial. El juego tiene dos temas más perohay que llegarse al final para poder oírlos, los cuales estánrealmente bien. El sonido FX cumple perfectamente sucometido. Tanto los saltos, impactos, el coger las llaves etc.son más que correctos. Se echa de menos algún efectosonoro en el caminar del personaje, algunos pequeños sonidospara simular los pasos, le darían más consistencia, más pesoa un sprite que ya de por sí le falta algo de volumen.

En definitiva, un nuevo título al catálogo de nuestrosistema que no hace otra cosa sino que demostrar el grannivel de profesionalidad de los programadores actuales, queno tienen nada que envidiar a los que se ganaban la vida haceveinte años. El MSX está en un momento de forma envidia-ble, salen títulos con una frecuencia cada vez mayor y cadavez con más calidad.

Phantomas’ Saga Infinity nos quedará en el recuerdocomo una conversión ejemplar para MSX. Un juego decentede plataformas que pese a estar lejos de joyas como el AufWiedersehen Monty no nos hará ascos. Merece la pena echarunas partiditas hasta cogerle el truco.

Jugabilidad: 7Música: 8SFX: 6GFX: 8Duración: 8Extras: 6

Total: 7

Page 24: 2 Call MSXcallmsx.atlantes.org/pdf/7.pdf · puertos serie y el fantástico lector de tarjetas SD, totalmente operativo. ... - Soporte Kanji - Soporte MSX-DOS2 - Conexión PS/2 - 2

24 Call MSX

Son diversos los factores que afectan a la hora de tomaruna decisión cada vez que un programador deseacomenzar un proyecto. Por supuesto, la plataforma

para la que se va a realizar el mismo es uno de los más impor-tantes, pero también influye el tipo de proyecto, el lenguaje deprogramación deseado, disponible o bien al que se tienemayor afinidad, así como, por qué no, la plataforma de desa-rrollo; y es que no todos los dispositivos programables, yasean computadores u otros, disponen de los requisitos nece-sarios para realizar el desarrollo usando el mismo comoplataforma. Un ejemplo de esto son los dispositivos móviles.

A la hora de realizar un proyecto para MSX, plataformaque tratamos en esta revista, estos factores también hacenacto de presencia. A la hora de decidir si programar directa-mente desde ella o bien desde otra plataforma, entra en juegoel criterio de cada uno. Desde mi punto de vista, tanto lacomodidad como los recursos son muy importantes para elprogramador. La velocidad de desarrollo y de generación deelementos intermedios hasta obtener el objeto final estambién factor importante tanto para el programador comopara la empresa, pues a más rapidez mayor beneficio, o mejordicho, menos gasto en inversión de tiempo que se traduce endinero, y en el caso de un particular sin ánimo de lucro, en unmejor aprovechamiento del ocio personal. Puesto que proba-blemente ninguna empresa va a pagar por nuestro softwarepara MSX, nos queda optar por la comodidad. Hay quienconsidera más cómodo o placentero usar la máquina original,les proporciona un sentimiento romántico de vivir en unaépoca pasada, sintiendo que aún la están viviendo. No impor-ta la velocidad de generación, ni la rapidez de ejecución ocomodidad de depuración, sino la sensación. Por mi parte, aunteniendo parte de esa sensación prefiero la versatilidad queofrece una plataforma superior, desde la que se puede gene-rar el programa final con mayor rapidez, con gran comodidadal tener diversos archivos de código fuente abierto, másseguridad a la hora de poder usar repositorios o dispositivosde almacenamiento para realizar backups periódicos, efectivosy veloces. Es por ello que en este artículo trataré de exponeralgunas herramientas para usar en PC, como plataforma parael desarrollo de aplicaciones para nuestro MSX.

El lenguaje de programación usado será C, si biencontendrá en muchas ocasiones apoyo de código ensam-blador embebido en el propio código fuente de C. El compi-lador de C usado será el SDCC, elegido por estar en avanza-do desarrollo y ser de código abierto, por lo que podemosdisfrutar de él de forma gratuita y en diversas plataformas. Elentorno operativo usado es MinGW con MSys bajo un sistemaoperativo Windows. El entorno MSys ha sido elegido paracompatibilizar con versiones de sistema operativo Linux, perono puedo garantizar la compatibilidad puesto que no lo heprobado personalmente. Para la generación completa delprograma, además, hago uso del sistema de compilaciónmake de GNU, puesto que facilita la generación del programa,su posterior ejecución, la organización de pasos intermedios yla limpieza de archivos generados no útiles. En contra de loque alguien pudiera pensar, adelanto que previo paso decompilación realizo un paso de preprocesado del código.Quizás alguien pueda pensar que esto no tiene sentido, puesSDCC ya preprocesa el código C, pero yo lo considero impor-tante puesto que en proyectos grandes podemos equivo-carnos en alguna definición de preproceso y no saber exacta-mente porqué nuestro código final hace lo que no deberíahacer. Al generar el código ya preprocesado en otro directo-rio, podemos examinarlo antes de realizar una depuración delcódigo ejecutable para averiguar el error. Por otra parte decirque no he usado el preprocesador de C de GNU (cpp) paragenerar el código preprocesado, sino el procesador de macrosM4, también de GNU; aunque a primera vista pueda resultarcomplicado, la verdad es que ofrece elementos interesantes.Todo lo anteriormente expuesto será explicado, por lo que noes necesario alarmarse.

Lo primero es instalar MSYS, que ya contiene el conjuntode librerías MinGW, aunque quizá no las últimas versiones. Laversión MSYS con la que se ha realizado el desarrollo ha sidola versión 1.0.10, descargable desde el enlace http://prdownloads.sf.net/mingw/MSYS-1.0.10.exe?downloado bien navegando desde la páginahttp://www.mingw.org

Una vez descargado e instalado, tendremosel siguiente icono en nuestra pantalla:

Desarrollo cruzado en

AArrttííccuulloo

PC para MSXPor David Lucena

Page 25: 2 Call MSXcallmsx.atlantes.org/pdf/7.pdf · puertos serie y el fantástico lector de tarjetas SD, totalmente operativo. ... - Soporte Kanji - Soporte MSX-DOS2 - Conexión PS/2 - 2

Call MSX 25

Al hacer doble clic aparecerá una consola similar a la deun sistema operativo Linux, tanto en forma como en compor-tamiento, puesto que es precisamente lo que este programapretende simular. Así podremos ejecutar comandos como lspara listar los ficheros, cd para cambiar de directorio, etc.

Seguidamente podemos proceder a instalar el compiladorcruzado de C SDCC. Para ello hay que descargarlo desdehttp://prdownloads.sourceforge.net/sdcc/sdcc-2.5.0-i586-mingw32msvc.zip?download aunque probablemente la versiónactual, la 2.6 también funcione. Siempre podréis buscar lasversiones desde http://sdcc.sourceforge.net/

Instalado también el compilador sólo queda ponerse altrabajo, pues el procesador de macros m4 viene incluido en elMSYS. Es conveniente introducir la estructura de directoriosbásica de nuestro proyecto, que puede ser extensible y modi-ficada si se quiere, pero que es común en muchos casos.

Existe un directorio raíz de donde cuelgan el resto dedirectorios y un fichero Makefile. Básicamente no tienen quehaber ficheros aparte de Makefile en el directorio raíz, si bienalgún leeme.txt o algún otro archivo de copyright o ayudainicial que no tenga que ver realmente con la generación deficheros de proyecto. Dentro de este directorio raíz, el si-guiente directorio que cobra importancia es src, pues es eldirectorio donde se encuentra nuestro código fuente. Despuésestá pre, donde irá a parar el código de src que ha sidopreprocesado. Un directorio intermedio dep nos indicará paracada fichero de src cuáles de éstos deben ser preprocesadosy dejados en pre. Después de preprocesar estos archivos,habrá que compilarlos y el codigo objeto intermedio se deposi-tará en obj. Finalmente, el archivo generado, el que realmenteinteresa será copiado a bin. Otros directorios que existen es eltools donde se encuentran las herramientas que serán usadasen procesos intermedios para alcanzar el objetivo final, o bienpara hacerle un tratamiento posterior. Por último hay un direc-torio llamado startup que contiene el código de inicializaciónde nuestro programa dependiendo de si éste va a ser genera-do en modo rom, o para msx-dos. Además para este últimoexisten dos variantes, los programas que van a hacer uso delos argumentos de entrada y los que no, ya que si un progra-ma no necesita parámetros de entrada merece la pena ahorrarun poco y no introducir el código necesario para tratar estosparámetros durante la ejecución.

A continuación explicaremos cómo crear un ficheroMakefile para que el comando make pueda generar un simpleprograma que podremos incluir en un disquete y ejecutarlobajo MSX-DOS. Podréis acceder a la ayuda de make enhttp://www.gnu.org/software/make/manual/make.html

Un archivo Makefile consiste básicamente en un conjuntode reglas. Dichas reglas se ejecutan en un orden concretopara obtener un resultado final. Cada regla se compone de un

objetivo y unos prerrequisitos además de un conjunto decomandos. Los prerrequisitos para el objetivo pueden estarvacíos así como los comandos. Cada vez que make debeprocesar una regla, comprueba si el objetivo existe y si así essi está actualizado, es decir, si su creación es posterior a la delos prerrequisitos. Si no ha sido generado o no está actualiza-do, procede a evaluar los prerrequisitos. Cada prerrequisitopuede a su vez ser generado por alguna otra regla. Cuando sehan generado los prerrequisitos o se han actualizado, se ejecu-tan los comandos de la regla. Estos comandos son ejecutadospor el intérprete de comandos, y en el caso de MSys es elintérprete bash. Normalmente los comandos son usados paragenerar o actualizar los objetivos. En el caso de que no exis-tan reglas para actualizar un prerrequisito, make proporcionaráun error diciendo que no puede encontrar la regla para actua-lizar un prerrequisito necesitado por la regla actual. Si unaregla que se ejecuta tiene objetivos pero no prerrequisitos, seconsiderará que los prerrequisitos ya están actualizados y seprocederá a ejecutar los comandos. Si una regla no tienecomandos, cuando se evalúen los prerrequisitos se considerala regla como ejecutada.

Los objetivos de estas reglas son interpretados por defec-to por make como ficheros. Así pues, si make detecta que elfichero especificado en el objetivo no está creado, analiza losprerrequisitos para evaluarlos y seguidamente ejecuta loscomandos. Si el fichero sí existe, comprueba que su fecha decreación sea posterior a la de los prerrequisitos, lo quedemuestra que ya están actualizados. Los prerrequisitossuelen también ser ficheros, aunque como veremos másadelante pueden también no serlos.

Supongamos que queremos generar un fichero objeto.Dicho fichero dependerá de un fichero fuente, y quizá inclusode unos ficheros de cabecera.

El objetivo de esta regla es programa.o. Los prerrequisitosson programa.c y programa.h. Los prerrequisitos se separandel objetivo mediante el símbolo ':'. El comando de generacióndel objetivo es gcc -o programa.o -c programa.c. Para distin-guir una regla de un comando, éstos últimos deben estar tabu-lados usando la tecla de tabulación, y no espacios.

Supongamos que tenemos un fichero programa.c y otroprograma.h. Cuando invocamos make en un directorio dondeexiste un fichero Makefile con el contenido de arriba, makeejecuta la regla. Comprueba que existe programa.o. Al no serasí, comprueba que existan programa.c y programa.h. Puestoque eso es cierto entonces procede a ejecutar el comando.Este comando invoca al compilador gcc, diciendo que la sali-da de la compilación (parámetro -o) sea almacenada en

DDeessaarrrroolllloo ccrruuzzaaddoo

programa.o: programa.c programa.h

gcc -o programa.o -c programa.c

Page 26: 2 Call MSXcallmsx.atlantes.org/pdf/7.pdf · puertos serie y el fantástico lector de tarjetas SD, totalmente operativo. ... - Soporte Kanji - Soporte MSX-DOS2 - Conexión PS/2 - 2

26 Call MSX

programa.o, mediante la compilación (parámetro -c) delfichero programa.c.

Si volvemos a invocar a make, puesto que programa.c yprograma.h no han sido modificados, se comprobará comoprograma.o ya está actualizado y no se ejecutarán los coman-dos de la regla. Si modificamos programa.c o programa.h yguardamos los cambios, al invocar make de nuevo, se volveráa ejecutar la regla y los comandos, ya que algunos archivosque forman los prerrequisitos es más nuevo que el objetivo.

Una vez introducidas las reglas, explicaremos el uso de lasvariables. Existen principalmente dos formas de asignarvalores a una variable, la inmediata (variable := valor) y ladiferida (variable = valor). En el primer modo la variable tomael valor en el momento de la asignación. En el segundo modola variable toma el valor únicamente cuando va a ser utilizada,es decir, cuando se va a obtener el valor de la misma para unuso. Para obtener el valor de una variable, debemos de intro-ducir el nombre de esta entre los símbolos $(). Ejemplos:

Ejemplo 1(contenido de fichero Makefile):

Resultado 1 tras invocar make (make test):

123

En este caso el comportamiento de la variable asignada deforma diferida no es distinto del de las demás.

Ejemplo 2 (contenido de fichero Makefile):

Resultado 2 tras invocar make (make test):

313

Como nota adicional, el símbolo '@' se usa para evitar quese escriba el comando por la salida. Habéis podido comprobarel funcionamiento de ambos tipos de asignación y los resulta-dos obtenidos. También se ha podido ver cómo la regla conobjetivo test, al no tener prerrequisitos, ejecuta automática-mente los comandos.

Es momento de empezar a crear nuestro fichero Makefile,y para ello tenemos que definir una serie de variables que seirán usando para definir otras variables y para ser usadas enalgunas reglas.

Además de las definiciones de variables podemos observaralgunas palabras claves interesantes: ifeq, else y endif.

Muchos ya habrán deducido el funcionamiento de estaspalabras. Si queremos definir unas variables, o incluso unasreglas dependiendo de ciertas condiciones, en make se realizamediante estas palabras clave. Si las variables o valoresencerrados entre paréntesis y separados por una coma en ifeq

AArrttííccuulloo

VARIABLE_A := 1

VARIABLE_B := $(VARIABLE_A)

VARIABLE_C = $(VARIABLE_A)

VARIABLE_A := 3

test:

@echo $(VARIABLE_A)

@echo $(VARIABLE_B)

@echo $(VARIABLE_C)

ifeq (0, $(MAKELEVEL))

ifeq ($(OSTYPE), msys)

DRIVE := c:

else

DRIVE := /c

endif

ROOT_DIR := $(shell pwd)

ROOT_DIR := $(subst /c,$(DRIVE),$(ROOT_DIR))

BIN_INFIX := bin

SRC_INFIX := src

PRE_INFIX := pre

OBJ_INFIX := obj

DEP_INFIX := dep

TOOLS_INFIX := tools

STARTUP_INFIX := startup

BIN_DIR := $(ROOT_DIR)/$(BIN_INFIX)

SRC_DIR := $(ROOT_DIR)/$(SRC_INFIX)

PRE_DIR := $(ROOT_DIR)/$(PRE_INFIX)

OBJ_DIR := $(ROOT_DIR)/$(OBJ_INFIX)

DEP_DIR := $(ROOT_DIR)/$(DEP_INFIX)

TOOLS_DIR := $(ROOT_DIR)/$(TOOLS_INFIX)

STARTUP_DIR := $(ROOT_DIR)/$(STARTUP_INFIX)

export STARTUP_DIR

LIB_DIR := $(ROOT_DIR)/lib

EMU_IN_DIR := $(ROOT_DIR)/toemu

endif

VARIABLE_A := 1

VARIABLE_B := $(VARIABLE_A)

VARIABLE_C = $(VARIABLE_A)

VARIABLE_A := 3

test:

@echo $(VARIABLE_A)

@echo $(VARIABLE_B)

@echo $(VARIABLE_C)

Page 27: 2 Call MSXcallmsx.atlantes.org/pdf/7.pdf · puertos serie y el fantástico lector de tarjetas SD, totalmente operativo. ... - Soporte Kanji - Soporte MSX-DOS2 - Conexión PS/2 - 2

Call MSX 27

son iguales, se procede a evaluar el contenido hasta encontrarun endif. Si no se cumple la condición, se ignora lo que hayentre ifeq y endif.

Si usamos el trío ifeq, else y endif cuando la comparaciónsea cierta se ejecutará lo que hay entre ifeq y else, y en casocontrario lo que hay entre else y endif. También existe lanegación de ifeq, que es ifneq, y que consiste en que lacomparación de variables sea distinta para que se cumpla lacondición.

En el código de arriba, definimos ese conjunto de variablessólo si la variable MAKELEVEL es cero, es decir, si el nivel deejecución de make es el inicial. Cuando se invoca a make porprimera vez, la variable MAKELEVEL es cero, pero si dentrodel fichero Makefile existe alguna regla que invoca a make denuevo, entonces esta variable se incrementa. No queremosque se redefinan de nuevo ciertas variables por ser suscepti-ble de causar errores.

Hay otra variable que se define dependiendo del valor deOSTYPE. Esta variable toma el valor msys en el caso de estarejecutándose make bajo este entorno, ya que OSTYPE sedefine como una variable de entorno. Así pues, supongo queen este caso se ejecuta bajo Windows, y conviene definir launidad donde se encuentra el proyecto en formato Windowspara evitar problemas con algunas aplicaciones. En el caso de

DDeessaarrrroolllloo ccrruuzzaaddooque no se haya definido OSTYPE, se supone que el entorno esLinux. Para usuarios de Mac no he tenido en cuenta ningunaalternativa, así que tendrán que buscarse las alubias.

Más cosas interesantes que podemos observar radican enla variable ROOT_DIR. Esta variable toma un valor queproviene del resultado de la ejecución de un comando delintérprete de comandos. Mediante $(shell comando),podemos obtener el valor generado por el comando comando.En este caso, pwd devuelve el directorio actual, desde el quese está ejecutando make. Más adelante esta variable tomaotro valor: $(subst /c,$(DRIVE),$(ROOT_DIR)). Lo que realizaesta función de make es sustituir una ocurrencia de una cade-na por otra en una variable. En este caso, se sustituye /c porel contenido de la variable DRIVE en la variable ROOT_DIR.Así conseguimos formar un directorio raíz de proyecto correc-to.

Vemos también que existe la línea export STARTUP. Conexport podemos exportar la variable y su valor al intérprete decomandos, para que subsecuentes llamadas a make o a otrasaplicaciones y comandos del intérprete de comandos (shell)puedan ver esa variable y su valor.

Sin embargo hasta aquí no ha llegado la definición de vari-ables. Existen más. Algunas de ellas no se usan en estemomento pero en un futuro podrían ser útiles y tampocomolestan estando ahí.

ROM := 0BASICROM := 1MSXDOS := 2MSXDOSARG := 3# MSXDOS, MSXDOSARG, ROM, BASICROMOUTPUT_TYPE := ROM

src_files = $(wildcard $(SRC)/*.c)

PLATFORM_SHORT_NAME := MSX# WINNT, LINUXCROSSPLATFORM_SHORT_NAME := WINNTCOMPILER_EXECUTABLE := sdcc.exeCOMPILER_EXECUTABLE_PATH := $(DRIVE)/prog/compilers/sdcc/binCOMPILER_BASE_PATH := $(DRIVE)/prog/compilers/sdccASSEMBLER_EXECUTABLE := as-z80.exeASSEMBLER_EXECUTABLE_PATH := $(DRIVE)/prog/compilers/sdcc/binASSEMBLER_BASE_PATH := $(DRIVE)/prog/compilers/sdccLINKER_EXECUTABLE := link-z80.exeLINKER_EXECUTABLE_PATH := $(DRIVE)/prog/compilers/sdcc/binLINKER_BASE_PATH := $(DRIVE)/prog/compilers/sdcc# OPENMSX, BLUEMSXEMULATOR_SHORT_NAME := OPENMSXifeq (BLUEMSX, $(EMULATOR_SHORT_NAME))EMULATOR_EXECUTABLE := blueMSX.exeEMULATOR_EXECUTABLE_PATH := $(DRIVE)/proxp/emula/bluemsxEMULATOR_BASE_PATH := $(DRIVE)/proxp/emula/bluemsxMACHINE_NAME :=MACHINE_PARAM :=ROMA_PARAM := /rom1ROMB_PARAM := /rom2DISKA_PARAM := /diskADISKB_PARAM := /diskB

Page 28: 2 Call MSXcallmsx.atlantes.org/pdf/7.pdf · puertos serie y el fantástico lector de tarjetas SD, totalmente operativo. ... - Soporte Kanji - Soporte MSX-DOS2 - Conexión PS/2 - 2

28 Call MSX

endififeq (OPENMSX, $(EMULATOR_SHORT_NAME))EMULATOR_EXECUTABLE := openmsx.exeEMULATOR_EXECUTABLE_PATH := $(DRIVE)/proxp/emula/openmsxEMULATOR_BASE_PATH := $(DRIVE)/proxp/emula/openmsxMACHINE_NAME := Philips_NMS_8255MACHINE_PARAM := -machineROMA_PARAM := -cartaROMB_PARAM := -cartbDISKA_PARAM := -diskaDISKB_PARAM := -diskb

endifDSK_FILE_NAME := example.dskDSK_FILES := USE_OWN_LINKER := trueifeq ($(OUTPUT_TYPE), MSXDOS)STARTUP_CODE_BASEFILENAME := crt0msx_msxdosSTARTUP_CODE_FILENAME := crt0msx_msxdos.oDATA_LOC := 0x0000CODE_LOC := 0x0106CFLAGS := -mz80 --code-loc $(CODE_LOC) --data-loc $(DATA_LOC) --no-std-crt0TARGET_ROM_OR_DSK := EXE_EXT := com

endififeq ($(OUTPUT_TYPE), MSXDOSARG)STARTUP_CODE_BASEFILENAME := crt0msx_msxdosargSTARTUP_CODE_FILENAME := crt0msx_arg.oDATA_LOC := 0x0000CODE_LOC := 0x0170CFLAGS := -mz80 --code-loc $(CODE_LOC) --data-loc $(DATA_LOC) --no-std-crt0TARGET_ROM_OR_DSK := EXE_EXT := com

endififeq ($(OUTPUT_TYPE), ROM)STARTUP_CODE_FILENAME := crt0msx_rom.oDATA_LOC := 0x0000CODE_LOC := 0x4020CFLAGS := -mz80 --code-loc $(CODE_LOC) --data-loc $(DATA_LOC) --no-std-crt0TARGET_ROM_OR_DSK := EXE_EXT := rom

endifLDFLAGS := -n# Custom targets -->TARGET_PREBUILDFILES := prebuildfiles$(PLATFORM_SHORT_NAME)TARGET_BUILDFILES := buildfiles$(PLATFORM_SHORT_NAME)TARGET_POSTBUILDFILES := postbuildfiles$(PLATFORM_SHORT_NAME)TARGET_RUNFILES := runfiles$(PLATFORM_SHORT_NAME)TARGET_CLEANPREBUILTFILES := cleanprebuiltfiles$(PLATFORM_SHORT_NAME)# Custom targets <--

APP_NAME := testmakeAPP_EXE := $(APP_NAME).$(EXE_EXT)BUILD_TARGET := $(APP_EXE)

# Actual Makefile variables --># Actual Makefile variables <--CC := $(COMPILER_EXECUTABLE_PATH)/$(COMPILER_EXECUTABLE)export CCAS := $(ASSEMBLER_EXECUTABLE_PATH)/$(ASSEMBLER_EXECUTABLE)export ASifeq (true,$(USE_OWN_LINKER))LD := $(LINKER_EXECUTABLE_PATH)/$(LINKER_EXECUTABLE)elseLD := $(CC)endifCPP := cpp

# Files

AArrttííccuulloo

Page 29: 2 Call MSXcallmsx.atlantes.org/pdf/7.pdf · puertos serie y el fantástico lector de tarjetas SD, totalmente operativo. ... - Soporte Kanji - Soporte MSX-DOS2 - Conexión PS/2 - 2

Call MSX 29

H_FILES_FULL := $(wildcard $(SRC_DIR)/*.h)H_FILES := $(subst $(SRC_DIR)/,,$(H_FILES_FULL))HPP_FILES_FULL := $(wildcard $(SRC_DIR)/*.hpp)HPP_FILES := $(subst $(SRC_DIR)/,,$(HPP_FILES_FULL))C_FILES_FULL := $(wildcard $(SRC_DIR)/*.c)C_FILES_FULL_NO_EXT := $(C_FILES_FULL:%.c=%)C_FILES := $(subst $(SRC_DIR)/,,$(C_FILES_FULL))C_FILES_NO_EXT := $(subst $(SRC_DIR)/,,$(C_FILES_FULL_NO_EXT))CPP_FILES_FULL := $(wildcard $(SRC_DIR)/*.cpp)CPP_FILES_FULL_NO_EXT := $(CPP_FILES_FULL:%.cpp=%)CPP_FILES := $(subst $(SRC_DIR)/,,$(CPP_FILES_FULL))CPP_FILES_NO_EXT := $(subst $(SRC_DIR)/,,$(CPP_FILES_FULL_NO_EXT))ASM_FILES_FULL := $(wildcard $(SRC_DIR)/*.asm)ASM_FILES_FULL_NO_EXT := $(ASM_FILES_FULL:%.asm=%)ASM_FILES := $(subst $(SRC_DIR)/,,$(ASM_FILES_FULL))ASM_FILES_NO_EXT := $(subst $(SRC_DIR)/,,$(ASM_FILES_FULL_NO_EXT))SRC_FILES_FULL := $(C_FILES_FULL) $(CPP_FILES_FULL) $(ASM_FILES_FULL)INC_FILES_FULL := $(H_FILES_FULL) $(HPP_FILES_FULL)SRC_FILES_FULL := $(C_FILES_FULL) $(CPP_FILES_FULL) $(ASM_FILES_FULL)SRC_FILES_FULL_NO_EXT := $(C_FILES_FULL_NO_EXT) $(CPP_FILES_FULL_NO_EXT) $(ASM_FILES_FULL_NO_EXT)MAKFILE_VARS_FILE_FULL := $(DEP_DIR)/vars.d

PRE_FILES_FULL := $(subst $(SRC_INFIX),$(PRE_INFIX),$(SRC_FILES_FULL))DEP_FILES_FULL := $(subst $(SRC_INFIX),$(DEP_INFIX),$(SRC_FILES_FULL:%.c=%.P))OBJ_FILES_FULL := $(subst $(SRC_INFIX),$(OBJ_INFIX),$(SRC_FILES_FULL:%.c=%.o))OBJ_FILES_FULL_NO_EXT := $(subst $(SRC_INFIX),$(OBJ_INFIX),$(SRC_FILES_FULL_NO_EXT:%.c=%.o))

df = $(DEP_DIR)/$(*F)of = $(OBJ_DIR)/$(*F)

DEFINEDVARS := ROM BASICROM MSXDOS MSXDOSARG OUTPUT_TYPEEXPANDEDDEFINEDVARS := $(foreach var, $(DEFINEDVARS),$(var)=$($(var)))

M4DEFINES := $(foreach varandvalue, $(EXPANDEDDEFINEDVARS),--define=$(varandvalue))M4FLAGS := --prefix-builtins --debug=M4COMMANDLINE = BASHM4DEFS=`head --lines=1 $(MAKFILE_VARS_FILE_FULL)`;m4 $$BASHM4DEFS $(M4FLAGS)--include=$(SRC_DIR) $< >$@

# Note the last parameter doest no work properly because BASHM4DEFS is assigned directly insteadof written without modificationMAKEDEPEND = awk -f $(TOOLS_DIR)/makepredepend/makepredepend.awk $(SRC_DIR) $(PRE_DIR) $(DEP_DIR)$< "$(M4COMMANDLINE);"BUILDMAKEFILEVARSFILE = \

@if ! test -e $(MAKFILE_VARS_FILE_FULL); then\

echo Building $(MAKFILE_VARS_FILE_FULL);\

echo "$(M4DEFINES)" > $(MAKFILE_VARS_FILE_FULL);\

else\

if [ "$(M4DEFINES)" != "$$(head --lines=1 $(MAKFILE_VARS_FILE_FULL))" ]; then \echo Updating $(MAKFILE_VARS_FILE_FULL);\echo "$(M4DEFINES)" > $(MAKFILE_VARS_FILE_FULL);

\fi;

\fi;

DDeessaarrrroolllloo ccrruuzzaaddoo

Hay muchas variables que explicar, pero lo haremos amedida que se vayan creando las reglas. Primero veremos laregla por defecto.

# Default ruleall: build run

Si queremos que make use una regla por defecto comoinicial, tenemos que definir all, y como requisitos aquellosobjetivos de las reglas que queremos que se ejecuten. Ennuestro caso, por defecto se creará el ejecutable del proyectoy seguidamente se invocará un emulador.

Page 30: 2 Call MSXcallmsx.atlantes.org/pdf/7.pdf · puertos serie y el fantástico lector de tarjetas SD, totalmente operativo. ... - Soporte Kanji - Soporte MSX-DOS2 - Conexión PS/2 - 2

La herramienta que calcula las dependencias, un script enawk, se encarga de recorrer el fichero debug.c del directoriode archivos fuente root_dir/src y detectar todos los archivos

30 Call MSX

que a la hora de preprocesar los ficheros, se tengan en cuen-ta estos cambios. Como prerrequisito de preprocess observa-mos que también existe la lista de ficheros que tiene que sergenerada, y esa lista de ficheros se hace referencia en la si-guiente regla:

El comodín %.c se refiere a todo fichero de extensión .c.Así pues, esta regla se activa cada vez que se encuentra queuna regla, en este caso la regla preprocess hace referencia ensus prerrequisitos a un fichero que coincide con el especifica-do por el comodín. Cada fichero ya preprocesado requiere elcódigo fuente y además el fichero que mencionábamos devariables de Makefile, como por ejemplo el modo de compi-lación de proyecto, es decir, si queremos generar una ROM, oun archivo .COM, etc.

Una vez se comprueba la existencia de esos prerrequisi-tos, se procede a la generación del fichero. Primeramente segenera un fichero de dependencias para el fichero de salida.Cada fichero fuente tiene un número determinado de archivosde los que depende, pues son incluidos dentro de él en elmomento de ser preprocesados. Lo que hace MAKEDEPENDes generar estas dependencias en un fichero, que seguida-mente se incluirá en el propio Makefile mediante la palabraclave -include. De esta manera cada vez que se modifique unfichero que se haya incluido en el archivo que se tiene inten-ción de preprocesar, sabremos que el archivo a preprocesardebe ser tratado a la fuerza, porque un cambio en los ficheros

Algunas de las reglas contienen prerrequisitos que depen-den de la plataforma para la que se vaya a crear el proyecto,aunque en nuestro caso por ahora es MSX, como se puedever en la variable PLATFORM_SHORT_NAME.

Algunas reglas no las imprimiremos, aunque daremos unabreve explicación. Por ejemplo build_prepare crea los directo-rios necesarios para generar las salidas y los archivos inter-

$(PRE_DIR)/%.c: $(SRC_DIR)/%.c $(MAKFILE_VARS_FILE_FULL)@echo Building Generic $<@$(MAKEDEPEND)$(M4COMMANDLINE)

-include $(DEP_FILES_FULL)

c:/prog/projects/msx/testmake/pre/debug.c: c:/prog/projects/msx/testmake/src/debug.cc:/prog/projects/msx/testmake/src/debug.h c:/prog/projects/msx/testmake/src/mr_conio_inc.h c:/prog/proj-ects/msx/testmake/src/system_vars_inc.hc:/prog/projects/msx/testmake/dep/vars.d

@echo " Automatic building for "c:/prog/projects/msx/testmake/pre/debug.c@BASHM4DEFS=`head --lines=1 c:/prog/projects/msx/testmake/dep/vars.d`;m4 $$BASHM4DEFS $(M4FLAGS) --

include=c:/prog/projects/msx/testmake/src $< >$@;c:/prog/projects/msx/testmake/src/debug.h:c:/prog/projects/msx/testmake/src/mr_conio_inc.h:c:/prog/projects/msx/testmake/src/system_vars_inc.h:

preprocess: preprocess_prepare buildmakefilevarsfile $(PRE_FILES_FULL)

build: build_prepare buildtools preprocess prebuildfiles buildfiles $(TARGET_POSTBUILDFILES)

run: $(TARGET_RUNFILES)

medios. En el caso de buildtools se generan los ejecutables delas herramientas que usaremos más adelante para convertirarchivos intermedios a un formato entendible por la máquina,y otros procesos posteriores necesarios.

Un paso interesante es el que tiene que ver conpreprocess. La regla completa es la siguiente:

Con esta regla se pretende preprocesar los archivos decódigo fuente y dejarlos ya preprocesados en un directoriointermedio, concretamente pre dentro del directorio raíz delproyecto. Para ello primero se genera un fichero con unas va-riables determinadas del fichero Makefile actual y el valor enque tienen en el momento de ejecutar make. Esto es así para

que incluye representa un cambio en él. Esto se hace asíporque no todos los ficheros cambian en cada compilación.Cada vez que realizamos un cambio, añadimos código ocorregimos un error, no todos los ficheros cambian, ypreprocesar y compilar cada uno de ellos es un tiempo deproceso valioso. Cuando el proyecto crece, esto se nota, porlo que se hace necesario poner reglas para realizar el trabajode generación mínimo posible y que así obtengamos el resul-tado lo más rápido que se pueda.

Ahora sólo falta el preprocesado en sí. Para ello llamamosa m4 mediante M4COMMANDLINE, que genera el comandode preprocesado.

Con esto acabamos el preprocesado, incluyendo losficheros de dependencia para cada fichero que va a ir a pararen el directorio de ficheros preprocesados. Un ejemplo de loque contiene un fichero de dependencias lo podemos ver acontinuación para el archivo debug.c.

que incluye. Más tarde, al ejecutar make, si ningún archivo hacambiado, no ocurre nada, en caso contrario preprocesa elarchivo con las definiciones iniciales del fichero Makefile a las

AArrttííccuulloo

Page 31: 2 Call MSXcallmsx.atlantes.org/pdf/7.pdf · puertos serie y el fantástico lector de tarjetas SD, totalmente operativo. ... - Soporte Kanji - Soporte MSX-DOS2 - Conexión PS/2 - 2

Call MSX 31

El archivo binario final se debe convertir a un formatoentendible para la plataforma de destino, y es lo que se hacemediante la regla cuyo objetivo es binarize. Finalmente sepostprocesa en caso necesario mediante herramientas exter-nas y finalmente se llama al emulador.

Existen otras reglas que se usan para limpiar los archivosintermedios generados, otros que simplemente hacen de inter-mediarios para que la salida durante la ejecución de make seaun poco esclarecedora y en el caso de que se produzca unerror en el proceso sepamos con cierta precisión en quémomento ha fallado.

Creo que el artículo ya tiene un cuerpo importante, y parano cansar al lector y dejarle con la incógnita de lo que real-mente interesa, el código fuente, pospondré la finalizaciónpara un próximo número. De esta manera tendré espacio paraentretenerme en detalles y existirá un tiempo prudencial en elque los lectores pueden hacer preguntas sobre dudas de esteartículo que podrían ser aclaradas en el siguiente.

Os dejo como podéis ver el resultado de la generación delprograma, así como una pantalla de la salida del mismo.Evidentemente ahora no podemos ver nada que sea extraordi-nario, pero os aseguro que os he allanado el terreno para quepodáis hacer grandes proyectos con vuestro msx, o tambiénpequeños. El caso es que la estructura que os he definido osservirá de esqueleto para muchas de las cosas que podáisimaginar, y si existe algo que aún no se puede hacer, es muyprobable que el sistema se pueda extender para cubrir esafalta. Por ejemplo sin ir más lejos ahora mismo todo el ensam-blador que queráis introducir debéis hacerlo dentro de unarchivo .c, pero es posible crear reglas para compilarlos porseparado y enlazarlos en el ejecutable final. También sepueden procesar ficheros gráficos para convertirlos apantallas de msx y luego integrarlas en un fichero con todoslos datos estáticos del programa, como niveles, músicas,textos, etc. Esto es el inicio de algo que puede crecer tantocomo queráis y de una forma no muy complicada una vez tehas adaptado a la nomenclatura y el funcionamiento. Esperoque os sirva de utilidad y, por qué no, que podamos hacer que

$(BIN_DIR)/$(APP_NAME).ihx: buildobjects@echo -Creating link file@echo -- > $(BIN_DIR)/$(APP_NAME).lnk@echo -m >> $(BIN_DIR)/$(APP_NAME).lnk@echo -j >> $(BIN_DIR)/$(APP_NAME).lnk@echo -x >> $(BIN_DIR)/$(APP_NAME).lnk@echo -i $(BIN_DIR)/$(APP_NAME) >> $(BIN_DIR)/$(APP_NAME).lnk@echo -b _CODE = $(CODE_LOC) >> $(BIN_DIR)/$(APP_NAME).lnk@echo -b _DATA = $(DATA_LOC) >> $(BIN_DIR)/$(APP_NAME).lnk@echo "-k c:\prog\compilers\sdcc\bin\..\lib\z80" >> $(BIN_DIR)/$(APP_NAME).lnk@echo -l z80 >> $(BIN_DIR)/$(APP_NAME).lnk@for file in $(OBJ_FILES_FULL); do echo $$file >> $(BIN_DIR)/$(APP_NAME).lnk; done;@echo $(STARTUP_DIR)/bin/$(STARTUP_CODE_FILENAME) >> $(BIN_DIR)/$(APP_NAME).lnk@echo "-l z80.lib" >> $(BIN_DIR)/$(APP_NAME).lnk@echo -Linking@$(LD) $(LDFLAGS) -f $(BIN_DIR)/$(APP_NAME).lnk@echo -Done

Ejemplo: ¡Saludos al lector!

juntos el sistema crezca en los próximos números para cubrirtodas esas necesidades que se os van apareciendo.

Un enorme saludo.

David Lucena

que hicimos mención anteriormente.

Ahora debemos generar los ficheros objeto, los .obj. Estaregla es sencilla y simplemente invoca al compilador cruzadosdcc.exe diciendo que compile los ficheros, pero sin enlazar-los en un archivo final.

El archivo binario final que se creará, se hace mediante lacreación de un fichero intermedio de enlazado, en el que seescriben unos parámetros necesarios para el enlazador deficheros objeto, así como los ficheros objetos que deben serenlazados y el nombre del fichero binario final.

DDeessaarrrroolllloo ccrruuzzaaddoo

Page 32: 2 Call MSXcallmsx.atlantes.org/pdf/7.pdf · puertos serie y el fantástico lector de tarjetas SD, totalmente operativo. ... - Soporte Kanji - Soporte MSX-DOS2 - Conexión PS/2 - 2

32 Call MSX

Un número representado en notación de punto fijoviene determinado por un número de bits constantepara la parte entera y un número de bits constante

también para la parte fraccionaria. La notación matemáticamás utilizada para estos menesteres es la denominadanotación Q. Un número QI.F denotará un número de I+F bits

Como se puede ver un número QI.F ocupa, efectivamenteI+F bits y, al contrario que la notación en coma flotante, notenemos ningún campo de bits que nos indique dónde se hallala coma: La coma es fija. También se puede apreciar que laparte fraccionaria está ponderada siguiendo potencias negati-vas de 2. Imaginemos una notación Q2.6 y que queremosrepresentar los números 1.5, 0.125 y 1.1682.

Aritmética de punto fijo

AArrttííccuulloo

Por Avelino Herrera

La aritmética de punto fijo permite realizar cálculos con números reales utilizandounidades de cálculo entero. Frente al cálculo con coma flotante (o punto flotante) queobtiene resultados más precisos a costa de un menor rendimiento, tenemos el cálculomediante punto fijo (o coma fija) que da resultados menos precisos pero a unas veloci-

dades comparables al cálculo con números enteros.

Figura 1. Un número entero de n bits

con I bits reservados para la parte entera y F bits reservadospara la parte fraccionaria. Si para un número entero teníamosla distribución del valor de cada bit según la figura 1, para unnúmero almacenado usando notación en punto fijo QI.F ladistribución del valor de cada bit vendrá dada por la figura 2.

Figura 2. Un número en punto fijo QI.F

1.5 = 2^0 + 2^-1 = 01100000parte entera = 01parte fraccionaria = 100000

0.125 = 2^-3 = 00001000parte entera = 00parte fraccionaria = 001000

1.1682 ~= 1 + 2^-3 + 2^-5 = 1.1562(error de 0.01195)parte entera = 01parte fraccionaria = 001010

e = 1 / (2^F)

F = log2(1 / e)

F = ceil(log2(1 / e))

Como se puede observar cuanto mayor es el número debits que ocupe la parte fraccionaria (F) mayor será la precisiónde los números que manejemos. Se define la resolución de unnúmero en punto fijo como:

Si despejamos la F:

y como F debe ser un número natural:

Page 33: 2 Call MSXcallmsx.atlantes.org/pdf/7.pdf · puertos serie y el fantástico lector de tarjetas SD, totalmente operativo. ... - Soporte Kanji - Soporte MSX-DOS2 - Conexión PS/2 - 2

Call MSX 33

Luego si queremos obtener una resolución de, al menos,0.001 deberemos usar como mínimo

OPERACIONES BÁSICAS

Los número negativos en punto fijo pueden ser represen-tados, al igual que los enteros, mediante la notación usual decomplemento a 2 y tanto la suma como la multiplicación serealizan como si fuesen números enteros. En la multiplicaciónhay que tener en cuenta que si tenemos dos números QA.B yQC.D y los multiplicamos entre sí, el resultado será un númeroen formato Q(A+C).(B+D).

SUMA:

MULTIPLICACIÓN:

Obsérvese que si queremos alojar el resultado de unamultiplicación de nuevo en un formato QA.B ó QC.D habráque sacrificar, tanto precisión en la parte fraccionaria, comorango en la parte entera y pueden provocarse desbordamien-tos.

Utilizaremos el formato Q8.8 para los ejemplos a lo largode este artículo. Para obtener la prepresentación en formatode punto fijo de un número real podemos utilizar el siguienteprograma auxiliar en C del listado 1.

Invocando al programa de la forma "./aux 3.561" nos darála representación en formato Q8.8 del número 3.561 o, almenos, su representación más aproximada.

Salvo este pequeño trozo de código auxiliar en C, utilizaréensamblador para implementar el resto de cosas que necesi-tamos para manejar nuestros números Q8.8. Q8.8 implica eluso de 1 byte para la parte fraccionaria (el de la dirección dememoria más baja) y 1 byte para parte entera (el de la direc-ción de memoria más alta). La suma, es muy sencilla, ya quelo único que tenemos que hacer es una suma de dos númerosde 16 bits (ver listado 2).

Para la multiplicación el concepto es el mismo, aunque elcódigo es más extenso ya que necesitamos hacer una multi-plicación entre dos números de 16 bits cada uno que darácomo resultado un número de 32 bits. Además, tenemos quecontrolar el signo de los factores y tener siempre presente queel resultado será un número de 32 bits en formato Q16.16(ver listado 3).

AArriittmmééttiiccaa ddee ppuunnttoo ffiijjoo

/* LISTADO 1. Conversor de decimal a Q8.8. */#include <stdio.h>#include <stdlib.h>#include <math.h>

double v, w;signed short int fixed_point;signed char integer_part;signed char fractional_part;

int main(int argc, char **argv) {v = atof(argv[1]);fixed_point = (signed short int)

round(v * 256);w = (double) fixed_point / 256.0;integer_part = 0x00FF & (fixed_point >> 8);fractional_part = 0x00FF & fixed_point;printf("original value: %lf\n", v);printf("fixed_point value: %d (%02X)\n",

fixed_point, fixed_point);

1.5 * 0.125 --> 01100000 * 00001000 =0000001100000000parte entera = 0000 (2 + 2 = 4 bits)parte fraccionaria = 001100000000 (6 + 6 = 12 bits)resultado = 2^-3 + 2^-4 = 0.1875

1.5 + 0.125 --> 01100000 + 00001000 = 0110100001101000 --> 2^0 + 2^-1 + 2^-3 = 1.625

F = ceil(log2(1 / 0.001)) = ceil(log2(1000))F = ceil(9.9658) = 10 bits

; LISTADO 2. Suma en punto fijo.ld hl,(sumando_1)ld bc,(sumando_2)add hl,bcld (resultado),hl

printf("integer part: %d (%02X)\n",integer_part, integer_part);

printf("fractional part: %d (%02X)\n",fractional_part, fractional_part);

printf("\nstored value: %lf (error = %lf)\n",w, fabs(w - v));

return 0;}

; LISTADO 3. Multiplicación en punto fijo.;---------------------------------------------; multiplicación: BCHL = BC * DE; http://map.tni.nl/articles/mult_div_shifts.php;fast_mul_16x16_32:

ld a,cld c,bld hl,0ld b,16

fast_mul_16x16_32_loop:add hl,hlrlarl cjr nc,fast_mul_16x16_32_no_addadd hl,deadc a,0jp nc,fast_mul_16x16_32_no_addinc c

fast_mul_16x16_32_no_add:djnz fast_mul_16x16_32_loopld b,cld c,aret

Page 34: 2 Call MSXcallmsx.atlantes.org/pdf/7.pdf · puertos serie y el fantástico lector de tarjetas SD, totalmente operativo. ... - Soporte Kanji - Soporte MSX-DOS2 - Conexión PS/2 - 2

34 Call MSX

Nótese que, si queremos obtener un Q8.8 a partir delQ16.16 que nos sale de la multiplicación, lo único que debe-mos hacer es coger los dos bytes centrales del número (verlistado 4). Hay que tener en cuenta que de esta formaperdemos precisión ya que al desechar el byte menos signi-ficativo estamos desechando las potencias 2^-8 a 2^-16 de laparte fraccionaria, y corremos el peligro de generar desbor-damiento ya que también estamos desechando el byte mássignificativo de la parte entera.

En la notación Q8.8 que estamos utilizando la precisiónserá de e = 1 / (2^F) = 1 / (2^-8) = 0.00390625.

AArrttííccuulloo;------------------------------------; multiplicación 16x16 bits = 32 bitsmul_16x16_32:

ld a,0ld (mul_16x16_32_negate_result),a; determinamos si hay que negar el; resultado y/o los multiplicandosld hl,mul_16x16_32_factor1+1bit 7,(hl)jp z,mul_16x16_32_test_factor2_sign; negamos el factor1ld hl,mul_16x16_32_factor1call neg_16ld a,(mul_16x16_32_negate_result)cplld (mul_16x16_32_negate_result),a

mul_16x16_32_test_factor2_sign:ld hl,mul_16x16_32_factor2+1bit 7,(hl)jp z,mul_16x16_32_do_mul; negamos el factor2ld hl,mul_16x16_32_factor2call neg_16ld a,(mul_16x16_32_negate_result)cplld (mul_16x16_32_negate_result),a

mul_16x16_32_do_mul:ld bc,(mul_16x16_32_factor1)ld de,(mul_16x16_32_factor2)call fast_mul_16x16_32ld (mul_16x16_32_result),hlld (mul_16x16_32_result+2),bc; miramos a ver si hay que negar; el resultadold a,(mul_16x16_32_negate_result)or ajp z,mul_16x16_32_ret; negamos los 16 bits de en medio del; resultado, que son los que vamos a; utilizarld hl,mul_16x16_32_resultcall neg_32

mul_16x16_32_ret:ret

mul_16x16_32_negate_result:db 0

mul_16x16_32_factor1:dw 0

mul_16x16_32_factor2:dw 0

mul_16x16_32_result:ds 4,0

;----------------------; (hl[16]) := -(hl[16])neg_16:

; load fractional partld a,(hl)or ajp z,neg_16_negate_integer_part; negate fractional partnegld (hl),a; and do a "not" on integer partinc hlld a,(hl)

cplld (hl),aret

neg_16_negate_integer_part:inc hlld a,(hl)negld (hl),aret

;----------------------; (hl[32]) := -(hl[32])neg_32:

ld b,4neg_32_prev_loop:

ld a,(hl)or ajp nz,neg_32_prev_loop_endinc hldjnz neg_32_prev_loop

neg_32_prev_loop_end:ld a,bor ajp z,neg_32_retld a,(hl)negld (hl),ainc hl

neg_32_cpl_loop:ld a,(hl)cplld (hl),ainc hldjnz neg_32_cpl_loop

neg_32_ret:ret

; Listado 4. Truncar un Q16.16 a un Q8.8ld hl,mul_16x16_32_result+1ld de,destino_q8_8ld b,0ld c,2ldir

Page 35: 2 Call MSXcallmsx.atlantes.org/pdf/7.pdf · puertos serie y el fantástico lector de tarjetas SD, totalmente operativo. ... - Soporte Kanji - Soporte MSX-DOS2 - Conexión PS/2 - 2

Call MSX 35

EJEMPLO DE USO

Vamos a utilizar nuestro código de manejo de númerosQ8.8 para hacer algo más que simples sumas y multiplica-ciones: vamos realizar una simulación numérica de un sistemafísico de segundo orden. Consideremos una masa colgante ysujeta al techo por un muelle y por un amortiguador hidráuli-co (ver figura 3).

AArriittmmééttiiccaa ddee ppuunnttoo ffiijjoo

Según la fórmula de Euler de aproximación de ecuacionesdiferenciales (figura 4) es posible aproximar tanto como quer-amos la solución de una ecuación diferencial mediante difer-encias finitas. Aplicándola a nuestro sistema obtenemos elsiguiente sistema de dos ecuaciones en diferencias finitas:

Cuanta másprecisión queramos,más próximo a cerodeberemos elegir H.

"Fm" es la fuerza de oposición del muelle en Newtons,siendo "Km" la constante de proporcionalidad del muelle[Newtons/metro] e "y" la deformación [metros]. "Fa" es lafuerza de oposición del amortiguador, siendo "Ka" laconstante de proporcionalidad del amortiguador[Newtons/metro/segundo] y "v" la velocidad de deformación[metros/segundo]. "P" es el peso del cuerpo, siendo "M" sumasa [Kilogramos] y "g" la aceleración de la gravedad [9.8metros/segundo^2].

Figura 3. Sistema físico de segundo orden

v[i+1] = v[i] + H * (g - (Km/M)*y[i] - (Ka/M)*v[i])y[i+1] = y[i] + H * v[i]

Figura 4. Fórmula de Euler

Una vez tenemos nuestro sistemas de ecuaciones diferen-ciales en forma de diferencia finitas ya podemos hacer lasimulación de forma sencilla. En el listado 5 podemos ver laforma en que he implementado las dos ecuaciones en diferen-cias finitas.

Page 36: 2 Call MSXcallmsx.atlantes.org/pdf/7.pdf · puertos serie y el fantástico lector de tarjetas SD, totalmente operativo. ... - Soporte Kanji - Soporte MSX-DOS2 - Conexión PS/2 - 2

36 Call MSX

AArrttííccuulloo; LISTADO 5. Rutina de simulación.;-----------------------------------------------------------------------------; Realizamos la simulación del sistema de ecuaciones diferenciales que rige el comportamiento; de una masa colgante enganchada a un muelle y a un amortiguador;; dv | dy; ---- = g - (Km/M)*y - (Ka/M)*v | ---- = v; dt | dt;; Siendo "g" la aceleración de la gravedad, "Km" la constante del muelle, "Ka" la constante del; amortiguador, "M" la masa del cuerpo, "v" la velocidad e "y" su posición. Para realizar la; simulación utilizamos la fórmula de Euler para aproximación de ecuaciones diferenciales:;; v[i+1] = v[i] + H * (g - (Km/M)*y[i] - (Ka/M)*v[i]); y[i+1] = y[i] + H * v[i];; H es una constante de tiempo que indica lo separadas que están dos muestras consecutivas de; v[] o de x[], cuanto más pequeña es H, mejor es la aproximación.simulation:

ld bc,500 ; iteramos 500 veces. 500 * H = número de segundos que abarca la simulaciónpush bc

simulation_loop_start:; primera ecuación diferencial; v[i+1] = v[i] + H * (g - (Km/M)*y[i] - (Ka/M)*v[i]); temp1 := -(Ka/M) * v_prevld hl,constante_amortiguador_div_masald de,mul_16x16_32_factor1ld b,0ld c,2ldirld hl,v_prevld de,mul_16x16_32_factor2ld b,0ld c,2ldircall mul_16x16_32ld hl,mul_16x16_32_result+1ld de,temp1ld b,0ld c,2ldirld hl,temp1call neg_16; temp2 := -(Km/M) * y_prevld hl,constante_muelle_div_masald de,mul_16x16_32_factor1ld b,0ld c,2ldirld hl,y_prevld de,mul_16x16_32_factor2ld b,0ld c,2ldircall mul_16x16_32ld hl,mul_16x16_32_result+1ld de,temp2ld b,0ld c,2ldirld hl,temp2call neg_16; temp3 := temp1 + temp2ld hl,(temp1)ld bc,(temp2)add hl,bcld (temp3),hl; temp3 := temp3 + g

Page 37: 2 Call MSXcallmsx.atlantes.org/pdf/7.pdf · puertos serie y el fantástico lector de tarjetas SD, totalmente operativo. ... - Soporte Kanji - Soporte MSX-DOS2 - Conexión PS/2 - 2

Call MSX 37

AArriittmmééttiiccaa ddee ppuunnttoo ffiijjoold hl,(temp3)ld bc,(constante_gravedad)add hl,bcld (temp3),hl; temp3 := H * temp3ld hl,h_eulerld de,mul_16x16_32_factor1ld b,0ld c,2ldirld hl,temp3ld de,mul_16x16_32_factor2ld b,0ld c,2ldircall mul_16x16_32ld hl,mul_16x16_32_result+1ld de,temp3ld b,0ld c,2ldir; v := v_prev + temp3ld hl,(v_prev)ld bc,(temp3)add hl,bcld (v),hl; segunda ecuación diferencial; y[i+1] = y[i] + H * v[i]; temp1 := H * v_prevld hl,h_eulerld de,mul_16x16_32_factor1ld b,0ld c,2ldirld hl,v_prevld de,mul_16x16_32_factor2ld b,0ld c,2ldircall mul_16x16_32ld hl,mul_16x16_32_result+1ld de,temp1ld b,0ld c,2ldir; y := y_prev + temp1ld hl,(y_prev)ld bc,(temp1)add hl,bcld (y),hl; mostramos los resultados: "v=VALOR_V y=VALOR_Y"ld de,v_prefix_stringld c,9call 5ld hl,vcall show_fixedld de,y_prefix_stringld c,9call 5ld hl,ycall show_fixedld de,nl_stringld c,9call 5; hacemos v_prev = vld hl,vld de,v_prevld b,0

Page 38: 2 Call MSXcallmsx.atlantes.org/pdf/7.pdf · puertos serie y el fantástico lector de tarjetas SD, totalmente operativo. ... - Soporte Kanji - Soporte MSX-DOS2 - Conexión PS/2 - 2

38 Call MSX

AArrttííccuulloold c,2ldir; hacemos y_prev = yld hl,yld de,y_prevld b,0ld c,2ldir; comprobamos si hemos alcanzado la última iteraciónpop bcdec bcpush bcld a,bor ajp nz,simulation_loop_startld a,cor ajp nz,simulation_loop_start

simulation_loop_end:pop bcret

nl_string:db 0Ah,0Dh,'$'

; variables y constantes relacionadas con la simulaciónconstante_gravedad:

dw 09CDh ; 9.8constante_muelle_div_masa:

dw 0100h ; 1 (Km / M)constante_amortiguador_div_masa:

dw 0100h ; 1 (Ka / M)h_euler:

dw 0003h ; 0.01 (una centésima de segundo)v:

dw 0000hv_prev:

dw 0000h ; velocidad inicial = 0y:

dw 0000hy_prev:

dw 0100h ; sometemos al sistema a una alteración inicial: y_prev = 1.0temp1:

dw 0000htemp2:

dw 0000htemp3:

dw 0000hy_prefix_string:

db " y=$"v_prefix_string:

db "v=$"

Como se puede ver, la rutina es muy sencilla y sólo hayque organizar las operaciones teniendo en cuenta la prece-dencia de operadores. Si nos fijamos en la variable "y_prev",ésta está inicializada al valor 1.0 al arrancar la simulación:hacemos esto para forzar una alteración inicial en el sistemaque provoque una autooscilación. Al final el sistema de esta-biliza en y = 9.53.

CONCLUSIONES

La aritmética de punto fijo nos permite realizar cálculoscon números reales en procesadores sin unidad de cálculo enpunto flotante. El formato utilizado de Q8.8 deja bastante quedesear desde el punto de vista de la precisión lo he usado para

facilitar la comprensión de la materia. En una próxima entregatrataremos de utilizar estas mismas rutinas para implementaruna transformada de Fourier o una transformada de Hartley enensamblador.

Gracias a Armando Pérez por su ayuda con las rutinas demultiplicación. Todo el código, así como información adicionalpueden obtenerse de la página oficial de la revista(http://callmsx.gabiot.com). Mis capacidades como progra-mador de ASM son bastante mejorables: ruego me disculpensi no he implementado de forma más eficiente algunas rutinas.He procurado que en el código ASM primara la comprensiónantes que la eficiencia. Cualquier sugerencia o corrección serábienvenida en [email protected].

Page 39: 2 Call MSXcallmsx.atlantes.org/pdf/7.pdf · puertos serie y el fantástico lector de tarjetas SD, totalmente operativo. ... - Soporte Kanji - Soporte MSX-DOS2 - Conexión PS/2 - 2

Call MSX 39

KKoonnaammiitteeccaa

RC707Konami’s Mahjong

Konami 198432kb ROM

No podía faltar el clásico juego de tablero japonés dentrodel catálogo de Konami. Una versión simple dentro de unaROM de 32 kb.

El juego

Al comenzar la partida podemos escoger entre tres nivelesde dificultad que son el Amachua (Amateur), semiprofession-al y professional. Tras la típica y corta pero animada melodía,aparece un tapete verde sobre el que van colocando las fichasde cada uno de los jugadores (13 fichas para cada uno, coin-cidiendo con los meses del calendario lunar) y en medio deéste se imprime diversa información sobre el estado de lapartida además de un menú para escoger las acciones arealizar en una tirada.

Hay que destacar que el Mahjong originalmente fue pensa-do para cuatro jugadores (representando cada uno de ellos unpunto cardinal) y que en este caso solo pueden jugar dos: el

jugador contra la máquina; ni siquiera pueden jugar dospersonas, una contra otra, algo que le quita muchos puntos aeste cartucho. También se ha suprimido la elección deljugador que debe ser el viento del Este, aunque tratándose dedos jugadores tampoco tendría mucho sentido.

El objetivo del juego es hacer un Mahjong: esto seconsigue cuando un jugador, despues de robar una ficha,tiene 14 fichas distribuidas en cualquiera de las combina-ciones que se consideran Mahjong. Dicha combinación sereparte de la siguiente manera: cuatro combinacionescualesquiera (pung o chow) y una pareja de fichas idénticas;aunque existen otras combinaciones excepcionales. En cadaturno robamos una ficha de la muralla, teniendo temporal-mente en mano 14 fichas y descartando siempre una si no seobtiene Mahjong.

El manejo y la información en tablero

Para jugar al juego se utilizan los cursores, la barra espa-ciadora y la tecla select; ésta última nos permite ejecutar lasjugadas que podemos seleccionar en el menú, durante nues-tra tirada. El tablero central nos muestra diversa información,como muestra la siguiente imagen.

Durante nuestro turno debemos coger una ficha y descar-tar una; también podemos realizar una de las jugadas, queson: Agree (aceptar), Reach (prepararse para completar lacombinación de 14 fichas) y Pon / Chi / Kan (diferentesjugadas para robar fichas).

No comentaremos las reglas del Mahjong pero para losinteresados en su funcionamiento pueden visitar (en inglés):http://learnmahjong.brinkster.net/reachmahjong/intro.htm

El juego cumple minimamente con su cometido.Gráficamente es bastante aceptable y el sonido se limita aunos pocos efectos.

Page 40: 2 Call MSXcallmsx.atlantes.org/pdf/7.pdf · puertos serie y el fantástico lector de tarjetas SD, totalmente operativo. ... - Soporte Kanji - Soporte MSX-DOS2 - Conexión PS/2 - 2

40 Call MSX

SPELUNKERS

Casa : N.I., 1997Música : PSGTipo: AventurasSistema: MSX2

Spelunker es un clásico del video-juego. Creado en 1985 por la conocidaempresa Irem, tuvo 2 partes en lossalones recreativos. En 1986 salió laversión MSX1 programada porBroderbund pero que no buscaba unafidelidad absoluta con la original.Digamos que aunque tuviera el mismoconcepto se trata de otra versión dife-rente con el mismo nombre. Ademáscarecía de las virtudes que hacían deeste juego especial. La velocidad delpersonaje y el extraordinario scroll seperdían y hacían de este título una tristeversión.

El grupo N.I. nos presenta otraversión en Basic del mismo juego. Quizános recuerde más a la versión arcade encuanto a la similitud del color perotampoco busca esa perfecta recreación.En cambio de lo que sí dispone es deuna velocidad envidiable y no peca dellamentable scroll de su antecesor. Aquíse pasa de una pantalla a otra mediantenueva creación.

El personaje se mueve muy bien,lo más difícil es el control en lossaltos de las lianas, si no haces elsalto preciso caerás y morirás enmultitud de ocasiones, lo que haceque el juego no sea tan fácil. Por lodemás, disparamos, ponemos bombaspara abrir nuevos caminos en la roca ycogemos llaves para ir abriendo puer-tas. Lástima que no tenga música defondo, el único sonido que aparece escuando nos matan una vida.En fin, un juego que para pasar el ratono está mal, pero podía haber sido más

elaborado. Ya en 1986 habían juegosde la talla de The Goonies similares enconcepto y con una diferencia notablecon el de Broderbund. Esta versión últi-ma podía haber sido el Spelunker que elMSX merecía pero se ha quedado unpoco corto. Así que si algún progra-mador no sabe decidirse por hacer unremake, aquí tiene una buena oportu-nidad para dejar el listón más alto.

http://www.geocities.com/bixmatan/game1.html

MINI NIGHTS

Casa : N.I., 1997Música : PSGTipo: HabilidadSistema: MSX2

Otro pequeño programa de la mismacasa y que nos sorprende por su cali-dad.

Es un programa de una sencillezconceptual pero de una adicción brutal.Es un juego sin más pretensiones queconseguir que nuestro personaje quevuela por el espacio recoja todas lasestrellas, aros y gemas en el menortiempo posible. Esto ya lo habíamosvisto dentro de juegos tan conocidoscomo el Super Mario o el Sonic, entreotros.

Mira por donde volvemos a encontrar material paradifundir en esta sección. Esta vez hemos tenido dondeelegir, ya que hemos encontrado bastantes programitasinteresantes. Así que ya sabéis, si os llama la atención loque leéis sólo tenéis que buscar la dirección que os apunta-mos y a descargar se ha dicho. En esta ocasión todos los

títulos vuelven a ser japoneses, excepto una demo holandesa.

SSooffttwwaarree AAmmaatteeuurr

Page 41: 2 Call MSXcallmsx.atlantes.org/pdf/7.pdf · puertos serie y el fantástico lector de tarjetas SD, totalmente operativo. ... - Soporte Kanji - Soporte MSX-DOS2 - Conexión PS/2 - 2

Call MSX 41

Lo primero de que nos damos cuen-ta es que tenemos una cuenta atrás enel tiempo y no podemos dormirnos enlos laureles. Antes de que se agotedebemos pasar por una plataforma pararecuperar algo de tiempo paraenfrentarnos a otra serie de estrellas. Estipo Out Run, debemos superar tiemposparciales para poder continuar en lapartida.

Tenemos tres “noches” para elegir,cada una con una disposición diferentede los elementos a escoger. Lo más difí-cil es hacer el mayor número de links,es decir, coger las máximas estrellasposibles en un único movimiento, lo quees bastante difícil pues el personaje semueve muy rápido y es muy complica-do de controlar cuando coge velocidad,ahí reside la gracia del juego.

Es una lástima que carezca de músi-ca, pues estaría muy bien que le acom-pañara algún tema de estos rápidos quese aceleran cuando el tiempo se vaagotando. Tan sólo tiene un efectosonoro.

Otro programita para pasar el rato.Este grupo japonés tiene muy buenasmaneras pero no acaba de pulir susprogramas, necesitarían un últimoesfuerzo para que sus juegos tuvieranun aspecto profesional.

CHACHA TO YAKKO NOVS MAGICAL COIN

Casa : Initialize, 1995 Música : FMTipo: HabilidadSistema: MSX2

Este es un juego que se ha puestode moda entre los usuarios japonesesporque podemos encontrar unos cuan-tos en los últimos años. Puede serdebido a que su programación norequiere demasiada preparación o real-mente porque es un juego adictivo yque gusta mucho por aquellas tierras.

¿Y de qué juego estamos hablando?En Europa se conoce como “Reverso”.En este juego participan dos jugadoresquienes van colocando, cada uno en su

turno correspondiente, fichas en untablero de 8x8 hasta cubrir todo eltablero o hasta que no se puedan colo-car más fichas. El jugador que posee elturno podrá colocar una ficha en eltablero cuando al menos una de lasfichas del oponente se encuentre enuna línea horizontal, vertical o diagonal,entre una de sus fichas existentes y laposición donde quiere mover. Las fichastienen la particularidad de poseer uncolor de cada lado. Cuando un jugadoragrega una ficha al tablero, “todas” lasfichas del oponente que se encuentranentre una ficha anterior y la reciente-mente ubicada (en todas las posicionesposibles), cambian su color al de lasfichas del jugador de turno.

Pues el juego finaliza cuandohemos rellenado todo el tablero y secontablizan el número total de fichasque tiene cada jugador. El ganador seráel que mayor número de fichas hayalogrado colocar de su color.

Como vemos el juego es relativa-mente sencillo y para disfrutar más deél lo haremos con algún compañerocomo segundo jugador, ya que contra lamáquina nos aburriremos pronto.

Los gráficos son coloristas, desta-cando la pantalla de presentación quecuenta con un dibujo manga muy llama-tivo. El tablero cumple pero podría sermás definido. Los personajillos de laderecha de la pantalla están bien, tienenanimaciones según si lo hacemos bien omal.

La única melodía del juego es lomejor todo, está hecha para Msx Musicy nos recuerda enormemente a la bandasonora del Twin Bee de Konami paraSuper Nintendo. La verdad es que estámuy lograda, muy profesional.

Resumiendo, un programilla idealpara echarse un pique con un colegacuando no tengamos otra cosa mejorque hacer.

http://www.yashok.com/~yashok/msx/ctb/ctb_index.shtml

DANCING STARS

Casa : ZAPMúsica : PSGTipo: HabilidadSistema: MSX2

Page 42: 2 Call MSXcallmsx.atlantes.org/pdf/7.pdf · puertos serie y el fantástico lector de tarjetas SD, totalmente operativo. ... - Soporte Kanji - Soporte MSX-DOS2 - Conexión PS/2 - 2

42 Call MSX

Pequeño programa hecho en Basicque consiste fundamentalmente enesquivar todo lo que se te viene encima.Es un programa que está pensado paracoger reflejos y mejorar nuestra habili-dad en el manejo del teclado o deljoystick.

En la pantalla de presentaciónpodemos seleccionar la dificultad ydiferentes tipos de handicap relaciona-dos con los puntos matemáticos deljuego.

A la hora de jugar llevamos unmonigote (sprite minimalista donde loshaya) y ya puedes empezar a “bailar”.Que no te toquen las estrellas o lasbolas según hayas seleccionado previa-mente. Cada nivel que superamos (cadaveinte segundos) se va haciendo másdifícil. Las estrellas cogen más veloci-dad y crece el número de ellas por lapantalla. Así hasta que logren tumbartey el juego habrá terminado.

Y creo que no se puede comentarnada más, ni de gráficos ni de ¿sonido?.Un programita curioso, no dejes deprobarlo.

http://www.kit.hi-ho.ne.jp/zapzap/works_eng.htm

MERASH

Casa : Meraman, 1996 Música : FMTipo: ShooterSistema: Turbo R/ MSXDOS2

Merash es un shooter vertical, de

esos que tenemos muchos en nuestrosistema. ¿Qué hace distinto Merash aotros matamarcianos? Lo primero esque no es un juego grande, no es el típi-co Zanac o Aleste en que vamossuperando fases con el típico jefe deturno. El objetivo de este programa eshacerse el mayor número de puntosposible disparando a todo lo que se teviene encima, que no es poco.

Es muy difícil, disponemos “tansólo” de cinco barras de energía. Esdecir, a los cinco impactos morimos.Puede parecer mucho pero viendo ladificultad se hacen escasos.

Nos recuerda al Zanac en la formade coneguir armas. Si disparamos a unmonigote podremos conseguir cápsulasde poder, (L= láser, O= option,N=normal y P= puntos adicionales).Hacerte con el láser es lo mejor que tepuede pasar si de verdad quieres apare-cer en la tabla de récords, pues es elarma más eficaz.

Los gráficos son los típicos de losjuegos del espacio. El diseño de lasnaves espaciales da el pego. El moni-gote le da un toque de humor al progra-ma. El fondo es pobre, sólo es el negroespacio con algunas diminutísimasestrellitas que bajan en diferentes

velocidades por el scroll. Se echa demenos gráficos de fondo.

La velocidad del juego es muybuena. Dada la cantidad de enemigosque aparecen en pantalla no dasensación de ralentización en ningúnmomento. Aquí queda demostrada lapotencia del R800.

La melodía en MSX-Music esadecuada para el juego y tiene calidad,al igual que los efectos de sonido.

Que te apetece masacrar navesespaciales sin pretensiones, sin quererpasarte un juego largo, en Merashpodrás hacerlo.

http://meraman.dip.jp/wiki.cgi?page=MsxDownload

MARBLE REVERSER

Casa : Studio Pikurusu, 1992 Música : PSGTipo: PuzzleSistema: MSX2, ratón

Como decíamos anteriormente esta-mos ante otro de los juegos de tablerollamado “reverso”. En este caso nossorprende la disposición del tablero queya no es cuadrado sino en forma dehexágono y con las casillas tambiénhexagonales a modo de panel deabejas. Nos será familiar si hemos juga-do a juegos de estrategia tipo Risk.Además suman un total de 61 casillas,tres menos de lo que sería el tableroconvencional.

La gran diferencia respecto al“Chacha to yakko no Vs Magical Coin”

SSooffttwwaarree aammaatteeuurr

Page 43: 2 Call MSXcallmsx.atlantes.org/pdf/7.pdf · puertos serie y el fantástico lector de tarjetas SD, totalmente operativo. ... - Soporte Kanji - Soporte MSX-DOS2 - Conexión PS/2 - 2

Call MSX 43

reside en que Marble Reverser estáprogramado en Screen 7 y tiene unadefinición gráfica mucho mayor. Por lodemás es el mismo juego peroaprovechando más el efecto diagonal.Se controla mediante ratón lo cual esmás cómodo para acceder a picar en lacasilla deseada.

La lástima es que carece de músicay los efectos no son nada del otromundo.

http://homepage1.nifty.com/youman/pxlsdown.htm

WAVES 1.2

Casa : Daniel Vik, 2006 Música : PSGTipo: DemoSistema: MSX1

Del coautor de la demo comentadaen el anterior número, MSX Unleashed,y creador del fantástico emulador deMSX para Windows BlueMSX, nos llegaotra demo para la primera generación denuestro sistema: Waves, de Daniel Vik.Por su formato y tamaño, 512kb, sólopodemos ejecutarlo con Flashrom o conemulador. Aunque en anterioresversiones de su propio emulador sehacía necesario el uso de la emulaciónde MSX1, ahora es funcional tambiénbajo modelos MSX2, aunque no enMSX2+ o turboR. Desde aquí recomen-damos el uso de un MSX real, paradisfrutar de la misma. En este últimocaso y como hemos adelantado, haráfalta el uso de un cartucho flash o simi-lar. Por suerte incorpora el mapper

ASCII8, con lo que tanto LPE-FLASHGcomo la MegaFlashROM serán compati-bles. Para su ejecución, DVIK utiliza laESE RAM de ESE Artists’ Factory.

La versión 1.2 de Waves es unaactualización que desde la 1.0 inicial,incorpora diversas mejoras: arreglos debugs en la colisión de sprites, mayorrapidez y suavidad en el scroll de textoque ahora pasa a actualizarse frame aframe, fallos gráficos, mayor compati-bilidad en su ejecución en distintasmáquinas MSX...

Para comenzar, el logo de DVIK enSC2 da paso a una interesante demoque deja descubrir dos agradables efec-tos: Por un lado, gráficamente descubri-mos un split screen que divide una parteen Screen 2 (donde se aloja el título“WAVES” y el texto) de otra en screen3, donde encontramos los gráficos. Porotra parte y referente al sonido, nosencontramos con música sampleada enPSG, gracias a un driver desarrolladopor el propio DVIK y por ARTRAG. Sí,¿quién iba a decir que 23 años despuésde su lanzamiento íbamos a disfrutar deun sonido tan limpio al reproducir músi-ca sampleada en PSG?

La parte superior, en Screen3, irácambiando los gráficos (círculosconcéntricos, una onda senoidal quedisminuye en amplitud en su parteizquierda, espirales, personajes de lasaga South Park, etc.) mientras realizadiversos efectos dignos de menciónsobre ellos: superposición de elemen-tos, rotaciones, cambios de color, etc.

La parte inferior, en Screen2, mues-tra durante toda la demo el clásico“scrolltext” donde el autor explica algu-nas características de la demo yagradece a diestro y siniestro a suscolaboradores. Además de esto, añadecomo ya se ha comentado el nombre dela demo “WAVES”. Éste permaneceráinmóvil la mayor parte de lapresentación, salvo unos segundos enlos que sufrirá un efecto de onda, simi-lar al ya visto en Dahku cuando seiniciaba la partida.

La parte sonora es digna demención por segunda vez. Músicasampleada en 8 bits para el uso simultá-neo de los 3 canales del PSG. Lafrecuencia soportada es de unos 8KHzy al parecer la melodía está convertidade un WAV originario del PC. Es unsample limpio; curioso, sin duda.

En definitiva, WAVES es una demobien trabajada y que muestra efectosanteriormente no vistos en MSX1. Sitenéis 5 minutos y el Hardware nece-sario, no perdáis la oportunidad dedisfrutarla.

http://www.bluemsx.com/demos/waves1.2.zip

Page 44: 2 Call MSXcallmsx.atlantes.org/pdf/7.pdf · puertos serie y el fantástico lector de tarjetas SD, totalmente operativo. ... - Soporte Kanji - Soporte MSX-DOS2 - Conexión PS/2 - 2

44 Call MSX

TTrruuccooss yy PPookkeess

METAL GEAR 2

Test musical

Para poder escuchar las melodías deljuego primeramente hay que empezarla partida y una vez en el juego, selec-cionar los cigarrillos. Después, encen-demos la radio con la tecla “F-4” ysintonizamos, con los cursores deizquierda y derecha, la frecuencia140.07, donde escucharemos lasmelodías del juego.

Para cambiar de melodía basta concambiar la frecuencia a cualquier otray volver a sintonizar la frecuencia140.07.

99 Vidas

Si queremos ver 99 vidas en nuestromarcador hay que pulsar la tecla“ESC” para parar la acción, despuéshay que pulsar simultáneamente lasteclas “SHIFT” y “F-2”, así aumenta-remos el número de vidas disponiblesy si mantenemos esta combinaciónpulsada, rápidamente obtendremos las99 vidas.

NINJA ASURAPara volver al juego hay quepulsar la tecla “RETURN”.

PACMANIA

Seleccionar velocidad

Podemos variar la velocidad del juegosi durante la partida pulsamos la tecla“TAB”.

Aparecerá un menú que nos permiteescoger entre diez valores de veloci-dad (de 0 a 9). Seleccionamos el valordeseado con la teclas direccionales deizquierda / derecha y pulsamos labarra espaciadora para confirmar.

PROJECT A2

Vidas extras

Podemos aumentar nuestro númerode vidas hasta 99 si pulsamos simul-táneamente las teclas “D” y “F”durante el juego. Cada vez que pulse-mos esta combinación, obtendremosuna vida extra.

Recuperar la energía

Si estamos a punto de morir, pode-mos recuperar toda nuestra energía sipulsamos simultáneamente las teclas“F” y “E”, durante el juego. Podemoshacer este truco tantas veces comoqueramos.

Page 45: 2 Call MSXcallmsx.atlantes.org/pdf/7.pdf · puertos serie y el fantástico lector de tarjetas SD, totalmente operativo. ... - Soporte Kanji - Soporte MSX-DOS2 - Conexión PS/2 - 2

Call MSX 45

PENGUIN ADVENTURE

Continuar

Si queremos disponer de la opción decontinuar la partida tras acabar ésta,hay que teclear seguidamente “N”,“O”, “R”, “I”, “K” y “O”, durante elmenú de selección del nivel.

Cuando acabe nuestra partida basta-rá con pulsar la tecla “F-5” paracontinuar.

Si hacemos lo mismo pero pulsandolas teclas “K”, “A”, “Z”, “U”, “M” y“I”, podremos continuar la partida,pero con la diferencia de que perde-remos todos los objetos.

Final feliz

Para poder reunirnos felizmente conla princesa pingüina hay que pausarel juego un determinado número deveces, siguiendo esta regla:

(4 x n) + 1

(4 x 0) + 1 = 1 vez(4 x 1) + 1 = 5 veces(4 x 2) + 1 = 9 veces

Es decir, para ver el final feliz hay quepausar el juego 1, 5, 9 o 13 veces.Cada vez que continuamos la partidael contador se pone de nuevo a 0.

Atajos

Para acceder a los atajos tenemos quedejarnos caer en una de las grutas enlas que se esconda un atajo y pulsar latecla direccional de abajo.

Pantalla 1 - Distancia 237, salto apantalla 6

Pantalla 6 - Distancia 145, salto apantalla 9

Pantalla 9 - Distancia 335, salto apantalla 12

Pantalla 13 - Distancia 355, salto apantalla 15

Pantalla 15 - Distancia 78, salto apantalla 18

Pantalla 18 - Distancia 418, salto apantalla 21

A partir de la pantalla 21 no encon-traremos ningún atajo más. Laimagen de la derecha muestra comoqueda el mapa después de cogertodos los atajos.

Page 46: 2 Call MSXcallmsx.atlantes.org/pdf/7.pdf · puertos serie y el fantástico lector de tarjetas SD, totalmente operativo. ... - Soporte Kanji - Soporte MSX-DOS2 - Conexión PS/2 - 2

46 Call MSX

TTrruuccooss yy PPookkeess

PARODIUSCódigos secretos

Para introducir los códigos secretoshay que pausar el juego pulsando latecla “F-1”, introducir el código,pulsar la tecla “RETURN” y finalmen-te volver al juego pulsando de nuevola tecla “F-1”.

PAROTodas las campanas serán de color

blancas.KONAMI

Las campanas serán de color rojo.BUTAKO

Las campanas siempre serán verdes.TAKO18TH

Todas las campanas serán azules.KATAI

Nuestro escudo protector resistirá eldoble de impactos.

ZENBUObtendremos el máximo equipa-

miento. Solamente se puede haceruna vez por partida.

Fases secretas

Podemos encontrar tres fases secre-tas a lo largo del juego.

Nivel 1: el acceso secreto se encuen-tra detrás de la estatua del Moai.

Nivel 4: podemos encontrar la fasesecreta al final de uno de los caminosque nos llevan a la parte superior dela pantalla, y que no tiene salida algu-na.

Nivel 5: debajo de la décima tumba ,situada en la parte de abajo, encon-traremos la fase secreta.

PENGUINKUN WARS 2

Último nivel

Para luchar con el pingüino empera-dor sin necesidad de completartodos los niveles anteriores hay quecaminar hasta llegar a la penínsulahelada situada al norte. Una vez allí,mientras estamos situados en frentedel estadio de color azul, hay quemantener pulsada la tecla “M” yempezar a jugar con espacio.

Selección del contrincante

Dentro de cada fase encontramostres contrincantes. Existe un trucoque nos permite competir directa-mente con el contrincante quequeramos. Para realizar el truco hayque dirigirse a la fase en la que quer-mos jugar; una vez situados al ladodel estadio de dicha fase, hay quepulsar simultáneamente los siguien-tes números: “2” para el contrincan-te número 2, y “1” y “2” simultáne-amente para el contrincante número3; sin soltar estas teclas hay queempezar la partida pulsando una vezla barra espaciadora. Por ejemplo, siqueremos jugar contra el últimocontrincante de una fase, tenemosque mantener pulsadas simultánea-mente las teclas “1” y “2”, y pulsaruna vez la barra espaciadora.

Page 47: 2 Call MSXcallmsx.atlantes.org/pdf/7.pdf · puertos serie y el fantástico lector de tarjetas SD, totalmente operativo. ... - Soporte Kanji - Soporte MSX-DOS2 - Conexión PS/2 - 2

Call MSX 47

POLICE STORY, THE

Todos los objetosPulsar simultáneamente las teclas“CTRL” y “F-1”, durante el juego. La primera vez que lo hacemos obte-nemos el paraguas y el traje antiba-las, la segunda vez obtenemos losguantes y los zapatos, con la terceravez conseguimos la llave, con lacuarta el kit médico y finalmente, laquinta vez, el anillo.

Pasar de nivelPara pasar de nivel hay que pausar eljuego pulsando la tecla “STOP” ydespués hay que pulsar la tecla “F-5”.

Aumentar la vitalidadPara aumentar la vitalidad hay quepulsar simultáneamente las teclas“CTRL” y “F-2”, durante el juego.Podemos subir nuestra vitalidadtantas veces como queramos.

Completar habitaciónPara completar la habitación hay quepulsar simultáneamente las teclas“CTRL” y “F-3”, durante el juego.

Parachuteless Joe

Juega una partida y haz una puntua-ción que te permita poner record.Escribe como nombre "Palurdo",para continuar jugando en el nivelque no consigas pasar o "PutoGrajo", para desactivar la apariciondel Grajo. Funcionan como ON/OFF,asi que volviendo a escribir lomismo, vuelves a activar el Grajo,o desactivas los continues (ojo,abortar partida también desactiva eltruco"Palurdo".) Verás que has acti-vado algo si tras poner el código,abajo pone CHEAT!

Don't Warro! Be Japo!

Introduciendo el password 63ACF013, empezarás a jugar en el nivel51, hasta el 55. El juego normalterminaba en el 50.

EatBlue! 2004

Escribimos la clave 1973 para irdirectos al nivel 11. Cuando seacaba el juego también se entrega elcódigo para el Don't Warro! Be Japo!(63AC F013).

SA ZI RI

Test musicalPara acceder al test musical hay quepulsar la tecla “F-5” en el título deljuego o durante la presentación. Hay9 melodías que podemos ir escu-chando si pulsamos la tecla “X”.

STARSHIP RENDEZ-VOUS

Test musical

Para acceder al test musical que nospermite escuchar las 9 melodías deljuego hay que pulsar la tecla “F-2”durante la introducción que podemosver al insertar el primer disco.

Dentro del menú escucharemos lasdiferentes melodías utilizando labarra espaciadora.

Para salir basta con pulsar la tecla “F-5”.

Page 48: 2 Call MSXcallmsx.atlantes.org/pdf/7.pdf · puertos serie y el fantástico lector de tarjetas SD, totalmente operativo. ... - Soporte Kanji - Soporte MSX-DOS2 - Conexión PS/2 - 2

48 Call MSX

TTrruuccooss yy PPookkeess

PSYCHO WORLD

Menú musical

Para acceder al menú musical hayque mantener pulsada la tecla “M”mientras carga el juego desde eldisco.

Forzar sonido PSG

Podemos obligar la reproducción delas músicas a través del PSG simantenemos pulsada la tecla “P”durante la carga del juego.

Lógicamente este truco es combina-ble con el del test musical.

Intercambio de teclas

El mantener pulsada la tecla “X”mientras carga el juego hace que lasfunciones del botón A o barra espa-ciadora y el botón B o SHIFT, seintercambien. Estas dos teclas seutilizan para saltar y disparar.

PROTECTOR, THE

Para saltar de nivel hay que pulsarsimultáneamente las teclas “T” y“O”, durante el juego.

QUINPL

Para obtener inmunidad total hayque pulsar simultáneamente lasteclas “DEL” (delete) y “BS” (backs-pace) cuando aparezca el logotipo deBit2, y mantenerlas pulsadas hastaque aparezca el título del juego.Después comenzaremos la partidade manera normal, pero nuestropersonaje nunca morirá.

RASTAN SAGA

Obtener objetos

Para comenzar la partida ya equipa-dos con uno de los objetos quepodemos recoger durante el juegohay que esperar a que empiece lapartida de demostración; durante lapartida, esperamos a que el persona-je obtenga uno de los objetos, en esemomento pulsamos la barra de espa-cio y comenzaremos la partida enposesión de ese objeto.

Los objetos que podemos obtenercon este truco, son los que seencuentran en la parte superior dere-cha del marcador; podemos encon-trar una capa, un anillo y un escudo.

Page 49: 2 Call MSXcallmsx.atlantes.org/pdf/7.pdf · puertos serie y el fantástico lector de tarjetas SD, totalmente operativo. ... - Soporte Kanji - Soporte MSX-DOS2 - Conexión PS/2 - 2

Call MSX 49

RISE OUT

ContraseñasPara introducir las contraseñas debe-mos pulsar simultáneamente lasteclas “CTRL” y “P”, durante eljuego.

1 UNDR 11 5TOW2 SNAK 12 LAKE3 BIGI 13 GOLG4 GRAS 14 PYR25 LADR 15 PYR36 2TOW 16 OOBA7 ASCI 17 PYR18 LOOP 18 PYR49 ROOM 19 TRAP10 AMID 20 TANK

Vidas extraPara obtener más vidas hay quecomenzar la partida y durante eljuego hay que pulsar simultáneamen-te las teclas “CTRL” , “SHIFT” y“2”. Cada vez que pulsemos estacombinacion obtendremos una vidaextra. Podemos conseguir hasta 99vidas.

Pasar de nivelPodemos pasar directamente alsiguiente nivel realizando una combi-nación de teclas parecida a la deltruco anterior.Hay que pulsar simultáneamente lasteclas “CTRL”, “SHIFT” y “3” paracompletar el nivel.

RUNE MASTER II

Test musical

El menú musical esconde 31 melodí-as y efectos del juego. Para accedera dicho menú hay que pulsar simultá-neamente las teclas “F-1” y “F-2” enla pantalla de título del juego.

Con los cursores arriba y abajo selec-cionaremos la melodía o efecto y conla barra espaciadora lo escuchare-

mos.

Podemos salir del menú y volver aljuego normal pulsando la tecla“SHIFT”.

Juego secreto

Podemos jugar a un juego de naves,que se encuentra oculto, si pulsamosseguidamente las teclas “O”, “M”,“A”, “K” y “E” en la pantalla del títu-lo.

RUNE MASTER III

Test musical

Para acceder al menú musical que seencuentra oculto hay que arrancar eljuego desde el disco número 2 mien-tras mantenemos pulsadas simultá-neamente las teclas “S” y “T”.

El menú tiene 15 melodías (no todaslas que suenan en el juego) que pode-mos seleccionar con los cursoresdireccionales de arriba y abajo.

Para reproducir la melodía hay quepulsar la barra espaciadora.

Podemos detener la reproducción dela música pulsando la tecla “SHIFT”.

Page 50: 2 Call MSXcallmsx.atlantes.org/pdf/7.pdf · puertos serie y el fantástico lector de tarjetas SD, totalmente operativo. ... - Soporte Kanji - Soporte MSX-DOS2 - Conexión PS/2 - 2

50 Call MSX

EL JUEGO

Nos encontramos ante un granjuego de Casio para MSX de primerageneración y superiores, a mi parecer elmejor que esta casa tiene. Un juego sinun gran nivel de dificultad, muy jugabley en el que con un poco de práctica sepuede terminar en un par de horas(recomendado para todas aquellaspersonas con poco tiempo para jugar).

La historia comienza con un niñocomo personaje que debe atravesar uncementerio para adentrarse en una casacon una única linterna como arma conla que deberemos de alumbrar anuestros enemigos para matarlos ypoder rescatar a su novia. Una vezdentro, deberemos matar toda clase defantasmas y monstruos, y recoger 5objetos, los cuales están dispersos portoda la casa. Sin ellos no podremosllegar a ver el final del juego.

CÓMO JUGAR

El nivel de vida del jugador lo encon-tramos en la parte superior izquierda dela pantalla, en forma de pila. Al comen-zar el juego dispondremos de 2 pilas,las cuales estan descargadas, por lotanto el disparo de nuestra linterna notiene apenas alcance, pero al conseguirlos primeros 150 puntos, se recargaránlas pilas y podremos disparar a largadistancia. Luego, conforme vayamosjugando, veremos que podemosconseguir más pilas y así tener más vidapara poder matar a los monstruos.

El escenario (la casa), se divide en 5zonas, cada una de ellas tiene su jefefinal. Para llegar a él deberemos recoger5 sellos con los cuales conseguiremosuna llave. Una vez la tengamos debere-mos enfrentarnos al monstruo de esazona.

A lo largo de la casa, veremos unospozos de los cuales sale fuego. Una vezse vaya el fuego, podemos saltar enci-ma de ellos, y pulsando el cursor haciaabajo veremos que podemos apareceren distintas partes de la casa, es decir,que hacen de funcion de warp.

Aparte, hay un sólo pozo por zona,el cual nos lleva a una habitación única-mente accesible desde éste. Ahí esdonde nos encontraremos los objetosque debemos recoger para poder termi-nar el juego. De paso, tambiéntendremos la oportunidad de poderrecargar nuestras pilas, eso sí, sólo sisomos hábiles con nuestra linterna.

Para no perdernos por la casa debe-mos tener en cuenta un par de cosas:

1.- El color de las plataformas: cadazona tiene un color distinto de platafor-mas.

2.- La música del juego: El juegotiene dos clases de músicas, una en lazona que debes matar al monstruo deturno y la otra música es la misma paralas demás zonas.

MONSTRUO 1. LA BRUJA

Bastante fácil de matar, nos atacarácon sus pelos de bruja (nunca mejordicho), y nosotros deberemos irdisparándoles conforme nos vamosmetiendo debajo de ella. Una vez este-mos justo debajo de su boca, saltare-mos y dispararemos en la boca. Conuno o dos disparos certeros la habre-mos matado.

MONSTRUO 2. LA CALAVERA

En mi opinión, para ser el segundomonstruo, es el más difícil de todos.Para poder llegar a él, una vez consegui-da la llave, nos pondremos justo delantede la estatua que hay en la parte baja deesta zona y pulsamos el cursor haciaabajo para que se nos abra una trampi-

GGHHOOSSTT HHOOUUSSEE

CCóómmoo ppaassaarr ......Y O U K A I Y A S H I K I

Page 51: 2 Call MSXcallmsx.atlantes.org/pdf/7.pdf · puertos serie y el fantástico lector de tarjetas SD, totalmente operativo. ... - Soporte Kanji - Soporte MSX-DOS2 - Conexión PS/2 - 2

Call MSX 51

lla en el suelo y nos adentramos en ella.

Deberemos tener al menos 3 pilaspara poder acabar con él (o que seas unas con los cursores). Nos dispararárayos, y nosotros para poder matarlodeberemos disparar a estos rayos, no ala calavera.

MOSTRUO 3. EL AVISPERO

Para poder acabar con él, debere-mos subir a la parte superior de laescalera que tenemos delante nuestro.Le dispararemos justo en la parte supe-rior que toca a la rama del árbol aunquetratará de evitarlo disparándonos nubesde avispas.

MONSTRUO 4. EL OJO QUETODO LO VE

Bastante fácil también. Un gran ojoal que debemos disparar y muy fácil deevitar sus disparos.

MONSTRUO 5. LOS 4 FANTAS-MAS

Si os habéis dado cuenta, cada vezque matábamos a un monstruo,veíamos cómo se convertía en unfantasma que desaparecía del esce-nario. ¿Dónde iban a parar?, pues justo

aquí. Tenemos a los cuatro apareciendoy desapareciendo por la pantalla. Parapoder matarlos debemos ser ágiles conlos cursores y dispararles justo cuandoaparecen.

Tendremos que armarnos de pacien-cia ya que desaparecen muy rápido y escomplicado acertarles. La ventaja quetenemos reside en que ellos no nosdisparan, sólo se limitan a volvernosloco detrás de ellos. Con un disparo porfantasma abremos acabado con ellos.

RECOMENDACIONES

Como podemos recorrer librementetodo el mapeado del juego, es muy fácilel ir pillando los objetos que nos dan lasllaves, lo mejor es que sólo cojamos losobjetos de cada zona ya que están justolos 5 por zona. Si no lo hacemos asíluego nos volveremos locos recorriendoel escenario completo en busca deestos objetos.

Otro consejo es que procuréis cogerlos 5 objetos necesarios para llegar alfinal del juego en orden. Es decir, quevayamos probando los pozos que hayen cada zona, para acceder a lahabitación donde está. Si no, luego nonos acordaremos en que zona cogimosel objeto y en cuál no.

Juan Miguel Ortuño Sánchez

GGhhoosstt HHoouussee

OBJETOS

Page 52: 2 Call MSXcallmsx.atlantes.org/pdf/7.pdf · puertos serie y el fantástico lector de tarjetas SD, totalmente operativo. ... - Soporte Kanji - Soporte MSX-DOS2 - Conexión PS/2 - 2